UNPKG

cnpmcore

Version:

Private NPM Registry for Enterprise

119 lines 10.1 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { JSONBuilder } from '@cnpmjs/packument'; import { AccessLevel, Inject, SingletonProto } from 'egg'; let DistRepository = class DistRepository { async findPackageVersionManifest(packageId, version) { const packageVersion = await this.packageRepository.findPackageVersion(packageId, version); if (packageVersion) { const [packageVersionJson, readme] = await Promise.all([ this.readDistBytesToJSON(packageVersion.manifestDist), this.readDistBytesToString(packageVersion.readmeDist), ]); if (packageVersionJson) { packageVersionJson.readme = readme; } return packageVersionJson; } } async findPackageVersionManifestJSONBuilder(packageId, version, includeReadme = false) { const packageVersion = await this.packageRepository.findPackageVersion(packageId, version); if (packageVersion) { // include readme if (includeReadme) { const [builder, readme] = await Promise.all([ this.readDistBytesToJSONBuilder(packageVersion.manifestDist), this.readDistBytesToString(packageVersion.readmeDist), ]); if (builder) { builder.setIn(['readme'], readme); } return builder; } // only return manifest builder return await this.readDistBytesToJSONBuilder(packageVersion.manifestDist); } } async findPackageAbbreviatedManifest(packageId, version) { const packageVersion = await this.packageRepository.findPackageVersion(packageId, version); if (packageVersion) { return await this.readDistBytesToJSON(packageVersion.abbreviatedDist); } } async findPackageAbbreviatedManifestJSONBuilder(packageId, version) { const packageVersion = await this.packageRepository.findPackageVersion(packageId, version); if (packageVersion) { return await this.readDistBytesToJSONBuilder(packageVersion.abbreviatedDist); } } async readDistBytesToJSON(dist) { const str = await this.readDistBytesToString(dist); if (str) { return JSON.parse(str); } } async readDistBytesToString(dist) { const bytes = await this.readDistBytes(dist); if (!bytes) return ''; return Buffer.from(bytes).toString('utf8'); } async readDistBytes(dist) { return await this.nfsAdapter.getBytes(dist.path); } async readDistBytesToBuffer(dist) { const bytes = await this.readDistBytes(dist); if (!bytes) return undefined; // if bytes is Uint8Array, should use zero copy to create a new Buffer // https://nodejs.org/docs/latest-v24.x/api/buffer.html#static-method-bufferfromarraybuffer-byteoffset-length return Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength); } async readDistBytesToJSONBuilder(dist) { const bytes = await this.readDistBytesToBuffer(dist); if (!bytes) return undefined; return new JSONBuilder(bytes); } async getDistStream(dist) { return await this.nfsAdapter.getStream(dist.path); } async saveDist(dist, buf) { if (typeof buf === 'string') { return await this.nfsAdapter.uploadFile(dist.path, buf); } return await this.nfsAdapter.uploadBytes(dist.path, buf); } async destroyDist(dist) { return await this.nfsAdapter.remove(dist.path); } async downloadDist(dist) { return await this.nfsAdapter.getDownloadUrlOrStream(dist.path); } async downloadDistToFile(dist, file) { // max up to 5mins return await this.nfsAdapter.downloadFile(dist.path, file, 60_000 * 5); } }; __decorate([ Inject(), __metadata("design:type", Function) ], DistRepository.prototype, "packageRepository", void 0); __decorate([ Inject(), __metadata("design:type", Function) ], DistRepository.prototype, "nfsAdapter", void 0); DistRepository = __decorate([ SingletonProto({ accessLevel: AccessLevel.PUBLIC, }) ], DistRepository); export { DistRepository }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlzdFJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvcmVwb3NpdG9yeS9EaXN0UmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBU25ELElBQU0sY0FBYyxHQUFwQixNQUFNLGNBQWM7SUFPekIsS0FBSyxDQUFDLDBCQUEwQixDQUFDLFNBQWlCLEVBQUUsT0FBZTtRQUNqRSxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDM0YsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNuQixNQUFNLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO2dCQUNyRCxJQUFJLENBQUMsbUJBQW1CLENBQWtCLGNBQWMsQ0FBQyxZQUFZLENBQUM7Z0JBQ3RFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO2FBQ3RELENBQUMsQ0FBQztZQUNILElBQUksa0JBQWtCLEVBQUUsQ0FBQztnQkFDdkIsa0JBQWtCLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNyQyxDQUFDO1lBQ0QsT0FBTyxrQkFBa0IsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxxQ0FBcUMsQ0FDekMsU0FBaUIsRUFDakIsT0FBZSxFQUNmLGFBQWEsR0FBRyxLQUFLO1FBRXJCLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMzRixJQUFJLGNB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