當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript yargs.array函數代碼示例

本文整理匯總了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%");
}
開發者ID:SaschaNaz,項目名稱:webxml,代碼行數:96,代碼來源:webxml.ts

示例2:

function Argv$array() {
    let argv = yargs
        .array('foo')
        .array(['bar', 'baz']);
}
開發者ID:markusmauch,項目名稱:DefinitelyTyped,代碼行數:5,代碼來源:yargs-tests.ts

示例3:

function Argv$array() {
	var argv = yargs
		.array('foo')
		.array(['bar', 'baz'])
}
開發者ID:CNManning,項目名稱:DefinitelyTyped,代碼行數:5,代碼來源:yargs-tests.ts


注:本文中的yargs.array函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。