@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
1 lines • 2.62 kB
Source Map (JSON)
{"version":3,"sources":["../../../packages/core/data/native-q.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,cAAc,CAAC,CAAC;IACzB;;OAEG;IACI,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3B;;OAEG;IACI,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAErD;;OAEG;IACI,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAEtC;;OAEG;IACI,WAAW,UAAS;IAE3B;;OAEG;IACI,SAAS,UAAQ;IAExB;;OAEG;;CAWN;AAED;;GAEG;AACH,qBAAa,OAAO;IAChB;;OAEG;WACW,KAAK,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC;IAI3C;;OAEG;WACW,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAMnD;;OAEG;WACW,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAKlD","file":"native-q.d.ts","sourcesContent":["/**\r\n * The deferred class based on native Promise.\r\n */\r\nexport class NativeDeferred<T> {\r\n /**\r\n * The native promise.\r\n */\r\n public promise: Promise<T>;\r\n\r\n /**\r\n * Resolve callback of the deferred object.\r\n */\r\n public resolve: (value?: T | PromiseLike<T>) => void;\r\n\r\n /**\r\n * Reject callback of the deferred object.\r\n */\r\n public reject: (reason?: any) => void;\r\n\r\n /**\r\n * Is fulfilled tracked status.\r\n */\r\n public isFulfilled = false;\r\n\r\n /**\r\n * Is pending tracked status.\r\n */\r\n public isPending = true;\r\n\r\n /**\r\n * Initializes a new instance of the NativeDeferred class.\r\n */\r\n constructor() {\r\n this.promise = new Promise<T>((resolve, reject) => {\r\n this.resolve = (data) => {\r\n resolve(data); this.isFulfilled = true; this.isPending = false;\r\n };\r\n this.reject = (error) => {\r\n reject(error); this.isPending = false;\r\n };\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Native Q to attach on native Promise.\r\n */\r\nexport class NativeQ {\r\n /**\r\n * Create native deferred object.\r\n */\r\n public static defer<T>(): NativeDeferred<T> {\r\n return new NativeDeferred<T>();\r\n }\r\n\r\n /**\r\n * Create rejected native deferred object.\r\n */\r\n public static rejected<T>(reason?: any): Promise<T> {\r\n const deferred = new NativeDeferred<T>();\r\n deferred.reject(reason);\r\n return deferred.promise;\r\n }\r\n\r\n /**\r\n * Create resolved native deferred object.\r\n */\r\n public static resolved<T>(data?: T): Promise<T> {\r\n const deferred = new NativeDeferred<T>();\r\n deferred.resolve(data);\r\n return deferred.promise;\r\n }\r\n}\r\n"]}