UNPKG

verdaccio-memory

Version:

Storage implementation in memory

79 lines (78 loc) 2.22 kB
import MemoryHandler from "./memory-handler.mjs"; import { errorUtils } from "@verdaccio/core"; //#region src/local-memory.ts var DEFAULT_LIMIT = 1e3; var LocalMemory = class { path; limit; logger; data; config; constructor(config, options) { this.config = config; this.limit = config.limit || DEFAULT_LIMIT; this.logger = options.logger; this.data = this._createEmtpyDatabase(); this.path = "/"; } getSecret() { return Promise.resolve(this.data.secret); } setSecret(secret) { return new Promise((resolve) => { this.data.secret = secret; resolve(null); }); } add(name, cb) { const { list } = this.data; if (list.length < this.limit) { if (list.indexOf(name) === -1) list.push(name); cb(null); } else { this.logger.info({ limit: this.limit }, "Storage memory has reached limit of @{limit} packages"); cb(/* @__PURE__ */ new Error("Storage memory has reached limit of limit packages")); } } search(onPackage, onEnd, validateName) { this.logger.warn("[verdaccio/memory]: search method not implemented, PR is welcome"); onEnd(); } remove(name, cb) { const { list } = this.data; const item = list.indexOf(name); if (item !== -1) list.splice(item, 1); cb(null); } get(cb) { cb(null, this.data.list); } getPackageStorage(packageInfo) { return new MemoryHandler(packageInfo, this.data.files, this.logger); } _createEmtpyDatabase() { return { list: [], files: {}, secret: "" }; } saveToken(_token) { this.logger.warn("[verdaccio/memory][saveToken] save token has not been implemented yet"); return Promise.reject(errorUtils.getServiceUnavailable("method not implemented")); } deleteToken(user, tokenKey) { this.logger.warn({ tokenKey, user }, "[verdaccio/memory][deleteToken] delete token has not been implemented yet @{user}"); return Promise.reject(errorUtils.getServiceUnavailable("method not implemented")); } readTokens(_filter) { this.logger.warn("[verdaccio/memory][readTokens] read tokens has not been implemented yet "); return Promise.reject(errorUtils.getServiceUnavailable("method not implemented")); } }; //#endregion export { LocalMemory as default }; //# sourceMappingURL=local-memory.mjs.map