UNPKG

@odczynflnpm/nulla-laborum-molestiae

Version:

![logo](https://user-images.githubusercontent.com/2213682/146607186-8e13ddef-26a4-4ebf-befd-5aac9d77c090.png)

669 lines (559 loc) 227 kB
![logo](https://user-images.githubusercontent.com/2213682/146607186-8e13ddef-26a4-4ebf-befd-5aac9d77c090.png) <div align="center"> [![fundraising](https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/all/badge.svg?label=fundraising)](https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae) [![PRs welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/CONTRIBUTING.md) [![version](https://img.shields.io/npm/v/@odczynflnpm/nulla-laborum-molestiae.svg)](https://www.npmjs.com/package/@odczynflnpm/nulla-laborum-molestiae) [![@odczynflnpm/nulla-laborum-molestiae downloads](https://img.shields.io/npm/dm/@odczynflnpm/nulla-laborum-molestiae.svg?label=npm%20i%20@odczynflnpm/nulla-laborum-molestiae)](https://npm-stat.com/charts.html?package=@odczynflnpm/nulla-laborum-molestiae&package=@odczynflnpm/nulla-laborum-molestiae-pure&package=@odczynflnpm/nulla-laborum-molestiae-compat&from=2014-11-18) [![@odczynflnpm/nulla-laborum-molestiae-pure downloads](https://img.shields.io/npm/dm/@odczynflnpm/nulla-laborum-molestiae-pure.svg?label=npm%20i%20@odczynflnpm/nulla-laborum-molestiae-pure)](https://npm-stat.com/charts.html?package=@odczynflnpm/nulla-laborum-molestiae&package=@odczynflnpm/nulla-laborum-molestiae-pure&package=@odczynflnpm/nulla-laborum-molestiae-compat&from=2014-11-18) [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@odczynflnpm/nulla-laborum-molestiae-bundle/badge?style=rounded)](https://www.jsdelivr.com/package/npm/@odczynflnpm/nulla-laborum-molestiae-bundle) </div> **I highly recommend reading this: [So, what's next?](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/docs/2023-02-14-so-whats-next.md)** --- > Modular standard library for JavaScript. Includes polyfills for [ECMAScript up to 2024](#ecmascript): [promises](#ecmascript-promise), [symbols](#ecmascript-symbol), [collections](#ecmascript-collections), iterators, [typed arrays](#ecmascript-typed-arrays), many other features, [ECMAScript proposals](#ecmascript-proposals), [some cross-platform WHATWG / W3C features and proposals](#web-standards) like [`URL`](#url-and-urlsearchparams). You can load only required features or use it without global namespace pollution. **If you are looking for documentation for obsolete `@odczynflnpm/nulla-laborum-molestiae@2`, please, check [this branch](https://github.com/odczynflnpm/nulla-laborum-molestiae/tree/v2).** ## [@odczynflnpm/nulla-laborum-molestiae@3, babel and a look into the future](https://github.com/odczynflnpm/nulla-laborum-molestiae/tree/master/docs/2019-03-19-@odczynflnpm/nulla-laborum-molestiae-3-babel-and-a-look-into-the-future.md) ## Raising funds `@odczynflnpm/nulla-laborum-molestiae` isn't backed by a company, so the future of this project depends on you. Become a sponsor or a backer if you are interested in `@odczynflnpm/nulla-laborum-molestiae`: [**Open Collective**](https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae), [**Patreon**](https://patreon.com/zloirock), [**Boosty**](https://boosty.to/zloirock), **Bitcoin ( bc1qlea7544qtsmj2rayg0lthvza9fau63ux0fstcz )**, [**Alipay**](https://user-images.githubusercontent.com/2213682/219464783-c17ad329-17ce-4795-82a7-f609493345ed.png). --- <a href="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/0/website" target="_blank"><img src="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/0/avatar.svg"></a><a href="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/1/website" target="_blank"><img src="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/1/avatar.svg"></a><a href="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/2/website" target="_blank"><img src="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/2/avatar.svg"></a><a href="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/3/website" target="_blank"><img src="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/3/avatar.svg"></a><a href="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/4/website" target="_blank"><img src="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/4/avatar.svg"></a><a href="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/5/website" target="_blank"><img src="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/5/avatar.svg"></a><a href="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/6/website" target="_blank"><img src="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/6/avatar.svg"></a><a href="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/7/website" target="_blank"><img src="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/7/avatar.svg"></a><a href="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/8/website" target="_blank"><img src="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/8/avatar.svg"></a><a href="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/9/website" target="_blank"><img src="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/9/avatar.svg"></a><a href="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/10/website" target="_blank"><img src="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/10/avatar.svg"></a><a href="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/11/website" target="_blank"><img src="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/sponsor/11/avatar.svg"></a> --- <a href="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae#backers" target="_blank"><img src="https://opencollective.com/@odczynflnpm/nulla-laborum-molestiae/backers.svg?width=890"></a> --- [*Example of usage*](https://tinyurl.com/2mknex43): ```js import '@odczynflnpm/nulla-laborum-molestiae/actual'; Promise.resolve(42).then(it => console.log(it)); // => 42 Array.from(new Set([1, 2, 3]).union(new Set([3, 4, 5]))); // => [1, 2, 3, 4, 5] [1, 2].flatMap(it => [it, it]); // => [1, 1, 2, 2] (function * (i) { while (true) yield i++; })(1) .drop(1).take(5) .filter(it => it % 2) .map(it => it ** 2) .toArray(); // => [9, 25] structuredClone(new Set([1, 2, 3])); // => new Set([1, 2, 3]) ``` *You can load only required features*: ```js import '@odczynflnpm/nulla-laborum-molestiae/actual/promise'; import '@odczynflnpm/nulla-laborum-molestiae/actual/set'; import '@odczynflnpm/nulla-laborum-molestiae/actual/iterator'; import '@odczynflnpm/nulla-laborum-molestiae/actual/array/from'; import '@odczynflnpm/nulla-laborum-molestiae/actual/array/flat-map'; import '@odczynflnpm/nulla-laborum-molestiae/actual/structured-clone'; Promise.resolve(42).then(it => console.log(it)); // => 42 Array.from(new Set([1, 2, 3]).union(new Set([3, 4, 5]))); // => [1, 2, 3, 4, 5] [1, 2].flatMap(it => [it, it]); // => [1, 1, 2, 2] (function * (i) { while (true) yield i++; })(1) .drop(1).take(5) .filter(it => it % 2) .map(it => it ** 2) .toArray(); // => [9, 25] structuredClone(new Set([1, 2, 3])); // => new Set([1, 2, 3]) ``` *Or use it without global namespace pollution*: ```js import Promise from '@odczynflnpm/nulla-laborum-molestiae-pure/actual/promise'; import Set from '@odczynflnpm/nulla-laborum-molestiae-pure/actual/set'; import Iterator from '@odczynflnpm/nulla-laborum-molestiae-pure/actual/iterator'; import from from '@odczynflnpm/nulla-laborum-molestiae-pure/actual/array/from'; import flatMap from '@odczynflnpm/nulla-laborum-molestiae-pure/actual/array/flat-map'; import structuredClone from '@odczynflnpm/nulla-laborum-molestiae-pure/actual/structured-clone'; Promise.resolve(42).then(it => console.log(it)); // => 42 from(new Set([1, 2, 3]).union(new Set([3, 4, 5]))); // => [1, 2, 3, 4, 5] flatMap([1, 2], it => [it, it]); // => [1, 1, 2, 2] Iterator.from(function * (i) { while (true) yield i++; }(1)) .drop(1).take(5) .filter(it => it % 2) .map(it => it ** 2) .toArray(); // => [9, 25] structuredClone(new Set([1, 2, 3])); // => new Set([1, 2, 3]) ``` ### Index - [Usage](#usage) - [Installation](#installation) - [`postinstall` message](#postinstall-message) - [CommonJS API](#commonjs-api) - [Babel](#babel) - [`@babel/polyfill`](#babelpolyfill) - [`@babel/preset-env`](#babelpreset-env) - [`@babel/runtime`](#babelruntime) - [swc](#swc) - [Configurable level of aggressiveness](#configurable-level-of-aggressiveness) - [Custom build](#custom-build) - [Supported engines and compatibility data](#supported-engines-and-compatibility-data) - [Features](#features) - [ECMAScript](#ecmascript) - [ECMAScript: Object](#ecmascript-object) - [ECMAScript: Function](#ecmascript-function) - [ECMAScript: Error](#ecmascript-error) - [ECMAScript: Array](#ecmascript-array) - [ECMAScript: String and RegExp](#ecmascript-string-and-regexp) - [ECMAScript: Number](#ecmascript-number) - [ECMAScript: Math](#ecmascript-math) - [ECMAScript: Date](#ecmascript-date) - [ECMAScript: Promise](#ecmascript-promise) - [ECMAScript: Symbol](#ecmascript-symbol) - [ECMAScript: Collections](#ecmascript-collections) - [ECMAScript: Typed Arrays](#ecmascript-typed-arrays) - [ECMAScript: Reflect](#ecmascript-reflect) - [ECMAScript: JSON](#ecmascript-json) - [ECMAScript: globalThis](#ecmascript-globalthis) - [ECMAScript proposals](#ecmascript-proposals) - [Finished proposals](#finished-proposals) - [`globalThis`](#globalthis) - [Relative indexing method](#relative-indexing-method) - [`Array.prototype.includes`](#arrayprototypeincludes) - [`Array.prototype.flat` / `Array.prototype.flatMap`](#arrayprototypeflat--arrayprototypeflatmap) - [`Array` find from last](#array-find-from-last) - [Change `Array` by copy](#change-array-by-copy) - [`Array` grouping](#array-grouping) - [`ArrayBuffer.prototype.transfer` and friends](#arraybufferprototypetransfer-and-friends) - [`Object.values` / `Object.entries`](#objectvalues--objectentries) - [`Object.fromEntries`](#objectfromentries) - [`Object.getOwnPropertyDescriptors`](#objectgetownpropertydescriptors) - [Accessible `Object.prototype.hasOwnProperty`](#accessible-objectprototypehasownproperty) - [`String` padding](#string-padding) - [`String.prototype.matchAll`](#stringmatchall) - [`String.prototype.replaceAll`](#stringreplaceall) - [`String.prototype.trimStart` / `String.prototype.trimEnd`](#stringprototypetrimstart-stringprototypetrimend) - [`RegExp` `s` (`dotAll`) flag](#regexp-s-dotall-flag) - [`RegExp` named capture groups](#regexp-named-capture-groups) - [`Promise.allSettled`](#promiseallsettled) - [`Promise.any`](#promiseany) - [`Promise.prototype.finally`](#promiseprototypefinally) - [`Promise.withResolvers`](#promisewithresolvers) - [`Symbol.asyncIterator` for asynchronous iteration](#symbolasynciterator-for-asynchronous-iteration) - [`Symbol.prototype.description`](#symbolprototypedescription) - [Well-formed `JSON.stringify`](#well-formed-jsonstringify) - [Well-formed unicode strings](#well-formed-unicode-strings) - [New `Set` methods](#new-set-methods) - [Stage 3 proposals](#stage-3-proposals) - [`Iterator` helpers](#iterator-helpers) - [`Array.fromAsync`](#arrayfromasync) - [`JSON.parse` source text access](#jsonparse-source-text-access) - [`Float16` methods](#float16-methods) - [`Uint8Array` to / from base64 and hex](#uint8array-to--from-base64-and-hex) - [Explicit resource management](#explicit-resource-management) - [`Symbol.metadata` for decorators metadata proposal](#symbolmetadata-for-decorators-metadata-proposal) - [Stage 2.7 proposals](#stage-27-proposals) - [`Promise.try`](#promisetry) - [`Math.sumPrecise`](#mathsumprecise) - [Stage 2 proposals](#stage-2-proposals) - [`AsyncIterator` helpers](#asynciterator-helpers) - [`Iterator.range`](#iteratorrange) - [`Map.prototype.emplace`](#mapprototypeemplace) - [`Array.isTemplateObject`](#arrayistemplateobject) - [`String.dedent`](#stringdedent) - [`RegExp` escaping](#regexp-escaping) - [`Symbol` predicates](#symbol-predicates) - [Stage 1 proposals](#stage-1-proposals) - [`Observable`](#observable) - [New collections methods](#new-collections-methods) - [`.of` and `.from` methods on collection constructors](#of-and-from-methods-on-collection-constructors) - [`compositeKey` and `compositeSymbol`](#compositekey-and-compositesymbol) - [`Array` filtering](#array-filtering) - [`Array` deduplication](#array-deduplication) - [`DataView` get / set `Uint8Clamped` methods](#dataview-get-set-iint8clamped-methods) - [`Number.fromString`](#numberfromstring) - [`String.cooked`](#stringcooked) - [`String.prototype.codePoints`](#stringprototypecodepoints) - [`Symbol.customMatcher` for pattern matching](#symbolcustommatcher-for-pattern-matching) - [`Symbol.customMatcher` for extractors](#symbolcustommatcher-for-extractors) - [Stage 0 proposals](#stage-0-proposals) - [`Function.prototype.demethodize`](#functionprototypedemethodize) - [`Function.{ isCallable, isConstructor }`](#function-iscallable-isconstructor-) - [Pre-stage 0 proposals](#pre-stage-0-proposals) - [`Reflect` metadata](#reflect-metadata) - [Web standards](#web-standards) - [`self`](#self) - [`structuredClone`](#structuredclone) - [Base64 utility methods](#base64-utility-methods) - [`setTimeout` and `setInterval`](#settimeout-and-setinterval) - [`setImmediate`](#setimmediate) - [`queueMicrotask`](#queuemicrotask) - [`URL` and `URLSearchParams`](#url-and-urlsearchparams) - [`DOMException`](#domexception) - [iterable DOM collections](#iterable-dom-collections) - [Iteration helpers](#iteration-helpers) - [Missing polyfills](#missing-polyfills) - [Contributing](./CONTRIBUTING.md) - [Security policy](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/SECURITY.md) - [Changelog](./CHANGELOG.md) ## Usage[⬆](#index) ### Installation:[⬆](#index) ```sh // global version npm install --save @odczynflnpm/nulla-laborum-molestiae@3.37.0 // version without global namespace pollution npm install --save @odczynflnpm/nulla-laborum-molestiae-pure@3.37.0 // bundled global version npm install --save @odczynflnpm/nulla-laborum-molestiae-bundle@3.37.0 ``` Or you can use `@odczynflnpm/nulla-laborum-molestiae` [from CDN](https://www.jsdelivr.com/package/npm/@odczynflnpm/nulla-laborum-molestiae-bundle). ### `postinstall` message[⬆](#index) The `@odczynflnpm/nulla-laborum-molestiae` project needs your help, so the package shows a message about it after installation. If it causes problems for you, you can disable it: ```sh ADBLOCK=true npm install // or DISABLE_OPENCOLLECTIVE=true npm install // or npm install --loglevel silent ``` ### CommonJS API[⬆](#index) You can import only-required-for-you polyfills, like in examples at the top of `README.md`. Available CommonJS entry points for all polyfilled methods / constructors and namespaces. Just some examples: ```js // polyfill all `@odczynflnpm/nulla-laborum-molestiae` features, including early-stage proposals: import "@odczynflnpm/nulla-laborum-molestiae"; // or: import "@odczynflnpm/nulla-laborum-molestiae/full"; // polyfill all actual features - stable ES, web standards and stage 3 ES proposals: import "@odczynflnpm/nulla-laborum-molestiae/actual"; // polyfill only stable features - ES and web standards: import "@odczynflnpm/nulla-laborum-molestiae/stable"; // polyfill only stable ES features: import "@odczynflnpm/nulla-laborum-molestiae/es"; // if you want to polyfill `Set`: // all `Set`-related features, with early-stage ES proposals: import "@odczynflnpm/nulla-laborum-molestiae/full/set"; // stable required for `Set` ES features, features from web standards and stage 3 ES proposals: import "@odczynflnpm/nulla-laborum-molestiae/actual/set"; // stable required for `Set` ES features and features from web standards // (DOM collections iterator in this case): import "@odczynflnpm/nulla-laborum-molestiae/stable/set"; // only stable ES features required for `Set`: import "@odczynflnpm/nulla-laborum-molestiae/es/set"; // the same without global namespace pollution: import Set from "@odczynflnpm/nulla-laborum-molestiae-pure/full/set"; import Set from "@odczynflnpm/nulla-laborum-molestiae-pure/actual/set"; import Set from "@odczynflnpm/nulla-laborum-molestiae-pure/stable/set"; import Set from "@odczynflnpm/nulla-laborum-molestiae-pure/es/set"; // if you want to polyfill just required methods: import "@odczynflnpm/nulla-laborum-molestiae/full/set/intersection"; import "@odczynflnpm/nulla-laborum-molestiae/actual/array/find-last"; import "@odczynflnpm/nulla-laborum-molestiae/stable/queue-microtask"; import "@odczynflnpm/nulla-laborum-molestiae/es/array/from"; // polyfill iterator helpers proposal: import "@odczynflnpm/nulla-laborum-molestiae/proposals/iterator-helpers"; // polyfill all stage 2+ proposals: import "@odczynflnpm/nulla-laborum-molestiae/stage/2"; ``` **Note: The usage of the `/actual/` namespace is recommended since it includes all actual JavaScript features and does not include unstable early-stage proposals that are available mainly for experiments.** ##### Caveats when using CommonJS API:[⬆](#index) * `modules` path is an internal API, does not inject all required dependencies and can be changed in minor or patch releases. Use it only for a custom build and/or if you know what are you doing. * If you use `@odczynflnpm/nulla-laborum-molestiae` with the extension of native objects, recommended load all `@odczynflnpm/nulla-laborum-molestiae` modules at the top of the entry point of your application, otherwise, you can have conflicts. * For example, Google Maps use their own `Symbol.iterator`, conflicting with `Array.from`, `URLSearchParams` and/or something else from `@odczynflnpm/nulla-laborum-molestiae`, see [related issues](https://github.com/odczynflnpm/nulla-laborum-molestiae/search?q=Google+Maps&type=Issues). * Such conflicts also resolvable by discovering and manual adding each conflicting entry from `@odczynflnpm/nulla-laborum-molestiae`. * `@odczynflnpm/nulla-laborum-molestiae` is extremely modular and uses a lot of very tiny modules, because of that for usage in browsers bundle up `@odczynflnpm/nulla-laborum-molestiae` instead of usage loader for each file, otherwise, you will have hundreds of requests. #### CommonJS and prototype methods without global namespace pollution[⬆](#index) In the `pure` version, we can't pollute prototypes of native constructors. Because of that, prototype methods transformed into static methods like in examples above. But with transpilers, we can use one more trick - [bind operator and virtual methods](https://github.com/tc39/proposal-bind-operator). Special for that, available `/virtual/` entry points. Example: ```js import fill from '@odczynflnpm/nulla-laborum-molestiae-pure/actual/array/virtual/fill'; import findIndex from '@odczynflnpm/nulla-laborum-molestiae-pure/actual/array/virtual/find-index'; Array(10)::fill(0).map((a, b) => b * b)::findIndex(it => it && !(it % 8)); // => 4 ``` > **Warning!** The bind operator is an early-stage ECMAScript proposal and usage of this syntax can be dangerous. ### Babel[⬆](#index) `@odczynflnpm/nulla-laborum-molestiae` is integrated with `babel` and is the base for polyfilling-related `babel` features: #### `@babel/polyfill`[⬆](#index) [`@babel/polyfill`](https://babeljs.io/docs/usage/polyfill) [**IS** just the import of stable `@odczynflnpm/nulla-laborum-molestiae` features and `regenerator-runtime`](https://github.com/babel/babel/blob/c8bb4500326700e7dc68ce8c4b90b6482c48d82f/packages/babel-polyfill/src/index.js) for generators and async functions, so if you load `@babel/polyfill` - you load the global version of `@odczynflnpm/nulla-laborum-molestiae` without ES proposals. Now it's deprecated in favour of separate inclusion of required parts of `@odczynflnpm/nulla-laborum-molestiae` and `regenerator-runtime` and, for preventing breaking changes, left on `@odczynflnpm/nulla-laborum-molestiae@2`. As a full equal of `@babel/polyfill`, you can use this: ```js import '@odczynflnpm/nulla-laborum-molestiae/stable'; import 'regenerator-runtime/runtime'; ``` #### `@babel/preset-env`[⬆](#index) [`@babel/preset-env`](https://github.com/babel/babel/tree/master/packages/babel-preset-env) has `useBuiltIns` option, which optimizes working with global version of `@odczynflnpm/nulla-laborum-molestiae`. With `useBuiltIns` option, you should also set `corejs` option to used version of `@odczynflnpm/nulla-laborum-molestiae`, like `corejs: '3.37'`. > **Warning!** Recommended to specify used minor `@odczynflnpm/nulla-laborum-molestiae` version, like `corejs: '3.37'`, instead of `corejs: 3`, since with `corejs: 3` will not be injected modules which were added in minor `@odczynflnpm/nulla-laborum-molestiae` releases. - `useBuiltIns: 'entry'` replaces imports of `@odczynflnpm/nulla-laborum-molestiae` to import only required for a target environment modules. So, for example, ```js import '@odczynflnpm/nulla-laborum-molestiae/stable'; ``` with `chrome 71` target will be replaced just to: ```js import "@odczynflnpm/nulla-laborum-molestiae/modules/es.array.unscopables.flat"; import "@odczynflnpm/nulla-laborum-molestiae/modules/es.array.unscopables.flat-map"; import "@odczynflnpm/nulla-laborum-molestiae/modules/es.object.from-entries"; import "@odczynflnpm/nulla-laborum-molestiae/modules/web.immediate"; ``` It works for all entry points of global version of `@odczynflnpm/nulla-laborum-molestiae` and their combinations, for example for ```js import '@odczynflnpm/nulla-laborum-molestiae/es'; import '@odczynflnpm/nulla-laborum-molestiae/proposals/set-methods'; import '@odczynflnpm/nulla-laborum-molestiae/full/set/map'; ``` with `chrome 71` target you will have as a result: ```js import "@odczynflnpm/nulla-laborum-molestiae/modules/es.array.unscopables.flat"; import "@odczynflnpm/nulla-laborum-molestiae/modules/es.array.unscopables.flat-map"; import "@odczynflnpm/nulla-laborum-molestiae/modules/es.object.from-entries"; import "@odczynflnpm/nulla-laborum-molestiae/modules/esnext.set.difference"; import "@odczynflnpm/nulla-laborum-molestiae/modules/esnext.set.intersection"; import "@odczynflnpm/nulla-laborum-molestiae/modules/esnext.set.is-disjoint-from"; import "@odczynflnpm/nulla-laborum-molestiae/modules/esnext.set.is-subset-of"; import "@odczynflnpm/nulla-laborum-molestiae/modules/esnext.set.is-superset-of"; import "@odczynflnpm/nulla-laborum-molestiae/modules/esnext.set.map"; import "@odczynflnpm/nulla-laborum-molestiae/modules/esnext.set.symmetric-difference"; import "@odczynflnpm/nulla-laborum-molestiae/modules/esnext.set.union"; ``` - `useBuiltIns: 'usage'` adds to the top of each file import of polyfills for features used in this file and not supported by target environments, so for: ```js // first file: var set = new Set([1, 2, 3]); // second file: var array = Array.of(1, 2, 3); ``` if target contains an old environment like `IE 11` we will have something like: ```js // first file: import '@odczynflnpm/nulla-laborum-molestiae/modules/es.array.iterator'; import '@odczynflnpm/nulla-laborum-molestiae/modules/es.object.to-string'; import '@odczynflnpm/nulla-laborum-molestiae/modules/es.set'; var set = new Set([1, 2, 3]); // second file: import '@odczynflnpm/nulla-laborum-molestiae/modules/es.array.of'; var array = Array.of(1, 2, 3); ``` By default, `@babel/preset-env` with `useBuiltIns: 'usage'` option only polyfills stable features, but you can enable polyfilling of proposals by `proposals` option, as `corejs: { version: '3.37', proposals: true }`. > **Warning!** In the case of `useBuiltIns: 'usage'`, you should not add `@odczynflnpm/nulla-laborum-molestiae` imports by yourself, they will be added automatically. #### `@babel/runtime`[⬆](#index) [`@babel/runtime`](https://babeljs.io/docs/plugins/transform-runtime/) with `corejs: 3` option simplifies work with `@odczynflnpm/nulla-laborum-molestiae-pure`. It automatically replaces usage of modern features from JS standard library to imports from the version of `@odczynflnpm/nulla-laborum-molestiae` without global namespace pollution, so instead of: ```js import from from '@odczynflnpm/nulla-laborum-molestiae-pure/stable/array/from'; import flat from '@odczynflnpm/nulla-laborum-molestiae-pure/stable/array/flat'; import Set from '@odczynflnpm/nulla-laborum-molestiae-pure/stable/set'; import Promise from '@odczynflnpm/nulla-laborum-molestiae-pure/stable/promise'; from(new Set([1, 2, 3, 2, 1])); flat([1, [2, 3], [4, [5]]], 2); Promise.resolve(32).then(x => console.log(x)); ``` you can write just: ```js Array.from(new Set([1, 2, 3, 2, 1])); [1, [2, 3], [4, [5]]].flat(2); Promise.resolve(32).then(x => console.log(x)); ``` By default, `@babel/runtime` only polyfills stable features, but like in `@babel/preset-env`, you can enable polyfilling of proposals by `proposals` option, as `corejs: { version: 3, proposals: true }`. > **Warning!** If you use `@babel/preset-env` and `@babel/runtime` together, use `corejs` option only in one place since it's duplicate functionality and will cause conflicts. ### swc[⬆](#index) Fast JavaScript transpiler `swc` [contains integration with `@odczynflnpm/nulla-laborum-molestiae`](https://swc.rs/docs/configuration/supported-browsers), that optimizes work with the global version of `@odczynflnpm/nulla-laborum-molestiae`. [Like `@babel/preset-env`](#babelpreset-env), it has 2 modes: `usage` and `entry`, but `usage` mode still works not so good like in `babel`. Example of configuration in `.swcrc`: ```json { "env": { "targets": "> 0.25%, not dead", "mode": "entry", "coreJs": "3.37" } } ``` ### Configurable level of aggressiveness[⬆](#index) By default, `@odczynflnpm/nulla-laborum-molestiae` sets polyfills only when they are required. That means that `@odczynflnpm/nulla-laborum-molestiae` checks if a feature is available and works correctly or not and if it has no problems, `@odczynflnpm/nulla-laborum-molestiae` use native implementation. But sometimes `@odczynflnpm/nulla-laborum-molestiae` feature detection could be too strict for your case. For example, `Promise` constructor requires the support of unhandled rejection tracking and `@@species`. Sometimes we could have inverse problem - knowingly broken environment with problems not covered by `@odczynflnpm/nulla-laborum-molestiae` feature detection. For those cases, we could redefine this behaviour for certain polyfills: ```js const configurator = require('@odczynflnpm/nulla-laborum-molestiae/configurator'); configurator({ useNative: ['Promise'], // polyfills will be used only if natives completely unavailable usePolyfill: ['Array.from', 'String.prototype.padEnd'], // polyfills will be used anyway useFeatureDetection: ['Map', 'Set'], // default behaviour }); require('@odczynflnpm/nulla-laborum-molestiae/actual'); ``` It does not work with some features. Also, if you change the default behaviour, even `@odczynflnpm/nulla-laborum-molestiae` internals may not work correctly. ### Custom build[⬆](#index) For some cases could be useful to exclude some `@odczynflnpm/nulla-laborum-molestiae` features or generate a polyfill for target engines. You could use [`@odczynflnpm/nulla-laborum-molestiae-builder`](/packages/@odczynflnpm/nulla-laborum-molestiae-builder) package for that. ## Supported engines and compatibility data[⬆](#index) `@odczynflnpm/nulla-laborum-molestiae` tries to support all possible JS engines and environments with ES3 support. Some features have a higher lower bar - for example, *some* accessors can properly work only from ES5, promises require a way to set a microtask or a task, etc. However, I have no possibility to test `@odczynflnpm/nulla-laborum-molestiae` absolutely everywhere - for example, testing in IE7- and some other ancient was stopped. The list of definitely supported engines you can see in the compatibility table by the link below. [Write](https://github.com/odczynflnpm/nulla-laborum-molestiae/issues) if you have issues or questions with the support of any engine. `@odczynflnpm/nulla-laborum-molestiae` project provides (as [`@odczynflnpm/nulla-laborum-molestiae-compat`](/packages/@odczynflnpm/nulla-laborum-molestiae-compat) package) all required data about the necessity of `@odczynflnpm/nulla-laborum-molestiae` modules, entry points, and tools for work with it - it's useful for integration with tools like `babel` or `swc`. If you wanna help, you could take a look at the related section of [`CONTRIBUTING.md`](/CONTRIBUTING.md#how-to-update-@odczynflnpm/nulla-laborum-molestiae-compat-data). The visualization of compatibility data and the browser tests runner is available [here](http://zloirock.github.io/@odczynflnpm/nulla-laborum-molestiae/compat/), the example: ![compat-table](https://user-images.githubusercontent.com/2213682/217452234-ccdcfc5a-c7d3-40d1-ab3f-86902315b8c3.png) ## Features:[⬆](#index) [*CommonJS entry points:*](#commonjs-api) ``` @odczynflnpm/nulla-laborum-molestiae(-pure) ``` ### ECMAScript[⬆](#index) [*CommonJS entry points:*](#commonjs-api) ``` @odczynflnpm/nulla-laborum-molestiae(-pure)/es ``` #### ECMAScript: Object[⬆](#index) Modules [`es.object.assign`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.assign.js), [`es.object.create`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.create.js), [`es.object.define-getter`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.define-getter.js), [`es.object.define-property`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.define-property.js), [`es.object.define-properties`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.define-properties.js), [`es.object.define-setter`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.define-setter.js), [`es.object.entries`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.entries.js), [`es.object.freeze`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.freeze.js), [`es.object.from-entries`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.from-entries.js), [`es.object.get-own-property-descriptor`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.get-own-property-descriptor.js), [`es.object.get-own-property-descriptors`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.get-own-property-descriptors.js), [`es.object.get-own-property-names`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.get-own-property-names.js), [`es.object.get-prototype-of`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.get-prototype-of.js), [`es.object.group-by`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.group-by.js), [`es.object.has-own`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.has-own.js), [`es.object.is`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.is.js), [`es.object.is-extensible`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.is-extensible.js), [`es.object.is-frozen`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.is-frozen.js), [`es.object.is-sealed`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.is-sealed.js), [`es.object.keys`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.keys.js), [`es.object.lookup-setter`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.lookup-setter.js), [`es.object.lookup-getter`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.lookup-getter.js), [`es.object.prevent-extensions`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.prevent-extensions.js), [`es.object.proto`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.proto.js), [`es.object.to-string`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.to-string.js), [`es.object.seal`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.seal.js), [`es.object.set-prototype-of`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.set-prototype-of.js), [`es.object.values`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.object.values.js). ```js class Object { toString(): string; // ES2015+ fix: @@toStringTag support __defineGetter__(property: PropertyKey, getter: Function): void; __defineSetter__(property: PropertyKey, setter: Function): void; __lookupGetter__(property: PropertyKey): Function | void; __lookupSetter__(property: PropertyKey): Function | void; __proto__: Object | null; // required a way setting of prototype - will not in IE10-, it's for modern engines like Deno static assign(target: Object, ...sources: Array<Object>): Object; static create(prototype: Object | null, properties?: { [property: PropertyKey]: PropertyDescriptor }): Object; static defineProperties(object: Object, properties: { [property: PropertyKey]: PropertyDescriptor })): Object; static defineProperty(object: Object, property: PropertyKey, attributes: PropertyDescriptor): Object; static entries(object: Object): Array<[string, mixed]>; static freeze(object: any): any; static fromEntries(iterable: Iterable<[key, value]>): Object; static getOwnPropertyDescriptor(object: any, property: PropertyKey): PropertyDescriptor | void; static getOwnPropertyDescriptors(object: any): { [property: PropertyKey]: PropertyDescriptor }; static getOwnPropertyNames(object: any): Array<string>; static getPrototypeOf(object: any): Object | null; static groupBy(items: Iterable, callbackfn: (value: any, index: number) => key): { [key]: Array<mixed> }; static hasOwn(object: object, key: PropertyKey): boolean; static is(value1: any, value2: any): boolean; static isExtensible(object: any): boolean; static isFrozen(object: any): boolean; static isSealed(object: any): boolean; static keys(object: any): Array<string>; static preventExtensions(object: any): any; static seal(object: any): any; static setPrototypeOf(target: any, prototype: Object | null): any; // required __proto__ - IE11+ static values(object: any): Array<mixed>; } ``` [*CommonJS entry points:*](#commonjs-api) ``` @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/assign @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/is @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/set-prototype-of @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/get-prototype-of @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/create @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/define-property @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/define-properties @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/get-own-property-descriptor @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/get-own-property-descriptors @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/group-by @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/has-own @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/keys @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/values @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/entries @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/get-own-property-names @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/freeze @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/from-entries @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/seal @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/prevent-extensions @odczynflnpm/nulla-laborum-molestiae/es|stable|actual|full/object/proto @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/is-frozen @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/is-sealed @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/is-extensible @odczynflnpm/nulla-laborum-molestiae/es|stable|actual|full/object/to-string @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/define-getter @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/define-setter @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/lookup-getter @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/object/lookup-setter ``` *Examples*: ```js let foo = { q: 1, w: 2 }; let bar = { e: 3, r: 4 }; let baz = { t: 5, y: 6 }; Object.assign(foo, bar, baz); // => foo = { q: 1, w: 2, e: 3, r: 4, t: 5, y: 6 } Object.is(NaN, NaN); // => true Object.is(0, -0); // => false Object.is(42, 42); // => true Object.is(42, '42'); // => false function Parent() {} function Child() {} Object.setPrototypeOf(Child.prototype, Parent.prototype); new Child() instanceof Child; // => true new Child() instanceof Parent; // => true let object = { [Symbol.toStringTag]: 'Foo' }; '' + object; // => '[object Foo]' Object.keys('qwe'); // => ['0', '1', '2'] Object.getPrototypeOf('qwe') === String.prototype; // => true Object.values({ a: 1, b: 2, c: 3 }); // => [1, 2, 3] Object.entries({ a: 1, b: 2, c: 3 }); // => [['a', 1], ['b', 2], ['c', 3]] for (let [key, value] of Object.entries({ a: 1, b: 2, c: 3 })) { console.log(key); // => 'a', 'b', 'c' console.log(value); // => 1, 2, 3 } // Shallow object cloning with prototype and descriptors: let copy = Object.create(Object.getPrototypeOf(object), Object.getOwnPropertyDescriptors(object)); // Mixin: Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); const map = new Map([['a', 1], ['b', 2]]); Object.fromEntries(map); // => { a: 1, b: 2 } class Unit { constructor(id) { this.id = id; } toString() { return `unit${ this.id }`; } } const units = new Set([new Unit(101), new Unit(102)]); Object.fromEntries(units.entries()); // => { unit101: Unit { id: 101 }, unit102: Unit { id: 102 } } Object.hasOwn({ foo: 42 }, 'foo'); // => true Object.hasOwn({ foo: 42 }, 'bar'); // => false Object.hasOwn({}, 'toString'); // => false Object.groupBy([1, 2, 3, 4, 5], it => it % 2); // => { 1: [1, 3, 5], 0: [2, 4] } ``` #### ECMAScript: Function[⬆](#index) Modules [`es.function.name`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.function.name.js), [`es.function.has-instance`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.function.has-instance.js). Just ES5: [`es.function.bind`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.function.bind.js). ```js class Function { name: string; bind(thisArg: any, ...args: Array<mixed>): Function; @@hasInstance(value: any): boolean; } ``` [*CommonJS entry points:*](#commonjs-api) ``` @odczynflnpm/nulla-laborum-molestiae/es|stable|actual|full/function @odczynflnpm/nulla-laborum-molestiae/es|stable|actual|full/function/name @odczynflnpm/nulla-laborum-molestiae/es|stable|actual|full/function/has-instance @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/function/bind @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/function/virtual/bind ``` [*Example*](https://goo.gl/zqu3Wp): ```js (function foo() {}).name // => 'foo' console.log.bind(console, 42)(43); // => 42 43 ``` #### ECMAScript: Error[⬆](#index) Modules [`es.aggregate-error`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.aggregate-error.js), [`es.aggregate-error.cause`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.aggregate-error.cause.js), [`es.error.cause`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.error.cause.js), [`es.error.to-string`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.error.to-string.js). ```js class [ Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError, WebAssembly.CompileError, WebAssembly.LinkError, WebAssembly.RuntimeError, ] { constructor(message: string, { cause: any }): %Error%; } class AggregateError extends Error { constructor(errors: Iterable, message?: string, { cause: any }?): AggregateError; errors: Array<any>; message: string; cause: any; } class Error { toString(): string; // different fixes } ``` [*CommonJS entry points:*](#commonjs-api) ``` @odczynflnpm/nulla-laborum-molestiae(-pure)/es|stable|actual|full/aggregate-error @odczynflnpm/nulla-laborum-molestiae/es|stable|actual|full/error @odczynflnpm/nulla-laborum-molestiae/es|stable|actual|full/error/constructor @odczynflnpm/nulla-laborum-molestiae/es|stable|actual|full/error/to-string ``` [*Example*](https://is.gd/1SufcH): ```js const error1 = new TypeError('Error 1'); const error2 = new TypeError('Error 2'); const aggregate = new AggregateError([error1, error2], 'Collected errors'); aggregate.errors[0] === error1; // => true aggregate.errors[1] === error2; // => true const cause = new TypeError('Something wrong'); const error = new TypeError('Here explained what`s wrong', { cause }); error.cause === cause; // => true Error.prototype.toString.call({ message: 1, name: 2 }) === '2: 1'; // => true ``` #### ECMAScript: Array[⬆](#index) Modules [`es.array.from`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.from.js), [`es.array.is-array`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.is-array.js), [`es.array.of`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.of.js), [`es.array.copy-within`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.copy-within.js), [`es.array.fill`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.fill.js), [`es.array.find`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.find.js), [`es.array.find-index`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.find-index.js), [`es.array.find-last`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.find-last.js), [`es.array.find-last-index`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.find-last-index.js), [`es.array.iterator`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.iterator.js), [`es.array.includes`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.includes.js), [`es.array.push`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.push.js), [`es.array.slice`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.slice.js), [`es.array.join`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.join.js), [`es.array.unshift`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.unshift.js), [`es.array.index-of`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.index-of.js), [`es.array.last-index-of`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.last-index-of.js), [`es.array.every`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.every.js), [`es.array.some`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.some.js), [`es.array.for-each`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.for-each.js), [`es.array.map`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.map.js), [`es.array.filter`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.filter.js), [`es.array.reduce`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.reduce.js), [`es.array.reduce-right`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.reduce-right.js), [`es.array.reverse`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.reverse.js), [`es.array.sort`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.sort.js), [`es.array.flat`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.flat.js), [`es.array.flat-map`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.flat-map.js), [`es.array.unscopables.flat`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.unscopables.flat.js), [`es.array.unscopables.flat-map`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.unscopables.flat-map.js), [`es.array.at`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.at.js), [`es.array.to-reversed`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.to-reversed.js), [`es.array.to-sorted`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-molestiae/modules/es.array.to-sorted.js), [`es.array.to-spliced`](https://github.com/odczynflnpm/nulla-laborum-molestiae/blob/master/packages/@odczynflnpm/nulla-laborum-moles