@itwin/object-storage-core
Version:
Core generic object storage interfaces
28 lines • 1.74 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.FrontendStorageDependency = void 0;
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
const internal_1 = require("@itwin/cloud-agnostic-core/lib/internal");
const cloud_agnostic_core_1 = require("@itwin/cloud-agnostic-core");
const common_1 = require("../common");
const StrategyFrontendStorage_1 = require("./StrategyFrontendStorage");
class FrontendStorageDependency extends cloud_agnostic_core_1.StrategyDependency {
static dependencyType = "FrontendStorage";
dependencyType = FrontendStorageDependency.dependencyType;
registerStrategy(container, config) {
if (!config.dependencyName)
throw new internal_1.ConfigError("dependencyName");
container.registerFactory(common_1.Types.Frontend.frontendStorage, (c) => {
const storagesInstances = c.resolveAll((cloud_agnostic_core_1.StrategyInstance));
return new StrategyFrontendStorage_1.StrategyFrontendStorage(storagesInstances);
});
}
_registerInstance(container, childContainer, _config) {
container.registerFactory((cloud_agnostic_core_1.StrategyInstance), (_c) => new cloud_agnostic_core_1.StrategyInstance(childContainer.resolve(common_1.Types.Frontend.frontendStorage), this.dependencyName));
}
}
exports.FrontendStorageDependency = FrontendStorageDependency;
//# sourceMappingURL=FrontendStorageDependency.js.map
;