本文整理匯總了TypeScript中yargs.array函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript array函數的具體用法?TypeScript array怎麽用?TypeScript array使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了array函數的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: run
async function run() {
console.log("Loading spec list...");
const exportList: ExportRemoteDescription[] = JSON.parse(await mz.readFile("specs.json", "utf8"));
const argv = yargs.array("pick").argv;
if (argv._[0] === "local") {
for (const exportInfo of exportList) {
// use remote copy only when specified
if (exportInfo.idl !== "none") {
exportInfo.idl = "local";
}
}
}
if (argv.pick) {
const list = exportList.filter(item => (argv.pick as string[]).includes(item.title));
exportList.length = 0;
exportList.push(...list);
}
console.log("Fetching from web...");
const results = await Promise.all(exportList.map(async (description): Promise<FetchResult> => {
if (description.idl === "local") {
const result: FetchResult = {
description,
content: await mz.readFile(`localcopies/${description.title}.widl`, "utf8")
}
console.log(`Got a local copy for ${description.title}`);
return result;
}
else if (description.idl === "none") {
return {
description,
content: ""
}
}
const response = await fetch(description.url);
if (!response.ok) {
throw new Error(`Fetching failed: HTTP ${response.status} ${response.statusText}`);
}
const result: FetchResult = {
description,
content: await response.text()
}
console.log(`Fetching finished from ${description.url}`);
return result;
}));
console.log("Fetching complete 100%");
if (!(await mz.exists("built"))) {
await mz.mkdir("built");
}
if (!(await mz.exists("built/partial"))) {
await mz.mkdir("built/partial");
}
console.log("Exporting and parsing WebIDL...");
// Exporting IDL texts
const exports = await Promise.all(results.map(result => exportIDLs(result)));
for (const exported of exports) {
if (exported.origin.description.idl === "local" || exported.origin.description.idl === "none") {
continue;
}
await mz.writeFile(`localcopies/${exported.origin.description.title}.widl`, exported.idl);
}
if (!argv.pick) {
// Loads event information from browser.webidl.xml and create interfaces for each event target
console.log("Loading event information from MSEdge data...");
const msedgeEventDocument = new DOMParser().parseFromString(await mz.readFile("supplements/browser.webidl.xml", "utf8"), "text/xml");
const msedgeIgnore: MSEdgeIgnore = JSON.parse(await mz.readFile("msedge-ignore.json", "utf8"));
const msedgeEventHandlers = exportEventHandlers(msedgeEventDocument, msedgeIgnore);
const msedgeEventPropertyMap = exportEventPropertyMap(msedgeEventDocument);
transferEventInformation(exports, msedgeEventPropertyMap);
exports.push(msedgeEventHandlers);
}
else {
console.log("Skipped MSEdge information merging.")
}
console.log("Loading supplements...");
for (const exportResult of exports) {
supplements.apply(exportResult, document);
}
const serializer = new XMLSerializer();
for (const doc of convertAsMultipleDocument(exports)) {
const path = `built/partial/${doc.documentElement.getAttribute("name")}.webidl.xml`;
await mz.writeFile(path, prettifyXml(serializer.serializeToString(doc)));
console.log(`Writing as ${path}`);
}
console.log("Conversion as merged one as browser.webidl.xml");
await mz.writeFile("built/browser.webidl.xml", prettifyXml(serializer.serializeToString(convertAsSingleDocument(exports))));
console.log("Finished 100%");
}
示例2:
function Argv$array() {
let argv = yargs
.array('foo')
.array(['bar', 'baz']);
}
示例3:
function Argv$array() {
var argv = yargs
.array('foo')
.array(['bar', 'baz'])
}