当前位置: 首页>>代码示例>>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;未经允许,请勿转载。