当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript kefir.stream函数代码示例

本文整理汇总了TypeScript中kefir.stream函数的典型用法代码示例。如果您正苦于以下问题:TypeScript stream函数的具体用法?TypeScript stream怎么用?TypeScript stream使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了stream函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: selectNewProjectContext

    .flatMapFirst(state => {
      const argv = ['project', 'new'];

      for (const [key, value] of Object.entries(
        selectNewProjectContext(state)
      )) {
        argv.push(`--${key}`);
        argv.push(value);
      }

      // @TODO(mAAdhaTTah) check if dir exists and confirm overwrite
      // hygen expects to handle interactivity
      return Kefir.stream(emitter => {
        runner(argv, {
          // NOTE: This is relative to dist, where the build result is.
          templates: path.join(__dirname, '..', 'templates'),
          cwd: state.cwd,
          logger: new Logger(emitter),
          createPrompter: () => inquirer,
          exec: (action, body) => {
            const opts = body && body.length > 0 ? { input: body } : {};
            return execa.shell(action, opts);
          },
          debug: false
        })
          .then(result => {
            emitter.value({ type: 'CREATED', payload: { result } });
          })
          .catch(error => {
            emitter.value({ type: 'FAILED', error: true, payload: { error } });
          });
      });
    });
开发者ID:valtech-nyc,项目名称:brookjs,代码行数:33,代码来源:exec.ts

示例2:

 return this.compiler().flatMap(compiler =>
   Kefir.stream(emitter => {
     compiler.watch(WebpackService.watch, (err, stats) => {
       if (err) {
         emitter.error(err);
       } else {
         emitter.value(stats);
       }
     });
   })
开发者ID:valtech-nyc,项目名称:brookjs,代码行数:10,代码来源:webpack.ts

示例3: getMochaCommand

    .flatMap(state =>
      Kefir.stream(emitter => {
        const command = getMochaCommand(state);

        emitter.value(shellCommand.request(command));

        shelljs.exec(command, { silent: true }, (code, stdout, stderr) => {
          if (code !== 0) {
            emitter.value(shellCommand.failure({ code, stdout, stderr }));
          } else {
            emitter.value(shellCommand.success({ stdout }));
          }

          emitter.end();
        });
      })
开发者ID:valtech-nyc,项目名称:brookjs,代码行数:16,代码来源:exec.ts

示例4: setTimeout

			} else {
				emitter.end();
			}
		});
	}
	let stream07: Stream<number, void> = Kefir.fromCallback<number>(callback => setTimeout(() => callback(1), 1000));
	let stream08: Stream<number, void> = Kefir.fromNodeCallback<number, void>(callback => setTimeout(() => callback(null, 1), 1000));
	let stream09: Stream<MouseEvent, void> = Kefir.fromEvents<MouseEvent, void>(document.body, 'click');
	let stream10: Stream<number, void> = Kefir.stream<number, void>(emitter => {
		let count = 0;
		emitter.emit(count);
	
		let intervalId = setInterval(() => {
			count++;
			if (count < 4) {
				emitter.emit(count);
			} else {
				emitter.end();
			}
		}, 1000);
	
		return () => clearInterval(intervalId);
	});
}

// Create a property
{
	let property01: Property<number, void> = Kefir.constant(1);
	let property02: Property<void, number> = Kefir.constantError(1);
	let property03: Property<number, void> = Kefir.fromPromise<number, void>(new Promise<number>(fulfill => fulfill(1)));
}
开发者ID:ErykB2000,项目名称:DefinitelyTyped,代码行数:31,代码来源:kefir-tests.ts

示例5: schedule

  }
);

/**
 * The type emitted by the raf$ stream.
 */
export type RAFAction = ReturnType<typeof rafAction>;

/**
 * Stream of requestAnimationFrame events.
 */
export const raf$: Stream<RAFAction, void> = Kefir.stream(emitter => {
  let loop: number;
  let enabled = true;

  (function schedule() {
    loop = requestAnimationFrame(time => {
      (emitter as any).value(rafAction(time));

      if (enabled) {
        schedule();
      }
    });
  })();

  return () => {
    cancelAnimationFrame(loop);
    enabled = false;
  };
});
开发者ID:valtech-nyc,项目名称:brookjs,代码行数:30,代码来源:rAF.ts


注:本文中的kefir.stream函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。