Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

sentry / @nestjs/core   js

Repository URL to install this package:

Version: 7.0.10 

/ injector / compiler.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const module_token_factory_1 = require("./module-token-factory");
class ModuleCompiler {
    constructor(moduleTokenFactory = new module_token_factory_1.ModuleTokenFactory()) {
        this.moduleTokenFactory = moduleTokenFactory;
    }
    async compile(metatype) {
        const { type, dynamicMetadata } = await this.extractMetadata(metatype);
        const token = this.moduleTokenFactory.create(type, dynamicMetadata);
        return { type, dynamicMetadata, token };
    }
    async extractMetadata(metatype) {
        metatype = await metatype;
        if (!this.isDynamicModule(metatype)) {
            return { type: metatype };
        }
        const { module: type } = metatype, dynamicMetadata = tslib_1.__rest(metatype, ["module"]);
        return { type, dynamicMetadata };
    }
    isDynamicModule(module) {
        return !!module.module;
    }
}
exports.ModuleCompiler = ModuleCompiler;