@microsoft/teams.apps
Version:
<p> <a href="https://www.npmjs.com/package/@microsoft/teams.apps" target="_blank"> <img src="https://img.shields.io/npm/v/@microsoft/teams.apps/latest" /> </a> <a href="https://www.npmjs.com/package/@microsoft/teams.apps?activeTab=code
46 lines • 2.91 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.Container = void 0;
require("reflect-metadata");
const provider_1 = require("./provider");
/**
* @private
* a singleton container
*/
class Container {
values = new Map();
providers = new Map();
has(key) {
return this.providers.has(key);
}
register(key, provider) {
if (this.providers.has(key)) {
throw new Error(`key "${key}" already exists`);
}
this.providers.set(key, provider);
}
resolve(key) {
let value = this.values.get(key);
if (value) {
return value;
}
const provider = this.providers.get(key);
if (!provider)
return;
if ((0, provider_1.isFactoryProvider)(provider)) {
value = provider.useFactory();
}
else {
value = provider.useValue;
}
this.values.set(key, value);
return value;
}
toString() {
return Object.entries(this.values)
.map(([key, value]) => `${key} => ${value}`)
.join('\n');
}
}
exports.Container = Container;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRhaW5lci9jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNEJBQTBCO0FBRTFCLHlDQUF5RDtBQTRCekQ7OztHQUdHO0FBQ0gsTUFBYSxTQUFTO0lBQ0QsTUFBTSxHQUFHLElBQUksR0FBRyxFQUFlLENBQUM7SUFDaEMsU0FBUyxHQUFHLElBQUksR0FBRyxFQUF5QixDQUFDO0lBRWhFLEdBQUcsQ0FBQyxHQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUSxDQUFVLEdBQVcsRUFBRSxRQUFxQjtRQUNsRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLEdBQUcsa0JBQWtCLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPLENBQVUsR0FBVztRQUMxQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVqQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFekMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRXRCLElBQUksSUFBQSw0QkFBaUIsRUFBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ2hDLEtBQUssR0FBRyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEMsQ0FBQzthQUFNLENBQUM7WUFDTixLQUFLLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUM1QixDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUMvQixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLE9BQU8sS0FBSyxFQUFFLENBQUM7YUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQTFDRCw4QkEwQ0MifQ==
;