Configring node js.
This commit is contained in:
227
node_modules/core-js/library/modules/es6.symbol.js
generated
vendored
Normal file
227
node_modules/core-js/library/modules/es6.symbol.js
generated
vendored
Normal file
@@ -0,0 +1,227 @@
|
||||
'use strict';
|
||||
// ECMAScript 6 symbols shim
|
||||
var global = require('./_global')
|
||||
, has = require('./_has')
|
||||
, DESCRIPTORS = require('./_descriptors')
|
||||
, $export = require('./_export')
|
||||
, redefine = require('./_redefine')
|
||||
, META = require('./_meta').KEY
|
||||
, $fails = require('./_fails')
|
||||
, shared = require('./_shared')
|
||||
, setToStringTag = require('./_set-to-string-tag')
|
||||
, uid = require('./_uid')
|
||||
, wks = require('./_wks')
|
||||
, wksExt = require('./_wks-ext')
|
||||
, wksDefine = require('./_wks-define')
|
||||
, keyOf = require('./_keyof')
|
||||
, enumKeys = require('./_enum-keys')
|
||||
, isArray = require('./_is-array')
|
||||
, anObject = require('./_an-object')
|
||||
, toIObject = require('./_to-iobject')
|
||||
, toPrimitive = require('./_to-primitive')
|
||||
, createDesc = require('./_property-desc')
|
||||
, _create = require('./_object-create')
|
||||
, gOPNExt = require('./_object-gopn-ext')
|
||||
, $GOPD = require('./_object-gopd')
|
||||
, $DP = require('./_object-dp')
|
||||
, $keys = require('./_object-keys')
|
||||
, gOPD = $GOPD.f
|
||||
, dP = $DP.f
|
||||
, gOPN = gOPNExt.f
|
||||
, $Symbol = global.Symbol
|
||||
, $JSON = global.JSON
|
||||
, _stringify = $JSON && $JSON.stringify
|
||||
, PROTOTYPE = 'prototype'
|
||||
, HIDDEN = wks('_hidden')
|
||||
, TO_PRIMITIVE = wks('toPrimitive')
|
||||
, isEnum = {}.propertyIsEnumerable
|
||||
, SymbolRegistry = shared('symbol-registry')
|
||||
, AllSymbols = shared('symbols')
|
||||
, ObjectProto = Object[PROTOTYPE]
|
||||
, USE_NATIVE = typeof $Symbol == 'function'
|
||||
, QObject = global.QObject;
|
||||
// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
|
||||
var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
|
||||
|
||||
// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
|
||||
var setSymbolDesc = DESCRIPTORS && $fails(function(){
|
||||
return _create(dP({}, 'a', {
|
||||
get: function(){ return dP(this, 'a', {value: 7}).a; }
|
||||
})).a != 7;
|
||||
}) ? function(it, key, D){
|
||||
var protoDesc = gOPD(ObjectProto, key);
|
||||
if(protoDesc)delete ObjectProto[key];
|
||||
dP(it, key, D);
|
||||
if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);
|
||||
} : dP;
|
||||
|
||||
var wrap = function(tag){
|
||||
var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
|
||||
sym._k = tag;
|
||||
return sym;
|
||||
};
|
||||
|
||||
var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){
|
||||
return typeof it == 'symbol';
|
||||
} : function(it){
|
||||
return it instanceof $Symbol;
|
||||
};
|
||||
|
||||
var $defineProperty = function defineProperty(it, key, D){
|
||||
anObject(it);
|
||||
key = toPrimitive(key, true);
|
||||
anObject(D);
|
||||
if(has(AllSymbols, key)){
|
||||
if(!D.enumerable){
|
||||
if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));
|
||||
it[HIDDEN][key] = true;
|
||||
} else {
|
||||
if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;
|
||||
D = _create(D, {enumerable: createDesc(0, false)});
|
||||
} return setSymbolDesc(it, key, D);
|
||||
} return dP(it, key, D);
|
||||
};
|
||||
var $defineProperties = function defineProperties(it, P){
|
||||
anObject(it);
|
||||
var keys = enumKeys(P = toIObject(P))
|
||||
, i = 0
|
||||
, l = keys.length
|
||||
, key;
|
||||
while(l > i)$defineProperty(it, key = keys[i++], P[key]);
|
||||
return it;
|
||||
};
|
||||
var $create = function create(it, P){
|
||||
return P === undefined ? _create(it) : $defineProperties(_create(it), P);
|
||||
};
|
||||
var $propertyIsEnumerable = function propertyIsEnumerable(key){
|
||||
var E = isEnum.call(this, key = toPrimitive(key, true));
|
||||
return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
|
||||
};
|
||||
var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){
|
||||
var D = gOPD(it = toIObject(it), key = toPrimitive(key, true));
|
||||
if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;
|
||||
return D;
|
||||
};
|
||||
var $getOwnPropertyNames = function getOwnPropertyNames(it){
|
||||
var names = gOPN(toIObject(it))
|
||||
, result = []
|
||||
, i = 0
|
||||
, key;
|
||||
while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);
|
||||
return result;
|
||||
};
|
||||
var $getOwnPropertySymbols = function getOwnPropertySymbols(it){
|
||||
var names = gOPN(toIObject(it))
|
||||
, result = []
|
||||
, i = 0
|
||||
, key;
|
||||
while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]);
|
||||
return result;
|
||||
};
|
||||
|
||||
// 19.4.1.1 Symbol([description])
|
||||
if(!USE_NATIVE){
|
||||
$Symbol = function Symbol(){
|
||||
if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');
|
||||
var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
|
||||
DESCRIPTORS && setter && setSymbolDesc(ObjectProto, tag, {
|
||||
configurable: true,
|
||||
set: function(value){
|
||||
if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;
|
||||
setSymbolDesc(this, tag, createDesc(1, value));
|
||||
}
|
||||
});
|
||||
return wrap(tag);
|
||||
};
|
||||
redefine($Symbol[PROTOTYPE], 'toString', function toString(){
|
||||
return this._k;
|
||||
});
|
||||
|
||||
$GOPD.f = $getOwnPropertyDescriptor;
|
||||
$DP.f = $defineProperty;
|
||||
require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;
|
||||
require('./_object-pie').f = $propertyIsEnumerable;
|
||||
require('./_object-gops').f = $getOwnPropertySymbols;
|
||||
|
||||
if(DESCRIPTORS && !require('./_library')){
|
||||
redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
|
||||
}
|
||||
|
||||
wksExt.f = function(name){
|
||||
return wrap(wks(name));
|
||||
}
|
||||
}
|
||||
|
||||
$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});
|
||||
|
||||
for(var symbols = (
|
||||
// 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
|
||||
'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'
|
||||
).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);
|
||||
|
||||
for(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);
|
||||
|
||||
$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
|
||||
// 19.4.2.1 Symbol.for(key)
|
||||
'for': function(key){
|
||||
return has(SymbolRegistry, key += '')
|
||||
? SymbolRegistry[key]
|
||||
: SymbolRegistry[key] = $Symbol(key);
|
||||
},
|
||||
// 19.4.2.5 Symbol.keyFor(sym)
|
||||
keyFor: function keyFor(key){
|
||||
if(isSymbol(key))return keyOf(SymbolRegistry, key);
|
||||
throw TypeError(key + ' is not a symbol!');
|
||||
},
|
||||
useSetter: function(){ setter = true; },
|
||||
useSimple: function(){ setter = false; }
|
||||
});
|
||||
|
||||
$export($export.S + $export.F * !USE_NATIVE, 'Object', {
|
||||
// 19.1.2.2 Object.create(O [, Properties])
|
||||
create: $create,
|
||||
// 19.1.2.4 Object.defineProperty(O, P, Attributes)
|
||||
defineProperty: $defineProperty,
|
||||
// 19.1.2.3 Object.defineProperties(O, Properties)
|
||||
defineProperties: $defineProperties,
|
||||
// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
|
||||
getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
|
||||
// 19.1.2.7 Object.getOwnPropertyNames(O)
|
||||
getOwnPropertyNames: $getOwnPropertyNames,
|
||||
// 19.1.2.8 Object.getOwnPropertySymbols(O)
|
||||
getOwnPropertySymbols: $getOwnPropertySymbols
|
||||
});
|
||||
|
||||
// 24.3.2 JSON.stringify(value [, replacer [, space]])
|
||||
$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){
|
||||
var S = $Symbol();
|
||||
// MS Edge converts symbol values to JSON as {}
|
||||
// WebKit converts symbol values to JSON as null
|
||||
// V8 throws on boxed symbols
|
||||
return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';
|
||||
})), 'JSON', {
|
||||
stringify: function stringify(it){
|
||||
if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined
|
||||
var args = [it]
|
||||
, i = 1
|
||||
, replacer, $replacer;
|
||||
while(arguments.length > i)args.push(arguments[i++]);
|
||||
replacer = args[1];
|
||||
if(typeof replacer == 'function')$replacer = replacer;
|
||||
if($replacer || !isArray(replacer))replacer = function(key, value){
|
||||
if($replacer)value = $replacer.call(this, key, value);
|
||||
if(!isSymbol(value))return value;
|
||||
};
|
||||
args[1] = replacer;
|
||||
return _stringify.apply($JSON, args);
|
||||
}
|
||||
});
|
||||
|
||||
// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
|
||||
$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
|
||||
// 19.4.3.5 Symbol.prototype[@@toStringTag]
|
||||
setToStringTag($Symbol, 'Symbol');
|
||||
// 20.2.1.9 Math[@@toStringTag]
|
||||
setToStringTag(Math, 'Math', true);
|
||||
// 24.3.3 JSON[@@toStringTag]
|
||||
setToStringTag(global.JSON, 'JSON', true);
|
||||
Reference in New Issue
Block a user