项目作者: hatashiro

项目描述 :
Previewable Iterable/Iterator for JavaScript/TypeScript
高级语言: TypeScript
项目地址: git://github.com/hatashiro/previewable-iterator.git
创建时间: 2017-12-14T07:31:50Z
项目社区:https://github.com/hatashiro/previewable-iterator

开源协议:MIT License

下载


previewable-iterator

npm
CircleCI branch
code style: prettier

Previewable Iterable/Iterator for JavaScript/TypeScript

Install

  1. npm install previewable-iterator

API

  1. import {
  2. PreviewableIterable,
  3. previewable,
  4. } from "previewable-iterator";

class PreviewableIterable

PreviewableIterable implements IterableIterator, which means it provides
proper interface for both Iterable and Iterator. About the interface, please
refer to the following MDN documentation.

constructor(iterator: Iterator)

It accepts an iterator and wraps it as PreviewableIterable.

However, rather than directly using new PreviewableIterable(...), you may
prefer using the previewable(...) helper function.

PreviewableIterable#preview()

It additionally provides a preview to literally preview the result of the
iterable. In other words, it returns a previewed { value, done } without
actually consuming an iteration step.

previewable(iterable: Iterable)

It is a helper function for PreviewableIterable, accepts an iterable. It
creates an iterator from the iterable, and apply it to PreviewableIterable.

  1. // e.g.
  2. const iter = previewable([1, 2, 3, 4]);
  3. iter.next(); // { value: 1, done: false }
  4. iter.next(); // { value: 2, done: false }
  5. iter.preview(); // { value: 3, done: false }
  6. iter.preview(); // { value: 3, done: false }
  7. iter.next(); // { value: 3, done: false }

Development

  1. # formatting scripts (using Prettier)
  2. npm run check-format
  3. npm run format
  4. # build TypeScript
  5. npm run build
  6. # test
  7. npm run test

The formatting scripts are automatically executed before commit or push.

License

MIT