UNPKG

@mwcp/ali-oss

Version:
64 lines 2.55 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 assert from 'node:assert'; import { Inject, Singleton, } from '@midwayjs/core'; import { TraceService } from '@mwcp/otel'; import { AliOssSourceManager } from './source-manager.js'; import { ConfigKey } from './types.js'; let AliOssManager = class AliOssManager { traceService; sourceManager; getName() { return ConfigKey.managerName; } instCacheMap = new Map(); async createInstance(config, clientName, options) { const opts = { validateConnection: true, ...options, }; await this.sourceManager.createInstance(config, clientName, opts); return this.getDataSource(clientName); } /** * Check the data source is connected */ async isConnected(dataSourceName) { return this.sourceManager.isConnected(dataSourceName); } getDataSource(dataSourceName) { const cacheInst = this.instCacheMap.get(dataSourceName); if (cacheInst) { return cacheInst; } const inst = this.sourceManager.getDataSource(dataSourceName); assert(inst); this.updateProperties(inst); this.instCacheMap.set(dataSourceName, inst); return inst; } updateProperties(inst) { // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition if (!inst.traceService) { inst.traceService = this.traceService; } } }; __decorate([ Inject(), __metadata("design:type", TraceService) ], AliOssManager.prototype, "traceService", void 0); __decorate([ Inject(), __metadata("design:type", AliOssSourceManager) ], AliOssManager.prototype, "sourceManager", void 0); AliOssManager = __decorate([ Singleton() ], AliOssManager); export { AliOssManager }; //# sourceMappingURL=manager.js.map