mirror of
https://github.com/S2-/minifyfromhtml.git
synced 2025-08-03 20:30:04 +02:00
add some packages
This commit is contained in:
85
node_modules/core-js/modules/_collection-weak.js
generated
vendored
Normal file
85
node_modules/core-js/modules/_collection-weak.js
generated
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
'use strict';
|
||||
var redefineAll = require('./_redefine-all');
|
||||
var getWeak = require('./_meta').getWeak;
|
||||
var anObject = require('./_an-object');
|
||||
var isObject = require('./_is-object');
|
||||
var anInstance = require('./_an-instance');
|
||||
var forOf = require('./_for-of');
|
||||
var createArrayMethod = require('./_array-methods');
|
||||
var $has = require('./_has');
|
||||
var validate = require('./_validate-collection');
|
||||
var arrayFind = createArrayMethod(5);
|
||||
var arrayFindIndex = createArrayMethod(6);
|
||||
var id = 0;
|
||||
|
||||
// fallback for uncaught frozen keys
|
||||
var uncaughtFrozenStore = function (that) {
|
||||
return that._l || (that._l = new UncaughtFrozenStore());
|
||||
};
|
||||
var UncaughtFrozenStore = function () {
|
||||
this.a = [];
|
||||
};
|
||||
var findUncaughtFrozen = function (store, key) {
|
||||
return arrayFind(store.a, function (it) {
|
||||
return it[0] === key;
|
||||
});
|
||||
};
|
||||
UncaughtFrozenStore.prototype = {
|
||||
get: function (key) {
|
||||
var entry = findUncaughtFrozen(this, key);
|
||||
if (entry) return entry[1];
|
||||
},
|
||||
has: function (key) {
|
||||
return !!findUncaughtFrozen(this, key);
|
||||
},
|
||||
set: function (key, value) {
|
||||
var entry = findUncaughtFrozen(this, key);
|
||||
if (entry) entry[1] = value;
|
||||
else this.a.push([key, value]);
|
||||
},
|
||||
'delete': function (key) {
|
||||
var index = arrayFindIndex(this.a, function (it) {
|
||||
return it[0] === key;
|
||||
});
|
||||
if (~index) this.a.splice(index, 1);
|
||||
return !!~index;
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
|
||||
var C = wrapper(function (that, iterable) {
|
||||
anInstance(that, C, NAME, '_i');
|
||||
that._t = NAME; // collection type
|
||||
that._i = id++; // collection id
|
||||
that._l = undefined; // leak store for uncaught frozen objects
|
||||
if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
|
||||
});
|
||||
redefineAll(C.prototype, {
|
||||
// 23.3.3.2 WeakMap.prototype.delete(key)
|
||||
// 23.4.3.3 WeakSet.prototype.delete(value)
|
||||
'delete': function (key) {
|
||||
if (!isObject(key)) return false;
|
||||
var data = getWeak(key);
|
||||
if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);
|
||||
return data && $has(data, this._i) && delete data[this._i];
|
||||
},
|
||||
// 23.3.3.4 WeakMap.prototype.has(key)
|
||||
// 23.4.3.4 WeakSet.prototype.has(value)
|
||||
has: function has(key) {
|
||||
if (!isObject(key)) return false;
|
||||
var data = getWeak(key);
|
||||
if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);
|
||||
return data && $has(data, this._i);
|
||||
}
|
||||
});
|
||||
return C;
|
||||
},
|
||||
def: function (that, key, value) {
|
||||
var data = getWeak(anObject(key), true);
|
||||
if (data === true) uncaughtFrozenStore(that).set(key, value);
|
||||
else data[that._i] = value;
|
||||
return that;
|
||||
},
|
||||
ufstore: uncaughtFrozenStore
|
||||
};
|
Reference in New Issue
Block a user