2016-01-30 02:03:16 +01:00
|
|
|
/// <reference path="fourslash.ts" />
|
|
|
|
|
|
|
|
//// interface Sundries {
|
|
|
|
//// broken: boolean;
|
|
|
|
//// }
|
|
|
|
////
|
|
|
|
//// interface Supplies {
|
|
|
|
//// spoiled: boolean;
|
|
|
|
//// }
|
|
|
|
////
|
|
|
|
//// interface Crate<T> {
|
|
|
|
//// contents: T;
|
|
|
|
//// isSundries(): this is Crate<Sundries>;
|
|
|
|
//// isSupplies(): this is Crate<Supplies>;
|
|
|
|
//// isPackedTight(): this is (this & {extraContents: T});
|
|
|
|
//// }
|
|
|
|
//// const crate: Crate<any>;
|
|
|
|
//// if (crate.isPackedTight()) {
|
|
|
|
//// crate./*1*/;
|
|
|
|
//// }
|
|
|
|
//// if (crate.isSundries()) {
|
|
|
|
//// crate.contents./*2*/;
|
|
|
|
//// if (crate.isPackedTight()) {
|
|
|
|
//// crate./*3*/;
|
|
|
|
//// }
|
|
|
|
//// }
|
|
|
|
//// if (crate.isSupplies()) {
|
|
|
|
//// crate.contents./*4*/;
|
|
|
|
//// if (crate.isPackedTight()) {
|
|
|
|
//// crate./*5*/;
|
|
|
|
//// }
|
|
|
|
//// }
|
|
|
|
|
2018-10-29 18:03:25 +01:00
|
|
|
verify.completions(
|
|
|
|
{ marker: ["1", "3", "5"], exact: ["contents", "isSundries", "isSupplies", "isPackedTight", "extraContents"] },
|
|
|
|
{ marker: "2", exact: "broken" },
|
|
|
|
{ marker: "4", exact: "spoiled" },
|
|
|
|
);
|