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


TypeScript utils-array.conform函數代碼示例

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


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

示例1: createRequest

export async function createRequest(method: HttpMethod, url: string, { proxy, ssl }: CreateRequestOptions): Promise<{ req: SuperAgentRequest; }> {
  const superagent = await import('superagent');

  if (!proxy) {
    const gproxy = getGlobalProxy();

    if (gproxy) {
      proxy = gproxy.envval;
    }
  }

  const req = superagent(method, url);

  req.redirects(25);

  if (proxy) {
    const superagentProxy = await import('superagent-proxy');
    superagentProxy(superagent);

    if (req.proxy) {
      req.proxy(proxy);
    } else {
      debug(`Cannot install proxy--req.proxy not defined`);
    }
  }

  if (ssl) {
    const cafiles = conform(ssl.cafile);
    const certfiles = conform(ssl.certfile);
    const keyfiles = conform(ssl.keyfile);

    if (cafiles.length > 0) {
      req.ca(await Promise.all(cafiles.map(p => readFile(p, { encoding: 'utf8' }))));
    }

    if (certfiles.length > 0) {
      req.cert(await Promise.all(certfiles.map(p => readFile(p, { encoding: 'utf8' }))));
    }

    if (keyfiles.length > 0) {
      req.key(await Promise.all(keyfiles.map(p => readFile(p, { encoding: 'utf8' }))));
    }
  }

  return { req };
}
開發者ID:driftyco,項目名稱:ionic-cli,代碼行數:46,代碼來源:http.ts

示例2: addHook

export function addHook(baseDir: string, hooks: string | string[] | undefined, hook: string): string[] {
  const hookPaths = conform(hooks);
  const resolvedHookPaths = hookPaths.map(p => path.resolve(baseDir, p));

  if (!resolvedHookPaths.includes(path.resolve(baseDir, hook))) {
    hookPaths.push(hook);
  }

  return hookPaths;
}
開發者ID:driftyco,項目名稱:ionic-cli,代碼行數:10,代碼來源:hooks.ts

示例3: removeHook

export function removeHook(baseDir: string, hooks: string | string[] | undefined, hook: string): string[] {
  const hookPaths = conform(hooks);
  const i = locateHook(baseDir, hookPaths, hook);

  if (i >= 0) {
    hookPaths.splice(i, 1);
  }

  return hookPaths;
}
開發者ID:driftyco,項目名稱:ionic-cli,代碼行數:10,代碼來源:hooks.ts

示例4: run

  async run(input: HookInput) {
    const { pkgManagerArgs } = await import('./utils/npm');

    const type = this.e.project.type;

    if (!type || !this.e.project.directory) {
      return; // TODO: will we need hooks outside a project?
    }

    const pkg = await this.e.project.requirePackageJson();

    debug(`Looking for ${ancillary(this.script)} npm script.`);

    if (pkg.scripts && pkg.scripts[this.script]) {
      debug(`Invoking ${ancillary(this.script)} npm script.`);
      const [ pkgManager, ...pkgArgs ] = await pkgManagerArgs(this.e.config.get('npmClient'), { command: 'run', script: this.script });
      await this.e.shell.run(pkgManager, pkgArgs, {});
    }

    const projectHooks = this.e.project.config.get('hooks');
    const hooks = projectHooks ? conform(projectHooks[this.name]) : [];

    for (const h of hooks) {
      const p = path.resolve(this.e.project.directory, h);

      try {
        if (path.extname(p) !== '.js') {
          throw new Error(`Hooks must be .js files with a function for its default export.`);
        }

        const hook = await this.loadHookFn(p);

        if (!hook) {
          throw new Error(`Module must have a function for its default export.`);
        }

        await hook(lodash.assign({}, input, {
          project: {
            type,
            dir: this.e.project.directory,
            srcDir: await this.e.project.getSourceDir(),
          },
          argv: process.argv,
          env: process.env,
        }));
      } catch (e) {
        throw new HookException(
          `An error occurred while running an Ionic CLI hook defined in ${strong(prettyPath(this.e.project.filePath))}.\n` +
          `Hook: ${strong(this.name)}\n` +
          `File: ${strong(p)}\n\n` +
          `${failure(e.stack ? e.stack : e)}`
        );
      }
    }
  }
開發者ID:driftyco,項目名稱:ionic-cli,代碼行數:55,代碼來源:hooks.ts

示例5: locateHook

export function locateHook(baseDir: string, hooks: string[], hook: string): number {
  return conform(hooks).map(p => path.resolve(baseDir, p)).indexOf(path.resolve(baseDir, hook));
}
開發者ID:driftyco,項目名稱:ionic-cli,代碼行數:3,代碼來源:hooks.ts


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