es6-map
Advanced tools
Comparing version 0.0.0 to 0.0.1
'use strict'; | ||
var setPrototypeOf = require('es5-ext/object/set-prototype-of') | ||
, primitiveSet = require('es5-ext/object/primitive-set') | ||
, d = require('d/d') | ||
, Iterator = require('es6-iterator') | ||
var setPrototypeOf = require('es5-ext/object/set-prototype-of') | ||
, d = require('d') | ||
, Iterator = require('es6-iterator') | ||
, toStringTagSymbol = require('es6-symbol').toStringTag | ||
, kinds = require('./_iterator-kinds') | ||
, defineProperties = Object.defineProperties | ||
, kinds = primitiveSet('key', 'value', 'key+value') | ||
, unBind = Iterator.prototype._unBind | ||
@@ -37,1 +37,3 @@ , MapIterator; | ||
}); | ||
Object.defineProperty(MapIterator.prototype, toStringTagSymbol, | ||
d('c', 'Map Iterator')); |
@@ -6,3 +6,8 @@ 'use strict'; | ||
if (typeof Map !== 'function') return false; | ||
map = new Map([['raz', 'one'], ['dwa', 'two'], ['trzy', 'three']]); | ||
try { | ||
// WebKit doesn't support arguments and crashes | ||
map = new Map([['raz', 'one'], ['dwa', 'two'], ['trzy', 'three']]); | ||
} catch (e) { | ||
return false; | ||
} | ||
if (map.size !== 3) return false; | ||
@@ -9,0 +14,0 @@ if (typeof map.clear !== 'function') return false; |
'use strict'; | ||
var toString = Object.prototype.toString | ||
var toStringTagSymbol = require('es6-symbol').toStringTag | ||
, toString = Object.prototype.toString | ||
, id = '[object Map]' | ||
@@ -10,3 +11,3 @@ , Global = (typeof Map === 'undefined') ? null : Map; | ||
return (x && ((Global && (x instanceof Global)) || | ||
(toString.call(x) === id) || (x['@@toStringTag'] === 'Map'))) || false; | ||
(toString.call(x) === id) || (x[toStringTagSymbol] === 'Map'))) || false; | ||
}; |
{ | ||
"name": "es6-map", | ||
"version": "0.0.0", | ||
"version": "0.0.1", | ||
"description": "ECMAScript6 Map polyfill", | ||
@@ -25,12 +25,13 @@ "author": "Mariusz Nowak <medyk@medikoo.com> (http://www.medikoo.com/)", | ||
"dependencies": { | ||
"d": "git://github.com/medikoo/d.git", | ||
"es5-ext": "git://github.com/medikoo/es5-ext.git", | ||
"d": "~0.1.1", | ||
"es5-ext": "~0.10.2", | ||
"es6-iterator": "git://github.com/medikoo/es6-iterator.git", | ||
"es6-set": "git://github.com/medikoo/es6-set.git", | ||
"event-emitter": "git://github.com/medikoo/event-emitter.git" | ||
"es6-symbol": "git://github.com/medikoo/es6-symbol.git", | ||
"event-emitter": "~0.3.1" | ||
}, | ||
"devDependencies": { | ||
"tad": "~0.1.20" | ||
"tad": "~0.1.21" | ||
}, | ||
"license": "MIT" | ||
} |
'use strict'; | ||
var clear = require('es5-ext/array/#/clear') | ||
, eIndexOf = require('es5-ext/array/#/e-index-of') | ||
, setPrototypeOf = require('es5-ext/object/set-prototype-of') | ||
, callable = require('es5-ext/object/valid-callable') | ||
, validValue = require('es5-ext/object/valid-value') | ||
, d = require('d/d') | ||
, ee = require('event-emitter/lib/core') | ||
, d = require('d') | ||
, ee = require('event-emitter') | ||
, Symbol = require('es6-symbol') | ||
, iterator = require('es6-iterator/valid-iterable') | ||
, forOf = require('es6-iterator/for-of') | ||
, getSetData = require('es6-set/_get-set-data') | ||
, Iterator = require('./_iterator') | ||
@@ -18,5 +19,5 @@ , isNative = require('./is-native-implemented') | ||
module.exports = MapPoly = function (/*iterable, comparator*/) { | ||
var iterable = arguments[0], comparator = arguments[1], keys, values; | ||
if (!(this instanceof MapPoly)) return new MapPoly(iterable, comparator); | ||
module.exports = MapPoly = function (/*iterable*/) { | ||
var iterable = arguments[0], keys, values; | ||
if (!(this instanceof MapPoly)) return new MapPoly(iterable); | ||
if (this.__mapKeysData__ !== undefined) { | ||
@@ -26,8 +27,5 @@ throw new TypeError(this + " cannot be reinitialized"); | ||
if (iterable != null) iterator(iterable); | ||
if (comparator != null) { | ||
if (comparator !== 'is') throw new RangeError("Unknown comparator"); | ||
} | ||
defineProperties(this, { | ||
__mapKeysData__: d('', keys = getSetData(comparator)), | ||
__mapValuesData__: d('', values = []) | ||
__mapKeysData__: d('c', keys = []), | ||
__mapValuesData__: d('c', values = []) | ||
}); | ||
@@ -38,3 +36,3 @@ if (!iterable) return; | ||
value = value[1]; | ||
if (keys.eIndexOf(key) !== -1) return; | ||
if (eIndexOf.call(keys, key) !== -1) return; | ||
keys.push(key); | ||
@@ -55,3 +53,3 @@ values.push(value); | ||
if (!this.__mapKeysData__.length) return; | ||
this.__mapKeysData__.clear(); | ||
clear.call(this.__mapKeysData__); | ||
clear.call(this.__mapValuesData__); | ||
@@ -61,3 +59,3 @@ this.emit('_clear'); | ||
delete: d(function (key) { | ||
var index = this.__mapKeysData__.eIndexOf(key); | ||
var index = eIndexOf.call(this.__mapKeysData__, key); | ||
if (index === -1) return false; | ||
@@ -74,10 +72,11 @@ this.__mapKeysData__.splice(index, 1); | ||
iterator = this.entries(); | ||
result = iterator.next(); | ||
while (!result.done) { | ||
call.call(cb, thisArg, result.value[1], result.value[0], this); | ||
result = iterator.next(); | ||
result = iterator._next(); | ||
while (result !== undefined) { | ||
call.call(cb, thisArg, this.__mapValuesData__[result], | ||
this.__mapKeysData__[result], this); | ||
result = iterator._next(); | ||
} | ||
}), | ||
get: d(function (key) { | ||
var index = this.__mapKeysData__.eIndexOf(key); | ||
var index = eIndexOf.call(this.__mapKeysData__, key); | ||
if (index === -1) return; | ||
@@ -87,10 +86,13 @@ return this.__mapValuesData__[index]; | ||
has: d(function (key) { | ||
return (this.__mapKeysData__.eIndexOf(key) !== -1); | ||
return (eIndexOf.call(this.__mapKeysData__, key) !== -1); | ||
}), | ||
keys: d(function () { return new Iterator(this, 'key'); }), | ||
set: d(function (key, value) { | ||
var index = this.__mapKeysData__.eIndexOf(key); | ||
if (index === -1) index = this.__mapKeysData__.push(key) - 1; | ||
var index = eIndexOf.call(this.__mapKeysData__, key), emit; | ||
if (index === -1) { | ||
index = this.__mapKeysData__.push(key) - 1; | ||
emit = true; | ||
} | ||
this.__mapValuesData__[index] = value; | ||
this.emit('_add', index, key); | ||
if (emit) this.emit('_add', index, key); | ||
return this; | ||
@@ -100,5 +102,7 @@ }), | ||
values: d(function () { return new Iterator(this, 'value'); }), | ||
'@@iterator': d(function () { return this.entries(); }), | ||
'@@toStringTag': d('c', 'Map'), | ||
toString: d(function () { return '[object Map]'; }) | ||
})); | ||
Object.defineProperty(MapPoly.prototype, Symbol.iterator, d(function () { | ||
return this.entries(); | ||
})); | ||
Object.defineProperty(MapPoly.prototype, Symbol.toStringTag, d('c', 'Map')); |
'use strict'; | ||
var clear = require('es5-ext/array/#/clear') | ||
, assign = require('es5-ext/object/assign') | ||
, setPrototypeOf = require('es5-ext/object/set-prototype-of') | ||
, primitiveSet = require('es5-ext/object/primitive-set') | ||
, d = require('d/d') | ||
, autoBind = require('d/auto-bind') | ||
, Iterator = require('es6-iterator') | ||
var clear = require('es5-ext/array/#/clear') | ||
, assign = require('es5-ext/object/assign') | ||
, setPrototypeOf = require('es5-ext/object/set-prototype-of') | ||
, toStringTagSymbol = require('es6-symbol').toStringTag | ||
, d = require('d') | ||
, autoBind = require('d/auto-bind') | ||
, Iterator = require('es6-iterator') | ||
, kinds = require('../_iterator-kinds') | ||
, defineProperties = Object.defineProperties, keys = Object.keys | ||
, kinds = primitiveSet('key', 'value', 'key+value') | ||
, unBind = Iterator.prototype._unBind | ||
@@ -56,1 +56,3 @@ , PrimitiveMapIterator; | ||
}))); | ||
Object.defineProperty(PrimitiveMapIterator.prototype, toStringTagSymbol, | ||
d('c', 'Map Iterator')); |
@@ -6,3 +6,4 @@ 'use strict'; | ||
, validValue = require('es5-ext/object/valid-value') | ||
, d = require('d/d') | ||
, callable = require('es5-ext/object/valid-callable') | ||
, d = require('d') | ||
, iterator = require('es6-iterator/valid-iterable') | ||
@@ -13,2 +14,4 @@ , forOf = require('es6-iterator/for-of') | ||
, call = Function.prototype.call | ||
, defineProperty = Object.defineProperty | ||
, create = Object.create, defineProperties = Object.defineProperties | ||
@@ -18,5 +21,7 @@ , hasOwnProperty = Object.prototype.hasOwnProperty | ||
module.exports = PrimitiveMap = function (/*iterable*/) { | ||
var iterable = arguments[0]; | ||
if (!(this instanceof PrimitiveMap)) return new PrimitiveMap(iterable); | ||
module.exports = PrimitiveMap = function (/*iterable, serialize*/) { | ||
var iterable = arguments[0], serialize = arguments[1]; | ||
if (!(this instanceof PrimitiveMap)) { | ||
return new PrimitiveMap(iterable, serialize); | ||
} | ||
if (this.__mapData__ !== undefined) { | ||
@@ -26,5 +31,9 @@ throw new TypeError(this + " cannot be reinitialized"); | ||
if (iterable != null) iterator(iterable); | ||
if (serialize !== undefined) { | ||
callable(serialize); | ||
defineProperty(this, '_serialize', d('', serialize)); | ||
} | ||
defineProperties(this, { | ||
__mapKeysData__: d('', create(null)), | ||
__mapValuesData__: d('', create(null)), | ||
__mapKeysData__: d('c', create(null)), | ||
__mapValuesData__: d('c', create(null)), | ||
__size__: d('w', 0) | ||
@@ -72,2 +81,14 @@ }); | ||
entries: d(function () { return new Iterator(this, 'key+value'); }), | ||
forEach: d(function (cb/*, thisArg*/) { | ||
var thisArg = arguments[1], iterator, result, sKey; | ||
callable(cb); | ||
iterator = this.entries(); | ||
result = iterator._next(); | ||
while (result !== undefined) { | ||
sKey = iterator.__list__[result]; | ||
call.call(cb, thisArg, this.__mapValuesData__[sKey], | ||
this.__mapKeysData__[sKey], this); | ||
result = iterator._next(); | ||
} | ||
}), | ||
get: d(function (key) { | ||
@@ -74,0 +95,0 @@ var sKey = this._serialize(key); |
'use strict'; | ||
var Map = require('../../primitive') | ||
, toArray = require('es6-iterator/to-array') | ||
var iteratorSymbol = require('es6-symbol').iterator | ||
, toArray = require('es6-iterator/to-array') | ||
, Map = require('../../primitive') | ||
@@ -30,3 +31,3 @@ , compare, mapToResults; | ||
it = new T(map); | ||
a(it['@@iterator'](), it, "@@iterator"); | ||
a(it[iteratorSymbol](), it, "@@iterator"); | ||
y = it.next(); | ||
@@ -33,0 +34,0 @@ result.push(y); |
Git dependency
Supply chain riskContains a dependency which resolves to a remote git URL. Dependencies fetched from git URLs are not immutable can be used to inject untrusted code or reduce the likelihood of a reproducible install.
Found 1 instance in 1 package
Git dependency
Supply chain riskContains a dependency which resolves to a remote git URL. Dependencies fetched from git URLs are not immutable can be used to inject untrusted code or reduce the likelihood of a reproducible install.
Found 3 instances in 1 package
26036
29
615
3
6
+ Addedd@0.1.11.0.2(transitive)
+ Addedes5-ext@0.10.64(transitive)
+ Addedes6-iterator@2.0.3(transitive)
+ Addedes6-symbol@3.1.4(transitive)
+ Addedesniff@2.0.1(transitive)
+ Addedevent-emitter@0.3.5(transitive)
+ Addedext@1.7.0(transitive)
+ Addednext-tick@1.1.0(transitive)
+ Addedtype@2.7.2(transitive)
Updatedd@~0.1.1
Updatedes5-ext@~0.10.2
Updatedevent-emitter@~0.3.1