{"version":3,"sources":["src/common/DeferralMap.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC;;;;;GAKG;AAEH,qBAAa,WAAW;IACpB,OAAO,CAAC,OAAO,CAAuC;IAE/C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;IAI/C,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC;IAIhC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI;CASlD","file":"DeferralMap.d.ts","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n\nimport { Deferred } from \"./Promise.js\";\n\n/**\n * The error that is thrown when an argument passed in is null.\n *\n * @export\n * @class DefferalMap\n */\n\nexport class DeferralMap {\n    private privMap: { [id: string]: Deferred<any> } = {};\n\n    public add<T>(id: string, deferral: Deferred<T>): void {\n        this.privMap[id] = deferral;\n    }\n\n    public getId(id: string): Deferred<any> {\n        return this.privMap[id];\n    }\n\n    public complete<T>(id: string, result: T): void {\n        try {\n            this.privMap[id].resolve(result);\n        } catch (error) {\n            this.privMap[id].reject(error as string);\n        } finally {\n            this.privMap[id] = undefined;\n         }\n    }\n}\n"]}