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


TypeScript villa.call函數代碼示例

本文整理匯總了TypeScript中villa.call函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript call函數的具體用法?TypeScript call怎麽用?TypeScript call使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了call函數的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: generate

  async generate(): Promise<ClimeCLITestCase[]> {
    let caseNames = await v.call(glob, '*/case-*/', {
      cwd: __dirname,
    });

    return caseNames
      .map(caseName => {
        if (!/-\d+\/$/.test(caseName)) {
          throw new Error(
            `Expecting numeric suffix for case name "${caseName}"`,
          );
        }

        let caseDir = Path.join(__dirname, caseName);
        let subcases = require(Path.join(caseDir, 'subcases'))
          .default as SubcaseDefinition[];

        return subcases.map(subcase => {
          return new ClimeCLITestCase(
            `${caseName}${subcase.name}`,
            [Path.join(caseDir, 'cli.js')].concat(subcase.args),
          );
        });
      })
      .reduce((result, cases) => result.concat(cases), []);
  }
開發者ID:vilic,項目名稱:clime,代碼行數:26,代碼來源:cli-test.ts

示例2: exists

  async exists(extensions?: string[]): Promise<boolean | string | undefined> {
    let extensionsSpecified = !!extensions;

    for (let extension of extensions || ['']) {
      let path = this.fullName + extension;
      let stats = await v.call(FS.stat, path).catch(v.bear);

      if (stats && stats.isFile()) {
        return extensionsSpecified ? path : true;
      }
    }

    return extensionsSpecified ? undefined : false;
  }
開發者ID:vilic,項目名稱:clime,代碼行數:14,代碼來源:fs.ts

示例3: assert

  async assert(exists = true): Promise<void> {
    let stats = await v.call(FS.stat, this.fullName).catch(v.bear);

    if (exists) {
      if (!stats) {
        throw new ExpectedError(`File "${this.source}" does not exist`);
      }

      if (!stats.isFile()) {
        throw new ExpectedError(
          `Object "${this.source}" is expected to be a file`,
        );
      }
    } else if (stats) {
      throw new ExpectedError(`Object "${this.source}" already exists`);
    }
  }
開發者ID:vilic,項目名稱:clime,代碼行數:17,代碼來源:fs.ts

示例4: generate

    async generate(): Promise<void> {
        let project = this.project;

        let { name, version } = project;

        let artifacts: ArtifactMetadataItem[] = [];

        let metadata: ArtifactMetadata = {
            name,
            version,
            artifacts
        };

        let defaultIdPlugin: Plugin | undefined;

        for (let plugin of project.plugins) {
            if (plugin.processArtifactMetadata) {
                await plugin.processArtifactMetadata(metadata);
            }

            if (plugin.getDefaultArtifactId) {
                defaultIdPlugin = plugin;
            }
        }

        for (let platform of project.platforms) {
            console.log();
            console.log(
                project.platformSpecified ?
                    `Generating artifact of project ${Style.id(name)} ${Style.dim(`(${platform.name})`)}...` :
                    `Generating artifact of project ${Style.id(name)}...`
            );
            console.log();

            let idTemplate = this.config.id || (
                defaultIdPlugin ?
                    await defaultIdPlugin.getDefaultArtifactId!(project.platformSpecified ? platform : undefined) :
                    (project.platformSpecified ? '{name}-{platform}' : '{name}')
            );

            let id = project.renderTemplate(idTemplate, {
                platform: project.platformSpecified ? platform.name : undefined
            });

            let archiver = Archiver.create('zip', {});

            let mappings = this
                .mappings
                .filter(mapping => !mapping.platformSet || mapping.platformSet.has(platform.name));

            await this.walk(mappings, platform, archiver);

            archiver.finalize();

            let path = Path.join(project.distDir, `${id}.zip`);

            let writeStream = FS.createWriteStream(path);

            archiver.pipe(writeStream);

            await awaitable(writeStream, 'close', [archiver]);

            console.log();
            console.log(`Artifact generated at path ${Style.path(path)}.`);

            artifacts.push({
                id,
                platform: project.platformSpecified ? platform.name : undefined,
                path: Path.relative(project.distDir, path)
            });
        }

        let metadataFilePath = Path.join(project.distDir, `${name}.json`);
        let metadataJSON = JSON.stringify(metadata, undefined, 4);

        await acall<void>(FS.writeFile, metadataFilePath, metadataJSON);

        console.log();
        console.log(`Artifact metadata generated at path ${Style.path(metadataFilePath)}.`);
    }
開發者ID:vilic,項目名稱:henge,代碼行數:80,代碼來源:artifact.ts

示例5: safeStat

export async function safeStat(path: string): Promise<FS.Stats | undefined> {
  return v.call(FS.stat, path).catch(v.bear);
}
開發者ID:vilic,項目名稱:clime,代碼行數:3,代碼來源:fs.ts

示例6: text

 async text(encoding = 'utf-8'): Promise<string> {
   await this.assert();
   return v.call<string>(FS.readFile, this.fullName, encoding);
 }
開發者ID:vilic,項目名稱:clime,代碼行數:4,代碼來源:fs.ts

示例7: buffer

 async buffer(): Promise<Buffer> {
   await this.assert();
   return v.call<Buffer>(FS.readFile, this.fullName);
 }
開發者ID:vilic,項目名稱:clime,代碼行數:4,代碼來源:fs.ts


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