create-ts-index
Version:
Automatic create index.ts file
212 lines • 18.8 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const debug_1 = tslib_1.__importDefault(require("debug"));
const CTIUtility_1 = require("../tools/CTIUtility");
const log = debug_1.default('cti:CreateTsIndexOption');
function createOptionBuilder(args, cwd) {
log('create option building');
return {
addNewline: args.addnewline,
excludes: args.excludes,
fileExcludePatterns: args.fileexcludes,
fileFirst: args.filefirst,
globOptions: {
cwd,
},
includeCWD: args.includecwd,
quote: args.quote,
targetExts: args.targetexts,
useSemicolon: args.usesemicolon,
useTimestamp: args.usetimestamp,
verbose: args.verbose,
withoutComment: args.withoutcomment,
};
}
exports.createOptionBuilder = createOptionBuilder;
function entrypointOptionBuilder(args, cwd) {
log('entrypoint option building');
return {
addNewline: args.addnewline,
excludes: args.excludes,
fileExcludePatterns: args.fileexcludes,
fileFirst: false,
globOptions: {
cwd,
},
includeCWD: args.includecwd,
quote: args.quote,
targetExts: args.targetexts,
useSemicolon: args.usesemicolon,
useTimestamp: args.usetimestamp,
verbose: args.verbose,
withoutComment: args.withoutcomment,
};
}
exports.entrypointOptionBuilder = entrypointOptionBuilder;
function cleanOptionBuilder(args, cwd) {
log('clean option building');
return {
addNewline: false,
excludes: [],
fileExcludePatterns: [],
fileFirst: false,
globOptions: {
cwd,
},
includeCWD: false,
quote: "'",
targetExts: [],
useSemicolon: false,
useTimestamp: false,
verbose: args.verbose,
withoutComment: false,
};
}
exports.cleanOptionBuilder = cleanOptionBuilder;
function initOptionBuilder(args, cwd) {
log('init option building');
return {
addNewline: args.addnewline,
excludes: [],
fileExcludePatterns: [],
fileFirst: false,
globOptions: {
cwd,
},
includeCWD: false,
quote: "'",
targetExts: [],
useSemicolon: false,
useTimestamp: args.usetimestamp,
verbose: args.verbose,
withoutComment: false,
};
}
exports.initOptionBuilder = initOptionBuilder;
function getDefailtICreateTsIndexOption(cwd) {
return {
addNewline: true,
excludes: ['@types', 'typings', '__test__', '__tests__', 'node_modules'],
fileExcludePatterns: [],
fileFirst: false,
globOptions: {
cwd: CTIUtility_1.isNotEmpty(cwd) ? cwd : process.cwd(),
dot: true,
nonull: true,
},
includeCWD: true,
quote: "'",
targetExts: ['ts', 'tsx'],
useSemicolon: true,
useTimestamp: false,
verbose: false,
withoutComment: false,
};
}
exports.getDefailtICreateTsIndexOption = getDefailtICreateTsIndexOption;
function createTsIndexOptionToInterface(option) {
return {
addNewline: option.addNewline,
excludes: option.excludes,
fileExcludePatterns: option.fileExcludePatterns,
fileFirst: option.fileFirst,
globOptions: option.globOptions,
includeCWD: option.includeCWD,
quote: option.quote,
targetExts: option.targetExts,
useSemicolon: option.useSemicolon,
useTimestamp: option.useTimestamp,
verbose: option.verbose,
withoutComment: option.withoutComment,
};
}
exports.createTsIndexOptionToInterface = createTsIndexOptionToInterface;
class CreateTsIndexOption {
static factory({ option, partialOption, }) {
if (CTIUtility_1.isNotEmpty(option)) {
const createTsIndexOption = new CreateTsIndexOption(option);
return createTsIndexOption;
}
if (CTIUtility_1.isNotEmpty(partialOption)) {
const createTsIndexOption = CreateTsIndexOption.getOption(partialOption);
return createTsIndexOption;
}
const defaultOption = getDefailtICreateTsIndexOption();
return new CreateTsIndexOption(defaultOption);
}
static getOption(passed) {
const option = getDefailtICreateTsIndexOption();
option.fileFirst = CTIUtility_1.isNotEmpty(passed.fileFirst) ? passed.fileFirst : option.fileFirst;
option.addNewline = CTIUtility_1.isNotEmpty(passed.addNewline) ? passed.addNewline : option.addNewline;
option.useSemicolon = CTIUtility_1.isNotEmpty(passed.useSemicolon)
? passed.useSemicolon
: option.useSemicolon;
option.useTimestamp = CTIUtility_1.isNotEmpty(passed.useTimestamp)
? passed.useTimestamp
: option.useTimestamp;
option.includeCWD = CTIUtility_1.isNotEmpty(passed.includeCWD) ? passed.includeCWD : option.includeCWD;
option.fileExcludePatterns = CTIUtility_1.isNotEmpty(passed.fileExcludePatterns)
? passed.fileExcludePatterns
: option.fileExcludePatterns;
option.excludes = CTIUtility_1.isNotEmpty(passed.excludes) ? passed.excludes : option.excludes;
option.targetExts = CTIUtility_1.isNotEmpty(passed.targetExts) ? passed.targetExts : option.targetExts;
option.withoutComment = CTIUtility_1.isNotEmpty(passed.withoutComment)
? passed.withoutComment
: option.withoutComment;
if (CTIUtility_1.isNotEmpty(passed.globOptions)) {
option.globOptions.cwd = CTIUtility_1.isNotEmpty(passed.globOptions.cwd)
? passed.globOptions.cwd
: option.globOptions.cwd;
option.globOptions.nonull = CTIUtility_1.isNotEmpty(passed.globOptions.nonull)
? passed.globOptions.nonull
: option.globOptions.nonull;
option.globOptions.dot = CTIUtility_1.isNotEmpty(passed.globOptions.dot)
? passed.globOptions.dot
: option.globOptions.dot;
}
option.verbose = CTIUtility_1.isNotEmpty(passed.verbose) ? passed.verbose : option.verbose;
return new CreateTsIndexOption(option);
}
constructor(fileFirst, addNewline, useSemicolon, useTimestamp, includeCWD, excludes, fileExcludePatterns, targetExts, globOptions, quote, verbose, withoutComment) {
if (typeof fileFirst === 'boolean') {
this.fileFirst = fileFirst;
this.addNewline = CTIUtility_1.isNotEmpty(addNewline) ? addNewline : true;
this.useSemicolon = CTIUtility_1.isNotEmpty(useSemicolon) ? useSemicolon : true;
this.useTimestamp = CTIUtility_1.isNotEmpty(useTimestamp) ? useTimestamp : false;
this.includeCWD = CTIUtility_1.isNotEmpty(includeCWD) ? includeCWD : true;
this.excludes = CTIUtility_1.isNotEmpty(excludes)
? excludes
: ['@types', 'typings', '__test__', '__tests__', 'node_modules'];
this.fileExcludePatterns = CTIUtility_1.isNotEmpty(fileExcludePatterns) ? fileExcludePatterns : [];
this.targetExts = CTIUtility_1.isNotEmpty(targetExts) ? targetExts : ['ts', 'tsx'];
this.globOptions = CTIUtility_1.isNotEmpty(globOptions)
? globOptions
: {
cwd: process.cwd(),
dot: true,
nonull: true,
};
this.quote = CTIUtility_1.isNotEmpty(quote) ? quote : "'";
this.verbose = CTIUtility_1.isNotEmpty(verbose) ? verbose : false;
this.withoutComment = CTIUtility_1.isNotEmpty(withoutComment) ? withoutComment : false;
}
else {
const { fileFirst: _fileFirst, addNewline: _addNewline, useSemicolon: _useSemicolon, useTimestamp: _useTimestamp, includeCWD: _includeCWD, excludes: _excludes, fileExcludePatterns: _fileExcludePatterns, targetExts: _targetExts, globOptions: _globOptions, quote: _quote, verbose: _verbose, withoutComment: _withoutComment, } = fileFirst || getDefailtICreateTsIndexOption();
this.fileFirst = _fileFirst;
this.addNewline = _addNewline;
this.useSemicolon = _useSemicolon;
this.useTimestamp = _useTimestamp;
this.includeCWD = _includeCWD;
this.excludes = _excludes;
this.fileExcludePatterns = _fileExcludePatterns;
this.targetExts = _targetExts;
this.globOptions = _globOptions;
this.quote = _quote;
this.verbose = _verbose;
this.withoutComment = _withoutComment;
}
}
}
exports.CreateTsIndexOption = CreateTsIndexOption;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlVHNJbmRleE9wdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcHRpb25zL0NyZWF0ZVRzSW5kZXhPcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQTBCO0FBRTFCLG9EQUFpRDtBQUtqRCxNQUFNLEdBQUcsR0FBRyxlQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUU3QyxTQUFnQixtQkFBbUIsQ0FDakMsSUFBNkIsRUFDN0IsR0FBVztJQUVYLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBRTlCLE9BQU87UUFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7UUFDM0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1FBQ3ZCLG1CQUFtQixFQUFFLElBQUksQ0FBQyxZQUFZO1FBQ3RDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztRQUN6QixXQUFXLEVBQUU7WUFDWCxHQUFHO1NBQ0o7UUFDRCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7UUFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1FBQ2pCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtRQUMzQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7UUFDL0IsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1FBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztRQUNyQixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7S0FDcEMsQ0FBQztBQUNKLENBQUM7QUF0QkQsa0RBc0JDO0FBRUQsU0FBZ0IsdUJBQXVCLENBQ3JDLElBQTBCLEVBQzFCLEdBQVc7SUFFWCxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUVsQyxPQUFPO1FBQ0wsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1FBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtRQUN2QixtQkFBbUIsRUFBRSxJQUFJLENBQUMsWUFBWTtRQUN0QyxTQUFTLEVBQUUs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