motion
Version:
motion - moving development forward
77 lines (76 loc) β’ 6.68 kB
JSON
{
"_args": [
[
"es6-iterator@https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz",
"/Users/nw/flint/packages/flint"
]
],
"_from": "es6-iterator@>=2.0.0 <3.0.0",
"_id": "es6-iterator@2.0.0",
"_inCache": true,
"_location": "/es6-iterator",
"_phantomChildren": {
"d": "0.1.1",
"es5-ext": "0.10.11"
},
"_requested": {
"name": "es6-iterator",
"raw": "es6-iterator@https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz",
"rawSpec": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz",
"scope": null,
"spec": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz",
"type": "remote"
},
"_requiredBy": [
"/es5-ext"
],
"_resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz",
"_shasum": "bd968567d61635e33c0b80727613c9cb4b096bac",
"_shrinkwrap": null,
"_spec": "es6-iterator@https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz",
"_where": "/Users/nw/flint/packages/flint",
"author": {
"email": "medyk@medikoo.com",
"name": "Mariusz Nowak",
"url": "http://www.medikoo.com/"
},
"bugs": {
"url": "https://github.com/medikoo/es6-iterator/issues"
},
"dependencies": {
"d": "^0.1.1",
"es5-ext": "^0.10.7",
"es6-symbol": "3"
},
"description": "Iterator abstraction based on ES6 specification",
"devDependencies": {
"event-emitter": "^0.3.4",
"tad": "^0.2.3",
"xlint": "^0.2.2",
"xlint-jslint-medikoo": "^0.1.3"
},
"homepage": "https://github.com/medikoo/es6-iterator#readme",
"keywords": [
"array",
"generator",
"iterator",
"list",
"map",
"set"
],
"license": "MIT",
"name": "es6-iterator",
"optionalDependencies": {},
"readme": "# es6-iterator\n## ECMAScript 6 Iterator interface\n\n### Installation\n\n\t$ npm install es6-iterator\n\t\nTo port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: [Browserify](http://browserify.org/), [Webmake](https://github.com/medikoo/modules-webmake) or [Webpack](http://webpack.github.io/)\n\n## API\n\n### Constructors\n\n#### Iterator(list) _(es6-iterator)_\n\nAbstract Iterator interface. Meant for extensions and not to be used on its own.\n\nAccepts any _list_ object (technically object with numeric _length_ property).\n\n_Mind it doesn't iterate strings properly, for that use dedicated [StringIterator](#string-iterator)_\n\n```javascript\nvar Iterator = require('es6-iterator')\nvar iterator = new Iterator([1, 2, 3]);\n\niterator.next(); // { value: 1, done: false }\niterator.next(); // { value: 2, done: false }\niterator.next(); // { value: 3, done: false }\niterator.next(); // { value: undefined, done: true }\n```\n\n\n#### ArrayIterator(arrayLike[, kind]) _(es6-iterator/array)_\n\nDedicated for arrays and array-likes. Supports three iteration kinds:\n* __value__ _(default)_ - Iterates values\n* __key__ - Iterates indexes\n* __key+value__ - Iterates keys and indexes, each iteration value is in _[key, value]_ form.\n\n\n```javascript\nvar ArrayIterator = require('es6-iterator/array')\nvar iterator = new ArrayIterator([1, 2, 3], 'key+value');\n\niterator.next(); // { value: [0, 1], done: false }\niterator.next(); // { value: [1, 2], done: false }\niterator.next(); // { value: [2, 3], done: false }\niterator.next(); // { value: undefined, done: true }\n```\n\nMay also be used for _arguments_ objects:\n\n```javascript\n(function () {\n var iterator = new ArrayIterator(arguments);\n\n iterator.next(); // { value: 1, done: false }\n iterator.next(); // { value: 2, done: false }\n iterator.next(); // { value: 3, done: false }\n iterator.next(); // { value: undefined, done: true }\n}(1, 2, 3));\n```\n\n#### StringIterator(str) _(es6-iterator/string)_\n\nAssures proper iteration over unicode symbols. \nSee: http://mathiasbynens.be/notes/javascript-unicode\n\n```javascript\nvar StringIterator = require('es6-iterator/string');\nvar iterator = new StringIterator('fπoπoπ');\n\niterator.next(); // { value: 'f', done: false }\niterator.next(); // { value: 'π', done: false }\niterator.next(); // { value: 'o', done: false }\niterator.next(); // { value: 'π', done: false }\niterator.next(); // { value: 'o', done: false }\niterator.next(); // { value: 'π', done: false }\niterator.next(); // { value: undefined, done: true }\n```\n\n### Function utilities\n\n#### forOf(iterable, callback[, thisArg]) _(es6-iterator/for-of)_\n\nPolyfill for ECMAScript 6 [`for...of`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of) statement.\n\n```\nvar forOf = require('es6-iterator/for-of');\nvar result = [];\n\nforOf('πππ', function (monkey) { result.push(monkey); });\nconsole.log(result); // ['π', 'π', 'π'];\n```\n\nOptionally you can break iteration at any point:\n\n```javascript\nvar result = [];\n\nforOf([1,2,3,4]', function (val, doBreak) {\n result.push(monkey);\n if (val >= 3) doBreak();\n});\nconsole.log(result); // [1, 2, 3];\n```\n\n#### get(obj) _(es6-iterator/get)_\n\nReturn iterator for any iterable object.\n\n```javascript\nvar getIterator = require('es6-iterator/get');\nvar iterator = get([1,2,3]);\n\niterator.next(); // { value: 1, done: false }\niterator.next(); // { value: 2, done: false }\niterator.next(); // { value: 3, done: false }\niterator.next(); // { value: undefined, done: true }\n```\n\n#### isIterable(obj) _(es6-iterator/is-iterable)_\n\nWhether _obj_ is iterable\n\n```javascript\nvar isIterable = require('es6-iterator/is-iterable');\n\nisIterable(null); // false\nisIterable(true); // false\nisIterable('str'); // true\nisIterable(['a', 'r', 'r']); // true\nisIterable(new ArrayIterator([])); // true\n```\n\n#### validIterable(obj) _(es6-iterator/valid-iterable)_\n\nIf _obj_ is an iterable it is returned. Otherwise _TypeError_ is thrown.\n\n### Method extensions\n\n#### iterator.chain(iterator1[, β¦iteratorn]) _(es6-iterator/#/chain)_\n\nChain multiple iterators into one.\n\n### Tests [](https://travis-ci.org/medikoo/es6-iterator)\n\n\t$ npm test\n",
"readmeFilename": "README.md",
"repository": {
"type": "git",
"url": "git://github.com/medikoo/es6-iterator.git"
},
"scripts": {
"lint": "node node_modules/xlint/bin/xlint --linter=node_modules/xlint-jslint-medikoo/index.js --no-cache --no-stream",
"lint-console": "node node_modules/xlint/bin/xlint --linter=node_modules/xlint-jslint-medikoo/index.js --watch",
"test": "node ./node_modules/tad/bin/tad"
},
"version": "2.0.0"
}