Projects
Mega:23.09
nodejs-for-each
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 3
View file
_service:tar_scm:nodejs-for-each.spec
Changed
@@ -2,12 +2,12 @@ %global packagename for-each %global enable_tests 1 Name: nodejs-for-each -Version: 0.3.2 -Release: 2 +Version: 0.3.3 +Release: 1 Summary: A better forEach License: MIT URL: https://github.com/Raynos/for-each -Source0: https://registry.npmjs.org/%{packagename}/-/%{packagename}-%{version}.tgz +Source0: https://github.com/Raynos/for-each/archive/v%{version}/%{packagename}-%{version}.tar.gz BuildArch: noarch ExclusiveArch: %{nodejs_arches} noarch BuildRequires: nodejs-packaging npm(is-function) @@ -18,7 +18,7 @@ A better forEach %prep -%autosetup -n package +%autosetup -n %{packagename}-%{version} -p1 %build @@ -39,10 +39,13 @@ %files %doc *.md -%license LICENCE +%license LICENSE %{nodejs_sitelib}/%{packagename} %changelog +* Thu Nov 09 2023 yaoxin <yao_xin001@hoperun.com> - 0.3.3-1 +- Upgrade to 0.3.3 + * Thu Nov 26 2020 leiju <leiju4@huawei.com> - 0.3.2-2 - delete nodejs-for-each.spec.old redundancy file
View file
_service
Changed
@@ -2,7 +2,7 @@ <service name="tar_scm"> <param name="url">git@gitee.com:src-openeuler/nodejs-for-each.git</param> <param name="scm">git</param> - <param name="revision">openEuler-23.09</param> + <param name="revision">master</param> <param name="exclude">*</param> <param name="extract">*</param> </service>
View file
_service:tar_scm:for-each-0.3.2.tgz/.npmignore
Deleted
@@ -1,3 +0,0 @@ -node_modules -*.log -*.err
View file
_service:tar_scm:for-each-0.3.2.tgz/LICENCE
Deleted
@@ -1,19 +0,0 @@ -Copyright (c) 2012 Raynos. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file
View file
_service:tar_scm:for-each-0.3.3.tar.gz/.
Added
+(directory)
View file
_service:tar_scm:for-each-0.3.3.tar.gz/.editorconfig
Added
@@ -0,0 +1,20 @@ +root = true + +* +indent_style = tab +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 120 + +CHANGELOG.md +indent_style = space +indent_size = 2 + +*.json +max_line_length = off + +Makefile +max_line_length = off
View file
_service:tar_scm:for-each-0.3.3.tar.gz/.eslintrc
Added
@@ -0,0 +1,16 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "eqeqeq": 2, "allow-null", + "func-name-matching": 0, + "indent": 2, 4, + "max-nested-callbacks": 2, 3, + "max-params": 2, 3, + "max-statements": 2, 14, + "no-invalid-this": 1, + "no-restricted-syntax": 2, "BreakStatement", "ContinueStatement", "DebuggerStatement", "LabeledStatement", "WithStatement", + } +}
View file
_service:tar_scm:for-each-0.3.3.tar.gz/.gitignore
Added
@@ -0,0 +1,9 @@ +# gitignore +node_modules +*.log +*.err + +# Only apps should have lockfiles +npm-shrinkwrap.json +package-lock.json +yarn.lock
View file
_service:tar_scm:for-each-0.3.3.tar.gz/.npmrc
Added
@@ -0,0 +1,1 @@ +package-lock=false
View file
_service:tar_scm:for-each-0.3.2.tgz/.travis.yml -> _service:tar_scm:for-each-0.3.3.tar.gz/.travis.yml
Changed
@@ -1,7 +1,45 @@ language: node_js +os: + - linux node_js: - - 0.4 - - 0.6 - - 0.8 + - "8" + - "7" + - "6" + - "5" + - "4" + - "iojs" + - "0.12" - "0.10" - + - "0.8" +before_install: + - 'if "${TRAVIS_NODE_VERSION}" = "0.6" ; then npm install -g npm@1.3 ; elif "${TRAVIS_NODE_VERSION}" != "0.9" ; then case "$(npm --version)" in 1.*) npm install -g npm@1.4.28 ;; 2.*) npm install -g npm@2 ;; esac ; fi' + - 'if "${TRAVIS_NODE_VERSION}" != "0.6" && "${TRAVIS_NODE_VERSION}" != "0.9" ; then if "${TRAVIS_NODE_VERSION%${TRAVIS_NODE_VERSION#0-9}}" = "0" || "${TRAVIS_NODE_VERSION:0:4}" = "iojs" ; then npm install -g npm@4.5 ; else npm install -g npm; fi; fi' +install: + - 'if "${TRAVIS_NODE_VERSION}" = "0.6" ; then nvm install 0.8 && npm install -g npm@1.3 && npm install -g npm@1.4.28 && npm install -g npm@2 && npm install && nvm use "${TRAVIS_NODE_VERSION}"; else npm install; fi;' +script: + - 'if -n "${PRETEST-}" ; then npm run pretest ; fi' + - 'if -n "${POSTTEST-}" ; then npm run posttest ; fi' + - 'if -n "${COVERAGE-}" ; then npm run coverage ; fi' + - 'if -n "${TEST-}" ; then npm run tests-only ; fi' +sudo: false +env: + - TEST=true +matrix: + fast_finish: true + include: + - node_js: "node" + env: PRETEST=true + - node_js: "node" + env: POSTTEST=true + - node_js: "0.11" + env: TEST=true ALLOW_FAILURE=true + - node_js: "0.9" + env: TEST=true ALLOW_FAILURE=true + - node_js: "0.6" + env: TEST=true ALLOW_FAILURE=true + - node_js: "0.4" + env: TEST=true ALLOW_FAILURE=true + allow_failures: + - os: osx + - env: TEST=true ALLOW_FAILURE=true + - env: COVERAGE=true
View file
_service:tar_scm:for-each-0.3.3.tar.gz/LICENSE
Added
@@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2012 Raynos. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +
View file
_service:tar_scm:for-each-0.3.2.tgz/index.js -> _service:tar_scm:for-each-0.3.3.tar.gz/index.js
Changed
@@ -1,46 +1,62 @@ -var isFunction = require('is-function') +'use strict'; -module.exports = forEach +var isCallable = require('is-callable'); -var toString = Object.prototype.toString -var hasOwnProperty = Object.prototype.hasOwnProperty +var toStr = Object.prototype.toString; +var hasOwnProperty = Object.prototype.hasOwnProperty; -function forEach(list, iterator, context) { - if (!isFunction(iterator)) { - throw new TypeError('iterator must be a function') - } - - if (arguments.length < 3) { - context = this - } - - if (toString.call(list) === 'object Array') - forEachArray(list, iterator, context) - else if (typeof list === 'string') - forEachString(list, iterator, context) - else - forEachObject(list, iterator, context) -} - -function forEachArray(array, iterator, context) { +var forEachArray = function forEachArray(array, iterator, receiver) { for (var i = 0, len = array.length; i < len; i++) { if (hasOwnProperty.call(array, i)) { - iterator.call(context, arrayi, i, array) + if (receiver == null) { + iterator(arrayi, i, array); + } else { + iterator.call(receiver, arrayi, i, array); + } } } -} +}; -function forEachString(string, iterator, context) { +var forEachString = function forEachString(string, iterator, receiver) { for (var i = 0, len = string.length; i < len; i++) { // no such thing as a sparse string. - iterator.call(context, string.charAt(i), i, string) + if (receiver == null) { + iterator(string.charAt(i), i, string); + } else { + iterator.call(receiver, string.charAt(i), i, string); + } } -} +}; -function forEachObject(object, iterator, context) { +var forEachObject = function forEachObject(object, iterator, receiver) { for (var k in object) { if (hasOwnProperty.call(object, k)) { - iterator.call(context, objectk, k, object) + if (receiver == null) { + iterator(objectk, k, object); + } else { + iterator.call(receiver, objectk, k, object); + } } } -} +}; + +var forEach = function forEach(list, iterator, thisArg) { + if (!isCallable(iterator)) { + throw new TypeError('iterator must be a function'); + } + + var receiver; + if (arguments.length >= 3) { + receiver = thisArg; + } + + if (toStr.call(list) === 'object Array') { + forEachArray(list, iterator, receiver); + } else if (typeof list === 'string') { + forEachString(list, iterator, receiver); + } else { + forEachObject(list, iterator, receiver); + } +}; + +module.exports = forEach;
View file
_service:tar_scm:for-each-0.3.2.tgz/package.json -> _service:tar_scm:for-each-0.3.3.tar.gz/package.json
Changed
@@ -1,6 +1,6 @@ { "name": "for-each", - "version": "0.3.2", + "version": "0.3.3", "description": "A better forEach", "keywords": , "author": "Raynos <raynos2@gmail.com>", @@ -21,11 +21,15 @@ "email": "raynos2@gmail.com" }, "dependencies": { - "is-function": "~1.0.0" + "is-callable": "^1.1.3" }, "devDependencies": { - "tape": "~1.1.0" + "@ljharb/eslint-config": "^12.2.1", + "eslint": "^4.19.1", + "nsp": "^3.2.1", + "tape": "^4.9.0" }, + "license": "MIT", "licenses": { "type": "MIT", @@ -33,7 +37,12 @@ } , "scripts": { - "test": "node test/test.js" + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "node test/test", + "posttest": "npm run security", + "lint": "eslint *.js test/*.js", + "security": "nsp check" }, "testling": { "files": "test/test.js",
View file
_service:tar_scm:for-each-0.3.3.tar.gz/test
Added
+(directory)
View file
_service:tar_scm:for-each-0.3.3.tar.gz/test/.eslintrc
Added
@@ -0,0 +1,8 @@ +{ + "rules": { + "array-bracket-newline": 0, + "array-element-newline": 0, + "max-statements-per-line": 0, + "no-magic-numbers": 0, + } +}
View file
_service:tar_scm:for-each-0.3.2.tgz/test/test.js -> _service:tar_scm:for-each-0.3.3.tar.gz/test/test.js
Changed
@@ -1,180 +1,182 @@ -var test = require("tape") - , forEach = require("..") +'use strict'; -test("forEach calls each iterator", function (t) { - var count = 0 - t.plan(4) +/* globals window */ + +var test = require('tape'); +var forEach = require('../'); + +test('forEach calls each iterator', function (t) { + var count = 0; + t.plan(4); forEach({ a: 1, b: 2 }, function (value, key) { if (count === 0) { - t.equal(value, 1) - t.equal(key, "a") + t.equal(value, 1); + t.equal(key, 'a'); } else { - t.equal(value, 2) - t.equal(key, "b") + t.equal(value, 2); + t.equal(key, 'b'); } - count++ - }) -}) + count += 1; + }); +}); -test("forEach calls iterator with correct this value", function (t) { - var thisValue = {} +test('forEach calls iterator with correct this value', function (t) { + var thisValue = {}; - t.plan(1) + t.plan(1); forEach(0, function () { - t.equal(this, thisValue) - }, thisValue) -}) + t.equal(this, thisValue); + }, thisValue); +}); test('second argument: iterator', function (t) { - var arr = - t.throws(function () { forEach(arr) }, TypeError, 'undefined is not a function') - t.throws(function () { forEach(arr, null) }, TypeError, 'null is not a function') - t.throws(function () { forEach(arr, '') }, TypeError, 'string is not a function') - t.throws(function () { forEach(arr, /a/) }, TypeError, 'regex is not a function') - t.throws(function () { forEach(arr, true) }, TypeError, 'true is not a function') - t.throws(function () { forEach(arr, false) }, TypeError, 'false is not a function') - t.throws(function () { forEach(arr, NaN) }, TypeError, 'NaN is not a function') - t.throws(function () { forEach(arr, 42) }, TypeError, '42 is not a function') - t.doesNotThrow(function () { forEach(arr, function () {}) }, 'function is a function') - t.doesNotThrow(function () { forEach(arr, setTimeout) }, 'setTimeout is a function') + var arr = ; + t'throws'(function () { forEach(arr); }, TypeError, 'undefined is not a function'); + t'throws'(function () { forEach(arr, null); }, TypeError, 'null is not a function'); + t'throws'(function () { forEach(arr, ''); }, TypeError, 'string is not a function'); + t'throws'(function () { forEach(arr, /a/); }, TypeError, 'regex is not a function'); + t'throws'(function () { forEach(arr, true); }, TypeError, 'true is not a function'); + t'throws'(function () { forEach(arr, false); }, TypeError, 'false is not a function'); + t'throws'(function () { forEach(arr, NaN); }, TypeError, 'NaN is not a function'); + t'throws'(function () { forEach(arr, 42); }, TypeError, '42 is not a function'); + t.doesNotThrow(function () { forEach(arr, function () {}); }, 'function is a function'); + t.doesNotThrow(function () { forEach(arr, setTimeout); }, 'setTimeout is a function'); if (typeof window !== 'undefined') { - t.doesNotThrow(function () { forEach(arr, window.alert) }, 'alert is a function') + t.doesNotThrow(function () { forEach(arr, window.alert); }, 'alert is a function'); } - t.end() -}) + t.end(); +}); test('array', function (t) { - var arr = 1, 2, 3 + var arr = 1, 2, 3; t.test('iterates over every item', function (st) { - var index = 0 - forEach(arr, function () { index += 1 }) - st.equal(index, arr.length, 'iterates ' + arr.length + ' times') - st.end() - }) + var index = 0; + forEach(arr, function () { index += 1; }); + st.equal(index, arr.length, 'iterates ' + arr.length + ' times'); + st.end(); + }); t.test('first iterator argument', function (st) { - var index = 0 - st.plan(arr.length) + var index = 0; + st.plan(arr.length); forEach(arr, function (item) { - st.equal(arrindex, item, 'item ' + index + ' is passed as first argument') - index += 1 - }) + st.equal(arrindex, item, 'item ' + index + ' is passed as first argument'); + index += 1; + }); st.end(); - }) + }); t.test('second iterator argument', function (st) { - var counter = 0 - st.plan(arr.length) + var counter = 0; + st.plan(arr.length); forEach(arr, function (item, index) { - st.equal(counter, index, 'index ' + index + ' is passed as second argument') - counter += 1 - }) + st.equal(counter, index, 'index ' + index + ' is passed as second argument'); + counter += 1; + }); st.end(); - }) + }); t.test('third iterator argument', function (st) { - st.plan(arr.length) + st.plan(arr.length); forEach(arr, function (item, index, array) { - st.deepEqual(arr, array, 'array is passed as third argument') - }) + st.deepEqual(arr, array, 'array is passed as third argument'); + }); st.end(); - }) + }); t.test('context argument', function (st) { - var context = {} + var context = {}; forEach(, function () { - st.equal(this, context, '"this" is the passed context') - }, context) - st.end() - }) + st.equal(this, context, '"this" is the passed context'); + }, context); + st.end(); + }); - t.end() -}) + t.end(); +}); test('object', function (t) { var obj = { a: 1, b: 2, c: 3 - } - var keys = 'a', 'b', 'c' + }; + var keys = 'a', 'b', 'c'; - var F = function () { - this.a = 1 - this.b = 2 - } - F.prototype.c = 3 - var fKeys = 'a', 'b' + var F = function F() { + this.a = 1; + this.b = 2; + }; + F.prototype.c = 3; + var fKeys = 'a', 'b'; t.test('iterates over every object literal key', function (st) { - var counter = 0 - forEach(obj, function () { counter += 1 }) - st.equal(counter, keys.length, 'iterated ' + counter + ' times') - st.end() - }) + var counter = 0; + forEach(obj, function () { counter += 1; }); + st.equal(counter, keys.length, 'iterated ' + counter + ' times'); + st.end(); + }); t.test('iterates only over own keys', function (st) { - var counter = 0 - forEach(new F(), function () { counter += 1 }) - st.equal(counter, fKeys.length, 'iterated ' + fKeys.length + ' times') - st.end() - }) + var counter = 0; + forEach(new F(), function () { counter += 1; }); + st.equal(counter, fKeys.length, 'iterated ' + fKeys.length + ' times'); + st.end(); + }); t.test('first iterator argument', function (st) { - var index = 0 - st.plan(keys.length) + var index = 0; + st.plan(keys.length); forEach(obj, function (item) { - st.equal(objkeysindex, item, 'item at key ' + keysindex + ' is passed as first argument') - index += 1 - }) - st.end() - }) + st.equal(objkeysindex, item, 'item at key ' + keysindex + ' is passed as first argument'); + index += 1; + }); + st.end(); + }); t.test('second iterator argument', function (st) { - var counter = 0 - st.plan(keys.length) + var counter = 0; + st.plan(keys.length); forEach(obj, function (item, key) { - st.equal(keyscounter, key, 'key ' + key + ' is passed as second argument') - counter += 1 - }) - st.end() - }) + st.equal(keyscounter, key, 'key ' + key + ' is passed as second argument'); + counter += 1; + }); + st.end(); + }); t.test('third iterator argument', function (st) { - st.plan(keys.length) + st.plan(keys.length); forEach(obj, function (item, key, object) { - st.deepEqual(obj, object, 'object is passed as third argument') - }) - st.end() - }) + st.deepEqual(obj, object, 'object is passed as third argument'); + }); + st.end(); + }); t.test('context argument', function (st) { - var context = {} + var context = {}; forEach({}, function () { - st.equal(this, context, '"this" is the passed context') - }, context) - st.end() - }) - - t.end() -}) + st.equal(this, context, '"this" is the passed context'); + }, context); + st.end(); + }); + t.end(); +}); test('string', function (t) { - var str = 'str' + var str = 'str'; t.test('second iterator argument', function (st) { - var counter = 0 - st.plan(str.length * 2 + 1) + var counter = 0; + st.plan((str.length * 2) + 1); forEach(str, function (item, index) { - st.equal(counter, index, 'index ' + index + ' is passed as second argument') - st.equal(str.charAt(index), item) - counter += 1 - }) - st.equal(counter, str.length, 'iterates ' + str.length + ' times') - st.end() - }) - t.end() -}) - + st.equal(counter, index, 'index ' + index + ' is passed as second argument'); + st.equal(str.charAt(index), item); + counter += 1; + }); + st.equal(counter, str.length, 'iterates ' + str.length + ' times'); + st.end(); + }); + t.end(); +});
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2