@ts-ioc/platform-server
Version:
tsioc is AOP, Ioc container, via typescript decorator
211 lines (169 loc) • 6.25 kB
JavaScript
;
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(function (p) { return prefixSrc(root, p); });
}
}
exports.toAbsoluteSrc = toAbsoluteSrc;
function prefixSrc(root, strSrc) {
var 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}
*/
var NodeModuleLoader = /** @class */ (function (_super) {
tslib_1.__extends(NodeModuleLoader, _super);
function NodeModuleLoader() {
return _super.call(this) || this;
}
NodeModuleLoader.prototype.loadFile = function (files, basePath) {
var globby$$1 = globby;
return globby$$1(toAbsolute.toAbsoluteSrc(basePath, files)).then(function (mflies) {
return mflies.map(function (fp) {
return commonjsRequire(fp);
});
});
};
NodeModuleLoader.prototype.createLoader = function () {
return function (modulepath) { return Promise.resolve(commonjsRequire(modulepath)); };
};
NodeModuleLoader.getClassAnnations = function () {
return { "name": "NodeModuleLoader", "params": { "constructor": [], "loadFile": ["files", "basePath"], "createLoader": [] } };
};
return NodeModuleLoader;
}(core_1.DefaultModuleLoader));
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
*/
var ServerModule = /** @class */ (function () {
function ServerModule(container) {
this.container = container;
}
/**
* register aop for container.
*
* @memberof AopModule
*/
ServerModule.prototype.setup = function () {
var container = this.container;
container.bindProvider(core_1.ModuleLoaderToken, new NodeModuleLoader_1.NodeModuleLoader());
container.bindProvider(core_1.ContainerBuilderToken, new ContainerBuilder.ServerContainerBuilder());
};
ServerModule.getClassAnnations = function () {
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);
return 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}
*/
var ServerContainerBuilder = /** @class */ (function (_super) {
tslib_1.__extends(ServerContainerBuilder, _super);
function ServerContainerBuilder(loader) {
return _super.call(this, loader || new NodeModuleLoader_1.NodeModuleLoader()) || this;
}
ServerContainerBuilder.prototype.create = function () {
var container = _super.prototype.create.call(this);
container.use(ServerModule_1.ServerModule);
return container;
};
ServerContainerBuilder.getClassAnnations = function () {
return { "name": "ServerContainerBuilder", "params": { "constructor": ["loader"], "create": [] } };
};
return ServerContainerBuilder;
}(core_1.ContainerBuilder));
exports.ServerContainerBuilder = ServerContainerBuilder;
});
unwrapExports(ContainerBuilder);
var ContainerBuilder_1 = ContainerBuilder.ServerContainerBuilder;
var D__workspace_github_tsioc_packages_platformServer_lib = 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_lib);
module.exports = index;
//# sourceMappingURL=sourcemaps/platform-server.js.map