pax_global_header 0000666 0000000 0000000 00000000064 13565534140 0014520 g ustar 00root root 0000000 0000000 52 comment=3ddd2066b19e7c25a782869a304ae35d8188c8f1
es5-ext-0.10.53/ 0000775 0000000 0000000 00000000000 13565534140 0013160 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/.editorconfig 0000664 0000000 0000000 00000000440 13565534140 0015633 0 ustar 00root root 0000000 0000000 # EditorConfig is awesome: http://EditorConfig.org
# top-most EditorConfig file
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = tab
trim_trailing_whitespace = true
[*.md]
indent_size = 2
indent_style = space
trim_trailing_whitespace = false
es5-ext-0.10.53/.github/ 0000775 0000000 0000000 00000000000 13565534140 0014520 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/.github/FUNDING.yml 0000664 0000000 0000000 00000000030 13565534140 0016326 0 ustar 00root root 0000000 0000000 tidelift: "npm/es5-ext"
es5-ext-0.10.53/.gitignore 0000664 0000000 0000000 00000000057 13565534140 0015152 0 ustar 00root root 0000000 0000000 /node_modules
npm-debug.log
/package-lock.json
es5-ext-0.10.53/CHANGELOG.md 0000664 0000000 0000000 00000024761 13565534140 0015003 0 ustar 00root root 0000000 0000000 # Changelog
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
### [0.10.53](https://github.com/medikoo/es5-ext/compare/v0.10.52...v0.10.53) (2019-11-21)
### [0.10.52](https://github.com/medikoo/es5-ext/compare/v0.10.51...v0.10.52) (2019-10-29)
### Bug Fixes
- Fix global resolution for Safari ([00731d2](https://github.com/medikoo/es5-ext/commit/00731d2))
- Keep support for old Node.js versions ([2fa2a11](https://github.com/medikoo/es5-ext/commit/2fa2a11))
### [0.10.51](https://github.com/medikoo/es5-ext/compare/v0.10.50...v0.10.51) (2019-08-30)
### Bug Fixes
- Ensure Function.isFunction recognizes async functions ([6f06e66](https://github.com/medikoo/es5-ext/commit/6f06e66))
### Tests
- Fix after prettification changes ([dd6fc3f](https://github.com/medikoo/es5-ext/commit/dd6fc3f))
## [0.10.50](https://github.com/medikoo/es5-ext/compare/v0.10.49...v0.10.50) (2019-04-30)
### Bug Fixes
- maximum time value reference ([708202d](https://github.com/medikoo/es5-ext/commit/708202d))
### Features
- ensure global resolves in strict mode ([c6a19d7](https://github.com/medikoo/es5-ext/commit/c6a19d7)), closes [#86](https://github.com/medikoo/es5-ext/issues/86)
## [0.10.49](https://github.com/medikoo/es5-ext/compare/v0.10.48...v0.10.49) (2019-03-11)
### Features
- allow plain function usage of fn.compose ([2bafef7](https://github.com/medikoo/es5-ext/commit/2bafef7))
## [0.10.48](https://github.com/medikoo/es5-ext/compare/v0.10.47...v0.10.48) (2019-02-22)
### Features
- Object.ensurePlainObject util ([f48fbcf](https://github.com/medikoo/es5-ext/commit/f48fbcf))
## [0.10.47](https://github.com/medikoo/es5-ext/compare/v0.10.46...v0.10.47) (2019-01-16)
### Features
- Promise.prototype.finally shim ([4dadbc7](https://github.com/medikoo/es5-ext/commit/4dadbc7))
## [0.10.46](https://github.com/medikoo/es5-ext/compare/v0.10.45...v0.10.46) (2018-08-13)
### Bug Fixes
- assign-deep to not modify following arguments ([bf43d57](https://github.com/medikoo/es5-ext/commit/bf43d57))
## [0.10.45](https://github.com/medikoo/es5-ext/compare/v0.10.44...v0.10.45) (2018-06-01)
### Bug Fixes
- improve error message readbility ([adc91b9](https://github.com/medikoo/es5-ext/commit/adc91b9))
## [0.10.44](https://github.com/medikoo/es5-ext/compare/v0.10.43...v0.10.44) (2018-05-30)
### Features
- add Object.entries ([51d2f43](https://github.com/medikoo/es5-ext/commit/51d2f43))
## [0.10.43](https://github.com/medikoo/es5-ext/compare/v0.10.42...v0.10.43) (2018-05-28)
### Features
- improve patch string ([6a25b10](https://github.com/medikoo/es5-ext/commit/6a25b10))
## [0.10.42](https://github.com/medikoo/es5-ext/compare/v0.10.41...v0.10.42) (2018-03-28)
### Bug Fixes
- Date.isDate to exclude NaN dates ([3b61bc6](https://github.com/medikoo/es5-ext/commit/3b61bc6))
### Features
- improve non-coercible string representation ([20bfb78](https://github.com/medikoo/es5-ext/commit/20bfb78))
- improve non-stringifiable string representation ([2e4512d](https://github.com/medikoo/es5-ext/commit/2e4512d))
## [0.10.41](https://github.com/medikoo/es5-ext/compare/v0.10.40...v0.10.41) (2018-03-16)
### Features
- Add function.microtaskDelay method ([66481c0](https://github.com/medikoo/es5-ext/commit/66481c0))
- Add Object.isThenable ([8d5a45c](https://github.com/medikoo/es5-ext/commit/8d5a45c))
- Add promise.asCallback method ([dcc1451](https://github.com/medikoo/es5-ext/commit/dcc1451))
- Object.ensurePlainFunction ([2682be6](https://github.com/medikoo/es5-ext/commit/2682be6))
## [0.10.40](https://github.com/medikoo/es5-ext/compare/v0.10.39...v0.10.40) (2018-03-09)
### Features
- **math:** decimal round, floor and ceil ([39290c6](https://github.com/medikoo/es5-ext/commit/39290c6))
- **object:** isInteger and ensureInteger ([a5f7d04](https://github.com/medikoo/es5-ext/commit/a5f7d04))
## [0.10.39](https://github.com/medikoo/es5-ext/compare/v0.10.38...v0.10.39) (2018-02-16)
### Features
- Promise.lazy ([7a30a78](https://github.com/medikoo/es5-ext/commit/7a30a78))
## [0.10.38](https://github.com/medikoo/es5-ext/compare/v0.10.37...v0.10.38) (2018-01-16)
### Features
- Object.isNaturalNumber an Object.isNaturalNumberValue ([66a40af](https://github.com/medikoo/es5-ext/commit/66a40af))
## [0.10.37](https://github.com/medikoo/es5-ext/compare/v0.10.36...v0.10.37) (2017-11-23)
### Features
- String.random util ([7c28739](https://github.com/medikoo/es5-ext/commit/7c28739))
## [0.10.36](https://github.com/medikoo/es5-ext/compare/v0.10.35...v0.10.36) (2017-11-23)
### Features
- **date:** isTimeValue and ensureTimeValue utils ([7659dc5](https://github.com/medikoo/es5-ext/commit/7659dc5))
## [0.10.35](https://github.com/medikoo/es5-ext/compare/v0.10.34...v0.10.35) (2017-10-13)
### Bug Fixes
- **Object.copy:** do not upgrade primitives to objects ([dd4d88f](https://github.com/medikoo/es5-ext/commit/dd4d88f))
## [0.10.34](https://github.com/medikoo/es5-ext/compare/v0.10.33...v0.10.34) (2017-10-13)
### Features
- **copyDeep:** duplicate only recursive instances ([bba529a](https://github.com/medikoo/es5-ext/commit/bba529a))
## [0.10.33](https://github.com/medikoo/es5-ext/compare/v0.10.32...v0.10.33) (2017-10-13)
### Bug Fixes
- **Object.assignDeep:** relax input validation ([1baf57d](https://github.com/medikoo/es5-ext/commit/1baf57d))
## [0.10.32](https://github.com/medikoo/es5-ext/compare/v0.10.31...v0.10.32) (2017-10-13)
### Features
- Object.assignDeep ([2345e0b](https://github.com/medikoo/es5-ext/commit/2345e0b))
## [0.10.31](https://github.com/medikoo/es5-ext/compare/v0.10.30...v0.10.31) (2017-10-09)
### Features
- Object.isPlainFunction utility ([031be0a](https://github.com/medikoo/es5-ext/commit/031be0a))
## [0.10.30](https://github.com/medikoo/es5-ext/compare/v0.10.29...v0.10.30) (2017-08-25)
### Bug Fixes
- value stringification for error message ([37bb96b](https://github.com/medikoo/es5-ext/commit/37bb96b))
## [0.10.29](https://github.com/medikoo/es5-ext/compare/v0.10.28...v0.10.29) (2017-08-18)
### Bug Fixes
- string.repeat after recent regression ([b02fab4](https://github.com/medikoo/es5-ext/commit/b02fab4))
## [0.10.28](https://github.com/medikoo/es5-ext/compare/v0.10.27...v0.10.28) (2017-08-18)
### Features
- array.isEmpty method ([b0cfbdd](https://github.com/medikoo/es5-ext/commit/b0cfbdd))
- improve new lines representation ([860fe8b](https://github.com/medikoo/es5-ext/commit/860fe8b))
- Object.ensureArray util ([595c341](https://github.com/medikoo/es5-ext/commit/595c341))
- toShortStringRepresentation util ([6842d06](https://github.com/medikoo/es5-ext/commit/6842d06))
## [0.10.27](https://github.com/medikoo/es5-ext/compare/v0.10.26...v0.10.27) (2017-08-11)
### Bug Fixes
- isNumberValue should not crash on non-coercible values ([0db765e](https://github.com/medikoo/es5-ext/commit/0db765e))
### Features
- add Object.ensureFiniteNumber util ([11c67f5](https://github.com/medikoo/es5-ext/commit/11c67f5))
- add Object.isFiniteNumber util ([fe5b55a](https://github.com/medikoo/es5-ext/commit/fe5b55a))
## [0.10.26](https://github.com/medikoo/es5-ext/compare/v0.10.25...v0.10.26) (2017-08-02)
### Bug Fixes
- **general:** ensure optionalChaining in index ([3df879a](https://github.com/medikoo/es5-ext/commit/3df879a))
## [0.10.25](https://github.com/medikoo/es5-ext/compare/v0.10.24...v0.10.25) (2017-08-02)
### Features
- **general:** optionalChaining utility ([26332b5](https://github.com/medikoo/es5-ext/commit/26332b5))
## [0.10.24](https://github.com/medikoo/es5-ext/compare/v0.10.23...v0.10.24) (2017-07-10)
### Features
- resolve global with CSP safe method ([d386449](https://github.com/medikoo/es5-ext/commit/d386449))
## [0.10.23](https://github.com/medikoo/es5-ext/compare/v0.10.22...v0.10.23) (2017-06-05)
### Bug Fixes
- **Error.custom:** allow non-string code ([e8db3a0](https://github.com/medikoo/es5-ext/commit/e8db3a0))
- **Error.custom:** improve `ext` argument detection ([0edbfbc](https://github.com/medikoo/es5-ext/commit/0edbfbc))
## [0.10.22](https://github.com/medikoo/es5-ext/compare/v0.10.21...v0.10.22) (2017-05-31)
### Bug Fixes
- ensure proper symbols stringification in early implementations ([ce51900](https://github.com/medikoo/es5-ext/commit/ce51900))
## [0.10.21](https://github.com/medikoo/es5-ext/compare/v0.10.20...v0.10.21) (2017-05-22)
### Features
- support arrow functions in Function/#/to-tring-tokens.js ([ad3de1e](https://github.com/medikoo/es5-ext/commit/ad3de1e))
## [0.10.20](https://github.com/medikoo/es5-ext/compare/v0.10.19...v0.10.20) (2017-05-17)
### Features
- if listed copy not only if own property ([d7e7cef](https://github.com/medikoo/es5-ext/commit/d7e7cef))
- support `ensure` option in Object.copy ([295326f](https://github.com/medikoo/es5-ext/commit/295326f))
## [0.10.19](https://github.com/medikoo/es5-ext/compare/v0.10.18...v0.10.19) (2017-05-17)
### Features
- support propertyNames option in Object.copy ([5442279](https://github.com/medikoo/es5-ext/commit/5442279))
## [0.10.18](https://github.com/medikoo/es5-ext/compare/v0.10.17...v0.10.18) (2017-05-15)
### Bug Fixes
- take all changes in safeToString ([3c5cd12](https://github.com/medikoo/es5-ext/commit/3c5cd12))
## [0.10.17](https://github.com/medikoo/es5-ext/compare/v0.10.16...v0.10.17) (2017-05-15)
### Features
- introduce Object.ensurePromise ([46a2f45](https://github.com/medikoo/es5-ext/commit/46a2f45))
- introduce Object.isPromise ([27aecc8](https://github.com/medikoo/es5-ext/commit/27aecc8))
- introduce safeToString ([0cc6a7b](https://github.com/medikoo/es5-ext/commit/0cc6a7b))
## [0.10.16](https://github.com/medikoo/es5-ext/compare/v0.10.15...v0.10.16) (2017-05-09)
### Features
- add String.prototype.count ([2e53241](https://github.com/medikoo/es5-ext/commit/2e53241))
## Changelog for previous versions
See `CHANGES` file
es5-ext-0.10.53/CHANGES 0000664 0000000 0000000 00000066543 13565534140 0014171 0 ustar 00root root 0000000 0000000 For recent changelog see CHANGELOG.md
-----
v0.10.15 -- 2017.03.20
* Fix Object.isValue (it was actually isNotValue)
v0.10.14 -- 2017.03.15
* Object.isValue util
v0.10.13 -- 2017.03.13
* Introduce JSON.safeStringify
* Improve message handling in error/custom
* Fix Array#concat shim
* Improve Array#flatten algorithm so it's stack trace friendly
* Make Object.isObject ES3 compatible
v0.10.12 -- 2016.07.01
* Ensure symbols are copied in Object.mixin
* Prevent RangeError errors in array#flatten
* Do not validate invalidate dates in validDate
v0.10.11 -- 2015.12.18
* Ensure that check for implementation of RegExp flags doesn't crash in V8 (thanks @mathiasbynens)
v0.10.10 -- 2015.12.11
* Add Object.isNumberValue util
v0.10.9 -- 2015.12.01
* Add Object.ensureNaturalNumber and Object.ensureNaturalNumberValue
v0.10.8 -- 2015.10.02
* Add Number.isNatural
* Add Object.find and Object.findKey
* Support arrays in Object.copyDeep
* Fix iteration issue in forEachRight and someRight
* Fix detection of native sinh
* Depend on es6-symbol v3
v0.10.7 -- 2015.04.22
* New utlitities. They're convention differs from v0.10, as they were supposed to land in v1.
Still they're non breaking and start the conventions to be used in v1
* Object.validateArrayLike
* Object.validateArrayLikeObject
* Object.validateStringifiable
* Object.validateStringifiableValue
* Universal utilities for array-like/iterable objects
* Iterable.is
* Iterable.validate
* Iterable.validateObject
* Iterable.forEach
* Fix camelToHyphen resolution, it must be absolutely reversable by hyphenToCamel
* Fix calculations of large numbers in Math.tanh
* Fix algorithm of Math.sinh
* Fix indexes to not use real symbols
* Fix length of String.fromCodePoint
* Fix tests of Array#copyWithin
* Update Travis CI configuration
v0.10.6 -- 2015.02.02
* Fix handling of infinite values in Math.trunc
* Fix handling of getters in Object.normalizeOptions
v0.10.5 -- 2015.01.20
* Add Function#toStringTokens
* Add Object.serialize and Object.unserialize
* Add String.randomUniq
* Fix Strin#camelToHyphen issue with tokens that end with digit
* Optimise Number.isInteger logic
* Improve documentation
* Configure lint scripts
* Fix spelling of LICENSE
v0.10.4 -- 2014.04.30
* Assure maximum spec compliance of Array.of and Array.from (thanks @mathiasbynens)
* Improve documentations
v0.10.3 -- 2014.04.29
Provide accurate iterators handling:
* Array.from improvements:
* Assure right unicode symbols resolution when processing strings in Array.from
* Rely on ES6 symbol shim and use native @@iterator Symbol if provided by environment
* Add methods:
* Array.prototype.entries
* Array.prototype.keys
* Array.prototype.values
* Array.prototype[@@iterator]
* String.prototype[@@iterator]
Improve documentation
v0.10.2 -- 2014.04.24
- Simplify and deprecate `isCallable`. It seems in ES5 based engines there are
no callable objects which are `typeof obj !== 'function'`
- Update Array.from map callback signature (up to latest resolution of TC39)
- Improve documentation
v0.10.1 -- 2014.04.14
Bump version for npm
(Workaround for accidental premature publish & unpublish of v0.10.0 a while ago)
v0.10.0 -- 2014.04.13
Major update:
- All methods and function specified for ECMAScript 6 are now introduced as
shims accompanied with functions through which (optionally) they can be
implementend on native objects
- Filename convention was changed to shorter and strictly lower case names. e.g.
`lib/String/prototype/starts-with` became `string/#/starts-with`
- Generated functions are guaranteed to have expected length
- Objects with null prototype (created via `Object.create(null)`) are widely
supported (older version have crashed due to implied `obj.hasOwnProperty` and
related invocations)
- Support array subclasses
- When handling lists do not limit its length to Uint32 range
- Use newly introduced `Object.eq` for strict equality in place of `Object.is`
- Iteration of Object have been improved so properties that were hidden or
removed after iteration started are not iterated.
Additions:
- `Array.isPlainArray`
- `Array.validArray`
- `Array.prototype.concat` (as updated with ES6)
- `Array.prototype.copyWithin` (as introduced with ES6)
- `Array.prototype.fill` (as introduced with ES6)
- `Array.prototype.filter` (as updated with ES6)
- `Array.prototype.findIndex` (as introduced with ES6)
- `Array.prototype.map` (as updated with ES6)
- `Array.prototype.separate`
- `Array.prototype.slice` (as updated with ES6)
- `Array.prototype.splice` (as updated with ES6)
- `Function.prototype.copy`
- `Math.acosh` (as introduced with ES6)
- `Math.atanh` (as introduced with ES6)
- `Math.cbrt` (as introduced with ES6)
- `Math.clz32` (as introduced with ES6)
- `Math.cosh` (as introduced with ES6)
- `Math.expm1` (as introduced with ES6)
- `Math.fround` (as introduced with ES6)
- `Math.hypot` (as introduced with ES6)
- `Math.imul` (as introduced with ES6)
- `Math.log2` (as introduced with ES6)
- `Math.log10` (as introduced with ES6)
- `Math.log1p` (as introduced with ES6)
- `Math.sinh` (as introduced with ES6)
- `Math.tanh` (as introduced with ES6)
- `Math.trunc` (as introduced with ES6)
- `Number.EPSILON` (as introduced with ES6)
- `Number.MIN_SAFE_INTEGER` (as introduced with ES6)
- `Number.MAX_SAFE_INTEGER` (as introduced with ES6)
- `Number.isFinite` (as introduced with ES6)
- `Number.isInteger` (as introduced with ES6)
- `Number.isSafeInteger` (as introduced with ES6)
- `Object.create` (with fix for V8 issue which disallows prototype turn of
objects derived from null
- `Object.eq` - Less restrictive version of `Object.is` based on SameValueZero
algorithm
- `Object.firstKey`
- `Object.keys` (as updated with ES6)
- `Object.mixinPrototypes`
- `Object.primitiveSet`
- `Object.setPrototypeOf` (as introduced with ES6)
- `Object.validObject`
- `RegExp.escape`
- `RegExp.prototype.match` (as introduced with ES6)
- `RegExp.prototype.replace` (as introduced with ES6)
- `RegExp.prototype.search` (as introduced with ES6)
- `RegExp.prototype.split` (as introduced with ES6)
- `RegExp.prototype.sticky` (as introduced with ES6)
- `RegExp.prototype.unicode` (as introduced with ES6)
- `String.fromCodePoint` (as introduced with ES6)
- `String.raw` (as introduced with ES6)
- `String.prototype.at`
- `String.prototype.codePointAt` (as introduced with ES6)
- `String.prototype.normalize` (as introduced with ES6)
- `String.prototype.plainReplaceAll`
Removals:
- `reserved` set
- `Array.prototype.commonLeft`
- `Function.insert`
- `Function.remove`
- `Function.prototype.silent`
- `Function.prototype.wrap`
- `Object.descriptor` Move to external `d` project.
See: https://github.com/medikoo/d
- `Object.diff`
- `Object.extendDeep`
- `Object.reduce`
- `Object.values`
- `String.prototype.trimCommonLeft`
Renames:
- `Function.i` into `Function.identity`
- `Function.k` into `Function.constant`
- `Number.toInt` into `Number.toInteger`
- `Number.toUint` into `Number.toPosInteger`
- `Object.extend` into `Object.assign` (as introduced in ES 6)
- `Object.extendProperties` into `Object.mixin`, with improved internal
handling, so it matches temporarily specified `Object.mixin` for ECMAScript 6
- `Object.isList` into `Object.isArrayLike`
- `Object.mapToArray` into `Object.toArray` (with fixed function length)
- `Object.toPlainObject` into `Object.normalizeOptions` (as this is the real
use case where we use this function)
- `Function.prototype.chain` into `Function.prototype.compose`
- `Function.prototype.match` into `Function.prototype.spread`
- `String.prototype.format` into `String.formatMethod`
Improvements & Fixes:
- Remove workaround for primitive values handling in object iterators
- `Array.from`: Update so it follows ES 6 spec
- `Array.prototype.compact`: filters just null and undefined values
(not all falsies)
- `Array.prototype.eIndexOf` and `Array.prototype.eLastIndexOf`: fix position
handling, improve internals
- `Array.prototype.find`: return undefined not null, in case of not found
(follow ES 6)
- `Array.prototype.remove` fix function length
- `Error.custom`: simplify, Custom class case is addressed by outer
`error-create` project -> https://github.com/medikoo/error-create
- `Error.isError` true only for Error instances (remove detection of host
Exception objects)
- `Number.prototype.pad`: Normalize negative pad
- `Object.clear`: Handle errors same way as in `Object.assign`
- `Object.compact`: filters just null and undefined values (not all falsies)
- `Object.compare`: Take into account NaN values
- `Object.copy`: Split into `Object.copy` and `Object.copyDeep`
- `Object.isCopy`: Separate into `Object.isCopy` and `Object.isCopyDeep`, where
`isCopyDeep` handles nested plain objects and plain arrays only
- `String.prototype.endsWith`: Adjust up to ES6 specification
- `String.prototype.repeat`: Adjust up to ES6 specification and improve algorithm
- `String.prototype.simpleReplace`: Rename into `String.prototype.plainReplace`
- `String.prototype.startsWith`: Adjust up to ES6 specification
- Update lint rules, and adjust code to that
- Update Travis CI configuration
- Remove Makefile (it's cross-env utility)
v0.9.2 -- 2013.03.11
Added:
* Array.prototype.isCopy
* Array.prototype.isUniq
* Error.CustomError
* Function.validFunction
* Object.extendDeep
* Object.descriptor.binder
* Object.safeTraverse
* RegExp.validRegExp
* String.prototype.capitalize
* String.prototype.simpleReplace
Fixed:
* Fix Array.prototype.diff for sparse arrays
* Accept primitive objects as input values in Object iteration methods and
Object.clear, Object.count, Object.diff, Object.extend,
Object.getPropertyNames, Object.values
* Pass expected arguments to callbacks of Object.filter, Object.mapKeys,
Object.mapToArray, Object.map
* Improve callable callback support in Object.mapToArray
v0.9.1 -- 2012.09.17
* Object.reduce - reduce for hash-like collections
* Accapt any callable object as callback in Object.filter, mapKeys and map
* Convention cleanup
v0.9.0 -- 2012.09.13
We're getting to real solid API
Removed:
* Function#memoize - it's grown up to be external package, to be soon published
as 'memoizee'
* String.guid - it doesn't fit es5-ext (extensions) concept, will be provided as
external package
# Function.arguments - obsolete
# Function.context - obsolete
# Function#flip - not readable when used, so it was never used
# Object.clone - obsolete and confusing
Added:
* String#camelToHyphen - String format convertion
Renamed:
* String#dashToCamelCase -> String#hyphenToCamel
Fixes:
* Object.isObject - Quote names in literals that match reserved keywords
(older implementations crashed on that)
* String#repeat - Do not accept negative values (coerce them to 1)
Improvements:
* Array#remove - Accepts many arguments, we can now remove many values at once
* Object iterators (forEach, map, some) - Compare function invoked with scope
object bound to this
* Function#curry - Algorithm cleanup
* Object.isCopy - Support for all types, not just plain objects
* Object.isPlainObject - Support for cross-frame objects
* Do not memoize any of the functions, it shouldn't be decided internally
* Remove Object.freeze calls in reserved, it's not up to convention
* Improved documentation
* Better linting (hard-core approach using both JSLint mod and JSHint)
* Optional arguments are now documented in funtions signature
v0.8.2 -- 2012.06.22
Fix errors in Array's intersection and exclusion methods, related to improper
usage of contains method
v0.8.1 -- 2012.06.13
Reorganized internal logic of Function.prototype.memoize. So it's more safe now
and clears cache properly. Additionally preventCache option was provided.
v0.8.0 -- 2012.05.28
Again, major overhaul. Probably last experimental stuff was trashed, all API
looks more like standard extensions now.
Changes:
* Turn all Object.prototype extensions into functions and move them to Object
namespace. We learned that extending Object.prototype is bad idea in any case.
* Rename Function.prototype.curry into Function.prototype.partial. This function
is really doing partial application while currying is slightly different
concept.
* Convert Function.prototype.ncurry to new implementation of
Function.prototype.curry, it now serves real curry concept additionaly it
covers use cases for aritize and hold, which were removed.
* Rename Array's peek to last, and provide support for sparse arrays in it
* Rename Date's monthDaysCount into daysInMonth
* Simplify object iterators, now order of iteration can be configured with just
compareFn argument (no extra byKeys option)
* Rename Object.isDuplicate to Object.isCopy
* Rename Object.isEqual to Object.is which is compatible with future 'is'
keyword
* Function.memoize is now Function.prototype.memoize. Additionally clear cache
functionality is added, and access to original arguments object.
* Rename validation functions: assertNotNull to validValue, assertCallable to
validCallable. validValue was moved to Object namespace. On success they now
return validated value instead of true, it supports better composition.
Additionally created Date.validDate and Error.validError
* All documentation is now held in README.md not in code files.
* Move guid to String namespace. All guids now start with numbers.
* Array.generate: fill argument is now optional
* Object.toArray is now Array.from (as new ES6 specification draft suggests)
* All methods that rely on indexOf or lastIndexOf, now rely on egal (Object.is)
versions of them (eIndexOf, eLastIndexOf)
* Turn all get* functions that returned methods into actuall methods (get*
functionality can still be achieved with help of Function.prototype.partial).
So: Date.getFormat is now Date.prototype.format,
Number.getPad is now Number.prototype.pad,
String.getFormat is now String.prototype.format,
String.getIndent is now String.prototype.indent,
String.getPad is now String.prototype.pad
* Refactored Object.descriptor, it is now just two functions, main one and
main.gs, main is for describing values, and gs for describing getters and
setters. Configuration is passed with first argument as string e.g. 'ce' for
configurable and enumerable. If no configuration string is provided then by
default it returns configurable and writable but not enumerable for value or
configurable but not enumerable for getter/setter
* Function.prototype.silent now returns prepared function (it was
expected to be fixed for 0.7)
* Reserved keywords map (reserved) is now array not hash.
* Object.merge is now Object.extend (while former Object.extend was completely
removed) - 'extend' implies that we change object, not creating new one (as
'merge' may imply). Similarily Object.mergeProperties was renamed to
Object.extendProperties
* Position argument support in Array.prototype.contains and
String.prototype.contains (so it follows ES6 specification draft)
* endPosition argument support in String.prototype.endsWith and fromPosition
argument support in String.prototype.startsWith (so it follows ES6
specification draft)
* Better and cleaner String.prototype.indent implementation. No default value
for indent string argument, optional nest value (defaults to 1), remove
nostart argument
* Correct length values for most methods (so they reflect length of similar
methods in standard)
* Length argument is now optional in number and string pad methods.
* Improve arguments validation in general, so it adheres to standard conventions
* Fixed format of package.json
Removed methods and functions:
* Object.prototype.slice - Object is not ordered collection, so slice doesn't
make sense.
* Function's rcurry, rncurry, s - too cumbersome for JS, not many use cases for
that
* Function.prototype.aritize and Function.prototype.hold - same functionality
can be achieved with new Function.prototype.curry
* Function.prototype.log - provided more generic Function.prototype.wrap for
same use case
* getNextIdGenerator - no use case for that (String.guid should be used if
needed)
* Object.toObject - Can be now acheived with Object(validValue(x))
* Array.prototype.someValue - no real use case (personally used once and
case was already controversial)
* Date.prototype.duration - moved to external package
* Number.getAutoincrement - No real use case
* Object.prototype.extend, Object.prototype.override,
Object.prototype.plainCreate, Object.prototype.plainExtend - It was probably
too complex, same should be achieved just with Object.create,
Object.descriptor and by saving references to super methods in local scope.
* Object.getCompareBy - Functions should be created individually for each use
case
* Object.get, Object.getSet, Object.set, Object.unset - Not many use cases and
same can be easily achieved with simple inline function
* String.getPrefixWith - Not real use case for something that can be easily
achieved with '+' operator
* Object.isPrimitive - It's just negation of Object.isObject
* Number.prototype.isLess, Number.prototype.isLessOrEqual - they shouldn't be in
Number namespace and should rather be addressed with simple inline functions.
* Number.prototype.subtract - Should rather be addressed with simple inline
function
New methods and functions:
* Array.prototype.lastIndex - Returns last declared index in array
* String.prototype.last - last for strings
* Function.prototype.wrap - Wrap function with other, it allows to specify
before and after behavior transform return value or prevent original function
from being called.
* Math.sign - Returns sign of a number (already in ES6 specification draft)
* Number.toInt - Converts value to integer (already in ES6 specification draft)
* Number.isNaN - Returns true if value is NaN (already in ES6 specification
draft)
* Number.toUint - Converts value to unsigned integer
* Number.toUint32 - Converts value to 32bit unsigned integer
* Array.prototype.eIndexOf, eLastIndexOf - Egal version (that uses Object.is) of
standard methods (all methods that were using native indexOf or lastIndexOf
now uses eIndexOf and elastIndexOf respectively)
* Array.of - as it's specified for ES6
Fixes:
* Fixed binarySearch so it always returns valid list index
* Object.isList - it failed on lists that are callable (e.g. NodeList in Nitro
engine)
* Object.map now supports third argument for callback
v0.7.1 -- 2012.01.05
New methods:
* Array.prototype.firstIndex - returns first valid index of array (for
sparse arrays it may not be '0'
Improvements:
* Array.prototype.first - now returns value for index returned by firstIndex
* Object.prototype.mapToArray - can be called without callback, then array of
key-value pairs is returned
Fixes
* Array.prototype.forEachRight, object's length read through UInt32 conversion
v0.7.0 -- 2011.12.27
Major update.
Stepped back from experimental ideas and introduced more standard approach
taking example from how ES5 methods and functions are designed. One exceptions
is that, we don’t refrain from declaring methods for Object.prototype - it’s up
to developer whether how he decides to use it in his context (as function or as
method).
In general:
* Removed any method 'functionalization' and functionalize method itself.
es5-ext declares plain methods, which can be configured to work as functions
with call.bind(method) - see documentation.
* Removed separation of Object methods for ES5 (with descriptors) and
ES3 (plain) - we're following ES5 idea on that, some methods are intended just
for enumerable properties and some are for all properties, all are declared
for Object.prototype
* Removed separation of Array generic (collected in List folder) and not generic
methods (collected in Array folder). Now all methods are generic and are in
Array/prototype folder. This separation also meant, that methods in Array are
usually destructive. We don’t do that separation now, there’s generally no use
case for destructive iterators, we should be fine with one version of each
method, (same as ES5 is fine with e.g. one, non destructive 'filter' method)
* Folder structure resembles tree of native ES5 Objects
* All methods are written with ES5 conventions in mind, it means that most
methods are generic and can be run on any object. In more detail:
** Array.prototype and Object.prototype methods can be run on any object (any
not null or undefined value),
** Date.prototype methods should be called only on Date instances.
** Function.prototype methods can be called on any callable objects (not
necessarily functions)
** Number.prototype & String.prototype methods can be called on any value, in
case of Number it it’ll be degraded to number, in case of string it’ll be
degraded to string.
* Travis CI support (only for Node v0.6 branch, as v0.4 has buggy V8 version)
Improvements for existing functions and methods:
* Function.memoize (was Function.cache) is now fully generic, can operate on any
type of arguments and it’s NaN safe (all NaN objects are considered equal)
* Method properties passed to Object.prototype.extend or
Object.prototype.override can aside of _super optionally take prototype object
via _proto argument
* Object iterators: forEach, mapToArray and every can now iterate in specified
order
* pluck, invoke and other functions that return reusable functions or methods
have now their results memoized.
New methods:
* Global: assertNotNull, getNextIdGenerator, guid, isEqual, isPrimitive,
toObject
* Array: generate
* Array.prototype: binarySearch, clear, contains, diff, exclusion, find, first,
forEachRight, group, indexesOf, intersection, remove, someRight, someValue
* Boolean: isBoolean
* Date: isDate
* Function: arguments, context, insert, isArguments, remove
* Function.prototype: not, silent
* Number: getAutoincrement, isNumber
* Number.prototype: isLessOrEqual, isLess, subtract
* Object: assertCallable, descriptor (functions for clean descriptors),
getCompareBy, isCallable, isObject
* Object.prototype: clone (real clone), compact, count, diff, empty,
getPropertyNames, get, keyOf, mapKeys, override, plainCreate, plainExtend,
slice, some, unset
* RegExp: isRegExp
* String: getPrefixWith, isString
* String.prototype: caseInsensitiveCompare, contains, isNumeric
Renamed methods:
* Date.clone -> Date.prototype.copy
* Date.format -> Date.getFormat
* Date/day/floor -> Date.prototype.floorDay
* Date/month/floor -> Date.prototype.floorMonth
* Date/month/year -> Date.prototype.floorYear
* Function.cache -> Function.memoize
* Function.getApplyArg -> Function.prototype.match
* Function.sequence -> Function.prototype.chain
* List.findSameStartLength -> Array.prototype.commonLeft
* Number.pad -> Number.getPad
* Object/plain/clone -> Object.prototype.copy
* Object/plain/elevate -> Object.prototype.flatten
* Object/plain/same -> Object.prototype.isDuplicate
* Object/plain/setValue -> Object.getSet
* String.format -> String.getFormat
* String.indent -> String.getIndent
* String.pad -> String.getPad
* String.trimLeftStr -> String.prototype.trimCommonLeft
* Object.merge -> Object.prototype.mergeProperties
* Object/plain/pluck -> Object.prototype.get
* Array.clone is now Array.prototype.copy and can be used also on any array-like
objects
* List.isList -> Object.isList
* List.toArray -> Object.prototype.toArray
* String/convert/dashToCamelCase -> String.prototype.dashToCamelCase
Removed methods:
* Array.compact - removed destructive version (that operated on same array), we
have now non destructive version as Array.prototype.compact.
* Function.applyBind -> use apply.bind directly
* Function.bindBind -> use bind.bind directly
* Function.callBind -> use call.bind directly
* Fuction.clone -> no valid use case
* Function.dscope -> controversial approach, shouldn’t be considered seriously
* Function.functionalize -> It was experimental but standards are standards
* List/sort/length -> It can be easy obtained by Object.getCompareBy(‘length’)
* List.concat -> Concat’s for array-like’s makes no sense, just convert to array
first
* List.every -> Use Array.prototype.every directly
* List.filter -> Use Array.prototype.filter directly
* List.forEach -> User Array.prototype.forEach directly
* List.isListObject -> No valid use case, do: isList(list) && (typeof list ===
'object’)
* List.map -> Use Array.prototype.map directly
* List.reduce -> Use Array.prototype.reduce directly
* List.shiftSame -> Use Array.prototype.commonLeft and do slice
* List.slice -> Use Array.prototype.slice directly
* List.some -> Use Array.prototype.some directly
* Object.bindMethods -> it was version that considered descriptors, we have now
Object.prototype.bindMethods which operates only on enumerable properties
* Object.every -> version that considered all properties, we have now
Object.prototype.every which iterates only enumerables
* Object.invoke -> no use case
* Object.mergeDeep -> no use case
* Object.pluck -> no use case
* Object.same -> it considered descriptors, now there’s only Object.isDuplicate
which compares only enumerable properties
* Object.sameType -> no use case
* Object.toDescriptor and Object.toDescriptors -> replaced by much nicer
Object.descriptor functions
* Object/plain/link -> no use case (it was used internally only by
Object/plain/merge)
* Object/plain/setTrue -> now easily configurable by more universal
Object.getSet(true)
* String.trimRightStr -> Eventually String.prototype.trimCommonRight will be
added
v0.6.3 -- 2011.12.12
* Cleared npm warning for misnamed property in package.json
v0.6.2 -- 2011.08.12
* Calling String.indent without scope (global scope then) now treated as calling
it with null scope, it allows more direct invocations when using default nest
string: indent().call(str, nest)
v0.6.1 -- 2011.08.08
* Added TAD test suite to devDependencies, configured test commands.
Tests can be run with 'make test' or 'npm test'
v0.6.0 -- 2011.08.07
New methods:
* Array: clone, compact (in place)
* Date: format, duration, clone, monthDaysCount, day.floor, month.floor,
year.floor
* Function: getApplyArg, , ncurry, rncurry, hold, cache, log
* List: findSameStartLength, shiftSame, peek, isListObject
* Number: pad
* Object: sameType, toString, mapToArray, mergeDeep, toDescriptor,
toDescriptors, invoke
* String: startsWith, endsWith, indent, trimLeftStr, trimRightStr, pad, format
Fixed:
* Object.extend does now prototypal extend as exptected
* Object.merge now tries to overwrite only configurable properties
* Function.flip
Improved:
* Faster List.toArray
* Better global retrieval
* Functionalized all Function methods
* Renamed bindApply and bindCall to applyBind and callBind
* Removed Function.inherit (as it's unintuitive curry clone)
* Straightforward logic in Function.k
* Fixed naming of some tests files (letter case issue)
* Renamed Function.saturate into Function.lock
* String.dashToCamelCase digits support
* Strings now considered as List objects
* Improved List.compact
* Concise logic for List.concat
* Test wit TAD in clean ES5 context
v0.5.1 -- 2011.07.11
* Function's bindBind, bindCall and bindApply now more versatile
v0.5.0 -- 2011.07.07
* Removed Object.is and List.apply
* Renamed Object.plain.is to Object.plain.isPlainObject (keep naming convention
consistent)
* Improved documentation
v0.4.0 -- 2011.07.05
* Take most functions on Object to Object.plain to keep them away from object
descriptors
* Object functions with ES5 standard in mind (object descriptors)
v0.3.0 -- 2011.06.24
* New functions
* Consistent file naming (dash instead of camelCase)
v0.2.1 -- 2011.05.28
* Renamed Functions.K and Function.S to to lowercase versions (use consistent
naming)
v0.2.0 -- 2011.05.28
* Renamed Array folder to List (as its generic functions for array-like objects)
* Added Makefile
* Added various functions
v0.1.0 -- 2011.05.24
* Initial version
es5-ext-0.10.53/LICENSE 0000664 0000000 0000000 00000001405 13565534140 0014165 0 ustar 00root root 0000000 0000000 ISC License
Copyright (c) 2011-2019, Mariusz Nowak, @medikoo, medikoo.com
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
es5-ext-0.10.53/README.md 0000664 0000000 0000000 00000117222 13565534140 0014444 0 ustar 00root root 0000000 0000000 [![Build status][nix-build-image]][nix-build-url]
[![Windows status][win-build-image]][win-build-url]
![Transpilation status][transpilation-image]
[![npm version][npm-image]][npm-url]
# es5-ext
## ECMAScript 5 extensions
### (with respect to ECMAScript 6 standard)
Shims for upcoming ES6 standard and other goodies implemented strictly with ECMAScript conventions in mind.
It's designed to be used in compliant ECMAScript 5 or ECMAScript 6 environments. Older environments are not supported, although most of the features should work with correct ECMAScript 5 shim on board.
When used in ECMAScript 6 environment, native implementation (if valid) takes precedence over shims.
### Installation
$ npm install es5-ext
To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: [Browserify](http://browserify.org/), [Webmake](https://github.com/medikoo/modules-webmake) or [Webpack](http://webpack.github.io/)
### Usage
#### ECMAScript 6 features
You can force ES6 features to be implemented in your environment, e.g. following will assign `from` function to `Array` (only if it's not implemented already).
```javascript
require("es5-ext/array/from/implement");
Array.from("foo"); // ['f', 'o', 'o']
```
You can also access shims directly, without fixing native objects. Following will return native `Array.from` if it's available and fallback to shim if it's not.
```javascript
var aFrom = require("es5-ext/array/from");
aFrom("foo"); // ['f', 'o', 'o']
```
If you want to use shim unconditionally (even if native implementation exists) do:
```javascript
var aFrom = require("es5-ext/array/from/shim");
aFrom("foo"); // ['f', 'o', 'o']
```
##### List of ES6 shims
It's about properties introduced with ES6 and those that have been updated in new spec.
- `Array.from` -> `require('es5-ext/array/from')`
- `Array.of` -> `require('es5-ext/array/of')`
- `Array.prototype.concat` -> `require('es5-ext/array/#/concat')`
- `Array.prototype.copyWithin` -> `require('es5-ext/array/#/copy-within')`
- `Array.prototype.entries` -> `require('es5-ext/array/#/entries')`
- `Array.prototype.fill` -> `require('es5-ext/array/#/fill')`
- `Array.prototype.filter` -> `require('es5-ext/array/#/filter')`
- `Array.prototype.find` -> `require('es5-ext/array/#/find')`
- `Array.prototype.findIndex` -> `require('es5-ext/array/#/find-index')`
- `Array.prototype.keys` -> `require('es5-ext/array/#/keys')`
- `Array.prototype.map` -> `require('es5-ext/array/#/map')`
- `Array.prototype.slice` -> `require('es5-ext/array/#/slice')`
- `Array.prototype.splice` -> `require('es5-ext/array/#/splice')`
- `Array.prototype.values` -> `require('es5-ext/array/#/values')`
- `Array.prototype[@@iterator]` -> `require('es5-ext/array/#/@@iterator')`
- `Math.acosh` -> `require('es5-ext/math/acosh')`
- `Math.asinh` -> `require('es5-ext/math/asinh')`
- `Math.atanh` -> `require('es5-ext/math/atanh')`
- `Math.cbrt` -> `require('es5-ext/math/cbrt')`
- `Math.clz32` -> `require('es5-ext/math/clz32')`
- `Math.cosh` -> `require('es5-ext/math/cosh')`
- `Math.exmp1` -> `require('es5-ext/math/expm1')`
- `Math.fround` -> `require('es5-ext/math/fround')`
- `Math.hypot` -> `require('es5-ext/math/hypot')`
- `Math.imul` -> `require('es5-ext/math/imul')`
- `Math.log1p` -> `require('es5-ext/math/log1p')`
- `Math.log2` -> `require('es5-ext/math/log2')`
- `Math.log10` -> `require('es5-ext/math/log10')`
- `Math.sign` -> `require('es5-ext/math/sign')`
- `Math.signh` -> `require('es5-ext/math/signh')`
- `Math.tanh` -> `require('es5-ext/math/tanh')`
- `Math.trunc` -> `require('es5-ext/math/trunc')`
- `Number.EPSILON` -> `require('es5-ext/number/epsilon')`
- `Number.MAX_SAFE_INTEGER` -> `require('es5-ext/number/max-safe-integer')`
- `Number.MIN_SAFE_INTEGER` -> `require('es5-ext/number/min-safe-integer')`
- `Number.isFinite` -> `require('es5-ext/number/is-finite')`
- `Number.isInteger` -> `require('es5-ext/number/is-integer')`
- `Number.isNaN` -> `require('es5-ext/number/is-nan')`
- `Number.isSafeInteger` -> `require('es5-ext/number/is-safe-integer')`
- `Object.assign` -> `require('es5-ext/object/assign')`
- `Object.keys` -> `require('es5-ext/object/keys')`
- `Object.setPrototypeOf` -> `require('es5-ext/object/set-prototype-of')`
- `Promise.prototype.finally` -> `require('es5-ext/promise/#/finally')`
- `RegExp.prototype.match` -> `require('es5-ext/reg-exp/#/match')`
- `RegExp.prototype.replace` -> `require('es5-ext/reg-exp/#/replace')`
- `RegExp.prototype.search` -> `require('es5-ext/reg-exp/#/search')`
- `RegExp.prototype.split` -> `require('es5-ext/reg-exp/#/split')`
- `RegExp.prototype.sticky` -> Implement with `require('es5-ext/reg-exp/#/sticky/implement')`, use as function with `require('es5-ext/reg-exp/#/is-sticky')`
- `RegExp.prototype.unicode` -> Implement with `require('es5-ext/reg-exp/#/unicode/implement')`, use as function with `require('es5-ext/reg-exp/#/is-unicode')`
- `String.fromCodePoint` -> `require('es5-ext/string/from-code-point')`
- `String.raw` -> `require('es5-ext/string/raw')`
- `String.prototype.codePointAt` -> `require('es5-ext/string/#/code-point-at')`
- `String.prototype.contains` -> `require('es5-ext/string/#/contains')`
- `String.prototype.endsWith` -> `require('es5-ext/string/#/ends-with')`
- `String.prototype.normalize` -> `require('es5-ext/string/#/normalize')`
- `String.prototype.repeat` -> `require('es5-ext/string/#/repeat')`
- `String.prototype.startsWith` -> `require('es5-ext/string/#/starts-with')`
- `String.prototype[@@iterator]` -> `require('es5-ext/string/#/@@iterator')`
#### Non ECMAScript standard features
**es5-ext** provides also other utils, and implements them as if they were proposed for a standard. It mostly offers methods (not functions) which can directly be assigned to native prototypes:
```javascript
Object.defineProperty(Function.prototype, "partial", {
value: require("es5-ext/function/#/partial"),
configurable: true,
enumerable: false,
writable: true
});
Object.defineProperty(Array.prototype, "flatten", {
value: require("es5-ext/array/#/flatten"),
configurable: true,
enumerable: false,
writable: true
});
Object.defineProperty(String.prototype, "capitalize", {
value: require("es5-ext/string/#/capitalize"),
configurable: true,
enumerable: false,
writable: true
});
```
See [es5-extend](https://github.com/wookieb/es5-extend#es5-extend), a great utility that automatically will extend natives for you.
**Important:** Remember to **not** extend natives in scope of generic reusable packages (e.g. ones you intend to publish to npm). Extending natives is fine **only** if you're the _owner_ of the global scope, so e.g. in final project you lead development of.
When you're in situation when native extensions are not good idea, then you should use methods indirectly:
```javascript
var flatten = require("es5-ext/array/#/flatten");
flatten.call([1, [2, [3, 4]]]); // [1, 2, 3, 4]
```
for better convenience you can turn methods into functions:
```javascript
var call = Function.prototype.call;
var flatten = call.bind(require("es5-ext/array/#/flatten"));
flatten([1, [2, [3, 4]]]); // [1, 2, 3, 4]
```
You can configure custom toolkit (like [underscorejs](http://underscorejs.org/)), and use it throughout your application
```javascript
var util = {};
util.partial = call.bind(require("es5-ext/function/#/partial"));
util.flatten = call.bind(require("es5-ext/array/#/flatten"));
util.startsWith = call.bind(require("es5-ext/string/#/starts-with"));
util.flatten([1, [2, [3, 4]]]); // [1, 2, 3, 4]
```
As with native ones most methods are generic and can be run on any type of object.
## API
### Global extensions
#### global _(es5-ext/global)_
Object that represents global scope
### Array Constructor extensions
#### from(arrayLike[, mapFn[, thisArg]]) _(es5-ext/array/from)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.from).
Returns array representation of _iterable_ or _arrayLike_. If _arrayLike_ is an instance of array, its copy is returned.
#### generate([length[, …fill]]) _(es5-ext/array/generate)_
Generate an array of pre-given _length_ built of repeated arguments.
#### isPlainArray(x) _(es5-ext/array/is-plain-array)_
Returns true if object is plain array (not instance of one of the Array's extensions).
#### of([…items]) _(es5-ext/array/of)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.of).
Create an array from given arguments.
#### toArray(obj) _(es5-ext/array/to-array)_
Returns array representation of `obj`. If `obj` is already an array, `obj` is returned back.
#### validArray(obj) _(es5-ext/array/valid-array)_
Returns `obj` if it's an array, otherwise throws `TypeError`
### Array Prototype extensions
#### arr.binarySearch(compareFn) _(es5-ext/array/#/binary-search)_
In **sorted** list search for index of item for which _compareFn_ returns value closest to _0_.
It's variant of binary search algorithm
#### arr.clear() _(es5-ext/array/#/clear)_
Clears the array
#### arr.compact() _(es5-ext/array/#/compact)_
Returns a copy of the context with all non-values (`null` or `undefined`) removed.
#### arr.concat() _(es5-ext/array/#/concat)_
[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.concat).
ES6's version of `concat`. Supports `isConcatSpreadable` symbol, and returns array of same type as the context.
#### arr.contains(searchElement[, position]) _(es5-ext/array/#/contains)_
Whether list contains the given value.
#### arr.copyWithin(target, start[, end]) _(es5-ext/array/#/copy-within)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.copywithin).
#### arr.diff(other) _(es5-ext/array/#/diff)_
Returns the array of elements that are present in context list but not present in other list.
#### arr.eIndexOf(searchElement[, fromIndex]) _(es5-ext/array/#/e-index-of)_
_egal_ version of `indexOf` method. [_SameValueZero_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero) logic is used for comparision
#### arr.eLastIndexOf(searchElement[, fromIndex]) _(es5-ext/array/#/e-last-index-of)_
_egal_ version of `lastIndexOf` method. [_SameValueZero_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero) logic is used for comparision
#### arr.entries() _(es5-ext/array/#/entries)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.entries).
Returns iterator object, which traverses the array. Each value is represented with an array, where first value is an index and second is corresponding to index value.
#### arr.exclusion([…lists]]) _(es5-ext/array/#/exclusion)_
Returns the array of elements that are found only in one of the lists (either context list or list provided in arguments).
#### arr.fill(value[, start, end]) _(es5-ext/array/#/fill)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.fill).
#### arr.filter(callback[, thisArg]) _(es5-ext/array/#/filter)_
[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.filter).
ES6's version of `filter`, returns array of same type as the context.
#### arr.find(predicate[, thisArg]) _(es5-ext/array/#/find)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.find).
Return first element for which given function returns true
#### arr.findIndex(predicate[, thisArg]) _(es5-ext/array/#/find-index)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.findindex).
Return first index for which given function returns true
#### arr.first() _(es5-ext/array/#/first)_
Returns value for first defined index
#### arr.firstIndex() _(es5-ext/array/#/first-index)_
Returns first declared index of the array
#### arr.flatten() _(es5-ext/array/#/flatten)_
Returns flattened version of the array
#### arr.forEachRight(cb[, thisArg]) _(es5-ext/array/#/for-each-right)_
`forEach` starting from last element
#### arr.group(cb[, thisArg]) _(es5-ext/array/#/group)_
Group list elements by value returned by _cb_ function
#### arr.indexesOf(searchElement[, fromIndex]) _(es5-ext/array/#/indexes-of)_
Returns array of all indexes of given value
#### arr.intersection([…lists]) _(es5-ext/array/#/intersection)_
Computes the array of values that are the intersection of all lists (context list and lists given in arguments)
#### arr.isCopy(other) _(es5-ext/array/#/is-copy)_
Returns true if both context and _other_ lists have same content
#### arr.isUniq() _(es5-ext/array/#/is-uniq)_
Returns true if all values in array are unique
#### arr.keys() _(es5-ext/array/#/keys)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.keys).
Returns iterator object, which traverses all array indexes.
#### arr.last() _(es5-ext/array/#/last)_
Returns value of last defined index
#### arr.lastIndex() _(es5-ext/array/#/last)_
Returns last defined index of the array
#### arr.map(callback[, thisArg]) _(es5-ext/array/#/map)_
[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.map).
ES6's version of `map`, returns array of same type as the context.
#### arr.remove(value[, …valuen]) _(es5-ext/array/#/remove)_
Remove values from the array
#### arr.separate(sep) _(es5-ext/array/#/separate)_
Returns array with items separated with `sep` value
#### arr.slice(callback[, thisArg]) _(es5-ext/array/#/slice)_
[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.slice).
ES6's version of `slice`, returns array of same type as the context.
#### arr.someRight(cb[, thisArg]) _(es5-ext/array/#/someRight)_
`some` starting from last element
#### arr.splice(callback[, thisArg]) _(es5-ext/array/#/splice)_
[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.splice).
ES6's version of `splice`, returns array of same type as the context.
#### arr.uniq() _(es5-ext/array/#/uniq)_
Returns duplicate-free version of the array
#### arr.values() _(es5-ext/array/#/values)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.values).
Returns iterator object which traverses all array values.
#### arr[@@iterator] _(es5-ext/array/#/@@iterator)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype-@@iterator).
Returns iterator object which traverses all array values.
### Boolean Constructor extensions
#### isBoolean(x) _(es5-ext/boolean/is-boolean)_
Whether value is boolean
### Date Constructor extensions
#### isDate(x) _(es5-ext/date/is-date)_
Whether value is date instance
#### validDate(x) _(es5-ext/date/valid-date)_
If given object is not date throw TypeError in other case return it.
### Date Prototype extensions
#### date.copy(date) _(es5-ext/date/#/copy)_
Returns a copy of the date object
#### date.daysInMonth() _(es5-ext/date/#/days-in-month)_
Returns number of days of date's month
#### date.floorDay() _(es5-ext/date/#/floor-day)_
Sets the date time to 00:00:00.000
#### date.floorMonth() _(es5-ext/date/#/floor-month)_
Sets date day to 1 and date time to 00:00:00.000
#### date.floorYear() _(es5-ext/date/#/floor-year)_
Sets date month to 0, day to 1 and date time to 00:00:00.000
#### date.format(pattern) _(es5-ext/date/#/format)_
Formats date up to given string. Supported patterns:
- `%Y` - Year with century, 1999, 2003
- `%y` - Year without century, 99, 03
- `%m` - Month, 01..12
- `%d` - Day of the month 01..31
- `%H` - Hour (24-hour clock), 00..23
- `%M` - Minute, 00..59
- `%S` - Second, 00..59
- `%L` - Milliseconds, 000..999
### Error Constructor extensions
#### custom(message/_, code, ext_/) _(es5-ext/error/custom)_
Creates custom error object, optinally extended with `code` and other extension properties (provided with `ext` object)
#### isError(x) _(es5-ext/error/is-error)_
Whether value is an error (instance of `Error`).
#### validError(x) _(es5-ext/error/valid-error)_
If given object is not error throw TypeError in other case return it.
### Error Prototype extensions
#### err.throw() _(es5-ext/error/#/throw)_
Throws error
### Function Constructor extensions
Some of the functions were inspired by [Functional JavaScript](http://osteele.com/sources/javascript/functional/) project by Olivier Steele
#### constant(x) _(es5-ext/function/constant)_
Returns a constant function that returns pregiven argument
_k(x)(y) =def x_
#### identity(x) _(es5-ext/function/identity)_
Identity function. Returns first argument
_i(x) =def x_
#### invoke(name[, …args]) _(es5-ext/function/invoke)_
Returns a function that takes an object as an argument, and applies object's
_name_ method to arguments.
_name_ can be name of the method or method itself.
_invoke(name, …args)(object, …args2) =def object\[name\]\(…args, …args2\)_
#### isArguments(x) _(es5-ext/function/is-arguments)_
Whether value is arguments object
#### isFunction(arg) _(es5-ext/function/is-function)_
Whether value is instance of function
#### noop() _(es5-ext/function/noop)_
No operation function
#### pluck(name) _(es5-ext/function/pluck)_
Returns a function that takes an object, and returns the value of its _name_
property
_pluck(name)(obj) =def obj[name]_
#### validFunction(arg) _(es5-ext/function/valid-function)_
If given object is not function throw TypeError in other case return it.
### Function Prototype extensions
Some of the methods were inspired by [Functional JavaScript](http://osteele.com/sources/javascript/functional/) project by Olivier Steele
#### fn.compose([…fns]) _(es5-ext/function/#/compose)_
Applies the functions in reverse argument-list order.
_f1.compose(f2, f3, f4)(…args) =def f1(f2(f3(f4(…arg))))_
`compose` can also be used in plain function form as:
_compose(f1, f2, f3, f4)(…args) =def f1(f2(f3(f4(…arg))))_
#### fn.copy() _(es5-ext/function/#/copy)_
Produces copy of given function
#### fn.curry([n]) _(es5-ext/function/#/curry)_
Invoking the function returned by this function only _n_ arguments are passed to the underlying function. If the underlying function is not saturated, the result is a function that passes all its arguments to the underlying function.
If _n_ is not provided then it defaults to context function length
_f.curry(4)(arg1, arg2)(arg3)(arg4) =def f(arg1, args2, arg3, arg4)_
#### fn.lock([…args]) _(es5-ext/function/#/lock)_
Returns a function that applies the underlying function to _args_, and ignores its own arguments.
_f.lock(…args)(…args2) =def f(…args)_
_Named after it's counterpart in Google Closure_
#### fn.not() _(es5-ext/function/#/not)_
Returns a function that returns boolean negation of value returned by underlying function.
_f.not()(…args) =def !f(…args)_
#### fn.partial([…args]) _(es5-ext/function/#/partial)_
Returns a function that when called will behave like context function called with initially passed arguments. If more arguments are suplilied, they are appended to initial args.
_f.partial(…args1)(…args2) =def f(…args1, …args2)_
#### fn.spread() _(es5-ext/function/#/spread)_
Returns a function that applies underlying function with first list argument
_f.match()(args) =def f.apply(null, args)_
#### fn.toStringTokens() _(es5-ext/function/#/to-string-tokens)_
Serializes function into two (arguments and body) string tokens. Result is plain object with `args` and `body` properties.
### Math extensions
#### acosh(x) _(es5-ext/math/acosh)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.acosh).
#### asinh(x) _(es5-ext/math/asinh)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.asinh).
#### atanh(x) _(es5-ext/math/atanh)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.atanh).
#### cbrt(x) _(es5-ext/math/cbrt)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.cbrt).
#### clz32(x) _(es5-ext/math/clz32)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.clz32).
#### cosh(x) _(es5-ext/math/cosh)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.cosh).
#### expm1(x) _(es5-ext/math/expm1)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.expm1).
#### fround(x) _(es5-ext/math/fround)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.fround).
#### hypot([…values]) _(es5-ext/math/hypot)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.hypot).
#### imul(x, y) _(es5-ext/math/imul)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.imul).
#### log1p(x) _(es5-ext/math/log1p)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.log1p).
#### log2(x) _(es5-ext/math/log2)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.log2).
#### log10(x) _(es5-ext/math/log10)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.log10).
#### sign(x) _(es5-ext/math/sign)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.sign).
#### sinh(x) _(es5-ext/math/sinh)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.sinh).
#### tanh(x) _(es5-ext/math/tanh)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.tanh).
#### trunc(x) _(es5-ext/math/trunc)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.trunc).
### Number Constructor extensions
#### EPSILON _(es5-ext/number/epsilon)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.epsilon).
The difference between 1 and the smallest value greater than 1 that is representable as a Number value, which is approximately 2.2204460492503130808472633361816 x 10-16.
#### isFinite(x) _(es5-ext/number/is-finite)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isfinite).
Whether value is finite. Differs from global isNaN that it doesn't do type coercion.
#### isInteger(x) _(es5-ext/number/is-integer)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isinteger).
Whether value is integer.
#### isNaN(x) _(es5-ext/number/is-nan)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isnan).
Whether value is NaN. Differs from global isNaN that it doesn't do type coercion.
#### isNumber(x) _(es5-ext/number/is-number)_
Whether given value is number
#### isSafeInteger(x) _(es5-ext/number/is-safe-integer)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.issafeinteger).
#### MAX*SAFE_INTEGER *(es5-ext/number/max-safe-integer)\_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.maxsafeinteger).
The value of Number.MAX_SAFE_INTEGER is 9007199254740991.
#### MIN*SAFE_INTEGER *(es5-ext/number/min-safe-integer)\_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.minsafeinteger).
The value of Number.MIN_SAFE_INTEGER is -9007199254740991 (253-1).
#### toInteger(x) _(es5-ext/number/to-integer)_
Converts value to integer
#### toPosInteger(x) _(es5-ext/number/to-pos-integer)_
Converts value to positive integer. If provided value is less than 0, then 0 is returned
#### toUint32(x) _(es5-ext/number/to-uint32)_
Converts value to unsigned 32 bit integer. This type is used for array lengths.
See: http://www.2ality.com/2012/02/js-integers.html
### Number Prototype extensions
#### num.pad(length[, precision]) _(es5-ext/number/#/pad)_
Pad given number with zeros. Returns string
### Object Constructor extensions
#### assign(target, source[, …sourcen]) _(es5-ext/object/assign)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign).
Extend _target_ by enumerable own properties of other objects. If properties are already set on target object, they will be overwritten.
#### clear(obj) _(es5-ext/object/clear)_
Remove all enumerable own properties of the object
#### compact(obj) _(es5-ext/object/compact)_
Returns copy of the object with all enumerable properties that have no falsy values
#### compare(obj1, obj2) _(es5-ext/object/compare)_
Universal cross-type compare function. To be used for e.g. array sort.
#### copy(obj) _(es5-ext/object/copy)_
Returns copy of the object with all enumerable properties.
#### copyDeep(obj) _(es5-ext/object/copy-deep)_
Returns deep copy of the object with all enumerable properties.
#### count(obj) _(es5-ext/object/count)_
Counts number of enumerable own properties on object
#### create(obj[, properties]) _(es5-ext/object/create)_
`Object.create` alternative that provides workaround for [V8 issue](http://code.google.com/p/v8/issues/detail?id=2804).
When `null` is provided as a prototype, it's substituted with specially prepared object that derives from Object.prototype but has all Object.prototype properties shadowed with undefined.
It's quirky solution that allows us to have plain objects with no truthy properties but with turnable prototype.
Use only for objects that you plan to switch prototypes of and be aware of limitations of this workaround.
#### eq(x, y) _(es5-ext/object/eq)_
Whether two values are equal, using [_SameValueZero_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero) algorithm.
#### every(obj, cb[, thisArg[, compareFn]]) _(es5-ext/object/every)_
Analogous to Array.prototype.every. Returns true if every key-value pair in this object satisfies the provided testing function.
Optionally _compareFn_ can be provided which assures that keys are tested in given order. If provided _compareFn_ is equal to `true`, then order is alphabetical (by key).
#### filter(obj, cb[, thisArg]) _(es5-ext/object/filter)_
Analogous to Array.prototype.filter. Returns new object with properites for which _cb_ function returned truthy value.
#### firstKey(obj) _(es5-ext/object/first-key)_
Returns first enumerable key of the object, as keys are unordered by specification, it can be any key of an object.
#### flatten(obj) _(es5-ext/object/flatten)_
Returns new object, with flatten properties of input object
_flatten({ a: { b: 1 }, c: { d: 1 } }) =def { b: 1, d: 1 }_
#### forEach(obj, cb[, thisArg[, compareFn]]) _(es5-ext/object/for-each)_
Analogous to Array.prototype.forEach. Calls a function for each key-value pair found in object
Optionally _compareFn_ can be provided which assures that properties are iterated in given order. If provided _compareFn_ is equal to `true`, then order is alphabetical (by key).
#### getPropertyNames() _(es5-ext/object/get-property-names)_
Get all (not just own) property names of the object
#### is(x, y) _(es5-ext/object/is)_
Whether two values are equal, using [_SameValue_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero) algorithm.
#### isArrayLike(x) _(es5-ext/object/is-array-like)_
Whether object is array-like object
#### isCopy(x, y) _(es5-ext/object/is-copy)_
Two values are considered a copy of same value when all of their own enumerable properties have same values.
#### isCopyDeep(x, y) _(es5-ext/object/is-copy-deep)_
Deep comparision of objects
#### isEmpty(obj) _(es5-ext/object/is-empty)_
True if object doesn't have any own enumerable property
#### isObject(arg) _(es5-ext/object/is-object)_
Whether value is not primitive
#### isPlainObject(arg) _(es5-ext/object/is-plain-object)_
Whether object is plain object, its protototype should be Object.prototype and it cannot be host object.
#### keyOf(obj, searchValue) _(es5-ext/object/key-of)_
Search object for value
#### keys(obj) _(es5-ext/object/keys)_
[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.keys).
ES6's version of `keys`, doesn't throw on primitive input
#### map(obj, cb[, thisArg]) _(es5-ext/object/map)_
Analogous to Array.prototype.map. Creates a new object with properties which values are results of calling a provided function on every key-value pair in this object.
#### mapKeys(obj, cb[, thisArg]) _(es5-ext/object/map-keys)_
Create new object with same values, but remapped keys
#### mixin(target, source) _(es5-ext/object/mixin)_
Extend _target_ by all own properties of other objects. Properties found in both objects will be overwritten (unless they're not configurable and cannot be overwritten).
_It was for a moment part of ECMAScript 6 draft._
#### mixinPrototypes(target, …source]) _(es5-ext/object/mixin-prototypes)_
Extends _target_, with all source and source's prototype properties.
Useful as an alternative for `setPrototypeOf` in environments in which it cannot be shimmed (no `__proto__` support).
#### normalizeOptions(options) _(es5-ext/object/normalize-options)_
Normalizes options object into flat plain object.
Useful for functions in which we either need to keep options object for future reference or need to modify it for internal use.
- It never returns input `options` object back (always a copy is created)
- `options` can be undefined in such case empty plain object is returned.
- Copies all enumerable properties found down prototype chain.
#### primitiveSet([…names]) _(es5-ext/object/primitive-set)_
Creates `null` prototype based plain object, and sets on it all property names provided in arguments to true.
#### safeTraverse(obj[, …names]) _(es5-ext/object/safe-traverse)_
Safe navigation of object properties. See http://wiki.ecmascript.org/doku.php?id=strawman:existential_operator
#### serialize(value) _(es5-ext/object/serialize)_
Serialize value into string. Differs from [JSON.stringify](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) that it serializes also dates, functions and regular expresssions.
#### setPrototypeOf(object, proto) _(es5-ext/object/set-prototype-of)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.setprototypeof).
If native version is not provided, it depends on existence of `__proto__` functionality, if it's missing, `null` instead of function is exposed.
#### some(obj, cb[, thisArg[, compareFn]]) _(es5-ext/object/some)_
Analogous to Array.prototype.some Returns true if any key-value pair satisfies the provided
testing function.
Optionally _compareFn_ can be provided which assures that keys are tested in given order. If provided _compareFn_ is equal to `true`, then order is alphabetical (by key).
#### toArray(obj[, cb[, thisArg[, compareFn]]]) _(es5-ext/object/to-array)_
Creates an array of results of calling a provided function on every key-value pair in this object.
Optionally _compareFn_ can be provided which assures that results are added in given order. If provided _compareFn_ is equal to `true`, then order is alphabetical (by key).
#### unserialize(str) _(es5-ext/object/unserialize)_
Userializes value previously serialized with [serialize](#serializevalue-es5-extobjectserialize)
#### validCallable(x) _(es5-ext/object/valid-callable)_
If given object is not callable throw TypeError in other case return it.
#### validObject(x) _(es5-ext/object/valid-object)_
Throws error if given value is not an object, otherwise it is returned.
#### validValue(x) _(es5-ext/object/valid-value)_
Throws error if given value is `null` or `undefined`, otherwise returns value.
### Promise Prototype extensions
#### promise.finally(onFinally) _(es5-ext/promise/#/finally)_
[_Introduced with ECMAScript 2018_](https://tc39.github.io/ecma262/#sec-promise.prototype.finally).
### RegExp Constructor extensions
#### escape(str) _(es5-ext/reg-exp/escape)_
Escapes string to be used in regular expression
#### isRegExp(x) _(es5-ext/reg-exp/is-reg-exp)_
Whether object is regular expression
#### validRegExp(x) _(es5-ext/reg-exp/valid-reg-exp)_
If object is regular expression it is returned, otherwise TypeError is thrown.
### RegExp Prototype extensions
#### re.isSticky(x) _(es5-ext/reg-exp/#/is-sticky)_
Whether regular expression has `sticky` flag.
It's to be used as counterpart to [regExp.sticky](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-get-regexp.prototype.sticky) if it's not implemented.
#### re.isUnicode(x) _(es5-ext/reg-exp/#/is-unicode)_
Whether regular expression has `unicode` flag.
It's to be used as counterpart to [regExp.unicode](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-get-regexp.prototype.unicode) if it's not implemented.
#### re.match(string) _(es5-ext/reg-exp/#/match)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.match).
#### re.replace(string, replaceValue) _(es5-ext/reg-exp/#/replace)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.replace).
#### re.search(string) _(es5-ext/reg-exp/#/search)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.search).
#### re.split(string) _(es5-ext/reg-exp/#/search)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.split).
#### re.sticky _(es5-ext/reg-exp/#/sticky/implement)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.sticky).
It's a getter, so only `implement` and `is-implemented` modules are provided.
#### re.unicode _(es5-ext/reg-exp/#/unicode/implement)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.unicode).
It's a getter, so only `implement` and `is-implemented` modules are provided.
### String Constructor extensions
#### formatMethod(fMap) _(es5-ext/string/format-method)_
Creates format method. It's used e.g. to create `Date.prototype.format` method
#### fromCodePoint([…codePoints]) _(es5-ext/string/from-code-point)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.fromcodepoint)
#### isString(x) _(es5-ext/string/is-string)_
Whether object is string
#### randomUniq() _(es5-ext/string/random-uniq)_
Returns randomly generated id, with guarantee of local uniqueness (no same id will be returned twice)
#### raw(callSite[, …substitutions]) _(es5-ext/string/raw)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.raw)
### String Prototype extensions
#### str.at(pos) _(es5-ext/string/#/at)_
_Proposed for ECMAScript 6/7 standard, but not (yet) in a draft_
Returns a string at given position in Unicode-safe manner.
Based on [implementation by Mathias Bynens](https://github.com/mathiasbynens/String.prototype.at).
#### str.camelToHyphen() _(es5-ext/string/#/camel-to-hyphen)_
Convert camelCase string to hyphen separated, e.g. one-two-three -> oneTwoThree.
Useful when converting names from js property convention into filename convention.
#### str.capitalize() _(es5-ext/string/#/capitalize)_
Capitalize first character of a string
#### str.caseInsensitiveCompare(str) _(es5-ext/string/#/case-insensitive-compare)_
Case insensitive compare
#### str.codePointAt(pos) _(es5-ext/string/#/code-point-at)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.codepointat)
Based on [implementation by Mathias Bynens](https://github.com/mathiasbynens/String.prototype.codePointAt).
#### str.contains(searchString[, position]) _(es5-ext/string/#/contains)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.contains)
Whether string contains given string.
#### str.endsWith(searchString[, endPosition]) _(es5-ext/string/#/ends-with)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.endswith).
Whether strings ends with given string
#### str.hyphenToCamel() _(es5-ext/string/#/hyphen-to-camel)_
Convert hyphen separated string to camelCase, e.g. one-two-three -> oneTwoThree.
Useful when converting names from filename convention to js property name convention.
#### str.indent(str[, count]) _(es5-ext/string/#/indent)_
Indents each line with provided _str_ (if _count_ given then _str_ is repeated _count_ times).
#### str.last() _(es5-ext/string/#/last)_
Return last character
#### str.normalize([form]) _(es5-ext/string/#/normalize)_
[_Introduced with ECMAScript 6_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize).
Returns the Unicode Normalization Form of a given string.
Based on Matsuza's version. Code used for integrated shim can be found at [github.com/walling/unorm](https://github.com/walling/unorm/blob/master/lib/unorm.js)
#### str.pad(fill[, length]) _(es5-ext/string/#/pad)_
Pad string with _fill_.
If _length_ si given than _fill_ is reapated _length_ times.
If _length_ is negative then pad is applied from right.
#### str.repeat(n) _(es5-ext/string/#/repeat)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.repeat).
Repeat given string _n_ times
#### str.plainReplace(search, replace) _(es5-ext/string/#/plain-replace)_
Simple `replace` version. Doesn't support regular expressions. Replaces just first occurrence of search string. Doesn't support insert patterns, therefore it is safe to replace text with text obtained programmatically (there's no need for additional _\$_ characters escape in such case).
#### str.plainReplaceAll(search, replace) _(es5-ext/string/#/plain-replace-all)_
Simple `replace` version. Doesn't support regular expressions. Replaces all occurrences of search string. Doesn't support insert patterns, therefore it is safe to replace text with text obtained programmatically (there's no need for additional _\$_ characters escape in such case).
#### str.startsWith(searchString[, position]) _(es5-ext/string/#/starts-with)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.startswith).
Whether strings starts with given string
#### str[@@iterator] _(es5-ext/string/#/@@iterator)_
[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype-@@iterator).
Returns iterator object which traverses all string characters (with respect to unicode symbols)
### Tests
$ npm test
## Security contact information
To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). Tidelift will coordinate the fix and disclosure.
## es5-ext for enterprise
Available as part of the Tidelift Subscription
The maintainers of es5-ext and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-es5-ext?utm_source=npm-es5-ext&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
[nix-build-image]: https://semaphoreci.com/api/v1/medikoo-org/es5-ext/branches/master/shields_badge.svg
[nix-build-url]: https://semaphoreci.com/medikoo-org/es5-ext
[win-build-image]: https://ci.appveyor.com/api/projects/status/3jox67ksw3p8hkwh/branch/master?svg=true
[win-build-url]: https://ci.appveyor.com/project/medikoo/es5-ext
[transpilation-image]: https://img.shields.io/badge/transpilation-free-brightgreen.svg
[npm-image]: https://img.shields.io/npm/v/es5-ext.svg
[npm-url]: https://www.npmjs.com/package/es5-ext
es5-ext-0.10.53/array/ 0000775 0000000 0000000 00000000000 13565534140 0014276 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/array/#/ 0000775 0000000 0000000 00000000000 13565534140 0014420 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/array/#/@@iterator/ 0000775 0000000 0000000 00000000000 13565534140 0016451 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/array/#/@@iterator/implement.js 0000664 0000000 0000000 00000000336 13565534140 0021003 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Array.prototype, require("es6-symbol").iterator, {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/array/#/@@iterator/index.js 0000664 0000000 0000000 00000000207 13565534140 0020115 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Array.prototype[require("es6-symbol").iterator]
: require("./shim");
es5-ext-0.10.53/array/#/@@iterator/is-implemented.js 0000664 0000000 0000000 00000000741 13565534140 0021725 0 ustar 00root root 0000000 0000000 "use strict";
var iteratorSymbol = require("es6-symbol").iterator;
module.exports = function () {
var arr = ["foo", 1], iterator, result;
if (typeof arr[iteratorSymbol] !== "function") return false;
iterator = arr[iteratorSymbol]();
if (!iterator) return false;
if (typeof iterator.next !== "function") return false;
result = iterator.next();
if (!result) return false;
if (result.value !== "foo") return false;
if (result.done !== false) return false;
return true;
};
es5-ext-0.10.53/array/#/@@iterator/shim.js 0000664 0000000 0000000 00000000073 13565534140 0017747 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("../values/shim");
es5-ext-0.10.53/array/#/_compare-by-length.js 0000664 0000000 0000000 00000000336 13565534140 0020434 0 ustar 00root root 0000000 0000000 // Used internally to sort array of lists by length
"use strict";
var toPosInt = require("../../number/to-pos-integer");
module.exports = function (arr1, arr2) { return toPosInt(arr1.length) - toPosInt(arr2.length); };
es5-ext-0.10.53/array/#/binary-search.js 0000664 0000000 0000000 00000001130 13565534140 0017500 0 ustar 00root root 0000000 0000000 "use strict";
var toPosInt = require("../../number/to-pos-integer")
, callable = require("../../object/valid-callable")
, value = require("../../object/valid-value")
, floor = Math.floor;
module.exports = function (compareFn) {
var length, low, high, middle;
value(this);
callable(compareFn);
length = toPosInt(this.length);
low = 0;
high = length - 1;
while (low <= high) {
middle = floor((low + high) / 2);
if (compareFn(this[middle]) < 0) high = middle - 1;
else low = middle + 1;
}
if (high < 0) return 0;
if (high >= length) return length - 1;
return high;
};
es5-ext-0.10.53/array/#/clear.js 0000664 0000000 0000000 00000000422 13565534140 0016042 0 ustar 00root root 0000000 0000000 // Inspired by Google Closure:
// http://closure-library.googlecode.com/svn/docs/
// closure_goog_array_array.js.html#goog.array.clear
"use strict";
var value = require("../../object/valid-value");
module.exports = function () {
value(this).length = 0;
return this;
};
es5-ext-0.10.53/array/#/compact.js 0000664 0000000 0000000 00000000421 13565534140 0016401 0 ustar 00root root 0000000 0000000 // Inspired by: http://documentcloud.github.com/underscore/#compact
"use strict";
var isValue = require("../../object/is-value");
var filter = Array.prototype.filter;
module.exports = function () {
return filter.call(this, function (val) { return isValue(val); });
};
es5-ext-0.10.53/array/#/concat/ 0000775 0000000 0000000 00000000000 13565534140 0015667 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/array/#/concat/implement.js 0000664 0000000 0000000 00000000310 13565534140 0020211 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Array.prototype, "concat", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/array/#/concat/index.js 0000664 0000000 0000000 00000000154 13565534140 0017334 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Array.prototype.concat : require("./shim");
es5-ext-0.10.53/array/#/concat/is-implemented.js 0000664 0000000 0000000 00000000242 13565534140 0021137 0 ustar 00root root 0000000 0000000 "use strict";
var SubArray = require("../../_sub-array-dummy-safe");
module.exports = function () { return new SubArray().concat("foo") instanceof SubArray; };
es5-ext-0.10.53/array/#/concat/shim.js 0000664 0000000 0000000 00000002376 13565534140 0017175 0 ustar 00root root 0000000 0000000 "use strict";
var isPlainArray = require("../../is-plain-array")
, toPosInt = require("../../../number/to-pos-integer")
, isObject = require("../../../object/is-object")
, isConcatSpreadable = require("es6-symbol").isConcatSpreadable
, isArray = Array.isArray
, concat = Array.prototype.concat
, forEach = Array.prototype.forEach
, isSpreadable;
isSpreadable = function (value) {
if (!value) return false;
if (!isObject(value)) return false;
if (value[isConcatSpreadable] !== undefined) {
return Boolean(value[isConcatSpreadable]);
}
return isArray(value);
};
// eslint-disable-next-line no-unused-vars
module.exports = function (item/*, …items*/) {
var result;
if (!this || !isArray(this) || isPlainArray(this)) {
return concat.apply(this, arguments);
}
result = new this.constructor();
if (isSpreadable(this)) {
forEach.call(this, function (val, i) { result[i] = val; });
} else {
result[0] = this;
}
forEach.call(arguments, function (arg) {
var base;
if (isSpreadable(arg)) {
base = result.length;
result.length += toPosInt(arg.length);
forEach.call(arg, function (val, i) { result[base + i] = val; });
return;
}
result.push(arg);
});
return result;
};
es5-ext-0.10.53/array/#/contains.js 0000664 0000000 0000000 00000000262 13565534140 0016574 0 ustar 00root root 0000000 0000000 "use strict";
var indexOf = require("./e-index-of");
module.exports = function (searchElement/*, position*/) {
return indexOf.call(this, searchElement, arguments[1]) > -1;
};
es5-ext-0.10.53/array/#/copy-within/ 0000775 0000000 0000000 00000000000 13565534140 0016672 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/array/#/copy-within/implement.js 0000664 0000000 0000000 00000000314 13565534140 0021220 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Array.prototype, "copyWithin", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/array/#/copy-within/index.js 0000664 0000000 0000000 00000000160 13565534140 0020334 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Array.prototype.copyWithin : require("./shim");
es5-ext-0.10.53/array/#/copy-within/is-implemented.js 0000664 0000000 0000000 00000000274 13565534140 0022147 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var arr = [1, 2, 3, 4, 5];
if (typeof arr.copyWithin !== "function") return false;
return String(arr.copyWithin(1, 3)) === "1,4,5,4,5";
};
es5-ext-0.10.53/array/#/copy-within/shim.js 0000664 0000000 0000000 00000002277 13565534140 0020200 0 ustar 00root root 0000000 0000000 // Taken from: https://github.com/paulmillr/es6-shim/
"use strict";
var toInteger = require("../../../number/to-integer")
, toPosInt = require("../../../number/to-pos-integer")
, validValue = require("../../../object/valid-value")
, objHasOwnProperty = Object.prototype.hasOwnProperty
, max = Math.max
, min = Math.min;
module.exports = function (target, start/*, end*/) {
var arr = validValue(this)
, end = arguments[2]
, length = toPosInt(arr.length)
, to
, from
, fin
, count
, direction;
target = toInteger(target);
start = toInteger(start);
end = end === undefined ? length : toInteger(end);
to = target < 0 ? max(length + target, 0) : min(target, length);
from = start < 0 ? max(length + start, 0) : min(start, length);
fin = end < 0 ? max(length + end, 0) : min(end, length);
count = min(fin - from, length - to);
direction = 1;
if (from < to && to < from + count) {
direction = -1;
from += count - 1;
to += count - 1;
}
while (count > 0) {
if (objHasOwnProperty.call(arr, from)) arr[to] = arr[from];
else delete arr[from];
from += direction;
to += direction;
count -= 1;
}
return arr;
};
es5-ext-0.10.53/array/#/diff.js 0000664 0000000 0000000 00000000447 13565534140 0015673 0 ustar 00root root 0000000 0000000 "use strict";
var value = require("../../object/valid-value")
, contains = require("./contains")
, filter = Array.prototype.filter;
module.exports = function (other) {
value(this);
value(other);
return filter.call(this, function (item) { return !contains.call(other, item); });
};
es5-ext-0.10.53/array/#/e-index-of.js 0000664 0000000 0000000 00000001645 13565534140 0016717 0 ustar 00root root 0000000 0000000 "use strict";
var numberIsNaN = require("../../number/is-nan")
, toPosInt = require("../../number/to-pos-integer")
, value = require("../../object/valid-value")
, indexOf = Array.prototype.indexOf
, objHasOwnProperty = Object.prototype.hasOwnProperty
, abs = Math.abs
, floor = Math.floor;
module.exports = function (searchElement/*, fromIndex*/) {
var i, length, fromIndex, val;
if (!numberIsNaN(searchElement)) return indexOf.apply(this, arguments);
length = toPosInt(value(this).length);
fromIndex = arguments[1];
if (isNaN(fromIndex)) fromIndex = 0;
else if (fromIndex >= 0) fromIndex = floor(fromIndex);
else fromIndex = toPosInt(this.length) - floor(abs(fromIndex));
for (i = fromIndex; i < length; ++i) {
if (objHasOwnProperty.call(this, i)) {
val = this[i];
if (numberIsNaN(val)) return i; // Jslint: ignore
}
}
return -1;
};
es5-ext-0.10.53/array/#/e-last-index-of.js 0000664 0000000 0000000 00000001672 13565534140 0017660 0 ustar 00root root 0000000 0000000 "use strict";
var numberIsNaN = require("../../number/is-nan")
, toPosInt = require("../../number/to-pos-integer")
, value = require("../../object/valid-value")
, lastIndexOf = Array.prototype.lastIndexOf
, objHasOwnProperty = Object.prototype.hasOwnProperty
, abs = Math.abs
, floor = Math.floor;
module.exports = function (searchElement/*, fromIndex*/) {
var i, fromIndex, val;
if (!numberIsNaN(searchElement)) {
// Jslint: ignore
return lastIndexOf.apply(this, arguments);
}
value(this);
fromIndex = arguments[1];
if (isNaN(fromIndex)) fromIndex = toPosInt(this.length) - 1;
else if (fromIndex >= 0) fromIndex = floor(fromIndex);
else fromIndex = toPosInt(this.length) - floor(abs(fromIndex));
for (i = fromIndex; i >= 0; --i) {
if (objHasOwnProperty.call(this, i)) {
val = this[i];
if (numberIsNaN(val)) return i; // Jslint: ignore
}
}
return -1;
};
es5-ext-0.10.53/array/#/entries/ 0000775 0000000 0000000 00000000000 13565534140 0016071 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/array/#/entries/implement.js 0000664 0000000 0000000 00000000311 13565534140 0020414 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Array.prototype, "entries", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/array/#/entries/index.js 0000664 0000000 0000000 00000000155 13565534140 0017537 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Array.prototype.entries : require("./shim");
es5-ext-0.10.53/array/#/entries/is-implemented.js 0000664 0000000 0000000 00000000725 13565534140 0021347 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var arr = [1, "foo"], iterator, result;
if (typeof arr.entries !== "function") return false;
iterator = arr.entries();
if (!iterator) return false;
if (typeof iterator.next !== "function") return false;
result = iterator.next();
if (!result || !result.value) return false;
if (result.value[0] !== 0) return false;
if (result.value[1] !== 1) return false;
if (result.done !== false) return false;
return true;
};
es5-ext-0.10.53/array/#/entries/shim.js 0000664 0000000 0000000 00000000221 13565534140 0017362 0 ustar 00root root 0000000 0000000 "use strict";
var ArrayIterator = require("es6-iterator/array");
module.exports = function () { return new ArrayIterator(this, "key+value"); };
es5-ext-0.10.53/array/#/exclusion.js 0000664 0000000 0000000 00000001416 13565534140 0016771 0 ustar 00root root 0000000 0000000 "use strict";
var value = require("../../object/valid-value")
, aFrom = require("../from")
, toArray = require("../to-array")
, contains = require("./contains")
, byLength = require("./_compare-by-length")
, filter = Array.prototype.filter
, push = Array.prototype.push;
module.exports = function (/* …lists*/) {
var lists, seen, result;
if (!arguments.length) return aFrom(this);
push.apply((lists = [this]), arguments);
lists.forEach(value);
seen = [];
result = [];
lists.sort(byLength).forEach(function (list) {
result = result
.filter(function (item) { return !contains.call(list, item); })
.concat(filter.call(list, function (item) { return !contains.call(seen, item); }));
push.apply(seen, toArray(list));
});
return result;
};
es5-ext-0.10.53/array/#/fill/ 0000775 0000000 0000000 00000000000 13565534140 0015346 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/array/#/fill/implement.js 0000664 0000000 0000000 00000000306 13565534140 0017675 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Array.prototype, "fill", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/array/#/fill/index.js 0000664 0000000 0000000 00000000152 13565534140 0017011 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Array.prototype.fill : require("./shim");
es5-ext-0.10.53/array/#/fill/is-implemented.js 0000664 0000000 0000000 00000000272 13565534140 0020621 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var arr = [1, 2, 3, 4, 5, 6];
if (typeof arr.fill !== "function") return false;
return String(arr.fill(-1, -3)) === "1,2,3,-1,-1,-1";
};
es5-ext-0.10.53/array/#/fill/shim.js 0000664 0000000 0000000 00000001360 13565534140 0016644 0 ustar 00root root 0000000 0000000 // Taken from: https://github.com/paulmillr/es6-shim/
"use strict";
var toInteger = require("../../../number/to-integer")
, toPosInt = require("../../../number/to-pos-integer")
, validValue = require("../../../object/valid-value")
, max = Math.max
, min = Math.min;
module.exports = function (value/*, start, end*/) {
var arr = validValue(this)
, start = arguments[1]
, end = arguments[2]
, length = toPosInt(arr.length)
, relativeStart
, i;
start = start === undefined ? 0 : toInteger(start);
end = end === undefined ? length : toInteger(end);
relativeStart = start < 0 ? max(length + start, 0) : min(start, length);
for (i = relativeStart; i < length && i < end; ++i) arr[i] = value;
return arr;
};
es5-ext-0.10.53/array/#/filter/ 0000775 0000000 0000000 00000000000 13565534140 0015705 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/array/#/filter/implement.js 0000664 0000000 0000000 00000000310 13565534140 0020227 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Array.prototype, "filter", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/array/#/filter/index.js 0000664 0000000 0000000 00000000154 13565534140 0017352 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Array.prototype.filter : require("./shim");
es5-ext-0.10.53/array/#/filter/is-implemented.js 0000664 0000000 0000000 00000000315 13565534140 0021156 0 ustar 00root root 0000000 0000000 "use strict";
var SubArray = require("../../_sub-array-dummy-safe")
, pass = function () { return true; };
module.exports = function () { return new SubArray().filter(pass) instanceof SubArray; };
es5-ext-0.10.53/array/#/filter/shim.js 0000664 0000000 0000000 00000001271 13565534140 0017204 0 ustar 00root root 0000000 0000000 "use strict";
var isPlainArray = require("../../is-plain-array")
, callable = require("../../../object/valid-callable")
, isArray = Array.isArray
, filter = Array.prototype.filter
, forEach = Array.prototype.forEach
, call = Function.prototype.call;
module.exports = function (callbackFn/*, thisArg*/) {
var result, thisArg, i;
if (!this || !isArray(this) || isPlainArray(this)) {
return filter.apply(this, arguments);
}
callable(callbackFn);
thisArg = arguments[1];
result = new this.constructor();
i = 0;
forEach.call(this, function (val, j, self) {
if (call.call(callbackFn, thisArg, val, j, self)) result[i++] = val;
});
return result;
};
es5-ext-0.10.53/array/#/find-index/ 0000775 0000000 0000000 00000000000 13565534140 0016445 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/array/#/find-index/implement.js 0000664 0000000 0000000 00000000313 13565534140 0020772 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Array.prototype, "findIndex", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/array/#/find-index/index.js 0000664 0000000 0000000 00000000157 13565534140 0020115 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Array.prototype.findIndex : require("./shim");
es5-ext-0.10.53/array/#/find-index/is-implemented.js 0000664 0000000 0000000 00000000333 13565534140 0021716 0 ustar 00root root 0000000 0000000 "use strict";
var fn = function (value) { return value > 3; };
module.exports = function () {
var arr = [1, 2, 3, 4, 5, 6];
if (typeof arr.findIndex !== "function") return false;
return arr.findIndex(fn) === 3;
};
es5-ext-0.10.53/array/#/find-index/shim.js 0000664 0000000 0000000 00000001033 13565534140 0017740 0 ustar 00root root 0000000 0000000 "use strict";
var callable = require("../../../object/valid-callable")
, ensureValue = require("../../../object/valid-value")
, some = Array.prototype.some
, apply = Function.prototype.apply;
module.exports = function (predicate/*, thisArg*/) {
var k, self;
self = Object(ensureValue(this));
callable(predicate);
return some.call(
self,
function (value, index) {
if (apply.call(predicate, this, arguments)) {
k = index;
return true;
}
return false;
},
arguments[1]
)
? k
: -1;
};
es5-ext-0.10.53/array/#/find/ 0000775 0000000 0000000 00000000000 13565534140 0015340 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/array/#/find/implement.js 0000664 0000000 0000000 00000000306 13565534140 0017667 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Array.prototype, "find", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/array/#/find/index.js 0000664 0000000 0000000 00000000152 13565534140 0017003 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Array.prototype.find : require("./shim");
es5-ext-0.10.53/array/#/find/is-implemented.js 0000664 0000000 0000000 00000000321 13565534140 0020606 0 ustar 00root root 0000000 0000000 "use strict";
var fn = function (value) { return value > 3; };
module.exports = function () {
var arr = [1, 2, 3, 4, 5, 6];
if (typeof arr.find !== "function") return false;
return arr.find(fn) === 4;
};
es5-ext-0.10.53/array/#/find/shim.js 0000664 0000000 0000000 00000000401 13565534140 0016631 0 ustar 00root root 0000000 0000000 "use strict";
var findIndex = require("../find-index/shim");
// eslint-disable-next-line no-unused-vars
module.exports = function (predicate/*, thisArg*/) {
var index = findIndex.apply(this, arguments);
return index === -1 ? undefined : this[index];
};
es5-ext-0.10.53/array/#/first-index.js 0000664 0000000 0000000 00000000627 13565534140 0017217 0 ustar 00root root 0000000 0000000 "use strict";
var toPosInt = require("../../number/to-pos-integer")
, value = require("../../object/valid-value")
, objHasOwnProperty = Object.prototype.hasOwnProperty;
module.exports = function () {
var i, length;
if (!(length = toPosInt(value(this).length))) return null;
i = 0;
while (!objHasOwnProperty.call(this, i)) {
if (++i === length) return null;
}
return i;
};
es5-ext-0.10.53/array/#/first.js 0000664 0000000 0000000 00000000263 13565534140 0016106 0 ustar 00root root 0000000 0000000 "use strict";
var firstIndex = require("./first-index");
module.exports = function () {
var i;
if ((i = firstIndex.call(this)) !== null) return this[i];
return undefined;
};
es5-ext-0.10.53/array/#/flatten.js 0000664 0000000 0000000 00000001703 13565534140 0016414 0 ustar 00root root 0000000 0000000 // Stack grow safe implementation
"use strict";
var ensureValue = require("../../object/valid-value")
, isArray = Array.isArray
, objHasOwnProperty = Object.prototype.hasOwnProperty;
module.exports = function () {
var input = ensureValue(this), index = 0, remaining, remainingIndexes, length, i, result = [];
// Jslint: ignore
main: while (input) {
length = input.length;
for (i = index; i < length; ++i) {
if (!objHasOwnProperty.call(input, i)) continue;
if (isArray(input[i])) {
if (i < length - 1) {
// eslint-disable-next-line max-depth
if (!remaining) {
remaining = [];
remainingIndexes = [];
}
remaining.push(input);
remainingIndexes.push(i + 1);
}
input = input[i];
index = 0;
continue main;
}
result.push(input[i]);
}
if (remaining) {
input = remaining.pop();
index = remainingIndexes.pop();
} else {
input = null;
}
}
return result;
};
es5-ext-0.10.53/array/#/for-each-right.js 0000664 0000000 0000000 00000001112 13565534140 0017550 0 ustar 00root root 0000000 0000000 "use strict";
var toPosInt = require("../../number/to-pos-integer")
, callable = require("../../object/valid-callable")
, value = require("../../object/valid-value")
, objHasOwnProperty = Object.prototype.hasOwnProperty
, call = Function.prototype.call;
module.exports = function (cb/*, thisArg*/) {
var i, self, thisArg;
self = Object(value(this));
callable(cb);
thisArg = arguments[1];
for (i = toPosInt(self.length) - 1; i >= 0; --i) {
if (objHasOwnProperty.call(self, i)) call.call(cb, thisArg, self[i], i, self);
}
};
es5-ext-0.10.53/array/#/group.js 0000664 0000000 0000000 00000001145 13565534140 0016113 0 ustar 00root root 0000000 0000000 // Inspired by Underscore's groupBy:
// http://documentcloud.github.com/underscore/#groupBy
"use strict";
var callable = require("../../object/valid-callable")
, value = require("../../object/valid-value")
, forEach = Array.prototype.forEach
, apply = Function.prototype.apply;
module.exports = function (cb/*, thisArg*/) {
var result;
value(this);
callable(cb);
result = Object.create(null);
forEach.call(
this,
function (item) {
var key = apply.call(cb, this, arguments);
if (!result[key]) result[key] = [];
result[key].push(item);
},
arguments[1]
);
return result;
};
es5-ext-0.10.53/array/#/index.js 0000664 0000000 0000000 00000002451 13565534140 0016067 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"@@iterator": require("./@@iterator"),
"binarySearch": require("./binary-search"),
"clear": require("./clear"),
"compact": require("./compact"),
"concat": require("./concat"),
"contains": require("./contains"),
"copyWithin": require("./copy-within"),
"diff": require("./diff"),
"eIndexOf": require("./e-index-of"),
"eLastIndexOf": require("./e-last-index-of"),
"entries": require("./entries"),
"exclusion": require("./exclusion"),
"fill": require("./fill"),
"filter": require("./filter"),
"find": require("./find"),
"findIndex": require("./find-index"),
"first": require("./first"),
"firstIndex": require("./first-index"),
"flatten": require("./flatten"),
"forEachRight": require("./for-each-right"),
"keys": require("./keys"),
"group": require("./group"),
"indexesOf": require("./indexes-of"),
"intersection": require("./intersection"),
"isCopy": require("./is-copy"),
"isEmpty": require("./is-empty"),
"isUniq": require("./is-uniq"),
"last": require("./last"),
"lastIndex": require("./last-index"),
"map": require("./map"),
"remove": require("./remove"),
"separate": require("./separate"),
"slice": require("./slice"),
"someRight": require("./some-right"),
"splice": require("./splice"),
"uniq": require("./uniq"),
"values": require("./values")
};
es5-ext-0.10.53/array/#/indexes-of.js 0000664 0000000 0000000 00000000423 13565534140 0017016 0 ustar 00root root 0000000 0000000 "use strict";
var indexOf = require("./e-index-of");
module.exports = function (value/*, fromIndex*/) {
var result = [], i, fromIndex = arguments[1];
while ((i = indexOf.call(this, value, fromIndex)) !== -1) {
result.push(i);
fromIndex = i + 1;
}
return result;
};
es5-ext-0.10.53/array/#/intersection.js 0000664 0000000 0000000 00000001114 13565534140 0017461 0 ustar 00root root 0000000 0000000 "use strict";
var value = require("../../object/valid-value")
, contains = require("./contains")
, byLength = require("./_compare-by-length")
, filter = Array.prototype.filter
, push = Array.prototype.push
, slice = Array.prototype.slice;
module.exports = function (/* …list*/) {
var lists;
if (!arguments.length) slice.call(this);
push.apply((lists = [this]), arguments);
lists.forEach(value);
lists.sort(byLength);
return lists.reduce(function (list1, list2) {
return filter.call(list1, function (item) { return contains.call(list2, item); });
});
};
es5-ext-0.10.53/array/#/is-copy.js 0000664 0000000 0000000 00000001142 13565534140 0016337 0 ustar 00root root 0000000 0000000 "use strict";
var toPosInt = require("../../number/to-pos-integer")
, eq = require("../../object/eq")
, value = require("../../object/valid-value")
, objHasOwnProperty = Object.prototype.hasOwnProperty;
module.exports = function (other) {
var i, length;
value(this);
value(other);
length = toPosInt(this.length);
if (length !== toPosInt(other.length)) return false;
for (i = 0; i < length; ++i) {
if (objHasOwnProperty.call(this, i) !== objHasOwnProperty.call(other, i)) {
return false;
}
if (!eq(this[i], other[i])) return false;
}
return true;
};
es5-ext-0.10.53/array/#/is-empty.js 0000664 0000000 0000000 00000000311 13565534140 0016520 0 ustar 00root root 0000000 0000000 "use strict";
var ensureArray = require("../../object/ensure-array")
, firstIndex = require("./first-index");
module.exports = function () { return firstIndex.call(ensureArray(this)) === null; };
es5-ext-0.10.53/array/#/is-uniq.js 0000664 0000000 0000000 00000000405 13565534140 0016342 0 ustar 00root root 0000000 0000000 "use strict";
var indexOf = require("./e-index-of")
, every = Array.prototype.every
, isFirst;
isFirst = function (value, index) { return indexOf.call(this, value) === index; };
module.exports = function () { return every.call(this, isFirst, this); };
es5-ext-0.10.53/array/#/keys/ 0000775 0000000 0000000 00000000000 13565534140 0015373 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/array/#/keys/implement.js 0000664 0000000 0000000 00000000306 13565534140 0017722 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Array.prototype, "keys", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/array/#/keys/index.js 0000664 0000000 0000000 00000000152 13565534140 0017036 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Array.prototype.keys : require("./shim");
es5-ext-0.10.53/array/#/keys/is-implemented.js 0000664 0000000 0000000 00000000621 13565534140 0020644 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var arr = [1, "foo"], iterator, result;
if (typeof arr.keys !== "function") return false;
iterator = arr.keys();
if (!iterator) return false;
if (typeof iterator.next !== "function") return false;
result = iterator.next();
if (!result) return false;
if (result.value !== 0) return false;
if (result.done !== false) return false;
return true;
};
es5-ext-0.10.53/array/#/keys/shim.js 0000664 0000000 0000000 00000000213 13565534140 0016665 0 ustar 00root root 0000000 0000000 "use strict";
var ArrayIterator = require("es6-iterator/array");
module.exports = function () { return new ArrayIterator(this, "key"); };
es5-ext-0.10.53/array/#/last-index.js 0000664 0000000 0000000 00000000634 13565534140 0017031 0 ustar 00root root 0000000 0000000 "use strict";
var toPosInt = require("../../number/to-pos-integer")
, value = require("../../object/valid-value")
, objHasOwnProperty = Object.prototype.hasOwnProperty;
module.exports = function () {
var i, length;
if (!(length = toPosInt(value(this).length))) return null;
i = length - 1;
while (!objHasOwnProperty.call(this, i)) {
if (--i === -1) return null;
}
return i;
};
es5-ext-0.10.53/array/#/last.js 0000664 0000000 0000000 00000000260 13565534140 0015717 0 ustar 00root root 0000000 0000000 "use strict";
var lastIndex = require("./last-index");
module.exports = function () {
var i;
if ((i = lastIndex.call(this)) !== null) return this[i];
return undefined;
};
es5-ext-0.10.53/array/#/map/ 0000775 0000000 0000000 00000000000 13565534140 0015175 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/array/#/map/implement.js 0000664 0000000 0000000 00000000305 13565534140 0017523 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Array.prototype, "map", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/array/#/map/index.js 0000664 0000000 0000000 00000000151 13565534140 0016637 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Array.prototype.map : require("./shim");
es5-ext-0.10.53/array/#/map/is-implemented.js 0000664 0000000 0000000 00000000327 13565534140 0020451 0 ustar 00root root 0000000 0000000 "use strict";
var identity = require("../../../function/identity")
, SubArray = require("../../_sub-array-dummy-safe");
module.exports = function () { return new SubArray().map(identity) instanceof SubArray; };
es5-ext-0.10.53/array/#/map/shim.js 0000664 0000000 0000000 00000001250 13565534140 0016471 0 ustar 00root root 0000000 0000000 "use strict";
var isPlainArray = require("../../is-plain-array")
, callable = require("../../../object/valid-callable")
, isArray = Array.isArray
, map = Array.prototype.map
, forEach = Array.prototype.forEach
, call = Function.prototype.call;
module.exports = function (callbackFn/*, thisArg*/) {
var result, thisArg;
if (!this || !isArray(this) || isPlainArray(this)) {
return map.apply(this, arguments);
}
callable(callbackFn);
thisArg = arguments[1];
result = new this.constructor(this.length);
forEach.call(this, function (val, i, self) {
result[i] = call.call(callbackFn, thisArg, val, i, self);
});
return result;
};
es5-ext-0.10.53/array/#/remove.js 0000664 0000000 0000000 00000000603 13565534140 0016252 0 ustar 00root root 0000000 0000000 "use strict";
var indexOf = require("./e-index-of")
, forEach = Array.prototype.forEach
, splice = Array.prototype.splice;
// eslint-disable-next-line no-unused-vars
module.exports = function (itemToRemove/*, …item*/) {
forEach.call(
arguments,
function (item) {
var index = indexOf.call(this, item);
if (index !== -1) splice.call(this, index, 1);
},
this
);
};
es5-ext-0.10.53/array/#/separate.js 0000664 0000000 0000000 00000000315 13565534140 0016561 0 ustar 00root root 0000000 0000000 "use strict";
var forEach = Array.prototype.forEach;
module.exports = function (sep) {
var result = [];
forEach.call(this, function (val) { result.push(val, sep); });
result.pop();
return result;
};
es5-ext-0.10.53/array/#/slice/ 0000775 0000000 0000000 00000000000 13565534140 0015517 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/array/#/slice/implement.js 0000664 0000000 0000000 00000000307 13565534140 0020047 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Array.prototype, "slice", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/array/#/slice/index.js 0000664 0000000 0000000 00000000153 13565534140 0017163 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Array.prototype.slice : require("./shim");
es5-ext-0.10.53/array/#/slice/is-implemented.js 0000664 0000000 0000000 00000000234 13565534140 0020770 0 ustar 00root root 0000000 0000000 "use strict";
var SubArray = require("../../_sub-array-dummy-safe");
module.exports = function () { return new SubArray().slice() instanceof SubArray; };
es5-ext-0.10.53/array/#/slice/shim.js 0000664 0000000 0000000 00000002047 13565534140 0017020 0 ustar 00root root 0000000 0000000 "use strict";
var toInteger = require("../../../number/to-integer")
, toPosInt = require("../../../number/to-pos-integer")
, isPlainArray = require("../../is-plain-array")
, isArray = Array.isArray
, slice = Array.prototype.slice
, objHasOwnProperty = Object.prototype.hasOwnProperty
, max = Math.max;
module.exports = function (start, end) {
var length, result, i;
if (!this || !isArray(this) || isPlainArray(this)) {
return slice.apply(this, arguments);
}
length = toPosInt(this.length);
start = toInteger(start);
if (start < 0) start = max(length + start, 0);
else if (start > length) start = length;
if (end === undefined) {
end = length;
} else {
end = toInteger(end);
if (end < 0) end = max(length + end, 0);
else if (end > length) end = length;
}
if (start > end) start = end;
result = new this.constructor(end - start);
i = 0;
while (start !== end) {
if (objHasOwnProperty.call(this, start)) result[i] = this[start];
++i;
++start;
}
return result;
};
es5-ext-0.10.53/array/#/some-right.js 0000664 0000000 0000000 00000001160 13565534140 0017032 0 ustar 00root root 0000000 0000000 "use strict";
var toPosInt = require("../../number/to-pos-integer")
, callable = require("../../object/valid-callable")
, value = require("../../object/valid-value")
, objHasOwnProperty = Object.prototype.hasOwnProperty
, call = Function.prototype.call;
module.exports = function (cb/*, thisArg*/) {
var i, self, thisArg;
self = Object(value(this));
callable(cb);
thisArg = arguments[1];
for (i = toPosInt(self.length) - 1; i >= 0; --i) {
if (objHasOwnProperty.call(self, i) && call.call(cb, thisArg, self[i], i, self)) {
return true;
}
}
return false;
};
es5-ext-0.10.53/array/#/splice/ 0000775 0000000 0000000 00000000000 13565534140 0015677 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/array/#/splice/implement.js 0000664 0000000 0000000 00000000310 13565534140 0020221 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Array.prototype, "splice", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/array/#/splice/index.js 0000664 0000000 0000000 00000000154 13565534140 0017344 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Array.prototype.splice : require("./shim");
es5-ext-0.10.53/array/#/splice/is-implemented.js 0000664 0000000 0000000 00000000236 13565534140 0021152 0 ustar 00root root 0000000 0000000 "use strict";
var SubArray = require("../../_sub-array-dummy-safe");
module.exports = function () { return new SubArray().splice(0) instanceof SubArray; };
es5-ext-0.10.53/array/#/splice/shim.js 0000664 0000000 0000000 00000001021 13565534140 0017167 0 ustar 00root root 0000000 0000000 "use strict";
var isPlainArray = require("../../is-plain-array")
, isArray = Array.isArray
, splice = Array.prototype.splice
, forEach = Array.prototype.forEach;
// eslint-disable-next-line no-unused-vars
module.exports = function (start, deleteCount/*, …items*/) {
var arr = splice.apply(this, arguments), result;
if (!this || !isArray(this) || isPlainArray(this)) return arr;
result = new this.constructor(arr.length);
forEach.call(arr, function (val, i) { result[i] = val; });
return result;
};
es5-ext-0.10.53/array/#/uniq.js 0000664 0000000 0000000 00000000407 13565534140 0015733 0 ustar 00root root 0000000 0000000 "use strict";
var indexOf = require("./e-index-of")
, filter = Array.prototype.filter
, isFirst;
isFirst = function (value, index) { return indexOf.call(this, value) === index; };
module.exports = function () { return filter.call(this, isFirst, this); };
es5-ext-0.10.53/array/#/values/ 0000775 0000000 0000000 00000000000 13565534140 0015717 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/array/#/values/implement.js 0000664 0000000 0000000 00000000310 13565534140 0020241 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Array.prototype, "values", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/array/#/values/index.js 0000664 0000000 0000000 00000000154 13565534140 0017364 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Array.prototype.values : require("./shim");
es5-ext-0.10.53/array/#/values/is-implemented.js 0000664 0000000 0000000 00000000631 13565534140 0021171 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var arr = ["foo", 1], iterator, result;
if (typeof arr.values !== "function") return false;
iterator = arr.values();
if (!iterator) return false;
if (typeof iterator.next !== "function") return false;
result = iterator.next();
if (!result) return false;
if (result.value !== "foo") return false;
if (result.done !== false) return false;
return true;
};
es5-ext-0.10.53/array/#/values/shim.js 0000664 0000000 0000000 00000000215 13565534140 0017213 0 ustar 00root root 0000000 0000000 "use strict";
var ArrayIterator = require("es6-iterator/array");
module.exports = function () { return new ArrayIterator(this, "value"); };
es5-ext-0.10.53/array/_is-extensible.js 0000664 0000000 0000000 00000000450 13565534140 0017545 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = (function () {
var SubArray = require("./_sub-array-dummy")
, arr;
if (!SubArray) return false;
arr = new SubArray();
if (!Array.isArray(arr)) return false;
if (!(arr instanceof SubArray)) return false;
arr[34] = "foo";
return arr.length === 35;
})();
es5-ext-0.10.53/array/_sub-array-dummy-safe.js 0000664 0000000 0000000 00000001133 13565534140 0020743 0 ustar 00root root 0000000 0000000 "use strict";
var setPrototypeOf = require("../object/set-prototype-of")
, isExtensible = require("./_is-extensible");
module.exports = (function () {
var SubArray;
if (isExtensible) return require("./_sub-array-dummy");
if (!setPrototypeOf) return null;
SubArray = function () {
var arr = Array.apply(this, arguments);
setPrototypeOf(arr, SubArray.prototype);
return arr;
};
setPrototypeOf(SubArray, Array);
SubArray.prototype = Object.create(Array.prototype, {
constructor: { value: SubArray, enumerable: false, writable: true, configurable: true }
});
return SubArray;
})();
es5-ext-0.10.53/array/_sub-array-dummy.js 0000664 0000000 0000000 00000000652 13565534140 0020034 0 ustar 00root root 0000000 0000000 "use strict";
var setPrototypeOf = require("../object/set-prototype-of");
module.exports = (function () {
var SubArray;
if (!setPrototypeOf) return null;
SubArray = function () { Array.apply(this, arguments); };
setPrototypeOf(SubArray, Array);
SubArray.prototype = Object.create(Array.prototype, {
constructor: { value: SubArray, enumerable: false, writable: true, configurable: true }
});
return SubArray;
})();
es5-ext-0.10.53/array/from/ 0000775 0000000 0000000 00000000000 13565534140 0015241 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/array/from/implement.js 0000664 0000000 0000000 00000000274 13565534140 0017574 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Array, "from", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/array/from/index.js 0000664 0000000 0000000 00000000140 13565534140 0016701 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Array.from : require("./shim");
es5-ext-0.10.53/array/from/is-implemented.js 0000664 0000000 0000000 00000000363 13565534140 0020515 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var from = Array.from, arr, result;
if (typeof from !== "function") return false;
arr = ["raz", "dwa"];
result = from(arr);
return Boolean(result && result !== arr && result[1] === "dwa");
};
es5-ext-0.10.53/array/from/shim.js 0000664 0000000 0000000 00000006176 13565534140 0016551 0 ustar 00root root 0000000 0000000 "use strict";
var iteratorSymbol = require("es6-symbol").iterator
, isArguments = require("../../function/is-arguments")
, isFunction = require("../../function/is-function")
, toPosInt = require("../../number/to-pos-integer")
, callable = require("../../object/valid-callable")
, validValue = require("../../object/valid-value")
, isValue = require("../../object/is-value")
, isString = require("../../string/is-string")
, isArray = Array.isArray
, call = Function.prototype.call
, desc = { configurable: true, enumerable: true, writable: true, value: null }
, defineProperty = Object.defineProperty;
// eslint-disable-next-line complexity, max-lines-per-function
module.exports = function (arrayLike/*, mapFn, thisArg*/) {
var mapFn = arguments[1]
, thisArg = arguments[2]
, Context
, i
, j
, arr
, length
, code
, iterator
, result
, getIterator
, value;
arrayLike = Object(validValue(arrayLike));
if (isValue(mapFn)) callable(mapFn);
if (!this || this === Array || !isFunction(this)) {
// Result: Plain array
if (!mapFn) {
if (isArguments(arrayLike)) {
// Source: Arguments
length = arrayLike.length;
if (length !== 1) return Array.apply(null, arrayLike);
arr = new Array(1);
arr[0] = arrayLike[0];
return arr;
}
if (isArray(arrayLike)) {
// Source: Array
arr = new Array((length = arrayLike.length));
for (i = 0; i < length; ++i) arr[i] = arrayLike[i];
return arr;
}
}
arr = [];
} else {
// Result: Non plain array
Context = this;
}
if (!isArray(arrayLike)) {
if ((getIterator = arrayLike[iteratorSymbol]) !== undefined) {
// Source: Iterator
iterator = callable(getIterator).call(arrayLike);
if (Context) arr = new Context();
result = iterator.next();
i = 0;
while (!result.done) {
value = mapFn ? call.call(mapFn, thisArg, result.value, i) : result.value;
if (Context) {
desc.value = value;
defineProperty(arr, i, desc);
} else {
arr[i] = value;
}
result = iterator.next();
++i;
}
length = i;
} else if (isString(arrayLike)) {
// Source: String
length = arrayLike.length;
if (Context) arr = new Context();
for (i = 0, j = 0; i < length; ++i) {
value = arrayLike[i];
if (i + 1 < length) {
code = value.charCodeAt(0);
// eslint-disable-next-line max-depth
if (code >= 0xd800 && code <= 0xdbff) value += arrayLike[++i];
}
value = mapFn ? call.call(mapFn, thisArg, value, j) : value;
if (Context) {
desc.value = value;
defineProperty(arr, j, desc);
} else {
arr[j] = value;
}
++j;
}
length = j;
}
}
if (length === undefined) {
// Source: array or array-like
length = toPosInt(arrayLike.length);
if (Context) arr = new Context(length);
for (i = 0; i < length; ++i) {
value = mapFn ? call.call(mapFn, thisArg, arrayLike[i], i) : arrayLike[i];
if (Context) {
desc.value = value;
defineProperty(arr, i, desc);
} else {
arr[i] = value;
}
}
}
if (Context) {
desc.value = null;
arr.length = length;
}
return arr;
};
es5-ext-0.10.53/array/generate.js 0000664 0000000 0000000 00000000767 13565534140 0016440 0 ustar 00root root 0000000 0000000 "use strict";
var toPosInt = require("../number/to-pos-integer")
, value = require("../object/valid-value")
, slice = Array.prototype.slice;
module.exports = function (length/*, …fill*/) {
var arr, currentLength;
length = toPosInt(value(length));
if (length === 0) return [];
arr = arguments.length < 2 ? [undefined] : slice.call(arguments, 1, 1 + length);
while ((currentLength = arr.length) < length) {
arr = arr.concat(arr.slice(0, length - currentLength));
}
return arr;
};
es5-ext-0.10.53/array/index.js 0000664 0000000 0000000 00000000414 13565534140 0015742 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"#": require("./#"),
"from": require("./from"),
"generate": require("./generate"),
"isPlainArray": require("./is-plain-array"),
"of": require("./of"),
"toArray": require("./to-array"),
"validArray": require("./valid-array")
};
es5-ext-0.10.53/array/is-plain-array.js 0000664 0000000 0000000 00000000433 13565534140 0017464 0 ustar 00root root 0000000 0000000 "use strict";
var isArray = Array.isArray, getPrototypeOf = Object.getPrototypeOf;
module.exports = function (obj) {
var proto;
if (!obj || !isArray(obj)) return false;
proto = getPrototypeOf(obj);
if (!isArray(proto)) return false;
return !isArray(getPrototypeOf(proto));
};
es5-ext-0.10.53/array/of/ 0000775 0000000 0000000 00000000000 13565534140 0014702 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/array/of/implement.js 0000664 0000000 0000000 00000000272 13565534140 0017233 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Array, "of", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/array/of/index.js 0000664 0000000 0000000 00000000136 13565534140 0016347 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Array.of : require("./shim");
es5-ext-0.10.53/array/of/is-implemented.js 0000664 0000000 0000000 00000000306 13565534140 0020153 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var of = Array.of, result;
if (typeof of !== "function") return false;
result = of("foo", "bar");
return Boolean(result && result[1] === "bar");
};
es5-ext-0.10.53/array/of/shim.js 0000664 0000000 0000000 00000001146 13565534140 0016202 0 ustar 00root root 0000000 0000000 "use strict";
var isFunction = require("../../function/is-function")
, slice = Array.prototype.slice
, defineProperty = Object.defineProperty
, desc = { configurable: true, enumerable: true, writable: true, value: null };
module.exports = function (/* …items*/) {
var result, i, length;
if (!this || this === Array || !isFunction(this)) return slice.call(arguments);
result = new this((length = arguments.length));
for (i = 0; i < length; ++i) {
desc.value = arguments[i];
defineProperty(result, i, desc);
}
desc.value = null;
result.length = length;
return result;
};
es5-ext-0.10.53/array/to-array.js 0000664 0000000 0000000 00000000261 13565534140 0016371 0 ustar 00root root 0000000 0000000 "use strict";
var from = require("./from")
, isArray = Array.isArray;
module.exports = function (arrayLike) { return isArray(arrayLike) ? arrayLike : from(arrayLike); };
es5-ext-0.10.53/array/valid-array.js 0000664 0000000 0000000 00000000251 13565534140 0017045 0 ustar 00root root 0000000 0000000 "use strict";
var isArray = Array.isArray;
module.exports = function (value) {
if (isArray(value)) return value;
throw new TypeError(value + " is not an array");
};
es5-ext-0.10.53/boolean/ 0000775 0000000 0000000 00000000000 13565534140 0014577 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/boolean/index.js 0000664 0000000 0000000 00000000110 13565534140 0016234 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = { isBoolean: require("./is-boolean") };
es5-ext-0.10.53/boolean/is-boolean.js 0000664 0000000 0000000 00000000415 13565534140 0017165 0 ustar 00root root 0000000 0000000 "use strict";
var objToString = Object.prototype.toString, id = objToString.call(true);
module.exports = function (value) {
return (
typeof value === "boolean" ||
(typeof value === "object" && (value instanceof Boolean || objToString.call(value) === id))
);
};
es5-ext-0.10.53/date/ 0000775 0000000 0000000 00000000000 13565534140 0014075 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/date/#/ 0000775 0000000 0000000 00000000000 13565534140 0014217 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/date/#/copy.js 0000664 0000000 0000000 00000000175 13565534140 0015532 0 ustar 00root root 0000000 0000000 "use strict";
var getTime = Date.prototype.getTime;
module.exports = function () { return new Date(getTime.call(this)); };
es5-ext-0.10.53/date/#/days-in-month.js 0000664 0000000 0000000 00000000403 13565534140 0017241 0 ustar 00root root 0000000 0000000 "use strict";
var getMonth = Date.prototype.getMonth;
module.exports = function () {
switch (getMonth.call(this)) {
case 1:
return this.getFullYear() % 4 ? 28 : 29;
case 3:
case 5:
case 8:
case 10:
return 30;
default:
return 31;
}
};
es5-ext-0.10.53/date/#/floor-day.js 0000664 0000000 0000000 00000000212 13565534140 0016444 0 ustar 00root root 0000000 0000000 "use strict";
var setHours = Date.prototype.setHours;
module.exports = function () {
setHours.call(this, 0, 0, 0, 0);
return this;
};
es5-ext-0.10.53/date/#/floor-month.js 0000664 0000000 0000000 00000000210 13565534140 0017012 0 ustar 00root root 0000000 0000000 "use strict";
var floorDay = require("./floor-day");
module.exports = function () {
floorDay.call(this).setDate(1);
return this;
};
es5-ext-0.10.53/date/#/floor-year.js 0000664 0000000 0000000 00000000217 13565534140 0016634 0 ustar 00root root 0000000 0000000 "use strict";
var floorMonth = require("./floor-month");
module.exports = function () {
floorMonth.call(this).setMonth(0);
return this;
};
es5-ext-0.10.53/date/#/format.js 0000664 0000000 0000000 00000001363 13565534140 0016050 0 ustar 00root root 0000000 0000000 /* eslint id-length: "off" */
"use strict";
var pad = require("../../number/#/pad")
, date = require("../valid-date")
, format;
format = require("../../string/format-method")({
Y: function () { return String(this.getFullYear()); },
y: function () { return String(this.getFullYear()).slice(-2); },
m: function () { return pad.call(this.getMonth() + 1, 2); },
d: function () { return pad.call(this.getDate(), 2); },
H: function () { return pad.call(this.getHours(), 2); },
M: function () { return pad.call(this.getMinutes(), 2); },
S: function () { return pad.call(this.getSeconds(), 2); },
L: function () { return pad.call(this.getMilliseconds(), 3); }
});
module.exports = function (pattern) { return format.call(date(this), pattern); };
es5-ext-0.10.53/date/#/index.js 0000664 0000000 0000000 00000000365 13565534140 0015670 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
copy: require("./copy"),
daysInMonth: require("./days-in-month"),
floorDay: require("./floor-day"),
floorMonth: require("./floor-month"),
floorYear: require("./floor-year"),
format: require("./format")
};
es5-ext-0.10.53/date/ensure-time-value.js 0000664 0000000 0000000 00000000505 13565534140 0020002 0 ustar 00root root 0000000 0000000 "use strict";
var safeToString = require("../safe-to-string")
, toInteger = require("../number/to-integer")
, isTimeValue = require("./is-time-value");
module.exports = function (value) {
if (isTimeValue(value)) return toInteger(value);
throw new TypeError(safeToString(value) + " is not a valid time value");
};
es5-ext-0.10.53/date/index.js 0000664 0000000 0000000 00000000342 13565534140 0015541 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"#": require("./#"),
"ensureTimeValue": require("./ensure-time-value"),
"isDate": require("./is-date"),
"isTimeValue": require("./is-time-value"),
"validDate": require("./valid-date")
};
es5-ext-0.10.53/date/is-date.js 0000664 0000000 0000000 00000000370 13565534140 0015761 0 ustar 00root root 0000000 0000000 "use strict";
var objToString = Object.prototype.toString, id = objToString.call(new Date());
module.exports = function (value) {
return (
(value && !isNaN(value) && (value instanceof Date || objToString.call(value) === id)) ||
false
);
};
es5-ext-0.10.53/date/is-time-value.js 0000664 0000000 0000000 00000000320 13565534140 0017107 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (value) {
try { value = Number(value); }
catch (e) { return false; }
if (isNaN(value)) return false;
if (Math.abs(value) > 8.64e15) return false;
return true;
};
es5-ext-0.10.53/date/valid-date.js 0000664 0000000 0000000 00000000270 13565534140 0016444 0 ustar 00root root 0000000 0000000 "use strict";
var isDate = require("./is-date");
module.exports = function (value) {
if (!isDate(value)) throw new TypeError(value + " is not valid Date object");
return value;
};
es5-ext-0.10.53/error/ 0000775 0000000 0000000 00000000000 13565534140 0014311 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/error/#/ 0000775 0000000 0000000 00000000000 13565534140 0014433 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/error/#/index.js 0000664 0000000 0000000 00000000077 13565534140 0016104 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = { throw: require("./throw") };
es5-ext-0.10.53/error/#/throw.js 0000664 0000000 0000000 00000000154 13565534140 0016134 0 ustar 00root root 0000000 0000000 "use strict";
var error = require("../valid-error");
module.exports = function () { throw error(this); };
es5-ext-0.10.53/error/custom.js 0000664 0000000 0000000 00000001115 13565534140 0016157 0 ustar 00root root 0000000 0000000 "use strict";
var assign = require("../object/assign")
, isObject = require("../object/is-object")
, isValue = require("../object/is-value")
, captureStackTrace = Error.captureStackTrace;
module.exports = function (message/*, code, ext*/) {
var err = new Error(message), code = arguments[1], ext = arguments[2];
if (!isValue(ext)) {
if (isObject(code)) {
ext = code;
code = null;
}
}
if (isValue(ext)) assign(err, ext);
if (isValue(code)) err.code = code;
if (captureStackTrace) captureStackTrace(err, module.exports);
return err;
};
es5-ext-0.10.53/error/index.js 0000664 0000000 0000000 00000000246 13565534140 0015760 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"#": require("./#"),
"custom": require("./custom"),
"isError": require("./is-error"),
"validError": require("./valid-error")
};
es5-ext-0.10.53/error/is-error.js 0000664 0000000 0000000 00000000340 13565534140 0016406 0 ustar 00root root 0000000 0000000 "use strict";
var objToString = Object.prototype.toString, id = objToString.call(new Error());
module.exports = function (value) {
return (value && (value instanceof Error || objToString.call(value) === id)) || false;
};
es5-ext-0.10.53/error/valid-error.js 0000664 0000000 0000000 00000000271 13565534140 0017075 0 ustar 00root root 0000000 0000000 "use strict";
var isError = require("./is-error");
module.exports = function (value) {
if (!isError(value)) throw new TypeError(value + " is not an Error object");
return value;
};
es5-ext-0.10.53/function/ 0000775 0000000 0000000 00000000000 13565534140 0015005 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/function/#/ 0000775 0000000 0000000 00000000000 13565534140 0015127 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/function/#/compose.js 0000664 0000000 0000000 00000001200 13565534140 0017123 0 ustar 00root root 0000000 0000000 "use strict";
var isValue = require("../../object/is-value")
, callable = require("../../object/valid-callable")
, aFrom = require("../../array/from");
var apply = Function.prototype.apply
, call = Function.prototype.call
, callFn = function (arg, fn) { return call.call(fn, this, arg); };
module.exports = function (fnIgnored/*, …fnn*/) {
var fns, first;
var args = aFrom(arguments);
fns = isValue(this) ? [this].concat(args) : args;
fns.forEach(callable);
fns = fns.reverse();
first = fns[0];
fns = fns.slice(1);
return function (argIgnored) { return fns.reduce(callFn, apply.call(first, this, arguments)); };
};
es5-ext-0.10.53/function/#/copy.js 0000664 0000000 0000000 00000001035 13565534140 0016436 0 ustar 00root root 0000000 0000000 "use strict";
var mixin = require("../../object/mixin")
, validFunction = require("../valid-function")
, re = /^\s*function\s*([\0-')-\uffff]+)*\s*\(([\0-(*-\uffff]*)\)\s*\{/;
module.exports = function () {
var match = String(validFunction(this)).match(re), fn;
// eslint-disable-next-line no-new-func
fn = new Function(
"fn",
"return function " +
match[1].trim() +
"(" +
match[2] +
") { return fn.apply(this, arguments); };"
)(this);
try { mixin(fn, this); }
catch (ignore) {}
return fn;
};
es5-ext-0.10.53/function/#/curry.js 0000664 0000000 0000000 00000001441 13565534140 0016631 0 ustar 00root root 0000000 0000000 "use strict";
var toPosInt = require("../../number/to-pos-integer")
, callable = require("../../object/valid-callable")
, defineLength = require("../_define-length")
, slice = Array.prototype.slice
, apply = Function.prototype.apply
, curry;
curry = function self(fn, length, preArgs) {
return defineLength(
function () {
var args = preArgs
? preArgs.concat(slice.call(arguments, 0, length - preArgs.length))
: slice.call(arguments, 0, length);
return args.length === length ? apply.call(fn, this, args) : self(fn, length, args);
},
preArgs ? length - preArgs.length : length
);
};
module.exports = function (/* Length*/) {
var length = arguments[0];
return curry(callable(this), isNaN(length) ? toPosInt(this.length) : toPosInt(length));
};
es5-ext-0.10.53/function/#/index.js 0000664 0000000 0000000 00000000511 13565534140 0016571 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
compose: require("./compose"),
copy: require("./copy"),
curry: require("./curry"),
lock: require("./lock"),
microtaskDelay: require("./microtask-delay"),
not: require("./not"),
partial: require("./partial"),
spread: require("./spread"),
toStringTokens: require("./to-string-tokens")
};
es5-ext-0.10.53/function/#/lock.js 0000664 0000000 0000000 00000000406 13565534140 0016415 0 ustar 00root root 0000000 0000000 "use strict";
var callable = require("../../object/valid-callable")
, apply = Function.prototype.apply;
module.exports = function (/* …args*/) {
var fn = callable(this), args = arguments;
return function () { return apply.call(fn, this, args); };
};
es5-ext-0.10.53/function/#/microtask-delay.js 0000664 0000000 0000000 00000000616 13565534140 0020560 0 ustar 00root root 0000000 0000000 "use strict";
var ensurePlainFunction = require("../../object/ensure-plain-function")
, defineLength = require("../_define-length")
, nextTick = require("next-tick");
var apply = Function.prototype.apply;
module.exports = function () {
var src = ensurePlainFunction(this);
return defineLength(function () { nextTick(apply.bind(src, this, arguments)); }, this.length);
};
es5-ext-0.10.53/function/#/not.js 0000664 0000000 0000000 00000000477 13565534140 0016275 0 ustar 00root root 0000000 0000000 "use strict";
var callable = require("../../object/valid-callable")
, defineLength = require("../_define-length")
, apply = Function.prototype.apply;
module.exports = function () {
var fn = callable(this);
return defineLength(function () { return !apply.call(fn, this, arguments); }, fn.length);
};
es5-ext-0.10.53/function/#/partial.js 0000664 0000000 0000000 00000000667 13565534140 0017132 0 ustar 00root root 0000000 0000000 "use strict";
var callable = require("../../object/valid-callable")
, aFrom = require("../../array/from")
, defineLength = require("../_define-length")
, apply = Function.prototype.apply;
module.exports = function (/* …args*/) {
var fn = callable(this), args = aFrom(arguments);
return defineLength(function () {
return apply.call(fn, this, args.concat(aFrom(arguments)));
}, fn.length - args.length);
};
es5-ext-0.10.53/function/#/spread.js 0000664 0000000 0000000 00000000353 13565534140 0016744 0 ustar 00root root 0000000 0000000 "use strict";
var callable = require("../../object/valid-callable")
, apply = Function.prototype.apply;
module.exports = function () {
var fn = callable(this);
return function (args) { return apply.call(fn, this, args); };
};
es5-ext-0.10.53/function/#/to-string-tokens.js 0000664 0000000 0000000 00000001060 13565534140 0020711 0 ustar 00root root 0000000 0000000 "use strict";
var validFunction = require("../valid-function");
var re1 = /^\s*function[\0-')-\uffff]*\(([\0-(*-\uffff]*)\)\s*\{([\0-\uffff]*)\}\s*$/
, re2 = /^\s*\(?([\0-'*-\uffff]*)\)?\s*=>\s*(\{?[\0-\uffff]*\}?)\s*$/;
module.exports = function () {
var str = String(validFunction(this)), data = str.match(re1);
if (!data) {
data = str.match(re2);
if (!data) throw new Error("Unrecognized string format");
data[1] = data[1].trim();
if (data[2][0] === "{") data[2] = data[2].trim().slice(1, -1);
}
return { args: data[1], body: data[2] };
};
es5-ext-0.10.53/function/_define-length.js 0000664 0000000 0000000 00000002431 13565534140 0020213 0 ustar 00root root 0000000 0000000 "use strict";
var toPosInt = require("../number/to-pos-integer");
var test = function (arg1, arg2) { return arg2; };
var desc, defineProperty, generate, mixin;
try {
Object.defineProperty(test, "length", {
configurable: true,
writable: false,
enumerable: false,
value: 1
});
}
catch (ignore) {}
if (test.length === 1) {
// ES6
desc = { configurable: true, writable: false, enumerable: false };
defineProperty = Object.defineProperty;
module.exports = function (fn, length) {
length = toPosInt(length);
if (fn.length === length) return fn;
desc.value = length;
return defineProperty(fn, "length", desc);
};
} else {
mixin = require("../object/mixin");
generate = (function () {
var cache = [];
return function (length) {
var args, i = 0;
if (cache[length]) return cache[length];
args = [];
while (length--) args.push("a" + (++i).toString(36));
// eslint-disable-next-line no-new-func
return new Function(
"fn",
"return function (" + args.join(", ") + ") { return fn.apply(this, arguments); };"
);
};
})();
module.exports = function (src, length) {
var target;
length = toPosInt(length);
if (src.length === length) return src;
target = generate(length)(src);
try { mixin(target, src); }
catch (ignore) {}
return target;
};
}
es5-ext-0.10.53/function/constant.js 0000664 0000000 0000000 00000000135 13565534140 0017173 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (value) {
return function () { return value; };
};
es5-ext-0.10.53/function/identity.js 0000664 0000000 0000000 00000000104 13565534140 0017167 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (value) { return value; };
es5-ext-0.10.53/function/index.js 0000664 0000000 0000000 00000000567 13565534140 0016462 0 ustar 00root root 0000000 0000000 // Export all modules.
"use strict";
module.exports = {
"#": require("./#"),
"constant": require("./constant"),
"identity": require("./identity"),
"invoke": require("./invoke"),
"isArguments": require("./is-arguments"),
"isFunction": require("./is-function"),
"noop": require("./noop"),
"pluck": require("./pluck"),
"validFunction": require("./valid-function")
};
es5-ext-0.10.53/function/invoke.js 0000664 0000000 0000000 00000000675 13565534140 0016646 0 ustar 00root root 0000000 0000000 "use strict";
var isCallable = require("../object/is-callable")
, value = require("../object/valid-value")
, slice = Array.prototype.slice
, apply = Function.prototype.apply;
module.exports = function (name/*, …args*/) {
var args = slice.call(arguments, 1), isFn = isCallable(name);
return function (obj) {
value(obj);
return apply.call(isFn ? name : obj[name], obj, args.concat(slice.call(arguments, 1)));
};
};
es5-ext-0.10.53/function/is-arguments.js 0000664 0000000 0000000 00000000314 13565534140 0017757 0 ustar 00root root 0000000 0000000 "use strict";
var objToString = Object.prototype.toString
, id = objToString.call((function () { return arguments; })());
module.exports = function (value) { return objToString.call(value) === id; };
es5-ext-0.10.53/function/is-function.js 0000664 0000000 0000000 00000000421 13565534140 0017576 0 ustar 00root root 0000000 0000000 "use strict";
var objToString = Object.prototype.toString
, isFunctionStringTag = RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);
module.exports = function (value) {
return typeof value === "function" && isFunctionStringTag(objToString.call(value));
};
es5-ext-0.10.53/function/noop.js 0000664 0000000 0000000 00000000136 13565534140 0016316 0 ustar 00root root 0000000 0000000 "use strict";
// eslint-disable-next-line no-empty-function
module.exports = function () {};
es5-ext-0.10.53/function/pluck.js 0000664 0000000 0000000 00000000231 13565534140 0016455 0 ustar 00root root 0000000 0000000 "use strict";
var value = require("../object/valid-value");
module.exports = function (name) {
return function (obj) { return value(obj)[name]; };
};
es5-ext-0.10.53/function/valid-function.js 0000664 0000000 0000000 00000000275 13565534140 0020271 0 ustar 00root root 0000000 0000000 "use strict";
var isFunction = require("./is-function");
module.exports = function (value) {
if (!isFunction(value)) throw new TypeError(value + " is not a function");
return value;
};
es5-ext-0.10.53/global.js 0000664 0000000 0000000 00000002161 13565534140 0014756 0 ustar 00root root 0000000 0000000 var naiveFallback = function () {
if (typeof self === "object" && self) return self;
if (typeof window === "object" && window) return window;
throw new Error("Unable to resolve global `this`");
};
module.exports = (function () {
if (this) return this;
// Unexpected strict mode (may happen if e.g. bundled into ESM module)
// Fallback to standard globalThis if available
if (typeof globalThis === "object" && globalThis) return globalThis;
// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis
// In all ES5+ engines global object inherits from Object.prototype
// (if you approached one that doesn't please report)
try {
Object.defineProperty(Object.prototype, "__global__", {
get: function () { return this; },
configurable: true
});
} catch (error) {
// Unfortunate case of updates to Object.prototype being restricted
// via preventExtensions, seal or freeze
return naiveFallback();
}
try {
// Safari case (window.__global__ works, but __global__ does not)
if (!__global__) return naiveFallback();
return __global__;
} finally {
delete Object.prototype.__global__;
}
})();
es5-ext-0.10.53/index.js 0000664 0000000 0000000 00000001160 13565534140 0014623 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
global: require("./global"),
optionalChaining: require("./optional-chaining"),
safeToString: require("./safe-to-string"),
toShortStringRepresentation: require("./to-short-string-representation"),
array: require("./array"),
boolean: require("./boolean"),
date: require("./date"),
error: require("./error"),
function: require("./function"),
iterable: require("./iterable"),
json: require("./json"),
math: require("./math"),
number: require("./number"),
object: require("./object"),
promise: require("./promise"),
regExp: require("./reg-exp"),
string: require("./string")
};
es5-ext-0.10.53/iterable/ 0000775 0000000 0000000 00000000000 13565534140 0014747 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/iterable/for-each.js 0000664 0000000 0000000 00000000561 13565534140 0016773 0 ustar 00root root 0000000 0000000 "use strict";
var forOf = require("es6-iterator/for-of")
, isIterable = require("es6-iterator/is-iterable")
, iterable = require("./validate")
, forEach = Array.prototype.forEach;
module.exports = function (target, cb/*, thisArg*/) {
if (isIterable(iterable(target))) forOf(target, cb, arguments[2]);
else forEach.call(target, cb, arguments[2]);
};
es5-ext-0.10.53/iterable/index.js 0000664 0000000 0000000 00000000254 13565534140 0016415 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
forEach: require("./for-each"),
is: require("./is"),
validate: require("./validate"),
validateObject: require("./validate-object")
};
es5-ext-0.10.53/iterable/is.js 0000664 0000000 0000000 00000000526 13565534140 0015723 0 ustar 00root root 0000000 0000000 "use strict";
var iteratorSymbol = require("es6-symbol").iterator
, isValue = require("../object/is-value")
, isArrayLike = require("../object/is-array-like");
module.exports = function (value) {
if (!isValue(value)) return false;
if (typeof value[iteratorSymbol] === "function") return true;
return isArrayLike(value);
};
es5-ext-0.10.53/iterable/validate-object.js 0000664 0000000 0000000 00000000400 13565534140 0020334 0 ustar 00root root 0000000 0000000 "use strict";
var isObject = require("../object/is-object")
, is = require("./is");
module.exports = function (value) {
if (is(value) && isObject(value)) return value;
throw new TypeError(value + " is not an iterable or array-like object");
};
es5-ext-0.10.53/iterable/validate.js 0000664 0000000 0000000 00000000262 13565534140 0017076 0 ustar 00root root 0000000 0000000 "use strict";
var is = require("./is");
module.exports = function (value) {
if (is(value)) return value;
throw new TypeError(value + " is not an iterable or array-like");
};
es5-ext-0.10.53/json/ 0000775 0000000 0000000 00000000000 13565534140 0014131 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/json/index.js 0000664 0000000 0000000 00000000120 13565534140 0015567 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = { safeStringify: require("./safe-stringify") };
es5-ext-0.10.53/json/safe-stringify.js 0000664 0000000 0000000 00000001567 13565534140 0017432 0 ustar 00root root 0000000 0000000 "use strict";
var compact = require("../array/#/compact")
, isObject = require("../object/is-object")
, toArray = require("../object/to-array")
, isArray = Array.isArray
, stringify = JSON.stringify;
module.exports = function self(value/*, replacer, space*/) {
var replacer = arguments[1], space = arguments[2];
try {
return stringify(value, replacer, space);
} catch (e) {
if (!isObject(value)) return null;
if (typeof value.toJSON === "function") return null;
if (isArray(value)) {
return (
"[" +
compact.call(value.map(function (item) { return self(item, replacer, space); })) +
"]"
);
}
return (
"{" +
compact
.call(
toArray(value, function (item, key) {
item = self(item, replacer, space);
if (!item) return null;
return stringify(key) + ":" + item;
})
)
.join(",") +
"}"
);
}
};
es5-ext-0.10.53/math/ 0000775 0000000 0000000 00000000000 13565534140 0014111 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/_decimal-adjust.js 0000664 0000000 0000000 00000001450 13565534140 0017474 0 ustar 00root root 0000000 0000000 // Credit:
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round
// #Decimal_rounding
"use strict";
var isValue = require("../object/is-value")
, ensureInteger = require("../object/ensure-integer");
var split = String.prototype.split;
module.exports = function (type) {
return function (value/*, exp*/) {
value = Number(value);
var exp = arguments[1];
if (isValue(exp)) exp = ensureInteger(exp);
if (!value) return value;
if (!exp) return Math[type](value);
if (!isFinite(value)) return value;
// Shift
var tokens = split.call(value, "e");
value = Math[type](tokens[0] + "e" + ((tokens[1] || 0) - exp));
// Shift back
tokens = value.toString().split("e");
return Number(tokens[0] + "e" + (Number(tokens[1] || 0) + exp));
};
};
es5-ext-0.10.53/math/_pack-ieee754.js 0000664 0000000 0000000 00000003734 13565534140 0016700 0 ustar 00root root 0000000 0000000 /* eslint no-bitwise: "off" */
// Credit: https://github.com/paulmillr/es6-shim/
"use strict";
var abs = Math.abs
, floor = Math.floor
, log = Math.log
, min = Math.min
, pow = Math.pow
, LN2 = Math.LN2
, roundToEven;
roundToEven = function (num) {
var whole = floor(num), fraction = num - whole;
if (fraction < 0.5) return whole;
if (fraction > 0.5) return whole + 1;
return whole % 2 ? whole + 1 : whole;
};
// eslint-disable-next-line max-statements, max-lines-per-function
module.exports = function (value, ebits, fbits) {
var bias = (1 << (ebits - 1)) - 1, sign, e, fraction, i, bits, str, bytes;
// Compute sign, exponent, fraction
if (isNaN(value)) {
// NaN
// http://dev.w3.org/2006/webapi/WebIDL/#es-type-mapping
e = (1 << ebits) - 1;
fraction = pow(2, fbits - 1);
sign = 0;
} else if (value === Infinity || value === -Infinity) {
e = (1 << ebits) - 1;
fraction = 0;
sign = value < 0 ? 1 : 0;
} else if (value === 0) {
e = 0;
fraction = 0;
sign = 1 / value === -Infinity ? 1 : 0;
} else {
sign = value < 0;
value = abs(value);
if (value >= pow(2, 1 - bias)) {
e = min(floor(log(value) / LN2), 1023);
fraction = roundToEven((value / pow(2, e)) * pow(2, fbits));
if (fraction / pow(2, fbits) >= 2) {
e += 1;
fraction = 1;
}
if (e > bias) {
// Overflow
e = (1 << ebits) - 1;
fraction = 0;
} else {
// Normal
e += bias;
fraction -= pow(2, fbits);
}
} else {
// Subnormal
e = 0;
fraction = roundToEven(value / pow(2, 1 - bias - fbits));
}
}
// Pack sign, exponent, fraction
bits = [];
for (i = fbits; i; i -= 1) {
bits.push(fraction % 2 ? 1 : 0);
fraction = floor(fraction / 2);
}
for (i = ebits; i; i -= 1) {
bits.push(e % 2 ? 1 : 0);
e = floor(e / 2);
}
bits.push(sign ? 1 : 0);
bits.reverse();
str = bits.join("");
// Bits to bytes
bytes = [];
while (str.length) {
bytes.push(parseInt(str.substring(0, 8), 2));
str = str.substring(8);
}
return bytes;
};
es5-ext-0.10.53/math/_unpack-ieee754.js 0000664 0000000 0000000 00000001637 13565534140 0017243 0 ustar 00root root 0000000 0000000 /* eslint no-bitwise: "off" */
// Credit: https://github.com/paulmillr/es6-shim/
"use strict";
var pow = Math.pow;
module.exports = function (bytes, ebits, fbits) {
// Bytes to bits
var bits = [], i, j, bit, str, bias, sign, e, fraction;
for (i = bytes.length; i; i -= 1) {
bit = bytes[i - 1];
for (j = 8; j; j -= 1) {
bits.push(bit % 2 ? 1 : 0);
bit >>= 1;
}
}
bits.reverse();
str = bits.join("");
// Unpack sign, exponent, fraction
bias = (1 << (ebits - 1)) - 1;
sign = parseInt(str.substring(0, 1), 2) ? -1 : 1;
e = parseInt(str.substring(1, 1 + ebits), 2);
fraction = parseInt(str.substring(1 + ebits), 2);
// Produce number
if (e === (1 << ebits) - 1) return fraction === 0 ? sign * Infinity : NaN;
if (e > 0) return sign * pow(2, e - bias) * (1 + fraction / pow(2, fbits));
if (fraction !== 0) return sign * pow(2, -(bias - 1)) * (fraction / pow(2, fbits));
return sign < 0 ? -0 : 0;
};
es5-ext-0.10.53/math/acosh/ 0000775 0000000 0000000 00000000000 13565534140 0015206 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/acosh/implement.js 0000664 0000000 0000000 00000000274 13565534140 0017541 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Math, "acosh", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/math/acosh/index.js 0000664 0000000 0000000 00000000140 13565534140 0016646 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Math.acosh : require("./shim");
es5-ext-0.10.53/math/acosh/is-implemented.js 0000664 0000000 0000000 00000000243 13565534140 0020457 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var acosh = Math.acosh;
if (typeof acosh !== "function") return false;
return acosh(2) === 1.3169578969248166;
};
es5-ext-0.10.53/math/acosh/shim.js 0000664 0000000 0000000 00000000441 13565534140 0016503 0 ustar 00root root 0000000 0000000 "use strict";
var log = Math.log, sqrt = Math.sqrt;
module.exports = function (value) {
if (isNaN(value)) return NaN;
value = Number(value);
if (value < 1) return NaN;
if (value === 1) return 0;
if (value === Infinity) return value;
return log(value + sqrt(value * value - 1));
};
es5-ext-0.10.53/math/asinh/ 0000775 0000000 0000000 00000000000 13565534140 0015213 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/asinh/implement.js 0000664 0000000 0000000 00000000274 13565534140 0017546 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Math, "asinh", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/math/asinh/index.js 0000664 0000000 0000000 00000000140 13565534140 0016653 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Math.asinh : require("./shim");
es5-ext-0.10.53/math/asinh/is-implemented.js 0000664 0000000 0000000 00000000243 13565534140 0020464 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var asinh = Math.asinh;
if (typeof asinh !== "function") return false;
return asinh(2) === 1.4436354751788103;
};
es5-ext-0.10.53/math/asinh/shim.js 0000664 0000000 0000000 00000000536 13565534140 0016515 0 ustar 00root root 0000000 0000000 "use strict";
var log = Math.log, sqrt = Math.sqrt;
module.exports = function (value) {
if (isNaN(value)) return NaN;
value = Number(value);
if (value === 0) return value;
if (!isFinite(value)) return value;
if (value < 0) {
value = -value;
return -log(value + sqrt(value * value + 1));
}
return log(value + sqrt(value * value + 1));
};
es5-ext-0.10.53/math/atanh/ 0000775 0000000 0000000 00000000000 13565534140 0015204 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/atanh/implement.js 0000664 0000000 0000000 00000000274 13565534140 0017537 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Math, "atanh", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/math/atanh/index.js 0000664 0000000 0000000 00000000140 13565534140 0016644 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Math.atanh : require("./shim");
es5-ext-0.10.53/math/atanh/is-implemented.js 0000664 0000000 0000000 00000000265 13565534140 0020461 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var atanh = Math.atanh;
if (typeof atanh !== "function") return false;
return Math.round(atanh(0.5) * 1e15) === 549306144334055;
};
es5-ext-0.10.53/math/atanh/shim.js 0000664 0000000 0000000 00000000521 13565534140 0016500 0 ustar 00root root 0000000 0000000 "use strict";
var log = Math.log;
module.exports = function (value) {
if (isNaN(value)) return NaN;
value = Number(value);
if (value < -1) return NaN;
if (value > 1) return NaN;
if (value === -1) return -Infinity;
if (value === 1) return Infinity;
if (value === 0) return value;
return 0.5 * log((1 + value) / (1 - value));
};
es5-ext-0.10.53/math/cbrt/ 0000775 0000000 0000000 00000000000 13565534140 0015043 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/cbrt/implement.js 0000664 0000000 0000000 00000000273 13565534140 0017375 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Math, "cbrt", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/math/cbrt/index.js 0000664 0000000 0000000 00000000137 13565534140 0016511 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Math.cbrt : require("./shim");
es5-ext-0.10.53/math/cbrt/is-implemented.js 0000664 0000000 0000000 00000000237 13565534140 0020317 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var cbrt = Math.cbrt;
if (typeof cbrt !== "function") return false;
return cbrt(2) === 1.2599210498948732;
};
es5-ext-0.10.53/math/cbrt/shim.js 0000664 0000000 0000000 00000000416 13565534140 0016342 0 ustar 00root root 0000000 0000000 "use strict";
var pow = Math.pow;
module.exports = function (value) {
if (isNaN(value)) return NaN;
value = Number(value);
if (value === 0) return value;
if (!isFinite(value)) return value;
if (value < 0) return -pow(-value, 1 / 3);
return pow(value, 1 / 3);
};
es5-ext-0.10.53/math/ceil-10.js 0000664 0000000 0000000 00000000106 13565534140 0015576 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./_decimal-adjust")("ceil");
es5-ext-0.10.53/math/clz32/ 0000775 0000000 0000000 00000000000 13565534140 0015046 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/clz32/implement.js 0000664 0000000 0000000 00000000274 13565534140 0017401 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Math, "clz32", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/math/clz32/index.js 0000664 0000000 0000000 00000000140 13565534140 0016506 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Math.clz32 : require("./shim");
es5-ext-0.10.53/math/clz32/is-implemented.js 0000664 0000000 0000000 00000000226 13565534140 0020320 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var clz32 = Math.clz32;
if (typeof clz32 !== "function") return false;
return clz32(1000) === 22;
};
es5-ext-0.10.53/math/clz32/shim.js 0000664 0000000 0000000 00000000241 13565534140 0016341 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (value) {
// eslint-disable-next-line no-bitwise
value >>>= 0;
return value ? 32 - value.toString(2).length : 32;
};
es5-ext-0.10.53/math/cosh/ 0000775 0000000 0000000 00000000000 13565534140 0015045 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/cosh/implement.js 0000664 0000000 0000000 00000000273 13565534140 0017377 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Math, "cosh", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/math/cosh/index.js 0000664 0000000 0000000 00000000137 13565534140 0016513 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Math.cosh : require("./shim");
es5-ext-0.10.53/math/cosh/is-implemented.js 0000664 0000000 0000000 00000000237 13565534140 0020321 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var cosh = Math.cosh;
if (typeof cosh !== "function") return false;
return cosh(1) === 1.5430806348152437;
};
es5-ext-0.10.53/math/cosh/shim.js 0000664 0000000 0000000 00000000356 13565534140 0016347 0 ustar 00root root 0000000 0000000 "use strict";
var exp = Math.exp;
module.exports = function (value) {
if (isNaN(value)) return NaN;
value = Number(value);
if (value === 0) return 1;
if (!isFinite(value)) return Infinity;
return (exp(value) + exp(-value)) / 2;
};
es5-ext-0.10.53/math/expm1/ 0000775 0000000 0000000 00000000000 13565534140 0015143 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/expm1/implement.js 0000664 0000000 0000000 00000000274 13565534140 0017476 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Math, "expm1", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/math/expm1/index.js 0000664 0000000 0000000 00000000140 13565534140 0016603 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Math.expm1 : require("./shim");
es5-ext-0.10.53/math/expm1/is-implemented.js 0000664 0000000 0000000 00000000260 13565534140 0020413 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var expm1 = Math.expm1;
if (typeof expm1 !== "function") return false;
return expm1(1).toFixed(15) === "1.718281828459045";
};
es5-ext-0.10.53/math/expm1/shim.js 0000664 0000000 0000000 00000000615 13565534140 0016443 0 ustar 00root root 0000000 0000000 // Thanks: https://github.com/monolithed/ECMAScript-6
"use strict";
var exp = Math.exp;
module.exports = function (value) {
if (isNaN(value)) return NaN;
value = Number(value);
if (value === 0) return value;
if (value === Infinity) return Infinity;
if (value === -Infinity) return -1;
if (value > -1.0e-6 && value < 1.0e-6) return value + (value * value) / 2;
return exp(value) - 1;
};
es5-ext-0.10.53/math/floor-10.js 0000664 0000000 0000000 00000000107 13565534140 0016004 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./_decimal-adjust")("floor");
es5-ext-0.10.53/math/fround/ 0000775 0000000 0000000 00000000000 13565534140 0015406 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/fround/implement.js 0000664 0000000 0000000 00000000275 13565534140 0017742 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Math, "fround", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/math/fround/index.js 0000664 0000000 0000000 00000000141 13565534140 0017047 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Math.fround : require("./shim");
es5-ext-0.10.53/math/fround/is-implemented.js 0000664 0000000 0000000 00000000253 13565534140 0020660 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var fround = Math.fround;
if (typeof fround !== "function") return false;
return fround(1.337) === 1.3370000123977661;
};
es5-ext-0.10.53/math/fround/shim.js 0000664 0000000 0000000 00000001340 13565534140 0016702 0 ustar 00root root 0000000 0000000 /* global Float32Array */
// Credit: https://github.com/paulmillr/es6-shim/blob/master/es6-shim.js
"use strict";
var toFloat32;
if (typeof Float32Array === "undefined") {
toFloat32 = (function () {
var pack = require("../_pack-ieee754")
, unpack = require("../_unpack-ieee754");
return function (value) { return unpack(pack(value, 8, 23), 8, 23); };
})();
} else {
toFloat32 = (function () {
var float32Array = new Float32Array(1);
return function (num) {
float32Array[0] = num;
return float32Array[0];
};
})();
}
module.exports = function (value) {
if (isNaN(value)) return NaN;
value = Number(value);
if (value === 0) return value;
if (!isFinite(value)) return value;
return toFloat32(value);
};
es5-ext-0.10.53/math/hypot/ 0000775 0000000 0000000 00000000000 13565534140 0015254 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/hypot/implement.js 0000664 0000000 0000000 00000000274 13565534140 0017607 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Math, "hypot", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/math/hypot/index.js 0000664 0000000 0000000 00000000140 13565534140 0016714 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Math.hypot : require("./shim");
es5-ext-0.10.53/math/hypot/is-implemented.js 0000664 0000000 0000000 00000000225 13565534140 0020525 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var hypot = Math.hypot;
if (typeof hypot !== "function") return false;
return hypot(3, 4) === 5;
};
es5-ext-0.10.53/math/hypot/shim.js 0000664 0000000 0000000 00000001750 13565534140 0016555 0 ustar 00root root 0000000 0000000 // Thanks for hints: https://github.com/paulmillr/es6-shim
"use strict";
var some = Array.prototype.some
, abs = Math.abs
, sqrt = Math.sqrt
, compare = function (val1, val2) { return val2 - val1; }
, divide = function (value) { return value / this; }
, add = function (sum, number) { return sum + number * number; };
// eslint-disable-next-line no-unused-vars
module.exports = function (val1, val2/*, …valn*/) {
var result, numbers;
if (!arguments.length) return 0;
some.call(arguments, function (val) {
if (isNaN(val)) {
result = NaN;
return false;
}
if (!isFinite(val)) {
result = Infinity;
return true;
}
if (result !== undefined) return false;
val = Number(val);
if (val === 0) return false;
if (numbers) numbers.push(abs(val));
else numbers = [abs(val)];
return false;
});
if (result !== undefined) return result;
if (!numbers) return 0;
numbers.sort(compare);
return numbers[0] * sqrt(numbers.map(divide, numbers[0]).reduce(add, 0));
};
es5-ext-0.10.53/math/imul/ 0000775 0000000 0000000 00000000000 13565534140 0015057 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/imul/implement.js 0000664 0000000 0000000 00000000273 13565534140 0017411 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Math, "imul", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/math/imul/index.js 0000664 0000000 0000000 00000000137 13565534140 0016525 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Math.imul : require("./shim");
es5-ext-0.10.53/math/imul/is-implemented.js 0000664 0000000 0000000 00000000223 13565534140 0020326 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var imul = Math.imul;
if (typeof imul !== "function") return false;
return imul(-1, 8) === -8;
};
es5-ext-0.10.53/math/imul/shim.js 0000664 0000000 0000000 00000000763 13565534140 0016363 0 ustar 00root root 0000000 0000000 /* eslint no-bitwise: "off" */
// Thanks: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference
// /Global_Objects/Math/imul
"use strict";
module.exports = function (val1, val2) {
var xh = (val1 >>> 16) & 0xffff
, xl = val1 & 0xffff
, yh = (val2 >>> 16) & 0xffff
, yl = val2 & 0xffff;
// The shift by 0 fixes the sign on the high part
// the final |0 converts the unsigned value into a signed value
return (xl * yl + (((xh * yl + xl * yh) << 16) >>> 0)) | 0;
};
es5-ext-0.10.53/math/index.js 0000664 0000000 0000000 00000001125 13565534140 0015555 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
acosh: require("./acosh"),
asinh: require("./asinh"),
atanh: require("./atanh"),
cbrt: require("./cbrt"),
ceil10: require("./ceil-10"),
clz32: require("./clz32"),
cosh: require("./cosh"),
expm1: require("./expm1"),
floor10: require("./floor-10"),
fround: require("./fround"),
hypot: require("./hypot"),
imul: require("./imul"),
log10: require("./log10"),
log2: require("./log2"),
log1p: require("./log1p"),
round10: require("./round-10"),
sign: require("./sign"),
sinh: require("./sinh"),
tanh: require("./tanh"),
trunc: require("./trunc")
};
es5-ext-0.10.53/math/log10/ 0000775 0000000 0000000 00000000000 13565534140 0015033 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/log10/implement.js 0000664 0000000 0000000 00000000274 13565534140 0017366 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Math, "log10", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/math/log10/index.js 0000664 0000000 0000000 00000000140 13565534140 0016473 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Math.log10 : require("./shim");
es5-ext-0.10.53/math/log10/is-implemented.js 0000664 0000000 0000000 00000000243 13565534140 0020304 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var log10 = Math.log10;
if (typeof log10 !== "function") return false;
return log10(2) === 0.3010299956639812;
};
es5-ext-0.10.53/math/log10/shim.js 0000664 0000000 0000000 00000000474 13565534140 0016336 0 ustar 00root root 0000000 0000000 "use strict";
var log = Math.log, LOG10E = Math.LOG10E;
module.exports = function (value) {
if (isNaN(value)) return NaN;
value = Number(value);
if (value < 0) return NaN;
if (value === 0) return -Infinity;
if (value === 1) return 0;
if (value === Infinity) return Infinity;
return log(value) * LOG10E;
};
es5-ext-0.10.53/math/log1p/ 0000775 0000000 0000000 00000000000 13565534140 0015133 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/log1p/implement.js 0000664 0000000 0000000 00000000274 13565534140 0017466 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Math, "log1p", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/math/log1p/index.js 0000664 0000000 0000000 00000000140 13565534140 0016573 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Math.log1p : require("./shim");
es5-ext-0.10.53/math/log1p/is-implemented.js 0000664 0000000 0000000 00000000243 13565534140 0020404 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var log1p = Math.log1p;
if (typeof log1p !== "function") return false;
return log1p(1) === 0.6931471805599453;
};
es5-ext-0.10.53/math/log1p/shim.js 0000664 0000000 0000000 00000000675 13565534140 0016441 0 ustar 00root root 0000000 0000000 // Thanks: https://github.com/monolithed/ECMAScript-6/blob/master/ES6.js
"use strict";
var log = Math.log;
module.exports = function (value) {
if (isNaN(value)) return NaN;
value = Number(value);
if (value < -1) return NaN;
if (value === -1) return -Infinity;
if (value === 0) return value;
if (value === Infinity) return Infinity;
if (value > -1.0e-8 && value < 1.0e-8) return value - (value * value) / 2;
return log(1 + value);
};
es5-ext-0.10.53/math/log2/ 0000775 0000000 0000000 00000000000 13565534140 0014754 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/log2/implement.js 0000664 0000000 0000000 00000000273 13565534140 0017306 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Math, "log2", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/math/log2/index.js 0000664 0000000 0000000 00000000137 13565534140 0016422 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Math.log2 : require("./shim");
es5-ext-0.10.53/math/log2/is-implemented.js 0000664 0000000 0000000 00000000254 13565534140 0020227 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var log2 = Math.log2;
if (typeof log2 !== "function") return false;
return log2(3).toFixed(15) === "1.584962500721156";
};
es5-ext-0.10.53/math/log2/shim.js 0000664 0000000 0000000 00000000471 13565534140 0016254 0 ustar 00root root 0000000 0000000 "use strict";
var log = Math.log, LOG2E = Math.LOG2E;
module.exports = function (value) {
if (isNaN(value)) return NaN;
value = Number(value);
if (value < 0) return NaN;
if (value === 0) return -Infinity;
if (value === 1) return 0;
if (value === Infinity) return Infinity;
return log(value) * LOG2E;
};
es5-ext-0.10.53/math/round-10.js 0000664 0000000 0000000 00000000107 13565534140 0016012 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./_decimal-adjust")("round");
es5-ext-0.10.53/math/sign/ 0000775 0000000 0000000 00000000000 13565534140 0015051 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/sign/implement.js 0000664 0000000 0000000 00000000273 13565534140 0017403 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Math, "sign", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/math/sign/index.js 0000664 0000000 0000000 00000000137 13565534140 0016517 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Math.sign : require("./shim");
es5-ext-0.10.53/math/sign/is-implemented.js 0000664 0000000 0000000 00000000243 13565534140 0020322 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var sign = Math.sign;
if (typeof sign !== "function") return false;
return sign(10) === 1 && sign(-20) === -1;
};
es5-ext-0.10.53/math/sign/shim.js 0000664 0000000 0000000 00000000232 13565534140 0016344 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (value) {
value = Number(value);
if (isNaN(value) || value === 0) return value;
return value > 0 ? 1 : -1;
};
es5-ext-0.10.53/math/sinh/ 0000775 0000000 0000000 00000000000 13565534140 0015052 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/sinh/implement.js 0000664 0000000 0000000 00000000273 13565534140 0017404 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Math, "sinh", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/math/sinh/index.js 0000664 0000000 0000000 00000000137 13565534140 0016520 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Math.sinh : require("./shim");
es5-ext-0.10.53/math/sinh/is-implemented.js 0000664 0000000 0000000 00000000304 13565534140 0020321 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var sinh = Math.sinh;
if (typeof sinh !== "function") return false;
return sinh(1) === 1.1752011936438014 && sinh(Number.MIN_VALUE) === 5e-324;
};
es5-ext-0.10.53/math/sinh/shim.js 0000664 0000000 0000000 00000001005 13565534140 0016344 0 ustar 00root root 0000000 0000000 // Parts of implementation taken from es6-shim project
// See: https://github.com/paulmillr/es6-shim/blob/master/es6-shim.js
"use strict";
var expm1 = require("../expm1")
, abs = Math.abs
, exp = Math.exp
, e = Math.E;
module.exports = function (value) {
if (isNaN(value)) return NaN;
value = Number(value);
if (value === 0) return value;
if (!isFinite(value)) return value;
if (abs(value) < 1) return (expm1(value) - expm1(-value)) / 2;
return ((exp(value - 1) - exp(-value - 1)) * e) / 2;
};
es5-ext-0.10.53/math/tanh/ 0000775 0000000 0000000 00000000000 13565534140 0015043 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/tanh/implement.js 0000664 0000000 0000000 00000000273 13565534140 0017375 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Math, "tanh", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/math/tanh/index.js 0000664 0000000 0000000 00000000137 13565534140 0016511 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Math.tanh : require("./shim");
es5-ext-0.10.53/math/tanh/is-implemented.js 0000664 0000000 0000000 00000000277 13565534140 0020323 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var tanh = Math.tanh;
if (typeof tanh !== "function") return false;
return tanh(1) === 0.7615941559557649 && tanh(Number.MAX_VALUE) === 1;
};
es5-ext-0.10.53/math/tanh/shim.js 0000664 0000000 0000000 00000000620 13565534140 0016337 0 ustar 00root root 0000000 0000000 "use strict";
var exp = Math.exp;
module.exports = function (value) {
var num1, num2;
if (isNaN(value)) return NaN;
value = Number(value);
if (value === 0) return value;
if (value === Infinity) return 1;
if (value === -Infinity) return -1;
num1 = exp(value);
if (num1 === Infinity) return 1;
num2 = exp(-value);
if (num2 === Infinity) return -1;
return (num1 - num2) / (num1 + num2);
};
es5-ext-0.10.53/math/trunc/ 0000775 0000000 0000000 00000000000 13565534140 0015244 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/math/trunc/implement.js 0000664 0000000 0000000 00000000274 13565534140 0017577 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Math, "trunc", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/math/trunc/index.js 0000664 0000000 0000000 00000000140 13565534140 0016704 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Math.trunc : require("./shim");
es5-ext-0.10.53/math/trunc/is-implemented.js 0000664 0000000 0000000 00000000260 13565534140 0020514 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var trunc = Math.trunc;
if (typeof trunc !== "function") return false;
return trunc(13.67) === 13 && trunc(-13.67) === -13;
};
es5-ext-0.10.53/math/trunc/shim.js 0000664 0000000 0000000 00000000471 13565534140 0016544 0 ustar 00root root 0000000 0000000 "use strict";
var floor = Math.floor;
module.exports = function (value) {
if (isNaN(value)) return NaN;
value = Number(value);
if (value === 0) return value;
if (value === Infinity) return Infinity;
if (value === -Infinity) return -Infinity;
if (value > 0) return floor(value);
return -floor(-value);
};
es5-ext-0.10.53/number/ 0000775 0000000 0000000 00000000000 13565534140 0014450 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/number/#/ 0000775 0000000 0000000 00000000000 13565534140 0014572 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/number/#/index.js 0000664 0000000 0000000 00000000073 13565534140 0016237 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = { pad: require("./pad") };
es5-ext-0.10.53/number/#/pad.js 0000664 0000000 0000000 00000000625 13565534140 0015677 0 ustar 00root root 0000000 0000000 "use strict";
var pad = require("../../string/#/pad")
, toPosInt = require("../to-pos-integer")
, toFixed = Number.prototype.toFixed;
module.exports = function (length/*, precision*/) {
var precision;
length = toPosInt(length);
precision = toPosInt(arguments[1]);
return pad.call(
precision ? toFixed.call(this, precision) : this, "0",
length + (precision ? 1 + precision : 0)
);
};
es5-ext-0.10.53/number/epsilon/ 0000775 0000000 0000000 00000000000 13565534140 0016121 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/number/epsilon/implement.js 0000664 0000000 0000000 00000000276 13565534140 0020456 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Number, "EPSILON", {
value: require("./"),
configurable: false,
enumerable: false,
writable: false
});
}
es5-ext-0.10.53/number/epsilon/index.js 0000664 0000000 0000000 00000000067 13565534140 0017571 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = 2.220446049250313e-16;
es5-ext-0.10.53/number/epsilon/is-implemented.js 0000664 0000000 0000000 00000000134 13565534140 0021371 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () { return typeof Number.EPSILON === "number"; };
es5-ext-0.10.53/number/index.js 0000664 0000000 0000000 00000001045 13565534140 0016115 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"#": require("./#"),
"EPSILON": require("./epsilon"),
"isFinite": require("./is-finite"),
"isInteger": require("./is-integer"),
"isNaN": require("./is-nan"),
"isNatural": require("./is-natural"),
"isNumber": require("./is-number"),
"isSafeInteger": require("./is-safe-integer"),
"MAX_SAFE_INTEGER": require("./max-safe-integer"),
"MIN_SAFE_INTEGER": require("./min-safe-integer"),
"toInteger": require("./to-integer"),
"toPosInteger": require("./to-pos-integer"),
"toUint32": require("./to-uint32")
};
es5-ext-0.10.53/number/is-finite/ 0000775 0000000 0000000 00000000000 13565534140 0016337 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/number/is-finite/implement.js 0000664 0000000 0000000 00000000301 13565534140 0020661 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Number, "isFinite", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/number/is-finite/index.js 0000664 0000000 0000000 00000000145 13565534140 0020004 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Number.isFinite : require("./shim");
es5-ext-0.10.53/number/is-finite/is-implemented.js 0000664 0000000 0000000 00000000343 13565534140 0021611 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var numberIsFinite = Number.isFinite;
if (typeof numberIsFinite !== "function") return false;
return !numberIsFinite("23") && numberIsFinite(34) && !numberIsFinite(Infinity);
};
es5-ext-0.10.53/number/is-finite/shim.js 0000664 0000000 0000000 00000000153 13565534140 0017634 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (value) { return typeof value === "number" && isFinite(value); };
es5-ext-0.10.53/number/is-integer/ 0000775 0000000 0000000 00000000000 13565534140 0016516 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/number/is-integer/implement.js 0000664 0000000 0000000 00000000302 13565534140 0021041 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Number, "isInteger", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/number/is-integer/index.js 0000664 0000000 0000000 00000000146 13565534140 0020164 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Number.isInteger : require("./shim");
es5-ext-0.10.53/number/is-integer/is-implemented.js 0000664 0000000 0000000 00000000310 13565534140 0021762 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var isInteger = Number.isInteger;
if (typeof isInteger !== "function") return false;
return !isInteger("23") && isInteger(34) && !isInteger(32.34);
};
es5-ext-0.10.53/number/is-integer/shim.js 0000664 0000000 0000000 00000000267 13565534140 0020021 0 ustar 00root root 0000000 0000000 // Credit: http://www.2ality.com/2014/05/is-integer.html
"use strict";
module.exports = function (value) {
if (typeof value !== "number") return false;
return value % 1 === 0;
};
es5-ext-0.10.53/number/is-nan/ 0000775 0000000 0000000 00000000000 13565534140 0015635 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/number/is-nan/implement.js 0000664 0000000 0000000 00000000276 13565534140 0020172 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Number, "isNaN", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/number/is-nan/index.js 0000664 0000000 0000000 00000000142 13565534140 0017277 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Number.isNaN : require("./shim");
es5-ext-0.10.53/number/is-nan/is-implemented.js 0000664 0000000 0000000 00000000312 13565534140 0021103 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var numberIsNaN = Number.isNaN;
if (typeof numberIsNaN !== "function") return false;
return !numberIsNaN({}) && numberIsNaN(NaN) && !numberIsNaN(34);
};
es5-ext-0.10.53/number/is-nan/shim.js 0000664 0000000 0000000 00000000174 13565534140 0017135 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (value) {
// eslint-disable-next-line no-self-compare
return value !== value;
};
es5-ext-0.10.53/number/is-natural.js 0000664 0000000 0000000 00000000201 13565534140 0017056 0 ustar 00root root 0000000 0000000 "use strict";
var isInteger = require("./is-integer");
module.exports = function (num) { return isInteger(num) && num >= 0; };
es5-ext-0.10.53/number/is-number.js 0000664 0000000 0000000 00000000410 13565534140 0016702 0 ustar 00root root 0000000 0000000 "use strict";
var objToString = Object.prototype.toString, id = objToString.call(1);
module.exports = function (value) {
return (
typeof value === "number" ||
(value instanceof Number || (typeof value === "object" && objToString.call(value) === id))
);
};
es5-ext-0.10.53/number/is-safe-integer/ 0000775 0000000 0000000 00000000000 13565534140 0017432 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/number/is-safe-integer/implement.js 0000664 0000000 0000000 00000000306 13565534140 0021761 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Number, "isSafeInteger", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/number/is-safe-integer/index.js 0000664 0000000 0000000 00000000152 13565534140 0021075 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Number.isSafeInteger : require("./shim");
es5-ext-0.10.53/number/is-safe-integer/is-implemented.js 0000664 0000000 0000000 00000000364 13565534140 0022707 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var isSafeInteger = Number.isSafeInteger;
if (typeof isSafeInteger !== "function") return false;
return !isSafeInteger("23") && isSafeInteger(34232322323) && !isSafeInteger(9007199254740992);
};
es5-ext-0.10.53/number/is-safe-integer/shim.js 0000664 0000000 0000000 00000000364 13565534140 0020733 0 ustar 00root root 0000000 0000000 "use strict";
var isInteger = require("../is-integer/shim")
, maxValue = require("../max-safe-integer")
, abs = Math.abs;
module.exports = function (value) {
if (!isInteger(value)) return false;
return abs(value) <= maxValue;
};
es5-ext-0.10.53/number/max-safe-integer/ 0000775 0000000 0000000 00000000000 13565534140 0017604 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/number/max-safe-integer/implement.js 0000664 0000000 0000000 00000000307 13565534140 0022134 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Number, "MAX_SAFE_INTEGER", {
value: require("./"),
configurable: false,
enumerable: false,
writable: false
});
}
es5-ext-0.10.53/number/max-safe-integer/index.js 0000664 0000000 0000000 00000000065 13565534140 0021252 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = Math.pow(2, 53) - 1;
es5-ext-0.10.53/number/max-safe-integer/is-implemented.js 0000664 0000000 0000000 00000000145 13565534140 0023056 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () { return typeof Number.MAX_SAFE_INTEGER === "number"; };
es5-ext-0.10.53/number/min-safe-integer/ 0000775 0000000 0000000 00000000000 13565534140 0017602 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/number/min-safe-integer/implement.js 0000664 0000000 0000000 00000000307 13565534140 0022132 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Number, "MIN_SAFE_INTEGER", {
value: require("./"),
configurable: false,
enumerable: false,
writable: false
});
}
es5-ext-0.10.53/number/min-safe-integer/index.js 0000664 0000000 0000000 00000000070 13565534140 0021244 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = -(Math.pow(2, 53) - 1);
es5-ext-0.10.53/number/min-safe-integer/is-implemented.js 0000664 0000000 0000000 00000000145 13565534140 0023054 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () { return typeof Number.MIN_SAFE_INTEGER === "number"; };
es5-ext-0.10.53/number/to-integer.js 0000664 0000000 0000000 00000000432 13565534140 0017062 0 ustar 00root root 0000000 0000000 "use strict";
var sign = require("../math/sign")
, abs = Math.abs
, floor = Math.floor;
module.exports = function (value) {
if (isNaN(value)) return 0;
value = Number(value);
if (value === 0 || !isFinite(value)) return value;
return sign(value) * floor(abs(value));
};
es5-ext-0.10.53/number/to-pos-integer.js 0000664 0000000 0000000 00000000232 13565534140 0017657 0 ustar 00root root 0000000 0000000 "use strict";
var toInteger = require("./to-integer")
, max = Math.max;
module.exports = function (value) { return max(0, toInteger(value)); };
es5-ext-0.10.53/number/to-uint32.js 0000664 0000000 0000000 00000000163 13565534140 0016552 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (value) {
// eslint-disable-next-line no-bitwise
return value >>> 0;
};
es5-ext-0.10.53/object/ 0000775 0000000 0000000 00000000000 13565534140 0014426 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/object/_iterate.js 0000664 0000000 0000000 00000002130 13565534140 0016554 0 ustar 00root root 0000000 0000000 // Internal method, used by iteration functions.
// Calls a function for each key-value pair found in object
// Optionally takes compareFn to iterate object in specific order
"use strict";
var callable = require("./valid-callable")
, value = require("./valid-value")
, bind = Function.prototype.bind
, call = Function.prototype.call
, keys = Object.keys
, objPropertyIsEnumerable = Object.prototype.propertyIsEnumerable;
module.exports = function (method, defVal) {
return function (obj, cb/*, thisArg, compareFn*/) {
var list, thisArg = arguments[2], compareFn = arguments[3];
obj = Object(value(obj));
callable(cb);
list = keys(obj);
if (compareFn) {
list.sort(typeof compareFn === "function" ? bind.call(compareFn, obj) : undefined);
}
if (typeof method !== "function") method = list[method];
return call.call(method, list, function (key, index) {
if (!objPropertyIsEnumerable.call(obj, key)) return defVal;
return call.call(cb, thisArg, obj[key], key, obj, index);
});
};
};
es5-ext-0.10.53/object/assign-deep.js 0000664 0000000 0000000 00000002130 13565534140 0017157 0 ustar 00root root 0000000 0000000 "use strict";
var includes = require("../array/#/contains")
, uniq = require("../array/#/uniq")
, copyDeep = require("./copy-deep")
, objForEach = require("./for-each")
, isPlainObject = require("./is-plain-object")
, ensureValue = require("./valid-value");
var isArray = Array.isArray, slice = Array.prototype.slice;
var deepAssign = function (target, source) {
if (target === source) return target;
if (isPlainObject(target) && isPlainObject(source)) {
objForEach(source, function (value, key) { target[key] = deepAssign(target[key], value); });
return target;
}
if (isArray(target) && isArray(source)) {
source.forEach(function (item) {
if (includes.call(target, item)) return;
if (isArray(item) || isPlainObject(item)) item = copyDeep(item);
target.push(item);
});
return target;
}
if (isPlainObject(source) || isArray(source)) return copyDeep(source);
return source;
};
module.exports = function (target/*, ...objects*/) {
return uniq
.call([ensureValue(target)].concat(slice.call(arguments, 1).map(ensureValue)))
.reduce(deepAssign);
};
es5-ext-0.10.53/object/assign/ 0000775 0000000 0000000 00000000000 13565534140 0015712 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/object/assign/implement.js 0000664 0000000 0000000 00000000277 13565534140 0020250 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Object, "assign", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/object/assign/index.js 0000664 0000000 0000000 00000000143 13565534140 0017355 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Object.assign : require("./shim");
es5-ext-0.10.53/object/assign/is-implemented.js 0000664 0000000 0000000 00000000402 13565534140 0021160 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var assign = Object.assign, obj;
if (typeof assign !== "function") return false;
obj = { foo: "raz" };
assign(obj, { bar: "dwa" }, { trzy: "trzy" });
return obj.foo + obj.bar + obj.trzy === "razdwatrzy";
};
es5-ext-0.10.53/object/assign/shim.js 0000664 0000000 0000000 00000000763 13565534140 0017216 0 ustar 00root root 0000000 0000000 "use strict";
var keys = require("../keys")
, value = require("../valid-value")
, max = Math.max;
module.exports = function (dest, src/*, …srcn*/) {
var error, i, length = max(arguments.length, 2), assign;
dest = Object(value(dest));
assign = function (key) {
try {
dest[key] = src[key];
} catch (e) {
if (!error) error = e;
}
};
for (i = 1; i < length; ++i) {
src = arguments[i];
keys(src).forEach(assign);
}
if (error !== undefined) throw error;
return dest;
};
es5-ext-0.10.53/object/clear.js 0000664 0000000 0000000 00000000414 13565534140 0016051 0 ustar 00root root 0000000 0000000 "use strict";
var keys = require("./keys");
module.exports = function (obj) {
var error;
keys(obj).forEach(function (key) {
try {
delete this[key];
} catch (e) {
if (!error) error = e;
}
}, obj);
if (error !== undefined) throw error;
return obj;
};
es5-ext-0.10.53/object/compact.js 0000664 0000000 0000000 00000000272 13565534140 0016413 0 ustar 00root root 0000000 0000000 "use strict";
var filter = require("./filter")
, isValue = require("./is-value");
module.exports = function (obj) {
return filter(obj, function (val) { return isValue(val); });
};
es5-ext-0.10.53/object/compare.js 0000664 0000000 0000000 00000002073 13565534140 0016414 0 ustar 00root root 0000000 0000000 "use strict";
var strCompare = require("../string/#/case-insensitive-compare")
, isObject = require("./is-object")
, isValue = require("./is-value")
, numIsNaN = require("../number/is-nan")
, resolve
, typeMap;
typeMap = { undefined: 0, object: 1, boolean: 2, string: 3, number: 4 };
resolve = function (a) {
if (isObject(a)) {
if (typeof a.valueOf !== "function") return NaN;
a = a.valueOf();
if (isObject(a)) {
if (typeof a.toString !== "function") return NaN;
a = a.toString();
if (typeof a !== "string") return NaN;
}
}
return a;
};
module.exports = function (val1, val2) {
if (val1 === val2) return 0; // Same
val1 = resolve(val1);
val2 = resolve(val2);
// eslint-disable-next-line eqeqeq
if (val1 == val2) return typeMap[typeof val1] - typeMap[typeof val2];
if (!isValue(val1)) return -1;
if (!isValue(val2)) return 1;
if (typeof val1 === "string" || typeof val2 === "string") {
return strCompare.call(val1, val2);
}
if (numIsNaN(val1) && numIsNaN(val2)) return 0; // Jslint: ignore
return Number(val1) - Number(val2);
};
es5-ext-0.10.53/object/copy-deep.js 0000664 0000000 0000000 00000001646 13565534140 0016660 0 ustar 00root root 0000000 0000000 "use strict";
var forEach = require("./for-each")
, isPlainObject = require("./is-plain-object")
, ensureValue = require("./valid-value")
, isArray = Array.isArray;
var copyValue = function (value, ancestors, ancestorsCopy) {
var mode;
if (isPlainObject(value)) mode = "object";
else if (isArray(value)) mode = "array";
if (!mode) return value;
var copy = ancestorsCopy[ancestors.indexOf(value)];
if (copy) return copy;
copy = mode === "object" ? {} : [];
ancestors.push(value);
ancestorsCopy.push(copy);
if (mode === "object") {
forEach(value, function (item, key) {
copy[key] = copyValue(item, ancestors, ancestorsCopy);
});
} else {
value.forEach(function (item, index) {
copy[index] = copyValue(item, ancestors, ancestorsCopy);
});
}
ancestors.pop();
ancestorsCopy.pop();
return copy;
};
module.exports = function (source) { return copyValue(ensureValue(source), [], []); };
es5-ext-0.10.53/object/copy.js 0000664 0000000 0000000 00000001072 13565534140 0015736 0 ustar 00root root 0000000 0000000 "use strict";
var aFrom = require("../array/from")
, assign = require("./assign")
, value = require("./valid-value");
module.exports = function (obj/*, propertyNames, options*/) {
var copy = Object(value(obj)), propertyNames = arguments[1], options = Object(arguments[2]);
if (copy !== obj && !propertyNames) return copy;
var result = {};
if (propertyNames) {
aFrom(propertyNames, function (propertyName) {
if (options.ensure || propertyName in obj) result[propertyName] = obj[propertyName];
});
} else {
assign(result, obj);
}
return result;
};
es5-ext-0.10.53/object/count.js 0000664 0000000 0000000 00000000154 13565534140 0016114 0 ustar 00root root 0000000 0000000 "use strict";
var keys = require("./keys");
module.exports = function (obj) { return keys(obj).length; };
es5-ext-0.10.53/object/create.js 0000664 0000000 0000000 00000002022 13565534140 0016223 0 ustar 00root root 0000000 0000000 // Workaround for http://code.google.com/p/v8/issues/detail?id=2804
"use strict";
var create = Object.create, shim;
if (!require("./set-prototype-of/is-implemented")()) {
shim = require("./set-prototype-of/shim");
}
module.exports = (function () {
var nullObject, polyProps, desc;
if (!shim) return create;
if (shim.level !== 1) return create;
nullObject = {};
polyProps = {};
desc = { configurable: false, enumerable: false, writable: true, value: undefined };
Object.getOwnPropertyNames(Object.prototype).forEach(function (name) {
if (name === "__proto__") {
polyProps[name] = {
configurable: true,
enumerable: false,
writable: true,
value: undefined
};
return;
}
polyProps[name] = desc;
});
Object.defineProperties(nullObject, polyProps);
Object.defineProperty(shim, "nullPolyfill", {
configurable: false,
enumerable: false,
writable: false,
value: nullObject
});
return function (prototype, props) {
return create(prototype === null ? nullObject : prototype, props);
};
})();
es5-ext-0.10.53/object/ensure-array.js 0000664 0000000 0000000 00000000413 13565534140 0017377 0 ustar 00root root 0000000 0000000 "use strict";
var toShortString = require("../to-short-string-representation")
, isArray = require("./is-array-like");
module.exports = function (value) {
if (isArray(value)) return value;
throw new TypeError(toShortString(value) + " is not a array");
};
es5-ext-0.10.53/object/ensure-finite-number.js 0000664 0000000 0000000 00000000450 13565534140 0021026 0 ustar 00root root 0000000 0000000 "use strict";
var isFiniteNumber = require("./is-finite-number")
, safeToString = require("../safe-to-string");
module.exports = function (value) {
if (isFiniteNumber(value)) return Number(value);
throw new TypeError(safeToString(value) + " does not represent a finite number value");
};
es5-ext-0.10.53/object/ensure-integer.js 0000664 0000000 0000000 00000000415 13565534140 0017720 0 ustar 00root root 0000000 0000000 "use strict";
var toShortString = require("../to-short-string-representation")
, isInteger = require("./is-integer");
module.exports = function (num) {
if (!isInteger(num)) throw new TypeError(toShortString(num) + " is not a integer");
return Number(num);
};
es5-ext-0.10.53/object/ensure-natural-number-value.js 0000664 0000000 0000000 00000000470 13565534140 0022332 0 ustar 00root root 0000000 0000000 "use strict";
var isNaturalValue = require("./is-natural-number-value")
, toShortString = require("../to-short-string-representation");
module.exports = function (arg) {
var num = Number(arg);
if (!isNaturalValue(arg)) throw new TypeError(toShortString(arg) + " is not a natural number");
return num;
};
es5-ext-0.10.53/object/ensure-natural-number.js 0000664 0000000 0000000 00000000454 13565534140 0021222 0 ustar 00root root 0000000 0000000 "use strict";
var isNatural = require("../number/is-natural")
, toShortString = require("../to-short-string-representation");
module.exports = function (arg) {
var num = Number(arg);
if (!isNatural(num)) throw new TypeError(toShortString(arg) + " is not a natural number");
return num;
};
es5-ext-0.10.53/object/ensure-plain-function.js 0000664 0000000 0000000 00000000433 13565534140 0021211 0 ustar 00root root 0000000 0000000 "use strict";
var safeToString = require("../safe-to-string")
, isPlainFunction = require("./is-plain-function");
module.exports = function (value) {
if (!isPlainFunction(value)) {
throw new TypeError(safeToString(value) + " is not a plain function");
}
return value;
};
es5-ext-0.10.53/object/ensure-plain-object.js 0000664 0000000 0000000 00000000412 13565534140 0020627 0 ustar 00root root 0000000 0000000 "use strict";
var safeToString = require("../safe-to-string")
, isPlainObject = require("./is-plain-object");
module.exports = function (value) {
if (!isPlainObject(value)) throw new TypeError(safeToString(value) + " is not a plain object");
return value;
};
es5-ext-0.10.53/object/ensure-promise.js 0000664 0000000 0000000 00000000372 13565534140 0017743 0 ustar 00root root 0000000 0000000 "use strict";
var safeToString = require("../safe-to-string")
, isPromise = require("./is-promise");
module.exports = function (value) {
if (!isPromise(value)) throw new TypeError(safeToString(value) + " is not a promise");
return value;
};
es5-ext-0.10.53/object/ensure-thenable.js 0000664 0000000 0000000 00000000375 13565534140 0020052 0 ustar 00root root 0000000 0000000 "use strict";
var safeToString = require("../safe-to-string")
, isThenable = require("./is-thenable");
module.exports = function (value) {
if (!isThenable(value)) throw new TypeError(safeToString(value) + " is not a thenable");
return value;
};
es5-ext-0.10.53/object/entries/ 0000775 0000000 0000000 00000000000 13565534140 0016077 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/object/entries/implement.js 0000664 0000000 0000000 00000000300 13565534140 0020420 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Object, "entries", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/object/entries/index.js 0000664 0000000 0000000 00000000144 13565534140 0017543 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Object.entries : require("./shim");
es5-ext-0.10.53/object/entries/is-implemented.js 0000664 0000000 0000000 00000000213 13565534140 0021345 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
try { return Object.entries({ foo: 12 })[0][0] === "foo"; }
catch (e) { return false; }
};
es5-ext-0.10.53/object/entries/shim.js 0000664 0000000 0000000 00000000461 13565534140 0017376 0 ustar 00root root 0000000 0000000 "use strict";
var ensureValue = require("../valid-value");
module.exports = function (object) {
ensureValue(object);
var result = [];
object = Object(object);
for (var key in object) {
if (!propertyIsEnumerable.call(object, key)) continue;
result.push([key, object[key]]);
}
return result;
};
es5-ext-0.10.53/object/eq.js 0000664 0000000 0000000 00000000245 13565534140 0015372 0 ustar 00root root 0000000 0000000 "use strict";
var numIsNaN = require("../number/is-nan");
module.exports = function (val1, val2) {
return val1 === val2 || (numIsNaN(val1) && numIsNaN(val2));
};
es5-ext-0.10.53/object/every.js 0000664 0000000 0000000 00000000106 13565534140 0016113 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./_iterate")("every", true);
es5-ext-0.10.53/object/filter.js 0000664 0000000 0000000 00000000636 13565534140 0016256 0 ustar 00root root 0000000 0000000 "use strict";
var callable = require("./valid-callable")
, forEach = require("./for-each")
, call = Function.prototype.call;
module.exports = function (obj, cb/*, thisArg*/) {
var result = {}, thisArg = arguments[2];
callable(cb);
forEach(obj, function (value, key, targetObj, index) {
if (call.call(cb, thisArg, value, key, targetObj, index)) result[key] = targetObj[key];
});
return result;
};
es5-ext-0.10.53/object/find-key.js 0000664 0000000 0000000 00000000132 13565534140 0016466 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./_iterate")(require("../array/#/find"), false);
es5-ext-0.10.53/object/find.js 0000664 0000000 0000000 00000000427 13565534140 0015707 0 ustar 00root root 0000000 0000000 "use strict";
var findKey = require("./find-key")
, isValue = require("./is-value");
// eslint-disable-next-line no-unused-vars
module.exports = function (obj, cb/*, thisArg, compareFn*/) {
var key = findKey.apply(this, arguments);
return isValue(key) ? obj[key] : key;
};
es5-ext-0.10.53/object/first-key.js 0000664 0000000 0000000 00000000437 13565534140 0016705 0 ustar 00root root 0000000 0000000 "use strict";
var value = require("./valid-value")
, objPropertyIsEnumerable = Object.prototype.propertyIsEnumerable;
module.exports = function (obj) {
var i;
value(obj);
for (i in obj) {
if (objPropertyIsEnumerable.call(obj, i)) return i;
}
return null;
};
es5-ext-0.10.53/object/flatten.js 0000664 0000000 0000000 00000000542 13565534140 0016422 0 ustar 00root root 0000000 0000000 "use strict";
var isPlainObject = require("./is-plain-object")
, forEach = require("./for-each")
, process;
process = function self(value, key) {
if (isPlainObject(value)) forEach(value, self, this);
else this[key] = value;
};
module.exports = function (obj) {
var flattened = {};
forEach(obj, process, flattened);
return flattened;
};
es5-ext-0.10.53/object/for-each.js 0000664 0000000 0000000 00000000102 13565534140 0016441 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./_iterate")("forEach");
es5-ext-0.10.53/object/get-property-names.js 0000664 0000000 0000000 00000000753 13565534140 0020533 0 ustar 00root root 0000000 0000000 "use strict";
var uniq = require("../array/#/uniq")
, value = require("./valid-value")
, push = Array.prototype.push
, getOwnPropertyNames = Object.getOwnPropertyNames
, getPrototypeOf = Object.getPrototypeOf;
module.exports = function (obj) {
var keys;
obj = Object(value(obj));
keys = getOwnPropertyNames(obj);
while ((obj = getPrototypeOf(obj))) {
push.apply(keys, getOwnPropertyNames(obj));
}
return uniq.call(keys);
};
es5-ext-0.10.53/object/index.js 0000664 0000000 0000000 00000005201 13565534140 0016071 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
assign: require("./assign"),
assignDeep: require("./assign-deep"),
clear: require("./clear"),
compact: require("./compact"),
compare: require("./compare"),
copy: require("./copy"),
copyDeep: require("./copy-deep"),
count: require("./count"),
create: require("./create"),
ensureArray: require("./ensure-array"),
ensureFiniteNumber: require("./ensure-finite-number"),
ensureInteger: require("./ensure-integer"),
ensureNaturalNumber: require("./ensure-natural-number"),
ensureNaturalNumberValue: require("./ensure-natural-number-value"),
ensurePlainFunction: require("./ensure-plain-function"),
ensurePlainObject: require("./ensure-plain-object"),
ensurePromise: require("./ensure-promise"),
ensureThenable: require("./ensure-thenable"),
entries: require("./entries"),
eq: require("./eq"),
every: require("./every"),
filter: require("./filter"),
find: require("./find"),
findKey: require("./find-key"),
firstKey: require("./first-key"),
flatten: require("./flatten"),
forEach: require("./for-each"),
getPropertyNames: require("./get-property-names"),
is: require("./is"),
isArrayLike: require("./is-array-like"),
isCallable: require("./is-callable"),
isCopy: require("./is-copy"),
isCopyDeep: require("./is-copy-deep"),
isEmpty: require("./is-empty"),
isFiniteNumber: require("./is-finite-number"),
isInteger: require("./is-integer"),
isNaturalNumber: require("./is-natural-number"),
isNaturalNumberValue: require("./is-natural-number-value"),
isNumberValue: require("./is-number-value"),
isObject: require("./is-object"),
isPlainFunction: require("./is-plain-function"),
isPlainObject: require("./is-plain-object"),
isPromise: require("./is-promise"),
isThenable: require("./is-thenable"),
isValue: require("./is-value"),
keyOf: require("./key-of"),
keys: require("./keys"),
map: require("./map"),
mapKeys: require("./map-keys"),
normalizeOptions: require("./normalize-options"),
mixin: require("./mixin"),
mixinPrototypes: require("./mixin-prototypes"),
primitiveSet: require("./primitive-set"),
safeTraverse: require("./safe-traverse"),
serialize: require("./serialize"),
setPrototypeOf: require("./set-prototype-of"),
some: require("./some"),
toArray: require("./to-array"),
unserialize: require("./unserialize"),
validateArrayLike: require("./validate-array-like"),
validateArrayLikeObject: require("./validate-array-like-object"),
validCallable: require("./valid-callable"),
validObject: require("./valid-object"),
validateStringifiable: require("./validate-stringifiable"),
validateStringifiableValue: require("./validate-stringifiable-value"),
validValue: require("./valid-value")
};
es5-ext-0.10.53/object/is-array-like.js 0000664 0000000 0000000 00000001020 13565534140 0017426 0 ustar 00root root 0000000 0000000 "use strict";
var isFunction = require("../function/is-function")
, isObject = require("./is-object")
, isValue = require("./is-value");
module.exports = function (value) {
return (
(isValue(value) &&
typeof value.length === "number" &&
// Just checking ((typeof x === 'object') && (typeof x !== 'function'))
// won't work right for some cases, e.g.:
// type of instance of NodeList in Safari is a 'function'
((isObject(value) && !isFunction(value)) || typeof value === "string")) ||
false
);
};
es5-ext-0.10.53/object/is-callable.js 0000664 0000000 0000000 00000000145 13565534140 0017134 0 ustar 00root root 0000000 0000000 // Deprecated
"use strict";
module.exports = function (obj) { return typeof obj === "function"; };
es5-ext-0.10.53/object/is-copy-deep.js 0000664 0000000 0000000 00000003046 13565534140 0017265 0 ustar 00root root 0000000 0000000 "use strict";
var eq = require("./eq")
, isPlainObject = require("./is-plain-object")
, value = require("./valid-value");
var isArray = Array.isArray
, keys = Object.keys
, objPropertyIsEnumerable = Object.prototype.propertyIsEnumerable
, objHasOwnProperty = Object.prototype.hasOwnProperty
, eqArr
, eqVal
, eqObj;
eqArr = function (arr1, arr2, recMap) {
var i, length = arr1.length;
if (length !== arr2.length) return false;
for (i = 0; i < length; ++i) {
if (objHasOwnProperty.call(arr1, i) !== objHasOwnProperty.call(arr2, i)) return false;
if (!eqVal(arr1[i], arr2[i], recMap)) return false;
}
return true;
};
eqObj = function (obj1, obj2, recMap) {
var k1 = keys(obj1), k2 = keys(obj2);
if (k1.length !== k2.length) return false;
return k1.every(function (key) {
if (!objPropertyIsEnumerable.call(obj2, key)) return false;
return eqVal(obj1[key], obj2[key], recMap);
});
};
eqVal = function (val1, val2, recMap) {
var i, eqX, c1, c2;
if (eq(val1, val2)) return true;
if (isPlainObject(val1)) {
if (!isPlainObject(val2)) return false;
eqX = eqObj;
} else if (isArray(val1) && isArray(val2)) {
eqX = eqArr;
} else {
return false;
}
c1 = recMap[0];
c2 = recMap[1];
i = c1.indexOf(val1);
if (i === -1) {
i = c1.push(val1) - 1;
c2[i] = [];
} else if (c2[i].indexOf(val2) !== -1) return true;
c2[i].push(val2);
return eqX(val1, val2, recMap);
};
module.exports = function (val1, val2) {
if (eq(value(val1), value(val2))) return true;
return eqVal(Object(val1), Object(val2), [[], []]);
};
es5-ext-0.10.53/object/is-copy.js 0000664 0000000 0000000 00000001124 13565534140 0016345 0 ustar 00root root 0000000 0000000 "use strict";
var eq = require("./eq")
, value = require("./valid-value")
, keys = Object.keys
, objPropertyIsEnumerable = Object.prototype.propertyIsEnumerable;
module.exports = function (val1, val2) {
var k1, k2;
if (eq(value(val1), value(val2))) return true;
val1 = Object(val1);
val2 = Object(val2);
k1 = keys(val1);
k2 = keys(val2);
if (k1.length !== k2.length) return false;
return k1.every(function (key) {
if (!objPropertyIsEnumerable.call(val2, key)) return false;
return eq(val1[key], val2[key]);
});
};
es5-ext-0.10.53/object/is-empty.js 0000664 0000000 0000000 00000000467 13565534140 0016542 0 ustar 00root root 0000000 0000000 "use strict";
var value = require("./valid-value")
, objPropertyIsEnumerable = Object.prototype.propertyIsEnumerable;
module.exports = function (obj) {
var i;
value(obj);
for (i in obj) {
// Jslint: ignore
if (objPropertyIsEnumerable.call(obj, i)) return false;
}
return true;
};
es5-ext-0.10.53/object/is-finite-number.js 0000664 0000000 0000000 00000000217 13565534140 0020141 0 ustar 00root root 0000000 0000000 "use strict";
var isNumber = require("./is-number-value");
module.exports = function (value) { return isNumber(value) && isFinite(value); };
es5-ext-0.10.53/object/is-integer.js 0000664 0000000 0000000 00000000332 13565534140 0017030 0 ustar 00root root 0000000 0000000 "use strict";
var isInteger = require("../number/is-integer")
, isValue = require("./is-value");
module.exports = function (arg) {
if (!isValue(arg)) return false;
arg = Number(arg);
return isInteger(arg);
};
es5-ext-0.10.53/object/is-natural-number-value.js 0000664 0000000 0000000 00000000327 13565534140 0021445 0 ustar 00root root 0000000 0000000 "use strict";
var isNaturalNumber = require("./is-natural-number")
, isValue = require("./is-value");
module.exports = function (arg) {
if (!isValue(arg)) return false;
return isNaturalNumber(arg);
};
es5-ext-0.10.53/object/is-natural-number.js 0000664 0000000 0000000 00000000205 13565534140 0020326 0 ustar 00root root 0000000 0000000 "use strict";
var isNatural = require("../number/is-natural");
module.exports = function (arg) { return isNatural(Number(arg)); };
es5-ext-0.10.53/object/is-number-value.js 0000664 0000000 0000000 00000000274 13565534140 0020002 0 ustar 00root root 0000000 0000000 "use strict";
var isValue = require("./is-value");
module.exports = function (value) {
if (!isValue(value)) return false;
try { return !isNaN(value); }
catch (e) { return false; }
};
es5-ext-0.10.53/object/is-object.js 0000664 0000000 0000000 00000000300 13565534140 0016634 0 ustar 00root root 0000000 0000000 "use strict";
var isValue = require("./is-value");
var map = { function: true, object: true };
module.exports = function (value) { return (isValue(value) && map[typeof value]) || false; };
es5-ext-0.10.53/object/is-plain-function.js 0000664 0000000 0000000 00000000536 13565534140 0020327 0 ustar 00root root 0000000 0000000 "use strict";
var isClassStr = RegExp.prototype.test.bind(/^\s*class[\s{/}]/)
, fnToString = Function.prototype.toString;
module.exports = function (fn) {
if (typeof fn !== "function") return false;
if (typeof fn.call !== "function") return false;
if (typeof fn.apply !== "function") return false;
return !isClassStr(fnToString.call(fn));
};
es5-ext-0.10.53/object/is-plain-object.js 0000664 0000000 0000000 00000001120 13565534140 0017736 0 ustar 00root root 0000000 0000000 "use strict";
var getPrototypeOf = Object.getPrototypeOf
, prototype = Object.prototype
, objToString = prototype.toString
, id = Object().toString();
module.exports = function (value) {
var proto, valueConstructor;
if (!value || typeof value !== "object" || objToString.call(value) !== id) {
return false;
}
proto = getPrototypeOf(value);
if (proto === null) {
valueConstructor = value.constructor;
if (typeof valueConstructor !== "function") return true;
return valueConstructor.prototype !== value;
}
return proto === prototype || getPrototypeOf(proto) === null;
};
es5-ext-0.10.53/object/is-promise.js 0000664 0000000 0000000 00000000177 13565534140 0017060 0 ustar 00root root 0000000 0000000 "use strict";
// In next major this check will also confirm on promise constructor
module.exports = require("./is-thenable");
es5-ext-0.10.53/object/is-thenable.js 0000664 0000000 0000000 00000000274 13565534140 0017162 0 ustar 00root root 0000000 0000000 "use strict";
var isCallable = require("./is-callable")
, isObject = require("./is-object");
module.exports = function (value) { return isObject(value) && isCallable(value.then); };
es5-ext-0.10.53/object/is-value.js 0000664 0000000 0000000 00000000247 13565534140 0016514 0 ustar 00root root 0000000 0000000 "use strict";
var _undefined = require("../function/noop")(); // Support ES3 engines
module.exports = function (val) { return val !== _undefined && val !== null; };
es5-ext-0.10.53/object/is.js 0000664 0000000 0000000 00000000441 13565534140 0015376 0 ustar 00root root 0000000 0000000 // Implementation credits go to:
// http://wiki.ecmascript.org/doku.php?id=harmony:egal
"use strict";
var numIsNaN = require("../number/is-nan");
module.exports = function (val1, val2) {
return val1 === val2 ? val1 !== 0 || 1 / val1 === 1 / val2 : numIsNaN(val1) && numIsNaN(val2);
};
es5-ext-0.10.53/object/key-of.js 0000664 0000000 0000000 00000000442 13565534140 0016156 0 ustar 00root root 0000000 0000000 "use strict";
var eq = require("./eq")
, some = require("./some");
module.exports = function (obj, searchValue) {
var result;
return some(obj, function (value, name) {
if (eq(value, searchValue)) {
result = name;
return true;
}
return false;
})
? result
: null;
};
es5-ext-0.10.53/object/keys/ 0000775 0000000 0000000 00000000000 13565534140 0015401 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/object/keys/implement.js 0000664 0000000 0000000 00000000275 13565534140 0017735 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Object, "keys", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/object/keys/index.js 0000664 0000000 0000000 00000000141 13565534140 0017042 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Object.keys : require("./shim");
es5-ext-0.10.53/object/keys/is-implemented.js 0000664 0000000 0000000 00000000205 13565534140 0020650 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
try {
Object.keys("primitive");
return true;
} catch (e) {
return false;
}
};
es5-ext-0.10.53/object/keys/shim.js 0000664 0000000 0000000 00000000257 13565534140 0016703 0 ustar 00root root 0000000 0000000 "use strict";
var isValue = require("../is-value");
var keys = Object.keys;
module.exports = function (object) { return keys(isValue(object) ? Object(object) : object); };
es5-ext-0.10.53/object/map-keys.js 0000664 0000000 0000000 00000000627 13565534140 0016517 0 ustar 00root root 0000000 0000000 "use strict";
var callable = require("./valid-callable")
, forEach = require("./for-each")
, call = Function.prototype.call;
module.exports = function (obj, cb/*, thisArg*/) {
var result = {}, thisArg = arguments[2];
callable(cb);
forEach(
obj,
function (value, key, targetObj, index) {
result[call.call(cb, thisArg, key, value, this, index)] = value;
},
obj
);
return result;
};
es5-ext-0.10.53/object/map.js 0000664 0000000 0000000 00000000612 13565534140 0015540 0 ustar 00root root 0000000 0000000 "use strict";
var callable = require("./valid-callable")
, forEach = require("./for-each")
, call = Function.prototype.call;
module.exports = function (obj, cb/*, thisArg*/) {
var result = {}, thisArg = arguments[2];
callable(cb);
forEach(obj, function (value, key, targetObj, index) {
result[key] = call.call(cb, thisArg, value, key, targetObj, index);
});
return result;
};
es5-ext-0.10.53/object/mixin-prototypes.js 0000664 0000000 0000000 00000001137 13565534140 0020340 0 ustar 00root root 0000000 0000000 "use strict";
var value = require("./valid-value")
, mixin = require("./mixin");
var getPrototypeOf = Object.getPrototypeOf;
module.exports = function (target, source) {
target = Object(value(target));
source = Object(value(source));
if (target === source) return target;
var sources = [];
while (source && !isPrototypeOf.call(source, target)) {
sources.unshift(source);
source = getPrototypeOf(source);
}
var error;
sources.forEach(function (sourceProto) {
try { mixin(target, sourceProto); } catch (mixinError) { error = mixinError; }
});
if (error) throw error;
return target;
};
es5-ext-0.10.53/object/mixin.js 0000664 0000000 0000000 00000001621 13565534140 0016110 0 ustar 00root root 0000000 0000000 "use strict";
var value = require("./valid-value")
, defineProperty = Object.defineProperty
, getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor
, getOwnPropertyNames = Object.getOwnPropertyNames
, getOwnPropertySymbols = Object.getOwnPropertySymbols;
module.exports = function (target, source) {
var error, sourceObject = Object(value(source));
target = Object(value(target));
getOwnPropertyNames(sourceObject).forEach(function (name) {
try {
defineProperty(target, name, getOwnPropertyDescriptor(source, name));
} catch (e) { error = e; }
});
if (typeof getOwnPropertySymbols === "function") {
getOwnPropertySymbols(sourceObject).forEach(function (symbol) {
try {
defineProperty(target, symbol, getOwnPropertyDescriptor(source, symbol));
} catch (e) { error = e; }
});
}
if (error !== undefined) throw error;
return target;
};
es5-ext-0.10.53/object/normalize-options.js 0000664 0000000 0000000 00000000724 13565534140 0020460 0 ustar 00root root 0000000 0000000 "use strict";
var isValue = require("./is-value");
var forEach = Array.prototype.forEach, create = Object.create;
var process = function (src, obj) {
var key;
for (key in src) obj[key] = src[key];
};
// eslint-disable-next-line no-unused-vars
module.exports = function (opts1/*, …options*/) {
var result = create(null);
forEach.call(arguments, function (options) {
if (!isValue(options)) return;
process(Object(options), result);
});
return result;
};
es5-ext-0.10.53/object/primitive-set.js 0000664 0000000 0000000 00000000423 13565534140 0017564 0 ustar 00root root 0000000 0000000 "use strict";
var forEach = Array.prototype.forEach, create = Object.create;
// eslint-disable-next-line no-unused-vars
module.exports = function (arg/*, …args*/) {
var set = create(null);
forEach.call(arguments, function (name) { set[name] = true; });
return set;
};
es5-ext-0.10.53/object/safe-traverse.js 0000664 0000000 0000000 00000000572 13565534140 0017537 0 ustar 00root root 0000000 0000000 "use strict";
var value = require("./valid-value")
, isValue = require("./is-value");
module.exports = function (obj/*, …names*/) {
var length, current = 1;
value(obj);
length = arguments.length - 1;
if (!length) return obj;
while (current < length) {
obj = obj[arguments[current++]];
if (!isValue(obj)) return undefined;
}
return obj[arguments[current]];
};
es5-ext-0.10.53/object/serialize.js 0000664 0000000 0000000 00000002241 13565534140 0016752 0 ustar 00root root 0000000 0000000 "use strict";
var toArray = require("./to-array")
, isDate = require("../date/is-date")
, isValue = require("../object/is-value")
, isRegExp = require("../reg-exp/is-reg-exp");
var isArray = Array.isArray
, stringify = JSON.stringify
, objHasOwnProperty = Object.prototype.hasOwnProperty;
var keyValueToString = function (value, key) {
return stringify(key) + ":" + module.exports(value);
};
var sparseMap = function (arr) {
var i, length = arr.length, result = new Array(length);
for (i = 0; i < length; ++i) {
if (!objHasOwnProperty.call(arr, i)) continue;
result[i] = module.exports(arr[i]);
}
return result;
};
module.exports = function (obj) {
if (!isValue(obj)) return String(obj);
switch (typeof obj) {
case "string":
return stringify(obj);
case "number":
case "boolean":
case "function":
return String(obj);
case "object":
if (isArray(obj)) return "[" + sparseMap(obj) + "]";
if (isRegExp(obj)) return String(obj);
if (isDate(obj)) return "new Date(" + obj.valueOf() + ")";
return "{" + toArray(obj, keyValueToString) + "}";
default:
throw new TypeError("Serialization of " + String(obj) + "is unsupported");
}
};
es5-ext-0.10.53/object/set-prototype-of/ 0000775 0000000 0000000 00000000000 13565534140 0017666 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/object/set-prototype-of/implement.js 0000664 0000000 0000000 00000000343 13565534140 0022216 0 ustar 00root root 0000000 0000000 "use strict";
var shim;
if (!require("./is-implemented")() && (shim = require("./shim"))) {
Object.defineProperty(Object, "setPrototypeOf", {
value: shim,
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/object/set-prototype-of/index.js 0000664 0000000 0000000 00000000153 13565534140 0021332 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Object.setPrototypeOf : require("./shim");
es5-ext-0.10.53/object/set-prototype-of/is-implemented.js 0000664 0000000 0000000 00000000577 13565534140 0023151 0 ustar 00root root 0000000 0000000 "use strict";
var create = Object.create, getPrototypeOf = Object.getPrototypeOf, plainObject = {};
module.exports = function (/* CustomCreate*/) {
var setPrototypeOf = Object.setPrototypeOf, customCreate = arguments[0] || create;
if (typeof setPrototypeOf !== "function") return false;
return getPrototypeOf(setPrototypeOf(customCreate(null), plainObject)) === plainObject;
};
es5-ext-0.10.53/object/set-prototype-of/shim.js 0000664 0000000 0000000 00000004232 13565534140 0021165 0 ustar 00root root 0000000 0000000 /* eslint no-proto: "off" */
// Big thanks to @WebReflection for sorting this out
// https://gist.github.com/WebReflection/5593554
"use strict";
var isObject = require("../is-object")
, value = require("../valid-value")
, objIsPrototypeOf = Object.prototype.isPrototypeOf
, defineProperty = Object.defineProperty
, nullDesc = { configurable: true, enumerable: false, writable: true, value: undefined }
, validate;
validate = function (obj, prototype) {
value(obj);
if (prototype === null || isObject(prototype)) return obj;
throw new TypeError("Prototype must be null or an object");
};
module.exports = (function (status) {
var fn, set;
if (!status) return null;
if (status.level === 2) {
if (status.set) {
set = status.set;
fn = function (obj, prototype) {
set.call(validate(obj, prototype), prototype);
return obj;
};
} else {
fn = function (obj, prototype) {
validate(obj, prototype).__proto__ = prototype;
return obj;
};
}
} else {
fn = function self(obj, prototype) {
var isNullBase;
validate(obj, prototype);
isNullBase = objIsPrototypeOf.call(self.nullPolyfill, obj);
if (isNullBase) delete self.nullPolyfill.__proto__;
if (prototype === null) prototype = self.nullPolyfill;
obj.__proto__ = prototype;
if (isNullBase) defineProperty(self.nullPolyfill, "__proto__", nullDesc);
return obj;
};
}
return Object.defineProperty(fn, "level", {
configurable: false,
enumerable: false,
writable: false,
value: status.level
});
})(
(function () {
var tmpObj1 = Object.create(null)
, tmpObj2 = {}
, set
, desc = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__");
if (desc) {
try {
set = desc.set; // Opera crashes at this point
set.call(tmpObj1, tmpObj2);
} catch (ignore) {}
if (Object.getPrototypeOf(tmpObj1) === tmpObj2) return { set: set, level: 2 };
}
tmpObj1.__proto__ = tmpObj2;
if (Object.getPrototypeOf(tmpObj1) === tmpObj2) return { level: 2 };
tmpObj1 = {};
tmpObj1.__proto__ = tmpObj2;
if (Object.getPrototypeOf(tmpObj1) === tmpObj2) return { level: 1 };
return false;
})()
);
require("../create");
es5-ext-0.10.53/object/some.js 0000664 0000000 0000000 00000000106 13565534140 0015724 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./_iterate")("some", false);
es5-ext-0.10.53/object/to-array.js 0000664 0000000 0000000 00000001071 13565534140 0016521 0 ustar 00root root 0000000 0000000 "use strict";
var callable = require("./valid-callable")
, isValue = require("./is-value")
, forEach = require("./for-each")
, call = Function.prototype.call
, defaultCb = function (value, key) { return [key, value]; };
module.exports = function (obj/*, cb, thisArg, compareFn*/) {
var a = [], cb = arguments[1], thisArg = arguments[2];
cb = isValue(cb) ? callable(cb) : defaultCb;
forEach(
obj,
function (value, key, targetObj, index) {
a.push(call.call(cb, thisArg, value, key, this, index));
},
obj, arguments[3]
);
return a;
};
es5-ext-0.10.53/object/unserialize.js 0000664 0000000 0000000 00000000266 13565534140 0017322 0 ustar 00root root 0000000 0000000 "use strict";
var value = require("./valid-value");
module.exports = function (code) {
// eslint-disable-next-line no-new-func
return new Function("return " + value(code))();
};
es5-ext-0.10.53/object/valid-callable.js 0000664 0000000 0000000 00000000216 13565534140 0017617 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (fn) {
if (typeof fn !== "function") throw new TypeError(fn + " is not a function");
return fn;
};
es5-ext-0.10.53/object/valid-object.js 0000664 0000000 0000000 00000000266 13565534140 0017333 0 ustar 00root root 0000000 0000000 "use strict";
var isObject = require("./is-object");
module.exports = function (value) {
if (!isObject(value)) throw new TypeError(value + " is not an Object");
return value;
};
es5-ext-0.10.53/object/valid-value.js 0000664 0000000 0000000 00000000266 13565534140 0017201 0 ustar 00root root 0000000 0000000 "use strict";
var isValue = require("./is-value");
module.exports = function (value) {
if (!isValue(value)) throw new TypeError("Cannot use null or undefined");
return value;
};
es5-ext-0.10.53/object/validate-array-like-object.js 0000664 0000000 0000000 00000000371 13565534140 0022060 0 ustar 00root root 0000000 0000000 "use strict";
var isArrayLike = require("./is-array-like")
, isObject = require("./is-object");
module.exports = function (obj) {
if (isObject(obj) && isArrayLike(obj)) return obj;
throw new TypeError(obj + " is not array-like object");
};
es5-ext-0.10.53/object/validate-array-like.js 0000664 0000000 0000000 00000000276 13565534140 0020620 0 ustar 00root root 0000000 0000000 "use strict";
var isArrayLike = require("./is-array-like");
module.exports = function (obj) {
if (isArrayLike(obj)) return obj;
throw new TypeError(obj + " is not array-like value");
};
es5-ext-0.10.53/object/validate-stringifiable-value.js 0000664 0000000 0000000 00000000307 13565534140 0022507 0 ustar 00root root 0000000 0000000 "use strict";
var ensureValue = require("./valid-value")
, stringifiable = require("./validate-stringifiable");
module.exports = function (value) { return stringifiable(ensureValue(value)); };
es5-ext-0.10.53/object/validate-stringifiable.js 0000664 0000000 0000000 00000000476 13565534140 0021404 0 ustar 00root root 0000000 0000000 "use strict";
var isCallable = require("./is-callable");
module.exports = function (stringifiable) {
try {
if (stringifiable && isCallable(stringifiable.toString)) return stringifiable.toString();
return String(stringifiable);
} catch (e) {
throw new TypeError("Passed argument cannot be stringifed");
}
};
es5-ext-0.10.53/optional-chaining.js 0000664 0000000 0000000 00000000657 13565534140 0017131 0 ustar 00root root 0000000 0000000 "use strict";
var isValue = require("./object/is-value");
var slice = Array.prototype.slice;
// eslint-disable-next-line no-unused-vars
module.exports = function (value, propertyName1/*, …propertyNamen*/) {
var propertyNames = slice.call(arguments, 1), index = 0, length = propertyNames.length;
while (isValue(value) && index < length) value = value[propertyNames[index++]];
return index === length ? value : undefined;
};
es5-ext-0.10.53/package.json 0000664 0000000 0000000 00000003512 13565534140 0015447 0 ustar 00root root 0000000 0000000 {
"name": "es5-ext",
"version": "0.10.53",
"description": "ECMAScript extensions and shims",
"author": "Mariusz Nowak (http://www.medikoo.com/)",
"keywords": [
"ecmascript",
"ecmascript5",
"ecmascript6",
"es5",
"es6",
"extensions",
"ext",
"addons",
"extras",
"harmony",
"javascript",
"polyfill",
"shim",
"util",
"utils",
"utilities"
],
"repository": "medikoo/es5-ext",
"dependencies": {
"es6-iterator": "~2.0.3",
"es6-symbol": "~3.1.3",
"next-tick": "~1.0.0"
},
"devDependencies": {
"eslint": "^6.6.0",
"eslint-config-medikoo": "^2.7.0",
"git-list-updated": "^1.2.1",
"husky": "^3.1.0",
"lint-staged": "^9.4.3",
"plain-promise": "^0.1.1",
"prettier-elastic": "^1.18.2",
"tad": "^3.0.1"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*.js": [
"eslint"
],
"*.{css,html,js,json,md,yaml,yml}": [
"prettier -c"
]
},
"eslintConfig": {
"extends": "medikoo/es5",
"root": true,
"rules": {
"no-extend-native": "off"
},
"overrides": [
{
"files": "global.js",
"globals": {
"__global__": true,
"globalThis": true,
"self": true,
"window": true
},
"rules": {
"strict": "off"
}
}
]
},
"prettier": {
"printWidth": 100,
"tabWidth": 4,
"overrides": [
{
"files": "*.md",
"options": {
"tabWidth": 2
}
}
]
},
"scripts": {
"lint": "eslint --ignore-path=.gitignore .",
"lint-updated": "pipe-git-updated --ext=js -- eslint --ignore-pattern '!*'",
"prettier-check-updated": "pipe-git-updated --ext=css --ext=html --ext=js --ext=json --ext=md --ext=yaml --ext=yml -- prettier -c",
"prettify": "prettier --write --ignore-path .gitignore '**/*.{css,html,js,json,md,yaml,yml}'",
"test": "node ./node_modules/tad/bin/tad"
},
"license": "ISC"
}
es5-ext-0.10.53/promise/ 0000775 0000000 0000000 00000000000 13565534140 0014636 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/promise/#/ 0000775 0000000 0000000 00000000000 13565534140 0014760 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/promise/#/as-callback.js 0000664 0000000 0000000 00000001024 13565534140 0017450 0 ustar 00root root 0000000 0000000 "use strict";
var ensurePlainFunction = require("../../object/ensure-plain-function")
, ensureThenable = require("../../object/ensure-thenable")
, microtaskDelay = require("../../function/#/microtask-delay");
module.exports = function (callback) {
ensureThenable(this);
ensurePlainFunction(callback);
// Rely on microtaskDelay to escape eventual error swallowing
this.then(
microtaskDelay.call(function (value) { callback(null, value); }),
microtaskDelay.call(function (reason) { callback(reason); })
);
};
es5-ext-0.10.53/promise/#/finally/ 0000775 0000000 0000000 00000000000 13565534140 0016416 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/promise/#/finally/implement.js 0000664 0000000 0000000 00000000313 13565534140 0020743 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Promise.prototype, "finally", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/promise/#/finally/index.js 0000664 0000000 0000000 00000000157 13565534140 0020066 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Promise.prototype.finally : require("./shim");
es5-ext-0.10.53/promise/#/finally/is-implemented.js 0000664 0000000 0000000 00000000265 13565534140 0021673 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
if (typeof Promise !== "function") return false;
if (typeof Promise.prototype.finally !== "function") return false;
return true;
};
es5-ext-0.10.53/promise/#/finally/shim.js 0000664 0000000 0000000 00000001302 13565534140 0017710 0 ustar 00root root 0000000 0000000 "use strict";
var ensurePlainFunction = require("../../../object/ensure-plain-function")
, isThenable = require("../../../object/is-thenable")
, ensureThenable = require("../../../object/ensure-thenable");
var resolveCallback = function (callback, next) {
var callbackResult = callback();
if (!isThenable(callbackResult)) return next();
return callbackResult.then(next);
};
module.exports = function (callback) {
ensureThenable(this);
ensurePlainFunction(callback);
return this.then(
function (result) {
return resolveCallback(callback, function () { return result; });
},
function (error) {
return resolveCallback(callback, function () { throw error; });
}
);
};
es5-ext-0.10.53/promise/#/index.js 0000664 0000000 0000000 00000000151 13565534140 0016422 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = { asCallback: require("./as-callback"), finally: require("./finally") };
es5-ext-0.10.53/promise/.eslintrc.json 0000664 0000000 0000000 00000000043 13565534140 0017427 0 ustar 00root root 0000000 0000000 { "globals": { "Promise": true } }
es5-ext-0.10.53/promise/index.js 0000664 0000000 0000000 00000000124 13565534140 0016300 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = { "#": require("./#"), "lazy": require("./lazy") };
es5-ext-0.10.53/promise/lazy.js 0000664 0000000 0000000 00000001517 13565534140 0016157 0 ustar 00root root 0000000 0000000 "use strict";
var isFunction = require("../function/is-function");
module.exports = function (executor) {
var Constructor;
if (isFunction(this)) {
Constructor = this;
} else if (typeof Promise === "function") {
Constructor = Promise;
} else {
throw new TypeError("Could not resolve Promise constuctor");
}
var lazyThen;
var promise = new Constructor(function (resolve, reject) {
lazyThen = function (onSuccess, onFailure) {
if (!hasOwnProperty.call(this, "then")) {
// Sanity check
throw new Error("Unexpected (inherited) lazy then invocation");
}
try { executor(resolve, reject); }
catch (reason) { reject(reason); }
delete this.then;
return this.then(onSuccess, onFailure);
};
});
return Object.defineProperty(promise, "then", {
configurable: true,
writable: true,
value: lazyThen
});
};
es5-ext-0.10.53/reg-exp/ 0000775 0000000 0000000 00000000000 13565534140 0014527 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/reg-exp/#/ 0000775 0000000 0000000 00000000000 13565534140 0014651 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/reg-exp/#/index.js 0000664 0000000 0000000 00000000342 13565534140 0016315 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
isSticky: require("./is-sticky"),
isUnicode: require("./is-unicode"),
match: require("./match"),
replace: require("./replace"),
search: require("./search"),
split: require("./split")
};
es5-ext-0.10.53/reg-exp/#/is-sticky.js 0000664 0000000 0000000 00000000275 13565534140 0017132 0 ustar 00root root 0000000 0000000 "use strict";
var validRegExp = require("../valid-reg-exp")
, re = /\/[a-xz]*y[a-xz]*$/;
module.exports = function () { return Boolean(String(validRegExp(this)).match(re)); };
es5-ext-0.10.53/reg-exp/#/is-unicode.js 0000664 0000000 0000000 00000000275 13565534140 0017252 0 ustar 00root root 0000000 0000000 "use strict";
var validRegExp = require("../valid-reg-exp")
, re = /\/[a-xz]*u[a-xz]*$/;
module.exports = function () { return Boolean(String(validRegExp(this)).match(re)); };
es5-ext-0.10.53/reg-exp/#/match/ 0000775 0000000 0000000 00000000000 13565534140 0015745 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/reg-exp/#/match/implement.js 0000664 0000000 0000000 00000000310 13565534140 0020267 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(RegExp.prototype, "match", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/reg-exp/#/match/index.js 0000664 0000000 0000000 00000000154 13565534140 0017412 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? RegExp.prototype.match : require("./shim");
es5-ext-0.10.53/reg-exp/#/match/is-implemented.js 0000664 0000000 0000000 00000000250 13565534140 0021214 0 ustar 00root root 0000000 0000000 "use strict";
var re = /foo/;
module.exports = function () {
if (typeof re.match !== "function") return false;
return re.match("barfoobar") && !re.match("elo");
};
es5-ext-0.10.53/reg-exp/#/match/shim.js 0000664 0000000 0000000 00000000242 13565534140 0017241 0 ustar 00root root 0000000 0000000 "use strict";
var validRegExp = require("../../valid-reg-exp");
module.exports = function (string) {
validRegExp(this);
return String(string).match(this);
};
es5-ext-0.10.53/reg-exp/#/replace/ 0000775 0000000 0000000 00000000000 13565534140 0016264 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/reg-exp/#/replace/implement.js 0000664 0000000 0000000 00000000312 13565534140 0020610 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(RegExp.prototype, "replace", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/reg-exp/#/replace/index.js 0000664 0000000 0000000 00000000156 13565534140 0017733 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? RegExp.prototype.replace : require("./shim");
es5-ext-0.10.53/reg-exp/#/replace/is-implemented.js 0000664 0000000 0000000 00000000251 13565534140 0021534 0 ustar 00root root 0000000 0000000 "use strict";
var re = /foo/;
module.exports = function () {
if (typeof re.replace !== "function") return false;
return re.replace("foobar", "mar") === "marbar";
};
es5-ext-0.10.53/reg-exp/#/replace/shim.js 0000664 0000000 0000000 00000000300 13565534140 0017553 0 ustar 00root root 0000000 0000000 "use strict";
var validRegExp = require("../../valid-reg-exp");
module.exports = function (string, replaceValue) {
validRegExp(this);
return String(string).replace(this, replaceValue);
};
es5-ext-0.10.53/reg-exp/#/search/ 0000775 0000000 0000000 00000000000 13565534140 0016116 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/reg-exp/#/search/implement.js 0000664 0000000 0000000 00000000311 13565534140 0020441 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(RegExp.prototype, "search", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/reg-exp/#/search/index.js 0000664 0000000 0000000 00000000155 13565534140 0017564 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? RegExp.prototype.search : require("./shim");
es5-ext-0.10.53/reg-exp/#/search/is-implemented.js 0000664 0000000 0000000 00000000231 13565534140 0021364 0 ustar 00root root 0000000 0000000 "use strict";
var re = /foo/;
module.exports = function () {
if (typeof re.search !== "function") return false;
return re.search("barfoo") === 3;
};
es5-ext-0.10.53/reg-exp/#/search/shim.js 0000664 0000000 0000000 00000000243 13565534140 0017413 0 ustar 00root root 0000000 0000000 "use strict";
var validRegExp = require("../../valid-reg-exp");
module.exports = function (string) {
validRegExp(this);
return String(string).search(this);
};
es5-ext-0.10.53/reg-exp/#/split/ 0000775 0000000 0000000 00000000000 13565534140 0016004 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/reg-exp/#/split/implement.js 0000664 0000000 0000000 00000000310 13565534140 0020326 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(RegExp.prototype, "split", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/reg-exp/#/split/index.js 0000664 0000000 0000000 00000000154 13565534140 0017451 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? RegExp.prototype.split : require("./shim");
es5-ext-0.10.53/reg-exp/#/split/is-implemented.js 0000664 0000000 0000000 00000000236 13565534140 0021257 0 ustar 00root root 0000000 0000000 "use strict";
var re = /\|/;
module.exports = function () {
if (typeof re.split !== "function") return false;
return re.split("bar|foo")[1] === "foo";
};
es5-ext-0.10.53/reg-exp/#/split/shim.js 0000664 0000000 0000000 00000000242 13565534140 0017300 0 ustar 00root root 0000000 0000000 "use strict";
var validRegExp = require("../../valid-reg-exp");
module.exports = function (string) {
validRegExp(this);
return String(string).split(this);
};
es5-ext-0.10.53/reg-exp/#/sticky/ 0000775 0000000 0000000 00000000000 13565534140 0016157 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/reg-exp/#/sticky/implement.js 0000664 0000000 0000000 00000000325 13565534140 0020507 0 ustar 00root root 0000000 0000000 "use strict";
var isSticky = require("../is-sticky");
if (!require("./is-implemented")()) {
Object.defineProperty(RegExp.prototype, "sticky", {
configurable: true,
enumerable: false,
get: isSticky
});
}
es5-ext-0.10.53/reg-exp/#/sticky/is-implemented.js 0000664 0000000 0000000 00000000530 13565534140 0021427 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var dummyRegExp = /a/;
// We need to do check on instance and not on prototype due to how ES2015 spec evolved:
// https://github.com/tc39/ecma262/issues/262
// https://github.com/tc39/ecma262/pull/263
// https://bugs.chromium.org/p/v8/issues/detail?id=4617
return "sticky" in dummyRegExp;
};
es5-ext-0.10.53/reg-exp/#/unicode/ 0000775 0000000 0000000 00000000000 13565534140 0016277 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/reg-exp/#/unicode/implement.js 0000664 0000000 0000000 00000000331 13565534140 0020624 0 ustar 00root root 0000000 0000000 "use strict";
var isUnicode = require("../is-unicode");
if (!require("./is-implemented")()) {
Object.defineProperty(RegExp.prototype, "unicode", {
configurable: true,
enumerable: false,
get: isUnicode
});
}
es5-ext-0.10.53/reg-exp/#/unicode/is-implemented.js 0000664 0000000 0000000 00000000531 13565534140 0021550 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var dummyRegExp = /a/;
// We need to do check on instance and not on prototype due to how ES2015 spec evolved:
// https://github.com/tc39/ecma262/issues/262
// https://github.com/tc39/ecma262/pull/263
// https://bugs.chromium.org/p/v8/issues/detail?id=4617
return "unicode" in dummyRegExp;
};
es5-ext-0.10.53/reg-exp/escape.js 0000664 0000000 0000000 00000000376 13565534140 0016333 0 ustar 00root root 0000000 0000000 // Thanks to Andrew Clover:
// http://stackoverflow.com/questions/3561493
// /is-there-a-regexp-escape-function-in-javascript
"use strict";
var re = /[-/\\^$*+?.()|[\]{}]/g;
module.exports = function (str) { return String(str).replace(re, "\\$&"); };
es5-ext-0.10.53/reg-exp/index.js 0000664 0000000 0000000 00000000254 13565534140 0016175 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"#": require("./#"),
"escape": require("./escape"),
"isRegExp": require("./is-reg-exp"),
"validRegExp": require("./valid-reg-exp")
};
es5-ext-0.10.53/reg-exp/is-reg-exp.js 0000664 0000000 0000000 00000000331 13565534140 0017042 0 ustar 00root root 0000000 0000000 "use strict";
var objToString = Object.prototype.toString, id = objToString.call(/a/);
module.exports = function (value) {
return (value && (value instanceof RegExp || objToString.call(value) === id)) || false;
};
es5-ext-0.10.53/reg-exp/valid-reg-exp.js 0000664 0000000 0000000 00000000275 13565534140 0017535 0 ustar 00root root 0000000 0000000 "use strict";
var isRegExp = require("./is-reg-exp");
module.exports = function (value) {
if (!isRegExp(value)) throw new TypeError(value + " is not a RegExp object");
return value;
};
es5-ext-0.10.53/safe-to-string.js 0000664 0000000 0000000 00000000412 13565534140 0016355 0 ustar 00root root 0000000 0000000 "use strict";
var isCallable = require("./object/is-callable");
module.exports = function (value) {
try {
if (value && isCallable(value.toString)) return value.toString();
return String(value);
} catch (e) {
return "";
}
};
es5-ext-0.10.53/string/ 0000775 0000000 0000000 00000000000 13565534140 0014466 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/string/#/ 0000775 0000000 0000000 00000000000 13565534140 0014610 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/string/#/@@iterator/ 0000775 0000000 0000000 00000000000 13565534140 0016641 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/string/#/@@iterator/implement.js 0000664 0000000 0000000 00000000337 13565534140 0021174 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(String.prototype, require("es6-symbol").iterator, {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/string/#/@@iterator/index.js 0000664 0000000 0000000 00000000210 13565534140 0020277 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? String.prototype[require("es6-symbol").iterator]
: require("./shim");
es5-ext-0.10.53/string/#/@@iterator/is-implemented.js 0000664 0000000 0000000 00000000737 13565534140 0022122 0 ustar 00root root 0000000 0000000 "use strict";
var iteratorSymbol = require("es6-symbol").iterator;
module.exports = function () {
var str = "🙈f", iterator, result;
if (typeof str[iteratorSymbol] !== "function") return false;
iterator = str[iteratorSymbol]();
if (!iterator) return false;
if (typeof iterator.next !== "function") return false;
result = iterator.next();
if (!result) return false;
if (result.value !== "🙈") return false;
if (result.done !== false) return false;
return true;
};
es5-ext-0.10.53/string/#/@@iterator/shim.js 0000664 0000000 0000000 00000000313 13565534140 0020134 0 ustar 00root root 0000000 0000000 "use strict";
var StringIterator = require("es6-iterator/string")
, value = require("../../../object/valid-value");
module.exports = function () { return new StringIterator(value(this)); };
es5-ext-0.10.53/string/#/at.js 0000664 0000000 0000000 00000002060 13565534140 0015550 0 ustar 00root root 0000000 0000000 // Based on: https://github.com/mathiasbynens/String.prototype.at
// Thanks @mathiasbynens !
"use strict";
var toInteger = require("../../number/to-integer")
, validValue = require("../../object/valid-value");
module.exports = function (pos) {
var str = String(validValue(this)), size = str.length, cuFirst, cuSecond, nextPos, len;
pos = toInteger(pos);
// Account for out-of-bounds indices
// The odd lower bound is because the ToInteger operation is
// going to round `n` to `0` for `-1 < n <= 0`.
if (pos <= -1 || pos >= size) return "";
// Second half of `ToInteger`
// eslint-disable-next-line no-bitwise
pos |= 0;
// Get the first code unit and code unit value
cuFirst = str.charCodeAt(pos);
nextPos = pos + 1;
len = 1;
if (
// Check if it’s the start of a surrogate pair
cuFirst >= 0xd800 &&
cuFirst <= 0xdbff && // High surrogate
size > nextPos // There is a next code unit
) {
cuSecond = str.charCodeAt(nextPos);
if (cuSecond >= 0xdc00 && cuSecond <= 0xdfff) len = 2; // Low surrogate
}
return str.slice(pos, pos + len);
};
es5-ext-0.10.53/string/#/camel-to-hyphen.js 0000664 0000000 0000000 00000000331 13565534140 0020135 0 ustar 00root root 0000000 0000000 "use strict";
var replace = String.prototype.replace, re = /([A-Z])/g;
module.exports = function () {
var str = replace.call(this, re, "-$1").toLowerCase();
if (str[0] === "-") str = str.slice(1);
return str;
};
es5-ext-0.10.53/string/#/capitalize.js 0000664 0000000 0000000 00000000267 13565534140 0017300 0 ustar 00root root 0000000 0000000 "use strict";
var value = require("../../object/valid-value");
module.exports = function () {
var str = String(value(this));
return str.charAt(0).toUpperCase() + str.slice(1);
};
es5-ext-0.10.53/string/#/case-insensitive-compare.js 0000664 0000000 0000000 00000000266 13565534140 0022047 0 ustar 00root root 0000000 0000000 "use strict";
var toLowerCase = String.prototype.toLowerCase;
module.exports = function (other) {
return toLowerCase.call(this).localeCompare(toLowerCase.call(String(other)));
};
es5-ext-0.10.53/string/#/code-point-at/ 0000775 0000000 0000000 00000000000 13565534140 0017253 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/string/#/code-point-at/implement.js 0000664 0000000 0000000 00000000316 13565534140 0021603 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(String.prototype, "codePointAt", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/string/#/code-point-at/index.js 0000664 0000000 0000000 00000000162 13565534140 0020717 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? String.prototype.codePointAt : require("./shim");
es5-ext-0.10.53/string/#/code-point-at/is-implemented.js 0000664 0000000 0000000 00000000264 13565534140 0022527 0 ustar 00root root 0000000 0000000 "use strict";
var str = "abc\uD834\uDF06def";
module.exports = function () {
if (typeof str.codePointAt !== "function") return false;
return str.codePointAt(3) === 0x1d306;
};
es5-ext-0.10.53/string/#/code-point-at/shim.js 0000664 0000000 0000000 00000001462 13565534140 0020554 0 ustar 00root root 0000000 0000000 // Based on: https://github.com/mathiasbynens/String.prototype.codePointAt
// Thanks @mathiasbynens !
"use strict";
var toInteger = require("../../../number/to-integer")
, validValue = require("../../../object/valid-value");
module.exports = function (pos) {
var str = String(validValue(this)), length = str.length, first, second;
pos = toInteger(pos);
// Account for out-of-bounds indices:
if (pos < 0 || pos >= length) return undefined;
// Get the first code unit
first = str.charCodeAt(pos);
if (first >= 0xd800 && first <= 0xdbff && length > pos + 1) {
second = str.charCodeAt(pos + 1);
if (second >= 0xdc00 && second <= 0xdfff) {
// http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
return (first - 0xd800) * 0x400 + second - 0xdc00 + 0x10000;
}
}
return first;
};
es5-ext-0.10.53/string/#/contains/ 0000775 0000000 0000000 00000000000 13565534140 0016426 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/string/#/contains/implement.js 0000664 0000000 0000000 00000000313 13565534140 0020753 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(String.prototype, "contains", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/string/#/contains/index.js 0000664 0000000 0000000 00000000157 13565534140 0020076 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? String.prototype.contains : require("./shim");
es5-ext-0.10.53/string/#/contains/is-implemented.js 0000664 0000000 0000000 00000000310 13565534140 0021672 0 ustar 00root root 0000000 0000000 "use strict";
var str = "razdwatrzy";
module.exports = function () {
if (typeof str.contains !== "function") return false;
return str.contains("dwa") === true && str.contains("foo") === false;
};
es5-ext-0.10.53/string/#/contains/shim.js 0000664 0000000 0000000 00000000261 13565534140 0017723 0 ustar 00root root 0000000 0000000 "use strict";
var indexOf = String.prototype.indexOf;
module.exports = function (searchString/*, position*/) {
return indexOf.call(this, searchString, arguments[1]) > -1;
};
es5-ext-0.10.53/string/#/count.js 0000664 0000000 0000000 00000000617 13565534140 0016302 0 ustar 00root root 0000000 0000000 "use strict";
var ensureString = require("../../object/validate-stringifiable-value");
module.exports = function (search) {
var string = ensureString(this), count = 0, index = 0;
search = ensureString(search);
if (!search) throw new TypeError("Search string cannot be empty");
while ((index = string.indexOf(search, index)) !== -1) {
++count;
index += search.length;
}
return count;
};
es5-ext-0.10.53/string/#/ends-with/ 0000775 0000000 0000000 00000000000 13565534140 0016512 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/string/#/ends-with/implement.js 0000664 0000000 0000000 00000000313 13565534140 0021037 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(String.prototype, "endsWith", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/string/#/ends-with/index.js 0000664 0000000 0000000 00000000157 13565534140 0020162 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? String.prototype.endsWith : require("./shim");
es5-ext-0.10.53/string/#/ends-with/is-implemented.js 0000664 0000000 0000000 00000000311 13565534140 0021757 0 ustar 00root root 0000000 0000000 "use strict";
var str = "razdwatrzy";
module.exports = function () {
if (typeof str.endsWith !== "function") return false;
return str.endsWith("trzy") === true && str.endsWith("raz") === false;
};
es5-ext-0.10.53/string/#/ends-with/shim.js 0000664 0000000 0000000 00000001123 13565534140 0020005 0 ustar 00root root 0000000 0000000 "use strict";
var toInteger = require("../../../number/to-integer")
, value = require("../../../object/valid-value")
, isValue = require("../../../object/is-value")
, min = Math.min
, max = Math.max;
module.exports = function (searchString/*, endPosition*/) {
var self, start, endPos;
self = String(value(this));
searchString = String(searchString);
endPos = arguments[1];
start =
(isValue(endPos) ? min(max(toInteger(endPos), 0), self.length) : self.length) -
searchString.length;
return start < 0 ? false : self.indexOf(searchString, start) === start;
};
es5-ext-0.10.53/string/#/hyphen-to-camel.js 0000664 0000000 0000000 00000000340 13565534140 0020135 0 ustar 00root root 0000000 0000000 "use strict";
var replace = String.prototype.replace, re = /-([a-z0-9])/g;
var toUpperCase = function (ignored, a) { return a.toUpperCase(); };
module.exports = function () { return replace.call(this, re, toUpperCase); };
es5-ext-0.10.53/string/#/indent.js 0000664 0000000 0000000 00000000643 13565534140 0016432 0 ustar 00root root 0000000 0000000 "use strict";
var isValue = require("../../object/is-value")
, repeat = require("./repeat")
, replace = String.prototype.replace
, re = /(\r\n|[\n\r\u2028\u2029])([\u0000-\u0009\u000b-\uffff]+)/g;
module.exports = function (indent/*, count*/) {
var count = arguments[1];
indent = repeat.call(String(indent), isValue(count) ? count : 1);
return indent + replace.call(this, re, "$1" + indent + "$2");
};
es5-ext-0.10.53/string/#/index.js 0000664 0000000 0000000 00000001423 13565534140 0016255 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"@@iterator": require("./@@iterator"),
"at": require("./at"),
"count": require("./count"),
"camelToHyphen": require("./camel-to-hyphen"),
"capitalize": require("./capitalize"),
"caseInsensitiveCompare": require("./case-insensitive-compare"),
"codePointAt": require("./code-point-at"),
"contains": require("./contains"),
"hyphenToCamel": require("./hyphen-to-camel"),
"endsWith": require("./ends-with"),
"indent": require("./indent"),
"last": require("./last"),
"normalize": require("./normalize"),
"pad": require("./pad"),
"plainReplace": require("./plain-replace"),
"plainReplaceAll": require("./plain-replace-all"),
"repeat": require("./repeat"),
"startsWith": require("./starts-with"),
"uncapitalize": require("./uncapitalize")
};
es5-ext-0.10.53/string/#/last.js 0000664 0000000 0000000 00000000304 13565534140 0016106 0 ustar 00root root 0000000 0000000 "use strict";
var value = require("../../object/valid-value");
module.exports = function () {
var self = String(value(this)), length = self.length;
return length ? self[length - 1] : null;
};
es5-ext-0.10.53/string/#/normalize/ 0000775 0000000 0000000 00000000000 13565534140 0016610 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/string/#/normalize/_data.js 0000664 0000000 0000000 00000511175 13565534140 0020230 0 ustar 00root root 0000000 0000000 /* eslint max-lines: "off", no-sparse-arrays: "off", comma-style: "off" */
"use strict";
module.exports = {
0: {
60: [, , { 824: 8814 }],
61: [, , { 824: 8800 }],
62: [, , { 824: 8815 }],
65: [
, ,
{
768: 192,
769: 193,
770: 194,
771: 195,
772: 256,
774: 258,
775: 550,
776: 196,
777: 7842,
778: 197,
780: 461,
783: 512,
785: 514,
803: 7840,
805: 7680,
808: 260
}
],
66: [, , { 775: 7682, 803: 7684, 817: 7686 }],
67: [, , { 769: 262, 770: 264, 775: 266, 780: 268, 807: 199 }],
68: [, , { 775: 7690, 780: 270, 803: 7692, 807: 7696, 813: 7698, 817: 7694 }],
69: [
, ,
{
768: 200,
769: 201,
770: 202,
771: 7868,
772: 274,
774: 276,
775: 278,
776: 203,
777: 7866,
780: 282,
783: 516,
785: 518,
803: 7864,
807: 552,
808: 280,
813: 7704,
816: 7706
}
],
70: [, , { 775: 7710 }],
71: [, , { 769: 500, 770: 284, 772: 7712, 774: 286, 775: 288, 780: 486, 807: 290 }],
72: [, , { 770: 292, 775: 7714, 776: 7718, 780: 542, 803: 7716, 807: 7720, 814: 7722 }],
73: [
, ,
{
768: 204,
769: 205,
770: 206,
771: 296,
772: 298,
774: 300,
775: 304,
776: 207,
777: 7880,
780: 463,
783: 520,
785: 522,
803: 7882,
808: 302,
816: 7724
}
],
74: [, , { 770: 308 }],
75: [, , { 769: 7728, 780: 488, 803: 7730, 807: 310, 817: 7732 }],
76: [, , { 769: 313, 780: 317, 803: 7734, 807: 315, 813: 7740, 817: 7738 }],
77: [, , { 769: 7742, 775: 7744, 803: 7746 }],
78: [
, ,
{
768: 504,
769: 323,
771: 209,
775: 7748,
780: 327,
803: 7750,
807: 325,
813: 7754,
817: 7752
}
],
79: [
, ,
{
768: 210,
769: 211,
770: 212,
771: 213,
772: 332,
774: 334,
775: 558,
776: 214,
777: 7886,
779: 336,
780: 465,
783: 524,
785: 526,
795: 416,
803: 7884,
808: 490
}
],
80: [, , { 769: 7764, 775: 7766 }],
82: [
, ,
{ 769: 340, 775: 7768, 780: 344, 783: 528, 785: 530, 803: 7770, 807: 342, 817: 7774 }
],
83: [, , { 769: 346, 770: 348, 775: 7776, 780: 352, 803: 7778, 806: 536, 807: 350 }],
84: [, , { 775: 7786, 780: 356, 803: 7788, 806: 538, 807: 354, 813: 7792, 817: 7790 }],
85: [
, ,
{
768: 217,
769: 218,
770: 219,
771: 360,
772: 362,
774: 364,
776: 220,
777: 7910,
778: 366,
779: 368,
780: 467,
783: 532,
785: 534,
795: 431,
803: 7908,
804: 7794,
808: 370,
813: 7798,
816: 7796
}
],
86: [, , { 771: 7804, 803: 7806 }],
87: [, , { 768: 7808, 769: 7810, 770: 372, 775: 7814, 776: 7812, 803: 7816 }],
88: [, , { 775: 7818, 776: 7820 }],
89: [
, ,
{
768: 7922,
769: 221,
770: 374,
771: 7928,
772: 562,
775: 7822,
776: 376,
777: 7926,
803: 7924
}
],
90: [, , { 769: 377, 770: 7824, 775: 379, 780: 381, 803: 7826, 817: 7828 }],
97: [
, ,
{
768: 224,
769: 225,
770: 226,
771: 227,
772: 257,
774: 259,
775: 551,
776: 228,
777: 7843,
778: 229,
780: 462,
783: 513,
785: 515,
803: 7841,
805: 7681,
808: 261
}
],
98: [, , { 775: 7683, 803: 7685, 817: 7687 }],
99: [, , { 769: 263, 770: 265, 775: 267, 780: 269, 807: 231 }],
100: [, , { 775: 7691, 780: 271, 803: 7693, 807: 7697, 813: 7699, 817: 7695 }],
101: [
, ,
{
768: 232,
769: 233,
770: 234,
771: 7869,
772: 275,
774: 277,
775: 279,
776: 235,
777: 7867,
780: 283,
783: 517,
785: 519,
803: 7865,
807: 553,
808: 281,
813: 7705,
816: 7707
}
],
102: [, , { 775: 7711 }],
103: [, , { 769: 501, 770: 285, 772: 7713, 774: 287, 775: 289, 780: 487, 807: 291 }],
104: [
, ,
{ 770: 293, 775: 7715, 776: 7719, 780: 543, 803: 7717, 807: 7721, 814: 7723, 817: 7830 }
],
105: [
, ,
{
768: 236,
769: 237,
770: 238,
771: 297,
772: 299,
774: 301,
776: 239,
777: 7881,
780: 464,
783: 521,
785: 523,
803: 7883,
808: 303,
816: 7725
}
],
106: [, , { 770: 309, 780: 496 }],
107: [, , { 769: 7729, 780: 489, 803: 7731, 807: 311, 817: 7733 }],
108: [, , { 769: 314, 780: 318, 803: 7735, 807: 316, 813: 7741, 817: 7739 }],
109: [, , { 769: 7743, 775: 7745, 803: 7747 }],
110: [
, ,
{
768: 505,
769: 324,
771: 241,
775: 7749,
780: 328,
803: 7751,
807: 326,
813: 7755,
817: 7753
}
],
111: [
, ,
{
768: 242,
769: 243,
770: 244,
771: 245,
772: 333,
774: 335,
775: 559,
776: 246,
777: 7887,
779: 337,
780: 466,
783: 525,
785: 527,
795: 417,
803: 7885,
808: 491
}
],
112: [, , { 769: 7765, 775: 7767 }],
114: [
, ,
{ 769: 341, 775: 7769, 780: 345, 783: 529, 785: 531, 803: 7771, 807: 343, 817: 7775 }
],
115: [, , { 769: 347, 770: 349, 775: 7777, 780: 353, 803: 7779, 806: 537, 807: 351 }],
116: [
, ,
{ 775: 7787, 776: 7831, 780: 357, 803: 7789, 806: 539, 807: 355, 813: 7793, 817: 7791 }
],
117: [
, ,
{
768: 249,
769: 250,
770: 251,
771: 361,
772: 363,
774: 365,
776: 252,
777: 7911,
778: 367,
779: 369,
780: 468,
783: 533,
785: 535,
795: 432,
803: 7909,
804: 7795,
808: 371,
813: 7799,
816: 7797
}
],
118: [, , { 771: 7805, 803: 7807 }],
119: [, , { 768: 7809, 769: 7811, 770: 373, 775: 7815, 776: 7813, 778: 7832, 803: 7817 }],
120: [, , { 775: 7819, 776: 7821 }],
121: [
, ,
{
768: 7923,
769: 253,
770: 375,
771: 7929,
772: 563,
775: 7823,
776: 255,
777: 7927,
778: 7833,
803: 7925
}
],
122: [, , { 769: 378, 770: 7825, 775: 380, 780: 382, 803: 7827, 817: 7829 }],
160: [[32], 256],
168: [[32, 776], 256, { 768: 8173, 769: 901, 834: 8129 }],
170: [[97], 256],
175: [[32, 772], 256],
178: [[50], 256],
179: [[51], 256],
180: [[32, 769], 256],
181: [[956], 256],
184: [[32, 807], 256],
185: [[49], 256],
186: [[111], 256],
188: [[49, 8260, 52], 256],
189: [[49, 8260, 50], 256],
190: [[51, 8260, 52], 256],
192: [[65, 768]],
193: [[65, 769]],
194: [[65, 770], , { 768: 7846, 769: 7844, 771: 7850, 777: 7848 }],
195: [[65, 771]],
196: [[65, 776], , { 772: 478 }],
197: [[65, 778], , { 769: 506 }],
198: [, , { 769: 508, 772: 482 }],
199: [[67, 807], , { 769: 7688 }],
200: [[69, 768]],
201: [[69, 769]],
202: [[69, 770], , { 768: 7872, 769: 7870, 771: 7876, 777: 7874 }],
203: [[69, 776]],
204: [[73, 768]],
205: [[73, 769]],
206: [[73, 770]],
207: [[73, 776], , { 769: 7726 }],
209: [[78, 771]],
210: [[79, 768]],
211: [[79, 769]],
212: [[79, 770], , { 768: 7890, 769: 7888, 771: 7894, 777: 7892 }],
213: [[79, 771], , { 769: 7756, 772: 556, 776: 7758 }],
214: [[79, 776], , { 772: 554 }],
216: [, , { 769: 510 }],
217: [[85, 768]],
218: [[85, 769]],
219: [[85, 770]],
220: [[85, 776], , { 768: 475, 769: 471, 772: 469, 780: 473 }],
221: [[89, 769]],
224: [[97, 768]],
225: [[97, 769]],
226: [[97, 770], , { 768: 7847, 769: 7845, 771: 7851, 777: 7849 }],
227: [[97, 771]],
228: [[97, 776], , { 772: 479 }],
229: [[97, 778], , { 769: 507 }],
230: [, , { 769: 509, 772: 483 }],
231: [[99, 807], , { 769: 7689 }],
232: [[101, 768]],
233: [[101, 769]],
234: [[101, 770], , { 768: 7873, 769: 7871, 771: 7877, 777: 7875 }],
235: [[101, 776]],
236: [[105, 768]],
237: [[105, 769]],
238: [[105, 770]],
239: [[105, 776], , { 769: 7727 }],
241: [[110, 771]],
242: [[111, 768]],
243: [[111, 769]],
244: [[111, 770], , { 768: 7891, 769: 7889, 771: 7895, 777: 7893 }],
245: [[111, 771], , { 769: 7757, 772: 557, 776: 7759 }],
246: [[111, 776], , { 772: 555 }],
248: [, , { 769: 511 }],
249: [[117, 768]],
250: [[117, 769]],
251: [[117, 770]],
252: [[117, 776], , { 768: 476, 769: 472, 772: 470, 780: 474 }],
253: [[121, 769]],
255: [[121, 776]]
},
256: {
256: [[65, 772]],
257: [[97, 772]],
258: [[65, 774], , { 768: 7856, 769: 7854, 771: 7860, 777: 7858 }],
259: [[97, 774], , { 768: 7857, 769: 7855, 771: 7861, 777: 7859 }],
260: [[65, 808]],
261: [[97, 808]],
262: [[67, 769]],
263: [[99, 769]],
264: [[67, 770]],
265: [[99, 770]],
266: [[67, 775]],
267: [[99, 775]],
268: [[67, 780]],
269: [[99, 780]],
270: [[68, 780]],
271: [[100, 780]],
274: [[69, 772], , { 768: 7700, 769: 7702 }],
275: [[101, 772], , { 768: 7701, 769: 7703 }],
276: [[69, 774]],
277: [[101, 774]],
278: [[69, 775]],
279: [[101, 775]],
280: [[69, 808]],
281: [[101, 808]],
282: [[69, 780]],
283: [[101, 780]],
284: [[71, 770]],
285: [[103, 770]],
286: [[71, 774]],
287: [[103, 774]],
288: [[71, 775]],
289: [[103, 775]],
290: [[71, 807]],
291: [[103, 807]],
292: [[72, 770]],
293: [[104, 770]],
296: [[73, 771]],
297: [[105, 771]],
298: [[73, 772]],
299: [[105, 772]],
300: [[73, 774]],
301: [[105, 774]],
302: [[73, 808]],
303: [[105, 808]],
304: [[73, 775]],
306: [[73, 74], 256],
307: [[105, 106], 256],
308: [[74, 770]],
309: [[106, 770]],
310: [[75, 807]],
311: [[107, 807]],
313: [[76, 769]],
314: [[108, 769]],
315: [[76, 807]],
316: [[108, 807]],
317: [[76, 780]],
318: [[108, 780]],
319: [[76, 183], 256],
320: [[108, 183], 256],
323: [[78, 769]],
324: [[110, 769]],
325: [[78, 807]],
326: [[110, 807]],
327: [[78, 780]],
328: [[110, 780]],
329: [[700, 110], 256],
332: [[79, 772], , { 768: 7760, 769: 7762 }],
333: [[111, 772], , { 768: 7761, 769: 7763 }],
334: [[79, 774]],
335: [[111, 774]],
336: [[79, 779]],
337: [[111, 779]],
340: [[82, 769]],
341: [[114, 769]],
342: [[82, 807]],
343: [[114, 807]],
344: [[82, 780]],
345: [[114, 780]],
346: [[83, 769], , { 775: 7780 }],
347: [[115, 769], , { 775: 7781 }],
348: [[83, 770]],
349: [[115, 770]],
350: [[83, 807]],
351: [[115, 807]],
352: [[83, 780], , { 775: 7782 }],
353: [[115, 780], , { 775: 7783 }],
354: [[84, 807]],
355: [[116, 807]],
356: [[84, 780]],
357: [[116, 780]],
360: [[85, 771], , { 769: 7800 }],
361: [[117, 771], , { 769: 7801 }],
362: [[85, 772], , { 776: 7802 }],
363: [[117, 772], , { 776: 7803 }],
364: [[85, 774]],
365: [[117, 774]],
366: [[85, 778]],
367: [[117, 778]],
368: [[85, 779]],
369: [[117, 779]],
370: [[85, 808]],
371: [[117, 808]],
372: [[87, 770]],
373: [[119, 770]],
374: [[89, 770]],
375: [[121, 770]],
376: [[89, 776]],
377: [[90, 769]],
378: [[122, 769]],
379: [[90, 775]],
380: [[122, 775]],
381: [[90, 780]],
382: [[122, 780]],
383: [[115], 256, { 775: 7835 }],
416: [[79, 795], , { 768: 7900, 769: 7898, 771: 7904, 777: 7902, 803: 7906 }],
417: [[111, 795], , { 768: 7901, 769: 7899, 771: 7905, 777: 7903, 803: 7907 }],
431: [[85, 795], , { 768: 7914, 769: 7912, 771: 7918, 777: 7916, 803: 7920 }],
432: [[117, 795], , { 768: 7915, 769: 7913, 771: 7919, 777: 7917, 803: 7921 }],
439: [, , { 780: 494 }],
452: [[68, 381], 256],
453: [[68, 382], 256],
454: [[100, 382], 256],
455: [[76, 74], 256],
456: [[76, 106], 256],
457: [[108, 106], 256],
458: [[78, 74], 256],
459: [[78, 106], 256],
460: [[110, 106], 256],
461: [[65, 780]],
462: [[97, 780]],
463: [[73, 780]],
464: [[105, 780]],
465: [[79, 780]],
466: [[111, 780]],
467: [[85, 780]],
468: [[117, 780]],
469: [[220, 772]],
470: [[252, 772]],
471: [[220, 769]],
472: [[252, 769]],
473: [[220, 780]],
474: [[252, 780]],
475: [[220, 768]],
476: [[252, 768]],
478: [[196, 772]],
479: [[228, 772]],
480: [[550, 772]],
481: [[551, 772]],
482: [[198, 772]],
483: [[230, 772]],
486: [[71, 780]],
487: [[103, 780]],
488: [[75, 780]],
489: [[107, 780]],
490: [[79, 808], , { 772: 492 }],
491: [[111, 808], , { 772: 493 }],
492: [[490, 772]],
493: [[491, 772]],
494: [[439, 780]],
495: [[658, 780]],
496: [[106, 780]],
497: [[68, 90], 256],
498: [[68, 122], 256],
499: [[100, 122], 256],
500: [[71, 769]],
501: [[103, 769]],
504: [[78, 768]],
505: [[110, 768]],
506: [[197, 769]],
507: [[229, 769]],
508: [[198, 769]],
509: [[230, 769]],
510: [[216, 769]],
511: [[248, 769]],
66045: [, 220]
},
512: {
512: [[65, 783]],
513: [[97, 783]],
514: [[65, 785]],
515: [[97, 785]],
516: [[69, 783]],
517: [[101, 783]],
518: [[69, 785]],
519: [[101, 785]],
520: [[73, 783]],
521: [[105, 783]],
522: [[73, 785]],
523: [[105, 785]],
524: [[79, 783]],
525: [[111, 783]],
526: [[79, 785]],
527: [[111, 785]],
528: [[82, 783]],
529: [[114, 783]],
530: [[82, 785]],
531: [[114, 785]],
532: [[85, 783]],
533: [[117, 783]],
534: [[85, 785]],
535: [[117, 785]],
536: [[83, 806]],
537: [[115, 806]],
538: [[84, 806]],
539: [[116, 806]],
542: [[72, 780]],
543: [[104, 780]],
550: [[65, 775], , { 772: 480 }],
551: [[97, 775], , { 772: 481 }],
552: [[69, 807], , { 774: 7708 }],
553: [[101, 807], , { 774: 7709 }],
554: [[214, 772]],
555: [[246, 772]],
556: [[213, 772]],
557: [[245, 772]],
558: [[79, 775], , { 772: 560 }],
559: [[111, 775], , { 772: 561 }],
560: [[558, 772]],
561: [[559, 772]],
562: [[89, 772]],
563: [[121, 772]],
658: [, , { 780: 495 }],
688: [[104], 256],
689: [[614], 256],
690: [[106], 256],
691: [[114], 256],
692: [[633], 256],
693: [[635], 256],
694: [[641], 256],
695: [[119], 256],
696: [[121], 256],
728: [[32, 774], 256],
729: [[32, 775], 256],
730: [[32, 778], 256],
731: [[32, 808], 256],
732: [[32, 771], 256],
733: [[32, 779], 256],
736: [[611], 256],
737: [[108], 256],
738: [[115], 256],
739: [[120], 256],
740: [[661], 256]
},
768: {
768: [, 230],
769: [, 230],
770: [, 230],
771: [, 230],
772: [, 230],
773: [, 230],
774: [, 230],
775: [, 230],
776: [, 230, { 769: 836 }],
777: [, 230],
778: [, 230],
779: [, 230],
780: [, 230],
781: [, 230],
782: [, 230],
783: [, 230],
784: [, 230],
785: [, 230],
786: [, 230],
787: [, 230],
788: [, 230],
789: [, 232],
790: [, 220],
791: [, 220],
792: [, 220],
793: [, 220],
794: [, 232],
795: [, 216],
796: [, 220],
797: [, 220],
798: [, 220],
799: [, 220],
800: [, 220],
801: [, 202],
802: [, 202],
803: [, 220],
804: [, 220],
805: [, 220],
806: [, 220],
807: [, 202],
808: [, 202],
809: [, 220],
810: [, 220],
811: [, 220],
812: [, 220],
813: [, 220],
814: [, 220],
815: [, 220],
816: [, 220],
817: [, 220],
818: [, 220],
819: [, 220],
820: [, 1],
821: [, 1],
822: [, 1],
823: [, 1],
824: [, 1],
825: [, 220],
826: [, 220],
827: [, 220],
828: [, 220],
829: [, 230],
830: [, 230],
831: [, 230],
832: [[768], 230],
833: [[769], 230],
834: [, 230],
835: [[787], 230],
836: [[776, 769], 230],
837: [, 240],
838: [, 230],
839: [, 220],
840: [, 220],
841: [, 220],
842: [, 230],
843: [, 230],
844: [, 230],
845: [, 220],
846: [, 220],
848: [, 230],
849: [, 230],
850: [, 230],
851: [, 220],
852: [, 220],
853: [, 220],
854: [, 220],
855: [, 230],
856: [, 232],
857: [, 220],
858: [, 220],
859: [, 230],
860: [, 233],
861: [, 234],
862: [, 234],
863: [, 233],
864: [, 234],
865: [, 234],
866: [, 233],
867: [, 230],
868: [, 230],
869: [, 230],
870: [, 230],
871: [, 230],
872: [, 230],
873: [, 230],
874: [, 230],
875: [, 230],
876: [, 230],
877: [, 230],
878: [, 230],
879: [, 230],
884: [[697]],
890: [[32, 837], 256],
894: [[59]],
900: [[32, 769], 256],
901: [[168, 769]],
902: [[913, 769]],
903: [[183]],
904: [[917, 769]],
905: [[919, 769]],
906: [[921, 769]],
908: [[927, 769]],
910: [[933, 769]],
911: [[937, 769]],
912: [[970, 769]],
913: [, , { 768: 8122, 769: 902, 772: 8121, 774: 8120, 787: 7944, 788: 7945, 837: 8124 }],
917: [, , { 768: 8136, 769: 904, 787: 7960, 788: 7961 }],
919: [, , { 768: 8138, 769: 905, 787: 7976, 788: 7977, 837: 8140 }],
921: [, , { 768: 8154, 769: 906, 772: 8153, 774: 8152, 776: 938, 787: 7992, 788: 7993 }],
927: [, , { 768: 8184, 769: 908, 787: 8008, 788: 8009 }],
929: [, , { 788: 8172 }],
933: [, , { 768: 8170, 769: 910, 772: 8169, 774: 8168, 776: 939, 788: 8025 }],
937: [, , { 768: 8186, 769: 911, 787: 8040, 788: 8041, 837: 8188 }],
938: [[921, 776]],
939: [[933, 776]],
940: [[945, 769], , { 837: 8116 }],
941: [[949, 769]],
942: [[951, 769], , { 837: 8132 }],
943: [[953, 769]],
944: [[971, 769]],
945: [
, ,
{
768: 8048,
769: 940,
772: 8113,
774: 8112,
787: 7936,
788: 7937,
834: 8118,
837: 8115
}
],
949: [, , { 768: 8050, 769: 941, 787: 7952, 788: 7953 }],
951: [, , { 768: 8052, 769: 942, 787: 7968, 788: 7969, 834: 8134, 837: 8131 }],
953: [
, ,
{ 768: 8054, 769: 943, 772: 8145, 774: 8144, 776: 970, 787: 7984, 788: 7985, 834: 8150 }
],
959: [, , { 768: 8056, 769: 972, 787: 8000, 788: 8001 }],
961: [, , { 787: 8164, 788: 8165 }],
965: [
, ,
{ 768: 8058, 769: 973, 772: 8161, 774: 8160, 776: 971, 787: 8016, 788: 8017, 834: 8166 }
],
969: [, , { 768: 8060, 769: 974, 787: 8032, 788: 8033, 834: 8182, 837: 8179 }],
970: [[953, 776], , { 768: 8146, 769: 912, 834: 8151 }],
971: [[965, 776], , { 768: 8162, 769: 944, 834: 8167 }],
972: [[959, 769]],
973: [[965, 769]],
974: [[969, 769], , { 837: 8180 }],
976: [[946], 256],
977: [[952], 256],
978: [[933], 256, { 769: 979, 776: 980 }],
979: [[978, 769]],
980: [[978, 776]],
981: [[966], 256],
982: [[960], 256],
1008: [[954], 256],
1009: [[961], 256],
1010: [[962], 256],
1012: [[920], 256],
1013: [[949], 256],
1017: [[931], 256]
},
1024: {
1024: [[1045, 768]],
1025: [[1045, 776]],
1027: [[1043, 769]],
1030: [, , { 776: 1031 }],
1031: [[1030, 776]],
1036: [[1050, 769]],
1037: [[1048, 768]],
1038: [[1059, 774]],
1040: [, , { 774: 1232, 776: 1234 }],
1043: [, , { 769: 1027 }],
1045: [, , { 768: 1024, 774: 1238, 776: 1025 }],
1046: [, , { 774: 1217, 776: 1244 }],
1047: [, , { 776: 1246 }],
1048: [, , { 768: 1037, 772: 1250, 774: 1049, 776: 1252 }],
1049: [[1048, 774]],
1050: [, , { 769: 1036 }],
1054: [, , { 776: 1254 }],
1059: [, , { 772: 1262, 774: 1038, 776: 1264, 779: 1266 }],
1063: [, , { 776: 1268 }],
1067: [, , { 776: 1272 }],
1069: [, , { 776: 1260 }],
1072: [, , { 774: 1233, 776: 1235 }],
1075: [, , { 769: 1107 }],
1077: [, , { 768: 1104, 774: 1239, 776: 1105 }],
1078: [, , { 774: 1218, 776: 1245 }],
1079: [, , { 776: 1247 }],
1080: [, , { 768: 1117, 772: 1251, 774: 1081, 776: 1253 }],
1081: [[1080, 774]],
1082: [, , { 769: 1116 }],
1086: [, , { 776: 1255 }],
1091: [, , { 772: 1263, 774: 1118, 776: 1265, 779: 1267 }],
1095: [, , { 776: 1269 }],
1099: [, , { 776: 1273 }],
1101: [, , { 776: 1261 }],
1104: [[1077, 768]],
1105: [[1077, 776]],
1107: [[1075, 769]],
1110: [, , { 776: 1111 }],
1111: [[1110, 776]],
1116: [[1082, 769]],
1117: [[1080, 768]],
1118: [[1091, 774]],
1140: [, , { 783: 1142 }],
1141: [, , { 783: 1143 }],
1142: [[1140, 783]],
1143: [[1141, 783]],
1155: [, 230],
1156: [, 230],
1157: [, 230],
1158: [, 230],
1159: [, 230],
1217: [[1046, 774]],
1218: [[1078, 774]],
1232: [[1040, 774]],
1233: [[1072, 774]],
1234: [[1040, 776]],
1235: [[1072, 776]],
1238: [[1045, 774]],
1239: [[1077, 774]],
1240: [, , { 776: 1242 }],
1241: [, , { 776: 1243 }],
1242: [[1240, 776]],
1243: [[1241, 776]],
1244: [[1046, 776]],
1245: [[1078, 776]],
1246: [[1047, 776]],
1247: [[1079, 776]],
1250: [[1048, 772]],
1251: [[1080, 772]],
1252: [[1048, 776]],
1253: [[1080, 776]],
1254: [[1054, 776]],
1255: [[1086, 776]],
1256: [, , { 776: 1258 }],
1257: [, , { 776: 1259 }],
1258: [[1256, 776]],
1259: [[1257, 776]],
1260: [[1069, 776]],
1261: [[1101, 776]],
1262: [[1059, 772]],
1263: [[1091, 772]],
1264: [[1059, 776]],
1265: [[1091, 776]],
1266: [[1059, 779]],
1267: [[1091, 779]],
1268: [[1063, 776]],
1269: [[1095, 776]],
1272: [[1067, 776]],
1273: [[1099, 776]]
},
1280: {
1415: [[1381, 1410], 256],
1425: [, 220],
1426: [, 230],
1427: [, 230],
1428: [, 230],
1429: [, 230],
1430: [, 220],
1431: [, 230],
1432: [, 230],
1433: [, 230],
1434: [, 222],
1435: [, 220],
1436: [, 230],
1437: [, 230],
1438: [, 230],
1439: [, 230],
1440: [, 230],
1441: [, 230],
1442: [, 220],
1443: [, 220],
1444: [, 220],
1445: [, 220],
1446: [, 220],
1447: [, 220],
1448: [, 230],
1449: [, 230],
1450: [, 220],
1451: [, 230],
1452: [, 230],
1453: [, 222],
1454: [, 228],
1455: [, 230],
1456: [, 10],
1457: [, 11],
1458: [, 12],
1459: [, 13],
1460: [, 14],
1461: [, 15],
1462: [, 16],
1463: [, 17],
1464: [, 18],
1465: [, 19],
1466: [, 19],
1467: [, 20],
1468: [, 21],
1469: [, 22],
1471: [, 23],
1473: [, 24],
1474: [, 25],
1476: [, 230],
1477: [, 220],
1479: [, 18]
},
1536: {
1552: [, 230],
1553: [, 230],
1554: [, 230],
1555: [, 230],
1556: [, 230],
1557: [, 230],
1558: [, 230],
1559: [, 230],
1560: [, 30],
1561: [, 31],
1562: [, 32],
1570: [[1575, 1619]],
1571: [[1575, 1620]],
1572: [[1608, 1620]],
1573: [[1575, 1621]],
1574: [[1610, 1620]],
1575: [, , { 1619: 1570, 1620: 1571, 1621: 1573 }],
1608: [, , { 1620: 1572 }],
1610: [, , { 1620: 1574 }],
1611: [, 27],
1612: [, 28],
1613: [, 29],
1614: [, 30],
1615: [, 31],
1616: [, 32],
1617: [, 33],
1618: [, 34],
1619: [, 230],
1620: [, 230],
1621: [, 220],
1622: [, 220],
1623: [, 230],
1624: [, 230],
1625: [, 230],
1626: [, 230],
1627: [, 230],
1628: [, 220],
1629: [, 230],
1630: [, 230],
1631: [, 220],
1648: [, 35],
1653: [[1575, 1652], 256],
1654: [[1608, 1652], 256],
1655: [[1735, 1652], 256],
1656: [[1610, 1652], 256],
1728: [[1749, 1620]],
1729: [, , { 1620: 1730 }],
1730: [[1729, 1620]],
1746: [, , { 1620: 1747 }],
1747: [[1746, 1620]],
1749: [, , { 1620: 1728 }],
1750: [, 230],
1751: [, 230],
1752: [, 230],
1753: [, 230],
1754: [, 230],
1755: [, 230],
1756: [, 230],
1759: [, 230],
1760: [, 230],
1761: [, 230],
1762: [, 230],
1763: [, 220],
1764: [, 230],
1767: [, 230],
1768: [, 230],
1770: [, 220],
1771: [, 230],
1772: [, 230],
1773: [, 220]
},
1792: {
1809: [, 36],
1840: [, 230],
1841: [, 220],
1842: [, 230],
1843: [, 230],
1844: [, 220],
1845: [, 230],
1846: [, 230],
1847: [, 220],
1848: [, 220],
1849: [, 220],
1850: [, 230],
1851: [, 220],
1852: [, 220],
1853: [, 230],
1854: [, 220],
1855: [, 230],
1856: [, 230],
1857: [, 230],
1858: [, 220],
1859: [, 230],
1860: [, 220],
1861: [, 230],
1862: [, 220],
1863: [, 230],
1864: [, 220],
1865: [, 230],
1866: [, 230],
2027: [, 230],
2028: [, 230],
2029: [, 230],
2030: [, 230],
2031: [, 230],
2032: [, 230],
2033: [, 230],
2034: [, 220],
2035: [, 230]
},
2048: {
2070: [, 230],
2071: [, 230],
2072: [, 230],
2073: [, 230],
2075: [, 230],
2076: [, 230],
2077: [, 230],
2078: [, 230],
2079: [, 230],
2080: [, 230],
2081: [, 230],
2082: [, 230],
2083: [, 230],
2085: [, 230],
2086: [, 230],
2087: [, 230],
2089: [, 230],
2090: [, 230],
2091: [, 230],
2092: [, 230],
2093: [, 230],
2137: [, 220],
2138: [, 220],
2139: [, 220],
2276: [, 230],
2277: [, 230],
2278: [, 220],
2279: [, 230],
2280: [, 230],
2281: [, 220],
2282: [, 230],
2283: [, 230],
2284: [, 230],
2285: [, 220],
2286: [, 220],
2287: [, 220],
2288: [, 27],
2289: [, 28],
2290: [, 29],
2291: [, 230],
2292: [, 230],
2293: [, 230],
2294: [, 220],
2295: [, 230],
2296: [, 230],
2297: [, 220],
2298: [, 220],
2299: [, 230],
2300: [, 230],
2301: [, 230],
2302: [, 230]
},
2304: {
2344: [, , { 2364: 2345 }],
2345: [[2344, 2364]],
2352: [, , { 2364: 2353 }],
2353: [[2352, 2364]],
2355: [, , { 2364: 2356 }],
2356: [[2355, 2364]],
2364: [, 7],
2381: [, 9],
2385: [, 230],
2386: [, 220],
2387: [, 230],
2388: [, 230],
2392: [[2325, 2364], 512],
2393: [[2326, 2364], 512],
2394: [[2327, 2364], 512],
2395: [[2332, 2364], 512],
2396: [[2337, 2364], 512],
2397: [[2338, 2364], 512],
2398: [[2347, 2364], 512],
2399: [[2351, 2364], 512],
2492: [, 7],
2503: [, , { 2494: 2507, 2519: 2508 }],
2507: [[2503, 2494]],
2508: [[2503, 2519]],
2509: [, 9],
2524: [[2465, 2492], 512],
2525: [[2466, 2492], 512],
2527: [[2479, 2492], 512]
},
2560: {
2611: [[2610, 2620], 512],
2614: [[2616, 2620], 512],
2620: [, 7],
2637: [, 9],
2649: [[2582, 2620], 512],
2650: [[2583, 2620], 512],
2651: [[2588, 2620], 512],
2654: [[2603, 2620], 512],
2748: [, 7],
2765: [, 9],
68109: [, 220],
68111: [, 230],
68152: [, 230],
68153: [, 1],
68154: [, 220],
68159: [, 9]
},
2816: {
2876: [, 7],
2887: [, , { 2878: 2891, 2902: 2888, 2903: 2892 }],
2888: [[2887, 2902]],
2891: [[2887, 2878]],
2892: [[2887, 2903]],
2893: [, 9],
2908: [[2849, 2876], 512],
2909: [[2850, 2876], 512],
2962: [, , { 3031: 2964 }],
2964: [[2962, 3031]],
3014: [, , { 3006: 3018, 3031: 3020 }],
3015: [, , { 3006: 3019 }],
3018: [[3014, 3006]],
3019: [[3015, 3006]],
3020: [[3014, 3031]],
3021: [, 9]
},
3072: {
3142: [, , { 3158: 3144 }],
3144: [[3142, 3158]],
3149: [, 9],
3157: [, 84],
3158: [, 91],
3260: [, 7],
3263: [, , { 3285: 3264 }],
3264: [[3263, 3285]],
3270: [, , { 3266: 3274, 3285: 3271, 3286: 3272 }],
3271: [[3270, 3285]],
3272: [[3270, 3286]],
3274: [[3270, 3266], , { 3285: 3275 }],
3275: [[3274, 3285]],
3277: [, 9]
},
3328: {
3398: [, , { 3390: 3402, 3415: 3404 }],
3399: [, , { 3390: 3403 }],
3402: [[3398, 3390]],
3403: [[3399, 3390]],
3404: [[3398, 3415]],
3405: [, 9],
3530: [, 9],
3545: [, , { 3530: 3546, 3535: 3548, 3551: 3550 }],
3546: [[3545, 3530]],
3548: [[3545, 3535], , { 3530: 3549 }],
3549: [[3548, 3530]],
3550: [[3545, 3551]]
},
3584: {
3635: [[3661, 3634], 256],
3640: [, 103],
3641: [, 103],
3642: [, 9],
3656: [, 107],
3657: [, 107],
3658: [, 107],
3659: [, 107],
3763: [[3789, 3762], 256],
3768: [, 118],
3769: [, 118],
3784: [, 122],
3785: [, 122],
3786: [, 122],
3787: [, 122],
3804: [[3755, 3737], 256],
3805: [[3755, 3745], 256]
},
3840: {
3852: [[3851], 256],
3864: [, 220],
3865: [, 220],
3893: [, 220],
3895: [, 220],
3897: [, 216],
3907: [[3906, 4023], 512],
3917: [[3916, 4023], 512],
3922: [[3921, 4023], 512],
3927: [[3926, 4023], 512],
3932: [[3931, 4023], 512],
3945: [[3904, 4021], 512],
3953: [, 129],
3954: [, 130],
3955: [[3953, 3954], 512],
3956: [, 132],
3957: [[3953, 3956], 512],
3958: [[4018, 3968], 512],
3959: [[4018, 3969], 256],
3960: [[4019, 3968], 512],
3961: [[4019, 3969], 256],
3962: [, 130],
3963: [, 130],
3964: [, 130],
3965: [, 130],
3968: [, 130],
3969: [[3953, 3968], 512],
3970: [, 230],
3971: [, 230],
3972: [, 9],
3974: [, 230],
3975: [, 230],
3987: [[3986, 4023], 512],
3997: [[3996, 4023], 512],
4002: [[4001, 4023], 512],
4007: [[4006, 4023], 512],
4012: [[4011, 4023], 512],
4025: [[3984, 4021], 512],
4038: [, 220]
},
4096: {
4133: [, , { 4142: 4134 }],
4134: [[4133, 4142]],
4151: [, 7],
4153: [, 9],
4154: [, 9],
4237: [, 220],
4348: [[4316], 256],
69702: [, 9],
69785: [, , { 69818: 69786 }],
69786: [[69785, 69818]],
69787: [, , { 69818: 69788 }],
69788: [[69787, 69818]],
69797: [, , { 69818: 69803 }],
69803: [[69797, 69818]],
69817: [, 9],
69818: [, 7]
},
4352: {
69888: [, 230],
69889: [, 230],
69890: [, 230],
69934: [[69937, 69927]],
69935: [[69938, 69927]],
69937: [, , { 69927: 69934 }],
69938: [, , { 69927: 69935 }],
69939: [, 9],
69940: [, 9],
70080: [, 9]
},
4864: { 4957: [, 230], 4958: [, 230], 4959: [, 230] },
5632: { 71350: [, 9], 71351: [, 7] },
5888: { 5908: [, 9], 5940: [, 9], 6098: [, 9], 6109: [, 230] },
6144: { 6313: [, 228] },
6400: { 6457: [, 222], 6458: [, 230], 6459: [, 220] },
6656: {
6679: [, 230],
6680: [, 220],
6752: [, 9],
6773: [, 230],
6774: [, 230],
6775: [, 230],
6776: [, 230],
6777: [, 230],
6778: [, 230],
6779: [, 230],
6780: [, 230],
6783: [, 220]
},
6912: {
6917: [, , { 6965: 6918 }],
6918: [[6917, 6965]],
6919: [, , { 6965: 6920 }],
6920: [[6919, 6965]],
6921: [, , { 6965: 6922 }],
6922: [[6921, 6965]],
6923: [, , { 6965: 6924 }],
6924: [[6923, 6965]],
6925: [, , { 6965: 6926 }],
6926: [[6925, 6965]],
6929: [, , { 6965: 6930 }],
6930: [[6929, 6965]],
6964: [, 7],
6970: [, , { 6965: 6971 }],
6971: [[6970, 6965]],
6972: [, , { 6965: 6973 }],
6973: [[6972, 6965]],
6974: [, , { 6965: 6976 }],
6975: [, , { 6965: 6977 }],
6976: [[6974, 6965]],
6977: [[6975, 6965]],
6978: [, , { 6965: 6979 }],
6979: [[6978, 6965]],
6980: [, 9],
7019: [, 230],
7020: [, 220],
7021: [, 230],
7022: [, 230],
7023: [, 230],
7024: [, 230],
7025: [, 230],
7026: [, 230],
7027: [, 230],
7082: [, 9],
7083: [, 9],
7142: [, 7],
7154: [, 9],
7155: [, 9]
},
7168: {
7223: [, 7],
7376: [, 230],
7377: [, 230],
7378: [, 230],
7380: [, 1],
7381: [, 220],
7382: [, 220],
7383: [, 220],
7384: [, 220],
7385: [, 220],
7386: [, 230],
7387: [, 230],
7388: [, 220],
7389: [, 220],
7390: [, 220],
7391: [, 220],
7392: [, 230],
7394: [, 1],
7395: [, 1],
7396: [, 1],
7397: [, 1],
7398: [, 1],
7399: [, 1],
7400: [, 1],
7405: [, 220],
7412: [, 230]
},
7424: {
7468: [[65], 256],
7469: [[198], 256],
7470: [[66], 256],
7472: [[68], 256],
7473: [[69], 256],
7474: [[398], 256],
7475: [[71], 256],
7476: [[72], 256],
7477: [[73], 256],
7478: [[74], 256],
7479: [[75], 256],
7480: [[76], 256],
7481: [[77], 256],
7482: [[78], 256],
7484: [[79], 256],
7485: [[546], 256],
7486: [[80], 256],
7487: [[82], 256],
7488: [[84], 256],
7489: [[85], 256],
7490: [[87], 256],
7491: [[97], 256],
7492: [[592], 256],
7493: [[593], 256],
7494: [[7426], 256],
7495: [[98], 256],
7496: [[100], 256],
7497: [[101], 256],
7498: [[601], 256],
7499: [[603], 256],
7500: [[604], 256],
7501: [[103], 256],
7503: [[107], 256],
7504: [[109], 256],
7505: [[331], 256],
7506: [[111], 256],
7507: [[596], 256],
7508: [[7446], 256],
7509: [[7447], 256],
7510: [[112], 256],
7511: [[116], 256],
7512: [[117], 256],
7513: [[7453], 256],
7514: [[623], 256],
7515: [[118], 256],
7516: [[7461], 256],
7517: [[946], 256],
7518: [[947], 256],
7519: [[948], 256],
7520: [[966], 256],
7521: [[967], 256],
7522: [[105], 256],
7523: [[114], 256],
7524: [[117], 256],
7525: [[118], 256],
7526: [[946], 256],
7527: [[947], 256],
7528: [[961], 256],
7529: [[966], 256],
7530: [[967], 256],
7544: [[1085], 256],
7579: [[594], 256],
7580: [[99], 256],
7581: [[597], 256],
7582: [[240], 256],
7583: [[604], 256],
7584: [[102], 256],
7585: [[607], 256],
7586: [[609], 256],
7587: [[613], 256],
7588: [[616], 256],
7589: [[617], 256],
7590: [[618], 256],
7591: [[7547], 256],
7592: [[669], 256],
7593: [[621], 256],
7594: [[7557], 256],
7595: [[671], 256],
7596: [[625], 256],
7597: [[624], 256],
7598: [[626], 256],
7599: [[627], 256],
7600: [[628], 256],
7601: [[629], 256],
7602: [[632], 256],
7603: [[642], 256],
7604: [[643], 256],
7605: [[427], 256],
7606: [[649], 256],
7607: [[650], 256],
7608: [[7452], 256],
7609: [[651], 256],
7610: [[652], 256],
7611: [[122], 256],
7612: [[656], 256],
7613: [[657], 256],
7614: [[658], 256],
7615: [[952], 256],
7616: [, 230],
7617: [, 230],
7618: [, 220],
7619: [, 230],
7620: [, 230],
7621: [, 230],
7622: [, 230],
7623: [, 230],
7624: [, 230],
7625: [, 230],
7626: [, 220],
7627: [, 230],
7628: [, 230],
7629: [, 234],
7630: [, 214],
7631: [, 220],
7632: [, 202],
7633: [, 230],
7634: [, 230],
7635: [, 230],
7636: [, 230],
7637: [, 230],
7638: [, 230],
7639: [, 230],
7640: [, 230],
7641: [, 230],
7642: [, 230],
7643: [, 230],
7644: [, 230],
7645: [, 230],
7646: [, 230],
7647: [, 230],
7648: [, 230],
7649: [, 230],
7650: [, 230],
7651: [, 230],
7652: [, 230],
7653: [, 230],
7654: [, 230],
7676: [, 233],
7677: [, 220],
7678: [, 230],
7679: [, 220]
},
7680: {
7680: [[65, 805]],
7681: [[97, 805]],
7682: [[66, 775]],
7683: [[98, 775]],
7684: [[66, 803]],
7685: [[98, 803]],
7686: [[66, 817]],
7687: [[98, 817]],
7688: [[199, 769]],
7689: [[231, 769]],
7690: [[68, 775]],
7691: [[100, 775]],
7692: [[68, 803]],
7693: [[100, 803]],
7694: [[68, 817]],
7695: [[100, 817]],
7696: [[68, 807]],
7697: [[100, 807]],
7698: [[68, 813]],
7699: [[100, 813]],
7700: [[274, 768]],
7701: [[275, 768]],
7702: [[274, 769]],
7703: [[275, 769]],
7704: [[69, 813]],
7705: [[101, 813]],
7706: [[69, 816]],
7707: [[101, 816]],
7708: [[552, 774]],
7709: [[553, 774]],
7710: [[70, 775]],
7711: [[102, 775]],
7712: [[71, 772]],
7713: [[103, 772]],
7714: [[72, 775]],
7715: [[104, 775]],
7716: [[72, 803]],
7717: [[104, 803]],
7718: [[72, 776]],
7719: [[104, 776]],
7720: [[72, 807]],
7721: [[104, 807]],
7722: [[72, 814]],
7723: [[104, 814]],
7724: [[73, 816]],
7725: [[105, 816]],
7726: [[207, 769]],
7727: [[239, 769]],
7728: [[75, 769]],
7729: [[107, 769]],
7730: [[75, 803]],
7731: [[107, 803]],
7732: [[75, 817]],
7733: [[107, 817]],
7734: [[76, 803], , { 772: 7736 }],
7735: [[108, 803], , { 772: 7737 }],
7736: [[7734, 772]],
7737: [[7735, 772]],
7738: [[76, 817]],
7739: [[108, 817]],
7740: [[76, 813]],
7741: [[108, 813]],
7742: [[77, 769]],
7743: [[109, 769]],
7744: [[77, 775]],
7745: [[109, 775]],
7746: [[77, 803]],
7747: [[109, 803]],
7748: [[78, 775]],
7749: [[110, 775]],
7750: [[78, 803]],
7751: [[110, 803]],
7752: [[78, 817]],
7753: [[110, 817]],
7754: [[78, 813]],
7755: [[110, 813]],
7756: [[213, 769]],
7757: [[245, 769]],
7758: [[213, 776]],
7759: [[245, 776]],
7760: [[332, 768]],
7761: [[333, 768]],
7762: [[332, 769]],
7763: [[333, 769]],
7764: [[80, 769]],
7765: [[112, 769]],
7766: [[80, 775]],
7767: [[112, 775]],
7768: [[82, 775]],
7769: [[114, 775]],
7770: [[82, 803], , { 772: 7772 }],
7771: [[114, 803], , { 772: 7773 }],
7772: [[7770, 772]],
7773: [[7771, 772]],
7774: [[82, 817]],
7775: [[114, 817]],
7776: [[83, 775]],
7777: [[115, 775]],
7778: [[83, 803], , { 775: 7784 }],
7779: [[115, 803], , { 775: 7785 }],
7780: [[346, 775]],
7781: [[347, 775]],
7782: [[352, 775]],
7783: [[353, 775]],
7784: [[7778, 775]],
7785: [[7779, 775]],
7786: [[84, 775]],
7787: [[116, 775]],
7788: [[84, 803]],
7789: [[116, 803]],
7790: [[84, 817]],
7791: [[116, 817]],
7792: [[84, 813]],
7793: [[116, 813]],
7794: [[85, 804]],
7795: [[117, 804]],
7796: [[85, 816]],
7797: [[117, 816]],
7798: [[85, 813]],
7799: [[117, 813]],
7800: [[360, 769]],
7801: [[361, 769]],
7802: [[362, 776]],
7803: [[363, 776]],
7804: [[86, 771]],
7805: [[118, 771]],
7806: [[86, 803]],
7807: [[118, 803]],
7808: [[87, 768]],
7809: [[119, 768]],
7810: [[87, 769]],
7811: [[119, 769]],
7812: [[87, 776]],
7813: [[119, 776]],
7814: [[87, 775]],
7815: [[119, 775]],
7816: [[87, 803]],
7817: [[119, 803]],
7818: [[88, 775]],
7819: [[120, 775]],
7820: [[88, 776]],
7821: [[120, 776]],
7822: [[89, 775]],
7823: [[121, 775]],
7824: [[90, 770]],
7825: [[122, 770]],
7826: [[90, 803]],
7827: [[122, 803]],
7828: [[90, 817]],
7829: [[122, 817]],
7830: [[104, 817]],
7831: [[116, 776]],
7832: [[119, 778]],
7833: [[121, 778]],
7834: [[97, 702], 256],
7835: [[383, 775]],
7840: [[65, 803], , { 770: 7852, 774: 7862 }],
7841: [[97, 803], , { 770: 7853, 774: 7863 }],
7842: [[65, 777]],
7843: [[97, 777]],
7844: [[194, 769]],
7845: [[226, 769]],
7846: [[194, 768]],
7847: [[226, 768]],
7848: [[194, 777]],
7849: [[226, 777]],
7850: [[194, 771]],
7851: [[226, 771]],
7852: [[7840, 770]],
7853: [[7841, 770]],
7854: [[258, 769]],
7855: [[259, 769]],
7856: [[258, 768]],
7857: [[259, 768]],
7858: [[258, 777]],
7859: [[259, 777]],
7860: [[258, 771]],
7861: [[259, 771]],
7862: [[7840, 774]],
7863: [[7841, 774]],
7864: [[69, 803], , { 770: 7878 }],
7865: [[101, 803], , { 770: 7879 }],
7866: [[69, 777]],
7867: [[101, 777]],
7868: [[69, 771]],
7869: [[101, 771]],
7870: [[202, 769]],
7871: [[234, 769]],
7872: [[202, 768]],
7873: [[234, 768]],
7874: [[202, 777]],
7875: [[234, 777]],
7876: [[202, 771]],
7877: [[234, 771]],
7878: [[7864, 770]],
7879: [[7865, 770]],
7880: [[73, 777]],
7881: [[105, 777]],
7882: [[73, 803]],
7883: [[105, 803]],
7884: [[79, 803], , { 770: 7896 }],
7885: [[111, 803], , { 770: 7897 }],
7886: [[79, 777]],
7887: [[111, 777]],
7888: [[212, 769]],
7889: [[244, 769]],
7890: [[212, 768]],
7891: [[244, 768]],
7892: [[212, 777]],
7893: [[244, 777]],
7894: [[212, 771]],
7895: [[244, 771]],
7896: [[7884, 770]],
7897: [[7885, 770]],
7898: [[416, 769]],
7899: [[417, 769]],
7900: [[416, 768]],
7901: [[417, 768]],
7902: [[416, 777]],
7903: [[417, 777]],
7904: [[416, 771]],
7905: [[417, 771]],
7906: [[416, 803]],
7907: [[417, 803]],
7908: [[85, 803]],
7909: [[117, 803]],
7910: [[85, 777]],
7911: [[117, 777]],
7912: [[431, 769]],
7913: [[432, 769]],
7914: [[431, 768]],
7915: [[432, 768]],
7916: [[431, 777]],
7917: [[432, 777]],
7918: [[431, 771]],
7919: [[432, 771]],
7920: [[431, 803]],
7921: [[432, 803]],
7922: [[89, 768]],
7923: [[121, 768]],
7924: [[89, 803]],
7925: [[121, 803]],
7926: [[89, 777]],
7927: [[121, 777]],
7928: [[89, 771]],
7929: [[121, 771]]
},
7936: {
7936: [[945, 787], , { 768: 7938, 769: 7940, 834: 7942, 837: 8064 }],
7937: [[945, 788], , { 768: 7939, 769: 7941, 834: 7943, 837: 8065 }],
7938: [[7936, 768], , { 837: 8066 }],
7939: [[7937, 768], , { 837: 8067 }],
7940: [[7936, 769], , { 837: 8068 }],
7941: [[7937, 769], , { 837: 8069 }],
7942: [[7936, 834], , { 837: 8070 }],
7943: [[7937, 834], , { 837: 8071 }],
7944: [[913, 787], , { 768: 7946, 769: 7948, 834: 7950, 837: 8072 }],
7945: [[913, 788], , { 768: 7947, 769: 7949, 834: 7951, 837: 8073 }],
7946: [[7944, 768], , { 837: 8074 }],
7947: [[7945, 768], , { 837: 8075 }],
7948: [[7944, 769], , { 837: 8076 }],
7949: [[7945, 769], , { 837: 8077 }],
7950: [[7944, 834], , { 837: 8078 }],
7951: [[7945, 834], , { 837: 8079 }],
7952: [[949, 787], , { 768: 7954, 769: 7956 }],
7953: [[949, 788], , { 768: 7955, 769: 7957 }],
7954: [[7952, 768]],
7955: [[7953, 768]],
7956: [[7952, 769]],
7957: [[7953, 769]],
7960: [[917, 787], , { 768: 7962, 769: 7964 }],
7961: [[917, 788], , { 768: 7963, 769: 7965 }],
7962: [[7960, 768]],
7963: [[7961, 768]],
7964: [[7960, 769]],
7965: [[7961, 769]],
7968: [[951, 787], , { 768: 7970, 769: 7972, 834: 7974, 837: 8080 }],
7969: [[951, 788], , { 768: 7971, 769: 7973, 834: 7975, 837: 8081 }],
7970: [[7968, 768], , { 837: 8082 }],
7971: [[7969, 768], , { 837: 8083 }],
7972: [[7968, 769], , { 837: 8084 }],
7973: [[7969, 769], , { 837: 8085 }],
7974: [[7968, 834], , { 837: 8086 }],
7975: [[7969, 834], , { 837: 8087 }],
7976: [[919, 787], , { 768: 7978, 769: 7980, 834: 7982, 837: 8088 }],
7977: [[919, 788], , { 768: 7979, 769: 7981, 834: 7983, 837: 8089 }],
7978: [[7976, 768], , { 837: 8090 }],
7979: [[7977, 768], , { 837: 8091 }],
7980: [[7976, 769], , { 837: 8092 }],
7981: [[7977, 769], , { 837: 8093 }],
7982: [[7976, 834], , { 837: 8094 }],
7983: [[7977, 834], , { 837: 8095 }],
7984: [[953, 787], , { 768: 7986, 769: 7988, 834: 7990 }],
7985: [[953, 788], , { 768: 7987, 769: 7989, 834: 7991 }],
7986: [[7984, 768]],
7987: [[7985, 768]],
7988: [[7984, 769]],
7989: [[7985, 769]],
7990: [[7984, 834]],
7991: [[7985, 834]],
7992: [[921, 787], , { 768: 7994, 769: 7996, 834: 7998 }],
7993: [[921, 788], , { 768: 7995, 769: 7997, 834: 7999 }],
7994: [[7992, 768]],
7995: [[7993, 768]],
7996: [[7992, 769]],
7997: [[7993, 769]],
7998: [[7992, 834]],
7999: [[7993, 834]],
8000: [[959, 787], , { 768: 8002, 769: 8004 }],
8001: [[959, 788], , { 768: 8003, 769: 8005 }],
8002: [[8000, 768]],
8003: [[8001, 768]],
8004: [[8000, 769]],
8005: [[8001, 769]],
8008: [[927, 787], , { 768: 8010, 769: 8012 }],
8009: [[927, 788], , { 768: 8011, 769: 8013 }],
8010: [[8008, 768]],
8011: [[8009, 768]],
8012: [[8008, 769]],
8013: [[8009, 769]],
8016: [[965, 787], , { 768: 8018, 769: 8020, 834: 8022 }],
8017: [[965, 788], , { 768: 8019, 769: 8021, 834: 8023 }],
8018: [[8016, 768]],
8019: [[8017, 768]],
8020: [[8016, 769]],
8021: [[8017, 769]],
8022: [[8016, 834]],
8023: [[8017, 834]],
8025: [[933, 788], , { 768: 8027, 769: 8029, 834: 8031 }],
8027: [[8025, 768]],
8029: [[8025, 769]],
8031: [[8025, 834]],
8032: [[969, 787], , { 768: 8034, 769: 8036, 834: 8038, 837: 8096 }],
8033: [[969, 788], , { 768: 8035, 769: 8037, 834: 8039, 837: 8097 }],
8034: [[8032, 768], , { 837: 8098 }],
8035: [[8033, 768], , { 837: 8099 }],
8036: [[8032, 769], , { 837: 8100 }],
8037: [[8033, 769], , { 837: 8101 }],
8038: [[8032, 834], , { 837: 8102 }],
8039: [[8033, 834], , { 837: 8103 }],
8040: [[937, 787], , { 768: 8042, 769: 8044, 834: 8046, 837: 8104 }],
8041: [[937, 788], , { 768: 8043, 769: 8045, 834: 8047, 837: 8105 }],
8042: [[8040, 768], , { 837: 8106 }],
8043: [[8041, 768], , { 837: 8107 }],
8044: [[8040, 769], , { 837: 8108 }],
8045: [[8041, 769], , { 837: 8109 }],
8046: [[8040, 834], , { 837: 8110 }],
8047: [[8041, 834], , { 837: 8111 }],
8048: [[945, 768], , { 837: 8114 }],
8049: [[940]],
8050: [[949, 768]],
8051: [[941]],
8052: [[951, 768], , { 837: 8130 }],
8053: [[942]],
8054: [[953, 768]],
8055: [[943]],
8056: [[959, 768]],
8057: [[972]],
8058: [[965, 768]],
8059: [[973]],
8060: [[969, 768], , { 837: 8178 }],
8061: [[974]],
8064: [[7936, 837]],
8065: [[7937, 837]],
8066: [[7938, 837]],
8067: [[7939, 837]],
8068: [[7940, 837]],
8069: [[7941, 837]],
8070: [[7942, 837]],
8071: [[7943, 837]],
8072: [[7944, 837]],
8073: [[7945, 837]],
8074: [[7946, 837]],
8075: [[7947, 837]],
8076: [[7948, 837]],
8077: [[7949, 837]],
8078: [[7950, 837]],
8079: [[7951, 837]],
8080: [[7968, 837]],
8081: [[7969, 837]],
8082: [[7970, 837]],
8083: [[7971, 837]],
8084: [[7972, 837]],
8085: [[7973, 837]],
8086: [[7974, 837]],
8087: [[7975, 837]],
8088: [[7976, 837]],
8089: [[7977, 837]],
8090: [[7978, 837]],
8091: [[7979, 837]],
8092: [[7980, 837]],
8093: [[7981, 837]],
8094: [[7982, 837]],
8095: [[7983, 837]],
8096: [[8032, 837]],
8097: [[8033, 837]],
8098: [[8034, 837]],
8099: [[8035, 837]],
8100: [[8036, 837]],
8101: [[8037, 837]],
8102: [[8038, 837]],
8103: [[8039, 837]],
8104: [[8040, 837]],
8105: [[8041, 837]],
8106: [[8042, 837]],
8107: [[8043, 837]],
8108: [[8044, 837]],
8109: [[8045, 837]],
8110: [[8046, 837]],
8111: [[8047, 837]],
8112: [[945, 774]],
8113: [[945, 772]],
8114: [[8048, 837]],
8115: [[945, 837]],
8116: [[940, 837]],
8118: [[945, 834], , { 837: 8119 }],
8119: [[8118, 837]],
8120: [[913, 774]],
8121: [[913, 772]],
8122: [[913, 768]],
8123: [[902]],
8124: [[913, 837]],
8125: [[32, 787], 256],
8126: [[953]],
8127: [[32, 787], 256, { 768: 8141, 769: 8142, 834: 8143 }],
8128: [[32, 834], 256],
8129: [[168, 834]],
8130: [[8052, 837]],
8131: [[951, 837]],
8132: [[942, 837]],
8134: [[951, 834], , { 837: 8135 }],
8135: [[8134, 837]],
8136: [[917, 768]],
8137: [[904]],
8138: [[919, 768]],
8139: [[905]],
8140: [[919, 837]],
8141: [[8127, 768]],
8142: [[8127, 769]],
8143: [[8127, 834]],
8144: [[953, 774]],
8145: [[953, 772]],
8146: [[970, 768]],
8147: [[912]],
8150: [[953, 834]],
8151: [[970, 834]],
8152: [[921, 774]],
8153: [[921, 772]],
8154: [[921, 768]],
8155: [[906]],
8157: [[8190, 768]],
8158: [[8190, 769]],
8159: [[8190, 834]],
8160: [[965, 774]],
8161: [[965, 772]],
8162: [[971, 768]],
8163: [[944]],
8164: [[961, 787]],
8165: [[961, 788]],
8166: [[965, 834]],
8167: [[971, 834]],
8168: [[933, 774]],
8169: [[933, 772]],
8170: [[933, 768]],
8171: [[910]],
8172: [[929, 788]],
8173: [[168, 768]],
8174: [[901]],
8175: [[96]],
8178: [[8060, 837]],
8179: [[969, 837]],
8180: [[974, 837]],
8182: [[969, 834], , { 837: 8183 }],
8183: [[8182, 837]],
8184: [[927, 768]],
8185: [[908]],
8186: [[937, 768]],
8187: [[911]],
8188: [[937, 837]],
8189: [[180]],
8190: [[32, 788], 256, { 768: 8157, 769: 8158, 834: 8159 }]
},
8192: {
8192: [[8194]],
8193: [[8195]],
8194: [[32], 256],
8195: [[32], 256],
8196: [[32], 256],
8197: [[32], 256],
8198: [[32], 256],
8199: [[32], 256],
8200: [[32], 256],
8201: [[32], 256],
8202: [[32], 256],
8209: [[8208], 256],
8215: [[32, 819], 256],
8228: [[46], 256],
8229: [[46, 46], 256],
8230: [[46, 46, 46], 256],
8239: [[32], 256],
8243: [[8242, 8242], 256],
8244: [[8242, 8242, 8242], 256],
8246: [[8245, 8245], 256],
8247: [[8245, 8245, 8245], 256],
8252: [[33, 33], 256],
8254: [[32, 773], 256],
8263: [[63, 63], 256],
8264: [[63, 33], 256],
8265: [[33, 63], 256],
8279: [[8242, 8242, 8242, 8242], 256],
8287: [[32], 256],
8304: [[48], 256],
8305: [[105], 256],
8308: [[52], 256],
8309: [[53], 256],
8310: [[54], 256],
8311: [[55], 256],
8312: [[56], 256],
8313: [[57], 256],
8314: [[43], 256],
8315: [[8722], 256],
8316: [[61], 256],
8317: [[40], 256],
8318: [[41], 256],
8319: [[110], 256],
8320: [[48], 256],
8321: [[49], 256],
8322: [[50], 256],
8323: [[51], 256],
8324: [[52], 256],
8325: [[53], 256],
8326: [[54], 256],
8327: [[55], 256],
8328: [[56], 256],
8329: [[57], 256],
8330: [[43], 256],
8331: [[8722], 256],
8332: [[61], 256],
8333: [[40], 256],
8334: [[41], 256],
8336: [[97], 256],
8337: [[101], 256],
8338: [[111], 256],
8339: [[120], 256],
8340: [[601], 256],
8341: [[104], 256],
8342: [[107], 256],
8343: [[108], 256],
8344: [[109], 256],
8345: [[110], 256],
8346: [[112], 256],
8347: [[115], 256],
8348: [[116], 256],
8360: [[82, 115], 256],
8400: [, 230],
8401: [, 230],
8402: [, 1],
8403: [, 1],
8404: [, 230],
8405: [, 230],
8406: [, 230],
8407: [, 230],
8408: [, 1],
8409: [, 1],
8410: [, 1],
8411: [, 230],
8412: [, 230],
8417: [, 230],
8421: [, 1],
8422: [, 1],
8423: [, 230],
8424: [, 220],
8425: [, 230],
8426: [, 1],
8427: [, 1],
8428: [, 220],
8429: [, 220],
8430: [, 220],
8431: [, 220],
8432: [, 230]
},
8448: {
8448: [[97, 47, 99], 256],
8449: [[97, 47, 115], 256],
8450: [[67], 256],
8451: [[176, 67], 256],
8453: [[99, 47, 111], 256],
8454: [[99, 47, 117], 256],
8455: [[400], 256],
8457: [[176, 70], 256],
8458: [[103], 256],
8459: [[72], 256],
8460: [[72], 256],
8461: [[72], 256],
8462: [[104], 256],
8463: [[295], 256],
8464: [[73], 256],
8465: [[73], 256],
8466: [[76], 256],
8467: [[108], 256],
8469: [[78], 256],
8470: [[78, 111], 256],
8473: [[80], 256],
8474: [[81], 256],
8475: [[82], 256],
8476: [[82], 256],
8477: [[82], 256],
8480: [[83, 77], 256],
8481: [[84, 69, 76], 256],
8482: [[84, 77], 256],
8484: [[90], 256],
8486: [[937]],
8488: [[90], 256],
8490: [[75]],
8491: [[197]],
8492: [[66], 256],
8493: [[67], 256],
8495: [[101], 256],
8496: [[69], 256],
8497: [[70], 256],
8499: [[77], 256],
8500: [[111], 256],
8501: [[1488], 256],
8502: [[1489], 256],
8503: [[1490], 256],
8504: [[1491], 256],
8505: [[105], 256],
8507: [[70, 65, 88], 256],
8508: [[960], 256],
8509: [[947], 256],
8510: [[915], 256],
8511: [[928], 256],
8512: [[8721], 256],
8517: [[68], 256],
8518: [[100], 256],
8519: [[101], 256],
8520: [[105], 256],
8521: [[106], 256],
8528: [[49, 8260, 55], 256],
8529: [[49, 8260, 57], 256],
8530: [[49, 8260, 49, 48], 256],
8531: [[49, 8260, 51], 256],
8532: [[50, 8260, 51], 256],
8533: [[49, 8260, 53], 256],
8534: [[50, 8260, 53], 256],
8535: [[51, 8260, 53], 256],
8536: [[52, 8260, 53], 256],
8537: [[49, 8260, 54], 256],
8538: [[53, 8260, 54], 256],
8539: [[49, 8260, 56], 256],
8540: [[51, 8260, 56], 256],
8541: [[53, 8260, 56], 256],
8542: [[55, 8260, 56], 256],
8543: [[49, 8260], 256],
8544: [[73], 256],
8545: [[73, 73], 256],
8546: [[73, 73, 73], 256],
8547: [[73, 86], 256],
8548: [[86], 256],
8549: [[86, 73], 256],
8550: [[86, 73, 73], 256],
8551: [[86, 73, 73, 73], 256],
8552: [[73, 88], 256],
8553: [[88], 256],
8554: [[88, 73], 256],
8555: [[88, 73, 73], 256],
8556: [[76], 256],
8557: [[67], 256],
8558: [[68], 256],
8559: [[77], 256],
8560: [[105], 256],
8561: [[105, 105], 256],
8562: [[105, 105, 105], 256],
8563: [[105, 118], 256],
8564: [[118], 256],
8565: [[118, 105], 256],
8566: [[118, 105, 105], 256],
8567: [[118, 105, 105, 105], 256],
8568: [[105, 120], 256],
8569: [[120], 256],
8570: [[120, 105], 256],
8571: [[120, 105, 105], 256],
8572: [[108], 256],
8573: [[99], 256],
8574: [[100], 256],
8575: [[109], 256],
8585: [[48, 8260, 51], 256],
8592: [, , { 824: 8602 }],
8594: [, , { 824: 8603 }],
8596: [, , { 824: 8622 }],
8602: [[8592, 824]],
8603: [[8594, 824]],
8622: [[8596, 824]],
8653: [[8656, 824]],
8654: [[8660, 824]],
8655: [[8658, 824]],
8656: [, , { 824: 8653 }],
8658: [, , { 824: 8655 }],
8660: [, , { 824: 8654 }]
},
8704: {
8707: [, , { 824: 8708 }],
8708: [[8707, 824]],
8712: [, , { 824: 8713 }],
8713: [[8712, 824]],
8715: [, , { 824: 8716 }],
8716: [[8715, 824]],
8739: [, , { 824: 8740 }],
8740: [[8739, 824]],
8741: [, , { 824: 8742 }],
8742: [[8741, 824]],
8748: [[8747, 8747], 256],
8749: [[8747, 8747, 8747], 256],
8751: [[8750, 8750], 256],
8752: [[8750, 8750, 8750], 256],
8764: [, , { 824: 8769 }],
8769: [[8764, 824]],
8771: [, , { 824: 8772 }],
8772: [[8771, 824]],
8773: [, , { 824: 8775 }],
8775: [[8773, 824]],
8776: [, , { 824: 8777 }],
8777: [[8776, 824]],
8781: [, , { 824: 8813 }],
8800: [[61, 824]],
8801: [, , { 824: 8802 }],
8802: [[8801, 824]],
8804: [, , { 824: 8816 }],
8805: [, , { 824: 8817 }],
8813: [[8781, 824]],
8814: [[60, 824]],
8815: [[62, 824]],
8816: [[8804, 824]],
8817: [[8805, 824]],
8818: [, , { 824: 8820 }],
8819: [, , { 824: 8821 }],
8820: [[8818, 824]],
8821: [[8819, 824]],
8822: [, , { 824: 8824 }],
8823: [, , { 824: 8825 }],
8824: [[8822, 824]],
8825: [[8823, 824]],
8826: [, , { 824: 8832 }],
8827: [, , { 824: 8833 }],
8828: [, , { 824: 8928 }],
8829: [, , { 824: 8929 }],
8832: [[8826, 824]],
8833: [[8827, 824]],
8834: [, , { 824: 8836 }],
8835: [, , { 824: 8837 }],
8836: [[8834, 824]],
8837: [[8835, 824]],
8838: [, , { 824: 8840 }],
8839: [, , { 824: 8841 }],
8840: [[8838, 824]],
8841: [[8839, 824]],
8849: [, , { 824: 8930 }],
8850: [, , { 824: 8931 }],
8866: [, , { 824: 8876 }],
8872: [, , { 824: 8877 }],
8873: [, , { 824: 8878 }],
8875: [, , { 824: 8879 }],
8876: [[8866, 824]],
8877: [[8872, 824]],
8878: [[8873, 824]],
8879: [[8875, 824]],
8882: [, , { 824: 8938 }],
8883: [, , { 824: 8939 }],
8884: [, , { 824: 8940 }],
8885: [, , { 824: 8941 }],
8928: [[8828, 824]],
8929: [[8829, 824]],
8930: [[8849, 824]],
8931: [[8850, 824]],
8938: [[8882, 824]],
8939: [[8883, 824]],
8940: [[8884, 824]],
8941: [[8885, 824]]
},
8960: { 9001: [[12296]], 9002: [[12297]] },
9216: {
9312: [[49], 256],
9313: [[50], 256],
9314: [[51], 256],
9315: [[52], 256],
9316: [[53], 256],
9317: [[54], 256],
9318: [[55], 256],
9319: [[56], 256],
9320: [[57], 256],
9321: [[49, 48], 256],
9322: [[49, 49], 256],
9323: [[49, 50], 256],
9324: [[49, 51], 256],
9325: [[49, 52], 256],
9326: [[49, 53], 256],
9327: [[49, 54], 256],
9328: [[49, 55], 256],
9329: [[49, 56], 256],
9330: [[49, 57], 256],
9331: [[50, 48], 256],
9332: [[40, 49, 41], 256],
9333: [[40, 50, 41], 256],
9334: [[40, 51, 41], 256],
9335: [[40, 52, 41], 256],
9336: [[40, 53, 41], 256],
9337: [[40, 54, 41], 256],
9338: [[40, 55, 41], 256],
9339: [[40, 56, 41], 256],
9340: [[40, 57, 41], 256],
9341: [[40, 49, 48, 41], 256],
9342: [[40, 49, 49, 41], 256],
9343: [[40, 49, 50, 41], 256],
9344: [[40, 49, 51, 41], 256],
9345: [[40, 49, 52, 41], 256],
9346: [[40, 49, 53, 41], 256],
9347: [[40, 49, 54, 41], 256],
9348: [[40, 49, 55, 41], 256],
9349: [[40, 49, 56, 41], 256],
9350: [[40, 49, 57, 41], 256],
9351: [[40, 50, 48, 41], 256],
9352: [[49, 46], 256],
9353: [[50, 46], 256],
9354: [[51, 46], 256],
9355: [[52, 46], 256],
9356: [[53, 46], 256],
9357: [[54, 46], 256],
9358: [[55, 46], 256],
9359: [[56, 46], 256],
9360: [[57, 46], 256],
9361: [[49, 48, 46], 256],
9362: [[49, 49, 46], 256],
9363: [[49, 50, 46], 256],
9364: [[49, 51, 46], 256],
9365: [[49, 52, 46], 256],
9366: [[49, 53, 46], 256],
9367: [[49, 54, 46], 256],
9368: [[49, 55, 46], 256],
9369: [[49, 56, 46], 256],
9370: [[49, 57, 46], 256],
9371: [[50, 48, 46], 256],
9372: [[40, 97, 41], 256],
9373: [[40, 98, 41], 256],
9374: [[40, 99, 41], 256],
9375: [[40, 100, 41], 256],
9376: [[40, 101, 41], 256],
9377: [[40, 102, 41], 256],
9378: [[40, 103, 41], 256],
9379: [[40, 104, 41], 256],
9380: [[40, 105, 41], 256],
9381: [[40, 106, 41], 256],
9382: [[40, 107, 41], 256],
9383: [[40, 108, 41], 256],
9384: [[40, 109, 41], 256],
9385: [[40, 110, 41], 256],
9386: [[40, 111, 41], 256],
9387: [[40, 112, 41], 256],
9388: [[40, 113, 41], 256],
9389: [[40, 114, 41], 256],
9390: [[40, 115, 41], 256],
9391: [[40, 116, 41], 256],
9392: [[40, 117, 41], 256],
9393: [[40, 118, 41], 256],
9394: [[40, 119, 41], 256],
9395: [[40, 120, 41], 256],
9396: [[40, 121, 41], 256],
9397: [[40, 122, 41], 256],
9398: [[65], 256],
9399: [[66], 256],
9400: [[67], 256],
9401: [[68], 256],
9402: [[69], 256],
9403: [[70], 256],
9404: [[71], 256],
9405: [[72], 256],
9406: [[73], 256],
9407: [[74], 256],
9408: [[75], 256],
9409: [[76], 256],
9410: [[77], 256],
9411: [[78], 256],
9412: [[79], 256],
9413: [[80], 256],
9414: [[81], 256],
9415: [[82], 256],
9416: [[83], 256],
9417: [[84], 256],
9418: [[85], 256],
9419: [[86], 256],
9420: [[87], 256],
9421: [[88], 256],
9422: [[89], 256],
9423: [[90], 256],
9424: [[97], 256],
9425: [[98], 256],
9426: [[99], 256],
9427: [[100], 256],
9428: [[101], 256],
9429: [[102], 256],
9430: [[103], 256],
9431: [[104], 256],
9432: [[105], 256],
9433: [[106], 256],
9434: [[107], 256],
9435: [[108], 256],
9436: [[109], 256],
9437: [[110], 256],
9438: [[111], 256],
9439: [[112], 256],
9440: [[113], 256],
9441: [[114], 256],
9442: [[115], 256],
9443: [[116], 256],
9444: [[117], 256],
9445: [[118], 256],
9446: [[119], 256],
9447: [[120], 256],
9448: [[121], 256],
9449: [[122], 256],
9450: [[48], 256]
},
10752: {
10764: [[8747, 8747, 8747, 8747], 256],
10868: [[58, 58, 61], 256],
10869: [[61, 61], 256],
10870: [[61, 61, 61], 256],
10972: [[10973, 824], 512]
},
11264: {
11388: [[106], 256],
11389: [[86], 256],
11503: [, 230],
11504: [, 230],
11505: [, 230]
},
11520: {
11631: [[11617], 256],
11647: [, 9],
11744: [, 230],
11745: [, 230],
11746: [, 230],
11747: [, 230],
11748: [, 230],
11749: [, 230],
11750: [, 230],
11751: [, 230],
11752: [, 230],
11753: [, 230],
11754: [, 230],
11755: [, 230],
11756: [, 230],
11757: [, 230],
11758: [, 230],
11759: [, 230],
11760: [, 230],
11761: [, 230],
11762: [, 230],
11763: [, 230],
11764: [, 230],
11765: [, 230],
11766: [, 230],
11767: [, 230],
11768: [, 230],
11769: [, 230],
11770: [, 230],
11771: [, 230],
11772: [, 230],
11773: [, 230],
11774: [, 230],
11775: [, 230]
},
11776: { 11935: [[27597], 256], 12019: [[40863], 256] },
12032: {
12032: [[19968], 256],
12033: [[20008], 256],
12034: [[20022], 256],
12035: [[20031], 256],
12036: [[20057], 256],
12037: [[20101], 256],
12038: [[20108], 256],
12039: [[20128], 256],
12040: [[20154], 256],
12041: [[20799], 256],
12042: [[20837], 256],
12043: [[20843], 256],
12044: [[20866], 256],
12045: [[20886], 256],
12046: [[20907], 256],
12047: [[20960], 256],
12048: [[20981], 256],
12049: [[20992], 256],
12050: [[21147], 256],
12051: [[21241], 256],
12052: [[21269], 256],
12053: [[21274], 256],
12054: [[21304], 256],
12055: [[21313], 256],
12056: [[21340], 256],
12057: [[21353], 256],
12058: [[21378], 256],
12059: [[21430], 256],
12060: [[21448], 256],
12061: [[21475], 256],
12062: [[22231], 256],
12063: [[22303], 256],
12064: [[22763], 256],
12065: [[22786], 256],
12066: [[22794], 256],
12067: [[22805], 256],
12068: [[22823], 256],
12069: [[22899], 256],
12070: [[23376], 256],
12071: [[23424], 256],
12072: [[23544], 256],
12073: [[23567], 256],
12074: [[23586], 256],
12075: [[23608], 256],
12076: [[23662], 256],
12077: [[23665], 256],
12078: [[24027], 256],
12079: [[24037], 256],
12080: [[24049], 256],
12081: [[24062], 256],
12082: [[24178], 256],
12083: [[24186], 256],
12084: [[24191], 256],
12085: [[24308], 256],
12086: [[24318], 256],
12087: [[24331], 256],
12088: [[24339], 256],
12089: [[24400], 256],
12090: [[24417], 256],
12091: [[24435], 256],
12092: [[24515], 256],
12093: [[25096], 256],
12094: [[25142], 256],
12095: [[25163], 256],
12096: [[25903], 256],
12097: [[25908], 256],
12098: [[25991], 256],
12099: [[26007], 256],
12100: [[26020], 256],
12101: [[26041], 256],
12102: [[26080], 256],
12103: [[26085], 256],
12104: [[26352], 256],
12105: [[26376], 256],
12106: [[26408], 256],
12107: [[27424], 256],
12108: [[27490], 256],
12109: [[27513], 256],
12110: [[27571], 256],
12111: [[27595], 256],
12112: [[27604], 256],
12113: [[27611], 256],
12114: [[27663], 256],
12115: [[27668], 256],
12116: [[27700], 256],
12117: [[28779], 256],
12118: [[29226], 256],
12119: [[29238], 256],
12120: [[29243], 256],
12121: [[29247], 256],
12122: [[29255], 256],
12123: [[29273], 256],
12124: [[29275], 256],
12125: [[29356], 256],
12126: [[29572], 256],
12127: [[29577], 256],
12128: [[29916], 256],
12129: [[29926], 256],
12130: [[29976], 256],
12131: [[29983], 256],
12132: [[29992], 256],
12133: [[30000], 256],
12134: [[30091], 256],
12135: [[30098], 256],
12136: [[30326], 256],
12137: [[30333], 256],
12138: [[30382], 256],
12139: [[30399], 256],
12140: [[30446], 256],
12141: [[30683], 256],
12142: [[30690], 256],
12143: [[30707], 256],
12144: [[31034], 256],
12145: [[31160], 256],
12146: [[31166], 256],
12147: [[31348], 256],
12148: [[31435], 256],
12149: [[31481], 256],
12150: [[31859], 256],
12151: [[31992], 256],
12152: [[32566], 256],
12153: [[32593], 256],
12154: [[32650], 256],
12155: [[32701], 256],
12156: [[32769], 256],
12157: [[32780], 256],
12158: [[32786], 256],
12159: [[32819], 256],
12160: [[32895], 256],
12161: [[32905], 256],
12162: [[33251], 256],
12163: [[33258], 256],
12164: [[33267], 256],
12165: [[33276], 256],
12166: [[33292], 256],
12167: [[33307], 256],
12168: [[33311], 256],
12169: [[33390], 256],
12170: [[33394], 256],
12171: [[33400], 256],
12172: [[34381], 256],
12173: [[34411], 256],
12174: [[34880], 256],
12175: [[34892], 256],
12176: [[34915], 256],
12177: [[35198], 256],
12178: [[35211], 256],
12179: [[35282], 256],
12180: [[35328], 256],
12181: [[35895], 256],
12182: [[35910], 256],
12183: [[35925], 256],
12184: [[35960], 256],
12185: [[35997], 256],
12186: [[36196], 256],
12187: [[36208], 256],
12188: [[36275], 256],
12189: [[36523], 256],
12190: [[36554], 256],
12191: [[36763], 256],
12192: [[36784], 256],
12193: [[36789], 256],
12194: [[37009], 256],
12195: [[37193], 256],
12196: [[37318], 256],
12197: [[37324], 256],
12198: [[37329], 256],
12199: [[38263], 256],
12200: [[38272], 256],
12201: [[38428], 256],
12202: [[38582], 256],
12203: [[38585], 256],
12204: [[38632], 256],
12205: [[38737], 256],
12206: [[38750], 256],
12207: [[38754], 256],
12208: [[38761], 256],
12209: [[38859], 256],
12210: [[38893], 256],
12211: [[38899], 256],
12212: [[38913], 256],
12213: [[39080], 256],
12214: [[39131], 256],
12215: [[39135], 256],
12216: [[39318], 256],
12217: [[39321], 256],
12218: [[39340], 256],
12219: [[39592], 256],
12220: [[39640], 256],
12221: [[39647], 256],
12222: [[39717], 256],
12223: [[39727], 256],
12224: [[39730], 256],
12225: [[39740], 256],
12226: [[39770], 256],
12227: [[40165], 256],
12228: [[40565], 256],
12229: [[40575], 256],
12230: [[40613], 256],
12231: [[40635], 256],
12232: [[40643], 256],
12233: [[40653], 256],
12234: [[40657], 256],
12235: [[40697], 256],
12236: [[40701], 256],
12237: [[40718], 256],
12238: [[40723], 256],
12239: [[40736], 256],
12240: [[40763], 256],
12241: [[40778], 256],
12242: [[40786], 256],
12243: [[40845], 256],
12244: [[40860], 256],
12245: [[40864], 256]
},
12288: {
12288: [[32], 256],
12330: [, 218],
12331: [, 228],
12332: [, 232],
12333: [, 222],
12334: [, 224],
12335: [, 224],
12342: [[12306], 256],
12344: [[21313], 256],
12345: [[21316], 256],
12346: [[21317], 256],
12358: [, , { 12441: 12436 }],
12363: [, , { 12441: 12364 }],
12364: [[12363, 12441]],
12365: [, , { 12441: 12366 }],
12366: [[12365, 12441]],
12367: [, , { 12441: 12368 }],
12368: [[12367, 12441]],
12369: [, , { 12441: 12370 }],
12370: [[12369, 12441]],
12371: [, , { 12441: 12372 }],
12372: [[12371, 12441]],
12373: [, , { 12441: 12374 }],
12374: [[12373, 12441]],
12375: [, , { 12441: 12376 }],
12376: [[12375, 12441]],
12377: [, , { 12441: 12378 }],
12378: [[12377, 12441]],
12379: [, , { 12441: 12380 }],
12380: [[12379, 12441]],
12381: [, , { 12441: 12382 }],
12382: [[12381, 12441]],
12383: [, , { 12441: 12384 }],
12384: [[12383, 12441]],
12385: [, , { 12441: 12386 }],
12386: [[12385, 12441]],
12388: [, , { 12441: 12389 }],
12389: [[12388, 12441]],
12390: [, , { 12441: 12391 }],
12391: [[12390, 12441]],
12392: [, , { 12441: 12393 }],
12393: [[12392, 12441]],
12399: [, , { 12441: 12400, 12442: 12401 }],
12400: [[12399, 12441]],
12401: [[12399, 12442]],
12402: [, , { 12441: 12403, 12442: 12404 }],
12403: [[12402, 12441]],
12404: [[12402, 12442]],
12405: [, , { 12441: 12406, 12442: 12407 }],
12406: [[12405, 12441]],
12407: [[12405, 12442]],
12408: [, , { 12441: 12409, 12442: 12410 }],
12409: [[12408, 12441]],
12410: [[12408, 12442]],
12411: [, , { 12441: 12412, 12442: 12413 }],
12412: [[12411, 12441]],
12413: [[12411, 12442]],
12436: [[12358, 12441]],
12441: [, 8],
12442: [, 8],
12443: [[32, 12441], 256],
12444: [[32, 12442], 256],
12445: [, , { 12441: 12446 }],
12446: [[12445, 12441]],
12447: [[12424, 12426], 256],
12454: [, , { 12441: 12532 }],
12459: [, , { 12441: 12460 }],
12460: [[12459, 12441]],
12461: [, , { 12441: 12462 }],
12462: [[12461, 12441]],
12463: [, , { 12441: 12464 }],
12464: [[12463, 12441]],
12465: [, , { 12441: 12466 }],
12466: [[12465, 12441]],
12467: [, , { 12441: 12468 }],
12468: [[12467, 12441]],
12469: [, , { 12441: 12470 }],
12470: [[12469, 12441]],
12471: [, , { 12441: 12472 }],
12472: [[12471, 12441]],
12473: [, , { 12441: 12474 }],
12474: [[12473, 12441]],
12475: [, , { 12441: 12476 }],
12476: [[12475, 12441]],
12477: [, , { 12441: 12478 }],
12478: [[12477, 12441]],
12479: [, , { 12441: 12480 }],
12480: [[12479, 12441]],
12481: [, , { 12441: 12482 }],
12482: [[12481, 12441]],
12484: [, , { 12441: 12485 }],
12485: [[12484, 12441]],
12486: [, , { 12441: 12487 }],
12487: [[12486, 12441]],
12488: [, , { 12441: 12489 }],
12489: [[12488, 12441]],
12495: [, , { 12441: 12496, 12442: 12497 }],
12496: [[12495, 12441]],
12497: [[12495, 12442]],
12498: [, , { 12441: 12499, 12442: 12500 }],
12499: [[12498, 12441]],
12500: [[12498, 12442]],
12501: [, , { 12441: 12502, 12442: 12503 }],
12502: [[12501, 12441]],
12503: [[12501, 12442]],
12504: [, , { 12441: 12505, 12442: 12506 }],
12505: [[12504, 12441]],
12506: [[12504, 12442]],
12507: [, , { 12441: 12508, 12442: 12509 }],
12508: [[12507, 12441]],
12509: [[12507, 12442]],
12527: [, , { 12441: 12535 }],
12528: [, , { 12441: 12536 }],
12529: [, , { 12441: 12537 }],
12530: [, , { 12441: 12538 }],
12532: [[12454, 12441]],
12535: [[12527, 12441]],
12536: [[12528, 12441]],
12537: [[12529, 12441]],
12538: [[12530, 12441]],
12541: [, , { 12441: 12542 }],
12542: [[12541, 12441]],
12543: [[12467, 12488], 256]
},
12544: {
12593: [[4352], 256],
12594: [[4353], 256],
12595: [[4522], 256],
12596: [[4354], 256],
12597: [[4524], 256],
12598: [[4525], 256],
12599: [[4355], 256],
12600: [[4356], 256],
12601: [[4357], 256],
12602: [[4528], 256],
12603: [[4529], 256],
12604: [[4530], 256],
12605: [[4531], 256],
12606: [[4532], 256],
12607: [[4533], 256],
12608: [[4378], 256],
12609: [[4358], 256],
12610: [[4359], 256],
12611: [[4360], 256],
12612: [[4385], 256],
12613: [[4361], 256],
12614: [[4362], 256],
12615: [[4363], 256],
12616: [[4364], 256],
12617: [[4365], 256],
12618: [[4366], 256],
12619: [[4367], 256],
12620: [[4368], 256],
12621: [[4369], 256],
12622: [[4370], 256],
12623: [[4449], 256],
12624: [[4450], 256],
12625: [[4451], 256],
12626: [[4452], 256],
12627: [[4453], 256],
12628: [[4454], 256],
12629: [[4455], 256],
12630: [[4456], 256],
12631: [[4457], 256],
12632: [[4458], 256],
12633: [[4459], 256],
12634: [[4460], 256],
12635: [[4461], 256],
12636: [[4462], 256],
12637: [[4463], 256],
12638: [[4464], 256],
12639: [[4465], 256],
12640: [[4466], 256],
12641: [[4467], 256],
12642: [[4468], 256],
12643: [[4469], 256],
12644: [[4448], 256],
12645: [[4372], 256],
12646: [[4373], 256],
12647: [[4551], 256],
12648: [[4552], 256],
12649: [[4556], 256],
12650: [[4558], 256],
12651: [[4563], 256],
12652: [[4567], 256],
12653: [[4569], 256],
12654: [[4380], 256],
12655: [[4573], 256],
12656: [[4575], 256],
12657: [[4381], 256],
12658: [[4382], 256],
12659: [[4384], 256],
12660: [[4386], 256],
12661: [[4387], 256],
12662: [[4391], 256],
12663: [[4393], 256],
12664: [[4395], 256],
12665: [[4396], 256],
12666: [[4397], 256],
12667: [[4398], 256],
12668: [[4399], 256],
12669: [[4402], 256],
12670: [[4406], 256],
12671: [[4416], 256],
12672: [[4423], 256],
12673: [[4428], 256],
12674: [[4593], 256],
12675: [[4594], 256],
12676: [[4439], 256],
12677: [[4440], 256],
12678: [[4441], 256],
12679: [[4484], 256],
12680: [[4485], 256],
12681: [[4488], 256],
12682: [[4497], 256],
12683: [[4498], 256],
12684: [[4500], 256],
12685: [[4510], 256],
12686: [[4513], 256],
12690: [[19968], 256],
12691: [[20108], 256],
12692: [[19977], 256],
12693: [[22235], 256],
12694: [[19978], 256],
12695: [[20013], 256],
12696: [[19979], 256],
12697: [[30002], 256],
12698: [[20057], 256],
12699: [[19993], 256],
12700: [[19969], 256],
12701: [[22825], 256],
12702: [[22320], 256],
12703: [[20154], 256]
},
12800: {
12800: [[40, 4352, 41], 256],
12801: [[40, 4354, 41], 256],
12802: [[40, 4355, 41], 256],
12803: [[40, 4357, 41], 256],
12804: [[40, 4358, 41], 256],
12805: [[40, 4359, 41], 256],
12806: [[40, 4361, 41], 256],
12807: [[40, 4363, 41], 256],
12808: [[40, 4364, 41], 256],
12809: [[40, 4366, 41], 256],
12810: [[40, 4367, 41], 256],
12811: [[40, 4368, 41], 256],
12812: [[40, 4369, 41], 256],
12813: [[40, 4370, 41], 256],
12814: [[40, 4352, 4449, 41], 256],
12815: [[40, 4354, 4449, 41], 256],
12816: [[40, 4355, 4449, 41], 256],
12817: [[40, 4357, 4449, 41], 256],
12818: [[40, 4358, 4449, 41], 256],
12819: [[40, 4359, 4449, 41], 256],
12820: [[40, 4361, 4449, 41], 256],
12821: [[40, 4363, 4449, 41], 256],
12822: [[40, 4364, 4449, 41], 256],
12823: [[40, 4366, 4449, 41], 256],
12824: [[40, 4367, 4449, 41], 256],
12825: [[40, 4368, 4449, 41], 256],
12826: [[40, 4369, 4449, 41], 256],
12827: [[40, 4370, 4449, 41], 256],
12828: [[40, 4364, 4462, 41], 256],
12829: [[40, 4363, 4457, 4364, 4453, 4523, 41], 256],
12830: [[40, 4363, 4457, 4370, 4462, 41], 256],
12832: [[40, 19968, 41], 256],
12833: [[40, 20108, 41], 256],
12834: [[40, 19977, 41], 256],
12835: [[40, 22235, 41], 256],
12836: [[40, 20116, 41], 256],
12837: [[40, 20845, 41], 256],
12838: [[40, 19971, 41], 256],
12839: [[40, 20843, 41], 256],
12840: [[40, 20061, 41], 256],
12841: [[40, 21313, 41], 256],
12842: [[40, 26376, 41], 256],
12843: [[40, 28779, 41], 256],
12844: [[40, 27700, 41], 256],
12845: [[40, 26408, 41], 256],
12846: [[40, 37329, 41], 256],
12847: [[40, 22303, 41], 256],
12848: [[40, 26085, 41], 256],
12849: [[40, 26666, 41], 256],
12850: [[40, 26377, 41], 256],
12851: [[40, 31038, 41], 256],
12852: [[40, 21517, 41], 256],
12853: [[40, 29305, 41], 256],
12854: [[40, 36001, 41], 256],
12855: [[40, 31069, 41], 256],
12856: [[40, 21172, 41], 256],
12857: [[40, 20195, 41], 256],
12858: [[40, 21628, 41], 256],
12859: [[40, 23398, 41], 256],
12860: [[40, 30435, 41], 256],
12861: [[40, 20225, 41], 256],
12862: [[40, 36039, 41], 256],
12863: [[40, 21332, 41], 256],
12864: [[40, 31085, 41], 256],
12865: [[40, 20241, 41], 256],
12866: [[40, 33258, 41], 256],
12867: [[40, 33267, 41], 256],
12868: [[21839], 256],
12869: [[24188], 256],
12870: [[25991], 256],
12871: [[31631], 256],
12880: [[80, 84, 69], 256],
12881: [[50, 49], 256],
12882: [[50, 50], 256],
12883: [[50, 51], 256],
12884: [[50, 52], 256],
12885: [[50, 53], 256],
12886: [[50, 54], 256],
12887: [[50, 55], 256],
12888: [[50, 56], 256],
12889: [[50, 57], 256],
12890: [[51, 48], 256],
12891: [[51, 49], 256],
12892: [[51, 50], 256],
12893: [[51, 51], 256],
12894: [[51, 52], 256],
12895: [[51, 53], 256],
12896: [[4352], 256],
12897: [[4354], 256],
12898: [[4355], 256],
12899: [[4357], 256],
12900: [[4358], 256],
12901: [[4359], 256],
12902: [[4361], 256],
12903: [[4363], 256],
12904: [[4364], 256],
12905: [[4366], 256],
12906: [[4367], 256],
12907: [[4368], 256],
12908: [[4369], 256],
12909: [[4370], 256],
12910: [[4352, 4449], 256],
12911: [[4354, 4449], 256],
12912: [[4355, 4449], 256],
12913: [[4357, 4449], 256],
12914: [[4358, 4449], 256],
12915: [[4359, 4449], 256],
12916: [[4361, 4449], 256],
12917: [[4363, 4449], 256],
12918: [[4364, 4449], 256],
12919: [[4366, 4449], 256],
12920: [[4367, 4449], 256],
12921: [[4368, 4449], 256],
12922: [[4369, 4449], 256],
12923: [[4370, 4449], 256],
12924: [[4366, 4449, 4535, 4352, 4457], 256],
12925: [[4364, 4462, 4363, 4468], 256],
12926: [[4363, 4462], 256],
12928: [[19968], 256],
12929: [[20108], 256],
12930: [[19977], 256],
12931: [[22235], 256],
12932: [[20116], 256],
12933: [[20845], 256],
12934: [[19971], 256],
12935: [[20843], 256],
12936: [[20061], 256],
12937: [[21313], 256],
12938: [[26376], 256],
12939: [[28779], 256],
12940: [[27700], 256],
12941: [[26408], 256],
12942: [[37329], 256],
12943: [[22303], 256],
12944: [[26085], 256],
12945: [[26666], 256],
12946: [[26377], 256],
12947: [[31038], 256],
12948: [[21517], 256],
12949: [[29305], 256],
12950: [[36001], 256],
12951: [[31069], 256],
12952: [[21172], 256],
12953: [[31192], 256],
12954: [[30007], 256],
12955: [[22899], 256],
12956: [[36969], 256],
12957: [[20778], 256],
12958: [[21360], 256],
12959: [[27880], 256],
12960: [[38917], 256],
12961: [[20241], 256],
12962: [[20889], 256],
12963: [[27491], 256],
12964: [[19978], 256],
12965: [[20013], 256],
12966: [[19979], 256],
12967: [[24038], 256],
12968: [[21491], 256],
12969: [[21307], 256],
12970: [[23447], 256],
12971: [[23398], 256],
12972: [[30435], 256],
12973: [[20225], 256],
12974: [[36039], 256],
12975: [[21332], 256],
12976: [[22812], 256],
12977: [[51, 54], 256],
12978: [[51, 55], 256],
12979: [[51, 56], 256],
12980: [[51, 57], 256],
12981: [[52, 48], 256],
12982: [[52, 49], 256],
12983: [[52, 50], 256],
12984: [[52, 51], 256],
12985: [[52, 52], 256],
12986: [[52, 53], 256],
12987: [[52, 54], 256],
12988: [[52, 55], 256],
12989: [[52, 56], 256],
12990: [[52, 57], 256],
12991: [[53, 48], 256],
12992: [[49, 26376], 256],
12993: [[50, 26376], 256],
12994: [[51, 26376], 256],
12995: [[52, 26376], 256],
12996: [[53, 26376], 256],
12997: [[54, 26376], 256],
12998: [[55, 26376], 256],
12999: [[56, 26376], 256],
13000: [[57, 26376], 256],
13001: [[49, 48, 26376], 256],
13002: [[49, 49, 26376], 256],
13003: [[49, 50, 26376], 256],
13004: [[72, 103], 256],
13005: [[101, 114, 103], 256],
13006: [[101, 86], 256],
13007: [[76, 84, 68], 256],
13008: [[12450], 256],
13009: [[12452], 256],
13010: [[12454], 256],
13011: [[12456], 256],
13012: [[12458], 256],
13013: [[12459], 256],
13014: [[12461], 256],
13015: [[12463], 256],
13016: [[12465], 256],
13017: [[12467], 256],
13018: [[12469], 256],
13019: [[12471], 256],
13020: [[12473], 256],
13021: [[12475], 256],
13022: [[12477], 256],
13023: [[12479], 256],
13024: [[12481], 256],
13025: [[12484], 256],
13026: [[12486], 256],
13027: [[12488], 256],
13028: [[12490], 256],
13029: [[12491], 256],
13030: [[12492], 256],
13031: [[12493], 256],
13032: [[12494], 256],
13033: [[12495], 256],
13034: [[12498], 256],
13035: [[12501], 256],
13036: [[12504], 256],
13037: [[12507], 256],
13038: [[12510], 256],
13039: [[12511], 256],
13040: [[12512], 256],
13041: [[12513], 256],
13042: [[12514], 256],
13043: [[12516], 256],
13044: [[12518], 256],
13045: [[12520], 256],
13046: [[12521], 256],
13047: [[12522], 256],
13048: [[12523], 256],
13049: [[12524], 256],
13050: [[12525], 256],
13051: [[12527], 256],
13052: [[12528], 256],
13053: [[12529], 256],
13054: [[12530], 256]
},
13056: {
13056: [[12450, 12497, 12540, 12488], 256],
13057: [[12450, 12523, 12501, 12449], 256],
13058: [[12450, 12531, 12506, 12450], 256],
13059: [[12450, 12540, 12523], 256],
13060: [[12452, 12491, 12531, 12464], 256],
13061: [[12452, 12531, 12481], 256],
13062: [[12454, 12457, 12531], 256],
13063: [[12456, 12473, 12463, 12540, 12489], 256],
13064: [[12456, 12540, 12459, 12540], 256],
13065: [[12458, 12531, 12473], 256],
13066: [[12458, 12540, 12512], 256],
13067: [[12459, 12452, 12522], 256],
13068: [[12459, 12521, 12483, 12488], 256],
13069: [[12459, 12525, 12522, 12540], 256],
13070: [[12460, 12525, 12531], 256],
13071: [[12460, 12531, 12510], 256],
13072: [[12462, 12460], 256],
13073: [[12462, 12491, 12540], 256],
13074: [[12461, 12517, 12522, 12540], 256],
13075: [[12462, 12523, 12480, 12540], 256],
13076: [[12461, 12525], 256],
13077: [[12461, 12525, 12464, 12521, 12512], 256],
13078: [[12461, 12525, 12513, 12540, 12488, 12523], 256],
13079: [[12461, 12525, 12527, 12483, 12488], 256],
13080: [[12464, 12521, 12512], 256],
13081: [[12464, 12521, 12512, 12488, 12531], 256],
13082: [[12463, 12523, 12476, 12452, 12525], 256],
13083: [[12463, 12525, 12540, 12493], 256],
13084: [[12465, 12540, 12473], 256],
13085: [[12467, 12523, 12490], 256],
13086: [[12467, 12540, 12509], 256],
13087: [[12469, 12452, 12463, 12523], 256],
13088: [[12469, 12531, 12481, 12540, 12512], 256],
13089: [[12471, 12522, 12531, 12464], 256],
13090: [[12475, 12531, 12481], 256],
13091: [[12475, 12531, 12488], 256],
13092: [[12480, 12540, 12473], 256],
13093: [[12487, 12471], 256],
13094: [[12489, 12523], 256],
13095: [[12488, 12531], 256],
13096: [[12490, 12494], 256],
13097: [[12494, 12483, 12488], 256],
13098: [[12495, 12452, 12484], 256],
13099: [[12497, 12540, 12475, 12531, 12488], 256],
13100: [[12497, 12540, 12484], 256],
13101: [[12496, 12540, 12524, 12523], 256],
13102: [[12500, 12450, 12473, 12488, 12523], 256],
13103: [[12500, 12463, 12523], 256],
13104: [[12500, 12467], 256],
13105: [[12499, 12523], 256],
13106: [[12501, 12449, 12521, 12483, 12489], 256],
13107: [[12501, 12451, 12540, 12488], 256],
13108: [[12502, 12483, 12471, 12455, 12523], 256],
13109: [[12501, 12521, 12531], 256],
13110: [[12504, 12463, 12479, 12540, 12523], 256],
13111: [[12506, 12477], 256],
13112: [[12506, 12491, 12498], 256],
13113: [[12504, 12523, 12484], 256],
13114: [[12506, 12531, 12473], 256],
13115: [[12506, 12540, 12472], 256],
13116: [[12505, 12540, 12479], 256],
13117: [[12509, 12452, 12531, 12488], 256],
13118: [[12508, 12523, 12488], 256],
13119: [[12507, 12531], 256],
13120: [[12509, 12531, 12489], 256],
13121: [[12507, 12540, 12523], 256],
13122: [[12507, 12540, 12531], 256],
13123: [[12510, 12452, 12463, 12525], 256],
13124: [[12510, 12452, 12523], 256],
13125: [[12510, 12483, 12495], 256],
13126: [[12510, 12523, 12463], 256],
13127: [[12510, 12531, 12471, 12519, 12531], 256],
13128: [[12511, 12463, 12525, 12531], 256],
13129: [[12511, 12522], 256],
13130: [[12511, 12522, 12496, 12540, 12523], 256],
13131: [[12513, 12460], 256],
13132: [[12513, 12460, 12488, 12531], 256],
13133: [[12513, 12540, 12488, 12523], 256],
13134: [[12516, 12540, 12489], 256],
13135: [[12516, 12540, 12523], 256],
13136: [[12518, 12450, 12531], 256],
13137: [[12522, 12483, 12488, 12523], 256],
13138: [[12522, 12521], 256],
13139: [[12523, 12500, 12540], 256],
13140: [[12523, 12540, 12502, 12523], 256],
13141: [[12524, 12512], 256],
13142: [[12524, 12531, 12488, 12466, 12531], 256],
13143: [[12527, 12483, 12488], 256],
13144: [[48, 28857], 256],
13145: [[49, 28857], 256],
13146: [[50, 28857], 256],
13147: [[51, 28857], 256],
13148: [[52, 28857], 256],
13149: [[53, 28857], 256],
13150: [[54, 28857], 256],
13151: [[55, 28857], 256],
13152: [[56, 28857], 256],
13153: [[57, 28857], 256],
13154: [[49, 48, 28857], 256],
13155: [[49, 49, 28857], 256],
13156: [[49, 50, 28857], 256],
13157: [[49, 51, 28857], 256],
13158: [[49, 52, 28857], 256],
13159: [[49, 53, 28857], 256],
13160: [[49, 54, 28857], 256],
13161: [[49, 55, 28857], 256],
13162: [[49, 56, 28857], 256],
13163: [[49, 57, 28857], 256],
13164: [[50, 48, 28857], 256],
13165: [[50, 49, 28857], 256],
13166: [[50, 50, 28857], 256],
13167: [[50, 51, 28857], 256],
13168: [[50, 52, 28857], 256],
13169: [[104, 80, 97], 256],
13170: [[100, 97], 256],
13171: [[65, 85], 256],
13172: [[98, 97, 114], 256],
13173: [[111, 86], 256],
13174: [[112, 99], 256],
13175: [[100, 109], 256],
13176: [[100, 109, 178], 256],
13177: [[100, 109, 179], 256],
13178: [[73, 85], 256],
13179: [[24179, 25104], 256],
13180: [[26157, 21644], 256],
13181: [[22823, 27491], 256],
13182: [[26126, 27835], 256],
13183: [[26666, 24335, 20250, 31038], 256],
13184: [[112, 65], 256],
13185: [[110, 65], 256],
13186: [[956, 65], 256],
13187: [[109, 65], 256],
13188: [[107, 65], 256],
13189: [[75, 66], 256],
13190: [[77, 66], 256],
13191: [[71, 66], 256],
13192: [[99, 97, 108], 256],
13193: [[107, 99, 97, 108], 256],
13194: [[112, 70], 256],
13195: [[110, 70], 256],
13196: [[956, 70], 256],
13197: [[956, 103], 256],
13198: [[109, 103], 256],
13199: [[107, 103], 256],
13200: [[72, 122], 256],
13201: [[107, 72, 122], 256],
13202: [[77, 72, 122], 256],
13203: [[71, 72, 122], 256],
13204: [[84, 72, 122], 256],
13205: [[956, 8467], 256],
13206: [[109, 8467], 256],
13207: [[100, 8467], 256],
13208: [[107, 8467], 256],
13209: [[102, 109], 256],
13210: [[110, 109], 256],
13211: [[956, 109], 256],
13212: [[109, 109], 256],
13213: [[99, 109], 256],
13214: [[107, 109], 256],
13215: [[109, 109, 178], 256],
13216: [[99, 109, 178], 256],
13217: [[109, 178], 256],
13218: [[107, 109, 178], 256],
13219: [[109, 109, 179], 256],
13220: [[99, 109, 179], 256],
13221: [[109, 179], 256],
13222: [[107, 109, 179], 256],
13223: [[109, 8725, 115], 256],
13224: [[109, 8725, 115, 178], 256],
13225: [[80, 97], 256],
13226: [[107, 80, 97], 256],
13227: [[77, 80, 97], 256],
13228: [[71, 80, 97], 256],
13229: [[114, 97, 100], 256],
13230: [[114, 97, 100, 8725, 115], 256],
13231: [[114, 97, 100, 8725, 115, 178], 256],
13232: [[112, 115], 256],
13233: [[110, 115], 256],
13234: [[956, 115], 256],
13235: [[109, 115], 256],
13236: [[112, 86], 256],
13237: [[110, 86], 256],
13238: [[956, 86], 256],
13239: [[109, 86], 256],
13240: [[107, 86], 256],
13241: [[77, 86], 256],
13242: [[112, 87], 256],
13243: [[110, 87], 256],
13244: [[956, 87], 256],
13245: [[109, 87], 256],
13246: [[107, 87], 256],
13247: [[77, 87], 256],
13248: [[107, 937], 256],
13249: [[77, 937], 256],
13250: [[97, 46, 109, 46], 256],
13251: [[66, 113], 256],
13252: [[99, 99], 256],
13253: [[99, 100], 256],
13254: [[67, 8725, 107, 103], 256],
13255: [[67, 111, 46], 256],
13256: [[100, 66], 256],
13257: [[71, 121], 256],
13258: [[104, 97], 256],
13259: [[72, 80], 256],
13260: [[105, 110], 256],
13261: [[75, 75], 256],
13262: [[75, 77], 256],
13263: [[107, 116], 256],
13264: [[108, 109], 256],
13265: [[108, 110], 256],
13266: [[108, 111, 103], 256],
13267: [[108, 120], 256],
13268: [[109, 98], 256],
13269: [[109, 105, 108], 256],
13270: [[109, 111, 108], 256],
13271: [[80, 72], 256],
13272: [[112, 46, 109, 46], 256],
13273: [[80, 80, 77], 256],
13274: [[80, 82], 256],
13275: [[115, 114], 256],
13276: [[83, 118], 256],
13277: [[87, 98], 256],
13278: [[86, 8725, 109], 256],
13279: [[65, 8725, 109], 256],
13280: [[49, 26085], 256],
13281: [[50, 26085], 256],
13282: [[51, 26085], 256],
13283: [[52, 26085], 256],
13284: [[53, 26085], 256],
13285: [[54, 26085], 256],
13286: [[55, 26085], 256],
13287: [[56, 26085], 256],
13288: [[57, 26085], 256],
13289: [[49, 48, 26085], 256],
13290: [[49, 49, 26085], 256],
13291: [[49, 50, 26085], 256],
13292: [[49, 51, 26085], 256],
13293: [[49, 52, 26085], 256],
13294: [[49, 53, 26085], 256],
13295: [[49, 54, 26085], 256],
13296: [[49, 55, 26085], 256],
13297: [[49, 56, 26085], 256],
13298: [[49, 57, 26085], 256],
13299: [[50, 48, 26085], 256],
13300: [[50, 49, 26085], 256],
13301: [[50, 50, 26085], 256],
13302: [[50, 51, 26085], 256],
13303: [[50, 52, 26085], 256],
13304: [[50, 53, 26085], 256],
13305: [[50, 54, 26085], 256],
13306: [[50, 55, 26085], 256],
13307: [[50, 56, 26085], 256],
13308: [[50, 57, 26085], 256],
13309: [[51, 48, 26085], 256],
13310: [[51, 49, 26085], 256],
13311: [[103, 97, 108], 256]
},
42496: {
42607: [, 230],
42612: [, 230],
42613: [, 230],
42614: [, 230],
42615: [, 230],
42616: [, 230],
42617: [, 230],
42618: [, 230],
42619: [, 230],
42620: [, 230],
42621: [, 230],
42655: [, 230],
42736: [, 230],
42737: [, 230]
},
42752: { 42864: [[42863], 256], 43000: [[294], 256], 43001: [[339], 256] },
43008: {
43014: [, 9],
43204: [, 9],
43232: [, 230],
43233: [, 230],
43234: [, 230],
43235: [, 230],
43236: [, 230],
43237: [, 230],
43238: [, 230],
43239: [, 230],
43240: [, 230],
43241: [, 230],
43242: [, 230],
43243: [, 230],
43244: [, 230],
43245: [, 230],
43246: [, 230],
43247: [, 230],
43248: [, 230],
43249: [, 230]
},
43264: {
43307: [, 220],
43308: [, 220],
43309: [, 220],
43347: [, 9],
43443: [, 7],
43456: [, 9]
},
43520: {
43696: [, 230],
43698: [, 230],
43699: [, 230],
43700: [, 220],
43703: [, 230],
43704: [, 230],
43710: [, 230],
43711: [, 230],
43713: [, 230],
43766: [, 9]
},
43776: { 44013: [, 9] },
53504: {
119134: [[119127, 119141], 512],
119135: [[119128, 119141], 512],
119136: [[119135, 119150], 512],
119137: [[119135, 119151], 512],
119138: [[119135, 119152], 512],
119139: [[119135, 119153], 512],
119140: [[119135, 119154], 512],
119141: [, 216],
119142: [, 216],
119143: [, 1],
119144: [, 1],
119145: [, 1],
119149: [, 226],
119150: [, 216],
119151: [, 216],
119152: [, 216],
119153: [, 216],
119154: [, 216],
119163: [, 220],
119164: [, 220],
119165: [, 220],
119166: [, 220],
119167: [, 220],
119168: [, 220],
119169: [, 220],
119170: [, 220],
119173: [, 230],
119174: [, 230],
119175: [, 230],
119176: [, 230],
119177: [, 230],
119178: [, 220],
119179: [, 220],
119210: [, 230],
119211: [, 230],
119212: [, 230],
119213: [, 230],
119227: [[119225, 119141], 512],
119228: [[119226, 119141], 512],
119229: [[119227, 119150], 512],
119230: [[119228, 119150], 512],
119231: [[119227, 119151], 512],
119232: [[119228, 119151], 512]
},
53760: { 119362: [, 230], 119363: [, 230], 119364: [, 230] },
54272: {
119808: [[65], 256],
119809: [[66], 256],
119810: [[67], 256],
119811: [[68], 256],
119812: [[69], 256],
119813: [[70], 256],
119814: [[71], 256],
119815: [[72], 256],
119816: [[73], 256],
119817: [[74], 256],
119818: [[75], 256],
119819: [[76], 256],
119820: [[77], 256],
119821: [[78], 256],
119822: [[79], 256],
119823: [[80], 256],
119824: [[81], 256],
119825: [[82], 256],
119826: [[83], 256],
119827: [[84], 256],
119828: [[85], 256],
119829: [[86], 256],
119830: [[87], 256],
119831: [[88], 256],
119832: [[89], 256],
119833: [[90], 256],
119834: [[97], 256],
119835: [[98], 256],
119836: [[99], 256],
119837: [[100], 256],
119838: [[101], 256],
119839: [[102], 256],
119840: [[103], 256],
119841: [[104], 256],
119842: [[105], 256],
119843: [[106], 256],
119844: [[107], 256],
119845: [[108], 256],
119846: [[109], 256],
119847: [[110], 256],
119848: [[111], 256],
119849: [[112], 256],
119850: [[113], 256],
119851: [[114], 256],
119852: [[115], 256],
119853: [[116], 256],
119854: [[117], 256],
119855: [[118], 256],
119856: [[119], 256],
119857: [[120], 256],
119858: [[121], 256],
119859: [[122], 256],
119860: [[65], 256],
119861: [[66], 256],
119862: [[67], 256],
119863: [[68], 256],
119864: [[69], 256],
119865: [[70], 256],
119866: [[71], 256],
119867: [[72], 256],
119868: [[73], 256],
119869: [[74], 256],
119870: [[75], 256],
119871: [[76], 256],
119872: [[77], 256],
119873: [[78], 256],
119874: [[79], 256],
119875: [[80], 256],
119876: [[81], 256],
119877: [[82], 256],
119878: [[83], 256],
119879: [[84], 256],
119880: [[85], 256],
119881: [[86], 256],
119882: [[87], 256],
119883: [[88], 256],
119884: [[89], 256],
119885: [[90], 256],
119886: [[97], 256],
119887: [[98], 256],
119888: [[99], 256],
119889: [[100], 256],
119890: [[101], 256],
119891: [[102], 256],
119892: [[103], 256],
119894: [[105], 256],
119895: [[106], 256],
119896: [[107], 256],
119897: [[108], 256],
119898: [[109], 256],
119899: [[110], 256],
119900: [[111], 256],
119901: [[112], 256],
119902: [[113], 256],
119903: [[114], 256],
119904: [[115], 256],
119905: [[116], 256],
119906: [[117], 256],
119907: [[118], 256],
119908: [[119], 256],
119909: [[120], 256],
119910: [[121], 256],
119911: [[122], 256],
119912: [[65], 256],
119913: [[66], 256],
119914: [[67], 256],
119915: [[68], 256],
119916: [[69], 256],
119917: [[70], 256],
119918: [[71], 256],
119919: [[72], 256],
119920: [[73], 256],
119921: [[74], 256],
119922: [[75], 256],
119923: [[76], 256],
119924: [[77], 256],
119925: [[78], 256],
119926: [[79], 256],
119927: [[80], 256],
119928: [[81], 256],
119929: [[82], 256],
119930: [[83], 256],
119931: [[84], 256],
119932: [[85], 256],
119933: [[86], 256],
119934: [[87], 256],
119935: [[88], 256],
119936: [[89], 256],
119937: [[90], 256],
119938: [[97], 256],
119939: [[98], 256],
119940: [[99], 256],
119941: [[100], 256],
119942: [[101], 256],
119943: [[102], 256],
119944: [[103], 256],
119945: [[104], 256],
119946: [[105], 256],
119947: [[106], 256],
119948: [[107], 256],
119949: [[108], 256],
119950: [[109], 256],
119951: [[110], 256],
119952: [[111], 256],
119953: [[112], 256],
119954: [[113], 256],
119955: [[114], 256],
119956: [[115], 256],
119957: [[116], 256],
119958: [[117], 256],
119959: [[118], 256],
119960: [[119], 256],
119961: [[120], 256],
119962: [[121], 256],
119963: [[122], 256],
119964: [[65], 256],
119966: [[67], 256],
119967: [[68], 256],
119970: [[71], 256],
119973: [[74], 256],
119974: [[75], 256],
119977: [[78], 256],
119978: [[79], 256],
119979: [[80], 256],
119980: [[81], 256],
119982: [[83], 256],
119983: [[84], 256],
119984: [[85], 256],
119985: [[86], 256],
119986: [[87], 256],
119987: [[88], 256],
119988: [[89], 256],
119989: [[90], 256],
119990: [[97], 256],
119991: [[98], 256],
119992: [[99], 256],
119993: [[100], 256],
119995: [[102], 256],
119997: [[104], 256],
119998: [[105], 256],
119999: [[106], 256],
120000: [[107], 256],
120001: [[108], 256],
120002: [[109], 256],
120003: [[110], 256],
120005: [[112], 256],
120006: [[113], 256],
120007: [[114], 256],
120008: [[115], 256],
120009: [[116], 256],
120010: [[117], 256],
120011: [[118], 256],
120012: [[119], 256],
120013: [[120], 256],
120014: [[121], 256],
120015: [[122], 256],
120016: [[65], 256],
120017: [[66], 256],
120018: [[67], 256],
120019: [[68], 256],
120020: [[69], 256],
120021: [[70], 256],
120022: [[71], 256],
120023: [[72], 256],
120024: [[73], 256],
120025: [[74], 256],
120026: [[75], 256],
120027: [[76], 256],
120028: [[77], 256],
120029: [[78], 256],
120030: [[79], 256],
120031: [[80], 256],
120032: [[81], 256],
120033: [[82], 256],
120034: [[83], 256],
120035: [[84], 256],
120036: [[85], 256],
120037: [[86], 256],
120038: [[87], 256],
120039: [[88], 256],
120040: [[89], 256],
120041: [[90], 256],
120042: [[97], 256],
120043: [[98], 256],
120044: [[99], 256],
120045: [[100], 256],
120046: [[101], 256],
120047: [[102], 256],
120048: [[103], 256],
120049: [[104], 256],
120050: [[105], 256],
120051: [[106], 256],
120052: [[107], 256],
120053: [[108], 256],
120054: [[109], 256],
120055: [[110], 256],
120056: [[111], 256],
120057: [[112], 256],
120058: [[113], 256],
120059: [[114], 256],
120060: [[115], 256],
120061: [[116], 256],
120062: [[117], 256],
120063: [[118], 256]
},
54528: {
120064: [[119], 256],
120065: [[120], 256],
120066: [[121], 256],
120067: [[122], 256],
120068: [[65], 256],
120069: [[66], 256],
120071: [[68], 256],
120072: [[69], 256],
120073: [[70], 256],
120074: [[71], 256],
120077: [[74], 256],
120078: [[75], 256],
120079: [[76], 256],
120080: [[77], 256],
120081: [[78], 256],
120082: [[79], 256],
120083: [[80], 256],
120084: [[81], 256],
120086: [[83], 256],
120087: [[84], 256],
120088: [[85], 256],
120089: [[86], 256],
120090: [[87], 256],
120091: [[88], 256],
120092: [[89], 256],
120094: [[97], 256],
120095: [[98], 256],
120096: [[99], 256],
120097: [[100], 256],
120098: [[101], 256],
120099: [[102], 256],
120100: [[103], 256],
120101: [[104], 256],
120102: [[105], 256],
120103: [[106], 256],
120104: [[107], 256],
120105: [[108], 256],
120106: [[109], 256],
120107: [[110], 256],
120108: [[111], 256],
120109: [[112], 256],
120110: [[113], 256],
120111: [[114], 256],
120112: [[115], 256],
120113: [[116], 256],
120114: [[117], 256],
120115: [[118], 256],
120116: [[119], 256],
120117: [[120], 256],
120118: [[121], 256],
120119: [[122], 256],
120120: [[65], 256],
120121: [[66], 256],
120123: [[68], 256],
120124: [[69], 256],
120125: [[70], 256],
120126: [[71], 256],
120128: [[73], 256],
120129: [[74], 256],
120130: [[75], 256],
120131: [[76], 256],
120132: [[77], 256],
120134: [[79], 256],
120138: [[83], 256],
120139: [[84], 256],
120140: [[85], 256],
120141: [[86], 256],
120142: [[87], 256],
120143: [[88], 256],
120144: [[89], 256],
120146: [[97], 256],
120147: [[98], 256],
120148: [[99], 256],
120149: [[100], 256],
120150: [[101], 256],
120151: [[102], 256],
120152: [[103], 256],
120153: [[104], 256],
120154: [[105], 256],
120155: [[106], 256],
120156: [[107], 256],
120157: [[108], 256],
120158: [[109], 256],
120159: [[110], 256],
120160: [[111], 256],
120161: [[112], 256],
120162: [[113], 256],
120163: [[114], 256],
120164: [[115], 256],
120165: [[116], 256],
120166: [[117], 256],
120167: [[118], 256],
120168: [[119], 256],
120169: [[120], 256],
120170: [[121], 256],
120171: [[122], 256],
120172: [[65], 256],
120173: [[66], 256],
120174: [[67], 256],
120175: [[68], 256],
120176: [[69], 256],
120177: [[70], 256],
120178: [[71], 256],
120179: [[72], 256],
120180: [[73], 256],
120181: [[74], 256],
120182: [[75], 256],
120183: [[76], 256],
120184: [[77], 256],
120185: [[78], 256],
120186: [[79], 256],
120187: [[80], 256],
120188: [[81], 256],
120189: [[82], 256],
120190: [[83], 256],
120191: [[84], 256],
120192: [[85], 256],
120193: [[86], 256],
120194: [[87], 256],
120195: [[88], 256],
120196: [[89], 256],
120197: [[90], 256],
120198: [[97], 256],
120199: [[98], 256],
120200: [[99], 256],
120201: [[100], 256],
120202: [[101], 256],
120203: [[102], 256],
120204: [[103], 256],
120205: [[104], 256],
120206: [[105], 256],
120207: [[106], 256],
120208: [[107], 256],
120209: [[108], 256],
120210: [[109], 256],
120211: [[110], 256],
120212: [[111], 256],
120213: [[112], 256],
120214: [[113], 256],
120215: [[114], 256],
120216: [[115], 256],
120217: [[116], 256],
120218: [[117], 256],
120219: [[118], 256],
120220: [[119], 256],
120221: [[120], 256],
120222: [[121], 256],
120223: [[122], 256],
120224: [[65], 256],
120225: [[66], 256],
120226: [[67], 256],
120227: [[68], 256],
120228: [[69], 256],
120229: [[70], 256],
120230: [[71], 256],
120231: [[72], 256],
120232: [[73], 256],
120233: [[74], 256],
120234: [[75], 256],
120235: [[76], 256],
120236: [[77], 256],
120237: [[78], 256],
120238: [[79], 256],
120239: [[80], 256],
120240: [[81], 256],
120241: [[82], 256],
120242: [[83], 256],
120243: [[84], 256],
120244: [[85], 256],
120245: [[86], 256],
120246: [[87], 256],
120247: [[88], 256],
120248: [[89], 256],
120249: [[90], 256],
120250: [[97], 256],
120251: [[98], 256],
120252: [[99], 256],
120253: [[100], 256],
120254: [[101], 256],
120255: [[102], 256],
120256: [[103], 256],
120257: [[104], 256],
120258: [[105], 256],
120259: [[106], 256],
120260: [[107], 256],
120261: [[108], 256],
120262: [[109], 256],
120263: [[110], 256],
120264: [[111], 256],
120265: [[112], 256],
120266: [[113], 256],
120267: [[114], 256],
120268: [[115], 256],
120269: [[116], 256],
120270: [[117], 256],
120271: [[118], 256],
120272: [[119], 256],
120273: [[120], 256],
120274: [[121], 256],
120275: [[122], 256],
120276: [[65], 256],
120277: [[66], 256],
120278: [[67], 256],
120279: [[68], 256],
120280: [[69], 256],
120281: [[70], 256],
120282: [[71], 256],
120283: [[72], 256],
120284: [[73], 256],
120285: [[74], 256],
120286: [[75], 256],
120287: [[76], 256],
120288: [[77], 256],
120289: [[78], 256],
120290: [[79], 256],
120291: [[80], 256],
120292: [[81], 256],
120293: [[82], 256],
120294: [[83], 256],
120295: [[84], 256],
120296: [[85], 256],
120297: [[86], 256],
120298: [[87], 256],
120299: [[88], 256],
120300: [[89], 256],
120301: [[90], 256],
120302: [[97], 256],
120303: [[98], 256],
120304: [[99], 256],
120305: [[100], 256],
120306: [[101], 256],
120307: [[102], 256],
120308: [[103], 256],
120309: [[104], 256],
120310: [[105], 256],
120311: [[106], 256],
120312: [[107], 256],
120313: [[108], 256],
120314: [[109], 256],
120315: [[110], 256],
120316: [[111], 256],
120317: [[112], 256],
120318: [[113], 256],
120319: [[114], 256]
},
54784: {
120320: [[115], 256],
120321: [[116], 256],
120322: [[117], 256],
120323: [[118], 256],
120324: [[119], 256],
120325: [[120], 256],
120326: [[121], 256],
120327: [[122], 256],
120328: [[65], 256],
120329: [[66], 256],
120330: [[67], 256],
120331: [[68], 256],
120332: [[69], 256],
120333: [[70], 256],
120334: [[71], 256],
120335: [[72], 256],
120336: [[73], 256],
120337: [[74], 256],
120338: [[75], 256],
120339: [[76], 256],
120340: [[77], 256],
120341: [[78], 256],
120342: [[79], 256],
120343: [[80], 256],
120344: [[81], 256],
120345: [[82], 256],
120346: [[83], 256],
120347: [[84], 256],
120348: [[85], 256],
120349: [[86], 256],
120350: [[87], 256],
120351: [[88], 256],
120352: [[89], 256],
120353: [[90], 256],
120354: [[97], 256],
120355: [[98], 256],
120356: [[99], 256],
120357: [[100], 256],
120358: [[101], 256],
120359: [[102], 256],
120360: [[103], 256],
120361: [[104], 256],
120362: [[105], 256],
120363: [[106], 256],
120364: [[107], 256],
120365: [[108], 256],
120366: [[109], 256],
120367: [[110], 256],
120368: [[111], 256],
120369: [[112], 256],
120370: [[113], 256],
120371: [[114], 256],
120372: [[115], 256],
120373: [[116], 256],
120374: [[117], 256],
120375: [[118], 256],
120376: [[119], 256],
120377: [[120], 256],
120378: [[121], 256],
120379: [[122], 256],
120380: [[65], 256],
120381: [[66], 256],
120382: [[67], 256],
120383: [[68], 256],
120384: [[69], 256],
120385: [[70], 256],
120386: [[71], 256],
120387: [[72], 256],
120388: [[73], 256],
120389: [[74], 256],
120390: [[75], 256],
120391: [[76], 256],
120392: [[77], 256],
120393: [[78], 256],
120394: [[79], 256],
120395: [[80], 256],
120396: [[81], 256],
120397: [[82], 256],
120398: [[83], 256],
120399: [[84], 256],
120400: [[85], 256],
120401: [[86], 256],
120402: [[87], 256],
120403: [[88], 256],
120404: [[89], 256],
120405: [[90], 256],
120406: [[97], 256],
120407: [[98], 256],
120408: [[99], 256],
120409: [[100], 256],
120410: [[101], 256],
120411: [[102], 256],
120412: [[103], 256],
120413: [[104], 256],
120414: [[105], 256],
120415: [[106], 256],
120416: [[107], 256],
120417: [[108], 256],
120418: [[109], 256],
120419: [[110], 256],
120420: [[111], 256],
120421: [[112], 256],
120422: [[113], 256],
120423: [[114], 256],
120424: [[115], 256],
120425: [[116], 256],
120426: [[117], 256],
120427: [[118], 256],
120428: [[119], 256],
120429: [[120], 256],
120430: [[121], 256],
120431: [[122], 256],
120432: [[65], 256],
120433: [[66], 256],
120434: [[67], 256],
120435: [[68], 256],
120436: [[69], 256],
120437: [[70], 256],
120438: [[71], 256],
120439: [[72], 256],
120440: [[73], 256],
120441: [[74], 256],
120442: [[75], 256],
120443: [[76], 256],
120444: [[77], 256],
120445: [[78], 256],
120446: [[79], 256],
120447: [[80], 256],
120448: [[81], 256],
120449: [[82], 256],
120450: [[83], 256],
120451: [[84], 256],
120452: [[85], 256],
120453: [[86], 256],
120454: [[87], 256],
120455: [[88], 256],
120456: [[89], 256],
120457: [[90], 256],
120458: [[97], 256],
120459: [[98], 256],
120460: [[99], 256],
120461: [[100], 256],
120462: [[101], 256],
120463: [[102], 256],
120464: [[103], 256],
120465: [[104], 256],
120466: [[105], 256],
120467: [[106], 256],
120468: [[107], 256],
120469: [[108], 256],
120470: [[109], 256],
120471: [[110], 256],
120472: [[111], 256],
120473: [[112], 256],
120474: [[113], 256],
120475: [[114], 256],
120476: [[115], 256],
120477: [[116], 256],
120478: [[117], 256],
120479: [[118], 256],
120480: [[119], 256],
120481: [[120], 256],
120482: [[121], 256],
120483: [[122], 256],
120484: [[305], 256],
120485: [[567], 256],
120488: [[913], 256],
120489: [[914], 256],
120490: [[915], 256],
120491: [[916], 256],
120492: [[917], 256],
120493: [[918], 256],
120494: [[919], 256],
120495: [[920], 256],
120496: [[921], 256],
120497: [[922], 256],
120498: [[923], 256],
120499: [[924], 256],
120500: [[925], 256],
120501: [[926], 256],
120502: [[927], 256],
120503: [[928], 256],
120504: [[929], 256],
120505: [[1012], 256],
120506: [[931], 256],
120507: [[932], 256],
120508: [[933], 256],
120509: [[934], 256],
120510: [[935], 256],
120511: [[936], 256],
120512: [[937], 256],
120513: [[8711], 256],
120514: [[945], 256],
120515: [[946], 256],
120516: [[947], 256],
120517: [[948], 256],
120518: [[949], 256],
120519: [[950], 256],
120520: [[951], 256],
120521: [[952], 256],
120522: [[953], 256],
120523: [[954], 256],
120524: [[955], 256],
120525: [[956], 256],
120526: [[957], 256],
120527: [[958], 256],
120528: [[959], 256],
120529: [[960], 256],
120530: [[961], 256],
120531: [[962], 256],
120532: [[963], 256],
120533: [[964], 256],
120534: [[965], 256],
120535: [[966], 256],
120536: [[967], 256],
120537: [[968], 256],
120538: [[969], 256],
120539: [[8706], 256],
120540: [[1013], 256],
120541: [[977], 256],
120542: [[1008], 256],
120543: [[981], 256],
120544: [[1009], 256],
120545: [[982], 256],
120546: [[913], 256],
120547: [[914], 256],
120548: [[915], 256],
120549: [[916], 256],
120550: [[917], 256],
120551: [[918], 256],
120552: [[919], 256],
120553: [[920], 256],
120554: [[921], 256],
120555: [[922], 256],
120556: [[923], 256],
120557: [[924], 256],
120558: [[925], 256],
120559: [[926], 256],
120560: [[927], 256],
120561: [[928], 256],
120562: [[929], 256],
120563: [[1012], 256],
120564: [[931], 256],
120565: [[932], 256],
120566: [[933], 256],
120567: [[934], 256],
120568: [[935], 256],
120569: [[936], 256],
120570: [[937], 256],
120571: [[8711], 256],
120572: [[945], 256],
120573: [[946], 256],
120574: [[947], 256],
120575: [[948], 256]
},
55040: {
120576: [[949], 256],
120577: [[950], 256],
120578: [[951], 256],
120579: [[952], 256],
120580: [[953], 256],
120581: [[954], 256],
120582: [[955], 256],
120583: [[956], 256],
120584: [[957], 256],
120585: [[958], 256],
120586: [[959], 256],
120587: [[960], 256],
120588: [[961], 256],
120589: [[962], 256],
120590: [[963], 256],
120591: [[964], 256],
120592: [[965], 256],
120593: [[966], 256],
120594: [[967], 256],
120595: [[968], 256],
120596: [[969], 256],
120597: [[8706], 256],
120598: [[1013], 256],
120599: [[977], 256],
120600: [[1008], 256],
120601: [[981], 256],
120602: [[1009], 256],
120603: [[982], 256],
120604: [[913], 256],
120605: [[914], 256],
120606: [[915], 256],
120607: [[916], 256],
120608: [[917], 256],
120609: [[918], 256],
120610: [[919], 256],
120611: [[920], 256],
120612: [[921], 256],
120613: [[922], 256],
120614: [[923], 256],
120615: [[924], 256],
120616: [[925], 256],
120617: [[926], 256],
120618: [[927], 256],
120619: [[928], 256],
120620: [[929], 256],
120621: [[1012], 256],
120622: [[931], 256],
120623: [[932], 256],
120624: [[933], 256],
120625: [[934], 256],
120626: [[935], 256],
120627: [[936], 256],
120628: [[937], 256],
120629: [[8711], 256],
120630: [[945], 256],
120631: [[946], 256],
120632: [[947], 256],
120633: [[948], 256],
120634: [[949], 256],
120635: [[950], 256],
120636: [[951], 256],
120637: [[952], 256],
120638: [[953], 256],
120639: [[954], 256],
120640: [[955], 256],
120641: [[956], 256],
120642: [[957], 256],
120643: [[958], 256],
120644: [[959], 256],
120645: [[960], 256],
120646: [[961], 256],
120647: [[962], 256],
120648: [[963], 256],
120649: [[964], 256],
120650: [[965], 256],
120651: [[966], 256],
120652: [[967], 256],
120653: [[968], 256],
120654: [[969], 256],
120655: [[8706], 256],
120656: [[1013], 256],
120657: [[977], 256],
120658: [[1008], 256],
120659: [[981], 256],
120660: [[1009], 256],
120661: [[982], 256],
120662: [[913], 256],
120663: [[914], 256],
120664: [[915], 256],
120665: [[916], 256],
120666: [[917], 256],
120667: [[918], 256],
120668: [[919], 256],
120669: [[920], 256],
120670: [[921], 256],
120671: [[922], 256],
120672: [[923], 256],
120673: [[924], 256],
120674: [[925], 256],
120675: [[926], 256],
120676: [[927], 256],
120677: [[928], 256],
120678: [[929], 256],
120679: [[1012], 256],
120680: [[931], 256],
120681: [[932], 256],
120682: [[933], 256],
120683: [[934], 256],
120684: [[935], 256],
120685: [[936], 256],
120686: [[937], 256],
120687: [[8711], 256],
120688: [[945], 256],
120689: [[946], 256],
120690: [[947], 256],
120691: [[948], 256],
120692: [[949], 256],
120693: [[950], 256],
120694: [[951], 256],
120695: [[952], 256],
120696: [[953], 256],
120697: [[954], 256],
120698: [[955], 256],
120699: [[956], 256],
120700: [[957], 256],
120701: [[958], 256],
120702: [[959], 256],
120703: [[960], 256],
120704: [[961], 256],
120705: [[962], 256],
120706: [[963], 256],
120707: [[964], 256],
120708: [[965], 256],
120709: [[966], 256],
120710: [[967], 256],
120711: [[968], 256],
120712: [[969], 256],
120713: [[8706], 256],
120714: [[1013], 256],
120715: [[977], 256],
120716: [[1008], 256],
120717: [[981], 256],
120718: [[1009], 256],
120719: [[982], 256],
120720: [[913], 256],
120721: [[914], 256],
120722: [[915], 256],
120723: [[916], 256],
120724: [[917], 256],
120725: [[918], 256],
120726: [[919], 256],
120727: [[920], 256],
120728: [[921], 256],
120729: [[922], 256],
120730: [[923], 256],
120731: [[924], 256],
120732: [[925], 256],
120733: [[926], 256],
120734: [[927], 256],
120735: [[928], 256],
120736: [[929], 256],
120737: [[1012], 256],
120738: [[931], 256],
120739: [[932], 256],
120740: [[933], 256],
120741: [[934], 256],
120742: [[935], 256],
120743: [[936], 256],
120744: [[937], 256],
120745: [[8711], 256],
120746: [[945], 256],
120747: [[946], 256],
120748: [[947], 256],
120749: [[948], 256],
120750: [[949], 256],
120751: [[950], 256],
120752: [[951], 256],
120753: [[952], 256],
120754: [[953], 256],
120755: [[954], 256],
120756: [[955], 256],
120757: [[956], 256],
120758: [[957], 256],
120759: [[958], 256],
120760: [[959], 256],
120761: [[960], 256],
120762: [[961], 256],
120763: [[962], 256],
120764: [[963], 256],
120765: [[964], 256],
120766: [[965], 256],
120767: [[966], 256],
120768: [[967], 256],
120769: [[968], 256],
120770: [[969], 256],
120771: [[8706], 256],
120772: [[1013], 256],
120773: [[977], 256],
120774: [[1008], 256],
120775: [[981], 256],
120776: [[1009], 256],
120777: [[982], 256],
120778: [[988], 256],
120779: [[989], 256],
120782: [[48], 256],
120783: [[49], 256],
120784: [[50], 256],
120785: [[51], 256],
120786: [[52], 256],
120787: [[53], 256],
120788: [[54], 256],
120789: [[55], 256],
120790: [[56], 256],
120791: [[57], 256],
120792: [[48], 256],
120793: [[49], 256],
120794: [[50], 256],
120795: [[51], 256],
120796: [[52], 256],
120797: [[53], 256],
120798: [[54], 256],
120799: [[55], 256],
120800: [[56], 256],
120801: [[57], 256],
120802: [[48], 256],
120803: [[49], 256],
120804: [[50], 256],
120805: [[51], 256],
120806: [[52], 256],
120807: [[53], 256],
120808: [[54], 256],
120809: [[55], 256],
120810: [[56], 256],
120811: [[57], 256],
120812: [[48], 256],
120813: [[49], 256],
120814: [[50], 256],
120815: [[51], 256],
120816: [[52], 256],
120817: [[53], 256],
120818: [[54], 256],
120819: [[55], 256],
120820: [[56], 256],
120821: [[57], 256],
120822: [[48], 256],
120823: [[49], 256],
120824: [[50], 256],
120825: [[51], 256],
120826: [[52], 256],
120827: [[53], 256],
120828: [[54], 256],
120829: [[55], 256],
120830: [[56], 256],
120831: [[57], 256]
},
60928: {
126464: [[1575], 256],
126465: [[1576], 256],
126466: [[1580], 256],
126467: [[1583], 256],
126469: [[1608], 256],
126470: [[1586], 256],
126471: [[1581], 256],
126472: [[1591], 256],
126473: [[1610], 256],
126474: [[1603], 256],
126475: [[1604], 256],
126476: [[1605], 256],
126477: [[1606], 256],
126478: [[1587], 256],
126479: [[1593], 256],
126480: [[1601], 256],
126481: [[1589], 256],
126482: [[1602], 256],
126483: [[1585], 256],
126484: [[1588], 256],
126485: [[1578], 256],
126486: [[1579], 256],
126487: [[1582], 256],
126488: [[1584], 256],
126489: [[1590], 256],
126490: [[1592], 256],
126491: [[1594], 256],
126492: [[1646], 256],
126493: [[1722], 256],
126494: [[1697], 256],
126495: [[1647], 256],
126497: [[1576], 256],
126498: [[1580], 256],
126500: [[1607], 256],
126503: [[1581], 256],
126505: [[1610], 256],
126506: [[1603], 256],
126507: [[1604], 256],
126508: [[1605], 256],
126509: [[1606], 256],
126510: [[1587], 256],
126511: [[1593], 256],
126512: [[1601], 256],
126513: [[1589], 256],
126514: [[1602], 256],
126516: [[1588], 256],
126517: [[1578], 256],
126518: [[1579], 256],
126519: [[1582], 256],
126521: [[1590], 256],
126523: [[1594], 256],
126530: [[1580], 256],
126535: [[1581], 256],
126537: [[1610], 256],
126539: [[1604], 256],
126541: [[1606], 256],
126542: [[1587], 256],
126543: [[1593], 256],
126545: [[1589], 256],
126546: [[1602], 256],
126548: [[1588], 256],
126551: [[1582], 256],
126553: [[1590], 256],
126555: [[1594], 256],
126557: [[1722], 256],
126559: [[1647], 256],
126561: [[1576], 256],
126562: [[1580], 256],
126564: [[1607], 256],
126567: [[1581], 256],
126568: [[1591], 256],
126569: [[1610], 256],
126570: [[1603], 256],
126572: [[1605], 256],
126573: [[1606], 256],
126574: [[1587], 256],
126575: [[1593], 256],
126576: [[1601], 256],
126577: [[1589], 256],
126578: [[1602], 256],
126580: [[1588], 256],
126581: [[1578], 256],
126582: [[1579], 256],
126583: [[1582], 256],
126585: [[1590], 256],
126586: [[1592], 256],
126587: [[1594], 256],
126588: [[1646], 256],
126590: [[1697], 256],
126592: [[1575], 256],
126593: [[1576], 256],
126594: [[1580], 256],
126595: [[1583], 256],
126596: [[1607], 256],
126597: [[1608], 256],
126598: [[1586], 256],
126599: [[1581], 256],
126600: [[1591], 256],
126601: [[1610], 256],
126603: [[1604], 256],
126604: [[1605], 256],
126605: [[1606], 256],
126606: [[1587], 256],
126607: [[1593], 256],
126608: [[1601], 256],
126609: [[1589], 256],
126610: [[1602], 256],
126611: [[1585], 256],
126612: [[1588], 256],
126613: [[1578], 256],
126614: [[1579], 256],
126615: [[1582], 256],
126616: [[1584], 256],
126617: [[1590], 256],
126618: [[1592], 256],
126619: [[1594], 256],
126625: [[1576], 256],
126626: [[1580], 256],
126627: [[1583], 256],
126629: [[1608], 256],
126630: [[1586], 256],
126631: [[1581], 256],
126632: [[1591], 256],
126633: [[1610], 256],
126635: [[1604], 256],
126636: [[1605], 256],
126637: [[1606], 256],
126638: [[1587], 256],
126639: [[1593], 256],
126640: [[1601], 256],
126641: [[1589], 256],
126642: [[1602], 256],
126643: [[1585], 256],
126644: [[1588], 256],
126645: [[1578], 256],
126646: [[1579], 256],
126647: [[1582], 256],
126648: [[1584], 256],
126649: [[1590], 256],
126650: [[1592], 256],
126651: [[1594], 256]
},
61696: {
127232: [[48, 46], 256],
127233: [[48, 44], 256],
127234: [[49, 44], 256],
127235: [[50, 44], 256],
127236: [[51, 44], 256],
127237: [[52, 44], 256],
127238: [[53, 44], 256],
127239: [[54, 44], 256],
127240: [[55, 44], 256],
127241: [[56, 44], 256],
127242: [[57, 44], 256],
127248: [[40, 65, 41], 256],
127249: [[40, 66, 41], 256],
127250: [[40, 67, 41], 256],
127251: [[40, 68, 41], 256],
127252: [[40, 69, 41], 256],
127253: [[40, 70, 41], 256],
127254: [[40, 71, 41], 256],
127255: [[40, 72, 41], 256],
127256: [[40, 73, 41], 256],
127257: [[40, 74, 41], 256],
127258: [[40, 75, 41], 256],
127259: [[40, 76, 41], 256],
127260: [[40, 77, 41], 256],
127261: [[40, 78, 41], 256],
127262: [[40, 79, 41], 256],
127263: [[40, 80, 41], 256],
127264: [[40, 81, 41], 256],
127265: [[40, 82, 41], 256],
127266: [[40, 83, 41], 256],
127267: [[40, 84, 41], 256],
127268: [[40, 85, 41], 256],
127269: [[40, 86, 41], 256],
127270: [[40, 87, 41], 256],
127271: [[40, 88, 41], 256],
127272: [[40, 89, 41], 256],
127273: [[40, 90, 41], 256],
127274: [[12308, 83, 12309], 256],
127275: [[67], 256],
127276: [[82], 256],
127277: [[67, 68], 256],
127278: [[87, 90], 256],
127280: [[65], 256],
127281: [[66], 256],
127282: [[67], 256],
127283: [[68], 256],
127284: [[69], 256],
127285: [[70], 256],
127286: [[71], 256],
127287: [[72], 256],
127288: [[73], 256],
127289: [[74], 256],
127290: [[75], 256],
127291: [[76], 256],
127292: [[77], 256],
127293: [[78], 256],
127294: [[79], 256],
127295: [[80], 256],
127296: [[81], 256],
127297: [[82], 256],
127298: [[83], 256],
127299: [[84], 256],
127300: [[85], 256],
127301: [[86], 256],
127302: [[87], 256],
127303: [[88], 256],
127304: [[89], 256],
127305: [[90], 256],
127306: [[72, 86], 256],
127307: [[77, 86], 256],
127308: [[83, 68], 256],
127309: [[83, 83], 256],
127310: [[80, 80, 86], 256],
127311: [[87, 67], 256],
127338: [[77, 67], 256],
127339: [[77, 68], 256],
127376: [[68, 74], 256]
},
61952: {
127488: [[12411, 12363], 256],
127489: [[12467, 12467], 256],
127490: [[12469], 256],
127504: [[25163], 256],
127505: [[23383], 256],
127506: [[21452], 256],
127507: [[12487], 256],
127508: [[20108], 256],
127509: [[22810], 256],
127510: [[35299], 256],
127511: [[22825], 256],
127512: [[20132], 256],
127513: [[26144], 256],
127514: [[28961], 256],
127515: [[26009], 256],
127516: [[21069], 256],
127517: [[24460], 256],
127518: [[20877], 256],
127519: [[26032], 256],
127520: [[21021], 256],
127521: [[32066], 256],
127522: [[29983], 256],
127523: [[36009], 256],
127524: [[22768], 256],
127525: [[21561], 256],
127526: [[28436], 256],
127527: [[25237], 256],
127528: [[25429], 256],
127529: [[19968], 256],
127530: [[19977], 256],
127531: [[36938], 256],
127532: [[24038], 256],
127533: [[20013], 256],
127534: [[21491], 256],
127535: [[25351], 256],
127536: [[36208], 256],
127537: [[25171], 256],
127538: [[31105], 256],
127539: [[31354], 256],
127540: [[21512], 256],
127541: [[28288], 256],
127542: [[26377], 256],
127543: [[26376], 256],
127544: [[30003], 256],
127545: [[21106], 256],
127546: [[21942], 256],
127552: [[12308, 26412, 12309], 256],
127553: [[12308, 19977, 12309], 256],
127554: [[12308, 20108, 12309], 256],
127555: [[12308, 23433, 12309], 256],
127556: [[12308, 28857, 12309], 256],
127557: [[12308, 25171, 12309], 256],
127558: [[12308, 30423, 12309], 256],
127559: [[12308, 21213, 12309], 256],
127560: [[12308, 25943, 12309], 256],
127568: [[24471], 256],
127569: [[21487], 256]
},
63488: {
194560: [[20029]],
194561: [[20024]],
194562: [[20033]],
194563: [[131362]],
194564: [[20320]],
194565: [[20398]],
194566: [[20411]],
194567: [[20482]],
194568: [[20602]],
194569: [[20633]],
194570: [[20711]],
194571: [[20687]],
194572: [[13470]],
194573: [[132666]],
194574: [[20813]],
194575: [[20820]],
194576: [[20836]],
194577: [[20855]],
194578: [[132380]],
194579: [[13497]],
194580: [[20839]],
194581: [[20877]],
194582: [[132427]],
194583: [[20887]],
194584: [[20900]],
194585: [[20172]],
194586: [[20908]],
194587: [[20917]],
194588: [[168415]],
194589: [[20981]],
194590: [[20995]],
194591: [[13535]],
194592: [[21051]],
194593: [[21062]],
194594: [[21106]],
194595: [[21111]],
194596: [[13589]],
194597: [[21191]],
194598: [[21193]],
194599: [[21220]],
194600: [[21242]],
194601: [[21253]],
194602: [[21254]],
194603: [[21271]],
194604: [[21321]],
194605: [[21329]],
194606: [[21338]],
194607: [[21363]],
194608: [[21373]],
194609: [[21375]],
194610: [[21375]],
194611: [[21375]],
194612: [[133676]],
194613: [[28784]],
194614: [[21450]],
194615: [[21471]],
194616: [[133987]],
194617: [[21483]],
194618: [[21489]],
194619: [[21510]],
194620: [[21662]],
194621: [[21560]],
194622: [[21576]],
194623: [[21608]],
194624: [[21666]],
194625: [[21750]],
194626: [[21776]],
194627: [[21843]],
194628: [[21859]],
194629: [[21892]],
194630: [[21892]],
194631: [[21913]],
194632: [[21931]],
194633: [[21939]],
194634: [[21954]],
194635: [[22294]],
194636: [[22022]],
194637: [[22295]],
194638: [[22097]],
194639: [[22132]],
194640: [[20999]],
194641: [[22766]],
194642: [[22478]],
194643: [[22516]],
194644: [[22541]],
194645: [[22411]],
194646: [[22578]],
194647: [[22577]],
194648: [[22700]],
194649: [[136420]],
194650: [[22770]],
194651: [[22775]],
194652: [[22790]],
194653: [[22810]],
194654: [[22818]],
194655: [[22882]],
194656: [[136872]],
194657: [[136938]],
194658: [[23020]],
194659: [[23067]],
194660: [[23079]],
194661: [[23000]],
194662: [[23142]],
194663: [[14062]],
194664: [[14076]],
194665: [[23304]],
194666: [[23358]],
194667: [[23358]],
194668: [[137672]],
194669: [[23491]],
194670: [[23512]],
194671: [[23527]],
194672: [[23539]],
194673: [[138008]],
194674: [[23551]],
194675: [[23558]],
194676: [[24403]],
194677: [[23586]],
194678: [[14209]],
194679: [[23648]],
194680: [[23662]],
194681: [[23744]],
194682: [[23693]],
194683: [[138724]],
194684: [[23875]],
194685: [[138726]],
194686: [[23918]],
194687: [[23915]],
194688: [[23932]],
194689: [[24033]],
194690: [[24034]],
194691: [[14383]],
194692: [[24061]],
194693: [[24104]],
194694: [[24125]],
194695: [[24169]],
194696: [[14434]],
194697: [[139651]],
194698: [[14460]],
194699: [[24240]],
194700: [[24243]],
194701: [[24246]],
194702: [[24266]],
194703: [[172946]],
194704: [[24318]],
194705: [[140081]],
194706: [[140081]],
194707: [[33281]],
194708: [[24354]],
194709: [[24354]],
194710: [[14535]],
194711: [[144056]],
194712: [[156122]],
194713: [[24418]],
194714: [[24427]],
194715: [[14563]],
194716: [[24474]],
194717: [[24525]],
194718: [[24535]],
194719: [[24569]],
194720: [[24705]],
194721: [[14650]],
194722: [[14620]],
194723: [[24724]],
194724: [[141012]],
194725: [[24775]],
194726: [[24904]],
194727: [[24908]],
194728: [[24910]],
194729: [[24908]],
194730: [[24954]],
194731: [[24974]],
194732: [[25010]],
194733: [[24996]],
194734: [[25007]],
194735: [[25054]],
194736: [[25074]],
194737: [[25078]],
194738: [[25104]],
194739: [[25115]],
194740: [[25181]],
194741: [[25265]],
194742: [[25300]],
194743: [[25424]],
194744: [[142092]],
194745: [[25405]],
194746: [[25340]],
194747: [[25448]],
194748: [[25475]],
194749: [[25572]],
194750: [[142321]],
194751: [[25634]],
194752: [[25541]],
194753: [[25513]],
194754: [[14894]],
194755: [[25705]],
194756: [[25726]],
194757: [[25757]],
194758: [[25719]],
194759: [[14956]],
194760: [[25935]],
194761: [[25964]],
194762: [[143370]],
194763: [[26083]],
194764: [[26360]],
194765: [[26185]],
194766: [[15129]],
194767: [[26257]],
194768: [[15112]],
194769: [[15076]],
194770: [[20882]],
194771: [[20885]],
194772: [[26368]],
194773: [[26268]],
194774: [[32941]],
194775: [[17369]],
194776: [[26391]],
194777: [[26395]],
194778: [[26401]],
194779: [[26462]],
194780: [[26451]],
194781: [[144323]],
194782: [[15177]],
194783: [[26618]],
194784: [[26501]],
194785: [[26706]],
194786: [[26757]],
194787: [[144493]],
194788: [[26766]],
194789: [[26655]],
194790: [[26900]],
194791: [[15261]],
194792: [[26946]],
194793: [[27043]],
194794: [[27114]],
194795: [[27304]],
194796: [[145059]],
194797: [[27355]],
194798: [[15384]],
194799: [[27425]],
194800: [[145575]],
194801: [[27476]],
194802: [[15438]],
194803: [[27506]],
194804: [[27551]],
194805: [[27578]],
194806: [[27579]],
194807: [[146061]],
194808: [[138507]],
194809: [[146170]],
194810: [[27726]],
194811: [[146620]],
194812: [[27839]],
194813: [[27853]],
194814: [[27751]],
194815: [[27926]]
},
63744: {
63744: [[35912]],
63745: [[26356]],
63746: [[36554]],
63747: [[36040]],
63748: [[28369]],
63749: [[20018]],
63750: [[21477]],
63751: [[40860]],
63752: [[40860]],
63753: [[22865]],
63754: [[37329]],
63755: [[21895]],
63756: [[22856]],
63757: [[25078]],
63758: [[30313]],
63759: [[32645]],
63760: [[34367]],
63761: [[34746]],
63762: [[35064]],
63763: [[37007]],
63764: [[27138]],
63765: [[27931]],
63766: [[28889]],
63767: [[29662]],
63768: [[33853]],
63769: [[37226]],
63770: [[39409]],
63771: [[20098]],
63772: [[21365]],
63773: [[27396]],
63774: [[29211]],
63775: [[34349]],
63776: [[40478]],
63777: [[23888]],
63778: [[28651]],
63779: [[34253]],
63780: [[35172]],
63781: [[25289]],
63782: [[33240]],
63783: [[34847]],
63784: [[24266]],
63785: [[26391]],
63786: [[28010]],
63787: [[29436]],
63788: [[37070]],
63789: [[20358]],
63790: [[20919]],
63791: [[21214]],
63792: [[25796]],
63793: [[27347]],
63794: [[29200]],
63795: [[30439]],
63796: [[32769]],
63797: [[34310]],
63798: [[34396]],
63799: [[36335]],
63800: [[38706]],
63801: [[39791]],
63802: [[40442]],
63803: [[30860]],
63804: [[31103]],
63805: [[32160]],
63806: [[33737]],
63807: [[37636]],
63808: [[40575]],
63809: [[35542]],
63810: [[22751]],
63811: [[24324]],
63812: [[31840]],
63813: [[32894]],
63814: [[29282]],
63815: [[30922]],
63816: [[36034]],
63817: [[38647]],
63818: [[22744]],
63819: [[23650]],
63820: [[27155]],
63821: [[28122]],
63822: [[28431]],
63823: [[32047]],
63824: [[32311]],
63825: [[38475]],
63826: [[21202]],
63827: [[32907]],
63828: [[20956]],
63829: [[20940]],
63830: [[31260]],
63831: [[32190]],
63832: [[33777]],
63833: [[38517]],
63834: [[35712]],
63835: [[25295]],
63836: [[27138]],
63837: [[35582]],
63838: [[20025]],
63839: [[23527]],
63840: [[24594]],
63841: [[29575]],
63842: [[30064]],
63843: [[21271]],
63844: [[30971]],
63845: [[20415]],
63846: [[24489]],
63847: [[19981]],
63848: [[27852]],
63849: [[25976]],
63850: [[32034]],
63851: [[21443]],
63852: [[22622]],
63853: [[30465]],
63854: [[33865]],
63855: [[35498]],
63856: [[27578]],
63857: [[36784]],
63858: [[27784]],
63859: [[25342]],
63860: [[33509]],
63861: [[25504]],
63862: [[30053]],
63863: [[20142]],
63864: [[20841]],
63865: [[20937]],
63866: [[26753]],
63867: [[31975]],
63868: [[33391]],
63869: [[35538]],
63870: [[37327]],
63871: [[21237]],
63872: [[21570]],
63873: [[22899]],
63874: [[24300]],
63875: [[26053]],
63876: [[28670]],
63877: [[31018]],
63878: [[38317]],
63879: [[39530]],
63880: [[40599]],
63881: [[40654]],
63882: [[21147]],
63883: [[26310]],
63884: [[27511]],
63885: [[36706]],
63886: [[24180]],
63887: [[24976]],
63888: [[25088]],
63889: [[25754]],
63890: [[28451]],
63891: [[29001]],
63892: [[29833]],
63893: [[31178]],
63894: [[32244]],
63895: [[32879]],
63896: [[36646]],
63897: [[34030]],
63898: [[36899]],
63899: [[37706]],
63900: [[21015]],
63901: [[21155]],
63902: [[21693]],
63903: [[28872]],
63904: [[35010]],
63905: [[35498]],
63906: [[24265]],
63907: [[24565]],
63908: [[25467]],
63909: [[27566]],
63910: [[31806]],
63911: [[29557]],
63912: [[20196]],
63913: [[22265]],
63914: [[23527]],
63915: [[23994]],
63916: [[24604]],
63917: [[29618]],
63918: [[29801]],
63919: [[32666]],
63920: [[32838]],
63921: [[37428]],
63922: [[38646]],
63923: [[38728]],
63924: [[38936]],
63925: [[20363]],
63926: [[31150]],
63927: [[37300]],
63928: [[38584]],
63929: [[24801]],
63930: [[20102]],
63931: [[20698]],
63932: [[23534]],
63933: [[23615]],
63934: [[26009]],
63935: [[27138]],
63936: [[29134]],
63937: [[30274]],
63938: [[34044]],
63939: [[36988]],
63940: [[40845]],
63941: [[26248]],
63942: [[38446]],
63943: [[21129]],
63944: [[26491]],
63945: [[26611]],
63946: [[27969]],
63947: [[28316]],
63948: [[29705]],
63949: [[30041]],
63950: [[30827]],
63951: [[32016]],
63952: [[39006]],
63953: [[20845]],
63954: [[25134]],
63955: [[38520]],
63956: [[20523]],
63957: [[23833]],
63958: [[28138]],
63959: [[36650]],
63960: [[24459]],
63961: [[24900]],
63962: [[26647]],
63963: [[29575]],
63964: [[38534]],
63965: [[21033]],
63966: [[21519]],
63967: [[23653]],
63968: [[26131]],
63969: [[26446]],
63970: [[26792]],
63971: [[27877]],
63972: [[29702]],
63973: [[30178]],
63974: [[32633]],
63975: [[35023]],
63976: [[35041]],
63977: [[37324]],
63978: [[38626]],
63979: [[21311]],
63980: [[28346]],
63981: [[21533]],
63982: [[29136]],
63983: [[29848]],
63984: [[34298]],
63985: [[38563]],
63986: [[40023]],
63987: [[40607]],
63988: [[26519]],
63989: [[28107]],
63990: [[33256]],
63991: [[31435]],
63992: [[31520]],
63993: [[31890]],
63994: [[29376]],
63995: [[28825]],
63996: [[35672]],
63997: [[20160]],
63998: [[33590]],
63999: [[21050]],
194816: [[27966]],
194817: [[28023]],
194818: [[27969]],
194819: [[28009]],
194820: [[28024]],
194821: [[28037]],
194822: [[146718]],
194823: [[27956]],
194824: [[28207]],
194825: [[28270]],
194826: [[15667]],
194827: [[28363]],
194828: [[28359]],
194829: [[147153]],
194830: [[28153]],
194831: [[28526]],
194832: [[147294]],
194833: [[147342]],
194834: [[28614]],
194835: [[28729]],
194836: [[28702]],
194837: [[28699]],
194838: [[15766]],
194839: [[28746]],
194840: [[28797]],
194841: [[28791]],
194842: [[28845]],
194843: [[132389]],
194844: [[28997]],
194845: [[148067]],
194846: [[29084]],
194847: [[148395]],
194848: [[29224]],
194849: [[29237]],
194850: [[29264]],
194851: [[149000]],
194852: [[29312]],
194853: [[29333]],
194854: [[149301]],
194855: [[149524]],
194856: [[29562]],
194857: [[29579]],
194858: [[16044]],
194859: [[29605]],
194860: [[16056]],
194861: [[16056]],
194862: [[29767]],
194863: [[29788]],
194864: [[29809]],
194865: [[29829]],
194866: [[29898]],
194867: [[16155]],
194868: [[29988]],
194869: [[150582]],
194870: [[30014]],
194871: [[150674]],
194872: [[30064]],
194873: [[139679]],
194874: [[30224]],
194875: [[151457]],
194876: [[151480]],
194877: [[151620]],
194878: [[16380]],
194879: [[16392]],
194880: [[30452]],
194881: [[151795]],
194882: [[151794]],
194883: [[151833]],
194884: [[151859]],
194885: [[30494]],
194886: [[30495]],
194887: [[30495]],
194888: [[30538]],
194889: [[16441]],
194890: [[30603]],
194891: [[16454]],
194892: [[16534]],
194893: [[152605]],
194894: [[30798]],
194895: [[30860]],
194896: [[30924]],
194897: [[16611]],
194898: [[153126]],
194899: [[31062]],
194900: [[153242]],
194901: [[153285]],
194902: [[31119]],
194903: [[31211]],
194904: [[16687]],
194905: [[31296]],
194906: [[31306]],
194907: [[31311]],
194908: [[153980]],
194909: [[154279]],
194910: [[154279]],
194911: [[31470]],
194912: [[16898]],
194913: [[154539]],
194914: [[31686]],
194915: [[31689]],
194916: [[16935]],
194917: [[154752]],
194918: [[31954]],
194919: [[17056]],
194920: [[31976]],
194921: [[31971]],
194922: [[32000]],
194923: [[155526]],
194924: [[32099]],
194925: [[17153]],
194926: [[32199]],
194927: [[32258]],
194928: [[32325]],
194929: [[17204]],
194930: [[156200]],
194931: [[156231]],
194932: [[17241]],
194933: [[156377]],
194934: [[32634]],
194935: [[156478]],
194936: [[32661]],
194937: [[32762]],
194938: [[32773]],
194939: [[156890]],
194940: [[156963]],
194941: [[32864]],
194942: [[157096]],
194943: [[32880]],
194944: [[144223]],
194945: [[17365]],
194946: [[32946]],
194947: [[33027]],
194948: [[17419]],
194949: [[33086]],
194950: [[23221]],
194951: [[157607]],
194952: [[157621]],
194953: [[144275]],
194954: [[144284]],
194955: [[33281]],
194956: [[33284]],
194957: [[36766]],
194958: [[17515]],
194959: [[33425]],
194960: [[33419]],
194961: [[33437]],
194962: [[21171]],
194963: [[33457]],
194964: [[33459]],
194965: [[33469]],
194966: [[33510]],
194967: [[158524]],
194968: [[33509]],
194969: [[33565]],
194970: [[33635]],
194971: [[33709]],
194972: [[33571]],
194973: [[33725]],
194974: [[33767]],
194975: [[33879]],
194976: [[33619]],
194977: [[33738]],
194978: [[33740]],
194979: [[33756]],
194980: [[158774]],
194981: [[159083]],
194982: [[158933]],
194983: [[17707]],
194984: [[34033]],
194985: [[34035]],
194986: [[34070]],
194987: [[160714]],
194988: [[34148]],
194989: [[159532]],
194990: [[17757]],
194991: [[17761]],
194992: [[159665]],
194993: [[159954]],
194994: [[17771]],
194995: [[34384]],
194996: [[34396]],
194997: [[34407]],
194998: [[34409]],
194999: [[34473]],
195000: [[34440]],
195001: [[34574]],
195002: [[34530]],
195003: [[34681]],
195004: [[34600]],
195005: [[34667]],
195006: [[34694]],
195007: [[17879]],
195008: [[34785]],
195009: [[34817]],
195010: [[17913]],
195011: [[34912]],
195012: [[34915]],
195013: [[161383]],
195014: [[35031]],
195015: [[35038]],
195016: [[17973]],
195017: [[35066]],
195018: [[13499]],
195019: [[161966]],
195020: [[162150]],
195021: [[18110]],
195022: [[18119]],
195023: [[35488]],
195024: [[35565]],
195025: [[35722]],
195026: [[35925]],
195027: [[162984]],
195028: [[36011]],
195029: [[36033]],
195030: [[36123]],
195031: [[36215]],
195032: [[163631]],
195033: [[133124]],
195034: [[36299]],
195035: [[36284]],
195036: [[36336]],
195037: [[133342]],
195038: [[36564]],
195039: [[36664]],
195040: [[165330]],
195041: [[165357]],
195042: [[37012]],
195043: [[37105]],
195044: [[37137]],
195045: [[165678]],
195046: [[37147]],
195047: [[37432]],
195048: [[37591]],
195049: [[37592]],
195050: [[37500]],
195051: [[37881]],
195052: [[37909]],
195053: [[166906]],
195054: [[38283]],
195055: [[18837]],
195056: [[38327]],
195057: [[167287]],
195058: [[18918]],
195059: [[38595]],
195060: [[23986]],
195061: [[38691]],
195062: [[168261]],
195063: [[168474]],
195064: [[19054]],
195065: [[19062]],
195066: [[38880]],
195067: [[168970]],
195068: [[19122]],
195069: [[169110]],
195070: [[38923]],
195071: [[38923]]
},
64000: {
64000: [[20999]],
64001: [[24230]],
64002: [[25299]],
64003: [[31958]],
64004: [[23429]],
64005: [[27934]],
64006: [[26292]],
64007: [[36667]],
64008: [[34892]],
64009: [[38477]],
64010: [[35211]],
64011: [[24275]],
64012: [[20800]],
64013: [[21952]],
64016: [[22618]],
64018: [[26228]],
64021: [[20958]],
64022: [[29482]],
64023: [[30410]],
64024: [[31036]],
64025: [[31070]],
64026: [[31077]],
64027: [[31119]],
64028: [[38742]],
64029: [[31934]],
64030: [[32701]],
64032: [[34322]],
64034: [[35576]],
64037: [[36920]],
64038: [[37117]],
64042: [[39151]],
64043: [[39164]],
64044: [[39208]],
64045: [[40372]],
64046: [[37086]],
64047: [[38583]],
64048: [[20398]],
64049: [[20711]],
64050: [[20813]],
64051: [[21193]],
64052: [[21220]],
64053: [[21329]],
64054: [[21917]],
64055: [[22022]],
64056: [[22120]],
64057: [[22592]],
64058: [[22696]],
64059: [[23652]],
64060: [[23662]],
64061: [[24724]],
64062: [[24936]],
64063: [[24974]],
64064: [[25074]],
64065: [[25935]],
64066: [[26082]],
64067: [[26257]],
64068: [[26757]],
64069: [[28023]],
64070: [[28186]],
64071: [[28450]],
64072: [[29038]],
64073: [[29227]],
64074: [[29730]],
64075: [[30865]],
64076: [[31038]],
64077: [[31049]],
64078: [[31048]],
64079: [[31056]],
64080: [[31062]],
64081: [[31069]],
64082: [[31117]],
64083: [[31118]],
64084: [[31296]],
64085: [[31361]],
64086: [[31680]],
64087: [[32244]],
64088: [[32265]],
64089: [[32321]],
64090: [[32626]],
64091: [[32773]],
64092: [[33261]],
64093: [[33401]],
64094: [[33401]],
64095: [[33879]],
64096: [[35088]],
64097: [[35222]],
64098: [[35585]],
64099: [[35641]],
64100: [[36051]],
64101: [[36104]],
64102: [[36790]],
64103: [[36920]],
64104: [[38627]],
64105: [[38911]],
64106: [[38971]],
64107: [[24693]],
64108: [[148206]],
64109: [[33304]],
64112: [[20006]],
64113: [[20917]],
64114: [[20840]],
64115: [[20352]],
64116: [[20805]],
64117: [[20864]],
64118: [[21191]],
64119: [[21242]],
64120: [[21917]],
64121: [[21845]],
64122: [[21913]],
64123: [[21986]],
64124: [[22618]],
64125: [[22707]],
64126: [[22852]],
64127: [[22868]],
64128: [[23138]],
64129: [[23336]],
64130: [[24274]],
64131: [[24281]],
64132: [[24425]],
64133: [[24493]],
64134: [[24792]],
64135: [[24910]],
64136: [[24840]],
64137: [[24974]],
64138: [[24928]],
64139: [[25074]],
64140: [[25140]],
64141: [[25540]],
64142: [[25628]],
64143: [[25682]],
64144: [[25942]],
64145: [[26228]],
64146: [[26391]],
64147: [[26395]],
64148: [[26454]],
64149: [[27513]],
64150: [[27578]],
64151: [[27969]],
64152: [[28379]],
64153: [[28363]],
64154: [[28450]],
64155: [[28702]],
64156: [[29038]],
64157: [[30631]],
64158: [[29237]],
64159: [[29359]],
64160: [[29482]],
64161: [[29809]],
64162: [[29958]],
64163: [[30011]],
64164: [[30237]],
64165: [[30239]],
64166: [[30410]],
64167: [[30427]],
64168: [[30452]],
64169: [[30538]],
64170: [[30528]],
64171: [[30924]],
64172: [[31409]],
64173: [[31680]],
64174: [[31867]],
64175: [[32091]],
64176: [[32244]],
64177: [[32574]],
64178: [[32773]],
64179: [[33618]],
64180: [[33775]],
64181: [[34681]],
64182: [[35137]],
64183: [[35206]],
64184: [[35222]],
64185: [[35519]],
64186: [[35576]],
64187: [[35531]],
64188: [[35585]],
64189: [[35582]],
64190: [[35565]],
64191: [[35641]],
64192: [[35722]],
64193: [[36104]],
64194: [[36664]],
64195: [[36978]],
64196: [[37273]],
64197: [[37494]],
64198: [[38524]],
64199: [[38627]],
64200: [[38742]],
64201: [[38875]],
64202: [[38911]],
64203: [[38923]],
64204: [[38971]],
64205: [[39698]],
64206: [[40860]],
64207: [[141386]],
64208: [[141380]],
64209: [[144341]],
64210: [[15261]],
64211: [[16408]],
64212: [[16441]],
64213: [[152137]],
64214: [[154832]],
64215: [[163539]],
64216: [[40771]],
64217: [[40846]],
195072: [[38953]],
195073: [[169398]],
195074: [[39138]],
195075: [[19251]],
195076: [[39209]],
195077: [[39335]],
195078: [[39362]],
195079: [[39422]],
195080: [[19406]],
195081: [[170800]],
195082: [[39698]],
195083: [[40000]],
195084: [[40189]],
195085: [[19662]],
195086: [[19693]],
195087: [[40295]],
195088: [[172238]],
195089: [[19704]],
195090: [[172293]],
195091: [[172558]],
195092: [[172689]],
195093: [[40635]],
195094: [[19798]],
195095: [[40697]],
195096: [[40702]],
195097: [[40709]],
195098: [[40719]],
195099: [[40726]],
195100: [[40763]],
195101: [[173568]]
},
64256: {
64256: [[102, 102], 256],
64257: [[102, 105], 256],
64258: [[102, 108], 256],
64259: [[102, 102, 105], 256],
64260: [[102, 102, 108], 256],
64261: [[383, 116], 256],
64262: [[115, 116], 256],
64275: [[1396, 1398], 256],
64276: [[1396, 1381], 256],
64277: [[1396, 1387], 256],
64278: [[1406, 1398], 256],
64279: [[1396, 1389], 256],
64285: [[1497, 1460], 512],
64286: [, 26],
64287: [[1522, 1463], 512],
64288: [[1506], 256],
64289: [[1488], 256],
64290: [[1491], 256],
64291: [[1492], 256],
64292: [[1499], 256],
64293: [[1500], 256],
64294: [[1501], 256],
64295: [[1512], 256],
64296: [[1514], 256],
64297: [[43], 256],
64298: [[1513, 1473], 512],
64299: [[1513, 1474], 512],
64300: [[64329, 1473], 512],
64301: [[64329, 1474], 512],
64302: [[1488, 1463], 512],
64303: [[1488, 1464], 512],
64304: [[1488, 1468], 512],
64305: [[1489, 1468], 512],
64306: [[1490, 1468], 512],
64307: [[1491, 1468], 512],
64308: [[1492, 1468], 512],
64309: [[1493, 1468], 512],
64310: [[1494, 1468], 512],
64312: [[1496, 1468], 512],
64313: [[1497, 1468], 512],
64314: [[1498, 1468], 512],
64315: [[1499, 1468], 512],
64316: [[1500, 1468], 512],
64318: [[1502, 1468], 512],
64320: [[1504, 1468], 512],
64321: [[1505, 1468], 512],
64323: [[1507, 1468], 512],
64324: [[1508, 1468], 512],
64326: [[1510, 1468], 512],
64327: [[1511, 1468], 512],
64328: [[1512, 1468], 512],
64329: [[1513, 1468], 512],
64330: [[1514, 1468], 512],
64331: [[1493, 1465], 512],
64332: [[1489, 1471], 512],
64333: [[1499, 1471], 512],
64334: [[1508, 1471], 512],
64335: [[1488, 1500], 256],
64336: [[1649], 256],
64337: [[1649], 256],
64338: [[1659], 256],
64339: [[1659], 256],
64340: [[1659], 256],
64341: [[1659], 256],
64342: [[1662], 256],
64343: [[1662], 256],
64344: [[1662], 256],
64345: [[1662], 256],
64346: [[1664], 256],
64347: [[1664], 256],
64348: [[1664], 256],
64349: [[1664], 256],
64350: [[1658], 256],
64351: [[1658], 256],
64352: [[1658], 256],
64353: [[1658], 256],
64354: [[1663], 256],
64355: [[1663], 256],
64356: [[1663], 256],
64357: [[1663], 256],
64358: [[1657], 256],
64359: [[1657], 256],
64360: [[1657], 256],
64361: [[1657], 256],
64362: [[1700], 256],
64363: [[1700], 256],
64364: [[1700], 256],
64365: [[1700], 256],
64366: [[1702], 256],
64367: [[1702], 256],
64368: [[1702], 256],
64369: [[1702], 256],
64370: [[1668], 256],
64371: [[1668], 256],
64372: [[1668], 256],
64373: [[1668], 256],
64374: [[1667], 256],
64375: [[1667], 256],
64376: [[1667], 256],
64377: [[1667], 256],
64378: [[1670], 256],
64379: [[1670], 256],
64380: [[1670], 256],
64381: [[1670], 256],
64382: [[1671], 256],
64383: [[1671], 256],
64384: [[1671], 256],
64385: [[1671], 256],
64386: [[1677], 256],
64387: [[1677], 256],
64388: [[1676], 256],
64389: [[1676], 256],
64390: [[1678], 256],
64391: [[1678], 256],
64392: [[1672], 256],
64393: [[1672], 256],
64394: [[1688], 256],
64395: [[1688], 256],
64396: [[1681], 256],
64397: [[1681], 256],
64398: [[1705], 256],
64399: [[1705], 256],
64400: [[1705], 256],
64401: [[1705], 256],
64402: [[1711], 256],
64403: [[1711], 256],
64404: [[1711], 256],
64405: [[1711], 256],
64406: [[1715], 256],
64407: [[1715], 256],
64408: [[1715], 256],
64409: [[1715], 256],
64410: [[1713], 256],
64411: [[1713], 256],
64412: [[1713], 256],
64413: [[1713], 256],
64414: [[1722], 256],
64415: [[1722], 256],
64416: [[1723], 256],
64417: [[1723], 256],
64418: [[1723], 256],
64419: [[1723], 256],
64420: [[1728], 256],
64421: [[1728], 256],
64422: [[1729], 256],
64423: [[1729], 256],
64424: [[1729], 256],
64425: [[1729], 256],
64426: [[1726], 256],
64427: [[1726], 256],
64428: [[1726], 256],
64429: [[1726], 256],
64430: [[1746], 256],
64431: [[1746], 256],
64432: [[1747], 256],
64433: [[1747], 256],
64467: [[1709], 256],
64468: [[1709], 256],
64469: [[1709], 256],
64470: [[1709], 256],
64471: [[1735], 256],
64472: [[1735], 256],
64473: [[1734], 256],
64474: [[1734], 256],
64475: [[1736], 256],
64476: [[1736], 256],
64477: [[1655], 256],
64478: [[1739], 256],
64479: [[1739], 256],
64480: [[1733], 256],
64481: [[1733], 256],
64482: [[1737], 256],
64483: [[1737], 256],
64484: [[1744], 256],
64485: [[1744], 256],
64486: [[1744], 256],
64487: [[1744], 256],
64488: [[1609], 256],
64489: [[1609], 256],
64490: [[1574, 1575], 256],
64491: [[1574, 1575], 256],
64492: [[1574, 1749], 256],
64493: [[1574, 1749], 256],
64494: [[1574, 1608], 256],
64495: [[1574, 1608], 256],
64496: [[1574, 1735], 256],
64497: [[1574, 1735], 256],
64498: [[1574, 1734], 256],
64499: [[1574, 1734], 256],
64500: [[1574, 1736], 256],
64501: [[1574, 1736], 256],
64502: [[1574, 1744], 256],
64503: [[1574, 1744], 256],
64504: [[1574, 1744], 256],
64505: [[1574, 1609], 256],
64506: [[1574, 1609], 256],
64507: [[1574, 1609], 256],
64508: [[1740], 256],
64509: [[1740], 256],
64510: [[1740], 256],
64511: [[1740], 256]
},
64512: {
64512: [[1574, 1580], 256],
64513: [[1574, 1581], 256],
64514: [[1574, 1605], 256],
64515: [[1574, 1609], 256],
64516: [[1574, 1610], 256],
64517: [[1576, 1580], 256],
64518: [[1576, 1581], 256],
64519: [[1576, 1582], 256],
64520: [[1576, 1605], 256],
64521: [[1576, 1609], 256],
64522: [[1576, 1610], 256],
64523: [[1578, 1580], 256],
64524: [[1578, 1581], 256],
64525: [[1578, 1582], 256],
64526: [[1578, 1605], 256],
64527: [[1578, 1609], 256],
64528: [[1578, 1610], 256],
64529: [[1579, 1580], 256],
64530: [[1579, 1605], 256],
64531: [[1579, 1609], 256],
64532: [[1579, 1610], 256],
64533: [[1580, 1581], 256],
64534: [[1580, 1605], 256],
64535: [[1581, 1580], 256],
64536: [[1581, 1605], 256],
64537: [[1582, 1580], 256],
64538: [[1582, 1581], 256],
64539: [[1582, 1605], 256],
64540: [[1587, 1580], 256],
64541: [[1587, 1581], 256],
64542: [[1587, 1582], 256],
64543: [[1587, 1605], 256],
64544: [[1589, 1581], 256],
64545: [[1589, 1605], 256],
64546: [[1590, 1580], 256],
64547: [[1590, 1581], 256],
64548: [[1590, 1582], 256],
64549: [[1590, 1605], 256],
64550: [[1591, 1581], 256],
64551: [[1591, 1605], 256],
64552: [[1592, 1605], 256],
64553: [[1593, 1580], 256],
64554: [[1593, 1605], 256],
64555: [[1594, 1580], 256],
64556: [[1594, 1605], 256],
64557: [[1601, 1580], 256],
64558: [[1601, 1581], 256],
64559: [[1601, 1582], 256],
64560: [[1601, 1605], 256],
64561: [[1601, 1609], 256],
64562: [[1601, 1610], 256],
64563: [[1602, 1581], 256],
64564: [[1602, 1605], 256],
64565: [[1602, 1609], 256],
64566: [[1602, 1610], 256],
64567: [[1603, 1575], 256],
64568: [[1603, 1580], 256],
64569: [[1603, 1581], 256],
64570: [[1603, 1582], 256],
64571: [[1603, 1604], 256],
64572: [[1603, 1605], 256],
64573: [[1603, 1609], 256],
64574: [[1603, 1610], 256],
64575: [[1604, 1580], 256],
64576: [[1604, 1581], 256],
64577: [[1604, 1582], 256],
64578: [[1604, 1605], 256],
64579: [[1604, 1609], 256],
64580: [[1604, 1610], 256],
64581: [[1605, 1580], 256],
64582: [[1605, 1581], 256],
64583: [[1605, 1582], 256],
64584: [[1605, 1605], 256],
64585: [[1605, 1609], 256],
64586: [[1605, 1610], 256],
64587: [[1606, 1580], 256],
64588: [[1606, 1581], 256],
64589: [[1606, 1582], 256],
64590: [[1606, 1605], 256],
64591: [[1606, 1609], 256],
64592: [[1606, 1610], 256],
64593: [[1607, 1580], 256],
64594: [[1607, 1605], 256],
64595: [[1607, 1609], 256],
64596: [[1607, 1610], 256],
64597: [[1610, 1580], 256],
64598: [[1610, 1581], 256],
64599: [[1610, 1582], 256],
64600: [[1610, 1605], 256],
64601: [[1610, 1609], 256],
64602: [[1610, 1610], 256],
64603: [[1584, 1648], 256],
64604: [[1585, 1648], 256],
64605: [[1609, 1648], 256],
64606: [[32, 1612, 1617], 256],
64607: [[32, 1613, 1617], 256],
64608: [[32, 1614, 1617], 256],
64609: [[32, 1615, 1617], 256],
64610: [[32, 1616, 1617], 256],
64611: [[32, 1617, 1648], 256],
64612: [[1574, 1585], 256],
64613: [[1574, 1586], 256],
64614: [[1574, 1605], 256],
64615: [[1574, 1606], 256],
64616: [[1574, 1609], 256],
64617: [[1574, 1610], 256],
64618: [[1576, 1585], 256],
64619: [[1576, 1586], 256],
64620: [[1576, 1605], 256],
64621: [[1576, 1606], 256],
64622: [[1576, 1609], 256],
64623: [[1576, 1610], 256],
64624: [[1578, 1585], 256],
64625: [[1578, 1586], 256],
64626: [[1578, 1605], 256],
64627: [[1578, 1606], 256],
64628: [[1578, 1609], 256],
64629: [[1578, 1610], 256],
64630: [[1579, 1585], 256],
64631: [[1579, 1586], 256],
64632: [[1579, 1605], 256],
64633: [[1579, 1606], 256],
64634: [[1579, 1609], 256],
64635: [[1579, 1610], 256],
64636: [[1601, 1609], 256],
64637: [[1601, 1610], 256],
64638: [[1602, 1609], 256],
64639: [[1602, 1610], 256],
64640: [[1603, 1575], 256],
64641: [[1603, 1604], 256],
64642: [[1603, 1605], 256],
64643: [[1603, 1609], 256],
64644: [[1603, 1610], 256],
64645: [[1604, 1605], 256],
64646: [[1604, 1609], 256],
64647: [[1604, 1610], 256],
64648: [[1605, 1575], 256],
64649: [[1605, 1605], 256],
64650: [[1606, 1585], 256],
64651: [[1606, 1586], 256],
64652: [[1606, 1605], 256],
64653: [[1606, 1606], 256],
64654: [[1606, 1609], 256],
64655: [[1606, 1610], 256],
64656: [[1609, 1648], 256],
64657: [[1610, 1585], 256],
64658: [[1610, 1586], 256],
64659: [[1610, 1605], 256],
64660: [[1610, 1606], 256],
64661: [[1610, 1609], 256],
64662: [[1610, 1610], 256],
64663: [[1574, 1580], 256],
64664: [[1574, 1581], 256],
64665: [[1574, 1582], 256],
64666: [[1574, 1605], 256],
64667: [[1574, 1607], 256],
64668: [[1576, 1580], 256],
64669: [[1576, 1581], 256],
64670: [[1576, 1582], 256],
64671: [[1576, 1605], 256],
64672: [[1576, 1607], 256],
64673: [[1578, 1580], 256],
64674: [[1578, 1581], 256],
64675: [[1578, 1582], 256],
64676: [[1578, 1605], 256],
64677: [[1578, 1607], 256],
64678: [[1579, 1605], 256],
64679: [[1580, 1581], 256],
64680: [[1580, 1605], 256],
64681: [[1581, 1580], 256],
64682: [[1581, 1605], 256],
64683: [[1582, 1580], 256],
64684: [[1582, 1605], 256],
64685: [[1587, 1580], 256],
64686: [[1587, 1581], 256],
64687: [[1587, 1582], 256],
64688: [[1587, 1605], 256],
64689: [[1589, 1581], 256],
64690: [[1589, 1582], 256],
64691: [[1589, 1605], 256],
64692: [[1590, 1580], 256],
64693: [[1590, 1581], 256],
64694: [[1590, 1582], 256],
64695: [[1590, 1605], 256],
64696: [[1591, 1581], 256],
64697: [[1592, 1605], 256],
64698: [[1593, 1580], 256],
64699: [[1593, 1605], 256],
64700: [[1594, 1580], 256],
64701: [[1594, 1605], 256],
64702: [[1601, 1580], 256],
64703: [[1601, 1581], 256],
64704: [[1601, 1582], 256],
64705: [[1601, 1605], 256],
64706: [[1602, 1581], 256],
64707: [[1602, 1605], 256],
64708: [[1603, 1580], 256],
64709: [[1603, 1581], 256],
64710: [[1603, 1582], 256],
64711: [[1603, 1604], 256],
64712: [[1603, 1605], 256],
64713: [[1604, 1580], 256],
64714: [[1604, 1581], 256],
64715: [[1604, 1582], 256],
64716: [[1604, 1605], 256],
64717: [[1604, 1607], 256],
64718: [[1605, 1580], 256],
64719: [[1605, 1581], 256],
64720: [[1605, 1582], 256],
64721: [[1605, 1605], 256],
64722: [[1606, 1580], 256],
64723: [[1606, 1581], 256],
64724: [[1606, 1582], 256],
64725: [[1606, 1605], 256],
64726: [[1606, 1607], 256],
64727: [[1607, 1580], 256],
64728: [[1607, 1605], 256],
64729: [[1607, 1648], 256],
64730: [[1610, 1580], 256],
64731: [[1610, 1581], 256],
64732: [[1610, 1582], 256],
64733: [[1610, 1605], 256],
64734: [[1610, 1607], 256],
64735: [[1574, 1605], 256],
64736: [[1574, 1607], 256],
64737: [[1576, 1605], 256],
64738: [[1576, 1607], 256],
64739: [[1578, 1605], 256],
64740: [[1578, 1607], 256],
64741: [[1579, 1605], 256],
64742: [[1579, 1607], 256],
64743: [[1587, 1605], 256],
64744: [[1587, 1607], 256],
64745: [[1588, 1605], 256],
64746: [[1588, 1607], 256],
64747: [[1603, 1604], 256],
64748: [[1603, 1605], 256],
64749: [[1604, 1605], 256],
64750: [[1606, 1605], 256],
64751: [[1606, 1607], 256],
64752: [[1610, 1605], 256],
64753: [[1610, 1607], 256],
64754: [[1600, 1614, 1617], 256],
64755: [[1600, 1615, 1617], 256],
64756: [[1600, 1616, 1617], 256],
64757: [[1591, 1609], 256],
64758: [[1591, 1610], 256],
64759: [[1593, 1609], 256],
64760: [[1593, 1610], 256],
64761: [[1594, 1609], 256],
64762: [[1594, 1610], 256],
64763: [[1587, 1609], 256],
64764: [[1587, 1610], 256],
64765: [[1588, 1609], 256],
64766: [[1588, 1610], 256],
64767: [[1581, 1609], 256]
},
64768: {
64768: [[1581, 1610], 256],
64769: [[1580, 1609], 256],
64770: [[1580, 1610], 256],
64771: [[1582, 1609], 256],
64772: [[1582, 1610], 256],
64773: [[1589, 1609], 256],
64774: [[1589, 1610], 256],
64775: [[1590, 1609], 256],
64776: [[1590, 1610], 256],
64777: [[1588, 1580], 256],
64778: [[1588, 1581], 256],
64779: [[1588, 1582], 256],
64780: [[1588, 1605], 256],
64781: [[1588, 1585], 256],
64782: [[1587, 1585], 256],
64783: [[1589, 1585], 256],
64784: [[1590, 1585], 256],
64785: [[1591, 1609], 256],
64786: [[1591, 1610], 256],
64787: [[1593, 1609], 256],
64788: [[1593, 1610], 256],
64789: [[1594, 1609], 256],
64790: [[1594, 1610], 256],
64791: [[1587, 1609], 256],
64792: [[1587, 1610], 256],
64793: [[1588, 1609], 256],
64794: [[1588, 1610], 256],
64795: [[1581, 1609], 256],
64796: [[1581, 1610], 256],
64797: [[1580, 1609], 256],
64798: [[1580, 1610], 256],
64799: [[1582, 1609], 256],
64800: [[1582, 1610], 256],
64801: [[1589, 1609], 256],
64802: [[1589, 1610], 256],
64803: [[1590, 1609], 256],
64804: [[1590, 1610], 256],
64805: [[1588, 1580], 256],
64806: [[1588, 1581], 256],
64807: [[1588, 1582], 256],
64808: [[1588, 1605], 256],
64809: [[1588, 1585], 256],
64810: [[1587, 1585], 256],
64811: [[1589, 1585], 256],
64812: [[1590, 1585], 256],
64813: [[1588, 1580], 256],
64814: [[1588, 1581], 256],
64815: [[1588, 1582], 256],
64816: [[1588, 1605], 256],
64817: [[1587, 1607], 256],
64818: [[1588, 1607], 256],
64819: [[1591, 1605], 256],
64820: [[1587, 1580], 256],
64821: [[1587, 1581], 256],
64822: [[1587, 1582], 256],
64823: [[1588, 1580], 256],
64824: [[1588, 1581], 256],
64825: [[1588, 1582], 256],
64826: [[1591, 1605], 256],
64827: [[1592, 1605], 256],
64828: [[1575, 1611], 256],
64829: [[1575, 1611], 256],
64848: [[1578, 1580, 1605], 256],
64849: [[1578, 1581, 1580], 256],
64850: [[1578, 1581, 1580], 256],
64851: [[1578, 1581, 1605], 256],
64852: [[1578, 1582, 1605], 256],
64853: [[1578, 1605, 1580], 256],
64854: [[1578, 1605, 1581], 256],
64855: [[1578, 1605, 1582], 256],
64856: [[1580, 1605, 1581], 256],
64857: [[1580, 1605, 1581], 256],
64858: [[1581, 1605, 1610], 256],
64859: [[1581, 1605, 1609], 256],
64860: [[1587, 1581, 1580], 256],
64861: [[1587, 1580, 1581], 256],
64862: [[1587, 1580, 1609], 256],
64863: [[1587, 1605, 1581], 256],
64864: [[1587, 1605, 1581], 256],
64865: [[1587, 1605, 1580], 256],
64866: [[1587, 1605, 1605], 256],
64867: [[1587, 1605, 1605], 256],
64868: [[1589, 1581, 1581], 256],
64869: [[1589, 1581, 1581], 256],
64870: [[1589, 1605, 1605], 256],
64871: [[1588, 1581, 1605], 256],
64872: [[1588, 1581, 1605], 256],
64873: [[1588, 1580, 1610], 256],
64874: [[1588, 1605, 1582], 256],
64875: [[1588, 1605, 1582], 256],
64876: [[1588, 1605, 1605], 256],
64877: [[1588, 1605, 1605], 256],
64878: [[1590, 1581, 1609], 256],
64879: [[1590, 1582, 1605], 256],
64880: [[1590, 1582, 1605], 256],
64881: [[1591, 1605, 1581], 256],
64882: [[1591, 1605, 1581], 256],
64883: [[1591, 1605, 1605], 256],
64884: [[1591, 1605, 1610], 256],
64885: [[1593, 1580, 1605], 256],
64886: [[1593, 1605, 1605], 256],
64887: [[1593, 1605, 1605], 256],
64888: [[1593, 1605, 1609], 256],
64889: [[1594, 1605, 1605], 256],
64890: [[1594, 1605, 1610], 256],
64891: [[1594, 1605, 1609], 256],
64892: [[1601, 1582, 1605], 256],
64893: [[1601, 1582, 1605], 256],
64894: [[1602, 1605, 1581], 256],
64895: [[1602, 1605, 1605], 256],
64896: [[1604, 1581, 1605], 256],
64897: [[1604, 1581, 1610], 256],
64898: [[1604, 1581, 1609], 256],
64899: [[1604, 1580, 1580], 256],
64900: [[1604, 1580, 1580], 256],
64901: [[1604, 1582, 1605], 256],
64902: [[1604, 1582, 1605], 256],
64903: [[1604, 1605, 1581], 256],
64904: [[1604, 1605, 1581], 256],
64905: [[1605, 1581, 1580], 256],
64906: [[1605, 1581, 1605], 256],
64907: [[1605, 1581, 1610], 256],
64908: [[1605, 1580, 1581], 256],
64909: [[1605, 1580, 1605], 256],
64910: [[1605, 1582, 1580], 256],
64911: [[1605, 1582, 1605], 256],
64914: [[1605, 1580, 1582], 256],
64915: [[1607, 1605, 1580], 256],
64916: [[1607, 1605, 1605], 256],
64917: [[1606, 1581, 1605], 256],
64918: [[1606, 1581, 1609], 256],
64919: [[1606, 1580, 1605], 256],
64920: [[1606, 1580, 1605], 256],
64921: [[1606, 1580, 1609], 256],
64922: [[1606, 1605, 1610], 256],
64923: [[1606, 1605, 1609], 256],
64924: [[1610, 1605, 1605], 256],
64925: [[1610, 1605, 1605], 256],
64926: [[1576, 1582, 1610], 256],
64927: [[1578, 1580, 1610], 256],
64928: [[1578, 1580, 1609], 256],
64929: [[1578, 1582, 1610], 256],
64930: [[1578, 1582, 1609], 256],
64931: [[1578, 1605, 1610], 256],
64932: [[1578, 1605, 1609], 256],
64933: [[1580, 1605, 1610], 256],
64934: [[1580, 1581, 1609], 256],
64935: [[1580, 1605, 1609], 256],
64936: [[1587, 1582, 1609], 256],
64937: [[1589, 1581, 1610], 256],
64938: [[1588, 1581, 1610], 256],
64939: [[1590, 1581, 1610], 256],
64940: [[1604, 1580, 1610], 256],
64941: [[1604, 1605, 1610], 256],
64942: [[1610, 1581, 1610], 256],
64943: [[1610, 1580, 1610], 256],
64944: [[1610, 1605, 1610], 256],
64945: [[1605, 1605, 1610], 256],
64946: [[1602, 1605, 1610], 256],
64947: [[1606, 1581, 1610], 256],
64948: [[1602, 1605, 1581], 256],
64949: [[1604, 1581, 1605], 256],
64950: [[1593, 1605, 1610], 256],
64951: [[1603, 1605, 1610], 256],
64952: [[1606, 1580, 1581], 256],
64953: [[1605, 1582, 1610], 256],
64954: [[1604, 1580, 1605], 256],
64955: [[1603, 1605, 1605], 256],
64956: [[1604, 1580, 1605], 256],
64957: [[1606, 1580, 1581], 256],
64958: [[1580, 1581, 1610], 256],
64959: [[1581, 1580, 1610], 256],
64960: [[1605, 1580, 1610], 256],
64961: [[1601, 1605, 1610], 256],
64962: [[1576, 1581, 1610], 256],
64963: [[1603, 1605, 1605], 256],
64964: [[1593, 1580, 1605], 256],
64965: [[1589, 1605, 1605], 256],
64966: [[1587, 1582, 1610], 256],
64967: [[1606, 1580, 1610], 256],
65008: [[1589, 1604, 1746], 256],
65009: [[1602, 1604, 1746], 256],
65010: [[1575, 1604, 1604, 1607], 256],
65011: [[1575, 1603, 1576, 1585], 256],
65012: [[1605, 1581, 1605, 1583], 256],
65013: [[1589, 1604, 1593, 1605], 256],
65014: [[1585, 1587, 1608, 1604], 256],
65015: [[1593, 1604, 1610, 1607], 256],
65016: [[1608, 1587, 1604, 1605], 256],
65017: [[1589, 1604, 1609], 256],
65018: [
[
1589, 1604, 1609, 32, 1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, 1607, 32, 1608,
1587, 1604, 1605
],
256
],
65019: [[1580, 1604, 32, 1580, 1604, 1575, 1604, 1607], 256],
65020: [[1585, 1740, 1575, 1604], 256]
},
65024: {
65040: [[44], 256],
65041: [[12289], 256],
65042: [[12290], 256],
65043: [[58], 256],
65044: [[59], 256],
65045: [[33], 256],
65046: [[63], 256],
65047: [[12310], 256],
65048: [[12311], 256],
65049: [[8230], 256],
65056: [, 230],
65057: [, 230],
65058: [, 230],
65059: [, 230],
65060: [, 230],
65061: [, 230],
65062: [, 230],
65072: [[8229], 256],
65073: [[8212], 256],
65074: [[8211], 256],
65075: [[95], 256],
65076: [[95], 256],
65077: [[40], 256],
65078: [[41], 256],
65079: [[123], 256],
65080: [[125], 256],
65081: [[12308], 256],
65082: [[12309], 256],
65083: [[12304], 256],
65084: [[12305], 256],
65085: [[12298], 256],
65086: [[12299], 256],
65087: [[12296], 256],
65088: [[12297], 256],
65089: [[12300], 256],
65090: [[12301], 256],
65091: [[12302], 256],
65092: [[12303], 256],
65095: [[91], 256],
65096: [[93], 256],
65097: [[8254], 256],
65098: [[8254], 256],
65099: [[8254], 256],
65100: [[8254], 256],
65101: [[95], 256],
65102: [[95], 256],
65103: [[95], 256],
65104: [[44], 256],
65105: [[12289], 256],
65106: [[46], 256],
65108: [[59], 256],
65109: [[58], 256],
65110: [[63], 256],
65111: [[33], 256],
65112: [[8212], 256],
65113: [[40], 256],
65114: [[41], 256],
65115: [[123], 256],
65116: [[125], 256],
65117: [[12308], 256],
65118: [[12309], 256],
65119: [[35], 256],
65120: [[38], 256],
65121: [[42], 256],
65122: [[43], 256],
65123: [[45], 256],
65124: [[60], 256],
65125: [[62], 256],
65126: [[61], 256],
65128: [[92], 256],
65129: [[36], 256],
65130: [[37], 256],
65131: [[64], 256],
65136: [[32, 1611], 256],
65137: [[1600, 1611], 256],
65138: [[32, 1612], 256],
65140: [[32, 1613], 256],
65142: [[32, 1614], 256],
65143: [[1600, 1614], 256],
65144: [[32, 1615], 256],
65145: [[1600, 1615], 256],
65146: [[32, 1616], 256],
65147: [[1600, 1616], 256],
65148: [[32, 1617], 256],
65149: [[1600, 1617], 256],
65150: [[32, 1618], 256],
65151: [[1600, 1618], 256],
65152: [[1569], 256],
65153: [[1570], 256],
65154: [[1570], 256],
65155: [[1571], 256],
65156: [[1571], 256],
65157: [[1572], 256],
65158: [[1572], 256],
65159: [[1573], 256],
65160: [[1573], 256],
65161: [[1574], 256],
65162: [[1574], 256],
65163: [[1574], 256],
65164: [[1574], 256],
65165: [[1575], 256],
65166: [[1575], 256],
65167: [[1576], 256],
65168: [[1576], 256],
65169: [[1576], 256],
65170: [[1576], 256],
65171: [[1577], 256],
65172: [[1577], 256],
65173: [[1578], 256],
65174: [[1578], 256],
65175: [[1578], 256],
65176: [[1578], 256],
65177: [[1579], 256],
65178: [[1579], 256],
65179: [[1579], 256],
65180: [[1579], 256],
65181: [[1580], 256],
65182: [[1580], 256],
65183: [[1580], 256],
65184: [[1580], 256],
65185: [[1581], 256],
65186: [[1581], 256],
65187: [[1581], 256],
65188: [[1581], 256],
65189: [[1582], 256],
65190: [[1582], 256],
65191: [[1582], 256],
65192: [[1582], 256],
65193: [[1583], 256],
65194: [[1583], 256],
65195: [[1584], 256],
65196: [[1584], 256],
65197: [[1585], 256],
65198: [[1585], 256],
65199: [[1586], 256],
65200: [[1586], 256],
65201: [[1587], 256],
65202: [[1587], 256],
65203: [[1587], 256],
65204: [[1587], 256],
65205: [[1588], 256],
65206: [[1588], 256],
65207: [[1588], 256],
65208: [[1588], 256],
65209: [[1589], 256],
65210: [[1589], 256],
65211: [[1589], 256],
65212: [[1589], 256],
65213: [[1590], 256],
65214: [[1590], 256],
65215: [[1590], 256],
65216: [[1590], 256],
65217: [[1591], 256],
65218: [[1591], 256],
65219: [[1591], 256],
65220: [[1591], 256],
65221: [[1592], 256],
65222: [[1592], 256],
65223: [[1592], 256],
65224: [[1592], 256],
65225: [[1593], 256],
65226: [[1593], 256],
65227: [[1593], 256],
65228: [[1593], 256],
65229: [[1594], 256],
65230: [[1594], 256],
65231: [[1594], 256],
65232: [[1594], 256],
65233: [[1601], 256],
65234: [[1601], 256],
65235: [[1601], 256],
65236: [[1601], 256],
65237: [[1602], 256],
65238: [[1602], 256],
65239: [[1602], 256],
65240: [[1602], 256],
65241: [[1603], 256],
65242: [[1603], 256],
65243: [[1603], 256],
65244: [[1603], 256],
65245: [[1604], 256],
65246: [[1604], 256],
65247: [[1604], 256],
65248: [[1604], 256],
65249: [[1605], 256],
65250: [[1605], 256],
65251: [[1605], 256],
65252: [[1605], 256],
65253: [[1606], 256],
65254: [[1606], 256],
65255: [[1606], 256],
65256: [[1606], 256],
65257: [[1607], 256],
65258: [[1607], 256],
65259: [[1607], 256],
65260: [[1607], 256],
65261: [[1608], 256],
65262: [[1608], 256],
65263: [[1609], 256],
65264: [[1609], 256],
65265: [[1610], 256],
65266: [[1610], 256],
65267: [[1610], 256],
65268: [[1610], 256],
65269: [[1604, 1570], 256],
65270: [[1604, 1570], 256],
65271: [[1604, 1571], 256],
65272: [[1604, 1571], 256],
65273: [[1604, 1573], 256],
65274: [[1604, 1573], 256],
65275: [[1604, 1575], 256],
65276: [[1604, 1575], 256]
},
65280: {
65281: [[33], 256],
65282: [[34], 256],
65283: [[35], 256],
65284: [[36], 256],
65285: [[37], 256],
65286: [[38], 256],
65287: [[39], 256],
65288: [[40], 256],
65289: [[41], 256],
65290: [[42], 256],
65291: [[43], 256],
65292: [[44], 256],
65293: [[45], 256],
65294: [[46], 256],
65295: [[47], 256],
65296: [[48], 256],
65297: [[49], 256],
65298: [[50], 256],
65299: [[51], 256],
65300: [[52], 256],
65301: [[53], 256],
65302: [[54], 256],
65303: [[55], 256],
65304: [[56], 256],
65305: [[57], 256],
65306: [[58], 256],
65307: [[59], 256],
65308: [[60], 256],
65309: [[61], 256],
65310: [[62], 256],
65311: [[63], 256],
65312: [[64], 256],
65313: [[65], 256],
65314: [[66], 256],
65315: [[67], 256],
65316: [[68], 256],
65317: [[69], 256],
65318: [[70], 256],
65319: [[71], 256],
65320: [[72], 256],
65321: [[73], 256],
65322: [[74], 256],
65323: [[75], 256],
65324: [[76], 256],
65325: [[77], 256],
65326: [[78], 256],
65327: [[79], 256],
65328: [[80], 256],
65329: [[81], 256],
65330: [[82], 256],
65331: [[83], 256],
65332: [[84], 256],
65333: [[85], 256],
65334: [[86], 256],
65335: [[87], 256],
65336: [[88], 256],
65337: [[89], 256],
65338: [[90], 256],
65339: [[91], 256],
65340: [[92], 256],
65341: [[93], 256],
65342: [[94], 256],
65343: [[95], 256],
65344: [[96], 256],
65345: [[97], 256],
65346: [[98], 256],
65347: [[99], 256],
65348: [[100], 256],
65349: [[101], 256],
65350: [[102], 256],
65351: [[103], 256],
65352: [[104], 256],
65353: [[105], 256],
65354: [[106], 256],
65355: [[107], 256],
65356: [[108], 256],
65357: [[109], 256],
65358: [[110], 256],
65359: [[111], 256],
65360: [[112], 256],
65361: [[113], 256],
65362: [[114], 256],
65363: [[115], 256],
65364: [[116], 256],
65365: [[117], 256],
65366: [[118], 256],
65367: [[119], 256],
65368: [[120], 256],
65369: [[121], 256],
65370: [[122], 256],
65371: [[123], 256],
65372: [[124], 256],
65373: [[125], 256],
65374: [[126], 256],
65375: [[10629], 256],
65376: [[10630], 256],
65377: [[12290], 256],
65378: [[12300], 256],
65379: [[12301], 256],
65380: [[12289], 256],
65381: [[12539], 256],
65382: [[12530], 256],
65383: [[12449], 256],
65384: [[12451], 256],
65385: [[12453], 256],
65386: [[12455], 256],
65387: [[12457], 256],
65388: [[12515], 256],
65389: [[12517], 256],
65390: [[12519], 256],
65391: [[12483], 256],
65392: [[12540], 256],
65393: [[12450], 256],
65394: [[12452], 256],
65395: [[12454], 256],
65396: [[12456], 256],
65397: [[12458], 256],
65398: [[12459], 256],
65399: [[12461], 256],
65400: [[12463], 256],
65401: [[12465], 256],
65402: [[12467], 256],
65403: [[12469], 256],
65404: [[12471], 256],
65405: [[12473], 256],
65406: [[12475], 256],
65407: [[12477], 256],
65408: [[12479], 256],
65409: [[12481], 256],
65410: [[12484], 256],
65411: [[12486], 256],
65412: [[12488], 256],
65413: [[12490], 256],
65414: [[12491], 256],
65415: [[12492], 256],
65416: [[12493], 256],
65417: [[12494], 256],
65418: [[12495], 256],
65419: [[12498], 256],
65420: [[12501], 256],
65421: [[12504], 256],
65422: [[12507], 256],
65423: [[12510], 256],
65424: [[12511], 256],
65425: [[12512], 256],
65426: [[12513], 256],
65427: [[12514], 256],
65428: [[12516], 256],
65429: [[12518], 256],
65430: [[12520], 256],
65431: [[12521], 256],
65432: [[12522], 256],
65433: [[12523], 256],
65434: [[12524], 256],
65435: [[12525], 256],
65436: [[12527], 256],
65437: [[12531], 256],
65438: [[12441], 256],
65439: [[12442], 256],
65440: [[12644], 256],
65441: [[12593], 256],
65442: [[12594], 256],
65443: [[12595], 256],
65444: [[12596], 256],
65445: [[12597], 256],
65446: [[12598], 256],
65447: [[12599], 256],
65448: [[12600], 256],
65449: [[12601], 256],
65450: [[12602], 256],
65451: [[12603], 256],
65452: [[12604], 256],
65453: [[12605], 256],
65454: [[12606], 256],
65455: [[12607], 256],
65456: [[12608], 256],
65457: [[12609], 256],
65458: [[12610], 256],
65459: [[12611], 256],
65460: [[12612], 256],
65461: [[12613], 256],
65462: [[12614], 256],
65463: [[12615], 256],
65464: [[12616], 256],
65465: [[12617], 256],
65466: [[12618], 256],
65467: [[12619], 256],
65468: [[12620], 256],
65469: [[12621], 256],
65470: [[12622], 256],
65474: [[12623], 256],
65475: [[12624], 256],
65476: [[12625], 256],
65477: [[12626], 256],
65478: [[12627], 256],
65479: [[12628], 256],
65482: [[12629], 256],
65483: [[12630], 256],
65484: [[12631], 256],
65485: [[12632], 256],
65486: [[12633], 256],
65487: [[12634], 256],
65490: [[12635], 256],
65491: [[12636], 256],
65492: [[12637], 256],
65493: [[12638], 256],
65494: [[12639], 256],
65495: [[12640], 256],
65498: [[12641], 256],
65499: [[12642], 256],
65500: [[12643], 256],
65504: [[162], 256],
65505: [[163], 256],
65506: [[172], 256],
65507: [[175], 256],
65508: [[166], 256],
65509: [[165], 256],
65510: [[8361], 256],
65512: [[9474], 256],
65513: [[8592], 256],
65514: [[8593], 256],
65515: [[8594], 256],
65516: [[8595], 256],
65517: [[9632], 256],
65518: [[9675], 256]
}
};
es5-ext-0.10.53/string/#/normalize/implement.js 0000664 0000000 0000000 00000000314 13565534140 0021136 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(String.prototype, "normalize", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/string/#/normalize/index.js 0000664 0000000 0000000 00000000160 13565534140 0020252 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? String.prototype.normalize : require("./shim");
es5-ext-0.10.53/string/#/normalize/is-implemented.js 0000664 0000000 0000000 00000000272 13565534140 0022063 0 ustar 00root root 0000000 0000000 "use strict";
var str = "æøåäüö";
module.exports = function () {
if (typeof str.normalize !== "function") return false;
return str.normalize("NFKD") === "æøåäüö";
};
es5-ext-0.10.53/string/#/normalize/shim.js 0000664 0000000 0000000 00000020110 13565534140 0020100 0 ustar 00root root 0000000 0000000 /* eslint no-bitwise: "off", max-statements: "off", max-lines: "off" */
// Taken from: https://github.com/walling/unorm/blob/master/lib/unorm.js
/*
* UnicodeNormalizer 1.0.0
* Copyright (c) 2008 Matsuza
* Dual licensed under the MIT (MIT-LICENSE.txt) and
* GPL (GPL-LICENSE.txt) licenses.
* $Date: 2008-06-05 16:44:17 +0200 (Thu, 05 Jun 2008) $
* $Rev: 13309 $
*/
"use strict";
var primitiveSet = require("../../../object/primitive-set")
, validValue = require("../../../object/valid-value")
, data = require("./_data");
var floor = Math.floor
, forms = primitiveSet("NFC", "NFD", "NFKC", "NFKD")
, DEFAULT_FEATURE = [null, 0, {}]
, CACHE_THRESHOLD = 10
, SBase = 0xac00
, LBase = 0x1100
, VBase = 0x1161
, TBase = 0x11a7
, LCount = 19
, VCount = 21
, TCount = 28
, NCount = VCount * TCount
, SCount = LCount * NCount
, UChar
, cache = {}
, cacheCounter = []
, fromCache
, fromData
, fromCpOnly
, fromRuleBasedJamo
, fromCpFilter
, strategies
, UCharIterator
, RecursDecompIterator
, DecompIterator
, CompIterator
, createIterator
, normalize;
UChar = function (cp, feature) {
this.codepoint = cp;
this.feature = feature;
};
// Strategies
(function () { for (var i = 0; i <= 0xff; ++i) cacheCounter[i] = 0; })();
fromCache = function (nextStep, cp, needFeature) {
var ret = cache[cp];
if (!ret) {
ret = nextStep(cp, needFeature);
if (Boolean(ret.feature) && ++cacheCounter[(cp >> 8) & 0xff] > CACHE_THRESHOLD) {
cache[cp] = ret;
}
}
return ret;
};
fromData = function (next, cp) {
var hash = cp & 0xff00, dunit = UChar.udata[hash] || {}, feature = dunit[cp];
return feature ? new UChar(cp, feature) : new UChar(cp, DEFAULT_FEATURE);
};
fromCpOnly = function (next, cp, needFeature) {
return needFeature ? next(cp, needFeature) : new UChar(cp, null);
};
fromRuleBasedJamo = function (next, cp, needFeature) {
var char, base, i, arr, SIndex, TIndex, feature, j;
if (cp < LBase || (LBase + LCount <= cp && cp < SBase) || SBase + SCount < cp) {
return next(cp, needFeature);
}
if (LBase <= cp && cp < LBase + LCount) {
char = {};
base = (cp - LBase) * VCount;
for (i = 0; i < VCount; ++i) {
char[VBase + i] = SBase + TCount * (i + base);
}
arr = new Array(3);
arr[2] = char;
return new UChar(cp, arr);
}
SIndex = cp - SBase;
TIndex = SIndex % TCount;
feature = [];
if (TIndex === 0) {
feature[0] = [LBase + floor(SIndex / NCount), VBase + floor((SIndex % NCount) / TCount)];
feature[2] = {};
for (j = 1; j < TCount; ++j) {
feature[2][TBase + j] = cp + j;
}
} else {
feature[0] = [SBase + SIndex - TIndex, TBase + TIndex];
}
return new UChar(cp, feature);
};
fromCpFilter = function (next, cp, needFeature) {
return cp < 60 || (cp > 13311 && cp < 42607)
? new UChar(cp, DEFAULT_FEATURE)
: next(cp, needFeature);
};
strategies = [fromCpFilter, fromCache, fromCpOnly, fromRuleBasedJamo, fromData];
UChar.fromCharCode = strategies.reduceRight(function (next, strategy) {
return function (cp, needFeature) { return strategy(next, cp, needFeature); };
}, null);
UChar.isHighSurrogate = function (cp) { return cp >= 0xd800 && cp <= 0xdbff; };
UChar.isLowSurrogate = function (cp) { return cp >= 0xdc00 && cp <= 0xdfff; };
UChar.prototype.prepFeature = function () {
if (!this.feature) {
this.feature = UChar.fromCharCode(this.codepoint, true).feature;
}
};
UChar.prototype.toString = function () {
var num;
if (this.codepoint < 0x10000) return String.fromCharCode(this.codepoint);
num = this.codepoint - 0x10000;
return String.fromCharCode(floor(num / 0x400) + 0xd800, (num % 0x400) + 0xdc00);
};
UChar.prototype.getDecomp = function () {
this.prepFeature();
return this.feature[0] || null;
};
UChar.prototype.isCompatibility = function () {
this.prepFeature();
return Boolean(this.feature[1]) && this.feature[1] & (1 << 8);
};
UChar.prototype.isExclude = function () {
this.prepFeature();
return Boolean(this.feature[1]) && this.feature[1] & (1 << 9);
};
UChar.prototype.getCanonicalClass = function () {
this.prepFeature();
return this.feature[1] ? this.feature[1] & 0xff : 0;
};
UChar.prototype.getComposite = function (following) {
var cp;
this.prepFeature();
if (!this.feature[2]) return null;
cp = this.feature[2][following.codepoint];
return cp ? UChar.fromCharCode(cp) : null;
};
UCharIterator = function (str) {
this.str = str;
this.cursor = 0;
};
UCharIterator.prototype.next = function () {
if (Boolean(this.str) && this.cursor < this.str.length) {
var cp = this.str.charCodeAt(this.cursor++), d;
if (
UChar.isHighSurrogate(cp) &&
this.cursor < this.str.length &&
UChar.isLowSurrogate((d = this.str.charCodeAt(this.cursor)))
) {
cp = (cp - 0xd800) * 0x400 + (d - 0xdc00) + 0x10000;
++this.cursor;
}
return UChar.fromCharCode(cp);
}
this.str = null;
return null;
};
RecursDecompIterator = function (it, cano) {
this.it = it;
this.canonical = cano;
this.resBuf = [];
};
RecursDecompIterator.prototype.next = function () {
var recursiveDecomp, uchar;
recursiveDecomp = function (cano, ucharLoc) {
var decomp = ucharLoc.getDecomp(), ret, i, a, j;
if (Boolean(decomp) && !(cano && ucharLoc.isCompatibility())) {
ret = [];
for (i = 0; i < decomp.length; ++i) {
a = recursiveDecomp(cano, UChar.fromCharCode(decomp[i]));
// Ret.concat(a); //<-why does not this work?
// following block is a workaround.
for (j = 0; j < a.length; ++j) ret.push(a[j]);
}
return ret;
}
return [ucharLoc];
};
if (this.resBuf.length === 0) {
uchar = this.it.next();
if (!uchar) return null;
this.resBuf = recursiveDecomp(this.canonical, uchar);
}
return this.resBuf.shift();
};
DecompIterator = function (it) {
this.it = it;
this.resBuf = [];
};
DecompIterator.prototype.next = function () {
var cc, uchar, inspt, uchar2, cc2;
if (this.resBuf.length === 0) {
do {
uchar = this.it.next();
if (!uchar) break;
cc = uchar.getCanonicalClass();
inspt = this.resBuf.length;
if (cc !== 0) {
for (inspt; inspt > 0; --inspt) {
uchar2 = this.resBuf[inspt - 1];
cc2 = uchar2.getCanonicalClass();
// eslint-disable-next-line max-depth
if (cc2 <= cc) break;
}
}
this.resBuf.splice(inspt, 0, uchar);
} while (cc !== 0);
}
return this.resBuf.shift();
};
CompIterator = function (it) {
this.it = it;
this.procBuf = [];
this.resBuf = [];
this.lastClass = null;
};
CompIterator.prototype.next = function () {
var uchar, starter, composite, cc;
while (this.resBuf.length === 0) {
uchar = this.it.next();
if (!uchar) {
this.resBuf = this.procBuf;
this.procBuf = [];
break;
}
if (this.procBuf.length === 0) {
this.lastClass = uchar.getCanonicalClass();
this.procBuf.push(uchar);
} else {
starter = this.procBuf[0];
composite = starter.getComposite(uchar);
cc = uchar.getCanonicalClass();
if (Boolean(composite) && (this.lastClass < cc || this.lastClass === 0)) {
this.procBuf[0] = composite;
} else {
if (cc === 0) {
this.resBuf = this.procBuf;
this.procBuf = [];
}
this.lastClass = cc;
this.procBuf.push(uchar);
}
}
}
return this.resBuf.shift();
};
createIterator = function (mode, str) {
switch (mode) {
case "NFD":
return new DecompIterator(new RecursDecompIterator(new UCharIterator(str), true));
case "NFKD":
return new DecompIterator(new RecursDecompIterator(new UCharIterator(str), false));
case "NFC":
return new CompIterator(
new DecompIterator(new RecursDecompIterator(new UCharIterator(str), true))
);
case "NFKC":
return new CompIterator(
new DecompIterator(new RecursDecompIterator(new UCharIterator(str), false))
);
default:
throw new Error(mode + " is invalid");
}
};
normalize = function (mode, str) {
var it = createIterator(mode, str), ret = "", uchar;
while ((uchar = it.next())) ret += uchar.toString();
return ret;
};
/* Unicode data */
UChar.udata = data;
module.exports = function (/* Form*/) {
var str = String(validValue(this)), form = arguments[0];
if (form === undefined) form = "NFC";
else form = String(form);
if (!forms[form]) throw new RangeError("Invalid normalization form: " + form);
return normalize(form, str);
};
es5-ext-0.10.53/string/#/pad.js 0000664 0000000 0000000 00000001106 13565534140 0015710 0 ustar 00root root 0000000 0000000 "use strict";
var toInteger = require("../../number/to-integer")
, value = require("../../object/valid-value")
, repeat = require("./repeat")
, abs = Math.abs
, max = Math.max;
module.exports = function (fill/*, length*/) {
var self = String(value(this)), sLength = self.length, length = arguments[1];
length = isNaN(length) ? 1 : toInteger(length);
fill = repeat.call(String(fill), abs(length));
if (length >= 0) return fill.slice(0, max(0, length - sLength)) + self;
return self + (sLength + length >= 0 ? "" : fill.slice(length + sLength));
};
es5-ext-0.10.53/string/#/plain-replace-all.js 0000664 0000000 0000000 00000000643 13565534140 0020433 0 ustar 00root root 0000000 0000000 "use strict";
var value = require("../../object/valid-value");
module.exports = function (search, replace) {
var index, pos = 0, str = String(value(this)), sl, rl;
search = String(search);
replace = String(replace);
sl = search.length;
rl = replace.length;
while ((index = str.indexOf(search, pos)) !== -1) {
str = str.slice(0, index) + replace + str.slice(index + sl);
pos = index + rl;
}
return str;
};
es5-ext-0.10.53/string/#/plain-replace.js 0000664 0000000 0000000 00000000472 13565534140 0017665 0 ustar 00root root 0000000 0000000 "use strict";
var indexOf = String.prototype.indexOf, slice = String.prototype.slice;
module.exports = function (search, replace) {
var index = indexOf.call(this, search);
if (index === -1) return String(this);
return slice.call(this, 0, index) + replace + slice.call(this, index + String(search).length);
};
es5-ext-0.10.53/string/#/repeat/ 0000775 0000000 0000000 00000000000 13565534140 0016070 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/string/#/repeat/implement.js 0000664 0000000 0000000 00000000311 13565534140 0020413 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(String.prototype, "repeat", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/string/#/repeat/index.js 0000664 0000000 0000000 00000000155 13565534140 0017536 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? String.prototype.repeat : require("./shim");
es5-ext-0.10.53/string/#/repeat/is-implemented.js 0000664 0000000 0000000 00000000234 13565534140 0021341 0 ustar 00root root 0000000 0000000 "use strict";
var str = "foo";
module.exports = function () {
if (typeof str.repeat !== "function") return false;
return str.repeat(2) === "foofoo";
};
es5-ext-0.10.53/string/#/repeat/shim.js 0000664 0000000 0000000 00000001307 13565534140 0017367 0 ustar 00root root 0000000 0000000 // Thanks
// @rauchma http://www.2ality.com/2014/01/efficient-string-repeat.html
// @mathiasbynens https://github.com/mathiasbynens/String.prototype.repeat/blob/4a4b567def/repeat.js
"use strict";
var value = require("../../../object/valid-value")
, toInteger = require("../../../number/to-integer");
module.exports = function (count) {
var str = String(value(this)), result;
count = toInteger(count);
if (count < 0) throw new RangeError("Count must be >= 0");
if (!isFinite(count)) throw new RangeError("Count must be < ∞");
result = "";
while (count) {
if (count % 2) result += str;
if (count > 1) str += str;
// eslint-disable-next-line no-bitwise
count >>= 1;
}
return result;
};
es5-ext-0.10.53/string/#/starts-with/ 0000775 0000000 0000000 00000000000 13565534140 0017101 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/string/#/starts-with/implement.js 0000664 0000000 0000000 00000000315 13565534140 0021430 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(String.prototype, "startsWith", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/string/#/starts-with/index.js 0000664 0000000 0000000 00000000161 13565534140 0020544 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? String.prototype.startsWith : require("./shim");
es5-ext-0.10.53/string/#/starts-with/is-implemented.js 0000664 0000000 0000000 00000000317 13565534140 0022354 0 ustar 00root root 0000000 0000000 "use strict";
var str = "razdwatrzy";
module.exports = function () {
if (typeof str.startsWith !== "function") return false;
return str.startsWith("trzy") === false && str.startsWith("raz") === true;
};
es5-ext-0.10.53/string/#/starts-with/shim.js 0000664 0000000 0000000 00000000605 13565534140 0020400 0 ustar 00root root 0000000 0000000 "use strict";
var value = require("../../../object/valid-value")
, toInteger = require("../../../number/to-integer")
, max = Math.max
, min = Math.min;
module.exports = function (searchString/*, position*/) {
var start, self = String(value(this));
start = min(max(toInteger(arguments[1]), 0), self.length);
return self.indexOf(searchString, start) === start;
};
es5-ext-0.10.53/string/#/uncapitalize.js 0000664 0000000 0000000 00000000334 13565534140 0017636 0 ustar 00root root 0000000 0000000 "use strict";
var ensureStringifiable = require("../../object/validate-stringifiable-value");
module.exports = function () {
var str = ensureStringifiable(this);
return str.charAt(0).toLowerCase() + str.slice(1);
};
es5-ext-0.10.53/string/format-method.js 0000664 0000000 0000000 00000001304 13565534140 0017570 0 ustar 00root root 0000000 0000000 "use strict";
var isCallable = require("../object/is-callable")
, value = require("../object/valid-value")
, call = Function.prototype.call;
module.exports = function (fmap) {
fmap = Object(value(fmap));
return function (pattern) {
var context = this;
value(context);
pattern = String(pattern);
return pattern.replace(/%([a-zA-Z]+)|\\([\u0000-\uffff])/g, function (
match,
token,
escapeChar
) {
var t, result;
if (escapeChar) return escapeChar;
t = token;
while (t && !(result = fmap[t])) t = t.slice(0, -1);
if (!result) return match;
if (isCallable(result)) result = call.call(result, context);
return result + token.slice(t.length);
});
};
};
es5-ext-0.10.53/string/from-code-point/ 0000775 0000000 0000000 00000000000 13565534140 0017470 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/string/from-code-point/implement.js 0000664 0000000 0000000 00000000306 13565534140 0022017 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(String, "fromCodePoint", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/string/from-code-point/index.js 0000664 0000000 0000000 00000000152 13565534140 0021133 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? String.fromCodePoint : require("./shim");
es5-ext-0.10.53/string/from-code-point/is-implemented.js 0000664 0000000 0000000 00000000343 13565534140 0022742 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var fromCodePoint = String.fromCodePoint;
if (typeof fromCodePoint !== "function") return false;
return fromCodePoint(0x1d306, 0x61, 0x1d307) === "\ud834\udf06a\ud834\udf07";
};
es5-ext-0.10.53/string/from-code-point/shim.js 0000664 0000000 0000000 00000002032 13565534140 0020763 0 ustar 00root root 0000000 0000000 // Based on:
// http://norbertlindenberg.com/2012/05/ecmascript-supplementary-characters/
// and:
// https://github.com/mathiasbynens/String.fromCodePoint/blob/master
// /fromcodepoint.js
"use strict";
var floor = Math.floor, fromCharCode = String.fromCharCode;
// eslint-disable-next-line no-unused-vars
module.exports = function (codePoint1/*, …codePoints*/) {
var chars = [], length = arguments.length, i, codePoint, result = "";
for (i = 0; i < length; ++i) {
codePoint = Number(arguments[i]);
if (
!isFinite(codePoint) ||
codePoint < 0 ||
codePoint > 0x10ffff ||
floor(codePoint) !== codePoint
) {
throw new RangeError("Invalid code point " + codePoint);
}
if (codePoint < 0x10000) {
chars.push(codePoint);
} else {
codePoint -= 0x10000;
// eslint-disable-next-line no-bitwise
chars.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);
}
if (i + 1 !== length && chars.length <= 0x4000) continue;
result += fromCharCode.apply(null, chars);
chars.length = 0;
}
return result;
};
es5-ext-0.10.53/string/index.js 0000664 0000000 0000000 00000000437 13565534140 0016137 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"#": require("./#"),
"formatMethod": require("./format-method"),
"fromCodePoint": require("./from-code-point"),
"isString": require("./is-string"),
"random": require("./random"),
"randomUniq": require("./random-uniq"),
"raw": require("./raw")
};
es5-ext-0.10.53/string/is-string.js 0000664 0000000 0000000 00000000443 13565534140 0016744 0 ustar 00root root 0000000 0000000 "use strict";
var objToString = Object.prototype.toString, id = objToString.call("");
module.exports = function (value) {
return (
typeof value === "string" ||
(value &&
typeof value === "object" &&
(value instanceof String || objToString.call(value) === id)) ||
false
);
};
es5-ext-0.10.53/string/random-uniq.js 0000664 0000000 0000000 00000000315 13565534140 0017255 0 ustar 00root root 0000000 0000000 "use strict";
var generated = Object.create(null), random = Math.random;
module.exports = function () {
var str;
do {
str = random().toString(36).slice(2);
} while (generated[str]);
return str;
};
es5-ext-0.10.53/string/random.js 0000664 0000000 0000000 00000002050 13565534140 0016301 0 ustar 00root root 0000000 0000000 "use strict";
var isValue = require("../object/is-value")
, toNaturalNumber = require("../number/to-pos-integer");
var generated = Object.create(null), random = Math.random, uniqTryLimit = 100;
var getChunk = function () { return random().toString(36).slice(2); };
var getString = function (/* length */) {
var str = getChunk(), length = arguments[0];
if (!isValue(length)) return str;
while (str.length < length) str += getChunk();
return str.slice(0, length);
};
module.exports = function (/* options */) {
var options = Object(arguments[0]), length = options.length, isUnique = options.isUnique;
if (isValue(length)) length = toNaturalNumber(length);
var str = getString(length);
if (isUnique) {
var count = 0;
while (generated[str]) {
if (++count === uniqTryLimit) {
throw new Error(
"Cannot generate random string.\n" +
"String.random is not designed to effectively generate many short and " +
"unique random strings"
);
}
str = getString(length);
}
generated[str] = true;
}
return str;
};
es5-ext-0.10.53/string/raw/ 0000775 0000000 0000000 00000000000 13565534140 0015257 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/string/raw/implement.js 0000664 0000000 0000000 00000000274 13565534140 0017612 0 ustar 00root root 0000000 0000000 "use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(String, "raw", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}
es5-ext-0.10.53/string/raw/index.js 0000664 0000000 0000000 00000000140 13565534140 0016717 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? String.raw : require("./shim");
es5-ext-0.10.53/string/raw/is-implemented.js 0000664 0000000 0000000 00000000403 13565534140 0020526 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
var raw = String.raw, test;
if (typeof raw !== "function") return false;
test = ["foo\nbar", "marko\n"];
test.raw = ["foo\\nbar", "marko\\n"];
return raw(test, "INSE\nRT") === "foo\\nbarINSE\nRTmarko\\n";
};
es5-ext-0.10.53/string/raw/shim.js 0000664 0000000 0000000 00000000730 13565534140 0016555 0 ustar 00root root 0000000 0000000 "use strict";
var toPosInt = require("../../number/to-pos-integer")
, validValue = require("../../object/valid-value")
, reduce = Array.prototype.reduce;
module.exports = function (callSite/*, …substitutions*/) {
var args, rawValue = Object(validValue(Object(validValue(callSite)).raw));
if (!toPosInt(rawValue.length)) return "";
args = arguments;
return reduce.call(rawValue, function (str1, str2, i) {
return str1 + String(args[i]) + str2;
});
};
es5-ext-0.10.53/test/ 0000775 0000000 0000000 00000000000 13565534140 0014137 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/.eslintrc.json 0000664 0000000 0000000 00000000352 13565534140 0016733 0 ustar 00root root 0000000 0000000 {
"globals": { "Symbol": true },
"rules": {
"consistent-this": "off",
"id-length": "off",
"no-empty-function": "off",
"no-eval": "off",
"no-new-wrappers": "off",
"no-prototype-builtins": "off",
"no-shadow": "off"
}
}
es5-ext-0.10.53/test/__tad.js 0000664 0000000 0000000 00000000047 13565534140 0015544 0 ustar 00root root 0000000 0000000 "use strict";
exports.context = null;
es5-ext-0.10.53/test/array/ 0000775 0000000 0000000 00000000000 13565534140 0015255 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/array/#/ 0000775 0000000 0000000 00000000000 13565534140 0015377 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/array/#/@@iterator/ 0000775 0000000 0000000 00000000000 13565534140 0017430 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/array/#/@@iterator/implement.js 0000664 0000000 0000000 00000000233 13565534140 0021756 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../array/#/@@iterator/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/array/#/@@iterator/index.js 0000664 0000000 0000000 00000000063 13565534140 0021074 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/array/#/@@iterator/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022701 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/array/#/@@iterator/shim.js 0000664 0000000 0000000 00000000467 13565534140 0020735 0 ustar 00root root 0000000 0000000 "use strict";
exports.__generic = function (t, a) {
var iterator = t.call(this);
a.deep(iterator.next(), { value: "1", done: false });
a.deep(iterator.next(), { value: "2", done: false });
a.deep(iterator.next(), { value: "3", done: false });
a.deep(iterator.next(), { value: undefined, done: true });
};
es5-ext-0.10.53/test/array/#/_compare-by-length.js 0000664 0000000 0000000 00000000306 13565534140 0021410 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var arr = [4, 5, 6], obj1 = { length: 8 }, obj2 = {}, obj3 = { length: 1 };
a.deep([arr, obj1, obj2, obj3].sort(t), [obj2, obj3, arr, obj1]);
};
es5-ext-0.10.53/test/array/#/binary-search.js 0000664 0000000 0000000 00000000672 13565534140 0020471 0 ustar 00root root 0000000 0000000 "use strict";
var compare = function (value) { return this - value; };
module.exports = function (t, a) {
var arr;
arr = [2, 5, 5, 8, 34, 67, 98, 345, 678];
// Highest, equal match
a(t.call(arr, compare.bind(1)), 0, "All higher");
a(t.call(arr, compare.bind(679)), arr.length - 1, "All lower");
a(t.call(arr, compare.bind(4)), 0, "Mid");
a(t.call(arr, compare.bind(5)), 2, "Match");
a(t.call(arr, compare.bind(6)), 2, "Above");
};
es5-ext-0.10.53/test/array/#/clear.js 0000664 0000000 0000000 00000000236 13565534140 0017024 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var arr = [1, 2, {}, 4];
a(t.call(arr), arr, "Returns same array");
a.deep(arr, [], "Empties array");
};
es5-ext-0.10.53/test/array/#/compact.js 0000664 0000000 0000000 00000000561 13565534140 0017365 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"__generic": function (t, a) { a(t.call(this).length, 3); },
"": function (t, a) {
var o, x, y, z;
o = {};
x = [0, 1, "", null, o, false, undefined, true];
y = x.slice(0);
a.not((z = t.call(x)), x, "Returns different object");
a.deep(x, y, "Origin not changed");
a.deep(z, [0, 1, "", o, false, true], "Result");
}
};
es5-ext-0.10.53/test/array/#/concat/ 0000775 0000000 0000000 00000000000 13565534140 0016646 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/array/#/concat/implement.js 0000664 0000000 0000000 00000000227 13565534140 0021177 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../array/#/concat/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/array/#/concat/index.js 0000664 0000000 0000000 00000000063 13565534140 0020312 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/array/#/concat/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022117 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/array/#/concat/shim.js 0000664 0000000 0000000 00000001654 13565534140 0020152 0 ustar 00root root 0000000 0000000 "use strict";
var isConcatSpreadable = require("es6-symbol").isConcatSpreadable
, SubArray = require("../../../../array/_sub-array-dummy-safe");
module.exports = function (t, a) {
var arr = [1, 3, 45], x = {}, subArr, subArr2, result;
a.deep(
t.call(arr, "2d", x, ["ere", "fe", x], false, null),
[1, 3, 45, "2d", x, "ere", "fe", x, false, null], "Plain array"
);
subArr = new SubArray("lol", "miszko");
subArr2 = new SubArray("elo", "fol");
result = t.call(subArr, "df", arr, "fef", subArr2, null);
a(result instanceof SubArray, true, "Instance of subclass");
a.deep(
result, ["lol", "miszko", "df", 1, 3, 45, "fef", "elo", "fol", null], "Spreable by default"
);
SubArray.prototype[isConcatSpreadable] = false;
result = t.call(subArr, "df", arr, "fef", subArr2, null);
a.deep(result, [subArr, "df", 1, 3, 45, "fef", subArr2, null], "Non spreadable");
delete SubArray.prototype[isConcatSpreadable];
};
es5-ext-0.10.53/test/array/#/contains.js 0000664 0000000 0000000 00000001041 13565534140 0017547 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"__generic": function (t, a) {
a(t.call(this, this[1]), true, "Contains");
a(t.call(this, {}), false, "Does Not contain");
},
"": function (t, a) {
var o, x = {}, y = {};
o = [1, "raz", x];
a(t.call(o, 1), true, "First");
a(t.call(o, "1"), false, "Type coercion");
a(t.call(o, "raz"), true, "Primitive");
a(t.call(o, "foo"), false, "Primitive not found");
a(t.call(o, x), true, "Object found");
a(t.call(o, y), false, "Object not found");
a(t.call(o, 1, 1), false, "Position");
}
};
es5-ext-0.10.53/test/array/#/copy-within/ 0000775 0000000 0000000 00000000000 13565534140 0017651 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/array/#/copy-within/implement.js 0000664 0000000 0000000 00000000234 13565534140 0022200 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../array/#/copy-within/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/array/#/copy-within/index.js 0000664 0000000 0000000 00000000063 13565534140 0021315 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/array/#/copy-within/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0023122 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/array/#/copy-within/shim.js 0000664 0000000 0000000 00000001724 13565534140 0021153 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var args, x;
a.h1("2 args");
x = [1, 2, 3, 4, 5];
t.call(x, 0, 3);
a.deep(x, [4, 5, 3, 4, 5]);
a.deep(t.call([1, 2, 3, 4, 5], 1, 3), [1, 4, 5, 4, 5]);
a.deep(t.call([1, 2, 3, 4, 5], 1, 2), [1, 3, 4, 5, 5]);
a.deep(t.call([1, 2, 3, 4, 5], 2, 2), [1, 2, 3, 4, 5]);
a.h1("3 args");
a.deep(t.call([1, 2, 3, 4, 5], 0, 3, 4), [4, 2, 3, 4, 5]);
a.deep(t.call([1, 2, 3, 4, 5], 1, 3, 4), [1, 4, 3, 4, 5]);
a.deep(t.call([1, 2, 3, 4, 5], 1, 2, 4), [1, 3, 4, 4, 5]);
a.h1("Negative args");
a.deep(t.call([1, 2, 3, 4, 5], 0, -2), [4, 5, 3, 4, 5]);
a.deep(t.call([1, 2, 3, 4, 5], 0, -2, -1), [4, 2, 3, 4, 5]);
a.deep(t.call([1, 2, 3, 4, 5], -4, -3, -2), [1, 3, 3, 4, 5]);
a.deep(t.call([1, 2, 3, 4, 5], -4, -3, -1), [1, 3, 4, 4, 5]);
a.deep(t.call([1, 2, 3, 4, 5], -4, -3), [1, 3, 4, 5, 5]);
a.h1("Array-likes");
args = { 0: 1, 1: 2, 2: 3, length: 3 };
a.deep(t.call(args, -2, 0), { 0: 1, 1: 1, 2: 2, length: 3 });
};
es5-ext-0.10.53/test/array/#/diff.js 0000664 0000000 0000000 00000000677 13565534140 0016657 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"__generic": function (t, a) { a.deep(t.call(this, this), []); },
"": function (t, a) {
var x = {}, y = {};
a.deep(t.call([1, "raz", x, 2, "trzy", y], [x, 2, "trzy"]), [1, "raz", y], "Scope longer");
a.deep(t.call([1, "raz", x], [x, 2, "trzy", 1, y]), ["raz"], "Arg longer");
a.deep(t.call([1, "raz", x], []), [1, "raz", x], "Empty arg");
a.deep(t.call([], [1, y, "sdfs"]), [], "Empty scope");
}
};
es5-ext-0.10.53/test/array/#/e-index-of.js 0000664 0000000 0000000 00000001052 13565534140 0017666 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x = {};
a(t.call([3, "raz", {}, x, {}], x), 3, "Regular");
a(t.call([3, "raz", NaN, {}, NaN], NaN), 2, "NaN");
a(t.call([3, "raz", 0, {}, -0], -0), 2, "-0");
a(t.call([3, "raz", -0, {}, 0], +0), 2, "+0");
a(t.call([3, "raz", NaN, {}, NaN], NaN, 3), 4, "fromIndex");
a(t.call([3, "raz", NaN, {}, NaN], NaN, -1), 4, "fromIndex negative #1");
a(t.call([3, "raz", NaN, {}, NaN], NaN, -2), 4, "fromIndex negative #2");
a(t.call([3, "raz", NaN, {}, NaN], NaN, -3), 2, "fromIndex negative #3");
};
es5-ext-0.10.53/test/array/#/e-last-index-of.js 0000664 0000000 0000000 00000000736 13565534140 0020637 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x = {};
a(t.call([3, "raz", {}, x, {}, x], x), 5, "Regular");
a(t.call([3, "raz", NaN, {}, x], NaN), 2, "NaN");
a(t.call([3, "raz", 0, {}, -0], -0), 4, "-0");
a(t.call([3, "raz", -0, {}, 0], +0), 4, "+0");
a(t.call([3, "raz", NaN, {}, NaN], NaN, 3), 2, "fromIndex");
a(t.call([3, "raz", NaN, 2, NaN], NaN, -1), 4, "Negative fromIndex #1");
a(t.call([3, "raz", NaN, 2, NaN], NaN, -2), 2, "Negative fromIndex #2");
};
es5-ext-0.10.53/test/array/#/entries/ 0000775 0000000 0000000 00000000000 13565534140 0017050 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/array/#/entries/implement.js 0000664 0000000 0000000 00000000230 13565534140 0021373 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../array/#/entries/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/array/#/entries/index.js 0000664 0000000 0000000 00000000063 13565534140 0020514 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/array/#/entries/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022321 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/array/#/entries/shim.js 0000664 0000000 0000000 00000000506 13565534140 0020347 0 ustar 00root root 0000000 0000000 "use strict";
exports.__generic = function (t, a) {
var iterator = t.call(this);
a.deep(iterator.next(), { value: [0, "1"], done: false });
a.deep(iterator.next(), { value: [1, "2"], done: false });
a.deep(iterator.next(), { value: [2, "3"], done: false });
a.deep(iterator.next(), { value: undefined, done: true });
};
es5-ext-0.10.53/test/array/#/exclusion.js 0000664 0000000 0000000 00000000570 13565534140 0017750 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"__generic": function (t, a) {
var x = {};
a.deep(t.call(this, this, [this[0], this[2], x]), [x]);
},
"": function (t, a) {
var x = {}, y = {};
a.deep(t.call([x, y]), [x, y], "No arguments");
a.deep(t.call([x, 1], [], []), [x, 1], "Empty arguments");
a.deep(t.call([1, "raz", x], [2, "raz", y], [2, "raz", x]), [1, y]);
}
};
es5-ext-0.10.53/test/array/#/fill/ 0000775 0000000 0000000 00000000000 13565534140 0016325 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/array/#/fill/implement.js 0000664 0000000 0000000 00000000225 13565534140 0020654 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../array/#/fill/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/array/#/fill/index.js 0000664 0000000 0000000 00000000063 13565534140 0017771 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/array/#/fill/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021576 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/array/#/fill/shim.js 0000664 0000000 0000000 00000000775 13565534140 0017634 0 ustar 00root root 0000000 0000000 // Taken from https://github.com/paulmillr/es6-shim/blob/master/test/array.js
"use strict";
module.exports = function (t, a) {
var x;
x = [1, 2, 3, 4, 5, 6];
a(t.call(x, -1), x, "Returns self object");
a.deep(x, [-1, -1, -1, -1, -1, -1], "Value");
a.deep(t.call([1, 2, 3, 4, 5, 6], -1, 3), [1, 2, 3, -1, -1, -1], "Positive start");
a.deep(t.call([1, 2, 3, 4, 5, 6], -1, -3), [1, 2, 3, -1, -1, -1], "Negative start");
a.deep(t.call([1, 2, 3, 4, 5, 6], -1, 9), [1, 2, 3, 4, 5, 6], "Large start");
};
es5-ext-0.10.53/test/array/#/filter/ 0000775 0000000 0000000 00000000000 13565534140 0016664 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/array/#/filter/implement.js 0000664 0000000 0000000 00000000227 13565534140 0021215 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../array/#/filter/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/array/#/filter/index.js 0000664 0000000 0000000 00000000063 13565534140 0020330 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/array/#/filter/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022135 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/array/#/filter/shim.js 0000664 0000000 0000000 00000000760 13565534140 0020165 0 ustar 00root root 0000000 0000000 "use strict";
var SubArray = require("../../../../array/_sub-array-dummy-safe");
module.exports = function (t, a) {
var arr, x = {}, subArr, result;
arr = ["foo", undefined, 0, "2d", false, x, null];
a.deep(t.call(arr, Boolean), ["foo", "2d", x], "Plain array");
subArr = new SubArray("foo", undefined, 0, "2d", false, x, null);
result = t.call(subArr, Boolean);
a(result instanceof SubArray, true, "Instance of subclass");
a.deep(result, ["foo", "2d", x], "Result of subclass");
};
es5-ext-0.10.53/test/array/#/find-index/ 0000775 0000000 0000000 00000000000 13565534140 0017424 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/array/#/find-index/implement.js 0000664 0000000 0000000 00000000233 13565534140 0021752 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../array/#/find-index/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/array/#/find-index/index.js 0000664 0000000 0000000 00000000063 13565534140 0021070 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/array/#/find-index/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022675 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/array/#/find-index/shim.js 0000664 0000000 0000000 00000000645 13565534140 0020727 0 ustar 00root root 0000000 0000000 "use strict";
exports.__generic = function (t, a) {
var count = 0, o = {}, self = Object(this);
a(
t.call(
self,
function (value, i, scope) {
a(value, this[i], "Value");
a(i, count++, "Index");
a(scope, this, "Scope");
},
self
),
-1,
"Falsy result"
);
a(count, 3);
count = -1;
a(t.call(this, function () { return ++count ? o : null; }, this), 1, "Truthy result");
a(count, 1);
};
es5-ext-0.10.53/test/array/#/find/ 0000775 0000000 0000000 00000000000 13565534140 0016317 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/array/#/find/implement.js 0000664 0000000 0000000 00000000225 13565534140 0020646 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../array/#/find/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/array/#/find/index.js 0000664 0000000 0000000 00000000063 13565534140 0017763 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/array/#/find/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021570 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/array/#/find/shim.js 0000664 0000000 0000000 00000000662 13565534140 0017621 0 ustar 00root root 0000000 0000000 "use strict";
exports.__generic = function (t, a) {
var count = 0, o = {}, self = Object(this);
a(
t.call(
self,
function (value, i, scope) {
a(value, this[i], "Value");
a(i, count++, "Index");
a(scope, this, "Scope");
},
self
),
undefined,
"Falsy result"
);
a(count, 3);
count = -1;
a(t.call(this, function () { return ++count ? o : null; }, this), this[1], "Truthy result");
a(count, 1);
};
es5-ext-0.10.53/test/array/#/first-index.js 0000664 0000000 0000000 00000000646 13565534140 0020177 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x;
a(t.call([]), null, "Empty");
a(t.call([null]), 0, "One value");
a(t.call([1, 2, 3]), 0, "Many values");
a(t.call(new Array(1000)), null, "Sparse empty");
x = [];
x[883] = undefined;
x[890] = null;
a(t.call(x), 883, "Manual sparse, distant value");
x = new Array(1000);
x[657] = undefined;
x[700] = null;
a(t.call(x), 657, "Sparse, distant value");
};
es5-ext-0.10.53/test/array/#/first.js 0000664 0000000 0000000 00000000435 13565534140 0017066 0 ustar 00root root 0000000 0000000 "use strict";
exports.__generic = function (t, a) { a(t.call(this), this[0]); };
exports[""] = function (t, a) {
var x;
a(t.call([]), undefined, "Empty");
a(t.call(new Array(234), undefined, "Sparse empty"));
x = new Array(2342);
x[434] = {};
a(t.call(x), x[434], "Sparse");
};
es5-ext-0.10.53/test/array/#/flatten.js 0000664 0000000 0000000 00000000505 13565534140 0017372 0 ustar 00root root 0000000 0000000 "use strict";
var o = [1, 2, [3, 4, [5, 6], 7, 8], 9, 10, [11, 12, [13, 14]], 15];
module.exports = {
"__generic": function (t, a) { a(t.call(this).length, 3); },
"Nested Arrays": function (t, a) {
var result = t.call(o);
a.not(o, result);
a.deep(result, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]);
}
};
es5-ext-0.10.53/test/array/#/for-each-right.js 0000664 0000000 0000000 00000001547 13565534140 0020543 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"__generic": function (t, a) {
var count = 0, first, last, x, icount = this.length;
t.call(this, function (item, index, col) {
++count;
if (!first) {
first = item;
}
last = item;
x = col;
a(index, --icount, "Index");
});
a(count, this.length, "Iterated");
a(first, this[this.length - 1], "First is last");
a(last, this[0], "Last is first");
a.deep(x, Object(this), "Collection as third argument"); // Jslint: skip
},
"": function (t, a) {
var x = {}, y, count;
t.call([1], function () { y = this; }, x);
a(y, x, "Scope");
y = 0;
t.call([3, 4, 4], function (a, i) { y += i; });
a(y, 3, "Indexes");
x = [1, 3];
x[5] = "x";
y = 0;
count = 0;
t.call(x, function (a, i) {
++count;
y += i;
});
a(y, 6, "Misssing Indexes");
a(count, 3, "Misssing Indexes, count");
}
};
es5-ext-0.10.53/test/array/#/group.js 0000664 0000000 0000000 00000001106 13565534140 0017067 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"__generic": function (t, a) {
var count = 0, self;
self = Object(this);
a.deep(
t.call(
self,
function (v, i, scope) {
a(v, this[i], "Value");
a(i, count++, "Index");
a(scope, this, "Scope");
return i;
},
self
),
{ 0: [this[0]], 1: [this[1]], 2: [this[2]] }
);
},
"": function (t, a) {
var r;
r = t.call([2, 3, 3, 4, 5, 6, 7, 7, 23, 45, 34, 56], function (v) {
return v % 2 ? "odd" : "even";
});
a.deep(r.odd, [3, 3, 5, 7, 7, 23, 45]);
a.deep(r.even, [2, 4, 6, 34, 56]);
}
};
es5-ext-0.10.53/test/array/#/indexes-of.js 0000664 0000000 0000000 00000000613 13565534140 0017776 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"__generic": function (t, a) { a.deep(t.call(this, this[1]), [1]); },
"": function (t, a) {
var x = {};
a.deep(t.call([1, 3, 5, 3, 5], 6), [], "No result");
a.deep(t.call([1, 3, 5, 1, 3, 5, 1], 1), [0, 3, 6], "Some results");
a.deep(t.call([], x), [], "Empty array");
a.deep(t.call([x, 3, {}, x, 3, 5, x], x), [0, 3, 6], "Search for object");
}
};
es5-ext-0.10.53/test/array/#/intersection.js 0000664 0000000 0000000 00000001313 13565534140 0020441 0 ustar 00root root 0000000 0000000 "use strict";
var toArray = require("../../../array/to-array");
module.exports = {
"__generic": function (t, a) { a.deep(t.call(this, this, this), toArray(this)); },
"": function (t, a) {
var x = {}, y = {}, p, r;
a.deep(t.call([], [2, 3, 4]), [], "Empty #1");
a.deep(t.call([2, 3, 4], []), [], "Empty #2");
a.deep(t.call([2, 3, x], [y, 5, 7]), [], "Different");
p = t.call(
[3, 5, "raz", {}, "dwa", x], [1, 3, "raz", "dwa", "trzy", x, {}], [3, "raz", x, 65]
);
r = [3, "raz", x];
p.sort();
r.sort();
a.deep(p, r, "Same parts");
a.deep(t.call(r, r), r, "Same");
a.deep(
t.call([1, 2, x, 4, 5, y, 7], [7, y, 5, 4, x, 2, 1]), [1, 2, x, 4, 5, y, 7],
"Long reverse same"
);
}
};
es5-ext-0.10.53/test/array/#/is-copy.js 0000664 0000000 0000000 00000000721 13565534140 0017320 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x = {};
a(t.call([], []), true, "Empty");
a(t.call([], {}), true, "Empty lists");
a(t.call([1, x, "raz"], [1, x, "raz"]), true, "Same");
a(t.call([1, x, "raz"], { 0: 1, 1: x, 2: "raz", length: 3 }), true, "Same lists");
a(t.call([1, x, "raz"], [x, 1, "raz"]), false, "Diff order");
a(t.call([1, x], [1, x, "raz"]), false, "Diff length #1");
a(t.call([1, x, "raz"], [1, x]), false, "Diff length #2");
};
es5-ext-0.10.53/test/array/#/is-empty.js 0000664 0000000 0000000 00000000300 13565534140 0017475 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x = {};
a(t.call([]), true, "Empty");
a(t.call({ length: 0 }), true, "Empty lists");
a(t.call([1, x, "raz"]), false, "Non empty");
};
es5-ext-0.10.53/test/array/#/is-uniq.js 0000664 0000000 0000000 00000000536 13565534140 0017326 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x = {};
a(t.call([]), true, "Empty");
a(t.call({}), true, "Empty lists");
a(t.call([1, x, "raz"]), true, "Uniq");
a(t.call([1, x, 1, "raz"]), false, "Not Uniq: primitive");
a(t.call([1, x, "1", "raz"]), true, "Uniq: primitive");
a(t.call([1, x, 1, {}, "raz"]), false, "Not Uniq: Obj");
};
es5-ext-0.10.53/test/array/#/keys/ 0000775 0000000 0000000 00000000000 13565534140 0016352 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/array/#/keys/implement.js 0000664 0000000 0000000 00000000225 13565534140 0020701 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../array/#/keys/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/array/#/keys/index.js 0000664 0000000 0000000 00000000063 13565534140 0020016 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/array/#/keys/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021623 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/array/#/keys/shim.js 0000664 0000000 0000000 00000000461 13565534140 0017651 0 ustar 00root root 0000000 0000000 "use strict";
exports.__generic = function (t, a) {
var iterator = t.call(this);
a.deep(iterator.next(), { value: 0, done: false });
a.deep(iterator.next(), { value: 1, done: false });
a.deep(iterator.next(), { value: 2, done: false });
a.deep(iterator.next(), { value: undefined, done: true });
};
es5-ext-0.10.53/test/array/#/last-index.js 0000664 0000000 0000000 00000000646 13565534140 0020013 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x;
a(t.call([]), null, "Empty");
a(t.call([null]), 0, "One value");
a(t.call([1, 2, 3]), 2, "Many values");
a(t.call(new Array(1000)), null, "Sparse empty");
x = [];
x[883] = null;
x[890] = undefined;
a(t.call(x), 890, "Manual sparse, distant value");
x = new Array(1000);
x[657] = null;
x[700] = undefined;
a(t.call(x), 700, "Sparse, distant value");
};
es5-ext-0.10.53/test/array/#/last.js 0000664 0000000 0000000 00000000472 13565534140 0016703 0 ustar 00root root 0000000 0000000 "use strict";
exports.__generic = function (t, a) { a(t.call(this), this[this.length - 1]); };
exports[""] = function (t, a) {
var x;
a(t.call([]), undefined, "Empty");
a(t.call(new Array(234), undefined, "Sparse empty"));
x = new Array(2342);
x[434] = {};
x[450] = {};
a(t.call(x), x[450], "Sparse");
};
es5-ext-0.10.53/test/array/#/map/ 0000775 0000000 0000000 00000000000 13565534140 0016154 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/array/#/map/implement.js 0000664 0000000 0000000 00000000224 13565534140 0020502 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../array/#/map/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/array/#/map/index.js 0000664 0000000 0000000 00000000063 13565534140 0017620 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/array/#/map/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021425 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/array/#/map/shim.js 0000664 0000000 0000000 00000001054 13565534140 0017452 0 ustar 00root root 0000000 0000000 "use strict";
var SubArray = require("../../../../array/_sub-array-dummy-safe");
module.exports = function (t, a) {
var arr, x = {}, subArr, result;
arr = ["foo", undefined, 0, "2d", false, x, null];
a.deep(t.call(arr, Boolean), [true, false, false, true, false, true, false], "Plain array");
subArr = new SubArray("foo", undefined, 0, "2d", false, x, null);
result = t.call(subArr, Boolean);
a(result instanceof SubArray, true, "Instance of subclass");
a.deep(result, [true, false, false, true, false, true, false], "Result of subclass");
};
es5-ext-0.10.53/test/array/#/remove.js 0000664 0000000 0000000 00000000546 13565534140 0017237 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var y = {}, z = {}, x = [9, z, 5, y, "foo"];
t.call(x, y);
a.deep(x, [9, z, 5, "foo"]);
t.call(x, {});
a.deep(x, [9, z, 5, "foo"], "Not existing");
t.call(x, 5);
a.deep(x, [9, z, "foo"], "Primitive");
x = [9, z, 5, y, "foo"];
t.call(x, z, 5, "foo");
a.deep(x, [9, y], "More than one argument");
};
es5-ext-0.10.53/test/array/#/separate.js 0000664 0000000 0000000 00000000656 13565534140 0017550 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x = [], y = {}, z = {};
a.deep(t.call(x, y), [], "Empty");
a.not(t.call(x), x, "Returns copy");
a.deep(t.call([1], y), [1], "One");
a.deep(t.call([1, "raz"], y), [1, y, "raz"], "One");
a.deep(t.call([1, "raz", x], y), [1, y, "raz", y, x], "More");
x = new Array(1000);
x[23] = 2;
x[3453] = "raz";
x[500] = z;
a.deep(t.call(x, y), [2, y, z, y, "raz"], "Sparse");
};
es5-ext-0.10.53/test/array/#/slice/ 0000775 0000000 0000000 00000000000 13565534140 0016476 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/array/#/slice/implement.js 0000664 0000000 0000000 00000000226 13565534140 0021026 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../array/#/slice/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/array/#/slice/index.js 0000664 0000000 0000000 00000000063 13565534140 0020142 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/array/#/slice/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021747 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/array/#/slice/shim.js 0000664 0000000 0000000 00000000742 13565534140 0017777 0 ustar 00root root 0000000 0000000 "use strict";
var SubArray = require("../../../../array/_sub-array-dummy-safe");
module.exports = function (t, a) {
var arr, x = {}, subArr, result;
arr = ["foo", undefined, 0, "2d", false, x, null];
a.deep(t.call(arr, 2, 4), [0, "2d"], "Plain array: result");
subArr = new SubArray("foo", undefined, 0, "2d", false, x, null);
result = t.call(subArr, 2, 4);
a(result instanceof SubArray, true, "Instance of subclass");
a.deep(result, [0, "2d"], "Subclass: result");
};
es5-ext-0.10.53/test/array/#/some-right.js 0000664 0000000 0000000 00000002101 13565534140 0020005 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"__generic": function (t, a) {
var count = 0, first, last, x, icount = this.length;
t.call(this, function (item, index, col) {
++count;
if (!first) {
first = item;
}
last = item;
x = col;
a(index, --icount, "Index");
});
a(count, this.length, "Iterated");
a(first, this[this.length - 1], "First is last");
a(last, this[0], "Last is first");
a.deep(x, Object(this), "Collection as third argument"); // Jslint: skip
},
"": function (t, a) {
var x = {}, y, count;
t.call([1], function () { y = this; }, x);
a(y, x, "Scope");
y = 0;
t.call([3, 4, 4], function (a, i) { y += i; });
a(y, 3, "Indexes");
x = [1, 3];
x[5] = "x";
y = 0;
count = 0;
a(
t.call(x, function (a, i) {
++count;
y += i;
}),
false,
"Return"
);
a(y, 6, "Misssing Indexes");
a(count, 3, "Misssing Indexes, count");
count = 0;
a(
t.call([-2, -3, -4, 2, -5], function (item) {
++count;
return item > 0;
}),
true,
"Return"
);
a(count, 2, "Break after true is returned");
}
};
es5-ext-0.10.53/test/array/#/splice/ 0000775 0000000 0000000 00000000000 13565534140 0016656 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/array/#/splice/implement.js 0000664 0000000 0000000 00000000227 13565534140 0021207 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../array/#/splice/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/array/#/splice/index.js 0000664 0000000 0000000 00000000063 13565534140 0020322 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/array/#/splice/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022127 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/array/#/splice/shim.js 0000664 0000000 0000000 00000001220 13565534140 0020147 0 ustar 00root root 0000000 0000000 "use strict";
var SubArray = require("../../../../array/_sub-array-dummy-safe");
module.exports = function (t, a) {
var arr, x = {}, subArr, result;
arr = ["foo", undefined, 0, "2d", false, x, null];
a.deep(t.call(arr, 2, 2, "bar"), [0, "2d"], "Plain array: result");
a.deep(arr, ["foo", undefined, "bar", false, x, null], "Plain array: change");
subArr = new SubArray("foo", undefined, 0, "2d", false, x, null);
result = t.call(subArr, 2, 2, "bar");
a(result instanceof SubArray, true, "Instance of subclass");
a.deep(result, [0, "2d"], "Subclass: result");
a.deep(subArr, ["foo", undefined, "bar", false, x, null], "Subclass: change");
};
es5-ext-0.10.53/test/array/#/uniq.js 0000664 0000000 0000000 00000000525 13565534140 0016713 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"__generic": function (t, a) { a(t.call(this).length, 3); },
"": function (t, a) {
var o, x = {}, y = {}, z = {}, w;
o = [1, 2, x, 3, 1, "raz", "1", y, x, "trzy", z, "raz"];
a.not((w = t.call(o)), o, "Returns different object");
a.deep(w, [1, 2, x, 3, "raz", "1", y, "trzy", z], "Result");
}
};
es5-ext-0.10.53/test/array/#/values/ 0000775 0000000 0000000 00000000000 13565534140 0016676 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/array/#/values/implement.js 0000664 0000000 0000000 00000000227 13565534140 0021227 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../array/#/values/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/array/#/values/index.js 0000664 0000000 0000000 00000000063 13565534140 0020342 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/array/#/values/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022147 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/array/#/values/shim.js 0000664 0000000 0000000 00000000467 13565534140 0020203 0 ustar 00root root 0000000 0000000 "use strict";
exports.__generic = function (t, a) {
var iterator = t.call(this);
a.deep(iterator.next(), { value: "1", done: false });
a.deep(iterator.next(), { value: "2", done: false });
a.deep(iterator.next(), { value: "3", done: false });
a.deep(iterator.next(), { value: undefined, done: true });
};
es5-ext-0.10.53/test/array/__scopes.js 0000664 0000000 0000000 00000000323 13565534140 0017403 0 ustar 00root root 0000000 0000000 "use strict";
exports.Array = ["1", "2", "3"];
exports.Arguments = (function () { return arguments; })("1", "2", "3");
exports.String = "123";
exports.Object = { 0: "1", 1: "2", 2: "3", 3: "4", length: 3 };
es5-ext-0.10.53/test/array/_is-extensible.js 0000664 0000000 0000000 00000000115 13565534140 0020522 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t, "boolean"); };
es5-ext-0.10.53/test/array/_sub-array-dummy-safe.js 0000664 0000000 0000000 00000000175 13565534140 0021727 0 ustar 00root root 0000000 0000000 "use strict";
var isArray = Array.isArray;
module.exports = function (t) { t(t === null || isArray(t.prototype), true); };
es5-ext-0.10.53/test/array/_sub-array-dummy.js 0000664 0000000 0000000 00000000175 13565534140 0021013 0 ustar 00root root 0000000 0000000 "use strict";
var isArray = Array.isArray;
module.exports = function (t) { t(t === null || isArray(t.prototype), true); };
es5-ext-0.10.53/test/array/from/ 0000775 0000000 0000000 00000000000 13565534140 0016220 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/array/from/implement.js 0000664 0000000 0000000 00000000220 13565534140 0020542 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../array/from/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/array/from/index.js 0000664 0000000 0000000 00000000063 13565534140 0017664 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/array/from/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021471 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/array/from/shim.js 0000664 0000000 0000000 00000004612 13565534140 0017521 0 ustar 00root root 0000000 0000000 // Some tests taken from: https://github.com/mathiasbynens/Array.from/blob/master/tests/tests.js
"use strict";
module.exports = function (t, a) {
var o = [1, 2, 3], MyType;
a.not(t(o), o, "Array");
a.deep(t(o), o, "Array: same content");
a.deep(t("12r3v"), ["1", "2", "r", "3", "v"], "String");
a.deep(t((function () { return arguments; })(3, o, "raz")), [3, o, "raz"], "Arguments");
a.deep(t((function () { return arguments; })(3)), [3], "Arguments with one numeric value");
a.deep(t({ 0: "raz", 1: "dwa", length: 2 }), ["raz", "dwa"], "Other");
a.deep(t(o, function (val) { return (val + 2) * 10; }, 10), [30, 40, 50], "Mapping");
a.throws(function () { t(); }, TypeError, "Undefined");
a.deep(t(3), [], "Primitive");
a(t.length, 1, "Length");
a.deep(t({ length: 0 }), [], "No values Array-like");
a.deep(t({ length: -1 }), [], "Invalid length Array-like");
a.deep(t({ length: -Infinity }), [], "Invalid length Array-like #2");
a.throws(function () { t(undefined); }, TypeError, "Undefined");
a.throws(function () { t(null); }, TypeError, "Null");
a.deep(t(false), [], "Boolean");
a.deep(t(-Infinity), [], "Inifity");
a.deep(t(-0), [], "-0");
a.deep(t(+0), [], "+0");
a.deep(t(1), [], "1");
a.deep(t(Number(Infinity)), [], "+Infinity");
a.deep(t({}), [], "Plain object");
a.deep(t({ length: 1 }), [undefined], "Sparse array-like");
a.deep(t({ 0: "a", 1: "b", length: 2 }, function (x) { return x + x; }), ["aa", "bb"], "Map");
a.deep(
t({ 0: "a", 1: "b", length: 2 }, function () { return String(this); }, undefined),
["undefined", "undefined"], "Map context"
);
a.deep(
t({ 0: "a", 1: "b", length: 2 }, function () { return String(this); }, "x"), ["x", "x"],
"Map primitive context"
);
a.throws(function () { t({}, "foo", "x"); }, TypeError, "Non callable for map");
a.deep(t({ length: 1, 0: "a" }), ["a"], "Null context");
a(t({ __proto__: { 0: "abc", length: 1 } })[0], "abc", "Values on prototype");
a.throws(
function () {
t.call(function () { return Object.freeze({}); }, {});
},
TypeError,
"Contructor producing freezed objects"
);
// Ensure no setters are called for the indexes
// Ensure no setters are called for the indexes
MyType = function () {};
Object.defineProperty(MyType.prototype, "0", {
set: function (x) { throw new Error("Setter called: " + x); }
});
a.deep(t.call(MyType, { 0: "abc", length: 1 }), { 0: "abc", length: 1 }, "Defined not set");
};
es5-ext-0.10.53/test/array/generate.js 0000664 0000000 0000000 00000000540 13565534140 0017404 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x = {}, y = {};
a.deep(t(3), [undefined, undefined, undefined], "Just length");
a.deep(t(0, "x"), [], "No repeat");
a.deep(t(1, x, y), [x], "Arguments length larger than repeat number");
a.deep(t(3, x), [x, x, x], "Single argument");
a.deep(t(5, x, y), [x, y, x, y, x], "Many arguments");
};
es5-ext-0.10.53/test/array/is-plain-array.js 0000664 0000000 0000000 00000001043 13565534140 0020441 0 ustar 00root root 0000000 0000000 "use strict";
var SubArray = require("../../array/_sub-array-dummy-safe");
module.exports = function (t, a) {
var arr = [1, 2, 3];
a(t(arr), true, "Array");
a(t(null), false, "Null");
a(t(), false, "Undefined");
a(t("234"), false, "String");
a(t(23), false, "Number");
a(t({}), false, "Plain object");
a(t({ length: 1, 0: "raz" }), false, "Array-like");
a(t(Object.create(arr)), false, "Array extension");
if (!SubArray) return;
a(t(new SubArray(23)), false, "Subclass instance");
a(t(Array.prototype), false, "Array.prototype");
};
es5-ext-0.10.53/test/array/of/ 0000775 0000000 0000000 00000000000 13565534140 0015661 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/array/of/implement.js 0000664 0000000 0000000 00000000216 13565534140 0020210 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../array/of/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/array/of/index.js 0000664 0000000 0000000 00000000063 13565534140 0017325 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/array/of/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021132 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/array/of/shim.js 0000664 0000000 0000000 00000005247 13565534140 0017167 0 ustar 00root root 0000000 0000000 /* eslint no-useless-call: "off" */
// Most tests taken from https://github.com/mathiasbynens/Array.of/blob/master/tests/tests.js
// Thanks @mathiasbynens
"use strict";
var defineProperty = Object.defineProperty;
module.exports = function (t, a) {
var x = {}, testObject, MyType;
a.deep(t(), [], "No arguments");
a.deep(t(3), [3], "One numeric argument");
a.deep(t(3, "raz", null, x, undefined), [3, "raz", null, x, undefined], "Many arguments");
a(t.length, 0, "Length");
a.deep(t("abc"), ["abc"], "String");
a.deep(t(undefined), [undefined], "Undefined");
a.deep(t(null), [null], "Null");
a.deep(t(false), [false], "Boolean");
a.deep(t(-Infinity), [-Infinity], "Infinity");
a.deep(t(-0), [-0], "-0");
a.deep(t(+0), [+0], "+0");
a.deep(t(1), [1], "1");
a.deep(t(1, 2, 3), [1, 2, 3], "Numeric args");
a.deep(t(Number(Infinity)), [Number(Infinity)], "+Infinity");
a.deep(
t({ 0: "a", 1: "b", 2: "c", length: 3 }), [{ 0: "a", 1: "b", 2: "c", length: 3 }],
"Array like"
);
a.deep(
t(undefined, null, false, -Infinity, -0, +0, 1, 2, Number(Infinity)),
[undefined, null, false, -Infinity, -0, +0, 1, 2, Number(Infinity)], "Falsy arguments"
);
a.h1("Null context");
a.deep(t.call(null, "abc"), ["abc"], "String");
a.deep(t.call(null, undefined), [undefined], "Undefined");
a.deep(t.call(null, null), [null], "Null");
a.deep(t.call(null, false), [false], "Boolean");
a.deep(t.call(null, -Infinity), [-Infinity], "-Infinity");
a.deep(t.call(null, -0), [-0], "-0");
a.deep(t.call(null, +0), [+0], "+0");
a.deep(t.call(null, 1), [1], "1");
a.deep(t.call(null, 1, 2, 3), [1, 2, 3], "Numeric");
a.deep(t.call(null, Number(Infinity)), [Number(Infinity)], "+Infinity");
a.deep(
t.call(null, { 0: "a", 1: "b", 2: "c", length: 3 }),
[{ 0: "a", 1: "b", 2: "c", length: 3 }], "Array-like"
);
a.deep(
t.call(null, undefined, null, false, -Infinity, -0, +0, 1, 2, Number(Infinity)),
[undefined, null, false, -Infinity, -0, +0, 1, 2, Number(Infinity)], "Falsy"
);
a.h1("Other constructor context");
a.deep(t.call(Object, 1, 2, 3), { 0: 1, 1: 2, 2: 3, length: 3 }, "Many arguments");
testObject = Object(3);
testObject[0] = 1;
testObject[1] = 2;
testObject[2] = 3;
testObject.length = 3;
a.deep(t.call(Object, 1, 2, 3), testObject, "Test object");
a(t.call(Object).length, 0, "No arguments");
a.throws(
function () {
t.call(function () { return Object.freeze({}); });
},
TypeError,
"Frozen instance"
);
// Ensure no setters are called for the indexes
MyType = function () {};
defineProperty(MyType.prototype, "0", {
set: function (x) { throw new Error("Setter called: " + x); }
});
a.deep(t.call(MyType, "abc"), { 0: "abc", length: 1 }, "Define, not set");
};
es5-ext-0.10.53/test/array/to-array.js 0000664 0000000 0000000 00000000631 13565534140 0017351 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var o = [1, 2, 3];
a(t(o), o, "Array");
a.deep(t("12r3v"), ["1", "2", "r", "3", "v"], "String");
a.deep(t((function () { return arguments; })(3, o, "raz")), [3, o, "raz"], "Arguments");
a.deep(t((function () { return arguments; })(3)), [3], "Arguments with one numeric value");
a.deep(t({ 0: "raz", 1: "dwa", length: 2 }), ["raz", "dwa"], "Other");
};
es5-ext-0.10.53/test/array/valid-array.js 0000664 0000000 0000000 00000001113 13565534140 0020022 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x;
a.throws(function () { t(); }, TypeError, "Undefined");
a.throws(function () { t(null); }, TypeError, "Null");
a.throws(function () { t(0); }, TypeError, "Number");
a.throws(function () { t(true); }, TypeError, "Boolean");
a.throws(function () { t("raz"); }, TypeError, "String");
a.throws(
function () {
t(function () {});
},
TypeError,
"Function"
);
a.throws(function () { t({}); }, TypeError, "Object");
a.throws(function () { t({ length: 0 }); }, TypeError, "Array-like");
a(t((x = [])), x, "Array");
};
es5-ext-0.10.53/test/boolean/ 0000775 0000000 0000000 00000000000 13565534140 0015556 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/boolean/is-boolean.js 0000664 0000000 0000000 00000000542 13565534140 0020145 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t("arar"), false, "String");
a(t(12), false, "Number");
a(t(false), true, "Boolean");
a(t(new Boolean(false)), true, "Boolean object");
a(t(new Date()), false, "Date");
a(t(new String("raz")), false, "String object");
a(t({}), false, "Plain object");
a(t(/a/), false, "Regular expression");
};
es5-ext-0.10.53/test/date/ 0000775 0000000 0000000 00000000000 13565534140 0015054 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/date/#/ 0000775 0000000 0000000 00000000000 13565534140 0015176 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/date/#/copy.js 0000664 0000000 0000000 00000000337 13565534140 0016511 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var o = new Date(), o2;
o2 = t.call(o);
a.not(o, o2, "Different objects");
a.ok(o2 instanceof Date, "Instance of Date");
a(o.getTime(), o2.getTime(), "Same time");
};
es5-ext-0.10.53/test/date/#/days-in-month.js 0000664 0000000 0000000 00000001262 13565534140 0020224 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call(new Date(2001, 0, 1)), 31, "January");
a(t.call(new Date(2001, 1, 1)), 28, "February");
a(t.call(new Date(2000, 1, 1)), 29, "February (leap)");
a(t.call(new Date(2001, 2, 1)), 31, "March");
a(t.call(new Date(2001, 3, 1)), 30, "April");
a(t.call(new Date(2001, 4, 1)), 31, "May");
a(t.call(new Date(2001, 5, 1)), 30, "June");
a(t.call(new Date(2001, 6, 1)), 31, "July");
a(t.call(new Date(2001, 7, 1)), 31, "August");
a(t.call(new Date(2001, 8, 1)), 30, "September");
a(t.call(new Date(2001, 9, 1)), 31, "October");
a(t.call(new Date(2001, 10, 1)), 30, "November");
a(t.call(new Date(2001, 11, 1)), 31, "December");
};
es5-ext-0.10.53/test/date/#/floor-day.js 0000664 0000000 0000000 00000000222 13565534140 0017424 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call(new Date(2000, 0, 1, 13, 32, 34, 234)).valueOf(), new Date(2000, 0, 1).valueOf());
};
es5-ext-0.10.53/test/date/#/floor-month.js 0000664 0000000 0000000 00000000223 13565534140 0017775 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call(new Date(2000, 0, 15, 13, 32, 34, 234)).valueOf(), new Date(2000, 0, 1).valueOf());
};
es5-ext-0.10.53/test/date/#/floor-year.js 0000664 0000000 0000000 00000000223 13565534140 0017610 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call(new Date(2000, 5, 13, 13, 32, 34, 234)).valueOf(), new Date(2000, 0, 1).valueOf());
};
es5-ext-0.10.53/test/date/#/format.js 0000664 0000000 0000000 00000000257 13565534140 0017030 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var dt = new Date(2011, 2, 3, 3, 5, 5, 32);
a(t.call(dt, " %Y.%y.%m.%d.%H.%M.%S.%L "), " 2011.11.03.03.03.05.05.032 ");
};
es5-ext-0.10.53/test/date/ensure-time-value.js 0000664 0000000 0000000 00000000376 13565534140 0020767 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(12), 12, "Number in range");
a(t(12.23), 12, "Rounds number in range");
a(t(-12.63), -12, "Rounds negative number in range");
a.throws(function () { t(NaN); }, TypeError, "Throws on invalid");
};
es5-ext-0.10.53/test/date/is-date.js 0000664 0000000 0000000 00000000405 13565534140 0016737 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t("arar"), false, "String");
a(t(12), false, "Number");
a(t(true), false, "Boolean");
a(t(new Date()), true, "Date");
a(t(new String("raz")), false, "String object");
a(t({}), false, "Plain object");
};
es5-ext-0.10.53/test/date/is-time-value.js 0000664 0000000 0000000 00000000704 13565534140 0020074 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t("arar"), false, "String");
a(t(12), true, "Number in range");
a(t(true), true, "Boolean");
a(t(new Date()), true, "Date");
a(t({}), false, "Plain object");
a(t(NaN), false, "NaN");
a(t(Infinity), false, "Infinity");
a(t(8.64e17), false, "Beyond range");
a(t(8.64e15), true, "Below range");
a(t(-8.64e17), false, "Negative beyond range");
a(t(-8.64e15), true, "Negative below range");
};
es5-ext-0.10.53/test/date/valid-date.js 0000664 0000000 0000000 00000000350 13565534140 0017422 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var d = new Date();
a(t(d), d, "Date");
a.throws(function () { t({}); }, "Object");
a.throws(function () {
t({ valueOf: function () { return 20; } });
}, "Number object");
};
es5-ext-0.10.53/test/error/ 0000775 0000000 0000000 00000000000 13565534140 0015270 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/error/#/ 0000775 0000000 0000000 00000000000 13565534140 0015412 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/error/#/throw.js 0000664 0000000 0000000 00000000171 13565534140 0017112 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var e = new Error();
try { t.call(e); }
catch (e2) { a(e2, e); }
};
es5-ext-0.10.53/test/error/custom.js 0000664 0000000 0000000 00000000640 13565534140 0017140 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var T = t, err = new T("My Error", "MY_ERROR", { errno: 123 });
a(err instanceof Error, true, "Instance of error");
a(err.constructor, Error, "Constructor");
a(err.name, "Error", "Name");
a(String(err), "Error: My Error", "String representation");
a(err.code, "MY_ERROR", "Code");
a(err.errno, 123, "Errno");
a(typeof err.stack, "string", "Stack trace");
};
es5-ext-0.10.53/test/error/is-error.js 0000664 0000000 0000000 00000001024 13565534140 0017365 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(), false, "Undefined");
a(t(1), false, "Primitive");
a(t({}), false, "Objectt");
a(t({ toString: function () { return "[object Error]"; } }), false, "Fake error");
a(t(new Error()), true, "Error");
a(t(new EvalError()), true, "EvalError");
a(t(new RangeError()), true, "RangeError");
a(t(new ReferenceError()), true, "ReferenceError");
a(t(new SyntaxError()), true, "SyntaxError");
a(t(new TypeError()), true, "TypeError");
a(t(new URIError()), true, "URIError");
};
es5-ext-0.10.53/test/error/valid-error.js 0000664 0000000 0000000 00000000215 13565534140 0020052 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var e = new Error();
a(t(e), e, "Error");
a.throws(function () { t({}); }, "Other");
};
es5-ext-0.10.53/test/function/ 0000775 0000000 0000000 00000000000 13565534140 0015764 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/function/#/ 0000775 0000000 0000000 00000000000 13565534140 0016106 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/function/#/compose.js 0000664 0000000 0000000 00000000572 13565534140 0020115 0 ustar 00root root 0000000 0000000 "use strict";
var f = function (a, b) { return ["a", arguments.length, a, b]; }
, g = function (a) { return ["b", arguments.length].concat(a); }
, h = function (a) { return ["c", arguments.length].concat(a); };
module.exports = function (t, a) {
a.deep(t.call(h, g, f)(1, 2), ["c", 1, "b", 1, "a", 2, 1, 2]);
a.deep(t(h, g, f)(1, 2), ["c", 1, "b", 1, "a", 2, 1, 2]);
};
es5-ext-0.10.53/test/function/#/copy.js 0000664 0000000 0000000 00000000775 13565534140 0017427 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var foo = "raz", bar = "dwa";
// eslint-disable-next-line func-names
var fn = function marko(a, b) { return this + a + b + foo + bar; };
var result, o = {};
fn.prototype = o;
fn.foo = "raz";
result = t.call(fn);
a(result.length, fn.length, "Length");
a(result.name, fn.name, "Length");
a(result.call("marko", "el", "fe"), "markoelferazdwa", "Body");
a(result.prototype, fn.prototype, "Prototype");
a(result.foo, fn.foo, "Custom property");
};
es5-ext-0.10.53/test/function/#/curry.js 0000664 0000000 0000000 00000000767 13565534140 0017622 0 ustar 00root root 0000000 0000000 "use strict";
var toArray = require("../../../array/to-array")
, f = function () { return toArray(arguments); };
module.exports = function (t, a) {
var x, y = {}, z;
a.deep(t.call(f, 0, 1, 2)(3), [], "0 arguments");
x = t.call(f, 5, {});
a(x.length, 5, "Length #1");
z = x(1, 2);
a(z.length, 3, "Length #2");
z = z(3, 4);
a(z.length, 1, "Length #1");
a.deep(z(5, 6), [1, 2, 3, 4, 5], "Many arguments");
a.deep(x(8, 3)(y, 45)("raz", 6), [8, 3, y, 45, "raz"], "Many arguments #2");
};
es5-ext-0.10.53/test/function/#/lock.js 0000664 0000000 0000000 00000000167 13565534140 0017400 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call(function () { return arguments.length; })(1, 2, 3), 0);
};
es5-ext-0.10.53/test/function/#/microtask-delay.js 0000664 0000000 0000000 00000000656 13565534140 0021543 0 ustar 00root root 0000000 0000000 "use strict";
var nextTick = require("next-tick");
module.exports = function (t, a, d) {
var wasInvoked = false, args = [{}, {}], context = {};
var target = t.call(function () {
a(this, context);
a.deep(arguments, args);
wasInvoked = true;
});
nextTick(function () {
a(wasInvoked, false);
target.apply(context, args);
a(wasInvoked, false);
nextTick(function () {
a(wasInvoked, true);
d();
});
});
};
es5-ext-0.10.53/test/function/#/not.js 0000664 0000000 0000000 00000000507 13565534140 0017246 0 ustar 00root root 0000000 0000000 "use strict";
var identity = require("../../../function/identity")
, noop = require("../../../function/noop");
module.exports = function (t, a) {
a(t.call(identity)(""), true, "Falsy");
a(t.call(noop)(), true, "Undefined");
a(t.call(identity)({}), false, "Any object");
a(t.call(identity)(true), false, "True");
};
es5-ext-0.10.53/test/function/#/partial.js 0000664 0000000 0000000 00000000310 13565534140 0020072 0 ustar 00root root 0000000 0000000 "use strict";
var toArray = require("../../../array/to-array")
, f = function () { return toArray(arguments); };
module.exports = function (t, a) { a.deep(t.call(f, 1)(2, 3), [1, 2, 3]); };
es5-ext-0.10.53/test/function/#/spread.js 0000664 0000000 0000000 00000000246 13565534140 0017724 0 ustar 00root root 0000000 0000000 "use strict";
var f = function (a, b) { return this[a] + this[b]; }, o = { a: 3, b: 4 };
module.exports = function (t, a) { a(t.call(f).call(o, ["a", "b"]), 7); };
es5-ext-0.10.53/test/function/#/to-string-tokens.js 0000664 0000000 0000000 00000001456 13565534140 0021701 0 ustar 00root root 0000000 0000000 /* eslint no-eval: "off" */
"use strict";
module.exports = function (t, a) {
a.deep(t.call(function (a, b) { return this[a] + this[b]; }), {
args: "a, b",
body: " return this[a] + this[b]; "
});
a.deep(t.call(function () {}), { args: "", body: "" });
// eslint-disable-next-line no-unused-vars
a.deep(t.call(function (raz) {}), { args: "raz", body: "" });
a.deep(t.call(function () { Object(); }), { args: "", body: " Object(); " });
try {
eval("(() => {})");
} catch (e) {
// Non ES2015 env
return;
}
a.deep(t.call(eval("(() => {})")), { args: "", body: "" });
a.deep(t.call(eval("((elo) => foo)")), { args: "elo", body: "foo" });
a.deep(t.call(eval("(elo => foo)")), { args: "elo", body: "foo" });
a.deep(t.call(eval("((elo, bar) => foo())")), { args: "elo, bar", body: "foo()" });
};
es5-ext-0.10.53/test/function/_define-length.js 0000664 0000000 0000000 00000000501 13565534140 0021166 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var foo = "raz", bar = "dwa", fn = function (a, b) { return this + a + b + foo + bar; }, result;
result = t(fn, 3);
a(result.call("marko", "el", "fe"), "markoelferazdwa", "Content");
a(result.length, 3, "Length");
a(result.prototype, fn.prototype, "Prototype");
};
es5-ext-0.10.53/test/function/constant.js 0000664 0000000 0000000 00000000120 13565534140 0020144 0 ustar 00root root 0000000 0000000 "use strict";
var o = {};
module.exports = function (t, a) { a(t(o)(), o); };
es5-ext-0.10.53/test/function/identity.js 0000664 0000000 0000000 00000000116 13565534140 0020151 0 ustar 00root root 0000000 0000000 "use strict";
var o = {};
module.exports = function (t, a) { a(t(o), o); };
es5-ext-0.10.53/test/function/invoke.js 0000664 0000000 0000000 00000000240 13565534140 0017611 0 ustar 00root root 0000000 0000000 "use strict";
var constant = require("../../function/constant")
, o = { b: constant("c") };
module.exports = function (t, a) { a(t("b")(o), "c"); };
es5-ext-0.10.53/test/function/is-arguments.js 0000664 0000000 0000000 00000000437 13565534140 0020744 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var args, dummy;
args = (function () { return arguments; })();
dummy = { 0: 1, 1: 2 };
Object.defineProperty(dummy, "length", { value: 2 });
a(t(args), true, "Arguments");
a(t(dummy), false, "Dummy");
a(t([]), false, "Array");
};
es5-ext-0.10.53/test/function/is-function.js 0000664 0000000 0000000 00000000623 13565534140 0020561 0 ustar 00root root 0000000 0000000 "use strict";
var o = { call: Function.prototype.call, apply: Function.prototype.apply };
module.exports = function (t, a) {
a(t(function () {}), true, "Function is function");
a(t(o), false, "Plain object is not function");
var asyncFunction;
try { asyncFunction = eval("async () => {}"); }
catch (error) {}
if (asyncFunction) {
a(t(asyncFunction), true, "Async function is function");
}
};
es5-ext-0.10.53/test/function/noop.js 0000664 0000000 0000000 00000000130 13565534140 0017267 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(1, 2, 3), "undefined"); };
es5-ext-0.10.53/test/function/pluck.js 0000664 0000000 0000000 00000000145 13565534140 0017440 0 ustar 00root root 0000000 0000000 "use strict";
var o = { foo: "bar" };
module.exports = function (t, a) { a(t("foo")(o), o.foo); };
es5-ext-0.10.53/test/function/valid-function.js 0000664 0000000 0000000 00000000562 13565534140 0021247 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var f = function () {};
a(t(f), f, "Function");
// eslint-disable-next-line no-new-func
f = new Function();
a(t(f), f, "Function");
a.throws(function () { t({}); }, "Object");
a.throws(function () { t(/re/); }, "RegExp");
a.throws(function () {
t({ call: function () { return 20; } });
}, "Plain object");
};
es5-ext-0.10.53/test/global.js 0000664 0000000 0000000 00000000245 13565534140 0015736 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a.ok(t && typeof t === "object");
a(typeof t.Array, "function");
a("__global__" in Object.prototype, false);
};
es5-ext-0.10.53/test/iterable/ 0000775 0000000 0000000 00000000000 13565534140 0015726 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/iterable/for-each.js 0000664 0000000 0000000 00000002521 13565534140 0017750 0 ustar 00root root 0000000 0000000 "use strict";
var ArrayIterator = require("es6-iterator/array")
, slice = Array.prototype.slice;
module.exports = function (t, a) {
var i = 0, x = ["raz", "dwa", "trzy"], y = {};
t(
x,
function () {
a.deep(slice.call(arguments, 0, 1), [x[i]], "Array " + i + "#");
a(this, y, "Array: context: " + i++ + "#");
},
y
);
i = 0;
t(
(function () { return arguments; })("raz", "dwa", "trzy"),
function () {
a.deep(slice.call(arguments, 0, 1), [x[i]], "Arguments" + i + "#");
a(this, y, "Arguments: context: " + i++ + "#");
},
y
);
i = 0;
t(
{ 0: "raz", 1: "dwa", 2: "trzy", length: 3 },
function () {
a.deep(slice.call(arguments, 0, 1), [x[i]], "Array-like" + i + "#");
a(this, y, "Array-like: context: " + i++ + "#");
},
y
);
i = 0;
t(
(x = "foo"),
function () {
a.deep(slice.call(arguments, 0, 1), [x[i]], "String " + i + "#");
a(this, y, "Regular String: context: " + i++ + "#");
},
y
);
i = 0;
x = ["r", "💩", "z"];
t(
"r💩z",
function () {
a.deep(slice.call(arguments, 0, 1), [x[i]], "String " + i + "#");
a(this, y, "Unicode String: context: " + i++ + "#");
},
y
);
i = 0;
t(
new ArrayIterator(x),
function () {
a.deep(slice.call(arguments, 0, 1), [x[i]], "Iterator " + i + "#");
a(this, y, "Iterator: context: " + i++ + "#");
},
y
);
};
es5-ext-0.10.53/test/iterable/is.js 0000664 0000000 0000000 00000001052 13565534140 0016675 0 ustar 00root root 0000000 0000000 "use strict";
var iteratorSymbol = require("es6-symbol").iterator;
module.exports = function (t, a) {
var x;
a(t([]), true, "Array");
a(t(""), true, "String");
a(t((function () { return arguments; })()), true, "Arguments");
a(t({ length: 0 }), true, "List object");
a(t(function () {}), false, "Function");
a(t({}), false, "Plain object");
a(t(/raz/), false, "Regexp");
a(t(), false, "No argument");
a(t(null), false, "Null");
a(t(undefined), false, "Undefined");
x = {};
x[iteratorSymbol] = function () {};
a(t(x), true, "Iterable");
};
es5-ext-0.10.53/test/iterable/validate-object.js 0000664 0000000 0000000 00000001325 13565534140 0021322 0 ustar 00root root 0000000 0000000 "use strict";
var iteratorSymbol = require("es6-symbol").iterator;
module.exports = function (t, a) {
var x;
a.throws(function () { t(0); }, TypeError, "0");
a.throws(function () { t(false); }, TypeError, "false");
a.throws(function () { t(""); }, TypeError, "String");
a.throws(function () { t({}); }, TypeError, "Plain Object");
a.throws(
function () {
t(function () {});
},
TypeError,
"Function"
);
a(t((x = new String("raz"))), x, "String object"); // Jslint: ignore
a(t((x = { length: 1 })), x, "Array like");
a.throws(function () { t(); }, TypeError, "Undefined");
a.throws(function () { t(null); }, TypeError, "null");
x = {};
x[iteratorSymbol] = function () {};
a(t(x), x, "Iterable");
};
es5-ext-0.10.53/test/iterable/validate.js 0000664 0000000 0000000 00000001262 13565534140 0020056 0 ustar 00root root 0000000 0000000 "use strict";
var iteratorSymbol = require("es6-symbol").iterator;
module.exports = function (t, a) {
var x;
a.throws(function () { t(0); }, TypeError, "0");
a.throws(function () { t(false); }, TypeError, "false");
a(t(""), "", "''");
a.throws(function () { t({}); }, TypeError, "Plain Object");
a.throws(
function () {
t(function () {});
},
TypeError,
"Function"
);
a(t((x = new String("raz"))), x, "String object"); // Jslint: ignore
a(t((x = { length: 1 })), x, "Array like");
a.throws(function () { t(); }, TypeError, "Undefined");
a.throws(function () { t(null); }, TypeError, "null");
x = {};
x[iteratorSymbol] = function () {};
a(t(x), x, "Iterable");
};
es5-ext-0.10.53/test/json/ 0000775 0000000 0000000 00000000000 13565534140 0015110 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/json/safe-stringify.js 0000664 0000000 0000000 00000001101 13565534140 0020371 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({ foo: "bar" }), JSON.stringify({ foo: "bar" }));
a(t({ foo: { elo: 12 } }), "{\"foo\":{\"elo\":12}}");
a(
t({ foo: { elo: 12, mel: { toJSON: function () { throw new Error("Nu nu!"); } } } }),
"{\"foo\":{\"elo\":12}}"
);
a(
t({ foo: { elo: 12 }, mel: { toJSON: function () { throw new Error("Nu nu!"); } } }),
"{\"foo\":{\"elo\":12}}"
);
a(
t({
foo: { elo: 12 },
mel: ["raz", { toJSON: function () { throw new Error("Nu nu!"); } }, 0, 2]
}),
"{\"foo\":{\"elo\":12},\"mel\":[\"raz\",0,2]}"
);
};
es5-ext-0.10.53/test/math/ 0000775 0000000 0000000 00000000000 13565534140 0015070 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/_decimal-adjust.js 0000664 0000000 0000000 00000000247 13565534140 0020456 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
// Just sanity check, as real tests are in 'round', 'ceil' and 'floor' variants
a(t("round")(55.55, -1), 55.6);
};
es5-ext-0.10.53/test/math/_pack-ieee754.js 0000664 0000000 0000000 00000000142 13565534140 0017645 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a.deep(t(1.337, 8, 23), [63, 171, 34, 209]); };
es5-ext-0.10.53/test/math/_unpack-ieee754.js 0000664 0000000 0000000 00000000157 13565534140 0020216 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a.deep(t([63, 171, 34, 209], 8, 23), 1.3370000123977661); };
es5-ext-0.10.53/test/math/acosh/ 0000775 0000000 0000000 00000000000 13565534140 0016165 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/acosh/implement.js 0000664 0000000 0000000 00000000220 13565534140 0020507 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../math/acosh/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/math/acosh/index.js 0000664 0000000 0000000 00000000063 13565534140 0017631 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/math/acosh/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021436 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/math/acosh/shim.js 0000664 0000000 0000000 00000000373 13565534140 0017466 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), NaN, "NaN");
a(t(-1), NaN, "Negative");
a(t(0), NaN, "Zero");
a(t(0.5), NaN, "Below 1");
a(t(1), 0, "1");
a(t(2), 1.3169578969248166, "Other");
a(t(Infinity), Infinity, "Infinity");
};
es5-ext-0.10.53/test/math/asinh/ 0000775 0000000 0000000 00000000000 13565534140 0016172 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/asinh/implement.js 0000664 0000000 0000000 00000000220 13565534140 0020514 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../math/asinh/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/math/asinh/index.js 0000664 0000000 0000000 00000000063 13565534140 0017636 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/math/asinh/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021443 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/math/asinh/shim.js 0000664 0000000 0000000 00000000410 13565534140 0017463 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), NaN, "NaN");
a(t(0), 0, "Zero");
a(t(Infinity), Infinity, "Infinity");
a(t(-Infinity), -Infinity, "-Infinity");
a(t(-2), -1.4436354751788103, "Negative");
a(t(2), 1.4436354751788103, "Positive");
};
es5-ext-0.10.53/test/math/atanh/ 0000775 0000000 0000000 00000000000 13565534140 0016163 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/atanh/implement.js 0000664 0000000 0000000 00000000220 13565534140 0020505 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../math/atanh/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/math/atanh/index.js 0000664 0000000 0000000 00000000063 13565534140 0017627 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/math/atanh/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021434 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/math/atanh/shim.js 0000664 0000000 0000000 00000000420 13565534140 0017455 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), NaN, "NaN");
a(t(-2), NaN, "Less than -1");
a(t(2), NaN, "Greater than 1");
a(t(-1), -Infinity, "-1");
a(t(1), Infinity, "1");
a(t(0), 0, "Zero");
a(Math.round(t(0.5) * 1e15), 549306144334055, "Other");
};
es5-ext-0.10.53/test/math/cbrt/ 0000775 0000000 0000000 00000000000 13565534140 0016022 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/cbrt/implement.js 0000664 0000000 0000000 00000000217 13565534140 0020352 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../math/cbrt/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/math/cbrt/index.js 0000664 0000000 0000000 00000000063 13565534140 0017466 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/math/cbrt/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021273 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/math/cbrt/shim.js 0000664 0000000 0000000 00000000400 13565534140 0017312 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), NaN, "NaN");
a(t(0), 0, "Zero");
a(t(Infinity), Infinity, "Infinity");
a(t(-Infinity), -Infinity, "-Infinity");
a(t(-1), -1, "-1");
a(t(1), 1, "1");
a(t(2), 1.2599210498948732, "Ohter");
};
es5-ext-0.10.53/test/math/ceil-10.js 0000664 0000000 0000000 00000000215 13565534140 0016556 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(55.51, -1), 55.6);
a(t(51, 1), 60);
a(t(-55.59, -1), -55.5);
a(t(-59, 1), -50);
};
es5-ext-0.10.53/test/math/clz32/ 0000775 0000000 0000000 00000000000 13565534140 0016025 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/clz32/implement.js 0000664 0000000 0000000 00000000220 13565534140 0020347 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../math/clz32/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/math/clz32/index.js 0000664 0000000 0000000 00000000063 13565534140 0017471 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/math/clz32/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021276 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/math/clz32/shim.js 0000664 0000000 0000000 00000000423 13565534140 0017322 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(1), 31, "1");
a(t(1000), 22, "1000");
a(t(), 32, "No arguments");
a(t(Infinity), 32, "Infinity");
a(t(-Infinity), 32, "-Infinity");
a(t("foo"), 32, "String");
a(t(true), 31, "Boolean");
a(t(3.5), 30, "Float");
};
es5-ext-0.10.53/test/math/cosh/ 0000775 0000000 0000000 00000000000 13565534140 0016024 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/cosh/implement.js 0000664 0000000 0000000 00000000217 13565534140 0020354 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../math/cosh/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/math/cosh/index.js 0000664 0000000 0000000 00000000063 13565534140 0017470 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/math/cosh/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021275 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/math/cosh/shim.js 0000664 0000000 0000000 00000000524 13565534140 0017323 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), NaN, "NaN");
a(t(0), 1, "Zero");
a(t(Infinity), Infinity, "Infinity");
a(t(-Infinity), Infinity, "-Infinity");
a(t(1), 1.5430806348152437, "1");
a(t(Number.MAX_VALUE), Infinity);
a(t(-Number.MAX_VALUE), Infinity);
a(t(Number.MIN_VALUE), 1);
a(t(-Number.MIN_VALUE), 1);
};
es5-ext-0.10.53/test/math/expm1/ 0000775 0000000 0000000 00000000000 13565534140 0016122 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/expm1/implement.js 0000664 0000000 0000000 00000000220 13565534140 0020444 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../math/expm1/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/math/expm1/index.js 0000664 0000000 0000000 00000000063 13565534140 0017566 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/math/expm1/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021373 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/math/expm1/shim.js 0000664 0000000 0000000 00000000333 13565534140 0017417 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), NaN, "NaN");
a(t(0), 0, "Zero");
a(t(Infinity), Infinity, "Infinity");
a(t(-Infinity), -1, "-Infinity");
a(t(1).toFixed(15), "1.718281828459045", "1");
};
es5-ext-0.10.53/test/math/floor-10.js 0000664 0000000 0000000 00000000215 13565534140 0016763 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(55.59, -1), 55.5);
a(t(59, 1), 50);
a(t(-55.51, -1), -55.6);
a(t(-51, 1), -60);
};
es5-ext-0.10.53/test/math/fround/ 0000775 0000000 0000000 00000000000 13565534140 0016365 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/fround/implement.js 0000664 0000000 0000000 00000000221 13565534140 0020710 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../math/fround/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/math/fround/index.js 0000664 0000000 0000000 00000000063 13565534140 0020031 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/math/fround/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021636 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/math/fround/shim.js 0000664 0000000 0000000 00000000331 13565534140 0017660 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), NaN, "NaN");
a(t(0), 0, "Zero");
a(t(Infinity), Infinity, "Infinity");
a(t(-Infinity), -Infinity, "-Infinity");
a(t(1.337), 1.3370000123977661, "1");
};
es5-ext-0.10.53/test/math/hypot/ 0000775 0000000 0000000 00000000000 13565534140 0016233 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/hypot/implement.js 0000664 0000000 0000000 00000000220 13565534140 0020555 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../math/hypot/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/math/hypot/index.js 0000664 0000000 0000000 00000000063 13565534140 0017677 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/math/hypot/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021504 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/math/hypot/shim.js 0000664 0000000 0000000 00000000454 13565534140 0017534 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(), 0, "No arguments");
a(t(0, -0, 0), 0, "Zeros");
a(t(4, NaN, Infinity), Infinity, "Infinity");
a(t(4, NaN, -Infinity), Infinity, "Infinity");
a(t(4, NaN, 34), NaN, "NaN");
a(t(3, 4), 5, "#1");
a(t(3, 4, 5), 7.0710678118654755, "#2");
};
es5-ext-0.10.53/test/math/imul/ 0000775 0000000 0000000 00000000000 13565534140 0016036 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/imul/implement.js 0000664 0000000 0000000 00000000217 13565534140 0020366 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../math/imul/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/math/imul/index.js 0000664 0000000 0000000 00000000063 13565534140 0017502 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/math/imul/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021307 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/math/imul/shim.js 0000664 0000000 0000000 00000000271 13565534140 0017334 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(), 0, "No arguments");
a(t(0, 0), 0, "Zeros");
a(t(2, 4), 8, "#1");
a(t(-1, 8), -8, "#2");
a(t(0xfffffffe, 5), -10, "#3");
};
es5-ext-0.10.53/test/math/log10/ 0000775 0000000 0000000 00000000000 13565534140 0016012 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/log10/implement.js 0000664 0000000 0000000 00000000220 13565534140 0020334 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../math/log10/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/math/log10/index.js 0000664 0000000 0000000 00000000063 13565534140 0017456 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/math/log10/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021263 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/math/log10/shim.js 0000664 0000000 0000000 00000000347 13565534140 0017314 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), NaN, "NaN");
a(t(-0.5), NaN, "Less than 0");
a(t(0), -Infinity, "0");
a(t(1), 0, "1");
a(t(Infinity), Infinity, "Infinity");
a(t(2), 0.3010299956639812, "Other");
};
es5-ext-0.10.53/test/math/log1p/ 0000775 0000000 0000000 00000000000 13565534140 0016112 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/log1p/implement.js 0000664 0000000 0000000 00000000220 13565534140 0020434 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../math/log1p/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/math/log1p/index.js 0000664 0000000 0000000 00000000063 13565534140 0017556 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/math/log1p/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021363 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/math/log1p/shim.js 0000664 0000000 0000000 00000000352 13565534140 0017410 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), NaN, "NaN");
a(t(-1.5), NaN, "Less than -1");
a(t(-1), -Infinity, "-1");
a(t(0), 0, "0");
a(t(Infinity), Infinity, "Infinity");
a(t(1), 0.6931471805599453, "Other");
};
es5-ext-0.10.53/test/math/log2/ 0000775 0000000 0000000 00000000000 13565534140 0015733 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/log2/implement.js 0000664 0000000 0000000 00000000217 13565534140 0020263 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../math/log2/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/math/log2/index.js 0000664 0000000 0000000 00000000063 13565534140 0017377 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/math/log2/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021204 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/math/log2/shim.js 0000664 0000000 0000000 00000000364 13565534140 0017234 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), NaN, "NaN");
a(t(-0.5), NaN, "Less than 0");
a(t(0), -Infinity, "0");
a(t(1), 0, "1");
a(t(Infinity), Infinity, "Infinity");
a(t(3).toFixed(15), "1.584962500721156", "Other");
};
es5-ext-0.10.53/test/math/round-10.js 0000664 0000000 0000000 00000000434 13565534140 0016774 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(55.55, -1), 55.6);
a(t(55.549, -1), 55.5);
a(t(55, 1), 60);
a(t(54.9, 1), 50);
a(t(-55.55, -1), -55.5);
a(t(-55.551, -1), -55.6);
a(t(-55, 1), -50);
a(t(-55.1, 1), -60);
a(t(1.005, -2), 1.01);
a(t(-1.005, -2), -1.0);
};
es5-ext-0.10.53/test/math/sign/ 0000775 0000000 0000000 00000000000 13565534140 0016030 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/sign/implement.js 0000664 0000000 0000000 00000000217 13565534140 0020360 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../math/sign/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/math/sign/index.js 0000664 0000000 0000000 00000000063 13565534140 0017474 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/math/sign/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021301 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/math/sign/shim.js 0000664 0000000 0000000 00000000374 13565534140 0017332 0 ustar 00root root 0000000 0000000 "use strict";
var is = require("../../../object/is");
module.exports = function (t, a) {
a(is(t(0), +0), true, "+0");
a(is(t(-0), -0), true, "-0");
a(t({}), NaN, true, "NaN");
a(t(-234234234), -1, "Negative");
a(t(234234234), 1, "Positive");
};
es5-ext-0.10.53/test/math/sinh/ 0000775 0000000 0000000 00000000000 13565534140 0016031 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/sinh/implement.js 0000664 0000000 0000000 00000000217 13565534140 0020361 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../math/sinh/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/math/sinh/index.js 0000664 0000000 0000000 00000000063 13565534140 0017475 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/math/sinh/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021302 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/math/sinh/shim.js 0000664 0000000 0000000 00000000541 13565534140 0017327 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), NaN, "NaN");
a(t(0), 0, "Zero");
a(t(Infinity), Infinity, "Infinity");
a(t(-Infinity), -Infinity, "-Infinity");
a(t(1), 1.1752011936438014, "1");
a(t(Number.MAX_VALUE), Infinity);
a(t(-Number.MAX_VALUE), -Infinity);
a(t(Number.MIN_VALUE), 5e-324);
a(t(-Number.MIN_VALUE), -5e-324);
};
es5-ext-0.10.53/test/math/tanh/ 0000775 0000000 0000000 00000000000 13565534140 0016022 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/tanh/implement.js 0000664 0000000 0000000 00000000217 13565534140 0020352 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../math/tanh/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/math/tanh/index.js 0000664 0000000 0000000 00000000063 13565534140 0017466 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/math/tanh/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021273 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/math/tanh/shim.js 0000664 0000000 0000000 00000000401 13565534140 0017313 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), NaN, "NaN");
a(t(0), 0, "Zero");
a(t(Infinity), 1, "Infinity");
a(t(-Infinity), -1, "-Infinity");
a(t(1), 0.7615941559557649, "1");
a(t(Number.MAX_VALUE), 1);
a(t(-Number.MAX_VALUE), -1);
};
es5-ext-0.10.53/test/math/trunc/ 0000775 0000000 0000000 00000000000 13565534140 0016223 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/math/trunc/implement.js 0000664 0000000 0000000 00000000220 13565534140 0020545 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../math/trunc/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/math/trunc/index.js 0000664 0000000 0000000 00000000063 13565534140 0017667 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/math/trunc/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021474 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/math/trunc/shim.js 0000664 0000000 0000000 00000000642 13565534140 0017523 0 ustar 00root root 0000000 0000000 "use strict";
var is = require("../../../object/is");
module.exports = function (t, a) {
a(t({}), NaN, "NaN");
a(t(0), 0, "Zero");
a(t(Infinity), Infinity, "Infinity");
a(t(-Infinity), -Infinity, "-Infinity");
a(is(t(0.234), 0), true, "0");
a(is(t(-0.234), -0), true, "-0");
a(t(13.7), 13, "Positive #1");
a(t(12.3), 12, "Positive #2");
a(t(-12.3), -12, "Negative #1");
a(t(-14.7), -14, "Negative #2");
};
es5-ext-0.10.53/test/number/ 0000775 0000000 0000000 00000000000 13565534140 0015427 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/number/#/ 0000775 0000000 0000000 00000000000 13565534140 0015551 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/number/#/pad.js 0000664 0000000 0000000 00000000274 13565534140 0016656 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call(78, 4), "0078");
a(t.call(65.12323, 4, 3), "0065.123", "Precision");
a(t.call(65, 4, 3), "0065.000", "Precision integer");
};
es5-ext-0.10.53/test/number/epsilon/ 0000775 0000000 0000000 00000000000 13565534140 0017100 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/number/epsilon/implement.js 0000664 0000000 0000000 00000000224 13565534140 0021426 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../number/epsilon/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/number/epsilon/index.js 0000664 0000000 0000000 00000000114 13565534140 0020541 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t, "number"); };
es5-ext-0.10.53/test/number/epsilon/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022351 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/number/is-finite/ 0000775 0000000 0000000 00000000000 13565534140 0017316 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/number/is-finite/implement.js 0000664 0000000 0000000 00000000226 13565534140 0021646 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../number/is-finite/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/number/is-finite/index.js 0000664 0000000 0000000 00000000063 13565534140 0020762 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/number/is-finite/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022567 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/number/is-finite/shim.js 0000664 0000000 0000000 00000000260 13565534140 0020612 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(2), true, "Number");
a(t("23"), false, "Not numeric");
a(t(NaN), false, "NaN");
a(t(Infinity), false, "Infinity");
};
es5-ext-0.10.53/test/number/is-integer/ 0000775 0000000 0000000 00000000000 13565534140 0017475 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/number/is-integer/implement.js 0000664 0000000 0000000 00000000227 13565534140 0022026 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../number/is-integer/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/number/is-integer/index.js 0000664 0000000 0000000 00000000063 13565534140 0021141 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/number/is-integer/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022746 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/number/is-integer/shim.js 0000664 0000000 0000000 00000000315 13565534140 0020772 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(2), true, "Number");
a(t(2.34), false, "Float");
a(t("23"), false, "Not numeric");
a(t(NaN), false, "NaN");
a(t(Infinity), false, "Infinity");
};
es5-ext-0.10.53/test/number/is-nan/ 0000775 0000000 0000000 00000000000 13565534140 0016614 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/number/is-nan/implement.js 0000664 0000000 0000000 00000000223 13565534140 0021141 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../number/is-nan/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/number/is-nan/index.js 0000664 0000000 0000000 00000000063 13565534140 0020260 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/number/is-nan/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022065 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/number/is-nan/shim.js 0000664 0000000 0000000 00000000212 13565534140 0020105 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(2), false, "Number");
a(t({}), false, "Not numeric");
a(t(NaN), true, "NaN");
};
es5-ext-0.10.53/test/number/is-natural.js 0000664 0000000 0000000 00000000353 13565534140 0020045 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(2), true, "Number");
a(t(-2), false, "Negative");
a(t(2.34), false, "Float");
a(t("23"), false, "Not numeric");
a(t(NaN), false, "NaN");
a(t(Infinity), false, "Infinity");
};
es5-ext-0.10.53/test/number/is-number.js 0000664 0000000 0000000 00000000527 13565534140 0017672 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(0), true, "Zero");
a(t(NaN), true, "NaN");
a(t(Infinity), true, "Infinity");
a(t(12), true, "Number");
a(t(false), false, "Boolean");
a(t(new Date()), false, "Date");
a(t(new Number(2)), true, "Number object");
a(t("asdfaf"), false, "String");
a(t(""), false, "Empty String");
};
es5-ext-0.10.53/test/number/is-safe-integer/ 0000775 0000000 0000000 00000000000 13565534140 0020411 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/number/is-safe-integer/implement.js 0000664 0000000 0000000 00000000234 13565534140 0022740 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../number/is-safe-integer/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/number/is-safe-integer/index.js 0000664 0000000 0000000 00000000063 13565534140 0022055 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/number/is-safe-integer/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0023662 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/number/is-safe-integer/shim.js 0000664 0000000 0000000 00000000446 13565534140 0021713 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(2), true, "Number");
a(t(2.34), false, "Float");
a(t(Math.pow(2, 53)), false, "Too large");
a(t(Math.pow(2, 53) - 1), true, "Maximum");
a(t("23"), false, "Not numeric");
a(t(NaN), false, "NaN");
a(t(Infinity), false, "Infinity");
};
es5-ext-0.10.53/test/number/max-safe-integer/ 0000775 0000000 0000000 00000000000 13565534140 0020563 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/number/max-safe-integer/implement.js 0000664 0000000 0000000 00000000235 13565534140 0023113 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../number/max-safe-integer/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/number/max-safe-integer/index.js 0000664 0000000 0000000 00000000114 13565534140 0022224 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t, "number"); };
es5-ext-0.10.53/test/number/max-safe-integer/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0024034 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/number/min-safe-integer/ 0000775 0000000 0000000 00000000000 13565534140 0020561 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/number/min-safe-integer/implement.js 0000664 0000000 0000000 00000000235 13565534140 0023111 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../number/min-safe-integer/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/number/min-safe-integer/index.js 0000664 0000000 0000000 00000000114 13565534140 0022222 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t, "number"); };
es5-ext-0.10.53/test/number/min-safe-integer/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0024032 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/number/to-integer.js 0000664 0000000 0000000 00000000405 13565534140 0020041 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), 0, "NaN");
a(t(20), 20, "Positive integer");
a(t("-20"), -20, "String negative integer");
a(t(Infinity), Infinity, "Infinity");
a(t(15.343), 15, "Float");
a(t(-15.343), -15, "Negative float");
};
es5-ext-0.10.53/test/number/to-pos-integer.js 0000664 0000000 0000000 00000000370 13565534140 0020641 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), 0, "NaN");
a(t(20), 20, "Positive integer");
a(t(-20), 0, "Negative integer");
a(t(Infinity), Infinity, "Infinity");
a(t(15.343), 15, "Float");
a(t(-15.343), 0, "Negative float");
};
es5-ext-0.10.53/test/number/to-uint32.js 0000664 0000000 0000000 00000000306 13565534140 0017530 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), 0, "Not numeric");
a(t(-4), 4294967292, "Negative");
a(t(133432), 133432, "Positive");
a(t(8589934592), 0, "Greater than maximum");
};
es5-ext-0.10.53/test/object/ 0000775 0000000 0000000 00000000000 13565534140 0015405 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/object/_iterate.js 0000664 0000000 0000000 00000001227 13565534140 0017541 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var o = { raz: 1, dwa: 2, trzy: 3 }, o2 = {}, o3 = {}, arr, i = -1;
t = t("forEach");
t(
o,
function (value, name, self, index) {
o2[name] = value;
a(index, ++i, "Index");
a(self, o, "Self");
a(this, o3, "Scope");
},
o3
);
a.deep(o2, o);
arr = [];
o2 = {};
i = -1;
t(
o,
function (value, name, self, index) {
arr.push(value);
o2[name] = value;
a(index, ++i, "Index");
a(self, o, "Self");
a(this, o3, "Scope");
},
o3,
function (a, b) { return o[b] - o[a]; }
);
a.deep(o2, o, "Sort by Values: Content");
a.deep(arr, [3, 2, 1], "Sort by Values: Order");
};
es5-ext-0.10.53/test/object/assign-deep.js 0000664 0000000 0000000 00000001513 13565534140 0020142 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var o1 = { a: 1, b: 2 }, o2 = { b: 3, c: 4 };
a(t(o1, o2), o1, "Returns self");
a.deep(o1, { a: 1, b: 3, c: 4 }, "Single: content");
a.deep(t({}, o1, o2), { a: 1, b: 3, c: 4 }, "Multi argument");
var obj1 = { foo: { bar: 3, marko: true } }
, obj2 = { foo: { elo: 12, marko: false }, miszka: [23] };
var copyObj1 = JSON.parse(JSON.stringify(obj1)), copyObj2 = JSON.parse(JSON.stringify(obj2));
a.deep(t({}, obj1, obj2), { foo: { bar: 3, marko: false, elo: 12 }, miszka: [23] });
// Ensure it's side effects free
a.deep(obj1, copyObj1);
a.deep(obj2, copyObj2);
obj1 = [{ foo: "bar" }];
var assignedObj = [];
t(assignedObj, obj1);
a.deep(assignedObj, [{ foo: "bar" }]);
// Ensure array items are copied and not passed
a.not(assignedObj[0], obj1[0]);
a(t(true), true);
};
es5-ext-0.10.53/test/object/assign/ 0000775 0000000 0000000 00000000000 13565534140 0016671 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/object/assign/implement.js 0000664 0000000 0000000 00000000223 13565534140 0021216 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../object/assign/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/object/assign/index.js 0000664 0000000 0000000 00000000063 13565534140 0020335 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/object/assign/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022142 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/object/assign/shim.js 0000664 0000000 0000000 00000000377 13565534140 0020176 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var o1 = { a: 1, b: 2 }, o2 = { b: 3, c: 4 };
a(t(o1, o2), o1, "Returns self");
a.deep(o1, { a: 1, b: 3, c: 4 }, "Single: content");
a.deep(t({}, o1, o2), { a: 1, b: 3, c: 4 }, "Multi argument");
};
es5-ext-0.10.53/test/object/clear.js 0000664 0000000 0000000 00000000447 13565534140 0017036 0 ustar 00root root 0000000 0000000 "use strict";
var isEmpty = require("../../object/is-empty");
module.exports = function (t, a) {
var x = {};
a(t(x), x, "Empty: Returns same object");
a(isEmpty(x), true, "Empty: Not changed");
x.foo = "raz";
x.bar = "dwa";
a(t(x), x, "Same object");
a(isEmpty(x), true, "Emptied");
};
es5-ext-0.10.53/test/object/compact.js 0000664 0000000 0000000 00000000537 13565534140 0017376 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x = {}, y = {}, z;
z = t(x);
a.not(z, x, "Returns different object");
a.deep(z, {}, "Empty on empty");
x = { foo: "bar", a: 0, b: false, c: "", d: "0", e: null, bar: y, elo: undefined };
z = t(x);
a.deep(z, { foo: "bar", a: 0, b: false, c: "", d: "0", bar: y }, "Cleared null values");
};
es5-ext-0.10.53/test/object/compare.js 0000664 0000000 0000000 00000000561 13565534140 0017373 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var d = new Date();
a.ok(t(12, 3) > 0, "Numbers");
a.ok(t(2, 13) < 0, "Numbers #2");
a.ok(t("aaa", "aa") > 0, "Strings");
a.ok(t("aa", "ab") < 0, "Strings #2");
a(t("aa", "aa"), 0, "Strings same");
a(t(d, new Date(d.getTime())), 0, "Same date");
a.ok(t(d, new Date(d.getTime() + 1)) < 0, "Different date");
};
es5-ext-0.10.53/test/object/copy-deep.js 0000664 0000000 0000000 00000001676 13565534140 0017642 0 ustar 00root root 0000000 0000000 "use strict";
var stringify = JSON.stringify;
module.exports = function (t, a) {
var o = { 1: "raz", 2: "dwa", 3: "trzy" }, no = t(o);
a.not(no, o, "Return different object");
a(stringify(no), stringify(o), "Match properties and values");
o = {
foo: "bar",
raz: {
dwa: "dwa",
trzy: { cztery: "pięć", sześć: "siedem" },
osiem: {},
dziewięć: function () {}
},
dziesięć: 10,
jedenaście: ["raz", ["dwa", "trzy", { elo: "true" }]]
};
o.raz.rec = o;
no = t(o);
a.not(o.raz, no.raz, "Deep");
a.not(o.raz.trzy, no.raz.trzy, "Deep #2");
a(stringify(o.raz.trzy), stringify(no.raz.trzy), "Deep content");
a(no.raz.rec, no, "Recursive");
a.not(o.raz.osiem, no.raz.osiem, "Empty object");
a(o.raz["dziewięć"], no.raz["dziewięć"], "Function");
a.not(o["jedenaście"], no["jedenaście"]);
a.not(o["jedenaście"][1], no["jedenaście"][1]);
a.not(o["jedenaście"][1][2], no["jedenaście"][1][2]);
a(t(true), true);
};
es5-ext-0.10.53/test/object/copy.js 0000664 0000000 0000000 00000001277 13565534140 0016724 0 ustar 00root root 0000000 0000000 "use strict";
var stringify = JSON.stringify;
module.exports = function (t, a) {
var o = { 1: "raz", 2: "dwa", 3: "trzy" }, no = t(o);
a.not(no, o, "Return different object");
a(stringify(no), stringify(o), "Match properties and values");
o = {
foo: "bar",
raz: {
dwa: "dwa",
trzy: { cztery: "pięć", sześć: "siedem" },
osiem: {},
dziewięć: function () {}
},
dziesięć: 10
};
o.raz.rec = o;
no = t(o);
a(o.raz, no.raz, "Shallow");
a.deep(t(o, ["foo"]), { foo: "bar" });
a.deep(t(Object.create(o), ["foo"]), { foo: "bar" });
a.deep(t(o, ["foo", "habla"]), { foo: "bar" });
a.deep(t(o, ["foo", "habla"], { ensure: true }), { foo: "bar", habla: undefined });
};
es5-ext-0.10.53/test/object/count.js 0000664 0000000 0000000 00000000470 13565534140 0017074 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), 0, "Empty");
a(t({ raz: 1, dwa: null, trzy: undefined, cztery: 0 }), 4, "Some properties");
a(
t(
Object.defineProperties(
{}, { raz: { value: "raz" }, dwa: { value: "dwa", enumerable: true } }
)
),
1, "Some properties hidden"
);
};
es5-ext-0.10.53/test/object/create.js 0000664 0000000 0000000 00000001230 13565534140 0017202 0 ustar 00root root 0000000 0000000 "use strict";
var setPrototypeOf = require("../../object/set-prototype-of")
, getPrototypeOf = Object.getPrototypeOf;
module.exports = function (t, a) {
var x = {}, obj;
a(getPrototypeOf(t(x)), x, "Normal object");
a(getPrototypeOf(t(null)), (setPrototypeOf && setPrototypeOf.nullPolyfill) || null, "Null");
a.h1("Properties");
a.h2("Normal object");
a(getPrototypeOf((obj = t(x, { foo: { value: "bar" } }))), x, "Prototype");
a(obj.foo, "bar", "Property");
a.h2("Null");
a(
getPrototypeOf((obj = t(null, { foo: { value: "bar2" } }))),
(setPrototypeOf && setPrototypeOf.nullPolyfill) || null, "Prototype"
);
a(obj.foo, "bar2", "Property");
};
es5-ext-0.10.53/test/object/ensure-array.js 0000664 0000000 0000000 00000001227 13565534140 0020362 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var arr = [];
a(t(arr), arr, "Array");
a(t(""), "", "String");
var args = (function () { return arguments; })();
a(t(args), args, "Arguments");
var arrayLike = { length: 0 };
a(t(arrayLike), arrayLike, "Array like");
a.throws(
function () {
t(function () {});
},
TypeError,
"Function"
);
a.throws(function () { t({}); }, TypeError, "Plain object");
a.throws(function () { t(/raz/); }, TypeError, "Regexp");
a.throws(function () { t(); }, TypeError, "No argument");
a.throws(function () { t(null); }, TypeError, "Null");
a.throws(function () { t(undefined); }, TypeError, "Undefined");
};
es5-ext-0.10.53/test/object/ensure-finite-number.js 0000664 0000000 0000000 00000001215 13565534140 0022005 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a.throws(function () { t(undefined); }, TypeError, "Undefined");
a.throws(function () { t(null); }, TypeError, "Null");
a(t(0), 0, "Zero");
a.throws(function () { t(NaN); }, TypeError, "NaN");
a.throws(function () { t(Infinity); }, TypeError, "Infinity");
a(t(12), 12, "Number");
a(t(false), 0, "Boolean");
a(t(new Date(1000000)), 1000000, "Date");
a(t(new Number(2)), 2, "Number object");
a.throws(function () { t("asdfaf"); }, TypeError, "String");
a(t(""), 0, "Empty String");
if (typeof Symbol === "function") {
a.throws(function () { t(Symbol("test")); }, TypeError, "Symbol");
}
};
es5-ext-0.10.53/test/object/ensure-integer.js 0000664 0000000 0000000 00000000663 13565534140 0020704 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a.throws(function () { t(undefined); }, TypeError, "Undefined");
a.throws(function () { t(null); }, TypeError, "Null");
a(t(2), 2, "Number");
a(t(-2), -2, "Negative");
a.throws(function () { t(2.34); }, TypeError, "Float");
a(t("23"), 23, "Numeric string");
a.throws(function () { t(NaN); }, TypeError, "NaN");
a.throws(function () { t(Infinity); }, TypeError, "Infinity");
};
es5-ext-0.10.53/test/object/ensure-natural-number-value.js 0000664 0000000 0000000 00000000722 13565534140 0023311 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a.throws(function () { t(undefined); }, TypeError, "Undefined");
a.throws(function () { t(null); }, TypeError, "Null");
a(t(2), 2, "Number");
a.throws(function () { t(-2); }, TypeError, "Negative");
a.throws(function () { t(2.34); }, TypeError, "Float");
a(t("23"), 23, "Numeric string");
a.throws(function () { t(NaN); }, TypeError, "NaN");
a.throws(function () { t(Infinity); }, TypeError, "Infinity");
};
es5-ext-0.10.53/test/object/ensure-natural-number.js 0000664 0000000 0000000 00000000662 13565534140 0022202 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a.throws(function () { t(undefined); }, TypeError, "Undefined");
a(t(null), 0, "Null");
a(t(2), 2, "Number");
a.throws(function () { t(-2); }, TypeError, "Negative");
a.throws(function () { t(2.34); }, TypeError, "Float");
a(t("23"), 23, "Numeric string");
a.throws(function () { t(NaN); }, TypeError, "NaN");
a.throws(function () { t(Infinity); }, TypeError, "Infinity");
};
es5-ext-0.10.53/test/object/ensure-plain-function.js 0000664 0000000 0000000 00000000337 13565534140 0022173 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
// Just sanity checks, as logic is tested at isPlainFunction
var fn = function () {};
a(t(fn), fn, "Function");
a.throws(function () { t({}); }, TypeError, "Error");
};
es5-ext-0.10.53/test/object/ensure-plain-object.js 0000664 0000000 0000000 00000000475 13565534140 0021617 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
// Just sanity checks, as logic is tested at isPlainFunction
var obj = {};
a(t(obj), obj, "Reguar object instance");
obj = Object.create(null);
a(t(obj), obj, "Null prototype");
a.throws(
function () {
t(function () {});
},
TypeError,
"Error"
);
};
es5-ext-0.10.53/test/object/ensure-promise.js 0000664 0000000 0000000 00000001120 13565534140 0020712 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var promise;
a.throws(function () { t(); }, TypeError);
a.throws(function () { t(null); }, TypeError);
a.throws(function () { t("promise"); }, TypeError);
a.throws(function () { t({}); }, TypeError);
a.throws(function () {
t(function () {});
}, TypeError);
a.throws(function () { t({ then: {} }); }, TypeError);
promise = { then: function () {} };
a(t(promise), promise);
promise = function () {};
promise.then = {};
a.throws(function () { t(promise); }, TypeError);
promise.then = function () {};
a(t(promise), promise);
};
es5-ext-0.10.53/test/object/ensure-thenable.js 0000664 0000000 0000000 00000000342 13565534140 0021023 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
// Just sanity checks as proper tests are at isThenable
var thenable = { then: function () {} };
a.throws(function () { t({}); }, TypeError);
a(t(thenable), thenable);
};
es5-ext-0.10.53/test/object/entries/ 0000775 0000000 0000000 00000000000 13565534140 0017056 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/object/entries/implement.js 0000664 0000000 0000000 00000000224 13565534140 0021404 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../object/entries/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/object/entries/index.js 0000664 0000000 0000000 00000000063 13565534140 0020522 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/object/entries/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022327 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/object/entries/shim.js 0000664 0000000 0000000 00000000451 13565534140 0020354 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a.deep(t({ foo: "bar" }), [["foo", "bar"]], "Object");
a.deep(t("raz"), [["0", "r"], ["1", "a"], ["2", "z"]], "Primitive");
a.throws(function () { t(); }, TypeError, "Undefined");
a.throws(function () { t(null); }, TypeError, "Undefined");
};
es5-ext-0.10.53/test/object/eq.js 0000664 0000000 0000000 00000000477 13565534140 0016360 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var o = {};
a(t(o, {}), false, "Different objects");
a(t(o, o), true, "Same objects");
a(t("1", "1"), true, "Same primitive");
a(t("1", 1), false, "Different primitive types");
a(t(NaN, NaN), true, "NaN");
a(t(0, 0), true, "0,0");
a(t(0, -0), true, "0,-0");
};
es5-ext-0.10.53/test/object/every.js 0000664 0000000 0000000 00000000525 13565534140 0017077 0 ustar 00root root 0000000 0000000 "use strict";
var o = { 1: 1, 2: 2, 3: 3 };
module.exports = function (t, a) {
var o2 = {};
t(o, function (value, name) {
o2[name] = value;
return true;
});
a(JSON.stringify(o2), JSON.stringify(o), "Iterates");
a(t(o, function () { return true; }), true, "Succeeds");
a(t(o, function () { return false; }), false, "Fails");
};
es5-ext-0.10.53/test/object/filter.js 0000664 0000000 0000000 00000000243 13565534140 0017227 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a.deep(t({ 1: 1, 2: 2, 3: 3, 4: 4 }, function (value) { return Boolean(value % 2); }), {
1: 1,
3: 3
});
};
es5-ext-0.10.53/test/object/find-key.js 0000664 0000000 0000000 00000000647 13565534140 0017460 0 ustar 00root root 0000000 0000000 "use strict";
var o = { 1: 1, 2: 2, 3: 3 };
module.exports = function (t, a) {
var o2 = {}, i = 0;
t(o, function (value, name) {
o2[name] = value;
return false;
});
a(JSON.stringify(o2), JSON.stringify(o), "Iterates");
a(
t(o, function () {
++i;
return true;
}),
"1",
"Finds"
);
a(i, 1, "Stops iteration after condition is met");
a(t(o, function () { return false; }), undefined, "Fails");
};
es5-ext-0.10.53/test/object/find.js 0000664 0000000 0000000 00000000645 13565534140 0016670 0 ustar 00root root 0000000 0000000 "use strict";
var o = { 1: 1, 2: 2, 3: 3 };
module.exports = function (t, a) {
var o2 = {}, i = 0;
t(o, function (value, name) {
o2[name] = value;
return false;
});
a(JSON.stringify(o2), JSON.stringify(o), "Iterates");
a(
t(o, function () {
++i;
return true;
}),
1,
"Finds"
);
a(i, 1, "Stops iteration after condition is met");
a(t(o, function () { return false; }), undefined, "Fails");
};
es5-ext-0.10.53/test/object/first-key.js 0000664 0000000 0000000 00000000535 13565534140 0017663 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x = {}, y = Object.create(null);
a(t(x), null, "Normal: Empty");
a(t(y), null, "Null extension: Empty");
x.foo = "raz";
x.bar = 343;
a(["foo", "bar"].indexOf(t(x)) !== -1, true, "Normal");
y.elo = "foo";
y.mar = "wew";
a(["elo", "mar"].indexOf(t(y)) !== -1, true, "Null extension");
};
es5-ext-0.10.53/test/object/flatten.js 0000664 0000000 0000000 00000000217 13565534140 0017400 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a.deep(t({ a: { aa: 1, ab: 2 }, b: { ba: 3, bb: 4 } }), { aa: 1, ab: 2, ba: 3, bb: 4 });
};
es5-ext-0.10.53/test/object/for-each.js 0000664 0000000 0000000 00000000301 13565534140 0017421 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var o = { raz: 1, dwa: 2, trzy: 3 }, o2 = {};
a(t(o, function (value, name) { o2[name] = value; }), undefined, "Return");
a.deep(o2, o);
};
es5-ext-0.10.53/test/object/get-property-names.js 0000664 0000000 0000000 00000000544 13565534140 0021510 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var o = { first: 1, second: 4 }, r1, r2;
o = Object.create(o, { third: { value: null } });
o.first = 2;
o = Object.create(o);
o.fourth = 3;
r1 = t(o);
r1.sort();
r2 = ["first", "second", "third", "fourth"].concat(
Object.getOwnPropertyNames(Object.prototype)
);
r2.sort();
a.deep(r1, r2);
};
es5-ext-0.10.53/test/object/is-array-like.js 0000664 0000000 0000000 00000000642 13565534140 0020416 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t([]), true, "Array");
a(t(""), true, "String");
a(t((function () { return arguments; })()), true, "Arguments");
a(t({ length: 0 }), true, "List object");
a(t(function () {}), false, "Function");
a(t({}), false, "Plain object");
a(t(/raz/), false, "Regexp");
a(t(), false, "No argument");
a(t(null), false, "Null");
a(t(undefined), false, "Undefined");
};
es5-ext-0.10.53/test/object/is-callable.js 0000664 0000000 0000000 00000000263 13565534140 0020114 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(function () {}), true, "Function");
a(t({}), false, "Object");
a(t(), false, "Undefined");
a(t(null), false, "Null");
};
es5-ext-0.10.53/test/object/is-copy-deep.js 0000664 0000000 0000000 00000002443 13565534140 0020244 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x, y;
a(t({ 1: 1, 2: 2, 3: 3 }, { 1: 1, 2: 2, 3: 3 }), true, "Same");
a(t({ 1: 1, 2: 2, 3: 3 }, { 1: 1, 2: 2, 3: 4 }), false, "Different property value");
a(t({ 1: 1, 2: 2, 3: 3 }, { 1: 1, 2: 2 }), false, "Property only in source");
a(t({ 1: 1, 2: 2 }, { 1: 1, 2: 2, 3: 4 }), false, "Property only in target");
a(t("raz", "dwa"), false, "String: diff");
a(t("raz", "raz"), true, "String: same");
a(t("32", 32), false, "String & Number");
a(t([1, "raz", true], [1, "raz", true]), true, "Array: same");
a(t([1, "raz", undefined], [1, "raz"]), false, "Array: diff");
a(t(["foo"], ["one"]), false, "Array: One value comparision");
x = { foo: { bar: { mar: {} } } };
y = { foo: { bar: { mar: {} } } };
a(t(x, y), true, "Deep");
a(t({ foo: { bar: { mar: "foo" } } }, { foo: { bar: { mar: {} } } }), false, "Deep: false");
x = { foo: { bar: { mar: {} } } };
x.rec = { foo: x };
y = { foo: { bar: { mar: {} } } };
y.rec = { foo: x };
a(t(x, y), true, "Object: Infinite Recursion: Same #1");
x.rec.foo = y;
a(t(x, y), true, "Object: Infinite Recursion: Same #2");
x.rec.foo = x;
y.rec.foo = y;
a(t(x, y), true, "Object: Infinite Recursion: Same #3");
y.foo.bar.mar = "raz";
a(t(x, y), false, "Object: Infinite Recursion: Diff");
};
es5-ext-0.10.53/test/object/is-copy.js 0000664 0000000 0000000 00000001156 13565534140 0017331 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({ 1: 1, 2: 2, 3: 3 }, { 1: 1, 2: 2, 3: 3 }), true, "Same");
a(t({ 1: 1, 2: 2, 3: 3 }, { 1: 1, 2: 2, 3: 4 }), false, "Different property value");
a(t({ 1: 1, 2: 2, 3: 3 }, { 1: 1, 2: 2 }), false, "Property only in source");
a(t({ 1: 1, 2: 2 }, { 1: 1, 2: 2, 3: 4 }), false, "Property only in target");
a(t("raz", "dwa"), false, "String: diff");
a(t("raz", "raz"), true, "String: same");
a(t("32", 32), false, "String & Number");
a(t([1, "raz", true], [1, "raz", true]), true, "Array: same");
a(t([1, "raz", undefined], [1, "raz"]), false, "Array: diff");
};
es5-ext-0.10.53/test/object/is-empty.js 0000664 0000000 0000000 00000000164 13565534140 0017513 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), true, "Empty");
a(t({ 1: 1 }), false, "Not empty");
};
es5-ext-0.10.53/test/object/is-finite-number.js 0000664 0000000 0000000 00000000751 13565534140 0021123 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(undefined), false, "Undefined");
a(t(null), false, "Null");
a(t(0), true, "Zero");
a(t(NaN), false, "NaN");
a(t(Infinity), false, "Infinity");
a(t(12), true, "Number");
a(t(false), true, "Boolean");
a(t(new Date()), true, "Date");
a(t(new Number(2)), true, "Number object");
a(t("asdfaf"), false, "String");
a(t(""), true, "Empty String");
if (typeof Symbol === "function") {
a(t(Symbol("test")), false, "Symbol");
}
};
es5-ext-0.10.53/test/object/is-integer.js 0000664 0000000 0000000 00000000456 13565534140 0020016 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(undefined), false, "Undefined");
a(t(null), false, "Null");
a(t(2), true, "Number");
a(t(-2), true, "Negative");
a(t(2.34), false, "Float");
a(t("23"), true, "Numeric string");
a(t(NaN), false, "NaN");
a(t(Infinity), false, "Infinity");
};
es5-ext-0.10.53/test/object/is-natural-number-value.js 0000664 0000000 0000000 00000000457 13565534140 0022430 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(undefined), false, "Undefined");
a(t(null), false, "Null");
a(t(2), true, "Number");
a(t(-2), false, "Negative");
a(t(2.34), false, "Float");
a(t("23"), true, "Numeric string");
a(t(NaN), false, "NaN");
a(t(Infinity), false, "Infinity");
};
es5-ext-0.10.53/test/object/is-natural-number.js 0000664 0000000 0000000 00000000456 13565534140 0021315 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(undefined), false, "Undefined");
a(t(null), true, "Null");
a(t(2), true, "Number");
a(t(-2), false, "Negative");
a(t(2.34), false, "Float");
a(t("23"), true, "Numeric string");
a(t(NaN), false, "NaN");
a(t(Infinity), false, "Infinity");
};
es5-ext-0.10.53/test/object/is-number-value.js 0000664 0000000 0000000 00000000750 13565534140 0020760 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(undefined), false, "Undefined");
a(t(null), false, "Null");
a(t(0), true, "Zero");
a(t(NaN), false, "NaN");
a(t(Infinity), true, "Infinity");
a(t(12), true, "Number");
a(t(false), true, "Boolean");
a(t(new Date()), true, "Date");
a(t(new Number(2)), true, "Number object");
a(t("asdfaf"), false, "String");
a(t(""), true, "Empty String");
if (typeof Symbol === "function") {
a(t(Symbol("test")), false, "Symbol");
}
};
es5-ext-0.10.53/test/object/is-object.js 0000664 0000000 0000000 00000000560 13565534140 0017623 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t("arar"), false, "String");
a(t(12), false, "Number");
a(t(true), false, "Boolean");
a(t(null), false, "Null");
a(t(new Date()), true, "Date");
a(t(new String("raz")), true, "String object");
a(t({}), true, "Plain object");
a(t(/a/), true, "Regular expression");
a(t(function () {}), true, "Function");
};
es5-ext-0.10.53/test/object/is-plain-function.js 0000664 0000000 0000000 00000001710 13565534140 0021301 0 ustar 00root root 0000000 0000000 "use strict";
var setPrototypeOf = require("../../object/set-prototype-of");
module.exports = function (t, a) {
a(t(function () {}), true, "Function");
a(t({}), false, "Object");
a(t(), false, "Undefined");
a(t(null), false, "Null");
if (setPrototypeOf) {
a(
t(Object.setPrototypeOf(function () {}, Object.prototype)), false,
"Function with non-function prototype"
);
}
var arrowfn;
try { arrowfn = eval("(() => {})"); }
catch (e) {}
if (arrowfn) {
a(t(arrowfn), true, "Arrow function");
}
var classFn;
try { classFn = eval("(class {})"); }
catch (e) {}
if (classFn) {
a(t(classFn), false, "Class");
}
var commentedClassFn;
try {
// Follows issue reported to ljhard/is-callable project:
// https://github.com/ljharb/is-callable/issues/4
commentedClassFn = eval("(class/*kkk*/\n//blah\n Bar\n//blah\n {})");
} catch (e) {}
if (commentedClassFn) {
a(t(commentedClassFn, false, "Class"), false, "Class with comments");
}
};
es5-ext-0.10.53/test/object/is-plain-object.js 0000664 0000000 0000000 00000001441 13565534140 0020723 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t({}), true, "Empty {} is plain object");
a(t({ a: true }), true, "{} with property is plain object");
a(
t({ prototype: 1, constructor: 2, __proto__: 3 }), true,
"{} with any property keys is plain object"
);
a(t(null), false, "Null is not plain object");
a(t("string"), false, "Primitive is not plain object");
a(t(function () {}), false, "Function is not plain object");
a(
t(Object.create({})), false,
"Object whose prototype is not Object.prototype is not plain object"
);
a(
t(Object.create(Object.prototype)), true,
"Object whose prototype is Object.prototype is plain object"
);
a(t(Object.create(null)), true, "Object whose prototype is null is plain object");
a(t(Object.prototype), false, "Object.prototype");
};
es5-ext-0.10.53/test/object/is-promise.js 0000664 0000000 0000000 00000000557 13565534140 0020041 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var promise;
a(t(), false);
a(t(null), false);
a(t("promise"), false);
a(t({}), false);
a(t(function () {}), false);
a(t({ then: {} }), false);
a(t({ then: function () {} }), true);
promise = function () {};
promise.then = {};
a(t(promise), false);
promise.then = function () {};
a(t(promise), true);
};
es5-ext-0.10.53/test/object/is-thenable.js 0000664 0000000 0000000 00000000557 13565534140 0020145 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var promise;
a(t(), false);
a(t(null), false);
a(t("promise"), false);
a(t({}), false);
a(t(function () {}), false);
a(t({ then: {} }), false);
a(t({ then: function () {} }), true);
promise = function () {};
promise.then = {};
a(t(promise), false);
promise.then = function () {};
a(t(promise), true);
};
es5-ext-0.10.53/test/object/is-value.js 0000664 0000000 0000000 00000000376 13565534140 0017476 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(), false);
a(t(undefined), false);
a(t(null), false);
a(t(NaN), true);
a(t(0), true);
a(t(false), true);
a(t("null"), true);
a(t(""), true);
a(t({}), true);
a(t(Object.prototype), true);
};
es5-ext-0.10.53/test/object/is.js 0000664 0000000 0000000 00000000500 13565534140 0016351 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var o = {};
a(t(o, {}), false, "Different objects");
a(t(o, o), true, "Same objects");
a(t("1", "1"), true, "Same primitive");
a(t("1", 1), false, "Different primitive types");
a(t(NaN, NaN), true, "NaN");
a(t(0, 0), true, "0,0");
a(t(0, -0), false, "0,-0");
};
es5-ext-0.10.53/test/object/key-of.js 0000664 0000000 0000000 00000000521 13565534140 0017133 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x = {}, y = {}, o = { foo: "bar", raz: x, trzy: "cztery", five: "6" };
a(t(o, "bar"), "foo", "First property");
a(t(o, 6), null, "Primitive that's not there");
a(t(o, x), "raz", "Object");
a(t(o, y), null, "Object that's not there");
a(t(o, "6"), "five", "Last property");
};
es5-ext-0.10.53/test/object/keys/ 0000775 0000000 0000000 00000000000 13565534140 0016360 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/object/keys/implement.js 0000664 0000000 0000000 00000000221 13565534140 0020703 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../object/keys/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/object/keys/index.js 0000664 0000000 0000000 00000000063 13565534140 0020024 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/object/keys/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021631 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/object/keys/shim.js 0000664 0000000 0000000 00000000413 13565534140 0017654 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a.deep(t({ foo: "bar" }), ["foo"], "Object");
a.deep(t("raz"), ["0", "1", "2"], "Primitive");
a.throws(function () { t(); }, TypeError, "Undefined");
a.throws(function () { t(null); }, TypeError, "Undefined");
};
es5-ext-0.10.53/test/object/map-keys.js 0000664 0000000 0000000 00000000261 13565534140 0017470 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a.deep(t({ 1: 1, 2: 2, 3: 3 }, function (key, value) { return "x" + (key + value); }), {
x11: 1,
x22: 2,
x33: 3
});
};
es5-ext-0.10.53/test/object/map.js 0000664 0000000 0000000 00000000366 13565534140 0016525 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var obj = { 1: 1, 2: 2, 3: 3 };
a.deep(
t(obj, function (value, key, context) {
a(context, obj, "Context argument");
return value + 1 + key;
}),
{ 1: "21", 2: "32", 3: "43" }
);
};
es5-ext-0.10.53/test/object/mixin-prototypes.js 0000664 0000000 0000000 00000003331 13565534140 0021315 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var o, o1, o2, x, y = {}, z = {};
o = { inherited: true, visible: 23 };
o1 = Object.create(o);
o1.visible = z;
o1.nonremovable = "raz";
Object.defineProperty(o1, "hidden", { value: "hidden" });
o2 = Object.defineProperties({}, { nonremovable: { value: y } });
o2.other = "other";
try { t(o2, o1); }
catch (ignore) {}
a(o2.visible, z, "Enumerable");
a(o1.hidden, "hidden", "Not Enumerable");
a(o2.propertyIsEnumerable("visible"), true, "Enumerable is enumerable");
a(o2.propertyIsEnumerable("hidden"), false, "Not enumerable is not enumerable");
a(o2.inherited, true, "Extend deep");
a(o2.nonremovable, y, "Do not overwrite non configurable");
a(o2.other, "other", "Own kept");
x = {};
t(x, o2);
try { t(x, o1); }
catch (ignore) {}
a(x.visible, z, "Enumerable");
a(x.hidden, "hidden", "Not Enumerable");
a(x.propertyIsEnumerable("visible"), true, "Enumerable is enumerable");
a(x.propertyIsEnumerable("hidden"), false, "Not enumerable is not enumerable");
a(x.inherited, true, "Extend deep");
a(x.nonremovable, y, "Ignored non configurable");
a(x.other, "other", "Other");
x.visible = 3;
a(x.visible, 3, "Writable is writable");
x = {};
t(x, o1);
a.throws(function () { x.hidden = 3; }, "Not writable is not writable");
x = {};
t(x, o1);
delete x.visible;
a.ok(!x.hasOwnProperty("visible"), "Configurable is configurable");
x = {};
t(x, o1);
a.throws(function () { delete x.hidden; }, "Not configurable is not configurable");
x = Object.defineProperty({}, "foo", {
configurable: false,
writable: true,
enumerable: false,
value: "bar"
});
try { t(x, { foo: "lorem" }); }
catch (ignore) {}
a(x.foo, "bar", "Writable, not enumerable");
};
es5-ext-0.10.53/test/object/mixin.js 0000664 0000000 0000000 00000003545 13565534140 0017076 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var o, o1, o2, x, y = {}, z = {};
o = { inherited: true };
o1 = Object.create(o);
o1.visible = z;
o1.nonremovable = "raz";
Object.defineProperty(o1, "hidden", { value: "hidden" });
o2 = Object.defineProperties({}, { nonremovable: { value: y } });
o2.other = "other";
try { t(o2, o1); }
catch (ignore) {}
a(o2.visible, z, "Enumerable");
a(o1.hidden, "hidden", "Not Enumerable");
a(o2.propertyIsEnumerable("visible"), true, "Enumerable is enumerable");
a(o2.propertyIsEnumerable("hidden"), false, "Not enumerable is not enumerable");
a(o2.hasOwnProperty("inherited"), false, "Extend only own");
a(o2.inherited, undefined, "Extend ony own: value");
a(o2.nonremovable, y, "Do not overwrite non configurable");
a(o2.other, "other", "Own kept");
x = {};
t(x, o2);
try { t(x, o1); }
catch (ignore) {}
a(x.visible, z, "Enumerable");
a(x.hidden, "hidden", "Not Enumerable");
a(x.propertyIsEnumerable("visible"), true, "Enumerable is enumerable");
a(x.propertyIsEnumerable("hidden"), false, "Not enumerable is not enumerable");
a(x.hasOwnProperty("inherited"), false, "Extend only own");
a(x.inherited, undefined, "Extend ony own: value");
a(x.nonremovable, y, "Ignored non configurable");
a(x.other, "other", "Other");
x.visible = 3;
a(x.visible, 3, "Writable is writable");
x = {};
t(x, o1);
a.throws(function () { x.hidden = 3; }, "Not writable is not writable");
x = {};
t(x, o1);
delete x.visible;
a.ok(!x.hasOwnProperty("visible"), "Configurable is configurable");
x = {};
t(x, o1);
a.throws(function () { delete x.hidden; }, "Not configurable is not configurable");
x = Object.defineProperty({}, "foo", {
configurable: false,
writable: true,
enumerable: false,
value: "bar"
});
try { t(x, { foo: "lorem" }); }
catch (ignore) {}
a(x.foo, "bar", "Writable, not enumerable");
};
es5-ext-0.10.53/test/object/normalize-options.js 0000664 0000000 0000000 00000001673 13565534140 0021443 0 ustar 00root root 0000000 0000000 "use strict";
var create = Object.create, defineProperty = Object.defineProperty;
module.exports = function (t, a) {
var x = { foo: "raz", bar: "dwa" }, y;
y = t(x);
a.not(y, x, "Returns copy");
a.deep(y, x, "Plain");
x = { raz: "one", dwa: "two" };
defineProperty(x, "get", {
configurable: true,
enumerable: true,
get: function () { return this.dwa; }
});
x = create(x);
x.trzy = "three";
x.cztery = "four";
x = create(x);
x.dwa = "two!";
x.trzy = "three!";
x.piec = "five";
x.szesc = "six";
a.deep(
t(x),
{
raz: "one",
dwa: "two!",
trzy: "three!",
cztery: "four",
piec: "five",
szesc: "six",
get: "two!"
},
"Deep object"
);
a.deep(
t({ marko: "raz", raz: "foo" }, x, { szesc: "elo", siedem: "bibg" }),
{
marko: "raz",
raz: "one",
dwa: "two!",
trzy: "three!",
cztery: "four",
piec: "five",
szesc: "elo",
siedem: "bibg",
get: "two!"
},
"Multiple options"
);
};
es5-ext-0.10.53/test/object/primitive-set.js 0000664 0000000 0000000 00000000701 13565534140 0020542 0 ustar 00root root 0000000 0000000 "use strict";
var getPropertyNames = require("../../object/get-property-names")
, isPlainObject = require("../../object/is-plain-object");
module.exports = function (t, a) {
var x = t();
a(isPlainObject(x), true, "Plain object");
a.deep(getPropertyNames(x), [], "No properties");
x.foo = "bar";
a.deep(getPropertyNames(x), ["foo"], "Extensible");
a.deep(t("raz", "dwa", 3), { raz: true, dwa: true, 3: true }, "Arguments handling");
};
es5-ext-0.10.53/test/object/safe-traverse.js 0000664 0000000 0000000 00000001136 13565534140 0020513 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var obj = { foo: { bar: { lorem: 12 } } };
a(t(obj), obj, "No props");
a(t(obj, "foo"), obj.foo, "One");
a(t(obj, "raz"), undefined, "One: Fail");
a(t(obj, "foo", "bar"), obj.foo.bar, "Two");
a(t(obj, "dsd", "raz"), undefined, "Two: Fail #1");
a(t(obj, "foo", "raz"), undefined, "Two: Fail #2");
a(t(obj, "foo", "bar", "lorem"), obj.foo.bar.lorem, "Three");
a(t(obj, "dsd", "raz", "fef"), undefined, "Three: Fail #1");
a(t(obj, "foo", "raz", "asdf"), undefined, "Three: Fail #2");
a(t(obj, "foo", "bar", "asd"), undefined, "Three: Fail #3");
};
es5-ext-0.10.53/test/object/serialize.js 0000664 0000000 0000000 00000002344 13565534140 0017735 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var fn = function (raz, dwa) { return raz + dwa; };
a(t(), "undefined", "Undefined");
a(t(null), "null", "Null");
a(t(null), "null", "Null");
a(t("raz"), "\"raz\"", "String");
a(t("raz\"ddwa\ntrzy"), "\"raz\\\"ddwa\\ntrzy\"", "String with escape");
a(t(false), "false", "Booelean");
a(t(fn), String(fn), "Function");
a(t(/raz-dwa/g), "/raz-dwa/g", "RegExp");
a(t(new Date(1234567)), "new Date(1234567)", "Date");
a(t([]), "[]", "Empty array");
a(
t([undefined, false, null, "raz\"ddwa\ntrzy", fn, /raz/g, new Date(1234567), ["foo"]]),
"[undefined,false,null,\"raz\\\"ddwa\\ntrzy\"," +
String(fn) +
",/raz/g,new Date(1234567),[\"foo\"]]",
"Rich Array"
);
a(t({}), "{}", "Empty object");
a(
t({
raz: undefined,
dwa: false,
trzy: null,
cztery: "raz\"ddwa\ntrzy",
piec: fn,
szesc: /raz/g,
siedem: new Date(1234567),
osiem: ["foo", 32],
dziewiec: { foo: "bar", dwa: 343 }
}),
"{\"raz\":undefined,\"dwa\":false,\"trzy\":null,\"cztery\":\"raz\\\"ddwa\\ntrzy\"," +
"\"piec\":" +
String(fn) +
",\"szesc\":/raz/g,\"siedem\":new Date(1234567),\"osiem\":[\"foo\",32]," +
"\"dziewiec\":{\"foo\":\"bar\",\"dwa\":343}}",
"Rich object"
);
};
es5-ext-0.10.53/test/object/set-prototype-of/ 0000775 0000000 0000000 00000000000 13565534140 0020645 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/object/set-prototype-of/implement.js 0000664 0000000 0000000 00000000331 13565534140 0023172 0 ustar 00root root 0000000 0000000 "use strict";
var create = require("../../../object/create")
, isImplemented = require("../../../object/set-prototype-of/is-implemented");
module.exports = function (a) { a(isImplemented(create), true); };
es5-ext-0.10.53/test/object/set-prototype-of/index.js 0000664 0000000 0000000 00000001264 13565534140 0022315 0 ustar 00root root 0000000 0000000 "use strict";
var create = require("../../../object/create")
, getPrototypeOf = Object.getPrototypeOf;
module.exports = function (t, a) {
var x = {}, y = {};
if (t === null) return;
a(t(x, y), x, "Return self object");
a(getPrototypeOf(x), y, "Object");
a.throws(function () { t(x); }, TypeError, "Undefined");
a.throws(function () { t("foo"); }, TypeError, "Primitive");
a(getPrototypeOf(t(x, null)), t.nullPolyfill || null, "Null");
x = create(null);
a.h1("Change null prototype");
a(t(x, y), x, "Result");
a(getPrototypeOf(x), y, "Prototype");
a.h1("Set null prototype");
a(t(y, null), y, "Result");
a(getPrototypeOf(y), t.nullPolyfill || null, "Prototype");
};
es5-ext-0.10.53/test/object/set-prototype-of/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0024116 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/object/set-prototype-of/shim.js 0000664 0000000 0000000 00000001264 13565534140 0022146 0 ustar 00root root 0000000 0000000 "use strict";
var create = require("../../../object/create")
, getPrototypeOf = Object.getPrototypeOf;
module.exports = function (t, a) {
var x = {}, y = {};
if (t === null) return;
a(t(x, y), x, "Return self object");
a(getPrototypeOf(x), y, "Object");
a.throws(function () { t(x); }, TypeError, "Undefined");
a.throws(function () { t("foo"); }, TypeError, "Primitive");
a(getPrototypeOf(t(x, null)), t.nullPolyfill || null, "Null");
x = create(null);
a.h1("Change null prototype");
a(t(x, y), x, "Result");
a(getPrototypeOf(x), y, "Prototype");
a.h1("Set null prototype");
a(t(y, null), y, "Result");
a(getPrototypeOf(y), t.nullPolyfill || null, "Prototype");
};
es5-ext-0.10.53/test/object/some.js 0000664 0000000 0000000 00000000647 13565534140 0016715 0 ustar 00root root 0000000 0000000 "use strict";
var o = { 1: 1, 2: 2, 3: 3 };
module.exports = function (t, a) {
var o2 = {}, i = 0;
t(o, function (value, name) {
o2[name] = value;
return false;
});
a(JSON.stringify(o2), JSON.stringify(o), "Iterates");
a(
t(o, function () {
++i;
return true;
}),
true,
"Succeeds"
);
a(i, 1, "Stops iteration after condition is met");
a(t(o, function () { return false; }), false, "Fails");
};
es5-ext-0.10.53/test/object/to-array.js 0000664 0000000 0000000 00000000555 13565534140 0017506 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var o = { 1: 1, 2: 2, 3: 3 }
, o1 = {}
, o2 = t(
o,
function (value, name, self) {
a(self, o, "Self");
a(this, o1, "Scope");
return value + Number(name);
},
o1
);
a.deep(o2, [2, 4, 6]);
t(o).sort().forEach(function (item) { a.deep(item, [item[0], o[item[0]]], "Default"); });
};
es5-ext-0.10.53/test/object/unserialize.js 0000664 0000000 0000000 00000002273 13565534140 0020301 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var fn = function (raz, dwa) { return raz + dwa; };
a(t("undefined"), undefined, "Undefined");
a(t("null"), null, "Null");
a(t("\"raz\""), "raz", "String");
a(t("\"raz\\\"ddwa\\ntrzy\""), "raz\"ddwa\ntrzy", "String with escape");
a(t("false"), false, "Booelean");
a(String(t(String(fn))), String(fn), "Function");
a.deep(t("/raz-dwa/g"), /raz-dwa/g, "RegExp");
a.deep(t("new Date(1234567)"), new Date(1234567), "Date");
a.deep(t("[]"), [], "Empty array");
a.deep(
t("[undefined,false,null,\"raz\\\"ddwa\\ntrzy\",/raz/g,new Date(1234567),[\"foo\"]]"),
[undefined, false, null, "raz\"ddwa\ntrzy", /raz/g, new Date(1234567), ["foo"]],
"Rich Array"
);
a.deep(t("{}"), {}, "Empty object");
a.deep(
t(
"{\"raz\":undefined,\"dwa\":false,\"trzy\":null,\"cztery\":\"raz\\\"ddwa\\ntrzy\"," +
"\"szesc\":/raz/g,\"siedem\":new Date(1234567),\"osiem\":[\"foo\",32]," +
"\"dziewiec\":{\"foo\":\"bar\",\"dwa\":343}}"
),
{
raz: undefined,
dwa: false,
trzy: null,
cztery: "raz\"ddwa\ntrzy",
szesc: /raz/g,
siedem: new Date(1234567),
osiem: ["foo", 32],
dziewiec: { foo: "bar", dwa: 343 }
},
"Rich object"
);
};
es5-ext-0.10.53/test/object/valid-callable.js 0000664 0000000 0000000 00000000232 13565534140 0020574 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var f = function () {};
a(t(f), f, "Function");
a.throws(function () { t({}); }, "Not Function");
};
es5-ext-0.10.53/test/object/valid-object.js 0000664 0000000 0000000 00000001003 13565534140 0020300 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x;
a.throws(function () { t(0); }, TypeError, "0");
a.throws(function () { t(false); }, TypeError, "false");
a.throws(function () { t(""); }, TypeError, "''");
a(t((x = {})), x, "Object");
a(t((x = function () {})), x, "Function");
a(t((x = new String("raz"))), x, "String object"); // Jslint: ignore
a(t((x = new Date())), x, "Date");
a.throws(function () { t(); }, TypeError, "Undefined");
a.throws(function () { t(null); }, TypeError, "null");
};
es5-ext-0.10.53/test/object/valid-value.js 0000664 0000000 0000000 00000000513 13565534140 0020153 0 ustar 00root root 0000000 0000000 "use strict";
var numIsNaN = require("../../number/is-nan");
module.exports = function (t, a) {
var x;
a(t(0), 0, "0");
a(t(false), false, "false");
a(t(""), "", "''");
a(numIsNaN(t(NaN)), true, "NaN");
a(t((x = {})), x, "{}");
a.throws(function () { t(); }, "Undefined");
a.throws(function () { t(null); }, "null");
};
es5-ext-0.10.53/test/object/validate-array-like-object.js 0000664 0000000 0000000 00000001130 13565534140 0023031 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x;
a.throws(function () { t(0); }, TypeError, "0");
a.throws(function () { t(false); }, TypeError, "false");
a.throws(function () { t(""); }, TypeError, "String");
a.throws(function () { t({}); }, TypeError, "Plain Object");
a.throws(
function () {
t(function () {});
},
TypeError,
"Function"
);
a(t((x = new String("raz"))), x, "String object"); // Jslint: ignore
a(t((x = { length: 1 })), x, "Array like");
a.throws(function () { t(); }, TypeError, "Undefined");
a.throws(function () { t(null); }, TypeError, "null");
};
es5-ext-0.10.53/test/object/validate-array-like.js 0000664 0000000 0000000 00000001065 13565534140 0021574 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x;
a.throws(function () { t(0); }, TypeError, "0");
a.throws(function () { t(false); }, TypeError, "false");
a(t(""), "", "''");
a.throws(function () { t({}); }, TypeError, "Plain Object");
a.throws(
function () {
t(function () {});
},
TypeError,
"Function"
);
a(t((x = new String("raz"))), x, "String object"); // Jslint: ignore
a(t((x = { length: 1 })), x, "Array like");
a.throws(function () { t(); }, TypeError, "Undefined");
a.throws(function () { t(null); }, TypeError, "null");
};
es5-ext-0.10.53/test/object/validate-stringifiable-value.js 0000664 0000000 0000000 00000001013 13565534140 0023461 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x;
a.throws(function () { t(); }, TypeError, "Undefined");
a.throws(function () { t(null); }, TypeError, "Null");
a(t(0), "0");
a(t(false), "false");
a(t(""), "");
a(t({}), String({}), "Object");
a(t((x = function () {})), String(x), "Function");
a(t((x = new String("raz"))), String(x), "String object"); // Jslint: ignore
a(t((x = new Date())), String(x), "Date");
a.throws(function () { t(Object.create(null)); }, TypeError, "Null prototype object");
};
es5-ext-0.10.53/test/object/validate-stringifiable.js 0000664 0000000 0000000 00000000732 13565534140 0022356 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var x;
a(t(), "undefined", "Undefined");
a(t(null), "null", "Null");
a(t(0), "0");
a(t(false), "false");
a(t(""), "");
a(t({}), String({}), "Object");
a(t((x = function () {})), String(x), "Function");
a(t((x = new String("raz"))), String(x), "String object"); // Jslint: ignore
a(t((x = new Date())), String(x), "Date");
a.throws(function () { t(Object.create(null)); }, TypeError, "Null prototype object");
};
es5-ext-0.10.53/test/optional-chaining.js 0000664 0000000 0000000 00000000732 13565534140 0020102 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var obj = { foo: { bar: "elo", par: null } };
a(t(), undefined);
a(t(null), null);
a(t(obj), obj);
a(t(obj, "foo"), obj.foo);
a(t(obj, "foo", "bar"), "elo");
a(t(obj, "foo", "bar", "slice"), String.prototype.slice);
a(t(obj, "foo", "par"), null);
a(t(obj, "foo", "par", "marko"), undefined);
a(t(obj, "marko"), undefined);
a(t(""), "");
a(t("", "foo"), undefined);
a(t("", "slice"), String.prototype.slice);
};
es5-ext-0.10.53/test/promise/ 0000775 0000000 0000000 00000000000 13565534140 0015615 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/promise/#/ 0000775 0000000 0000000 00000000000 13565534140 0015737 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/promise/#/as-callback.js 0000664 0000000 0000000 00000001041 13565534140 0020426 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
if (typeof Promise !== "function") return null;
return {
Success: function (d) {
t.call(new Promise(function (resolve) { resolve("foo"); }), function (error, value) {
a(error, null);
a(value, "foo");
d();
});
},
Failure: function (d) {
var error = new Error("Rejection");
t.call(new Promise(function (resolve, reject) { reject(error); }), function (
passedError,
value
) {
a(passedError, error);
a(value, undefined);
d();
});
}
};
};
es5-ext-0.10.53/test/promise/#/finally/ 0000775 0000000 0000000 00000000000 13565534140 0017375 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/promise/#/finally/implement.js 0000664 0000000 0000000 00000000351 13565534140 0021724 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../promise/#/finally/is-implemented");
if (typeof Promise !== "function") global.Promise = require("plain-promise");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/promise/#/finally/index.js 0000664 0000000 0000000 00000000063 13565534140 0021041 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/promise/#/finally/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022646 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/promise/#/finally/shim.js 0000664 0000000 0000000 00000003222 13565534140 0020672 0 ustar 00root root 0000000 0000000 "use strict";
var microtaskDelay = require("../../../../function/#/microtask-delay");
if (typeof Promise !== "function") global.Promise = require("plain-promise");
module.exports = function (t, a) {
return {
Success: function (d) {
var invoked;
t.call(Promise.resolve("foo"), function () {
invoked = true;
return "bar";
}).then(
microtaskDelay.call(function (result) {
a(result, "foo");
a(invoked, true);
d();
}, microtaskDelay.call(d))
);
},
Failure: function (d) {
var invoked;
var error = new Error("Some error");
t.call(Promise.reject(error), function () {
invoked = true;
return "bar";
}).then(
microtaskDelay.call(function () {
a.never();
d();
}),
microtaskDelay.call(function (result) {
a(result, error);
a(invoked, true);
d();
})
);
},
SuccessFinallyError: function (d) {
var invoked, finallyError = new Error("Finally error");
t.call(Promise.resolve("foo"), function () {
invoked = true;
throw finallyError;
}).then(
microtaskDelay.call(function () {
a.never();
d();
}),
microtaskDelay.call(function (result) {
a(result, finallyError);
a(invoked, true);
d();
})
);
},
FailureFinallyError: function (d) {
var invoked, finallyError = new Error("Finally error");
t.call(Promise.reject(new Error("Some error")), function () {
invoked = true;
throw finallyError;
}).then(
microtaskDelay.call(function () {
a.never();
d();
}),
microtaskDelay.call(function (result) {
a(result, finallyError);
a(invoked, true);
d();
})
);
}
};
};
es5-ext-0.10.53/test/promise/.eslintrc.json 0000664 0000000 0000000 00000000067 13565534140 0020414 0 ustar 00root root 0000000 0000000 { "globals": { "Promise": true, "setTimeout": true } }
es5-ext-0.10.53/test/promise/lazy.js 0000664 0000000 0000000 00000002175 13565534140 0017137 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t) {
if (typeof Promise !== "function") return null; // Run tests only in ES2015+ env
return {
"Delays execution": function (a, d) {
var invoked = false;
var promise = t(function (resolve) {
invoked = true;
setTimeout(function () { resolve(20); }, 10);
});
a(invoked, false);
setTimeout(function () {
a(invoked, false);
promise.then(function (value) {
a(value, 20);
setTimeout(d, 0); // Escape error swallowing
});
a(invoked, true);
}, 15);
},
"Passes rejection": function (a, d) {
var promise = t(function (resolve, reject) {
setTimeout(function () { reject(new Error("Stop")); }, 10);
});
promise.catch(function (error) {
a(error instanceof Error, true);
a(error.message, "Stop");
setTimeout(d, 0); // Escape error swallowing
});
},
"Passes sync exception": function (a, d) {
var promise = t(function () { throw new Error("Stop"); });
promise.catch(function (error) {
a(error instanceof Error, true);
a(error.message, "Stop");
setTimeout(d, 0); // Escape error swallowing
});
}
};
};
es5-ext-0.10.53/test/reg-exp/ 0000775 0000000 0000000 00000000000 13565534140 0015506 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/reg-exp/#/ 0000775 0000000 0000000 00000000000 13565534140 0015630 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/reg-exp/#/index.js 0000664 0000000 0000000 00000000515 13565534140 0017276 0 ustar 00root root 0000000 0000000 /* eslint-env node */
"use strict";
var indexTest = require("tad/lib/utils/index-test")
, path = require("path").resolve(__dirname, "../../../reg-exp/#");
module.exports = function (t, a, d) {
indexTest(
indexTest.readDir(path).aside(function (data) {
delete data.sticky;
delete data.unicode;
})
)(t, a, d);
};
es5-ext-0.10.53/test/reg-exp/#/is-sticky.js 0000664 0000000 0000000 00000000444 13565534140 0020107 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var re;
a(t.call(/raz/), false, "Normal");
a(t.call(/raz/g), false, "Global");
try {
// eslint-disable-next-line no-invalid-regexp
re = new RegExp("raz", "y");
} catch (ignore) {}
if (!re) return;
a(t.call(re), true, "Sticky");
};
es5-ext-0.10.53/test/reg-exp/#/is-unicode.js 0000664 0000000 0000000 00000000445 13565534140 0020230 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var re;
a(t.call(/raz/), false, "Normal");
a(t.call(/raz/g), false, "Global");
try {
// eslint-disable-next-line no-invalid-regexp
re = new RegExp("raz", "u");
} catch (ignore) {}
if (!re) return;
a(t.call(re), true, "Unicode");
};
es5-ext-0.10.53/test/reg-exp/#/match/ 0000775 0000000 0000000 00000000000 13565534140 0016724 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/reg-exp/#/match/implement.js 0000664 0000000 0000000 00000000230 13565534140 0021247 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../reg-exp/#/match/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/reg-exp/#/match/index.js 0000664 0000000 0000000 00000000063 13565534140 0020370 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/reg-exp/#/match/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022175 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/reg-exp/#/match/shim.js 0000664 0000000 0000000 00000000204 13565534140 0020216 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var result = "foobar".match(/foo/);
a.deep(t.call(/foo/, "foobar"), result);
};
es5-ext-0.10.53/test/reg-exp/#/replace/ 0000775 0000000 0000000 00000000000 13565534140 0017243 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/reg-exp/#/replace/implement.js 0000664 0000000 0000000 00000000232 13565534140 0021570 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../reg-exp/#/replace/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/reg-exp/#/replace/index.js 0000664 0000000 0000000 00000000063 13565534140 0020707 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/reg-exp/#/replace/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022514 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/reg-exp/#/replace/shim.js 0000664 0000000 0000000 00000000142 13565534140 0020536 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(t.call(/foo/, "foobar", "mar"), "marbar"); };
es5-ext-0.10.53/test/reg-exp/#/search/ 0000775 0000000 0000000 00000000000 13565534140 0017075 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/reg-exp/#/search/implement.js 0000664 0000000 0000000 00000000231 13565534140 0021421 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../reg-exp/#/search/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/reg-exp/#/search/index.js 0000664 0000000 0000000 00000000063 13565534140 0020541 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/reg-exp/#/search/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022346 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/reg-exp/#/search/shim.js 0000664 0000000 0000000 00000000124 13565534140 0020370 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(t.call(/foo/, "barfoo"), 3); };
es5-ext-0.10.53/test/reg-exp/#/split/ 0000775 0000000 0000000 00000000000 13565534140 0016763 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/reg-exp/#/split/implement.js 0000664 0000000 0000000 00000000230 13565534140 0021306 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../reg-exp/#/split/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/reg-exp/#/split/index.js 0000664 0000000 0000000 00000000063 13565534140 0020427 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/reg-exp/#/split/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022234 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/reg-exp/#/split/shim.js 0000664 0000000 0000000 00000000146 13565534140 0020262 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a.deep(t.call(/\|/, "bar|foo"), ["bar", "foo"]); };
es5-ext-0.10.53/test/reg-exp/#/sticky/ 0000775 0000000 0000000 00000000000 13565534140 0017136 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/reg-exp/#/sticky/implement.js 0000664 0000000 0000000 00000000231 13565534140 0021462 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../reg-exp/#/sticky/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/reg-exp/#/sticky/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022407 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/reg-exp/#/unicode/ 0000775 0000000 0000000 00000000000 13565534140 0017256 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/reg-exp/#/unicode/implement.js 0000664 0000000 0000000 00000000232 13565534140 0021603 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../reg-exp/#/unicode/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/reg-exp/#/unicode/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022527 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/reg-exp/escape.js 0000664 0000000 0000000 00000000214 13565534140 0017301 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var str = "(?:^te|er)s{2}t\\[raz]+$";
a(RegExp("^" + t(str) + "$").test(str), true);
};
es5-ext-0.10.53/test/reg-exp/is-reg-exp.js 0000664 0000000 0000000 00000000562 13565534140 0020027 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t("arar"), false, "String");
a(t(12), false, "Number");
a(t(true), false, "Boolean");
a(t(new Date()), false, "Date");
a(t(new String("raz")), false, "String object");
a(t({}), false, "Plain object");
a(t(/a/), true, "Regular expression");
a(t(new RegExp("a")), true, "Regular expression via constructor");
};
es5-ext-0.10.53/test/reg-exp/valid-reg-exp.js 0000664 0000000 0000000 00000000523 13565534140 0020510 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var r = /raz/;
a(t(r), r, "Direct");
r = new RegExp("foo");
a(t(r), r, "Constructor");
a.throws(function () { t({}); }, "Object");
a.throws(function () {
t(function () {});
}, "Function");
a.throws(function () {
t({ exec: function () { return 20; } });
}, "Plain object");
};
es5-ext-0.10.53/test/safe-to-string.js 0000664 0000000 0000000 00000000565 13565534140 0017345 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(), "undefined");
a(t(null), "null");
a(t(10), "10");
a(t("str"), "str");
a(t({ toString: function () { return "miszka"; } }), "miszka");
// eslint-disable-next-line symbol-description
if (typeof Symbol === "function") a(t(Symbol()), "Symbol()");
a(t(Object.create(null)), "");
};
es5-ext-0.10.53/test/string/ 0000775 0000000 0000000 00000000000 13565534140 0015445 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/string/#/ 0000775 0000000 0000000 00000000000 13565534140 0015567 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/string/#/@@iterator/ 0000775 0000000 0000000 00000000000 13565534140 0017620 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/string/#/@@iterator/implement.js 0000664 0000000 0000000 00000000234 13565534140 0022147 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../string/#/@@iterator/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/string/#/@@iterator/index.js 0000664 0000000 0000000 00000000063 13565534140 0021264 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/string/#/@@iterator/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0023071 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/string/#/@@iterator/shim.js 0000664 0000000 0000000 00000000466 13565534140 0021124 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var it = t.call("r💩z");
a.deep(it.next(), { done: false, value: "r" }, "#1");
a.deep(it.next(), { done: false, value: "💩" }, "#2");
a.deep(it.next(), { done: false, value: "z" }, "#3");
a.deep(it.next(), { done: true, value: undefined }, "End");
};
es5-ext-0.10.53/test/string/#/at.js 0000664 0000000 0000000 00000010572 13565534140 0016536 0 ustar 00root root 0000000 0000000 /* eslint no-useless-call: "off" */
// See tests at https://github.com/mathiasbynens/String.prototype.at
"use strict";
module.exports = function (t, a) {
a(t.length, 1, "Length");
a.h1("BMP");
a(t.call("abc\uD834\uDF06def", -Infinity), "", "-Infinity");
a(t.call("abc\uD834\uDF06def", -1), "", "-1");
a(t.call("abc\uD834\uDF06def", -0), "a", "-0");
a(t.call("abc\uD834\uDF06def", +0), "a", "+0");
a(t.call("abc\uD834\uDF06def", 1), "b", "1");
a(t.call("abc\uD834\uDF06def", 3), "\uD834\uDF06", "3");
a(t.call("abc\uD834\uDF06def", 4), "\uDF06", "4");
a(t.call("abc\uD834\uDF06def", 5), "d", "5");
a(t.call("abc\uD834\uDF06def", 42), "", "42");
a(t.call("abc\uD834\uDF06def", Number(Infinity)), "", "+Infinity");
a(t.call("abc\uD834\uDF06def", null), "a", "null");
a(t.call("abc\uD834\uDF06def", undefined), "a", "undefined");
a(t.call("abc\uD834\uDF06def"), "a", "No argument");
a(t.call("abc\uD834\uDF06def", false), "a", "false");
a(t.call("abc\uD834\uDF06def", NaN), "a", "NaN");
a(t.call("abc\uD834\uDF06def", ""), "a", "Empty string");
a(t.call("abc\uD834\uDF06def", "_"), "a", "_");
a(t.call("abc\uD834\uDF06def", "1"), "b", "'1'");
a(t.call("abc\uD834\uDF06def", []), "a", "[]");
a(t.call("abc\uD834\uDF06def", {}), "a", "{}");
a(t.call("abc\uD834\uDF06def", -0.9), "a", "-0.9");
a(t.call("abc\uD834\uDF06def", 1.9), "b", "1.9");
a(t.call("abc\uD834\uDF06def", 7.9), "f", "7.9");
a(t.call("abc\uD834\uDF06def", Math.pow(2, 32)), "", "Big number");
a.h1("Astral symbol");
a(t.call("\uD834\uDF06def", -Infinity), "", "-Infinity");
a(t.call("\uD834\uDF06def", -1), "", "-1");
a(t.call("\uD834\uDF06def", -0), "\uD834\uDF06", "-0");
a(t.call("\uD834\uDF06def", +0), "\uD834\uDF06", "+0");
a(t.call("\uD834\uDF06def", 1), "\uDF06", "1");
a(t.call("\uD834\uDF06def", 2), "d", "2");
a(t.call("\uD834\uDF06def", 3), "e", "3");
a(t.call("\uD834\uDF06def", 4), "f", "4");
a(t.call("\uD834\uDF06def", 42), "", "42");
a(t.call("\uD834\uDF06def", Number(Infinity)), "", "+Infinity");
a(t.call("\uD834\uDF06def", null), "\uD834\uDF06", "null");
a(t.call("\uD834\uDF06def", undefined), "\uD834\uDF06", "undefined");
a(t.call("\uD834\uDF06def"), "\uD834\uDF06", "No arguments");
a(t.call("\uD834\uDF06def", false), "\uD834\uDF06", "false");
a(t.call("\uD834\uDF06def", NaN), "\uD834\uDF06", "NaN");
a(t.call("\uD834\uDF06def", ""), "\uD834\uDF06", "Empty string");
a(t.call("\uD834\uDF06def", "_"), "\uD834\uDF06", "_");
a(t.call("\uD834\uDF06def", "1"), "\uDF06", "'1'");
a.h1("Lone high surrogates");
a(t.call("\uD834abc", -Infinity), "", "-Infinity");
a(t.call("\uD834abc", -1), "", "-1");
a(t.call("\uD834abc", -0), "\uD834", "-0");
a(t.call("\uD834abc", +0), "\uD834", "+0");
a(t.call("\uD834abc", 1), "a", "1");
a(t.call("\uD834abc", 42), "", "42");
a(t.call("\uD834abc", Number(Infinity)), "", "Infinity");
a(t.call("\uD834abc", null), "\uD834", "null");
a(t.call("\uD834abc", undefined), "\uD834", "undefined");
a(t.call("\uD834abc"), "\uD834", "No arguments");
a(t.call("\uD834abc", false), "\uD834", "false");
a(t.call("\uD834abc", NaN), "\uD834", "NaN");
a(t.call("\uD834abc", ""), "\uD834", "Empty string");
a(t.call("\uD834abc", "_"), "\uD834", "_");
a(t.call("\uD834abc", "1"), "a", "'a'");
a.h1("Lone low surrogates");
a(t.call("\uDF06abc", -Infinity), "", "-Infinity");
a(t.call("\uDF06abc", -1), "", "-1");
a(t.call("\uDF06abc", -0), "\uDF06", "-0");
a(t.call("\uDF06abc", +0), "\uDF06", "+0");
a(t.call("\uDF06abc", 1), "a", "1");
a(t.call("\uDF06abc", 42), "", "42");
a(t.call("\uDF06abc", Number(Infinity)), "", "+Infinity");
a(t.call("\uDF06abc", null), "\uDF06", "null");
a(t.call("\uDF06abc", undefined), "\uDF06", "undefined");
a(t.call("\uDF06abc"), "\uDF06", "No arguments");
a(t.call("\uDF06abc", false), "\uDF06", "false");
a(t.call("\uDF06abc", NaN), "\uDF06", "NaN");
a(t.call("\uDF06abc", ""), "\uDF06", "Empty string");
a(t.call("\uDF06abc", "_"), "\uDF06", "_");
a(t.call("\uDF06abc", "1"), "a", "'1'");
a.h1("Context");
a.throws(function () { t.call(undefined); }, TypeError, "Undefined");
a.throws(function () { t.call(undefined, 4); }, TypeError, "Undefined + argument");
a.throws(function () { t.call(null); }, TypeError, "Null");
a.throws(function () { t.call(null, 4); }, TypeError, "Null + argument");
a(t.call(42, 0), "4", "Number #1");
a(t.call(42, 1), "2", "Number #2");
a(t.call({ toString: function () { return "abc"; } }, 2), "c", "Object");
};
es5-ext-0.10.53/test/string/#/camel-to-hyphen.js 0000664 0000000 0000000 00000000370 13565534140 0021117 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call("razDwaTRzy4yFoo45My"), "raz-dwa-t-rzy4y-foo45-my");
a(t.call("razDwaTRzy4yFoo45My-"), "raz-dwa-t-rzy4y-foo45-my-");
a(t.call("razDwaTRzy4yFoo45My--"), "raz-dwa-t-rzy4y-foo45-my--");
};
es5-ext-0.10.53/test/string/#/capitalize.js 0000664 0000000 0000000 00000000373 13565534140 0020255 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call("raz"), "Raz", "Word");
a(t.call("BLA"), "BLA", "Uppercase");
a(t.call(""), "", "Empty");
a(t.call("a"), "A", "One letter");
a(t.call("this is a test"), "This is a test", "Sentence");
};
es5-ext-0.10.53/test/string/#/case-insensitive-compare.js 0000664 0000000 0000000 00000000265 13565534140 0023025 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call("AA", "aa"), 0, "Same");
a.ok(t.call("Amber", "zebra") < 0, "Less");
a.ok(t.call("Zebra", "amber") > 0, "Greater");
};
es5-ext-0.10.53/test/string/#/code-point-at/ 0000775 0000000 0000000 00000000000 13565534140 0020232 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/string/#/code-point-at/implement.js 0000664 0000000 0000000 00000000237 13565534140 0022564 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../string/#/code-point-at/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/string/#/code-point-at/index.js 0000664 0000000 0000000 00000000063 13565534140 0021676 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/string/#/code-point-at/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0023503 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/string/#/code-point-at/shim.js 0000664 0000000 0000000 00000006165 13565534140 0021540 0 ustar 00root root 0000000 0000000 /* eslint no-useless-call: "off" */
// Taken from: https://github.com/mathiasbynens/String.prototype.codePointAt
// /blob/master/tests/tests.js
"use strict";
module.exports = function (t, a) {
a(t.length, 1, "Length");
// String that starts with a BMP symbol
a(t.call("abc\uD834\uDF06def", ""), 0x61);
a(t.call("abc\uD834\uDF06def", "_"), 0x61);
a(t.call("abc\uD834\uDF06def"), 0x61);
a(t.call("abc\uD834\uDF06def", -Infinity), undefined);
a(t.call("abc\uD834\uDF06def", -1), undefined);
a(t.call("abc\uD834\uDF06def", -0), 0x61);
a(t.call("abc\uD834\uDF06def", 0), 0x61);
a(t.call("abc\uD834\uDF06def", 3), 0x1d306);
a(t.call("abc\uD834\uDF06def", 4), 0xdf06);
a(t.call("abc\uD834\uDF06def", 5), 0x64);
a(t.call("abc\uD834\uDF06def", 42), undefined);
a(t.call("abc\uD834\uDF06def", Infinity), undefined);
a(t.call("abc\uD834\uDF06def", Infinity), undefined);
a(t.call("abc\uD834\uDF06def", NaN), 0x61);
a(t.call("abc\uD834\uDF06def", false), 0x61);
a(t.call("abc\uD834\uDF06def", null), 0x61);
a(t.call("abc\uD834\uDF06def", undefined), 0x61);
// String that starts with an astral symbol
a(t.call("\uD834\uDF06def", ""), 0x1d306);
a(t.call("\uD834\uDF06def", "1"), 0xdf06);
a(t.call("\uD834\uDF06def", "_"), 0x1d306);
a(t.call("\uD834\uDF06def"), 0x1d306);
a(t.call("\uD834\uDF06def", -1), undefined);
a(t.call("\uD834\uDF06def", -0), 0x1d306);
a(t.call("\uD834\uDF06def", 0), 0x1d306);
a(t.call("\uD834\uDF06def", 1), 0xdf06);
a(t.call("\uD834\uDF06def", 42), undefined);
a(t.call("\uD834\uDF06def", false), 0x1d306);
a(t.call("\uD834\uDF06def", null), 0x1d306);
a(t.call("\uD834\uDF06def", undefined), 0x1d306);
// Lone high surrogates
a(t.call("\uD834abc", ""), 0xd834);
a(t.call("\uD834abc", "_"), 0xd834);
a(t.call("\uD834abc"), 0xd834);
a(t.call("\uD834abc", -1), undefined);
a(t.call("\uD834abc", -0), 0xd834);
a(t.call("\uD834abc", 0), 0xd834);
a(t.call("\uD834abc", false), 0xd834);
a(t.call("\uD834abc", NaN), 0xd834);
a(t.call("\uD834abc", null), 0xd834);
a(t.call("\uD834abc", undefined), 0xd834);
// Lone low surrogates
a(t.call("\uDF06abc", ""), 0xdf06);
a(t.call("\uDF06abc", "_"), 0xdf06);
a(t.call("\uDF06abc"), 0xdf06);
a(t.call("\uDF06abc", -1), undefined);
a(t.call("\uDF06abc", -0), 0xdf06);
a(t.call("\uDF06abc", 0), 0xdf06);
a(t.call("\uDF06abc", false), 0xdf06);
a(t.call("\uDF06abc", NaN), 0xdf06);
a(t.call("\uDF06abc", null), 0xdf06);
a(t.call("\uDF06abc", undefined), 0xdf06);
a.throws(function () { t.call(undefined); }, TypeError);
a.throws(function () { t.call(undefined, 4); }, TypeError);
a.throws(function () { t.call(null); }, TypeError);
a.throws(function () { t.call(null, 4); }, TypeError);
a(t.call(42, 0), 0x34);
a(t.call(42, 1), 0x32);
a(t.call({ toString: function () { return "abc"; } }, 2), 0x63);
a.throws(function () { t.apply(undefined); }, TypeError);
a.throws(function () { t.apply(undefined, [4]); }, TypeError);
a.throws(function () { t.apply(null); }, TypeError);
a.throws(function () { t.apply(null, [4]); }, TypeError);
a(t.apply(42, [0]), 0x34);
a(t.apply(42, [1]), 0x32);
a(t.apply({ toString: function () { return "abc"; } }, [2]), 0x63);
};
es5-ext-0.10.53/test/string/#/contains/ 0000775 0000000 0000000 00000000000 13565534140 0017405 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/string/#/contains/implement.js 0000664 0000000 0000000 00000000232 13565534140 0021732 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../string/#/contains/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/string/#/contains/index.js 0000664 0000000 0000000 00000000063 13565534140 0021051 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/string/#/contains/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022656 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/string/#/contains/shim.js 0000664 0000000 0000000 00000001004 13565534140 0020676 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call("raz", ""), true, "Empty");
a(t.call("", ""), true, "Both Empty");
a(t.call("raz", "raz"), true, "Same");
a(t.call("razdwa", "raz"), true, "Starts with");
a(t.call("razdwa", "dwa"), true, "Ends with");
a(t.call("razdwa", "zdw"), true, "In middle");
a(t.call("", "raz"), false, "Something in empty");
a(t.call("az", "raz"), false, "Longer");
a(t.call("azasdfasdf", "azff"), false, "Not found");
a(t.call("razdwa", "raz", 1), false, "Position");
};
es5-ext-0.10.53/test/string/#/count.js 0000664 0000000 0000000 00000000445 13565534140 0017260 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a.throws(function () { t.call("", ""); });
a(t.call("x", "x"), 1);
a(t.call("xx", "x"), 2);
a(t.call("xxx", "xx"), 1);
a(t.call("xxxx", "xx"), 2);
a(t.call("xx", "xxx"), 0);
a(t.call("", "elo"), 0);
a(t.call("fooo", "foofooo"), 0);
};
es5-ext-0.10.53/test/string/#/ends-with/ 0000775 0000000 0000000 00000000000 13565534140 0017471 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/string/#/ends-with/implement.js 0000664 0000000 0000000 00000000233 13565534140 0022017 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../string/#/ends-with/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/string/#/ends-with/index.js 0000664 0000000 0000000 00000000063 13565534140 0021135 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/string/#/ends-with/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022742 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/string/#/ends-with/shim.js 0000664 0000000 0000000 00000001147 13565534140 0020772 0 ustar 00root root 0000000 0000000 // In some parts copied from:
// http://closure-library.googlecode.com/svn/trunk/closure/goog/
// string/string_test.html
"use strict";
module.exports = function (t, a) {
a(t.call("abc", ""), true, "Empty needle");
a(t.call("abcd", "cd"), true, "Ends with needle");
a(t.call("abcd", "abcd"), true, "Needle equals haystack");
a(t.call("abcd", "ab"), false, "Doesn't end with needle");
a(t.call("abc", "defg"), false, "Length trick");
a(t.call("razdwa", "zd", 3), false, "Position: false");
a(t.call("razdwa", "zd", 4), true, "Position: true");
a(t.call("razdwa", "zd", 5), false, "Position: false #2");
};
es5-ext-0.10.53/test/string/#/hyphen-to-camel.js 0000664 0000000 0000000 00000000431 13565534140 0021115 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call("raz-dwa-t-rzy-4y-rtr4-tiu-45-pa"), "razDwaTRzy4yRtr4Tiu45Pa");
a(t.call("raz-dwa-t-rzy-4y-rtr4-tiu-45-pa-"), "razDwaTRzy4yRtr4Tiu45Pa-");
a(t.call("raz-dwa-t-rzy-4y-rtr4-tiu-45-pa--"), "razDwaTRzy4yRtr4Tiu45Pa--");
};
es5-ext-0.10.53/test/string/#/indent.js 0000664 0000000 0000000 00000000511 13565534140 0017403 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call("ra\nzz", ""), "ra\nzz", "Empty");
a(t.call("ra\nzz", "\t", 3), "\t\t\tra\n\t\t\tzz", "String repeat");
a(t.call("ra\nzz\nsss\nfff\n", "\t"), "\tra\n\tzz\n\tsss\n\tfff\n", "Multi-line");
a(t.call("ra\n\nzz\n", "\t"), "\tra\n\n\tzz\n", "Don't touch empty lines");
};
es5-ext-0.10.53/test/string/#/last.js 0000664 0000000 0000000 00000000170 13565534140 0017066 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call(""), null, "Null");
a(t.call("abcdef"), "f", "String");
};
es5-ext-0.10.53/test/string/#/normalize/ 0000775 0000000 0000000 00000000000 13565534140 0017567 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/string/#/normalize/_data.js 0000664 0000000 0000000 00000000117 13565534140 0021174 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t[0], "object"); };
es5-ext-0.10.53/test/string/#/normalize/implement.js 0000664 0000000 0000000 00000000233 13565534140 0022115 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../string/#/normalize/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/string/#/normalize/index.js 0000664 0000000 0000000 00000000063 13565534140 0021233 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/string/#/normalize/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0023040 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/string/#/normalize/shim.js 0000664 0000000 0000000 00000000515 13565534140 0021066 0 ustar 00root root 0000000 0000000 // Taken from: https://github.com/walling/unorm/blob/master/test/es6-shim.js
"use strict";
var str = "äiti";
module.exports = function (t, a) {
a(t.call(str), "\u00e4iti");
a(t.call(str, "NFC"), "\u00e4iti");
a(t.call(str, "NFD"), "a\u0308iti");
a(t.call(str, "NFKC"), "\u00e4iti");
a(t.call(str, "NFKD"), "a\u0308iti");
};
es5-ext-0.10.53/test/string/#/pad.js 0000664 0000000 0000000 00000001035 13565534140 0016670 0 ustar 00root root 0000000 0000000 "use strict";
var partial = require("../../../function/#/partial");
module.exports = {
Left: function (t, a) {
t = partial.call(t, "x", 5);
a(t.call("yy"), "xxxyy");
a(t.call(""), "xxxxx", "Empty string");
a(t.call("yyyyy"), "yyyyy", "Equal length");
a(t.call("yyyyyyy"), "yyyyyyy", "Longer");
},
Right: function (t, a) {
t = partial.call(t, "x", -5);
a(t.call("yy"), "yyxxx");
a(t.call(""), "xxxxx", "Empty string");
a(t.call("yyyyy"), "yyyyy", "Equal length");
a(t.call("yyyyyyy"), "yyyyyyy", "Longer");
}
};
es5-ext-0.10.53/test/string/#/plain-replace-all.js 0000664 0000000 0000000 00000000634 13565534140 0021412 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call("razdwatrzy", "dwa", "olera"), "razoleratrzy", "Basic");
a(t.call("razdwatrzy", "dwa", "ole$&a"), "razole$&atrzy", "Inserts");
a(t.call("razdwa", "ola", "sdfs"), "razdwa", "No replace");
a(t.call("$raz$$dwa$trzy$", "$", "&&"), "&&raz&&&&dwa&&trzy&&", "Multi");
a(t.call("$raz$$dwa$$$$trzy$", "$$", "&"), "$raz&dwa&&trzy$", "Multi many chars");
};
es5-ext-0.10.53/test/string/#/plain-replace.js 0000664 0000000 0000000 00000000374 13565534140 0020645 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call("razdwatrzy", "dwa", "olera"), "razoleratrzy", "Basic");
a(t.call("razdwatrzy", "dwa", "ole$&a"), "razole$&atrzy", "Inserts");
a(t.call("razdwa", "ola", "sdfs"), "razdwa", "No replace");
};
es5-ext-0.10.53/test/string/#/repeat/ 0000775 0000000 0000000 00000000000 13565534140 0017047 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/string/#/repeat/implement.js 0000664 0000000 0000000 00000000230 13565534140 0021372 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../string/#/repeat/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/string/#/repeat/index.js 0000664 0000000 0000000 00000000063 13565534140 0020513 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/string/#/repeat/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0022320 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/string/#/repeat/shim.js 0000664 0000000 0000000 00000000643 13565534140 0020350 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call("a", 0), "", "Empty");
a(t.call("a", 1), "a", "1");
a(t.call("a", 2), "aa", "2");
a(t.call("\t", 5), "\t\t\t\t\t", "Whitespace");
a(t.call("raz", 3), "razrazraz", "Many chars");
a(t.call("raz", 3), "razrazraz", "Many chars");
a(t.call("razfoobar", 5), "razfoobarrazfoobarrazfoobarrazfoobarrazfoobar", "Many chars");
a(t.call("a", 300).length, 300);
};
es5-ext-0.10.53/test/string/#/starts-with/ 0000775 0000000 0000000 00000000000 13565534140 0020060 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/string/#/starts-with/implement.js 0000664 0000000 0000000 00000000235 13565534140 0022410 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../../string/#/starts-with/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/string/#/starts-with/index.js 0000664 0000000 0000000 00000000063 13565534140 0021524 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/string/#/starts-with/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0023331 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/string/#/starts-with/shim.js 0000664 0000000 0000000 00000001016 13565534140 0021354 0 ustar 00root root 0000000 0000000 // Inspired and in some parts copied from:
// http://closure-library.googlecode.com/svn/trunk/closure/goog
// /string/string_test.html
"use strict";
module.exports = function (t, a) {
a(t.call("abc", ""), true, "Empty needle");
a(t.call("abcd", "ab"), true, "Starts with needle");
a(t.call("abcd", "abcd"), true, "Needle equals haystack");
a(t.call("abcd", "bcde", 1), false, "Needle larger than haystack");
a(!t.call("abcd", "cd"), true, "Doesn't start with needle");
a(t.call("abcd", "bc", 1), true, "Position");
};
es5-ext-0.10.53/test/string/#/uncapitalize.js 0000664 0000000 0000000 00000000503 13565534140 0020613 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call("raz"), "raz", "Word");
a(t.call("BLA"), "bLA", "Uppercase");
a(t.call(""), "", "Empty");
a(t.call("a"), "a", "One letter");
a(t.call("this is a test"), "this is a test", "Sentence");
a(t.call("This is a test"), "this is a test", "Capitalized sentence");
};
es5-ext-0.10.53/test/string/format-method.js 0000664 0000000 0000000 00000000316 13565534140 0020551 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
t = t({ a: "A", aa: "B", ab: "C", b: "D", c: function () { return ++this.a; } });
a(t.call({ a: 0 }, " %a%aab%abb%b\\%aa%ab%c%c "), " ABbCbD%aaC12 ");
};
es5-ext-0.10.53/test/string/from-code-point/ 0000775 0000000 0000000 00000000000 13565534140 0020447 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/string/from-code-point/implement.js 0000664 0000000 0000000 00000000234 13565534140 0022776 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../string/from-code-point/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/string/from-code-point/index.js 0000664 0000000 0000000 00000000063 13565534140 0022113 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/string/from-code-point/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0023720 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/string/from-code-point/shim.js 0000664 0000000 0000000 00000003471 13565534140 0021752 0 ustar 00root root 0000000 0000000 // Taken from: https://github.com/mathiasbynens/String.fromCodePoint/blob/master
// /tests/tests.js
"use strict";
var pow = Math.pow;
module.exports = function (t, a) {
var counter, result;
a(t.length, 1, "Length");
a(String.propertyIsEnumerable("fromCodePoint"), false, "Not enumerable");
a(t(""), "\0", "Empty string");
a(t(), "", "No arguments");
a(t(-0), "\0", "-0");
a(t(0), "\0", "0");
a(t(0x1d306), "\uD834\uDF06", "Unicode");
a(t(0x1d306, 0x61, 0x1d307), "\uD834\uDF06a\uD834\uDF07", "Complex unicode");
a(t(0x61, 0x62, 0x1d307), "ab\uD834\uDF07", "Complex");
a(t(false), "\0", "false");
a(t(null), "\0", "null");
a.throws(function () { t("_"); }, RangeError, "_");
a.throws(function () { t(Infinity); }, RangeError, "Infinity");
a.throws(function () { t(-Infinity); }, RangeError, "-Infinity");
a.throws(function () { t(-1); }, RangeError, "-1");
a.throws(function () { t(0x10ffff + 1); }, RangeError, "Range error #1");
a.throws(function () { t(3.14); }, RangeError, "Range error #2");
a.throws(function () { t(3e-2); }, RangeError, "Range error #3");
a.throws(function () { t(-Infinity); }, RangeError, "Range error #4");
a.throws(function () { t(Number(Infinity)); }, RangeError, "Range error #5");
a.throws(function () { t(NaN); }, RangeError, "Range error #6");
a.throws(function () { t(undefined); }, RangeError, "Range error #7");
a.throws(function () { t({}); }, RangeError, "Range error #8");
a.throws(function () { t(/re/); }, RangeError, "Range error #9");
counter = (pow(2, 15) * 3) / 2;
result = [];
while (--counter >= 0) result.push(0); // One code unit per symbol
t.apply(null, result); // Must not throw
counter = (pow(2, 15) * 3) / 2;
result = [];
while (--counter >= 0) result.push(0xffff + 1); // Two code units per symbol
t.apply(null, result); // Must not throw
};
es5-ext-0.10.53/test/string/is-string.js 0000664 0000000 0000000 00000000442 13565534140 0017722 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t(null), false, "Null");
a(t(""), true, "Empty string");
a(t(12), false, "Number");
a(t(false), false, "Boolean");
a(t(new Date()), false, "Date");
a(t(new String("raz")), true, "String object");
a(t("asdfaf"), true, "String");
};
es5-ext-0.10.53/test/string/random-uniq.js 0000664 0000000 0000000 00000000477 13565534140 0020245 0 ustar 00root root 0000000 0000000 "use strict";
var isValidFormat = RegExp.prototype.test.bind(/^[a-z0-9]+$/);
module.exports = function (t, a) {
a(typeof t(), "string");
a.ok(t().length > 7);
a.not(t(), t());
a.ok(isValidFormat(t()));
a.ok(isValidFormat(t()));
a.ok(isValidFormat(t()));
a.ok(isValidFormat(t()));
a.ok(isValidFormat(t()));
};
es5-ext-0.10.53/test/string/random.js 0000664 0000000 0000000 00000000525 13565534140 0017265 0 ustar 00root root 0000000 0000000 "use strict";
var isValidFormat = RegExp.prototype.test.bind(/^[a-z0-9]+$/);
module.exports = function (t, a) {
a(typeof t(), "string");
a.ok(t().length > 7);
a.not(t({ isUnique: true }), t({ isUnique: true }));
a.ok(isValidFormat(t()));
a(t({ length: 1 }).length, 1);
a(t({ length: 100 }).length, 100);
a(t({ length: 0 }), "");
};
es5-ext-0.10.53/test/string/raw/ 0000775 0000000 0000000 00000000000 13565534140 0016236 5 ustar 00root root 0000000 0000000 es5-ext-0.10.53/test/string/raw/implement.js 0000664 0000000 0000000 00000000220 13565534140 0020560 0 ustar 00root root 0000000 0000000 "use strict";
var isImplemented = require("../../../string/raw/is-implemented");
module.exports = function (a) { a(isImplemented(), true); };
es5-ext-0.10.53/test/string/raw/index.js 0000664 0000000 0000000 00000000063 13565534140 0017702 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.53/test/string/raw/is-implemented.js 0000664 0000000 0000000 00000000117 13565534140 0021507 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) { a(typeof t(), "boolean"); };
es5-ext-0.10.53/test/string/raw/shim.js 0000664 0000000 0000000 00000000610 13565534140 0017531 0 ustar 00root root 0000000 0000000 // Partially taken from:
// https://github.com/paulmillr/es6-shim/blob/master/test/string.js
"use strict";
module.exports = function (t, a) {
var callSite = [];
callSite.raw = ["The total is ", " ($", " with tax)"];
a(t(callSite, "{total}", "{total * 1.01}"), "The total is {total} (${total * 1.01} with tax)");
callSite.raw = [];
a(t(callSite, "{total}", "{total * 1.01}"), "");
};
es5-ext-0.10.53/test/to-short-string-representation.js 0000664 0000000 0000000 00000001011 13565534140 0022611 0 ustar 00root root 0000000 0000000 "use strict";
var repeat = require("../string/#/repeat");
module.exports = function (t, a) {
a(t(), "undefined");
a(t(null), "null");
a(t(10), "10");
a(t("str"), "str");
a(t({ toString: function () { return "miszka"; } }), "miszka");
// eslint-disable-next-line symbol-description
if (typeof Symbol === "function") a(t(Symbol()), "Symbol()");
a(t(Object.create(null)), "");
a(t(repeat.call("a", 300)), repeat.call("a", 99) + "…");
a(t("mar\ntoo\nfar"), "mar\\ntoo\\nfar");
};
es5-ext-0.10.53/to-short-string-representation.js 0000664 0000000 0000000 00000000635 13565534140 0021645 0 ustar 00root root 0000000 0000000 "use strict";
var safeToString = require("./safe-to-string");
var reNewLine = /[\n\r\u2028\u2029]/g;
module.exports = function (value) {
var string = safeToString(value);
// Trim if too long
if (string.length > 100) string = string.slice(0, 99) + "…";
// Replace eventual new lines
string = string.replace(reNewLine, function (char) {
return JSON.stringify(char).slice(1, -1);
});
return string;
};