mirror of
https://github.com/flynx/types.js.git
synced 2025-12-19 09:51:40 +00:00
added .join(..) got generators and promise generators...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
cc9824c9a9
commit
289978e274
@ -464,6 +464,11 @@ object.Constructor('IterablePromise', Promise, {
|
||||
every: promiseProxy('every'),
|
||||
|
||||
|
||||
join: async function(){
|
||||
return [...(await this)]
|
||||
.join(...arguments) },
|
||||
|
||||
|
||||
// this is defined globally as Promise.prototype.iter(..)
|
||||
//
|
||||
// for details see: PromiseMixin(..) below...
|
||||
|
||||
26
generator.js
26
generator.js
@ -232,7 +232,7 @@ object.Mixin('GeneratorMixin', 'soft', {
|
||||
return that(...arguments).toArray() },
|
||||
{ toString: function(){
|
||||
return that.toString()
|
||||
+ '\n .toString()'}, }) },
|
||||
+ '\n .toArray()'}, }) },
|
||||
gpop: makeGenerator('gpop'),
|
||||
pop: function(){
|
||||
var that = this
|
||||
@ -242,7 +242,7 @@ object.Mixin('GeneratorMixin', 'soft', {
|
||||
return that(...arguments).pop() },
|
||||
{ toString: function(){
|
||||
return that.toString()
|
||||
+ '\n .gpop()'}, }) },
|
||||
+ '\n .pop()'}, }) },
|
||||
push: makeGenerator('push'),
|
||||
gshift: makeGenerator('gshift'),
|
||||
shift: function(){
|
||||
@ -253,7 +253,7 @@ object.Mixin('GeneratorMixin', 'soft', {
|
||||
return that(...arguments).shift() },
|
||||
{ toString: function(){
|
||||
return that.toString()
|
||||
+ '\n .gshift()'}, }) },
|
||||
+ '\n .shift()'}, }) },
|
||||
unshift: makeGenerator('unshift'),
|
||||
|
||||
// promises...
|
||||
@ -277,6 +277,18 @@ object.Mixin('GeneratorMixin', 'soft', {
|
||||
//zip: makeGenerator('zip'),
|
||||
|
||||
enumerate: makeGenerator('enumerate'),
|
||||
|
||||
// XXX should this have a .gjoin(..) companion...
|
||||
join: function(){
|
||||
var args = [...arguments]
|
||||
var that = this
|
||||
return Object.assign(
|
||||
function(){
|
||||
//return that(...arguments).toArray().shift() },
|
||||
return that(...arguments).join(...args) },
|
||||
{ toString: function(){
|
||||
return that.toString()
|
||||
+ '\n .join()'}, }) },
|
||||
})
|
||||
|
||||
|
||||
@ -449,6 +461,10 @@ object.Mixin('GeneratorProtoMixin', 'soft', {
|
||||
var i = 0
|
||||
for(var e of this){
|
||||
yield [i++, e] } },
|
||||
|
||||
join: function(){
|
||||
return [...this]
|
||||
.join(...arguments) },
|
||||
})
|
||||
|
||||
|
||||
@ -554,6 +570,10 @@ object.Mixin('AsyncGeneratorProtoMixin', 'soft', {
|
||||
yield elem
|
||||
yield* this },
|
||||
|
||||
join: async function(){
|
||||
return [...(await this)]
|
||||
.join(...arguments) },
|
||||
|
||||
// XXX
|
||||
// slice -- not sure if we need this...
|
||||
// ...
|
||||
|
||||
52
package-lock.json
generated
52
package-lock.json
generated
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "ig-types",
|
||||
"version": "6.15.6",
|
||||
"version": "6.15.7",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "ig-types",
|
||||
"version": "6.15.6",
|
||||
"version": "6.15.7",
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"ig-object": "^6.0.0",
|
||||
@ -35,9 +35,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@jridgewell/resolve-uri": {
|
||||
"version": "3.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.8.tgz",
|
||||
"integrity": "sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w==",
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
|
||||
"integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
@ -124,9 +124,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/c8": {
|
||||
"version": "7.11.3",
|
||||
"resolved": "https://registry.npmjs.org/c8/-/c8-7.11.3.tgz",
|
||||
"integrity": "sha512-6YBmsaNmqRm9OS3ZbIiL2EZgi1+Xc4O24jL3vMYGE6idixYuGdy76rIfIdltSKDj9DpLNrcXSonUTR1miBD0wA==",
|
||||
"version": "7.12.0",
|
||||
"resolved": "https://registry.npmjs.org/c8/-/c8-7.12.0.tgz",
|
||||
"integrity": "sha512-CtgQrHOkyxr5koX1wEUmN/5cfDa2ckbHRA4Gy5LAL0zaCFtVWJS5++n+w4/sr2GWGerBxgTjpKeDclk/Qk6W/A==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@bcoe/v8-coverage": "^0.2.3",
|
||||
@ -351,9 +351,9 @@
|
||||
}
|
||||
},
|
||||
"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=="
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ig-stoppable/-/ig-stoppable-2.0.1.tgz",
|
||||
"integrity": "sha512-vos7eFNHryIg6yNzrWTV1QP1Sja5JkMU3nL2Y/YvSgU74l7w1Rx6yfVKoEHwNOex4MCkLsq6wMa91Ac6IWOtIA=="
|
||||
},
|
||||
"node_modules/ig-test": {
|
||||
"version": "1.5.4",
|
||||
@ -437,9 +437,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/istanbul-reports": {
|
||||
"version": "3.1.4",
|
||||
"resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz",
|
||||
"integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==",
|
||||
"version": "3.1.5",
|
||||
"resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz",
|
||||
"integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"html-escaper": "^2.0.0",
|
||||
@ -804,9 +804,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"@jridgewell/resolve-uri": {
|
||||
"version": "3.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.8.tgz",
|
||||
"integrity": "sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w==",
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
|
||||
"integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
|
||||
"dev": true
|
||||
},
|
||||
"@jridgewell/sourcemap-codec": {
|
||||
@ -880,9 +880,9 @@
|
||||
}
|
||||
},
|
||||
"c8": {
|
||||
"version": "7.11.3",
|
||||
"resolved": "https://registry.npmjs.org/c8/-/c8-7.11.3.tgz",
|
||||
"integrity": "sha512-6YBmsaNmqRm9OS3ZbIiL2EZgi1+Xc4O24jL3vMYGE6idixYuGdy76rIfIdltSKDj9DpLNrcXSonUTR1miBD0wA==",
|
||||
"version": "7.12.0",
|
||||
"resolved": "https://registry.npmjs.org/c8/-/c8-7.12.0.tgz",
|
||||
"integrity": "sha512-CtgQrHOkyxr5koX1wEUmN/5cfDa2ckbHRA4Gy5LAL0zaCFtVWJS5++n+w4/sr2GWGerBxgTjpKeDclk/Qk6W/A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@bcoe/v8-coverage": "^0.2.3",
|
||||
@ -1073,9 +1073,9 @@
|
||||
}
|
||||
},
|
||||
"ig-stoppable": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ig-stoppable/-/ig-stoppable-2.0.0.tgz",
|
||||
"integrity": "sha512-UfIQZI6kAPUbroocVRrgtH7cTulg8kfUoHo7EMvhiEjtzWvHDlzTotCRSeDmMtT1WyKn/1o7o3dwc9D5DNcvNA=="
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ig-stoppable/-/ig-stoppable-2.0.1.tgz",
|
||||
"integrity": "sha512-vos7eFNHryIg6yNzrWTV1QP1Sja5JkMU3nL2Y/YvSgU74l7w1Rx6yfVKoEHwNOex4MCkLsq6wMa91Ac6IWOtIA=="
|
||||
},
|
||||
"ig-test": {
|
||||
"version": "1.5.4",
|
||||
@ -1149,9 +1149,9 @@
|
||||
}
|
||||
},
|
||||
"istanbul-reports": {
|
||||
"version": "3.1.4",
|
||||
"resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz",
|
||||
"integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==",
|
||||
"version": "3.1.5",
|
||||
"resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz",
|
||||
"integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"html-escaper": "^2.0.0",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ig-types",
|
||||
"version": "6.15.7",
|
||||
"version": "6.16.0",
|
||||
"description": "Generic JavaScript types and type extensions...",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user