本文整理汇总了TypeScript中@sirian/common.Var类的典型用法代码示例。如果您正苦于以下问题:TypeScript Var类的具体用法?TypeScript Var怎么用?TypeScript Var使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Var类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: normalize
public normalize(selected: string) {
const choices = this.getChoices();
const strChoice = Var.stringify(selected);
for (const [key, choice] of KV.entries(choices)) {
if (Var.stringify(key) === strChoice) {
return choice;
}
}
const values = new Set<T>();
for (const choice of KV.values(choices)) {
if (Var.stringify(choice) === strChoice) {
values.add(choice);
}
}
switch (values.size) {
case 0:
throw new InvalidArgumentError(`Value "${strChoice}" is invalid`);
case 1:
return [...values][0];
default:
throw new InvalidArgumentError(`Value "${strChoice}" is ambiguous`);
}
}
示例2: hasArgument
public hasArgument(name: string | number) {
if (Var.isNumber(name)) {
const args = this.getArguments();
return Var.hasOwn(args, name);
}
return this.arguments.has(name);
}
示例3: constructor
constructor(init: IParameterInit<T>) {
this.name = Var.stringify(init.name);
this.description = Var.stringify(init.description);
this.defaultValue = init.defaultValue;
this.normalizer = init.normalizer;
this.validator = init.validator;
this.multiple = !!init.multiple;
this.allowedValues = init.allowedValues || [];
}
示例4:
public static entries<T>(value: T): KVEntries<T> {
if (Var.isNullable(value)) {
return [] as KVEntries<T>;
}
if (Var.isString(value)) {
return KV.entries([...value]) as KVEntries<T>;
}
if (Var.hasMethod(value, "entries")) {
return [...value.entries()] as KVEntries<T>;
}
return Obj.entries(value) as KVEntries<T>;
}
示例5: formatDefaultValue
protected formatDefaultValue(defaultValue: undefined | string | string[]) {
if (Var.isArray(defaultValue)) {
defaultValue = defaultValue.map((value) => Formatter.escape(value));
return JSON.stringify(defaultValue).replace(/\\\\/g, "\\");
} else {
return Formatter.escape(defaultValue);
}
}
示例6: getCommandAliasesText
protected getCommandAliasesText(definition: CommandDefinition) {
const aliases = definition.getAliases();
if (!aliases.length) {
return "";
}
const text = aliases.join("|");
return Var.stringify(`[${text}]`);
}
示例7: get
public async get(name: string) {
const fn = this.factories[name];
const importResult = await fn();
for (const [key, value] of Object.entries(importResult)) {
if (Var.isSubclassOf(value, Command)) {
return value;
}
}
throw new CommandNotFoundError(`Command "${name}" not found`);
}