UNPKG

nestjs-azure-storage-blob

Version:

Azure Blob Storage module for Nest.js

79 lines 3.36 kB
"use strict"; var AzureStorageBlobModule_1; Object.defineProperty(exports, "__esModule", { value: true }); exports.AzureStorageBlobModule = void 0; const tslib_1 = require("tslib"); const storage_blob_1 = require("@azure/storage-blob"); const common_1 = require("@nestjs/common"); const azure_storage_blob_constants_1 = require("./azure-storage-blob.constants"); const azure_storage_blob_service_1 = require("./azure-storage-blob.service"); let AzureStorageBlobModule = AzureStorageBlobModule_1 = class AzureStorageBlobModule { static register(options, extras) { return { module: AzureStorageBlobModule_1, providers: [ { provide: azure_storage_blob_constants_1.MODULE_CLIENT_TOKEN, useValue: this.createClient(options), scope: extras?.scope, }, ], global: extras?.global, }; } static registerAsync(options, extras) { const provider = { provide: azure_storage_blob_constants_1.MODULE_CLIENT_TOKEN, useFactory: (options) => this.createClient(options), inject: [azure_storage_blob_constants_1.MODULE_OPTIONS_TOKEN], scope: extras?.scope, }; return { imports: options.imports, module: AzureStorageBlobModule_1, providers: [...this.createAsyncProviders(options), provider], global: extras?.global, }; } static createAsyncProviders(optionsAsync) { if (optionsAsync.useExisting || optionsAsync.useFactory) { return [this.createAsyncOptionsProvider(optionsAsync)]; } if (optionsAsync.useClass) { return [ { provide: optionsAsync.useClass, useClass: optionsAsync.useClass }, this.createAsyncOptionsProvider(optionsAsync), ]; } throw new Error('One of useClass, useFactory or useExisting should be provided'); } static createAsyncOptionsProvider(options) { if (options.useFactory) { return { provide: azure_storage_blob_constants_1.MODULE_OPTIONS_TOKEN, useFactory: options.useFactory, inject: options.inject, }; } return { provide: azure_storage_blob_constants_1.MODULE_OPTIONS_TOKEN, useFactory: (optionsFactory) => optionsFactory.createModuleOptions(), inject: [(options.useClass ?? options.useExisting)], }; } static createClient(options) { if (!options.connection) { throw new Error(`Environment variable is required: "${azure_storage_blob_constants_1.MODULE_CONNECTION_VARIABLE_TOKEN}"`); } return storage_blob_1.BlobServiceClient.fromConnectionString(options.connection, options.storageOptions); } }; exports.AzureStorageBlobModule = AzureStorageBlobModule; exports.AzureStorageBlobModule = AzureStorageBlobModule = AzureStorageBlobModule_1 = tslib_1.__decorate([ (0, common_1.Global)(), (0, common_1.Module)({ providers: [azure_storage_blob_service_1.AzureStorageBlobService], exports: [azure_storage_blob_service_1.AzureStorageBlobService], }) ], AzureStorageBlobModule); //# sourceMappingURL=azure-storage-blob.module.js.map