mirror of
https://github.com/hanzoai/core-js.git
synced 2026-09-24 16:58:15 +00:00
backport Iterator.prototype.join
This commit is contained in:
@@ -2636,6 +2636,8 @@ export const data = {
|
||||
},
|
||||
'esnext.iterator.indexed': {
|
||||
},
|
||||
'esnext.iterator.join': {
|
||||
},
|
||||
// TODO: Remove from `core-js@4`
|
||||
'esnext.iterator.map': null,
|
||||
'esnext.iterator.range': {
|
||||
|
||||
@@ -327,5 +327,6 @@ export default {
|
||||
'es.iterator.zip',
|
||||
'es.iterator.zip-keyed',
|
||||
'esnext.iterator.includes',
|
||||
'esnext.iterator.join',
|
||||
],
|
||||
};
|
||||
|
||||
@@ -3,6 +3,7 @@ var parent = require('../../stable/iterator/concat');
|
||||
require('../../modules/esnext.iterator.chunks');
|
||||
require('../../modules/esnext.iterator.concat');
|
||||
require('../../modules/esnext.iterator.includes');
|
||||
require('../../modules/esnext.iterator.join');
|
||||
require('../../modules/esnext.iterator.windows');
|
||||
|
||||
module.exports = parent;
|
||||
|
||||
@@ -12,6 +12,7 @@ require('../../modules/esnext.iterator.flat-map');
|
||||
require('../../modules/esnext.iterator.for-each');
|
||||
require('../../modules/esnext.iterator.from');
|
||||
require('../../modules/esnext.iterator.includes');
|
||||
require('../../modules/esnext.iterator.join');
|
||||
require('../../modules/esnext.iterator.map');
|
||||
require('../../modules/esnext.iterator.reduce');
|
||||
require('../../modules/esnext.iterator.some');
|
||||
|
||||
@@ -14,6 +14,7 @@ require('../../modules/esnext.iterator.flat-map');
|
||||
require('../../modules/esnext.iterator.for-each');
|
||||
require('../../modules/esnext.iterator.from');
|
||||
require('../../modules/esnext.iterator.includes');
|
||||
require('../../modules/esnext.iterator.join');
|
||||
require('../../modules/esnext.iterator.map');
|
||||
require('../../modules/esnext.iterator.reduce');
|
||||
require('../../modules/esnext.iterator.some');
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
'use strict';
|
||||
require('../../modules/es.object.to-string');
|
||||
require('../../modules/es.iterator.constructor');
|
||||
require('../../modules/esnext.iterator.join');
|
||||
|
||||
var entryUnbind = require('../../internals/entry-unbind');
|
||||
|
||||
module.exports = entryUnbind('Iterator', 'join');
|
||||
@@ -2,6 +2,7 @@
|
||||
var parent = require('../../stable/iterator/zip');
|
||||
require('../../modules/esnext.iterator.chunks');
|
||||
require('../../modules/esnext.iterator.includes');
|
||||
require('../../modules/esnext.iterator.join');
|
||||
require('../../modules/esnext.iterator.windows');
|
||||
require('../../modules/esnext.iterator.zip-keyed');
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
var parent = require('../../stable/iterator/zip');
|
||||
require('../../modules/esnext.iterator.chunks');
|
||||
require('../../modules/esnext.iterator.includes');
|
||||
require('../../modules/esnext.iterator.join');
|
||||
require('../../modules/esnext.iterator.windows');
|
||||
require('../../modules/esnext.iterator.zip');
|
||||
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
'use strict';
|
||||
var parent = require('../../actual/iterator/join');
|
||||
|
||||
module.exports = parent;
|
||||
@@ -18,6 +18,7 @@ require('../../modules/es.iterator.to-array');
|
||||
require('../../modules/esnext.iterator.constructor');
|
||||
require('../../modules/esnext.iterator.chunks');
|
||||
require('../../modules/esnext.iterator.includes');
|
||||
require('../../modules/esnext.iterator.join');
|
||||
require('../../modules/esnext.iterator.range');
|
||||
require('../../modules/esnext.iterator.sliding');
|
||||
require('../../modules/esnext.iterator.windows');
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
'use strict';
|
||||
var $ = require('../internals/export');
|
||||
var $toString = require('../internals/to-string');
|
||||
var anObject = require('../internals/an-object');
|
||||
var isNullOrUndefined = require('../internals/is-null-or-undefined');
|
||||
var iterate = require('../internals/iterate');
|
||||
var iteratorClose = require('../internals/iterator-close');
|
||||
var uncurryThis = require('../internals/function-uncurry-this');
|
||||
var IS_PURE = require('../internals/is-pure');
|
||||
|
||||
var $join = uncurryThis([].join);
|
||||
var push = uncurryThis([].push);
|
||||
|
||||
// `Iterator.prototype.join` method
|
||||
// https://github.com/tc39/proposal-iterator-join
|
||||
$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, {
|
||||
join: function join(separator) {
|
||||
anObject(this);
|
||||
var sep;
|
||||
try {
|
||||
sep = separator === undefined ? ',' : $toString(separator);
|
||||
} catch (error) {
|
||||
iteratorClose(this, 'throw', error);
|
||||
}
|
||||
var result = [];
|
||||
iterate(this, function (value) {
|
||||
push(result, isNullOrUndefined(value) ? '' : $toString(value));
|
||||
}, { IS_ITERATOR: true });
|
||||
return $join(result, sep);
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,3 @@
|
||||
'use strict';
|
||||
// https://github.com/tc39/proposal-iterator-join
|
||||
require('../modules/esnext.iterator.join');
|
||||
@@ -3,6 +3,7 @@ var parent = require('./4');
|
||||
|
||||
require('../proposals/decorator-metadata-v2');
|
||||
require('../proposals/iterator-includes');
|
||||
require('../proposals/iterator-join');
|
||||
require('../proposals/joint-iteration');
|
||||
// TODO: Obsolete versions, remove from `core-js@4`
|
||||
require('../proposals/array-grouping-stage-3');
|
||||
|
||||
Reference in New Issue
Block a user