pax_global_header 0000666 0000000 0000000 00000000064 13150035453 0014511 g ustar 00root root 0000000 0000000 52 comment=1ded604433044d99967afd1575475e1d3ef484ac
es5-ext-0.10.30/ 0000775 0000000 0000000 00000000000 13150035453 0013144 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/.gitignore 0000664 0000000 0000000 00000000063 13150035453 0015133 0 ustar 00root root 0000000 0000000 .DS_Store
/node_modules
/.lintcache
/npm-debug.log
es5-ext-0.10.30/.lint 0000664 0000000 0000000 00000001020 13150035453 0014104 0 ustar 00root root 0000000 0000000 @root
module
indent 2
maxlen 100
tabs
ass
continue
forin
nomen
plusplus
vars
sub
./global.js
./function/_define-length.js
./function/#/copy.js
./object/unserialize.js
./test/function/valid-function.js
./test/function/#/to-string-tokens.js
evil
./math/_pack-ieee754.js
./math/_unpack-ieee754.js
./math/clz32/shim.js
./math/imul/shim.js
./number/to-uint32.js
./string/#/at.js
bitwise
./math/fround/shim.js
predef+ Float32Array
./object/first-key.js
forin
./test
predef+ Symbol
./test/reg-exp/#/index.js
predef+ __dirname
es5-ext-0.10.30/.lintignore 0000664 0000000 0000000 00000000361 13150035453 0015317 0 ustar 00root root 0000000 0000000 /string/#/normalize/_data.js
/test/boolean/is-boolean.js
/test/date/is-date.js
/test/number/is-number.js
/test/object/is-copy.js
/test/object/is-number-value.js
/test/object/is-object.js
/test/reg-exp/is-reg-exp.js
/test/string/is-string.js
es5-ext-0.10.30/CHANGELOG.md 0000664 0000000 0000000 00000011147 13150035453 0014761 0 ustar 00root root 0000000 0000000 # Change Log
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.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.30/CHANGES 0000664 0000000 0000000 00000066543 13150035453 0014155 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.30/LICENSE 0000664 0000000 0000000 00000002117 13150035453 0014152 0 ustar 00root root 0000000 0000000 The MIT License (MIT)
Copyright (C) 2011-2017 Mariusz Nowak (www.medikoo.com)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
es5-ext-0.10.30/README.md 0000664 0000000 0000000 00000114146 13150035453 0014432 0 ustar 00root root 0000000 0000000 # 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')`
- `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))))_
#### 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.
### 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 [](https://circleci.com/gh/medikoo/es5-ext)
$ npm test
es5-ext-0.10.30/appveyor.yml 0000664 0000000 0000000 00000001101 13150035453 0015525 0 ustar 00root root 0000000 0000000 # Test against the latest version of this Node.js version
environment:
matrix:
# node.js
- nodejs_version: "0.12"
- nodejs_version: "4"
- nodejs_version: "6"
- nodejs_version: "8"
# Install scripts. (runs after repo cloning)
install:
# Get the latest stable version of Node.js or io.js
- ps: Install-Product node $env:nodejs_version
# install modules
- npm install
# Post-install test scripts.
test_script:
# Output useful info for debugging.
- node --version
- npm --version
# run tests
- npm test
# Don't actually build.
build: off
es5-ext-0.10.30/array/ 0000775 0000000 0000000 00000000000 13150035453 0014262 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/array/#/ 0000775 0000000 0000000 00000000000 13150035453 0014404 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/array/#/@@iterator/ 0000775 0000000 0000000 00000000000 13150035453 0016435 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/array/#/@@iterator/implement.js 0000664 0000000 0000000 00000000336 13150035453 0020767 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.30/array/#/@@iterator/index.js 0000664 0000000 0000000 00000000206 13150035453 0020100 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.30/array/#/@@iterator/is-implemented.js 0000664 0000000 0000000 00000000741 13150035453 0021711 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.30/array/#/@@iterator/shim.js 0000664 0000000 0000000 00000000073 13150035453 0017733 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("../values/shim");
es5-ext-0.10.30/array/#/_compare-by-length.js 0000664 0000000 0000000 00000000337 13150035453 0020421 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.30/array/#/binary-search.js 0000664 0000000 0000000 00000001131 13150035453 0017465 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.30/array/#/clear.js 0000664 0000000 0000000 00000000422 13150035453 0016026 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.30/array/#/compact.js 0000664 0000000 0000000 00000000424 13150035453 0016370 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.30/array/#/concat/ 0000775 0000000 0000000 00000000000 13150035453 0015653 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/array/#/concat/implement.js 0000664 0000000 0000000 00000000301 13150035453 0020175 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.30/array/#/concat/index.js 0000664 0000000 0000000 00000000156 13150035453 0017322 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Array.prototype.concat : require("./shim");
es5-ext-0.10.30/array/#/concat/is-implemented.js 0000664 0000000 0000000 00000000245 13150035453 0021126 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.30/array/#/concat/shim.js 0000664 0000000 0000000 00000002413 13150035453 0017151 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.30/array/#/contains.js 0000664 0000000 0000000 00000000262 13150035453 0016560 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.30/array/#/copy-within/ 0000775 0000000 0000000 00000000000 13150035453 0016656 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/array/#/copy-within/implement.js 0000664 0000000 0000000 00000000310 13150035453 0021200 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.30/array/#/copy-within/index.js 0000664 0000000 0000000 00000000162 13150035453 0020322 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Array.prototype.copyWithin : require("./shim");
es5-ext-0.10.30/array/#/copy-within/is-implemented.js 0000664 0000000 0000000 00000000274 13150035453 0022133 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.30/array/#/copy-within/shim.js 0000664 0000000 0000000 00000002300 13150035453 0020147 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.30/array/#/diff.js 0000664 0000000 0000000 00000000452 13150035453 0015653 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.30/array/#/e-index-of.js 0000664 0000000 0000000 00000001646 13150035453 0016704 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.30/array/#/e-last-index-of.js 0000664 0000000 0000000 00000001673 13150035453 0017645 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.30/array/#/entries/ 0000775 0000000 0000000 00000000000 13150035453 0016055 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/array/#/entries/implement.js 0000664 0000000 0000000 00000000302 13150035453 0020400 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.30/array/#/entries/index.js 0000664 0000000 0000000 00000000157 13150035453 0017525 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Array.prototype.entries : require("./shim");
es5-ext-0.10.30/array/#/entries/is-implemented.js 0000664 0000000 0000000 00000000725 13150035453 0021333 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.30/array/#/entries/shim.js 0000664 0000000 0000000 00000000222 13150035453 0017347 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.30/array/#/exclusion.js 0000664 0000000 0000000 00000001445 13150035453 0016757 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.30/array/#/fill/ 0000775 0000000 0000000 00000000000 13150035453 0015332 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/array/#/fill/implement.js 0000664 0000000 0000000 00000000277 13150035453 0017670 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.30/array/#/fill/index.js 0000664 0000000 0000000 00000000154 13150035453 0016777 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Array.prototype.fill : require("./shim");
es5-ext-0.10.30/array/#/fill/is-implemented.js 0000664 0000000 0000000 00000000272 13150035453 0020605 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.30/array/#/fill/shim.js 0000664 0000000 0000000 00000001361 13150035453 0016631 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.30/array/#/filter/ 0000775 0000000 0000000 00000000000 13150035453 0015671 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/array/#/filter/implement.js 0000664 0000000 0000000 00000000301 13150035453 0020213 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.30/array/#/filter/index.js 0000664 0000000 0000000 00000000156 13150035453 0017340 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Array.prototype.filter : require("./shim");
es5-ext-0.10.30/array/#/filter/is-implemented.js 0000664 0000000 0000000 00000000316 13150035453 0021143 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.30/array/#/filter/shim.js 0000664 0000000 0000000 00000001272 13150035453 0017171 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.30/array/#/find-index/ 0000775 0000000 0000000 00000000000 13150035453 0016431 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/array/#/find-index/implement.js 0000664 0000000 0000000 00000000307 13150035453 0020761 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.30/array/#/find-index/index.js 0000664 0000000 0000000 00000000161 13150035453 0020074 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Array.prototype.findIndex : require("./shim");
es5-ext-0.10.30/array/#/find-index/is-implemented.js 0000664 0000000 0000000 00000000334 13150035453 0021703 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.30/array/#/find-index/shim.js 0000664 0000000 0000000 00000001034 13150035453 0017725 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.30/array/#/find/ 0000775 0000000 0000000 00000000000 13150035453 0015324 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/array/#/find/implement.js 0000664 0000000 0000000 00000000277 13150035453 0017662 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.30/array/#/find/index.js 0000664 0000000 0000000 00000000154 13150035453 0016771 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Array.prototype.find : require("./shim");
es5-ext-0.10.30/array/#/find/is-implemented.js 0000664 0000000 0000000 00000000322 13150035453 0020573 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.30/array/#/find/shim.js 0000664 0000000 0000000 00000000402 13150035453 0016616 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.30/array/#/first-index.js 0000664 0000000 0000000 00000000627 13150035453 0017203 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.30/array/#/first.js 0000664 0000000 0000000 00000000263 13150035453 0016072 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.30/array/#/flatten.js 0000664 0000000 0000000 00000001703 13150035453 0016400 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.30/array/#/for-each-right.js 0000664 0000000 0000000 00000001113 13150035453 0017535 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.30/array/#/group.js 0000664 0000000 0000000 00000001146 13150035453 0016100 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.30/array/#/index.js 0000664 0000000 0000000 00000002451 13150035453 0016053 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.30/array/#/indexes-of.js 0000664 0000000 0000000 00000000424 13150035453 0017003 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.30/array/#/intersection.js 0000664 0000000 0000000 00000001117 13150035453 0017450 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.30/array/#/is-copy.js 0000664 0000000 0000000 00000001142 13150035453 0016323 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.30/array/#/is-empty.js 0000664 0000000 0000000 00000000312 13150035453 0016505 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.30/array/#/is-uniq.js 0000664 0000000 0000000 00000000406 13150035453 0016327 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.30/array/#/keys/ 0000775 0000000 0000000 00000000000 13150035453 0015357 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/array/#/keys/implement.js 0000664 0000000 0000000 00000000277 13150035453 0017715 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.30/array/#/keys/index.js 0000664 0000000 0000000 00000000154 13150035453 0017024 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Array.prototype.keys : require("./shim");
es5-ext-0.10.30/array/#/keys/is-implemented.js 0000664 0000000 0000000 00000000621 13150035453 0020630 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.30/array/#/keys/shim.js 0000664 0000000 0000000 00000000214 13150035453 0016652 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.30/array/#/last-index.js 0000664 0000000 0000000 00000000634 13150035453 0017015 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.30/array/#/last.js 0000664 0000000 0000000 00000000260 13150035453 0015703 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.30/array/#/map/ 0000775 0000000 0000000 00000000000 13150035453 0015161 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/array/#/map/implement.js 0000664 0000000 0000000 00000000276 13150035453 0017516 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.30/array/#/map/index.js 0000664 0000000 0000000 00000000153 13150035453 0016625 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Array.prototype.map : require("./shim");
es5-ext-0.10.30/array/#/map/is-implemented.js 0000664 0000000 0000000 00000000332 13150035453 0020431 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.30/array/#/map/shim.js 0000664 0000000 0000000 00000001210 13150035453 0016451 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.30/array/#/remove.js 0000664 0000000 0000000 00000000604 13150035453 0016237 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.30/array/#/separate.js 0000664 0000000 0000000 00000000320 13150035453 0016541 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.30/array/#/slice/ 0000775 0000000 0000000 00000000000 13150035453 0015503 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/array/#/slice/implement.js 0000664 0000000 0000000 00000000300 13150035453 0020024 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.30/array/#/slice/index.js 0000664 0000000 0000000 00000000154 13150035453 0017150 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Array.prototype.slice : require("./shim");
es5-ext-0.10.30/array/#/slice/is-implemented.js 0000664 0000000 0000000 00000000237 13150035453 0020757 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.30/array/#/slice/shim.js 0000664 0000000 0000000 00000002047 13150035453 0017004 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.30/array/#/some-right.js 0000664 0000000 0000000 00000001161 13150035453 0017017 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.30/array/#/splice/ 0000775 0000000 0000000 00000000000 13150035453 0015663 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/array/#/splice/implement.js 0000664 0000000 0000000 00000000301 13150035453 0020205 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.30/array/#/splice/index.js 0000664 0000000 0000000 00000000155 13150035453 0017331 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Array.prototype.splice : require("./shim");
es5-ext-0.10.30/array/#/splice/is-implemented.js 0000664 0000000 0000000 00000000241 13150035453 0021132 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.30/array/#/splice/shim.js 0000664 0000000 0000000 00000001025 13150035453 0017157 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.30/array/#/uniq.js 0000664 0000000 0000000 00000000412 13150035453 0015713 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.30/array/#/values/ 0000775 0000000 0000000 00000000000 13150035453 0015703 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/array/#/values/implement.js 0000664 0000000 0000000 00000000301 13150035453 0020225 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.30/array/#/values/index.js 0000664 0000000 0000000 00000000154 13150035453 0017350 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")() ? Array.prototype.values : require("./shim");
es5-ext-0.10.30/array/#/values/is-implemented.js 0000664 0000000 0000000 00000000631 13150035453 0021155 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.30/array/#/values/shim.js 0000664 0000000 0000000 00000000216 13150035453 0017200 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.30/array/_is-extensible.js 0000664 0000000 0000000 00000000444 13150035453 0017534 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.30/array/_sub-array-dummy-safe.js 0000664 0000000 0000000 00000001136 13150035453 0020732 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.30/array/_sub-array-dummy.js 0000664 0000000 0000000 00000000656 13150035453 0020024 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.30/array/from/ 0000775 0000000 0000000 00000000000 13150035453 0015225 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/array/from/implement.js 0000664 0000000 0000000 00000000265 13150035453 0017560 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.30/array/from/index.js 0000664 0000000 0000000 00000000142 13150035453 0016667 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Array.from
: require("./shim");
es5-ext-0.10.30/array/from/is-implemented.js 0000664 0000000 0000000 00000000367 13150035453 0020505 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.30/array/from/shim.js 0000664 0000000 0000000 00000006145 13150035453 0016531 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
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.30/array/generate.js 0000664 0000000 0000000 00000000770 13150035453 0016416 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.30/array/index.js 0000664 0000000 0000000 00000000414 13150035453 0015726 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.30/array/is-plain-array.js 0000664 0000000 0000000 00000000433 13150035453 0017450 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.30/array/of/ 0000775 0000000 0000000 00000000000 13150035453 0014666 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/array/of/implement.js 0000664 0000000 0000000 00000000263 13150035453 0017217 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.30/array/of/index.js 0000664 0000000 0000000 00000000140 13150035453 0016326 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Array.of
: require("./shim");
es5-ext-0.10.30/array/of/is-implemented.js 0000664 0000000 0000000 00000000310 13150035453 0020132 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.30/array/of/shim.js 0000664 0000000 0000000 00000001144 13150035453 0016164 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.30/array/to-array.js 0000664 0000000 0000000 00000000260 13150035453 0016354 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.30/array/valid-array.js 0000664 0000000 0000000 00000000251 13150035453 0017031 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.30/boolean/ 0000775 0000000 0000000 00000000000 13150035453 0014563 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/boolean/index.js 0000664 0000000 0000000 00000000111 13150035453 0016221 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
isBoolean: require("./is-boolean")
};
es5-ext-0.10.30/boolean/is-boolean.js 0000664 0000000 0000000 00000000415 13150035453 0017151 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.30/circle.yml 0000664 0000000 0000000 00000000246 13150035453 0015132 0 ustar 00root root 0000000 0000000 machine:
node:
version: 8
test:
override:
- npm test
- nvm use 6; npm test
- npm run lint
- nvm use 4; npm test
- nvm use 0.12; npm test
es5-ext-0.10.30/date/ 0000775 0000000 0000000 00000000000 13150035453 0014061 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/date/#/ 0000775 0000000 0000000 00000000000 13150035453 0014203 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/date/#/copy.js 0000664 0000000 0000000 00000000176 13150035453 0015517 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.30/date/#/days-in-month.js 0000664 0000000 0000000 00000000372 13150035453 0017232 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.30/date/#/floor-day.js 0000664 0000000 0000000 00000000212 13150035453 0016430 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.30/date/#/floor-month.js 0000664 0000000 0000000 00000000210 13150035453 0016776 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.30/date/#/floor-year.js 0000664 0000000 0000000 00000000217 13150035453 0016620 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.30/date/#/format.js 0000664 0000000 0000000 00000001414 13150035453 0016031 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.30/date/#/index.js 0000664 0000000 0000000 00000000365 13150035453 0015654 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.30/date/index.js 0000664 0000000 0000000 00000000202 13150035453 0015520 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"#": require("./#"),
"isDate": require("./is-date"),
"validDate": require("./valid-date")
};
es5-ext-0.10.30/date/is-date.js 0000664 0000000 0000000 00000000336 13150035453 0015747 0 ustar 00root root 0000000 0000000 "use strict";
var objToString = Object.prototype.toString, id = objToString.call(new Date());
module.exports = function (value) {
return (value && (value instanceof Date || objToString.call(value) === id)) || false;
};
es5-ext-0.10.30/date/valid-date.js 0000664 0000000 0000000 00000000310 13150035453 0016423 0 ustar 00root root 0000000 0000000 "use strict";
var isDate = require("./is-date");
module.exports = function (value) {
if (!isDate(value) || isNaN(value)) throw new TypeError(value + " is not valid Date object");
return value;
};
es5-ext-0.10.30/error/ 0000775 0000000 0000000 00000000000 13150035453 0014275 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/error/#/ 0000775 0000000 0000000 00000000000 13150035453 0014417 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/error/#/index.js 0000664 0000000 0000000 00000000100 13150035453 0016053 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
throw: require("./throw")
};
es5-ext-0.10.30/error/#/throw.js 0000664 0000000 0000000 00000000155 13150035453 0016121 0 ustar 00root root 0000000 0000000 "use strict";
var error = require("../valid-error");
module.exports = function () {
throw error(this);
};
es5-ext-0.10.30/error/custom.js 0000664 0000000 0000000 00000001121 13150035453 0016140 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;
exports = 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, exports);
return err;
};
es5-ext-0.10.30/error/index.js 0000664 0000000 0000000 00000000246 13150035453 0015744 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.30/error/is-error.js 0000664 0000000 0000000 00000000340 13150035453 0016372 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.30/error/valid-error.js 0000664 0000000 0000000 00000000271 13150035453 0017061 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.30/function/ 0000775 0000000 0000000 00000000000 13150035453 0014771 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/function/#/ 0000775 0000000 0000000 00000000000 13150035453 0015113 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/function/#/compose.js 0000664 0000000 0000000 00000001104 13150035453 0017112 0 ustar 00root root 0000000 0000000 "use strict";
var callable = require("../../object/valid-callable")
, aFrom = require("../../array/from")
, apply = Function.prototype.apply
, call = Function.prototype.call
, callFn = function (arg, fn) {
return call.call(fn, this, arg);
};
module.exports = function (fn /*, …fnn*/) {
var fns, first;
if (!fn) callable(fn);
fns = [this].concat(aFrom(arguments));
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.30/function/#/copy.js 0000664 0000000 0000000 00000001037 13150035453 0016424 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.30/function/#/curry.js 0000664 0000000 0000000 00000001416 13150035453 0016617 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.30/function/#/index.js 0000664 0000000 0000000 00000000432 13150035453 0016557 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
compose: require("./compose"),
copy: require("./copy"),
curry: require("./curry"),
lock: require("./lock"),
not: require("./not"),
partial: require("./partial"),
spread: require("./spread"),
toStringTokens: require("./to-string-tokens")
};
es5-ext-0.10.30/function/#/lock.js 0000664 0000000 0000000 00000000414 13150035453 0016400 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.30/function/#/not.js 0000664 0000000 0000000 00000000474 13150035453 0016256 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.30/function/#/partial.js 0000664 0000000 0000000 00000000665 13150035453 0017114 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.30/function/#/spread.js 0000664 0000000 0000000 00000000352 13150035453 0016727 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.30/function/#/to-string-tokens.js 0000664 0000000 0000000 00000001060 13150035453 0020675 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.30/function/_define-length.js 0000664 0000000 0000000 00000002435 13150035453 0020203 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.30/function/constant.js 0000664 0000000 0000000 00000000140 13150035453 0017153 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (value) {
return function () {
return value;
};
};
es5-ext-0.10.30/function/identity.js 0000664 0000000 0000000 00000000105 13150035453 0017154 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (value) {
return value;
};
es5-ext-0.10.30/function/index.js 0000664 0000000 0000000 00000000567 13150035453 0016446 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.30/function/invoke.js 0000664 0000000 0000000 00000000664 13150035453 0016630 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.30/function/is-arguments.js 0000664 0000000 0000000 00000000323 13150035453 0017743 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.30/function/is-function.js 0000664 0000000 0000000 00000000325 13150035453 0017565 0 ustar 00root root 0000000 0000000 "use strict";
var objToString = Object.prototype.toString, id = objToString.call(require("./noop"));
module.exports = function (value) {
return typeof value === "function" && objToString.call(value) === id;
};
es5-ext-0.10.30/function/noop.js 0000664 0000000 0000000 00000000136 13150035453 0016302 0 ustar 00root root 0000000 0000000 "use strict";
// eslint-disable-next-line no-empty-function
module.exports = function () {};
es5-ext-0.10.30/function/pluck.js 0000664 0000000 0000000 00000000234 13150035453 0016444 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.30/function/valid-function.js 0000664 0000000 0000000 00000000275 13150035453 0020255 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.30/global.js 0000664 0000000 0000000 00000000120 13150035453 0014733 0 ustar 00root root 0000000 0000000 /* eslint strict: "off" */
module.exports = (function () {
return this;
}());
es5-ext-0.10.30/index.js 0000664 0000000 0000000 00000001120 13150035453 0014603 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"),
regExp: require("./reg-exp"),
string: require("./string")
};
es5-ext-0.10.30/iterable/ 0000775 0000000 0000000 00000000000 13150035453 0014733 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/iterable/for-each.js 0000664 0000000 0000000 00000000557 13150035453 0016764 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.30/iterable/index.js 0000664 0000000 0000000 00000000254 13150035453 0016401 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.30/iterable/is.js 0000664 0000000 0000000 00000000526 13150035453 0015707 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.30/iterable/validate-object.js 0000664 0000000 0000000 00000000400 13150035453 0020320 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.30/iterable/validate.js 0000664 0000000 0000000 00000000262 13150035453 0017062 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.30/json/ 0000775 0000000 0000000 00000000000 13150035453 0014115 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/json/index.js 0000664 0000000 0000000 00000000121 13150035453 0015554 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
safeStringify: require("./safe-stringify")
};
es5-ext-0.10.30/json/safe-stringify.js 0000664 0000000 0000000 00000001617 13150035453 0017412 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.30/math/ 0000775 0000000 0000000 00000000000 13150035453 0014075 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/_pack-ieee754.js 0000664 0000000 0000000 00000003702 13150035453 0016657 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
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.30/math/_unpack-ieee754.js 0000664 0000000 0000000 00000001637 13150035453 0017227 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.30/math/acosh/ 0000775 0000000 0000000 00000000000 13150035453 0015172 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/acosh/implement.js 0000664 0000000 0000000 00000000265 13150035453 0017525 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.30/math/acosh/index.js 0000664 0000000 0000000 00000000142 13150035453 0016634 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Math.acosh
: require("./shim");
es5-ext-0.10.30/math/acosh/is-implemented.js 0000664 0000000 0000000 00000000243 13150035453 0020443 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.30/math/acosh/shim.js 0000664 0000000 0000000 00000000441 13150035453 0016467 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.30/math/asinh/ 0000775 0000000 0000000 00000000000 13150035453 0015177 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/asinh/implement.js 0000664 0000000 0000000 00000000265 13150035453 0017532 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.30/math/asinh/index.js 0000664 0000000 0000000 00000000142 13150035453 0016641 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Math.asinh
: require("./shim");
es5-ext-0.10.30/math/asinh/is-implemented.js 0000664 0000000 0000000 00000000243 13150035453 0020450 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.30/math/asinh/shim.js 0000664 0000000 0000000 00000000536 13150035453 0016501 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.30/math/atanh/ 0000775 0000000 0000000 00000000000 13150035453 0015170 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/atanh/implement.js 0000664 0000000 0000000 00000000265 13150035453 0017523 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.30/math/atanh/index.js 0000664 0000000 0000000 00000000142 13150035453 0016632 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Math.atanh
: require("./shim");
es5-ext-0.10.30/math/atanh/is-implemented.js 0000664 0000000 0000000 00000000265 13150035453 0020445 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.30/math/atanh/shim.js 0000664 0000000 0000000 00000000521 13150035453 0016464 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.30/math/cbrt/ 0000775 0000000 0000000 00000000000 13150035453 0015027 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/cbrt/implement.js 0000664 0000000 0000000 00000000264 13150035453 0017361 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.30/math/cbrt/index.js 0000664 0000000 0000000 00000000141 13150035453 0016470 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Math.cbrt
: require("./shim");
es5-ext-0.10.30/math/cbrt/is-implemented.js 0000664 0000000 0000000 00000000237 13150035453 0020303 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.30/math/cbrt/shim.js 0000664 0000000 0000000 00000000416 13150035453 0016326 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.30/math/clz32/ 0000775 0000000 0000000 00000000000 13150035453 0015032 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/clz32/implement.js 0000664 0000000 0000000 00000000265 13150035453 0017365 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.30/math/clz32/index.js 0000664 0000000 0000000 00000000142 13150035453 0016474 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Math.clz32
: require("./shim");
es5-ext-0.10.30/math/clz32/is-implemented.js 0000664 0000000 0000000 00000000226 13150035453 0020304 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.30/math/clz32/shim.js 0000664 0000000 0000000 00000000241 13150035453 0016325 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.30/math/cosh/ 0000775 0000000 0000000 00000000000 13150035453 0015031 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/cosh/implement.js 0000664 0000000 0000000 00000000264 13150035453 0017363 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.30/math/cosh/index.js 0000664 0000000 0000000 00000000141 13150035453 0016472 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Math.cosh
: require("./shim");
es5-ext-0.10.30/math/cosh/is-implemented.js 0000664 0000000 0000000 00000000237 13150035453 0020305 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.30/math/cosh/shim.js 0000664 0000000 0000000 00000000356 13150035453 0016333 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.30/math/expm1/ 0000775 0000000 0000000 00000000000 13150035453 0015127 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/expm1/implement.js 0000664 0000000 0000000 00000000265 13150035453 0017462 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.30/math/expm1/index.js 0000664 0000000 0000000 00000000142 13150035453 0016571 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Math.expm1
: require("./shim");
es5-ext-0.10.30/math/expm1/is-implemented.js 0000664 0000000 0000000 00000000260 13150035453 0020377 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.30/math/expm1/shim.js 0000664 0000000 0000000 00000000613 13150035453 0016425 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.30/math/fround/ 0000775 0000000 0000000 00000000000 13150035453 0015372 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/fround/implement.js 0000664 0000000 0000000 00000000266 13150035453 0017726 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.30/math/fround/index.js 0000664 0000000 0000000 00000000143 13150035453 0017035 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Math.fround
: require("./shim");
es5-ext-0.10.30/math/fround/is-implemented.js 0000664 0000000 0000000 00000000253 13150035453 0020644 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.30/math/fround/shim.js 0000664 0000000 0000000 00000001345 13150035453 0016673 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.30/math/hypot/ 0000775 0000000 0000000 00000000000 13150035453 0015240 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/hypot/implement.js 0000664 0000000 0000000 00000000265 13150035453 0017573 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.30/math/hypot/index.js 0000664 0000000 0000000 00000000142 13150035453 0016702 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Math.hypot
: require("./shim");
es5-ext-0.10.30/math/hypot/is-implemented.js 0000664 0000000 0000000 00000000225 13150035453 0020511 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.30/math/hypot/shim.js 0000664 0000000 0000000 00000001754 13150035453 0016545 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.30/math/imul/ 0000775 0000000 0000000 00000000000 13150035453 0015043 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/imul/implement.js 0000664 0000000 0000000 00000000264 13150035453 0017375 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.30/math/imul/index.js 0000664 0000000 0000000 00000000141 13150035453 0016504 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Math.imul
: require("./shim");
es5-ext-0.10.30/math/imul/is-implemented.js 0000664 0000000 0000000 00000000223 13150035453 0020312 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.30/math/imul/shim.js 0000664 0000000 0000000 00000000761 13150035453 0016345 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.30/math/index.js 0000664 0000000 0000000 00000000764 13150035453 0015551 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
acosh: require("./acosh"),
asinh: require("./asinh"),
atanh: require("./atanh"),
cbrt: require("./cbrt"),
clz32: require("./clz32"),
cosh: require("./cosh"),
expm1: require("./expm1"),
fround: require("./fround"),
hypot: require("./hypot"),
imul: require("./imul"),
log10: require("./log10"),
log2: require("./log2"),
log1p: require("./log1p"),
sign: require("./sign"),
sinh: require("./sinh"),
tanh: require("./tanh"),
trunc: require("./trunc")
};
es5-ext-0.10.30/math/log10/ 0000775 0000000 0000000 00000000000 13150035453 0015017 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/log10/implement.js 0000664 0000000 0000000 00000000265 13150035453 0017352 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.30/math/log10/index.js 0000664 0000000 0000000 00000000142 13150035453 0016461 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Math.log10
: require("./shim");
es5-ext-0.10.30/math/log10/is-implemented.js 0000664 0000000 0000000 00000000243 13150035453 0020270 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.30/math/log10/shim.js 0000664 0000000 0000000 00000000474 13150035453 0016322 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.30/math/log1p/ 0000775 0000000 0000000 00000000000 13150035453 0015117 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/log1p/implement.js 0000664 0000000 0000000 00000000265 13150035453 0017452 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.30/math/log1p/index.js 0000664 0000000 0000000 00000000142 13150035453 0016561 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Math.log1p
: require("./shim");
es5-ext-0.10.30/math/log1p/is-implemented.js 0000664 0000000 0000000 00000000243 13150035453 0020370 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.30/math/log1p/shim.js 0000664 0000000 0000000 00000000673 13150035453 0016423 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.30/math/log2/ 0000775 0000000 0000000 00000000000 13150035453 0014740 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/log2/implement.js 0000664 0000000 0000000 00000000264 13150035453 0017272 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.30/math/log2/index.js 0000664 0000000 0000000 00000000141 13150035453 0016401 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Math.log2
: require("./shim");
es5-ext-0.10.30/math/log2/is-implemented.js 0000664 0000000 0000000 00000000254 13150035453 0020213 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.30/math/log2/shim.js 0000664 0000000 0000000 00000000471 13150035453 0016240 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.30/math/sign/ 0000775 0000000 0000000 00000000000 13150035453 0015035 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/sign/implement.js 0000664 0000000 0000000 00000000264 13150035453 0017367 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.30/math/sign/index.js 0000664 0000000 0000000 00000000141 13150035453 0016476 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Math.sign
: require("./shim");
es5-ext-0.10.30/math/sign/is-implemented.js 0000664 0000000 0000000 00000000247 13150035453 0020312 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.30/math/sign/shim.js 0000664 0000000 0000000 00000000234 13150035453 0016332 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.30/math/sinh/ 0000775 0000000 0000000 00000000000 13150035453 0015036 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/sinh/implement.js 0000664 0000000 0000000 00000000264 13150035453 0017370 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.30/math/sinh/index.js 0000664 0000000 0000000 00000000141 13150035453 0016477 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Math.sinh
: require("./shim");
es5-ext-0.10.30/math/sinh/is-implemented.js 0000664 0000000 0000000 00000000310 13150035453 0020302 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.30/math/sinh/shim.js 0000664 0000000 0000000 00000001003 13150035453 0016326 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.30/math/tanh/ 0000775 0000000 0000000 00000000000 13150035453 0015027 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/tanh/implement.js 0000664 0000000 0000000 00000000264 13150035453 0017361 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.30/math/tanh/index.js 0000664 0000000 0000000 00000000141 13150035453 0016470 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Math.tanh
: require("./shim");
es5-ext-0.10.30/math/tanh/is-implemented.js 0000664 0000000 0000000 00000000303 13150035453 0020275 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.30/math/tanh/shim.js 0000664 0000000 0000000 00000000620 13150035453 0016323 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.30/math/trunc/ 0000775 0000000 0000000 00000000000 13150035453 0015230 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/math/trunc/implement.js 0000664 0000000 0000000 00000000265 13150035453 0017563 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.30/math/trunc/index.js 0000664 0000000 0000000 00000000142 13150035453 0016672 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Math.trunc
: require("./shim");
es5-ext-0.10.30/math/trunc/is-implemented.js 0000664 0000000 0000000 00000000264 13150035453 0020504 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.30/math/trunc/shim.js 0000664 0000000 0000000 00000000471 13150035453 0016530 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.30/number/ 0000775 0000000 0000000 00000000000 13150035453 0014434 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/number/#/ 0000775 0000000 0000000 00000000000 13150035453 0014556 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/number/#/index.js 0000664 0000000 0000000 00000000074 13150035453 0016224 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
pad: require("./pad")
};
es5-ext-0.10.30/number/#/pad.js 0000664 0000000 0000000 00000000620 13150035453 0015656 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.30/number/epsilon/ 0000775 0000000 0000000 00000000000 13150035453 0016105 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/number/epsilon/implement.js 0000664 0000000 0000000 00000000267 13150035453 0020442 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.30/number/epsilon/index.js 0000664 0000000 0000000 00000000067 13150035453 0017555 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = 2.220446049250313e-16;
es5-ext-0.10.30/number/epsilon/is-implemented.js 0000664 0000000 0000000 00000000135 13150035453 0021356 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
return typeof Number.EPSILON === "number";
};
es5-ext-0.10.30/number/index.js 0000664 0000000 0000000 00000001045 13150035453 0016101 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.30/number/is-finite/ 0000775 0000000 0000000 00000000000 13150035453 0016323 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/number/is-finite/implement.js 0000664 0000000 0000000 00000000272 13150035453 0020654 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.30/number/is-finite/index.js 0000664 0000000 0000000 00000000147 13150035453 0017772 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Number.isFinite
: require("./shim");
es5-ext-0.10.30/number/is-finite/is-implemented.js 0000664 0000000 0000000 00000000343 13150035453 0021575 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.30/number/is-finite/shim.js 0000664 0000000 0000000 00000000156 13150035453 0017623 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (value) {
return (typeof value === "number") && isFinite(value);
};
es5-ext-0.10.30/number/is-integer/ 0000775 0000000 0000000 00000000000 13150035453 0016502 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/number/is-integer/implement.js 0000664 0000000 0000000 00000000273 13150035453 0021034 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.30/number/is-integer/index.js 0000664 0000000 0000000 00000000150 13150035453 0020143 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Number.isInteger
: require("./shim");
es5-ext-0.10.30/number/is-integer/is-implemented.js 0000664 0000000 0000000 00000000310 13150035453 0021746 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.30/number/is-integer/shim.js 0000664 0000000 0000000 00000000267 13150035453 0020005 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.30/number/is-nan/ 0000775 0000000 0000000 00000000000 13150035453 0015621 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/number/is-nan/implement.js 0000664 0000000 0000000 00000000267 13150035453 0020156 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.30/number/is-nan/index.js 0000664 0000000 0000000 00000000144 13150035453 0017265 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Number.isNaN
: require("./shim");
es5-ext-0.10.30/number/is-nan/is-implemented.js 0000664 0000000 0000000 00000000312 13150035453 0021067 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.30/number/is-nan/shim.js 0000664 0000000 0000000 00000000174 13150035453 0017121 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.30/number/is-natural.js 0000664 0000000 0000000 00000000204 13150035453 0017045 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.30/number/is-number.js 0000664 0000000 0000000 00000000410 13150035453 0016666 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.30/number/is-safe-integer/ 0000775 0000000 0000000 00000000000 13150035453 0017416 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/number/is-safe-integer/implement.js 0000664 0000000 0000000 00000000277 13150035453 0021754 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.30/number/is-safe-integer/index.js 0000664 0000000 0000000 00000000154 13150035453 0021063 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Number.isSafeInteger
: require("./shim");
es5-ext-0.10.30/number/is-safe-integer/is-implemented.js 0000664 0000000 0000000 00000000367 13150035453 0022676 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.30/number/is-safe-integer/shim.js 0000664 0000000 0000000 00000000357 13150035453 0020721 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.30/number/max-safe-integer/ 0000775 0000000 0000000 00000000000 13150035453 0017570 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/number/max-safe-integer/implement.js 0000664 0000000 0000000 00000000300 13150035453 0022111 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.30/number/max-safe-integer/index.js 0000664 0000000 0000000 00000000065 13150035453 0021236 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = Math.pow(2, 53) - 1;
es5-ext-0.10.30/number/max-safe-integer/is-implemented.js 0000664 0000000 0000000 00000000146 13150035453 0023043 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
return typeof Number.MAX_SAFE_INTEGER === "number";
};
es5-ext-0.10.30/number/min-safe-integer/ 0000775 0000000 0000000 00000000000 13150035453 0017566 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/number/min-safe-integer/implement.js 0000664 0000000 0000000 00000000300 13150035453 0022107 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.30/number/min-safe-integer/index.js 0000664 0000000 0000000 00000000070 13150035453 0021230 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = -(Math.pow(2, 53) - 1);
es5-ext-0.10.30/number/min-safe-integer/is-implemented.js 0000664 0000000 0000000 00000000146 13150035453 0023041 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function () {
return typeof Number.MIN_SAFE_INTEGER === "number";
};
es5-ext-0.10.30/number/to-integer.js 0000664 0000000 0000000 00000000427 13150035453 0017052 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.30/number/to-pos-integer.js 0000664 0000000 0000000 00000000226 13150035453 0017646 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.30/number/to-uint32.js 0000664 0000000 0000000 00000000163 13150035453 0016536 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.30/object/ 0000775 0000000 0000000 00000000000 13150035453 0014412 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/object/_iterate.js 0000664 0000000 0000000 00000002131 13150035453 0016541 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.30/object/assign/ 0000775 0000000 0000000 00000000000 13150035453 0015676 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/object/assign/implement.js 0000664 0000000 0000000 00000000270 13150035453 0020225 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.30/object/assign/index.js 0000664 0000000 0000000 00000000145 13150035453 0017343 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Object.assign
: require("./shim");
es5-ext-0.10.30/object/assign/is-implemented.js 0000664 0000000 0000000 00000000404 13150035453 0021146 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.30/object/assign/shim.js 0000664 0000000 0000000 00000000764 13150035453 0017203 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.30/object/clear.js 0000664 0000000 0000000 00000000414 13150035453 0016035 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.30/object/compact.js 0000664 0000000 0000000 00000000275 13150035453 0016402 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.30/object/compare.js 0000664 0000000 0000000 00000002100 13150035453 0016367 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.30/object/copy-deep.js 0000664 0000000 0000000 00000001703 13150035453 0016636 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
, copy
, copyItem;
copyItem = function (value) {
var index;
if (!isPlainObject(value) && !isArray(value)) return value;
index = this[0].indexOf(value);
if (index === -1) return copy.call(this, value);
return this[1][index];
};
copy = function (source) {
var target = isArray(source) ? [] : {};
this[0].push(source);
this[1].push(target);
if (isArray(source)) {
source.forEach(function (value, key) {
target[key] = copyItem.call(this, value, key);
}, this);
} else {
forEach(
source,
function (value, key) {
target[key] = copyItem.call(this, value, key);
},
this
);
}
return target;
};
module.exports = function (source) {
var obj = Object(ensureValue(source));
if (obj !== source) return obj;
return copy.call([[], []], obj);
};
es5-ext-0.10.30/object/copy.js 0000664 0000000 0000000 00000001072 13150035453 0015722 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.30/object/count.js 0000664 0000000 0000000 00000000156 13150035453 0016102 0 ustar 00root root 0000000 0000000 "use strict";
var keys = require("./keys");
module.exports = function (obj) {
return keys(obj).length;
};
es5-ext-0.10.30/object/create.js 0000664 0000000 0000000 00000002033 13150035453 0016211 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.30/object/ensure-array.js 0000664 0000000 0000000 00000000413 13150035453 0017363 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.30/object/ensure-finite-number.js 0000664 0000000 0000000 00000000450 13150035453 0021012 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.30/object/ensure-natural-number-value.js 0000664 0000000 0000000 00000000353 13150035453 0022316 0 ustar 00root root 0000000 0000000 "use strict";
var ensure = require("./ensure-natural-number")
, isValue = require("./is-value");
module.exports = function (arg) {
if (!isValue(arg)) throw new TypeError(arg + " is not a natural number");
return ensure(arg);
};
es5-ext-0.10.30/object/ensure-natural-number.js 0000664 0000000 0000000 00000000330 13150035453 0021177 0 ustar 00root root 0000000 0000000 "use strict";
var isNatural = require("../number/is-natural");
module.exports = function (arg) {
var num = Number(arg);
if (!isNatural(num)) throw new TypeError(arg + " is not a natural number");
return num;
};
es5-ext-0.10.30/object/ensure-promise.js 0000664 0000000 0000000 00000000373 13150035453 0017730 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 thenable");
return value;
};
es5-ext-0.10.30/object/eq.js 0000664 0000000 0000000 00000000245 13150035453 0015356 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.30/object/every.js 0000664 0000000 0000000 00000000106 13150035453 0016077 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./_iterate")("every", true);
es5-ext-0.10.30/object/filter.js 0000664 0000000 0000000 00000000637 13150035453 0016243 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.30/object/find-key.js 0000664 0000000 0000000 00000000132 13150035453 0016452 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./_iterate")(require("../array/#/find"), false);
es5-ext-0.10.30/object/find.js 0000664 0000000 0000000 00000000430 13150035453 0015665 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.30/object/first-key.js 0000664 0000000 0000000 00000000437 13150035453 0016671 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.30/object/flatten.js 0000664 0000000 0000000 00000000544 13150035453 0016410 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.30/object/for-each.js 0000664 0000000 0000000 00000000102 13150035453 0016425 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./_iterate")("forEach");
es5-ext-0.10.30/object/get-property-names.js 0000664 0000000 0000000 00000000753 13150035453 0020517 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.30/object/index.js 0000664 0000000 0000000 00000004201 13150035453 0016054 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
assign: require("./assign"),
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"),
ensureNaturalNumber: require("./ensure-natural-number"),
ensureNaturalNumberValue: require("./ensure-natural-number-value"),
ensurePromise: require("./ensure-promise"),
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"),
isNumberValue: require("./is-number-value"),
isObject: require("./is-object"),
isPlainObject: require("./is-plain-object"),
isPromise: require("./is-promise"),
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.30/object/is-array-like.js 0000664 0000000 0000000 00000001020 13150035453 0017412 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.30/object/is-callable.js 0000664 0000000 0000000 00000000146 13150035453 0017121 0 ustar 00root root 0000000 0000000 // Deprecated
"use strict";
module.exports = function (obj) {
return typeof obj === "function";
};
es5-ext-0.10.30/object/is-copy-deep.js 0000664 0000000 0000000 00000003046 13150035453 0017251 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.30/object/is-copy.js 0000664 0000000 0000000 00000001124 13150035453 0016331 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.30/object/is-empty.js 0000664 0000000 0000000 00000000467 13150035453 0016526 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.30/object/is-finite-number.js 0000664 0000000 0000000 00000000220 13150035453 0020117 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.30/object/is-number-value.js 0000664 0000000 0000000 00000000301 13150035453 0017755 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.30/object/is-object.js 0000664 0000000 0000000 00000000301 13150035453 0016621 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.30/object/is-plain-object.js 0000664 0000000 0000000 00000001120 13150035453 0017722 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.30/object/is-promise.js 0000664 0000000 0000000 00000000275 13150035453 0017043 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.30/object/is-value.js 0000664 0000000 0000000 00000000254 13150035453 0016476 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.30/object/is.js 0000664 0000000 0000000 00000000441 13150035453 0015362 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.30/object/key-of.js 0000664 0000000 0000000 00000000442 13150035453 0016142 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.30/object/keys/ 0000775 0000000 0000000 00000000000 13150035453 0015365 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/object/keys/implement.js 0000664 0000000 0000000 00000000266 13150035453 0017721 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.30/object/keys/index.js 0000664 0000000 0000000 00000000143 13150035453 0017030 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Object.keys
: require("./shim");
es5-ext-0.10.30/object/keys/is-implemented.js 0000664 0000000 0000000 00000000203 13150035453 0020632 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.30/object/keys/shim.js 0000664 0000000 0000000 00000000260 13150035453 0016661 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.30/object/map-keys.js 0000664 0000000 0000000 00000000630 13150035453 0016475 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.30/object/map.js 0000664 0000000 0000000 00000000613 13150035453 0015525 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.30/object/mixin-prototypes.js 0000664 0000000 0000000 00000002065 13150035453 0020325 0 ustar 00root root 0000000 0000000 "use strict";
var value = require("./valid-value")
, mixin = require("./mixin")
, defineProperty = Object.defineProperty
, getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor
, getOwnPropertyNames = Object.getOwnPropertyNames
, getPrototypeOf = Object.getPrototypeOf
, objHasOwnProperty = Object.prototype.hasOwnProperty;
module.exports = function (target, source) {
var error, end, define;
target = Object(value(target));
source = Object(value(source));
end = getPrototypeOf(target);
if (source === end) return target;
try {
mixin(target, source);
} catch (e) {
error = e;
}
source = getPrototypeOf(source);
define = function (name) {
if (objHasOwnProperty.call(target, name)) return;
try {
defineProperty(target, name, getOwnPropertyDescriptor(source, name));
} catch (e) {
error = e;
}
};
while (source && source !== end) {
getOwnPropertyNames(source).forEach(define);
source = getPrototypeOf(source);
}
if (error) throw error;
return target;
};
es5-ext-0.10.30/object/mixin.js 0000664 0000000 0000000 00000001557 13150035453 0016104 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.30/object/normalize-options.js 0000664 0000000 0000000 00000000725 13150035453 0020445 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.30/object/primitive-set.js 0000664 0000000 0000000 00000000427 13150035453 0017554 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.30/object/safe-traverse.js 0000664 0000000 0000000 00000000573 13150035453 0017524 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.30/object/serialize.js 0000664 0000000 0000000 00000002235 13150035453 0016741 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) + ":" + 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] = exports(arr[i]);
}
return result;
};
module.exports = 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.30/object/set-prototype-of/ 0000775 0000000 0000000 00000000000 13150035453 0017652 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/object/set-prototype-of/implement.js 0000664 0000000 0000000 00000000334 13150035453 0022202 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.30/object/set-prototype-of/index.js 0000664 0000000 0000000 00000000155 13150035453 0021320 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? Object.setPrototypeOf
: require("./shim");
es5-ext-0.10.30/object/set-prototype-of/is-implemented.js 0000664 0000000 0000000 00000000577 13150035453 0023135 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.30/object/set-prototype-of/shim.js 0000664 0000000 0000000 00000004231 13150035453 0021150 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")
, objIsPrototypOf = 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 = objIsPrototypOf.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.30/object/some.js 0000664 0000000 0000000 00000000106 13150035453 0015710 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./_iterate")("some", false);
es5-ext-0.10.30/object/to-array.js 0000664 0000000 0000000 00000001075 13150035453 0016511 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.30/object/unserialize.js 0000664 0000000 0000000 00000000300 13150035453 0017273 0 ustar 00root root 0000000 0000000 "use strict";
var value = require("./valid-value");
module.exports = exports = function (code) {
// eslint-disable-next-line no-new-func
return new Function("return " + value(code))();
};
es5-ext-0.10.30/object/valid-callable.js 0000664 0000000 0000000 00000000216 13150035453 0017603 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.30/object/valid-object.js 0000664 0000000 0000000 00000000266 13150035453 0017317 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.30/object/valid-value.js 0000664 0000000 0000000 00000000266 13150035453 0017165 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.30/object/validate-array-like-object.js 0000664 0000000 0000000 00000000371 13150035453 0022044 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.30/object/validate-array-like.js 0000664 0000000 0000000 00000000276 13150035453 0020604 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.30/object/validate-stringifiable-value.js 0000664 0000000 0000000 00000000310 13150035453 0022465 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.30/object/validate-stringifiable.js 0000664 0000000 0000000 00000000476 13150035453 0021370 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.30/optional-chaining.js 0000664 0000000 0000000 00000000660 13150035453 0017107 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.30/package.json 0000664 0000000 0000000 00000001720 13150035453 0015432 0 ustar 00root root 0000000 0000000 {
"name": "es5-ext",
"version": "0.10.30",
"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": {
"type": "git",
"url": "git://github.com/medikoo/es5-ext.git"
},
"dependencies": {
"es6-iterator": "2",
"es6-symbol": "~3.1"
},
"devDependencies": {
"eslint": "^4.2.0",
"eslint-config-medikoo-es5": "^1.4.1",
"tad": "~0.2.7"
},
"eslintConfig": {
"extends": "medikoo-es5",
"root": true,
"rules": {
"no-extend-native": "off"
}
},
"scripts": {
"lint": "eslint --ignore-path=.gitignore .",
"test": "node ./node_modules/tad/bin/tad"
},
"license": "MIT"
}
es5-ext-0.10.30/reg-exp/ 0000775 0000000 0000000 00000000000 13150035453 0014513 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/reg-exp/#/ 0000775 0000000 0000000 00000000000 13150035453 0014635 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/reg-exp/#/index.js 0000664 0000000 0000000 00000000342 13150035453 0016301 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.30/reg-exp/#/is-sticky.js 0000664 0000000 0000000 00000000266 13150035453 0017116 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.30/reg-exp/#/is-unicode.js 0000664 0000000 0000000 00000000266 13150035453 0017236 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.30/reg-exp/#/match/ 0000775 0000000 0000000 00000000000 13150035453 0015731 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/reg-exp/#/match/implement.js 0000664 0000000 0000000 00000000301 13150035453 0020253 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.30/reg-exp/#/match/index.js 0000664 0000000 0000000 00000000156 13150035453 0017400 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? RegExp.prototype.match
: require("./shim");
es5-ext-0.10.30/reg-exp/#/match/is-implemented.js 0000664 0000000 0000000 00000000250 13150035453 0021200 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.30/reg-exp/#/match/shim.js 0000664 0000000 0000000 00000000242 13150035453 0017225 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.30/reg-exp/#/replace/ 0000775 0000000 0000000 00000000000 13150035453 0016250 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/reg-exp/#/replace/implement.js 0000664 0000000 0000000 00000000303 13150035453 0020574 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.30/reg-exp/#/replace/index.js 0000664 0000000 0000000 00000000160 13150035453 0017712 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? RegExp.prototype.replace
: require("./shim");
es5-ext-0.10.30/reg-exp/#/replace/is-implemented.js 0000664 0000000 0000000 00000000251 13150035453 0021520 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.30/reg-exp/#/replace/shim.js 0000664 0000000 0000000 00000000300 13150035453 0017537 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.30/reg-exp/#/search/ 0000775 0000000 0000000 00000000000 13150035453 0016102 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/reg-exp/#/search/implement.js 0000664 0000000 0000000 00000000302 13150035453 0020425 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.30/reg-exp/#/search/index.js 0000664 0000000 0000000 00000000157 13150035453 0017552 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? RegExp.prototype.search
: require("./shim");
es5-ext-0.10.30/reg-exp/#/search/is-implemented.js 0000664 0000000 0000000 00000000231 13150035453 0021350 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.30/reg-exp/#/search/shim.js 0000664 0000000 0000000 00000000243 13150035453 0017377 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.30/reg-exp/#/split/ 0000775 0000000 0000000 00000000000 13150035453 0015770 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/reg-exp/#/split/implement.js 0000664 0000000 0000000 00000000301 13150035453 0020312 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.30/reg-exp/#/split/index.js 0000664 0000000 0000000 00000000156 13150035453 0017437 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? RegExp.prototype.split
: require("./shim");
es5-ext-0.10.30/reg-exp/#/split/is-implemented.js 0000664 0000000 0000000 00000000236 13150035453 0021243 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.30/reg-exp/#/split/shim.js 0000664 0000000 0000000 00000000242 13150035453 0017264 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.30/reg-exp/#/sticky/ 0000775 0000000 0000000 00000000000 13150035453 0016143 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/reg-exp/#/sticky/implement.js 0000664 0000000 0000000 00000000320 13150035453 0020466 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.30/reg-exp/#/sticky/is-implemented.js 0000664 0000000 0000000 00000000530 13150035453 0021413 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.30/reg-exp/#/unicode/ 0000775 0000000 0000000 00000000000 13150035453 0016263 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/reg-exp/#/unicode/implement.js 0000664 0000000 0000000 00000000324 13150035453 0020612 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.30/reg-exp/#/unicode/is-implemented.js 0000664 0000000 0000000 00000000531 13150035453 0021534 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.30/reg-exp/escape.js 0000664 0000000 0000000 00000000377 13150035453 0016320 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.30/reg-exp/index.js 0000664 0000000 0000000 00000000254 13150035453 0016161 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.30/reg-exp/is-reg-exp.js 0000664 0000000 0000000 00000000331 13150035453 0017026 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.30/reg-exp/valid-reg-exp.js 0000664 0000000 0000000 00000000275 13150035453 0017521 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.30/safe-to-string.js 0000664 0000000 0000000 00000000404 13150035453 0016342 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.30/string/ 0000775 0000000 0000000 00000000000 13150035453 0014452 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/string/#/ 0000775 0000000 0000000 00000000000 13150035453 0014574 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/string/#/@@iterator/ 0000775 0000000 0000000 00000000000 13150035453 0016625 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/string/#/@@iterator/implement.js 0000664 0000000 0000000 00000000330 13150035453 0021151 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.30/string/#/@@iterator/index.js 0000664 0000000 0000000 00000000207 13150035453 0020271 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.30/string/#/@@iterator/is-implemented.js 0000664 0000000 0000000 00000000737 13150035453 0022106 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.30/string/#/@@iterator/shim.js 0000664 0000000 0000000 00000000314 13150035453 0020121 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.30/string/#/at.js 0000664 0000000 0000000 00000002060 13150035453 0015534 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.30/string/#/camel-to-hyphen.js 0000664 0000000 0000000 00000000334 13150035453 0020124 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.30/string/#/capitalize.js 0000664 0000000 0000000 00000000267 13150035453 0017264 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.30/string/#/case-insensitive-compare.js 0000664 0000000 0000000 00000000266 13150035453 0022033 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.30/string/#/code-point-at/ 0000775 0000000 0000000 00000000000 13150035453 0017237 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/string/#/code-point-at/implement.js 0000664 0000000 0000000 00000000312 13150035453 0021563 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.30/string/#/code-point-at/index.js 0000664 0000000 0000000 00000000164 13150035453 0020705 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? String.prototype.codePointAt
: require("./shim");
es5-ext-0.10.30/string/#/code-point-at/is-implemented.js 0000664 0000000 0000000 00000000264 13150035453 0022513 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.30/string/#/code-point-at/shim.js 0000664 0000000 0000000 00000001462 13150035453 0020540 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.30/string/#/contains/ 0000775 0000000 0000000 00000000000 13150035453 0016412 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/string/#/contains/implement.js 0000664 0000000 0000000 00000000307 13150035453 0020742 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.30/string/#/contains/index.js 0000664 0000000 0000000 00000000161 13150035453 0020055 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? String.prototype.contains
: require("./shim");
es5-ext-0.10.30/string/#/contains/is-implemented.js 0000664 0000000 0000000 00000000314 13150035453 0021662 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.30/string/#/contains/shim.js 0000664 0000000 0000000 00000000261 13150035453 0017707 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.30/string/#/count.js 0000664 0000000 0000000 00000000617 13150035453 0016266 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.30/string/#/ends-with/ 0000775 0000000 0000000 00000000000 13150035453 0016476 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/string/#/ends-with/implement.js 0000664 0000000 0000000 00000000307 13150035453 0021026 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.30/string/#/ends-with/index.js 0000664 0000000 0000000 00000000161 13150035453 0020141 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? String.prototype.endsWith
: require("./shim");
es5-ext-0.10.30/string/#/ends-with/is-implemented.js 0000664 0000000 0000000 00000000315 13150035453 0021747 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.30/string/#/ends-with/shim.js 0000664 0000000 0000000 00000001124 13150035453 0017772 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.30/string/#/hyphen-to-camel.js 0000664 0000000 0000000 00000000342 13150035453 0020123 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.30/string/#/indent.js 0000664 0000000 0000000 00000000644 13150035453 0016417 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.30/string/#/index.js 0000664 0000000 0000000 00000001423 13150035453 0016241 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.30/string/#/last.js 0000664 0000000 0000000 00000000304 13150035453 0016072 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.30/string/#/normalize/ 0000775 0000000 0000000 00000000000 13150035453 0016574 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/string/#/normalize/_data.js 0000664 0000000 0000000 00000550103 13150035453 0020206 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.30/string/#/normalize/implement.js 0000664 0000000 0000000 00000000310 13150035453 0021116 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.30/string/#/normalize/index.js 0000664 0000000 0000000 00000000162 13150035453 0020240 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? String.prototype.normalize
: require("./shim");
es5-ext-0.10.30/string/#/normalize/is-implemented.js 0000664 0000000 0000000 00000000272 13150035453 0022047 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.30/string/#/normalize/shim.js 0000664 0000000 0000000 00000020107 13150035453 0020072 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.30/string/#/pad.js 0000664 0000000 0000000 00000001102 13150035453 0015670 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.30/string/#/plain-replace-all.js 0000664 0000000 0000000 00000000643 13150035453 0020417 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.30/string/#/plain-replace.js 0000664 0000000 0000000 00000000474 13150035453 0017653 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.30/string/#/repeat/ 0000775 0000000 0000000 00000000000 13150035453 0016054 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/string/#/repeat/implement.js 0000664 0000000 0000000 00000000305 13150035453 0020402 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.30/string/#/repeat/index.js 0000664 0000000 0000000 00000000157 13150035453 0017524 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? String.prototype.repeat
: require("./shim");
es5-ext-0.10.30/string/#/repeat/is-implemented.js 0000664 0000000 0000000 00000000234 13150035453 0021325 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.30/string/#/repeat/shim.js 0000664 0000000 0000000 00000001307 13150035453 0017353 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.30/string/#/starts-with/ 0000775 0000000 0000000 00000000000 13150035453 0017065 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/string/#/starts-with/implement.js 0000664 0000000 0000000 00000000311 13150035453 0021410 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.30/string/#/starts-with/index.js 0000664 0000000 0000000 00000000163 13150035453 0020532 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? String.prototype.startsWith
: require("./shim");
es5-ext-0.10.30/string/#/starts-with/is-implemented.js 0000664 0000000 0000000 00000000325 13150035453 0022337 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.30/string/#/starts-with/shim.js 0000664 0000000 0000000 00000000567 13150035453 0020373 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.30/string/#/uncapitalize.js 0000664 0000000 0000000 00000000334 13150035453 0017622 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.30/string/format-method.js 0000664 0000000 0000000 00000001304 13150035453 0017554 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.30/string/from-code-point/ 0000775 0000000 0000000 00000000000 13150035453 0017454 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/string/from-code-point/implement.js 0000664 0000000 0000000 00000000277 13150035453 0022012 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.30/string/from-code-point/index.js 0000664 0000000 0000000 00000000154 13150035453 0021121 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? String.fromCodePoint
: require("./shim");
es5-ext-0.10.30/string/from-code-point/is-implemented.js 0000664 0000000 0000000 00000000343 13150035453 0022726 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.30/string/from-code-point/shim.js 0000664 0000000 0000000 00000002031 13150035453 0020746 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.30/string/index.js 0000664 0000000 0000000 00000000377 13150035453 0016126 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = {
"#": require("./#"),
"formatMethod": require("./format-method"),
"fromCodePoint": require("./from-code-point"),
"isString": require("./is-string"),
"randomUniq": require("./random-uniq"),
"raw": require("./raw")
};
es5-ext-0.10.30/string/is-string.js 0000664 0000000 0000000 00000000443 13150035453 0016730 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.30/string/random-uniq.js 0000664 0000000 0000000 00000000317 13150035453 0017243 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.30/string/raw/ 0000775 0000000 0000000 00000000000 13150035453 0015243 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/string/raw/implement.js 0000664 0000000 0000000 00000000265 13150035453 0017576 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.30/string/raw/index.js 0000664 0000000 0000000 00000000142 13150035453 0016705 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./is-implemented")()
? String.raw
: require("./shim");
es5-ext-0.10.30/string/raw/is-implemented.js 0000664 0000000 0000000 00000000403 13150035453 0020512 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.30/string/raw/shim.js 0000664 0000000 0000000 00000000731 13150035453 0016542 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.30/test/ 0000775 0000000 0000000 00000000000 13150035453 0014123 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/.eslintrc.json 0000664 0000000 0000000 00000000331 13150035453 0016714 0 ustar 00root root 0000000 0000000 {
"globals": {
"Symbol": true
},
"rules": {
"consistent-this": "off",
"id-length": "off",
"no-empty-function": "off",
"no-new-wrappers": "off",
"no-prototype-builtins": "off",
"no-shadow": "off"
}
}
es5-ext-0.10.30/test/__tad.js 0000664 0000000 0000000 00000000047 13150035453 0015530 0 ustar 00root root 0000000 0000000 "use strict";
exports.context = null;
es5-ext-0.10.30/test/array/ 0000775 0000000 0000000 00000000000 13150035453 0015241 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/array/#/ 0000775 0000000 0000000 00000000000 13150035453 0015363 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/array/#/@@iterator/ 0000775 0000000 0000000 00000000000 13150035453 0017414 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/array/#/@@iterator/implement.js 0000664 0000000 0000000 00000000234 13150035453 0021743 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.30/test/array/#/@@iterator/index.js 0000664 0000000 0000000 00000000063 13150035453 0021060 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/array/#/@@iterator/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022657 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/array/#/@@iterator/shim.js 0000664 0000000 0000000 00000000467 13150035453 0020721 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.30/test/array/#/_compare-by-length.js 0000664 0000000 0000000 00000000306 13150035453 0021374 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.30/test/array/#/binary-search.js 0000664 0000000 0000000 00000000674 13150035453 0020457 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.30/test/array/#/clear.js 0000664 0000000 0000000 00000000236 13150035453 0017010 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.30/test/array/#/compact.js 0000664 0000000 0000000 00000000562 13150035453 0017352 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.30/test/array/#/concat/ 0000775 0000000 0000000 00000000000 13150035453 0016632 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/array/#/concat/implement.js 0000664 0000000 0000000 00000000230 13150035453 0021155 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.30/test/array/#/concat/index.js 0000664 0000000 0000000 00000000063 13150035453 0020276 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/array/#/concat/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022075 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/array/#/concat/shim.js 0000664 0000000 0000000 00000001644 13150035453 0020135 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.30/test/array/#/contains.js 0000664 0000000 0000000 00000001041 13150035453 0017533 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.30/test/array/#/copy-within/ 0000775 0000000 0000000 00000000000 13150035453 0017635 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/array/#/copy-within/implement.js 0000664 0000000 0000000 00000000235 13150035453 0022165 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.30/test/array/#/copy-within/index.js 0000664 0000000 0000000 00000000063 13150035453 0021301 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/array/#/copy-within/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0023100 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/array/#/copy-within/shim.js 0000664 0000000 0000000 00000001724 13150035453 0021137 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.30/test/array/#/diff.js 0000664 0000000 0000000 00000000710 13150035453 0016627 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.30/test/array/#/e-index-of.js 0000664 0000000 0000000 00000001052 13150035453 0017652 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.30/test/array/#/e-last-index-of.js 0000664 0000000 0000000 00000000736 13150035453 0020623 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.30/test/array/#/entries/ 0000775 0000000 0000000 00000000000 13150035453 0017034 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/array/#/entries/implement.js 0000664 0000000 0000000 00000000231 13150035453 0021360 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.30/test/array/#/entries/index.js 0000664 0000000 0000000 00000000063 13150035453 0020500 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/array/#/entries/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022277 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/array/#/entries/shim.js 0000664 0000000 0000000 00000000506 13150035453 0020333 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.30/test/array/#/exclusion.js 0000664 0000000 0000000 00000000570 13150035453 0017734 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.30/test/array/#/fill/ 0000775 0000000 0000000 00000000000 13150035453 0016311 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/array/#/fill/implement.js 0000664 0000000 0000000 00000000226 13150035453 0020641 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.30/test/array/#/fill/index.js 0000664 0000000 0000000 00000000063 13150035453 0017755 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/array/#/fill/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021554 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/array/#/fill/shim.js 0000664 0000000 0000000 00000001003 13150035453 0017601 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.30/test/array/#/filter/ 0000775 0000000 0000000 00000000000 13150035453 0016650 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/array/#/filter/implement.js 0000664 0000000 0000000 00000000230 13150035453 0021173 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.30/test/array/#/filter/index.js 0000664 0000000 0000000 00000000063 13150035453 0020314 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/array/#/filter/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022113 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/array/#/filter/shim.js 0000664 0000000 0000000 00000000760 13150035453 0020151 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.30/test/array/#/find-index/ 0000775 0000000 0000000 00000000000 13150035453 0017410 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/array/#/find-index/implement.js 0000664 0000000 0000000 00000000234 13150035453 0021737 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.30/test/array/#/find-index/index.js 0000664 0000000 0000000 00000000063 13150035453 0021054 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/array/#/find-index/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022653 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/array/#/find-index/shim.js 0000664 0000000 0000000 00000000612 13150035453 0020705 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.30/test/array/#/find/ 0000775 0000000 0000000 00000000000 13150035453 0016303 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/array/#/find/implement.js 0000664 0000000 0000000 00000000226 13150035453 0020633 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.30/test/array/#/find/index.js 0000664 0000000 0000000 00000000063 13150035453 0017747 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/array/#/find/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021546 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/array/#/find/shim.js 0000664 0000000 0000000 00000000627 13150035453 0017606 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.30/test/array/#/first-index.js 0000664 0000000 0000000 00000000646 13150035453 0020163 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.30/test/array/#/first.js 0000664 0000000 0000000 00000000436 13150035453 0017053 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.30/test/array/#/flatten.js 0000664 0000000 0000000 00000000510 13150035453 0017352 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.30/test/array/#/for-each-right.js 0000664 0000000 0000000 00000001600 13150035453 0020515 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.30/test/array/#/group.js 0000664 0000000 0000000 00000001046 13150035453 0017056 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.30/test/array/#/indexes-of.js 0000664 0000000 0000000 00000000616 13150035453 0017765 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.30/test/array/#/intersection.js 0000664 0000000 0000000 00000001303 13150035453 0020424 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.30/test/array/#/is-copy.js 0000664 0000000 0000000 00000000724 13150035453 0017307 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.30/test/array/#/is-empty.js 0000664 0000000 0000000 00000000300 13150035453 0017461 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.30/test/array/#/is-uniq.js 0000664 0000000 0000000 00000000536 13150035453 0017312 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.30/test/array/#/keys/ 0000775 0000000 0000000 00000000000 13150035453 0016336 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/array/#/keys/implement.js 0000664 0000000 0000000 00000000226 13150035453 0020666 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.30/test/array/#/keys/index.js 0000664 0000000 0000000 00000000063 13150035453 0020002 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/array/#/keys/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021601 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/array/#/keys/shim.js 0000664 0000000 0000000 00000000461 13150035453 0017635 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.30/test/array/#/last-index.js 0000664 0000000 0000000 00000000646 13150035453 0017777 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.30/test/array/#/last.js 0000664 0000000 0000000 00000000473 13150035453 0016670 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.30/test/array/#/map/ 0000775 0000000 0000000 00000000000 13150035453 0016140 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/array/#/map/implement.js 0000664 0000000 0000000 00000000225 13150035453 0020467 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.30/test/array/#/map/index.js 0000664 0000000 0000000 00000000063 13150035453 0017604 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/array/#/map/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021403 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/array/#/map/shim.js 0000664 0000000 0000000 00000001060 13150035453 0017433 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.30/test/array/#/remove.js 0000664 0000000 0000000 00000000546 13150035453 0017223 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.30/test/array/#/separate.js 0000664 0000000 0000000 00000000656 13150035453 0017534 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.30/test/array/#/slice/ 0000775 0000000 0000000 00000000000 13150035453 0016462 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/array/#/slice/implement.js 0000664 0000000 0000000 00000000227 13150035453 0021013 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.30/test/array/#/slice/index.js 0000664 0000000 0000000 00000000063 13150035453 0020126 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/array/#/slice/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021725 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/array/#/slice/shim.js 0000664 0000000 0000000 00000000742 13150035453 0017763 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.30/test/array/#/some-right.js 0000664 0000000 0000000 00000002132 13150035453 0017775 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.30/test/array/#/splice/ 0000775 0000000 0000000 00000000000 13150035453 0016642 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/array/#/splice/implement.js 0000664 0000000 0000000 00000000230 13150035453 0021165 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.30/test/array/#/splice/index.js 0000664 0000000 0000000 00000000063 13150035453 0020306 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/array/#/splice/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022105 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/array/#/splice/shim.js 0000664 0000000 0000000 00000001220 13150035453 0020133 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.30/test/array/#/uniq.js 0000664 0000000 0000000 00000000526 13150035453 0016700 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.30/test/array/#/values/ 0000775 0000000 0000000 00000000000 13150035453 0016662 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/array/#/values/implement.js 0000664 0000000 0000000 00000000230 13150035453 0021205 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.30/test/array/#/values/index.js 0000664 0000000 0000000 00000000063 13150035453 0020326 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/array/#/values/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022125 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/array/#/values/shim.js 0000664 0000000 0000000 00000000467 13150035453 0020167 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.30/test/array/__scopes.js 0000664 0000000 0000000 00000000324 13150035453 0017370 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.30/test/array/_is-extensible.js 0000664 0000000 0000000 00000000116 13150035453 0020507 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t, "boolean");
};
es5-ext-0.10.30/test/array/_sub-array-dummy-safe.js 0000664 0000000 0000000 00000000176 13150035453 0021714 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.30/test/array/_sub-array-dummy.js 0000664 0000000 0000000 00000000176 13150035453 0021000 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.30/test/array/from/ 0000775 0000000 0000000 00000000000 13150035453 0016204 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/array/from/implement.js 0000664 0000000 0000000 00000000221 13150035453 0020527 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.30/test/array/from/index.js 0000664 0000000 0000000 00000000063 13150035453 0017650 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/array/from/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021447 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/array/from/shim.js 0000664 0000000 0000000 00000005123 13150035453 0017503 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.30/test/array/generate.js 0000664 0000000 0000000 00000000540 13150035453 0017370 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.30/test/array/is-plain-array.js 0000664 0000000 0000000 00000001043 13150035453 0020425 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.30/test/array/of/ 0000775 0000000 0000000 00000000000 13150035453 0015645 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/array/of/implement.js 0000664 0000000 0000000 00000000217 13150035453 0020175 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.30/test/array/of/index.js 0000664 0000000 0000000 00000000063 13150035453 0017311 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/array/of/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021110 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/array/of/shim.js 0000664 0000000 0000000 00000005273 13150035453 0017152 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.30/test/array/to-array.js 0000664 0000000 0000000 00000000637 13150035453 0017343 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.30/test/array/valid-array.js 0000664 0000000 0000000 00000001103 13150035453 0020005 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.30/test/boolean/ 0000775 0000000 0000000 00000000000 13150035453 0015542 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/boolean/is-boolean.js 0000664 0000000 0000000 00000000542 13150035453 0020131 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.30/test/date/ 0000775 0000000 0000000 00000000000 13150035453 0015040 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/date/#/ 0000775 0000000 0000000 00000000000 13150035453 0015162 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/date/#/copy.js 0000664 0000000 0000000 00000000337 13150035453 0016475 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.30/test/date/#/days-in-month.js 0000664 0000000 0000000 00000001262 13150035453 0020210 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.30/test/date/#/floor-day.js 0000664 0000000 0000000 00000000224 13150035453 0017412 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.30/test/date/#/floor-month.js 0000664 0000000 0000000 00000000225 13150035453 0017763 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.30/test/date/#/floor-year.js 0000664 0000000 0000000 00000000225 13150035453 0017576 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.30/test/date/#/format.js 0000664 0000000 0000000 00000000257 13150035453 0017014 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.30/test/date/is-date.js 0000664 0000000 0000000 00000000405 13150035453 0016723 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.30/test/date/valid-date.js 0000664 0000000 0000000 00000000354 13150035453 0017412 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.30/test/error/ 0000775 0000000 0000000 00000000000 13150035453 0015254 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/error/#/ 0000775 0000000 0000000 00000000000 13150035453 0015376 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/error/#/throw.js 0000664 0000000 0000000 00000000176 13150035453 0017103 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.30/test/error/custom.js 0000664 0000000 0000000 00000000640 13150035453 0017124 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.30/test/error/is-error.js 0000664 0000000 0000000 00000001027 13150035453 0017354 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.30/test/error/valid-error.js 0000664 0000000 0000000 00000000220 13150035453 0020032 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.30/test/function/ 0000775 0000000 0000000 00000000000 13150035453 0015750 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/function/#/ 0000775 0000000 0000000 00000000000 13150035453 0016072 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/function/#/compose.js 0000664 0000000 0000000 00000000502 13150035453 0020072 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]);
};
es5-ext-0.10.30/test/function/#/copy.js 0000664 0000000 0000000 00000001001 13150035453 0017372 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.30/test/function/#/curry.js 0000664 0000000 0000000 00000000763 13150035453 0017602 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.30/test/function/#/lock.js 0000664 0000000 0000000 00000000172 13150035453 0017360 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.30/test/function/#/not.js 0000664 0000000 0000000 00000000507 13150035453 0017232 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.30/test/function/#/partial.js 0000664 0000000 0000000 00000000305 13150035453 0020062 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.30/test/function/#/spread.js 0000664 0000000 0000000 00000000253 13150035453 0017706 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.30/test/function/#/to-string-tokens.js 0000664 0000000 0000000 00000001531 13150035453 0021657 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: "\n\t\t\treturn this[a] + this[b];\n\t\t" }
);
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: "\n\t\t\tObject();\n\t\t" }
);
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.30/test/function/_define-length.js 0000664 0000000 0000000 00000000512 13150035453 0021154 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.30/test/function/constant.js 0000664 0000000 0000000 00000000121 13150035453 0020131 0 ustar 00root root 0000000 0000000 "use strict";
var o = {};
module.exports = function (t, a) {
a(t(o)(), o);
};
es5-ext-0.10.30/test/function/identity.js 0000664 0000000 0000000 00000000117 13150035453 0020136 0 ustar 00root root 0000000 0000000 "use strict";
var o = {};
module.exports = function (t, a) {
a(t(o), o);
};
es5-ext-0.10.30/test/function/invoke.js 0000664 0000000 0000000 00000000233 13150035453 0017577 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.30/test/function/is-arguments.js 0000664 0000000 0000000 00000000440 13150035453 0020722 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.30/test/function/is-function.js 0000664 0000000 0000000 00000000350 13150035453 0020542 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");
};
es5-ext-0.10.30/test/function/noop.js 0000664 0000000 0000000 00000000131 13150035453 0017254 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(1, 2, 3), "undefined");
};
es5-ext-0.10.30/test/function/pluck.js 0000664 0000000 0000000 00000000146 13150035453 0017425 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.30/test/function/valid-function.js 0000664 0000000 0000000 00000000604 13150035453 0021230 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.30/test/global.js 0000664 0000000 0000000 00000000170 13150035453 0015717 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a.ok(t && typeof t === "object");
a(typeof t.Array, "function");
};
es5-ext-0.10.30/test/iterable/ 0000775 0000000 0000000 00000000000 13150035453 0015712 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/iterable/for-each.js 0000664 0000000 0000000 00000002402 13150035453 0017732 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.30/test/iterable/is.js 0000664 0000000 0000000 00000001053 13150035453 0016662 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.30/test/iterable/validate-object.js 0000664 0000000 0000000 00000001312 13150035453 0021302 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.30/test/iterable/validate.js 0000664 0000000 0000000 00000001246 13150035453 0020044 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.30/test/json/ 0000775 0000000 0000000 00000000000 13150035453 0015074 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/json/safe-stringify.js 0000664 0000000 0000000 00000001062 13150035453 0020363 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.30/test/math/ 0000775 0000000 0000000 00000000000 13150035453 0015054 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/_pack-ieee754.js 0000664 0000000 0000000 00000000143 13150035453 0017632 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.30/test/math/_unpack-ieee754.js 0000664 0000000 0000000 00000000160 13150035453 0020174 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.30/test/math/acosh/ 0000775 0000000 0000000 00000000000 13150035453 0016151 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/acosh/implement.js 0000664 0000000 0000000 00000000221 13150035453 0020474 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.30/test/math/acosh/index.js 0000664 0000000 0000000 00000000063 13150035453 0017615 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/math/acosh/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021414 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/math/acosh/shim.js 0000664 0000000 0000000 00000000373 13150035453 0017452 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.30/test/math/asinh/ 0000775 0000000 0000000 00000000000 13150035453 0016156 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/asinh/implement.js 0000664 0000000 0000000 00000000221 13150035453 0020501 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.30/test/math/asinh/index.js 0000664 0000000 0000000 00000000063 13150035453 0017622 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/math/asinh/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021421 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/math/asinh/shim.js 0000664 0000000 0000000 00000000410 13150035453 0017447 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.30/test/math/atanh/ 0000775 0000000 0000000 00000000000 13150035453 0016147 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/atanh/implement.js 0000664 0000000 0000000 00000000221 13150035453 0020472 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.30/test/math/atanh/index.js 0000664 0000000 0000000 00000000063 13150035453 0017613 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/math/atanh/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021412 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/math/atanh/shim.js 0000664 0000000 0000000 00000000420 13150035453 0017441 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.30/test/math/cbrt/ 0000775 0000000 0000000 00000000000 13150035453 0016006 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/cbrt/implement.js 0000664 0000000 0000000 00000000220 13150035453 0020330 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.30/test/math/cbrt/index.js 0000664 0000000 0000000 00000000063 13150035453 0017452 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/math/cbrt/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021251 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/math/cbrt/shim.js 0000664 0000000 0000000 00000000400 13150035453 0017276 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.30/test/math/clz32/ 0000775 0000000 0000000 00000000000 13150035453 0016011 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/clz32/implement.js 0000664 0000000 0000000 00000000221 13150035453 0020334 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.30/test/math/clz32/index.js 0000664 0000000 0000000 00000000063 13150035453 0017455 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/math/clz32/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021254 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/math/clz32/shim.js 0000664 0000000 0000000 00000000423 13150035453 0017306 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.30/test/math/cosh/ 0000775 0000000 0000000 00000000000 13150035453 0016010 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/cosh/implement.js 0000664 0000000 0000000 00000000220 13150035453 0020332 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.30/test/math/cosh/index.js 0000664 0000000 0000000 00000000063 13150035453 0017454 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/math/cosh/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021253 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/math/cosh/shim.js 0000664 0000000 0000000 00000000524 13150035453 0017307 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.30/test/math/expm1/ 0000775 0000000 0000000 00000000000 13150035453 0016106 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/expm1/implement.js 0000664 0000000 0000000 00000000221 13150035453 0020431 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.30/test/math/expm1/index.js 0000664 0000000 0000000 00000000063 13150035453 0017552 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/math/expm1/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021351 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/math/expm1/shim.js 0000664 0000000 0000000 00000000333 13150035453 0017403 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.30/test/math/fround/ 0000775 0000000 0000000 00000000000 13150035453 0016351 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/fround/implement.js 0000664 0000000 0000000 00000000222 13150035453 0020675 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.30/test/math/fround/index.js 0000664 0000000 0000000 00000000063 13150035453 0020015 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/math/fround/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021614 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/math/fround/shim.js 0000664 0000000 0000000 00000000331 13150035453 0017644 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.30/test/math/hypot/ 0000775 0000000 0000000 00000000000 13150035453 0016217 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/hypot/implement.js 0000664 0000000 0000000 00000000221 13150035453 0020542 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.30/test/math/hypot/index.js 0000664 0000000 0000000 00000000063 13150035453 0017663 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/math/hypot/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021462 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/math/hypot/shim.js 0000664 0000000 0000000 00000000454 13150035453 0017520 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.30/test/math/imul/ 0000775 0000000 0000000 00000000000 13150035453 0016022 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/imul/implement.js 0000664 0000000 0000000 00000000220 13150035453 0020344 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.30/test/math/imul/index.js 0000664 0000000 0000000 00000000063 13150035453 0017466 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/math/imul/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021265 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/math/imul/shim.js 0000664 0000000 0000000 00000000271 13150035453 0017320 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.30/test/math/log10/ 0000775 0000000 0000000 00000000000 13150035453 0015776 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/log10/implement.js 0000664 0000000 0000000 00000000221 13150035453 0020321 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.30/test/math/log10/index.js 0000664 0000000 0000000 00000000063 13150035453 0017442 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/math/log10/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021241 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/math/log10/shim.js 0000664 0000000 0000000 00000000347 13150035453 0017300 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.30/test/math/log1p/ 0000775 0000000 0000000 00000000000 13150035453 0016076 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/log1p/implement.js 0000664 0000000 0000000 00000000221 13150035453 0020421 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.30/test/math/log1p/index.js 0000664 0000000 0000000 00000000063 13150035453 0017542 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/math/log1p/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021341 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/math/log1p/shim.js 0000664 0000000 0000000 00000000352 13150035453 0017374 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.30/test/math/log2/ 0000775 0000000 0000000 00000000000 13150035453 0015717 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/log2/implement.js 0000664 0000000 0000000 00000000220 13150035453 0020241 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.30/test/math/log2/index.js 0000664 0000000 0000000 00000000063 13150035453 0017363 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/math/log2/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021162 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/math/log2/shim.js 0000664 0000000 0000000 00000000364 13150035453 0017220 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.30/test/math/sign/ 0000775 0000000 0000000 00000000000 13150035453 0016014 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/sign/implement.js 0000664 0000000 0000000 00000000220 13150035453 0020336 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.30/test/math/sign/index.js 0000664 0000000 0000000 00000000063 13150035453 0017460 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/math/sign/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021257 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/math/sign/shim.js 0000664 0000000 0000000 00000000374 13150035453 0017316 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.30/test/math/sinh/ 0000775 0000000 0000000 00000000000 13150035453 0016015 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/sinh/implement.js 0000664 0000000 0000000 00000000220 13150035453 0020337 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.30/test/math/sinh/index.js 0000664 0000000 0000000 00000000063 13150035453 0017461 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/math/sinh/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021260 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/math/sinh/shim.js 0000664 0000000 0000000 00000000541 13150035453 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), 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.30/test/math/tanh/ 0000775 0000000 0000000 00000000000 13150035453 0016006 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/tanh/implement.js 0000664 0000000 0000000 00000000220 13150035453 0020330 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.30/test/math/tanh/index.js 0000664 0000000 0000000 00000000063 13150035453 0017452 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/math/tanh/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021251 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/math/tanh/shim.js 0000664 0000000 0000000 00000000401 13150035453 0017277 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.30/test/math/trunc/ 0000775 0000000 0000000 00000000000 13150035453 0016207 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/math/trunc/implement.js 0000664 0000000 0000000 00000000221 13150035453 0020532 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.30/test/math/trunc/index.js 0000664 0000000 0000000 00000000063 13150035453 0017653 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/math/trunc/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021452 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/math/trunc/shim.js 0000664 0000000 0000000 00000000642 13150035453 0017507 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.30/test/number/ 0000775 0000000 0000000 00000000000 13150035453 0015413 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/number/#/ 0000775 0000000 0000000 00000000000 13150035453 0015535 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/number/#/pad.js 0000664 0000000 0000000 00000000274 13150035453 0016642 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.30/test/number/epsilon/ 0000775 0000000 0000000 00000000000 13150035453 0017064 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/number/epsilon/implement.js 0000664 0000000 0000000 00000000225 13150035453 0021413 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.30/test/number/epsilon/index.js 0000664 0000000 0000000 00000000115 13150035453 0020526 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t, "number");
};
es5-ext-0.10.30/test/number/epsilon/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022327 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/number/is-finite/ 0000775 0000000 0000000 00000000000 13150035453 0017302 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/number/is-finite/implement.js 0000664 0000000 0000000 00000000227 13150035453 0021633 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.30/test/number/is-finite/index.js 0000664 0000000 0000000 00000000063 13150035453 0020746 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/number/is-finite/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022545 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/number/is-finite/shim.js 0000664 0000000 0000000 00000000260 13150035453 0020576 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.30/test/number/is-integer/ 0000775 0000000 0000000 00000000000 13150035453 0017461 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/number/is-integer/implement.js 0000664 0000000 0000000 00000000230 13150035453 0022004 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.30/test/number/is-integer/index.js 0000664 0000000 0000000 00000000063 13150035453 0021125 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/number/is-integer/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022724 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/number/is-integer/shim.js 0000664 0000000 0000000 00000000315 13150035453 0020756 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.30/test/number/is-nan/ 0000775 0000000 0000000 00000000000 13150035453 0016600 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/number/is-nan/implement.js 0000664 0000000 0000000 00000000224 13150035453 0021126 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.30/test/number/is-nan/index.js 0000664 0000000 0000000 00000000063 13150035453 0020244 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/number/is-nan/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022043 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/number/is-nan/shim.js 0000664 0000000 0000000 00000000212 13150035453 0020071 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.30/test/number/is-natural.js 0000664 0000000 0000000 00000000353 13150035453 0020031 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.30/test/number/is-number.js 0000664 0000000 0000000 00000000527 13150035453 0017656 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.30/test/number/is-safe-integer/ 0000775 0000000 0000000 00000000000 13150035453 0020375 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/number/is-safe-integer/implement.js 0000664 0000000 0000000 00000000235 13150035453 0022725 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.30/test/number/is-safe-integer/index.js 0000664 0000000 0000000 00000000063 13150035453 0022041 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/number/is-safe-integer/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0023640 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/number/is-safe-integer/shim.js 0000664 0000000 0000000 00000000446 13150035453 0021677 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.30/test/number/max-safe-integer/ 0000775 0000000 0000000 00000000000 13150035453 0020547 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/number/max-safe-integer/implement.js 0000664 0000000 0000000 00000000236 13150035453 0023100 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.30/test/number/max-safe-integer/index.js 0000664 0000000 0000000 00000000115 13150035453 0022211 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t, "number");
};
es5-ext-0.10.30/test/number/max-safe-integer/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0024012 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/number/min-safe-integer/ 0000775 0000000 0000000 00000000000 13150035453 0020545 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/number/min-safe-integer/implement.js 0000664 0000000 0000000 00000000236 13150035453 0023076 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.30/test/number/min-safe-integer/index.js 0000664 0000000 0000000 00000000115 13150035453 0022207 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t, "number");
};
es5-ext-0.10.30/test/number/min-safe-integer/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0024010 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/number/to-integer.js 0000664 0000000 0000000 00000000405 13150035453 0020025 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.30/test/number/to-pos-integer.js 0000664 0000000 0000000 00000000370 13150035453 0020625 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.30/test/number/to-uint32.js 0000664 0000000 0000000 00000000306 13150035453 0017514 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.30/test/object/ 0000775 0000000 0000000 00000000000 13150035453 0015371 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/object/_iterate.js 0000664 0000000 0000000 00000001177 13150035453 0017531 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.30/test/object/assign/ 0000775 0000000 0000000 00000000000 13150035453 0016655 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/object/assign/implement.js 0000664 0000000 0000000 00000000224 13150035453 0021203 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.30/test/object/assign/index.js 0000664 0000000 0000000 00000000063 13150035453 0020321 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/object/assign/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022120 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/object/assign/shim.js 0000664 0000000 0000000 00000000403 13150035453 0020150 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.30/test/object/clear.js 0000664 0000000 0000000 00000000447 13150035453 0017022 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.30/test/object/compact.js 0000664 0000000 0000000 00000000543 13150035453 0017357 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.30/test/object/compare.js 0000664 0000000 0000000 00000000561 13150035453 0017357 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.30/test/object/copy-deep.js 0000664 0000000 0000000 00000001637 13150035453 0017623 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]);
};
es5-ext-0.10.30/test/object/copy.js 0000664 0000000 0000000 00000001277 13150035453 0016710 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.30/test/object/count.js 0000664 0000000 0000000 00000000450 13150035453 0017056 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.30/test/object/create.js 0000664 0000000 0000000 00000001222 13150035453 0017167 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.30/test/object/ensure-array.js 0000664 0000000 0000000 00000001340 13150035453 0020342 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.30/test/object/ensure-finite-number.js 0000664 0000000 0000000 00000001347 13150035453 0021777 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.30/test/object/ensure-natural-number-value.js 0000664 0000000 0000000 00000000730 13150035453 0023274 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.30/test/object/ensure-natural-number.js 0000664 0000000 0000000 00000000667 13150035453 0022173 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.30/test/object/ensure-promise.js 0000664 0000000 0000000 00000001124 13150035453 0020702 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.30/test/object/eq.js 0000664 0000000 0000000 00000000477 13150035453 0016344 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.30/test/object/every.js 0000664 0000000 0000000 00000000534 13150035453 0017063 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.30/test/object/filter.js 0000664 0000000 0000000 00000000241 13150035453 0017211 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.30/test/object/find-key.js 0000664 0000000 0000000 00000000637 13150035453 0017443 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.30/test/object/find.js 0000664 0000000 0000000 00000000635 13150035453 0016653 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.30/test/object/first-key.js 0000664 0000000 0000000 00000000535 13150035453 0017647 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.30/test/object/flatten.js 0000664 0000000 0000000 00000000221 13150035453 0017357 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.30/test/object/for-each.js 0000664 0000000 0000000 00000000310 13150035453 0017405 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.30/test/object/get-property-names.js 0000664 0000000 0000000 00000000545 13150035453 0021475 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.30/test/object/is-array-like.js 0000664 0000000 0000000 00000000643 13150035453 0020403 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.30/test/object/is-callable.js 0000664 0000000 0000000 00000000263 13150035453 0020100 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.30/test/object/is-copy-deep.js 0000664 0000000 0000000 00000002453 13150035453 0020231 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.30/test/object/is-copy.js 0000664 0000000 0000000 00000001164 13150035453 0017314 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.30/test/object/is-empty.js 0000664 0000000 0000000 00000000164 13150035453 0017477 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.30/test/object/is-finite-number.js 0000664 0000000 0000000 00000000751 13150035453 0021107 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.30/test/object/is-number-value.js 0000664 0000000 0000000 00000000750 13150035453 0020744 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.30/test/object/is-object.js 0000664 0000000 0000000 00000000560 13150035453 0017607 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.30/test/object/is-plain-object.js 0000664 0000000 0000000 00000001424 13150035453 0020710 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.30/test/object/is-promise.js 0000664 0000000 0000000 00000000557 13150035453 0020025 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.30/test/object/is-value.js 0000664 0000000 0000000 00000000376 13150035453 0017462 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.30/test/object/is.js 0000664 0000000 0000000 00000000500 13150035453 0016335 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.30/test/object/key-of.js 0000664 0000000 0000000 00000000525 13150035453 0017123 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.30/test/object/keys/ 0000775 0000000 0000000 00000000000 13150035453 0016344 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/object/keys/implement.js 0000664 0000000 0000000 00000000222 13150035453 0020670 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.30/test/object/keys/index.js 0000664 0000000 0000000 00000000063 13150035453 0020010 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/object/keys/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021607 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/object/keys/shim.js 0000664 0000000 0000000 00000000415 13150035453 0017642 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.30/test/object/map-keys.js 0000664 0000000 0000000 00000000255 13150035453 0017457 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.30/test/object/map.js 0000664 0000000 0000000 00000000356 13150035453 0016510 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.30/test/object/mixin-prototypes.js 0000664 0000000 0000000 00000003334 13150035453 0021304 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.30/test/object/mixin.js 0000664 0000000 0000000 00000003550 13150035453 0017056 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.30/test/object/normalize-options.js 0000664 0000000 0000000 00000001575 13150035453 0021430 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.30/test/object/primitive-set.js 0000664 0000000 0000000 00000000703 13150035453 0020530 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.30/test/object/safe-traverse.js 0000664 0000000 0000000 00000001136 13150035453 0020477 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.30/test/object/serialize.js 0000664 0000000 0000000 00000002347 13150035453 0017724 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.30/test/object/set-prototype-of/ 0000775 0000000 0000000 00000000000 13150035453 0020631 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/object/set-prototype-of/implement.js 0000664 0000000 0000000 00000000332 13150035453 0023157 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.30/test/object/set-prototype-of/index.js 0000664 0000000 0000000 00000001257 13150035453 0022303 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.30/test/object/set-prototype-of/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0024074 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/object/set-prototype-of/shim.js 0000664 0000000 0000000 00000001257 13150035453 0022134 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.30/test/object/some.js 0000664 0000000 0000000 00000000637 13150035453 0016700 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.30/test/object/to-array.js 0000664 0000000 0000000 00000000527 13150035453 0017471 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.30/test/object/unserialize.js 0000664 0000000 0000000 00000002276 13150035453 0020270 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.30/test/object/valid-callable.js 0000664 0000000 0000000 00000000235 13150035453 0020563 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.30/test/object/valid-object.js 0000664 0000000 0000000 00000001000 13150035453 0020261 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.30/test/object/valid-value.js 0000664 0000000 0000000 00000000517 13150035453 0020143 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.30/test/object/validate-array-like-object.js 0000664 0000000 0000000 00000001115 13150035453 0023020 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.30/test/object/validate-array-like.js 0000664 0000000 0000000 00000001051 13150035453 0021553 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.30/test/object/validate-stringifiable-value.js 0000664 0000000 0000000 00000001010 13150035453 0023442 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.30/test/object/validate-stringifiable.js 0000664 0000000 0000000 00000000725 13150035453 0022344 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.30/test/optional-chaining.js 0000664 0000000 0000000 00000000732 13150035453 0020066 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.30/test/reg-exp/ 0000775 0000000 0000000 00000000000 13150035453 0015472 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/reg-exp/#/ 0000775 0000000 0000000 00000000000 13150035453 0015614 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/reg-exp/#/index.js 0000664 0000000 0000000 00000000515 13150035453 0017262 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.30/test/reg-exp/#/is-sticky.js 0000664 0000000 0000000 00000000444 13150035453 0020073 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.30/test/reg-exp/#/is-unicode.js 0000664 0000000 0000000 00000000445 13150035453 0020214 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.30/test/reg-exp/#/match/ 0000775 0000000 0000000 00000000000 13150035453 0016710 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/reg-exp/#/match/implement.js 0000664 0000000 0000000 00000000231 13150035453 0021234 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.30/test/reg-exp/#/match/index.js 0000664 0000000 0000000 00000000063 13150035453 0020354 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/reg-exp/#/match/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022153 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/reg-exp/#/match/shim.js 0000664 0000000 0000000 00000000243 13150035453 0020205 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
var result = ["foo"];
result.index = 0;
result.input = "foobar";
a.deep(t.call(/foo/, "foobar"), result);
};
es5-ext-0.10.30/test/reg-exp/#/replace/ 0000775 0000000 0000000 00000000000 13150035453 0017227 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/reg-exp/#/replace/implement.js 0000664 0000000 0000000 00000000233 13150035453 0021555 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.30/test/reg-exp/#/replace/index.js 0000664 0000000 0000000 00000000063 13150035453 0020673 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/reg-exp/#/replace/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022472 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/reg-exp/#/replace/shim.js 0000664 0000000 0000000 00000000143 13150035453 0020523 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call(/foo/, "foobar", "mar"), "marbar");
};
es5-ext-0.10.30/test/reg-exp/#/search/ 0000775 0000000 0000000 00000000000 13150035453 0017061 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/reg-exp/#/search/implement.js 0000664 0000000 0000000 00000000232 13150035453 0021406 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.30/test/reg-exp/#/search/index.js 0000664 0000000 0000000 00000000063 13150035453 0020525 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/reg-exp/#/search/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022324 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/reg-exp/#/search/shim.js 0000664 0000000 0000000 00000000125 13150035453 0020355 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(t.call(/foo/, "barfoo"), 3);
};
es5-ext-0.10.30/test/reg-exp/#/split/ 0000775 0000000 0000000 00000000000 13150035453 0016747 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/reg-exp/#/split/implement.js 0000664 0000000 0000000 00000000231 13150035453 0021273 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.30/test/reg-exp/#/split/index.js 0000664 0000000 0000000 00000000063 13150035453 0020413 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/reg-exp/#/split/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022212 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/reg-exp/#/split/shim.js 0000664 0000000 0000000 00000000147 13150035453 0020247 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.30/test/reg-exp/#/sticky/ 0000775 0000000 0000000 00000000000 13150035453 0017122 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/reg-exp/#/sticky/implement.js 0000664 0000000 0000000 00000000232 13150035453 0021447 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.30/test/reg-exp/#/sticky/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022365 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/reg-exp/#/unicode/ 0000775 0000000 0000000 00000000000 13150035453 0017242 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/reg-exp/#/unicode/implement.js 0000664 0000000 0000000 00000000233 13150035453 0021570 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.30/test/reg-exp/#/unicode/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022505 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/reg-exp/escape.js 0000664 0000000 0000000 00000000214 13150035453 0017265 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.30/test/reg-exp/is-reg-exp.js 0000664 0000000 0000000 00000000562 13150035453 0020013 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.30/test/reg-exp/valid-reg-exp.js 0000664 0000000 0000000 00000000527 13150035453 0020500 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.30/test/safe-to-string.js 0000664 0000000 0000000 00000000602 13150035453 0017321 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.30/test/string/ 0000775 0000000 0000000 00000000000 13150035453 0015431 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/string/#/ 0000775 0000000 0000000 00000000000 13150035453 0015553 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/string/#/@@iterator/ 0000775 0000000 0000000 00000000000 13150035453 0017604 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/string/#/@@iterator/implement.js 0000664 0000000 0000000 00000000235 13150035453 0022134 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.30/test/string/#/@@iterator/index.js 0000664 0000000 0000000 00000000063 13150035453 0021250 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/string/#/@@iterator/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0023047 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/string/#/@@iterator/shim.js 0000664 0000000 0000000 00000000466 13150035453 0021110 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.30/test/string/#/at.js 0000664 0000000 0000000 00000010725 13150035453 0016522 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.30/test/string/#/camel-to-hyphen.js 0000664 0000000 0000000 00000000370 13150035453 0021103 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.30/test/string/#/capitalize.js 0000664 0000000 0000000 00000000373 13150035453 0020241 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.30/test/string/#/case-insensitive-compare.js 0000664 0000000 0000000 00000000265 13150035453 0023011 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.30/test/string/#/code-point-at/ 0000775 0000000 0000000 00000000000 13150035453 0020216 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/string/#/code-point-at/implement.js 0000664 0000000 0000000 00000000241 13150035453 0022543 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.30/test/string/#/code-point-at/index.js 0000664 0000000 0000000 00000000063 13150035453 0021662 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/string/#/code-point-at/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0023461 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/string/#/code-point-at/shim.js 0000664 0000000 0000000 00000006317 13150035453 0021523 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.30/test/string/#/contains/ 0000775 0000000 0000000 00000000000 13150035453 0017371 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/string/#/contains/implement.js 0000664 0000000 0000000 00000000233 13150035453 0021717 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.30/test/string/#/contains/index.js 0000664 0000000 0000000 00000000063 13150035453 0021035 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/string/#/contains/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022634 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/string/#/contains/shim.js 0000664 0000000 0000000 00000001004 13150035453 0020662 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.30/test/string/#/count.js 0000664 0000000 0000000 00000000450 13150035453 0017240 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.30/test/string/#/ends-with/ 0000775 0000000 0000000 00000000000 13150035453 0017455 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/string/#/ends-with/implement.js 0000664 0000000 0000000 00000000234 13150035453 0022004 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.30/test/string/#/ends-with/index.js 0000664 0000000 0000000 00000000063 13150035453 0021121 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/string/#/ends-with/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022720 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/string/#/ends-with/shim.js 0000664 0000000 0000000 00000001147 13150035453 0020756 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.30/test/string/#/hyphen-to-camel.js 0000664 0000000 0000000 00000000431 13150035453 0021101 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.30/test/string/#/indent.js 0000664 0000000 0000000 00000000513 13150035453 0017371 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.30/test/string/#/last.js 0000664 0000000 0000000 00000000170 13150035453 0017052 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.30/test/string/#/normalize/ 0000775 0000000 0000000 00000000000 13150035453 0017553 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/string/#/normalize/_data.js 0000664 0000000 0000000 00000000120 13150035453 0021152 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t[0], "object");
};
es5-ext-0.10.30/test/string/#/normalize/implement.js 0000664 0000000 0000000 00000000234 13150035453 0022102 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.30/test/string/#/normalize/index.js 0000664 0000000 0000000 00000000063 13150035453 0021217 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/string/#/normalize/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0023016 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/string/#/normalize/shim.js 0000664 0000000 0000000 00000000515 13150035453 0021052 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.30/test/string/#/pad.js 0000664 0000000 0000000 00000001035 13150035453 0016654 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.30/test/string/#/plain-replace-all.js 0000664 0000000 0000000 00000000636 13150035453 0021400 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.30/test/string/#/plain-replace.js 0000664 0000000 0000000 00000000374 13150035453 0020631 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.30/test/string/#/repeat/ 0000775 0000000 0000000 00000000000 13150035453 0017033 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/string/#/repeat/implement.js 0000664 0000000 0000000 00000000231 13150035453 0021357 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.30/test/string/#/repeat/index.js 0000664 0000000 0000000 00000000063 13150035453 0020477 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/string/#/repeat/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0022276 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/string/#/repeat/shim.js 0000664 0000000 0000000 00000000643 13150035453 0020334 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.30/test/string/#/starts-with/ 0000775 0000000 0000000 00000000000 13150035453 0020044 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/string/#/starts-with/implement.js 0000664 0000000 0000000 00000000236 13150035453 0022375 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.30/test/string/#/starts-with/index.js 0000664 0000000 0000000 00000000063 13150035453 0021510 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/string/#/starts-with/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0023307 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/string/#/starts-with/shim.js 0000664 0000000 0000000 00000001016 13150035453 0021340 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.30/test/string/#/uncapitalize.js 0000664 0000000 0000000 00000000503 13150035453 0020577 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.30/test/string/format-method.js 0000664 0000000 0000000 00000000321 13150035453 0020531 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.30/test/string/from-code-point/ 0000775 0000000 0000000 00000000000 13150035453 0020433 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/string/from-code-point/implement.js 0000664 0000000 0000000 00000000235 13150035453 0022763 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.30/test/string/from-code-point/index.js 0000664 0000000 0000000 00000000063 13150035453 0022077 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/string/from-code-point/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0023676 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/string/from-code-point/shim.js 0000664 0000000 0000000 00000003502 13150035453 0021731 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.30/test/string/is-string.js 0000664 0000000 0000000 00000000442 13150035453 0017706 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.30/test/string/random-uniq.js 0000664 0000000 0000000 00000000477 13150035453 0020231 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.30/test/string/raw/ 0000775 0000000 0000000 00000000000 13150035453 0016222 5 ustar 00root root 0000000 0000000 es5-ext-0.10.30/test/string/raw/implement.js 0000664 0000000 0000000 00000000221 13150035453 0020545 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.30/test/string/raw/index.js 0000664 0000000 0000000 00000000063 13150035453 0017666 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = require("./shim");
es5-ext-0.10.30/test/string/raw/is-implemented.js 0000664 0000000 0000000 00000000120 13150035453 0021465 0 ustar 00root root 0000000 0000000 "use strict";
module.exports = function (t, a) {
a(typeof t(), "boolean");
};
es5-ext-0.10.30/test/string/raw/shim.js 0000664 0000000 0000000 00000000612 13150035453 0017517 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.30/test/to-short-string-representation.js 0000664 0000000 0000000 00000001026 13150035453 0022603 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.30/to-short-string-representation.js 0000664 0000000 0000000 00000000635 13150035453 0021631 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;
};