nest-aws-sdk
Version:
A thin wrapping layer around the aws-sdk package for clean NestJS dependency injection.
35 lines • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createAwsServiceProvider = void 0;
const aws_service_factory_1 = require("./aws-service.factory");
const tokens_1 = require("./tokens");
function createAwsServiceProvider(serviceDetails) {
let service;
let serviceOptionsOverride;
const asWithOptions = serviceDetails;
if (asWithOptions.service) {
service = asWithOptions.service;
serviceOptionsOverride = asWithOptions.serviceOptions;
}
else {
service = serviceDetails;
}
return {
provide: (0, tokens_1.getAwsServiceToken)(service),
useFactory: (serviceFactory, optionsFactory) => {
const optionsFactoryToUse = serviceOptionsOverride
? serviceOptionsOverride
: optionsFactory;
const defaultServiceOptions = optionsFactoryToUse && typeof optionsFactoryToUse === 'function'
? optionsFactoryToUse()
: optionsFactoryToUse;
return serviceFactory.create(service, defaultServiceOptions);
},
inject: [
aws_service_factory_1.AwsServiceFactory,
tokens_1.AWS_SERVICE_CONFIGURATION_OPTIONS_FACTORY_TOKEN,
],
};
}
exports.createAwsServiceProvider = createAwsServiceProvider;
//# sourceMappingURL=aws-service-provider.factory.js.map