UNPKG

@filesrocket/core

Version:

Manage your files with any cloud storage service (Clodinary, Amazon S3).

49 lines 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Filesrocket = void 0; const file_controller_1 = require("./controllers/file.controller"); class Filesrocket { constructor() { this.serviceMap = new Map(); } /** * Register a new service * @param name Service name * @param service ServiceMethods */ register(name, service) { if (this.serviceMap.get(name)) { throw new Error(`The ${name} service already exists.`); } const controller = new file_controller_1.FileController(service); this.serviceMap.set(name, { name, service, controller }); } /** * Method responsible for returning a service * @param name Service name */ service(name) { const data = this.serviceMap.get(name); if (!data) return; return data.service; } /** * Method responsible for returning controller * @param name Service name */ controller(name) { const data = this.serviceMap.get(name); if (!data) return; return data.controller; } /** * List of all registered services */ get services() { return [...this.serviceMap].map((entity) => entity[1]); } } exports.Filesrocket = Filesrocket; //# sourceMappingURL=service.js.map