diff --git a/packages/dependencies-hierarchy/.editorconfig b/packages/dependencies-hierarchy/.editorconfig new file mode 100644 index 0000000000..270dd84bb6 --- /dev/null +++ b/packages/dependencies-hierarchy/.editorconfig @@ -0,0 +1,11 @@ +root = true + +[*] +insert_final_newline = true +charset = utf-8 +trim_trailing_whitespace = true +end_of_line = lf + +[*.{ts,js,json}] +indent_style = space +indent_size = 2 diff --git a/packages/dependencies-hierarchy/.gitattributes b/packages/dependencies-hierarchy/.gitattributes new file mode 100644 index 0000000000..0e02124405 --- /dev/null +++ b/packages/dependencies-hierarchy/.gitattributes @@ -0,0 +1,3 @@ +* text eol=lf + +*.tgz binary diff --git a/packages/dependencies-hierarchy/.gitignore b/packages/dependencies-hierarchy/.gitignore new file mode 100644 index 0000000000..f3d02c57d8 --- /dev/null +++ b/packages/dependencies-hierarchy/.gitignore @@ -0,0 +1,18 @@ +# Logs +logs +*.log +npm-debug.log* + +# Dependency directory +node_modules + +# Coverage directory used by tools like istanbul +coverage + +.tmp +_docpress + +lib + +# Visual Studio Code configs +.vscode/ diff --git a/packages/dependencies-hierarchy/.npmrc b/packages/dependencies-hierarchy/.npmrc new file mode 100644 index 0000000000..d00840b681 --- /dev/null +++ b/packages/dependencies-hierarchy/.npmrc @@ -0,0 +1,2 @@ +tag-version-prefix = dependencies-hierarchy/ +message = chore(release): %s diff --git a/packages/dependencies-hierarchy/.travis.yml b/packages/dependencies-hierarchy/.travis.yml new file mode 100644 index 0000000000..0715b57272 --- /dev/null +++ b/packages/dependencies-hierarchy/.travis.yml @@ -0,0 +1,14 @@ +language: node_js +node_js: + - 6 + - 8 + - 10 +sudo: false +before_install: + - curl -L https://unpkg.com/@pnpm/self-installer | node +install: + - pnpm install +script: + - npm test +notifications: + email: false diff --git a/packages/dependencies-hierarchy/LICENSE b/packages/dependencies-hierarchy/LICENSE new file mode 100644 index 0000000000..2af900f32c --- /dev/null +++ b/packages/dependencies-hierarchy/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017-2018 Zoltan Kochan + +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. diff --git a/packages/dependencies-hierarchy/README.md b/packages/dependencies-hierarchy/README.md new file mode 100644 index 0000000000..68264fcb24 --- /dev/null +++ b/packages/dependencies-hierarchy/README.md @@ -0,0 +1,95 @@ +# dependencies-hierarchy + +> Creates a dependencies hierarchy for a symlinked \`node_modules\` + + +[![npm version](https://img.shields.io/npm/v/dependencies-hierarchy.svg)](https://www.npmjs.com/package/dependencies-hierarchy) [![Build Status](https://img.shields.io/travis/pnpm/dependencies-hierarchy/master.svg)](https://travis-ci.org/pnpm/dependencies-hierarchy) + + +A symlinked `node_modules` is created when installing using [pnpm](https://github.com/pnpm/pnpm). + +## Install + +Install it via npm. + + npm install dependencies-hierarchy + +## Usage + + +```js +'use strict' +const hierarchyForPackages = require('dependencies-hierarchy').forPackages + +hierarchyForPackages(['graceful-fs', {name: 'pify', range: '2'}], __dirname, {depth: 2}) + .then(tree => { + console.log(JSON.stringify(tree, null, 2)) + //> [ + // { + // "dependencies": [ + // { + // "dependencies": [ + // { + // "pkg": { + // "name": "graceful-fs", + // "path": "registry.npmjs.org/graceful-fs/4.1.11", + // "version": "4.1.11" + // }, + // "searched": true + // }, + // { + // "pkg": { + // "name": "pify", + // "path": "registry.npmjs.org/pify/2.3.0", + // "version": "2.3.0" + // }, + // "searched": true + // } + // ], + // "pkg": { + // "name": "write-json-file", + // "path": "registry.npmjs.org/write-json-file/2.2.0", + // "version": "2.2.0" + // } + // } + // ], + // "pkg": { + // "name": "write-pkg", + // "path": "registry.npmjs.org/write-pkg/3.1.0", + // "version": "3.1.0" + // } + // } + // ] + }) +``` + + +## API + +### default: `dependenciesHierarchy(projectPath, [opts]): Promise` + +Creates a dependency tree for a project's `node_modules`. + +#### Arguments: + +- `projectPath` - _String_ - The path to the project. +- `[opts.depth]` - _Number_ - 0 by default. How deep should the `node_modules` be analyzed. +- `[opts.only]` - _'dev' | 'prod'_ - Optional. If set to `dev`, then only packages from `devDependencies` are analyzed. + If set to `prod`, then only packages from `dependencies` are analyzed. + +### `forPackages(packageSelectors, projectPath, [opts]): Promise` + +Creates a dependency tree for a project's `node_modules`. Limits the results to only the paths to the packages named. + +#### Arguments: + +- `packageSelectors` - _(string | {name: string, version: string})\[]_ - An array that consist of package names or package names and version ranges. + E.g. `['foo', {name: 'bar', version: '^2.0.0'}]`. +- `projectPath` - _String_ - The path to the project +- `[opts.depth]` - _Number_ - 0 by default. How deep should the `node_modules` be analyzed. +- `[opts.only]` - _'dev' | 'prod'_ - Optional. If set to `dev`, then only packages from `devDependencies` are analyzed. + If set to `prod`, then only packages from `dependencies` are analyzed. + +## License + +[MIT](./LICENSE) © [Zoltan Kochan](https://www.kochan.io/) diff --git a/packages/dependencies-hierarchy/example/.gitignore b/packages/dependencies-hierarchy/example/.gitignore new file mode 100644 index 0000000000..cf4bab9ddd --- /dev/null +++ b/packages/dependencies-hierarchy/example/.gitignore @@ -0,0 +1 @@ +!node_modules diff --git a/packages/dependencies-hierarchy/example/index.js b/packages/dependencies-hierarchy/example/index.js new file mode 100644 index 0000000000..9dccb1fb78 --- /dev/null +++ b/packages/dependencies-hierarchy/example/index.js @@ -0,0 +1,7 @@ +'use strict' +const hierarchyForPackages = require('dependencies-hierarchy').forPackages + +hierarchyForPackages(['graceful-fs', {name: 'pify', range: '2'}], __dirname, {depth: 2}) + .then(tree => { + console.log(JSON.stringify(tree, null, 2)) + }) diff --git a/packages/dependencies-hierarchy/example/node_modules/.modules.yaml b/packages/dependencies-hierarchy/example/node_modules/.modules.yaml new file mode 100644 index 0000000000..ab2aabc366 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.modules.yaml @@ -0,0 +1,5 @@ +independentLeaves: false +layoutVersion: 1 +packageManager: pnpm@1.4.0 +skipped: [] +store: /home/zkochan/.pnpm-store/2 diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/detect-indent/5.0.0/node_modules/detect-indent/index.js b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/detect-indent/5.0.0/node_modules/detect-indent/index.js new file mode 100644 index 0000000000..eda0b1b1aa --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/detect-indent/5.0.0/node_modules/detect-indent/index.js @@ -0,0 +1,122 @@ +'use strict'; + +// detect either spaces or tabs but not both to properly handle tabs +// for indentation and spaces for alignment +const INDENT_RE = /^(?:( )+|\t+)/; + +function getMostUsed(indents) { + let result = 0; + let maxUsed = 0; + let maxWeight = 0; + + for (const entry of indents) { + // TODO: use destructuring when targeting Node.js 6 + const key = entry[0]; + const val = entry[1]; + + const u = val[0]; + const w = val[1]; + + if (u > maxUsed || (u === maxUsed && w > maxWeight)) { + maxUsed = u; + maxWeight = w; + result = Number(key); + } + } + + return result; +} + +module.exports = str => { + if (typeof str !== 'string') { + throw new TypeError('Expected a string'); + } + + // used to see if tabs or spaces are the most used + let tabs = 0; + let spaces = 0; + + // remember the size of previous line's indentation + let prev = 0; + + // remember how many indents/unindents as occurred for a given size + // and how much lines follow a given indentation + // + // indents = { + // 3: [1, 0], + // 4: [1, 5], + // 5: [1, 0], + // 12: [1, 0], + // } + const indents = new Map(); + + // pointer to the array of last used indent + let current; + + // whether the last action was an indent (opposed to an unindent) + let isIndent; + + for (const line of str.split(/\n/g)) { + if (!line) { + // ignore empty lines + continue; + } + + let indent; + const matches = line.match(INDENT_RE); + + if (matches) { + indent = matches[0].length; + + if (matches[1]) { + spaces++; + } else { + tabs++; + } + } else { + indent = 0; + } + + const diff = indent - prev; + prev = indent; + + if (diff) { + // an indent or unindent has been detected + + isIndent = diff > 0; + + current = indents.get(isIndent ? diff : -diff); + + if (current) { + current[0]++; + } else { + current = [1, 0]; + indents.set(diff, current); + } + } else if (current) { + // if the last action was an indent, increment the weight + current[1] += Number(isIndent); + } + } + + const amount = getMostUsed(indents); + + let type; + let indent; + if (!amount) { + type = null; + indent = ''; + } else if (spaces >= tabs) { + type = 'space'; + indent = ' '.repeat(amount); + } else { + type = 'tab'; + indent = '\t'.repeat(amount); + } + + return { + amount, + type, + indent + }; +}; diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/detect-indent/5.0.0/node_modules/detect-indent/license b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/detect-indent/5.0.0/node_modules/detect-indent/license new file mode 100644 index 0000000000..654d0bfe94 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/detect-indent/5.0.0/node_modules/detect-indent/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.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. diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/detect-indent/5.0.0/node_modules/detect-indent/package.json b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/detect-indent/5.0.0/node_modules/detect-indent/package.json new file mode 100644 index 0000000000..81c7edf311 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/detect-indent/5.0.0/node_modules/detect-indent/package.json @@ -0,0 +1,41 @@ +{ + "name": "detect-indent", + "version": "5.0.0", + "description": "Detect the indentation of code", + "license": "MIT", + "repository": "sindresorhus/detect-indent", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "indent", + "indentation", + "detect", + "infer", + "identify", + "code", + "string", + "text", + "source", + "space", + "tab" + ], + "devDependencies": { + "ava": "*", + "xo": "*" + }, + "xo": { + "esnext": true + } +} diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/detect-indent/5.0.0/node_modules/detect-indent/readme.md b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/detect-indent/5.0.0/node_modules/detect-indent/readme.md new file mode 100644 index 0000000000..3aeb1badf7 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/detect-indent/5.0.0/node_modules/detect-indent/readme.md @@ -0,0 +1,111 @@ +# detect-indent [![Build Status](https://travis-ci.org/sindresorhus/detect-indent.svg?branch=master)](https://travis-ci.org/sindresorhus/detect-indent) + +> Detect the indentation of code + +Pass in a string of any kind of text and get the indentation. + + +## Use cases + +- Persisting the indentation when modifying a file. +- Have new content match the existing indentation. +- Setting the right indentation in your editor. + + +## Install + +``` +$ npm install --save detect-indent +``` + + +## Usage + +Here we modify a JSON file while persisting the indentation: + +```js +const fs = require('fs'); +const detectIndent = require('detect-indent'); + +/* +{ + "ilove": "pizza" +} +*/ +const file = fs.readFileSync('foo.json', 'utf8'); + +// tries to detect the indentation and falls back to a default if it can't +const indent = detectIndent(file).indent || ' '; + +const json = JSON.parse(file); + +json.ilove = 'unicorns'; + +fs.writeFileSync('foo.json', JSON.stringify(json, null, indent)); +/* +{ + "ilove": "unicorns" +} +*/ +``` + + +## API + +Accepts a string and returns an object with stats about the indentation: + +* `amount` {number} - Amount of indentation, for example `2` +* `type` {string|null} - Type of indentation. Possible values are `tab`, `space` or `null` if no indentation is detected +* `indent` {string} - Actual indentation + + +## Algorithm + +The current algorithm looks for the most common difference between two consecutive non-empty lines. + +In the following example, even if the 4-space indentation is used 3 times whereas the 2-space one is used 2 times, it is detected as less used because there were only 2 differences with this value instead of 4 for the 2-space indentation: + +```css +html { + box-sizing: border-box; +} + +body { + background: gray; +} + +p { + line-height: 1.3em; + margin-top: 1em; + text-indent: 2em; +} +``` + +[Source.](https://medium.com/@heatherarthur/detecting-code-indentation-eff3ed0fb56b#3918) + +Furthermore, if there are more than one most used difference, the indentation with the most lines is selected. + +In the following example, the indentation is detected as 4-spaces: + +```css +body { + background: gray; +} + +p { + line-height: 1.3em; + margin-top: 1em; + text-indent: 2em; +} +``` + + +## Related + +- [detect-indent-cli](https://github.com/sindresorhus/detect-indent-cli) - CLI for this module +- [detect-newline](https://github.com/sindresorhus/detect-newline) - Detect the dominant newline character of a string + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/LICENSE b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/LICENSE new file mode 100644 index 0000000000..9d2c803696 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/README.md b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/README.md new file mode 100644 index 0000000000..5273a50ad6 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/README.md @@ -0,0 +1,133 @@ +# graceful-fs + +graceful-fs functions as a drop-in replacement for the fs module, +making various improvements. + +The improvements are meant to normalize behavior across different +platforms and environments, and to make filesystem access more +resilient to errors. + +## Improvements over [fs module](https://nodejs.org/api/fs.html) + +* Queues up `open` and `readdir` calls, and retries them once + something closes if there is an EMFILE error from too many file + descriptors. +* fixes `lchmod` for Node versions prior to 0.6.2. +* implements `fs.lutimes` if possible. Otherwise it becomes a noop. +* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or + `lchown` if the user isn't root. +* makes `lchmod` and `lchown` become noops, if not available. +* retries reading a file if `read` results in EAGAIN error. + +On Windows, it retries renaming a file for up to one second if `EACCESS` +or `EPERM` error occurs, likely because antivirus software has locked +the directory. + +## USAGE + +```javascript +// use just like fs +var fs = require('graceful-fs') + +// now go and do stuff with it... +fs.readFileSync('some-file-or-whatever') +``` + +## Global Patching + +If you want to patch the global fs module (or any other fs-like +module) you can do this: + +```javascript +// Make sure to read the caveat below. +var realFs = require('fs') +var gracefulFs = require('graceful-fs') +gracefulFs.gracefulify(realFs) +``` + +This should only ever be done at the top-level application layer, in +order to delay on EMFILE errors from any fs-using dependencies. You +should **not** do this in a library, because it can cause unexpected +delays in other parts of the program. + +## Changes + +This module is fairly stable at this point, and used by a lot of +things. That being said, because it implements a subtle behavior +change in a core part of the node API, even modest changes can be +extremely breaking, and the versioning is thus biased towards +bumping the major when in doubt. + +The main change between major versions has been switching between +providing a fully-patched `fs` module vs monkey-patching the node core +builtin, and the approach by which a non-monkey-patched `fs` was +created. + +The goal is to trade `EMFILE` errors for slower fs operations. So, if +you try to open a zillion files, rather than crashing, `open` +operations will be queued up and wait for something else to `close`. + +There are advantages to each approach. Monkey-patching the fs means +that no `EMFILE` errors can possibly occur anywhere in your +application, because everything is using the same core `fs` module, +which is patched. However, it can also obviously cause undesirable +side-effects, especially if the module is loaded multiple times. + +Implementing a separate-but-identical patched `fs` module is more +surgical (and doesn't run the risk of patching multiple times), but +also imposes the challenge of keeping in sync with the core module. + +The current approach loads the `fs` module, and then creates a +lookalike object that has all the same methods, except a few that are +patched. It is safe to use in all versions of Node from 0.8 through +7.0. + +### v4 + +* Do not monkey-patch the fs module. This module may now be used as a + drop-in dep, and users can opt into monkey-patching the fs builtin + if their app requires it. + +### v3 + +* Monkey-patch fs, because the eval approach no longer works on recent + node. +* fixed possible type-error throw if rename fails on windows +* verify that we *never* get EMFILE errors +* Ignore ENOSYS from chmod/chown +* clarify that graceful-fs must be used as a drop-in + +### v2.1.0 + +* Use eval rather than monkey-patching fs. +* readdir: Always sort the results +* win32: requeue a file if error has an OK status + +### v2.0 + +* A return to monkey patching +* wrap process.cwd + +### v1.1 + +* wrap readFile +* Wrap fs.writeFile. +* readdir protection +* Don't clobber the fs builtin +* Handle fs.read EAGAIN errors by trying again +* Expose the curOpen counter +* No-op lchown/lchmod if not implemented +* fs.rename patch only for win32 +* Patch fs.rename to handle AV software on Windows +* Close #4 Chown should not fail on einval or eperm if non-root +* Fix isaacs/fstream#1 Only wrap fs one time +* Fix #3 Start at 1024 max files, then back off on EMFILE +* lutimes that doens't blow up on Linux +* A full on-rewrite using a queue instead of just swallowing the EMFILE error +* Wrap Read/Write streams as well + +### 1.0 + +* Update engines for node 0.6 +* Be lstat-graceful on Windows +* first diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/fs.js b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/fs.js new file mode 100644 index 0000000000..8ad4a38396 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/fs.js @@ -0,0 +1,21 @@ +'use strict' + +var fs = require('fs') + +module.exports = clone(fs) + +function clone (obj) { + if (obj === null || typeof obj !== 'object') + return obj + + if (obj instanceof Object) + var copy = { __proto__: obj.__proto__ } + else + var copy = Object.create(null) + + Object.getOwnPropertyNames(obj).forEach(function (key) { + Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key)) + }) + + return copy +} diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/graceful-fs.js b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/graceful-fs.js new file mode 100644 index 0000000000..33b30d2e98 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/graceful-fs.js @@ -0,0 +1,262 @@ +var fs = require('fs') +var polyfills = require('./polyfills.js') +var legacy = require('./legacy-streams.js') +var queue = [] + +var util = require('util') + +function noop () {} + +var debug = noop +if (util.debuglog) + debug = util.debuglog('gfs4') +else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) + debug = function() { + var m = util.format.apply(util, arguments) + m = 'GFS4: ' + m.split(/\n/).join('\nGFS4: ') + console.error(m) + } + +if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) { + process.on('exit', function() { + debug(queue) + require('assert').equal(queue.length, 0) + }) +} + +module.exports = patch(require('./fs.js')) +if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH) { + module.exports = patch(fs) +} + +// Always patch fs.close/closeSync, because we want to +// retry() whenever a close happens *anywhere* in the program. +// This is essential when multiple graceful-fs instances are +// in play at the same time. +module.exports.close = +fs.close = (function (fs$close) { return function (fd, cb) { + return fs$close.call(fs, fd, function (err) { + if (!err) + retry() + + if (typeof cb === 'function') + cb.apply(this, arguments) + }) +}})(fs.close) + +module.exports.closeSync = +fs.closeSync = (function (fs$closeSync) { return function (fd) { + // Note that graceful-fs also retries when fs.closeSync() fails. + // Looks like a bug to me, although it's probably a harmless one. + var rval = fs$closeSync.apply(fs, arguments) + retry() + return rval +}})(fs.closeSync) + +function patch (fs) { + // Everything that references the open() function needs to be in here + polyfills(fs) + fs.gracefulify = patch + fs.FileReadStream = ReadStream; // Legacy name. + fs.FileWriteStream = WriteStream; // Legacy name. + fs.createReadStream = createReadStream + fs.createWriteStream = createWriteStream + var fs$readFile = fs.readFile + fs.readFile = readFile + function readFile (path, options, cb) { + if (typeof options === 'function') + cb = options, options = null + + return go$readFile(path, options, cb) + + function go$readFile (path, options, cb) { + return fs$readFile(path, options, function (err) { + if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) + enqueue([go$readFile, [path, options, cb]]) + else { + if (typeof cb === 'function') + cb.apply(this, arguments) + retry() + } + }) + } + } + + var fs$writeFile = fs.writeFile + fs.writeFile = writeFile + function writeFile (path, data, options, cb) { + if (typeof options === 'function') + cb = options, options = null + + return go$writeFile(path, data, options, cb) + + function go$writeFile (path, data, options, cb) { + return fs$writeFile(path, data, options, function (err) { + if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) + enqueue([go$writeFile, [path, data, options, cb]]) + else { + if (typeof cb === 'function') + cb.apply(this, arguments) + retry() + } + }) + } + } + + var fs$appendFile = fs.appendFile + if (fs$appendFile) + fs.appendFile = appendFile + function appendFile (path, data, options, cb) { + if (typeof options === 'function') + cb = options, options = null + + return go$appendFile(path, data, options, cb) + + function go$appendFile (path, data, options, cb) { + return fs$appendFile(path, data, options, function (err) { + if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) + enqueue([go$appendFile, [path, data, options, cb]]) + else { + if (typeof cb === 'function') + cb.apply(this, arguments) + retry() + } + }) + } + } + + var fs$readdir = fs.readdir + fs.readdir = readdir + function readdir (path, options, cb) { + var args = [path] + if (typeof options !== 'function') { + args.push(options) + } else { + cb = options + } + args.push(go$readdir$cb) + + return go$readdir(args) + + function go$readdir$cb (err, files) { + if (files && files.sort) + files.sort() + + if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) + enqueue([go$readdir, [args]]) + else { + if (typeof cb === 'function') + cb.apply(this, arguments) + retry() + } + } + } + + function go$readdir (args) { + return fs$readdir.apply(fs, args) + } + + if (process.version.substr(0, 4) === 'v0.8') { + var legStreams = legacy(fs) + ReadStream = legStreams.ReadStream + WriteStream = legStreams.WriteStream + } + + var fs$ReadStream = fs.ReadStream + ReadStream.prototype = Object.create(fs$ReadStream.prototype) + ReadStream.prototype.open = ReadStream$open + + var fs$WriteStream = fs.WriteStream + WriteStream.prototype = Object.create(fs$WriteStream.prototype) + WriteStream.prototype.open = WriteStream$open + + fs.ReadStream = ReadStream + fs.WriteStream = WriteStream + + function ReadStream (path, options) { + if (this instanceof ReadStream) + return fs$ReadStream.apply(this, arguments), this + else + return ReadStream.apply(Object.create(ReadStream.prototype), arguments) + } + + function ReadStream$open () { + var that = this + open(that.path, that.flags, that.mode, function (err, fd) { + if (err) { + if (that.autoClose) + that.destroy() + + that.emit('error', err) + } else { + that.fd = fd + that.emit('open', fd) + that.read() + } + }) + } + + function WriteStream (path, options) { + if (this instanceof WriteStream) + return fs$WriteStream.apply(this, arguments), this + else + return WriteStream.apply(Object.create(WriteStream.prototype), arguments) + } + + function WriteStream$open () { + var that = this + open(that.path, that.flags, that.mode, function (err, fd) { + if (err) { + that.destroy() + that.emit('error', err) + } else { + that.fd = fd + that.emit('open', fd) + } + }) + } + + function createReadStream (path, options) { + return new ReadStream(path, options) + } + + function createWriteStream (path, options) { + return new WriteStream(path, options) + } + + var fs$open = fs.open + fs.open = open + function open (path, flags, mode, cb) { + if (typeof mode === 'function') + cb = mode, mode = null + + return go$open(path, flags, mode, cb) + + function go$open (path, flags, mode, cb) { + return fs$open(path, flags, mode, function (err, fd) { + if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) + enqueue([go$open, [path, flags, mode, cb]]) + else { + if (typeof cb === 'function') + cb.apply(this, arguments) + retry() + } + }) + } + } + + return fs +} + +function enqueue (elem) { + debug('ENQUEUE', elem[0].name, elem[1]) + queue.push(elem) +} + +function retry () { + var elem = queue.shift() + if (elem) { + debug('RETRY', elem[0].name, elem[1]) + elem[0].apply(null, elem[1]) + } +} diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/legacy-streams.js b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/legacy-streams.js new file mode 100644 index 0000000000..d617b50fc0 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/legacy-streams.js @@ -0,0 +1,118 @@ +var Stream = require('stream').Stream + +module.exports = legacy + +function legacy (fs) { + return { + ReadStream: ReadStream, + WriteStream: WriteStream + } + + function ReadStream (path, options) { + if (!(this instanceof ReadStream)) return new ReadStream(path, options); + + Stream.call(this); + + var self = this; + + this.path = path; + this.fd = null; + this.readable = true; + this.paused = false; + + this.flags = 'r'; + this.mode = 438; /*=0666*/ + this.bufferSize = 64 * 1024; + + options = options || {}; + + // Mixin options into this + var keys = Object.keys(options); + for (var index = 0, length = keys.length; index < length; index++) { + var key = keys[index]; + this[key] = options[key]; + } + + if (this.encoding) this.setEncoding(this.encoding); + + if (this.start !== undefined) { + if ('number' !== typeof this.start) { + throw TypeError('start must be a Number'); + } + if (this.end === undefined) { + this.end = Infinity; + } else if ('number' !== typeof this.end) { + throw TypeError('end must be a Number'); + } + + if (this.start > this.end) { + throw new Error('start must be <= end'); + } + + this.pos = this.start; + } + + if (this.fd !== null) { + process.nextTick(function() { + self._read(); + }); + return; + } + + fs.open(this.path, this.flags, this.mode, function (err, fd) { + if (err) { + self.emit('error', err); + self.readable = false; + return; + } + + self.fd = fd; + self.emit('open', fd); + self._read(); + }) + } + + function WriteStream (path, options) { + if (!(this instanceof WriteStream)) return new WriteStream(path, options); + + Stream.call(this); + + this.path = path; + this.fd = null; + this.writable = true; + + this.flags = 'w'; + this.encoding = 'binary'; + this.mode = 438; /*=0666*/ + this.bytesWritten = 0; + + options = options || {}; + + // Mixin options into this + var keys = Object.keys(options); + for (var index = 0, length = keys.length; index < length; index++) { + var key = keys[index]; + this[key] = options[key]; + } + + if (this.start !== undefined) { + if ('number' !== typeof this.start) { + throw TypeError('start must be a Number'); + } + if (this.start < 0) { + throw new Error('start must be >= zero'); + } + + this.pos = this.start; + } + + this.busy = false; + this._queue = []; + + if (this.fd === null) { + this._open = fs.open; + this._queue.push([this._open, this.path, this.flags, this.mode, undefined]); + this.flush(); + } + } +} diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/package.json b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/package.json new file mode 100644 index 0000000000..cde9d0dd86 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/package.json @@ -0,0 +1,47 @@ +{ + "name": "graceful-fs", + "description": "A drop-in replacement for fs, making various improvements.", + "version": "4.1.11", + "repository": { + "type": "git", + "url": "https://github.com/isaacs/node-graceful-fs" + }, + "main": "graceful-fs.js", + "engines": { + "node": ">=0.4.0" + }, + "directories": { + "test": "test" + }, + "scripts": { + "test": "node test.js | tap -" + }, + "keywords": [ + "fs", + "module", + "reading", + "retry", + "retries", + "queue", + "error", + "errors", + "handling", + "EMFILE", + "EAGAIN", + "EINVAL", + "EPERM", + "EACCESS" + ], + "license": "ISC", + "devDependencies": { + "mkdirp": "^0.5.0", + "rimraf": "^2.2.8", + "tap": "^5.4.2" + }, + "files": [ + "fs.js", + "graceful-fs.js", + "legacy-streams.js", + "polyfills.js" + ] +} diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/polyfills.js b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/polyfills.js new file mode 100644 index 0000000000..4c6aca78a3 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/graceful-fs/4.1.11/node_modules/graceful-fs/polyfills.js @@ -0,0 +1,330 @@ +var fs = require('./fs.js') +var constants = require('constants') + +var origCwd = process.cwd +var cwd = null + +var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform + +process.cwd = function() { + if (!cwd) + cwd = origCwd.call(process) + return cwd +} +try { + process.cwd() +} catch (er) {} + +var chdir = process.chdir +process.chdir = function(d) { + cwd = null + chdir.call(process, d) +} + +module.exports = patch + +function patch (fs) { + // (re-)implement some things that are known busted or missing. + + // lchmod, broken prior to 0.6.2 + // back-port the fix here. + if (constants.hasOwnProperty('O_SYMLINK') && + process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) { + patchLchmod(fs) + } + + // lutimes implementation, or no-op + if (!fs.lutimes) { + patchLutimes(fs) + } + + // https://github.com/isaacs/node-graceful-fs/issues/4 + // Chown should not fail on einval or eperm if non-root. + // It should not fail on enosys ever, as this just indicates + // that a fs doesn't support the intended operation. + + fs.chown = chownFix(fs.chown) + fs.fchown = chownFix(fs.fchown) + fs.lchown = chownFix(fs.lchown) + + fs.chmod = chmodFix(fs.chmod) + fs.fchmod = chmodFix(fs.fchmod) + fs.lchmod = chmodFix(fs.lchmod) + + fs.chownSync = chownFixSync(fs.chownSync) + fs.fchownSync = chownFixSync(fs.fchownSync) + fs.lchownSync = chownFixSync(fs.lchownSync) + + fs.chmodSync = chmodFixSync(fs.chmodSync) + fs.fchmodSync = chmodFixSync(fs.fchmodSync) + fs.lchmodSync = chmodFixSync(fs.lchmodSync) + + fs.stat = statFix(fs.stat) + fs.fstat = statFix(fs.fstat) + fs.lstat = statFix(fs.lstat) + + fs.statSync = statFixSync(fs.statSync) + fs.fstatSync = statFixSync(fs.fstatSync) + fs.lstatSync = statFixSync(fs.lstatSync) + + // if lchmod/lchown do not exist, then make them no-ops + if (!fs.lchmod) { + fs.lchmod = function (path, mode, cb) { + if (cb) process.nextTick(cb) + } + fs.lchmodSync = function () {} + } + if (!fs.lchown) { + fs.lchown = function (path, uid, gid, cb) { + if (cb) process.nextTick(cb) + } + fs.lchownSync = function () {} + } + + // on Windows, A/V software can lock the directory, causing this + // to fail with an EACCES or EPERM if the directory contains newly + // created files. Try again on failure, for up to 60 seconds. + + // Set the timeout this long because some Windows Anti-Virus, such as Parity + // bit9, may lock files for up to a minute, causing npm package install + // failures. Also, take care to yield the scheduler. Windows scheduling gives + // CPU to a busy looping process, which can cause the program causing the lock + // contention to be starved of CPU by node, so the contention doesn't resolve. + if (platform === "win32") { + fs.rename = (function (fs$rename) { return function (from, to, cb) { + var start = Date.now() + var backoff = 0; + fs$rename(from, to, function CB (er) { + if (er + && (er.code === "EACCES" || er.code === "EPERM") + && Date.now() - start < 60000) { + setTimeout(function() { + fs.stat(to, function (stater, st) { + if (stater && stater.code === "ENOENT") + fs$rename(from, to, CB); + else + cb(er) + }) + }, backoff) + if (backoff < 100) + backoff += 10; + return; + } + if (cb) cb(er) + }) + }})(fs.rename) + } + + // if read() returns EAGAIN, then just try it again. + fs.read = (function (fs$read) { return function (fd, buffer, offset, length, position, callback_) { + var callback + if (callback_ && typeof callback_ === 'function') { + var eagCounter = 0 + callback = function (er, _, __) { + if (er && er.code === 'EAGAIN' && eagCounter < 10) { + eagCounter ++ + return fs$read.call(fs, fd, buffer, offset, length, position, callback) + } + callback_.apply(this, arguments) + } + } + return fs$read.call(fs, fd, buffer, offset, length, position, callback) + }})(fs.read) + + fs.readSync = (function (fs$readSync) { return function (fd, buffer, offset, length, position) { + var eagCounter = 0 + while (true) { + try { + return fs$readSync.call(fs, fd, buffer, offset, length, position) + } catch (er) { + if (er.code === 'EAGAIN' && eagCounter < 10) { + eagCounter ++ + continue + } + throw er + } + } + }})(fs.readSync) +} + +function patchLchmod (fs) { + fs.lchmod = function (path, mode, callback) { + fs.open( path + , constants.O_WRONLY | constants.O_SYMLINK + , mode + , function (err, fd) { + if (err) { + if (callback) callback(err) + return + } + // prefer to return the chmod error, if one occurs, + // but still try to close, and report closing errors if they occur. + fs.fchmod(fd, mode, function (err) { + fs.close(fd, function(err2) { + if (callback) callback(err || err2) + }) + }) + }) + } + + fs.lchmodSync = function (path, mode) { + var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode) + + // prefer to return the chmod error, if one occurs, + // but still try to close, and report closing errors if they occur. + var threw = true + var ret + try { + ret = fs.fchmodSync(fd, mode) + threw = false + } finally { + if (threw) { + try { + fs.closeSync(fd) + } catch (er) {} + } else { + fs.closeSync(fd) + } + } + return ret + } +} + +function patchLutimes (fs) { + if (constants.hasOwnProperty("O_SYMLINK")) { + fs.lutimes = function (path, at, mt, cb) { + fs.open(path, constants.O_SYMLINK, function (er, fd) { + if (er) { + if (cb) cb(er) + return + } + fs.futimes(fd, at, mt, function (er) { + fs.close(fd, function (er2) { + if (cb) cb(er || er2) + }) + }) + }) + } + + fs.lutimesSync = function (path, at, mt) { + var fd = fs.openSync(path, constants.O_SYMLINK) + var ret + var threw = true + try { + ret = fs.futimesSync(fd, at, mt) + threw = false + } finally { + if (threw) { + try { + fs.closeSync(fd) + } catch (er) {} + } else { + fs.closeSync(fd) + } + } + return ret + } + + } else { + fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) } + fs.lutimesSync = function () {} + } +} + +function chmodFix (orig) { + if (!orig) return orig + return function (target, mode, cb) { + return orig.call(fs, target, mode, function (er) { + if (chownErOk(er)) er = null + if (cb) cb.apply(this, arguments) + }) + } +} + +function chmodFixSync (orig) { + if (!orig) return orig + return function (target, mode) { + try { + return orig.call(fs, target, mode) + } catch (er) { + if (!chownErOk(er)) throw er + } + } +} + + +function chownFix (orig) { + if (!orig) return orig + return function (target, uid, gid, cb) { + return orig.call(fs, target, uid, gid, function (er) { + if (chownErOk(er)) er = null + if (cb) cb.apply(this, arguments) + }) + } +} + +function chownFixSync (orig) { + if (!orig) return orig + return function (target, uid, gid) { + try { + return orig.call(fs, target, uid, gid) + } catch (er) { + if (!chownErOk(er)) throw er + } + } +} + + +function statFix (orig) { + if (!orig) return orig + // Older versions of Node erroneously returned signed integers for + // uid + gid. + return function (target, cb) { + return orig.call(fs, target, function (er, stats) { + if (!stats) return cb.apply(this, arguments) + if (stats.uid < 0) stats.uid += 0x100000000 + if (stats.gid < 0) stats.gid += 0x100000000 + if (cb) cb.apply(this, arguments) + }) + } +} + +function statFixSync (orig) { + if (!orig) return orig + // Older versions of Node erroneously returned signed integers for + // uid + gid. + return function (target) { + var stats = orig.call(fs, target) + if (stats.uid < 0) stats.uid += 0x100000000 + if (stats.gid < 0) stats.gid += 0x100000000 + return stats; + } +} + +// ENOSYS means that the fs doesn't support the op. Just ignore +// that, because it doesn't matter. +// +// if there's no getuid, or if getuid() is something other +// than 0, and the error is EINVAL or EPERM, then just ignore +// it. +// +// This specific case is a silent failure in cp, install, tar, +// and most other unix tools that manage permissions. +// +// When running as root, or if other types of errors are +// encountered, then it's strict. +function chownErOk (er) { + if (!er) + return true + + if (er.code === "ENOSYS") + return true + + var nonroot = !process.getuid || process.getuid() !== 0 + if (nonroot) { + if (er.code === "EINVAL" || er.code === "EPERM") + return true + } + + return false +} diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/imurmurhash/0.1.4/node_modules/imurmurhash/README.md b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/imurmurhash/0.1.4/node_modules/imurmurhash/README.md new file mode 100644 index 0000000000..f35b20a0ef --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/imurmurhash/0.1.4/node_modules/imurmurhash/README.md @@ -0,0 +1,122 @@ +iMurmurHash.js +============== + +An incremental implementation of the MurmurHash3 (32-bit) hashing algorithm for JavaScript based on [Gary Court's implementation](https://github.com/garycourt/murmurhash-js) with [kazuyukitanimura's modifications](https://github.com/kazuyukitanimura/murmurhash-js). + +This version works significantly faster than the non-incremental version if you need to hash many small strings into a single hash, since string concatenation (to build the single string to pass the non-incremental version) is fairly costly. In one case tested, using the incremental version was about 50% faster than concatenating 5-10 strings and then hashing. + +Installation +------------ + +To use iMurmurHash in the browser, [download the latest version](https://raw.github.com/jensyt/imurmurhash-js/master/imurmurhash.min.js) and include it as a script on your site. + +```html + + +``` + +--- + +To use iMurmurHash in Node.js, install the module using NPM: + +```bash +npm install imurmurhash +``` + +Then simply include it in your scripts: + +```javascript +MurmurHash3 = require('imurmurhash'); +``` + +Quick Example +------------- + +```javascript +// Create the initial hash +var hashState = MurmurHash3('string'); + +// Incrementally add text +hashState.hash('more strings'); +hashState.hash('even more strings'); + +// All calls can be chained if desired +hashState.hash('and').hash('some').hash('more'); + +// Get a result +hashState.result(); +// returns 0xe4ccfe6b +``` + +Functions +--------- + +### MurmurHash3 ([string], [seed]) +Get a hash state object, optionally initialized with the given _string_ and _seed_. _Seed_ must be a positive integer if provided. Calling this function without the `new` keyword will return a cached state object that has been reset. This is safe to use as long as the object is only used from a single thread and no other hashes are created while operating on this one. If this constraint cannot be met, you can use `new` to create a new state object. For example: + +```javascript +// Use the cached object, calling the function again will return the same +// object (but reset, so the current state would be lost) +hashState = MurmurHash3(); +... + +// Create a new object that can be safely used however you wish. Calling the +// function again will simply return a new state object, and no state loss +// will occur, at the cost of creating more objects. +hashState = new MurmurHash3(); +``` + +Both methods can be mixed however you like if you have different use cases. + +--- + +### MurmurHash3.prototype.hash (string) +Incrementally add _string_ to the hash. This can be called as many times as you want for the hash state object, including after a call to `result()`. Returns `this` so calls can be chained. + +--- + +### MurmurHash3.prototype.result () +Get the result of the hash as a 32-bit positive integer. This performs the tail and finalizer portions of the algorithm, but does not store the result in the state object. This means that it is perfectly safe to get results and then continue adding strings via `hash`. + +```javascript +// Do the whole string at once +MurmurHash3('this is a test string').result(); +// 0x70529328 + +// Do part of the string, get a result, then the other part +var m = MurmurHash3('this is a'); +m.result(); +// 0xbfc4f834 +m.hash(' test string').result(); +// 0x70529328 (same as above) +``` + +--- + +### MurmurHash3.prototype.reset ([seed]) +Reset the state object for reuse, optionally using the given _seed_ (defaults to 0 like the constructor). Returns `this` so calls can be chained. + +--- + +License (MIT) +------------- +Copyright (c) 2013 Gary Court, Jens Taylor + +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. diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/imurmurhash/0.1.4/node_modules/imurmurhash/imurmurhash.js b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/imurmurhash/0.1.4/node_modules/imurmurhash/imurmurhash.js new file mode 100644 index 0000000000..e63146a2b7 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/imurmurhash/0.1.4/node_modules/imurmurhash/imurmurhash.js @@ -0,0 +1,138 @@ +/** + * @preserve + * JS Implementation of incremental MurmurHash3 (r150) (as of May 10, 2013) + * + * @author Jens Taylor + * @see http://github.com/homebrewing/brauhaus-diff + * @author Gary Court + * @see http://github.com/garycourt/murmurhash-js + * @author Austin Appleby + * @see http://sites.google.com/site/murmurhash/ + */ +(function(){ + var cache; + + // Call this function without `new` to use the cached object (good for + // single-threaded environments), or with `new` to create a new object. + // + // @param {string} key A UTF-16 or ASCII string + // @param {number} seed An optional positive integer + // @return {object} A MurmurHash3 object for incremental hashing + function MurmurHash3(key, seed) { + var m = this instanceof MurmurHash3 ? this : cache; + m.reset(seed) + if (typeof key === 'string' && key.length > 0) { + m.hash(key); + } + + if (m !== this) { + return m; + } + }; + + // Incrementally add a string to this hash + // + // @param {string} key A UTF-16 or ASCII string + // @return {object} this + MurmurHash3.prototype.hash = function(key) { + var h1, k1, i, top, len; + + len = key.length; + this.len += len; + + k1 = this.k1; + i = 0; + switch (this.rem) { + case 0: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) : 0; + case 1: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) << 8 : 0; + case 2: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) << 16 : 0; + case 3: + k1 ^= len > i ? (key.charCodeAt(i) & 0xff) << 24 : 0; + k1 ^= len > i ? (key.charCodeAt(i++) & 0xff00) >> 8 : 0; + } + + this.rem = (len + this.rem) & 3; // & 3 is same as % 4 + len -= this.rem; + if (len > 0) { + h1 = this.h1; + while (1) { + k1 = (k1 * 0x2d51 + (k1 & 0xffff) * 0xcc9e0000) & 0xffffffff; + k1 = (k1 << 15) | (k1 >>> 17); + k1 = (k1 * 0x3593 + (k1 & 0xffff) * 0x1b870000) & 0xffffffff; + + h1 ^= k1; + h1 = (h1 << 13) | (h1 >>> 19); + h1 = (h1 * 5 + 0xe6546b64) & 0xffffffff; + + if (i >= len) { + break; + } + + k1 = ((key.charCodeAt(i++) & 0xffff)) ^ + ((key.charCodeAt(i++) & 0xffff) << 8) ^ + ((key.charCodeAt(i++) & 0xffff) << 16); + top = key.charCodeAt(i++); + k1 ^= ((top & 0xff) << 24) ^ + ((top & 0xff00) >> 8); + } + + k1 = 0; + switch (this.rem) { + case 3: k1 ^= (key.charCodeAt(i + 2) & 0xffff) << 16; + case 2: k1 ^= (key.charCodeAt(i + 1) & 0xffff) << 8; + case 1: k1 ^= (key.charCodeAt(i) & 0xffff); + } + + this.h1 = h1; + } + + this.k1 = k1; + return this; + }; + + // Get the result of this hash + // + // @return {number} The 32-bit hash + MurmurHash3.prototype.result = function() { + var k1, h1; + + k1 = this.k1; + h1 = this.h1; + + if (k1 > 0) { + k1 = (k1 * 0x2d51 + (k1 & 0xffff) * 0xcc9e0000) & 0xffffffff; + k1 = (k1 << 15) | (k1 >>> 17); + k1 = (k1 * 0x3593 + (k1 & 0xffff) * 0x1b870000) & 0xffffffff; + h1 ^= k1; + } + + h1 ^= this.len; + + h1 ^= h1 >>> 16; + h1 = (h1 * 0xca6b + (h1 & 0xffff) * 0x85eb0000) & 0xffffffff; + h1 ^= h1 >>> 13; + h1 = (h1 * 0xae35 + (h1 & 0xffff) * 0xc2b20000) & 0xffffffff; + h1 ^= h1 >>> 16; + + return h1 >>> 0; + }; + + // Reset the hash object for reuse + // + // @param {number} seed An optional positive integer + MurmurHash3.prototype.reset = function(seed) { + this.h1 = typeof seed === 'number' ? seed : 0; + this.rem = this.k1 = this.len = 0; + return this; + }; + + // A cached object to use. This can be safely used if you're in a single- + // threaded environment, otherwise you need to create new hashes to use. + cache = new MurmurHash3(); + + if (typeof(module) != 'undefined') { + module.exports = MurmurHash3; + } else { + this.MurmurHash3 = MurmurHash3; + } +}()); diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/imurmurhash/0.1.4/node_modules/imurmurhash/imurmurhash.min.js b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/imurmurhash/0.1.4/node_modules/imurmurhash/imurmurhash.min.js new file mode 100644 index 0000000000..dc0ee88d6b --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/imurmurhash/0.1.4/node_modules/imurmurhash/imurmurhash.min.js @@ -0,0 +1,12 @@ +/** + * @preserve + * JS Implementation of incremental MurmurHash3 (r150) (as of May 10, 2013) + * + * @author Jens Taylor + * @see http://github.com/homebrewing/brauhaus-diff + * @author Gary Court + * @see http://github.com/garycourt/murmurhash-js + * @author Austin Appleby + * @see http://sites.google.com/site/murmurhash/ + */ +!function(){function t(h,r){var s=this instanceof t?this:e;return s.reset(r),"string"==typeof h&&h.length>0&&s.hash(h),s!==this?s:void 0}var e;t.prototype.hash=function(t){var e,h,r,s,i;switch(i=t.length,this.len+=i,h=this.k1,r=0,this.rem){case 0:h^=i>r?65535&t.charCodeAt(r++):0;case 1:h^=i>r?(65535&t.charCodeAt(r++))<<8:0;case 2:h^=i>r?(65535&t.charCodeAt(r++))<<16:0;case 3:h^=i>r?(255&t.charCodeAt(r))<<24:0,h^=i>r?(65280&t.charCodeAt(r++))>>8:0}if(this.rem=3&i+this.rem,i-=this.rem,i>0){for(e=this.h1;;){if(h=4294967295&11601*h+3432906752*(65535&h),h=h<<15|h>>>17,h=4294967295&13715*h+461832192*(65535&h),e^=h,e=e<<13|e>>>19,e=4294967295&5*e+3864292196,r>=i)break;h=65535&t.charCodeAt(r++)^(65535&t.charCodeAt(r++))<<8^(65535&t.charCodeAt(r++))<<16,s=t.charCodeAt(r++),h^=(255&s)<<24^(65280&s)>>8}switch(h=0,this.rem){case 3:h^=(65535&t.charCodeAt(r+2))<<16;case 2:h^=(65535&t.charCodeAt(r+1))<<8;case 1:h^=65535&t.charCodeAt(r)}this.h1=e}return this.k1=h,this},t.prototype.result=function(){var t,e;return t=this.k1,e=this.h1,t>0&&(t=4294967295&11601*t+3432906752*(65535&t),t=t<<15|t>>>17,t=4294967295&13715*t+461832192*(65535&t),e^=t),e^=this.len,e^=e>>>16,e=4294967295&51819*e+2246770688*(65535&e),e^=e>>>13,e=4294967295&44597*e+3266445312*(65535&e),e^=e>>>16,e>>>0},t.prototype.reset=function(t){return this.h1="number"==typeof t?t:0,this.rem=this.k1=this.len=0,this},e=new t,"undefined"!=typeof module?module.exports=t:this.MurmurHash3=t}(); \ No newline at end of file diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/imurmurhash/0.1.4/node_modules/imurmurhash/package.json b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/imurmurhash/0.1.4/node_modules/imurmurhash/package.json new file mode 100644 index 0000000000..8a93edb55a --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/imurmurhash/0.1.4/node_modules/imurmurhash/package.json @@ -0,0 +1,40 @@ +{ + "name": "imurmurhash", + "version": "0.1.4", + "description": "An incremental implementation of MurmurHash3", + "homepage": "https://github.com/jensyt/imurmurhash-js", + "main": "imurmurhash.js", + "files": [ + "imurmurhash.js", + "imurmurhash.min.js", + "package.json", + "README.md" + ], + "repository": { + "type": "git", + "url": "https://github.com/jensyt/imurmurhash-js" + }, + "bugs": { + "url": "https://github.com/jensyt/imurmurhash-js/issues" + }, + "keywords": [ + "murmur", + "murmurhash", + "murmurhash3", + "hash", + "incremental" + ], + "author": { + "name": "Jens Taylor", + "email": "jensyt@gmail.com", + "url": "https://github.com/homebrewing" + }, + "license": "MIT", + "dependencies": { + }, + "devDependencies": { + }, + "engines": { + "node": ">=0.8.19" + } +} diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/is-plain-obj/1.1.0/node_modules/is-plain-obj/index.js b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/is-plain-obj/1.1.0/node_modules/is-plain-obj/index.js new file mode 100644 index 0000000000..0d1ba9eeb8 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/is-plain-obj/1.1.0/node_modules/is-plain-obj/index.js @@ -0,0 +1,7 @@ +'use strict'; +var toString = Object.prototype.toString; + +module.exports = function (x) { + var prototype; + return toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({})); +}; diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/is-plain-obj/1.1.0/node_modules/is-plain-obj/license b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/is-plain-obj/1.1.0/node_modules/is-plain-obj/license new file mode 100644 index 0000000000..654d0bfe94 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/is-plain-obj/1.1.0/node_modules/is-plain-obj/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.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. diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/is-plain-obj/1.1.0/node_modules/is-plain-obj/package.json b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/is-plain-obj/1.1.0/node_modules/is-plain-obj/package.json new file mode 100644 index 0000000000..d331f6e816 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/is-plain-obj/1.1.0/node_modules/is-plain-obj/package.json @@ -0,0 +1,36 @@ +{ + "name": "is-plain-obj", + "version": "1.1.0", + "description": "Check if a value is a plain object", + "license": "MIT", + "repository": "sindresorhus/is-plain-obj", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "node test.js" + }, + "files": [ + "index.js" + ], + "keywords": [ + "obj", + "object", + "is", + "check", + "test", + "type", + "plain", + "vanilla", + "pure", + "simple" + ], + "devDependencies": { + "ava": "0.0.4" + } +} diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/is-plain-obj/1.1.0/node_modules/is-plain-obj/readme.md b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/is-plain-obj/1.1.0/node_modules/is-plain-obj/readme.md new file mode 100644 index 0000000000..269e56aeff --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/is-plain-obj/1.1.0/node_modules/is-plain-obj/readme.md @@ -0,0 +1,35 @@ +# is-plain-obj [![Build Status](https://travis-ci.org/sindresorhus/is-plain-obj.svg?branch=master)](https://travis-ci.org/sindresorhus/is-plain-obj) + +> Check if a value is a plain object + +An object is plain if it's created by either `{}`, `new Object()` or `Object.create(null)`. + + +## Install + +``` +$ npm install --save is-plain-obj +``` + + +## Usage + +```js +var isPlainObj = require('is-plain-obj'); + +isPlainObj({foo: 'bar'}); +//=> true + +isPlainObj([1, 2, 3]); +//=> false +``` + + +## Related + +- [is-obj](https://github.com/sindresorhus/is-obj) - Check if a value is an object + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/make-dir/1.0.0/node_modules/make-dir/index.js b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/make-dir/1.0.0/node_modules/make-dir/index.js new file mode 100644 index 0000000000..ca1f5e9c6a --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/make-dir/1.0.0/node_modules/make-dir/index.js @@ -0,0 +1,83 @@ +'use strict'; +const fs = require('fs'); +const path = require('path'); +const pify = require('pify'); + +const defaults = { + mode: 0o777 & (~process.umask()), + fs +}; + +// https://github.com/nodejs/node/issues/8987 +// https://github.com/libuv/libuv/pull/1088 +const checkPath = pth => { + if (process.platform === 'win32') { + const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path.parse(pth).root, '')); + + if (pathHasInvalidWinCharacters) { + const err = new Error(`Path contains invalid characters: ${pth}`); + err.code = 'EINVAL'; + throw err; + } + } +}; + +module.exports = (input, opts) => Promise.resolve().then(() => { + checkPath(input); + opts = Object.assign({}, defaults, opts); + const fsP = pify(opts.fs); + + const make = pth => { + return fsP.mkdir(pth, opts.mode) + .then(() => pth) + .catch(err => { + if (err.code === 'ENOENT') { + if (err.message.includes('null bytes') || path.dirname(pth) === pth) { + throw err; + } + + return make(path.dirname(pth)).then(() => make(pth)); + } + + return fsP.stat(pth) + .then(stats => stats.isDirectory() ? pth : Promise.reject()) + .catch(() => { + throw err; + }); + }); + }; + + return make(path.resolve(input)); +}); + +module.exports.sync = (input, opts) => { + checkPath(input); + opts = Object.assign({}, defaults, opts); + + const make = pth => { + try { + opts.fs.mkdirSync(pth, opts.mode); + } catch (err) { + if (err.code === 'ENOENT') { + if (err.message.includes('null bytes') || path.dirname(pth) === pth) { + throw err; + } + + make(path.dirname(pth)); + return make(pth); + } + + try { + if (!opts.fs.statSync(pth).isDirectory()) { + throw new Error(); + } + } catch (_) { + throw err; + } + } + + return pth; + }; + + return make(path.resolve(input)); +}; diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/make-dir/1.0.0/node_modules/make-dir/license b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/make-dir/1.0.0/node_modules/make-dir/license new file mode 100644 index 0000000000..654d0bfe94 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/make-dir/1.0.0/node_modules/make-dir/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.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. diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/make-dir/1.0.0/node_modules/make-dir/package.json b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/make-dir/1.0.0/node_modules/make-dir/package.json new file mode 100644 index 0000000000..83a1def18c --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/make-dir/1.0.0/node_modules/make-dir/package.json @@ -0,0 +1,54 @@ +{ + "name": "make-dir", + "version": "1.0.0", + "description": "Make a directory and its parents if needed - Think `mkdir -p`", + "license": "MIT", + "repository": "sindresorhus/make-dir", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && nyc ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "mkdir", + "mkdirp", + "make", + "directories", + "dir", + "dirs", + "folders", + "directory", + "folder", + "path", + "parent", + "parents", + "intermediate", + "recursively", + "recursive", + "create", + "fs", + "filesystem", + "file-system" + ], + "dependencies": { + "pify": "^2.3.0" + }, + "devDependencies": { + "ava": "*", + "coveralls": "^2.13.0", + "graceful-fs": "^4.1.11", + "nyc": "^10.2.0", + "path-type": "^2.0.0", + "tempy": "^0.1.0", + "xo": "*" + } +} diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/make-dir/1.0.0/node_modules/make-dir/readme.md b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/make-dir/1.0.0/node_modules/make-dir/readme.md new file mode 100644 index 0000000000..23cf232521 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/make-dir/1.0.0/node_modules/make-dir/readme.md @@ -0,0 +1,113 @@ +# make-dir [![Build Status: macOS & Linux](https://travis-ci.org/sindresorhus/make-dir.svg?branch=master)](https://travis-ci.org/sindresorhus/make-dir) [![Build status: Windows](https://ci.appveyor.com/api/projects/status/e0vtt8y600w91gcs/branch/master?svg=true)](https://ci.appveyor.com/project/sindresorhus/make-dir/branch/master) [![Coverage Status](https://coveralls.io/repos/github/sindresorhus/make-dir/badge.svg)](https://coveralls.io/github/sindresorhus/make-dir) + +> Make a directory and its parents if needed - Think `mkdir -p` + + +## Advantages over [`mkdirp`](https://github.com/substack/node-mkdirp) + +- Promise API *(Async/await ready!)* +- Fixes many `mkdirp` issues: [#96](https://github.com/substack/node-mkdirp/pull/96) [#70](https://github.com/substack/node-mkdirp/issues/70) [#66](https://github.com/substack/node-mkdirp/issues/66) +- 100% test coverage +- CI-tested on macOS, Linux, and Windows +- Actively maintained +- Doesn't bundle a CLI + + +## Install + +``` +$ npm install --save make-dir +``` + + +## Usage + +``` +$ pwd +/Users/sindresorhus/fun +$ tree +. +``` + +```js +const makeDir = require('make-dir'); + +makeDir('unicorn/rainbow/cake').then(path => { + console.log(path); + //=> '/Users/sindresorhus/fun/unicorn/rainbow/cake' +}); +``` + +``` +$ tree +. +└── unicorn + └── rainbow + └── cake +``` + +Multiple directories: + +```js +const makeDir = require('make-dir'); + +Promise.all([ + makeDir('unicorn/rainbow') + makeDir('foo/bar') +]).then(paths => { + console.log(paths); + /* + [ + '/Users/sindresorhus/fun/unicorn/rainbow', + '/Users/sindresorhus/fun/foo/bar' + ] + */ +}); +``` + + +## API + +### makeDir(path, [options]) + +Returns a `Promise` for the path to the created directory. + +### makeDir.sync(path, [options]) + +Returns the path to the created directory. + +#### path + +Type: `string` + +Directory to create. + +#### options + +Type: `Object` + +##### mode + +Type: `integer`
+Default: `0o777 & (~process.umask())` + +Directory [permissions](https://x-team.com/blog/file-system-permissions-umask-node-js/). + +##### fs + +Type: `Object`
+Default: `require('fs')` + +Use a custom `fs` implementation. For example [`graceful-fs`](https://github.com/isaacs/node-graceful-fs). + + +## Related + +- [make-dir-cli](https://github.com/sindresorhus/make-dir-cli) - CLI for this module +- [del](https://github.com/sindresorhus/del) - Delete files and directories +- [globby](https://github.com/sindresorhus/globby) - User-friendly glob matching + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/make-dir/1.0.0/node_modules/pify b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/make-dir/1.0.0/node_modules/pify new file mode 120000 index 0000000000..39b64b43bb --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/make-dir/1.0.0/node_modules/pify @@ -0,0 +1 @@ +../../../pify/2.3.0/node_modules/pify \ No newline at end of file diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/pify/2.3.0/node_modules/pify/index.js b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/pify/2.3.0/node_modules/pify/index.js new file mode 100644 index 0000000000..7c720ebee8 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/pify/2.3.0/node_modules/pify/index.js @@ -0,0 +1,68 @@ +'use strict'; + +var processFn = function (fn, P, opts) { + return function () { + var that = this; + var args = new Array(arguments.length); + + for (var i = 0; i < arguments.length; i++) { + args[i] = arguments[i]; + } + + return new P(function (resolve, reject) { + args.push(function (err, result) { + if (err) { + reject(err); + } else if (opts.multiArgs) { + var results = new Array(arguments.length - 1); + + for (var i = 1; i < arguments.length; i++) { + results[i - 1] = arguments[i]; + } + + resolve(results); + } else { + resolve(result); + } + }); + + fn.apply(that, args); + }); + }; +}; + +var pify = module.exports = function (obj, P, opts) { + if (typeof P !== 'function') { + opts = P; + P = Promise; + } + + opts = opts || {}; + opts.exclude = opts.exclude || [/.+Sync$/]; + + var filter = function (key) { + var match = function (pattern) { + return typeof pattern === 'string' ? key === pattern : pattern.test(key); + }; + + return opts.include ? opts.include.some(match) : !opts.exclude.some(match); + }; + + var ret = typeof obj === 'function' ? function () { + if (opts.excludeMain) { + return obj.apply(this, arguments); + } + + return processFn(obj, P, opts).apply(this, arguments); + } : {}; + + return Object.keys(obj).reduce(function (ret, key) { + var x = obj[key]; + + ret[key] = typeof x === 'function' && filter(key) ? processFn(x, P, opts) : x; + + return ret; + }, ret); +}; + +pify.all = pify; diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/pify/2.3.0/node_modules/pify/license b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/pify/2.3.0/node_modules/pify/license new file mode 100644 index 0000000000..654d0bfe94 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/pify/2.3.0/node_modules/pify/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.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. diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/pify/2.3.0/node_modules/pify/package.json b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/pify/2.3.0/node_modules/pify/package.json new file mode 100644 index 0000000000..311d1982e0 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/pify/2.3.0/node_modules/pify/package.json @@ -0,0 +1,48 @@ +{ + "name": "pify", + "version": "2.3.0", + "description": "Promisify a callback-style function", + "license": "MIT", + "repository": "sindresorhus/pify", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "xo && ava && npm run optimization-test", + "optimization-test": "node --allow-natives-syntax optimization-test.js" + }, + "files": [ + "index.js" + ], + "keywords": [ + "promise", + "promises", + "promisify", + "denodify", + "denodeify", + "callback", + "cb", + "node", + "then", + "thenify", + "convert", + "transform", + "wrap", + "wrapper", + "bind", + "to", + "async", + "es2015" + ], + "devDependencies": { + "ava": "*", + "pinkie-promise": "^1.0.0", + "v8-natives": "0.0.2", + "xo": "*" + } +} diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/pify/2.3.0/node_modules/pify/readme.md b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/pify/2.3.0/node_modules/pify/readme.md new file mode 100644 index 0000000000..c79ca8bf64 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/pify/2.3.0/node_modules/pify/readme.md @@ -0,0 +1,119 @@ +# pify [![Build Status](https://travis-ci.org/sindresorhus/pify.svg?branch=master)](https://travis-ci.org/sindresorhus/pify) + +> Promisify a callback-style function + + +## Install + +``` +$ npm install --save pify +``` + + +## Usage + +```js +const fs = require('fs'); +const pify = require('pify'); + +// promisify a single function + +pify(fs.readFile)('package.json', 'utf8').then(data => { + console.log(JSON.parse(data).name); + //=> 'pify' +}); + +// or promisify all methods in a module + +pify(fs).readFile('package.json', 'utf8').then(data => { + console.log(JSON.parse(data).name); + //=> 'pify' +}); +``` + + +## API + +### pify(input, [promiseModule], [options]) + +Returns a promise wrapped version of the supplied function or module. + +#### input + +Type: `function`, `object` + +Callback-style function or module whose methods you want to promisify. + +#### promiseModule + +Type: `function` + +Custom promise module to use instead of the native one. + +Check out [`pinkie-promise`](https://github.com/floatdrop/pinkie-promise) if you need a tiny promise polyfill. + +#### options + +##### multiArgs + +Type: `boolean` +Default: `false` + +By default, the promisified function will only return the second argument from the callback, which works fine for most APIs. This option can be useful for modules like `request` that return multiple arguments. Turning this on will make it return an array of all arguments from the callback, excluding the error argument, instead of just the second argument. + +```js +const request = require('request'); +const pify = require('pify'); + +pify(request, {multiArgs: true})('https://sindresorhus.com').then(result => { + const [httpResponse, body] = result; +}); +``` + +##### include + +Type: `array` of (`string`|`regex`) + +Methods in a module to promisify. Remaining methods will be left untouched. + +##### exclude + +Type: `array` of (`string`|`regex`) +Default: `[/.+Sync$/]` + +Methods in a module **not** to promisify. Methods with names ending with `'Sync'` are excluded by default. + +##### excludeMain + +Type: `boolean` +Default: `false` + +By default, if given module is a function itself, this function will be promisified. Turn this option on if you want to promisify only methods of the module. + +```js +const pify = require('pify'); + +function fn() { + return true; +} + +fn.method = (data, callback) => { + setImmediate(() => { + callback(data, null); + }); +}; + +// promisify methods but not fn() +const promiseFn = pify(fn, {excludeMain: true}); + +if (promiseFn()) { + promiseFn.method('hi').then(data => { + console.log(data); + }); +} +``` + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/slide/1.1.6/node_modules/slide/LICENSE b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/slide/1.1.6/node_modules/slide/LICENSE new file mode 100644 index 0000000000..05eeeb88c2 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/slide/1.1.6/node_modules/slide/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/slide/1.1.6/node_modules/slide/README.md b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/slide/1.1.6/node_modules/slide/README.md new file mode 100644 index 0000000000..59ad738bca --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/slide/1.1.6/node_modules/slide/README.md @@ -0,0 +1,143 @@ +# Controlling Flow: callbacks are easy + +## What's actually hard? + +- Doing a bunch of things in a specific order. +- Knowing when stuff is done. +- Handling failures. +- Breaking up functionality into parts (avoid nested inline callbacks) + + +## Common Mistakes + +- Abandoning convention and consistency. +- Putting all callbacks inline. +- Using libraries without grokking them. +- Trying to make async code look sync. + +## Define Conventions + +- Two kinds of functions: *actors* take action, *callbacks* get results. +- Essentially the continuation pattern. Resulting code *looks* similar + to fibers, but is *much* simpler to implement. +- Node works this way in the lowlevel APIs already, and it's very flexible. + +## Callbacks + +- Simple responders +- Must always be prepared to handle errors, that's why it's the first argument. +- Often inline anonymous, but not always. +- Can trap and call other callbacks with modified data, or pass errors upwards. + +## Actors + +- Last argument is a callback. +- If any error occurs, and can't be handled, pass it to the callback and return. +- Must not throw. Return value ignored. +- return x ==> return cb(null, x) +- throw er ==> return cb(er) + +```javascript +// return true if a path is either +// a symlink or a directory. +function isLinkOrDir (path, cb) { + fs.lstat(path, function (er, s) { + if (er) return cb(er) + return cb(null, s.isDirectory() || s.isSymbolicLink()) + }) +} +``` + +# asyncMap + +## Usecases + +- I have a list of 10 files, and need to read all of them, and then continue when they're all done. +- I have a dozen URLs, and need to fetch them all, and then continue when they're all done. +- I have 4 connected users, and need to send a message to all of them, and then continue when that's done. +- I have a list of n things, and I need to dosomething with all of them, in parallel, and get the results once they're all complete. + + +## Solution + +```javascript +var asyncMap = require("slide").asyncMap +function writeFiles (files, what, cb) { + asyncMap(files, function (f, cb) { + fs.writeFile(f, what, cb) + }, cb) +} +writeFiles([my, file, list], "foo", cb) +``` + +# chain + +## Usecases + +- I have to do a bunch of things, in order. Get db credentials out of a file, + read the data from the db, write that data to another file. +- If anything fails, do not continue. +- I still have to provide an array of functions, which is a lot of boilerplate, + and a pita if your functions take args like + +```javascript +function (cb) { + blah(a, b, c, cb) +} +``` + +- Results are discarded, which is a bit lame. +- No way to branch. + +## Solution + +- reduces boilerplate by converting an array of [fn, args] to an actor + that takes no arguments (except cb) +- A bit like Function#bind, but tailored for our use-case. +- bindActor(obj, "method", a, b, c) +- bindActor(fn, a, b, c) +- bindActor(obj, fn, a, b, c) +- branching, skipping over falsey arguments + +```javascript +chain([ + doThing && [thing, a, b, c] +, isFoo && [doFoo, "foo"] +, subChain && [chain, [one, two]] +], cb) +``` + +- tracking results: results are stored in an optional array passed as argument, + last result is always in results[results.length - 1]. +- treat chain.first and chain.last as placeholders for the first/last + result up until that point. + + +## Non-trivial example + +- Read number files in a directory +- Add the results together +- Ping a web service with the result +- Write the response to a file +- Delete the number files + +```javascript +var chain = require("slide").chain +function myProgram (cb) { + var res = [], last = chain.last, first = chain.first + chain([ + [fs, "readdir", "the-directory"] + , [readFiles, "the-directory", last] + , [sum, last] + , [ping, "POST", "example.com", 80, "/foo", last] + , [fs, "writeFile", "result.txt", last] + , [rmFiles, "./the-directory", first] + ], res, cb) +} +``` + +# Conclusion: Convention Profits + +- Consistent API from top to bottom. +- Sneak in at any point to inject functionality. Testable, reusable, ... +- When ruby and python users whine, you can smile condescendingly. diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/slide/1.1.6/node_modules/slide/index.js b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/slide/1.1.6/node_modules/slide/index.js new file mode 100644 index 0000000000..0a9277f6ee --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/slide/1.1.6/node_modules/slide/index.js @@ -0,0 +1 @@ +module.exports=require("./lib/slide") diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/slide/1.1.6/node_modules/slide/package.json b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/slide/1.1.6/node_modules/slide/package.json new file mode 100644 index 0000000000..7799184791 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/slide/1.1.6/node_modules/slide/package.json @@ -0,0 +1,20 @@ +{ + "name": "slide", + "version": "1.1.6", + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "contributors": [ + "S. Sriram (http://www.565labs.com)" + ], + "description": "A flow control lib small enough to fit on in a slide presentation. Derived live at Oak.JS", + "main": "./lib/slide.js", + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": "*" + }, + "repository": { + "type": "git", + "url": "git://github.com/isaacs/slide-flow-control.git" + }, + "license": "ISC" +} diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/1.1.2/node_modules/is-plain-obj b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/1.1.2/node_modules/is-plain-obj new file mode 120000 index 0000000000..72bf97d869 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/1.1.2/node_modules/is-plain-obj @@ -0,0 +1 @@ +../../../is-plain-obj/1.1.0/node_modules/is-plain-obj \ No newline at end of file diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/1.1.2/node_modules/sort-keys/index.js b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/1.1.2/node_modules/sort-keys/index.js new file mode 100644 index 0000000000..f75a0e0535 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/1.1.2/node_modules/sort-keys/index.js @@ -0,0 +1,44 @@ +'use strict'; +var isPlainObj = require('is-plain-obj'); + +module.exports = function (obj, opts) { + if (!isPlainObj(obj)) { + throw new TypeError('Expected a plain object'); + } + + opts = opts || {}; + + // DEPRECATED + if (typeof opts === 'function') { + opts = {compare: opts}; + } + + var deep = opts.deep; + var seenInput = []; + var seenOutput = []; + + var sortKeys = function (x) { + var seenIndex = seenInput.indexOf(x); + + if (seenIndex !== -1) { + return seenOutput[seenIndex]; + } + + var ret = {}; + var keys = Object.keys(x).sort(opts.compare); + + seenInput.push(x); + seenOutput.push(ret); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var val = x[key]; + + ret[key] = deep && isPlainObj(val) ? sortKeys(val) : val; + } + + return ret; + }; + + return sortKeys(obj); +}; diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/1.1.2/node_modules/sort-keys/license b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/1.1.2/node_modules/sort-keys/license new file mode 100644 index 0000000000..654d0bfe94 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/1.1.2/node_modules/sort-keys/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.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. diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/1.1.2/node_modules/sort-keys/package.json b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/1.1.2/node_modules/sort-keys/package.json new file mode 100644 index 0000000000..dff0653827 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/1.1.2/node_modules/sort-keys/package.json @@ -0,0 +1,40 @@ +{ + "name": "sort-keys", + "version": "1.1.2", + "description": "Sort the keys of an object", + "license": "MIT", + "repository": "sindresorhus/sort-keys", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "xo && mocha" + }, + "files": [ + "index.js" + ], + "keywords": [ + "sort", + "object", + "keys", + "obj", + "key", + "stable", + "deterministic", + "deep", + "recursive", + "recursively" + ], + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "devDependencies": { + "mocha": "*", + "xo": "*" + } +} diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/1.1.2/node_modules/sort-keys/readme.md b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/1.1.2/node_modules/sort-keys/readme.md new file mode 100644 index 0000000000..a671ffb3de --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/1.1.2/node_modules/sort-keys/readme.md @@ -0,0 +1,60 @@ +# sort-keys [![Build Status](https://travis-ci.org/sindresorhus/sort-keys.svg?branch=master)](https://travis-ci.org/sindresorhus/sort-keys) + +> Sort the keys of an object + +Useful to get a deterministically ordered object, as the order of keys can vary between engines. + + +## Install + +``` +$ npm install --save sort-keys +``` + + +## Usage + +```js +const sortKeys = require('sort-keys'); + +sortKeys({c: 0, a: 0, b: 0}); +//=> {a: 0, b: 0, c: 0} + +sortKeys({b: {b: 0, a: 0}, a: 0}, {deep: true}); +//=> {a: 0, b: {a: 0, b: 0}} + +sortKeys({c: 0, a: 0, b: 0}, { + compare: (a, b) => -a.localeCompare(b) +}); +//=> {c: 0, b: 0, a: 0} +``` + + +## API + +### sortKeys(input, [options]) + +Returns a new object with sorted keys. + +#### input + +Type: `Object` + +#### options + +##### deep + +Type: `boolean` + +Recursively sort keys. + +##### compare + +Type: `Function` + +[Compare function.](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/2.0.0/node_modules/is-plain-obj b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/2.0.0/node_modules/is-plain-obj new file mode 120000 index 0000000000..72bf97d869 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/2.0.0/node_modules/is-plain-obj @@ -0,0 +1 @@ +../../../is-plain-obj/1.1.0/node_modules/is-plain-obj \ No newline at end of file diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/2.0.0/node_modules/sort-keys/index.js b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/2.0.0/node_modules/sort-keys/index.js new file mode 100644 index 0000000000..53489d7888 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/2.0.0/node_modules/sort-keys/index.js @@ -0,0 +1,55 @@ +'use strict'; +const isPlainObj = require('is-plain-obj'); + +module.exports = (obj, opts) => { + if (!isPlainObj(obj)) { + throw new TypeError('Expected a plain object'); + } + + opts = opts || {}; + + // DEPRECATED + if (typeof opts === 'function') { + throw new TypeError('Specify the compare function as an option instead'); + } + + const deep = opts.deep; + const seenInput = []; + const seenOutput = []; + + const sortKeys = x => { + const seenIndex = seenInput.indexOf(x); + + if (seenIndex !== -1) { + return seenOutput[seenIndex]; + } + + const ret = {}; + const keys = Object.keys(x).sort(opts.compare); + + seenInput.push(x); + seenOutput.push(ret); + + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const val = x[key]; + + if (deep && Array.isArray(val)) { + const retArr = []; + + for (let j = 0; j < val.length; j++) { + retArr[j] = isPlainObj(val[j]) ? sortKeys(val[j]) : val[j]; + } + + ret[key] = retArr; + continue; + } + + ret[key] = deep && isPlainObj(val) ? sortKeys(val) : val; + } + + return ret; + }; + + return sortKeys(obj); +}; diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/2.0.0/node_modules/sort-keys/license b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/2.0.0/node_modules/sort-keys/license new file mode 100644 index 0000000000..e7af2f7710 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/2.0.0/node_modules/sort-keys/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.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. diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/2.0.0/node_modules/sort-keys/package.json b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/2.0.0/node_modules/sort-keys/package.json new file mode 100644 index 0000000000..3da9c7659d --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/2.0.0/node_modules/sort-keys/package.json @@ -0,0 +1,40 @@ +{ + "name": "sort-keys", + "version": "2.0.0", + "description": "Sort the keys of an object", + "license": "MIT", + "repository": "sindresorhus/sort-keys", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "sort", + "object", + "keys", + "obj", + "key", + "stable", + "deterministic", + "deep", + "recursive", + "recursively" + ], + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "devDependencies": { + "ava": "*", + "xo": "*" + } +} diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/2.0.0/node_modules/sort-keys/readme.md b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/2.0.0/node_modules/sort-keys/readme.md new file mode 100644 index 0000000000..a671ffb3de --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/sort-keys/2.0.0/node_modules/sort-keys/readme.md @@ -0,0 +1,60 @@ +# sort-keys [![Build Status](https://travis-ci.org/sindresorhus/sort-keys.svg?branch=master)](https://travis-ci.org/sindresorhus/sort-keys) + +> Sort the keys of an object + +Useful to get a deterministically ordered object, as the order of keys can vary between engines. + + +## Install + +``` +$ npm install --save sort-keys +``` + + +## Usage + +```js +const sortKeys = require('sort-keys'); + +sortKeys({c: 0, a: 0, b: 0}); +//=> {a: 0, b: 0, c: 0} + +sortKeys({b: {b: 0, a: 0}, a: 0}, {deep: true}); +//=> {a: 0, b: {a: 0, b: 0}} + +sortKeys({c: 0, a: 0, b: 0}, { + compare: (a, b) => -a.localeCompare(b) +}); +//=> {c: 0, b: 0, a: 0} +``` + + +## API + +### sortKeys(input, [options]) + +Returns a new object with sorted keys. + +#### input + +Type: `Object` + +#### options + +##### deep + +Type: `boolean` + +Recursively sort keys. + +##### compare + +Type: `Function` + +[Compare function.](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/graceful-fs b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/graceful-fs new file mode 120000 index 0000000000..4db8bdb9f8 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/graceful-fs @@ -0,0 +1 @@ +../../../graceful-fs/4.1.11/node_modules/graceful-fs \ No newline at end of file diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/imurmurhash b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/imurmurhash new file mode 120000 index 0000000000..9bfdc15b1e --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/imurmurhash @@ -0,0 +1 @@ +../../../imurmurhash/0.1.4/node_modules/imurmurhash \ No newline at end of file diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/slide b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/slide new file mode 120000 index 0000000000..e4aacf8846 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/slide @@ -0,0 +1 @@ +../../../slide/1.1.6/node_modules/slide \ No newline at end of file diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/write-file-atomic/LICENSE b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/write-file-atomic/LICENSE new file mode 100644 index 0000000000..95e65a7706 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/write-file-atomic/LICENSE @@ -0,0 +1,6 @@ +Copyright (c) 2015, Rebecca Turner + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/write-file-atomic/README.md b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/write-file-atomic/README.md new file mode 100644 index 0000000000..63f00420ca --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/write-file-atomic/README.md @@ -0,0 +1,47 @@ +write-file-atomic +----------------- + +This is an extension for node's `fs.writeFile` that makes its operation +atomic and allows you set ownership (uid/gid of the file). + +### var writeFileAtomic = require('write-file-atomic')
writeFileAtomic(filename, data, [options], callback) + +* filename **String** +* data **String** | **Buffer** +* options **Object** + * chown **Object** + * uid **Number** + * gid **Number** + * encoding **String** | **Null** default = 'utf8' + * fsync **Boolean** default = true + * mode **Number** default = 438 (aka 0666 in Octal) +callback **Function** + +Atomically and asynchronously writes data to a file, replacing the file if it already +exists. data can be a string or a buffer. + +The file is initially named `filename + "." + murmurhex(__filename, process.pid, ++invocations)`. +If writeFile completes successfully then, if passed the **chown** option it will change +the ownership of the file. Finally it renames the file back to the filename you specified. If +it encounters errors at any of these steps it will attempt to unlink the temporary file and then +pass the error back to the caller. + +If provided, the **chown** option requires both **uid** and **gid** properties or else +you'll get an error. + +The **encoding** option is ignored if **data** is a buffer. It defaults to 'utf8'. + +If the **fsync** option is **false**, writeFile will skip the final fsync call. + +Example: + +```javascript +writeFileAtomic('message.txt', 'Hello Node', {chown:{uid:100,gid:50}}, function (err) { + if (err) throw err; + console.log('It\'s saved!'); +}); +``` + +### var writeFileAtomicSync = require('write-file-atomic').sync
writeFileAtomicSync(filename, data, [options]) + +The synchronous version of **writeFileAtomic**. diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/write-file-atomic/index.js b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/write-file-atomic/index.js new file mode 100644 index 0000000000..c677ee9622 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/write-file-atomic/index.js @@ -0,0 +1,134 @@ +'use strict' +module.exports = writeFile +module.exports.sync = writeFileSync +module.exports._getTmpname = getTmpname // for testing + +var fs = require('graceful-fs') +var chain = require('slide').chain +var MurmurHash3 = require('imurmurhash') + +var invocations = 0 +function getTmpname (filename) { + return filename + '.' + + MurmurHash3(__filename) + .hash(String(process.pid)) + .hash(String(++invocations)) + .result() +} + +function writeFile (filename, data, options, callback) { + if (options instanceof Function) { + callback = options + options = null + } + if (!options) options = {} + fs.realpath(filename, function (_, realname) { + _writeFile(realname || filename, data, options, callback) + }) +} +function _writeFile (filename, data, options, callback) { + var tmpfile = getTmpname(filename) + + if (options.mode && options.chown) { + return thenWriteFile() + } else { + // Either mode or chown is not explicitly set + // Default behavior is to copy it from original file + return fs.stat(filename, function (err, stats) { + if (err || !stats) return thenWriteFile() + + options = Object.assign({}, options) + if (!options.mode) { + options.mode = stats.mode + } + if (!options.chown && process.getuid) { + options.chown = { uid: stats.uid, gid: stats.gid } + } + return thenWriteFile() + }) + } + + function thenWriteFile () { + chain([ + [writeFileAsync, tmpfile, data, options.mode, options.encoding || 'utf8'], + options.chown && [fs, fs.chown, tmpfile, options.chown.uid, options.chown.gid], + options.mode && [fs, fs.chmod, tmpfile, options.mode], + [fs, fs.rename, tmpfile, filename] + ], function (err) { + err ? fs.unlink(tmpfile, function () { callback(err) }) + : callback() + }) + } + + // doing this instead of `fs.writeFile` in order to get the ability to + // call `fsync`. + function writeFileAsync (file, data, mode, encoding, cb) { + fs.open(file, 'w', options.mode, function (err, fd) { + if (err) return cb(err) + if (Buffer.isBuffer(data)) { + return fs.write(fd, data, 0, data.length, 0, syncAndClose) + } else if (data != null) { + return fs.write(fd, String(data), 0, String(encoding), syncAndClose) + } else { + return syncAndClose() + } + function syncAndClose (err) { + if (err) return cb(err) + if (options.fsync !== false) { + fs.fsync(fd, function (err) { + if (err) return cb(err) + fs.close(fd, cb) + }) + } else { + fs.close(fd, cb) + } + } + }) + } +} + +function writeFileSync (filename, data, options) { + if (!options) options = {} + try { + filename = fs.realpathSync(filename) + } catch (ex) { + // it's ok, it'll happen on a not yet existing file + } + var tmpfile = getTmpname(filename) + + try { + if (!options.mode || !options.chown) { + // Either mode or chown is not explicitly set + // Default behavior is to copy it from original file + try { + var stats = fs.statSync(filename) + options = Object.assign({}, options) + if (!options.mode) { + options.mode = stats.mode + } + if (!options.chown && process.getuid) { + options.chown = { uid: stats.uid, gid: stats.gid } + } + } catch (ex) { + // ignore stat errors + } + } + + var fd = fs.openSync(tmpfile, 'w', options.mode) + if (Buffer.isBuffer(data)) { + fs.writeSync(fd, data, 0, data.length, 0) + } else if (data != null) { + fs.writeSync(fd, String(data), 0, String(options.encoding || 'utf8')) + } + if (options.fsync !== false) { + fs.fsyncSync(fd) + } + fs.closeSync(fd) + if (options.chown) fs.chownSync(tmpfile, options.chown.uid, options.chown.gid) + if (options.mode) fs.chmodSync(tmpfile, options.mode) + fs.renameSync(tmpfile, filename) + } catch (err) { + try { fs.unlinkSync(tmpfile) } catch (e) {} + throw err + } +} diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/write-file-atomic/package.json b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/write-file-atomic/package.json new file mode 100644 index 0000000000..b43cbe09ff --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-file-atomic/2.1.0/node_modules/write-file-atomic/package.json @@ -0,0 +1,38 @@ +{ + "name": "write-file-atomic", + "version": "2.1.0", + "description": "Write files in an atomic fashion w/configurable ownership", + "main": "index.js", + "scripts": { + "test": "standard && tap --100 test/*.js" + }, + "repository": { + "type": "git", + "url": "git@github.com:iarna/write-file-atomic.git" + }, + "keywords": [ + "writeFile", + "atomic" + ], + "author": "Rebecca Turner (http://re-becca.org)", + "license": "ISC", + "bugs": { + "url": "https://github.com/iarna/write-file-atomic/issues" + }, + "homepage": "https://github.com/iarna/write-file-atomic", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" + }, + "devDependencies": { + "mkdirp": "^0.5.1", + "require-inject": "^1.4.0", + "rimraf": "^2.5.4", + "standard": "^10.0.2", + "tap": "^10.3.2" + }, + "files": [ + "index.js" + ] +} diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/detect-indent b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/detect-indent new file mode 120000 index 0000000000..abe8c4d3f2 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/detect-indent @@ -0,0 +1 @@ +../../../detect-indent/5.0.0/node_modules/detect-indent \ No newline at end of file diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/graceful-fs b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/graceful-fs new file mode 120000 index 0000000000..4db8bdb9f8 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/graceful-fs @@ -0,0 +1 @@ +../../../graceful-fs/4.1.11/node_modules/graceful-fs \ No newline at end of file diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/make-dir b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/make-dir new file mode 120000 index 0000000000..f47c1359b9 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/make-dir @@ -0,0 +1 @@ +../../../make-dir/1.0.0/node_modules/make-dir \ No newline at end of file diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/pify b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/pify new file mode 120000 index 0000000000..39b64b43bb --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/pify @@ -0,0 +1 @@ +../../../pify/2.3.0/node_modules/pify \ No newline at end of file diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/sort-keys b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/sort-keys new file mode 120000 index 0000000000..c3d04f44c7 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/sort-keys @@ -0,0 +1 @@ +../../../sort-keys/1.1.2/node_modules/sort-keys \ No newline at end of file diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/write-file-atomic b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/write-file-atomic new file mode 120000 index 0000000000..65010c6645 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/write-file-atomic @@ -0,0 +1 @@ +../../../write-file-atomic/2.1.0/node_modules/write-file-atomic \ No newline at end of file diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/write-json-file/index.js b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/write-json-file/index.js new file mode 100644 index 0000000000..cbd7e706a0 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/write-json-file/index.js @@ -0,0 +1,73 @@ +'use strict'; +const path = require('path'); +const fs = require('graceful-fs'); +const writeFileAtomic = require('write-file-atomic'); +const sortKeys = require('sort-keys'); +const makeDir = require('make-dir'); +const pify = require('pify'); +const detectIndent = require('detect-indent'); + +const init = (fn, fp, data, opts) => { + if (!fp) { + throw new TypeError('Expected a filepath'); + } + + if (data === undefined) { + throw new TypeError('Expected data to stringify'); + } + + opts = Object.assign({ + indent: '\t', + sortKeys: false + }, opts); + + if (opts.sortKeys) { + data = sortKeys(data, { + deep: true, + compare: typeof opts.sortKeys === 'function' && opts.sortKeys + }); + } + + return fn(fp, data, opts); +}; + +const readFile = fp => pify(fs.readFile)(fp, 'utf8').catch(() => {}); + +const main = (fp, data, opts) => { + return (opts.detectIndent ? readFile(fp) : Promise.resolve()) + .then(str => { + const indent = str ? detectIndent(str).indent : opts.indent; + const json = JSON.stringify(data, opts.replacer, indent); + + return pify(writeFileAtomic)(fp, `${json}\n`, {mode: opts.mode}); + }); +}; + +const mainSync = (fp, data, opts) => { + let indent = opts.indent; + + if (opts.detectIndent) { + try { + const file = fs.readFileSync(fp, 'utf8'); + indent = detectIndent(file).indent; + } catch (err) { + if (err.code !== 'ENOENT') { + throw err; + } + } + } + + const json = JSON.stringify(data, opts.replacer, indent); + + return writeFileAtomic.sync(fp, `${json}\n`, {mode: opts.mode}); +}; + +module.exports = (fp, data, opts) => { + return makeDir(path.dirname(fp), {fs}) + .then(() => init(main, fp, data, opts)); +}; + +module.exports.sync = (fp, data, opts) => { + makeDir.sync(path.dirname(fp), {fs}); + init(mainSync, fp, data, opts); +}; diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/write-json-file/license b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/write-json-file/license new file mode 100644 index 0000000000..e7af2f7710 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/write-json-file/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.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. diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/write-json-file/package.json b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/write-json-file/package.json new file mode 100644 index 0000000000..51f6a1d43c --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/write-json-file/package.json @@ -0,0 +1,48 @@ +{ + "name": "write-json-file", + "version": "2.2.0", + "description": "Stringify and write JSON to a file atomically", + "license": "MIT", + "repository": "sindresorhus/write-json-file", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "write", + "json", + "stringify", + "file", + "fs", + "graceful", + "stable", + "sort", + "newline", + "indent", + "atomic", + "atomically" + ], + "dependencies": { + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "pify": "^2.0.0", + "sort-keys": "^1.1.1", + "write-file-atomic": "^2.0.0" + }, + "devDependencies": { + "ava": "*", + "tempfile": "^2.0.0", + "xo": "*" + } +} diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/write-json-file/readme.md b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/write-json-file/readme.md new file mode 100644 index 0000000000..ab9162889a --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-json-file/2.2.0/node_modules/write-json-file/readme.md @@ -0,0 +1,83 @@ +# write-json-file [![Build Status](https://travis-ci.org/sindresorhus/write-json-file.svg?branch=master)](https://travis-ci.org/sindresorhus/write-json-file) + +> Stringify and write JSON to a file [atomically](https://github.com/npm/write-file-atomic) + +Creates directories for you as needed. + + +## Install + +``` +$ npm install --save write-json-file +``` + + +## Usage + +```js +const writeJsonFile = require('write-json-file'); + +writeJsonFile('foo.json', {foo: true}).then(() => { + console.log('done'); +}); +``` + + +## API + +### writeJsonFile(filepath, data, [options]) + +Returns a `Promise`. + +### writeJsonFile.sync(filepath, data, [options]) + +#### options + +Type: `Object` + +##### indent + +Type: `string` `number`
+Default: `\t` + +Indentation as a string or number of spaces.
+Pass in `null` for no formatting. + +##### detectIndent + +Type: `boolean`
+Default: `false` + +Detect indentation automatically if the file exists. + +##### sortKeys + +Type: `boolean` `function`
+Default: `false` + +Sort the keys recursively.
+Optionally pass in a [`compare`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) function. + +##### replacer + +Type: `function` + +Passed into [`JSON.stringify`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_replacer_parameter). + +##### mode + +Type: `number`
+Default: `0o666` + +[Mode](https://en.wikipedia.org/wiki/File_system_permissions#Numeric_notation) used when writing the file. + + +## Related + +- [load-json-file](https://github.com/sindresorhus/load-json-file) - Read and parse a JSON file +- [make-dir](https://github.com/sindresorhus/make-dir) - Make a directory and its parents if needed + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/sort-keys b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/sort-keys new file mode 120000 index 0000000000..5068a4a28c --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/sort-keys @@ -0,0 +1 @@ +../../../sort-keys/2.0.0/node_modules/sort-keys \ No newline at end of file diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/write-json-file b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/write-json-file new file mode 120000 index 0000000000..d0a27707d4 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/write-json-file @@ -0,0 +1 @@ +../../../write-json-file/2.2.0/node_modules/write-json-file \ No newline at end of file diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/write-pkg/index.js b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/write-pkg/index.js new file mode 100644 index 0000000000..981cc0b547 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/write-pkg/index.js @@ -0,0 +1,53 @@ +'use strict'; +const path = require('path'); +const writeJsonFile = require('write-json-file'); +const sortKeys = require('sort-keys'); + +const opts = {detectIndent: true}; + +const dependencyKeys = new Set([ + 'dependencies', + 'devDependencies', + 'optionalDependencies', + 'peerDependencies' +]); + +function normalize(pkg) { + const ret = {}; + + for (const key of Object.keys(pkg)) { + if (!dependencyKeys.has(key)) { + ret[key] = pkg[key]; + } else if (Object.keys(pkg[key]).length !== 0) { + ret[key] = sortKeys(pkg[key]); + } + } + + return ret; +} + +module.exports = (fp, data) => { + if (typeof fp !== 'string') { + data = fp; + fp = '.'; + } + + fp = path.basename(fp) === 'package.json' ? fp : path.join(fp, 'package.json'); + + data = normalize(data); + + return writeJsonFile(fp, data, opts); +}; + +module.exports.sync = (fp, data) => { + if (typeof fp !== 'string') { + data = fp; + fp = '.'; + } + + fp = path.basename(fp) === 'package.json' ? fp : path.join(fp, 'package.json'); + + data = normalize(data); + + writeJsonFile.sync(fp, data, opts); +}; diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/write-pkg/license b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/write-pkg/license new file mode 100644 index 0000000000..e7af2f7710 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/write-pkg/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.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. diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/write-pkg/package.json b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/write-pkg/package.json new file mode 100644 index 0000000000..c0ca39a2ce --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/write-pkg/package.json @@ -0,0 +1,41 @@ +{ + "name": "write-pkg", + "version": "3.1.0", + "description": "Write a package.json file", + "license": "MIT", + "repository": "sindresorhus/write-pkg", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "json", + "write", + "stringify", + "file", + "fs", + "graceful", + "pkg", + "package" + ], + "dependencies": { + "sort-keys": "^2.0.0", + "write-json-file": "^2.2.0" + }, + "devDependencies": { + "ava": "*", + "read-pkg": "^2.0.0", + "tempfile": "^2.0.0", + "xo": "*" + } +} diff --git a/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/write-pkg/readme.md b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/write-pkg/readme.md new file mode 100644 index 0000000000..a10a8b6d92 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.registry.npmjs.org/write-pkg/3.1.0/node_modules/write-pkg/readme.md @@ -0,0 +1,59 @@ +# write-pkg [![Build Status](https://travis-ci.org/sindresorhus/write-pkg.svg?branch=master)](https://travis-ci.org/sindresorhus/write-pkg) + +> Write a `package.json` file + +Writes atomically and creates directories for you as needed. Sorts dependencies when writing. Preserves the indentation if the file already exists. + + +## Install + +``` +$ npm install write-pkg +``` + + +## Usage + +```js +const path = require('path'); +const writePkg = require('write-pkg'); + +writePkg({foo: true}).then(() => { + console.log('done'); +}); + +writePkg(__dirname, {foo: true}).then(() => { + console.log('done'); +}); + +writePkg(path.join('unicorn', 'package.json'), {foo: true}).then(() => { + console.log('done'); +}); +``` + + +## API + +### writePkg([path], data) + +Returns a `Promise`. + +### writePkg.sync([path], data) + +#### path + +Type: `string`
+Default: `process.cwd()` + +Path to where the `package.json` file should be written or its directory. + + +## Related + +- [read-pkg](https://github.com/sindresorhus/read-pkg) - Read a `package.json` file +- [write-json-file](https://github.com/sindresorhus/write-json-file) - Stringify and write JSON to a file atomically + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/packages/dependencies-hierarchy/example/node_modules/.shrinkwrap.yaml b/packages/dependencies-hierarchy/example/node_modules/.shrinkwrap.yaml new file mode 100644 index 0000000000..607298fd8f --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/.shrinkwrap.yaml @@ -0,0 +1,63 @@ +dependencies: + write-pkg: 3.1.0 +packages: + /detect-indent/5.0.0: + resolution: + integrity: sha1-OHHMCmoALow+Wzz38zYmRnXwa50= + /graceful-fs/4.1.11: + resolution: + integrity: sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg= + /imurmurhash/0.1.4: + resolution: + integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o= + /is-plain-obj/1.1.0: + resolution: + integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + /make-dir/1.0.0: + dependencies: + pify: 2.3.0 + resolution: + integrity: sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg= + /pify/2.3.0: + resolution: + integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + /slide/1.1.6: + resolution: + integrity: sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= + /sort-keys/1.1.2: + dependencies: + is-plain-obj: 1.1.0 + resolution: + integrity: sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + /sort-keys/2.0.0: + dependencies: + is-plain-obj: 1.1.0 + resolution: + integrity: sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= + /write-file-atomic/2.1.0: + dependencies: + graceful-fs: 4.1.11 + imurmurhash: 0.1.4 + slide: 1.1.6 + resolution: + integrity: sha512-0TZ20a+xcIl4u0+Mj5xDH2yOWdmQiXlKf9Hm+TgDXjTMsEYb+gDrmb8e8UNAzMCitX8NBqG4Z/FUQIyzv/R1JQ== + /write-json-file/2.2.0: + dependencies: + detect-indent: 5.0.0 + graceful-fs: 4.1.11 + make-dir: 1.0.0 + pify: 2.3.0 + sort-keys: 1.1.2 + write-file-atomic: 2.1.0 + resolution: + integrity: sha1-UYYlBruzthnu+reFnx/WxtBTCHY= + /write-pkg/3.1.0: + dependencies: + sort-keys: 2.0.0 + write-json-file: 2.2.0 + resolution: + integrity: sha1-AwqZlMyZk9JbTnWp8aGSNgcpHOk= +registry: 'https://registry.npmjs.org/' +shrinkwrapVersion: 3 +specifiers: + write-pkg: ^3.1.0 diff --git a/packages/dependencies-hierarchy/example/node_modules/write-pkg b/packages/dependencies-hierarchy/example/node_modules/write-pkg new file mode 120000 index 0000000000..522c419360 --- /dev/null +++ b/packages/dependencies-hierarchy/example/node_modules/write-pkg @@ -0,0 +1 @@ +.registry.npmjs.org/write-pkg/3.1.0/node_modules/write-pkg \ No newline at end of file diff --git a/packages/dependencies-hierarchy/example/package.json b/packages/dependencies-hierarchy/example/package.json new file mode 100644 index 0000000000..d39525bfcf --- /dev/null +++ b/packages/dependencies-hierarchy/example/package.json @@ -0,0 +1,7 @@ +{ + "name": "example", + "version": "1.0.0", + "dependencies": { + "write-pkg": "^3.1.0" + } +} diff --git a/packages/dependencies-hierarchy/example/shrinkwrap.yaml b/packages/dependencies-hierarchy/example/shrinkwrap.yaml new file mode 100644 index 0000000000..607298fd8f --- /dev/null +++ b/packages/dependencies-hierarchy/example/shrinkwrap.yaml @@ -0,0 +1,63 @@ +dependencies: + write-pkg: 3.1.0 +packages: + /detect-indent/5.0.0: + resolution: + integrity: sha1-OHHMCmoALow+Wzz38zYmRnXwa50= + /graceful-fs/4.1.11: + resolution: + integrity: sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg= + /imurmurhash/0.1.4: + resolution: + integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o= + /is-plain-obj/1.1.0: + resolution: + integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + /make-dir/1.0.0: + dependencies: + pify: 2.3.0 + resolution: + integrity: sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg= + /pify/2.3.0: + resolution: + integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + /slide/1.1.6: + resolution: + integrity: sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= + /sort-keys/1.1.2: + dependencies: + is-plain-obj: 1.1.0 + resolution: + integrity: sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + /sort-keys/2.0.0: + dependencies: + is-plain-obj: 1.1.0 + resolution: + integrity: sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= + /write-file-atomic/2.1.0: + dependencies: + graceful-fs: 4.1.11 + imurmurhash: 0.1.4 + slide: 1.1.6 + resolution: + integrity: sha512-0TZ20a+xcIl4u0+Mj5xDH2yOWdmQiXlKf9Hm+TgDXjTMsEYb+gDrmb8e8UNAzMCitX8NBqG4Z/FUQIyzv/R1JQ== + /write-json-file/2.2.0: + dependencies: + detect-indent: 5.0.0 + graceful-fs: 4.1.11 + make-dir: 1.0.0 + pify: 2.3.0 + sort-keys: 1.1.2 + write-file-atomic: 2.1.0 + resolution: + integrity: sha1-UYYlBruzthnu+reFnx/WxtBTCHY= + /write-pkg/3.1.0: + dependencies: + sort-keys: 2.0.0 + write-json-file: 2.2.0 + resolution: + integrity: sha1-AwqZlMyZk9JbTnWp8aGSNgcpHOk= +registry: 'https://registry.npmjs.org/' +shrinkwrapVersion: 3 +specifiers: + write-pkg: ^3.1.0 diff --git a/packages/dependencies-hierarchy/package.json b/packages/dependencies-hierarchy/package.json new file mode 100644 index 0000000000..2c3ead0a82 --- /dev/null +++ b/packages/dependencies-hierarchy/package.json @@ -0,0 +1,67 @@ +{ + "name": "dependencies-hierarchy", + "version": "3.0.1", + "description": "Creates a dependencies hierarchy for a symlinked `node_modules`", + "main": "lib/index.js", + "typings": "lib/index.d.ts", + "files": [ + "lib" + ], + "scripts": { + "fix": "tslint -c tslint.json --project . --fix", + "lint": "tslint -c tslint.json --project .", + "test": "npm run lint && preview && ts-node test --type-check && mos t", + "prepublishOnly": "tsc", + "tsc": "tsc", + "md": "preview && tsc && mos" + }, + "engines": { + "node": ">=6" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/pnpm/dependencies-hierarchy.git" + }, + "keywords": [ + "hierarchy", + "pnpm", + "dependencies", + "node_modules" + ], + "author": { + "name": "Zoltan Kochan", + "email": "z@kochan.io", + "url": "https://www.kochan.io/" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/pnpm/dependencies-hierarchy/issues" + }, + "homepage": "https://github.com/pnpm/dependencies-hierarchy#readme", + "dependencies": { + "@types/node": "^9.3.0 || 10", + "@types/semver": "^5.3.32", + "dependency-path": "^2.0.0", + "pnpm-shrinkwrap": "^7.0.0", + "semver": "^5.3.0" + }, + "devDependencies": { + "@pnpm/logger": "^2.1.0", + "@types/tape": "^4.2.30", + "mos": "^2.0.0-alpha.3", + "mos-plugin-readme": "^1.0.4", + "package-preview": "^1.0.0", + "tape": "^4.7.0", + "ts-node": "^7.0.0", + "tslint": "^5.8.0", + "typescript": "^3.0.0" + }, + "mos": { + "plugins": [ + "readme" + ], + "installation": { + "useShortAlias": true + } + } +} diff --git a/packages/dependencies-hierarchy/renovate.json b/packages/dependencies-hierarchy/renovate.json new file mode 100644 index 0000000000..9fdbb14143 --- /dev/null +++ b/packages/dependencies-hierarchy/renovate.json @@ -0,0 +1,7 @@ +{ + "extends": [ + "config:base" + ], + "pinVersions": false, + "ignorePaths": ["test/", "example/"] +} diff --git a/packages/dependencies-hierarchy/shrinkwrap.yaml b/packages/dependencies-hierarchy/shrinkwrap.yaml new file mode 100644 index 0000000000..5451ae359b --- /dev/null +++ b/packages/dependencies-hierarchy/shrinkwrap.yaml @@ -0,0 +1,3175 @@ +dependencies: + '@types/node': 10.7.1 + '@types/semver': 5.5.0 + dependencies-hierarchy: 'link:../__package_previews__/dependencies-hierarchy/dependencies-hierarchy' + dependency-path: 2.0.0 + pnpm-shrinkwrap: 7.0.1 + semver: 5.5.1 +devDependencies: + '@pnpm/logger': 2.1.0 + '@types/tape': 4.2.32 + mos: 2.0.0-alpha.3 + mos-plugin-readme: 1.0.4 + package-preview: 1.0.6 + tape: 4.9.1 + ts-node: 7.0.1 + tslint: 5.11.0 + typescript: 3.0.1 +packages: + /@pnpm/exec/1.1.5: + dependencies: + '@pnpm/self-installer': 2.0.5 + '@types/got': 8.3.3 + '@types/node': 10.7.1 + command-exists: 1.2.7 + cross-spawn: 6.0.5 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-1zLmh6tRftQXfZ1IFHq1IexP0KaJhN6pSCA/IzK+Vixn4hPvxwcIbGjKW0KH9hsHSmrPpmSit2EWj7jGNgfa6Q== + /@pnpm/logger/2.1.0: + dependencies: + '@types/node': 10.7.1 + bole: 3.0.2 + ndjson: 1.5.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-BL4Laf6b50LjdcpOUWPukx2XJtb3mo2OpJjHdRNSDJu9YS2tRBeP14H2bNqGjCjfeml8z3KufI3Km6VQemVXNw== + /@pnpm/resolver-base/1.2.0: + dependencies: + '@pnpm/types': 1.7.0 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha512-1Ks5ORqDSN9Q3G4FiHLSjcY5mrZZTQq7AxWyK76SnAS9ug5WTUmQ6wN3Ab9Q93aYhpAlXsdZ4bTW075iUG/mfw== + /@pnpm/self-installer/2.0.5: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-NnkmxKFQJMkHL2TcLAl2sof7mVu8dgode4zGzwtvEaZ/xjOHm3CfUJomincmZcpWoXrjHkvbPxjczEPP41Wmqg== + /@pnpm/types/1.7.0: + dev: false + resolution: + integrity: sha512-pn7g4uxcofWTNG/cxmKvkMK2lxr4OUIhrQDrEVYEdVhW0WkWztsHkFrYjFgfNzPbYu3ITlB3T6aSVjCoJQTOlw== + /@types/fs-extra/5.0.4: + dependencies: + '@types/node': 10.7.1 + dev: true + resolution: + integrity: sha512-DsknoBvD8s+RFfSGjmERJ7ZOP1HI0UZRA3FSI+Zakhrc/Gy26YQsLI+m5V5DHxroHRJqCDLKJp7Hixn8zyaF7g== + /@types/got/8.3.3: + dependencies: + '@types/node': 10.7.1 + dev: true + resolution: + integrity: sha512-OXZz0iG3oX9RHTZAeVGJQCjCOGx0r7MnSWebgUoX5CiFq0aVcRJrUPLQo/dBdKOaosbp4K9NTZTSec2zWk9YIg== + /@types/js-yaml/3.11.2: + dev: false + resolution: + integrity: sha512-JRDtMPEqXrzfuYAdqbxLot1GvAr/QvicIZAnOAigZaj8xVMhuSJTg/xsv9E1TvyL+wujYhRLx9ZsQ0oFOSmwyA== + /@types/load-json-file/2.0.7: + dev: true + resolution: + integrity: sha512-NrH6jPlV77QCVPhAHofWeiOr77TgpKt82c2RVxSBChWBJqyY/u4ngl3CA4mcsAg/w7rNLrkR7dkObMV0ihLLXw== + /@types/mz/0.0.32: + dependencies: + '@types/node': 10.7.1 + dev: true + resolution: + integrity: sha512-cy3yebKhrHuOcrJGkfwNHhpTXQLgmXSv1BX+4p32j+VUQ6aP2eJ5cL7OvGcAQx75fCTFaAIIAKewvqL+iwSd4g== + /@types/node/10.7.1: + resolution: + integrity: sha512-EGoI4ylB/lPOaqXqtzAyL8HcgOuCtH2hkEaLmkueOYufsTFWBn4VCvlCDC2HW8Q+9iF+QVC3sxjDKQYjHQeZ9w== + /@types/ramda/0.25.36: + dev: false + resolution: + integrity: sha512-LAeBECPU9IG+K0pRdGl2L9lxanb0CKgue0IGpdn9nmpmKefDrCglrYwkxFYoQxCtY0w/mTxpJaQ4VAChcSIN+A== + /@types/semver/5.5.0: + dev: false + resolution: + integrity: sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ== + /@types/tape/4.2.32: + dependencies: + '@types/node': 10.7.1 + dev: true + resolution: + integrity: sha512-xil0KO5wkPoixdBWGIGolPv9dekf6dVkjjJLAFYchfKcd4DICou67rgGCIO7wAh3i5Ff/6j9IDgZz+GU9cMaqQ== + /@types/write-json-file/2.2.1: + dev: true + resolution: + integrity: sha512-JdO/UpPm9RrtQBNVcZdt3M7j3mHO/kXaea9LBGx3UgWJd1f9BkIWP7jObLBG6ZtRyqp7KzLFEsaPhWcidVittA== + /@zkochan/async-replace/0.4.1: + dependencies: + babel-run-async: 1.0.0 + babel-runtime: 6.26.0 + dev: true + resolution: + integrity: sha1-TPO97s9S8vasjzKw2IpoLrSEiXk= + /acorn/3.0.4: + dev: true + engines: + node: '>=0.4.0' + hasBin: true + resolution: + integrity: sha1-BPJElQ/bj6+FUHrUgcLt7nrs3uw= + /amdefine/1.0.1: + dev: true + engines: + node: '>=0.4.2' + resolution: + integrity: sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= + /ansi-align/1.1.0: + dependencies: + string-width: 1.0.2 + dev: true + resolution: + integrity: sha1-LwwWWIKXOa3V67FeawxuNCPwFro= + /ansi-regex/0.2.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk= + /ansi-regex/2.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + /ansi-styles/1.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94= + /ansi-styles/2.2.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + /ansi-styles/3.2.1: + dependencies: + color-convert: 1.9.2 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + /any-promise/1.3.0: + resolution: + integrity: sha1-q8av7tzqUugJzcA3au0845Y10X8= + /argparse/1.0.10: + dependencies: + sprintf-js: 1.0.3 + resolution: + integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + /arr-exclude/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-38fC5VKicHI8zaBM8xKMjL/lxjE= + /array-find-index/1.0.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= + /arrify/1.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + /babel-code-frame/6.26.0: + dependencies: + chalk: 1.1.3 + esutils: 2.0.2 + js-tokens: 3.0.2 + dev: true + resolution: + integrity: sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= + /babel-core/6.26.3: + dependencies: + babel-code-frame: 6.26.0 + babel-generator: 6.26.1 + babel-helpers: 6.24.1 + babel-messages: 6.23.0 + babel-register: 6.26.0 + babel-runtime: 6.26.0 + babel-template: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + babylon: 6.18.0 + convert-source-map: 1.5.1 + debug: 2.6.9 + json5: 0.5.1 + lodash: 4.17.10 + minimatch: 3.0.4 + path-is-absolute: 1.0.1 + private: 0.1.8 + slash: 1.0.0 + source-map: 0.5.7 + dev: true + resolution: + integrity: sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== + /babel-generator/6.26.1: + dependencies: + babel-messages: 6.23.0 + babel-runtime: 6.26.0 + babel-types: 6.26.0 + detect-indent: 4.0.0 + jsesc: 1.3.0 + lodash: 4.17.10 + source-map: 0.5.7 + trim-right: 1.0.1 + dev: true + resolution: + integrity: sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== + /babel-helper-define-map/6.26.0: + dependencies: + babel-helper-function-name: 6.24.1 + babel-runtime: 6.26.0 + babel-types: 6.26.0 + lodash: 4.17.10 + dev: true + resolution: + integrity: sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8= + /babel-helper-function-name/6.24.1: + dependencies: + babel-helper-get-function-arity: 6.24.1 + babel-runtime: 6.26.0 + babel-template: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-00dbjAPtmCQqJbSDUasYOZ01gKk= + /babel-helper-get-function-arity/6.24.1: + dependencies: + babel-runtime: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0= + /babel-helper-optimise-call-expression/6.24.1: + dependencies: + babel-runtime: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc= + /babel-helper-replace-supers/6.24.1: + dependencies: + babel-helper-optimise-call-expression: 6.24.1 + babel-messages: 6.23.0 + babel-runtime: 6.26.0 + babel-template: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-v22/5Dk40XNpohPKiov3S2qQqxo= + /babel-helpers/6.24.1: + dependencies: + babel-runtime: 6.26.0 + babel-template: 6.26.0 + dev: true + resolution: + integrity: sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI= + /babel-messages/6.23.0: + dependencies: + babel-runtime: 6.26.0 + dev: true + resolution: + integrity: sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= + /babel-plugin-transform-es2015-classes/6.24.1: + dependencies: + babel-helper-define-map: 6.26.0 + babel-helper-function-name: 6.24.1 + babel-helper-optimise-call-expression: 6.24.1 + babel-helper-replace-supers: 6.24.1 + babel-messages: 6.23.0 + babel-runtime: 6.26.0 + babel-template: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-WkxYpQyclGHlZLSyo7+ryXolhNs= + /babel-register/6.26.0: + dependencies: + babel-core: 6.26.3 + babel-runtime: 6.26.0 + core-js: 2.5.7 + home-or-tmp: 2.0.0 + lodash: 4.17.10 + mkdirp: 0.5.1 + source-map-support: 0.4.18 + dev: true + resolution: + integrity: sha1-btAhFz4vy0htestFxgCahW9kcHE= + /babel-run-async/1.0.0: + dependencies: + babel-runtime: 6.26.0 + is-promise: 2.1.0 + dev: true + resolution: + integrity: sha1-o0NCX802FY3++ucl0Dk+zkTsRZw= + /babel-runtime/6.26.0: + dependencies: + core-js: 2.5.7 + regenerator-runtime: 0.11.1 + dev: true + resolution: + integrity: sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + /babel-template/6.26.0: + dependencies: + babel-runtime: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + babylon: 6.18.0 + lodash: 4.17.10 + dev: true + resolution: + integrity: sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= + /babel-traverse/6.26.0: + dependencies: + babel-code-frame: 6.26.0 + babel-messages: 6.23.0 + babel-runtime: 6.26.0 + babel-types: 6.26.0 + babylon: 6.18.0 + debug: 2.6.9 + globals: 9.18.0 + invariant: 2.2.4 + lodash: 4.17.10 + dev: true + resolution: + integrity: sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= + /babel-types/6.26.0: + dependencies: + babel-runtime: 6.26.0 + esutils: 2.0.2 + lodash: 4.17.10 + to-fast-properties: 1.0.3 + dev: true + resolution: + integrity: sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= + /babylon/6.18.0: + dev: true + hasBin: true + resolution: + integrity: sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + /balanced-match/1.0.0: + resolution: + integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + /base64-js/0.0.8: + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha1-EQHpVE9KdrG8OybUUsqW16NeeXg= + /bl/1.2.2: + dependencies: + readable-stream: 2.3.6 + safe-buffer: 5.1.2 + dev: true + resolution: + integrity: sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA== + /bole/3.0.2: + dependencies: + fast-safe-stringify: 1.1.13 + individual: 3.0.0 + dev: true + resolution: + integrity: sha1-vIpIPKlASdqbg3wa0Rzf6+5uBRQ= + /boxen/0.5.1: + dependencies: + camelcase: 2.1.1 + chalk: 1.1.3 + cli-boxes: 1.0.0 + filled-array: 1.1.0 + object-assign: 4.1.1 + repeating: 2.0.1 + string-width: 1.0.2 + widest-line: 1.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-W3PYhA6388ihVcv2ntPtaNRyABQ= + /brace-expansion/1.1.11: + dependencies: + balanced-match: 1.0.0 + concat-map: 0.0.1 + resolution: + integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + /browserify-zlib/0.1.4: + dependencies: + pako: 0.2.9 + dev: true + resolution: + integrity: sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0= + /buffer-alloc-unsafe/1.1.0: + dev: true + resolution: + integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + /buffer-alloc/1.2.0: + dependencies: + buffer-alloc-unsafe: 1.1.0 + buffer-fill: 1.0.0 + dev: true + resolution: + integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + /buffer-fill/1.0.0: + dev: true + resolution: + integrity: sha1-+PeLdniYiO858gXNY39o5wISKyw= + /buffer-from/1.1.1: + dev: true + resolution: + integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + /buffer/3.6.0: + dependencies: + base64-js: 0.0.8 + ieee754: 1.1.12 + isarray: 1.0.0 + dev: true + resolution: + integrity: sha1-pyyTb3e5a/UvX357RnGAYoVR3vs= + /builtin-modules/1.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= + /bzip2-maybe/1.0.0: + dependencies: + is-bzip2: 1.0.0 + peek-stream: 1.1.3 + pumpify: 1.5.1 + through2: 2.0.3 + unbzip2-stream: 1.2.5 + dev: true + hasBin: true + resolution: + integrity: sha1-ya73AIprlDy+mcxhcSXrS9R4KWs= + /caller-path/0.1.0: + dependencies: + callsites: 0.2.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8= + /callsites/0.2.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo= + /callsites/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-AlY7EO0x8uvZWJOndvCz2VprFbg= + /camelcase-keys/2.1.0: + dependencies: + camelcase: 2.1.1 + map-obj: 1.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-MIvur/3ygRkFHvodkyITyRuPkuc= + /camelcase-keys/4.2.0: + dependencies: + camelcase: 4.1.0 + map-obj: 2.0.0 + quick-lru: 1.1.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-oqpfsa9oh1glnDLBQUJteJI7m3c= + /camelcase/2.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= + /camelcase/4.1.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + /capture-stack-trace/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0= + /ccount/1.0.3: + dev: true + resolution: + integrity: sha512-Jt9tIBkRc9POUof7QA/VwWd+58fKkEEfI+/t1/eOlxKM7ZhrczNzMFefge7Ai+39y1pR/pP6cI19guHy3FSLmw== + /chalk/0.5.1: + dependencies: + ansi-styles: 1.1.0 + escape-string-regexp: 1.0.5 + has-ansi: 0.1.0 + strip-ansi: 0.3.0 + supports-color: 0.2.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ= + /chalk/1.1.3: + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + /chalk/2.4.1: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== + /character-entities-html4/1.1.2: + dev: true + resolution: + integrity: sha512-sIrXwyna2+5b0eB9W149izTPJk/KkJTg6mEzDGibwBUkyH1SbDa+nf515Ppdi3MaH35lW0JFJDWeq9Luzes1Iw== + /character-entities-legacy/1.1.2: + dev: true + resolution: + integrity: sha512-9NB2VbXtXYWdXzqrvAHykE/f0QJxzaKIpZ5QzNZrrgQ7Iyxr2vnfS8fCBNVW9nUEZE0lo57nxKRqnzY/dKrwlA== + /character-entities/1.2.2: + dev: true + resolution: + integrity: sha512-sMoHX6/nBiy3KKfC78dnEalnpn0Az0oSNvqUWYTtYrhRI5iUIYsROU48G+E+kMFQzqXaJ8kHJZ85n7y6/PHgwQ== + /character-reference-invalid/1.1.2: + dev: true + resolution: + integrity: sha512-7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ== + /chownr/1.0.1: + dev: true + resolution: + integrity: sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE= + /cli-boxes/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-T6kXw+WclKAEzWH47lCdplFocUM= + /code-point-at/1.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + /codemo/0.2.2: + dependencies: + acorn: 3.0.4 + babel-runtime: 6.26.0 + callsites: 1.0.0 + cross-spawn-async: 2.2.2 + file-position: 0.0.0 + lodash.partition: 4.6.0 + normalize-newline: 2.0.0 + normalize-path: 2.0.1 + promise.prototype.finally: 1.0.1 + rollup: 0.25.8 + rollup-plugin-babel: 2.4.0 + rollup-plugin-includepaths: 0.1.2 + source-map: 0.5.3 + dev: true + engines: + node: '>=0.10' + resolution: + integrity: sha1-GCe0ZB87z4vXG9SbLU6ZtFuLX9c= + /collapse-white-space/1.0.4: + dev: true + resolution: + integrity: sha512-YfQ1tAUZm561vpYD+5eyWN8+UsceQbSrqqlc/6zDY2gtAE+uZLSdkkovhnGpmCThsvKBFakq4EdY/FF93E8XIw== + /color-convert/1.9.2: + dependencies: + color-name: 1.1.1 + dev: true + resolution: + integrity: sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg== + /color-name/1.1.1: + dev: true + resolution: + integrity: sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok= + /command-exists/1.2.7: + dev: true + resolution: + integrity: sha512-doWDvhXCcW5LK0cIUWrOQ8oMFXJv3lEQCkJpGVjM8v9SV0uhqYXB943538tEA2CiaWqSyuYUGAm5ezDwEx9xlw== + /commander/2.17.1: + dev: true + resolution: + integrity: sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + /concat-map/0.0.1: + resolution: + integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + /configstore/2.1.0: + dependencies: + dot-prop: 3.0.0 + graceful-fs: 4.1.11 + mkdirp: 0.5.1 + object-assign: 4.1.1 + os-tmpdir: 1.0.2 + osenv: 0.1.5 + uuid: 2.0.3 + write-file-atomic: 1.3.4 + xdg-basedir: 2.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-c3o6cDbpiGECqmCZ5HuzOrGroaE= + /convert-source-map/1.5.1: + dev: true + resolution: + integrity: sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU= + /core-js/2.5.7: + dev: true + resolution: + integrity: sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw== + /core-util-is/1.0.2: + dev: true + resolution: + integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + /create-error-class/3.0.2: + dependencies: + capture-stack-trace: 1.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= + /cross-spawn-async/2.2.2: + dependencies: + lru-cache: 4.1.3 + which: 1.3.1 + deprecated: 'cross-spawn no longer requires a build toolchain, use it instead!' + dev: true + resolution: + integrity: sha1-kN6ptpIPA7L3vHSZYVABrubyMX4= + /cross-spawn/4.0.2: + dependencies: + lru-cache: 4.1.3 + which: 1.3.1 + dev: true + resolution: + integrity: sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE= + /cross-spawn/6.0.5: + dependencies: + nice-try: 1.0.4 + path-key: 2.0.1 + semver: 5.5.1 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + engines: + node: '>=4.8' + resolution: + integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + /currently-unhandled/0.4.1: + dependencies: + array-find-index: 1.0.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-mI3zP+qxke95mmE2nddsF635V+o= + /debug/2.6.9: + dependencies: + ms: 2.0.0 + dev: true + resolution: + integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + /decamelize-keys/1.1.0: + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= + /decamelize/1.2.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + /decompress-maybe/1.0.0: + dependencies: + bzip2-maybe: 1.0.0 + gunzip-maybe: 1.4.1 + pumpify: 1.5.1 + dev: true + resolution: + integrity: sha1-rf54xmzAaeZOgkvRQFuF515tHLs= + /deep-equal/1.0.1: + dev: true + resolution: + integrity: sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= + /deep-extend/0.6.0: + dev: true + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + /define-properties/1.1.3: + dependencies: + object-keys: 1.0.12 + engines: + node: '>= 0.4' + resolution: + integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + /defined/1.0.0: + dev: true + resolution: + integrity: sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= + /dependency-path/1.2.3: + dependencies: + '@types/semver': 5.5.0 + encode-registry: 1.1.0 + semver: 5.5.1 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha512-0ar5eYv/LzXnqjKXGQQoaSlEitPpIKpEIMvvmr5SUrqaSSp3Q20UlQDHPSRvKAPf8KDofyqRzrJhfvrhdUwLSg== + /dependency-path/2.0.0: + dependencies: + '@types/semver': 5.5.0 + encode-registry: 1.1.0 + semver: 5.5.1 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-Al6qJe6ip6vgm+BfCEZlN1prHDtE4SvyfEYKm+1JcWThc2W2STQP0KCa8VOf50Wo+L6oe5Yu3hRjSN+MEYlIxA== + /detect-indent/4.0.0: + dependencies: + repeating: 2.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-920GQ1LN9Docts5hnE7jqUdd4gg= + /detect-indent/5.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-OHHMCmoALow+Wzz38zYmRnXwa50= + /diff/2.2.3: + dev: true + engines: + node: '>=0.3.1' + resolution: + integrity: sha1-YOr9DSjukG5Oj/ClLBIpUhAzv5k= + /diff/3.5.0: + dev: true + engines: + node: '>=0.3.1' + resolution: + integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== + /dot-prop/3.0.0: + dependencies: + is-obj: 1.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-G3CK8JSknJoOfbyteQq6U52sEXc= + /duplexer/0.1.1: + dev: true + resolution: + integrity: sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + /duplexer2/0.1.4: + dependencies: + readable-stream: 2.3.6 + dev: true + resolution: + integrity: sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= + /duplexify/3.6.0: + dependencies: + end-of-stream: 1.4.1 + inherits: 2.0.3 + readable-stream: 2.3.6 + stream-shift: 1.0.0 + dev: true + resolution: + integrity: sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ== + /emoji-regex/6.1.1: + dev: true + resolution: + integrity: sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4= + /encode-registry/1.1.0: + dependencies: + mem: 3.0.1 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha512-we1k9/KE1067YXEyJzPg+kXlNFLk9/LT2IFP3VZgmANNwf8Bx+KdAVd1wxLpG8y7v6EgplVGTstmVNICwiaCNA== + /end-of-stream/1.4.1: + dependencies: + once: 1.4.0 + dev: true + resolution: + integrity: sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== + /error-ex/1.3.2: + dependencies: + is-arrayish: 0.2.1 + dev: true + resolution: + integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + /es-abstract/1.12.0: + dependencies: + es-to-primitive: 1.1.1 + function-bind: 1.1.1 + has: 1.0.3 + is-callable: 1.1.4 + is-regex: 1.0.4 + engines: + node: '>= 0.4' + resolution: + integrity: sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA== + /es-to-primitive/1.1.1: + dependencies: + is-callable: 1.1.4 + is-date-object: 1.0.1 + is-symbol: 1.0.1 + engines: + node: '>= 0.4' + resolution: + integrity: sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0= + /escape-string-regexp/1.0.5: + dev: true + engines: + node: '>=0.8.0' + resolution: + integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + /esprima/4.0.1: + engines: + node: '>=4' + hasBin: true + resolution: + integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + /estree-walker/0.2.1: + dev: true + resolution: + integrity: sha1-va/oCVOD2EFNXcLs9MkXO225QS4= + /esutils/2.0.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= + /events-to-array/1.1.2: + dev: true + resolution: + integrity: sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y= + /fast-safe-stringify/1.1.13: + dev: true + resolution: + integrity: sha1-oB6c2cnkkXFcmKdaQtXwu9EH/3Y= + /figures/1.7.0: + dependencies: + escape-string-regexp: 1.0.5 + object-assign: 4.1.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= + /file-exists/1.0.0: + dev: true + resolution: + integrity: sha1-5tJptWVnuJIlgTmOmQ3XB49y1hY= + /file-position/0.0.0: + dev: true + resolution: + integrity: sha1-rkxlqupgoUyX9xUIwKvIaopfCI4= + /filled-array/1.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-w8T2xmO5I0WamqKZEtLQMfFQf4Q= + /find-down/0.1.4: + dependencies: + locate-path: 2.0.0 + next-path: 1.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-3lcasU5kFaqBp/IJ19lDRv5I0FG42J94s2oIP5r0KA5z5+ID0vocMylMUEuuGbXqJ5WLNZteQB9CAVIzUnk9bQ== + /find-up/1.1.2: + dependencies: + path-exists: 2.1.0 + pinkie-promise: 2.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + /find-up/2.1.0: + dependencies: + locate-path: 2.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + /flatten/1.0.2: + dev: true + resolution: + integrity: sha1-2uRqnXj74lKSJYzB54CkHZXAN4I= + /for-each/0.3.3: + dependencies: + is-callable: 1.1.4 + dev: true + resolution: + integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + /fs-constants/1.0.0: + dev: true + resolution: + integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + /fs-extra/5.0.0: + dependencies: + graceful-fs: 4.1.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + resolution: + integrity: sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ== + /fs.realpath/1.0.0: + resolution: + integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + /function-bind/1.1.1: + resolution: + integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + /get-npm-tarball-url/2.0.1: + dependencies: + normalize-registry-url: 1.0.0 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha512-POrVRGyS9X5w+855/H46JGVYBGuVgJXyIkbsTCzW+sv5x2qH+rfQjc7652DzkgOskF+cqLevA2En7V0hu0gZCg== + /get-stdin/4.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= + /github-slugger/1.2.0: + dependencies: + emoji-regex: 6.1.1 + dev: true + resolution: + integrity: sha512-wIaa75k1vZhyPm9yWrD08A5Xnx/V+RmzGrpjQuLemGKSb77Qukiaei58Bogrl/LZSADDfPzKJX8jhLs4CRTl7Q== + /github-url-to-object/2.2.6: + dependencies: + is-url: 1.2.4 + dev: true + resolution: + integrity: sha1-ypJQFlFJdI7uswv8xgAMb+DSQvc= + /glob/7.0.6: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.3 + minimatch: 3.0.4 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + resolution: + integrity: sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo= + /glob/7.1.2: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.3 + minimatch: 3.0.4 + once: 1.4.0 + path-is-absolute: 1.0.1 + resolution: + integrity: sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== + /globals/9.18.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== + /got/5.7.1: + dependencies: + create-error-class: 3.0.2 + duplexer2: 0.1.4 + is-redirect: 1.0.0 + is-retry-allowed: 1.1.0 + is-stream: 1.1.0 + lowercase-keys: 1.0.1 + node-status-codes: 1.0.0 + object-assign: 4.1.1 + parse-json: 2.2.0 + pinkie-promise: 2.0.1 + read-all-stream: 3.1.0 + readable-stream: 2.3.6 + timed-out: 3.1.3 + unzip-response: 1.0.2 + url-parse-lax: 1.0.0 + dev: true + engines: + node: '>=0.10.0 <7' + resolution: + integrity: sha1-X4FjWmHkplifGAVp6k44FoClHzU= + /graceful-fs/4.1.11: + engines: + node: '>=0.4.0' + resolution: + integrity: sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg= + /gunzip-maybe/1.4.1: + dependencies: + browserify-zlib: 0.1.4 + is-deflate: 1.0.0 + is-gzip: 1.0.0 + peek-stream: 1.1.3 + pumpify: 1.5.1 + through2: 2.0.3 + dev: true + hasBin: true + resolution: + integrity: sha512-qtutIKMthNJJgeHQS7kZ9FqDq59/Wn0G2HYCRNjpup7yKfVI6/eqwpmroyZGFoCYaG+sW6psNVb4zoLADHpp2g== + /has-ansi/0.1.0: + dependencies: + ansi-regex: 0.2.1 + dev: true + engines: + node: '>=0.10.0' + hasBin: true + resolution: + integrity: sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4= + /has-ansi/2.0.0: + dependencies: + ansi-regex: 2.1.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + /has-flag/3.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + /has/1.0.3: + dependencies: + function-bind: 1.1.1 + engines: + node: '>= 0.4.0' + resolution: + integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + /home-or-tmp/2.0.0: + dependencies: + os-homedir: 1.0.2 + os-tmpdir: 1.0.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-42w/LSyufXRqhX440Y1fMqeILbg= + /hosted-git-info/2.7.1: + dev: true + resolution: + integrity: sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== + /ieee754/1.1.12: + dev: true + resolution: + integrity: sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA== + /imurmurhash/0.1.4: + engines: + node: '>=0.8.19' + resolution: + integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o= + /indent-string/2.1.0: + dependencies: + repeating: 2.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= + /indent-string/3.2.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= + /independent/0.2.0: + dependencies: + '@zkochan/async-replace': 0.4.1 + babel-runtime: 6.26.0 + read-pkg-up: 1.0.1 + relative: 3.0.2 + resolve: 1.1.7 + dev: true + resolution: + integrity: sha1-fP+w1d94AFLyRFzaqPXj29sXyw8= + /individual/3.0.0: + dev: true + resolution: + integrity: sha1-58pPhfiVewGHNPKFdQ3CLsL5hi0= + /inflight/1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + resolution: + integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + /inherits/2.0.3: + resolution: + integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + /ini/1.3.5: + dev: true + resolution: + integrity: sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + /invariant/2.2.4: + dependencies: + loose-envify: 1.4.0 + dev: true + resolution: + integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + /is-alphabetical/1.0.2: + dev: true + resolution: + integrity: sha512-V0xN4BYezDHcBSKb1QHUFMlR4as/XEuCZBzMJUU4n7+Cbt33SmUnSol+pnXFvLxSHNq2CemUXNdaXV6Flg7+xg== + /is-alphanumerical/1.0.2: + dependencies: + is-alphabetical: 1.0.2 + is-decimal: 1.0.2 + dev: true + resolution: + integrity: sha512-pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg== + /is-arrayish/0.2.1: + dev: true + resolution: + integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + /is-builtin-module/1.0.0: + dependencies: + builtin-modules: 1.1.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-VAVy0096wxGfj3bDDLwbHgN6/74= + /is-bzip2/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-XuWOqlounIDiFAe+3yOuWsCRs/w= + /is-callable/1.1.4: + engines: + node: '>= 0.4' + resolution: + integrity: sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== + /is-date-object/1.0.1: + engines: + node: '>= 0.4' + resolution: + integrity: sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + /is-decimal/1.0.2: + dev: true + resolution: + integrity: sha512-TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg== + /is-deflate/1.0.0: + dev: true + resolution: + integrity: sha1-yGKQHDwWH7CdrHzcfnhPgOmPLxQ= + /is-finite/1.0.2: + dependencies: + number-is-nan: 1.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= + /is-fullwidth-code-point/1.0.0: + dependencies: + number-is-nan: 1.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + /is-gzip/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM= + /is-hexadecimal/1.0.2: + dev: true + resolution: + integrity: sha512-but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A== + /is-npm/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-8vtjpl5JBbQGyGBydloaTceTufQ= + /is-obj/1.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + /is-plain-obj/1.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + /is-promise/2.1.0: + dev: true + resolution: + integrity: sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= + /is-redirect/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= + /is-regex/1.0.4: + dependencies: + has: 1.0.3 + engines: + node: '>= 0.4' + resolution: + integrity: sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= + /is-retry-allowed/1.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= + /is-stream/1.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + /is-symbol/1.0.1: + engines: + node: '>= 0.4' + resolution: + integrity: sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI= + /is-url/1.2.4: + dev: true + resolution: + integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== + /is-utf8/0.2.1: + dev: true + resolution: + integrity: sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + /is-windows/1.0.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + /isarray/1.0.0: + dev: true + resolution: + integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + /isexe/2.0.0: + dev: true + resolution: + integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + /isobject/2.1.0: + dependencies: + isarray: 1.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + /js-tokens/3.0.2: + dev: true + resolution: + integrity: sha1-mGbfOVECEw449/mWvOtlRDIJwls= + /js-tokens/4.0.0: + dev: true + resolution: + integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + /js-yaml/3.12.0: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + hasBin: true + resolution: + integrity: sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A== + /jsesc/1.3.0: + dev: true + hasBin: true + resolution: + integrity: sha1-RsP+yMGJKxKwgz25vHYiF226s0s= + /json-parse-better-errors/1.0.2: + dev: true + resolution: + integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + /json-stringify-safe/5.0.1: + dev: true + resolution: + integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + /json5/0.5.1: + dev: true + hasBin: true + resolution: + integrity: sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + /jsondiffpatch/0.1.43: + bundledDependencies: [] + dependencies: + chalk: 0.5.1 + dev: true + hasBin: true + resolution: + integrity: sha1-wFKImpnvfroZ0AlfkPclz6cKVhE= + /jsonfile/4.0.0: + dev: true + optionalDependencies: + graceful-fs: 4.1.11 + resolution: + integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + /latest-version/2.0.0: + dependencies: + package-json: 2.4.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-VvjWE5YghHuAF/jx9NeOIRMkFos= + /load-json-file/1.1.0: + dependencies: + graceful-fs: 4.1.11 + parse-json: 2.2.0 + pify: 2.3.0 + pinkie-promise: 2.0.1 + strip-bom: 2.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + /load-json-file/4.0.0: + dependencies: + graceful-fs: 4.1.11 + parse-json: 4.0.0 + pify: 3.0.0 + strip-bom: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + /load-yaml-file/0.1.0: + dependencies: + graceful-fs: 4.1.11 + js-yaml: 3.12.0 + pify: 2.3.0 + strip-bom: 3.0.0 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-9oAGbmkbPutFAXZy5KOVavW4O4k= + /locate-path/2.0.0: + dependencies: + p-locate: 2.0.0 + path-exists: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + /lodash.partition/4.6.0: + dev: true + resolution: + integrity: sha1-o45GtzRp4EILDaEhLmbUFL42S6Q= + /lodash/4.17.10: + dev: true + resolution: + integrity: sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg== + /longest-streak/1.0.0: + dev: true + resolution: + integrity: sha1-0GWXxNTDG1LMsfXY+P5xSOr9aWU= + /loose-envify/1.4.0: + dependencies: + js-tokens: 4.0.0 + dev: true + hasBin: true + resolution: + integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + /loud-rejection/1.6.0: + dependencies: + currently-unhandled: 0.4.1 + signal-exit: 3.0.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= + /lowercase-keys/1.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + /lru-cache/4.1.3: + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 + dev: true + resolution: + integrity: sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA== + /magic-hook/1.0.0: + dependencies: + flatten: 1.0.2 + dev: true + resolution: + integrity: sha1-mu2GAadRK1axlUcNonSk7jqVCfA= + /make-dir/1.3.0: + dependencies: + pify: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== + /make-error/1.3.4: + dev: true + resolution: + integrity: sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g== + /map-obj/1.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= + /map-obj/2.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-plzSkIepJZi4eRJXpSPgISIqwfk= + /markdown-table/0.4.0: + dev: true + resolution: + integrity: sha1-iQwsGzv+g/sA5BKbjkz+ZFJw+dE= + /markdownscript/1.3.0: + dependencies: + babel-runtime: 6.26.0 + dev: true + engines: + node: '>=0.10' + resolution: + integrity: sha1-vf3/Csk0F4JLI2UjqaaZ5eDOfhE= + /mdast-util-to-string/1.0.5: + dev: true + resolution: + integrity: sha512-2qLt/DEOo5F6nc2VFScQiHPzQ0XXcabquRJxKMhKte8nt42o08HUxNDPk7tt0YPxnWjAT11I1SYi0X0iPnfI5A== + /mem/3.0.1: + dependencies: + mimic-fn: 1.2.0 + p-is-promise: 1.1.0 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha512-QKs47bslvOE0NbXOqG6lMxn6Bk0Iuw0vfrIeLykmQle2LkCw1p48dZDdzE+D88b/xqRJcZGcMNeDvSVma+NuIQ== + /meow/3.7.0: + dependencies: + camelcase-keys: 2.1.0 + decamelize: 1.2.0 + loud-rejection: 1.6.0 + map-obj: 1.0.1 + minimist: 1.2.0 + normalize-package-data: 2.4.0 + object-assign: 4.1.1 + read-pkg-up: 1.0.1 + redent: 1.0.0 + trim-newlines: 1.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= + /meow/4.0.1: + dependencies: + camelcase-keys: 4.2.0 + decamelize-keys: 1.1.0 + loud-rejection: 1.6.0 + minimist: 1.2.0 + minimist-options: 3.0.2 + normalize-package-data: 2.4.0 + read-pkg-up: 3.0.0 + redent: 2.0.0 + trim-newlines: 2.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A== + /mimic-fn/1.2.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + /minimatch/3.0.4: + dependencies: + brace-expansion: 1.1.11 + resolution: + integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + /minimist-options/3.0.2: + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + dev: true + engines: + node: '>= 4' + resolution: + integrity: sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ== + /minimist/0.0.8: + resolution: + integrity: sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + /minimist/1.2.0: + dev: true + resolution: + integrity: sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= + /mkdirp-promise/5.0.1: + dependencies: + mkdirp: 0.5.1 + engines: + node: '>=4' + resolution: + integrity: sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE= + /mkdirp/0.5.1: + dependencies: + minimist: 0.0.8 + hasBin: true + resolution: + integrity: sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + /mos-core/1.0.2: + dependencies: + babel-run-async: 1.0.0 + babel-runtime: 6.26.0 + ccount: 1.0.3 + collapse-white-space: 1.0.4 + core-js: 2.5.7 + file-position: 0.0.0 + is-promise: 2.1.0 + longest-streak: 1.0.0 + markdown-table: 0.4.0 + parse-entities: 1.1.2 + repeat-string: 1.6.1 + stringify-entities: 1.3.2 + trim: 0.0.1 + trim-trailing-lines: 1.1.1 + unist-util-remove-position: 1.1.2 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-N8JpfBzHhhgkFivQ+rrvJCX55H0= + /mos-hosted-git-info/1.0.0: + dev: true + resolution: + integrity: sha1-yj8BhwBEv14CT4WPEl3FmxrFe2k= + /mos-init/1.1.2: + dependencies: + arr-exclude: 1.0.0 + core-js: 2.5.7 + cross-spawn: 4.0.2 + mos-read-pkg-up: 1.0.0 + the-argv: 1.0.0 + write-pkg: 1.0.0 + dev: true + engines: + node: '>=0.12' + resolution: + integrity: sha1-DuxN4kE4UjTkwKFUqZhc7NH8RIM= + /mos-normalize-package-data/1.0.0: + dependencies: + is-builtin-module: 1.0.0 + mos-hosted-git-info: 1.0.0 + semver: 5.5.1 + validate-npm-package-license: 3.0.4 + dev: true + resolution: + integrity: sha1-D9oITzRT8B7UtWVTQeYDPxeaeas= + /mos-plugin-dependencies/2.2.2: + dependencies: + babel-runtime: 6.26.0 + github-url-to-object: 2.2.6 + shieldman: 1.2.0 + dev: true + engines: + node: '>=0.12' + resolution: + integrity: sha1-vm7fN15M9ch8QU0PI3ZmItGO0Xc= + /mos-plugin-ejs/1.1.2: + dependencies: + babel-run-async: 1.0.0 + babel-runtime: 6.26.0 + github-url-to-object: 2.2.6 + mos-read-pkg-up: 1.0.0 + reserved-words: 0.1.2 + dev: true + engines: + node: '>=0.12' + resolution: + integrity: sha1-1jZXxN9o0yMx1MdHweq/vBC1zBY= + /mos-plugin-example/1.1.2: + dependencies: + babel-runtime: 6.26.0 + codemo: 0.2.2 + independent: 0.2.0 + dev: true + engines: + node: '>=0.12' + resolution: + integrity: sha1-YmGDjrRVXNmjj7zrkgEz55S4hHc= + /mos-plugin-installation/1.2.2: + dependencies: + babel-runtime: 6.26.0 + markdownscript: 1.3.0 + mdast-util-to-string: 1.0.5 + dev: true + engines: + node: '>=0.12' + resolution: + integrity: sha1-r2FghByH+zmGnQEHwGWaKTayPH8= + /mos-plugin-license/1.2.2: + dependencies: + babel-runtime: 6.26.0 + file-exists: 1.0.0 + markdownscript: 1.3.0 + mdast-util-to-string: 1.0.5 + dev: true + engines: + node: '>=0.12' + resolution: + integrity: sha1-BEV+GXukOHeOPbZ/rdi8yYR0fIY= + /mos-plugin-markdownscript/2.1.2: + dependencies: + babel-runtime: 6.26.0 + markdownscript: 1.3.0 + reserved-words: 0.1.2 + dev: true + engines: + node: '>=0.12' + resolution: + integrity: sha1-Xh02JCByVXeNRbt+elDceSbDA7A= + /mos-plugin-package-json/2.1.2: + dependencies: + babel-runtime: 6.26.0 + dev: true + engines: + node: '>=0.12' + resolution: + integrity: sha1-kQZoTdMWCYmBXd7Zi7qj6FedeaU= + /mos-plugin-readme/1.0.4: + dependencies: + babel-runtime: 6.26.0 + markdownscript: 1.3.0 + dev: true + engines: + node: '>=0.12' + resolution: + integrity: sha1-fOweSUjB7B1EKRWAHR9m164khfM= + /mos-plugin-shields/2.2.3: + dependencies: + babel-runtime: 6.26.0 + shieldman: 1.2.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-DQv/6/yl78i3q5xGxKElinHN5r+7bE0EJhPd2+sCvuBgcs+DaI1hbWu/ePiuobH8f7yaFN8w7dei3ZftiwHV9w== + /mos-plugin-snippet/2.1.3: + dependencies: + babel-runtime: 6.26.0 + dev: true + engines: + node: '>=0.12' + resolution: + integrity: sha1-AldDv4iW6GXi9/RIkoz0QHjUxZU= + /mos-plugin-toc/1.2.3: + dependencies: + babel-runtime: 6.26.0 + github-slugger: 1.2.0 + markdownscript: 1.3.0 + dev: true + engines: + node: '>=0.12' + resolution: + integrity: sha1-gDYFslWs9iUlq1l88ErSa99d4ws= + /mos-processor/1.2.2: + dependencies: + babel-runtime: 6.26.0 + github-url-to-object: 2.2.6 + magic-hook: 1.0.0 + mos-core: 1.0.2 + mos-read-pkg-up: 1.0.0 + normalize-path: 2.1.1 + remi: 1.1.1 + remi-runner: 1.1.3 + dev: true + engines: + node: '>=0.12' + resolution: + integrity: sha1-ayJKldvmppQ77O1etshS3Im6p9s= + /mos-read-pkg-up/1.0.0: + dependencies: + find-up: 1.1.2 + mos-read-pkg: 1.1.3 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-8Ai4XlQve4/T/bnXTtyOf00YJ2k= + /mos-read-pkg/1.1.3: + dependencies: + load-json-file: 1.1.0 + mos-normalize-package-data: 1.0.0 + path-type: 1.1.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-FM28aoCPD7wbY3hmob7XBaK9EcQ= + /mos-tap-diff/1.0.0: + dependencies: + babel-runtime: 6.26.0 + chalk: 1.1.3 + core-js: 2.5.7 + diff: 2.2.3 + duplexer: 0.1.1 + figures: 1.7.0 + jsondiffpatch: 0.1.43 + pretty-ms: 2.1.0 + tap-parser: 1.3.2 + through2: 2.0.3 + dev: true + hasBin: true + resolution: + integrity: sha1-NDOB0f2e1RljsLMVNbf9i64E/3A= + /mos/2.0.0-alpha.3: + dependencies: + babel-runtime: 6.26.0 + chalk: 1.1.3 + glob: 7.0.6 + loud-rejection: 1.6.0 + magic-hook: 1.0.0 + meow: 3.7.0 + mos-init: 1.1.2 + mos-plugin-dependencies: 2.2.2 + mos-plugin-ejs: 1.1.2 + mos-plugin-example: 1.1.2 + mos-plugin-installation: 1.2.2 + mos-plugin-license: 1.2.2 + mos-plugin-markdownscript: 2.1.2 + mos-plugin-package-json: 2.1.2 + mos-plugin-shields: 2.2.3 + mos-plugin-snippet: 2.1.3 + mos-plugin-toc: 1.2.3 + mos-processor: 1.2.2 + mos-read-pkg-up: 1.0.0 + mos-tap-diff: 1.0.0 + normalize-newline: 2.0.0 + normalize-path: 2.0.1 + rcfile: 1.0.3 + relative: 3.0.2 + resolve-cwd: 1.0.0 + resolve-from: 2.0.0 + tape: 4.5.1 + update-notifier: 0.7.0 + dev: true + engines: + node: '>=4' + hasBin: true + resolution: + integrity: sha1-t+m8RNw22I6vHVgmBn54ySEeqVE= + /ms/2.0.0: + dev: true + resolution: + integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + /mz/2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + resolution: + integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + /ndjson/1.5.0: + dependencies: + json-stringify-safe: 5.0.1 + minimist: 1.2.0 + split2: 2.2.0 + through2: 2.0.3 + dev: true + hasBin: true + resolution: + integrity: sha1-rmA7NrE0vOw0e0UkIrC/mNWDLsg= + /next-path/1.0.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha1-gixFgNer54PfGZZbeJYiyoAWA+Q= + /nice-try/1.0.4: + dev: true + resolution: + integrity: sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA== + /node-status-codes/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8= + /normalize-newline/2.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-yIv2pUcUYqzrP2UXE7wjmw+stUk= + /normalize-package-data/2.4.0: + dependencies: + hosted-git-info: 2.7.1 + is-builtin-module: 1.0.0 + semver: 5.5.1 + validate-npm-package-license: 3.0.4 + dev: true + resolution: + integrity: sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw== + /normalize-path/2.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-R4hqwWYnYNQmG32XnSQXCdPOP3o= + /normalize-path/2.1.1: + dependencies: + remove-trailing-separator: 1.1.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + /normalize-registry-url/1.0.0: + dev: false + resolution: + integrity: sha512-0v6T4851b72ykk5zEtFoN4QX/Fqyk7pouIj9xZyAvAe9jlDhAwT4z6FlwsoQCHjeuK2EGUoAwy/F4y4B1uZq9A== + /number-is-nan/1.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + /object-assign/4.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + /object-inspect/1.1.0: + dev: true + resolution: + integrity: sha1-NLymRKgPlPi6QaD50JhOr2Os8U0= + /object-inspect/1.6.0: + dev: true + resolution: + integrity: sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== + /object-keys/1.0.12: + engines: + node: '>= 0.4' + resolution: + integrity: sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag== + /object.getownpropertydescriptors/2.0.3: + dependencies: + define-properties: 1.1.3 + es-abstract: 1.12.0 + dev: false + engines: + node: '>= 0.8' + resolution: + integrity: sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= + /once/1.4.0: + dependencies: + wrappy: 1.0.2 + resolution: + integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + /os-homedir/1.0.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + /os-tmpdir/1.0.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + /osenv/0.1.5: + dependencies: + os-homedir: 1.0.2 + os-tmpdir: 1.0.2 + dev: true + resolution: + integrity: sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== + /p-is-promise/1.1.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4= + /p-limit/1.3.0: + dependencies: + p-try: 1.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + /p-locate/2.0.0: + dependencies: + p-limit: 1.3.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + /p-try/1.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + /package-json/2.4.0: + dependencies: + got: 5.7.1 + registry-auth-token: 3.3.2 + registry-url: 3.1.0 + semver: 5.5.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-DRW9Z9HLvduyyiIv8u24a8sxqLs= + /package-preview/1.0.6: + dependencies: + '@pnpm/exec': 1.1.5 + '@types/fs-extra': 5.0.4 + '@types/load-json-file': 2.0.7 + '@types/mz': 0.0.32 + '@types/node': 10.7.1 + '@types/write-json-file': 2.2.1 + cross-spawn: 6.0.5 + find-down: 0.1.4 + fs-extra: 5.0.0 + graceful-fs: 4.1.11 + load-json-file: 4.0.0 + meow: 4.0.1 + mz: 2.7.0 + rimraf-then: 1.0.1 + symlink-dir: 1.1.3 + unpack-stream: 3.0.3 + write-json-file: 2.3.0 + dev: true + engines: + node: '>=4' + hasBin: true + resolution: + integrity: sha512-GQ4w5vrDXoy8UVJM+0W7oWd5MYF21/IXkdzcupGNXdfqQuMzgQT+LXde109uHaH7xyqvCzPPBSxYM/HqQOi3+w== + /pako/0.2.9: + dev: true + resolution: + integrity: sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU= + /parse-entities/1.1.2: + dependencies: + character-entities: 1.2.2 + character-entities-legacy: 1.1.2 + character-reference-invalid: 1.1.2 + is-alphanumerical: 1.0.2 + is-decimal: 1.0.2 + is-hexadecimal: 1.0.2 + dev: true + resolution: + integrity: sha512-5N9lmQ7tmxfXf+hO3X6KRG6w7uYO/HL9fHalSySTdyn63C3WNvTM/1R8tn1u1larNcEbo3Slcy2bsVDQqvEpUg== + /parse-json/2.2.0: + dependencies: + error-ex: 1.3.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + /parse-json/4.0.0: + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + /parse-ms/1.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0= + /path-exists/2.1.0: + dependencies: + pinkie-promise: 2.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + /path-exists/3.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + /path-is-absolute/1.0.1: + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + /path-key/2.0.1: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + /path-parse/1.0.6: + dev: true + resolution: + integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + /path-type/1.1.0: + dependencies: + graceful-fs: 4.1.11 + pify: 2.3.0 + pinkie-promise: 2.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + /path-type/3.0.0: + dependencies: + pify: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + /peek-stream/1.1.3: + dependencies: + buffer-from: 1.1.1 + duplexify: 3.6.0 + through2: 2.0.3 + dev: true + resolution: + integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA== + /pify/2.3.0: + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + /pify/3.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + /pinkie-promise/2.0.1: + dependencies: + pinkie: 2.0.4 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o= + /pinkie/2.0.4: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + /plur/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-24XGgU9eXlo7Se/CjWBP7GKXUVY= + /pnpm-shrinkwrap/7.0.1: + dependencies: + '@pnpm/resolver-base': 1.2.0 + '@pnpm/types': 1.7.0 + '@types/js-yaml': 3.11.2 + '@types/node': 10.7.1 + '@types/ramda': 0.25.36 + dependency-path: 1.2.3 + get-npm-tarball-url: 2.0.1 + js-yaml: 3.12.0 + load-yaml-file: 0.1.0 + mkdirp-promise: 5.0.1 + ramda: 0.25.0 + rimraf-then: 1.0.1 + util.promisify: 1.0.0 + write-file-atomic: 2.3.0 + dev: false + engines: + node: '>=6' + peerDependencies: + '@pnpm/logger': '>=2.0.1 <3.0.0' + resolution: + integrity: sha512-PkIxFv+S0l9j99EYln9oM8rYcgCEsMJnGvHN8Ck5ja8Fg50pMKM8lK+C2MVRIxutMg50hrCYRaOh84zRZZUQDQ== + /prepend-http/1.0.4: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + /pretty-ms/2.1.0: + dependencies: + is-finite: 1.0.2 + parse-ms: 1.0.1 + plur: 1.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-QlfCVt8/sLRR1q/6qwIYhBJpgdw= + /private/0.1.8: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + /process-nextick-args/2.0.0: + dev: true + resolution: + integrity: sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== + /promise.prototype.finally/1.0.1: + deprecated: Please upgrade to v2.0 or higher! + dev: true + resolution: + integrity: sha1-kRgvkckkhplXQPoF4NqUKsmGvvo= + /pseudomap/1.0.2: + dev: true + resolution: + integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + /pump/1.0.3: + dependencies: + end-of-stream: 1.4.1 + once: 1.4.0 + dev: true + resolution: + integrity: sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw== + /pump/2.0.1: + dependencies: + end-of-stream: 1.4.1 + once: 1.4.0 + dev: true + resolution: + integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + /pumpify/1.5.1: + dependencies: + duplexify: 3.6.0 + inherits: 2.0.3 + pump: 2.0.1 + dev: true + resolution: + integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + /quick-lru/1.1.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= + /ramda/0.25.0: + dev: false + resolution: + integrity: sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ== + /rc/1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.5 + minimist: 1.2.0 + strip-json-comments: 2.0.1 + dev: true + hasBin: true + resolution: + integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + /rcfile/1.0.3: + dependencies: + debug: 2.6.9 + js-yaml: 3.12.0 + json5: 0.5.1 + object-assign: 4.1.1 + object-keys: 1.0.12 + path-exists: 2.1.0 + require-uncached: 1.0.3 + dev: true + engines: + node: '>=0.10' + resolution: + integrity: sha1-wdgXXCiRh8Hci7OpY7bURAF7FXY= + /read-all-stream/3.1.0: + dependencies: + pinkie-promise: 2.0.1 + readable-stream: 2.3.6 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po= + /read-pkg-up/1.0.1: + dependencies: + find-up: 1.1.2 + read-pkg: 1.1.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + /read-pkg-up/3.0.0: + dependencies: + find-up: 2.1.0 + read-pkg: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + /read-pkg/1.1.0: + dependencies: + load-json-file: 1.1.0 + normalize-package-data: 2.4.0 + path-type: 1.1.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + /read-pkg/3.0.0: + dependencies: + load-json-file: 4.0.0 + normalize-package-data: 2.4.0 + path-type: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + /readable-stream/2.3.6: + dependencies: + core-util-is: 1.0.2 + inherits: 2.0.3 + isarray: 1.0.0 + process-nextick-args: 2.0.0 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: true + resolution: + integrity: sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + /redent/1.0.0: + dependencies: + indent-string: 2.1.0 + strip-indent: 1.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= + /redent/2.0.0: + dependencies: + indent-string: 3.2.0 + strip-indent: 2.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo= + /regenerator-runtime/0.11.1: + dev: true + resolution: + integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + /registry-auth-token/3.3.2: + dependencies: + rc: 1.2.8 + safe-buffer: 5.1.2 + dev: true + resolution: + integrity: sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ== + /registry-url/3.1.0: + dependencies: + rc: 1.2.8 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-PU74cPc93h138M+aOBQyRE4XSUI= + /relative/3.0.2: + dependencies: + isobject: 2.1.0 + dev: true + engines: + node: '>= 0.8.0' + resolution: + integrity: sha1-Dc2OxUpdNaPBXhBFA9ZTdbWlNn8= + /remi-runner/1.1.3: + dependencies: + babel-runtime: 6.26.0 + is-promise: 2.1.0 + dev: true + resolution: + integrity: sha1-Dh/tS9DxMlwnNeZTHRM5EnM/fmw= + /remi/1.1.1: + dependencies: + babel-runtime: 6.26.0 + magic-hook: 1.0.0 + dev: true + resolution: + integrity: sha1-Rxt5AU16SWvboB0BihJvj3ctiMY= + /remove-trailing-separator/1.1.0: + dev: true + resolution: + integrity: sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + /repeat-string/1.6.1: + dev: true + engines: + node: '>=0.10' + resolution: + integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc= + /repeating/2.0.1: + dependencies: + is-finite: 1.0.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= + /require-uncached/1.0.3: + dependencies: + caller-path: 0.1.0 + resolve-from: 1.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM= + /reserved-words/0.1.2: + dev: true + resolution: + integrity: sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE= + /resolve-cwd/1.0.0: + dependencies: + resolve-from: 2.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-Tq7qQe0EDRcCRX32SkKysH0kb58= + /resolve-from/1.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY= + /resolve-from/2.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-lICrIOlP+h2egKgEx+oUdhGWa1c= + /resolve/1.1.7: + dev: true + resolution: + integrity: sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= + /resolve/1.7.1: + dependencies: + path-parse: 1.0.6 + dev: true + resolution: + integrity: sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw== + /resolve/1.8.1: + dependencies: + path-parse: 1.0.6 + dev: true + resolution: + integrity: sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== + /resumer/0.0.0: + dependencies: + through: 2.3.8 + dev: true + resolution: + integrity: sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k= + /rimraf-then/1.0.1: + dependencies: + any-promise: 1.3.0 + rimraf: 2.6.2 + resolution: + integrity: sha1-vURYp561YbdUiq7ArDdT70Kf5ws= + /rimraf/2.6.2: + dependencies: + glob: 7.1.2 + hasBin: true + resolution: + integrity: sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== + /rollup-plugin-babel/2.4.0: + dependencies: + babel-core: 6.26.3 + babel-plugin-transform-es2015-classes: 6.24.1 + object-assign: 4.1.1 + rollup-pluginutils: 1.5.2 + dev: true + resolution: + integrity: sha1-gqfhZPopFCq9B7UmucfALV6jO70= + /rollup-plugin-includepaths/0.1.2: + dev: true + resolution: + integrity: sha1-VuhDgwmmK5QYnkIIqA+a/BUf3WA= + /rollup-pluginutils/1.5.2: + dependencies: + estree-walker: 0.2.1 + minimatch: 3.0.4 + dev: true + resolution: + integrity: sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg= + /rollup/0.25.8: + dependencies: + chalk: 1.1.3 + minimist: 1.2.0 + source-map-support: 0.3.3 + dev: true + hasBin: true + resolution: + integrity: sha1-v2zoO4dRDRY0Ru6qV37WpvxYNeA= + /safe-buffer/5.1.2: + dev: true + resolution: + integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + /semver-diff/2.1.0: + dependencies: + semver: 5.5.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= + /semver/5.5.1: + hasBin: true + resolution: + integrity: sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw== + /shebang-command/1.2.0: + dependencies: + shebang-regex: 1.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + /shebang-regex/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + /shieldman/1.2.0: + dev: true + engines: + node: '>=0.10' + resolution: + integrity: sha1-XaOXMpG1OSvEginLbXhD73M3+lc= + /signal-exit/3.0.2: + resolution: + integrity: sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + /slash/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + /slide/1.1.6: + dev: true + resolution: + integrity: sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= + /sort-keys/1.1.2: + dependencies: + is-plain-obj: 1.1.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + /sort-keys/2.0.0: + dependencies: + is-plain-obj: 1.1.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= + /source-map-support/0.3.3: + dependencies: + source-map: 0.1.32 + dev: true + resolution: + integrity: sha1-NJAJd9W6PwfHdX7nLnO7GptTdU8= + /source-map-support/0.4.18: + dependencies: + source-map: 0.5.7 + dev: true + resolution: + integrity: sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== + /source-map-support/0.5.9: + dependencies: + buffer-from: 1.1.1 + source-map: 0.6.1 + dev: true + resolution: + integrity: sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA== + /source-map/0.1.32: + dependencies: + amdefine: 1.0.1 + dev: true + engines: + node: '>=0.8.0' + resolution: + integrity: sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY= + /source-map/0.5.3: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-gmdLhacbC+dsPnQW0V6fUlLrO+A= + /source-map/0.5.7: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + /source-map/0.6.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + /spdx-correct/3.0.0: + dependencies: + spdx-expression-parse: 3.0.0 + spdx-license-ids: 3.0.0 + dev: true + resolution: + integrity: sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g== + /spdx-exceptions/2.1.0: + dev: true + resolution: + integrity: sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg== + /spdx-expression-parse/3.0.0: + dependencies: + spdx-exceptions: 2.1.0 + spdx-license-ids: 3.0.0 + dev: true + resolution: + integrity: sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + /spdx-license-ids/3.0.0: + dev: true + resolution: + integrity: sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA== + /split2/2.2.0: + dependencies: + through2: 2.0.3 + dev: true + resolution: + integrity: sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw== + /sprintf-js/1.0.3: + resolution: + integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + /ssri/5.3.0: + dependencies: + safe-buffer: 5.1.2 + dev: true + resolution: + integrity: sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ== + /stream-shift/1.0.0: + dev: true + resolution: + integrity: sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= + /string-width/1.0.2: + dependencies: + code-point-at: 1.1.0 + is-fullwidth-code-point: 1.0.0 + strip-ansi: 3.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + /string.prototype.trim/1.1.2: + dependencies: + define-properties: 1.1.3 + es-abstract: 1.12.0 + function-bind: 1.1.1 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo= + /string_decoder/1.1.1: + dependencies: + safe-buffer: 5.1.2 + dev: true + resolution: + integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + /stringify-entities/1.3.2: + dependencies: + character-entities-html4: 1.1.2 + character-entities-legacy: 1.1.2 + is-alphanumerical: 1.0.2 + is-hexadecimal: 1.0.2 + dev: true + resolution: + integrity: sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A== + /strip-ansi/0.3.0: + dependencies: + ansi-regex: 0.2.1 + dev: true + engines: + node: '>=0.10.0' + hasBin: true + resolution: + integrity: sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA= + /strip-ansi/3.0.1: + dependencies: + ansi-regex: 2.1.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + /strip-bom/2.0.0: + dependencies: + is-utf8: 0.2.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + /strip-bom/3.0.0: + engines: + node: '>=4' + resolution: + integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + /strip-indent/1.0.1: + dependencies: + get-stdin: 4.0.1 + dev: true + engines: + node: '>=0.10.0' + hasBin: true + resolution: + integrity: sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= + /strip-indent/2.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= + /strip-json-comments/2.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo= + /supports-color/0.2.0: + dev: true + engines: + node: '>=0.10.0' + hasBin: true + resolution: + integrity: sha1-2S3iaU6z9nMjlz1649i1W0wiGQo= + /supports-color/2.0.0: + dev: true + engines: + node: '>=0.8.0' + resolution: + integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + /supports-color/5.5.0: + dependencies: + has-flag: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + /symlink-dir/1.1.3: + dependencies: + '@types/mz': 0.0.32 + '@types/node': 10.7.1 + graceful-fs: 4.1.11 + is-windows: 1.0.2 + mkdirp-promise: 5.0.1 + mz: 2.7.0 + dev: true + engines: + node: '>=4' + hasBin: true + resolution: + integrity: sha512-klQgTYk7en8A69nAzZjJdaMXbGCmfh0DU+YLaZG/stHNp00VZSS3Pos238Ua7oCKVw57UszViod4D7RVRH6XHg== + /tap-parser/1.3.2: + dependencies: + events-to-array: 1.1.2 + inherits: 2.0.3 + js-yaml: 3.12.0 + dev: true + hasBin: true + optionalDependencies: + readable-stream: 2.3.6 + resolution: + integrity: sha1-EgxQiciMPIp5PvKIhn3jIeGPjCI= + /tape/4.5.1: + dependencies: + deep-equal: 1.0.1 + defined: 1.0.0 + function-bind: 1.1.1 + glob: 7.0.6 + has: 1.0.3 + inherits: 2.0.3 + minimist: 1.2.0 + object-inspect: 1.1.0 + resolve: 1.1.7 + resumer: 0.0.0 + string.prototype.trim: 1.1.2 + through: 2.3.8 + dev: true + hasBin: true + resolution: + integrity: sha1-K7PqGb3J9SJSF7P5fL95hsxMbow= + /tape/4.9.1: + dependencies: + deep-equal: 1.0.1 + defined: 1.0.0 + for-each: 0.3.3 + function-bind: 1.1.1 + glob: 7.1.2 + has: 1.0.3 + inherits: 2.0.3 + minimist: 1.2.0 + object-inspect: 1.6.0 + resolve: 1.7.1 + resumer: 0.0.0 + string.prototype.trim: 1.1.2 + through: 2.3.8 + dev: true + hasBin: true + resolution: + integrity: sha512-6fKIXknLpoe/Jp4rzHKFPpJUHDHDqn8jus99IfPnHIjyz78HYlefTGD3b5EkbQzuLfaEvmfPK3IolLgq2xT3kw== + /tar-fs/1.16.3: + dependencies: + chownr: 1.0.1 + mkdirp: 0.5.1 + pump: 1.0.3 + tar-stream: 1.6.1 + dev: true + resolution: + integrity: sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw== + /tar-stream/1.6.1: + dependencies: + bl: 1.2.2 + buffer-alloc: 1.2.0 + end-of-stream: 1.4.1 + fs-constants: 1.0.0 + readable-stream: 2.3.6 + to-buffer: 1.1.1 + xtend: 4.0.1 + dev: true + engines: + node: '>= 0.8.0' + resolution: + integrity: sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA== + /the-argv/1.0.0: + dev: true + resolution: + integrity: sha1-AIRwUAVzDdhNt1UlPJMa45jblSI= + /thenify-all/1.6.0: + dependencies: + thenify: 3.3.0 + dev: true + engines: + node: '>=0.8' + resolution: + integrity: sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= + /thenify/3.3.0: + dependencies: + any-promise: 1.3.0 + dev: true + resolution: + integrity: sha1-5p44obq+lpsBCCB5eLn2K4hgSDk= + /through/2.3.8: + dev: true + resolution: + integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + /through2/2.0.3: + dependencies: + readable-stream: 2.3.6 + xtend: 4.0.1 + dev: true + resolution: + integrity: sha1-AARWmzfHx0ujnEPzzteNGtlBQL4= + /timed-out/3.1.3: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc= + /to-buffer/1.1.1: + dev: true + resolution: + integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== + /to-fast-properties/1.0.3: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= + /trim-newlines/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-WIeWa7WCpFA6QetST301ARgVphM= + /trim-newlines/2.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= + /trim-right/1.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= + /trim-trailing-lines/1.1.1: + dev: true + resolution: + integrity: sha512-bWLv9BbWbbd7mlqqs2oQYnLD/U/ZqeJeJwbO0FG2zA1aTq+HTvxfHNKFa/HGCVyJpDiioUYaBhfiT6rgk+l4mg== + /trim/0.0.1: + dev: true + resolution: + integrity: sha1-WFhUf2spB1fulczMZm+1AITEYN0= + /ts-node/7.0.1: + dependencies: + arrify: 1.0.1 + buffer-from: 1.1.1 + diff: 3.5.0 + make-error: 1.3.4 + minimist: 1.2.0 + mkdirp: 0.5.1 + source-map-support: 0.5.9 + yn: 2.0.0 + dev: true + engines: + node: '>=4.2.0' + hasBin: true + resolution: + integrity: sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw== + /tslib/1.9.3: + dev: true + resolution: + integrity: sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== + /tslint/5.11.0: + dependencies: + babel-code-frame: 6.26.0 + builtin-modules: 1.1.1 + chalk: 2.4.1 + commander: 2.17.1 + diff: 3.5.0 + glob: 7.1.2 + js-yaml: 3.12.0 + minimatch: 3.0.4 + resolve: 1.8.1 + semver: 5.5.1 + tslib: 1.9.3 + tsutils: 2.29.0 + dev: true + engines: + node: '>=4.8.0' + hasBin: true + peerDependencies: + typescript: '>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev' + resolution: + integrity: sha1-mPMMAurjzecAYgHkwzywi0hYHu0= + /tsutils/2.29.0: + dependencies: + tslib: 1.9.3 + dev: true + peerDependencies: + typescript: '>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev' + resolution: + integrity: sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== + /typescript/3.0.1: + dev: true + engines: + node: '>=4.2.0' + hasBin: true + resolution: + integrity: sha512-zQIMOmC+372pC/CCVLqnQ0zSBiY7HHodU7mpQdjiZddek4GMj31I3dUJ7gAs9o65X7mnRma6OokOkc6f9jjfBg== + /unbzip2-stream/1.2.5: + dependencies: + buffer: 3.6.0 + through: 2.3.8 + dev: true + resolution: + integrity: sha512-izD3jxT8xkzwtXRUZjtmRwKnZoeECrfZ8ra/ketwOcusbZEp4mjULMnJOCfTDZBgGQAAY1AJ/IgxcwkavcX9Og== + /unist-util-is/2.1.2: + dev: true + resolution: + integrity: sha512-YkXBK/H9raAmG7KXck+UUpnKiNmUdB+aBGrknfQ4EreE1banuzrKABx3jP6Z5Z3fMSPMQQmeXBlKpCbMwBkxVw== + /unist-util-remove-position/1.1.2: + dependencies: + unist-util-visit: 1.4.0 + dev: true + resolution: + integrity: sha512-XxoNOBvq1WXRKXxgnSYbtCF76TJrRoe5++pD4cCBsssSiWSnPEktyFrFLE8LTk3JW5mt9hB0Sk5zn4x/JeWY7Q== + /unist-util-visit-parents/2.0.1: + dependencies: + unist-util-is: 2.1.2 + dev: true + resolution: + integrity: sha512-6B0UTiMfdWql4cQ03gDTCSns+64Zkfo2OCbK31Ov0uMizEz+CJeAp0cgZVb5Fhmcd7Bct2iRNywejT0orpbqUA== + /unist-util-visit/1.4.0: + dependencies: + unist-util-visit-parents: 2.0.1 + dev: true + resolution: + integrity: sha512-FiGu34ziNsZA3ZUteZxSFaczIjGmksfSgdKqBfOejrrfzyUy5b7YrlzT1Bcvi+djkYDituJDy2XB7tGTeBieKw== + /universalify/0.1.2: + dev: true + engines: + node: '>= 4.0.0' + resolution: + integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + /unpack-stream/3.0.3: + dependencies: + '@types/node': 10.7.1 + decompress-maybe: 1.0.0 + ssri: 5.3.0 + tar-fs: 1.16.3 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-h3Ii7ThTL7P5LlX1RuMPsuW4V5EZnLyjPwStIMQ4V0F6rblgmXIS+IkpAOu9THHDZYUO/D8TTJddVc6HIY4S5g== + /unzip-response/1.0.2: + dev: true + engines: + node: '>=0.10' + resolution: + integrity: sha1-uYTwh3/AqJwsdzzB73tbIytbBv4= + /update-notifier/0.7.0: + dependencies: + ansi-align: 1.1.0 + boxen: 0.5.1 + chalk: 1.1.3 + configstore: 2.1.0 + is-npm: 1.0.0 + latest-version: 2.0.0 + semver-diff: 2.1.0 + xdg-basedir: 2.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-FDxFMzg9CJCO9wVGIGOV/htauwY= + /url-parse-lax/1.0.0: + dependencies: + prepend-http: 1.0.4 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= + /util-deprecate/1.0.2: + dev: true + resolution: + integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + /util.promisify/1.0.0: + dependencies: + define-properties: 1.1.3 + object.getownpropertydescriptors: 2.0.3 + dev: false + resolution: + integrity: sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + /uuid/2.0.3: + dev: true + resolution: + integrity: sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho= + /validate-npm-package-license/3.0.4: + dependencies: + spdx-correct: 3.0.0 + spdx-expression-parse: 3.0.0 + dev: true + resolution: + integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + /which/1.3.1: + dependencies: + isexe: 2.0.0 + dev: true + hasBin: true + resolution: + integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + /widest-line/1.0.0: + dependencies: + string-width: 1.0.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-DAnIXCqUaD0Nfq+O4JfVZL8OEFw= + /wrappy/1.0.2: + resolution: + integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + /write-file-atomic/1.3.4: + dependencies: + graceful-fs: 4.1.11 + imurmurhash: 0.1.4 + slide: 1.1.6 + dev: true + resolution: + integrity: sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8= + /write-file-atomic/2.3.0: + dependencies: + graceful-fs: 4.1.11 + imurmurhash: 0.1.4 + signal-exit: 3.0.2 + resolution: + integrity: sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA== + /write-json-file/1.2.0: + dependencies: + graceful-fs: 4.1.11 + mkdirp: 0.5.1 + object-assign: 4.1.1 + pify: 2.3.0 + pinkie-promise: 2.0.1 + sort-keys: 1.1.2 + write-file-atomic: 1.3.4 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-LV3+lqvDyIkFfJOXGqQAXvtUgTQ= + /write-json-file/2.3.0: + dependencies: + detect-indent: 5.0.0 + graceful-fs: 4.1.11 + make-dir: 1.3.0 + pify: 3.0.0 + sort-keys: 2.0.0 + write-file-atomic: 2.3.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8= + /write-pkg/1.0.0: + dependencies: + write-json-file: 1.2.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-rriqnU14jh2JPfsIVJaLVDqRn1c= + /xdg-basedir/2.0.0: + dependencies: + os-homedir: 1.0.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I= + /xtend/4.0.1: + dev: true + engines: + node: '>=0.4' + resolution: + integrity: sha1-pcbVMr5lbiPbgg77lDofBJmNY68= + /yallist/2.1.2: + dev: true + resolution: + integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + /yn/2.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-5a2ryKz0CPY4X8dklWhMiOavaJo= +registry: 'https://registry.npmjs.org/' +shrinkwrapMinorVersion: 9 +shrinkwrapVersion: 3 +specifiers: + '@pnpm/logger': ^2.1.0 + '@types/node': ^9.3.0 || 10 + '@types/semver': ^5.3.32 + '@types/tape': ^4.2.30 + dependency-path: ^2.0.0 + mos: ^2.0.0-alpha.3 + mos-plugin-readme: ^1.0.4 + package-preview: ^1.0.0 + pnpm-shrinkwrap: ^7.0.0 + semver: ^5.3.0 + tape: ^4.7.0 + ts-node: ^7.0.0 + tslint: ^5.8.0 + typescript: ^3.0.0 diff --git a/packages/dependencies-hierarchy/src/index.ts b/packages/dependencies-hierarchy/src/index.ts new file mode 100644 index 0000000000..11d68c32f3 --- /dev/null +++ b/packages/dependencies-hierarchy/src/index.ts @@ -0,0 +1,210 @@ +import assert = require('assert') +import {refToAbsolute, refToRelative} from 'dependency-path' +import { + readPrivate, + ResolvedPackages, + Shrinkwrap, +} from 'pnpm-shrinkwrap' +import semver = require('semver') + +export type PackageSelector = string | { + name: string, + range: string, +} + +export interface PackageNode { + pkg: { + name: string, + version: string, + path: string, + } + dependencies?: PackageNode[], + searched?: true, + circular?: true, +} + +export function forPackages( + packages: PackageSelector[], + projectPath: string, + opts?: { + depth: number, + only?: 'dev' | 'prod', + }, +) { + assert(packages, 'packages should be defined') + if (!packages.length) return [] + + return dependenciesHierarchy(projectPath, packages, opts) +} + +export default function( + projectPath: string, + opts?: { + depth: number, + only?: 'dev' | 'prod', + }, +) { + return dependenciesHierarchy(projectPath, [], opts) +} + +async function dependenciesHierarchy( + projectPath: string, + searched: PackageSelector[], + maybeOpts?: { + depth: number, + only?: 'dev' | 'prod', + }, +): Promise { + const opts = Object.assign({}, { + depth: 0, + only: undefined, + }, maybeOpts) + const shrinkwrap = await readPrivate(projectPath, {ignoreIncompatible: false}) + + if (!shrinkwrap) return [] + + const topDeps = getTopDependencies(shrinkwrap, opts) + + if (!topDeps) return [] + + const getChildrenTree = getTree.bind(null, { + currentDepth: 1, + maxDepth: opts.depth, + prod: opts.only === 'prod', + registry: shrinkwrap.registry, + searched, + }, shrinkwrap.packages) + const result: PackageNode[] = [] + Object.keys(topDeps).forEach((depName) => { + const pkgPath = refToAbsolute(topDeps[depName], depName, shrinkwrap.registry) + const pkg = { + name: depName, + path: pkgPath || topDeps[depName], + version: topDeps[depName], + } + let newEntry: PackageNode | null = null + const matchedSearched = searched.length && matches(searched, pkg) + if (pkgPath === null) { + newEntry = {pkg} + } else { + const relativeId = refToRelative(topDeps[depName], depName) + const dependencies = getChildrenTree([relativeId], relativeId) + if (dependencies.length) { + newEntry = { + dependencies, + pkg, + } + } else if (!searched.length || matches(searched, pkg)) { + newEntry = {pkg} + } + } + if (newEntry) { + if (matchedSearched) { + newEntry.searched = true + } + result.push(newEntry) + } + }) + return result +} + +function getTopDependencies( + shrinkwrap: Shrinkwrap, + opts: { + only?: 'dev' | 'prod', + }, +) { + switch (opts.only) { + case 'prod': + return shrinkwrap.dependencies + case 'dev': + return shrinkwrap.devDependencies + default: + return Object.assign({}, + shrinkwrap.dependencies, + shrinkwrap.devDependencies, + shrinkwrap.optionalDependencies, + ) + } +} + +function getTree( + opts: { + currentDepth: number, + maxDepth: number, + prod: boolean, + searched: PackageSelector[], + registry: string, + }, + packages: ResolvedPackages, + keypath: string[], + parentId: string, +): PackageNode[] { + if (opts.currentDepth > opts.maxDepth || !packages || !packages[parentId]) return [] + + const deps = opts.prod + ? packages[parentId].dependencies + : Object.assign({}, + packages[parentId].dependencies, + packages[parentId].optionalDependencies, + ) + + if (!deps) return [] + + const getChildrenTree = getTree.bind(null, Object.assign({}, opts, { + currentDepth: opts.currentDepth + 1, + }), packages) + + const result: PackageNode[] = [] + Object.keys(deps).forEach((depName) => { + const pkgPath = refToAbsolute(deps[depName], depName, opts.registry) + const pkg = { + name: depName, + path: pkgPath || deps[depName], + version: deps[depName], + } + let circular: boolean + const matchedSearched = opts.searched.length && matches(opts.searched, pkg) + let newEntry: PackageNode | null = null + if (pkgPath === null) { + circular = false + newEntry = {pkg} + } else { + const relativeId = refToRelative(deps[depName], depName) as string // we know for sure that relative is not null if pkgPath is not null + circular = keypath.indexOf(relativeId) !== -1 + const dependencies = circular ? [] : getChildrenTree(keypath.concat([relativeId]), relativeId) + + if (dependencies.length) { + newEntry = { + dependencies, + pkg, + } + } else if (!opts.searched.length || matchedSearched) { + newEntry = {pkg} + } + } + if (newEntry) { + if (circular) { + newEntry.circular = true + } + if (matchedSearched) { + newEntry.searched = true + } + result.push(newEntry) + } + }) + return result +} + +function matches( + searched: PackageSelector[], + pkg: {name: string, version: string}, +) { + return searched.some((searchedPkg) => { + if (typeof searchedPkg === 'string') { + return pkg.name === searchedPkg + } + return searchedPkg.name === pkg.name && + semver.satisfies(pkg.version, searchedPkg.range) + }) +} diff --git a/packages/dependencies-hierarchy/test/circularTree.json b/packages/dependencies-hierarchy/test/circularTree.json new file mode 100644 index 0000000000..987921419c --- /dev/null +++ b/packages/dependencies-hierarchy/test/circularTree.json @@ -0,0 +1,181 @@ +[ + { + "pkg": { + "path": "registry.npmjs.org/es6-iterator/2.0.1", + "name": "es6-iterator", + "version": "2.0.1" + }, + "dependencies": [ + { + "pkg": { + "path": "registry.npmjs.org/d/1.0.0", + "name": "d", + "version": "1.0.0" + }, + "dependencies": [ + { + "pkg": { + "path": "registry.npmjs.org/es5-ext/0.10.24", + "name": "es5-ext", + "version": "0.10.24" + }, + "dependencies": [ + { + "pkg": { + "path": "registry.npmjs.org/es6-iterator/2.0.1", + "name": "es6-iterator", + "version": "2.0.1" + }, + "circular": true + }, + { + "pkg": { + "path": "registry.npmjs.org/es6-symbol/3.1.1", + "name": "es6-symbol", + "version": "3.1.1" + }, + "dependencies": [ + { + "pkg": { + "path": "registry.npmjs.org/d/1.0.0", + "name": "d", + "version": "1.0.0" + }, + "circular": true + }, + { + "pkg": { + "path": "registry.npmjs.org/es5-ext/0.10.24", + "name": "es5-ext", + "version": "0.10.24" + }, + "circular": true + } + ] + } + ] + } + ] + }, + { + "pkg": { + "path": "registry.npmjs.org/es5-ext/0.10.24", + "name": "es5-ext", + "version": "0.10.24" + }, + "dependencies": [ + { + "pkg": { + "path": "registry.npmjs.org/es6-iterator/2.0.1", + "name": "es6-iterator", + "version": "2.0.1" + }, + "circular": true + }, + { + "pkg": { + "path": "registry.npmjs.org/es6-symbol/3.1.1", + "name": "es6-symbol", + "version": "3.1.1" + }, + "dependencies": [ + { + "pkg": { + "path": "registry.npmjs.org/d/1.0.0", + "name": "d", + "version": "1.0.0" + }, + "dependencies": [ + { + "pkg": { + "path": "registry.npmjs.org/es5-ext/0.10.24", + "name": "es5-ext", + "version": "0.10.24" + }, + "circular": true + } + ] + }, + { + "pkg": { + "path": "registry.npmjs.org/es5-ext/0.10.24", + "name": "es5-ext", + "version": "0.10.24" + }, + "circular": true + } + ] + } + ] + }, + { + "pkg": { + "path": "registry.npmjs.org/es6-symbol/3.1.1", + "name": "es6-symbol", + "version": "3.1.1" + }, + "dependencies": [ + { + "pkg": { + "path": "registry.npmjs.org/d/1.0.0", + "name": "d", + "version": "1.0.0" + }, + "dependencies": [ + { + "pkg": { + "path": "registry.npmjs.org/es5-ext/0.10.24", + "name": "es5-ext", + "version": "0.10.24" + }, + "dependencies": [ + { + "pkg": { + "path": "registry.npmjs.org/es6-iterator/2.0.1", + "name": "es6-iterator", + "version": "2.0.1" + }, + "circular": true + }, + { + "pkg": { + "path": "registry.npmjs.org/es6-symbol/3.1.1", + "name": "es6-symbol", + "version": "3.1.1" + }, + "circular": true + } + ] + } + ] + }, + { + "pkg": { + "path": "registry.npmjs.org/es5-ext/0.10.24", + "name": "es5-ext", + "version": "0.10.24" + }, + "dependencies": [ + { + "pkg": { + "path": "registry.npmjs.org/es6-iterator/2.0.1", + "name": "es6-iterator", + "version": "2.0.1" + }, + "circular": true + }, + { + "pkg": { + "path": "registry.npmjs.org/es6-symbol/3.1.1", + "name": "es6-symbol", + "version": "3.1.1" + }, + "circular": true + } + ] + } + ] + } + ] + } +] diff --git a/packages/dependencies-hierarchy/test/fixtures/.gitignore b/packages/dependencies-hierarchy/test/fixtures/.gitignore new file mode 100644 index 0000000000..cf4bab9ddd --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/.gitignore @@ -0,0 +1 @@ +!node_modules diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.modules.yaml b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.modules.yaml new file mode 100644 index 0000000000..ab2aabc366 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.modules.yaml @@ -0,0 +1,5 @@ +independentLeaves: false +layoutVersion: 1 +packageManager: pnpm@1.4.0 +skipped: [] +store: /home/zkochan/.pnpm-store/2 diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/.lint b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/.lint new file mode 100644 index 0000000000..cf54d81568 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/.lint @@ -0,0 +1,11 @@ +@root + +module + +tabs +indent 2 +maxlen 100 + +ass +nomen +plusplus diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/.npmignore b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/.npmignore new file mode 100644 index 0000000000..155e41f691 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/.npmignore @@ -0,0 +1,4 @@ +.DS_Store +/node_modules +/npm-debug.log +/.lintcache diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/.travis.yml b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/.travis.yml new file mode 100644 index 0000000000..01e3b2489c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/.travis.yml @@ -0,0 +1,15 @@ +sudo: false # http://docs.travis-ci.com/user/workers/container-based-infrastructure/ +language: node_js +node_js: + - 0.12 + - 4 + - 5 + +before_install: + - mkdir node_modules; ln -s ../ node_modules/d + +notifications: + email: + - medikoo+d@medikoo.com + +script: "npm test && npm run lint" diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/CHANGES b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/CHANGES new file mode 100644 index 0000000000..594b8ef549 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/CHANGES @@ -0,0 +1,13 @@ +v1.0.0 -- 2015.12.04 +- autoBind changes: + - replace `bindTo` argument with options and `resolveContext` option + - Add support `overwriteDefinition` +- Introduce IE11 bug workaround in `lazy` handler + +v0.1.1 -- 2014.04.24 +- Add `autoBind` and `lazy` utilities +- Allow to pass other options to be merged onto created descriptor. + Useful when used with other custom utilties + +v0.1.0 -- 2013.06.20 +Initial (derived from es5-ext project) diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/LICENSE b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/LICENSE new file mode 100644 index 0000000000..aaf35282f4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/LICENSE @@ -0,0 +1,19 @@ +Copyright (C) 2013 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. diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/README.md b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/README.md new file mode 100644 index 0000000000..ccdadc65f2 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/README.md @@ -0,0 +1,104 @@ +# D +## Property descriptor factory + +_Originally derived from [es5-ext](https://github.com/medikoo/es5-ext) package._ + +Defining properties with descriptors is very verbose: + +```javascript +var Account = function () {}; +Object.defineProperties(Account.prototype, { + deposit: { value: function () { + /* ... */ + }, configurable: true, enumerable: false, writable: true }, + withdraw: { value: function () { + /* ... */ + }, configurable: true, enumerable: false, writable: true }, + balance: { get: function () { + /* ... */ + }, configurable: true, enumerable: false } +}); +``` + +D cuts that to: + +```javascript +var d = require('d'); + +var Account = function () {}; +Object.defineProperties(Account.prototype, { + deposit: d(function () { + /* ... */ + }), + withdraw: d(function () { + /* ... */ + }), + balance: d.gs(function () { + /* ... */ + }) +}); +``` + +By default, created descriptor follow characteristics of native ES5 properties, and defines values as: + +```javascript +{ configurable: true, enumerable: false, writable: true } +``` + +You can overwrite it by preceding _value_ argument with instruction: +```javascript +d('c', value); // { configurable: true, enumerable: false, writable: false } +d('ce', value); // { configurable: true, enumerable: true, writable: false } +d('e', value); // { configurable: false, enumerable: true, writable: false } + +// Same way for get/set: +d.gs('e', value); // { configurable: false, enumerable: true } +``` + +### Installation + + $ npm install d + +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/) + +### Other utilities + +#### autoBind(obj, props) _(d/auto-bind)_ + +Define methods which will be automatically bound to its instances + +```javascript +var d = require('d'); +var autoBind = require('d/auto-bind'); + +var Foo = function () { this._count = 0; }; +Object.defineProperties(Foo.prototype, autoBind({ + increment: d(function () { ++this._count; }); +})); + +var foo = new Foo(); + +// Increment foo counter on each domEl click +domEl.addEventListener('click', foo.increment, false); +``` + +#### lazy(obj, props) _(d/lazy)_ + +Define lazy properties, which will be resolved on first access + +```javascript +var d = require('d'); +var lazy = require('d/lazy'); + +var Foo = function () {}; +Object.defineProperties(Foo.prototype, lazy({ + items: d(function () { return []; }) +})); + +var foo = new Foo(); +foo.items.push(1, 2); // foo.items array created and defined directly on foo +``` + +## Tests [![Build Status](https://travis-ci.org/medikoo/d.png)](https://travis-ci.org/medikoo/d) + + $ npm test diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/auto-bind.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/auto-bind.js new file mode 100644 index 0000000000..0fdac9b730 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/auto-bind.js @@ -0,0 +1,32 @@ +'use strict'; + +var copy = require('es5-ext/object/copy') + , normalizeOptions = require('es5-ext/object/normalize-options') + , ensureCallable = require('es5-ext/object/valid-callable') + , map = require('es5-ext/object/map') + , callable = require('es5-ext/object/valid-callable') + , validValue = require('es5-ext/object/valid-value') + + , bind = Function.prototype.bind, defineProperty = Object.defineProperty + , hasOwnProperty = Object.prototype.hasOwnProperty + , define; + +define = function (name, desc, options) { + var value = validValue(desc) && callable(desc.value), dgs; + dgs = copy(desc); + delete dgs.writable; + delete dgs.value; + dgs.get = function () { + if (!options.overwriteDefinition && hasOwnProperty.call(this, name)) return value; + desc.value = bind.call(value, options.resolveContext ? options.resolveContext(this) : this); + defineProperty(this, name, desc); + return this[name]; + }; + return dgs; +}; + +module.exports = function (props/*, options*/) { + var options = normalizeOptions(arguments[1]); + if (options.resolveContext != null) ensureCallable(options.resolveContext); + return map(props, function (desc, name) { return define(name, desc, options); }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/index.js new file mode 100644 index 0000000000..076ae465f6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/index.js @@ -0,0 +1,63 @@ +'use strict'; + +var assign = require('es5-ext/object/assign') + , normalizeOpts = require('es5-ext/object/normalize-options') + , isCallable = require('es5-ext/object/is-callable') + , contains = require('es5-ext/string/#/contains') + + , d; + +d = module.exports = function (dscr, value/*, options*/) { + var c, e, w, options, desc; + if ((arguments.length < 2) || (typeof dscr !== 'string')) { + options = value; + value = dscr; + dscr = null; + } else { + options = arguments[2]; + } + if (dscr == null) { + c = w = true; + e = false; + } else { + c = contains.call(dscr, 'c'); + e = contains.call(dscr, 'e'); + w = contains.call(dscr, 'w'); + } + + desc = { value: value, configurable: c, enumerable: e, writable: w }; + return !options ? desc : assign(normalizeOpts(options), desc); +}; + +d.gs = function (dscr, get, set/*, options*/) { + var c, e, options, desc; + if (typeof dscr !== 'string') { + options = set; + set = get; + get = dscr; + dscr = null; + } else { + options = arguments[3]; + } + if (get == null) { + get = undefined; + } else if (!isCallable(get)) { + options = get; + get = set = undefined; + } else if (set == null) { + set = undefined; + } else if (!isCallable(set)) { + options = set; + set = undefined; + } + if (dscr == null) { + c = true; + e = false; + } else { + c = contains.call(dscr, 'c'); + e = contains.call(dscr, 'e'); + } + + desc = { get: get, set: set, configurable: c, enumerable: e }; + return !options ? desc : assign(normalizeOpts(options), desc); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/lazy.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/lazy.js new file mode 100644 index 0000000000..d75b34b779 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/lazy.js @@ -0,0 +1,117 @@ +'use strict'; + +var map = require('es5-ext/object/map') + , isCallable = require('es5-ext/object/is-callable') + , validValue = require('es5-ext/object/valid-value') + , contains = require('es5-ext/string/#/contains') + + , call = Function.prototype.call + , defineProperty = Object.defineProperty + , getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor + , getPrototypeOf = Object.getPrototypeOf + , hasOwnProperty = Object.prototype.hasOwnProperty + , cacheDesc = { configurable: false, enumerable: false, writable: false, + value: null } + , define; + +define = function (name, options) { + var value, dgs, cacheName, desc, writable = false, resolvable + , flat; + options = Object(validValue(options)); + cacheName = options.cacheName; + flat = options.flat; + if (cacheName == null) cacheName = name; + delete options.cacheName; + value = options.value; + resolvable = isCallable(value); + delete options.value; + dgs = { configurable: Boolean(options.configurable), + enumerable: Boolean(options.enumerable) }; + if (name !== cacheName) { + dgs.get = function () { + if (hasOwnProperty.call(this, cacheName)) return this[cacheName]; + cacheDesc.value = resolvable ? call.call(value, this, options) : value; + cacheDesc.writable = writable; + defineProperty(this, cacheName, cacheDesc); + cacheDesc.value = null; + if (desc) defineProperty(this, name, desc); + return this[cacheName]; + }; + } else if (!flat) { + dgs.get = function self() { + var ownDesc; + if (hasOwnProperty.call(this, name)) { + ownDesc = getOwnPropertyDescriptor(this, name); + // It happens in Safari, that getter is still called after property + // was defined with a value, following workarounds that + // While in IE11 it may happen that here ownDesc is undefined (go figure) + if (ownDesc) { + if (ownDesc.hasOwnProperty('value')) return ownDesc.value; + if ((typeof ownDesc.get === 'function') && (ownDesc.get !== self)) { + return ownDesc.get.call(this); + } + return value; + } + } + desc.value = resolvable ? call.call(value, this, options) : value; + defineProperty(this, name, desc); + desc.value = null; + return this[name]; + }; + } else { + dgs.get = function self() { + var base = this, ownDesc; + if (hasOwnProperty.call(this, name)) { + // It happens in Safari, that getter is still called after property + // was defined with a value, following workarounds that + ownDesc = getOwnPropertyDescriptor(this, name); + if (ownDesc.hasOwnProperty('value')) return ownDesc.value; + if ((typeof ownDesc.get === 'function') && (ownDesc.get !== self)) { + return ownDesc.get.call(this); + } + } + while (!hasOwnProperty.call(base, name)) base = getPrototypeOf(base); + desc.value = resolvable ? call.call(value, base, options) : value; + defineProperty(base, name, desc); + desc.value = null; + return base[name]; + }; + } + dgs.set = function (value) { + if (hasOwnProperty.call(this, name)) { + throw new TypeError("Cannot assign to lazy defined '" + name + "' property of " + this); + } + dgs.get.call(this); + this[cacheName] = value; + }; + if (options.desc) { + desc = { + configurable: contains.call(options.desc, 'c'), + enumerable: contains.call(options.desc, 'e') + }; + if (cacheName === name) { + desc.writable = contains.call(options.desc, 'w'); + desc.value = null; + } else { + writable = contains.call(options.desc, 'w'); + desc.get = dgs.get; + desc.set = dgs.set; + } + delete options.desc; + } else if (cacheName === name) { + desc = { + configurable: Boolean(options.configurable), + enumerable: Boolean(options.enumerable), + writable: Boolean(options.writable), + value: null + }; + } + delete options.configurable; + delete options.enumerable; + delete options.writable; + return dgs; +}; + +module.exports = function (props) { + return map(props, function (desc, name) { return define(name, desc); }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/package.json b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/package.json new file mode 100644 index 0000000000..fbb54fbb99 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/package.json @@ -0,0 +1,34 @@ +{ + "name": "d", + "version": "1.0.0", + "description": "Property descriptor factory", + "author": "Mariusz Nowak (http://www.medikoo.com/)", + "keywords": [ + "descriptor", + "es", + "ecmascript", + "ecma", + "property", + "descriptors", + "meta", + "properties" + ], + "repository": { + "type": "git", + "url": "git://github.com/medikoo/d.git" + }, + "dependencies": { + "es5-ext": "^0.10.9" + }, + "devDependencies": { + "tad": "^0.2.4", + "xlint": "^0.2.2", + "xlint-jslint-medikoo": "^0.1.4" + }, + "scripts": { + "lint": "node node_modules/xlint/bin/xlint --linter=node_modules/xlint-jslint-medikoo/index.js --no-cache --no-stream", + "lint-console": "node node_modules/xlint/bin/xlint --linter=node_modules/xlint-jslint-medikoo/index.js --watch", + "test": "node node_modules/tad/bin/tad" + }, + "license": "MIT" +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/test/auto-bind.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/test/auto-bind.js new file mode 100644 index 0000000000..89edfb88bb --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/test/auto-bind.js @@ -0,0 +1,12 @@ +'use strict'; + +var d = require('../'); + +module.exports = function (t, a) { + var o = Object.defineProperties({}, t({ + bar: d(function () { return this === o; }), + bar2: d(function () { return this; }) + })); + + a.deep([(o.bar)(), (o.bar2)()], [true, o]); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/test/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/test/index.js new file mode 100644 index 0000000000..3db0af10ac --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/test/index.js @@ -0,0 +1,182 @@ +'use strict'; + +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +module.exports = function (t, a) { + var o, c, cg, cs, ce, ceg, ces, cew, cw, e, eg, es, ew, v, vg, vs, w, df, dfg + , dfs; + + o = Object.create(Object.prototype, { + c: t('c', c = {}), + cgs: t.gs('c', cg = function () {}, cs = function () {}), + ce: t('ce', ce = {}), + cegs: t.gs('ce', ceg = function () {}, ces = function () {}), + cew: t('cew', cew = {}), + cw: t('cw', cw = {}), + e: t('e', e = {}), + egs: t.gs('e', eg = function () {}, es = function () {}), + ew: t('ew', ew = {}), + v: t('', v = {}), + vgs: t.gs('', vg = function () {}, vs = function () {}), + w: t('w', w = {}), + + df: t(df = {}), + dfgs: t.gs(dfg = function () {}, dfs = function () {}) + }); + + return { + c: function (a) { + var d = getOwnPropertyDescriptor(o, 'c'); + a(d.value, c, "Value"); + a(d.get, undefined, "Get"); + a(d.set, undefined, "Set"); + a(d.configurable, true, "Configurable"); + a(d.enumerable, false, "Enumerable"); + a(d.writable, false, "Writable"); + + d = getOwnPropertyDescriptor(o, 'cgs'); + a(d.value, undefined, "GS Value"); + a(d.get, cg, "GS Get"); + a(d.set, cs, "GS Set"); + a(d.configurable, true, "GS Configurable"); + a(d.enumerable, false, "GS Enumerable"); + a(d.writable, undefined, "GS Writable"); + }, + ce: function (a) { + var d = getOwnPropertyDescriptor(o, 'ce'); + a(d.value, ce, "Value"); + a(d.get, undefined, "Get"); + a(d.set, undefined, "Set"); + a(d.configurable, true, "Configurable"); + a(d.enumerable, true, "Enumerable"); + a(d.writable, false, "Writable"); + + d = getOwnPropertyDescriptor(o, 'cegs'); + a(d.value, undefined, "GS Value"); + a(d.get, ceg, "GS Get"); + a(d.set, ces, "GS Set"); + a(d.configurable, true, "GS Configurable"); + a(d.enumerable, true, "GS Enumerable"); + a(d.writable, undefined, "GS Writable"); + }, + cew: function (a) { + var d = getOwnPropertyDescriptor(o, 'cew'); + a(d.value, cew, "Value"); + a(d.get, undefined, "Get"); + a(d.set, undefined, "Set"); + a(d.configurable, true, "Configurable"); + a(d.enumerable, true, "Enumerable"); + a(d.writable, true, "Writable"); + }, + cw: function (a) { + var d = getOwnPropertyDescriptor(o, 'cw'); + a(d.value, cw, "Value"); + a(d.get, undefined, "Get"); + a(d.set, undefined, "Set"); + a(d.configurable, true, "Configurable"); + a(d.enumerable, false, "Enumerable"); + a(d.writable, true, "Writable"); + }, + e: function (a) { + var d = getOwnPropertyDescriptor(o, 'e'); + a(d.value, e, "Value"); + a(d.get, undefined, "Get"); + a(d.set, undefined, "Set"); + a(d.configurable, false, "Configurable"); + a(d.enumerable, true, "Enumerable"); + a(d.writable, false, "Writable"); + + d = getOwnPropertyDescriptor(o, 'egs'); + a(d.value, undefined, "GS Value"); + a(d.get, eg, "GS Get"); + a(d.set, es, "GS Set"); + a(d.configurable, false, "GS Configurable"); + a(d.enumerable, true, "GS Enumerable"); + a(d.writable, undefined, "GS Writable"); + }, + ew: function (a) { + var d = getOwnPropertyDescriptor(o, 'ew'); + a(d.value, ew, "Value"); + a(d.get, undefined, "Get"); + a(d.set, undefined, "Set"); + a(d.configurable, false, "Configurable"); + a(d.enumerable, true, "Enumerable"); + a(d.writable, true, "Writable"); + }, + v: function (a) { + var d = getOwnPropertyDescriptor(o, 'v'); + a(d.value, v, "Value"); + a(d.get, undefined, "Get"); + a(d.set, undefined, "Set"); + a(d.configurable, false, "Configurable"); + a(d.enumerable, false, "Enumerable"); + a(d.writable, false, "Writable"); + + d = getOwnPropertyDescriptor(o, 'vgs'); + a(d.value, undefined, "GS Value"); + a(d.get, vg, "GS Get"); + a(d.set, vs, "GS Set"); + a(d.configurable, false, "GS Configurable"); + a(d.enumerable, false, "GS Enumerable"); + a(d.writable, undefined, "GS Writable"); + }, + w: function (a) { + var d = getOwnPropertyDescriptor(o, 'w'); + a(d.value, w, "Value"); + a(d.get, undefined, "Get"); + a(d.set, undefined, "Set"); + a(d.configurable, false, "Configurable"); + a(d.enumerable, false, "Enumerable"); + a(d.writable, true, "Writable"); + }, + d: function (a) { + var d = getOwnPropertyDescriptor(o, 'df'); + a(d.value, df, "Value"); + a(d.get, undefined, "Get"); + a(d.set, undefined, "Set"); + a(d.configurable, true, "Configurable"); + a(d.enumerable, false, "Enumerable"); + a(d.writable, true, "Writable"); + + d = getOwnPropertyDescriptor(o, 'dfgs'); + a(d.value, undefined, "GS Value"); + a(d.get, dfg, "GS Get"); + a(d.set, dfs, "GS Set"); + a(d.configurable, true, "GS Configurable"); + a(d.enumerable, false, "GS Enumerable"); + a(d.writable, undefined, "GS Writable"); + }, + Options: { + v: function (a) { + var x = {}, d = t(x, { foo: true }); + a.deep(d, { configurable: true, enumerable: false, writable: true, + value: x, foo: true }, "No descriptor"); + d = t('c', 'foo', { marko: 'elo' }); + a.deep(d, { configurable: true, enumerable: false, writable: false, + value: 'foo', marko: 'elo' }, "Descriptor"); + }, + gs: function (a) { + var gFn = function () {}, sFn = function () {}, d; + d = t.gs(gFn, sFn, { foo: true }); + a.deep(d, { configurable: true, enumerable: false, get: gFn, set: sFn, + foo: true }, "No descriptor"); + d = t.gs(null, sFn, { foo: true }); + a.deep(d, { configurable: true, enumerable: false, get: undefined, + set: sFn, foo: true }, "No descriptor: Just set"); + d = t.gs(gFn, { foo: true }); + a.deep(d, { configurable: true, enumerable: false, get: gFn, + set: undefined, foo: true }, "No descriptor: Just get"); + + d = t.gs('e', gFn, sFn, { bar: true }); + a.deep(d, { configurable: false, enumerable: true, get: gFn, set: sFn, + bar: true }, "Descriptor"); + d = t.gs('e', null, sFn, { bar: true }); + a.deep(d, { configurable: false, enumerable: true, get: undefined, + set: sFn, bar: true }, "Descriptor: Just set"); + d = t.gs('e', gFn, { bar: true }); + a.deep(d, { configurable: false, enumerable: true, get: gFn, + set: undefined, bar: true }, "Descriptor: Just get"); + } + } + }; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/test/lazy.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/test/lazy.js new file mode 100644 index 0000000000..e4023faf30 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/d/test/lazy.js @@ -0,0 +1,82 @@ +'use strict'; + +var d = require('../') + + , getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +module.exports = function (t, a) { + var Foo = function () {}, i = 1, o, o2, desc; + Object.defineProperties(Foo.prototype, t({ + bar: d(function () { return ++i; }), + bar2: d(function () { return this.bar + 23; }), + bar3: d(function () { return this.bar2 + 34; }, { desc: 'ew' }), + bar4: d(function () { return this.bar3 + 12; }, { cacheName: '_bar4_' }), + bar5: d(function () { return this.bar4 + 3; }, + { cacheName: '_bar5_', desc: 'e' }) + })); + + desc = getOwnPropertyDescriptor(Foo.prototype, 'bar'); + a(desc.configurable, true, "Configurable: default"); + a(desc.enumerable, false, "Enumerable: default"); + + o = new Foo(); + a.deep([o.bar, o.bar2, o.bar3, o.bar4, o.bar5], [2, 25, 59, 71, 74], + "Values"); + + a.deep(getOwnPropertyDescriptor(o, 'bar3'), { configurable: false, + enumerable: true, writable: true, value: 59 }, "Desc"); + a(o.hasOwnProperty('bar4'), false, "Cache not exposed"); + desc = getOwnPropertyDescriptor(o, 'bar5'); + a.deep(desc, { configurable: false, + enumerable: true, get: desc.get, set: desc.set }, "Cache & Desc: desc"); + + o2 = Object.create(o); + o2.bar = 30; + o2.bar3 = 100; + + a.deep([o2.bar, o2.bar2, o2.bar3, o2.bar4, o2.bar5], [30, 25, 100, 112, 115], + "Extension Values"); + + Foo = function () {}; + Object.defineProperties(Foo.prototype, t({ + test: d('w', function () { return 'raz'; }), + test2: d('', function () { return 'raz'; }, { desc: 'w' }), + test3: d('', function () { return 'raz'; }, + { cacheName: '__test3__', desc: 'w' }), + test4: d('w', 'bar') + })); + + o = new Foo(); + o.test = 'marko'; + a.deep(getOwnPropertyDescriptor(o, 'test'), + { configurable: false, enumerable: false, writable: true, value: 'marko' }, + "Set before get"); + o.test2 = 'marko2'; + a.deep(getOwnPropertyDescriptor(o, 'test2'), + { configurable: false, enumerable: false, writable: true, value: 'marko2' }, + "Set before get: Custom desc"); + o.test3 = 'marko3'; + a.deep(getOwnPropertyDescriptor(o, '__test3__'), + { configurable: false, enumerable: false, writable: true, value: 'marko3' }, + "Set before get: Custom cache name"); + a(o.test4, 'bar', "Resolve by value"); + + a.h1("Flat"); + Object.defineProperties(Foo.prototype, t({ + flat: d(function () { return 'foo'; }, { flat: true }), + flat2: d(function () { return 'bar'; }, { flat: true }) + })); + + a.h2("Instance"); + a(o.flat, 'foo', "Value"); + a(o.hasOwnProperty('flat'), false, "Instance"); + a(Foo.prototype.flat, 'foo', "Prototype"); + + a.h2("Direct"); + a(Foo.prototype.flat2, 'bar'); + + a.h2("Reset direct"); + Object.defineProperties(Foo.prototype, t({ testResetDirect: d(false) })); + + a.throws(function () { Foo.prototype.testResetDirect = false; }, TypeError); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/es5-ext b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/es5-ext new file mode 120000 index 0000000000..d0db4881f0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/d/1.0.0/node_modules/es5-ext @@ -0,0 +1 @@ +../../../es5-ext/0.10.24/node_modules/es5-ext \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/.lint b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/.lint new file mode 100644 index 0000000000..ded0b53213 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/.lint @@ -0,0 +1,43 @@ +@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 diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/.lintignore b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/.lintignore new file mode 100644 index 0000000000..eece4ff3c7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/.lintignore @@ -0,0 +1,9 @@ +/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 diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/.npmignore b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/.npmignore new file mode 100644 index 0000000000..14b0200633 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/.npmignore @@ -0,0 +1,14 @@ +.DS_Store +Thumbs.db +/.idea +/.vscode +npm-debug.log +/wallaby.js +.DS_Store +/node_modules +/.lintcache +/npm-debug.log +/.travis.yml +/.gitignore +/.circle.yml +/.appveyor.yml diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/CHANGELOG.md b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/CHANGELOG.md new file mode 100644 index 0000000000..de563e16d2 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/CHANGELOG.md @@ -0,0 +1,100 @@ +# 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.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 \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/CHANGES b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/CHANGES new file mode 100644 index 0000000000..bb84baba3d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/CHANGES @@ -0,0 +1,650 @@ +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 diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/LICENSE b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/LICENSE new file mode 100644 index 0000000000..f82047ef95 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/LICENSE @@ -0,0 +1,21 @@ +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. diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/README.md b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/README.md new file mode 100644 index 0000000000..04e62f0297 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/README.md @@ -0,0 +1,993 @@ +# 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 [![Build Status](https://travis-ci.org/medikoo/es5-ext.png)](https://travis-ci.org/medikoo/es5-ext) + + $ npm test diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/@@iterator/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/@@iterator/implement.js new file mode 100644 index 0000000000..8073f2bc6c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/@@iterator/implement.js @@ -0,0 +1,10 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Array.prototype, require("es6-symbol").iterator, { + value: require("./shim"), + configurable: true, + enumerable: false, + writable: true + }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/@@iterator/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/@@iterator/index.js new file mode 100644 index 0000000000..d937746549 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/@@iterator/index.js @@ -0,0 +1,4 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Array.prototype[require("es6-symbol").iterator] : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/@@iterator/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/@@iterator/is-implemented.js new file mode 100644 index 0000000000..6445c04ea0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/@@iterator/is-implemented.js @@ -0,0 +1,16 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/@@iterator/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/@@iterator/shim.js new file mode 100644 index 0000000000..307b1c0aa1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/@@iterator/shim.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("../values/shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/_compare-by-length.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/_compare-by-length.js new file mode 100644 index 0000000000..f1c0cacc7c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/_compare-by-length.js @@ -0,0 +1,9 @@ +// 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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/binary-search.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/binary-search.js new file mode 100644 index 0000000000..9b2c42ec5f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/binary-search.js @@ -0,0 +1,28 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/clear.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/clear.js new file mode 100644 index 0000000000..fd539c9b7c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/clear.js @@ -0,0 +1,12 @@ +// 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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/compact.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/compact.js new file mode 100644 index 0000000000..3da1309d34 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/compact.js @@ -0,0 +1,13 @@ +// 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); + }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/concat/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/concat/implement.js new file mode 100644 index 0000000000..a5a1a4090c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/concat/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Array.prototype, "concat", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/concat/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/concat/index.js new file mode 100644 index 0000000000..8bbb7bc191 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/concat/index.js @@ -0,0 +1,4 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Array.prototype.concat : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/concat/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/concat/is-implemented.js new file mode 100644 index 0000000000..2a3a9fc60c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/concat/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +var SubArray = require("../../_sub-array-dummy-safe"); + +module.exports = function () { + return (new SubArray()).concat("foo") instanceof SubArray; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/concat/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/concat/shim.js new file mode 100644 index 0000000000..5158dde523 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/concat/shim.js @@ -0,0 +1,48 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/contains.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/contains.js new file mode 100644 index 0000000000..cde6850ece --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/contains.js @@ -0,0 +1,7 @@ +"use strict"; + +var indexOf = require("./e-index-of"); + +module.exports = function (searchElement/*, position*/) { + return indexOf.call(this, searchElement, arguments[1]) > -1; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/copy-within/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/copy-within/implement.js new file mode 100644 index 0000000000..20910507a9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/copy-within/implement.js @@ -0,0 +1,9 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Array.prototype, "copyWithin", + { value: require("./shim"), +configurable: true, +enumerable: false, + writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/copy-within/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/copy-within/index.js new file mode 100644 index 0000000000..0919b79b94 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/copy-within/index.js @@ -0,0 +1,4 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Array.prototype.copyWithin : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/copy-within/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/copy-within/is-implemented.js new file mode 100644 index 0000000000..40c499e6dd --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/copy-within/is-implemented.js @@ -0,0 +1,7 @@ +"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"; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/copy-within/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/copy-within/shim.js new file mode 100644 index 0000000000..aad220ca70 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/copy-within/shim.js @@ -0,0 +1,45 @@ +// 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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/diff.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/diff.js new file mode 100644 index 0000000000..fbb1682b70 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/diff.js @@ -0,0 +1,13 @@ +"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); + }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/e-index-of.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/e-index-of.js new file mode 100644 index 0000000000..8b0701177b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/e-index-of.js @@ -0,0 +1,28 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/e-last-index-of.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/e-last-index-of.js new file mode 100644 index 0000000000..15dbe05b83 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/e-last-index-of.js @@ -0,0 +1,31 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/entries/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/entries/implement.js new file mode 100644 index 0000000000..acc8a111cb --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/entries/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Array.prototype, "entries", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/entries/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/entries/index.js new file mode 100644 index 0000000000..f18f7d921b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/entries/index.js @@ -0,0 +1,4 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Array.prototype.entries : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/entries/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/entries/is-implemented.js new file mode 100644 index 0000000000..335f1c2097 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/entries/is-implemented.js @@ -0,0 +1,15 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/entries/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/entries/shim.js new file mode 100644 index 0000000000..caa45b7a2a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/entries/shim.js @@ -0,0 +1,6 @@ +"use strict"; + +var ArrayIterator = require("es6-iterator/array"); +module.exports = function () { + return new ArrayIterator(this, "key+value"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/exclusion.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/exclusion.js new file mode 100644 index 0000000000..41057d06ff --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/exclusion.js @@ -0,0 +1,31 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/fill/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/fill/implement.js new file mode 100644 index 0000000000..9de58b75f3 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/fill/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Array.prototype, "fill", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/fill/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/fill/index.js new file mode 100644 index 0000000000..a8272475d0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/fill/index.js @@ -0,0 +1,4 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Array.prototype.fill : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/fill/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/fill/is-implemented.js new file mode 100644 index 0000000000..5d6d02e1a5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/fill/is-implemented.js @@ -0,0 +1,7 @@ +"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"; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/fill/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/fill/shim.js new file mode 100644 index 0000000000..0040bf81a9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/fill/shim.js @@ -0,0 +1,25 @@ +// 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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/filter/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/filter/implement.js new file mode 100644 index 0000000000..450257515b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/filter/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Array.prototype, "filter", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/filter/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/filter/index.js new file mode 100644 index 0000000000..ad2082d938 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/filter/index.js @@ -0,0 +1,4 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Array.prototype.filter : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/filter/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/filter/is-implemented.js new file mode 100644 index 0000000000..06de099605 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/filter/is-implemented.js @@ -0,0 +1,11 @@ +"use strict"; + +var SubArray = require("../../_sub-array-dummy-safe") + + , pass = function () { + return true; +}; + +module.exports = function () { + return (new SubArray()).filter(pass) instanceof SubArray; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/filter/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/filter/shim.js new file mode 100644 index 0000000000..38304e4b87 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/filter/shim.js @@ -0,0 +1,23 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find-index/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find-index/implement.js new file mode 100644 index 0000000000..4876b9e4e7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find-index/implement.js @@ -0,0 +1,9 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Array.prototype, "findIndex", + { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find-index/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find-index/index.js new file mode 100644 index 0000000000..3d505b1f5a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find-index/index.js @@ -0,0 +1,4 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Array.prototype.findIndex : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find-index/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find-index/is-implemented.js new file mode 100644 index 0000000000..818c920e44 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find-index/is-implemented.js @@ -0,0 +1,11 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find-index/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find-index/shim.js new file mode 100644 index 0000000000..bc82827ad9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find-index/shim.js @@ -0,0 +1,26 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find/implement.js new file mode 100644 index 0000000000..d8ebc5b81a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Array.prototype, "find", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find/index.js new file mode 100644 index 0000000000..131a71be40 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find/index.js @@ -0,0 +1,4 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Array.prototype.find : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find/is-implemented.js new file mode 100644 index 0000000000..aa278a7b5d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find/is-implemented.js @@ -0,0 +1,11 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find/shim.js new file mode 100644 index 0000000000..c45a938057 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/find/shim.js @@ -0,0 +1,9 @@ +"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]; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/first-index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/first-index.js new file mode 100644 index 0000000000..19bff54194 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/first-index.js @@ -0,0 +1,15 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/first.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/first.js new file mode 100644 index 0000000000..ca76833b1c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/first.js @@ -0,0 +1,9 @@ +"use strict"; + +var firstIndex = require("./first-index"); + +module.exports = function () { + var i; + if ((i = firstIndex.call(this)) !== null) return this[i]; + return undefined; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/flatten.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/flatten.js new file mode 100644 index 0000000000..40167274ec --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/flatten.js @@ -0,0 +1,40 @@ +// 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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/for-each-right.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/for-each-right.js new file mode 100644 index 0000000000..ebf076b17b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/for-each-right.js @@ -0,0 +1,19 @@ +"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); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/group.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/group.js new file mode 100644 index 0000000000..711eb586a6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/group.js @@ -0,0 +1,28 @@ +// 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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/index.js new file mode 100644 index 0000000000..d85645d131 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/index.js @@ -0,0 +1,40 @@ +"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"), + "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") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/indexes-of.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/indexes-of.js new file mode 100644 index 0000000000..6c39cd924f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/indexes-of.js @@ -0,0 +1,12 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/intersection.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/intersection.js new file mode 100644 index 0000000000..91261d5f89 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/intersection.js @@ -0,0 +1,21 @@ +"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); + }); + }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/is-copy.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/is-copy.js new file mode 100644 index 0000000000..1413b95df5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/is-copy.js @@ -0,0 +1,21 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/is-uniq.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/is-uniq.js new file mode 100644 index 0000000000..148a5a918b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/is-uniq.js @@ -0,0 +1,14 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/keys/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/keys/implement.js new file mode 100644 index 0000000000..40d0df0118 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/keys/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Array.prototype, "keys", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/keys/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/keys/index.js new file mode 100644 index 0000000000..50a18f1976 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/keys/index.js @@ -0,0 +1,4 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Array.prototype.keys : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/keys/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/keys/is-implemented.js new file mode 100644 index 0000000000..70a171f67f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/keys/is-implemented.js @@ -0,0 +1,14 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/keys/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/keys/shim.js new file mode 100644 index 0000000000..c3c68c6d42 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/keys/shim.js @@ -0,0 +1,6 @@ +"use strict"; + +var ArrayIterator = require("es6-iterator/array"); +module.exports = function () { + return new ArrayIterator(this, "key"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/last-index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/last-index.js new file mode 100644 index 0000000000..74aaba46c4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/last-index.js @@ -0,0 +1,15 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/last.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/last.js new file mode 100644 index 0000000000..38bb359b38 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/last.js @@ -0,0 +1,9 @@ +"use strict"; + +var lastIndex = require("./last-index"); + +module.exports = function () { + var i; + if ((i = lastIndex.call(this)) !== null) return this[i]; + return undefined; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/map/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/map/implement.js new file mode 100644 index 0000000000..a6d1d9001c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/map/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Array.prototype, "map", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/map/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/map/index.js new file mode 100644 index 0000000000..101c0649ee --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/map/index.js @@ -0,0 +1,4 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Array.prototype.map : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/map/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/map/is-implemented.js new file mode 100644 index 0000000000..24ab9084fc --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/map/is-implemented.js @@ -0,0 +1,8 @@ +"use strict"; + +var identity = require("../../../function/identity") + , SubArray = require("../../_sub-array-dummy-safe"); + +module.exports = function () { + return (new SubArray()).map(identity) instanceof SubArray; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/map/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/map/shim.js new file mode 100644 index 0000000000..6d8cc1fb63 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/map/shim.js @@ -0,0 +1,21 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/remove.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/remove.js new file mode 100644 index 0000000000..6a8a08676d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/remove.js @@ -0,0 +1,17 @@ +"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 + ); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/separate.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/separate.js new file mode 100644 index 0000000000..35e1cc5ac4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/separate.js @@ -0,0 +1,12 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/slice/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/slice/implement.js new file mode 100644 index 0000000000..568e87a1dc --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/slice/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Array.prototype, "slice", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/slice/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/slice/index.js new file mode 100644 index 0000000000..c80ee35954 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/slice/index.js @@ -0,0 +1,4 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Array.prototype.slice : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/slice/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/slice/is-implemented.js new file mode 100644 index 0000000000..47904c2099 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/slice/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +var SubArray = require("../../_sub-array-dummy-safe"); + +module.exports = function () { + return (new SubArray()).slice() instanceof SubArray; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/slice/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/slice/shim.js new file mode 100644 index 0000000000..ff13085b3b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/slice/shim.js @@ -0,0 +1,36 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/some-right.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/some-right.js new file mode 100644 index 0000000000..d9a665fc28 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/some-right.js @@ -0,0 +1,21 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/splice/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/splice/implement.js new file mode 100644 index 0000000000..1e1682b0cd --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/splice/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Array.prototype, "splice", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/splice/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/splice/index.js new file mode 100644 index 0000000000..e5fda9512b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/splice/index.js @@ -0,0 +1,4 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Array.prototype.splice : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/splice/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/splice/is-implemented.js new file mode 100644 index 0000000000..afbb95a6df --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/splice/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +var SubArray = require("../../_sub-array-dummy-safe"); + +module.exports = function () { + return (new SubArray()).splice(0) instanceof SubArray; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/splice/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/splice/shim.js new file mode 100644 index 0000000000..dc8d837b83 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/splice/shim.js @@ -0,0 +1,17 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/uniq.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/uniq.js new file mode 100644 index 0000000000..944ce9334c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/uniq.js @@ -0,0 +1,15 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/values/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/values/implement.js new file mode 100644 index 0000000000..b43e9f646e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/values/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Array.prototype, "values", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/values/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/values/index.js new file mode 100644 index 0000000000..30a50bae7e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/values/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./is-implemented")() ? Array.prototype.values : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/values/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/values/is-implemented.js new file mode 100644 index 0000000000..8b72568a16 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/values/is-implemented.js @@ -0,0 +1,14 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/values/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/values/shim.js new file mode 100644 index 0000000000..e46a052612 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/#/values/shim.js @@ -0,0 +1,6 @@ +"use strict"; + +var ArrayIterator = require("es6-iterator/array"); +module.exports = function () { + return new ArrayIterator(this, "value"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/_is-extensible.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/_is-extensible.js new file mode 100644 index 0000000000..a9e8ee7941 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/_is-extensible.js @@ -0,0 +1,13 @@ +"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; +}()); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/_sub-array-dummy-safe.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/_sub-array-dummy-safe.js new file mode 100644 index 0000000000..80e3b3c58b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/_sub-array-dummy-safe.js @@ -0,0 +1,25 @@ +"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; +}()); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/_sub-array-dummy.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/_sub-array-dummy.js new file mode 100644 index 0000000000..cf11152224 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/_sub-array-dummy.js @@ -0,0 +1,20 @@ +"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; +}()); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/from/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/from/implement.js new file mode 100644 index 0000000000..41172242e4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/from/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Array, "from", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/from/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/from/index.js new file mode 100644 index 0000000000..ca4492d118 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/from/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Array.from + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/from/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/from/is-implemented.js new file mode 100644 index 0000000000..3567c8766d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/from/is-implemented.js @@ -0,0 +1,9 @@ +"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")); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/from/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/from/shim.js new file mode 100644 index 0000000000..8928181ef7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/from/shim.js @@ -0,0 +1,119 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/generate.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/generate.js new file mode 100644 index 0000000000..42b693035a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/generate.js @@ -0,0 +1,18 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/index.js new file mode 100644 index 0000000000..49ff58ee4f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/index.js @@ -0,0 +1,11 @@ +"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") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/is-plain-array.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/is-plain-array.js new file mode 100644 index 0000000000..ca3d25bb9b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/is-plain-array.js @@ -0,0 +1,11 @@ +"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)); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/of/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/of/implement.js new file mode 100644 index 0000000000..92f8f3e306 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/of/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Array, "of", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/of/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/of/index.js new file mode 100644 index 0000000000..43ab3f6275 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/of/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Array.of + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/of/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/of/is-implemented.js new file mode 100644 index 0000000000..20b80c2075 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/of/is-implemented.js @@ -0,0 +1,8 @@ +"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")); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/of/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/of/shim.js new file mode 100644 index 0000000000..6cc9c38334 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/of/shim.js @@ -0,0 +1,19 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/to-array.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/to-array.js new file mode 100644 index 0000000000..2078b7a3a7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/to-array.js @@ -0,0 +1,9 @@ +"use strict"; + +var from = require("./from") + + , isArray = Array.isArray; + +module.exports = function (arrayLike) { + return isArray(arrayLike) ? arrayLike : from(arrayLike); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/valid-array.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/valid-array.js new file mode 100644 index 0000000000..1e58c39a3f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/array/valid-array.js @@ -0,0 +1,8 @@ +"use strict"; + +var isArray = Array.isArray; + +module.exports = function (value) { + if (isArray(value)) return value; + throw new TypeError(value + " is not an array"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/boolean/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/boolean/index.js new file mode 100644 index 0000000000..ffd3fd253b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/boolean/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = { + isBoolean: require("./is-boolean") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/boolean/is-boolean.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/boolean/is-boolean.js new file mode 100644 index 0000000000..394845f6cf --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/boolean/is-boolean.js @@ -0,0 +1,10 @@ +"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)) + ); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/copy.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/copy.js new file mode 100644 index 0000000000..9638a6539d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/copy.js @@ -0,0 +1,7 @@ +"use strict"; + +var getTime = Date.prototype.getTime; + +module.exports = function () { + return new Date(getTime.call(this)); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/days-in-month.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/days-in-month.js new file mode 100644 index 0000000000..8e8ca4d4fe --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/days-in-month.js @@ -0,0 +1,17 @@ +"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; + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/floor-day.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/floor-day.js new file mode 100644 index 0000000000..db696d38e7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/floor-day.js @@ -0,0 +1,8 @@ +"use strict"; + +var setHours = Date.prototype.setHours; + +module.exports = function () { + setHours.call(this, 0, 0, 0, 0); + return this; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/floor-month.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/floor-month.js new file mode 100644 index 0000000000..c9c0460ba5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/floor-month.js @@ -0,0 +1,8 @@ +"use strict"; + +var floorDay = require("./floor-day"); + +module.exports = function () { + floorDay.call(this).setDate(1); + return this; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/floor-year.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/floor-year.js new file mode 100644 index 0000000000..e9b6f0fe71 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/floor-year.js @@ -0,0 +1,8 @@ +"use strict"; + +var floorMonth = require("./floor-month"); + +module.exports = function () { + floorMonth.call(this).setMonth(0); + return this; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/format.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/format.js new file mode 100644 index 0000000000..519d77c4a6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/format.js @@ -0,0 +1,38 @@ +/* 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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/index.js new file mode 100644 index 0000000000..1781e21808 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/#/index.js @@ -0,0 +1,10 @@ +"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") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/index.js new file mode 100644 index 0000000000..507e5e69e7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/index.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = { + "#": require("./#"), + "isDate": require("./is-date"), + "validDate": require("./valid-date") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/is-date.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/is-date.js new file mode 100644 index 0000000000..97582032d3 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/is-date.js @@ -0,0 +1,7 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/valid-date.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/valid-date.js new file mode 100644 index 0000000000..c17125f0ff --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/date/valid-date.js @@ -0,0 +1,8 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/#/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/#/index.js new file mode 100644 index 0000000000..ac9a4306c4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/#/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = { + throw: require("./throw") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/#/throw.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/#/throw.js new file mode 100644 index 0000000000..3fe6bb4c8b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/#/throw.js @@ -0,0 +1,7 @@ +"use strict"; + +var error = require("../valid-error"); + +module.exports = function () { + throw error(this); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/custom.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/custom.js new file mode 100644 index 0000000000..0e4c8cb1f4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/custom.js @@ -0,0 +1,20 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/index.js new file mode 100644 index 0000000000..cb7054a272 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/index.js @@ -0,0 +1,8 @@ +"use strict"; + +module.exports = { + "#": require("./#"), + "custom": require("./custom"), + "isError": require("./is-error"), + "validError": require("./valid-error") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/is-error.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/is-error.js new file mode 100644 index 0000000000..aad67ed9a9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/is-error.js @@ -0,0 +1,7 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/valid-error.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/valid-error.js new file mode 100644 index 0000000000..432f7ba291 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/error/valid-error.js @@ -0,0 +1,8 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/compose.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/compose.js new file mode 100644 index 0000000000..0897517832 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/compose.js @@ -0,0 +1,22 @@ +"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)); + }; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/copy.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/copy.js new file mode 100644 index 0000000000..f0403b304b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/copy.js @@ -0,0 +1,23 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/curry.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/curry.js new file mode 100644 index 0000000000..a9b17814db --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/curry.js @@ -0,0 +1,24 @@ +"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)); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/index.js new file mode 100644 index 0000000000..74c7f0171f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/index.js @@ -0,0 +1,12 @@ +"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") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/lock.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/lock.js new file mode 100644 index 0000000000..dcd93bb105 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/lock.js @@ -0,0 +1,14 @@ +"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); +}; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/not.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/not.js new file mode 100644 index 0000000000..82d64def78 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/not.js @@ -0,0 +1,14 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/partial.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/partial.js new file mode 100644 index 0000000000..1734b1355b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/partial.js @@ -0,0 +1,16 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/spread.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/spread.js new file mode 100644 index 0000000000..755553b4e6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/spread.js @@ -0,0 +1,12 @@ +"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); +}; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/to-string-tokens.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/to-string-tokens.js new file mode 100644 index 0000000000..4ce026a56d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/#/to-string-tokens.js @@ -0,0 +1,17 @@ +"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] }; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/_define-length.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/_define-length.js new file mode 100644 index 0000000000..13749d3bbf --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/_define-length.js @@ -0,0 +1,56 @@ +"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; + }; +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/constant.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/constant.js new file mode 100644 index 0000000000..c41435d572 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/constant.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function (value) { + return function () { + return value; + }; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/identity.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/identity.js new file mode 100644 index 0000000000..01a5aadf5d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/identity.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (value) { + return value; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/index.js new file mode 100644 index 0000000000..1574fbbbe9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/index.js @@ -0,0 +1,15 @@ +// 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") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/invoke.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/invoke.js new file mode 100644 index 0000000000..c3d23f2d63 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/invoke.js @@ -0,0 +1,15 @@ +"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))); + }; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/is-arguments.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/is-arguments.js new file mode 100644 index 0000000000..f4bf40608c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/is-arguments.js @@ -0,0 +1,12 @@ +"use strict"; + +var objToString = Object.prototype.toString + , id = objToString.call( + (function () { + return arguments; + })() +); + +module.exports = function (value) { + return objToString.call(value) === id; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/is-function.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/is-function.js new file mode 100644 index 0000000000..d3d92f4ed0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/is-function.js @@ -0,0 +1,7 @@ +"use strict"; + +var objToString = Object.prototype.toString, id = objToString.call(require("./noop")); + +module.exports = function (value) { + return typeof value === "function" && objToString.call(value) === id; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/noop.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/noop.js new file mode 100644 index 0000000000..6174f03311 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/noop.js @@ -0,0 +1,4 @@ +"use strict"; + +// eslint-disable-next-line no-empty-function +module.exports = function () {}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/pluck.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/pluck.js new file mode 100644 index 0000000000..8507128ace --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/pluck.js @@ -0,0 +1,9 @@ +"use strict"; + +var value = require("../object/valid-value"); + +module.exports = function (name) { + return function (obj) { + return value(obj)[name]; + }; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/valid-function.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/valid-function.js new file mode 100644 index 0000000000..060bd64534 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/function/valid-function.js @@ -0,0 +1,8 @@ +"use strict"; + +var isFunction = require("./is-function"); + +module.exports = function (value) { + if (!isFunction(value)) throw new TypeError(value + " is not a function"); + return value; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/global.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/global.js new file mode 100644 index 0000000000..d77579c57e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/global.js @@ -0,0 +1,5 @@ +/* eslint strict: "off" */ + +module.exports = (function () { + return this; +}()); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/index.js new file mode 100644 index 0000000000..c3fd49019d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/index.js @@ -0,0 +1,19 @@ +"use strict"; + +module.exports = { + global: require("./global"), + safeToString: require("./safe-to-string"), + + 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") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/iterable/for-each.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/iterable/for-each.js new file mode 100644 index 0000000000..2840e952dc --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/iterable/for-each.js @@ -0,0 +1,12 @@ +"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]); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/iterable/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/iterable/index.js new file mode 100644 index 0000000000..4b898fc8c3 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/iterable/index.js @@ -0,0 +1,8 @@ +"use strict"; + +module.exports = { + forEach: require("./for-each"), + is: require("./is"), + validate: require("./validate"), + validateObject: require("./validate-object") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/iterable/is.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/iterable/is.js new file mode 100644 index 0000000000..aa5a9b9e11 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/iterable/is.js @@ -0,0 +1,11 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/iterable/validate-object.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/iterable/validate-object.js new file mode 100644 index 0000000000..26e622b576 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/iterable/validate-object.js @@ -0,0 +1,9 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/iterable/validate.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/iterable/validate.js new file mode 100644 index 0000000000..94a91c4710 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/iterable/validate.js @@ -0,0 +1,8 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/json/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/json/index.js new file mode 100644 index 0000000000..14b25cd641 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/json/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = { + safeStringify: require("./safe-stringify") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/json/safe-stringify.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/json/safe-stringify.js new file mode 100644 index 0000000000..f2562541af --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/json/safe-stringify.js @@ -0,0 +1,41 @@ +"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(",") + + "}" + ); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/_pack-ieee754.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/_pack-ieee754.js new file mode 100644 index 0000000000..b77bc8d402 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/_pack-ieee754.js @@ -0,0 +1,88 @@ +/* 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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/_unpack-ieee754.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/_unpack-ieee754.js new file mode 100644 index 0000000000..83fa9475ed --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/_unpack-ieee754.js @@ -0,0 +1,33 @@ +/* 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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/acosh/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/acosh/implement.js new file mode 100644 index 0000000000..ea75c7d132 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/acosh/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Math, "acosh", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/acosh/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/acosh/index.js new file mode 100644 index 0000000000..160f6b9923 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/acosh/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Math.acosh + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/acosh/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/acosh/is-implemented.js new file mode 100644 index 0000000000..2e97301365 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/acosh/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var acosh = Math.acosh; + if (typeof acosh !== "function") return false; + return acosh(2) === 1.3169578969248166; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/acosh/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/acosh/shim.js new file mode 100644 index 0000000000..3e632ffbad --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/acosh/shim.js @@ -0,0 +1,12 @@ +"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)); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/asinh/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/asinh/implement.js new file mode 100644 index 0000000000..efa6704ec4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/asinh/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Math, "asinh", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/asinh/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/asinh/index.js new file mode 100644 index 0000000000..b5fb120f2a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/asinh/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Math.asinh + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/asinh/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/asinh/is-implemented.js new file mode 100644 index 0000000000..a7e0f20f82 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/asinh/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var asinh = Math.asinh; + if (typeof asinh !== "function") return false; + return asinh(2) === 1.4436354751788103; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/asinh/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/asinh/shim.js new file mode 100644 index 0000000000..30ce2e4d69 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/asinh/shim.js @@ -0,0 +1,15 @@ +"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)); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/atanh/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/atanh/implement.js new file mode 100644 index 0000000000..47d5cc22ac --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/atanh/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Math, "atanh", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/atanh/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/atanh/index.js new file mode 100644 index 0000000000..51fbcd66af --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/atanh/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Math.atanh + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/atanh/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/atanh/is-implemented.js new file mode 100644 index 0000000000..4787c4fa69 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/atanh/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var atanh = Math.atanh; + if (typeof atanh !== "function") return false; + return Math.round(atanh(0.5) * 1e15) === 549306144334055; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/atanh/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/atanh/shim.js new file mode 100644 index 0000000000..9383e9714a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/atanh/shim.js @@ -0,0 +1,14 @@ +"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)); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cbrt/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cbrt/implement.js new file mode 100644 index 0000000000..f5adbab0d5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cbrt/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Math, "cbrt", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cbrt/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cbrt/index.js new file mode 100644 index 0000000000..47806407c3 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cbrt/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Math.cbrt + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cbrt/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cbrt/is-implemented.js new file mode 100644 index 0000000000..a8ac0db26c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cbrt/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var cbrt = Math.cbrt; + if (typeof cbrt !== "function") return false; + return cbrt(2) === 1.2599210498948732; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cbrt/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cbrt/shim.js new file mode 100644 index 0000000000..8871c552f1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cbrt/shim.js @@ -0,0 +1,12 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/clz32/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/clz32/implement.js new file mode 100644 index 0000000000..10b4a41d0f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/clz32/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Math, "clz32", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/clz32/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/clz32/index.js new file mode 100644 index 0000000000..a16ee33a5d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/clz32/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Math.clz32 + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/clz32/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/clz32/is-implemented.js new file mode 100644 index 0000000000..ee6d882882 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/clz32/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var clz32 = Math.clz32; + if (typeof clz32 !== "function") return false; + return clz32(1000) === 22; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/clz32/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/clz32/shim.js new file mode 100644 index 0000000000..2b526c2c2f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/clz32/shim.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function (value) { + // eslint-disable-next-line no-bitwise + value >>>= 0; + return value ? 32 - value.toString(2).length : 32; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cosh/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cosh/implement.js new file mode 100644 index 0000000000..6f42b38796 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cosh/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Math, "cosh", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cosh/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cosh/index.js new file mode 100644 index 0000000000..5ed349afc1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cosh/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Math.cosh + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cosh/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cosh/is-implemented.js new file mode 100644 index 0000000000..7173054c7e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cosh/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var cosh = Math.cosh; + if (typeof cosh !== "function") return false; + return cosh(1) === 1.5430806348152437; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cosh/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cosh/shim.js new file mode 100644 index 0000000000..c762c84dae --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/cosh/shim.js @@ -0,0 +1,11 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/expm1/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/expm1/implement.js new file mode 100644 index 0000000000..8c9d81113d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/expm1/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Math, "expm1", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/expm1/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/expm1/index.js new file mode 100644 index 0000000000..5b5dff6b21 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/expm1/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Math.expm1 + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/expm1/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/expm1/is-implemented.js new file mode 100644 index 0000000000..dfd056e0ac --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/expm1/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var expm1 = Math.expm1; + if (typeof expm1 !== "function") return false; + return expm1(1).toFixed(15) === "1.718281828459045"; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/expm1/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/expm1/shim.js new file mode 100644 index 0000000000..ce737b3bcc --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/expm1/shim.js @@ -0,0 +1,16 @@ +// 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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/fround/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/fround/implement.js new file mode 100644 index 0000000000..b54d2fca6c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/fround/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Math, "fround", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/fround/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/fround/index.js new file mode 100644 index 0000000000..db409e8373 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/fround/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Math.fround + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/fround/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/fround/is-implemented.js new file mode 100644 index 0000000000..ad2b705dfc --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/fround/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var fround = Math.fround; + if (typeof fround !== "function") return false; + return fround(1.337) === 1.3370000123977661; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/fround/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/fround/shim.js new file mode 100644 index 0000000000..bfbc54c6c8 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/fround/shim.js @@ -0,0 +1,35 @@ +/* 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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/hypot/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/hypot/implement.js new file mode 100644 index 0000000000..e2b3928b37 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/hypot/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Math, "hypot", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/hypot/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/hypot/index.js new file mode 100644 index 0000000000..a030a41988 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/hypot/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Math.hypot + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/hypot/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/hypot/is-implemented.js new file mode 100644 index 0000000000..d317bc7e57 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/hypot/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var hypot = Math.hypot; + if (typeof hypot !== "function") return false; + return hypot(3, 4) === 5; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/hypot/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/hypot/shim.js new file mode 100644 index 0000000000..2a92b17154 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/hypot/shim.js @@ -0,0 +1,43 @@ +// 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)); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/imul/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/imul/implement.js new file mode 100644 index 0000000000..bff57735b5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/imul/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Math, "imul", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/imul/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/imul/index.js new file mode 100644 index 0000000000..a756d5949e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/imul/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Math.imul + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/imul/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/imul/is-implemented.js new file mode 100644 index 0000000000..0f32919840 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/imul/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var imul = Math.imul; + if (typeof imul !== "function") return false; + return imul(-1, 8) === -8; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/imul/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/imul/shim.js new file mode 100644 index 0000000000..a14e5895b3 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/imul/shim.js @@ -0,0 +1,17 @@ +/* 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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/index.js new file mode 100644 index 0000000000..db86101ff6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/index.js @@ -0,0 +1,21 @@ +"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") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log10/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log10/implement.js new file mode 100644 index 0000000000..669cee8870 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log10/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Math, "log10", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log10/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log10/index.js new file mode 100644 index 0000000000..bc2ec48169 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log10/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Math.log10 + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log10/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log10/is-implemented.js new file mode 100644 index 0000000000..f2217597d2 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log10/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var log10 = Math.log10; + if (typeof log10 !== "function") return false; + return log10(2) === 0.3010299956639812; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log10/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log10/shim.js new file mode 100644 index 0000000000..e8599a260e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log10/shim.js @@ -0,0 +1,14 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log1p/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log1p/implement.js new file mode 100644 index 0000000000..36fcee6199 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log1p/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Math, "log1p", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log1p/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log1p/index.js new file mode 100644 index 0000000000..41c67364f5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log1p/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Math.log1p + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log1p/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log1p/is-implemented.js new file mode 100644 index 0000000000..7626ab47ef --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log1p/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var log1p = Math.log1p; + if (typeof log1p !== "function") return false; + return log1p(1) === 0.6931471805599453; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log1p/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log1p/shim.js new file mode 100644 index 0000000000..7c6f227346 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log1p/shim.js @@ -0,0 +1,17 @@ +// 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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log2/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log2/implement.js new file mode 100644 index 0000000000..f1c04e0961 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log2/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Math, "log2", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log2/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log2/index.js new file mode 100644 index 0000000000..d319caec41 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log2/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Math.log2 + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log2/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log2/is-implemented.js new file mode 100644 index 0000000000..c70963f66c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log2/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var log2 = Math.log2; + if (typeof log2 !== "function") return false; + return log2(3).toFixed(15) === "1.584962500721156"; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log2/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log2/shim.js new file mode 100644 index 0000000000..51fcdae903 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/log2/shim.js @@ -0,0 +1,14 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sign/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sign/implement.js new file mode 100644 index 0000000000..bc7da14d15 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sign/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Math, "sign", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sign/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sign/index.js new file mode 100644 index 0000000000..9f2865643b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sign/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Math.sign + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sign/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sign/is-implemented.js new file mode 100644 index 0000000000..23ff83a6cf --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sign/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var sign = Math.sign; + if (typeof sign !== "function") return false; + return (sign(10) === 1) && (sign(-20) === -1); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sign/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sign/shim.js new file mode 100644 index 0000000000..760c69d128 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sign/shim.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function (value) { + value = Number(value); + if (isNaN(value) || (value === 0)) return value; + return value > 0 ? 1 : -1; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sinh/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sinh/implement.js new file mode 100644 index 0000000000..cc4c40bcb1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sinh/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Math, "sinh", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sinh/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sinh/index.js new file mode 100644 index 0000000000..2c43dce175 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sinh/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Math.sinh + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sinh/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sinh/is-implemented.js new file mode 100644 index 0000000000..5e4ee40c3a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sinh/is-implemented.js @@ -0,0 +1,7 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sinh/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sinh/shim.js new file mode 100644 index 0000000000..fc6a04776a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/sinh/shim.js @@ -0,0 +1,18 @@ +// 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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/tanh/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/tanh/implement.js new file mode 100644 index 0000000000..9e30d10d1c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/tanh/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Math, "tanh", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/tanh/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/tanh/index.js new file mode 100644 index 0000000000..7c45d98870 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/tanh/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Math.tanh + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/tanh/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/tanh/is-implemented.js new file mode 100644 index 0000000000..b17a1bc42f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/tanh/is-implemented.js @@ -0,0 +1,7 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/tanh/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/tanh/shim.js new file mode 100644 index 0000000000..974dd7cda0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/tanh/shim.js @@ -0,0 +1,17 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/trunc/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/trunc/implement.js new file mode 100644 index 0000000000..1ecc124cda --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/trunc/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Math, "trunc", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/trunc/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/trunc/index.js new file mode 100644 index 0000000000..94c02691a9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/trunc/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Math.trunc + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/trunc/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/trunc/is-implemented.js new file mode 100644 index 0000000000..b1507352ec --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/trunc/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var trunc = Math.trunc; + if (typeof trunc !== "function") return false; + return (trunc(13.67) === 13) && (trunc(-13.67) === -13); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/trunc/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/trunc/shim.js new file mode 100644 index 0000000000..bf6ac8ccef --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/math/trunc/shim.js @@ -0,0 +1,13 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/#/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/#/index.js new file mode 100644 index 0000000000..e6e21c309c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/#/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = { + pad: require("./pad") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/#/pad.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/#/pad.js new file mode 100644 index 0000000000..26fe4b63ad --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/#/pad.js @@ -0,0 +1,15 @@ +"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)); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/epsilon/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/epsilon/implement.js new file mode 100644 index 0000000000..fa19131a89 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/epsilon/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Number, "EPSILON", { value: require("./"), + configurable: false, +enumerable: false, +writable: false }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/epsilon/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/epsilon/index.js new file mode 100644 index 0000000000..12e8a8d2c6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/epsilon/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = 2.220446049250313e-16; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/epsilon/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/epsilon/is-implemented.js new file mode 100644 index 0000000000..1cfbded214 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/epsilon/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function () { + return typeof Number.EPSILON === "number"; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/index.js new file mode 100644 index 0000000000..b57ff1505f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/index.js @@ -0,0 +1,17 @@ +"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") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-finite/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-finite/implement.js new file mode 100644 index 0000000000..17f67cbc49 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-finite/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Number, "isFinite", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-finite/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-finite/index.js new file mode 100644 index 0000000000..dbeaf7b851 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-finite/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Number.isFinite + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-finite/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-finite/is-implemented.js new file mode 100644 index 0000000000..eadd050788 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-finite/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var numberIsFinite = Number.isFinite; + if (typeof numberIsFinite !== "function") return false; + return !numberIsFinite("23") && numberIsFinite(34) && !numberIsFinite(Infinity); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-finite/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-finite/shim.js new file mode 100644 index 0000000000..72dd7aae6e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-finite/shim.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (value) { + return (typeof value === "number") && isFinite(value); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-integer/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-integer/implement.js new file mode 100644 index 0000000000..dd1f3bd0e8 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-integer/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Number, "isInteger", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-integer/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-integer/index.js new file mode 100644 index 0000000000..71cde73a01 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-integer/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Number.isInteger + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-integer/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-integer/is-implemented.js new file mode 100644 index 0000000000..f357c7178b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-integer/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var isInteger = Number.isInteger; + if (typeof isInteger !== "function") return false; + return !isInteger("23") && isInteger(34) && !isInteger(32.34); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-integer/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-integer/shim.js new file mode 100644 index 0000000000..12058b5a46 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-integer/shim.js @@ -0,0 +1,8 @@ +// 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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-nan/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-nan/implement.js new file mode 100644 index 0000000000..2f9126c900 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-nan/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Number, "isNaN", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-nan/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-nan/index.js new file mode 100644 index 0000000000..9128d5c013 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-nan/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Number.isNaN + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-nan/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-nan/is-implemented.js new file mode 100644 index 0000000000..756838a413 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-nan/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var numberIsNaN = Number.isNaN; + if (typeof numberIsNaN !== "function") return false; + return !numberIsNaN({}) && numberIsNaN(NaN) && !numberIsNaN(34); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-nan/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-nan/shim.js new file mode 100644 index 0000000000..b5730d1d64 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-nan/shim.js @@ -0,0 +1,6 @@ +"use strict"; + +module.exports = function (value) { + // eslint-disable-next-line no-self-compare + return value !== value; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-natural.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-natural.js new file mode 100644 index 0000000000..329966e32f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-natural.js @@ -0,0 +1,7 @@ +"use strict"; + +var isInteger = require("./is-integer"); + +module.exports = function (num) { + return isInteger(num) && (num >= 0); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-number.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-number.js new file mode 100644 index 0000000000..3da0712d2c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-number.js @@ -0,0 +1,10 @@ +"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)) + ); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-safe-integer/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-safe-integer/implement.js new file mode 100644 index 0000000000..6092db75fa --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-safe-integer/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Number, "isSafeInteger", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-safe-integer/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-safe-integer/index.js new file mode 100644 index 0000000000..d4314df154 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-safe-integer/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Number.isSafeInteger + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-safe-integer/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-safe-integer/is-implemented.js new file mode 100644 index 0000000000..36b0db5611 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-safe-integer/is-implemented.js @@ -0,0 +1,8 @@ +"use strict"; + +module.exports = function () { + var isSafeInteger = Number.isSafeInteger; + if (typeof isSafeInteger !== "function") return false; + return !isSafeInteger("23") && isSafeInteger(34232322323) && + !isSafeInteger(9007199254740992); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-safe-integer/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-safe-integer/shim.js new file mode 100644 index 0000000000..de7f22f37f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/is-safe-integer/shim.js @@ -0,0 +1,11 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/max-safe-integer/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/max-safe-integer/implement.js new file mode 100644 index 0000000000..be5a2933ab --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/max-safe-integer/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Number, "MAX_SAFE_INTEGER", { value: require("./"), + configurable: false, +enumerable: false, +writable: false }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/max-safe-integer/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/max-safe-integer/index.js new file mode 100644 index 0000000000..75a41e7c05 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/max-safe-integer/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = Math.pow(2, 53) - 1; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/max-safe-integer/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/max-safe-integer/is-implemented.js new file mode 100644 index 0000000000..09a7da7504 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/max-safe-integer/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function () { + return typeof Number.MAX_SAFE_INTEGER === "number"; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/min-safe-integer/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/min-safe-integer/implement.js new file mode 100644 index 0000000000..77d0274543 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/min-safe-integer/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Number, "MIN_SAFE_INTEGER", { value: require("./"), + configurable: false, +enumerable: false, +writable: false }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/min-safe-integer/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/min-safe-integer/index.js new file mode 100644 index 0000000000..cde4514628 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/min-safe-integer/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = -(Math.pow(2, 53) - 1); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/min-safe-integer/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/min-safe-integer/is-implemented.js new file mode 100644 index 0000000000..7b63253fc3 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/min-safe-integer/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function () { + return typeof Number.MIN_SAFE_INTEGER === "number"; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/to-integer.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/to-integer.js new file mode 100644 index 0000000000..524395ce7c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/to-integer.js @@ -0,0 +1,12 @@ +"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)); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/to-pos-integer.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/to-pos-integer.js new file mode 100644 index 0000000000..fe2813da56 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/to-pos-integer.js @@ -0,0 +1,9 @@ +"use strict"; + +var toInteger = require("./to-integer") + + , max = Math.max; + +module.exports = function (value) { + return max(0, toInteger(value)); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/to-uint32.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/to-uint32.js new file mode 100644 index 0000000000..cb3590aa26 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/number/to-uint32.js @@ -0,0 +1,6 @@ +"use strict"; + +module.exports = function (value) { + // eslint-disable-next-line no-bitwise + return value >>> 0; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/_iterate.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/_iterate.js new file mode 100644 index 0000000000..1f0c85fd47 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/_iterate.js @@ -0,0 +1,30 @@ +// 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); + }); + }; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/assign/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/assign/implement.js new file mode 100644 index 0000000000..de3c92f14f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/assign/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Object, "assign", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/assign/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/assign/index.js new file mode 100644 index 0000000000..1dd31e6401 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/assign/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Object.assign + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/assign/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/assign/is-implemented.js new file mode 100644 index 0000000000..6b90ea969d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/assign/is-implemented.js @@ -0,0 +1,9 @@ +"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"; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/assign/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/assign/shim.js new file mode 100644 index 0000000000..afa58f2f9f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/assign/shim.js @@ -0,0 +1,23 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/clear.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/clear.js new file mode 100644 index 0000000000..268cc5b5d5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/clear.js @@ -0,0 +1,16 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/compact.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/compact.js new file mode 100644 index 0000000000..9943aedc7b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/compact.js @@ -0,0 +1,10 @@ +"use strict"; + +var filter = require("./filter") + , isValue = require("./is-value"); + +module.exports = function (obj) { + return filter(obj, function (val) { + return isValue(val); + }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/compare.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/compare.js new file mode 100644 index 0000000000..8d07858902 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/compare.js @@ -0,0 +1,45 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/copy-deep.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/copy-deep.js new file mode 100644 index 0000000000..d1d39c982c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/copy-deep.js @@ -0,0 +1,42 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/copy.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/copy.js new file mode 100644 index 0000000000..5368e42816 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/copy.js @@ -0,0 +1,19 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/count.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/count.js new file mode 100644 index 0000000000..8a2a71ef86 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/count.js @@ -0,0 +1,7 @@ +"use strict"; + +var keys = require("./keys"); + +module.exports = function (obj) { + return keys(obj).length; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/create.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/create.js new file mode 100644 index 0000000000..9e3e6e8d18 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/create.js @@ -0,0 +1,48 @@ +// 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); + }; +}()); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/ensure-natural-number-value.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/ensure-natural-number-value.js new file mode 100644 index 0000000000..d47d5d1498 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/ensure-natural-number-value.js @@ -0,0 +1,9 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/ensure-natural-number.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/ensure-natural-number.js new file mode 100644 index 0000000000..5b35e4a133 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/ensure-natural-number.js @@ -0,0 +1,9 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/ensure-promise.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/ensure-promise.js new file mode 100644 index 0000000000..0a1119c4e6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/ensure-promise.js @@ -0,0 +1,9 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/eq.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/eq.js new file mode 100644 index 0000000000..031246800f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/eq.js @@ -0,0 +1,7 @@ +"use strict"; + +var numIsNaN = require("../number/is-nan"); + +module.exports = function (val1, val2) { + return val1 === val2 || (numIsNaN(val1) && numIsNaN(val2)); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/every.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/every.js new file mode 100644 index 0000000000..892b5485a2 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/every.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./_iterate")("every", true); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/filter.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/filter.js new file mode 100644 index 0000000000..c7dd969b7e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/filter.js @@ -0,0 +1,14 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/find-key.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/find-key.js new file mode 100644 index 0000000000..6da6ba6f48 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/find-key.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./_iterate")(require("../array/#/find"), false); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/find.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/find.js new file mode 100644 index 0000000000..5960421a0f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/find.js @@ -0,0 +1,10 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/first-key.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/first-key.js new file mode 100644 index 0000000000..3666de57bd --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/first-key.js @@ -0,0 +1,13 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/flatten.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/flatten.js new file mode 100644 index 0000000000..4895ed6321 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/flatten.js @@ -0,0 +1,17 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/for-each.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/for-each.js new file mode 100644 index 0000000000..d282956d05 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/for-each.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./_iterate")("forEach"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/get-property-names.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/get-property-names.js new file mode 100644 index 0000000000..7dfef2794c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/get-property-names.js @@ -0,0 +1,17 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/index.js new file mode 100644 index 0000000000..a27652d697 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/index.js @@ -0,0 +1,56 @@ +"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"), + 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"), + 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") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-array-like.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-array-like.js new file mode 100644 index 0000000000..8e53500c45 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-array-like.js @@ -0,0 +1,18 @@ +"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 + ); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-callable.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-callable.js new file mode 100644 index 0000000000..c55915bc3a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-callable.js @@ -0,0 +1,7 @@ +// Deprecated + +"use strict"; + +module.exports = function (obj) { + return typeof obj === "function"; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-copy-deep.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-copy-deep.js new file mode 100644 index 0000000000..a1206aead2 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-copy-deep.js @@ -0,0 +1,59 @@ +"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), [[], []]); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-copy.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-copy.js new file mode 100644 index 0000000000..8c6ae5e2cc --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-copy.js @@ -0,0 +1,23 @@ +"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]); + }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-empty.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-empty.js new file mode 100644 index 0000000000..dbc52d0cc5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-empty.js @@ -0,0 +1,14 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-number-value.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-number-value.js new file mode 100644 index 0000000000..ea48d9d594 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-number-value.js @@ -0,0 +1,7 @@ +"use strict"; + +var isValue = require("./is-value"); + +module.exports = function (value) { + return isValue(value) && !isNaN(value); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-object.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-object.js new file mode 100644 index 0000000000..846ae21758 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-object.js @@ -0,0 +1,9 @@ +"use strict"; + +var isValue = require("./is-value"); + +var map = { function: true, object: true }; + +module.exports = function (value) { + return (isValue(value) && map[typeof value]) || false; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-plain-object.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-plain-object.js new file mode 100644 index 0000000000..ff15328961 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-plain-object.js @@ -0,0 +1,20 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-promise.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-promise.js new file mode 100644 index 0000000000..3e5d20d16a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-promise.js @@ -0,0 +1,8 @@ +"use strict"; + +var isCallable = require("./is-callable") + , isObject = require("./is-object"); + +module.exports = function (value) { + return isObject(value) && isCallable(value.then); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-value.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-value.js new file mode 100644 index 0000000000..82af8f3389 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is-value.js @@ -0,0 +1,7 @@ +"use strict"; + +var _undefined = require("../function/noop")(); // Support ES3 engines + +module.exports = function (val) { + return (val !== _undefined) && (val !== null); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is.js new file mode 100644 index 0000000000..54baadec88 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/is.js @@ -0,0 +1,10 @@ +// 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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/key-of.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/key-of.js new file mode 100644 index 0000000000..dc640e4dcb --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/key-of.js @@ -0,0 +1,17 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/keys/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/keys/implement.js new file mode 100644 index 0000000000..7119a706e3 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/keys/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Object, "keys", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/keys/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/keys/index.js new file mode 100644 index 0000000000..b56b5347cc --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/keys/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Object.keys + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/keys/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/keys/is-implemented.js new file mode 100644 index 0000000000..7abd33a886 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/keys/is-implemented.js @@ -0,0 +1,10 @@ +"use strict"; + +module.exports = function () { + try { + Object.keys("primitive"); + return true; + } catch (e) { + return false; +} +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/keys/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/keys/shim.js new file mode 100644 index 0000000000..bc802017e5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/keys/shim.js @@ -0,0 +1,9 @@ +"use strict"; + +var isValue = require("../is-value"); + +var keys = Object.keys; + +module.exports = function (object) { + return keys(isValue(object) ? Object(object) : object); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/map-keys.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/map-keys.js new file mode 100644 index 0000000000..72dada0707 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/map-keys.js @@ -0,0 +1,18 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/map.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/map.js new file mode 100644 index 0000000000..7b718db174 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/map.js @@ -0,0 +1,14 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/mixin-prototypes.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/mixin-prototypes.js new file mode 100644 index 0000000000..9094aef1d9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/mixin-prototypes.js @@ -0,0 +1,37 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/mixin.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/mixin.js new file mode 100644 index 0000000000..4da7cd519d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/mixin.js @@ -0,0 +1,31 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/normalize-options.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/normalize-options.js new file mode 100644 index 0000000000..6c394fe9cb --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/normalize-options.js @@ -0,0 +1,20 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/primitive-set.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/primitive-set.js new file mode 100644 index 0000000000..235eaa7faf --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/primitive-set.js @@ -0,0 +1,12 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/safe-traverse.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/safe-traverse.js new file mode 100644 index 0000000000..7b72d55500 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/safe-traverse.js @@ -0,0 +1,16 @@ +"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]]; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/serialize.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/serialize.js new file mode 100644 index 0000000000..4be9aeb1b4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/serialize.js @@ -0,0 +1,41 @@ +"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"); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/set-prototype-of/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/set-prototype-of/implement.js new file mode 100644 index 0000000000..1b91aebaf7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/set-prototype-of/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +var shim; + +if (!require("./is-implemented")() && (shim = require("./shim"))) { + Object.defineProperty(Object, "setPrototypeOf", + { value: shim, configurable: true, enumerable: false, writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/set-prototype-of/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/set-prototype-of/index.js new file mode 100644 index 0000000000..e035173f6e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/set-prototype-of/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? Object.setPrototypeOf + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/set-prototype-of/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/set-prototype-of/is-implemented.js new file mode 100644 index 0000000000..1a00627b79 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/set-prototype-of/is-implemented.js @@ -0,0 +1,9 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/set-prototype-of/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/set-prototype-of/shim.js new file mode 100644 index 0000000000..312341e025 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/set-prototype-of/shim.js @@ -0,0 +1,86 @@ +/* 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"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/some.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/some.js new file mode 100644 index 0000000000..c919466b21 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/some.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./_iterate")("some", false); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/to-array.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/to-array.js new file mode 100644 index 0000000000..6ed50a8eb7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/to-array.js @@ -0,0 +1,24 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/unserialize.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/unserialize.js new file mode 100644 index 0000000000..7574514397 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/unserialize.js @@ -0,0 +1,8 @@ +"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))(); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/valid-callable.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/valid-callable.js new file mode 100644 index 0000000000..a97fb3eaf3 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/valid-callable.js @@ -0,0 +1,6 @@ +"use strict"; + +module.exports = function (fn) { + if (typeof fn !== "function") throw new TypeError(fn + " is not a function"); + return fn; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/valid-object.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/valid-object.js new file mode 100644 index 0000000000..74b5e5f27d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/valid-object.js @@ -0,0 +1,8 @@ +"use strict"; + +var isObject = require("./is-object"); + +module.exports = function (value) { + if (!isObject(value)) throw new TypeError(value + " is not an Object"); + return value; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/valid-value.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/valid-value.js new file mode 100644 index 0000000000..d0ced8a471 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/valid-value.js @@ -0,0 +1,8 @@ +"use strict"; + +var isValue = require("./is-value"); + +module.exports = function (value) { + if (!isValue(value)) throw new TypeError("Cannot use null or undefined"); + return value; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/validate-array-like-object.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/validate-array-like-object.js new file mode 100644 index 0000000000..d7c45b365f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/validate-array-like-object.js @@ -0,0 +1,9 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/validate-array-like.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/validate-array-like.js new file mode 100644 index 0000000000..07aa794956 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/validate-array-like.js @@ -0,0 +1,8 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/validate-stringifiable-value.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/validate-stringifiable-value.js new file mode 100644 index 0000000000..5f47042813 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/validate-stringifiable-value.js @@ -0,0 +1,8 @@ +"use strict"; + +var ensureValue = require("./valid-value") + , stringifiable = require("./validate-stringifiable"); + +module.exports = function (value) { + return stringifiable(ensureValue(value)); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/validate-stringifiable.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/validate-stringifiable.js new file mode 100644 index 0000000000..2b1f12714e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/object/validate-stringifiable.js @@ -0,0 +1,12 @@ +"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"); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/package.json b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/package.json new file mode 100644 index 0000000000..f96ea01449 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/package.json @@ -0,0 +1,49 @@ +{ + "name": "es5-ext", + "version": "0.10.24", + "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" +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/index.js new file mode 100644 index 0000000000..9b098e0e24 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/index.js @@ -0,0 +1,10 @@ +"use strict"; + +module.exports = { + isSticky: require("./is-sticky"), + isUnicode: require("./is-unicode"), + match: require("./match"), + replace: require("./replace"), + search: require("./search"), + split: require("./split") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/is-sticky.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/is-sticky.js new file mode 100644 index 0000000000..2d4bb2a652 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/is-sticky.js @@ -0,0 +1,9 @@ +"use strict"; + +var validRegExp = require("../valid-reg-exp") + + , re = /\/[a-xz]*y[a-xz]*$/; + +module.exports = function () { + return Boolean(String(validRegExp(this)).match(re)); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/is-unicode.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/is-unicode.js new file mode 100644 index 0000000000..4c1ad9e2c5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/is-unicode.js @@ -0,0 +1,9 @@ +"use strict"; + +var validRegExp = require("../valid-reg-exp") + + , re = /\/[a-xz]*u[a-xz]*$/; + +module.exports = function () { + return Boolean(String(validRegExp(this)).match(re)); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/match/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/match/implement.js new file mode 100644 index 0000000000..ba89bcec1a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/match/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(RegExp.prototype, "match", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/match/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/match/index.js new file mode 100644 index 0000000000..b74d2f295e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/match/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? RegExp.prototype.match + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/match/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/match/is-implemented.js new file mode 100644 index 0000000000..a5065fc72e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/match/is-implemented.js @@ -0,0 +1,8 @@ +"use strict"; + +var re = /foo/; + +module.exports = function () { + if (typeof re.match !== "function") return false; + return re.match("barfoobar") && !re.match("elo"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/match/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/match/shim.js new file mode 100644 index 0000000000..2955821861 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/match/shim.js @@ -0,0 +1,8 @@ +"use strict"; + +var validRegExp = require("../../valid-reg-exp"); + +module.exports = function (string) { + validRegExp(this); + return String(string).match(this); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/replace/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/replace/implement.js new file mode 100644 index 0000000000..0db82917dc --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/replace/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(RegExp.prototype, "replace", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/replace/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/replace/index.js new file mode 100644 index 0000000000..41ff4ba0c3 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/replace/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? RegExp.prototype.replace + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/replace/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/replace/is-implemented.js new file mode 100644 index 0000000000..0a2e7c2fe8 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/replace/is-implemented.js @@ -0,0 +1,8 @@ +"use strict"; + +var re = /foo/; + +module.exports = function () { + if (typeof re.replace !== "function") return false; + return re.replace("foobar", "mar") === "marbar"; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/replace/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/replace/shim.js new file mode 100644 index 0000000000..66f5d5b7ce --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/replace/shim.js @@ -0,0 +1,8 @@ +"use strict"; + +var validRegExp = require("../../valid-reg-exp"); + +module.exports = function (string, replaceValue) { + validRegExp(this); + return String(string).replace(this, replaceValue); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/search/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/search/implement.js new file mode 100644 index 0000000000..34452615d0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/search/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(RegExp.prototype, "search", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/search/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/search/index.js new file mode 100644 index 0000000000..a17213e4de --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/search/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? RegExp.prototype.search + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/search/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/search/is-implemented.js new file mode 100644 index 0000000000..7f38669f10 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/search/is-implemented.js @@ -0,0 +1,8 @@ +"use strict"; + +var re = /foo/; + +module.exports = function () { + if (typeof re.search !== "function") return false; + return re.search("barfoo") === 3; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/search/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/search/shim.js new file mode 100644 index 0000000000..c97a78731c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/search/shim.js @@ -0,0 +1,8 @@ +"use strict"; + +var validRegExp = require("../../valid-reg-exp"); + +module.exports = function (string) { + validRegExp(this); + return String(string).search(this); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/split/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/split/implement.js new file mode 100644 index 0000000000..d94acdd858 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/split/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(RegExp.prototype, "split", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/split/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/split/index.js new file mode 100644 index 0000000000..7942f452d6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/split/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? RegExp.prototype.split + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/split/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/split/is-implemented.js new file mode 100644 index 0000000000..90fca0cc86 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/split/is-implemented.js @@ -0,0 +1,8 @@ +"use strict"; + +var re = /\|/; + +module.exports = function () { + if (typeof re.split !== "function") return false; + return re.split("bar|foo")[1] === "foo"; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/split/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/split/shim.js new file mode 100644 index 0000000000..c9c73cce26 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/split/shim.js @@ -0,0 +1,8 @@ +"use strict"; + +var validRegExp = require("../../valid-reg-exp"); + +module.exports = function (string) { + validRegExp(this); + return String(string).split(this); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/sticky/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/sticky/implement.js new file mode 100644 index 0000000000..f636890f47 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/sticky/implement.js @@ -0,0 +1,9 @@ +"use strict"; + +var isSticky = require("../is-sticky"); + +if (!require("./is-implemented")()) { + Object.defineProperty(RegExp.prototype, "sticky", { configurable: true, + enumerable: false, +get: isSticky }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/sticky/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/sticky/is-implemented.js new file mode 100644 index 0000000000..a1ade11148 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/sticky/is-implemented.js @@ -0,0 +1,10 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/unicode/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/unicode/implement.js new file mode 100644 index 0000000000..a5fb20365b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/unicode/implement.js @@ -0,0 +1,9 @@ +"use strict"; + +var isUnicode = require("../is-unicode"); + +if (!require("./is-implemented")()) { + Object.defineProperty(RegExp.prototype, "unicode", { configurable: true, + enumerable: false, +get: isUnicode }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/unicode/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/unicode/is-implemented.js new file mode 100644 index 0000000000..48605d72a1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/#/unicode/is-implemented.js @@ -0,0 +1,10 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/escape.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/escape.js new file mode 100644 index 0000000000..964e3c61ac --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/escape.js @@ -0,0 +1,11 @@ +// 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, "\\$&"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/index.js new file mode 100644 index 0000000000..f023fe0398 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/index.js @@ -0,0 +1,8 @@ +"use strict"; + +module.exports = { + "#": require("./#"), + "escape": require("./escape"), + "isRegExp": require("./is-reg-exp"), + "validRegExp": require("./valid-reg-exp") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/is-reg-exp.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/is-reg-exp.js new file mode 100644 index 0000000000..b966b0f263 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/is-reg-exp.js @@ -0,0 +1,7 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/valid-reg-exp.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/valid-reg-exp.js new file mode 100644 index 0000000000..a05927a7eb --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/reg-exp/valid-reg-exp.js @@ -0,0 +1,8 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/safe-to-string.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/safe-to-string.js new file mode 100644 index 0000000000..cc323d7c7c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/safe-to-string.js @@ -0,0 +1,12 @@ +"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 ""; + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/@@iterator/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/@@iterator/implement.js new file mode 100644 index 0000000000..ab85d7c7a4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/@@iterator/implement.js @@ -0,0 +1,6 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(String.prototype, require("es6-symbol").iterator, + { value: require("./shim"), configurable: true, enumerable: false, writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/@@iterator/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/@@iterator/index.js new file mode 100644 index 0000000000..b2bd1e863b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/@@iterator/index.js @@ -0,0 +1,4 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? String.prototype[require("es6-symbol").iterator] : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/@@iterator/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/@@iterator/is-implemented.js new file mode 100644 index 0000000000..bb8a8d6efa --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/@@iterator/is-implemented.js @@ -0,0 +1,16 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/@@iterator/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/@@iterator/shim.js new file mode 100644 index 0000000000..1eafee27fe --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/@@iterator/shim.js @@ -0,0 +1,8 @@ +"use strict"; + +var StringIterator = require("es6-iterator/string") + , value = require("../../../object/valid-value"); + +module.exports = function () { + return new StringIterator(value(this)); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/at.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/at.js new file mode 100644 index 0000000000..a8c291794b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/at.js @@ -0,0 +1,35 @@ +// 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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/camel-to-hyphen.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/camel-to-hyphen.js new file mode 100644 index 0000000000..002dfd0b2b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/camel-to-hyphen.js @@ -0,0 +1,10 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/capitalize.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/capitalize.js new file mode 100644 index 0000000000..fc92a9fb63 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/capitalize.js @@ -0,0 +1,8 @@ +"use strict"; + +var value = require("../../object/valid-value"); + +module.exports = function () { + var str = String(value(this)); + return str.charAt(0).toUpperCase() + str.slice(1); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/case-insensitive-compare.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/case-insensitive-compare.js new file mode 100644 index 0000000000..5d961a5e38 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/case-insensitive-compare.js @@ -0,0 +1,7 @@ +"use strict"; + +var toLowerCase = String.prototype.toLowerCase; + +module.exports = function (other) { + return toLowerCase.call(this).localeCompare(toLowerCase.call(String(other))); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/code-point-at/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/code-point-at/implement.js new file mode 100644 index 0000000000..f1dc80a049 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/code-point-at/implement.js @@ -0,0 +1,9 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(String.prototype, "codePointAt", + { value: require("./shim"), +configurable: true, +enumerable: false, + writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/code-point-at/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/code-point-at/index.js new file mode 100644 index 0000000000..33d45c9f2d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/code-point-at/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? String.prototype.codePointAt + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/code-point-at/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/code-point-at/is-implemented.js new file mode 100644 index 0000000000..7da785f2c1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/code-point-at/is-implemented.js @@ -0,0 +1,8 @@ +"use strict"; + +var str = "abc\uD834\uDF06def"; + +module.exports = function () { + if (typeof str.codePointAt !== "function") return false; + return str.codePointAt(3) === 0x1D306; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/code-point-at/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/code-point-at/shim.js new file mode 100644 index 0000000000..0f331c3f10 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/code-point-at/shim.js @@ -0,0 +1,26 @@ +// 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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/contains/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/contains/implement.js new file mode 100644 index 0000000000..395acea23a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/contains/implement.js @@ -0,0 +1,9 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(String.prototype, "contains", + { value: require("./shim"), +configurable: true, +enumerable: false, + writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/contains/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/contains/index.js new file mode 100644 index 0000000000..4f6a071404 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/contains/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? String.prototype.contains + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/contains/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/contains/is-implemented.js new file mode 100644 index 0000000000..c270bb1ad0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/contains/is-implemented.js @@ -0,0 +1,8 @@ +"use strict"; + +var str = "razdwatrzy"; + +module.exports = function () { + if (typeof str.contains !== "function") return false; + return (str.contains("dwa") === true) && (str.contains("foo") === false); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/contains/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/contains/shim.js new file mode 100644 index 0000000000..a7219f2e9d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/contains/shim.js @@ -0,0 +1,7 @@ +"use strict"; + +var indexOf = String.prototype.indexOf; + +module.exports = function (searchString/*, position*/) { + return indexOf.call(this, searchString, arguments[1]) > -1; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/count.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/count.js new file mode 100644 index 0000000000..7607013625 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/count.js @@ -0,0 +1,15 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/ends-with/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/ends-with/implement.js new file mode 100644 index 0000000000..19e5b86b89 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/ends-with/implement.js @@ -0,0 +1,9 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(String.prototype, "endsWith", + { value: require("./shim"), +configurable: true, +enumerable: false, + writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/ends-with/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/ends-with/index.js new file mode 100644 index 0000000000..952ed0ce19 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/ends-with/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? String.prototype.endsWith + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/ends-with/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/ends-with/is-implemented.js new file mode 100644 index 0000000000..fce38eb8ef --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/ends-with/is-implemented.js @@ -0,0 +1,8 @@ +"use strict"; + +var str = "razdwatrzy"; + +module.exports = function () { + if (typeof str.endsWith !== "function") return false; + return (str.endsWith("trzy") === true) && (str.endsWith("raz") === false); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/ends-with/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/ends-with/shim.js new file mode 100644 index 0000000000..c5371aa939 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/ends-with/shim.js @@ -0,0 +1,18 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/hyphen-to-camel.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/hyphen-to-camel.js new file mode 100644 index 0000000000..20a5105ccf --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/hyphen-to-camel.js @@ -0,0 +1,10 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/indent.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/indent.js new file mode 100644 index 0000000000..df8869dbc8 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/indent.js @@ -0,0 +1,12 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/index.js new file mode 100644 index 0000000000..2344489745 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/index.js @@ -0,0 +1,23 @@ +"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") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/last.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/last.js new file mode 100644 index 0000000000..f5c957fcae --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/last.js @@ -0,0 +1,8 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/normalize/_data.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/normalize/_data.js new file mode 100644 index 0000000000..356d5a6a54 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/normalize/_data.js @@ -0,0 +1,7203 @@ +/* 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] + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/normalize/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/normalize/implement.js new file mode 100644 index 0000000000..ad11739e4f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/normalize/implement.js @@ -0,0 +1,9 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(String.prototype, "normalize", + { value: require("./shim"), +configurable: true, +enumerable: false, + writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/normalize/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/normalize/index.js new file mode 100644 index 0000000000..7e91b08ba2 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/normalize/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? String.prototype.normalize + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/normalize/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/normalize/is-implemented.js new file mode 100644 index 0000000000..01b48a9d61 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/normalize/is-implemented.js @@ -0,0 +1,8 @@ +"use strict"; + +var str = "æøåäüö"; + +module.exports = function () { + if (typeof str.normalize !== "function") return false; + return str.normalize("NFKD") === "æøåäüö"; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/normalize/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/normalize/shim.js new file mode 100644 index 0000000000..aba37f55d5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/normalize/shim.js @@ -0,0 +1,317 @@ +/* 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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/pad.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/pad.js new file mode 100644 index 0000000000..159f89519e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/pad.js @@ -0,0 +1,18 @@ +"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)); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/plain-replace-all.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/plain-replace-all.js new file mode 100644 index 0000000000..9334fe09d3 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/plain-replace-all.js @@ -0,0 +1,16 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/plain-replace.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/plain-replace.js new file mode 100644 index 0000000000..f24f5215cb --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/plain-replace.js @@ -0,0 +1,10 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/repeat/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/repeat/implement.js new file mode 100644 index 0000000000..7066b7b49b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/repeat/implement.js @@ -0,0 +1,9 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(String.prototype, "repeat", + { value: require("./shim"), +configurable: true, +enumerable: false, + writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/repeat/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/repeat/index.js new file mode 100644 index 0000000000..99d44b2ef0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/repeat/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? String.prototype.repeat + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/repeat/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/repeat/is-implemented.js new file mode 100644 index 0000000000..e8e02409c3 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/repeat/is-implemented.js @@ -0,0 +1,8 @@ +"use strict"; + +var str = "foo"; + +module.exports = function () { + if (typeof str.repeat !== "function") return false; + return str.repeat(2) === "foofoo"; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/repeat/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/repeat/shim.js new file mode 100644 index 0000000000..7b8d8fbed9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/repeat/shim.js @@ -0,0 +1,22 @@ +/* eslint no-bitwise: "off" */ + +// Thanks: http://www.2ality.com/2014/01/efficient-string-repeat.html + +"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 < ∞"); + if (!count) return ""; + if (count === 1) return str; + + result = ""; + if (count & 1) result += str; + while ((count >>>= 1)) str += str; + return result + str; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/starts-with/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/starts-with/implement.js new file mode 100644 index 0000000000..11613da22f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/starts-with/implement.js @@ -0,0 +1,9 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(String.prototype, "startsWith", + { value: require("./shim"), +configurable: true, +enumerable: false, + writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/starts-with/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/starts-with/index.js new file mode 100644 index 0000000000..9a6c3743d9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/starts-with/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? String.prototype.startsWith + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/starts-with/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/starts-with/is-implemented.js new file mode 100644 index 0000000000..f6b6e2960b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/starts-with/is-implemented.js @@ -0,0 +1,9 @@ +"use strict"; + +var str = "razdwatrzy"; + +module.exports = function () { + if (typeof str.startsWith !== "function") return false; + return (str.startsWith("trzy") === false) && + (str.startsWith("raz") === true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/starts-with/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/starts-with/shim.js new file mode 100644 index 0000000000..d455477997 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/starts-with/shim.js @@ -0,0 +1,12 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/uncapitalize.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/uncapitalize.js new file mode 100644 index 0000000000..202dbb7386 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/#/uncapitalize.js @@ -0,0 +1,8 @@ +"use strict"; + +var ensureStringifiable = require("../../object/validate-stringifiable-value"); + +module.exports = function () { + var str = ensureStringifiable(this); + return str.charAt(0).toLowerCase() + str.slice(1); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/format-method.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/format-method.js new file mode 100644 index 0000000000..28956fea21 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/format-method.js @@ -0,0 +1,27 @@ +"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); + }); + }; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/from-code-point/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/from-code-point/implement.js new file mode 100644 index 0000000000..4f815d6be1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/from-code-point/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(String, "fromCodePoint", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/from-code-point/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/from-code-point/index.js new file mode 100644 index 0000000000..d5a8112216 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/from-code-point/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? String.fromCodePoint + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/from-code-point/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/from-code-point/is-implemented.js new file mode 100644 index 0000000000..e6ccfa7fa7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/from-code-point/is-implemented.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function () { + var fromCodePoint = String.fromCodePoint; + if (typeof fromCodePoint !== "function") return false; + return fromCodePoint(0x1D306, 0x61, 0x1D307) === "\ud834\udf06a\ud834\udf07"; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/from-code-point/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/from-code-point/shim.js new file mode 100644 index 0000000000..55824f5730 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/from-code-point/shim.js @@ -0,0 +1,37 @@ +// 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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/index.js new file mode 100644 index 0000000000..b2e7e62296 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/index.js @@ -0,0 +1,10 @@ +"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") +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/is-string.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/is-string.js new file mode 100644 index 0000000000..1b1e863090 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/is-string.js @@ -0,0 +1,13 @@ +"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 + ); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/random-uniq.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/random-uniq.js new file mode 100644 index 0000000000..ef549d3f6a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/random-uniq.js @@ -0,0 +1,13 @@ +"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; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/raw/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/raw/implement.js new file mode 100644 index 0000000000..0f17df3f14 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/raw/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(String, "raw", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/raw/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/raw/index.js new file mode 100644 index 0000000000..e818dd56dd --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/raw/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = require("./is-implemented")() + ? String.raw + : require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/raw/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/raw/is-implemented.js new file mode 100644 index 0000000000..8758108c0c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/raw/is-implemented.js @@ -0,0 +1,9 @@ +"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"; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/raw/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/raw/shim.js new file mode 100644 index 0000000000..8c52bb552a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/string/raw/shim.js @@ -0,0 +1,14 @@ +"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; + }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/.eslintrc.json b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/.eslintrc.json new file mode 100644 index 0000000000..4f4af603b0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/.eslintrc.json @@ -0,0 +1,9 @@ +{ + "rules": { + "consistent-this": "off", + "id-length": "off", + "no-new-wrappers": "off", + "no-prototype-builtins": "off", + "no-shadow": "off" + } +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/__tad.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/__tad.js new file mode 100644 index 0000000000..883c379282 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/__tad.js @@ -0,0 +1,3 @@ +"use strict"; + +exports.context = null; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/@@iterator/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/@@iterator/implement.js new file mode 100644 index 0000000000..1a20aa82e4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/@@iterator/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../array/#/@@iterator/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/@@iterator/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/@@iterator/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/@@iterator/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/@@iterator/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/@@iterator/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/@@iterator/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/@@iterator/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/@@iterator/shim.js new file mode 100644 index 0000000000..71b71d58a0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/@@iterator/shim.js @@ -0,0 +1,9 @@ +"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 }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/_compare-by-length.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/_compare-by-length.js new file mode 100644 index 0000000000..a53d8470f6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/_compare-by-length.js @@ -0,0 +1,7 @@ +"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]); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/binary-search.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/binary-search.js new file mode 100644 index 0000000000..04dfaefa46 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/binary-search.js @@ -0,0 +1,17 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/clear.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/clear.js new file mode 100644 index 0000000000..640cc1926b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/clear.js @@ -0,0 +1,7 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/compact.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/compact.js new file mode 100644 index 0000000000..05160844ed --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/compact.js @@ -0,0 +1,17 @@ +"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"); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/concat/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/concat/implement.js new file mode 100644 index 0000000000..c4dc41fa79 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/concat/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../array/#/concat/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/concat/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/concat/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/concat/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/concat/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/concat/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/concat/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/concat/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/concat/shim.js new file mode 100644 index 0000000000..30a9b0c62a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/concat/shim.js @@ -0,0 +1,26 @@ +"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]; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/contains.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/contains.js new file mode 100644 index 0000000000..fb0f96ce8e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/contains.js @@ -0,0 +1,21 @@ +"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"); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/copy-within/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/copy-within/implement.js new file mode 100644 index 0000000000..87272ac0fb --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/copy-within/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../array/#/copy-within/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/copy-within/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/copy-within/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/copy-within/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/copy-within/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/copy-within/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/copy-within/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/copy-within/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/copy-within/shim.js new file mode 100644 index 0000000000..03a631fe27 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/copy-within/shim.js @@ -0,0 +1,29 @@ +"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 }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/diff.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/diff.js new file mode 100644 index 0000000000..397c5ddfeb --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/diff.js @@ -0,0 +1,17 @@ +"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"); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/e-index-of.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/e-index-of.js new file mode 100644 index 0000000000..1e42cbd735 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/e-index-of.js @@ -0,0 +1,13 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/e-last-index-of.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/e-last-index-of.js new file mode 100644 index 0000000000..2c7fff9fcc --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/e-last-index-of.js @@ -0,0 +1,12 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/entries/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/entries/implement.js new file mode 100644 index 0000000000..fa16930c3f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/entries/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../array/#/entries/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/entries/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/entries/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/entries/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/entries/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/entries/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/entries/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/entries/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/entries/shim.js new file mode 100644 index 0000000000..87ac25a98d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/entries/shim.js @@ -0,0 +1,9 @@ +"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 }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/exclusion.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/exclusion.js new file mode 100644 index 0000000000..827c037a32 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/exclusion.js @@ -0,0 +1,15 @@ +"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]); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/fill/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/fill/implement.js new file mode 100644 index 0000000000..fe806a6bfa --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/fill/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../array/#/fill/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/fill/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/fill/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/fill/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/fill/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/fill/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/fill/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/fill/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/fill/shim.js new file mode 100644 index 0000000000..c752e10b80 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/fill/shim.js @@ -0,0 +1,18 @@ +// 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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/filter/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/filter/implement.js new file mode 100644 index 0000000000..cac92c83a0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/filter/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../array/#/filter/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/filter/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/filter/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/filter/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/filter/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/filter/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/filter/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/filter/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/filter/shim.js new file mode 100644 index 0000000000..e20a6511f0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/filter/shim.js @@ -0,0 +1,17 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find-index/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find-index/implement.js new file mode 100644 index 0000000000..341bedef49 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find-index/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../array/#/find-index/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find-index/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find-index/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find-index/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find-index/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find-index/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find-index/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find-index/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find-index/shim.js new file mode 100644 index 0000000000..0a6fe11357 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find-index/shim.js @@ -0,0 +1,17 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find/implement.js new file mode 100644 index 0000000000..9333b25fb1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../array/#/find/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find/shim.js new file mode 100644 index 0000000000..b8fd9f060d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/find/shim.js @@ -0,0 +1,17 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/first-index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/first-index.js new file mode 100644 index 0000000000..af3388b556 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/first-index.js @@ -0,0 +1,17 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/first.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/first.js new file mode 100644 index 0000000000..5e9c1ae845 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/first.js @@ -0,0 +1,13 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/flatten.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/flatten.js new file mode 100644 index 0000000000..c1234c3ab6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/flatten.js @@ -0,0 +1,14 @@ +"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]); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/for-each-right.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/for-each-right.js new file mode 100644 index 0000000000..109101f8b5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/for-each-right.js @@ -0,0 +1,47 @@ +"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"); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/group.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/group.js new file mode 100644 index 0000000000..12667de98c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/group.js @@ -0,0 +1,24 @@ +"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]); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/indexes-of.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/indexes-of.js new file mode 100644 index 0000000000..1463417d43 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/indexes-of.js @@ -0,0 +1,14 @@ +"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"); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/intersection.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/intersection.js new file mode 100644 index 0000000000..bb1097d1e1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/intersection.js @@ -0,0 +1,24 @@ +"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"); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/is-copy.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/is-copy.js new file mode 100644 index 0000000000..b090c2acde --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/is-copy.js @@ -0,0 +1,13 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/is-uniq.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/is-uniq.js new file mode 100644 index 0000000000..ab531ac513 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/is-uniq.js @@ -0,0 +1,11 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/keys/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/keys/implement.js new file mode 100644 index 0000000000..cc1f9316ad --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/keys/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../array/#/keys/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/keys/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/keys/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/keys/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/keys/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/keys/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/keys/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/keys/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/keys/shim.js new file mode 100644 index 0000000000..9be9a8f09c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/keys/shim.js @@ -0,0 +1,9 @@ +"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 }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/last-index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/last-index.js new file mode 100644 index 0000000000..e66d16f141 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/last-index.js @@ -0,0 +1,17 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/last.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/last.js new file mode 100644 index 0000000000..6ca5d05390 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/last.js @@ -0,0 +1,15 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/map/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/map/implement.js new file mode 100644 index 0000000000..26bb411582 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/map/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../array/#/map/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/map/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/map/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/map/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/map/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/map/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/map/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/map/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/map/shim.js new file mode 100644 index 0000000000..02a5af2509 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/map/shim.js @@ -0,0 +1,19 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/remove.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/remove.js new file mode 100644 index 0000000000..d67457ea9f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/remove.js @@ -0,0 +1,14 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/separate.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/separate.js new file mode 100644 index 0000000000..9792637f31 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/separate.js @@ -0,0 +1,15 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/slice/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/slice/implement.js new file mode 100644 index 0000000000..8c9b9be63e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/slice/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../array/#/slice/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/slice/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/slice/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/slice/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/slice/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/slice/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/slice/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/slice/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/slice/shim.js new file mode 100644 index 0000000000..f09ad13cff --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/slice/shim.js @@ -0,0 +1,17 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/some-right.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/some-right.js new file mode 100644 index 0000000000..1e0f407e64 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/some-right.js @@ -0,0 +1,62 @@ +"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"); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/splice/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/splice/implement.js new file mode 100644 index 0000000000..f09257a433 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/splice/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../array/#/splice/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/splice/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/splice/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/splice/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/splice/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/splice/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/splice/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/splice/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/splice/shim.js new file mode 100644 index 0000000000..480200784d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/splice/shim.js @@ -0,0 +1,19 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/uniq.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/uniq.js new file mode 100644 index 0000000000..c7223b26ed --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/uniq.js @@ -0,0 +1,14 @@ +"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"); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/values/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/values/implement.js new file mode 100644 index 0000000000..4ba7613aff --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/values/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../array/#/values/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/values/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/values/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/values/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/values/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/values/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/values/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/values/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/values/shim.js new file mode 100644 index 0000000000..71b71d58a0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/#/values/shim.js @@ -0,0 +1,9 @@ +"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 }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/__scopes.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/__scopes.js new file mode 100644 index 0000000000..bf47389f76 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/__scopes.js @@ -0,0 +1,11 @@ +"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 }; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/_is-extensible.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/_is-extensible.js new file mode 100644 index 0000000000..87881863b3 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/_is-extensible.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t, "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/_sub-array-dummy-safe.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/_sub-array-dummy-safe.js new file mode 100644 index 0000000000..6b42f4d159 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/_sub-array-dummy-safe.js @@ -0,0 +1,7 @@ +"use strict"; + +var isArray = Array.isArray; + +module.exports = function (t) { + t(t === null || isArray(t.prototype), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/_sub-array-dummy.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/_sub-array-dummy.js new file mode 100644 index 0000000000..6b42f4d159 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/_sub-array-dummy.js @@ -0,0 +1,7 @@ +"use strict"; + +var isArray = Array.isArray; + +module.exports = function (t) { + t(t === null || isArray(t.prototype), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/from/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/from/implement.js new file mode 100644 index 0000000000..2ed3788f91 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/from/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../array/from/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/from/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/from/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/from/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/from/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/from/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/from/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/from/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/from/shim.js new file mode 100644 index 0000000000..17974c4be7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/from/shim.js @@ -0,0 +1,138 @@ +// 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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/generate.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/generate.js new file mode 100644 index 0000000000..efd5f7c8c0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/generate.js @@ -0,0 +1,10 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/is-plain-array.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/is-plain-array.js new file mode 100644 index 0000000000..2cfd50d3b8 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/is-plain-array.js @@ -0,0 +1,18 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/of/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/of/implement.js new file mode 100644 index 0000000000..0b1f5c8f89 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/of/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../array/of/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/of/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/of/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/of/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/of/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/of/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/of/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/of/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/of/shim.js new file mode 100644 index 0000000000..7d18859af5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/of/shim.js @@ -0,0 +1,89 @@ +/* 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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/to-array.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/to-array.js new file mode 100644 index 0000000000..4e93ad5dbe --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/to-array.js @@ -0,0 +1,17 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/valid-array.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/valid-array.js new file mode 100644 index 0000000000..a3708b22db --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/array/valid-array.js @@ -0,0 +1,30 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/boolean/is-boolean.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/boolean/is-boolean.js new file mode 100644 index 0000000000..e36b3f34e4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/boolean/is-boolean.js @@ -0,0 +1,12 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/copy.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/copy.js new file mode 100644 index 0000000000..27c996bba5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/copy.js @@ -0,0 +1,10 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/days-in-month.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/days-in-month.js new file mode 100644 index 0000000000..ce2dd7754d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/days-in-month.js @@ -0,0 +1,17 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/floor-day.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/floor-day.js new file mode 100644 index 0000000000..fa929d6839 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/floor-day.js @@ -0,0 +1,6 @@ +"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()); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/floor-month.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/floor-month.js new file mode 100644 index 0000000000..1df4ddbeb6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/floor-month.js @@ -0,0 +1,6 @@ +"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()); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/floor-year.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/floor-year.js new file mode 100644 index 0000000000..5b78b7dcf6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/floor-year.js @@ -0,0 +1,6 @@ +"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()); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/format.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/format.js new file mode 100644 index 0000000000..510b26b440 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/#/format.js @@ -0,0 +1,6 @@ +"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 "); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/is-date.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/is-date.js new file mode 100644 index 0000000000..90ae8ad70f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/is-date.js @@ -0,0 +1,10 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/valid-date.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/valid-date.js new file mode 100644 index 0000000000..2856cb6a86 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/date/valid-date.js @@ -0,0 +1,14 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/error/#/throw.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/error/#/throw.js new file mode 100644 index 0000000000..8c5d04eea3 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/error/#/throw.js @@ -0,0 +1,10 @@ +"use strict"; + +module.exports = function (t, a) { + var e = new Error(); + try { + t.call(e); + } catch (e2) { + a(e2, e); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/error/custom.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/error/custom.js new file mode 100644 index 0000000000..ca35c7666e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/error/custom.js @@ -0,0 +1,12 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/error/is-error.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/error/is-error.js new file mode 100644 index 0000000000..423c7359e6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/error/is-error.js @@ -0,0 +1,18 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/error/valid-error.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/error/valid-error.js new file mode 100644 index 0000000000..7d032bf239 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/error/valid-error.js @@ -0,0 +1,9 @@ +"use strict"; + +module.exports = function (t, a) { + var e = new Error(); + a(t(e), e, "Error"); + a.throws(function () { + t({}); + }, "Other"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/compose.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/compose.js new file mode 100644 index 0000000000..433f3b4b13 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/compose.js @@ -0,0 +1,15 @@ +"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]); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/copy.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/copy.js new file mode 100644 index 0000000000..9948f11832 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/copy.js @@ -0,0 +1,22 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/curry.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/curry.js new file mode 100644 index 0000000000..c30313a0d4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/curry.js @@ -0,0 +1,20 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/lock.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/lock.js new file mode 100644 index 0000000000..08ea9505c7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/lock.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function (t, a) { + a(t.call(function () { + return arguments.length; + })(1, 2, 3), 0); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/not.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/not.js new file mode 100644 index 0000000000..64fff71500 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/not.js @@ -0,0 +1,11 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/partial.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/partial.js new file mode 100644 index 0000000000..7e9428fa90 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/partial.js @@ -0,0 +1,11 @@ +"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]); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/spread.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/spread.js new file mode 100644 index 0000000000..d082fcabcc --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/spread.js @@ -0,0 +1,10 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/to-string-tokens.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/to-string-tokens.js new file mode 100644 index 0000000000..0691cc394e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/#/to-string-tokens.js @@ -0,0 +1,33 @@ +/* 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()" }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/_define-length.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/_define-length.js new file mode 100644 index 0000000000..324e273c02 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/_define-length.js @@ -0,0 +1,14 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/constant.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/constant.js new file mode 100644 index 0000000000..4ba2d8983f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/constant.js @@ -0,0 +1,7 @@ +"use strict"; + +var o = {}; + +module.exports = function (t, a) { + a(t(o)(), o); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/identity.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/identity.js new file mode 100644 index 0000000000..a5b0b1bc9f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/identity.js @@ -0,0 +1,7 @@ +"use strict"; + +var o = {}; + +module.exports = function (t, a) { + a(t(o), o); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/invoke.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/invoke.js new file mode 100644 index 0000000000..6268f47e9e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/invoke.js @@ -0,0 +1,9 @@ +"use strict"; + +var constant = require("../../function/constant") + + , o = { b: constant("c") }; + +module.exports = function (t, a) { + a(t("b")(o), "c"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/is-arguments.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/is-arguments.js new file mode 100644 index 0000000000..5bd54ac7e7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/is-arguments.js @@ -0,0 +1,13 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/is-function.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/is-function.js new file mode 100644 index 0000000000..fe89798514 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/is-function.js @@ -0,0 +1,8 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/noop.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/noop.js new file mode 100644 index 0000000000..34de85ab63 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/noop.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(1, 2, 3), "undefined"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/pluck.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/pluck.js new file mode 100644 index 0000000000..f8954c59db --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/pluck.js @@ -0,0 +1,7 @@ +"use strict"; + +var o = { foo: "bar" }; + +module.exports = function (t, a) { + a(t("foo")(o), o.foo); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/valid-function.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/valid-function.js new file mode 100644 index 0000000000..30c0360845 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/function/valid-function.js @@ -0,0 +1,22 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/global.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/global.js new file mode 100644 index 0000000000..554ad4ccd8 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/global.js @@ -0,0 +1,6 @@ +"use strict"; + +module.exports = function (t, a) { + a.ok(t && typeof t === "object"); + a(typeof t.Array, "function"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/iterable/for-each.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/iterable/for-each.js new file mode 100644 index 0000000000..d6c3872aa1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/iterable/for-each.js @@ -0,0 +1,42 @@ +"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); + +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/iterable/is.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/iterable/is.js new file mode 100644 index 0000000000..8c3158b223 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/iterable/is.js @@ -0,0 +1,22 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/iterable/validate-object.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/iterable/validate-object.js new file mode 100644 index 0000000000..83a9ca15e7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/iterable/validate-object.js @@ -0,0 +1,34 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/iterable/validate.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/iterable/validate.js new file mode 100644 index 0000000000..61cab5d38f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/iterable/validate.js @@ -0,0 +1,32 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/json/safe-stringify.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/json/safe-stringify.js new file mode 100644 index 0000000000..2d13f3def1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/json/safe-stringify.js @@ -0,0 +1,26 @@ +"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]}"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/_pack-ieee754.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/_pack-ieee754.js new file mode 100644 index 0000000000..7e56f7f299 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/_pack-ieee754.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a.deep(t(1.337, 8, 23), [63, 171, 34, 209]); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/_unpack-ieee754.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/_unpack-ieee754.js new file mode 100644 index 0000000000..52730f389b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/_unpack-ieee754.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a.deep(t([63, 171, 34, 209], 8, 23), 1.3370000123977661); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/acosh/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/acosh/implement.js new file mode 100644 index 0000000000..d7bcc28aeb --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/acosh/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../math/acosh/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/acosh/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/acosh/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/acosh/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/acosh/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/acosh/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/acosh/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/acosh/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/acosh/shim.js new file mode 100644 index 0000000000..17ac18193b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/acosh/shim.js @@ -0,0 +1,11 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/asinh/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/asinh/implement.js new file mode 100644 index 0000000000..ab4b969146 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/asinh/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../math/asinh/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/asinh/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/asinh/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/asinh/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/asinh/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/asinh/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/asinh/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/asinh/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/asinh/shim.js new file mode 100644 index 0000000000..a4328d2e1f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/asinh/shim.js @@ -0,0 +1,10 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/atanh/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/atanh/implement.js new file mode 100644 index 0000000000..bcd3bd875f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/atanh/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../math/atanh/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/atanh/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/atanh/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/atanh/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/atanh/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/atanh/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/atanh/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/atanh/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/atanh/shim.js new file mode 100644 index 0000000000..f58709cc4a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/atanh/shim.js @@ -0,0 +1,11 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cbrt/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cbrt/implement.js new file mode 100644 index 0000000000..132e9296d1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cbrt/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../math/cbrt/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cbrt/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cbrt/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cbrt/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cbrt/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cbrt/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cbrt/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cbrt/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cbrt/shim.js new file mode 100644 index 0000000000..fc1beee4c8 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cbrt/shim.js @@ -0,0 +1,11 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/clz32/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/clz32/implement.js new file mode 100644 index 0000000000..36f529f15f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/clz32/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../math/clz32/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/clz32/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/clz32/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/clz32/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/clz32/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/clz32/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/clz32/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/clz32/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/clz32/shim.js new file mode 100644 index 0000000000..4d8dd2fa0e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/clz32/shim.js @@ -0,0 +1,12 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cosh/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cosh/implement.js new file mode 100644 index 0000000000..6ad42efb04 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cosh/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../math/cosh/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cosh/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cosh/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cosh/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cosh/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cosh/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cosh/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cosh/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cosh/shim.js new file mode 100644 index 0000000000..0b917c7062 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/cosh/shim.js @@ -0,0 +1,13 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/expm1/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/expm1/implement.js new file mode 100644 index 0000000000..7fb528a3eb --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/expm1/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../math/expm1/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/expm1/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/expm1/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/expm1/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/expm1/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/expm1/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/expm1/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/expm1/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/expm1/shim.js new file mode 100644 index 0000000000..cebb063c6c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/expm1/shim.js @@ -0,0 +1,9 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/fround/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/fround/implement.js new file mode 100644 index 0000000000..c7b9ad4a94 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/fround/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../math/fround/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/fround/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/fround/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/fround/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/fround/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/fround/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/fround/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/fround/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/fround/shim.js new file mode 100644 index 0000000000..0525bfab97 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/fround/shim.js @@ -0,0 +1,9 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/hypot/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/hypot/implement.js new file mode 100644 index 0000000000..29c87fe93e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/hypot/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../math/hypot/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/hypot/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/hypot/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/hypot/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/hypot/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/hypot/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/hypot/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/hypot/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/hypot/shim.js new file mode 100644 index 0000000000..89e4657c1e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/hypot/shim.js @@ -0,0 +1,11 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/imul/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/imul/implement.js new file mode 100644 index 0000000000..b633a72b5f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/imul/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../math/imul/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/imul/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/imul/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/imul/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/imul/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/imul/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/imul/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/imul/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/imul/shim.js new file mode 100644 index 0000000000..a8d4e9060e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/imul/shim.js @@ -0,0 +1,9 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log10/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log10/implement.js new file mode 100644 index 0000000000..afc9dab173 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log10/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../math/log10/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log10/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log10/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log10/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log10/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log10/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log10/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log10/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log10/shim.js new file mode 100644 index 0000000000..d0696287f9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log10/shim.js @@ -0,0 +1,10 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log1p/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log1p/implement.js new file mode 100644 index 0000000000..baa2ab159f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log1p/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../math/log1p/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log1p/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log1p/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log1p/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log1p/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log1p/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log1p/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log1p/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log1p/shim.js new file mode 100644 index 0000000000..66b400ccde --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log1p/shim.js @@ -0,0 +1,10 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log2/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log2/implement.js new file mode 100644 index 0000000000..43bdf43601 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log2/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../math/log2/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log2/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log2/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log2/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log2/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log2/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log2/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log2/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log2/shim.js new file mode 100644 index 0000000000..f587e3393a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/log2/shim.js @@ -0,0 +1,10 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sign/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sign/implement.js new file mode 100644 index 0000000000..409beb1f58 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sign/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../math/sign/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sign/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sign/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sign/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sign/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sign/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sign/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sign/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sign/shim.js new file mode 100644 index 0000000000..071ea07e17 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sign/shim.js @@ -0,0 +1,11 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sinh/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sinh/implement.js new file mode 100644 index 0000000000..ca4b5e7b5e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sinh/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../math/sinh/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sinh/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sinh/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sinh/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sinh/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sinh/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sinh/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sinh/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sinh/shim.js new file mode 100644 index 0000000000..f168a7f716 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/sinh/shim.js @@ -0,0 +1,13 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/tanh/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/tanh/implement.js new file mode 100644 index 0000000000..8503711f45 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/tanh/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../math/tanh/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/tanh/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/tanh/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/tanh/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/tanh/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/tanh/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/tanh/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/tanh/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/tanh/shim.js new file mode 100644 index 0000000000..5da3c08751 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/tanh/shim.js @@ -0,0 +1,11 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/trunc/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/trunc/implement.js new file mode 100644 index 0000000000..0d3374fc93 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/trunc/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../math/trunc/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/trunc/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/trunc/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/trunc/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/trunc/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/trunc/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/trunc/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/trunc/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/trunc/shim.js new file mode 100644 index 0000000000..b80e868303 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/math/trunc/shim.js @@ -0,0 +1,16 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/#/pad.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/#/pad.js new file mode 100644 index 0000000000..cc8aa5e402 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/#/pad.js @@ -0,0 +1,7 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/epsilon/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/epsilon/implement.js new file mode 100644 index 0000000000..d387b7c1e5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/epsilon/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../number/epsilon/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/epsilon/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/epsilon/index.js new file mode 100644 index 0000000000..d20e5c3bc4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/epsilon/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t, "number"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/epsilon/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/epsilon/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/epsilon/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-finite/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-finite/implement.js new file mode 100644 index 0000000000..5300de627b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-finite/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../number/is-finite/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-finite/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-finite/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-finite/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-finite/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-finite/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-finite/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-finite/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-finite/shim.js new file mode 100644 index 0000000000..8fa004fd44 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-finite/shim.js @@ -0,0 +1,8 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-integer/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-integer/implement.js new file mode 100644 index 0000000000..2290b25077 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-integer/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../number/is-integer/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-integer/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-integer/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-integer/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-integer/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-integer/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-integer/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-integer/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-integer/shim.js new file mode 100644 index 0000000000..e367990bb3 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-integer/shim.js @@ -0,0 +1,9 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-nan/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-nan/implement.js new file mode 100644 index 0000000000..10fa084edb --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-nan/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../number/is-nan/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-nan/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-nan/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-nan/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-nan/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-nan/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-nan/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-nan/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-nan/shim.js new file mode 100644 index 0000000000..31810474e9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-nan/shim.js @@ -0,0 +1,7 @@ +"use strict"; + +module.exports = function (t, a) { + a(t(2), false, "Number"); + a(t({}), false, "Not numeric"); + a(t(NaN), true, "NaN"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-natural.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-natural.js new file mode 100644 index 0000000000..8fe4dcc464 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-natural.js @@ -0,0 +1,10 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-number.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-number.js new file mode 100644 index 0000000000..9cd670c1bd --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-number.js @@ -0,0 +1,13 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-safe-integer/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-safe-integer/implement.js new file mode 100644 index 0000000000..96f634b16e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-safe-integer/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../number/is-safe-integer/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-safe-integer/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-safe-integer/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-safe-integer/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-safe-integer/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-safe-integer/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-safe-integer/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-safe-integer/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-safe-integer/shim.js new file mode 100644 index 0000000000..a4ea6913c7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/is-safe-integer/shim.js @@ -0,0 +1,11 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/max-safe-integer/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/max-safe-integer/implement.js new file mode 100644 index 0000000000..1928f3410f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/max-safe-integer/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../number/max-safe-integer/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/max-safe-integer/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/max-safe-integer/index.js new file mode 100644 index 0000000000..d20e5c3bc4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/max-safe-integer/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t, "number"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/max-safe-integer/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/max-safe-integer/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/max-safe-integer/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/min-safe-integer/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/min-safe-integer/implement.js new file mode 100644 index 0000000000..f8b309a8c7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/min-safe-integer/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../number/min-safe-integer/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/min-safe-integer/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/min-safe-integer/index.js new file mode 100644 index 0000000000..d20e5c3bc4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/min-safe-integer/index.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t, "number"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/min-safe-integer/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/min-safe-integer/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/min-safe-integer/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/to-integer.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/to-integer.js new file mode 100644 index 0000000000..b7b975f568 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/to-integer.js @@ -0,0 +1,10 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/to-pos-integer.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/to-pos-integer.js new file mode 100644 index 0000000000..27c7cdfae8 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/to-pos-integer.js @@ -0,0 +1,10 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/to-uint32.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/to-uint32.js new file mode 100644 index 0000000000..7eea42f5f3 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/number/to-uint32.js @@ -0,0 +1,8 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/_iterate.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/_iterate.js new file mode 100644 index 0000000000..d7728f4297 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/_iterate.js @@ -0,0 +1,30 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/assign/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/assign/implement.js new file mode 100644 index 0000000000..c3e0396bae --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/assign/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../object/assign/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/assign/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/assign/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/assign/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/assign/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/assign/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/assign/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/assign/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/assign/shim.js new file mode 100644 index 0000000000..360749076e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/assign/shim.js @@ -0,0 +1,11 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/clear.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/clear.js new file mode 100644 index 0000000000..5735e7967c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/clear.js @@ -0,0 +1,13 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/compact.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/compact.js new file mode 100644 index 0000000000..353f6f3277 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/compact.js @@ -0,0 +1,20 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/compare.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/compare.js new file mode 100644 index 0000000000..23cc511607 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/compare.js @@ -0,0 +1,13 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/copy-deep.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/copy-deep.js new file mode 100644 index 0000000000..2dcbc3ab9c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/copy-deep.js @@ -0,0 +1,31 @@ +"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]); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/copy.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/copy.js new file mode 100644 index 0000000000..a5e2c3480a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/copy.js @@ -0,0 +1,30 @@ +"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 }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/count.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/count.js new file mode 100644 index 0000000000..ec1c504502 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/count.js @@ -0,0 +1,11 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/create.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/create.js new file mode 100644 index 0000000000..c9f3029f68 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/create.js @@ -0,0 +1,22 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/ensure-natural-number-value.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/ensure-natural-number-value.js new file mode 100644 index 0000000000..9aaae370ad --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/ensure-natural-number-value.js @@ -0,0 +1,24 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/ensure-natural-number.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/ensure-natural-number.js new file mode 100644 index 0000000000..ff0e836af4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/ensure-natural-number.js @@ -0,0 +1,22 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/ensure-promise.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/ensure-promise.js new file mode 100644 index 0000000000..1af15bab75 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/ensure-promise.js @@ -0,0 +1,32 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/eq.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/eq.js new file mode 100644 index 0000000000..8cad90aebf --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/eq.js @@ -0,0 +1,12 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/every.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/every.js new file mode 100644 index 0000000000..7e837d22e2 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/every.js @@ -0,0 +1,21 @@ +"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"); + +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/filter.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/filter.js new file mode 100644 index 0000000000..c714d23734 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/filter.js @@ -0,0 +1,8 @@ +"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 }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/find-key.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/find-key.js new file mode 100644 index 0000000000..d4a578ff3b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/find-key.js @@ -0,0 +1,23 @@ +"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"); + +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/find.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/find.js new file mode 100644 index 0000000000..eea5124709 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/find.js @@ -0,0 +1,23 @@ +"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"); + +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/first-key.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/first-key.js new file mode 100644 index 0000000000..6010ba11c5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/first-key.js @@ -0,0 +1,13 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/flatten.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/flatten.js new file mode 100644 index 0000000000..277a97cfdb --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/flatten.js @@ -0,0 +1,6 @@ +"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 }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/for-each.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/for-each.js new file mode 100644 index 0000000000..97c6399a88 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/for-each.js @@ -0,0 +1,10 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/get-property-names.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/get-property-names.js new file mode 100644 index 0000000000..a1d6377fe6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/get-property-names.js @@ -0,0 +1,18 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-array-like.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-array-like.js new file mode 100644 index 0000000000..c50ef1d127 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-array-like.js @@ -0,0 +1,16 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-callable.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-callable.js new file mode 100644 index 0000000000..415023e397 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-callable.js @@ -0,0 +1,8 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-copy-deep.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-copy-deep.js new file mode 100644 index 0000000000..9c8ad92572 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-copy-deep.js @@ -0,0 +1,46 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-copy.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-copy.js new file mode 100644 index 0000000000..6052bb0519 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-copy.js @@ -0,0 +1,18 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-empty.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-empty.js new file mode 100644 index 0000000000..067b1621f0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-empty.js @@ -0,0 +1,6 @@ +"use strict"; + +module.exports = function (t, a) { + a(t({}), true, "Empty"); + a(t({ 1: 1 }), false, "Not empty"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-number-value.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-number-value.js new file mode 100644 index 0000000000..cb0896d632 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-number-value.js @@ -0,0 +1,15 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-object.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-object.js new file mode 100644 index 0000000000..0b83599784 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-object.js @@ -0,0 +1,13 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-plain-object.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-plain-object.js new file mode 100644 index 0000000000..7324438d9b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-plain-object.js @@ -0,0 +1,18 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-promise.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-promise.js new file mode 100644 index 0000000000..18bf934d80 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-promise.js @@ -0,0 +1,17 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-value.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-value.js new file mode 100644 index 0000000000..c97722d0a8 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is-value.js @@ -0,0 +1,14 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is.js new file mode 100644 index 0000000000..c94ed41c78 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/is.js @@ -0,0 +1,12 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/key-of.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/key-of.js new file mode 100644 index 0000000000..bf10ca03bf --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/key-of.js @@ -0,0 +1,12 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/keys/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/keys/implement.js new file mode 100644 index 0000000000..d364abed9b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/keys/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../object/keys/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/keys/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/keys/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/keys/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/keys/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/keys/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/keys/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/keys/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/keys/shim.js new file mode 100644 index 0000000000..47e6547ed4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/keys/shim.js @@ -0,0 +1,12 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/map-keys.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/map-keys.js new file mode 100644 index 0000000000..4598db21ac --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/map-keys.js @@ -0,0 +1,7 @@ +"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 }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/map.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/map.js new file mode 100644 index 0000000000..78c1ed346d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/map.js @@ -0,0 +1,9 @@ +"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" }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/mixin-prototypes.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/mixin-prototypes.js new file mode 100644 index 0000000000..8745d9779e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/mixin-prototypes.js @@ -0,0 +1,73 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/mixin.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/mixin.js new file mode 100644 index 0000000000..d1905c17cf --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/mixin.js @@ -0,0 +1,75 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/normalize-options.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/normalize-options.js new file mode 100644 index 0000000000..028864fec9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/normalize-options.js @@ -0,0 +1,46 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/primitive-set.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/primitive-set.js new file mode 100644 index 0000000000..b5083d5ccb --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/primitive-set.js @@ -0,0 +1,15 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/safe-traverse.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/safe-traverse.js new file mode 100644 index 0000000000..acf49c0ed8 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/safe-traverse.js @@ -0,0 +1,15 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/serialize.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/serialize.js new file mode 100644 index 0000000000..f0ca800cc4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/serialize.js @@ -0,0 +1,45 @@ +"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" + ); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/set-prototype-of/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/set-prototype-of/implement.js new file mode 100644 index 0000000000..5b8fb9e99f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/set-prototype-of/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +var create = require("../../../object/create") + , isImplemented = require("../../../object/set-prototype-of/is-implemented"); + +module.exports = function (a) { + a(isImplemented(create), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/set-prototype-of/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/set-prototype-of/index.js new file mode 100644 index 0000000000..23619b0797 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/set-prototype-of/index.js @@ -0,0 +1,27 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/set-prototype-of/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/set-prototype-of/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/set-prototype-of/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/set-prototype-of/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/set-prototype-of/shim.js new file mode 100644 index 0000000000..23619b0797 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/set-prototype-of/shim.js @@ -0,0 +1,27 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/some.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/some.js new file mode 100644 index 0000000000..97e5d772d1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/some.js @@ -0,0 +1,23 @@ +"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"); + +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/to-array.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/to-array.js new file mode 100644 index 0000000000..cd11a05f2f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/to-array.js @@ -0,0 +1,15 @@ +"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"); + }); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/unserialize.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/unserialize.js new file mode 100644 index 0000000000..5af3c77fe0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/unserialize.js @@ -0,0 +1,41 @@ +"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" + ); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/valid-callable.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/valid-callable.js new file mode 100644 index 0000000000..fb7310c849 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/valid-callable.js @@ -0,0 +1,9 @@ +"use strict"; + +module.exports = function (t, a) { + var f = function () {}; + a(t(f), f, "Function"); + a.throws(function () { + t({}); + }, "Not Function"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/valid-object.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/valid-object.js new file mode 100644 index 0000000000..b33be9779a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/valid-object.js @@ -0,0 +1,25 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/valid-value.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/valid-value.js new file mode 100644 index 0000000000..394f89f774 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/valid-value.js @@ -0,0 +1,19 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/validate-array-like-object.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/validate-array-like-object.js new file mode 100644 index 0000000000..b10ec69b58 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/validate-array-like-object.js @@ -0,0 +1,29 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/validate-array-like.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/validate-array-like.js new file mode 100644 index 0000000000..6da6b191ea --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/validate-array-like.js @@ -0,0 +1,27 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/validate-stringifiable-value.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/validate-stringifiable-value.js new file mode 100644 index 0000000000..8283814ab1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/validate-stringifiable-value.js @@ -0,0 +1,22 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/validate-stringifiable.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/validate-stringifiable.js new file mode 100644 index 0000000000..e75a4157bf --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/object/validate-stringifiable.js @@ -0,0 +1,18 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/index.js new file mode 100644 index 0000000000..7ab9ab8af5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/index.js @@ -0,0 +1,15 @@ +/* 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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/is-sticky.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/is-sticky.js new file mode 100644 index 0000000000..e65740e76d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/is-sticky.js @@ -0,0 +1,13 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/is-unicode.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/is-unicode.js new file mode 100644 index 0000000000..86217aa042 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/is-unicode.js @@ -0,0 +1,13 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/match/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/match/implement.js new file mode 100644 index 0000000000..633d9bb6b0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/match/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../reg-exp/#/match/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/match/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/match/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/match/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/match/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/match/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/match/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/match/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/match/shim.js new file mode 100644 index 0000000000..fce094f61b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/match/shim.js @@ -0,0 +1,8 @@ +"use strict"; + +module.exports = function (t, a) { + var result = ["foo"]; + result.index = 0; + result.input = "foobar"; + a.deep(t.call(/foo/, "foobar"), result); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/replace/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/replace/implement.js new file mode 100644 index 0000000000..7da5e66948 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/replace/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../reg-exp/#/replace/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/replace/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/replace/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/replace/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/replace/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/replace/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/replace/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/replace/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/replace/shim.js new file mode 100644 index 0000000000..4178065db1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/replace/shim.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(t.call(/foo/, "foobar", "mar"), "marbar"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/search/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/search/implement.js new file mode 100644 index 0000000000..ded73e27d6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/search/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../reg-exp/#/search/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/search/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/search/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/search/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/search/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/search/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/search/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/search/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/search/shim.js new file mode 100644 index 0000000000..779b132747 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/search/shim.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(t.call(/foo/, "barfoo"), 3); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/split/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/split/implement.js new file mode 100644 index 0000000000..4ef532bd73 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/split/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../reg-exp/#/split/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/split/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/split/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/split/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/split/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/split/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/split/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/split/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/split/shim.js new file mode 100644 index 0000000000..a01250e9a6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/split/shim.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a.deep(t.call(/\|/, "bar|foo"), ["bar", "foo"]); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/sticky/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/sticky/implement.js new file mode 100644 index 0000000000..d7e59bf99a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/sticky/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../reg-exp/#/sticky/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/sticky/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/sticky/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/sticky/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/unicode/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/unicode/implement.js new file mode 100644 index 0000000000..9cb2b3792c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/unicode/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../reg-exp/#/unicode/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/unicode/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/unicode/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/#/unicode/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/escape.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/escape.js new file mode 100644 index 0000000000..9478f52342 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/escape.js @@ -0,0 +1,6 @@ +"use strict"; + +module.exports = function (t, a) { + var str = "(?:^te|er)s{2}t\\[raz]+$"; + a(RegExp("^" + t(str) + "$").test(str), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/is-reg-exp.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/is-reg-exp.js new file mode 100644 index 0000000000..7727eabaf5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/is-reg-exp.js @@ -0,0 +1,12 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/valid-reg-exp.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/valid-reg-exp.js new file mode 100644 index 0000000000..2f99441b02 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/reg-exp/valid-reg-exp.js @@ -0,0 +1,19 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/safe-to-string.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/safe-to-string.js new file mode 100644 index 0000000000..84b7fd5279 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/safe-to-string.js @@ -0,0 +1,21 @@ +/* global Symbol */ + +"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)), ""); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/@@iterator/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/@@iterator/implement.js new file mode 100644 index 0000000000..c984fb2684 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/@@iterator/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../string/#/@@iterator/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/@@iterator/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/@@iterator/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/@@iterator/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/@@iterator/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/@@iterator/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/@@iterator/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/@@iterator/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/@@iterator/shim.js new file mode 100644 index 0000000000..467cdc355d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/@@iterator/shim.js @@ -0,0 +1,9 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/at.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/at.js new file mode 100644 index 0000000000..a614f938f6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/at.js @@ -0,0 +1,132 @@ +/* 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" + ); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/camel-to-hyphen.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/camel-to-hyphen.js new file mode 100644 index 0000000000..bbf9ae48a9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/camel-to-hyphen.js @@ -0,0 +1,7 @@ +"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--"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/capitalize.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/capitalize.js new file mode 100644 index 0000000000..884ae9cbb8 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/capitalize.js @@ -0,0 +1,9 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/case-insensitive-compare.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/case-insensitive-compare.js new file mode 100644 index 0000000000..8117f92058 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/case-insensitive-compare.js @@ -0,0 +1,7 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/code-point-at/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/code-point-at/implement.js new file mode 100644 index 0000000000..f966c53543 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/code-point-at/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +var isImplemented = + require("../../../../string/#/code-point-at/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/code-point-at/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/code-point-at/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/code-point-at/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/code-point-at/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/code-point-at/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/code-point-at/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/code-point-at/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/code-point-at/shim.js new file mode 100644 index 0000000000..40d62766e7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/code-point-at/shim.js @@ -0,0 +1,119 @@ +/* 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 + ); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/contains/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/contains/implement.js new file mode 100644 index 0000000000..297a832f9c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/contains/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../string/#/contains/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/contains/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/contains/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/contains/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/contains/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/contains/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/contains/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/contains/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/contains/shim.js new file mode 100644 index 0000000000..0a73671d45 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/contains/shim.js @@ -0,0 +1,14 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/count.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/count.js new file mode 100644 index 0000000000..d259c9012d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/count.js @@ -0,0 +1,14 @@ +"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); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/ends-with/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/ends-with/implement.js new file mode 100644 index 0000000000..5a2ca3cc66 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/ends-with/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../string/#/ends-with/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/ends-with/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/ends-with/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/ends-with/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/ends-with/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/ends-with/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/ends-with/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/ends-with/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/ends-with/shim.js new file mode 100644 index 0000000000..7539883315 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/ends-with/shim.js @@ -0,0 +1,16 @@ +// 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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/hyphen-to-camel.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/hyphen-to-camel.js new file mode 100644 index 0000000000..89c8161c9e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/hyphen-to-camel.js @@ -0,0 +1,7 @@ +"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--"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/indent.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/indent.js new file mode 100644 index 0000000000..6b1dd895d2 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/indent.js @@ -0,0 +1,9 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/last.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/last.js new file mode 100644 index 0000000000..fea798d6a7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/last.js @@ -0,0 +1,6 @@ +"use strict"; + +module.exports = function (t, a) { + a(t.call(""), null, "Null"); + a(t.call("abcdef"), "f", "String"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/normalize/_data.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/normalize/_data.js new file mode 100644 index 0000000000..9631211944 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/normalize/_data.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t[0], "object"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/normalize/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/normalize/implement.js new file mode 100644 index 0000000000..b053aa892a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/normalize/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../string/#/normalize/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/normalize/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/normalize/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/normalize/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/normalize/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/normalize/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/normalize/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/normalize/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/normalize/shim.js new file mode 100644 index 0000000000..0c80aa4098 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/normalize/shim.js @@ -0,0 +1,13 @@ +// 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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/pad.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/pad.js new file mode 100644 index 0000000000..e573453fb0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/pad.js @@ -0,0 +1,24 @@ +"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"); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/plain-replace-all.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/plain-replace-all.js new file mode 100644 index 0000000000..e5f801c62f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/plain-replace-all.js @@ -0,0 +1,11 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/plain-replace.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/plain-replace.js new file mode 100644 index 0000000000..9f6c2beefd --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/plain-replace.js @@ -0,0 +1,7 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/repeat/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/repeat/implement.js new file mode 100644 index 0000000000..2709628959 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/repeat/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../string/#/repeat/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/repeat/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/repeat/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/repeat/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/repeat/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/repeat/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/repeat/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/repeat/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/repeat/shim.js new file mode 100644 index 0000000000..4d328390a9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/repeat/shim.js @@ -0,0 +1,11 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/starts-with/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/starts-with/implement.js new file mode 100644 index 0000000000..d1f1ce2529 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/starts-with/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../../string/#/starts-with/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/starts-with/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/starts-with/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/starts-with/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/starts-with/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/starts-with/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/starts-with/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/starts-with/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/starts-with/shim.js new file mode 100644 index 0000000000..4b5e4e402a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/starts-with/shim.js @@ -0,0 +1,14 @@ +// 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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/uncapitalize.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/uncapitalize.js new file mode 100644 index 0000000000..cddd847ce9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/#/uncapitalize.js @@ -0,0 +1,10 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/format-method.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/format-method.js new file mode 100644 index 0000000000..69e93de637 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/format-method.js @@ -0,0 +1,12 @@ +"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 "); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/from-code-point/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/from-code-point/implement.js new file mode 100644 index 0000000000..31ed7b5bde --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/from-code-point/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../string/from-code-point/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/from-code-point/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/from-code-point/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/from-code-point/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/from-code-point/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/from-code-point/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/from-code-point/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/from-code-point/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/from-code-point/shim.js new file mode 100644 index 0000000000..023931f131 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/from-code-point/shim.js @@ -0,0 +1,73 @@ +// 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 +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/is-string.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/is-string.js new file mode 100644 index 0000000000..0e831221d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/is-string.js @@ -0,0 +1,11 @@ +"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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/random-uniq.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/random-uniq.js new file mode 100644 index 0000000000..3b6d889ad3 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/random-uniq.js @@ -0,0 +1,14 @@ +"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())); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/raw/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/raw/implement.js new file mode 100644 index 0000000000..25b624e8e9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/raw/implement.js @@ -0,0 +1,7 @@ +"use strict"; + +var isImplemented = require("../../../string/raw/is-implemented"); + +module.exports = function (a) { + a(isImplemented(), true); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/raw/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/raw/index.js new file mode 100644 index 0000000000..10bb8f65d7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/raw/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./shim"); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/raw/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/raw/is-implemented.js new file mode 100644 index 0000000000..5003e7e937 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/raw/is-implemented.js @@ -0,0 +1,5 @@ +"use strict"; + +module.exports = function (t, a) { + a(typeof t(), "boolean"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/raw/shim.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/raw/shim.js new file mode 100644 index 0000000000..17a11ac52f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es5-ext/test/string/raw/shim.js @@ -0,0 +1,15 @@ +// 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}"), ""); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es6-iterator b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es6-iterator new file mode 120000 index 0000000000..78b4176773 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es6-iterator @@ -0,0 +1 @@ +../../../es6-iterator/2.0.1/node_modules/es6-iterator \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es6-symbol b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es6-symbol new file mode 120000 index 0000000000..67f7b91caa --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es5-ext/0.10.24/node_modules/es6-symbol @@ -0,0 +1 @@ +../../../es6-symbol/3.1.1/node_modules/es6-symbol \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/d b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/d new file mode 120000 index 0000000000..6f2fa721a9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/d @@ -0,0 +1 @@ +../../../d/1.0.0/node_modules/d \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es5-ext b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es5-ext new file mode 120000 index 0000000000..d0db4881f0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es5-ext @@ -0,0 +1 @@ +../../../es5-ext/0.10.24/node_modules/es5-ext \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/#/chain.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/#/chain.js new file mode 100644 index 0000000000..6dc1543b35 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/#/chain.js @@ -0,0 +1,40 @@ +'use strict'; + +var setPrototypeOf = require('es5-ext/object/set-prototype-of') + , d = require('d') + , Iterator = require('../') + , validIterable = require('../valid-iterable') + + , push = Array.prototype.push + , defineProperties = Object.defineProperties + , IteratorChain; + +IteratorChain = function (iterators) { + defineProperties(this, { + __iterators__: d('', iterators), + __current__: d('w', iterators.shift()) + }); +}; +if (setPrototypeOf) setPrototypeOf(IteratorChain, Iterator); + +IteratorChain.prototype = Object.create(Iterator.prototype, { + constructor: d(IteratorChain), + next: d(function () { + var result; + if (!this.__current__) return { done: true, value: undefined }; + result = this.__current__.next(); + while (result.done) { + this.__current__ = this.__iterators__.shift(); + if (!this.__current__) return { done: true, value: undefined }; + result = this.__current__.next(); + } + return result; + }) +}); + +module.exports = function () { + var iterators = [this]; + push.apply(iterators, arguments); + iterators.forEach(validIterable); + return new IteratorChain(iterators); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/.lint b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/.lint new file mode 100644 index 0000000000..cf54d81568 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/.lint @@ -0,0 +1,11 @@ +@root + +module + +tabs +indent 2 +maxlen 100 + +ass +nomen +plusplus diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/.npmignore b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/.npmignore new file mode 100644 index 0000000000..155e41f691 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/.npmignore @@ -0,0 +1,4 @@ +.DS_Store +/node_modules +/npm-debug.log +/.lintcache diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/.travis.yml b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/.travis.yml new file mode 100644 index 0000000000..f1a40dbf67 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/.travis.yml @@ -0,0 +1,13 @@ +sudo: false # http://docs.travis-ci.com/user/workers/container-based-infrastructure/ +language: node_js +node_js: + - 0.12 + - 4 + - 6 + - 7 + +notifications: + email: + - medikoo+es6-iterator@medikoo.com + +script: "npm test && npm run lint" diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/CHANGES b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/CHANGES new file mode 100644 index 0000000000..05fec6e7f6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/CHANGES @@ -0,0 +1,38 @@ +v2.0.1 -- 2017.03.15 +* Update dependencies + +v2.0.0 -- 2015.10.02 +* Use es6-symbol at v3 + +v1.0.0 -- 2015.06.23 +* Implement support for arguments object +* Drop support for v0.8 node ('^' in package.json dependencies) + +v0.1.3 -- 2015.02.02 +* Update dependencies +* Fix spelling of LICENSE + +v0.1.2 -- 2014.11.19 +* Optimise internal `_next` to not verify internal's list length at all times + (#2 thanks @RReverser) +* Fix documentation examples +* Configure lint scripts + +v0.1.1 -- 2014.04.29 +* Fix es6-symbol dependency version + +v0.1.0 -- 2014.04.29 +* Assure strictly npm hosted dependencies +* Remove sparse arrays dedicated handling (as per spec) +* Add: isIterable, validIterable and chain (method) +* Remove toArray, it's addressed by Array.from (polyfil can be found in es5-ext/array/from) +* Add break possiblity to 'forOf' via 'doBreak' function argument +* Provide dedicated iterator for array-likes (ArrayIterator) and for strings (StringIterator) +* Provide @@toStringTag symbol +* When available rely on @@iterator symbol +* Remove 32bit integer maximum list length restriction +* Improve Iterator internals +* Update to use latest version of dependencies + +v0.0.0 -- 2013.10.12 +Initial (dev version) \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/LICENSE b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/LICENSE new file mode 100644 index 0000000000..5d87e598b8 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (C) 2013-2015 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. diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/README.md b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/README.md new file mode 100644 index 0000000000..288373da7a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/README.md @@ -0,0 +1,148 @@ +# es6-iterator +## ECMAScript 6 Iterator interface + +### Installation + + $ npm install es6-iterator + +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/) + +## API + +### Constructors + +#### Iterator(list) _(es6-iterator)_ + +Abstract Iterator interface. Meant for extensions and not to be used on its own. + +Accepts any _list_ object (technically object with numeric _length_ property). + +_Mind it doesn't iterate strings properly, for that use dedicated [StringIterator](#string-iterator)_ + +```javascript +var Iterator = require('es6-iterator') +var iterator = new Iterator([1, 2, 3]); + +iterator.next(); // { value: 1, done: false } +iterator.next(); // { value: 2, done: false } +iterator.next(); // { value: 3, done: false } +iterator.next(); // { value: undefined, done: true } +``` + + +#### ArrayIterator(arrayLike[, kind]) _(es6-iterator/array)_ + +Dedicated for arrays and array-likes. Supports three iteration kinds: +* __value__ _(default)_ - Iterates values +* __key__ - Iterates indexes +* __key+value__ - Iterates keys and indexes, each iteration value is in _[key, value]_ form. + + +```javascript +var ArrayIterator = require('es6-iterator/array') +var iterator = new ArrayIterator([1, 2, 3], 'key+value'); + +iterator.next(); // { value: [0, 1], done: false } +iterator.next(); // { value: [1, 2], done: false } +iterator.next(); // { value: [2, 3], done: false } +iterator.next(); // { value: undefined, done: true } +``` + +May also be used for _arguments_ objects: + +```javascript +(function () { + var iterator = new ArrayIterator(arguments); + + iterator.next(); // { value: 1, done: false } + iterator.next(); // { value: 2, done: false } + iterator.next(); // { value: 3, done: false } + iterator.next(); // { value: undefined, done: true } +}(1, 2, 3)); +``` + +#### StringIterator(str) _(es6-iterator/string)_ + +Assures proper iteration over unicode symbols. +See: http://mathiasbynens.be/notes/javascript-unicode + +```javascript +var StringIterator = require('es6-iterator/string'); +var iterator = new StringIterator('f🙈o🙉o🙊'); + +iterator.next(); // { value: 'f', done: false } +iterator.next(); // { value: '🙈', done: false } +iterator.next(); // { value: 'o', done: false } +iterator.next(); // { value: '🙉', done: false } +iterator.next(); // { value: 'o', done: false } +iterator.next(); // { value: '🙊', done: false } +iterator.next(); // { value: undefined, done: true } +``` + +### Function utilities + +#### forOf(iterable, callback[, thisArg]) _(es6-iterator/for-of)_ + +Polyfill for ECMAScript 6 [`for...of`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of) statement. + +``` +var forOf = require('es6-iterator/for-of'); +var result = []; + +forOf('🙈🙉🙊', function (monkey) { result.push(monkey); }); +console.log(result); // ['🙈', '🙉', '🙊']; +``` + +Optionally you can break iteration at any point: + +```javascript +var result = []; + +forOf([1,2,3,4]', function (val, doBreak) { + result.push(monkey); + if (val >= 3) doBreak(); +}); +console.log(result); // [1, 2, 3]; +``` + +#### get(obj) _(es6-iterator/get)_ + +Return iterator for any iterable object. + +```javascript +var getIterator = require('es6-iterator/get'); +var iterator = get([1,2,3]); + +iterator.next(); // { value: 1, done: false } +iterator.next(); // { value: 2, done: false } +iterator.next(); // { value: 3, done: false } +iterator.next(); // { value: undefined, done: true } +``` + +#### isIterable(obj) _(es6-iterator/is-iterable)_ + +Whether _obj_ is iterable + +```javascript +var isIterable = require('es6-iterator/is-iterable'); + +isIterable(null); // false +isIterable(true); // false +isIterable('str'); // true +isIterable(['a', 'r', 'r']); // true +isIterable(new ArrayIterator([])); // true +``` + +#### validIterable(obj) _(es6-iterator/valid-iterable)_ + +If _obj_ is an iterable it is returned. Otherwise _TypeError_ is thrown. + +### Method extensions + +#### iterator.chain(iterator1[, …iteratorn]) _(es6-iterator/#/chain)_ + +Chain multiple iterators into one. + +### Tests [![Build Status](https://travis-ci.org/medikoo/es6-iterator.png)](https://travis-ci.org/medikoo/es6-iterator) + + $ npm test diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/array.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/array.js new file mode 100644 index 0000000000..885ad0a4fd --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/array.js @@ -0,0 +1,30 @@ +'use strict'; + +var setPrototypeOf = require('es5-ext/object/set-prototype-of') + , contains = require('es5-ext/string/#/contains') + , d = require('d') + , Iterator = require('./') + + , defineProperty = Object.defineProperty + , ArrayIterator; + +ArrayIterator = module.exports = function (arr, kind) { + if (!(this instanceof ArrayIterator)) return new ArrayIterator(arr, kind); + Iterator.call(this, arr); + if (!kind) kind = 'value'; + else if (contains.call(kind, 'key+value')) kind = 'key+value'; + else if (contains.call(kind, 'key')) kind = 'key'; + else kind = 'value'; + defineProperty(this, '__kind__', d('', kind)); +}; +if (setPrototypeOf) setPrototypeOf(ArrayIterator, Iterator); + +ArrayIterator.prototype = Object.create(Iterator.prototype, { + constructor: d(ArrayIterator), + _resolve: d(function (i) { + if (this.__kind__ === 'value') return this.__list__[i]; + if (this.__kind__ === 'key+value') return [i, this.__list__[i]]; + return i; + }), + toString: d(function () { return '[object Array Iterator]'; }) +}); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/for-of.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/for-of.js new file mode 100644 index 0000000000..c7a28411d5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/for-of.js @@ -0,0 +1,46 @@ +'use strict'; + +var isArguments = require('es5-ext/function/is-arguments') + , callable = require('es5-ext/object/valid-callable') + , isString = require('es5-ext/string/is-string') + , get = require('./get') + + , isArray = Array.isArray, call = Function.prototype.call + , some = Array.prototype.some; + +module.exports = function (iterable, cb/*, thisArg*/) { + var mode, thisArg = arguments[2], result, doBreak, broken, i, l, char, code; + if (isArray(iterable) || isArguments(iterable)) mode = 'array'; + else if (isString(iterable)) mode = 'string'; + else iterable = get(iterable); + + callable(cb); + doBreak = function () { broken = true; }; + if (mode === 'array') { + some.call(iterable, function (value) { + call.call(cb, thisArg, value, doBreak); + if (broken) return true; + }); + return; + } + if (mode === 'string') { + l = iterable.length; + for (i = 0; i < l; ++i) { + char = iterable[i]; + if ((i + 1) < l) { + code = char.charCodeAt(0); + if ((code >= 0xD800) && (code <= 0xDBFF)) char += iterable[++i]; + } + call.call(cb, thisArg, char, doBreak); + if (broken) break; + } + return; + } + result = iterable.next(); + + while (!result.done) { + call.call(cb, thisArg, result.value, doBreak); + if (broken) return; + result = iterable.next(); + } +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/get.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/get.js new file mode 100644 index 0000000000..7c7e052b19 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/get.js @@ -0,0 +1,15 @@ +'use strict'; + +var isArguments = require('es5-ext/function/is-arguments') + , isString = require('es5-ext/string/is-string') + , ArrayIterator = require('./array') + , StringIterator = require('./string') + , iterable = require('./valid-iterable') + , iteratorSymbol = require('es6-symbol').iterator; + +module.exports = function (obj) { + if (typeof iterable(obj)[iteratorSymbol] === 'function') return obj[iteratorSymbol](); + if (isArguments(obj)) return new ArrayIterator(obj); + if (isString(obj)) return new StringIterator(obj); + return new ArrayIterator(obj); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/index.js new file mode 100644 index 0000000000..10fd08958f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/index.js @@ -0,0 +1,90 @@ +'use strict'; + +var clear = require('es5-ext/array/#/clear') + , assign = require('es5-ext/object/assign') + , callable = require('es5-ext/object/valid-callable') + , value = require('es5-ext/object/valid-value') + , d = require('d') + , autoBind = require('d/auto-bind') + , Symbol = require('es6-symbol') + + , defineProperty = Object.defineProperty + , defineProperties = Object.defineProperties + , Iterator; + +module.exports = Iterator = function (list, context) { + if (!(this instanceof Iterator)) return new Iterator(list, context); + defineProperties(this, { + __list__: d('w', value(list)), + __context__: d('w', context), + __nextIndex__: d('w', 0) + }); + if (!context) return; + callable(context.on); + context.on('_add', this._onAdd); + context.on('_delete', this._onDelete); + context.on('_clear', this._onClear); +}; + +defineProperties(Iterator.prototype, assign({ + constructor: d(Iterator), + _next: d(function () { + var i; + if (!this.__list__) return; + if (this.__redo__) { + i = this.__redo__.shift(); + if (i !== undefined) return i; + } + if (this.__nextIndex__ < this.__list__.length) return this.__nextIndex__++; + this._unBind(); + }), + next: d(function () { return this._createResult(this._next()); }), + _createResult: d(function (i) { + if (i === undefined) return { done: true, value: undefined }; + return { done: false, value: this._resolve(i) }; + }), + _resolve: d(function (i) { return this.__list__[i]; }), + _unBind: d(function () { + this.__list__ = null; + delete this.__redo__; + if (!this.__context__) return; + this.__context__.off('_add', this._onAdd); + this.__context__.off('_delete', this._onDelete); + this.__context__.off('_clear', this._onClear); + this.__context__ = null; + }), + toString: d(function () { return '[object Iterator]'; }) +}, autoBind({ + _onAdd: d(function (index) { + if (index >= this.__nextIndex__) return; + ++this.__nextIndex__; + if (!this.__redo__) { + defineProperty(this, '__redo__', d('c', [index])); + return; + } + this.__redo__.forEach(function (redo, i) { + if (redo >= index) this.__redo__[i] = ++redo; + }, this); + this.__redo__.push(index); + }), + _onDelete: d(function (index) { + var i; + if (index >= this.__nextIndex__) return; + --this.__nextIndex__; + if (!this.__redo__) return; + i = this.__redo__.indexOf(index); + if (i !== -1) this.__redo__.splice(i, 1); + this.__redo__.forEach(function (redo, i) { + if (redo > index) this.__redo__[i] = --redo; + }, this); + }), + _onClear: d(function () { + if (this.__redo__) clear.call(this.__redo__); + this.__nextIndex__ = 0; + }) +}))); + +defineProperty(Iterator.prototype, Symbol.iterator, d(function () { + return this; +})); +defineProperty(Iterator.prototype, Symbol.toStringTag, d('', 'Iterator')); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/is-iterable.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/is-iterable.js new file mode 100644 index 0000000000..2c6f496c38 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/is-iterable.js @@ -0,0 +1,15 @@ +'use strict'; + +var isArguments = require('es5-ext/function/is-arguments') + , isString = require('es5-ext/string/is-string') + , iteratorSymbol = require('es6-symbol').iterator + + , isArray = Array.isArray; + +module.exports = function (value) { + if (value == null) return false; + if (isArray(value)) return true; + if (isString(value)) return true; + if (isArguments(value)) return true; + return (typeof value[iteratorSymbol] === 'function'); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/package.json b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/package.json new file mode 100644 index 0000000000..e182bbb75e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/package.json @@ -0,0 +1,35 @@ +{ + "name": "es6-iterator", + "version": "2.0.1", + "description": "Iterator abstraction based on ES6 specification", + "author": "Mariusz Nowak (http://www.medikoo.com/)", + "keywords": [ + "iterator", + "array", + "list", + "set", + "map", + "generator" + ], + "repository": { + "type": "git", + "url": "git://github.com/medikoo/es6-iterator.git" + }, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.14", + "es6-symbol": "^3.1" + }, + "devDependencies": { + "event-emitter": "^0.3.4", + "tad": "^0.2.7", + "xlint": "^0.2.2", + "xlint-jslint-medikoo": "^0.1.4" + }, + "scripts": { + "lint": "node node_modules/xlint/bin/xlint --linter=node_modules/xlint-jslint-medikoo/index.js --no-cache --no-stream", + "lint-console": "node node_modules/xlint/bin/xlint --linter=node_modules/xlint-jslint-medikoo/index.js --watch", + "test": "node ./node_modules/tad/bin/tad" + }, + "license": "MIT" +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/string.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/string.js new file mode 100644 index 0000000000..cdb39ea4e4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/string.js @@ -0,0 +1,37 @@ +// Thanks @mathiasbynens +// http://mathiasbynens.be/notes/javascript-unicode#iterating-over-symbols + +'use strict'; + +var setPrototypeOf = require('es5-ext/object/set-prototype-of') + , d = require('d') + , Iterator = require('./') + + , defineProperty = Object.defineProperty + , StringIterator; + +StringIterator = module.exports = function (str) { + if (!(this instanceof StringIterator)) return new StringIterator(str); + str = String(str); + Iterator.call(this, str); + defineProperty(this, '__length__', d('', str.length)); + +}; +if (setPrototypeOf) setPrototypeOf(StringIterator, Iterator); + +StringIterator.prototype = Object.create(Iterator.prototype, { + constructor: d(StringIterator), + _next: d(function () { + if (!this.__list__) return; + if (this.__nextIndex__ < this.__length__) return this.__nextIndex__++; + this._unBind(); + }), + _resolve: d(function (i) { + var char = this.__list__[i], code; + if (this.__nextIndex__ === this.__length__) return char; + code = char.charCodeAt(0); + if ((code >= 0xD800) && (code <= 0xDBFF)) return char + this.__list__[this.__nextIndex__++]; + return char; + }), + toString: d(function () { return '[object String Iterator]'; }) +}); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/#/chain.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/#/chain.js new file mode 100644 index 0000000000..a414c66d78 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/#/chain.js @@ -0,0 +1,23 @@ +'use strict'; + +var Iterator = require('../../'); + +module.exports = function (t, a) { + var i1 = new Iterator(['raz', 'dwa', 'trzy']) + , i2 = new Iterator(['cztery', 'pięć', 'sześć']) + , i3 = new Iterator(['siedem', 'osiem', 'dziewięć']) + + , iterator = t.call(i1, i2, i3); + + a.deep(iterator.next(), { done: false, value: 'raz' }, "#1"); + a.deep(iterator.next(), { done: false, value: 'dwa' }, "#2"); + a.deep(iterator.next(), { done: false, value: 'trzy' }, "#3"); + a.deep(iterator.next(), { done: false, value: 'cztery' }, "#4"); + a.deep(iterator.next(), { done: false, value: 'pięć' }, "#5"); + a.deep(iterator.next(), { done: false, value: 'sześć' }, "#6"); + a.deep(iterator.next(), { done: false, value: 'siedem' }, "#7"); + a.deep(iterator.next(), { done: false, value: 'osiem' }, "#8"); + a.deep(iterator.next(), { done: false, value: 'dziewięć' }, "#9"); + a.deep(iterator.next(), { done: true, value: undefined }, "Done #1"); + a.deep(iterator.next(), { done: true, value: undefined }, "Done #2"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/array.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/array.js new file mode 100644 index 0000000000..ae7c2199e8 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/array.js @@ -0,0 +1,67 @@ +'use strict'; + +var iteratorSymbol = require('es6-symbol').iterator; + +module.exports = function (T) { + return { + Values: function (a) { + var x = ['raz', 'dwa', 'trzy', 'cztery', 'pięć', 'sześć'], it; + + it = new T(x); + a(it[iteratorSymbol](), it, "@@iterator"); + a.deep(it.next(), { done: false, value: 'raz' }, "#1"); + a.deep(it.next(), { done: false, value: 'dwa' }, "#2"); + x.splice(1, 0, 'elo'); + a.deep(it.next(), { done: false, value: 'dwa' }, "Insert"); + a.deep(it.next(), { done: false, value: 'trzy' }, "#3"); + a.deep(it.next(), { done: false, value: 'cztery' }, "#4"); + x.pop(); + a.deep(it.next(), { done: false, value: 'pięć' }, "#5"); + a.deep(it.next(), { done: true, value: undefined }, "End"); + }, + "Keys & Values": function (a) { + var x = ['raz', 'dwa', 'trzy', 'cztery', 'pięć', 'sześć'], it; + + it = new T(x, 'key+value'); + a(it[iteratorSymbol](), it, "@@iterator"); + a.deep(it.next(), { done: false, value: [0, 'raz'] }, "#1"); + a.deep(it.next(), { done: false, value: [1, 'dwa'] }, "#2"); + x.splice(1, 0, 'elo'); + a.deep(it.next(), { done: false, value: [2, 'dwa'] }, "Insert"); + a.deep(it.next(), { done: false, value: [3, 'trzy'] }, "#3"); + a.deep(it.next(), { done: false, value: [4, 'cztery'] }, "#4"); + x.pop(); + a.deep(it.next(), { done: false, value: [5, 'pięć'] }, "#5"); + a.deep(it.next(), { done: true, value: undefined }, "End"); + }, + Keys: function (a) { + var x = ['raz', 'dwa', 'trzy', 'cztery', 'pięć', 'sześć'], it; + + it = new T(x, 'key'); + a(it[iteratorSymbol](), it, "@@iterator"); + a.deep(it.next(), { done: false, value: 0 }, "#1"); + a.deep(it.next(), { done: false, value: 1 }, "#2"); + x.splice(1, 0, 'elo'); + a.deep(it.next(), { done: false, value: 2 }, "Insert"); + a.deep(it.next(), { done: false, value: 3 }, "#3"); + a.deep(it.next(), { done: false, value: 4 }, "#4"); + x.pop(); + a.deep(it.next(), { done: false, value: 5 }, "#5"); + a.deep(it.next(), { done: true, value: undefined }, "End"); + }, + Sparse: function (a) { + var x = new Array(6), it; + + x[2] = 'raz'; + x[4] = 'dwa'; + it = new T(x); + a.deep(it.next(), { done: false, value: undefined }, "#1"); + a.deep(it.next(), { done: false, value: undefined }, "#2"); + a.deep(it.next(), { done: false, value: 'raz' }, "#3"); + a.deep(it.next(), { done: false, value: undefined }, "#4"); + a.deep(it.next(), { done: false, value: 'dwa' }, "#5"); + a.deep(it.next(), { done: false, value: undefined }, "#6"); + a.deep(it.next(), { done: true, value: undefined }, "End"); + } + }; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/for-of.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/for-of.js new file mode 100644 index 0000000000..108df7d97a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/for-of.js @@ -0,0 +1,40 @@ +'use strict'; + +var ArrayIterator = require('../array') + + , slice = Array.prototype.slice; + +module.exports = function (t, a) { + var i = 0, x = ['raz', 'dwa', 'trzy'], y = {}, called = 0; + 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(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); + + t(x = ['raz', 'dwa', 'trzy'], function (value, doBreak) { + ++called; + return doBreak(); + }); + a(called, 1, "Break"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/get.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/get.js new file mode 100644 index 0000000000..81ce6e6ae4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/get.js @@ -0,0 +1,17 @@ +'use strict'; + +var iteratorSymbol = require('es6-symbol').iterator + , Iterator = require('../'); + +module.exports = function (t, a) { + var iterator; + a.throws(function () { t(); }, TypeError, "Null"); + a.throws(function () { t({}); }, TypeError, "Plain object"); + a.throws(function () { t({ length: 0 }); }, TypeError, "Array-like"); + iterator = {}; + iterator[iteratorSymbol] = function () { return new Iterator([]); }; + a(t(iterator) instanceof Iterator, true, "Iterator"); + a(String(t([])), '[object Array Iterator]', " Array"); + a(String(t((function () { return arguments; }()))), '[object Array Iterator]', " Arguments"); + a(String(t('foo')), '[object String Iterator]', "String"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/index.js new file mode 100644 index 0000000000..ea3621adfe --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/index.js @@ -0,0 +1,99 @@ +'use strict'; + +var ee = require('event-emitter') + , iteratorSymbol = require('es6-symbol').iterator; + +module.exports = function (T) { + return { + "": function (a) { + var x = ['raz', 'dwa', 'trzy', 'cztery', 'pięć'], it, y, z; + + it = new T(x); + a(it[iteratorSymbol](), it, "@@iterator"); + y = it.next(); + a.deep(y, { done: false, value: 'raz' }, "#1"); + z = it.next(); + a.not(y, z, "Recreate result"); + a.deep(z, { done: false, value: 'dwa' }, "#2"); + a.deep(it.next(), { done: false, value: 'trzy' }, "#3"); + a.deep(it.next(), { done: false, value: 'cztery' }, "#4"); + a.deep(it.next(), { done: false, value: 'pięć' }, "#5"); + a.deep(y = it.next(), { done: true, value: undefined }, "End"); + a.not(y, it.next(), "Recreate result on dead"); + }, + Emited: function (a) { + var x = ['raz', 'dwa', 'trzy', 'cztery', 'pięć'], y, it; + + y = ee(); + it = new T(x, y); + a.deep(it.next(), { done: false, value: 'raz' }, "#1"); + a.deep(it.next(), { done: false, value: 'dwa' }, "#2"); + y.emit('_add', x.push('sześć') - 1); + a.deep(it.next(), { done: false, value: 'trzy' }, "#3"); + x.splice(1, 0, 'półtora'); + y.emit('_add', 1); + a.deep(it.next(), { done: false, value: 'półtora' }, "Insert"); + x.splice(5, 1); + y.emit('_delete', 5); + a.deep(it.next(), { done: false, value: 'cztery' }, "#4"); + a.deep(it.next(), { done: false, value: 'sześć' }, "#5"); + a.deep(it.next(), { done: true, value: undefined }, "End"); + }, + "Emited #2": function (a) { + var x = ['raz', 'dwa', 'trzy', 'cztery', 'pięć', 'sześć'], y, it; + + y = ee(); + it = new T(x, y); + a.deep(it.next(), { done: false, value: 'raz' }, "#1"); + a.deep(it.next(), { done: false, value: 'dwa' }, "#2"); + x.splice(1, 0, 'półtora'); + y.emit('_add', 1); + x.splice(1, 0, '1.25'); + y.emit('_add', 1); + x.splice(0, 1); + y.emit('_delete', 0); + a.deep(it.next(), { done: false, value: 'półtora' }, "Insert"); + a.deep(it.next(), { done: false, value: '1.25' }, "Insert #2"); + a.deep(it.next(), { done: false, value: 'trzy' }, "#3"); + a.deep(it.next(), { done: false, value: 'cztery' }, "#4"); + x.splice(5, 1); + y.emit('_delete', 5); + a.deep(it.next(), { done: false, value: 'sześć' }, "#5"); + a.deep(it.next(), { done: true, value: undefined }, "End"); + }, + "Emited: Clear #1": function (a) { + var x = ['raz', 'dwa', 'trzy', 'cztery', 'pięć', 'sześć'], y, it; + + y = ee(); + it = new T(x, y); + a.deep(it.next(), { done: false, value: 'raz' }, "#1"); + a.deep(it.next(), { done: false, value: 'dwa' }, "#2"); + x.length = 0; + y.emit('_clear'); + a.deep(it.next(), { done: true, value: undefined }, "End"); + }, + "Emited: Clear #2": function (a) { + var x = ['raz', 'dwa', 'trzy', 'cztery', 'pięć', 'sześć'], y, it; + + y = ee(); + it = new T(x, y); + a.deep(it.next(), { done: false, value: 'raz' }, "#1"); + a.deep(it.next(), { done: false, value: 'dwa' }, "#2"); + x.length = 0; + y.emit('_clear'); + x.push('foo'); + x.push('bar'); + a.deep(it.next(), { done: false, value: 'foo' }, "#3"); + a.deep(it.next(), { done: false, value: 'bar' }, "#4"); + x.splice(1, 0, 'półtora'); + y.emit('_add', 1); + x.splice(1, 0, '1.25'); + y.emit('_add', 1); + x.splice(0, 1); + y.emit('_delete', 0); + a.deep(it.next(), { done: false, value: 'półtora' }, "Insert"); + a.deep(it.next(), { done: false, value: '1.25' }, "Insert #2"); + a.deep(it.next(), { done: true, value: undefined }, "End"); + } + }; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/is-iterable.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/is-iterable.js new file mode 100644 index 0000000000..438ad349ca --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/is-iterable.js @@ -0,0 +1,19 @@ +'use strict'; + +var iteratorSymbol = require('es6-symbol').iterator + , Iterator = require('../'); + +module.exports = function (t, a) { + var iterator; + a(t(), false, "Undefined"); + a(t(123), false, "Number"); + a(t({}), false, "Plain object"); + a(t({ length: 0 }), false, "Array-like"); + iterator = {}; + iterator[iteratorSymbol] = function () { return new Iterator([]); }; + a(t(iterator), true, "Iterator"); + a(t([]), true, "Array"); + a(t('foo'), true, "String"); + a(t(''), true, "Empty string"); + a(t((function () { return arguments; }())), true, "Arguments"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/string.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/string.js new file mode 100644 index 0000000000..d11855f251 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/string.js @@ -0,0 +1,23 @@ +'use strict'; + +var iteratorSymbol = require('es6-symbol').iterator; + +module.exports = function (T, a) { + var it = new T('foobar'); + + a(it[iteratorSymbol](), it, "@@iterator"); + a.deep(it.next(), { done: false, value: 'f' }, "#1"); + a.deep(it.next(), { done: false, value: 'o' }, "#2"); + a.deep(it.next(), { done: false, value: 'o' }, "#3"); + a.deep(it.next(), { done: false, value: 'b' }, "#4"); + a.deep(it.next(), { done: false, value: 'a' }, "#5"); + a.deep(it.next(), { done: false, value: 'r' }, "#6"); + a.deep(it.next(), { done: true, value: undefined }, "End"); + + a.h1("Outside of BMP"); + it = new T('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"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/valid-iterable.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/valid-iterable.js new file mode 100644 index 0000000000..a407f1a0c4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/test/valid-iterable.js @@ -0,0 +1,18 @@ +'use strict'; + +var iteratorSymbol = require('es6-symbol').iterator + , Iterator = require('../'); + +module.exports = function (t, a) { + var obj; + a.throws(function () { t(); }, TypeError, "Undefined"); + a.throws(function () { t({}); }, TypeError, "Plain object"); + a.throws(function () { t({ length: 0 }); }, TypeError, "Array-like"); + obj = {}; + obj[iteratorSymbol] = function () { return new Iterator([]); }; + a(t(obj), obj, "Iterator"); + obj = []; + a(t(obj), obj, 'Array'); + obj = (function () { return arguments; }()); + a(t(obj), obj, "Arguments"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/valid-iterable.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/valid-iterable.js new file mode 100644 index 0000000000..d330997cb1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator/valid-iterable.js @@ -0,0 +1,8 @@ +'use strict'; + +var isIterable = require('./is-iterable'); + +module.exports = function (value) { + if (!isIterable(value)) throw new TypeError(value + " is not iterable"); + return value; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-symbol b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-symbol new file mode 120000 index 0000000000..67f7b91caa --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-symbol @@ -0,0 +1 @@ +../../../es6-symbol/3.1.1/node_modules/es6-symbol \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/d b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/d new file mode 120000 index 0000000000..6f2fa721a9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/d @@ -0,0 +1 @@ +../../../d/1.0.0/node_modules/d \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es5-ext b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es5-ext new file mode 120000 index 0000000000..d0db4881f0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es5-ext @@ -0,0 +1 @@ +../../../es5-ext/0.10.24/node_modules/es5-ext \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/.lint b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/.lint new file mode 100644 index 0000000000..df1e53cd5f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/.lint @@ -0,0 +1,15 @@ +@root + +module + +tabs +indent 2 +maxlen 100 + +ass +nomen +plusplus +newcap +vars + +predef+ Symbol diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/.npmignore b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/.npmignore new file mode 100644 index 0000000000..155e41f691 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/.npmignore @@ -0,0 +1,4 @@ +.DS_Store +/node_modules +/npm-debug.log +/.lintcache diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/.travis.yml b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/.travis.yml new file mode 100644 index 0000000000..0b1f5e4ae3 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/.travis.yml @@ -0,0 +1,11 @@ +sudo: false # http://docs.travis-ci.com/user/workers/container-based-infrastructure/ +language: node_js +node_js: + - 0.12 + - v4 + - v5 + - v6 + +notifications: + email: + - medikoo+es6-symbol@medikoo.com diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/CHANGES b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/CHANGES new file mode 100644 index 0000000000..017d40915f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/CHANGES @@ -0,0 +1,57 @@ +v3.1.1 -- 2017.03.15 +* Improve documentation +* Improve error messages +* Update dependencies + +v3.1.0 -- 2016.06.03 +* Fix internals of symbol detection +* Ensure Symbol.prototype[Symbol.toPrimitive] in all cases returns primitive value + (fixes Node v6 support) +* Create native symbols whenver possible + +v3.0.2 -- 2015.12.12 +* Fix definition flow, so uneven state of Symbol implementation doesn't crash initialization of + polyfill. See #13 + +v3.0.1 -- 2015.10.22 +* Workaround for IE11 bug (reported in #12) + +v3.0.0 -- 2015.10.02 +* Reuse native symbols (e.g. iterator, toStringTag etc.) in a polyfill if they're available + Otherwise polyfill symbols may not be recognized by other functions +* Improve documentation + +v2.0.1 -- 2015.01.28 +* Fix Symbol.prototype[Symbol.isPrimitive] implementation +* Improve validation within Symbol.prototype.toString and + Symbol.prototype.valueOf + +v2.0.0 -- 2015.01.28 +* Update up to changes in specification: + * Implement `for` and `keyFor` + * Remove `Symbol.create` and `Symbol.isRegExp` + * Add `Symbol.match`, `Symbol.replace`, `Symbol.search`, `Symbol.species` and + `Symbol.split` +* Rename `validSymbol` to `validateSymbol` +* Improve documentation +* Remove dead test modules + +v1.0.0 -- 2015.01.26 +* Fix enumerability for symbol properties set normally (e.g. obj[symbol] = value) +* Introduce initialization via hidden constructor +* Fix isSymbol handling of polyfill values when native Symbol is present +* Fix spelling of LICENSE +* Configure lint scripts + +v0.1.1 -- 2014.10.07 +* Fix isImplemented, so it returns true in case of polyfill +* Improve documentations + +v0.1.0 -- 2014.04.28 +* Assure strictly npm dependencies +* Update to use latest versions of dependencies +* Fix implementation detection so it doesn't crash on `String(symbol)` +* throw on `new Symbol()` (as decided by TC39) + +v0.0.0 -- 2013.11.15 +* Initial (dev) version \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/LICENSE b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/LICENSE new file mode 100644 index 0000000000..04724a3ab1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/LICENSE @@ -0,0 +1,19 @@ +Copyright (C) 2013-2015 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. diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/README.md b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/README.md new file mode 100644 index 0000000000..fea99062ec --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/README.md @@ -0,0 +1,71 @@ +# es6-symbol +## ECMAScript 6 Symbol polyfill + +For more information about symbols see following links +- [Symbols in ECMAScript 6 by Axel Rauschmayer](http://www.2ality.com/2014/12/es6-symbols.html) +- [MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol) +- [Specification](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-symbol-constructor) + +### Limitations + +Underneath it uses real string property names which can easily be retrieved, however accidental collision with other property names is unlikely. + +### Usage + +If you'd like to use native version when it exists and fallback to [ponyfill](https://ponyfill.com) if it doesn't, use *es6-symbol* as following: + +```javascript +var Symbol = require('es6-symbol'); +``` + +If you want to make sure your environment implements `Symbol` globally, do: + +```javascript +require('es6-symbol/implement'); +``` + +If you strictly want to use polyfill even if native `Symbol` exists (hard to find a good reason for that), do: + +```javascript +var Symbol = require('es6-symbol/polyfill'); +``` + +#### API + +Best is to refer to [specification](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-symbol-objects). Still if you want quick look, follow examples: + +```javascript +var Symbol = require('es6-symbol'); + +var symbol = Symbol('My custom symbol'); +var x = {}; + +x[symbol] = 'foo'; +console.log(x[symbol]); 'foo' + +// Detect iterable: +var iterator, result; +if (possiblyIterable[Symbol.iterator]) { + iterator = possiblyIterable[Symbol.iterator](); + result = iterator.next(); + while(!result.done) { + console.log(result.value); + result = iterator.next(); + } +} +``` + +### Installation +#### NPM + +In your project path: + + $ npm install es6-symbol + +##### Browser + +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/) + +## Tests [![Build Status](https://travis-ci.org/medikoo/es6-symbol.png)](https://travis-ci.org/medikoo/es6-symbol) + + $ npm test diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/implement.js new file mode 100644 index 0000000000..153edacdbe --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/implement.js @@ -0,0 +1,7 @@ +'use strict'; + +if (!require('./is-implemented')()) { + Object.defineProperty(require('es5-ext/global'), 'Symbol', + { value: require('./polyfill'), configurable: true, enumerable: false, + writable: true }); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/index.js new file mode 100644 index 0000000000..609f1faf55 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/index.js @@ -0,0 +1,3 @@ +'use strict'; + +module.exports = require('./is-implemented')() ? Symbol : require('./polyfill'); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/is-implemented.js new file mode 100644 index 0000000000..93629d2f84 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/is-implemented.js @@ -0,0 +1,17 @@ +'use strict'; + +var validTypes = { object: true, symbol: true }; + +module.exports = function () { + var symbol; + if (typeof Symbol !== 'function') return false; + symbol = Symbol('test symbol'); + try { String(symbol); } catch (e) { return false; } + + // Return 'true' also for polyfills + if (!validTypes[typeof Symbol.iterator]) return false; + if (!validTypes[typeof Symbol.toPrimitive]) return false; + if (!validTypes[typeof Symbol.toStringTag]) return false; + + return true; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/is-native-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/is-native-implemented.js new file mode 100644 index 0000000000..8676d0e8df --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/is-native-implemented.js @@ -0,0 +1,5 @@ +// Exports true if environment provides native `Symbol` implementation + +'use strict'; + +module.exports = typeof Symbol === 'function' && typeof Symbol() === 'symbol'; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/is-symbol.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/is-symbol.js new file mode 100644 index 0000000000..074cb07fb5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/is-symbol.js @@ -0,0 +1,9 @@ +'use strict'; + +module.exports = function (x) { + if (!x) return false; + if (typeof x === 'symbol') return true; + if (!x.constructor) return false; + if (x.constructor.name !== 'Symbol') return false; + return (x[x.constructor.toStringTag] === 'Symbol'); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/package.json b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/package.json new file mode 100644 index 0000000000..db6205bdff --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/package.json @@ -0,0 +1,35 @@ +{ + "name": "es6-symbol", + "version": "3.1.1", + "description": "ECMAScript 6 Symbol polyfill", + "author": "Mariusz Nowak (http://www.medikoo.com/)", + "keywords": [ + "symbol", + "private", + "property", + "es6", + "ecmascript", + "harmony", + "ponyfill", + "polyfill" + ], + "repository": { + "type": "git", + "url": "git://github.com/medikoo/es6-symbol.git" + }, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + }, + "devDependencies": { + "tad": "~0.2.7", + "xlint": "~0.2.2", + "xlint-jslint-medikoo": "~0.1.4" + }, + "scripts": { + "lint": "node node_modules/xlint/bin/xlint --linter=node_modules/xlint-jslint-medikoo/index.js --no-cache --no-stream", + "lint-console": "node node_modules/xlint/bin/xlint --linter=node_modules/xlint-jslint-medikoo/index.js --watch", + "test": "node ./node_modules/tad/bin/tad" + }, + "license": "MIT" +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/polyfill.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/polyfill.js new file mode 100644 index 0000000000..dca879a3e2 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/polyfill.js @@ -0,0 +1,118 @@ +// ES2015 Symbol polyfill for environments that do not (or partially) support it + +'use strict'; + +var d = require('d') + , validateSymbol = require('./validate-symbol') + + , create = Object.create, defineProperties = Object.defineProperties + , defineProperty = Object.defineProperty, objPrototype = Object.prototype + , NativeSymbol, SymbolPolyfill, HiddenSymbol, globalSymbols = create(null) + , isNativeSafe; + +if (typeof Symbol === 'function') { + NativeSymbol = Symbol; + try { + String(NativeSymbol()); + isNativeSafe = true; + } catch (ignore) {} +} + +var generateName = (function () { + var created = create(null); + return function (desc) { + var postfix = 0, name, ie11BugWorkaround; + while (created[desc + (postfix || '')]) ++postfix; + desc += (postfix || ''); + created[desc] = true; + name = '@@' + desc; + defineProperty(objPrototype, name, d.gs(null, function (value) { + // For IE11 issue see: + // https://connect.microsoft.com/IE/feedbackdetail/view/1928508/ + // ie11-broken-getters-on-dom-objects + // https://github.com/medikoo/es6-symbol/issues/12 + if (ie11BugWorkaround) return; + ie11BugWorkaround = true; + defineProperty(this, name, d(value)); + ie11BugWorkaround = false; + })); + return name; + }; +}()); + +// Internal constructor (not one exposed) for creating Symbol instances. +// This one is used to ensure that `someSymbol instanceof Symbol` always return false +HiddenSymbol = function Symbol(description) { + if (this instanceof HiddenSymbol) throw new TypeError('Symbol is not a constructor'); + return SymbolPolyfill(description); +}; + +// Exposed `Symbol` constructor +// (returns instances of HiddenSymbol) +module.exports = SymbolPolyfill = function Symbol(description) { + var symbol; + if (this instanceof Symbol) throw new TypeError('Symbol is not a constructor'); + if (isNativeSafe) return NativeSymbol(description); + symbol = create(HiddenSymbol.prototype); + description = (description === undefined ? '' : String(description)); + return defineProperties(symbol, { + __description__: d('', description), + __name__: d('', generateName(description)) + }); +}; +defineProperties(SymbolPolyfill, { + for: d(function (key) { + if (globalSymbols[key]) return globalSymbols[key]; + return (globalSymbols[key] = SymbolPolyfill(String(key))); + }), + keyFor: d(function (s) { + var key; + validateSymbol(s); + for (key in globalSymbols) if (globalSymbols[key] === s) return key; + }), + + // To ensure proper interoperability with other native functions (e.g. Array.from) + // fallback to eventual native implementation of given symbol + hasInstance: d('', (NativeSymbol && NativeSymbol.hasInstance) || SymbolPolyfill('hasInstance')), + isConcatSpreadable: d('', (NativeSymbol && NativeSymbol.isConcatSpreadable) || + SymbolPolyfill('isConcatSpreadable')), + iterator: d('', (NativeSymbol && NativeSymbol.iterator) || SymbolPolyfill('iterator')), + match: d('', (NativeSymbol && NativeSymbol.match) || SymbolPolyfill('match')), + replace: d('', (NativeSymbol && NativeSymbol.replace) || SymbolPolyfill('replace')), + search: d('', (NativeSymbol && NativeSymbol.search) || SymbolPolyfill('search')), + species: d('', (NativeSymbol && NativeSymbol.species) || SymbolPolyfill('species')), + split: d('', (NativeSymbol && NativeSymbol.split) || SymbolPolyfill('split')), + toPrimitive: d('', (NativeSymbol && NativeSymbol.toPrimitive) || SymbolPolyfill('toPrimitive')), + toStringTag: d('', (NativeSymbol && NativeSymbol.toStringTag) || SymbolPolyfill('toStringTag')), + unscopables: d('', (NativeSymbol && NativeSymbol.unscopables) || SymbolPolyfill('unscopables')) +}); + +// Internal tweaks for real symbol producer +defineProperties(HiddenSymbol.prototype, { + constructor: d(SymbolPolyfill), + toString: d('', function () { return this.__name__; }) +}); + +// Proper implementation of methods exposed on Symbol.prototype +// They won't be accessible on produced symbol instances as they derive from HiddenSymbol.prototype +defineProperties(SymbolPolyfill.prototype, { + toString: d(function () { return 'Symbol (' + validateSymbol(this).__description__ + ')'; }), + valueOf: d(function () { return validateSymbol(this); }) +}); +defineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toPrimitive, d('', function () { + var symbol = validateSymbol(this); + if (typeof symbol === 'symbol') return symbol; + return symbol.toString(); +})); +defineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toStringTag, d('c', 'Symbol')); + +// Proper implementaton of toPrimitive and toStringTag for returned symbol instances +defineProperty(HiddenSymbol.prototype, SymbolPolyfill.toStringTag, + d('c', SymbolPolyfill.prototype[SymbolPolyfill.toStringTag])); + +// Note: It's important to define `toPrimitive` as last one, as some implementations +// implement `toPrimitive` natively without implementing `toStringTag` (or other specified symbols) +// And that may invoke error in definition flow: +// See: https://github.com/medikoo/es6-symbol/issues/13#issuecomment-164146149 +defineProperty(HiddenSymbol.prototype, SymbolPolyfill.toPrimitive, + d('c', SymbolPolyfill.prototype[SymbolPolyfill.toPrimitive])); diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/implement.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/implement.js new file mode 100644 index 0000000000..eb35c30188 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/implement.js @@ -0,0 +1,3 @@ +'use strict'; + +module.exports = function (t, a) { a(typeof Symbol, 'function'); }; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/index.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/index.js new file mode 100644 index 0000000000..62b3296df6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/index.js @@ -0,0 +1,12 @@ +'use strict'; + +var d = require('d') + + , defineProperty = Object.defineProperty; + +module.exports = function (T, a) { + var symbol = T('test'), x = {}; + defineProperty(x, symbol, d('foo')); + a(x.test, undefined, "Name"); + a(x[symbol], 'foo', "Get"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/is-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/is-implemented.js new file mode 100644 index 0000000000..bb0d64536e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/is-implemented.js @@ -0,0 +1,14 @@ +'use strict'; + +var global = require('es5-ext/global') + , polyfill = require('../polyfill'); + +module.exports = function (t, a) { + var cache; + a(typeof t(), 'boolean'); + cache = global.Symbol; + global.Symbol = polyfill; + a(t(), true); + if (cache === undefined) delete global.Symbol; + else global.Symbol = cache; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/is-native-implemented.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/is-native-implemented.js new file mode 100644 index 0000000000..df8ba0323f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/is-native-implemented.js @@ -0,0 +1,3 @@ +'use strict'; + +module.exports = function (t, a) { a(typeof t, 'boolean'); }; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/is-symbol.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/is-symbol.js new file mode 100644 index 0000000000..ac24b9abbf --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/is-symbol.js @@ -0,0 +1,16 @@ +'use strict'; + +var SymbolPoly = require('../polyfill'); + +module.exports = function (t, a) { + a(t(undefined), false, "Undefined"); + a(t(null), false, "Null"); + a(t(true), false, "Primitive"); + a(t('raz'), false, "String"); + a(t({}), false, "Object"); + a(t([]), false, "Array"); + if (typeof Symbol !== 'undefined') { + a(t(Symbol()), true, "Native"); + } + a(t(SymbolPoly()), true, "Polyfill"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/polyfill.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/polyfill.js new file mode 100644 index 0000000000..8b657905de --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/polyfill.js @@ -0,0 +1,29 @@ +'use strict'; + +var d = require('d') + , isSymbol = require('../is-symbol') + + , defineProperty = Object.defineProperty; + +module.exports = function (T, a) { + var symbol = T('test'), x = {}; + defineProperty(x, symbol, d('foo')); + a(x.test, undefined, "Name"); + a(x[symbol], 'foo', "Get"); + a(x instanceof T, false); + + a(isSymbol(symbol), true, "Symbol"); + a(isSymbol(T.iterator), true, "iterator"); + a(isSymbol(T.toStringTag), true, "toStringTag"); + + x = {}; + x[symbol] = 'foo'; + if (typeof symbol !== 'symbol') { + a.deep(Object.getOwnPropertyDescriptor(x, symbol), { configurable: true, enumerable: false, + value: 'foo', writable: true }); + } + symbol = T.for('marko'); + a(isSymbol(symbol), true); + a(T.for('marko'), symbol); + a(T.keyFor(symbol), 'marko'); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/validate-symbol.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/validate-symbol.js new file mode 100644 index 0000000000..2c8f84c823 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/test/validate-symbol.js @@ -0,0 +1,19 @@ +'use strict'; + +var SymbolPoly = require('../polyfill'); + +module.exports = function (t, a) { + var symbol; + a.throws(function () { t(undefined); }, TypeError, "Undefined"); + a.throws(function () { t(null); }, TypeError, "Null"); + a.throws(function () { t(true); }, TypeError, "Primitive"); + a.throws(function () { t('raz'); }, TypeError, "String"); + a.throws(function () { t({}); }, TypeError, "Object"); + a.throws(function () { t([]); }, TypeError, "Array"); + if (typeof Symbol !== 'undefined') { + symbol = Symbol(); + a(t(symbol), symbol, "Native"); + } + symbol = SymbolPoly(); + a(t(symbol), symbol, "Polyfill"); +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/validate-symbol.js b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/validate-symbol.js new file mode 100644 index 0000000000..42750043d4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.registry.npmjs.org/es6-symbol/3.1.1/node_modules/es6-symbol/validate-symbol.js @@ -0,0 +1,8 @@ +'use strict'; + +var isSymbol = require('./is-symbol'); + +module.exports = function (value) { + if (!isSymbol(value)) throw new TypeError(value + " is not a symbol"); + return value; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.shrinkwrap.yaml b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.shrinkwrap.yaml new file mode 100644 index 0000000000..164ad46d80 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/.shrinkwrap.yaml @@ -0,0 +1,31 @@ +dependencies: + es6-iterator: 2.0.1 +packages: + /d/1.0.0: + dependencies: + es5-ext: 0.10.24 + resolution: + integrity: sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8= + /es5-ext/0.10.24: + dependencies: + es6-iterator: 2.0.1 + es6-symbol: 3.1.1 + resolution: + integrity: sha1-pVh3yZJLwMjZvTwsvhdJWsFwmxQ= + /es6-iterator/2.0.1: + dependencies: + d: 1.0.0 + es5-ext: 0.10.24 + es6-symbol: 3.1.1 + resolution: + integrity: sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI= + /es6-symbol/3.1.1: + dependencies: + d: 1.0.0 + es5-ext: 0.10.24 + resolution: + integrity: sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= +registry: 'https://registry.npmjs.org/' +shrinkwrapVersion: 3 +specifiers: + es6-iterator: ^2.0.1 diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/es6-iterator b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/es6-iterator new file mode 120000 index 0000000000..5d3cd89cc4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/node_modules/es6-iterator @@ -0,0 +1 @@ +.registry.npmjs.org/es6-iterator/2.0.1/node_modules/es6-iterator \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/package.json b/packages/dependencies-hierarchy/test/fixtures/circular/package.json new file mode 100644 index 0000000000..4758bb85a8 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/package.json @@ -0,0 +1,7 @@ +{ + "name": "circular-fixture", + "version": "1.0.0", + "dependencies": { + "es6-iterator": "^2.0.1" + } +} diff --git a/packages/dependencies-hierarchy/test/fixtures/circular/shrinkwrap.yaml b/packages/dependencies-hierarchy/test/fixtures/circular/shrinkwrap.yaml new file mode 100644 index 0000000000..164ad46d80 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/circular/shrinkwrap.yaml @@ -0,0 +1,31 @@ +dependencies: + es6-iterator: 2.0.1 +packages: + /d/1.0.0: + dependencies: + es5-ext: 0.10.24 + resolution: + integrity: sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8= + /es5-ext/0.10.24: + dependencies: + es6-iterator: 2.0.1 + es6-symbol: 3.1.1 + resolution: + integrity: sha1-pVh3yZJLwMjZvTwsvhdJWsFwmxQ= + /es6-iterator/2.0.1: + dependencies: + d: 1.0.0 + es5-ext: 0.10.24 + es6-symbol: 3.1.1 + resolution: + integrity: sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI= + /es6-symbol/3.1.1: + dependencies: + d: 1.0.0 + es5-ext: 0.10.24 + resolution: + integrity: sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= +registry: 'https://registry.npmjs.org/' +shrinkwrapVersion: 3 +specifiers: + es6-iterator: ^2.0.1 diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.bin/rimraf b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.bin/rimraf new file mode 100755 index 0000000000..5df8109f7b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.bin/rimraf @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + NODE_PATH="/home/zkochan/src/pnpm/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf/node_modules:/home/zkochan/src/pnpm/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules:/home/zkochan/src/pnpm/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/node_modules:/home/zkochan/src/pnpm/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/node_modules:/home/zkochan/src/pnpm/dependencies-hierarchy/test/fixtures/general/node_modules:/home/zkochan/src/pnpm/dependencies-hierarchy/test/fixtures/node_modules:/home/zkochan/src/pnpm/dependencies-hierarchy/test/node_modules:/home/zkochan/src/pnpm/dependencies-hierarchy/node_modules:/home/zkochan/src/pnpm/node_modules:/home/zkochan/src/node_modules:/home/zkochan/node_modules:/home/node_modules:/node_modules:/home/zkochan/src/pnpm/dependencies-hierarchy/test/fixtures/general/node_modules/rimraf/node_modules" "$basedir/node" "$basedir/../rimraf/bin.js" "$@" + ret=$? +else + NODE_PATH="/home/zkochan/src/pnpm/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf/node_modules:/home/zkochan/src/pnpm/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules:/home/zkochan/src/pnpm/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/node_modules:/home/zkochan/src/pnpm/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/node_modules:/home/zkochan/src/pnpm/dependencies-hierarchy/test/fixtures/general/node_modules:/home/zkochan/src/pnpm/dependencies-hierarchy/test/fixtures/node_modules:/home/zkochan/src/pnpm/dependencies-hierarchy/test/node_modules:/home/zkochan/src/pnpm/dependencies-hierarchy/node_modules:/home/zkochan/src/pnpm/node_modules:/home/zkochan/src/node_modules:/home/zkochan/node_modules:/home/node_modules:/node_modules:/home/zkochan/src/pnpm/dependencies-hierarchy/test/fixtures/general/node_modules/rimraf/node_modules" node "$basedir/../rimraf/bin.js" "$@" + ret=$? +fi +exit $ret diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.modules.yaml b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.modules.yaml new file mode 100644 index 0000000000..9729237cb1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.modules.yaml @@ -0,0 +1,8 @@ +hoistedAliases: {} +independentLeaves: false +layoutVersion: 1 +packageManager: pnpm@2.3.0 +pendingBuilds: [] +shamefullyFlatten: false +skipped: [] +store: /home/zkochan/.pnpm-store/2 diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/balanced-match/1.0.0/node_modules/balanced-match/.npmignore b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/balanced-match/1.0.0/node_modules/balanced-match/.npmignore new file mode 100644 index 0000000000..ae5d8c36ac --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/balanced-match/1.0.0/node_modules/balanced-match/.npmignore @@ -0,0 +1,5 @@ +test +.gitignore +.travis.yml +Makefile +example.js diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/balanced-match/1.0.0/node_modules/balanced-match/LICENSE.md b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/balanced-match/1.0.0/node_modules/balanced-match/LICENSE.md new file mode 100644 index 0000000000..2cdc8e4148 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/balanced-match/1.0.0/node_modules/balanced-match/LICENSE.md @@ -0,0 +1,21 @@ +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.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. diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/balanced-match/1.0.0/node_modules/balanced-match/README.md b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/balanced-match/1.0.0/node_modules/balanced-match/README.md new file mode 100644 index 0000000000..08e918c0db --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/balanced-match/1.0.0/node_modules/balanced-match/README.md @@ -0,0 +1,91 @@ +# balanced-match + +Match balanced string pairs, like `{` and `}` or `` and ``. Supports regular expressions as well! + +[![build status](https://secure.travis-ci.org/juliangruber/balanced-match.svg)](http://travis-ci.org/juliangruber/balanced-match) +[![downloads](https://img.shields.io/npm/dm/balanced-match.svg)](https://www.npmjs.org/package/balanced-match) + +[![testling badge](https://ci.testling.com/juliangruber/balanced-match.png)](https://ci.testling.com/juliangruber/balanced-match) + +## Example + +Get the first matching pair of braces: + +```js +var balanced = require('balanced-match'); + +console.log(balanced('{', '}', 'pre{in{nested}}post')); +console.log(balanced('{', '}', 'pre{first}between{second}post')); +console.log(balanced(/\s+\{\s+/, /\s+\}\s+/, 'pre { in{nest} } post')); +``` + +The matches are: + +```bash +$ node example.js +{ start: 3, end: 14, pre: 'pre', body: 'in{nested}', post: 'post' } +{ start: 3, + end: 9, + pre: 'pre', + body: 'first', + post: 'between{second}post' } +{ start: 3, end: 17, pre: 'pre', body: 'in{nest}', post: 'post' } +``` + +## API + +### var m = balanced(a, b, str) + +For the first non-nested matching pair of `a` and `b` in `str`, return an +object with those keys: + +* **start** the index of the first match of `a` +* **end** the index of the matching `b` +* **pre** the preamble, `a` and `b` not included +* **body** the match, `a` and `b` not included +* **post** the postscript, `a` and `b` not included + +If there's no match, `undefined` will be returned. + +If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`. + +### var r = balanced.range(a, b, str) + +For the first non-nested matching pair of `a` and `b` in `str`, return an +array with indexes: `[ , ]`. + +If there's no match, `undefined` will be returned. + +If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`. + +## Installation + +With [npm](https://npmjs.org) do: + +```bash +npm install balanced-match +``` + +## License + +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.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. diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/balanced-match/1.0.0/node_modules/balanced-match/index.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/balanced-match/1.0.0/node_modules/balanced-match/index.js new file mode 100644 index 0000000000..1685a76293 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/balanced-match/1.0.0/node_modules/balanced-match/index.js @@ -0,0 +1,59 @@ +'use strict'; +module.exports = balanced; +function balanced(a, b, str) { + if (a instanceof RegExp) a = maybeMatch(a, str); + if (b instanceof RegExp) b = maybeMatch(b, str); + + var r = range(a, b, str); + + return r && { + start: r[0], + end: r[1], + pre: str.slice(0, r[0]), + body: str.slice(r[0] + a.length, r[1]), + post: str.slice(r[1] + b.length) + }; +} + +function maybeMatch(reg, str) { + var m = str.match(reg); + return m ? m[0] : null; +} + +balanced.range = range; +function range(a, b, str) { + var begs, beg, left, right, result; + var ai = str.indexOf(a); + var bi = str.indexOf(b, ai + 1); + var i = ai; + + if (ai >= 0 && bi > 0) { + begs = []; + left = str.length; + + while (i >= 0 && !result) { + if (i == ai) { + begs.push(i); + ai = str.indexOf(a, i + 1); + } else if (begs.length == 1) { + result = [ begs.pop(), bi ]; + } else { + beg = begs.pop(); + if (beg < left) { + left = beg; + right = bi; + } + + bi = str.indexOf(b, i + 1); + } + + i = ai < bi && ai >= 0 ? ai : bi; + } + + if (begs.length) { + result = [ left, right ]; + } + } + + return result; +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/balanced-match/1.0.0/node_modules/balanced-match/package.json b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/balanced-match/1.0.0/node_modules/balanced-match/package.json new file mode 100644 index 0000000000..61349c6eda --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/balanced-match/1.0.0/node_modules/balanced-match/package.json @@ -0,0 +1,49 @@ +{ + "name": "balanced-match", + "description": "Match balanced character pairs, like \"{\" and \"}\"", + "version": "1.0.0", + "repository": { + "type": "git", + "url": "git://github.com/juliangruber/balanced-match.git" + }, + "homepage": "https://github.com/juliangruber/balanced-match", + "main": "index.js", + "scripts": { + "test": "make test", + "bench": "make bench" + }, + "dependencies": {}, + "devDependencies": { + "matcha": "^0.7.0", + "tape": "^4.6.0" + }, + "keywords": [ + "match", + "regexp", + "test", + "balanced", + "parse" + ], + "author": { + "name": "Julian Gruber", + "email": "mail@juliangruber.com", + "url": "http://juliangruber.com" + }, + "license": "MIT", + "testling": { + "files": "test/*.js", + "browsers": [ + "ie/8..latest", + "firefox/20..latest", + "firefox/nightly", + "chrome/25..latest", + "chrome/canary", + "opera/12..latest", + "opera/next", + "safari/5.1..latest", + "ipad/6.0..latest", + "iphone/6.0..latest", + "android-browser/4.2..latest" + ] + } +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/brace-expansion/1.1.8/node_modules/balanced-match b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/brace-expansion/1.1.8/node_modules/balanced-match new file mode 120000 index 0000000000..52eb0f8fdc --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/brace-expansion/1.1.8/node_modules/balanced-match @@ -0,0 +1 @@ +../../../balanced-match/1.0.0/node_modules/balanced-match \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/brace-expansion/1.1.8/node_modules/brace-expansion/README.md b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/brace-expansion/1.1.8/node_modules/brace-expansion/README.md new file mode 100644 index 0000000000..ed2ec1fdd7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/brace-expansion/1.1.8/node_modules/brace-expansion/README.md @@ -0,0 +1,123 @@ +# brace-expansion + +[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html), +as known from sh/bash, in JavaScript. + +[![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion) +[![downloads](https://img.shields.io/npm/dm/brace-expansion.svg)](https://www.npmjs.org/package/brace-expansion) +[![Greenkeeper badge](https://badges.greenkeeper.io/juliangruber/brace-expansion.svg)](https://greenkeeper.io/) + +[![testling badge](https://ci.testling.com/juliangruber/brace-expansion.png)](https://ci.testling.com/juliangruber/brace-expansion) + +## Example + +```js +var expand = require('brace-expansion'); + +expand('file-{a,b,c}.jpg') +// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg'] + +expand('-v{,,}') +// => ['-v', '-v', '-v'] + +expand('file{0..2}.jpg') +// => ['file0.jpg', 'file1.jpg', 'file2.jpg'] + +expand('file-{a..c}.jpg') +// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg'] + +expand('file{2..0}.jpg') +// => ['file2.jpg', 'file1.jpg', 'file0.jpg'] + +expand('file{0..4..2}.jpg') +// => ['file0.jpg', 'file2.jpg', 'file4.jpg'] + +expand('file-{a..e..2}.jpg') +// => ['file-a.jpg', 'file-c.jpg', 'file-e.jpg'] + +expand('file{00..10..5}.jpg') +// => ['file00.jpg', 'file05.jpg', 'file10.jpg'] + +expand('{{A..C},{a..c}}') +// => ['A', 'B', 'C', 'a', 'b', 'c'] + +expand('ppp{,config,oe{,conf}}') +// => ['ppp', 'pppconfig', 'pppoe', 'pppoeconf'] +``` + +## API + +```js +var expand = require('brace-expansion'); +``` + +### var expanded = expand(str) + +Return an array of all possible and valid expansions of `str`. If none are +found, `[str]` is returned. + +Valid expansions are: + +```js +/^(.*,)+(.+)?$/ +// {a,b,...} +``` + +A comma seperated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`. + +```js +/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/ +// {x..y[..incr]} +``` + +A numeric sequence from `x` to `y` inclusive, with optional increment. +If `x` or `y` start with a leading `0`, all the numbers will be padded +to have equal length. Negative numbers and backwards iteration work too. + +```js +/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/ +// {x..y[..incr]} +``` + +An alphabetic sequence from `x` to `y` inclusive, with optional increment. +`x` and `y` must be exactly one character, and if given, `incr` must be a +number. + +For compatibility reasons, the string `${` is not eligible for brace expansion. + +## Installation + +With [npm](https://npmjs.org) do: + +```bash +npm install brace-expansion +``` + +## Contributors + +- [Julian Gruber](https://github.com/juliangruber) +- [Isaac Z. Schlueter](https://github.com/isaacs) + +## License + +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.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. diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/brace-expansion/1.1.8/node_modules/brace-expansion/index.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/brace-expansion/1.1.8/node_modules/brace-expansion/index.js new file mode 100644 index 0000000000..0478be81ea --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/brace-expansion/1.1.8/node_modules/brace-expansion/index.js @@ -0,0 +1,201 @@ +var concatMap = require('concat-map'); +var balanced = require('balanced-match'); + +module.exports = expandTop; + +var escSlash = '\0SLASH'+Math.random()+'\0'; +var escOpen = '\0OPEN'+Math.random()+'\0'; +var escClose = '\0CLOSE'+Math.random()+'\0'; +var escComma = '\0COMMA'+Math.random()+'\0'; +var escPeriod = '\0PERIOD'+Math.random()+'\0'; + +function numeric(str) { + return parseInt(str, 10) == str + ? parseInt(str, 10) + : str.charCodeAt(0); +} + +function escapeBraces(str) { + return str.split('\\\\').join(escSlash) + .split('\\{').join(escOpen) + .split('\\}').join(escClose) + .split('\\,').join(escComma) + .split('\\.').join(escPeriod); +} + +function unescapeBraces(str) { + return str.split(escSlash).join('\\') + .split(escOpen).join('{') + .split(escClose).join('}') + .split(escComma).join(',') + .split(escPeriod).join('.'); +} + + +// Basically just str.split(","), but handling cases +// where we have nested braced sections, which should be +// treated as individual members, like {a,{b,c},d} +function parseCommaParts(str) { + if (!str) + return ['']; + + var parts = []; + var m = balanced('{', '}', str); + + if (!m) + return str.split(','); + + var pre = m.pre; + var body = m.body; + var post = m.post; + var p = pre.split(','); + + p[p.length-1] += '{' + body + '}'; + var postParts = parseCommaParts(post); + if (post.length) { + p[p.length-1] += postParts.shift(); + p.push.apply(p, postParts); + } + + parts.push.apply(parts, p); + + return parts; +} + +function expandTop(str) { + if (!str) + return []; + + // I don't know why Bash 4.3 does this, but it does. + // Anything starting with {} will have the first two bytes preserved + // but *only* at the top level, so {},a}b will not expand to anything, + // but a{},b}c will be expanded to [a}c,abc]. + // One could argue that this is a bug in Bash, but since the goal of + // this module is to match Bash's rules, we escape a leading {} + if (str.substr(0, 2) === '{}') { + str = '\\{\\}' + str.substr(2); + } + + return expand(escapeBraces(str), true).map(unescapeBraces); +} + +function identity(e) { + return e; +} + +function embrace(str) { + return '{' + str + '}'; +} +function isPadded(el) { + return /^-?0\d/.test(el); +} + +function lte(i, y) { + return i <= y; +} +function gte(i, y) { + return i >= y; +} + +function expand(str, isTop) { + var expansions = []; + + var m = balanced('{', '}', str); + if (!m || /\$$/.test(m.pre)) return [str]; + + var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); + var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); + var isSequence = isNumericSequence || isAlphaSequence; + var isOptions = m.body.indexOf(',') >= 0; + if (!isSequence && !isOptions) { + // {a},b} + if (m.post.match(/,.*\}/)) { + str = m.pre + '{' + m.body + escClose + m.post; + return expand(str); + } + return [str]; + } + + var n; + if (isSequence) { + n = m.body.split(/\.\./); + } else { + n = parseCommaParts(m.body); + if (n.length === 1) { + // x{{a,b}}y ==> x{a}y x{b}y + n = expand(n[0], false).map(embrace); + if (n.length === 1) { + var post = m.post.length + ? expand(m.post, false) + : ['']; + return post.map(function(p) { + return m.pre + n[0] + p; + }); + } + } + } + + // at this point, n is the parts, and we know it's not a comma set + // with a single entry. + + // no need to expand pre, since it is guaranteed to be free of brace-sets + var pre = m.pre; + var post = m.post.length + ? expand(m.post, false) + : ['']; + + var N; + + if (isSequence) { + var x = numeric(n[0]); + var y = numeric(n[1]); + var width = Math.max(n[0].length, n[1].length) + var incr = n.length == 3 + ? Math.abs(numeric(n[2])) + : 1; + var test = lte; + var reverse = y < x; + if (reverse) { + incr *= -1; + test = gte; + } + var pad = n.some(isPadded); + + N = []; + + for (var i = x; test(i, y); i += incr) { + var c; + if (isAlphaSequence) { + c = String.fromCharCode(i); + if (c === '\\') + c = ''; + } else { + c = String(i); + if (pad) { + var need = width - c.length; + if (need > 0) { + var z = new Array(need + 1).join('0'); + if (i < 0) + c = '-' + z + c.slice(1); + else + c = z + c; + } + } + } + N.push(c); + } + } else { + N = concatMap(n, function(el) { return expand(el, false) }); + } + + for (var j = 0; j < N.length; j++) { + for (var k = 0; k < post.length; k++) { + var expansion = pre + N[j] + post[k]; + if (!isTop || isSequence || expansion) + expansions.push(expansion); + } + } + + return expansions; +} + diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/brace-expansion/1.1.8/node_modules/brace-expansion/package.json b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/brace-expansion/1.1.8/node_modules/brace-expansion/package.json new file mode 100644 index 0000000000..66f952aa20 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/brace-expansion/1.1.8/node_modules/brace-expansion/package.json @@ -0,0 +1,47 @@ +{ + "name": "brace-expansion", + "description": "Brace expansion as known from sh/bash", + "version": "1.1.8", + "repository": { + "type": "git", + "url": "git://github.com/juliangruber/brace-expansion.git" + }, + "homepage": "https://github.com/juliangruber/brace-expansion", + "main": "index.js", + "scripts": { + "test": "tape test/*.js", + "gentest": "bash test/generate.sh", + "bench": "matcha test/perf/bench.js" + }, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + }, + "devDependencies": { + "matcha": "^0.7.0", + "tape": "^4.6.0" + }, + "keywords": [], + "author": { + "name": "Julian Gruber", + "email": "mail@juliangruber.com", + "url": "http://juliangruber.com" + }, + "license": "MIT", + "testling": { + "files": "test/*.js", + "browsers": [ + "ie/8..latest", + "firefox/20..latest", + "firefox/nightly", + "chrome/25..latest", + "chrome/canary", + "opera/12..latest", + "opera/next", + "safari/5.1..latest", + "ipad/6.0..latest", + "iphone/6.0..latest", + "android-browser/4.2..latest" + ] + } +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/brace-expansion/1.1.8/node_modules/concat-map b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/brace-expansion/1.1.8/node_modules/concat-map new file mode 120000 index 0000000000..5241d518d6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/brace-expansion/1.1.8/node_modules/concat-map @@ -0,0 +1 @@ +../../../concat-map/0.0.1/node_modules/concat-map \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/.travis.yml b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/.travis.yml new file mode 100644 index 0000000000..f1d0f13c8a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - 0.4 + - 0.6 diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/LICENSE b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/LICENSE new file mode 100644 index 0000000000..ee27ba4b44 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/LICENSE @@ -0,0 +1,18 @@ +This software is released under the MIT license: + +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. diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/README.markdown b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/README.markdown new file mode 100644 index 0000000000..408f70a1be --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/README.markdown @@ -0,0 +1,62 @@ +concat-map +========== + +Concatenative mapdashery. + +[![browser support](http://ci.testling.com/substack/node-concat-map.png)](http://ci.testling.com/substack/node-concat-map) + +[![build status](https://secure.travis-ci.org/substack/node-concat-map.png)](http://travis-ci.org/substack/node-concat-map) + +example +======= + +``` js +var concatMap = require('concat-map'); +var xs = [ 1, 2, 3, 4, 5, 6 ]; +var ys = concatMap(xs, function (x) { + return x % 2 ? [ x - 0.1, x, x + 0.1 ] : []; +}); +console.dir(ys); +``` + +*** + +``` +[ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ] +``` + +methods +======= + +``` js +var concatMap = require('concat-map') +``` + +concatMap(xs, fn) +----------------- + +Return an array of concatenated elements by calling `fn(x, i)` for each element +`x` and each index `i` in the array `xs`. + +When `fn(x, i)` returns an array, its result will be concatenated with the +result array. If `fn(x, i)` returns anything else, that value will be pushed +onto the end of the result array. + +install +======= + +With [npm](http://npmjs.org) do: + +``` +npm install concat-map +``` + +license +======= + +MIT + +notes +===== + +This module was written while sitting high above the ground in a tree. diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/example/map.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/example/map.js new file mode 100644 index 0000000000..33656217b6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/example/map.js @@ -0,0 +1,6 @@ +var concatMap = require('../'); +var xs = [ 1, 2, 3, 4, 5, 6 ]; +var ys = concatMap(xs, function (x) { + return x % 2 ? [ x - 0.1, x, x + 0.1 ] : []; +}); +console.dir(ys); diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/index.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/index.js new file mode 100644 index 0000000000..b29a7812e5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/index.js @@ -0,0 +1,13 @@ +module.exports = function (xs, fn) { + var res = []; + for (var i = 0; i < xs.length; i++) { + var x = fn(xs[i], i); + if (isArray(x)) res.push.apply(res, x); + else res.push(x); + } + return res; +}; + +var isArray = Array.isArray || function (xs) { + return Object.prototype.toString.call(xs) === '[object Array]'; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/package.json b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/package.json new file mode 100644 index 0000000000..d3640e6b02 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/package.json @@ -0,0 +1,43 @@ +{ + "name" : "concat-map", + "description" : "concatenative mapdashery", + "version" : "0.0.1", + "repository" : { + "type" : "git", + "url" : "git://github.com/substack/node-concat-map.git" + }, + "main" : "index.js", + "keywords" : [ + "concat", + "concatMap", + "map", + "functional", + "higher-order" + ], + "directories" : { + "example" : "example", + "test" : "test" + }, + "scripts" : { + "test" : "tape test/*.js" + }, + "devDependencies" : { + "tape" : "~2.4.0" + }, + "license" : "MIT", + "author" : { + "name" : "James Halliday", + "email" : "mail@substack.net", + "url" : "http://substack.net" + }, + "testling" : { + "files" : "test/*.js", + "browsers" : { + "ie" : [ 6, 7, 8, 9 ], + "ff" : [ 3.5, 10, 15.0 ], + "chrome" : [ 10, 22 ], + "safari" : [ 5.1 ], + "opera" : [ 12 ] + } + } +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/test/map.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/test/map.js new file mode 100644 index 0000000000..fdbd7022f6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/concat-map/0.0.1/node_modules/concat-map/test/map.js @@ -0,0 +1,39 @@ +var concatMap = require('../'); +var test = require('tape'); + +test('empty or not', function (t) { + var xs = [ 1, 2, 3, 4, 5, 6 ]; + var ixes = []; + var ys = concatMap(xs, function (x, ix) { + ixes.push(ix); + return x % 2 ? [ x - 0.1, x, x + 0.1 ] : []; + }); + t.same(ys, [ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ]); + t.same(ixes, [ 0, 1, 2, 3, 4, 5 ]); + t.end(); +}); + +test('always something', function (t) { + var xs = [ 'a', 'b', 'c', 'd' ]; + var ys = concatMap(xs, function (x) { + return x === 'b' ? [ 'B', 'B', 'B' ] : [ x ]; + }); + t.same(ys, [ 'a', 'B', 'B', 'B', 'c', 'd' ]); + t.end(); +}); + +test('scalars', function (t) { + var xs = [ 'a', 'b', 'c', 'd' ]; + var ys = concatMap(xs, function (x) { + return x === 'b' ? [ 'B', 'B', 'B' ] : x; + }); + t.same(ys, [ 'a', 'B', 'B', 'B', 'c', 'd' ]); + t.end(); +}); + +test('undefs', function (t) { + var xs = [ 'a', 'b', 'c', 'd' ]; + var ys = concatMap(xs, function () {}); + t.same(ys, [ undefined, undefined, undefined, undefined ]); + t.end(); +}); diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/LICENSE b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/LICENSE new file mode 100644 index 0000000000..19129e315f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/README.md b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/README.md new file mode 100644 index 0000000000..6960483bac --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/README.md @@ -0,0 +1,359 @@ +# Glob + +Match files using the patterns the shell uses, like stars and stuff. + +[![Build Status](https://travis-ci.org/isaacs/node-glob.svg?branch=master)](https://travis-ci.org/isaacs/node-glob/) [![Build Status](https://ci.appveyor.com/api/projects/status/kd7f3yftf7unxlsx?svg=true)](https://ci.appveyor.com/project/isaacs/node-glob) [![Coverage Status](https://coveralls.io/repos/isaacs/node-glob/badge.svg?branch=master&service=github)](https://coveralls.io/github/isaacs/node-glob?branch=master) + +This is a glob implementation in JavaScript. It uses the `minimatch` +library to do its matching. + +![](oh-my-glob.gif) + +## Usage + +```javascript +var glob = require("glob") + +// options is optional +glob("**/*.js", options, function (er, files) { + // files is an array of filenames. + // If the `nonull` option is set, and nothing + // was found, then files is ["**/*.js"] + // er is an error object or null. +}) +``` + +## Glob Primer + +"Globs" are the patterns you type when you do stuff like `ls *.js` on +the command line, or put `build/*` in a `.gitignore` file. + +Before parsing the path part patterns, braced sections are expanded +into a set. Braced sections start with `{` and end with `}`, with any +number of comma-delimited sections within. Braced sections may contain +slash characters, so `a{/b/c,bcd}` would expand into `a/b/c` and `abcd`. + +The following characters have special magic meaning when used in a +path portion: + +* `*` Matches 0 or more characters in a single path portion +* `?` Matches 1 character +* `[...]` Matches a range of characters, similar to a RegExp range. + If the first character of the range is `!` or `^` then it matches + any character not in the range. +* `!(pattern|pattern|pattern)` Matches anything that does not match + any of the patterns provided. +* `?(pattern|pattern|pattern)` Matches zero or one occurrence of the + patterns provided. +* `+(pattern|pattern|pattern)` Matches one or more occurrences of the + patterns provided. +* `*(a|b|c)` Matches zero or more occurrences of the patterns provided +* `@(pattern|pat*|pat?erN)` Matches exactly one of the patterns + provided +* `**` If a "globstar" is alone in a path portion, then it matches + zero or more directories and subdirectories searching for matches. + It does not crawl symlinked directories. + +### Dots + +If a file or directory path portion has a `.` as the first character, +then it will not match any glob pattern unless that pattern's +corresponding path part also has a `.` as its first character. + +For example, the pattern `a/.*/c` would match the file at `a/.b/c`. +However the pattern `a/*/c` would not, because `*` does not start with +a dot character. + +You can make glob treat dots as normal characters by setting +`dot:true` in the options. + +### Basename Matching + +If you set `matchBase:true` in the options, and the pattern has no +slashes in it, then it will seek for any file anywhere in the tree +with a matching basename. For example, `*.js` would match +`test/simple/basic.js`. + +### Empty Sets + +If no matching files are found, then an empty array is returned. This +differs from the shell, where the pattern itself is returned. For +example: + + $ echo a*s*d*f + a*s*d*f + +To get the bash-style behavior, set the `nonull:true` in the options. + +### See Also: + +* `man sh` +* `man bash` (Search for "Pattern Matching") +* `man 3 fnmatch` +* `man 5 gitignore` +* [minimatch documentation](https://github.com/isaacs/minimatch) + +## glob.hasMagic(pattern, [options]) + +Returns `true` if there are any special characters in the pattern, and +`false` otherwise. + +Note that the options affect the results. If `noext:true` is set in +the options object, then `+(a|b)` will not be considered a magic +pattern. If the pattern has a brace expansion, like `a/{b/c,x/y}` +then that is considered magical, unless `nobrace:true` is set in the +options. + +## glob(pattern, [options], cb) + +* `pattern` `{String}` Pattern to be matched +* `options` `{Object}` +* `cb` `{Function}` + * `err` `{Error | null}` + * `matches` `{Array}` filenames found matching the pattern + +Perform an asynchronous glob search. + +## glob.sync(pattern, [options]) + +* `pattern` `{String}` Pattern to be matched +* `options` `{Object}` +* return: `{Array}` filenames found matching the pattern + +Perform a synchronous glob search. + +## Class: glob.Glob + +Create a Glob object by instantiating the `glob.Glob` class. + +```javascript +var Glob = require("glob").Glob +var mg = new Glob(pattern, options, cb) +``` + +It's an EventEmitter, and starts walking the filesystem to find matches +immediately. + +### new glob.Glob(pattern, [options], [cb]) + +* `pattern` `{String}` pattern to search for +* `options` `{Object}` +* `cb` `{Function}` Called when an error occurs, or matches are found + * `err` `{Error | null}` + * `matches` `{Array}` filenames found matching the pattern + +Note that if the `sync` flag is set in the options, then matches will +be immediately available on the `g.found` member. + +### Properties + +* `minimatch` The minimatch object that the glob uses. +* `options` The options object passed in. +* `aborted` Boolean which is set to true when calling `abort()`. There + is no way at this time to continue a glob search after aborting, but + you can re-use the statCache to avoid having to duplicate syscalls. +* `cache` Convenience object. Each field has the following possible + values: + * `false` - Path does not exist + * `true` - Path exists + * `'FILE'` - Path exists, and is not a directory + * `'DIR'` - Path exists, and is a directory + * `[file, entries, ...]` - Path exists, is a directory, and the + array value is the results of `fs.readdir` +* `statCache` Cache of `fs.stat` results, to prevent statting the same + path multiple times. +* `symlinks` A record of which paths are symbolic links, which is + relevant in resolving `**` patterns. +* `realpathCache` An optional object which is passed to `fs.realpath` + to minimize unnecessary syscalls. It is stored on the instantiated + Glob object, and may be re-used. + +### Events + +* `end` When the matching is finished, this is emitted with all the + matches found. If the `nonull` option is set, and no match was found, + then the `matches` list contains the original pattern. The matches + are sorted, unless the `nosort` flag is set. +* `match` Every time a match is found, this is emitted with the specific + thing that matched. It is not deduplicated or resolved to a realpath. +* `error` Emitted when an unexpected error is encountered, or whenever + any fs error occurs if `options.strict` is set. +* `abort` When `abort()` is called, this event is raised. + +### Methods + +* `pause` Temporarily stop the search +* `resume` Resume the search +* `abort` Stop the search forever + +### Options + +All the options that can be passed to Minimatch can also be passed to +Glob to change pattern matching behavior. Also, some have been added, +or have glob-specific ramifications. + +All options are false by default, unless otherwise noted. + +All options are added to the Glob object, as well. + +If you are running many `glob` operations, you can pass a Glob object +as the `options` argument to a subsequent operation to shortcut some +`stat` and `readdir` calls. At the very least, you may pass in shared +`symlinks`, `statCache`, `realpathCache`, and `cache` options, so that +parallel glob operations will be sped up by sharing information about +the filesystem. + +* `cwd` The current working directory in which to search. Defaults + to `process.cwd()`. +* `root` The place where patterns starting with `/` will be mounted + onto. Defaults to `path.resolve(options.cwd, "/")` (`/` on Unix + systems, and `C:\` or some such on Windows.) +* `dot` Include `.dot` files in normal matches and `globstar` matches. + Note that an explicit dot in a portion of the pattern will always + match dot files. +* `nomount` By default, a pattern starting with a forward-slash will be + "mounted" onto the root setting, so that a valid filesystem path is + returned. Set this flag to disable that behavior. +* `mark` Add a `/` character to directory matches. Note that this + requires additional stat calls. +* `nosort` Don't sort the results. +* `stat` Set to true to stat *all* results. This reduces performance + somewhat, and is completely unnecessary, unless `readdir` is presumed + to be an untrustworthy indicator of file existence. +* `silent` When an unusual error is encountered when attempting to + read a directory, a warning will be printed to stderr. Set the + `silent` option to true to suppress these warnings. +* `strict` When an unusual error is encountered when attempting to + read a directory, the process will just continue on in search of + other matches. Set the `strict` option to raise an error in these + cases. +* `cache` See `cache` property above. Pass in a previously generated + cache object to save some fs calls. +* `statCache` A cache of results of filesystem information, to prevent + unnecessary stat calls. While it should not normally be necessary + to set this, you may pass the statCache from one glob() call to the + options object of another, if you know that the filesystem will not + change between calls. (See "Race Conditions" below.) +* `symlinks` A cache of known symbolic links. You may pass in a + previously generated `symlinks` object to save `lstat` calls when + resolving `**` matches. +* `sync` DEPRECATED: use `glob.sync(pattern, opts)` instead. +* `nounique` In some cases, brace-expanded patterns can result in the + same file showing up multiple times in the result set. By default, + this implementation prevents duplicates in the result set. Set this + flag to disable that behavior. +* `nonull` Set to never return an empty set, instead returning a set + containing the pattern itself. This is the default in glob(3). +* `debug` Set to enable debug logging in minimatch and glob. +* `nobrace` Do not expand `{a,b}` and `{1..3}` brace sets. +* `noglobstar` Do not match `**` against multiple filenames. (Ie, + treat it as a normal `*` instead.) +* `noext` Do not match `+(a|b)` "extglob" patterns. +* `nocase` Perform a case-insensitive match. Note: on + case-insensitive filesystems, non-magic patterns will match by + default, since `stat` and `readdir` will not raise errors. +* `matchBase` Perform a basename-only match if the pattern does not + contain any slash characters. That is, `*.js` would be treated as + equivalent to `**/*.js`, matching all js files in all directories. +* `nodir` Do not match directories, only files. (Note: to match + *only* directories, simply put a `/` at the end of the pattern.) +* `ignore` Add a pattern or an array of glob patterns to exclude matches. + Note: `ignore` patterns are *always* in `dot:true` mode, regardless + of any other settings. +* `follow` Follow symlinked directories when expanding `**` patterns. + Note that this can result in a lot of duplicate references in the + presence of cyclic links. +* `realpath` Set to true to call `fs.realpath` on all of the results. + In the case of a symlink that cannot be resolved, the full absolute + path to the matched entry is returned (though it will usually be a + broken symlink) + +## Comparisons to other fnmatch/glob implementations + +While strict compliance with the existing standards is a worthwhile +goal, some discrepancies exist between node-glob and other +implementations, and are intentional. + +The double-star character `**` is supported by default, unless the +`noglobstar` flag is set. This is supported in the manner of bsdglob +and bash 4.3, where `**` only has special significance if it is the only +thing in a path part. That is, `a/**/b` will match `a/x/y/b`, but +`a/**b` will not. + +Note that symlinked directories are not crawled as part of a `**`, +though their contents may match against subsequent portions of the +pattern. This prevents infinite loops and duplicates and the like. + +If an escaped pattern has no matches, and the `nonull` flag is set, +then glob returns the pattern as-provided, rather than +interpreting the character escapes. For example, +`glob.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than +`"*a?"`. This is akin to setting the `nullglob` option in bash, except +that it does not resolve escaped pattern characters. + +If brace expansion is not disabled, then it is performed before any +other interpretation of the glob pattern. Thus, a pattern like +`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded +**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are +checked for validity. Since those two are valid, matching proceeds. + +### Comments and Negation + +Previously, this module let you mark a pattern as a "comment" if it +started with a `#` character, or a "negated" pattern if it started +with a `!` character. + +These options were deprecated in version 5, and removed in version 6. + +To specify things that should not match, use the `ignore` option. + +## Windows + +**Please only use forward-slashes in glob expressions.** + +Though windows uses either `/` or `\` as its path separator, only `/` +characters are used by this glob implementation. You must use +forward-slashes **only** in glob expressions. Back-slashes will always +be interpreted as escape characters, not path separators. + +Results from absolute patterns such as `/foo/*` are mounted onto the +root setting using `path.join`. On windows, this will by default result +in `/foo/*` matching `C:\foo\bar.txt`. + +## Race Conditions + +Glob searching, by its very nature, is susceptible to race conditions, +since it relies on directory walking and such. + +As a result, it is possible that a file that exists when glob looks for +it may have been deleted or modified by the time it returns the result. + +As part of its internal implementation, this program caches all stat +and readdir calls that it makes, in order to cut down on system +overhead. However, this also makes it even more susceptible to races, +especially if the cache or statCache objects are reused between glob +calls. + +Users are thus advised not to use a glob result as a guarantee of +filesystem state in the face of rapid changes. For the vast majority +of operations, this is never a problem. + +## Contributing + +Any change to behavior (including bugfixes) must come with a test. + +Patches that fail tests or reduce performance will be rejected. + +``` +# to run tests +npm test + +# to re-generate test fixtures +npm run test-regen + +# to benchmark against bash/zsh +npm run bench + +# to profile javascript +npm run prof +``` diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/common.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/common.js new file mode 100644 index 0000000000..c9127eb334 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/common.js @@ -0,0 +1,226 @@ +exports.alphasort = alphasort +exports.alphasorti = alphasorti +exports.setopts = setopts +exports.ownProp = ownProp +exports.makeAbs = makeAbs +exports.finish = finish +exports.mark = mark +exports.isIgnored = isIgnored +exports.childrenIgnored = childrenIgnored + +function ownProp (obj, field) { + return Object.prototype.hasOwnProperty.call(obj, field) +} + +var path = require("path") +var minimatch = require("minimatch") +var isAbsolute = require("path-is-absolute") +var Minimatch = minimatch.Minimatch + +function alphasorti (a, b) { + return a.toLowerCase().localeCompare(b.toLowerCase()) +} + +function alphasort (a, b) { + return a.localeCompare(b) +} + +function setupIgnores (self, options) { + self.ignore = options.ignore || [] + + if (!Array.isArray(self.ignore)) + self.ignore = [self.ignore] + + if (self.ignore.length) { + self.ignore = self.ignore.map(ignoreMap) + } +} + +// ignore patterns are always in dot:true mode. +function ignoreMap (pattern) { + var gmatcher = null + if (pattern.slice(-3) === '/**') { + var gpattern = pattern.replace(/(\/\*\*)+$/, '') + gmatcher = new Minimatch(gpattern, { dot: true }) + } + + return { + matcher: new Minimatch(pattern, { dot: true }), + gmatcher: gmatcher + } +} + +function setopts (self, pattern, options) { + if (!options) + options = {} + + // base-matching: just use globstar for that. + if (options.matchBase && -1 === pattern.indexOf("/")) { + if (options.noglobstar) { + throw new Error("base matching requires globstar") + } + pattern = "**/" + pattern + } + + self.silent = !!options.silent + self.pattern = pattern + self.strict = options.strict !== false + self.realpath = !!options.realpath + self.realpathCache = options.realpathCache || Object.create(null) + self.follow = !!options.follow + self.dot = !!options.dot + self.mark = !!options.mark + self.nodir = !!options.nodir + if (self.nodir) + self.mark = true + self.sync = !!options.sync + self.nounique = !!options.nounique + self.nonull = !!options.nonull + self.nosort = !!options.nosort + self.nocase = !!options.nocase + self.stat = !!options.stat + self.noprocess = !!options.noprocess + + self.maxLength = options.maxLength || Infinity + self.cache = options.cache || Object.create(null) + self.statCache = options.statCache || Object.create(null) + self.symlinks = options.symlinks || Object.create(null) + + setupIgnores(self, options) + + self.changedCwd = false + var cwd = process.cwd() + if (!ownProp(options, "cwd")) + self.cwd = cwd + else { + self.cwd = options.cwd + self.changedCwd = path.resolve(options.cwd) !== cwd + } + + self.root = options.root || path.resolve(self.cwd, "/") + self.root = path.resolve(self.root) + if (process.platform === "win32") + self.root = self.root.replace(/\\/g, "/") + + self.nomount = !!options.nomount + + // disable comments and negation in Minimatch. + // Note that they are not supported in Glob itself anyway. + options.nonegate = true + options.nocomment = true + + self.minimatch = new Minimatch(pattern, options) + self.options = self.minimatch.options +} + +function finish (self) { + var nou = self.nounique + var all = nou ? [] : Object.create(null) + + for (var i = 0, l = self.matches.length; i < l; i ++) { + var matches = self.matches[i] + if (!matches || Object.keys(matches).length === 0) { + if (self.nonull) { + // do like the shell, and spit out the literal glob + var literal = self.minimatch.globSet[i] + if (nou) + all.push(literal) + else + all[literal] = true + } + } else { + // had matches + var m = Object.keys(matches) + if (nou) + all.push.apply(all, m) + else + m.forEach(function (m) { + all[m] = true + }) + } + } + + if (!nou) + all = Object.keys(all) + + if (!self.nosort) + all = all.sort(self.nocase ? alphasorti : alphasort) + + // at *some* point we statted all of these + if (self.mark) { + for (var i = 0; i < all.length; i++) { + all[i] = self._mark(all[i]) + } + if (self.nodir) { + all = all.filter(function (e) { + return !(/\/$/.test(e)) + }) + } + } + + if (self.ignore.length) + all = all.filter(function(m) { + return !isIgnored(self, m) + }) + + self.found = all +} + +function mark (self, p) { + var abs = makeAbs(self, p) + var c = self.cache[abs] + var m = p + if (c) { + var isDir = c === 'DIR' || Array.isArray(c) + var slash = p.slice(-1) === '/' + + if (isDir && !slash) + m += '/' + else if (!isDir && slash) + m = m.slice(0, -1) + + if (m !== p) { + var mabs = makeAbs(self, m) + self.statCache[mabs] = self.statCache[abs] + self.cache[mabs] = self.cache[abs] + } + } + + return m +} + +// lotta situps... +function makeAbs (self, f) { + var abs = f + if (f.charAt(0) === '/') { + abs = path.join(self.root, f) + } else if (isAbsolute(f) || f === '') { + abs = f + } else if (self.changedCwd) { + abs = path.resolve(self.cwd, f) + } else { + abs = path.resolve(f) + } + return abs +} + + +// Return true, if pattern ends with globstar '**', for the accompanying parent directory. +// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents +function isIgnored (self, path) { + if (!self.ignore.length) + return false + + return self.ignore.some(function(item) { + return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path)) + }) +} + +function childrenIgnored (self, path) { + if (!self.ignore.length) + return false + + return self.ignore.some(function(item) { + return !!(item.gmatcher && item.gmatcher.match(path)) + }) +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/glob.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/glob.js new file mode 100644 index 0000000000..a62da27ebd --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/glob.js @@ -0,0 +1,765 @@ +// Approach: +// +// 1. Get the minimatch set +// 2. For each pattern in the set, PROCESS(pattern, false) +// 3. Store matches per-set, then uniq them +// +// PROCESS(pattern, inGlobStar) +// Get the first [n] items from pattern that are all strings +// Join these together. This is PREFIX. +// If there is no more remaining, then stat(PREFIX) and +// add to matches if it succeeds. END. +// +// If inGlobStar and PREFIX is symlink and points to dir +// set ENTRIES = [] +// else readdir(PREFIX) as ENTRIES +// If fail, END +// +// with ENTRIES +// If pattern[n] is GLOBSTAR +// // handle the case where the globstar match is empty +// // by pruning it out, and testing the resulting pattern +// PROCESS(pattern[0..n] + pattern[n+1 .. $], false) +// // handle other cases. +// for ENTRY in ENTRIES (not dotfiles) +// // attach globstar + tail onto the entry +// // Mark that this entry is a globstar match +// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true) +// +// else // not globstar +// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot) +// Test ENTRY against pattern[n] +// If fails, continue +// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $]) +// +// Caveat: +// Cache all stats and readdirs results to minimize syscall. Since all +// we ever care about is existence and directory-ness, we can just keep +// `true` for files, and [children,...] for directories, or `false` for +// things that don't exist. + +module.exports = glob + +var fs = require('fs') +var minimatch = require('minimatch') +var Minimatch = minimatch.Minimatch +var inherits = require('inherits') +var EE = require('events').EventEmitter +var path = require('path') +var assert = require('assert') +var isAbsolute = require('path-is-absolute') +var globSync = require('./sync.js') +var common = require('./common.js') +var alphasort = common.alphasort +var alphasorti = common.alphasorti +var setopts = common.setopts +var ownProp = common.ownProp +var inflight = require('inflight') +var util = require('util') +var childrenIgnored = common.childrenIgnored +var isIgnored = common.isIgnored + +var once = require('once') + +function glob (pattern, options, cb) { + if (typeof options === 'function') cb = options, options = {} + if (!options) options = {} + + if (options.sync) { + if (cb) + throw new TypeError('callback provided to sync glob') + return globSync(pattern, options) + } + + return new Glob(pattern, options, cb) +} + +glob.sync = globSync +var GlobSync = glob.GlobSync = globSync.GlobSync + +// old api surface +glob.glob = glob + +function extend (origin, add) { + if (add === null || typeof add !== 'object') { + return origin + } + + var keys = Object.keys(add) + var i = keys.length + while (i--) { + origin[keys[i]] = add[keys[i]] + } + return origin +} + +glob.hasMagic = function (pattern, options_) { + var options = extend({}, options_) + options.noprocess = true + + var g = new Glob(pattern, options) + var set = g.minimatch.set + if (set.length > 1) + return true + + for (var j = 0; j < set[0].length; j++) { + if (typeof set[0][j] !== 'string') + return true + } + + return false +} + +glob.Glob = Glob +inherits(Glob, EE) +function Glob (pattern, options, cb) { + if (typeof options === 'function') { + cb = options + options = null + } + + if (options && options.sync) { + if (cb) + throw new TypeError('callback provided to sync glob') + return new GlobSync(pattern, options) + } + + if (!(this instanceof Glob)) + return new Glob(pattern, options, cb) + + setopts(this, pattern, options) + this._didRealPath = false + + // process each pattern in the minimatch set + var n = this.minimatch.set.length + + // The matches are stored as {: true,...} so that + // duplicates are automagically pruned. + // Later, we do an Object.keys() on these. + // Keep them as a list so we can fill in when nonull is set. + this.matches = new Array(n) + + if (typeof cb === 'function') { + cb = once(cb) + this.on('error', cb) + this.on('end', function (matches) { + cb(null, matches) + }) + } + + var self = this + var n = this.minimatch.set.length + this._processing = 0 + this.matches = new Array(n) + + this._emitQueue = [] + this._processQueue = [] + this.paused = false + + if (this.noprocess) + return this + + if (n === 0) + return done() + + for (var i = 0; i < n; i ++) { + this._process(this.minimatch.set[i], i, false, done) + } + + function done () { + --self._processing + if (self._processing <= 0) + self._finish() + } +} + +Glob.prototype._finish = function () { + assert(this instanceof Glob) + if (this.aborted) + return + + if (this.realpath && !this._didRealpath) + return this._realpath() + + common.finish(this) + this.emit('end', this.found) +} + +Glob.prototype._realpath = function () { + if (this._didRealpath) + return + + this._didRealpath = true + + var n = this.matches.length + if (n === 0) + return this._finish() + + var self = this + for (var i = 0; i < this.matches.length; i++) + this._realpathSet(i, next) + + function next () { + if (--n === 0) + self._finish() + } +} + +Glob.prototype._realpathSet = function (index, cb) { + var matchset = this.matches[index] + if (!matchset) + return cb() + + var found = Object.keys(matchset) + var self = this + var n = found.length + + if (n === 0) + return cb() + + var set = this.matches[index] = Object.create(null) + found.forEach(function (p, i) { + // If there's a problem with the stat, then it means that + // one or more of the links in the realpath couldn't be + // resolved. just return the abs value in that case. + p = self._makeAbs(p) + fs.realpath(p, self.realpathCache, function (er, real) { + if (!er) + set[real] = true + else if (er.syscall === 'stat') + set[p] = true + else + self.emit('error', er) // srsly wtf right here + + if (--n === 0) { + self.matches[index] = set + cb() + } + }) + }) +} + +Glob.prototype._mark = function (p) { + return common.mark(this, p) +} + +Glob.prototype._makeAbs = function (f) { + return common.makeAbs(this, f) +} + +Glob.prototype.abort = function () { + this.aborted = true + this.emit('abort') +} + +Glob.prototype.pause = function () { + if (!this.paused) { + this.paused = true + this.emit('pause') + } +} + +Glob.prototype.resume = function () { + if (this.paused) { + this.emit('resume') + this.paused = false + if (this._emitQueue.length) { + var eq = this._emitQueue.slice(0) + this._emitQueue.length = 0 + for (var i = 0; i < eq.length; i ++) { + var e = eq[i] + this._emitMatch(e[0], e[1]) + } + } + if (this._processQueue.length) { + var pq = this._processQueue.slice(0) + this._processQueue.length = 0 + for (var i = 0; i < pq.length; i ++) { + var p = pq[i] + this._processing-- + this._process(p[0], p[1], p[2], p[3]) + } + } + } +} + +Glob.prototype._process = function (pattern, index, inGlobStar, cb) { + assert(this instanceof Glob) + assert(typeof cb === 'function') + + if (this.aborted) + return + + this._processing++ + if (this.paused) { + this._processQueue.push([pattern, index, inGlobStar, cb]) + return + } + + //console.error('PROCESS %d', this._processing, pattern) + + // Get the first [n] parts of pattern that are all strings. + var n = 0 + while (typeof pattern[n] === 'string') { + n ++ + } + // now n is the index of the first one that is *not* a string. + + // see if there's anything else + var prefix + switch (n) { + // if not, then this is rather simple + case pattern.length: + this._processSimple(pattern.join('/'), index, cb) + return + + case 0: + // pattern *starts* with some non-trivial item. + // going to readdir(cwd), but not include the prefix in matches. + prefix = null + break + + default: + // pattern has some string bits in the front. + // whatever it starts with, whether that's 'absolute' like /foo/bar, + // or 'relative' like '../baz' + prefix = pattern.slice(0, n).join('/') + break + } + + var remain = pattern.slice(n) + + // get the list of entries. + var read + if (prefix === null) + read = '.' + else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) { + if (!prefix || !isAbsolute(prefix)) + prefix = '/' + prefix + read = prefix + } else + read = prefix + + var abs = this._makeAbs(read) + + //if ignored, skip _processing + if (childrenIgnored(this, read)) + return cb() + + var isGlobStar = remain[0] === minimatch.GLOBSTAR + if (isGlobStar) + this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb) + else + this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb) +} + +Glob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) { + var self = this + this._readdir(abs, inGlobStar, function (er, entries) { + return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb) + }) +} + +Glob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { + + // if the abs isn't a dir, then nothing can match! + if (!entries) + return cb() + + // It will only match dot entries if it starts with a dot, or if + // dot is set. Stuff like @(.foo|.bar) isn't allowed. + var pn = remain[0] + var negate = !!this.minimatch.negate + var rawGlob = pn._glob + var dotOk = this.dot || rawGlob.charAt(0) === '.' + + var matchedEntries = [] + for (var i = 0; i < entries.length; i++) { + var e = entries[i] + if (e.charAt(0) !== '.' || dotOk) { + var m + if (negate && !prefix) { + m = !e.match(pn) + } else { + m = e.match(pn) + } + if (m) + matchedEntries.push(e) + } + } + + //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries) + + var len = matchedEntries.length + // If there are no matched entries, then nothing matches. + if (len === 0) + return cb() + + // if this is the last remaining pattern bit, then no need for + // an additional stat *unless* the user has specified mark or + // stat explicitly. We know they exist, since readdir returned + // them. + + if (remain.length === 1 && !this.mark && !this.stat) { + if (!this.matches[index]) + this.matches[index] = Object.create(null) + + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + if (prefix) { + if (prefix !== '/') + e = prefix + '/' + e + else + e = prefix + e + } + + if (e.charAt(0) === '/' && !this.nomount) { + e = path.join(this.root, e) + } + this._emitMatch(index, e) + } + // This was the last one, and no stats were needed + return cb() + } + + // now test all matched entries as stand-ins for that part + // of the pattern. + remain.shift() + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + var newPattern + if (prefix) { + if (prefix !== '/') + e = prefix + '/' + e + else + e = prefix + e + } + this._process([e].concat(remain), index, inGlobStar, cb) + } + cb() +} + +Glob.prototype._emitMatch = function (index, e) { + if (this.aborted) + return + + if (this.matches[index][e]) + return + + if (isIgnored(this, e)) + return + + if (this.paused) { + this._emitQueue.push([index, e]) + return + } + + var abs = this._makeAbs(e) + + if (this.nodir) { + var c = this.cache[abs] + if (c === 'DIR' || Array.isArray(c)) + return + } + + if (this.mark) + e = this._mark(e) + + this.matches[index][e] = true + + var st = this.statCache[abs] + if (st) + this.emit('stat', e, st) + + this.emit('match', e) +} + +Glob.prototype._readdirInGlobStar = function (abs, cb) { + if (this.aborted) + return + + // follow all symlinked directories forever + // just proceed as if this is a non-globstar situation + if (this.follow) + return this._readdir(abs, false, cb) + + var lstatkey = 'lstat\0' + abs + var self = this + var lstatcb = inflight(lstatkey, lstatcb_) + + if (lstatcb) + fs.lstat(abs, lstatcb) + + function lstatcb_ (er, lstat) { + if (er) + return cb() + + var isSym = lstat.isSymbolicLink() + self.symlinks[abs] = isSym + + // If it's not a symlink or a dir, then it's definitely a regular file. + // don't bother doing a readdir in that case. + if (!isSym && !lstat.isDirectory()) { + self.cache[abs] = 'FILE' + cb() + } else + self._readdir(abs, false, cb) + } +} + +Glob.prototype._readdir = function (abs, inGlobStar, cb) { + if (this.aborted) + return + + cb = inflight('readdir\0'+abs+'\0'+inGlobStar, cb) + if (!cb) + return + + //console.error('RD %j %j', +inGlobStar, abs) + if (inGlobStar && !ownProp(this.symlinks, abs)) + return this._readdirInGlobStar(abs, cb) + + if (ownProp(this.cache, abs)) { + var c = this.cache[abs] + if (!c || c === 'FILE') + return cb() + + if (Array.isArray(c)) + return cb(null, c) + } + + var self = this + fs.readdir(abs, readdirCb(this, abs, cb)) +} + +function readdirCb (self, abs, cb) { + return function (er, entries) { + if (er) + self._readdirError(abs, er, cb) + else + self._readdirEntries(abs, entries, cb) + } +} + +Glob.prototype._readdirEntries = function (abs, entries, cb) { + if (this.aborted) + return + + // if we haven't asked to stat everything, then just + // assume that everything in there exists, so we can avoid + // having to stat it a second time. + if (!this.mark && !this.stat) { + for (var i = 0; i < entries.length; i ++) { + var e = entries[i] + if (abs === '/') + e = abs + e + else + e = abs + '/' + e + this.cache[e] = true + } + } + + this.cache[abs] = entries + return cb(null, entries) +} + +Glob.prototype._readdirError = function (f, er, cb) { + if (this.aborted) + return + + // handle errors, and cache the information + switch (er.code) { + case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 + case 'ENOTDIR': // totally normal. means it *does* exist. + this.cache[this._makeAbs(f)] = 'FILE' + break + + case 'ENOENT': // not terribly unusual + case 'ELOOP': + case 'ENAMETOOLONG': + case 'UNKNOWN': + this.cache[this._makeAbs(f)] = false + break + + default: // some unusual error. Treat as failure. + this.cache[this._makeAbs(f)] = false + if (this.strict) { + this.emit('error', er) + // If the error is handled, then we abort + // if not, we threw out of here + this.abort() + } + if (!this.silent) + console.error('glob error', er) + break + } + + return cb() +} + +Glob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) { + var self = this + this._readdir(abs, inGlobStar, function (er, entries) { + self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb) + }) +} + + +Glob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { + //console.error('pgs2', prefix, remain[0], entries) + + // no entries means not a dir, so it can never have matches + // foo.txt/** doesn't match foo.txt + if (!entries) + return cb() + + // test without the globstar, and with every child both below + // and replacing the globstar. + var remainWithoutGlobStar = remain.slice(1) + var gspref = prefix ? [ prefix ] : [] + var noGlobStar = gspref.concat(remainWithoutGlobStar) + + // the noGlobStar pattern exits the inGlobStar state + this._process(noGlobStar, index, false, cb) + + var isSym = this.symlinks[abs] + var len = entries.length + + // If it's a symlink, and we're in a globstar, then stop + if (isSym && inGlobStar) + return cb() + + for (var i = 0; i < len; i++) { + var e = entries[i] + if (e.charAt(0) === '.' && !this.dot) + continue + + // these two cases enter the inGlobStar state + var instead = gspref.concat(entries[i], remainWithoutGlobStar) + this._process(instead, index, true, cb) + + var below = gspref.concat(entries[i], remain) + this._process(below, index, true, cb) + } + + cb() +} + +Glob.prototype._processSimple = function (prefix, index, cb) { + // XXX review this. Shouldn't it be doing the mounting etc + // before doing stat? kinda weird? + var self = this + this._stat(prefix, function (er, exists) { + self._processSimple2(prefix, index, er, exists, cb) + }) +} +Glob.prototype._processSimple2 = function (prefix, index, er, exists, cb) { + + //console.error('ps2', prefix, exists) + + if (!this.matches[index]) + this.matches[index] = Object.create(null) + + // If it doesn't exist, then just mark the lack of results + if (!exists) + return cb() + + if (prefix && isAbsolute(prefix) && !this.nomount) { + var trail = /[\/\\]$/.test(prefix) + if (prefix.charAt(0) === '/') { + prefix = path.join(this.root, prefix) + } else { + prefix = path.resolve(this.root, prefix) + if (trail) + prefix += '/' + } + } + + if (process.platform === 'win32') + prefix = prefix.replace(/\\/g, '/') + + // Mark this as a match + this._emitMatch(index, prefix) + cb() +} + +// Returns either 'DIR', 'FILE', or false +Glob.prototype._stat = function (f, cb) { + var abs = this._makeAbs(f) + var needDir = f.slice(-1) === '/' + + if (f.length > this.maxLength) + return cb() + + if (!this.stat && ownProp(this.cache, abs)) { + var c = this.cache[abs] + + if (Array.isArray(c)) + c = 'DIR' + + // It exists, but maybe not how we need it + if (!needDir || c === 'DIR') + return cb(null, c) + + if (needDir && c === 'FILE') + return cb() + + // otherwise we have to stat, because maybe c=true + // if we know it exists, but not what it is. + } + + var exists + var stat = this.statCache[abs] + if (stat !== undefined) { + if (stat === false) + return cb(null, stat) + else { + var type = stat.isDirectory() ? 'DIR' : 'FILE' + if (needDir && type === 'FILE') + return cb() + else + return cb(null, type, stat) + } + } + + var self = this + var statcb = inflight('stat\0' + abs, lstatcb_) + if (statcb) + fs.lstat(abs, statcb) + + function lstatcb_ (er, lstat) { + if (lstat && lstat.isSymbolicLink()) { + // If it's a symlink, then treat it as the target, unless + // the target does not exist, then treat it as a file. + return fs.stat(abs, function (er, stat) { + if (er) + self._stat2(f, abs, null, lstat, cb) + else + self._stat2(f, abs, er, stat, cb) + }) + } else { + self._stat2(f, abs, er, lstat, cb) + } + } +} + +Glob.prototype._stat2 = function (f, abs, er, stat, cb) { + if (er) { + this.statCache[abs] = false + return cb() + } + + var needDir = f.slice(-1) === '/' + this.statCache[abs] = stat + + if (abs.slice(-1) === '/' && !stat.isDirectory()) + return cb(null, false, stat) + + var c = stat.isDirectory() ? 'DIR' : 'FILE' + this.cache[abs] = this.cache[abs] || c + + if (needDir && c !== 'DIR') + return cb() + + return cb(null, c, stat) +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/package.json b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/package.json new file mode 100644 index 0000000000..b8ca76a283 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/package.json @@ -0,0 +1,42 @@ +{ + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "name": "glob", + "description": "a little globber", + "version": "6.0.4", + "repository": { + "type": "git", + "url": "git://github.com/isaacs/node-glob.git" + }, + "main": "glob.js", + "files": [ + "glob.js", + "sync.js", + "common.js" + ], + "engines": { + "node": "*" + }, + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "devDependencies": { + "mkdirp": "0", + "rimraf": "^2.2.8", + "tap": "^5.0.0", + "tick": "0.0.6" + }, + "scripts": { + "prepublish": "npm run benchclean", + "profclean": "rm -f v8.log profile.txt", + "test": "tap test/*.js --cov", + "test-regen": "npm run profclean && TEST_REGEN=1 node test/00-setup.js", + "bench": "bash benchmark.sh", + "prof": "bash prof.sh && cat profile.txt", + "benchclean": "node benchclean.js" + }, + "license": "ISC" +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/sync.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/sync.js new file mode 100644 index 0000000000..09883d2ce0 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/glob/sync.js @@ -0,0 +1,460 @@ +module.exports = globSync +globSync.GlobSync = GlobSync + +var fs = require('fs') +var minimatch = require('minimatch') +var Minimatch = minimatch.Minimatch +var Glob = require('./glob.js').Glob +var util = require('util') +var path = require('path') +var assert = require('assert') +var isAbsolute = require('path-is-absolute') +var common = require('./common.js') +var alphasort = common.alphasort +var alphasorti = common.alphasorti +var setopts = common.setopts +var ownProp = common.ownProp +var childrenIgnored = common.childrenIgnored + +function globSync (pattern, options) { + if (typeof options === 'function' || arguments.length === 3) + throw new TypeError('callback provided to sync glob\n'+ + 'See: https://github.com/isaacs/node-glob/issues/167') + + return new GlobSync(pattern, options).found +} + +function GlobSync (pattern, options) { + if (!pattern) + throw new Error('must provide pattern') + + if (typeof options === 'function' || arguments.length === 3) + throw new TypeError('callback provided to sync glob\n'+ + 'See: https://github.com/isaacs/node-glob/issues/167') + + if (!(this instanceof GlobSync)) + return new GlobSync(pattern, options) + + setopts(this, pattern, options) + + if (this.noprocess) + return this + + var n = this.minimatch.set.length + this.matches = new Array(n) + for (var i = 0; i < n; i ++) { + this._process(this.minimatch.set[i], i, false) + } + this._finish() +} + +GlobSync.prototype._finish = function () { + assert(this instanceof GlobSync) + if (this.realpath) { + var self = this + this.matches.forEach(function (matchset, index) { + var set = self.matches[index] = Object.create(null) + for (var p in matchset) { + try { + p = self._makeAbs(p) + var real = fs.realpathSync(p, self.realpathCache) + set[real] = true + } catch (er) { + if (er.syscall === 'stat') + set[self._makeAbs(p)] = true + else + throw er + } + } + }) + } + common.finish(this) +} + + +GlobSync.prototype._process = function (pattern, index, inGlobStar) { + assert(this instanceof GlobSync) + + // Get the first [n] parts of pattern that are all strings. + var n = 0 + while (typeof pattern[n] === 'string') { + n ++ + } + // now n is the index of the first one that is *not* a string. + + // See if there's anything else + var prefix + switch (n) { + // if not, then this is rather simple + case pattern.length: + this._processSimple(pattern.join('/'), index) + return + + case 0: + // pattern *starts* with some non-trivial item. + // going to readdir(cwd), but not include the prefix in matches. + prefix = null + break + + default: + // pattern has some string bits in the front. + // whatever it starts with, whether that's 'absolute' like /foo/bar, + // or 'relative' like '../baz' + prefix = pattern.slice(0, n).join('/') + break + } + + var remain = pattern.slice(n) + + // get the list of entries. + var read + if (prefix === null) + read = '.' + else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) { + if (!prefix || !isAbsolute(prefix)) + prefix = '/' + prefix + read = prefix + } else + read = prefix + + var abs = this._makeAbs(read) + + //if ignored, skip processing + if (childrenIgnored(this, read)) + return + + var isGlobStar = remain[0] === minimatch.GLOBSTAR + if (isGlobStar) + this._processGlobStar(prefix, read, abs, remain, index, inGlobStar) + else + this._processReaddir(prefix, read, abs, remain, index, inGlobStar) +} + + +GlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) { + var entries = this._readdir(abs, inGlobStar) + + // if the abs isn't a dir, then nothing can match! + if (!entries) + return + + // It will only match dot entries if it starts with a dot, or if + // dot is set. Stuff like @(.foo|.bar) isn't allowed. + var pn = remain[0] + var negate = !!this.minimatch.negate + var rawGlob = pn._glob + var dotOk = this.dot || rawGlob.charAt(0) === '.' + + var matchedEntries = [] + for (var i = 0; i < entries.length; i++) { + var e = entries[i] + if (e.charAt(0) !== '.' || dotOk) { + var m + if (negate && !prefix) { + m = !e.match(pn) + } else { + m = e.match(pn) + } + if (m) + matchedEntries.push(e) + } + } + + var len = matchedEntries.length + // If there are no matched entries, then nothing matches. + if (len === 0) + return + + // if this is the last remaining pattern bit, then no need for + // an additional stat *unless* the user has specified mark or + // stat explicitly. We know they exist, since readdir returned + // them. + + if (remain.length === 1 && !this.mark && !this.stat) { + if (!this.matches[index]) + this.matches[index] = Object.create(null) + + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + if (prefix) { + if (prefix.slice(-1) !== '/') + e = prefix + '/' + e + else + e = prefix + e + } + + if (e.charAt(0) === '/' && !this.nomount) { + e = path.join(this.root, e) + } + this.matches[index][e] = true + } + // This was the last one, and no stats were needed + return + } + + // now test all matched entries as stand-ins for that part + // of the pattern. + remain.shift() + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + var newPattern + if (prefix) + newPattern = [prefix, e] + else + newPattern = [e] + this._process(newPattern.concat(remain), index, inGlobStar) + } +} + + +GlobSync.prototype._emitMatch = function (index, e) { + var abs = this._makeAbs(e) + if (this.mark) + e = this._mark(e) + + if (this.matches[index][e]) + return + + if (this.nodir) { + var c = this.cache[this._makeAbs(e)] + if (c === 'DIR' || Array.isArray(c)) + return + } + + this.matches[index][e] = true + if (this.stat) + this._stat(e) +} + + +GlobSync.prototype._readdirInGlobStar = function (abs) { + // follow all symlinked directories forever + // just proceed as if this is a non-globstar situation + if (this.follow) + return this._readdir(abs, false) + + var entries + var lstat + var stat + try { + lstat = fs.lstatSync(abs) + } catch (er) { + // lstat failed, doesn't exist + return null + } + + var isSym = lstat.isSymbolicLink() + this.symlinks[abs] = isSym + + // If it's not a symlink or a dir, then it's definitely a regular file. + // don't bother doing a readdir in that case. + if (!isSym && !lstat.isDirectory()) + this.cache[abs] = 'FILE' + else + entries = this._readdir(abs, false) + + return entries +} + +GlobSync.prototype._readdir = function (abs, inGlobStar) { + var entries + + if (inGlobStar && !ownProp(this.symlinks, abs)) + return this._readdirInGlobStar(abs) + + if (ownProp(this.cache, abs)) { + var c = this.cache[abs] + if (!c || c === 'FILE') + return null + + if (Array.isArray(c)) + return c + } + + try { + return this._readdirEntries(abs, fs.readdirSync(abs)) + } catch (er) { + this._readdirError(abs, er) + return null + } +} + +GlobSync.prototype._readdirEntries = function (abs, entries) { + // if we haven't asked to stat everything, then just + // assume that everything in there exists, so we can avoid + // having to stat it a second time. + if (!this.mark && !this.stat) { + for (var i = 0; i < entries.length; i ++) { + var e = entries[i] + if (abs === '/') + e = abs + e + else + e = abs + '/' + e + this.cache[e] = true + } + } + + this.cache[abs] = entries + + // mark and cache dir-ness + return entries +} + +GlobSync.prototype._readdirError = function (f, er) { + // handle errors, and cache the information + switch (er.code) { + case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 + case 'ENOTDIR': // totally normal. means it *does* exist. + this.cache[this._makeAbs(f)] = 'FILE' + break + + case 'ENOENT': // not terribly unusual + case 'ELOOP': + case 'ENAMETOOLONG': + case 'UNKNOWN': + this.cache[this._makeAbs(f)] = false + break + + default: // some unusual error. Treat as failure. + this.cache[this._makeAbs(f)] = false + if (this.strict) + throw er + if (!this.silent) + console.error('glob error', er) + break + } +} + +GlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) { + + var entries = this._readdir(abs, inGlobStar) + + // no entries means not a dir, so it can never have matches + // foo.txt/** doesn't match foo.txt + if (!entries) + return + + // test without the globstar, and with every child both below + // and replacing the globstar. + var remainWithoutGlobStar = remain.slice(1) + var gspref = prefix ? [ prefix ] : [] + var noGlobStar = gspref.concat(remainWithoutGlobStar) + + // the noGlobStar pattern exits the inGlobStar state + this._process(noGlobStar, index, false) + + var len = entries.length + var isSym = this.symlinks[abs] + + // If it's a symlink, and we're in a globstar, then stop + if (isSym && inGlobStar) + return + + for (var i = 0; i < len; i++) { + var e = entries[i] + if (e.charAt(0) === '.' && !this.dot) + continue + + // these two cases enter the inGlobStar state + var instead = gspref.concat(entries[i], remainWithoutGlobStar) + this._process(instead, index, true) + + var below = gspref.concat(entries[i], remain) + this._process(below, index, true) + } +} + +GlobSync.prototype._processSimple = function (prefix, index) { + // XXX review this. Shouldn't it be doing the mounting etc + // before doing stat? kinda weird? + var exists = this._stat(prefix) + + if (!this.matches[index]) + this.matches[index] = Object.create(null) + + // If it doesn't exist, then just mark the lack of results + if (!exists) + return + + if (prefix && isAbsolute(prefix) && !this.nomount) { + var trail = /[\/\\]$/.test(prefix) + if (prefix.charAt(0) === '/') { + prefix = path.join(this.root, prefix) + } else { + prefix = path.resolve(this.root, prefix) + if (trail) + prefix += '/' + } + } + + if (process.platform === 'win32') + prefix = prefix.replace(/\\/g, '/') + + // Mark this as a match + this.matches[index][prefix] = true +} + +// Returns either 'DIR', 'FILE', or false +GlobSync.prototype._stat = function (f) { + var abs = this._makeAbs(f) + var needDir = f.slice(-1) === '/' + + if (f.length > this.maxLength) + return false + + if (!this.stat && ownProp(this.cache, abs)) { + var c = this.cache[abs] + + if (Array.isArray(c)) + c = 'DIR' + + // It exists, but maybe not how we need it + if (!needDir || c === 'DIR') + return c + + if (needDir && c === 'FILE') + return false + + // otherwise we have to stat, because maybe c=true + // if we know it exists, but not what it is. + } + + var exists + var stat = this.statCache[abs] + if (!stat) { + var lstat + try { + lstat = fs.lstatSync(abs) + } catch (er) { + return false + } + + if (lstat.isSymbolicLink()) { + try { + stat = fs.statSync(abs) + } catch (er) { + stat = lstat + } + } else { + stat = lstat + } + } + + this.statCache[abs] = stat + + var c = stat.isDirectory() ? 'DIR' : 'FILE' + this.cache[abs] = this.cache[abs] || c + + if (needDir && c !== 'DIR') + return false + + return c +} + +GlobSync.prototype._mark = function (p) { + return common.mark(this, p) +} + +GlobSync.prototype._makeAbs = function (f) { + return common.makeAbs(this, f) +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/inflight b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/inflight new file mode 120000 index 0000000000..d923fcf7b7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/inflight @@ -0,0 +1 @@ +../../../inflight/1.0.6/node_modules/inflight \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/inherits b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/inherits new file mode 120000 index 0000000000..72ab58930c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/inherits @@ -0,0 +1 @@ +../../../inherits/2.0.3/node_modules/inherits \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/minimatch b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/minimatch new file mode 120000 index 0000000000..487ff4f0d9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/minimatch @@ -0,0 +1 @@ +../../../minimatch/3.0.4/node_modules/minimatch \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/once b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/once new file mode 120000 index 0000000000..39137e4cbd --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/once @@ -0,0 +1 @@ +../../../once/1.4.0/node_modules/once \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/path-is-absolute b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/path-is-absolute new file mode 120000 index 0000000000..f6b8b43f0e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/glob/6.0.4/node_modules/path-is-absolute @@ -0,0 +1 @@ +../../../path-is-absolute/1.0.1/node_modules/path-is-absolute \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/inflight/LICENSE b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/inflight/LICENSE new file mode 100644 index 0000000000..05eeeb88c2 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/inflight/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/inflight/README.md b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/inflight/README.md new file mode 100644 index 0000000000..6dc8929171 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/inflight/README.md @@ -0,0 +1,37 @@ +# inflight + +Add callbacks to requests in flight to avoid async duplication + +## USAGE + +```javascript +var inflight = require('inflight') + +// some request that does some stuff +function req(key, callback) { + // key is any random string. like a url or filename or whatever. + // + // will return either a falsey value, indicating that the + // request for this key is already in flight, or a new callback + // which when called will call all callbacks passed to inflightk + // with the same key + callback = inflight(key, callback) + + // If we got a falsey value back, then there's already a req going + if (!callback) return + + // this is where you'd fetch the url or whatever + // callback is also once()-ified, so it can safely be assigned + // to multiple events etc. First call wins. + setTimeout(function() { + callback(null, key) + }, 100) +} + +// only assigns a single setTimeout +// when it dings, all cbs get called +req('foo', cb1) +req('foo', cb2) +req('foo', cb3) +req('foo', cb4) +``` diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/inflight/inflight.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/inflight/inflight.js new file mode 100644 index 0000000000..48202b3ca4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/inflight/inflight.js @@ -0,0 +1,54 @@ +var wrappy = require('wrappy') +var reqs = Object.create(null) +var once = require('once') + +module.exports = wrappy(inflight) + +function inflight (key, cb) { + if (reqs[key]) { + reqs[key].push(cb) + return null + } else { + reqs[key] = [cb] + return makeres(key) + } +} + +function makeres (key) { + return once(function RES () { + var cbs = reqs[key] + var len = cbs.length + var args = slice(arguments) + + // XXX It's somewhat ambiguous whether a new callback added in this + // pass should be queued for later execution if something in the + // list of callbacks throws, or if it should just be discarded. + // However, it's such an edge case that it hardly matters, and either + // choice is likely as surprising as the other. + // As it happens, we do go ahead and schedule it for later execution. + try { + for (var i = 0; i < len; i++) { + cbs[i].apply(null, args) + } + } finally { + if (cbs.length > len) { + // added more in the interim. + // de-zalgo, just in case, but don't call again. + cbs.splice(0, len) + process.nextTick(function () { + RES.apply(null, args) + }) + } else { + delete reqs[key] + } + } + }) +} + +function slice (args) { + var length = args.length + var array = [] + + for (var i = 0; i < length; i++) array[i] = args[i] + return array +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/inflight/package.json b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/inflight/package.json new file mode 100644 index 0000000000..6084d3509a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/inflight/package.json @@ -0,0 +1,29 @@ +{ + "name": "inflight", + "version": "1.0.6", + "description": "Add callbacks to requests in flight to avoid async duplication", + "main": "inflight.js", + "files": [ + "inflight.js" + ], + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + }, + "devDependencies": { + "tap": "^7.1.2" + }, + "scripts": { + "test": "tap test.js --100" + }, + "repository": { + "type": "git", + "url": "https://github.com/npm/inflight.git" + }, + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "bugs": { + "url": "https://github.com/isaacs/inflight/issues" + }, + "homepage": "https://github.com/isaacs/inflight", + "license": "ISC" +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/once b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/once new file mode 120000 index 0000000000..39137e4cbd --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/once @@ -0,0 +1 @@ +../../../once/1.4.0/node_modules/once \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/wrappy b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/wrappy new file mode 120000 index 0000000000..602ae4fab2 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inflight/1.0.6/node_modules/wrappy @@ -0,0 +1 @@ +../../../wrappy/1.0.2/node_modules/wrappy \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inherits/2.0.3/node_modules/inherits/LICENSE b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inherits/2.0.3/node_modules/inherits/LICENSE new file mode 100644 index 0000000000..dea3013d67 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inherits/2.0.3/node_modules/inherits/LICENSE @@ -0,0 +1,16 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inherits/2.0.3/node_modules/inherits/README.md b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inherits/2.0.3/node_modules/inherits/README.md new file mode 100644 index 0000000000..b1c5665855 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inherits/2.0.3/node_modules/inherits/README.md @@ -0,0 +1,42 @@ +Browser-friendly inheritance fully compatible with standard node.js +[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor). + +This package exports standard `inherits` from node.js `util` module in +node environment, but also provides alternative browser-friendly +implementation through [browser +field](https://gist.github.com/shtylman/4339901). Alternative +implementation is a literal copy of standard one located in standalone +module to avoid requiring of `util`. It also has a shim for old +browsers with no `Object.create` support. + +While keeping you sure you are using standard `inherits` +implementation in node.js environment, it allows bundlers such as +[browserify](https://github.com/substack/node-browserify) to not +include full `util` package to your client code if all you need is +just `inherits` function. It worth, because browser shim for `util` +package is large and `inherits` is often the single function you need +from it. + +It's recommended to use this package instead of +`require('util').inherits` for any code that has chances to be used +not only in node.js but in browser too. + +## usage + +```js +var inherits = require('inherits'); +// then use exactly as the standard one +``` + +## note on version ~1.0 + +Version ~1.0 had completely different motivation and is not compatible +neither with 2.0 nor with standard node.js `inherits`. + +If you are using version ~1.0 and planning to switch to ~2.0, be +careful: + +* new version uses `super_` instead of `super` for referencing + superclass +* new version overwrites current prototype while old one preserves any + existing fields on it diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inherits/2.0.3/node_modules/inherits/inherits.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inherits/2.0.3/node_modules/inherits/inherits.js new file mode 100644 index 0000000000..3b94763a76 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inherits/2.0.3/node_modules/inherits/inherits.js @@ -0,0 +1,7 @@ +try { + var util = require('util'); + if (typeof util.inherits !== 'function') throw ''; + module.exports = util.inherits; +} catch (e) { + module.exports = require('./inherits_browser.js'); +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inherits/2.0.3/node_modules/inherits/inherits_browser.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inherits/2.0.3/node_modules/inherits/inherits_browser.js new file mode 100644 index 0000000000..c1e78a75e6 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inherits/2.0.3/node_modules/inherits/inherits_browser.js @@ -0,0 +1,23 @@ +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; +} else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inherits/2.0.3/node_modules/inherits/package.json b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inherits/2.0.3/node_modules/inherits/package.json new file mode 100644 index 0000000000..7cf62b95c4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/inherits/2.0.3/node_modules/inherits/package.json @@ -0,0 +1,29 @@ +{ + "name": "inherits", + "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", + "version": "2.0.3", + "keywords": [ + "inheritance", + "class", + "klass", + "oop", + "object-oriented", + "inherits", + "browser", + "browserify" + ], + "main": "./inherits.js", + "browser": "./inherits_browser.js", + "repository": "git://github.com/isaacs/inherits", + "license": "ISC", + "scripts": { + "test": "node test" + }, + "devDependencies": { + "tap": "^7.1.0" + }, + "files": [ + "inherits.js", + "inherits_browser.js" + ] +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-negative/1.0.0/node_modules/is-negative/index.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-negative/1.0.0/node_modules/is-negative/index.js new file mode 100644 index 0000000000..342e43c190 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-negative/1.0.0/node_modules/is-negative/index.js @@ -0,0 +1,9 @@ +'use strict'; + +module.exports = function (n) { + if (typeof n !== 'number') { + throw new TypeError('Expected a number'); + } + + return n < 0; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-negative/1.0.0/node_modules/is-negative/license b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-negative/1.0.0/node_modules/is-negative/license new file mode 100644 index 0000000000..0f8cf79c3c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-negative/1.0.0/node_modules/is-negative/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Kevin Martensson (github.com/kevva) + +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. diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-negative/1.0.0/node_modules/is-negative/package.json b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-negative/1.0.0/node_modules/is-negative/package.json new file mode 100644 index 0000000000..d1dbf34643 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-negative/1.0.0/node_modules/is-negative/package.json @@ -0,0 +1,29 @@ +{ + "name": "is-negative", + "version": "1.0.0", + "description": "Test if a number is negative", + "license": "MIT", + "repository": "kevva/is-negative", + "author": { + "name": "Kevin Martensson", + "email": "kevinmartensson@gmail.com", + "url": "github.com/kevva" + }, + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "node test.js" + }, + "files": [ + "index.js" + ], + "keywords": [ + "negative", + "number", + "test" + ], + "devDependencies": { + "ava": "^0.0.4" + } +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-negative/1.0.0/node_modules/is-negative/readme.md b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-negative/1.0.0/node_modules/is-negative/readme.md new file mode 100644 index 0000000000..0b3aa99fda --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-negative/1.0.0/node_modules/is-negative/readme.md @@ -0,0 +1,31 @@ +# is-negative [![Build Status](https://travis-ci.org/kevva/is-negative.svg?branch=master)](https://travis-ci.org/kevva/is-negative) + +> Test if a number is positive + + +## Install + +``` +$ npm install --save is-negative +``` + + +## Usage + +```js +var isNegative = require('is-negative'); + +isNegative(-1); +//=> true + +isNegative(1); +//=> false + +isNegative(0); +//=> false +``` + + +## License + +MIT © [Kevin Martensson](http://github.com/kevva) diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-positive/1.0.0/node_modules/is-positive/index.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-positive/1.0.0/node_modules/is-positive/index.js new file mode 100644 index 0000000000..8e020cac33 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-positive/1.0.0/node_modules/is-positive/index.js @@ -0,0 +1,9 @@ +'use strict'; + +module.exports = function (n) { + if (typeof n !== 'number') { + throw new TypeError('Expected a number'); + } + + return n >= 0; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-positive/1.0.0/node_modules/is-positive/license b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-positive/1.0.0/node_modules/is-positive/license new file mode 100644 index 0000000000..0f8cf79c3c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-positive/1.0.0/node_modules/is-positive/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Kevin Martensson (github.com/kevva) + +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. diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-positive/1.0.0/node_modules/is-positive/package.json b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-positive/1.0.0/node_modules/is-positive/package.json new file mode 100644 index 0000000000..5c708cef76 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-positive/1.0.0/node_modules/is-positive/package.json @@ -0,0 +1,29 @@ +{ + "name": "is-positive", + "version": "1.0.0", + "description": "Test if a number is positive", + "license": "MIT", + "repository": "kevva/is-positive", + "author": { + "name": "Kevin Martensson", + "email": "kevinmartensson@gmail.com", + "url": "github.com/kevva" + }, + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "node test.js" + }, + "files": [ + "index.js" + ], + "keywords": [ + "number", + "positive", + "test" + ], + "devDependencies": { + "ava": "^0.0.4" + } +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-positive/1.0.0/node_modules/is-positive/readme.md b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-positive/1.0.0/node_modules/is-positive/readme.md new file mode 100644 index 0000000000..07b59926c5 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/is-positive/1.0.0/node_modules/is-positive/readme.md @@ -0,0 +1,31 @@ +# is-positive [![Build Status](https://travis-ci.org/kevva/is-positive.svg?branch=master)](https://travis-ci.org/kevva/is-positive) + +> Test if a number is positive + + +## Install + +``` +$ npm install --save is-positive +``` + + +## Usage + +```js +var isPositive = require('is-positive'); + +isPositive(1); +//=> true + +isPositive(0); +//=> true + +isPositive(-1); +//=> false +``` + + +## License + +MIT © [Kevin Martensson](http://github.com/kevva) diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/minimatch/3.0.4/node_modules/brace-expansion b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/minimatch/3.0.4/node_modules/brace-expansion new file mode 120000 index 0000000000..69853ad2bb --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/minimatch/3.0.4/node_modules/brace-expansion @@ -0,0 +1 @@ +../../../brace-expansion/1.1.8/node_modules/brace-expansion \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/minimatch/3.0.4/node_modules/minimatch/LICENSE b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/minimatch/3.0.4/node_modules/minimatch/LICENSE new file mode 100644 index 0000000000..19129e315f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/minimatch/3.0.4/node_modules/minimatch/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/minimatch/3.0.4/node_modules/minimatch/README.md b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/minimatch/3.0.4/node_modules/minimatch/README.md new file mode 100644 index 0000000000..ad72b8133e --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/minimatch/3.0.4/node_modules/minimatch/README.md @@ -0,0 +1,209 @@ +# minimatch + +A minimal matching utility. + +[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.svg)](http://travis-ci.org/isaacs/minimatch) + + +This is the matching library used internally by npm. + +It works by converting glob expressions into JavaScript `RegExp` +objects. + +## Usage + +```javascript +var minimatch = require("minimatch") + +minimatch("bar.foo", "*.foo") // true! +minimatch("bar.foo", "*.bar") // false! +minimatch("bar.foo", "*.+(bar|foo)", { debug: true }) // true, and noisy! +``` + +## Features + +Supports these glob features: + +* Brace Expansion +* Extended glob matching +* "Globstar" `**` matching + +See: + +* `man sh` +* `man bash` +* `man 3 fnmatch` +* `man 5 gitignore` + +## Minimatch Class + +Create a minimatch object by instantiating the `minimatch.Minimatch` class. + +```javascript +var Minimatch = require("minimatch").Minimatch +var mm = new Minimatch(pattern, options) +``` + +### Properties + +* `pattern` The original pattern the minimatch object represents. +* `options` The options supplied to the constructor. +* `set` A 2-dimensional array of regexp or string expressions. + Each row in the + array corresponds to a brace-expanded pattern. Each item in the row + corresponds to a single path-part. For example, the pattern + `{a,b/c}/d` would expand to a set of patterns like: + + [ [ a, d ] + , [ b, c, d ] ] + + If a portion of the pattern doesn't have any "magic" in it + (that is, it's something like `"foo"` rather than `fo*o?`), then it + will be left as a string rather than converted to a regular + expression. + +* `regexp` Created by the `makeRe` method. A single regular expression + expressing the entire pattern. This is useful in cases where you wish + to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled. +* `negate` True if the pattern is negated. +* `comment` True if the pattern is a comment. +* `empty` True if the pattern is `""`. + +### Methods + +* `makeRe` Generate the `regexp` member if necessary, and return it. + Will return `false` if the pattern is invalid. +* `match(fname)` Return true if the filename matches the pattern, or + false otherwise. +* `matchOne(fileArray, patternArray, partial)` Take a `/`-split + filename, and match it against a single row in the `regExpSet`. This + method is mainly for internal use, but is exposed so that it can be + used by a glob-walker that needs to avoid excessive filesystem calls. + +All other methods are internal, and will be called as necessary. + +### minimatch(path, pattern, options) + +Main export. Tests a path against the pattern using the options. + +```javascript +var isJS = minimatch(file, "*.js", { matchBase: true }) +``` + +### minimatch.filter(pattern, options) + +Returns a function that tests its +supplied argument, suitable for use with `Array.filter`. Example: + +```javascript +var javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true})) +``` + +### minimatch.match(list, pattern, options) + +Match against the list of +files, in the style of fnmatch or glob. If nothing is matched, and +options.nonull is set, then return a list containing the pattern itself. + +```javascript +var javascripts = minimatch.match(fileList, "*.js", {matchBase: true})) +``` + +### minimatch.makeRe(pattern, options) + +Make a regular expression object from the pattern. + +## Options + +All options are `false` by default. + +### debug + +Dump a ton of stuff to stderr. + +### nobrace + +Do not expand `{a,b}` and `{1..3}` brace sets. + +### noglobstar + +Disable `**` matching against multiple folder names. + +### dot + +Allow patterns to match filenames starting with a period, even if +the pattern does not explicitly have a period in that spot. + +Note that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot` +is set. + +### noext + +Disable "extglob" style patterns like `+(a|b)`. + +### nocase + +Perform a case-insensitive match. + +### nonull + +When a match is not found by `minimatch.match`, return a list containing +the pattern itself if this option is set. When not set, an empty list +is returned if there are no matches. + +### matchBase + +If set, then patterns without slashes will be matched +against the basename of the path if it contains slashes. For example, +`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`. + +### nocomment + +Suppress the behavior of treating `#` at the start of a pattern as a +comment. + +### nonegate + +Suppress the behavior of treating a leading `!` character as negation. + +### flipNegate + +Returns from negate expressions the same as if they were not negated. +(Ie, true on a hit, false on a miss.) + + +## Comparisons to other fnmatch/glob implementations + +While strict compliance with the existing standards is a worthwhile +goal, some discrepancies exist between minimatch and other +implementations, and are intentional. + +If the pattern starts with a `!` character, then it is negated. Set the +`nonegate` flag to suppress this behavior, and treat leading `!` +characters normally. This is perhaps relevant if you wish to start the +pattern with a negative extglob pattern like `!(a|B)`. Multiple `!` +characters at the start of a pattern will negate the pattern multiple +times. + +If a pattern starts with `#`, then it is treated as a comment, and +will not match anything. Use `\#` to match a literal `#` at the +start of a line, or set the `nocomment` flag to suppress this behavior. + +The double-star character `**` is supported by default, unless the +`noglobstar` flag is set. This is supported in the manner of bsdglob +and bash 4.1, where `**` only has special significance if it is the only +thing in a path part. That is, `a/**/b` will match `a/x/y/b`, but +`a/**b` will not. + +If an escaped pattern has no matches, and the `nonull` flag is set, +then minimatch.match returns the pattern as-provided, rather than +interpreting the character escapes. For example, +`minimatch.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than +`"*a?"`. This is akin to setting the `nullglob` option in bash, except +that it does not resolve escaped pattern characters. + +If brace expansion is not disabled, then it is performed before any +other interpretation of the glob pattern. Thus, a pattern like +`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded +**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are +checked for validity. Since those two are valid, matching proceeds. diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/minimatch/3.0.4/node_modules/minimatch/minimatch.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/minimatch/3.0.4/node_modules/minimatch/minimatch.js new file mode 100644 index 0000000000..5b5f8cf444 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/minimatch/3.0.4/node_modules/minimatch/minimatch.js @@ -0,0 +1,923 @@ +module.exports = minimatch +minimatch.Minimatch = Minimatch + +var path = { sep: '/' } +try { + path = require('path') +} catch (er) {} + +var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} +var expand = require('brace-expansion') + +var plTypes = { + '!': { open: '(?:(?!(?:', close: '))[^/]*?)'}, + '?': { open: '(?:', close: ')?' }, + '+': { open: '(?:', close: ')+' }, + '*': { open: '(?:', close: ')*' }, + '@': { open: '(?:', close: ')' } +} + +// any single thing other than / +// don't need to escape / when using new RegExp() +var qmark = '[^/]' + +// * => any number of characters +var star = qmark + '*?' + +// ** when dots are allowed. Anything goes, except .. and . +// not (^ or / followed by one or two dots followed by $ or /), +// followed by anything, any number of times. +var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?' + +// not a ^ or / followed by a dot, +// followed by anything, any number of times. +var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?' + +// characters that need to be escaped in RegExp. +var reSpecials = charSet('().*{}+?[]^$\\!') + +// "abc" -> { a:true, b:true, c:true } +function charSet (s) { + return s.split('').reduce(function (set, c) { + set[c] = true + return set + }, {}) +} + +// normalizes slashes. +var slashSplit = /\/+/ + +minimatch.filter = filter +function filter (pattern, options) { + options = options || {} + return function (p, i, list) { + return minimatch(p, pattern, options) + } +} + +function ext (a, b) { + a = a || {} + b = b || {} + var t = {} + Object.keys(b).forEach(function (k) { + t[k] = b[k] + }) + Object.keys(a).forEach(function (k) { + t[k] = a[k] + }) + return t +} + +minimatch.defaults = function (def) { + if (!def || !Object.keys(def).length) return minimatch + + var orig = minimatch + + var m = function minimatch (p, pattern, options) { + return orig.minimatch(p, pattern, ext(def, options)) + } + + m.Minimatch = function Minimatch (pattern, options) { + return new orig.Minimatch(pattern, ext(def, options)) + } + + return m +} + +Minimatch.defaults = function (def) { + if (!def || !Object.keys(def).length) return Minimatch + return minimatch.defaults(def).Minimatch +} + +function minimatch (p, pattern, options) { + if (typeof pattern !== 'string') { + throw new TypeError('glob pattern string required') + } + + if (!options) options = {} + + // shortcut: comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + return false + } + + // "" only matches "" + if (pattern.trim() === '') return p === '' + + return new Minimatch(pattern, options).match(p) +} + +function Minimatch (pattern, options) { + if (!(this instanceof Minimatch)) { + return new Minimatch(pattern, options) + } + + if (typeof pattern !== 'string') { + throw new TypeError('glob pattern string required') + } + + if (!options) options = {} + pattern = pattern.trim() + + // windows support: need to use /, not \ + if (path.sep !== '/') { + pattern = pattern.split(path.sep).join('/') + } + + this.options = options + this.set = [] + this.pattern = pattern + this.regexp = null + this.negate = false + this.comment = false + this.empty = false + + // make the set of regexps etc. + this.make() +} + +Minimatch.prototype.debug = function () {} + +Minimatch.prototype.make = make +function make () { + // don't do it more than once. + if (this._made) return + + var pattern = this.pattern + var options = this.options + + // empty patterns and comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + this.comment = true + return + } + if (!pattern) { + this.empty = true + return + } + + // step 1: figure out negation, etc. + this.parseNegate() + + // step 2: expand braces + var set = this.globSet = this.braceExpand() + + if (options.debug) this.debug = console.error + + this.debug(this.pattern, set) + + // step 3: now we have a set, so turn each one into a series of path-portion + // matching patterns. + // These will be regexps, except in the case of "**", which is + // set to the GLOBSTAR object for globstar behavior, + // and will not contain any / characters + set = this.globParts = set.map(function (s) { + return s.split(slashSplit) + }) + + this.debug(this.pattern, set) + + // glob --> regexps + set = set.map(function (s, si, set) { + return s.map(this.parse, this) + }, this) + + this.debug(this.pattern, set) + + // filter out everything that didn't compile properly. + set = set.filter(function (s) { + return s.indexOf(false) === -1 + }) + + this.debug(this.pattern, set) + + this.set = set +} + +Minimatch.prototype.parseNegate = parseNegate +function parseNegate () { + var pattern = this.pattern + var negate = false + var options = this.options + var negateOffset = 0 + + if (options.nonegate) return + + for (var i = 0, l = pattern.length + ; i < l && pattern.charAt(i) === '!' + ; i++) { + negate = !negate + negateOffset++ + } + + if (negateOffset) this.pattern = pattern.substr(negateOffset) + this.negate = negate +} + +// Brace expansion: +// a{b,c}d -> abd acd +// a{b,}c -> abc ac +// a{0..3}d -> a0d a1d a2d a3d +// a{b,c{d,e}f}g -> abg acdfg acefg +// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg +// +// Invalid sets are not expanded. +// a{2..}b -> a{2..}b +// a{b}c -> a{b}c +minimatch.braceExpand = function (pattern, options) { + return braceExpand(pattern, options) +} + +Minimatch.prototype.braceExpand = braceExpand + +function braceExpand (pattern, options) { + if (!options) { + if (this instanceof Minimatch) { + options = this.options + } else { + options = {} + } + } + + pattern = typeof pattern === 'undefined' + ? this.pattern : pattern + + if (typeof pattern === 'undefined') { + throw new TypeError('undefined pattern') + } + + if (options.nobrace || + !pattern.match(/\{.*\}/)) { + // shortcut. no need to expand. + return [pattern] + } + + return expand(pattern) +} + +// parse a component of the expanded set. +// At this point, no pattern may contain "/" in it +// so we're going to return a 2d array, where each entry is the full +// pattern, split on '/', and then turned into a regular expression. +// A regexp is made at the end which joins each array with an +// escaped /, and another full one which joins each regexp with |. +// +// Following the lead of Bash 4.1, note that "**" only has special meaning +// when it is the *only* thing in a path portion. Otherwise, any series +// of * is equivalent to a single *. Globstar behavior is enabled by +// default, and can be disabled by setting options.noglobstar. +Minimatch.prototype.parse = parse +var SUBPARSE = {} +function parse (pattern, isSub) { + if (pattern.length > 1024 * 64) { + throw new TypeError('pattern is too long') + } + + var options = this.options + + // shortcuts + if (!options.noglobstar && pattern === '**') return GLOBSTAR + if (pattern === '') return '' + + var re = '' + var hasMagic = !!options.nocase + var escaping = false + // ? => one single character + var patternListStack = [] + var negativeLists = [] + var stateChar + var inClass = false + var reClassStart = -1 + var classStart = -1 + // . and .. never match anything that doesn't start with ., + // even when options.dot is set. + var patternStart = pattern.charAt(0) === '.' ? '' // anything + // not (start or / followed by . or .. followed by / or end) + : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))' + : '(?!\\.)' + var self = this + + function clearStateChar () { + if (stateChar) { + // we had some state-tracking character + // that wasn't consumed by this pass. + switch (stateChar) { + case '*': + re += star + hasMagic = true + break + case '?': + re += qmark + hasMagic = true + break + default: + re += '\\' + stateChar + break + } + self.debug('clearStateChar %j %j', stateChar, re) + stateChar = false + } + } + + for (var i = 0, len = pattern.length, c + ; (i < len) && (c = pattern.charAt(i)) + ; i++) { + this.debug('%s\t%s %s %j', pattern, i, re, c) + + // skip over any that are escaped. + if (escaping && reSpecials[c]) { + re += '\\' + c + escaping = false + continue + } + + switch (c) { + case '/': + // completely not allowed, even escaped. + // Should already be path-split by now. + return false + + case '\\': + clearStateChar() + escaping = true + continue + + // the various stateChar values + // for the "extglob" stuff. + case '?': + case '*': + case '+': + case '@': + case '!': + this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c) + + // all of those are literals inside a class, except that + // the glob [!a] means [^a] in regexp + if (inClass) { + this.debug(' in class') + if (c === '!' && i === classStart + 1) c = '^' + re += c + continue + } + + // if we already have a stateChar, then it means + // that there was something like ** or +? in there. + // Handle the stateChar, then proceed with this one. + self.debug('call clearStateChar %j', stateChar) + clearStateChar() + stateChar = c + // if extglob is disabled, then +(asdf|foo) isn't a thing. + // just clear the statechar *now*, rather than even diving into + // the patternList stuff. + if (options.noext) clearStateChar() + continue + + case '(': + if (inClass) { + re += '(' + continue + } + + if (!stateChar) { + re += '\\(' + continue + } + + patternListStack.push({ + type: stateChar, + start: i - 1, + reStart: re.length, + open: plTypes[stateChar].open, + close: plTypes[stateChar].close + }) + // negation is (?:(?!js)[^/]*) + re += stateChar === '!' ? '(?:(?!(?:' : '(?:' + this.debug('plType %j %j', stateChar, re) + stateChar = false + continue + + case ')': + if (inClass || !patternListStack.length) { + re += '\\)' + continue + } + + clearStateChar() + hasMagic = true + var pl = patternListStack.pop() + // negation is (?:(?!js)[^/]*) + // The others are (?:) + re += pl.close + if (pl.type === '!') { + negativeLists.push(pl) + } + pl.reEnd = re.length + continue + + case '|': + if (inClass || !patternListStack.length || escaping) { + re += '\\|' + escaping = false + continue + } + + clearStateChar() + re += '|' + continue + + // these are mostly the same in regexp and glob + case '[': + // swallow any state-tracking char before the [ + clearStateChar() + + if (inClass) { + re += '\\' + c + continue + } + + inClass = true + classStart = i + reClassStart = re.length + re += c + continue + + case ']': + // a right bracket shall lose its special + // meaning and represent itself in + // a bracket expression if it occurs + // first in the list. -- POSIX.2 2.8.3.2 + if (i === classStart + 1 || !inClass) { + re += '\\' + c + escaping = false + continue + } + + // handle the case where we left a class open. + // "[z-a]" is valid, equivalent to "\[z-a\]" + if (inClass) { + // split where the last [ was, make sure we don't have + // an invalid re. if so, re-walk the contents of the + // would-be class to re-translate any characters that + // were passed through as-is + // TODO: It would probably be faster to determine this + // without a try/catch and a new RegExp, but it's tricky + // to do safely. For now, this is safe and works. + var cs = pattern.substring(classStart + 1, i) + try { + RegExp('[' + cs + ']') + } catch (er) { + // not a valid class! + var sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]' + hasMagic = hasMagic || sp[1] + inClass = false + continue + } + } + + // finish up the class. + hasMagic = true + inClass = false + re += c + continue + + default: + // swallow any state char that wasn't consumed + clearStateChar() + + if (escaping) { + // no need + escaping = false + } else if (reSpecials[c] + && !(c === '^' && inClass)) { + re += '\\' + } + + re += c + + } // switch + } // for + + // handle the case where we left a class open. + // "[abc" is valid, equivalent to "\[abc" + if (inClass) { + // split where the last [ was, and escape it + // this is a huge pita. We now have to re-walk + // the contents of the would-be class to re-translate + // any characters that were passed through as-is + cs = pattern.substr(classStart + 1) + sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + '\\[' + sp[0] + hasMagic = hasMagic || sp[1] + } + + // handle the case where we had a +( thing at the *end* + // of the pattern. + // each pattern list stack adds 3 chars, and we need to go through + // and escape any | chars that were passed through as-is for the regexp. + // Go through and escape them, taking care not to double-escape any + // | chars that were already escaped. + for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { + var tail = re.slice(pl.reStart + pl.open.length) + this.debug('setting tail', re, pl) + // maybe some even number of \, then maybe 1 \, followed by a | + tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function (_, $1, $2) { + if (!$2) { + // the | isn't already escaped, so escape it. + $2 = '\\' + } + + // need to escape all those slashes *again*, without escaping the + // one that we need for escaping the | character. As it works out, + // escaping an even number of slashes can be done by simply repeating + // it exactly after itself. That's why this trick works. + // + // I am sorry that you have to see this. + return $1 + $1 + $2 + '|' + }) + + this.debug('tail=%j\n %s', tail, tail, pl, re) + var t = pl.type === '*' ? star + : pl.type === '?' ? qmark + : '\\' + pl.type + + hasMagic = true + re = re.slice(0, pl.reStart) + t + '\\(' + tail + } + + // handle trailing things that only matter at the very end. + clearStateChar() + if (escaping) { + // trailing \\ + re += '\\\\' + } + + // only need to apply the nodot start if the re starts with + // something that could conceivably capture a dot + var addPatternStart = false + switch (re.charAt(0)) { + case '.': + case '[': + case '(': addPatternStart = true + } + + // Hack to work around lack of negative lookbehind in JS + // A pattern like: *.!(x).!(y|z) needs to ensure that a name + // like 'a.xyz.yz' doesn't match. So, the first negative + // lookahead, has to look ALL the way ahead, to the end of + // the pattern. + for (var n = negativeLists.length - 1; n > -1; n--) { + var nl = negativeLists[n] + + var nlBefore = re.slice(0, nl.reStart) + var nlFirst = re.slice(nl.reStart, nl.reEnd - 8) + var nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + var nlAfter = re.slice(nl.reEnd) + + nlLast += nlAfter + + // Handle nested stuff like *(*.js|!(*.json)), where open parens + // mean that we should *not* include the ) in the bit that is considered + // "after" the negated section. + var openParensBefore = nlBefore.split('(').length - 1 + var cleanAfter = nlAfter + for (i = 0; i < openParensBefore; i++) { + cleanAfter = cleanAfter.replace(/\)[+*?]?/, '') + } + nlAfter = cleanAfter + + var dollar = '' + if (nlAfter === '' && isSub !== SUBPARSE) { + dollar = '$' + } + var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast + re = newRe + } + + // if the re is not "" at this point, then we need to make sure + // it doesn't match against an empty path part. + // Otherwise a/* will match a/, which it should not. + if (re !== '' && hasMagic) { + re = '(?=.)' + re + } + + if (addPatternStart) { + re = patternStart + re + } + + // parsing just a piece of a larger pattern. + if (isSub === SUBPARSE) { + return [re, hasMagic] + } + + // skip the regexp for non-magical patterns + // unescape anything in it, though, so that it'll be + // an exact match against a file etc. + if (!hasMagic) { + return globUnescape(pattern) + } + + var flags = options.nocase ? 'i' : '' + try { + var regExp = new RegExp('^' + re + '$', flags) + } catch (er) { + // If it was an invalid regular expression, then it can't match + // anything. This trick looks for a character after the end of + // the string, which is of course impossible, except in multi-line + // mode, but it's not a /m regex. + return new RegExp('$.') + } + + regExp._glob = pattern + regExp._src = re + + return regExp +} + +minimatch.makeRe = function (pattern, options) { + return new Minimatch(pattern, options || {}).makeRe() +} + +Minimatch.prototype.makeRe = makeRe +function makeRe () { + if (this.regexp || this.regexp === false) return this.regexp + + // at this point, this.set is a 2d array of partial + // pattern strings, or "**". + // + // It's better to use .match(). This function shouldn't + // be used, really, but it's pretty convenient sometimes, + // when you just want to work with a regex. + var set = this.set + + if (!set.length) { + this.regexp = false + return this.regexp + } + var options = this.options + + var twoStar = options.noglobstar ? star + : options.dot ? twoStarDot + : twoStarNoDot + var flags = options.nocase ? 'i' : '' + + var re = set.map(function (pattern) { + return pattern.map(function (p) { + return (p === GLOBSTAR) ? twoStar + : (typeof p === 'string') ? regExpEscape(p) + : p._src + }).join('\\\/') + }).join('|') + + // must match entire pattern + // ending in a * or ** will make it less strict. + re = '^(?:' + re + ')$' + + // can match anything, as long as it's not this. + if (this.negate) re = '^(?!' + re + ').*$' + + try { + this.regexp = new RegExp(re, flags) + } catch (ex) { + this.regexp = false + } + return this.regexp +} + +minimatch.match = function (list, pattern, options) { + options = options || {} + var mm = new Minimatch(pattern, options) + list = list.filter(function (f) { + return mm.match(f) + }) + if (mm.options.nonull && !list.length) { + list.push(pattern) + } + return list +} + +Minimatch.prototype.match = match +function match (f, partial) { + this.debug('match', f, this.pattern) + // short-circuit in the case of busted things. + // comments, etc. + if (this.comment) return false + if (this.empty) return f === '' + + if (f === '/' && partial) return true + + var options = this.options + + // windows: need to use /, not \ + if (path.sep !== '/') { + f = f.split(path.sep).join('/') + } + + // treat the test path as a set of pathparts. + f = f.split(slashSplit) + this.debug(this.pattern, 'split', f) + + // just ONE of the pattern sets in this.set needs to match + // in order for it to be valid. If negating, then just one + // match means that we have failed. + // Either way, return on the first hit. + + var set = this.set + this.debug(this.pattern, 'set', set) + + // Find the basename of the path by looking for the last non-empty segment + var filename + var i + for (i = f.length - 1; i >= 0; i--) { + filename = f[i] + if (filename) break + } + + for (i = 0; i < set.length; i++) { + var pattern = set[i] + var file = f + if (options.matchBase && pattern.length === 1) { + file = [filename] + } + var hit = this.matchOne(file, pattern, partial) + if (hit) { + if (options.flipNegate) return true + return !this.negate + } + } + + // didn't get any hits. this is success if it's a negative + // pattern, failure otherwise. + if (options.flipNegate) return false + return this.negate +} + +// set partial to true to test if, for example, +// "/a/b" matches the start of "/*/b/*/d" +// Partial means, if you run out of file before you run +// out of pattern, then that's fine, as long as all +// the parts match. +Minimatch.prototype.matchOne = function (file, pattern, partial) { + var options = this.options + + this.debug('matchOne', + { 'this': this, file: file, pattern: pattern }) + + this.debug('matchOne', file.length, pattern.length) + + for (var fi = 0, + pi = 0, + fl = file.length, + pl = pattern.length + ; (fi < fl) && (pi < pl) + ; fi++, pi++) { + this.debug('matchOne loop') + var p = pattern[pi] + var f = file[fi] + + this.debug(pattern, p, f) + + // should be impossible. + // some invalid regexp stuff in the set. + if (p === false) return false + + if (p === GLOBSTAR) { + this.debug('GLOBSTAR', [pattern, p, f]) + + // "**" + // a/**/b/**/c would match the following: + // a/b/x/y/z/c + // a/x/y/z/b/c + // a/b/x/b/x/c + // a/b/c + // To do this, take the rest of the pattern after + // the **, and see if it would match the file remainder. + // If so, return success. + // If not, the ** "swallows" a segment, and try again. + // This is recursively awful. + // + // a/**/b/**/c matching a/b/x/y/z/c + // - a matches a + // - doublestar + // - matchOne(b/x/y/z/c, b/**/c) + // - b matches b + // - doublestar + // - matchOne(x/y/z/c, c) -> no + // - matchOne(y/z/c, c) -> no + // - matchOne(z/c, c) -> no + // - matchOne(c, c) yes, hit + var fr = fi + var pr = pi + 1 + if (pr === pl) { + this.debug('** at the end') + // a ** at the end will just swallow the rest. + // We have found a match. + // however, it will not swallow /.x, unless + // options.dot is set. + // . and .. are *never* matched by **, for explosively + // exponential reasons. + for (; fi < fl; fi++) { + if (file[fi] === '.' || file[fi] === '..' || + (!options.dot && file[fi].charAt(0) === '.')) return false + } + return true + } + + // ok, let's see if we can swallow whatever we can. + while (fr < fl) { + var swallowee = file[fr] + + this.debug('\nglobstar while', file, fr, pattern, pr, swallowee) + + // XXX remove this slice. Just pass the start index. + if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { + this.debug('globstar found match!', fr, fl, swallowee) + // found a match. + return true + } else { + // can't swallow "." or ".." ever. + // can only swallow ".foo" when explicitly asked. + if (swallowee === '.' || swallowee === '..' || + (!options.dot && swallowee.charAt(0) === '.')) { + this.debug('dot detected!', file, fr, pattern, pr) + break + } + + // ** swallows a segment, and continue. + this.debug('globstar swallow a segment, and continue') + fr++ + } + } + + // no match was found. + // However, in partial mode, we can't say this is necessarily over. + // If there's more *pattern* left, then + if (partial) { + // ran out of file + this.debug('\n>>> no match, partial?', file, fr, pattern, pr) + if (fr === fl) return true + } + return false + } + + // something other than ** + // non-magic patterns just have to match exactly + // patterns with magic have been turned into regexps. + var hit + if (typeof p === 'string') { + if (options.nocase) { + hit = f.toLowerCase() === p.toLowerCase() + } else { + hit = f === p + } + this.debug('string match', p, f, hit) + } else { + hit = f.match(p) + this.debug('pattern match', p, f, hit) + } + + if (!hit) return false + } + + // Note: ending in / means that we'll get a final "" + // at the end of the pattern. This can only match a + // corresponding "" at the end of the file. + // If the file ends in /, then it can only match a + // a pattern that ends in /, unless the pattern just + // doesn't have any more for it. But, a/b/ should *not* + // match "a/b/*", even though "" matches against the + // [^/]*? pattern, except in partial mode, where it might + // simply not be reached yet. + // However, a/b/ should still satisfy a/* + + // now either we fell off the end of the pattern, or we're done. + if (fi === fl && pi === pl) { + // ran out of pattern and filename at the same time. + // an exact hit! + return true + } else if (fi === fl) { + // ran out of file, but still had pattern left. + // this is ok if we're doing the match as part of + // a glob fs traversal. + return partial + } else if (pi === pl) { + // ran out of pattern, still have file left. + // this is only acceptable if we're on the very last + // empty segment of a file with a trailing slash. + // a/* should match a/b/ + var emptyFileEnd = (fi === fl - 1) && (file[fi] === '') + return emptyFileEnd + } + + // should be unreachable. + throw new Error('wtf?') +} + +// replace stuff like \* with * +function globUnescape (s) { + return s.replace(/\\(.)/g, '$1') +} + +function regExpEscape (s) { + return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/minimatch/3.0.4/node_modules/minimatch/package.json b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/minimatch/3.0.4/node_modules/minimatch/package.json new file mode 100644 index 0000000000..c4514c8077 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/minimatch/3.0.4/node_modules/minimatch/package.json @@ -0,0 +1,30 @@ +{ + "author": "Isaac Z. Schlueter (http://blog.izs.me)", + "name": "minimatch", + "description": "a glob matcher in javascript", + "version": "3.0.4", + "repository": { + "type": "git", + "url": "git://github.com/isaacs/minimatch.git" + }, + "main": "minimatch.js", + "scripts": { + "test": "tap test/*.js --cov", + "preversion": "npm test", + "postversion": "npm publish", + "postpublish": "git push origin --all; git push origin --tags" + }, + "engines": { + "node": "*" + }, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "devDependencies": { + "tap": "^10.3.2" + }, + "license": "ISC", + "files": [ + "minimatch.js" + ] +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/once/1.4.0/node_modules/once/LICENSE b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/once/1.4.0/node_modules/once/LICENSE new file mode 100644 index 0000000000..19129e315f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/once/1.4.0/node_modules/once/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/once/1.4.0/node_modules/once/README.md b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/once/1.4.0/node_modules/once/README.md new file mode 100644 index 0000000000..1f1ffca933 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/once/1.4.0/node_modules/once/README.md @@ -0,0 +1,79 @@ +# once + +Only call a function once. + +## usage + +```javascript +var once = require('once') + +function load (file, cb) { + cb = once(cb) + loader.load('file') + loader.once('load', cb) + loader.once('error', cb) +} +``` + +Or add to the Function.prototype in a responsible way: + +```javascript +// only has to be done once +require('once').proto() + +function load (file, cb) { + cb = cb.once() + loader.load('file') + loader.once('load', cb) + loader.once('error', cb) +} +``` + +Ironically, the prototype feature makes this module twice as +complicated as necessary. + +To check whether you function has been called, use `fn.called`. Once the +function is called for the first time the return value of the original +function is saved in `fn.value` and subsequent calls will continue to +return this value. + +```javascript +var once = require('once') + +function load (cb) { + cb = once(cb) + var stream = createStream() + stream.once('data', cb) + stream.once('end', function () { + if (!cb.called) cb(new Error('not found')) + }) +} +``` + +## `once.strict(func)` + +Throw an error if the function is called twice. + +Some functions are expected to be called only once. Using `once` for them would +potentially hide logical errors. + +In the example below, the `greet` function has to call the callback only once: + +```javascript +function greet (name, cb) { + // return is missing from the if statement + // when no name is passed, the callback is called twice + if (!name) cb('Hello anonymous') + cb('Hello ' + name) +} + +function log (msg) { + console.log(msg) +} + +// this will print 'Hello anonymous' but the logical error will be missed +greet(null, once(msg)) + +// once.strict will print 'Hello anonymous' and throw an error when the callback will be called the second time +greet(null, once.strict(msg)) +``` diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/once/1.4.0/node_modules/once/once.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/once/1.4.0/node_modules/once/once.js new file mode 100644 index 0000000000..235406736d --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/once/1.4.0/node_modules/once/once.js @@ -0,0 +1,42 @@ +var wrappy = require('wrappy') +module.exports = wrappy(once) +module.exports.strict = wrappy(onceStrict) + +once.proto = once(function () { + Object.defineProperty(Function.prototype, 'once', { + value: function () { + return once(this) + }, + configurable: true + }) + + Object.defineProperty(Function.prototype, 'onceStrict', { + value: function () { + return onceStrict(this) + }, + configurable: true + }) +}) + +function once (fn) { + var f = function () { + if (f.called) return f.value + f.called = true + return f.value = fn.apply(this, arguments) + } + f.called = false + return f +} + +function onceStrict (fn) { + var f = function () { + if (f.called) + throw new Error(f.onceError) + f.called = true + return f.value = fn.apply(this, arguments) + } + var name = fn.name || 'Function wrapped with `once`' + f.onceError = name + " shouldn't be called more than once" + f.called = false + return f +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/once/1.4.0/node_modules/once/package.json b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/once/1.4.0/node_modules/once/package.json new file mode 100644 index 0000000000..16815b2fa1 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/once/1.4.0/node_modules/once/package.json @@ -0,0 +1,33 @@ +{ + "name": "once", + "version": "1.4.0", + "description": "Run a function exactly one time", + "main": "once.js", + "directories": { + "test": "test" + }, + "dependencies": { + "wrappy": "1" + }, + "devDependencies": { + "tap": "^7.0.1" + }, + "scripts": { + "test": "tap test/*.js" + }, + "files": [ + "once.js" + ], + "repository": { + "type": "git", + "url": "git://github.com/isaacs/once" + }, + "keywords": [ + "once", + "function", + "one", + "single" + ], + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "license": "ISC" +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/once/1.4.0/node_modules/wrappy b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/once/1.4.0/node_modules/wrappy new file mode 120000 index 0000000000..602ae4fab2 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/once/1.4.0/node_modules/wrappy @@ -0,0 +1 @@ +../../../wrappy/1.0.2/node_modules/wrappy \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/path-is-absolute/1.0.1/node_modules/path-is-absolute/index.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/path-is-absolute/1.0.1/node_modules/path-is-absolute/index.js new file mode 100644 index 0000000000..22aa6c3560 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/path-is-absolute/1.0.1/node_modules/path-is-absolute/index.js @@ -0,0 +1,20 @@ +'use strict'; + +function posix(path) { + return path.charAt(0) === '/'; +} + +function win32(path) { + // https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56 + var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; + var result = splitDeviceRe.exec(path); + var device = result[1] || ''; + var isUnc = Boolean(device && device.charAt(1) !== ':'); + + // UNC paths are always absolute + return Boolean(result[2] || isUnc); +} + +module.exports = process.platform === 'win32' ? win32 : posix; +module.exports.posix = posix; +module.exports.win32 = win32; diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/path-is-absolute/1.0.1/node_modules/path-is-absolute/license b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/path-is-absolute/1.0.1/node_modules/path-is-absolute/license new file mode 100644 index 0000000000..654d0bfe94 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/path-is-absolute/1.0.1/node_modules/path-is-absolute/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.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. diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/path-is-absolute/1.0.1/node_modules/path-is-absolute/package.json b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/path-is-absolute/1.0.1/node_modules/path-is-absolute/package.json new file mode 100644 index 0000000000..91196d5e9c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/path-is-absolute/1.0.1/node_modules/path-is-absolute/package.json @@ -0,0 +1,43 @@ +{ + "name": "path-is-absolute", + "version": "1.0.1", + "description": "Node.js 0.12 path.isAbsolute() ponyfill", + "license": "MIT", + "repository": "sindresorhus/path-is-absolute", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "xo && node test.js" + }, + "files": [ + "index.js" + ], + "keywords": [ + "path", + "paths", + "file", + "dir", + "absolute", + "isabsolute", + "is-absolute", + "built-in", + "util", + "utils", + "core", + "ponyfill", + "polyfill", + "shim", + "is", + "detect", + "check" + ], + "devDependencies": { + "xo": "^0.16.0" + } +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/path-is-absolute/1.0.1/node_modules/path-is-absolute/readme.md b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/path-is-absolute/1.0.1/node_modules/path-is-absolute/readme.md new file mode 100644 index 0000000000..8dbdf5fcb7 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/path-is-absolute/1.0.1/node_modules/path-is-absolute/readme.md @@ -0,0 +1,59 @@ +# path-is-absolute [![Build Status](https://travis-ci.org/sindresorhus/path-is-absolute.svg?branch=master)](https://travis-ci.org/sindresorhus/path-is-absolute) + +> Node.js 0.12 [`path.isAbsolute()`](http://nodejs.org/api/path.html#path_path_isabsolute_path) [ponyfill](https://ponyfill.com) + + +## Install + +``` +$ npm install --save path-is-absolute +``` + + +## Usage + +```js +const pathIsAbsolute = require('path-is-absolute'); + +// Running on Linux +pathIsAbsolute('/home/foo'); +//=> true +pathIsAbsolute('C:/Users/foo'); +//=> false + +// Running on Windows +pathIsAbsolute('C:/Users/foo'); +//=> true +pathIsAbsolute('/home/foo'); +//=> false + +// Running on any OS +pathIsAbsolute.posix('/home/foo'); +//=> true +pathIsAbsolute.posix('C:/Users/foo'); +//=> false +pathIsAbsolute.win32('C:/Users/foo'); +//=> true +pathIsAbsolute.win32('/home/foo'); +//=> false +``` + + +## API + +See the [`path.isAbsolute()` docs](http://nodejs.org/api/path.html#path_path_isabsolute_path). + +### pathIsAbsolute(path) + +### pathIsAbsolute.posix(path) + +POSIX specific version. + +### pathIsAbsolute.win32(path) + +Windows specific version. + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/glob b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/glob new file mode 120000 index 0000000000..fc2a999e36 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/glob @@ -0,0 +1 @@ +../../../glob/6.0.4/node_modules/glob \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf/LICENSE b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf/LICENSE new file mode 100644 index 0000000000..19129e315f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf/README.md b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf/README.md new file mode 100644 index 0000000000..423b8cf854 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf/README.md @@ -0,0 +1,101 @@ +[![Build Status](https://travis-ci.org/isaacs/rimraf.svg?branch=master)](https://travis-ci.org/isaacs/rimraf) [![Dependency Status](https://david-dm.org/isaacs/rimraf.svg)](https://david-dm.org/isaacs/rimraf) [![devDependency Status](https://david-dm.org/isaacs/rimraf/dev-status.svg)](https://david-dm.org/isaacs/rimraf#info=devDependencies) + +The [UNIX command](http://en.wikipedia.org/wiki/Rm_(Unix)) `rm -rf` for node. + +Install with `npm install rimraf`, or just drop rimraf.js somewhere. + +## API + +`rimraf(f, [opts], callback)` + +The first parameter will be interpreted as a globbing pattern for files. If you +want to disable globbing you can do so with `opts.disableGlob` (defaults to +`false`). This might be handy, for instance, if you have filenames that contain +globbing wildcard characters. + +The callback will be called with an error if there is one. Certain +errors are handled for you: + +* Windows: `EBUSY` and `ENOTEMPTY` - rimraf will back off a maximum of + `opts.maxBusyTries` times before giving up, adding 100ms of wait + between each attempt. The default `maxBusyTries` is 3. +* `ENOENT` - If the file doesn't exist, rimraf will return + successfully, since your desired outcome is already the case. +* `EMFILE` - Since `readdir` requires opening a file descriptor, it's + possible to hit `EMFILE` if too many file descriptors are in use. + In the sync case, there's nothing to be done for this. But in the + async case, rimraf will gradually back off with timeouts up to + `opts.emfileWait` ms, which defaults to 1000. + +## options + +* unlink, chmod, stat, lstat, rmdir, readdir, + unlinkSync, chmodSync, statSync, lstatSync, rmdirSync, readdirSync + + In order to use a custom file system library, you can override + specific fs functions on the options object. + + If any of these functions are present on the options object, then + the supplied function will be used instead of the default fs + method. + + Sync methods are only relevant for `rimraf.sync()`, of course. + + For example: + + ```javascript + var myCustomFS = require('some-custom-fs') + + rimraf('some-thing', myCustomFS, callback) + ``` + +* maxBusyTries + + If an `EBUSY`, `ENOTEMPTY`, or `EPERM` error code is encountered + on Windows systems, then rimraf will retry with a linear backoff + wait of 100ms longer on each try. The default maxBusyTries is 3. + + Only relevant for async usage. + +* emfileWait + + If an `EMFILE` error is encountered, then rimraf will retry + repeatedly with a linear backoff of 1ms longer on each try, until + the timeout counter hits this max. The default limit is 1000. + + If you repeatedly encounter `EMFILE` errors, then consider using + [graceful-fs](http://npm.im/graceful-fs) in your program. + + Only relevant for async usage. + +* glob + + Set to `false` to disable [glob](http://npm.im/glob) pattern + matching. + + Set to an object to pass options to the glob module. The default + glob options are `{ nosort: true, silent: true }`. + + Glob version 6 is used in this module. + + Relevant for both sync and async usage. + +* disableGlob + + Set to any non-falsey value to disable globbing entirely. + (Equivalent to setting `glob: false`.) + +## rimraf.sync + +It can remove stuff synchronously, too. But that's not so good. Use +the async API. It's better. + +## CLI + +If installed with `npm install rimraf -g` it can be used as a global +command `rimraf [ ...]` which is useful for cross platform support. + +## mkdirp + +If you need to create a directory recursively, check out +[mkdirp](https://github.com/substack/node-mkdirp). diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf/bin.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf/bin.js new file mode 100755 index 0000000000..1bd5a0d16a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf/bin.js @@ -0,0 +1,40 @@ +#!/usr/bin/env node + +var rimraf = require('./') + +var help = false +var dashdash = false +var args = process.argv.slice(2).filter(function(arg) { + if (dashdash) + return !!arg + else if (arg === '--') + dashdash = true + else if (arg.match(/^(-+|\/)(h(elp)?|\?)$/)) + help = true + else + return !!arg +}); + +if (help || args.length === 0) { + // If they didn't ask for help, then this is not a "success" + var log = help ? console.log : console.error + log('Usage: rimraf [ ...]') + log('') + log(' Deletes all files and folders at "path" recursively.') + log('') + log('Options:') + log('') + log(' -h, --help Display this usage info') + process.exit(help ? 0 : 1) +} else + go(0) + +function go (n) { + if (n >= args.length) + return + rimraf(args[n], function (er) { + if (er) + throw er + go(n+1) + }) +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf/package.json b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf/package.json new file mode 100644 index 0000000000..07ad5fc779 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf/package.json @@ -0,0 +1,26 @@ +{ + "name": "rimraf", + "version": "2.5.1", + "main": "rimraf.js", + "description": "A deep deletion module for node (like `rm -rf`)", + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "license": "ISC", + "repository": "git://github.com/isaacs/rimraf.git", + "scripts": { + "test": "tap test/*.js" + }, + "bin": "./bin.js", + "dependencies": { + "glob": "^6.0.1" + }, + "files": [ + "LICENSE", + "README.md", + "bin.js", + "rimraf.js" + ], + "devDependencies": { + "mkdirp": "^0.5.1", + "tap": "^5.1.1" + } +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf/rimraf.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf/rimraf.js new file mode 100644 index 0000000000..c01d13b200 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf/rimraf.js @@ -0,0 +1,335 @@ +module.exports = rimraf +rimraf.sync = rimrafSync + +var assert = require("assert") +var path = require("path") +var fs = require("fs") +var glob = require("glob") + +var defaultGlobOpts = { + nosort: true, + silent: true +} + +// for EMFILE handling +var timeout = 0 + +var isWindows = (process.platform === "win32") + +function defaults (options) { + var methods = [ + 'unlink', + 'chmod', + 'stat', + 'lstat', + 'rmdir', + 'readdir' + ] + methods.forEach(function(m) { + options[m] = options[m] || fs[m] + m = m + 'Sync' + options[m] = options[m] || fs[m] + }) + + options.maxBusyTries = options.maxBusyTries || 3 + options.emfileWait = options.emfileWait || 1000 + if (options.glob === false) { + options.disableGlob = true + } + options.disableGlob = options.disableGlob || false + options.glob = options.glob || defaultGlobOpts +} + +function rimraf (p, options, cb) { + if (typeof options === 'function') { + cb = options + options = {} + } + + assert(p, 'rimraf: missing path') + assert.equal(typeof p, 'string', 'rimraf: path should be a string') + assert(options, 'rimraf: missing options') + assert.equal(typeof options, 'object', 'rimraf: options should be object') + assert.equal(typeof cb, 'function', 'rimraf: callback function required') + + defaults(options) + + var busyTries = 0 + var errState = null + var n = 0 + + if (options.disableGlob || !glob.hasMagic(p)) + return afterGlob(null, [p]) + + fs.lstat(p, function (er, stat) { + if (!er) + return afterGlob(null, [p]) + + glob(p, options.glob, afterGlob) + }) + + function next (er) { + errState = errState || er + if (--n === 0) + cb(errState) + } + + function afterGlob (er, results) { + if (er) + return cb(er) + + n = results.length + if (n === 0) + return cb() + + results.forEach(function (p) { + rimraf_(p, options, function CB (er) { + if (er) { + if (isWindows && (er.code === "EBUSY" || er.code === "ENOTEMPTY" || er.code === "EPERM") && + busyTries < options.maxBusyTries) { + busyTries ++ + var time = busyTries * 100 + // try again, with the same exact callback as this one. + return setTimeout(function () { + rimraf_(p, options, CB) + }, time) + } + + // this one won't happen if graceful-fs is used. + if (er.code === "EMFILE" && timeout < options.emfileWait) { + return setTimeout(function () { + rimraf_(p, options, CB) + }, timeout ++) + } + + // already gone + if (er.code === "ENOENT") er = null + } + + timeout = 0 + next(er) + }) + }) + } +} + +// Two possible strategies. +// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR +// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR +// +// Both result in an extra syscall when you guess wrong. However, there +// are likely far more normal files in the world than directories. This +// is based on the assumption that a the average number of files per +// directory is >= 1. +// +// If anyone ever complains about this, then I guess the strategy could +// be made configurable somehow. But until then, YAGNI. +function rimraf_ (p, options, cb) { + assert(p) + assert(options) + assert(typeof cb === 'function') + + // sunos lets the root user unlink directories, which is... weird. + // so we have to lstat here and make sure it's not a dir. + options.lstat(p, function (er, st) { + if (er && er.code === "ENOENT") + return cb(null) + + if (st && st.isDirectory()) + return rmdir(p, options, er, cb) + + options.unlink(p, function (er) { + if (er) { + if (er.code === "ENOENT") + return cb(null) + if (er.code === "EPERM") + return (isWindows) + ? fixWinEPERM(p, options, er, cb) + : rmdir(p, options, er, cb) + if (er.code === "EISDIR") + return rmdir(p, options, er, cb) + } + return cb(er) + }) + }) +} + +function fixWinEPERM (p, options, er, cb) { + assert(p) + assert(options) + assert(typeof cb === 'function') + if (er) + assert(er instanceof Error) + + options.chmod(p, 666, function (er2) { + if (er2) + cb(er2.code === "ENOENT" ? null : er) + else + options.stat(p, function(er3, stats) { + if (er3) + cb(er3.code === "ENOENT" ? null : er) + else if (stats.isDirectory()) + rmdir(p, options, er, cb) + else + options.unlink(p, cb) + }) + }) +} + +function fixWinEPERMSync (p, options, er) { + assert(p) + assert(options) + if (er) + assert(er instanceof Error) + + try { + options.chmodSync(p, 666) + } catch (er2) { + if (er2.code === "ENOENT") + return + else + throw er + } + + try { + var stats = options.statSync(p) + } catch (er3) { + if (er3.code === "ENOENT") + return + else + throw er + } + + if (stats.isDirectory()) + rmdirSync(p, options, er) + else + options.unlinkSync(p) +} + +function rmdir (p, options, originalEr, cb) { + assert(p) + assert(options) + if (originalEr) + assert(originalEr instanceof Error) + assert(typeof cb === 'function') + + // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS) + // if we guessed wrong, and it's not a directory, then + // raise the original error. + options.rmdir(p, function (er) { + if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")) + rmkids(p, options, cb) + else if (er && er.code === "ENOTDIR") + cb(originalEr) + else + cb(er) + }) +} + +function rmkids(p, options, cb) { + assert(p) + assert(options) + assert(typeof cb === 'function') + + options.readdir(p, function (er, files) { + if (er) + return cb(er) + var n = files.length + if (n === 0) + return options.rmdir(p, cb) + var errState + files.forEach(function (f) { + rimraf(path.join(p, f), options, function (er) { + if (errState) + return + if (er) + return cb(errState = er) + if (--n === 0) + options.rmdir(p, cb) + }) + }) + }) +} + +// this looks simpler, and is strictly *faster*, but will +// tie up the JavaScript thread and fail on excessively +// deep directory trees. +function rimrafSync (p, options) { + options = options || {} + defaults(options) + + assert(p, 'rimraf: missing path') + assert.equal(typeof p, 'string', 'rimraf: path should be a string') + assert(options, 'rimraf: missing options') + assert.equal(typeof options, 'object', 'rimraf: options should be object') + + var results + + if (options.disableGlob || !glob.hasMagic(p)) { + results = [p] + } else { + try { + fs.lstatSync(p) + results = [p] + } catch (er) { + results = glob.sync(p, options.glob) + } + } + + if (!results.length) + return + + for (var i = 0; i < results.length; i++) { + var p = results[i] + + try { + var st = options.lstatSync(p) + } catch (er) { + if (er.code === "ENOENT") + return + } + + try { + // sunos lets the root user unlink directories, which is... weird. + if (st && st.isDirectory()) + rmdirSync(p, options, null) + else + options.unlinkSync(p) + } catch (er) { + if (er.code === "ENOENT") + return + if (er.code === "EPERM") + return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er) + if (er.code !== "EISDIR") + throw er + rmdirSync(p, options, er) + } + } +} + +function rmdirSync (p, options, originalEr) { + assert(p) + assert(options) + if (originalEr) + assert(originalEr instanceof Error) + + try { + options.rmdirSync(p) + } catch (er) { + if (er.code === "ENOENT") + return + if (er.code === "ENOTDIR") + throw originalEr + if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM") + rmkidsSync(p, options) + } +} + +function rmkidsSync (p, options) { + assert(p) + assert(options) + options.readdirSync(p).forEach(function (f) { + rimrafSync(path.join(p, f), options) + }) + options.rmdirSync(p, options) +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/wrappy/1.0.2/node_modules/wrappy/LICENSE b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/wrappy/1.0.2/node_modules/wrappy/LICENSE new file mode 100644 index 0000000000..19129e315f --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/wrappy/1.0.2/node_modules/wrappy/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/wrappy/1.0.2/node_modules/wrappy/README.md b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/wrappy/1.0.2/node_modules/wrappy/README.md new file mode 100644 index 0000000000..98eab2522b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/wrappy/1.0.2/node_modules/wrappy/README.md @@ -0,0 +1,36 @@ +# wrappy + +Callback wrapping utility + +## USAGE + +```javascript +var wrappy = require("wrappy") + +// var wrapper = wrappy(wrapperFunction) + +// make sure a cb is called only once +// See also: http://npm.im/once for this specific use case +var once = wrappy(function (cb) { + var called = false + return function () { + if (called) return + called = true + return cb.apply(this, arguments) + } +}) + +function printBoo () { + console.log('boo') +} +// has some rando property +printBoo.iAmBooPrinter = true + +var onlyPrintOnce = once(printBoo) + +onlyPrintOnce() // prints 'boo' +onlyPrintOnce() // does nothing + +// random property is retained! +assert.equal(onlyPrintOnce.iAmBooPrinter, true) +``` diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/wrappy/1.0.2/node_modules/wrappy/package.json b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/wrappy/1.0.2/node_modules/wrappy/package.json new file mode 100644 index 0000000000..1307520467 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/wrappy/1.0.2/node_modules/wrappy/package.json @@ -0,0 +1,29 @@ +{ + "name": "wrappy", + "version": "1.0.2", + "description": "Callback wrapping utility", + "main": "wrappy.js", + "files": [ + "wrappy.js" + ], + "directories": { + "test": "test" + }, + "dependencies": {}, + "devDependencies": { + "tap": "^2.3.1" + }, + "scripts": { + "test": "tap --coverage test/*.js" + }, + "repository": { + "type": "git", + "url": "https://github.com/npm/wrappy" + }, + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "license": "ISC", + "bugs": { + "url": "https://github.com/npm/wrappy/issues" + }, + "homepage": "https://github.com/npm/wrappy" +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/wrappy/1.0.2/node_modules/wrappy/wrappy.js b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/wrappy/1.0.2/node_modules/wrappy/wrappy.js new file mode 100644 index 0000000000..bb7e7d6fcf --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.registry.npmjs.org/wrappy/1.0.2/node_modules/wrappy/wrappy.js @@ -0,0 +1,33 @@ +// Returns a wrapper function that returns a wrapped callback +// The wrapper function should do some stuff, and return a +// presumably different callback function. +// This makes sure that own properties are retained, so that +// decorations and such are not lost along the way. +module.exports = wrappy +function wrappy (fn, cb) { + if (fn && cb) return wrappy(fn)(cb) + + if (typeof fn !== 'function') + throw new TypeError('need wrapper function') + + Object.keys(fn).forEach(function (k) { + wrapper[k] = fn[k] + }) + + return wrapper + + function wrapper() { + var args = new Array(arguments.length) + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i] + } + var ret = fn.apply(this, args) + var cb = args[args.length-1] + if (typeof ret === 'function' && ret !== cb) { + Object.keys(cb).forEach(function (k) { + ret[k] = cb[k] + }) + } + return ret + } +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.shrinkwrap.yaml b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.shrinkwrap.yaml new file mode 100644 index 0000000000..9373ee18a2 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/.shrinkwrap.yaml @@ -0,0 +1,93 @@ +dependencies: + minimatch: 3.0.4 + rimraf: 2.5.1 +devDependencies: + is-positive: 1.0.0 +optionalDependencies: + is-negative: 1.0.0 +packages: + /balanced-match/1.0.0: + dev: false + resolution: + integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + /brace-expansion/1.1.8: + dependencies: + balanced-match: 1.0.0 + concat-map: 0.0.1 + dev: false + resolution: + integrity: sha1-wHshHHyVLsH479Uad+8NHTmQopI= + /concat-map/0.0.1: + dev: false + resolution: + integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + /glob/6.0.4: + dependencies: + inflight: 1.0.6 + inherits: 2.0.3 + minimatch: 3.0.4 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: false + resolution: + integrity: sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI= + /inflight/1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: false + resolution: + integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + /inherits/2.0.3: + dev: false + resolution: + integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + /is-negative/1.0.0: + dev: false + engines: + node: '>=0.10.0' + optional: true + resolution: + integrity: sha1-clmHeoPIAKwxkd17nZ+80PdS1P4= + /is-positive/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-iACYVrZKLx632LsBeUGEJK4EUss= + /minimatch/3.0.4: + dependencies: + brace-expansion: 1.1.8 + dev: false + resolution: + integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + /once/1.4.0: + dependencies: + wrappy: 1.0.2 + dev: false + resolution: + integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + /path-is-absolute/1.0.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + /rimraf/2.5.1: + dependencies: + glob: 6.0.4 + dev: false + resolution: + integrity: sha1-UuHpRvP5ubDV2JiLoxkaryotvUM= + /wrappy/1.0.2: + dev: false + resolution: + integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= +registry: 'https://registry.npmjs.org/' +shrinkwrapMinorVersion: 7 +shrinkwrapVersion: 3 +specifiers: + is-negative: 1.0.0 + is-positive: 1.0.0 + minimatch: ^3.0.4 + rimraf: 2.5.1 diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/is-negative b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/is-negative new file mode 120000 index 0000000000..d693cc2aab --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/is-negative @@ -0,0 +1 @@ +.registry.npmjs.org/is-negative/1.0.0/node_modules/is-negative \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/is-positive b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/is-positive new file mode 120000 index 0000000000..8855068e8c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/is-positive @@ -0,0 +1 @@ +.registry.npmjs.org/is-positive/1.0.0/node_modules/is-positive \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/minimatch b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/minimatch new file mode 120000 index 0000000000..21d69995ea --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/minimatch @@ -0,0 +1 @@ +.registry.npmjs.org/minimatch/3.0.4/node_modules/minimatch \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/general/node_modules/rimraf b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/rimraf new file mode 120000 index 0000000000..13005f5e6c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/node_modules/rimraf @@ -0,0 +1 @@ +.registry.npmjs.org/rimraf/2.5.1/node_modules/rimraf \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/general/package.json b/packages/dependencies-hierarchy/test/fixtures/general/package.json new file mode 100644 index 0000000000..f7504ce38b --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/package.json @@ -0,0 +1,14 @@ +{ + "name": "general", + "version": "0.0.0", + "dependencies": { + "minimatch": "^3.0.4", + "rimraf": "2.5.1" + }, + "devDependencies": { + "is-positive": "1.0.0" + }, + "optionalDependencies": { + "is-negative": "1.0.0" + } +} diff --git a/packages/dependencies-hierarchy/test/fixtures/general/shrinkwrap.yaml b/packages/dependencies-hierarchy/test/fixtures/general/shrinkwrap.yaml new file mode 100644 index 0000000000..9373ee18a2 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/general/shrinkwrap.yaml @@ -0,0 +1,93 @@ +dependencies: + minimatch: 3.0.4 + rimraf: 2.5.1 +devDependencies: + is-positive: 1.0.0 +optionalDependencies: + is-negative: 1.0.0 +packages: + /balanced-match/1.0.0: + dev: false + resolution: + integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + /brace-expansion/1.1.8: + dependencies: + balanced-match: 1.0.0 + concat-map: 0.0.1 + dev: false + resolution: + integrity: sha1-wHshHHyVLsH479Uad+8NHTmQopI= + /concat-map/0.0.1: + dev: false + resolution: + integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + /glob/6.0.4: + dependencies: + inflight: 1.0.6 + inherits: 2.0.3 + minimatch: 3.0.4 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: false + resolution: + integrity: sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI= + /inflight/1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: false + resolution: + integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + /inherits/2.0.3: + dev: false + resolution: + integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + /is-negative/1.0.0: + dev: false + engines: + node: '>=0.10.0' + optional: true + resolution: + integrity: sha1-clmHeoPIAKwxkd17nZ+80PdS1P4= + /is-positive/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-iACYVrZKLx632LsBeUGEJK4EUss= + /minimatch/3.0.4: + dependencies: + brace-expansion: 1.1.8 + dev: false + resolution: + integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + /once/1.4.0: + dependencies: + wrappy: 1.0.2 + dev: false + resolution: + integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + /path-is-absolute/1.0.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + /rimraf/2.5.1: + dependencies: + glob: 6.0.4 + dev: false + resolution: + integrity: sha1-UuHpRvP5ubDV2JiLoxkaryotvUM= + /wrappy/1.0.2: + dev: false + resolution: + integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= +registry: 'https://registry.npmjs.org/' +shrinkwrapMinorVersion: 7 +shrinkwrapVersion: 3 +specifiers: + is-negative: 1.0.0 + is-positive: 1.0.0 + minimatch: ^3.0.4 + rimraf: 2.5.1 diff --git a/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.modules.yaml b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.modules.yaml new file mode 100644 index 0000000000..e2260e6977 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.modules.yaml @@ -0,0 +1,5 @@ +independentLeaves: false +layoutVersion: 1 +packageManager: pnpm@1.9.0 +skipped: [] +store: /home/zkochan/.pnpm-store/2 diff --git a/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.registry.npmjs.org/is-positive/3.1.0/node_modules/is-positive/index.js b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.registry.npmjs.org/is-positive/3.1.0/node_modules/is-positive/index.js new file mode 100644 index 0000000000..ce27efbbbf --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.registry.npmjs.org/is-positive/3.1.0/node_modules/is-positive/index.js @@ -0,0 +1,4 @@ +'use strict'; +module.exports = function (n) { + return toString.call(n) === '[object Number]' && n > 0; +}; diff --git a/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.registry.npmjs.org/is-positive/3.1.0/node_modules/is-positive/license b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.registry.npmjs.org/is-positive/3.1.0/node_modules/is-positive/license new file mode 100644 index 0000000000..0f8cf79c3c --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.registry.npmjs.org/is-positive/3.1.0/node_modules/is-positive/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Kevin Martensson (github.com/kevva) + +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. diff --git a/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.registry.npmjs.org/is-positive/3.1.0/node_modules/is-positive/package.json b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.registry.npmjs.org/is-positive/3.1.0/node_modules/is-positive/package.json new file mode 100644 index 0000000000..5feb15ba19 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.registry.npmjs.org/is-positive/3.1.0/node_modules/is-positive/package.json @@ -0,0 +1,31 @@ +{ + "name": "is-positive", + "version": "3.1.0", + "description": "Check if something is a positive number", + "license": "MIT", + "repository": "kevva/is-positive", + "author": { + "name": "Kevin Martensson", + "email": "kevinmartensson@gmail.com", + "url": "github.com/kevva" + }, + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "number", + "positive", + "test", + "check" + ], + "devDependencies": { + "ava": "*", + "xo": "*" + } +} diff --git a/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.registry.npmjs.org/is-positive/3.1.0/node_modules/is-positive/readme.md b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.registry.npmjs.org/is-positive/3.1.0/node_modules/is-positive/readme.md new file mode 100644 index 0000000000..f80e8a0c48 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.registry.npmjs.org/is-positive/3.1.0/node_modules/is-positive/readme.md @@ -0,0 +1,44 @@ +# is-positive [![Build Status](https://travis-ci.org/kevva/is-positive.svg?branch=master)](https://travis-ci.org/kevva/is-positive) + +> Check if something is a positive number + + +## Install + +``` +$ npm install --save is-positive +``` + + +## Usage + +```js +const isPositive = require('is-positive'); + +isPositive(1); +//=> true + +isPositive(0); +//=> false + +isPositive(-1); +//=> false + +isPositive('1'); +//=> false + +isPositive(Number(1)) +//=> true +``` + +_Note: This module doesn't consider `0` to be a positive number and doesn't distinguish between `-0` and `0`. If you want to detect `0`, use the [`positive-zero`](https://github.com/sindresorhus/positive-zero) module._ + + +## Related + +- [is-negative](https://github.com/kevva/is-negative) - Check if something is a negative number + + +## License + +MIT © [Kevin Martensson](http://github.com/kevva) diff --git a/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.shrinkwrap.yaml b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.shrinkwrap.yaml new file mode 100644 index 0000000000..f70311ca6a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/.shrinkwrap.yaml @@ -0,0 +1,12 @@ +dependencies: + general: 'file:../general' + is-positive: 3.1.0 +packages: + /is-positive/3.1.0: + resolution: + integrity: sha1-hX21hKG6XRyymAUn/DtsQ103sP0= +registry: 'https://registry.npmjs.org/' +shrinkwrapVersion: 3 +specifiers: + general: 'file:../general' + is-positive: ^3.1.0 diff --git a/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/general b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/general new file mode 120000 index 0000000000..ef6bd8b7a9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/general @@ -0,0 +1 @@ +../../general \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/is-positive b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/is-positive new file mode 120000 index 0000000000..3ddacfa7df --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/node_modules/is-positive @@ -0,0 +1 @@ +.registry.npmjs.org/is-positive/3.1.0/node_modules/is-positive \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/with-file-dep/package.json b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/package.json new file mode 100644 index 0000000000..8b857202a4 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/package.json @@ -0,0 +1,8 @@ +{ + "name": "with-file-dep", + "version": "1.0.0", + "dependencies": { + "general": "file:../general", + "is-positive": "^3.1.0" + } +} diff --git a/packages/dependencies-hierarchy/test/fixtures/with-file-dep/shrinkwrap.yaml b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/shrinkwrap.yaml new file mode 100644 index 0000000000..f70311ca6a --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/with-file-dep/shrinkwrap.yaml @@ -0,0 +1,12 @@ +dependencies: + general: 'file:../general' + is-positive: 3.1.0 +packages: + /is-positive/3.1.0: + resolution: + integrity: sha1-hX21hKG6XRyymAUn/DtsQ103sP0= +registry: 'https://registry.npmjs.org/' +shrinkwrapVersion: 3 +specifiers: + general: 'file:../general' + is-positive: ^3.1.0 diff --git a/packages/dependencies-hierarchy/test/fixtures/with-links-only/node_modules/.shrinkwrap.yaml b/packages/dependencies-hierarchy/test/fixtures/with-links-only/node_modules/.shrinkwrap.yaml new file mode 100644 index 0000000000..7e08edb604 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/with-links-only/node_modules/.shrinkwrap.yaml @@ -0,0 +1,7 @@ +dependencies: + general: 'link:../general' +registry: 'https://registry.npmjs.org/' +shrinkwrapMinorVersion: 1 +shrinkwrapVersion: 3 +specifiers: + general: ^1.0.0 diff --git a/packages/dependencies-hierarchy/test/fixtures/with-links-only/node_modules/general b/packages/dependencies-hierarchy/test/fixtures/with-links-only/node_modules/general new file mode 120000 index 0000000000..ef6bd8b7a9 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/with-links-only/node_modules/general @@ -0,0 +1 @@ +../../general \ No newline at end of file diff --git a/packages/dependencies-hierarchy/test/fixtures/with-links-only/package.json b/packages/dependencies-hierarchy/test/fixtures/with-links-only/package.json new file mode 100644 index 0000000000..d42cd0d9cd --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/with-links-only/package.json @@ -0,0 +1,7 @@ +{ + "name": "with-links-only", + "version": "1.0.0", + "dependencies": { + "general": "^1.0.0" + } +} diff --git a/packages/dependencies-hierarchy/test/fixtures/with-links-only/shrinkwrap.yaml b/packages/dependencies-hierarchy/test/fixtures/with-links-only/shrinkwrap.yaml new file mode 100644 index 0000000000..7e08edb604 --- /dev/null +++ b/packages/dependencies-hierarchy/test/fixtures/with-links-only/shrinkwrap.yaml @@ -0,0 +1,7 @@ +dependencies: + general: 'link:../general' +registry: 'https://registry.npmjs.org/' +shrinkwrapMinorVersion: 1 +shrinkwrapVersion: 3 +specifiers: + general: ^1.0.0 diff --git a/packages/dependencies-hierarchy/test/index.ts b/packages/dependencies-hierarchy/test/index.ts new file mode 100644 index 0000000000..ca78de9d46 --- /dev/null +++ b/packages/dependencies-hierarchy/test/index.ts @@ -0,0 +1,288 @@ +import test = require('tape') +import dh, {forPackages as dhForPackages} from 'dependencies-hierarchy' +import path = require('path') + +const fixtures = path.join(__dirname, 'fixtures') +const generalFixture = path.join(fixtures, 'general') +const circularFixture = path.join(fixtures, 'circular') +const withFileDepFixture = path.join(fixtures, 'with-file-dep') +const withLinksOnlyFixture = path.join(fixtures, 'with-links-only') + +test('one package depth 0', async t => { + const tree = await dh(generalFixture, {depth: 0}) + + t.deepEqual(tree, [ + { + pkg: { + name: 'minimatch', + path: 'registry.npmjs.org/minimatch/3.0.4', + version: '3.0.4', + } + }, + { + pkg: { + name: 'rimraf', + path: 'registry.npmjs.org/rimraf/2.5.1', + version: '2.5.1', + }, + }, + { + pkg: { + name: 'is-positive', + path: 'registry.npmjs.org/is-positive/1.0.0', + version: '1.0.0', + } + }, + { + pkg: { + name: 'is-negative', + path: 'registry.npmjs.org/is-negative/1.0.0', + version: '1.0.0', + } + }, + ]) + + t.end() +}) + +test('one package depth 1', async t => { + const tree = await dh(generalFixture, {depth: 1}) + + t.deepEqual(tree, [ + { + pkg: { + name: 'minimatch', + path: 'registry.npmjs.org/minimatch/3.0.4', + version: '3.0.4', + }, + dependencies: [ + { + pkg: { + name: 'brace-expansion', + path: 'registry.npmjs.org/brace-expansion/1.1.8', + version: '1.1.8', + } + } + ], + }, + { + pkg: { + name: 'rimraf', + path: 'registry.npmjs.org/rimraf/2.5.1', + version: '2.5.1', + }, + dependencies: [ + { + pkg: { + name: 'glob', + path: 'registry.npmjs.org/glob/6.0.4', + version: '6.0.4', + } + } + ] + }, + { + pkg: { + name: 'is-positive', + path: 'registry.npmjs.org/is-positive/1.0.0', + version: '1.0.0', + } + }, + { + pkg: { + name: 'is-negative', + path: 'registry.npmjs.org/is-negative/1.0.0', + version: '1.0.0', + } + }, + ]) + + t.end() +}) + +test('only prod depth 0', async t => { + const tree = await dh(generalFixture, {depth: 0, only: 'prod'}) + + t.deepEqual(tree, [ + { + pkg: { + name: 'minimatch', + path: 'registry.npmjs.org/minimatch/3.0.4', + version: '3.0.4', + }, + }, + { + pkg: { + name: 'rimraf', + path: 'registry.npmjs.org/rimraf/2.5.1', + version: '2.5.1', + }, + }, + ]) + + t.end() +}) + +test('only dev depth 0', async t => { + const tree = await dh(generalFixture, {depth: 0, only: 'dev'}) + + t.deepEqual(tree, [ + { + pkg: { + name: 'is-positive', + path: 'registry.npmjs.org/is-positive/1.0.0', + version: '1.0.0', + } + }, + ]) + + t.end() +}) + +test('hierarchy for no packages', async t => { + const tree = await dhForPackages([], generalFixture, {depth: 100}) + + t.deepEqual(tree, []) + + t.end() +}) + +test('filter 1 package with depth 0', async t => { + const tree = await dhForPackages([{name: 'rimraf', range: '*'}], generalFixture, {depth: 0}) + + t.deepEqual(tree, [ + { + pkg: { + name: 'rimraf', + path: 'registry.npmjs.org/rimraf/2.5.1', + version: '2.5.1', + }, + searched: true, + }, + ]) + + t.end() +}) + +test('filter 2 packages with depth 100', async t => { + const searched = [ + 'minimatch', + {name: 'once', range: '1.4'}, + ] + const tree = await dhForPackages(searched, generalFixture, {depth: 100}) + + t.deepEqual(tree, [ + { + pkg: { + name: 'minimatch', + path: 'registry.npmjs.org/minimatch/3.0.4', + version: '3.0.4', + }, + searched: true, + }, + { + pkg: { + name: 'rimraf', + path: 'registry.npmjs.org/rimraf/2.5.1', + version: '2.5.1', + }, + dependencies: [ + { + pkg: { + name: 'glob', + path: 'registry.npmjs.org/glob/6.0.4', + version: '6.0.4', + }, + dependencies: [ + { + pkg: { + name: 'inflight', + path: 'registry.npmjs.org/inflight/1.0.6', + version: '1.0.6', + }, + dependencies: [ + { + pkg: { + name: 'once', + path: 'registry.npmjs.org/once/1.4.0', + version: '1.4.0', + }, + searched: true, + } + ] + }, + { + pkg: { + name: 'minimatch', + path: 'registry.npmjs.org/minimatch/3.0.4', + version: '3.0.4', + }, + searched: true, + }, + { + pkg: { + name: 'once', + path: 'registry.npmjs.org/once/1.4.0', + version: '1.4.0', + }, + searched: true, + } + ] + } + ] + } + ]) + + t.end() +}) + +test('filter 2 packages with ranges that are not satisfied', async t => { + const searched = [ + {name: 'minimatch', range: '100'}, + {name: 'once', range: '100'}, + ] + const tree = await dhForPackages(searched, generalFixture, {depth: 100}) + + t.deepEqual(tree, []) + + t.end() +}) + +test('circular dependency', async t => { + const tree = await dh(circularFixture, {depth: 1000}) + + t.deepEqual(tree, require('./circularTree.json')) + + t.end() +}) + +test('local package depth 0', async t => { + const tree = await dh(withFileDepFixture, {depth: 1}) + + t.deepEqual(tree, [ + { + pkg: { name: 'general', path: 'file:../general', version: 'file:../general' } + }, + { + pkg: { name: 'is-positive', path: 'registry.npmjs.org/is-positive/3.1.0', version: '3.1.0' } + }, + ]) + + t.end() +}) + +test('on a package that has only links', async t => { + const tree = await dh(withLinksOnlyFixture, {depth: 1000}) + + t.deepEqual(tree, [ + { + pkg: { + name: 'general', + path: 'link:../general', + version: 'link:../general', + }, + }, + ]) + + t.end() +}) diff --git a/packages/dependencies-hierarchy/tsconfig.json b/packages/dependencies-hierarchy/tsconfig.json new file mode 100644 index 0000000000..e1c5b75154 --- /dev/null +++ b/packages/dependencies-hierarchy/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "removeComments": false, + "preserveConstEnums": true, + "sourceMap": true, + "declaration": true, + "noImplicitAny": true, + "noImplicitReturns": true, + "suppressImplicitAnyIndexErrors": true, + "allowSyntheticDefaultImports": true, + "strictNullChecks": true, + "target": "es6", + "outDir": "lib", + "module": "commonjs", + "moduleResolution": "node" + }, + "include": [ + "src/**/*.ts", + "typings/**/*.d.ts" + ], + "atom": { + "rewriteTsconfig": true + } +} diff --git a/packages/dependencies-hierarchy/tslint.json b/packages/dependencies-hierarchy/tslint.json new file mode 100644 index 0000000000..60ea406f4a --- /dev/null +++ b/packages/dependencies-hierarchy/tslint.json @@ -0,0 +1,42 @@ +{ + "extends": "tslint:recommended", + "rules": { + "curly": false, + "eofline": false, + "align": [true, "parameters"], + "class-name": true, + "indent": [true, "spaces"], + "max-line-length": false, + "no-any": true, + "no-consecutive-blank-lines": true, + "no-trailing-whitespace": true, + "no-duplicate-variable": true, + "no-var-keyword": true, + "no-unused-expression": true, + "no-use-before-declare": true, + "no-var-requires": true, + "no-require-imports": false, + "interface-name": [true, "never-prefix"], + "one-line": [true, + "check-else", + "check-whitespace", + "check-open-brace"], + "quotemark": [true, + "single", + "avoid-escape"], + "semicolon": false, + "typedef-whitespace": [true, { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + }], + "whitespace": [true, + "check-branch", + "check-decl", + "check-operator", + "check-separator", + "check-type"] + } +}