本文整理汇总了TypeScript中cli-color.whiteBright类的典型用法代码示例。如果您正苦于以下问题:TypeScript whiteBright类的具体用法?TypeScript whiteBright怎么用?TypeScript whiteBright使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了whiteBright类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: generateType
function generateType(ast: AST, options: Options): string {
log(whiteBright.bgMagenta('generator'), ast)
if (hasStandaloneName(ast)) {
return toSafeString(ast.standaloneName)
}
switch (ast.type) {
case 'ANY': return 'any'
case 'ARRAY': return (() => {
let type = generateType(ast.params, options)
return type.endsWith('"') ? '(' + type + ')[]' : type + '[]'
})()
case 'BOOLEAN': return 'boolean'
case 'INTERFACE': return generateInterface(ast, options)
case 'INTERSECTION': return generateSetOperation(ast, options)
case 'LITERAL': return JSON.stringify(ast.params)
case 'NUMBER': return 'number'
case 'NULL': return 'null'
case 'OBJECT': return 'object'
case 'REFERENCE': return ast.params
case 'STRING': return 'string'
case 'TUPLE': return '['
+ ast.params.map(_ => generateType(_, options)).join(', ')
+ ']'
case 'UNION': return generateSetOperation(ast, options)
case 'CUSTOM_TYPE': return ast.params
}
}
示例2: deploy
deploy():Q.IPromise<IDeployResult> {
let start = new Date().getTime(),
config = this.serviceContainer.config,
packageData:any = JSON.parse('' + fs.readFileSync(__dirname + '/../../package.json'));
this.log.logAndKeepColors(
color.yellow(
"\n\n+----------------------------------------------------+" +
"\n| ") + color.xterm(200).bold('Mouflon - your deployment manager') + ' ' + (' v' + packageData.version).substr(-10, 10) + color.yellow(" |" +
"\n+----------------------------------------------------+") +
"\n\n");
this.log.startSection(`Deploying "${config.projectName}" to "${config.stageName}"...`);
this.log.debug('Timestamp is ' + color.whiteBright.bold(this.timestamp));
if (config.verbose) {
this.log.debug('Verbose mode is enabled');
}
this.log.debug('Working pathConfig: ' + config.pathConfig.getReadable());
return this.deployManager.deploy().then(() => {
let end = new Date().getTime();
let result: IDeployResult = {
project: config.projectName,
stage: config.stageName,
projectConfig: config.projectConfig,
globalConfig: config.globalConfig,
start: start,
end: end,
};
return result;
});
}
示例3: optimize
export function optimize(ast: AST, processed = new Map<AST, AST>()): AST {
log(whiteBright.bgCyan('optimizer'), ast, processed.has(ast) ? '(FROM CACHE)' : '')
if (processed.has(ast)) {
return processed.get(ast)!
}
processed.set(ast, ast)
switch (ast.type) {
case 'INTERFACE':
return Object.assign(ast, {
params: ast.params.map(_ =>
Object.assign(_, { ast: optimize(_.ast, processed) })
)
})
case 'INTERSECTION':
case 'UNION':
// [A, B, C, Any] -> Any
if (ast.params.some(_ => _.type === 'ANY')) {
log(whiteBright.bgCyan('optimizer'), ast, '<- T_ANY')
return T_ANY
}
// [A, B, B] -> [A, B]
ast.params = uniqBy(ast.params, _ =>
`${_.type}------${stringify((_ as any).params)}`
)
return Object.assign(ast, {
params: ast.params.map(_ => optimize(_, processed))
})
default:
return ast
}
}
示例4: main
async function main(argv: minimist.ParsedArgs) {
if (argv.help) {
printHelp()
process.exit(0)
}
const argIn: string = argv._[0] || argv.input
const argOut: string = argv._[1] || argv.output
try {
const schema: JSONSchema4 = JSON.parse(await readInput(argIn))
const ts = await compile(schema, argIn, argv as Partial<Options>)
await writeOutput(ts, argOut)
} catch (e) {
console.error(whiteBright.bgRedBright('error'), e)
process.exit(1)
}
}
示例5: deploy
deploy() {
var start = (new Date()).getTime(),
deployPromise: Q.IPromise<boolean>,
config = this.serviceContainer.config,
packageData: any = JSON.parse('' + fs.readFileSync(__dirname + '/../../package.json'));
this.serviceContainer.log.logAndKeepColors(
color.yellow(
"\n\n+----------------------------------------------------+" +
"\n| ") + color.xterm(200).bold('Mouflon - your deployment manager') + ' ' + (' v' + packageData.version).substr(-10, 10) + color.yellow(" |" +
"\n+----------------------------------------------------+") +
"\n\n");
this.serviceContainer.log.startSection(sprintf('Deploying "%s" to "%s"...', config.projectName, config.stageName));
this.serviceContainer.log.debug('Timestamp is ' + color.whiteBright.bold(this.timestamp));
if (this.serviceContainer.config.verbose) {
this.serviceContainer.log.debug('Verbose mode is enabled');
}
this.serviceContainer.log.debug('Working paths: ' + this.serviceContainer.config.paths.getReadable());
deployPromise = this.deployManager.deploy();
deployPromise.then(
() => {
var end = (new Date()).getTime();
this.serviceContainer.log.closeSection(sprintf(
'It took %ss to deploy "%s" to "%s". :)' + "\n\n",
(0.001 * (end - start)).toFixed(3),
config.projectName,
config.stageName
));
},
(error) => {
Utils.exitWithError(error);
}
);
}
示例6: parseNonLiteral
function parseNonLiteral(
schema: JSONSchema,
options: Options,
rootSchema: JSONSchema,
keyName: string | undefined,
keyNameFromDefinition: string | undefined,
set: (ast: AST) => AST,
processed: Processed,
usedNames: UsedNames
) {
log(whiteBright.bgBlue('parser'), schema, '<-' + typeOfSchema(schema), processed.has(schema) ? '(FROM CACHE)' : '')
switch (typeOfSchema(schema)) {
case 'ALL_OF':
return set({
comment: schema.description,
keyName,
params: schema.allOf!.map(_ => parse(_, options, rootSchema, undefined, true, processed, usedNames)),
standaloneName: standaloneName(schema, keyNameFromDefinition, usedNames),
type: 'INTERSECTION'
})
case 'ANY':
return set({
comment: schema.description,
keyName,
standaloneName: standaloneName(schema, keyNameFromDefinition, usedNames),
type: 'ANY'
})
case 'ANY_OF':
return set({
comment: schema.description,
keyName,
params: schema.anyOf!.map(_ => parse(_, options, rootSchema, undefined, true, processed, usedNames)),
standaloneName: standaloneName(schema, keyNameFromDefinition, usedNames),
type: 'UNION'
})
case 'BOOLEAN':
return set({
comment: schema.description,
keyName,
standaloneName: standaloneName(schema, keyNameFromDefinition, usedNames),
type: 'BOOLEAN'
})
case 'CUSTOM_TYPE':
return set({
comment: schema.description,
keyName,
params: schema.tsType!,
standaloneName: standaloneName(schema, keyNameFromDefinition, usedNames),
type: 'CUSTOM_TYPE'
})
case 'NAMED_ENUM':
return set({
comment: schema.description,
keyName,
params: schema.enum!.map((_, n) => ({
ast: parse(_, options, rootSchema, undefined, false, processed, usedNames),
keyName: schema.tsEnumNames![n]
})),
standaloneName: standaloneName(schema, keyName, usedNames)!,
type: 'ENUM'
})
case 'NAMED_SCHEMA':
return set(newInterface(schema as SchemaSchema, options, rootSchema, processed, usedNames, keyName))
case 'NULL':
return set({
comment: schema.description,
keyName,
standaloneName: standaloneName(schema, keyNameFromDefinition, usedNames),
type: 'NULL'
})
case 'NUMBER':
return set({
comment: schema.description,
keyName,
standaloneName: standaloneName(schema, keyNameFromDefinition, usedNames),
type: 'NUMBER'
})
case 'OBJECT':
return set({
comment: schema.description,
keyName,
standaloneName: standaloneName(schema, keyNameFromDefinition, usedNames),
type: 'OBJECT'
})
case 'ONE_OF':
return set({
comment: schema.description,
keyName,
params: schema.oneOf!.map(_ => parse(_, options, rootSchema, undefined, true, processed, usedNames)),
standaloneName: standaloneName(schema, keyNameFromDefinition, usedNames),
type: 'UNION'
})
case 'REFERENCE':
throw Error(format('Refs should have been resolved by the resolver!', schema))
case 'STRING':
return set({
comment: schema.description,
keyName,
//.........这里部分代码省略.........
示例7: log
export function log(...messages: any[]) {
if (process.env.VERBOSE) {
console.info(whiteBright.bgCyan('debug'), ...messages)
}
}
示例8: error
export function error(...messages: any[]) {
console.error(whiteBright.bgRedBright('error'), ...messages)
}
示例9: dereference
export async function dereference(schema: JSONSchema, {cwd, $refOptions}: {cwd: string, $refOptions: $RefParser.Options}): Promise<JSONSchema> {
log(whiteBright.bgGreen('resolver'), schema, cwd)
const parser = new $RefParser
return parser.dereference(cwd, schema, $refOptions)
}
示例10: mapDeep
rules.forEach((rule, key) => {
_schema = mapDeep(_schema, schema => rule(schema, _schema, filename)) as NormalizedJSONSchema
log(whiteBright.bgYellow('normalizer'), `Applied rule: "${key}"`)
})