UNPKG

@webfaas/webfaas-core

Version:

WebFaaS Framework - Core

70 lines 2.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PackageStoreManager = void 0; const Log_1 = require("../Log/Log"); const PackageRegistryManager_1 = require("../PackageRegistryManager/PackageRegistryManager"); /** * manager PackageStore */ class PackageStoreManager { constructor(packageRegistryManager, log) { this.cache = null; this.log = log || new Log_1.Log(); if (packageRegistryManager) { this.packageRegistryManager = packageRegistryManager; } else { this.packageRegistryManager = new PackageRegistryManager_1.PackageRegistryManager(this.log); } } /** * return packageRegistryManager */ getPackageRegistryManager() { return this.packageRegistryManager; } /** * return async package cache */ getCache() { return this.cache; } /** * set async package cache */ setCache(cache) { this.cache = cache; } /** * * @param name return PackageStore * @param version package version * @param etag package etag */ getPackageStore(name, version, etag, registryName) { return new Promise(async (resolve, reject) => { try { var packageStore; //cache get if (this.cache && etag === undefined) { packageStore = await this.cache.getPackageStore(name, version); if (packageStore) { resolve(packageStore); return; } } packageStore = await this.packageRegistryManager.getPackageStore(name, version, etag, registryName); //cache put if (this.cache && packageStore !== null) { await this.cache.putPackageStore(packageStore); } resolve(packageStore); } catch (errTry) { reject(errTry); } }); } } exports.PackageStoreManager = PackageStoreManager; //# sourceMappingURL=PackageStoreManager.js.map