Son CV dans un terminal web en Javascript!
https://terminal-cv.gregandev.fr
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.6 KiB
38 lines
1.6 KiB
1 year ago
|
var global = require('../internals/global');
|
||
|
var shared = require('../internals/shared-store');
|
||
|
var isCallable = require('../internals/is-callable');
|
||
|
var create = require('../internals/object-create');
|
||
|
var getPrototypeOf = require('../internals/object-get-prototype-of');
|
||
|
var redefine = require('../internals/redefine');
|
||
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
||
|
var IS_PURE = require('../internals/is-pure');
|
||
|
|
||
|
var USE_FUNCTION_CONSTRUCTOR = 'USE_FUNCTION_CONSTRUCTOR';
|
||
|
var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
|
||
|
var AsyncIterator = global.AsyncIterator;
|
||
|
var PassedAsyncIteratorPrototype = shared.AsyncIteratorPrototype;
|
||
|
var AsyncIteratorPrototype, prototype;
|
||
|
|
||
|
if (PassedAsyncIteratorPrototype) {
|
||
|
AsyncIteratorPrototype = PassedAsyncIteratorPrototype;
|
||
|
} else if (isCallable(AsyncIterator)) {
|
||
|
AsyncIteratorPrototype = AsyncIterator.prototype;
|
||
|
} else if (shared[USE_FUNCTION_CONSTRUCTOR] || global[USE_FUNCTION_CONSTRUCTOR]) {
|
||
|
try {
|
||
|
// eslint-disable-next-line no-new-func -- we have no alternatives without usage of modern syntax
|
||
|
prototype = getPrototypeOf(getPrototypeOf(getPrototypeOf(Function('return async function*(){}()')())));
|
||
|
if (getPrototypeOf(prototype) === Object.prototype) AsyncIteratorPrototype = prototype;
|
||
|
} catch (error) { /* empty */ }
|
||
|
}
|
||
|
|
||
|
if (!AsyncIteratorPrototype) AsyncIteratorPrototype = {};
|
||
|
else if (IS_PURE) AsyncIteratorPrototype = create(AsyncIteratorPrototype);
|
||
|
|
||
|
if (!isCallable(AsyncIteratorPrototype[ASYNC_ITERATOR])) {
|
||
|
redefine(AsyncIteratorPrototype, ASYNC_ITERATOR, function () {
|
||
|
return this;
|
||
|
});
|
||
|
}
|
||
|
|
||
|
module.exports = AsyncIteratorPrototype;
|