From 95504c27c5f008e726d46d7aeed4d47861d115f6 Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Wed, 6 Jul 2022 00:13:09 +0300 Subject: [PATCH] moved to ig-object 6.0.1... Signed-off-by: Alex A. Naanou --- Array.js | 7 +-- event.js | 4 +- generator.js | 51 +------------------ package-lock.json | 125 +++++++++++++++++++++++++++++++--------------- package.json | 3 +- 5 files changed, 93 insertions(+), 97 deletions(-) diff --git a/Array.js b/Array.js index 23c9668..5809cd3 100644 --- a/Array.js +++ b/Array.js @@ -12,6 +12,7 @@ /*********************************************************************/ var object = require('ig-object') +var stoppable = require('ig-stoppable') var generator = require('./generator') @@ -22,11 +23,7 @@ var generator = require('./generator') // NOTE: this is used in a similar fashion to Python's StopIteration... var STOP = module.STOP = - object.STOP - -var stoppable = -module.stoppable = - generator.stoppable + stoppable.STOP //--------------------------------------------------------------------- diff --git a/event.js b/event.js index 2a54bad..e9dfe57 100644 --- a/event.js +++ b/event.js @@ -343,14 +343,14 @@ module.EventDocMixin = object.Mixin('EventDocMixin', { return object.deepKeys(this) .filter(function(n){ // avoid triggering props... - return !object.values(this, n, function(){ return object.STOP }, true)[0].get + return !object.values(this, n, true).next().value.get // XXX this is too strict... && (this[n] || {}).constructor === Eventful}.bind(this)) }, get events(){ return object.deepKeys(this) .filter(function(n){ // avoid triggering props... - return !object.values(this, n, function(){ return object.STOP }, true)[0].get + return !object.values(this, n, true).next().value.get // XXX this is too strict... && (this[n] || {}).constructor === Event }.bind(this)) }, }) diff --git a/generator.js b/generator.js index fcb4a23..a9d0169 100644 --- a/generator.js +++ b/generator.js @@ -8,6 +8,7 @@ /*********************************************************************/ var object = require('ig-object') +var stoppable = require('ig-stoppable') @@ -16,7 +17,7 @@ var object = require('ig-object') // NOTE: this is used in a similar fashion to Python's StopIteration... var STOP = module.STOP = - object.STOP + stoppable.STOP //--------------------------------------------------------------------- @@ -77,54 +78,6 @@ var ITERATOR_PROTOTYPES = [ -//--------------------------------------------------------------------- - -// XXX should this be part of object??? -var stoppable = -module.stoppable = -function(func){ - return Object.assign( - func instanceof Generator ? - // NOTE: the only difference between Generator/AsyncGenerator - // versions of this is the async keyword -- keep them - // in sync... - function*(){ - try{ - yield* func.call(this, ...arguments) - } catch(err){ - if(err === STOP){ - return - } else if(err instanceof STOP){ - yield err.value - return } - throw err } } - : func instanceof AsyncGenerator ? - // NOTE: the only difference between Generator/AsyncGenerator - // versions of this is the async keyword -- keep them - // in sync... - async function*(){ - try{ - yield* func.call(this, ...arguments) - } catch(err){ - if(err === STOP){ - return - } else if(err instanceof STOP){ - yield err.value - return } - throw err } } - : function(){ - try{ - return func.call(this, ...arguments) - } catch(err){ - if(err === STOP){ - return - } else if(err instanceof STOP){ - return err.value } - throw err } }, - { toString: function(){ - return func.toString() }, }) } - - //--------------------------------------------------------------------- // generic generator wrapper... diff --git a/package-lock.json b/package-lock.json index 49eaf8d..0523651 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,16 @@ { "name": "ig-types", - "version": "6.13.1", + "version": "6.15.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ig-types", - "version": "6.13.1", + "version": "6.15.6", "license": "BSD-3-Clause", "dependencies": { - "ig-object": "^5.4.16", + "ig-object": "^6.0.0", + "ig-stoppable": "^2.0.0", "object-run": "^1.0.1" }, "devDependencies": { @@ -34,24 +35,24 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.8.tgz", + "integrity": "sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", - "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", + "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", @@ -335,10 +336,24 @@ "ig-object": "^5.2.6" } }, - "node_modules/ig-object": { + "node_modules/ig-argv/node_modules/ig-object": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/ig-object/-/ig-object-5.6.0.tgz", - "integrity": "sha512-5MAUWSwfHKQNrgLroXxBHjlhrhVbhzlVqvUcfMDjUeK/ufWQ9THE0HDcvhfu+YrPfRjTR2QpD2Ygp+2H4O0C6g==" + "integrity": "sha512-5MAUWSwfHKQNrgLroXxBHjlhrhVbhzlVqvUcfMDjUeK/ufWQ9THE0HDcvhfu+YrPfRjTR2QpD2Ygp+2H4O0C6g==", + "dev": true + }, + "node_modules/ig-object": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ig-object/-/ig-object-6.0.1.tgz", + "integrity": "sha512-6Wba9Y+6w55L7O92mNK1pVVWvTWJLD/MdiJr2fc6u6DfD5CGxvYNxl/gg2U0Ppbnj8ArBDowsg9/yNrQR+n8vg==", + "dependencies": { + "ig-stoppable": "^2.0.0" + } + }, + "node_modules/ig-stoppable": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ig-stoppable/-/ig-stoppable-2.0.0.tgz", + "integrity": "sha512-UfIQZI6kAPUbroocVRrgtH7cTulg8kfUoHo7EMvhiEjtzWvHDlzTotCRSeDmMtT1WyKn/1o7o3dwc9D5DNcvNA==" }, "node_modules/ig-test": { "version": "1.5.4", @@ -355,6 +370,12 @@ "runtests": "test.js" } }, + "node_modules/ig-test/node_modules/ig-object": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/ig-object/-/ig-object-5.6.0.tgz", + "integrity": "sha512-5MAUWSwfHKQNrgLroXxBHjlhrhVbhzlVqvUcfMDjUeK/ufWQ9THE0HDcvhfu+YrPfRjTR2QpD2Ygp+2H4O0C6g==", + "dev": true + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -544,7 +565,7 @@ "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, "engines": { "node": ">=0.10.0" @@ -610,7 +631,7 @@ "node_modules/simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", "dev": true, "dependencies": { "is-arrayish": "^0.3.1" @@ -669,12 +690,12 @@ } }, "node_modules/v8-to-istanbul": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.0.tgz", - "integrity": "sha512-HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.7", + "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0" }, @@ -717,7 +738,7 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, "node_modules/y18n": { @@ -783,21 +804,21 @@ "dev": true }, "@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.8.tgz", + "integrity": "sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w==", "dev": true }, "@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", - "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", + "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.0.3", @@ -1033,12 +1054,28 @@ "dev": true, "requires": { "ig-object": "^5.2.6" + }, + "dependencies": { + "ig-object": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/ig-object/-/ig-object-5.6.0.tgz", + "integrity": "sha512-5MAUWSwfHKQNrgLroXxBHjlhrhVbhzlVqvUcfMDjUeK/ufWQ9THE0HDcvhfu+YrPfRjTR2QpD2Ygp+2H4O0C6g==", + "dev": true + } } }, "ig-object": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/ig-object/-/ig-object-5.6.0.tgz", - "integrity": "sha512-5MAUWSwfHKQNrgLroXxBHjlhrhVbhzlVqvUcfMDjUeK/ufWQ9THE0HDcvhfu+YrPfRjTR2QpD2Ygp+2H4O0C6g==" + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ig-object/-/ig-object-6.0.1.tgz", + "integrity": "sha512-6Wba9Y+6w55L7O92mNK1pVVWvTWJLD/MdiJr2fc6u6DfD5CGxvYNxl/gg2U0Ppbnj8ArBDowsg9/yNrQR+n8vg==", + "requires": { + "ig-stoppable": "^2.0.0" + } + }, + "ig-stoppable": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ig-stoppable/-/ig-stoppable-2.0.0.tgz", + "integrity": "sha512-UfIQZI6kAPUbroocVRrgtH7cTulg8kfUoHo7EMvhiEjtzWvHDlzTotCRSeDmMtT1WyKn/1o7o3dwc9D5DNcvNA==" }, "ig-test": { "version": "1.5.4", @@ -1050,6 +1087,14 @@ "glob": "^7.1.6", "ig-argv": "^2.16.3", "ig-object": "^5.4.16" + }, + "dependencies": { + "ig-object": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/ig-object/-/ig-object-5.6.0.tgz", + "integrity": "sha512-5MAUWSwfHKQNrgLroXxBHjlhrhVbhzlVqvUcfMDjUeK/ufWQ9THE0HDcvhfu+YrPfRjTR2QpD2Ygp+2H4O0C6g==", + "dev": true + } } }, "inflight": { @@ -1193,7 +1238,7 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, "rimraf": { @@ -1241,7 +1286,7 @@ "simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", "dev": true, "requires": { "is-arrayish": "^0.3.1" @@ -1288,12 +1333,12 @@ } }, "v8-to-istanbul": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.0.tgz", - "integrity": "sha512-HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.7", + "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0" } @@ -1321,7 +1366,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, "y18n": { diff --git a/package.json b/package.json index 6a9146a..2cbe382 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ }, "homepage": "https://github.com/flynx/types.js#readme", "dependencies": { - "ig-object": "^5.4.16", + "ig-object": "^6.0.0", + "ig-stoppable": "^2.0.0", "object-run": "^1.0.1" }, "devDependencies": {