12345678910111213141516171819202122 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- const tslib_1 = require("tslib");
- const utils = tslib_1.__importStar(require("../utils"));
- const class_1 = tslib_1.__importDefault(require("./class"));
- function AutoGenerator(config, baseConfig) {
- config.interfaceHandle = config.interfaceHandle || 'AutoInstanceType<typeof {{ 0 }}>';
- const result = (0, class_1.default)(config, baseConfig);
- /* istanbul ignore else */
- if (result.content) {
- result.content = [
- 'type AnyClass = new (...args: any[]) => any;',
- 'type AnyFunc<T = any> = (...args: any[]) => T;',
- 'type CanExportFunc = AnyFunc<Promise<any>> | AnyFunc<IterableIterator<any>>;',
- 'type AutoInstanceType<T, U = T extends CanExportFunc ? T : T extends AnyFunc ? ReturnType<T> : T> = U extends AnyClass ? InstanceType<U> : U;',
- result.content,
- ].join('\n');
- }
- return result;
- }
- exports.default = AutoGenerator;
- AutoGenerator.defaultConfig = utils.extend({}, class_1.default.defaultConfig);
|