UNPKG

@ts-ioc/platform-server

Version:

tsioc is AOP, Ioc container, via typescript decorator

204 lines (164 loc) 5.58 kB
'use strict'; function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var tslib_1 = _interopDefault(require('tslib')); var core_1 = _interopDefault(require('@ts-ioc/core')); var path = _interopDefault(require('path')); var globby = _interopDefault(require('globby')); function commonjsRequire () { throw new Error('Dynamic requires are not currently supported by rollup-plugin-commonjs'); } function unwrapExports (x) { return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; } function createCommonjsModule(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; } var toAbsolute = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); /** * convert path to absolute path. * * @export * @param {string} root * @param {string} pathstr * @returns {string} */ function toAbsolutePath(root, pathstr) { if (!root || path.isAbsolute(pathstr)) { return path.normalize(pathstr); } return path.join(path.normalize(root), path.normalize(pathstr)); } exports.toAbsolutePath = toAbsolutePath; /** * convert src to absolute path src. * * @export * @param {string} root * @param {(string|string[])} src * @returns {(string|string[])} */ function toAbsoluteSrc(root, src) { if (core_1.isString(src)) { return prefixSrc(root, src); } else { return src.map(p => prefixSrc(root, p)); } } exports.toAbsoluteSrc = toAbsoluteSrc; function prefixSrc(root, strSrc) { let prefix = ''; if (/^!/.test(strSrc)) { prefix = '!'; strSrc = strSrc.substring(1, strSrc.length); } return prefix + toAbsolutePath(root, strSrc); } }); unwrapExports(toAbsolute); var toAbsolute_1 = toAbsolute.toAbsolutePath; var toAbsolute_2 = toAbsolute.toAbsoluteSrc; var NodeModuleLoader_1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); /** * server nodule loader. * * @export * @class NodeModuleLoader * @implements {IModuleLoader} */ class NodeModuleLoader extends core_1.DefaultModuleLoader { constructor() { super(); } loadFile(files, basePath) { let globby$$1 = globby; return globby$$1(toAbsolute.toAbsoluteSrc(basePath, files)).then((mflies) => { return mflies.map(fp => { return commonjsRequire(fp); }); }); } createLoader() { return (modulepath) => Promise.resolve(commonjsRequire(modulepath)); } static getClassAnnations() { return { "name": "NodeModuleLoader", "params": { "constructor": [], "loadFile": ["files", "basePath"], "createLoader": [] } }; } } exports.NodeModuleLoader = NodeModuleLoader; }); unwrapExports(NodeModuleLoader_1); var NodeModuleLoader_2 = NodeModuleLoader_1.NodeModuleLoader; var ServerModule_1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); /** * server module for ioc. auto run setup after registered. * with @IocExt('setup') decorator. * @export * @class ServerModule */ let ServerModule = class ServerModule { constructor(container) { this.container = container; } /** * register aop for container. * * @memberof AopModule */ setup() { let container = this.container; container.bindProvider(core_1.ModuleLoaderToken, new NodeModuleLoader_1.NodeModuleLoader()); container.bindProvider(core_1.ContainerBuilderToken, new ContainerBuilder.ServerContainerBuilder()); } static getClassAnnations() { return { "name": "ServerModule", "params": { "constructor": ["container"], "setup": [] } }; } }; ServerModule = tslib_1.__decorate([ core_1.IocExt('setup'), tslib_1.__param(0, core_1.Inject(core_1.ContainerToken)), tslib_1.__metadata("design:paramtypes", [Object]) ], ServerModule); exports.ServerModule = ServerModule; }); unwrapExports(ServerModule_1); var ServerModule_2 = ServerModule_1.ServerModule; var ContainerBuilder = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); /** * container builder. * * @export * @class ContainerBuilder * @extends {ContainerBuilder} */ class ServerContainerBuilder extends core_1.ContainerBuilder { constructor(loader) { super(loader || new NodeModuleLoader_1.NodeModuleLoader()); } create() { let container = super.create(); container.use(ServerModule_1.ServerModule); return container; } static getClassAnnations() { return { "name": "ServerContainerBuilder", "params": { "constructor": ["loader"], "create": [] } }; } } exports.ServerContainerBuilder = ServerContainerBuilder; }); unwrapExports(ContainerBuilder); var ContainerBuilder_1 = ContainerBuilder.ServerContainerBuilder; var D__workspace_github_tsioc_packages_platformServer_es2015 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); tslib_1.__exportStar(NodeModuleLoader_1, exports); tslib_1.__exportStar(ContainerBuilder, exports); tslib_1.__exportStar(toAbsolute, exports); tslib_1.__exportStar(ServerModule_1, exports); }); var index = unwrapExports(D__workspace_github_tsioc_packages_platformServer_es2015); module.exports = index; //# sourceMappingURL=sourcemaps/platform-server.js.map