├── .jshintrc ├── .tmp └── test.js ├── README.md ├── data-structures ├── binary-tree.js ├── linked-lists.js ├── tests │ ├── linked-lists.js │ └── trie.js └── trie.js ├── index.js ├── maze ├── recursive-backtracker-debug.js └── recursive-backtracker.js ├── node_modules ├── babel │ ├── README.md │ ├── bin │ │ ├── _babel-node │ │ ├── babel-external-helpers │ │ ├── babel-node │ │ └── babel │ │ │ ├── dir.js │ │ │ ├── file.js │ │ │ ├── index.js │ │ │ └── util.js │ ├── index.js │ ├── node_modules │ │ ├── babel-core │ │ │ ├── CHANGELOG-6to5.md │ │ │ ├── CHANGELOG.md │ │ │ ├── CODE_OF_CONDUCT.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── browser-polyfill.js │ │ │ ├── browser.js │ │ │ ├── external-helpers.js │ │ │ ├── lib │ │ │ │ ├── acorn │ │ │ │ │ ├── AUTHORS │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── package.json │ │ │ │ │ ├── plugins │ │ │ │ │ │ ├── flow.js │ │ │ │ │ │ └── jsx.js │ │ │ │ │ └── src │ │ │ │ │ │ ├── expression.js │ │ │ │ │ │ ├── identifier.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── location.js │ │ │ │ │ │ ├── lookahead.js │ │ │ │ │ │ ├── lval.js │ │ │ │ │ │ ├── node.js │ │ │ │ │ │ ├── options.js │ │ │ │ │ │ ├── parseutil.js │ │ │ │ │ │ ├── state.js │ │ │ │ │ │ ├── statement.js │ │ │ │ │ │ ├── tokencontext.js │ │ │ │ │ │ ├── tokenize.js │ │ │ │ │ │ ├── tokentype.js │ │ │ │ │ │ ├── util.js │ │ │ │ │ │ └── whitespace.js │ │ │ │ ├── babel │ │ │ │ │ ├── api │ │ │ │ │ │ ├── browser.js │ │ │ │ │ │ ├── node.js │ │ │ │ │ │ └── register │ │ │ │ │ │ │ ├── browser.js │ │ │ │ │ │ │ ├── cache.js │ │ │ │ │ │ │ └── node.js │ │ │ │ │ ├── generation │ │ │ │ │ │ ├── buffer.js │ │ │ │ │ │ ├── generators │ │ │ │ │ │ │ ├── base.js │ │ │ │ │ │ │ ├── classes.js │ │ │ │ │ │ │ ├── comprehensions.js │ │ │ │ │ │ │ ├── expressions.js │ │ │ │ │ │ │ ├── flow.js │ │ │ │ │ │ │ ├── jsx.js │ │ │ │ │ │ │ ├── methods.js │ │ │ │ │ │ │ ├── modules.js │ │ │ │ │ │ │ ├── statements.js │ │ │ │ │ │ │ ├── template-literals.js │ │ │ │ │ │ │ └── types.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── node │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── parentheses.js │ │ │ │ │ │ │ └── whitespace.js │ │ │ │ │ │ ├── position.js │ │ │ │ │ │ ├── source-map.js │ │ │ │ │ │ └── whitespace.js │ │ │ │ │ ├── helpers │ │ │ │ │ │ ├── code-frame.js │ │ │ │ │ │ ├── normalize-ast.js │ │ │ │ │ │ ├── object.js │ │ │ │ │ │ └── parse.js │ │ │ │ │ ├── messages.js │ │ │ │ │ ├── patch.js │ │ │ │ │ ├── polyfill.js │ │ │ │ │ ├── tools │ │ │ │ │ │ ├── build-external-helpers.js │ │ │ │ │ │ └── resolve-rc.js │ │ │ │ │ ├── transformation │ │ │ │ │ │ ├── file │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── logger.js │ │ │ │ │ │ │ ├── option-parsers.js │ │ │ │ │ │ │ └── options.json │ │ │ │ │ │ ├── helpers │ │ │ │ │ │ │ ├── build-binary-assignment-operator-transformer.js │ │ │ │ │ │ │ ├── build-comprehension.js │ │ │ │ │ │ │ ├── build-conditional-assignment-operator-transformer.js │ │ │ │ │ │ │ ├── build-react-transformer.js │ │ │ │ │ │ │ ├── call-delegate.js │ │ │ │ │ │ │ ├── define-map.js │ │ │ │ │ │ │ ├── explode-assignable-expression.js │ │ │ │ │ │ │ ├── get-function-arity.js │ │ │ │ │ │ │ ├── memoise-decorators.js │ │ │ │ │ │ │ ├── name-method.js │ │ │ │ │ │ │ ├── react.js │ │ │ │ │ │ │ ├── regex.js │ │ │ │ │ │ │ ├── remap-async-to-generator.js │ │ │ │ │ │ │ ├── replace-supers.js │ │ │ │ │ │ │ └── strict.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── modules │ │ │ │ │ │ │ ├── _default.js │ │ │ │ │ │ │ ├── _strict.js │ │ │ │ │ │ │ ├── amd-strict.js │ │ │ │ │ │ │ ├── amd.js │ │ │ │ │ │ │ ├── common-strict.js │ │ │ │ │ │ │ ├── common.js │ │ │ │ │ │ │ ├── ignore.js │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── system.js │ │ │ │ │ │ │ ├── umd-strict.js │ │ │ │ │ │ │ └── umd.js │ │ │ │ │ │ ├── transformer-pass.js │ │ │ │ │ │ ├── transformer.js │ │ │ │ │ │ └── transformers │ │ │ │ │ │ │ ├── aliases.json │ │ │ │ │ │ │ ├── deprecated.json │ │ │ │ │ │ │ ├── es3 │ │ │ │ │ │ │ ├── member-expression-literals.js │ │ │ │ │ │ │ └── property-literals.js │ │ │ │ │ │ │ ├── es5 │ │ │ │ │ │ │ └── properties.mutators.js │ │ │ │ │ │ │ ├── es6 │ │ │ │ │ │ │ ├── arrow-functions.js │ │ │ │ │ │ │ ├── block-scoping.js │ │ │ │ │ │ │ ├── classes.js │ │ │ │ │ │ │ ├── constants.js │ │ │ │ │ │ │ ├── destructuring.js │ │ │ │ │ │ │ ├── for-of.js │ │ │ │ │ │ │ ├── modules.js │ │ │ │ │ │ │ ├── object-super.js │ │ │ │ │ │ │ ├── parameters.default.js │ │ │ │ │ │ │ ├── parameters.rest.js │ │ │ │ │ │ │ ├── properties.computed.js │ │ │ │ │ │ │ ├── properties.shorthand.js │ │ │ │ │ │ │ ├── regex.sticky.js │ │ │ │ │ │ │ ├── regex.unicode.js │ │ │ │ │ │ │ ├── spec.block-scoping.js │ │ │ │ │ │ │ ├── spec.symbols.js │ │ │ │ │ │ │ ├── spec.template-literals.js │ │ │ │ │ │ │ ├── spread.js │ │ │ │ │ │ │ ├── tail-call.js │ │ │ │ │ │ │ └── template-literals.js │ │ │ │ │ │ │ ├── es7 │ │ │ │ │ │ │ ├── async-functions.js │ │ │ │ │ │ │ ├── class-properties.js │ │ │ │ │ │ │ ├── comprehensions.js │ │ │ │ │ │ │ ├── decorators.js │ │ │ │ │ │ │ ├── do-expressions.js │ │ │ │ │ │ │ ├── exponentiation-operator.js │ │ │ │ │ │ │ ├── export-extensions.js │ │ │ │ │ │ │ ├── object-rest-spread.js │ │ │ │ │ │ │ └── trailing-function-commas.js │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── internal │ │ │ │ │ │ │ ├── block-hoist.js │ │ │ │ │ │ │ ├── cleanup.js │ │ │ │ │ │ │ ├── declarations.js │ │ │ │ │ │ │ ├── module-formatter.js │ │ │ │ │ │ │ ├── modules.js │ │ │ │ │ │ │ ├── shadow-functions.js │ │ │ │ │ │ │ ├── strict.js │ │ │ │ │ │ │ └── validation.js │ │ │ │ │ │ │ ├── optimisation │ │ │ │ │ │ │ ├── flow.for-of.js │ │ │ │ │ │ │ ├── react.constant-elements.js │ │ │ │ │ │ │ └── react.inline-elements.js │ │ │ │ │ │ │ ├── other │ │ │ │ │ │ │ ├── async-to-generator.js │ │ │ │ │ │ │ ├── bluebird-coroutines.js │ │ │ │ │ │ │ ├── flow.js │ │ │ │ │ │ │ ├── ludicrous.js │ │ │ │ │ │ │ ├── react-compat.js │ │ │ │ │ │ │ ├── react.js │ │ │ │ │ │ │ ├── regenerator.js │ │ │ │ │ │ │ ├── runtime │ │ │ │ │ │ │ │ ├── definitions.json │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ └── strict.js │ │ │ │ │ │ │ ├── spec │ │ │ │ │ │ │ ├── block-scoped-functions.js │ │ │ │ │ │ │ ├── function-name.js │ │ │ │ │ │ │ ├── proto-to-assign.js │ │ │ │ │ │ │ └── undefined-to-void.js │ │ │ │ │ │ │ ├── utility │ │ │ │ │ │ │ ├── dead-code-elimination.js │ │ │ │ │ │ │ ├── inline-environment-variables.js │ │ │ │ │ │ │ ├── inline-expressions.js │ │ │ │ │ │ │ ├── remove-console.js │ │ │ │ │ │ │ └── remove-debugger.js │ │ │ │ │ │ │ └── validation │ │ │ │ │ │ │ ├── react.js │ │ │ │ │ │ │ └── undeclared-variable-check.js │ │ │ │ │ ├── traversal │ │ │ │ │ │ ├── binding.js │ │ │ │ │ │ ├── context.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── path │ │ │ │ │ │ │ ├── conversion.js │ │ │ │ │ │ │ ├── evaluation.js │ │ │ │ │ │ │ ├── hoister.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── scope.js │ │ │ │ │ ├── types │ │ │ │ │ │ ├── alias-keys.json │ │ │ │ │ │ ├── builder-keys.json │ │ │ │ │ │ ├── converters.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── retrievers.js │ │ │ │ │ │ ├── validators.js │ │ │ │ │ │ └── visitor-keys.json │ │ │ │ │ └── util.js │ │ │ │ └── react │ │ │ │ │ ├── generation │ │ │ │ │ ├── flow.js │ │ │ │ │ └── jsx.js │ │ │ │ │ └── index.js │ │ │ ├── package.json │ │ │ ├── polyfill.js │ │ │ ├── register.js │ │ │ ├── templates.json │ │ │ └── tools │ │ │ │ ├── build-tests │ │ │ │ └── cache-templates │ │ ├── chokidar │ │ │ ├── CHANGELOG.md │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── fsevents-handler.js │ │ │ │ └── nodefs-handler.js │ │ │ └── package.json │ │ ├── commander │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── convert-source-map │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── example │ │ │ │ └── comment-to-json.js │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ ├── comment-regex.js │ │ │ │ ├── convert-source-map.js │ │ │ │ ├── fixtures │ │ │ │ ├── map-file-comment-double-slash.css │ │ │ │ ├── map-file-comment-inline.css │ │ │ │ ├── map-file-comment.css │ │ │ │ └── map-file-comment.css.map │ │ │ │ └── map-file-comment.js │ │ ├── fs-readdir-recursive │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── lodash │ │ │ ├── LICENSE.txt │ │ │ ├── README.md │ │ │ ├── array.js │ │ │ ├── array │ │ │ │ ├── chunk.js │ │ │ │ ├── compact.js │ │ │ │ ├── difference.js │ │ │ │ ├── drop.js │ │ │ │ ├── dropRight.js │ │ │ │ ├── dropRightWhile.js │ │ │ │ ├── dropWhile.js │ │ │ │ ├── fill.js │ │ │ │ ├── findIndex.js │ │ │ │ ├── findLastIndex.js │ │ │ │ ├── first.js │ │ │ │ ├── flatten.js │ │ │ │ ├── flattenDeep.js │ │ │ │ ├── head.js │ │ │ │ ├── indexOf.js │ │ │ │ ├── initial.js │ │ │ │ ├── intersection.js │ │ │ │ ├── last.js │ │ │ │ ├── lastIndexOf.js │ │ │ │ ├── object.js │ │ │ │ ├── pull.js │ │ │ │ ├── pullAt.js │ │ │ │ ├── remove.js │ │ │ │ ├── rest.js │ │ │ │ ├── slice.js │ │ │ │ ├── sortedIndex.js │ │ │ │ ├── sortedLastIndex.js │ │ │ │ ├── tail.js │ │ │ │ ├── take.js │ │ │ │ ├── takeRight.js │ │ │ │ ├── takeRightWhile.js │ │ │ │ ├── takeWhile.js │ │ │ │ ├── union.js │ │ │ │ ├── uniq.js │ │ │ │ ├── unique.js │ │ │ │ ├── unzip.js │ │ │ │ ├── without.js │ │ │ │ ├── xor.js │ │ │ │ ├── zip.js │ │ │ │ └── zipObject.js │ │ │ ├── chain.js │ │ │ ├── chain │ │ │ │ ├── chain.js │ │ │ │ ├── commit.js │ │ │ │ ├── lodash.js │ │ │ │ ├── plant.js │ │ │ │ ├── reverse.js │ │ │ │ ├── run.js │ │ │ │ ├── tap.js │ │ │ │ ├── thru.js │ │ │ │ ├── toJSON.js │ │ │ │ ├── toString.js │ │ │ │ ├── value.js │ │ │ │ ├── valueOf.js │ │ │ │ ├── wrapperChain.js │ │ │ │ ├── wrapperCommit.js │ │ │ │ ├── wrapperPlant.js │ │ │ │ ├── wrapperReverse.js │ │ │ │ ├── wrapperToString.js │ │ │ │ └── wrapperValue.js │ │ │ ├── collection.js │ │ │ ├── collection │ │ │ │ ├── all.js │ │ │ │ ├── any.js │ │ │ │ ├── at.js │ │ │ │ ├── collect.js │ │ │ │ ├── contains.js │ │ │ │ ├── countBy.js │ │ │ │ ├── detect.js │ │ │ │ ├── each.js │ │ │ │ ├── eachRight.js │ │ │ │ ├── every.js │ │ │ │ ├── filter.js │ │ │ │ ├── find.js │ │ │ │ ├── findLast.js │ │ │ │ ├── findWhere.js │ │ │ │ ├── foldl.js │ │ │ │ ├── foldr.js │ │ │ │ ├── forEach.js │ │ │ │ ├── forEachRight.js │ │ │ │ ├── groupBy.js │ │ │ │ ├── include.js │ │ │ │ ├── includes.js │ │ │ │ ├── indexBy.js │ │ │ │ ├── inject.js │ │ │ │ ├── invoke.js │ │ │ │ ├── map.js │ │ │ │ ├── max.js │ │ │ │ ├── min.js │ │ │ │ ├── partition.js │ │ │ │ ├── pluck.js │ │ │ │ ├── reduce.js │ │ │ │ ├── reduceRight.js │ │ │ │ ├── reject.js │ │ │ │ ├── sample.js │ │ │ │ ├── select.js │ │ │ │ ├── shuffle.js │ │ │ │ ├── size.js │ │ │ │ ├── some.js │ │ │ │ ├── sortBy.js │ │ │ │ ├── sortByAll.js │ │ │ │ ├── sortByOrder.js │ │ │ │ ├── sum.js │ │ │ │ └── where.js │ │ │ ├── date.js │ │ │ ├── date │ │ │ │ └── now.js │ │ │ ├── function.js │ │ │ ├── function │ │ │ │ ├── after.js │ │ │ │ ├── ary.js │ │ │ │ ├── backflow.js │ │ │ │ ├── before.js │ │ │ │ ├── bind.js │ │ │ │ ├── bindAll.js │ │ │ │ ├── bindKey.js │ │ │ │ ├── compose.js │ │ │ │ ├── curry.js │ │ │ │ ├── curryRight.js │ │ │ │ ├── debounce.js │ │ │ │ ├── defer.js │ │ │ │ ├── delay.js │ │ │ │ ├── flow.js │ │ │ │ ├── flowRight.js │ │ │ │ ├── memoize.js │ │ │ │ ├── negate.js │ │ │ │ ├── once.js │ │ │ │ ├── partial.js │ │ │ │ ├── partialRight.js │ │ │ │ ├── rearg.js │ │ │ │ ├── restParam.js │ │ │ │ ├── spread.js │ │ │ │ ├── throttle.js │ │ │ │ └── wrap.js │ │ │ ├── index.js │ │ │ ├── internal │ │ │ │ ├── LazyWrapper.js │ │ │ │ ├── LodashWrapper.js │ │ │ │ ├── MapCache.js │ │ │ │ ├── SetCache.js │ │ │ │ ├── arrayCopy.js │ │ │ │ ├── arrayEach.js │ │ │ │ ├── arrayEachRight.js │ │ │ │ ├── arrayEvery.js │ │ │ │ ├── arrayFilter.js │ │ │ │ ├── arrayMap.js │ │ │ │ ├── arrayMax.js │ │ │ │ ├── arrayMin.js │ │ │ │ ├── arrayReduce.js │ │ │ │ ├── arrayReduceRight.js │ │ │ │ ├── arraySome.js │ │ │ │ ├── arraySum.js │ │ │ │ ├── assignDefaults.js │ │ │ │ ├── assignOwnDefaults.js │ │ │ │ ├── assignWith.js │ │ │ │ ├── baseAssign.js │ │ │ │ ├── baseAt.js │ │ │ │ ├── baseCallback.js │ │ │ │ ├── baseClone.js │ │ │ │ ├── baseCompareAscending.js │ │ │ │ ├── baseCopy.js │ │ │ │ ├── baseCreate.js │ │ │ │ ├── baseDelay.js │ │ │ │ ├── baseDifference.js │ │ │ │ ├── baseEach.js │ │ │ │ ├── baseEachRight.js │ │ │ │ ├── baseEvery.js │ │ │ │ ├── baseFill.js │ │ │ │ ├── baseFilter.js │ │ │ │ ├── baseFind.js │ │ │ │ ├── baseFindIndex.js │ │ │ │ ├── baseFlatten.js │ │ │ │ ├── baseFor.js │ │ │ │ ├── baseForIn.js │ │ │ │ ├── baseForOwn.js │ │ │ │ ├── baseForOwnRight.js │ │ │ │ ├── baseForRight.js │ │ │ │ ├── baseFunctions.js │ │ │ │ ├── baseGet.js │ │ │ │ ├── baseIndexOf.js │ │ │ │ ├── baseIsEqual.js │ │ │ │ ├── baseIsEqualDeep.js │ │ │ │ ├── baseIsFunction.js │ │ │ │ ├── baseIsMatch.js │ │ │ │ ├── baseLodash.js │ │ │ │ ├── baseMap.js │ │ │ │ ├── baseMatches.js │ │ │ │ ├── baseMatchesProperty.js │ │ │ │ ├── baseMerge.js │ │ │ │ ├── baseMergeDeep.js │ │ │ │ ├── baseProperty.js │ │ │ │ ├── basePropertyDeep.js │ │ │ │ ├── basePullAt.js │ │ │ │ ├── baseRandom.js │ │ │ │ ├── baseReduce.js │ │ │ │ ├── baseSetData.js │ │ │ │ ├── baseSlice.js │ │ │ │ ├── baseSome.js │ │ │ │ ├── baseSortBy.js │ │ │ │ ├── baseSortByOrder.js │ │ │ │ ├── baseSum.js │ │ │ │ ├── baseToString.js │ │ │ │ ├── baseUniq.js │ │ │ │ ├── baseValues.js │ │ │ │ ├── baseWhile.js │ │ │ │ ├── baseWrapperValue.js │ │ │ │ ├── binaryIndex.js │ │ │ │ ├── binaryIndexBy.js │ │ │ │ ├── bindCallback.js │ │ │ │ ├── bufferClone.js │ │ │ │ ├── cacheIndexOf.js │ │ │ │ ├── cachePush.js │ │ │ │ ├── charAtCallback.js │ │ │ │ ├── charsLeftIndex.js │ │ │ │ ├── charsRightIndex.js │ │ │ │ ├── compareAscending.js │ │ │ │ ├── compareMultiple.js │ │ │ │ ├── composeArgs.js │ │ │ │ ├── composeArgsRight.js │ │ │ │ ├── createAggregator.js │ │ │ │ ├── createAssigner.js │ │ │ │ ├── createBaseEach.js │ │ │ │ ├── createBaseFor.js │ │ │ │ ├── createBindWrapper.js │ │ │ │ ├── createCache.js │ │ │ │ ├── createCompounder.js │ │ │ │ ├── createCtorWrapper.js │ │ │ │ ├── createCurry.js │ │ │ │ ├── createExtremum.js │ │ │ │ ├── createFind.js │ │ │ │ ├── createFindIndex.js │ │ │ │ ├── createFindKey.js │ │ │ │ ├── createFlow.js │ │ │ │ ├── createForEach.js │ │ │ │ ├── createForIn.js │ │ │ │ ├── createForOwn.js │ │ │ │ ├── createHybridWrapper.js │ │ │ │ ├── createPadDir.js │ │ │ │ ├── createPadding.js │ │ │ │ ├── createPartial.js │ │ │ │ ├── createPartialWrapper.js │ │ │ │ ├── createReduce.js │ │ │ │ ├── createSortedIndex.js │ │ │ │ ├── createWrapper.js │ │ │ │ ├── deburrLetter.js │ │ │ │ ├── equalArrays.js │ │ │ │ ├── equalByTag.js │ │ │ │ ├── equalObjects.js │ │ │ │ ├── escapeHtmlChar.js │ │ │ │ ├── escapeStringChar.js │ │ │ │ ├── extremumBy.js │ │ │ │ ├── getData.js │ │ │ │ ├── getFuncName.js │ │ │ │ ├── getLength.js │ │ │ │ ├── getSymbols.js │ │ │ │ ├── getView.js │ │ │ │ ├── indexOfNaN.js │ │ │ │ ├── initCloneArray.js │ │ │ │ ├── initCloneByTag.js │ │ │ │ ├── initCloneObject.js │ │ │ │ ├── invokePath.js │ │ │ │ ├── isIndex.js │ │ │ │ ├── isIterateeCall.js │ │ │ │ ├── isKey.js │ │ │ │ ├── isLaziable.js │ │ │ │ ├── isLength.js │ │ │ │ ├── isObjectLike.js │ │ │ │ ├── isSpace.js │ │ │ │ ├── isStrictComparable.js │ │ │ │ ├── lazyClone.js │ │ │ │ ├── lazyReverse.js │ │ │ │ ├── lazyValue.js │ │ │ │ ├── mapDelete.js │ │ │ │ ├── mapGet.js │ │ │ │ ├── mapHas.js │ │ │ │ ├── mapSet.js │ │ │ │ ├── mergeData.js │ │ │ │ ├── metaMap.js │ │ │ │ ├── pickByArray.js │ │ │ │ ├── pickByCallback.js │ │ │ │ ├── reEscape.js │ │ │ │ ├── reEvaluate.js │ │ │ │ ├── reInterpolate.js │ │ │ │ ├── realNames.js │ │ │ │ ├── reorder.js │ │ │ │ ├── replaceHolders.js │ │ │ │ ├── setData.js │ │ │ │ ├── shimIsPlainObject.js │ │ │ │ ├── shimKeys.js │ │ │ │ ├── sortedUniq.js │ │ │ │ ├── toIterable.js │ │ │ │ ├── toObject.js │ │ │ │ ├── toPath.js │ │ │ │ ├── trimmedLeftIndex.js │ │ │ │ ├── trimmedRightIndex.js │ │ │ │ ├── unescapeHtmlChar.js │ │ │ │ └── wrapperClone.js │ │ │ ├── lang.js │ │ │ ├── lang │ │ │ │ ├── clone.js │ │ │ │ ├── cloneDeep.js │ │ │ │ ├── isArguments.js │ │ │ │ ├── isArray.js │ │ │ │ ├── isBoolean.js │ │ │ │ ├── isDate.js │ │ │ │ ├── isElement.js │ │ │ │ ├── isEmpty.js │ │ │ │ ├── isEqual.js │ │ │ │ ├── isError.js │ │ │ │ ├── isFinite.js │ │ │ │ ├── isFunction.js │ │ │ │ ├── isMatch.js │ │ │ │ ├── isNaN.js │ │ │ │ ├── isNative.js │ │ │ │ ├── isNull.js │ │ │ │ ├── isNumber.js │ │ │ │ ├── isObject.js │ │ │ │ ├── isPlainObject.js │ │ │ │ ├── isRegExp.js │ │ │ │ ├── isString.js │ │ │ │ ├── isTypedArray.js │ │ │ │ ├── isUndefined.js │ │ │ │ ├── toArray.js │ │ │ │ └── toPlainObject.js │ │ │ ├── math.js │ │ │ ├── math │ │ │ │ ├── add.js │ │ │ │ ├── max.js │ │ │ │ ├── min.js │ │ │ │ └── sum.js │ │ │ ├── number.js │ │ │ ├── number │ │ │ │ ├── inRange.js │ │ │ │ └── random.js │ │ │ ├── object.js │ │ │ ├── object │ │ │ │ ├── assign.js │ │ │ │ ├── create.js │ │ │ │ ├── defaults.js │ │ │ │ ├── extend.js │ │ │ │ ├── findKey.js │ │ │ │ ├── findLastKey.js │ │ │ │ ├── forIn.js │ │ │ │ ├── forInRight.js │ │ │ │ ├── forOwn.js │ │ │ │ ├── forOwnRight.js │ │ │ │ ├── functions.js │ │ │ │ ├── get.js │ │ │ │ ├── has.js │ │ │ │ ├── invert.js │ │ │ │ ├── keys.js │ │ │ │ ├── keysIn.js │ │ │ │ ├── mapValues.js │ │ │ │ ├── merge.js │ │ │ │ ├── methods.js │ │ │ │ ├── omit.js │ │ │ │ ├── pairs.js │ │ │ │ ├── pick.js │ │ │ │ ├── result.js │ │ │ │ ├── set.js │ │ │ │ ├── transform.js │ │ │ │ ├── values.js │ │ │ │ └── valuesIn.js │ │ │ ├── package.json │ │ │ ├── string.js │ │ │ ├── string │ │ │ │ ├── camelCase.js │ │ │ │ ├── capitalize.js │ │ │ │ ├── deburr.js │ │ │ │ ├── endsWith.js │ │ │ │ ├── escape.js │ │ │ │ ├── escapeRegExp.js │ │ │ │ ├── kebabCase.js │ │ │ │ ├── pad.js │ │ │ │ ├── padLeft.js │ │ │ │ ├── padRight.js │ │ │ │ ├── parseInt.js │ │ │ │ ├── repeat.js │ │ │ │ ├── snakeCase.js │ │ │ │ ├── startCase.js │ │ │ │ ├── startsWith.js │ │ │ │ ├── template.js │ │ │ │ ├── templateSettings.js │ │ │ │ ├── trim.js │ │ │ │ ├── trimLeft.js │ │ │ │ ├── trimRight.js │ │ │ │ ├── trunc.js │ │ │ │ ├── unescape.js │ │ │ │ └── words.js │ │ │ ├── support.js │ │ │ ├── utility.js │ │ │ └── utility │ │ │ │ ├── attempt.js │ │ │ │ ├── callback.js │ │ │ │ ├── constant.js │ │ │ │ ├── identity.js │ │ │ │ ├── iteratee.js │ │ │ │ ├── matches.js │ │ │ │ ├── matchesProperty.js │ │ │ │ ├── method.js │ │ │ │ ├── methodOf.js │ │ │ │ ├── mixin.js │ │ │ │ ├── noop.js │ │ │ │ ├── property.js │ │ │ │ ├── propertyOf.js │ │ │ │ ├── range.js │ │ │ │ ├── times.js │ │ │ │ └── uniqueId.js │ │ ├── output-file-sync │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── path-is-absolute │ │ │ ├── index.js │ │ │ ├── license │ │ │ ├── package.json │ │ │ └── readme.md │ │ └── source-map │ │ │ ├── .gitattributes │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── Makefile.dryice.js │ │ │ ├── README.md │ │ │ ├── build │ │ │ ├── assert-shim.js │ │ │ ├── mini-require.js │ │ │ ├── prefix-source-map.jsm │ │ │ ├── prefix-utils.jsm │ │ │ ├── suffix-browser.js │ │ │ ├── suffix-source-map.jsm │ │ │ ├── suffix-utils.jsm │ │ │ ├── test-prefix.js │ │ │ └── test-suffix.js │ │ │ ├── dist │ │ │ ├── SourceMap.jsm │ │ │ ├── source-map.js │ │ │ ├── source-map.min.js │ │ │ └── test │ │ │ │ ├── Utils.jsm │ │ │ │ ├── test_api.js │ │ │ │ ├── test_array_set.js │ │ │ │ ├── test_base64.js │ │ │ │ ├── test_base64_vlq.js │ │ │ │ ├── test_binary_search.js │ │ │ │ ├── test_dog_fooding.js │ │ │ │ ├── test_source_map_consumer.js │ │ │ │ ├── test_source_map_generator.js │ │ │ │ ├── test_source_node.js │ │ │ │ └── test_util.js │ │ │ ├── lib │ │ │ ├── source-map.js │ │ │ └── source-map │ │ │ │ ├── array-set.js │ │ │ │ ├── base64-vlq.js │ │ │ │ ├── base64.js │ │ │ │ ├── binary-search.js │ │ │ │ ├── mapping-list.js │ │ │ │ ├── source-map-consumer.js │ │ │ │ ├── source-map-generator.js │ │ │ │ ├── source-node.js │ │ │ │ └── util.js │ │ │ └── package.json │ ├── package.json │ ├── polyfill.js │ └── register.js └── mocha │ ├── LICENSE │ ├── README.md │ ├── bin │ ├── _mocha │ ├── mocha │ └── options.js │ ├── images │ ├── error.png │ └── ok.png │ ├── index.js │ ├── lib │ ├── browser │ │ ├── debug.js │ │ ├── diff.js │ │ ├── escape-string-regexp.js │ │ ├── events.js │ │ ├── fs.js │ │ ├── glob.js │ │ ├── path.js │ │ ├── progress.js │ │ └── tty.js │ ├── context.js │ ├── hook.js │ ├── interfaces │ │ ├── bdd.js │ │ ├── common.js │ │ ├── exports.js │ │ ├── index.js │ │ ├── qunit.js │ │ └── tdd.js │ ├── mocha.js │ ├── ms.js │ ├── pending.js │ ├── reporters │ │ ├── base.js │ │ ├── doc.js │ │ ├── dot.js │ │ ├── html-cov.js │ │ ├── html.js │ │ ├── index.js │ │ ├── json-cov.js │ │ ├── json-stream.js │ │ ├── json.js │ │ ├── landing.js │ │ ├── list.js │ │ ├── markdown.js │ │ ├── min.js │ │ ├── nyan.js │ │ ├── progress.js │ │ ├── spec.js │ │ ├── tap.js │ │ ├── templates │ │ │ ├── coverage.jade │ │ │ ├── menu.jade │ │ │ ├── script.html │ │ │ └── style.html │ │ └── xunit.js │ ├── runnable.js │ ├── runner.js │ ├── suite.js │ ├── template.html │ ├── test.js │ └── utils.js │ ├── mocha.css │ ├── mocha.js │ ├── node_modules │ ├── .bin │ │ ├── jade │ │ └── supports-color │ ├── commander │ │ ├── Readme.md │ │ ├── index.js │ │ └── package.json │ ├── debug │ │ ├── .jshintrc │ │ ├── .npmignore │ │ ├── History.md │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── browser.js │ │ ├── component.json │ │ ├── debug.js │ │ ├── node.js │ │ └── package.json │ ├── diff │ │ ├── README.md │ │ ├── diff.js │ │ └── package.json │ ├── escape-string-regexp │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── glob │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── examples │ │ │ ├── g.js │ │ │ └── usr-local.js │ │ ├── glob.js │ │ ├── package.json │ │ └── test │ │ │ ├── 00-setup.js │ │ │ ├── bash-comparison.js │ │ │ ├── bash-results.json │ │ │ ├── cwd-test.js │ │ │ ├── globstar-match.js │ │ │ ├── mark.js │ │ │ ├── nocase-nomagic.js │ │ │ ├── pause-resume.js │ │ │ ├── root-nomount.js │ │ │ ├── root.js │ │ │ ├── stat.js │ │ │ └── zz-cleanup.js │ ├── growl │ │ ├── History.md │ │ ├── Readme.md │ │ ├── lib │ │ │ └── growl.js │ │ ├── package.json │ │ └── test.js │ ├── jade │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── bin │ │ │ └── jade │ │ ├── index.js │ │ ├── jade.js │ │ ├── jade.md │ │ ├── jade.min.js │ │ ├── lib │ │ │ ├── compiler.js │ │ │ ├── doctypes.js │ │ │ ├── filters.js │ │ │ ├── inline-tags.js │ │ │ ├── jade.js │ │ │ ├── lexer.js │ │ │ ├── nodes │ │ │ │ ├── attrs.js │ │ │ │ ├── block-comment.js │ │ │ │ ├── block.js │ │ │ │ ├── case.js │ │ │ │ ├── code.js │ │ │ │ ├── comment.js │ │ │ │ ├── doctype.js │ │ │ │ ├── each.js │ │ │ │ ├── filter.js │ │ │ │ ├── index.js │ │ │ │ ├── literal.js │ │ │ │ ├── mixin.js │ │ │ │ ├── node.js │ │ │ │ ├── tag.js │ │ │ │ └── text.js │ │ │ ├── parser.js │ │ │ ├── runtime.js │ │ │ ├── self-closing.js │ │ │ └── utils.js │ │ ├── node_modules │ │ │ ├── commander │ │ │ │ ├── .npmignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── History.md │ │ │ │ ├── Makefile │ │ │ │ ├── Readme.md │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ │ └── commander.js │ │ │ │ └── package.json │ │ │ └── mkdirp │ │ │ │ ├── .gitignore.orig │ │ │ │ ├── .gitignore.rej │ │ │ │ ├── .npmignore │ │ │ │ ├── LICENSE │ │ │ │ ├── README.markdown │ │ │ │ ├── examples │ │ │ │ ├── pow.js │ │ │ │ ├── pow.js.orig │ │ │ │ └── pow.js.rej │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ └── test │ │ │ │ ├── chmod.js │ │ │ │ ├── clobber.js │ │ │ │ ├── mkdirp.js │ │ │ │ ├── perm.js │ │ │ │ ├── perm_sync.js │ │ │ │ ├── race.js │ │ │ │ ├── rel.js │ │ │ │ ├── sync.js │ │ │ │ ├── umask.js │ │ │ │ └── umask_sync.js │ │ ├── package.json │ │ ├── runtime.js │ │ ├── runtime.min.js │ │ ├── test.jade │ │ └── testing │ │ │ ├── head.jade │ │ │ ├── index.jade │ │ │ ├── index.js │ │ │ ├── layout.jade │ │ │ ├── user.jade │ │ │ └── user.js │ ├── mkdirp │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── bin │ │ │ ├── cmd.js │ │ │ └── usage.txt │ │ ├── examples │ │ │ └── pow.js │ │ ├── index.js │ │ ├── package.json │ │ ├── readme.markdown │ │ └── test │ │ │ ├── chmod.js │ │ │ ├── clobber.js │ │ │ ├── mkdirp.js │ │ │ ├── opts_fs.js │ │ │ ├── opts_fs_sync.js │ │ │ ├── perm.js │ │ │ ├── perm_sync.js │ │ │ ├── race.js │ │ │ ├── rel.js │ │ │ ├── return.js │ │ │ ├── return_sync.js │ │ │ ├── root.js │ │ │ ├── sync.js │ │ │ ├── umask.js │ │ │ └── umask_sync.js │ └── supports-color │ │ ├── cli.js │ │ ├── index.js │ │ ├── license │ │ ├── package.json │ │ └── readme.md │ └── package.json ├── other ├── add-binary-debug.js ├── add-binary.js ├── anagrams.js ├── ascii85.js ├── brainfuck.js ├── pascal-triangle.js ├── set-pair-sum-debug.js └── set-pair-sum.js ├── package.json ├── patterns └── factory.js ├── search ├── binary-recursive-debug.js └── binary-recursive.js ├── sort ├── insertion-debug.js ├── insertion-optimizied-binarySearch-debug.js ├── insertion-optimizied-binarySearch.js ├── insertion-recursive-debug.js ├── insertion-recursive.js ├── insertion.js ├── merge-debug.js ├── merge.js ├── quick.js ├── selection-debug.js └── selection.js └── utils.js /.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "esnext": true, 3 | "globalstrict": true, 4 | "globals": ["module", "console", "process", "require"] 5 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | The algorithms are written in ES6, use `babel-node` to run them. 2 | 3 | Most algorithms have a `-debug` version which includes logs and stuff to understand the algorithm runtime better. 4 | 5 | I wanted to add tests for all algorithms but I haven't yet. 6 | 7 | Feel free to fill an issue or create a pull request! 😜 8 | -------------------------------------------------------------------------------- /data-structures/tests/linked-lists.js: -------------------------------------------------------------------------------- 1 | import chai from 'chai'; 2 | import {Node, List} from '../linked-lists'; 3 | 4 | chai.should(); 5 | 6 | test('Constructing new Lists', () => { 7 | let list = new List(new Node(10, new Node(5))); 8 | 9 | list.root.value.should.equal(10); 10 | list.root.next.value.should.equal(5); 11 | }); 12 | -------------------------------------------------------------------------------- /data-structures/tests/trie.js: -------------------------------------------------------------------------------- 1 | import chai from 'chai'; 2 | import {Node, Trie} from '../trie'; 3 | 4 | chai.should(); 5 | 6 | test('Construct new Trie', () => { 7 | let trie = new Trie(); 8 | 9 | trie.root.children.length.should.equal(0); 10 | }); 11 | 12 | test('Add new parent values', () => { 13 | let trie = new Trie(); 14 | 15 | trie.add('a'); 16 | trie.add('b'); 17 | trie.add('c'); 18 | trie.add('t'); 19 | 20 | trie.root.children.length.should.equal(4); 21 | }); 22 | 23 | test('Adding values with existing parents', () => { 24 | let trie = new Trie(); 25 | 26 | trie.add('a'); 27 | trie.add('ab'); 28 | trie.add('aba'); 29 | trie.add('abas'); 30 | 31 | let parent = trie.root; 32 | for (let i = 0; i < 3; i++) { 33 | parent.children.length.should.equal(1); 34 | parent = parent.children[0]; 35 | } 36 | 37 | parent.children.length.should.equal(0); 38 | }); 39 | -------------------------------------------------------------------------------- /data-structures/trie.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import _ from '../utils'; 4 | 5 | export class Node { 6 | constructor(value) { 7 | this.value = value; 8 | this.children = []; 9 | } 10 | } 11 | 12 | export class Trie { 13 | constructor() { 14 | this.root = new Node(); 15 | } 16 | 17 | add(value, node = this.root, iteration = 0) { 18 | let parent = node.children.find(n => { 19 | return n.value[iteration] === value[iteration]; 20 | }); 21 | 22 | if (parent) { 23 | this.add(value, parent, iteration + 1); 24 | } else { 25 | node.children.push(new Node(value)); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | var child = require('child_process'), 2 | args = process.argv.slice(1); 3 | 4 | if (args.indexOf('test') > -1) { 5 | var path = args[2]; 6 | 7 | var tmp = '.tmp/test.js'; 8 | child.execSync('babel ' + path + ' > ' + tmp); 9 | child.execSync('mocha ' + tmp); 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/babel/README.md: -------------------------------------------------------------------------------- 1 | # babel-cli 2 | 3 | Babel CLI 4 | 5 | For more information please look at [babel](https://github.com/babel/babel). 6 | -------------------------------------------------------------------------------- /node_modules/babel/bin/babel-external-helpers: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var commander = require("commander"); 4 | var util = require("babel-core").util; 5 | var runtime = require("babel-core").buildExternalHelpers; 6 | 7 | commander.option("-l, --whitelist [whitelist]", "Whitelist of helpers to ONLY include", util.list); 8 | commander.option("-t, --output-type [type]", "Type of output (global|umd|var)", "global"); 9 | 10 | commander.usage("[options]"); 11 | commander.parse(process.argv); 12 | 13 | console.log(runtime(commander.whitelist, commander.outputType)); 14 | -------------------------------------------------------------------------------- /node_modules/babel/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require("babel-core"); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | babel 4 | 5 |

6 | 7 |

8 | Babel is a compiler for writing next generation JavaScript. 9 |

10 | 11 |

12 | For questions and support please visit the gitter room or StackOverflow. The Babel issue tracker is exclusively for bug reports and feature requests. 13 |

14 | 15 |

16 | For documentation and website issues please visit the babel.github.io repo. 17 |

18 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/acorn/AUTHORS: -------------------------------------------------------------------------------- 1 | List of Acorn contributors. Updated before every release. 2 | 3 | Alistair Braidwood 4 | Aparajita Fishman 5 | Arian Stolwijk 6 | Artem Govorov 7 | Brandon Mills 8 | Charles Hughes 9 | Conrad Irwin 10 | David Bonnet 11 | impinball 12 | Ingvar Stepanyan 13 | Jiaxing Wang 14 | Johannes Herr 15 | Jürg Lehni 16 | keeyipchan 17 | krator 18 | Marijn Haverbeke 19 | Martin Carlberg 20 | Mathias Bynens 21 | Mathieu 'p01' Henri 22 | Max Schaefer 23 | Mihai Bazon 24 | Mike Rennie 25 | Oskar Schöldström 26 | Paul Harper 27 | Peter Rust 28 | PlNG 29 | r-e-d 30 | Rich Harris 31 | Sebastian McKenzie 32 | zsjforcn 33 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/acorn/src/lookahead.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var Parser = require("./state").Parser; 4 | 5 | var pp = Parser.prototype; 6 | 7 | var STATE_KEYS = ["lastTokStartLoc", "lastTokEndLoc", "lastTokStart", "lastTokEnd", "lineStart", "startLoc", "endLoc", "start", "pos", "end", "type", "value"]; 8 | 9 | pp.getState = function () { 10 | var state = {}; 11 | for (var i = 0; i < STATE_KEYS.length; i++) { 12 | var key = STATE_KEYS[i]; 13 | state[key] = this[key]; 14 | } 15 | return state; 16 | }; 17 | 18 | pp.lookahead = function () { 19 | var old = this.getState(); 20 | this.isLookahead = true; 21 | this.next(); 22 | this.isLookahead = false; 23 | var curr = this.getState(); 24 | for (var key in old) this[key] = old[key]; 25 | return curr; 26 | }; -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/acorn/src/util.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.isArray = isArray; 4 | 5 | // Checks if an object has a property. 6 | 7 | exports.has = has; 8 | exports.__esModule = true; 9 | 10 | function isArray(obj) { 11 | return Object.prototype.toString.call(obj) === "[object Array]"; 12 | } 13 | 14 | function has(obj, propName) { 15 | return Object.prototype.hasOwnProperty.call(obj, propName); 16 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/acorn/src/whitespace.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.isNewLine = isNewLine; 4 | exports.__esModule = true; 5 | // Matches a whole line break (where CRLF is considered a single 6 | // line break). Used to count lines. 7 | 8 | var lineBreak = /\r\n?|\n|\u2028|\u2029/; 9 | exports.lineBreak = lineBreak; 10 | var lineBreakG = new RegExp(lineBreak.source, "g"); 11 | 12 | exports.lineBreakG = lineBreakG; 13 | 14 | function isNewLine(code) { 15 | return code === 10 || code === 13 || code === 8232 || code == 8233; 16 | } 17 | 18 | var nonASCIIwhitespace = /[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/; 19 | exports.nonASCIIwhitespace = nonASCIIwhitespace; -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/api/register/browser.js: -------------------------------------------------------------------------------- 1 | // required to safely use babel/register within a browserify codebase 2 | 3 | "use strict"; 4 | 5 | module.exports = function () {}; 6 | 7 | require("../../polyfill"); -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/generation/generators/base.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.File = File; 4 | exports.Program = Program; 5 | exports.BlockStatement = BlockStatement; 6 | exports.__esModule = true; 7 | 8 | function File(node, print) { 9 | print(node.program); 10 | } 11 | 12 | function Program(node, print) { 13 | print.sequence(node.body); 14 | } 15 | 16 | function BlockStatement(node, print) { 17 | if (node.body.length === 0) { 18 | this.push("{}"); 19 | } else { 20 | this.push("{"); 21 | this.newline(); 22 | print.sequence(node.body, { indent: true }); 23 | this.removeLast("\n"); 24 | this.rightBrace(); 25 | } 26 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/generation/generators/comprehensions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.ComprehensionBlock = ComprehensionBlock; 4 | exports.ComprehensionExpression = ComprehensionExpression; 5 | exports.__esModule = true; 6 | 7 | function ComprehensionBlock(node, print) { 8 | this.keyword("for"); 9 | this.push("("); 10 | print(node.left); 11 | this.push(" of "); 12 | print(node.right); 13 | this.push(")"); 14 | } 15 | 16 | function ComprehensionExpression(node, print) { 17 | this.push(node.generator ? "(" : "["); 18 | 19 | print.join(node.blocks, { separator: " " }); 20 | this.space(); 21 | 22 | if (node.filter) { 23 | this.keyword("if"); 24 | this.push("("); 25 | print(node.filter); 26 | this.push(")"); 27 | this.space(); 28 | } 29 | 30 | print(node.body); 31 | 32 | this.push(node.generator ? ")" : "]"); 33 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/helpers/normalize-ast.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | var t = _interopRequireWildcard(require("../types")); 6 | 7 | module.exports = function (ast, comments, tokens) { 8 | if (ast && ast.type === "Program") { 9 | return t.file(ast, comments || [], tokens || []); 10 | } else { 11 | throw new Error("Not a valid ast?"); 12 | } 13 | }; -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/helpers/object.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = function () { 4 | return Object.create(null); 5 | }; -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/polyfill.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | if (global._babelPolyfill) { 4 | throw new Error("only one instance of babel/polyfill is allowed"); 5 | } 6 | global._babelPolyfill = true; 7 | 8 | require("core-js/shim"); 9 | 10 | require("regenerator/runtime"); -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/helpers/build-comprehension.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | module.exports = build; 6 | 7 | var t = _interopRequireWildcard(require("../../types")); 8 | 9 | function build(node, buildBody) { 10 | var self = node.blocks.shift(); 11 | if (!self) return; 12 | 13 | var child = build(node, buildBody); 14 | if (!child) { 15 | // last item 16 | child = buildBody(); 17 | 18 | // add a filter as this is our final stop 19 | if (node.filter) { 20 | child = t.ifStatement(node.filter, t.blockStatement([child])); 21 | } 22 | } 23 | 24 | return t.forOfStatement(t.variableDeclaration("let", [t.variableDeclarator(self.left)]), self.right, t.blockStatement([child])); 25 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/helpers/get-function-arity.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | var t = _interopRequireWildcard(require("../../types")); 6 | 7 | module.exports = function (node) { 8 | var lastNonDefault = 0; 9 | for (var i = 0; i < node.params.length; i++) { 10 | if (!t.isAssignmentPattern(node.params[i])) lastNonDefault = i + 1; 11 | } 12 | return lastNonDefault; 13 | }; -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/helpers/regex.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; }; 6 | 7 | exports.is = is; 8 | exports.pullFlag = pullFlag; 9 | exports.__esModule = true; 10 | 11 | var pull = _interopRequire(require("lodash/array/pull")); 12 | 13 | var t = _interopRequireWildcard(require("../../types")); 14 | 15 | function is(node, flag) { 16 | return t.isLiteral(node) && node.regex && node.regex.flags.indexOf(flag) >= 0; 17 | } 18 | 19 | function pullFlag(node, flag) { 20 | var flags = node.regex.flags.split(""); 21 | if (node.regex.flags.indexOf(flag) < 0) return; 22 | pull(flags, flag); 23 | node.regex.flags = flags.join(""); 24 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/helpers/strict.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | exports.has = has; 6 | exports.wrap = wrap; 7 | exports.__esModule = true; 8 | 9 | var t = _interopRequireWildcard(require("../../types")); 10 | 11 | function has(node) { 12 | var first = node.body[0]; 13 | return t.isExpressionStatement(first) && t.isLiteral(first.expression, { value: "use strict" }); 14 | } 15 | 16 | function wrap(node, callback) { 17 | var useStrictNode; 18 | if (has(node)) { 19 | useStrictNode = node.body.shift(); 20 | } 21 | 22 | callback(); 23 | 24 | if (useStrictNode) { 25 | node.body.unshift(useStrictNode); 26 | } 27 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/modules/_strict.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | var util = _interopRequireWildcard(require("../../util")); 6 | 7 | module.exports = function (Parent) { 8 | var Constructor = function Constructor() { 9 | this.noInteropRequireImport = true; 10 | this.noInteropRequireExport = true; 11 | Parent.apply(this, arguments); 12 | }; 13 | 14 | util.inherits(Constructor, Parent); 15 | 16 | return Constructor; 17 | }; -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/modules/amd-strict.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; }; 4 | 5 | var AMDFormatter = _interopRequire(require("./amd")); 6 | 7 | var buildStrict = _interopRequire(require("./_strict")); 8 | 9 | module.exports = buildStrict(AMDFormatter); -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/modules/common-strict.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; }; 4 | 5 | var CommonFormatter = _interopRequire(require("./common")); 6 | 7 | var buildStrict = _interopRequire(require("./_strict")); 8 | 9 | module.exports = buildStrict(CommonFormatter); -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/modules/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | commonStrict: require("./common-strict"), 5 | amdStrict: require("./amd-strict"), 6 | umdStrict: require("./umd-strict"), 7 | common: require("./common"), 8 | system: require("./system"), 9 | ignore: require("./ignore"), 10 | amd: require("./amd"), 11 | umd: require("./umd") 12 | }; -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/modules/umd-strict.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; }; 4 | 5 | var UMDFormatter = _interopRequire(require("./umd")); 6 | 7 | var buildStrict = _interopRequire(require("./_strict")); 8 | 9 | module.exports = buildStrict(UMDFormatter); -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/aliases.json: -------------------------------------------------------------------------------- 1 | { 2 | "useStrict": "strict", 3 | "es5.runtime": "runtime", 4 | "es6.runtime": "runtime" 5 | } 6 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/deprecated.json: -------------------------------------------------------------------------------- 1 | { 2 | "selfContained": "runtime", 3 | "unicode-regex": "regex.unicode", 4 | "spec.typeofSymbol": "es6.spec.symbols", 5 | "es6.symbols": "es6.spec.symbols", 6 | "es6.blockScopingTDZ": "es6.spec.blockScoping", 7 | 8 | "minification.deadCodeElimination": "utility.deadCodeElimination", 9 | "minification.removeConsoleCalls": "utility.removeConsole", 10 | "minification.removeDebugger": "utility.removeDebugger" 11 | } 12 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/es3/member-expression-literals.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | exports.MemberExpression = MemberExpression; 6 | exports.__esModule = true; 7 | 8 | var t = _interopRequireWildcard(require("../../../types")); 9 | 10 | function MemberExpression(node) { 11 | var prop = node.property; 12 | if (node.computed && t.isLiteral(prop) && t.isValidIdentifier(prop.value)) { 13 | // foo["bar"] => foo.bar 14 | node.property = t.identifier(prop.value); 15 | node.computed = false; 16 | } else if (!node.computed && t.isIdentifier(prop) && !t.isValidIdentifier(prop.name)) { 17 | // foo.default -> foo["default"] 18 | node.property = t.literal(prop.name); 19 | node.computed = true; 20 | } 21 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/es3/property-literals.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | exports.Property = Property; 6 | exports.__esModule = true; 7 | 8 | var t = _interopRequireWildcard(require("../../../types")); 9 | 10 | function Property(node) { 11 | var key = node.key; 12 | if (t.isLiteral(key) && t.isValidIdentifier(key.value)) { 13 | // "foo": "bar" -> foo: "bar" 14 | node.key = t.identifier(key.value); 15 | node.computed = false; 16 | } else if (!node.computed && t.isIdentifier(key) && !t.isValidIdentifier(key.name)) { 17 | // default: "bar" -> "default": "bar" 18 | node.key = t.literal(key.name); 19 | } 20 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/es6/arrow-functions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | exports.ArrowFunctionExpression = ArrowFunctionExpression; 6 | exports.__esModule = true; 7 | 8 | var t = _interopRequireWildcard(require("../../../types")); 9 | 10 | var check = t.isArrowFunctionExpression; 11 | 12 | exports.check = check; 13 | 14 | function ArrowFunctionExpression(node) { 15 | t.ensureBlock(node); 16 | 17 | node.expression = false; 18 | node.type = "FunctionExpression"; 19 | node.shadow = true; 20 | 21 | return node; 22 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/es6/properties.shorthand.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | exports.check = check; 6 | exports.Property = Property; 7 | exports.__esModule = true; 8 | 9 | var t = _interopRequireWildcard(require("../../../types")); 10 | 11 | function check(node) { 12 | return t.isProperty(node) && (node.method || node.shorthand); 13 | } 14 | 15 | function Property(node) { 16 | if (node.method) { 17 | node.method = false; 18 | } 19 | 20 | if (node.shorthand) { 21 | node.shorthand = false; 22 | node.key = t.removeComments(t.clone(node.key)); 23 | } 24 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/es6/regex.sticky.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | exports.check = check; 6 | exports.Literal = Literal; 7 | exports.__esModule = true; 8 | 9 | var regex = _interopRequireWildcard(require("../../helpers/regex")); 10 | 11 | var t = _interopRequireWildcard(require("../../../types")); 12 | 13 | function check(node) { 14 | return regex.is(node, "y"); 15 | } 16 | 17 | function Literal(node) { 18 | if (!regex.is(node, "y")) return; 19 | return t.newExpression(t.identifier("RegExp"), [t.literal(node.regex.pattern), t.literal(node.regex.flags)]); 20 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/es6/regex.unicode.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; }; 6 | 7 | exports.check = check; 8 | exports.Literal = Literal; 9 | exports.__esModule = true; 10 | 11 | var rewritePattern = _interopRequire(require("regexpu/rewrite-pattern")); 12 | 13 | var regex = _interopRequireWildcard(require("../../helpers/regex")); 14 | 15 | function check(node) { 16 | return regex.is(node, "u"); 17 | } 18 | 19 | function Literal(node) { 20 | if (!regex.is(node, "u")) return; 21 | node.regex.pattern = rewritePattern(node.regex.pattern, node.regex.flags); 22 | regex.pullFlag(node, "u"); 23 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/es6/spec.template-literals.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | exports.TemplateLiteral = TemplateLiteral; 6 | exports.__esModule = true; 7 | 8 | var t = _interopRequireWildcard(require("../../../types")); 9 | 10 | var metadata = { 11 | optional: true 12 | }; 13 | 14 | exports.metadata = metadata; 15 | 16 | function TemplateLiteral(node, parent, scope, file) { 17 | if (t.isTaggedTemplateExpression(parent)) return; 18 | 19 | for (var i = 0; i < node.expressions.length; i++) { 20 | node.expressions[i] = t.callExpression(t.identifier("String"), [node.expressions[i]]); 21 | } 22 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/es7/async-functions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.check = check; 4 | exports.__esModule = true; 5 | var metadata = { 6 | stage: 1 7 | }; 8 | 9 | exports.metadata = metadata; 10 | 11 | function check() { 12 | return false; 13 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/es7/class-properties.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.check = check; 4 | exports.__esModule = true; 5 | var metadata = { 6 | stage: 0 7 | }; 8 | 9 | exports.metadata = metadata; 10 | 11 | function check() { 12 | return false; 13 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/es7/do-expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | exports.DoExpression = DoExpression; 6 | exports.__esModule = true; 7 | 8 | var t = _interopRequireWildcard(require("../../../types")); 9 | 10 | var metadata = { 11 | optional: true, 12 | stage: 0 13 | }; 14 | 15 | exports.metadata = metadata; 16 | var check = t.isDoExpression; 17 | 18 | exports.check = check; 19 | 20 | function DoExpression(node) { 21 | var body = node.body.body; 22 | if (body.length) { 23 | return body; 24 | } else { 25 | return t.identifier("undefined"); 26 | } 27 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/es7/trailing-function-commas.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.check = check; 4 | exports.__esModule = true; 5 | var metadata = { 6 | stage: 1 7 | }; 8 | 9 | exports.metadata = metadata; 10 | 11 | function check() { 12 | return false; 13 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/internal/module-formatter.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | exports.Program = Program; 6 | exports.__esModule = true; 7 | 8 | var strict = _interopRequireWildcard(require("../../helpers/strict")); 9 | 10 | function Program(program, parent, scope, file) { 11 | strict.wrap(program, function () { 12 | program.body = file.dynamicImports.concat(program.body); 13 | }); 14 | 15 | if (!file.transformers["es6.modules"].canTransform()) return; 16 | 17 | if (file.moduleFormatter.transform) { 18 | file.moduleFormatter.transform(program); 19 | } 20 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/internal/strict.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | exports.Program = Program; 6 | exports.__esModule = true; 7 | 8 | var t = _interopRequireWildcard(require("../../../types")); 9 | 10 | function Program(program, parent, scope, file) { 11 | if (file.transformers.strict.canTransform()) { 12 | var directive = file.get("existingStrictDirective"); 13 | 14 | if (!directive) { 15 | directive = t.expressionStatement(t.literal("use strict")); 16 | var first = program.body[0]; 17 | if (first) { 18 | directive.leadingComments = first.leadingComments; 19 | first.leadingComments = []; 20 | } 21 | } 22 | 23 | program.body.unshift(directive); 24 | } 25 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/optimisation/flow.for-of.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | exports.ForOfStatement = ForOfStatement; 6 | exports.__esModule = true; 7 | 8 | var _ForOfStatementArray = require("../es6/for-of")._ForOfStatementArray; 9 | 10 | var t = _interopRequireWildcard(require("../../../types")); 11 | 12 | var check = t.isForOfStatement; 13 | exports.check = check; 14 | var optional = true; 15 | 16 | exports.optional = optional; 17 | 18 | function ForOfStatement(node, parent, scope, file) { 19 | if (this.get("right").isTypeGeneric("Array")) { 20 | return _ForOfStatementArray.call(this, node, scope, file); 21 | } 22 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/other/async-to-generator.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; }; 4 | 5 | exports.__esModule = true; 6 | 7 | var remapAsyncToGenerator = _interopRequire(require("../../helpers/remap-async-to-generator")); 8 | 9 | exports.manipulateOptions = require("./bluebird-coroutines").manipulateOptions; 10 | var metadata = { 11 | optional: true 12 | }; 13 | 14 | exports.metadata = metadata; 15 | exports.Function = function (node, parent, scope, file) { 16 | if (!node.async || node.generator) return; 17 | 18 | return remapAsyncToGenerator(node, file.addHelper("async-to-generator"), scope); 19 | }; -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/other/regenerator.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; }; 6 | 7 | exports.check = check; 8 | exports.__esModule = true; 9 | 10 | var regenerator = _interopRequire(require("regenerator")); 11 | 12 | var t = _interopRequireWildcard(require("../../../types")); 13 | 14 | function check(node) { 15 | return t.isFunction(node) && (node.async || node.generator); 16 | } 17 | 18 | var Program = { 19 | enter: function enter(ast) { 20 | regenerator.transform(ast); 21 | this.stop(); 22 | } 23 | }; 24 | exports.Program = Program; -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/spec/function-name.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.__esModule = true; 4 | 5 | var _helpersNameMethod = require("../../helpers/name-method"); 6 | 7 | exports.FunctionExpression = _helpersNameMethod.bare; 8 | exports.ArrowFunctionExpression = _helpersNameMethod.bare; -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/spec/undefined-to-void.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | exports.Identifier = Identifier; 6 | exports.__esModule = true; 7 | 8 | var t = _interopRequireWildcard(require("../../../types")); 9 | 10 | var metadata = { 11 | optional: true, 12 | react: true 13 | }; 14 | 15 | exports.metadata = metadata; 16 | 17 | function Identifier(node, parent) { 18 | if (node.name === "undefined" && this.isReferenced()) { 19 | return t.unaryExpression("void", t.literal(0), true); 20 | } 21 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/utility/inline-environment-variables.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | exports.MemberExpression = MemberExpression; 6 | exports.__esModule = true; 7 | 8 | var t = _interopRequireWildcard(require("../../../types")); 9 | 10 | var metadata = { 11 | optional: true 12 | }; 13 | 14 | exports.metadata = metadata; 15 | var match = t.buildMatchMemberExpression("process.env"); 16 | 17 | function MemberExpression(node) { 18 | if (match(node.object)) { 19 | var key = this.toComputedKey(); 20 | if (t.isLiteral(key)) { 21 | return t.valueToNode(process.env[key.value]); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/utility/inline-expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | exports.Expression = Expression; 6 | exports.Identifier = Identifier; 7 | exports.__esModule = true; 8 | 9 | var t = _interopRequireWildcard(require("../../../types")); 10 | 11 | var metadata = { 12 | optional: true 13 | }; 14 | 15 | exports.metadata = metadata; 16 | 17 | function Expression(node, parent, scope) { 18 | var res = this.evaluate(); 19 | if (res.confident) return t.valueToNode(res.value); 20 | } 21 | 22 | function Identifier() {} 23 | 24 | // override Expression -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/utility/remove-console.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | exports.CallExpression = CallExpression; 6 | exports.__esModule = true; 7 | 8 | var t = _interopRequireWildcard(require("../../../types")); 9 | 10 | var metadata = { 11 | optional: true 12 | }; 13 | 14 | exports.metadata = metadata; 15 | 16 | function CallExpression(node, parent) { 17 | if (this.get("callee").matchesPattern("console", true)) { 18 | if (t.isExpressionStatement(parent)) { 19 | this.parentPath.remove(); 20 | } else { 21 | this.remove(); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/transformation/transformers/utility/remove-debugger.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | exports.ExpressionStatement = ExpressionStatement; 6 | exports.__esModule = true; 7 | 8 | var t = _interopRequireWildcard(require("../../../types")); 9 | 10 | var metadata = { 11 | optional: true 12 | }; 13 | 14 | exports.metadata = metadata; 15 | 16 | function ExpressionStatement(node) { 17 | if (this.get("expression").isIdentifier({ name: "debugger" })) { 18 | this.remove(); 19 | } 20 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/babel/traversal/path/conversion.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; 4 | 5 | /** 6 | * Description 7 | */ 8 | 9 | exports.toComputedKey = toComputedKey; 10 | exports.__esModule = true; 11 | 12 | var t = _interopRequireWildcard(require("../../types")); 13 | 14 | function toComputedKey() { 15 | var node = this.node; 16 | 17 | var key; 18 | if (this.isMemberExpression()) { 19 | key = node.property; 20 | } else if (this.isProperty()) { 21 | key = node.key; 22 | } else { 23 | throw new ReferenceError("todo"); 24 | } 25 | 26 | if (!node.computed) { 27 | if (t.isIdentifier(key)) key = t.literal(key.name); 28 | } 29 | 30 | return key; 31 | } -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/lib/react/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | generators: { 5 | flow: require("./generation/flow"), 6 | jsx: require("./generators/jsx") 7 | } 8 | }; -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/polyfill.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/babel/polyfill"); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/register.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/babel/api/register/node"); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/tools/build-tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var fs = require("fs"); 4 | var cache = require("../test/core/_helper").cache; 5 | fs.writeFileSync("tests.json", JSON.stringify(cache)); 6 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/babel-core/tools/cache-templates: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var fs = require("fs"); 4 | var templates = require("../lib/babel/util").templates; 5 | fs.writeFileSync("templates.json", JSON.stringify(templates)); 6 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/convert-source-map/.npmignore: -------------------------------------------------------------------------------- 1 | lib-cov 2 | *.seed 3 | *.log 4 | *.csv 5 | *.dat 6 | *.out 7 | *.pid 8 | *.gz 9 | 10 | pids 11 | logs 12 | results 13 | 14 | node_modules 15 | npm-debug.log 16 | tmp 17 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/convert-source-map/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | - 0.10 5 | - 0.11 -------------------------------------------------------------------------------- /node_modules/babel/node_modules/convert-source-map/example/comment-to-json.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var convert = require('..'); 4 | 5 | var json = convert 6 | .fromComment('//@ sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJjb25zb2xlLmxvZyhcImhpXCIpOyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIvIn0=') 7 | .toJSON(); 8 | 9 | var modified = convert 10 | .fromComment('//@ sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJjb25zb2xlLmxvZyhcImhpXCIpOyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIvIn0=') 11 | .setProperty('sources', [ 'CONSOLE.LOG("HI");' ]) 12 | .toJSON(); 13 | 14 | console.log(json); 15 | console.log(modified); 16 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/convert-source-map/test/fixtures/map-file-comment-double-slash.css: -------------------------------------------------------------------------------- 1 | .header { 2 | background: #444; 3 | border: solid; 4 | padding: 10px; 5 | border-radius: 10px 5px 10px 5px; 6 | color: #b4b472; } 7 | 8 | #main li { 9 | color: green; 10 | margin: 10px; 11 | padding: 10px; 12 | font-size: 18px; } 13 | 14 | //# sourceMappingURL=map-file-comment.css.map 15 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/convert-source-map/test/fixtures/map-file-comment.css: -------------------------------------------------------------------------------- 1 | .header { 2 | background: #444; 3 | border: solid; 4 | padding: 10px; 5 | border-radius: 10px 5px 10px 5px; 6 | color: #b4b472; } 7 | 8 | #main li { 9 | color: green; 10 | margin: 10px; 11 | padding: 10px; 12 | font-size: 18px; } 13 | 14 | /*# sourceMappingURL=map-file-comment.css.map */ 15 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/convert-source-map/test/fixtures/map-file-comment.css.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": "3", 3 | "mappings": "AAAA,wBAAyB;EACvB,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,KAAK;EACb,OAAO,EAAE,IAAI;EACb,aAAa,EAAE,iBAAiB;EAChC,KAAK,EAAE,OAAkB;;AAG3B,wBAAyB;EACvB,OAAO,EAAE,IAAI;;ACTf,gBAAiB;EACf,UAAU,EAAE,IAAI;EAChB,KAAK,EAAE,MAAM;;AAGf,kBAAmB;EACjB,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,IAAI;EACb,UAAU,EAAE,KAAK;EACjB,aAAa,EAAE,GAAG;EAClB,KAAK,EAAE,KAAK;;AAEd,kBAAmB;EACjB,KAAK,EAAE,KAAK;;AAGd,mBAAoB;EAClB,KAAK,EAAE,KAAK;EACZ,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,IAAI;EACb,SAAS,EAAE,IAAI", 4 | "sources": ["./client/sass/core.scss","./client/sass/main.scss"], 5 | "file": "map-file-comment.css" 6 | } 7 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/fs-readdir-recursive/index.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs') 2 | var path = require('path') 3 | 4 | module.exports = read 5 | 6 | function read(root, filter, files, prefix) { 7 | prefix = prefix || '' 8 | files = files || [] 9 | filter = filter || noDotFiles 10 | 11 | var dir = path.join(root, prefix) 12 | if (!fs.existsSync(dir)) return 13 | if (fs.statSync(dir).isDirectory()) 14 | fs.readdirSync(dir) 15 | .filter(filter) 16 | .forEach(function (name) { 17 | read(root, filter, files, path.join(prefix, name)) 18 | }) 19 | else 20 | files.push(prefix) 21 | 22 | return files 23 | } 24 | 25 | function noDotFiles(x) { 26 | return x[0] !== '.' 27 | } 28 | 29 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/array/compact.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Creates an array with all falsey values removed. The values `false`, `null`, 3 | * `0`, `""`, `undefined`, and `NaN` are falsey. 4 | * 5 | * @static 6 | * @memberOf _ 7 | * @category Array 8 | * @param {Array} array The array to compact. 9 | * @returns {Array} Returns the new array of filtered values. 10 | * @example 11 | * 12 | * _.compact([0, 1, false, 2, '', 3]); 13 | * // => [1, 2, 3] 14 | */ 15 | function compact(array) { 16 | var index = -1, 17 | length = array ? array.length : 0, 18 | resIndex = -1, 19 | result = []; 20 | 21 | while (++index < length) { 22 | var value = array[index]; 23 | if (value) { 24 | result[++resIndex] = value; 25 | } 26 | } 27 | return result; 28 | } 29 | 30 | module.exports = compact; 31 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/array/first.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Gets the first element of `array`. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @alias head 7 | * @category Array 8 | * @param {Array} array The array to query. 9 | * @returns {*} Returns the first element of `array`. 10 | * @example 11 | * 12 | * _.first([1, 2, 3]); 13 | * // => 1 14 | * 15 | * _.first([]); 16 | * // => undefined 17 | */ 18 | function first(array) { 19 | return array ? array[0] : undefined; 20 | } 21 | 22 | module.exports = first; 23 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/array/flattenDeep.js: -------------------------------------------------------------------------------- 1 | var baseFlatten = require('../internal/baseFlatten'); 2 | 3 | /** 4 | * Recursively flattens a nested array. 5 | * 6 | * @static 7 | * @memberOf _ 8 | * @category Array 9 | * @param {Array} array The array to recursively flatten. 10 | * @returns {Array} Returns the new flattened array. 11 | * @example 12 | * 13 | * _.flattenDeep([1, [2, 3, [4]]]); 14 | * // => [1, 2, 3, 4] 15 | */ 16 | function flattenDeep(array) { 17 | var length = array ? array.length : 0; 18 | return length ? baseFlatten(array, true) : []; 19 | } 20 | 21 | module.exports = flattenDeep; 22 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/array/head.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./first'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/array/initial.js: -------------------------------------------------------------------------------- 1 | var dropRight = require('./dropRight'); 2 | 3 | /** 4 | * Gets all but the last element of `array`. 5 | * 6 | * @static 7 | * @memberOf _ 8 | * @category Array 9 | * @param {Array} array The array to query. 10 | * @returns {Array} Returns the slice of `array`. 11 | * @example 12 | * 13 | * _.initial([1, 2, 3]); 14 | * // => [1, 2] 15 | */ 16 | function initial(array) { 17 | return dropRight(array, 1); 18 | } 19 | 20 | module.exports = initial; 21 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/array/last.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Gets the last element of `array`. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @category Array 7 | * @param {Array} array The array to query. 8 | * @returns {*} Returns the last element of `array`. 9 | * @example 10 | * 11 | * _.last([1, 2, 3]); 12 | * // => 3 13 | */ 14 | function last(array) { 15 | var length = array ? array.length : 0; 16 | return length ? array[length - 1] : undefined; 17 | } 18 | 19 | module.exports = last; 20 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/array/object.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./zipObject'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/array/rest.js: -------------------------------------------------------------------------------- 1 | var drop = require('./drop'); 2 | 3 | /** 4 | * Gets all but the first element of `array`. 5 | * 6 | * @static 7 | * @memberOf _ 8 | * @alias tail 9 | * @category Array 10 | * @param {Array} array The array to query. 11 | * @returns {Array} Returns the slice of `array`. 12 | * @example 13 | * 14 | * _.rest([1, 2, 3]); 15 | * // => [2, 3] 16 | */ 17 | function rest(array) { 18 | return drop(array, 1); 19 | } 20 | 21 | module.exports = rest; 22 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/array/tail.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./rest'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/array/unique.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./uniq'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/array/zip.js: -------------------------------------------------------------------------------- 1 | var restParam = require('../function/restParam'), 2 | unzip = require('./unzip'); 3 | 4 | /** 5 | * Creates an array of grouped elements, the first of which contains the first 6 | * elements of the given arrays, the second of which contains the second elements 7 | * of the given arrays, and so on. 8 | * 9 | * @static 10 | * @memberOf _ 11 | * @category Array 12 | * @param {...Array} [arrays] The arrays to process. 13 | * @returns {Array} Returns the new array of grouped elements. 14 | * @example 15 | * 16 | * _.zip(['fred', 'barney'], [30, 40], [true, false]); 17 | * // => [['fred', 30, true], ['barney', 40, false]] 18 | */ 19 | var zip = restParam(unzip); 20 | 21 | module.exports = zip; 22 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/chain.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 'chain': require('./chain/chain'), 3 | 'commit': require('./chain/commit'), 4 | 'lodash': require('./chain/lodash'), 5 | 'plant': require('./chain/plant'), 6 | 'reverse': require('./chain/reverse'), 7 | 'run': require('./chain/run'), 8 | 'tap': require('./chain/tap'), 9 | 'thru': require('./chain/thru'), 10 | 'toJSON': require('./chain/toJSON'), 11 | 'toString': require('./chain/toString'), 12 | 'value': require('./chain/value'), 13 | 'valueOf': require('./chain/valueOf'), 14 | 'wrapperChain': require('./chain/wrapperChain') 15 | }; 16 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/chain/commit.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./wrapperCommit'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/chain/plant.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./wrapperPlant'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/chain/reverse.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./wrapperReverse'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/chain/run.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./wrapperValue'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/chain/thru.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This method is like `_.tap` except that it returns the result of `interceptor`. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @category Chain 7 | * @param {*} value The value to provide to `interceptor`. 8 | * @param {Function} interceptor The function to invoke. 9 | * @param {*} [thisArg] The `this` binding of `interceptor`. 10 | * @returns {*} Returns the result of `interceptor`. 11 | * @example 12 | * 13 | * _(' abc ') 14 | * .chain() 15 | * .trim() 16 | * .thru(function(value) { 17 | * return [value]; 18 | * }) 19 | * .value(); 20 | * // => ['abc'] 21 | */ 22 | function thru(value, interceptor, thisArg) { 23 | return interceptor.call(thisArg, value); 24 | } 25 | 26 | module.exports = thru; 27 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/chain/toJSON.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./wrapperValue'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/chain/toString.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./wrapperToString'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/chain/value.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./wrapperValue'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/chain/valueOf.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./wrapperValue'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/chain/wrapperChain.js: -------------------------------------------------------------------------------- 1 | var chain = require('./chain'); 2 | 3 | /** 4 | * Enables explicit method chaining on the wrapper object. 5 | * 6 | * @name chain 7 | * @memberOf _ 8 | * @category Chain 9 | * @returns {Object} Returns the new `lodash` wrapper instance. 10 | * @example 11 | * 12 | * var users = [ 13 | * { 'user': 'barney', 'age': 36 }, 14 | * { 'user': 'fred', 'age': 40 } 15 | * ]; 16 | * 17 | * // without explicit chaining 18 | * _(users).first(); 19 | * // => { 'user': 'barney', 'age': 36 } 20 | * 21 | * // with explicit chaining 22 | * _(users).chain() 23 | * .first() 24 | * .pick('user') 25 | * .value(); 26 | * // => { 'user': 'barney' } 27 | */ 28 | function wrapperChain() { 29 | return chain(this); 30 | } 31 | 32 | module.exports = wrapperChain; 33 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/chain/wrapperCommit.js: -------------------------------------------------------------------------------- 1 | var LodashWrapper = require('../internal/LodashWrapper'); 2 | 3 | /** 4 | * Executes the chained sequence and returns the wrapped result. 5 | * 6 | * @name commit 7 | * @memberOf _ 8 | * @category Chain 9 | * @returns {Object} Returns the new `lodash` wrapper instance. 10 | * @example 11 | * 12 | * var array = [1, 2]; 13 | * var wrapper = _(array).push(3); 14 | * 15 | * console.log(array); 16 | * // => [1, 2] 17 | * 18 | * wrapper = wrapper.commit(); 19 | * console.log(array); 20 | * // => [1, 2, 3] 21 | * 22 | * wrapper.last(); 23 | * // => 3 24 | * 25 | * console.log(array); 26 | * // => [1, 2, 3] 27 | */ 28 | function wrapperCommit() { 29 | return new LodashWrapper(this.value(), this.__chain__); 30 | } 31 | 32 | module.exports = wrapperCommit; 33 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/chain/wrapperToString.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Produces the result of coercing the unwrapped value to a string. 3 | * 4 | * @name toString 5 | * @memberOf _ 6 | * @category Chain 7 | * @returns {string} Returns the coerced string value. 8 | * @example 9 | * 10 | * _([1, 2, 3]).toString(); 11 | * // => '1,2,3' 12 | */ 13 | function wrapperToString() { 14 | return (this.value() + ''); 15 | } 16 | 17 | module.exports = wrapperToString; 18 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/chain/wrapperValue.js: -------------------------------------------------------------------------------- 1 | var baseWrapperValue = require('../internal/baseWrapperValue'); 2 | 3 | /** 4 | * Executes the chained sequence to extract the unwrapped value. 5 | * 6 | * @name value 7 | * @memberOf _ 8 | * @alias run, toJSON, valueOf 9 | * @category Chain 10 | * @returns {*} Returns the resolved unwrapped value. 11 | * @example 12 | * 13 | * _([1, 2, 3]).value(); 14 | * // => [1, 2, 3] 15 | */ 16 | function wrapperValue() { 17 | return baseWrapperValue(this.__wrapped__, this.__actions__); 18 | } 19 | 20 | module.exports = wrapperValue; 21 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/collection/all.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./every'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/collection/any.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./some'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/collection/collect.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./map'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/collection/contains.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./includes'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/collection/detect.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./find'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/collection/each.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./forEach'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/collection/eachRight.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./forEachRight'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/collection/findLast.js: -------------------------------------------------------------------------------- 1 | var baseEachRight = require('../internal/baseEachRight'), 2 | createFind = require('../internal/createFind'); 3 | 4 | /** 5 | * This method is like `_.find` except that it iterates over elements of 6 | * `collection` from right to left. 7 | * 8 | * @static 9 | * @memberOf _ 10 | * @category Collection 11 | * @param {Array|Object|string} collection The collection to search. 12 | * @param {Function|Object|string} [predicate=_.identity] The function invoked 13 | * per iteration. 14 | * @param {*} [thisArg] The `this` binding of `predicate`. 15 | * @returns {*} Returns the matched element, else `undefined`. 16 | * @example 17 | * 18 | * _.findLast([1, 2, 3, 4], function(n) { 19 | * return n % 2 == 1; 20 | * }); 21 | * // => 3 22 | */ 23 | var findLast = createFind(baseEachRight, true); 24 | 25 | module.exports = findLast; 26 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/collection/foldl.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./reduce'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/collection/foldr.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./reduceRight'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/collection/include.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./includes'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/collection/inject.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./reduce'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/collection/max.js: -------------------------------------------------------------------------------- 1 | module.exports = require('../math/max'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/collection/min.js: -------------------------------------------------------------------------------- 1 | module.exports = require('../math/min'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/collection/select.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./filter'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/collection/size.js: -------------------------------------------------------------------------------- 1 | var getLength = require('../internal/getLength'), 2 | isLength = require('../internal/isLength'), 3 | keys = require('../object/keys'); 4 | 5 | /** 6 | * Gets the size of `collection` by returning its length for array-like 7 | * values or the number of own enumerable properties for objects. 8 | * 9 | * @static 10 | * @memberOf _ 11 | * @category Collection 12 | * @param {Array|Object|string} collection The collection to inspect. 13 | * @returns {number} Returns the size of `collection`. 14 | * @example 15 | * 16 | * _.size([1, 2, 3]); 17 | * // => 3 18 | * 19 | * _.size({ 'a': 1, 'b': 2 }); 20 | * // => 2 21 | * 22 | * _.size('pebbles'); 23 | * // => 7 24 | */ 25 | function size(collection) { 26 | var length = collection ? getLength(collection) : 0; 27 | return isLength(length) ? length : keys(collection).length; 28 | } 29 | 30 | module.exports = size; 31 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/collection/sum.js: -------------------------------------------------------------------------------- 1 | module.exports = require('../math/sum'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/date.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 'now': require('./date/now') 3 | }; 4 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/date/now.js: -------------------------------------------------------------------------------- 1 | var isNative = require('../lang/isNative'); 2 | 3 | /* Native method references for those with the same name as other `lodash` methods. */ 4 | var nativeNow = isNative(nativeNow = Date.now) && nativeNow; 5 | 6 | /** 7 | * Gets the number of milliseconds that have elapsed since the Unix epoch 8 | * (1 January 1970 00:00:00 UTC). 9 | * 10 | * @static 11 | * @memberOf _ 12 | * @category Date 13 | * @example 14 | * 15 | * _.defer(function(stamp) { 16 | * console.log(_.now() - stamp); 17 | * }, _.now()); 18 | * // => logs the number of milliseconds it took for the deferred function to be invoked 19 | */ 20 | var now = nativeNow || function() { 21 | return new Date().getTime(); 22 | }; 23 | 24 | module.exports = now; 25 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/function/backflow.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./flowRight'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/function/compose.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./flowRight'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/function/defer.js: -------------------------------------------------------------------------------- 1 | var baseDelay = require('../internal/baseDelay'), 2 | restParam = require('./restParam'); 3 | 4 | /** 5 | * Defers invoking the `func` until the current call stack has cleared. Any 6 | * additional arguments are provided to `func` when it is invoked. 7 | * 8 | * @static 9 | * @memberOf _ 10 | * @category Function 11 | * @param {Function} func The function to defer. 12 | * @param {...*} [args] The arguments to invoke the function with. 13 | * @returns {number} Returns the timer id. 14 | * @example 15 | * 16 | * _.defer(function(text) { 17 | * console.log(text); 18 | * }, 'deferred'); 19 | * // logs 'deferred' after one or more milliseconds 20 | */ 21 | var defer = restParam(function(func, args) { 22 | return baseDelay(func, 1, args); 23 | }); 24 | 25 | module.exports = defer; 26 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/function/delay.js: -------------------------------------------------------------------------------- 1 | var baseDelay = require('../internal/baseDelay'), 2 | restParam = require('./restParam'); 3 | 4 | /** 5 | * Invokes `func` after `wait` milliseconds. Any additional arguments are 6 | * provided to `func` when it is invoked. 7 | * 8 | * @static 9 | * @memberOf _ 10 | * @category Function 11 | * @param {Function} func The function to delay. 12 | * @param {number} wait The number of milliseconds to delay invocation. 13 | * @param {...*} [args] The arguments to invoke the function with. 14 | * @returns {number} Returns the timer id. 15 | * @example 16 | * 17 | * _.delay(function(text) { 18 | * console.log(text); 19 | * }, 1000, 'later'); 20 | * // => logs 'later' after one second 21 | */ 22 | var delay = restParam(function(func, wait, args) { 23 | return baseDelay(func, wait, args); 24 | }); 25 | 26 | module.exports = delay; 27 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/function/flow.js: -------------------------------------------------------------------------------- 1 | var createFlow = require('../internal/createFlow'); 2 | 3 | /** 4 | * Creates a function that returns the result of invoking the provided 5 | * functions with the `this` binding of the created function, where each 6 | * successive invocation is supplied the return value of the previous. 7 | * 8 | * @static 9 | * @memberOf _ 10 | * @category Function 11 | * @param {...Function} [funcs] Functions to invoke. 12 | * @returns {Function} Returns the new function. 13 | * @example 14 | * 15 | * function square(n) { 16 | * return n * n; 17 | * } 18 | * 19 | * var addSquare = _.flow(_.add, square); 20 | * addSquare(1, 2); 21 | * // => 9 22 | */ 23 | var flow = createFlow(); 24 | 25 | module.exports = flow; 26 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/function/flowRight.js: -------------------------------------------------------------------------------- 1 | var createFlow = require('../internal/createFlow'); 2 | 3 | /** 4 | * This method is like `_.flow` except that it creates a function that 5 | * invokes the provided functions from right to left. 6 | * 7 | * @static 8 | * @memberOf _ 9 | * @alias backflow, compose 10 | * @category Function 11 | * @param {...Function} [funcs] Functions to invoke. 12 | * @returns {Function} Returns the new function. 13 | * @example 14 | * 15 | * function square(n) { 16 | * return n * n; 17 | * } 18 | * 19 | * var addSquare = _.flowRight(square, _.add); 20 | * addSquare(1, 2); 21 | * // => 9 22 | */ 23 | var flowRight = createFlow(true); 24 | 25 | module.exports = flowRight; 26 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/function/once.js: -------------------------------------------------------------------------------- 1 | var before = require('./before'); 2 | 3 | /** 4 | * Creates a function that is restricted to invoking `func` once. Repeat calls 5 | * to the function return the value of the first call. The `func` is invoked 6 | * with the `this` binding and arguments of the created function. 7 | * 8 | * @static 9 | * @memberOf _ 10 | * @category Function 11 | * @param {Function} func The function to restrict. 12 | * @returns {Function} Returns the new restricted function. 13 | * @example 14 | * 15 | * var initialize = _.once(createApplication); 16 | * initialize(); 17 | * initialize(); 18 | * // `initialize` invokes `createApplication` once 19 | */ 20 | function once(func) { 21 | return before(2, func); 22 | } 23 | 24 | module.exports = once; 25 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/LazyWrapper.js: -------------------------------------------------------------------------------- 1 | var baseCreate = require('./baseCreate'), 2 | baseLodash = require('./baseLodash'); 3 | 4 | /** Used as references for `-Infinity` and `Infinity`. */ 5 | var POSITIVE_INFINITY = Number.POSITIVE_INFINITY; 6 | 7 | /** 8 | * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. 9 | * 10 | * @private 11 | * @param {*} value The value to wrap. 12 | */ 13 | function LazyWrapper(value) { 14 | this.__wrapped__ = value; 15 | this.__actions__ = null; 16 | this.__dir__ = 1; 17 | this.__dropCount__ = 0; 18 | this.__filtered__ = false; 19 | this.__iteratees__ = null; 20 | this.__takeCount__ = POSITIVE_INFINITY; 21 | this.__views__ = null; 22 | } 23 | 24 | LazyWrapper.prototype = baseCreate(baseLodash.prototype); 25 | LazyWrapper.prototype.constructor = LazyWrapper; 26 | 27 | module.exports = LazyWrapper; 28 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/LodashWrapper.js: -------------------------------------------------------------------------------- 1 | var baseCreate = require('./baseCreate'), 2 | baseLodash = require('./baseLodash'); 3 | 4 | /** 5 | * The base constructor for creating `lodash` wrapper objects. 6 | * 7 | * @private 8 | * @param {*} value The value to wrap. 9 | * @param {boolean} [chainAll] Enable chaining for all wrapper methods. 10 | * @param {Array} [actions=[]] Actions to peform to resolve the unwrapped value. 11 | */ 12 | function LodashWrapper(value, chainAll, actions) { 13 | this.__wrapped__ = value; 14 | this.__actions__ = actions || []; 15 | this.__chain__ = !!chainAll; 16 | } 17 | 18 | LodashWrapper.prototype = baseCreate(baseLodash.prototype); 19 | LodashWrapper.prototype.constructor = LodashWrapper; 20 | 21 | module.exports = LodashWrapper; 22 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/MapCache.js: -------------------------------------------------------------------------------- 1 | var mapDelete = require('./mapDelete'), 2 | mapGet = require('./mapGet'), 3 | mapHas = require('./mapHas'), 4 | mapSet = require('./mapSet'); 5 | 6 | /** 7 | * Creates a cache object to store key/value pairs. 8 | * 9 | * @private 10 | * @static 11 | * @name Cache 12 | * @memberOf _.memoize 13 | */ 14 | function MapCache() { 15 | this.__data__ = {}; 16 | } 17 | 18 | // Add functions to the `Map` cache. 19 | MapCache.prototype['delete'] = mapDelete; 20 | MapCache.prototype.get = mapGet; 21 | MapCache.prototype.has = mapHas; 22 | MapCache.prototype.set = mapSet; 23 | 24 | module.exports = MapCache; 25 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/SetCache.js: -------------------------------------------------------------------------------- 1 | var cachePush = require('./cachePush'), 2 | isNative = require('../lang/isNative'); 3 | 4 | /** Native method references. */ 5 | var Set = isNative(Set = global.Set) && Set; 6 | 7 | /* Native method references for those with the same name as other `lodash` methods. */ 8 | var nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate; 9 | 10 | /** 11 | * 12 | * Creates a cache object to store unique values. 13 | * 14 | * @private 15 | * @param {Array} [values] The values to cache. 16 | */ 17 | function SetCache(values) { 18 | var length = values ? values.length : 0; 19 | 20 | this.data = { 'hash': nativeCreate(null), 'set': new Set }; 21 | while (length--) { 22 | this.push(values[length]); 23 | } 24 | } 25 | 26 | // Add functions to the `Set` cache. 27 | SetCache.prototype.push = cachePush; 28 | 29 | module.exports = SetCache; 30 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/arrayCopy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copies the values of `source` to `array`. 3 | * 4 | * @private 5 | * @param {Array} source The array to copy values from. 6 | * @param {Array} [array=[]] The array to copy values to. 7 | * @returns {Array} Returns `array`. 8 | */ 9 | function arrayCopy(source, array) { 10 | var index = -1, 11 | length = source.length; 12 | 13 | array || (array = Array(length)); 14 | while (++index < length) { 15 | array[index] = source[index]; 16 | } 17 | return array; 18 | } 19 | 20 | module.exports = arrayCopy; 21 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/arrayEach.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A specialized version of `_.forEach` for arrays without support for callback 3 | * shorthands and `this` binding. 4 | * 5 | * @private 6 | * @param {Array} array The array to iterate over. 7 | * @param {Function} iteratee The function invoked per iteration. 8 | * @returns {Array} Returns `array`. 9 | */ 10 | function arrayEach(array, iteratee) { 11 | var index = -1, 12 | length = array.length; 13 | 14 | while (++index < length) { 15 | if (iteratee(array[index], index, array) === false) { 16 | break; 17 | } 18 | } 19 | return array; 20 | } 21 | 22 | module.exports = arrayEach; 23 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/arrayEachRight.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A specialized version of `_.forEachRight` for arrays without support for 3 | * callback shorthands and `this` binding. 4 | * 5 | * @private 6 | * @param {Array} array The array to iterate over. 7 | * @param {Function} iteratee The function invoked per iteration. 8 | * @returns {Array} Returns `array`. 9 | */ 10 | function arrayEachRight(array, iteratee) { 11 | var length = array.length; 12 | 13 | while (length--) { 14 | if (iteratee(array[length], length, array) === false) { 15 | break; 16 | } 17 | } 18 | return array; 19 | } 20 | 21 | module.exports = arrayEachRight; 22 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/arrayEvery.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A specialized version of `_.every` for arrays without support for callback 3 | * shorthands and `this` binding. 4 | * 5 | * @private 6 | * @param {Array} array The array to iterate over. 7 | * @param {Function} predicate The function invoked per iteration. 8 | * @returns {boolean} Returns `true` if all elements pass the predicate check, 9 | * else `false`. 10 | */ 11 | function arrayEvery(array, predicate) { 12 | var index = -1, 13 | length = array.length; 14 | 15 | while (++index < length) { 16 | if (!predicate(array[index], index, array)) { 17 | return false; 18 | } 19 | } 20 | return true; 21 | } 22 | 23 | module.exports = arrayEvery; 24 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/arrayFilter.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A specialized version of `_.filter` for arrays without support for callback 3 | * shorthands and `this` binding. 4 | * 5 | * @private 6 | * @param {Array} array The array to iterate over. 7 | * @param {Function} predicate The function invoked per iteration. 8 | * @returns {Array} Returns the new filtered array. 9 | */ 10 | function arrayFilter(array, predicate) { 11 | var index = -1, 12 | length = array.length, 13 | resIndex = -1, 14 | result = []; 15 | 16 | while (++index < length) { 17 | var value = array[index]; 18 | if (predicate(value, index, array)) { 19 | result[++resIndex] = value; 20 | } 21 | } 22 | return result; 23 | } 24 | 25 | module.exports = arrayFilter; 26 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/arrayMap.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A specialized version of `_.map` for arrays without support for callback 3 | * shorthands and `this` binding. 4 | * 5 | * @private 6 | * @param {Array} array The array to iterate over. 7 | * @param {Function} iteratee The function invoked per iteration. 8 | * @returns {Array} Returns the new mapped array. 9 | */ 10 | function arrayMap(array, iteratee) { 11 | var index = -1, 12 | length = array.length, 13 | result = Array(length); 14 | 15 | while (++index < length) { 16 | result[index] = iteratee(array[index], index, array); 17 | } 18 | return result; 19 | } 20 | 21 | module.exports = arrayMap; 22 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/arrayMax.js: -------------------------------------------------------------------------------- 1 | /** Used as references for `-Infinity` and `Infinity`. */ 2 | var NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY; 3 | 4 | /** 5 | * A specialized version of `_.max` for arrays without support for iteratees. 6 | * 7 | * @private 8 | * @param {Array} array The array to iterate over. 9 | * @returns {*} Returns the maximum value. 10 | */ 11 | function arrayMax(array) { 12 | var index = -1, 13 | length = array.length, 14 | result = NEGATIVE_INFINITY; 15 | 16 | while (++index < length) { 17 | var value = array[index]; 18 | if (value > result) { 19 | result = value; 20 | } 21 | } 22 | return result; 23 | } 24 | 25 | module.exports = arrayMax; 26 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/arrayMin.js: -------------------------------------------------------------------------------- 1 | /** Used as references for `-Infinity` and `Infinity`. */ 2 | var POSITIVE_INFINITY = Number.POSITIVE_INFINITY; 3 | 4 | /** 5 | * A specialized version of `_.min` for arrays without support for iteratees. 6 | * 7 | * @private 8 | * @param {Array} array The array to iterate over. 9 | * @returns {*} Returns the minimum value. 10 | */ 11 | function arrayMin(array) { 12 | var index = -1, 13 | length = array.length, 14 | result = POSITIVE_INFINITY; 15 | 16 | while (++index < length) { 17 | var value = array[index]; 18 | if (value < result) { 19 | result = value; 20 | } 21 | } 22 | return result; 23 | } 24 | 25 | module.exports = arrayMin; 26 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/arraySome.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A specialized version of `_.some` for arrays without support for callback 3 | * shorthands and `this` binding. 4 | * 5 | * @private 6 | * @param {Array} array The array to iterate over. 7 | * @param {Function} predicate The function invoked per iteration. 8 | * @returns {boolean} Returns `true` if any element passes the predicate check, 9 | * else `false`. 10 | */ 11 | function arraySome(array, predicate) { 12 | var index = -1, 13 | length = array.length; 14 | 15 | while (++index < length) { 16 | if (predicate(array[index], index, array)) { 17 | return true; 18 | } 19 | } 20 | return false; 21 | } 22 | 23 | module.exports = arraySome; 24 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/arraySum.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A specialized version of `_.sum` for arrays without support for iteratees. 3 | * 4 | * @private 5 | * @param {Array} array The array to iterate over. 6 | * @returns {number} Returns the sum. 7 | */ 8 | function arraySum(array) { 9 | var length = array.length, 10 | result = 0; 11 | 12 | while (length--) { 13 | result += +array[length] || 0; 14 | } 15 | return result; 16 | } 17 | 18 | module.exports = arraySum; 19 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/assignDefaults.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Used by `_.defaults` to customize its `_.assign` use. 3 | * 4 | * @private 5 | * @param {*} objectValue The destination object property value. 6 | * @param {*} sourceValue The source object property value. 7 | * @returns {*} Returns the value to assign to the destination object. 8 | */ 9 | function assignDefaults(objectValue, sourceValue) { 10 | return objectValue === undefined ? sourceValue : objectValue; 11 | } 12 | 13 | module.exports = assignDefaults; 14 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseCompareAscending.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The base implementation of `compareAscending` which compares values and 3 | * sorts them in ascending order without guaranteeing a stable sort. 4 | * 5 | * @private 6 | * @param {*} value The value to compare to `other`. 7 | * @param {*} other The value to compare to `value`. 8 | * @returns {number} Returns the sort order indicator for `value`. 9 | */ 10 | function baseCompareAscending(value, other) { 11 | if (value !== other) { 12 | var valIsReflexive = value === value, 13 | othIsReflexive = other === other; 14 | 15 | if (value > other || !valIsReflexive || (value === undefined && othIsReflexive)) { 16 | return 1; 17 | } 18 | if (value < other || !othIsReflexive || (other === undefined && valIsReflexive)) { 19 | return -1; 20 | } 21 | } 22 | return 0; 23 | } 24 | 25 | module.exports = baseCompareAscending; 26 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseCopy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copies properties of `source` to `object`. 3 | * 4 | * @private 5 | * @param {Object} source The object to copy properties from. 6 | * @param {Array} props The property names to copy. 7 | * @param {Object} [object={}] The object to copy properties to. 8 | * @returns {Object} Returns `object`. 9 | */ 10 | function baseCopy(source, props, object) { 11 | object || (object = {}); 12 | 13 | var index = -1, 14 | length = props.length; 15 | 16 | while (++index < length) { 17 | var key = props[index]; 18 | object[key] = source[key]; 19 | } 20 | return object; 21 | } 22 | 23 | module.exports = baseCopy; 24 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseCreate.js: -------------------------------------------------------------------------------- 1 | var isObject = require('../lang/isObject'); 2 | 3 | /** 4 | * The base implementation of `_.create` without support for assigning 5 | * properties to the created object. 6 | * 7 | * @private 8 | * @param {Object} prototype The object to inherit from. 9 | * @returns {Object} Returns the new object. 10 | */ 11 | var baseCreate = (function() { 12 | function Object() {} 13 | return function(prototype) { 14 | if (isObject(prototype)) { 15 | Object.prototype = prototype; 16 | var result = new Object; 17 | Object.prototype = null; 18 | } 19 | return result || global.Object(); 20 | }; 21 | }()); 22 | 23 | module.exports = baseCreate; 24 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseDelay.js: -------------------------------------------------------------------------------- 1 | /** Used as the `TypeError` message for "Functions" methods. */ 2 | var FUNC_ERROR_TEXT = 'Expected a function'; 3 | 4 | /** 5 | * The base implementation of `_.delay` and `_.defer` which accepts an index 6 | * of where to slice the arguments to provide to `func`. 7 | * 8 | * @private 9 | * @param {Function} func The function to delay. 10 | * @param {number} wait The number of milliseconds to delay invocation. 11 | * @param {Object} args The arguments provide to `func`. 12 | * @returns {number} Returns the timer id. 13 | */ 14 | function baseDelay(func, wait, args) { 15 | if (typeof func != 'function') { 16 | throw new TypeError(FUNC_ERROR_TEXT); 17 | } 18 | return setTimeout(function() { func.apply(undefined, args); }, wait); 19 | } 20 | 21 | module.exports = baseDelay; 22 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseEach.js: -------------------------------------------------------------------------------- 1 | var baseForOwn = require('./baseForOwn'), 2 | createBaseEach = require('./createBaseEach'); 3 | 4 | /** 5 | * The base implementation of `_.forEach` without support for callback 6 | * shorthands and `this` binding. 7 | * 8 | * @private 9 | * @param {Array|Object|string} collection The collection to iterate over. 10 | * @param {Function} iteratee The function invoked per iteration. 11 | * @returns {Array|Object|string} Returns `collection`. 12 | */ 13 | var baseEach = createBaseEach(baseForOwn); 14 | 15 | module.exports = baseEach; 16 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseEachRight.js: -------------------------------------------------------------------------------- 1 | var baseForOwnRight = require('./baseForOwnRight'), 2 | createBaseEach = require('./createBaseEach'); 3 | 4 | /** 5 | * The base implementation of `_.forEachRight` without support for callback 6 | * shorthands and `this` binding. 7 | * 8 | * @private 9 | * @param {Array|Object|string} collection The collection to iterate over. 10 | * @param {Function} iteratee The function invoked per iteration. 11 | * @returns {Array|Object|string} Returns `collection`. 12 | */ 13 | var baseEachRight = createBaseEach(baseForOwnRight, true); 14 | 15 | module.exports = baseEachRight; 16 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseEvery.js: -------------------------------------------------------------------------------- 1 | var baseEach = require('./baseEach'); 2 | 3 | /** 4 | * The base implementation of `_.every` without support for callback 5 | * shorthands and `this` binding. 6 | * 7 | * @private 8 | * @param {Array|Object|string} collection The collection to iterate over. 9 | * @param {Function} predicate The function invoked per iteration. 10 | * @returns {boolean} Returns `true` if all elements pass the predicate check, 11 | * else `false` 12 | */ 13 | function baseEvery(collection, predicate) { 14 | var result = true; 15 | baseEach(collection, function(value, index, collection) { 16 | result = !!predicate(value, index, collection); 17 | return result; 18 | }); 19 | return result; 20 | } 21 | 22 | module.exports = baseEvery; 23 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseFilter.js: -------------------------------------------------------------------------------- 1 | var baseEach = require('./baseEach'); 2 | 3 | /** 4 | * The base implementation of `_.filter` without support for callback 5 | * shorthands and `this` binding. 6 | * 7 | * @private 8 | * @param {Array|Object|string} collection The collection to iterate over. 9 | * @param {Function} predicate The function invoked per iteration. 10 | * @returns {Array} Returns the new filtered array. 11 | */ 12 | function baseFilter(collection, predicate) { 13 | var result = []; 14 | baseEach(collection, function(value, index, collection) { 15 | if (predicate(value, index, collection)) { 16 | result.push(value); 17 | } 18 | }); 19 | return result; 20 | } 21 | 22 | module.exports = baseFilter; 23 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseFindIndex.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The base implementation of `_.findIndex` and `_.findLastIndex` without 3 | * support for callback shorthands and `this` binding. 4 | * 5 | * @private 6 | * @param {Array} array The array to search. 7 | * @param {Function} predicate The function invoked per iteration. 8 | * @param {boolean} [fromRight] Specify iterating from right to left. 9 | * @returns {number} Returns the index of the matched value, else `-1`. 10 | */ 11 | function baseFindIndex(array, predicate, fromRight) { 12 | var length = array.length, 13 | index = fromRight ? length : -1; 14 | 15 | while ((fromRight ? index-- : ++index < length)) { 16 | if (predicate(array[index], index, array)) { 17 | return index; 18 | } 19 | } 20 | return -1; 21 | } 22 | 23 | module.exports = baseFindIndex; 24 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseFor.js: -------------------------------------------------------------------------------- 1 | var createBaseFor = require('./createBaseFor'); 2 | 3 | /** 4 | * The base implementation of `baseForIn` and `baseForOwn` which iterates 5 | * over `object` properties returned by `keysFunc` invoking `iteratee` for 6 | * each property. Iteratee functions may exit iteration early by explicitly 7 | * returning `false`. 8 | * 9 | * @private 10 | * @param {Object} object The object to iterate over. 11 | * @param {Function} iteratee The function invoked per iteration. 12 | * @param {Function} keysFunc The function to get the keys of `object`. 13 | * @returns {Object} Returns `object`. 14 | */ 15 | var baseFor = createBaseFor(); 16 | 17 | module.exports = baseFor; 18 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseForIn.js: -------------------------------------------------------------------------------- 1 | var baseFor = require('./baseFor'), 2 | keysIn = require('../object/keysIn'); 3 | 4 | /** 5 | * The base implementation of `_.forIn` without support for callback 6 | * shorthands and `this` binding. 7 | * 8 | * @private 9 | * @param {Object} object The object to iterate over. 10 | * @param {Function} iteratee The function invoked per iteration. 11 | * @returns {Object} Returns `object`. 12 | */ 13 | function baseForIn(object, iteratee) { 14 | return baseFor(object, iteratee, keysIn); 15 | } 16 | 17 | module.exports = baseForIn; 18 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseForOwn.js: -------------------------------------------------------------------------------- 1 | var baseFor = require('./baseFor'), 2 | keys = require('../object/keys'); 3 | 4 | /** 5 | * The base implementation of `_.forOwn` without support for callback 6 | * shorthands and `this` binding. 7 | * 8 | * @private 9 | * @param {Object} object The object to iterate over. 10 | * @param {Function} iteratee The function invoked per iteration. 11 | * @returns {Object} Returns `object`. 12 | */ 13 | function baseForOwn(object, iteratee) { 14 | return baseFor(object, iteratee, keys); 15 | } 16 | 17 | module.exports = baseForOwn; 18 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseForOwnRight.js: -------------------------------------------------------------------------------- 1 | var baseForRight = require('./baseForRight'), 2 | keys = require('../object/keys'); 3 | 4 | /** 5 | * The base implementation of `_.forOwnRight` without support for callback 6 | * shorthands and `this` binding. 7 | * 8 | * @private 9 | * @param {Object} object The object to iterate over. 10 | * @param {Function} iteratee The function invoked per iteration. 11 | * @returns {Object} Returns `object`. 12 | */ 13 | function baseForOwnRight(object, iteratee) { 14 | return baseForRight(object, iteratee, keys); 15 | } 16 | 17 | module.exports = baseForOwnRight; 18 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseForRight.js: -------------------------------------------------------------------------------- 1 | var createBaseFor = require('./createBaseFor'); 2 | 3 | /** 4 | * This function is like `baseFor` except that it iterates over properties 5 | * in the opposite order. 6 | * 7 | * @private 8 | * @param {Object} object The object to iterate over. 9 | * @param {Function} iteratee The function invoked per iteration. 10 | * @param {Function} keysFunc The function to get the keys of `object`. 11 | * @returns {Object} Returns `object`. 12 | */ 13 | var baseForRight = createBaseFor(true); 14 | 15 | module.exports = baseForRight; 16 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseFunctions.js: -------------------------------------------------------------------------------- 1 | var isFunction = require('../lang/isFunction'); 2 | 3 | /** 4 | * The base implementation of `_.functions` which creates an array of 5 | * `object` function property names filtered from those provided. 6 | * 7 | * @private 8 | * @param {Object} object The object to inspect. 9 | * @param {Array} props The property names to filter. 10 | * @returns {Array} Returns the new array of filtered property names. 11 | */ 12 | function baseFunctions(object, props) { 13 | var index = -1, 14 | length = props.length, 15 | resIndex = -1, 16 | result = []; 17 | 18 | while (++index < length) { 19 | var key = props[index]; 20 | if (isFunction(object[key])) { 21 | result[++resIndex] = key; 22 | } 23 | } 24 | return result; 25 | } 26 | 27 | module.exports = baseFunctions; 28 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseGet.js: -------------------------------------------------------------------------------- 1 | var toObject = require('./toObject'); 2 | 3 | /** 4 | * The base implementation of `get` without support for string paths 5 | * and default values. 6 | * 7 | * @private 8 | * @param {Object} object The object to query. 9 | * @param {Array} path The path of the property to get. 10 | * @param {string} [pathKey] The key representation of path. 11 | * @returns {*} Returns the resolved value. 12 | */ 13 | function baseGet(object, path, pathKey) { 14 | if (object == null) { 15 | return; 16 | } 17 | if (pathKey !== undefined && pathKey in toObject(object)) { 18 | path = [pathKey]; 19 | } 20 | var index = -1, 21 | length = path.length; 22 | 23 | while (object != null && ++index < length) { 24 | var result = object = object[path[index]]; 25 | } 26 | return result; 27 | } 28 | 29 | module.exports = baseGet; 30 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseIndexOf.js: -------------------------------------------------------------------------------- 1 | var indexOfNaN = require('./indexOfNaN'); 2 | 3 | /** 4 | * The base implementation of `_.indexOf` without support for binary searches. 5 | * 6 | * @private 7 | * @param {Array} array The array to search. 8 | * @param {*} value The value to search for. 9 | * @param {number} fromIndex The index to search from. 10 | * @returns {number} Returns the index of the matched value, else `-1`. 11 | */ 12 | function baseIndexOf(array, value, fromIndex) { 13 | if (value !== value) { 14 | return indexOfNaN(array, fromIndex); 15 | } 16 | var index = fromIndex - 1, 17 | length = array.length; 18 | 19 | while (++index < length) { 20 | if (array[index] === value) { 21 | return index; 22 | } 23 | } 24 | return -1; 25 | } 26 | 27 | module.exports = baseIndexOf; 28 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseIsFunction.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The base implementation of `_.isFunction` without support for environments 3 | * with incorrect `typeof` results. 4 | * 5 | * @private 6 | * @param {*} value The value to check. 7 | * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. 8 | */ 9 | function baseIsFunction(value) { 10 | // Avoid a Chakra JIT bug in compatibility modes of IE 11. 11 | // See https://github.com/jashkenas/underscore/issues/1621 for more details. 12 | return typeof value == 'function' || false; 13 | } 14 | 15 | module.exports = baseIsFunction; 16 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseLodash.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The function whose prototype all chaining wrappers inherit from. 3 | * 4 | * @private 5 | */ 6 | function baseLodash() { 7 | // No operation performed. 8 | } 9 | 10 | module.exports = baseLodash; 11 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseMap.js: -------------------------------------------------------------------------------- 1 | var baseEach = require('./baseEach'), 2 | getLength = require('./getLength'), 3 | isLength = require('./isLength'); 4 | 5 | /** 6 | * The base implementation of `_.map` without support for callback shorthands 7 | * and `this` binding. 8 | * 9 | * @private 10 | * @param {Array|Object|string} collection The collection to iterate over. 11 | * @param {Function} iteratee The function invoked per iteration. 12 | * @returns {Array} Returns the new mapped array. 13 | */ 14 | function baseMap(collection, iteratee) { 15 | var index = -1, 16 | length = getLength(collection), 17 | result = isLength(length) ? Array(length) : []; 18 | 19 | baseEach(collection, function(value, key, collection) { 20 | result[++index] = iteratee(value, key, collection); 21 | }); 22 | return result; 23 | } 24 | 25 | module.exports = baseMap; 26 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseProperty.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The base implementation of `_.property` without support for deep paths. 3 | * 4 | * @private 5 | * @param {string} key The key of the property to get. 6 | * @returns {Function} Returns the new function. 7 | */ 8 | function baseProperty(key) { 9 | return function(object) { 10 | return object == null ? undefined : object[key]; 11 | }; 12 | } 13 | 14 | module.exports = baseProperty; 15 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/basePropertyDeep.js: -------------------------------------------------------------------------------- 1 | var baseGet = require('./baseGet'), 2 | toPath = require('./toPath'); 3 | 4 | /** 5 | * A specialized version of `baseProperty` which supports deep paths. 6 | * 7 | * @private 8 | * @param {Array|string} path The path of the property to get. 9 | * @returns {Function} Returns the new function. 10 | */ 11 | function basePropertyDeep(path) { 12 | var pathKey = (path + ''); 13 | path = toPath(path); 14 | return function(object) { 15 | return baseGet(object, path, pathKey); 16 | }; 17 | } 18 | 19 | module.exports = basePropertyDeep; 20 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseRandom.js: -------------------------------------------------------------------------------- 1 | /** Native method references. */ 2 | var floor = Math.floor; 3 | 4 | /* Native method references for those with the same name as other `lodash` methods. */ 5 | var nativeRandom = Math.random; 6 | 7 | /** 8 | * The base implementation of `_.random` without support for argument juggling 9 | * and returning floating-point numbers. 10 | * 11 | * @private 12 | * @param {number} min The minimum possible value. 13 | * @param {number} max The maximum possible value. 14 | * @returns {number} Returns the random number. 15 | */ 16 | function baseRandom(min, max) { 17 | return min + floor(nativeRandom() * (max - min + 1)); 18 | } 19 | 20 | module.exports = baseRandom; 21 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseSetData.js: -------------------------------------------------------------------------------- 1 | var identity = require('../utility/identity'), 2 | metaMap = require('./metaMap'); 3 | 4 | /** 5 | * The base implementation of `setData` without support for hot loop detection. 6 | * 7 | * @private 8 | * @param {Function} func The function to associate metadata with. 9 | * @param {*} data The metadata. 10 | * @returns {Function} Returns `func`. 11 | */ 12 | var baseSetData = !metaMap ? identity : function(func, data) { 13 | metaMap.set(func, data); 14 | return func; 15 | }; 16 | 17 | module.exports = baseSetData; 18 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseSome.js: -------------------------------------------------------------------------------- 1 | var baseEach = require('./baseEach'); 2 | 3 | /** 4 | * The base implementation of `_.some` without support for callback shorthands 5 | * and `this` binding. 6 | * 7 | * @private 8 | * @param {Array|Object|string} collection The collection to iterate over. 9 | * @param {Function} predicate The function invoked per iteration. 10 | * @returns {boolean} Returns `true` if any element passes the predicate check, 11 | * else `false`. 12 | */ 13 | function baseSome(collection, predicate) { 14 | var result; 15 | 16 | baseEach(collection, function(value, index, collection) { 17 | result = predicate(value, index, collection); 18 | return !result; 19 | }); 20 | return !!result; 21 | } 22 | 23 | module.exports = baseSome; 24 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseSortBy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The base implementation of `_.sortBy` which uses `comparer` to define 3 | * the sort order of `array` and replaces criteria objects with their 4 | * corresponding values. 5 | * 6 | * @private 7 | * @param {Array} array The array to sort. 8 | * @param {Function} comparer The function to define sort order. 9 | * @returns {Array} Returns `array`. 10 | */ 11 | function baseSortBy(array, comparer) { 12 | var length = array.length; 13 | 14 | array.sort(comparer); 15 | while (length--) { 16 | array[length] = array[length].value; 17 | } 18 | return array; 19 | } 20 | 21 | module.exports = baseSortBy; 22 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseSum.js: -------------------------------------------------------------------------------- 1 | var baseEach = require('./baseEach'); 2 | 3 | /** 4 | * The base implementation of `_.sum` without support for callback shorthands 5 | * and `this` binding. 6 | * 7 | * @private 8 | * @param {Array|Object|string} collection The collection to iterate over. 9 | * @param {Function} iteratee The function invoked per iteration. 10 | * @returns {number} Returns the sum. 11 | */ 12 | function baseSum(collection, iteratee) { 13 | var result = 0; 14 | baseEach(collection, function(value, index, collection) { 15 | result += +iteratee(value, index, collection) || 0; 16 | }); 17 | return result; 18 | } 19 | 20 | module.exports = baseSum; 21 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseToString.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Converts `value` to a string if it is not one. An empty string is returned 3 | * for `null` or `undefined` values. 4 | * 5 | * @private 6 | * @param {*} value The value to process. 7 | * @returns {string} Returns the string. 8 | */ 9 | function baseToString(value) { 10 | if (typeof value == 'string') { 11 | return value; 12 | } 13 | return value == null ? '' : (value + ''); 14 | } 15 | 16 | module.exports = baseToString; 17 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/baseValues.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The base implementation of `_.values` and `_.valuesIn` which creates an 3 | * array of `object` property values corresponding to the property names 4 | * of `props`. 5 | * 6 | * @private 7 | * @param {Object} object The object to query. 8 | * @param {Array} props The property names to get values for. 9 | * @returns {Object} Returns the array of property values. 10 | */ 11 | function baseValues(object, props) { 12 | var index = -1, 13 | length = props.length, 14 | result = Array(length); 15 | 16 | while (++index < length) { 17 | result[index] = object[props[index]]; 18 | } 19 | return result; 20 | } 21 | 22 | module.exports = baseValues; 23 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/cacheIndexOf.js: -------------------------------------------------------------------------------- 1 | var isObject = require('../lang/isObject'); 2 | 3 | /** 4 | * Checks if `value` is in `cache` mimicking the return signature of 5 | * `_.indexOf` by returning `0` if the value is found, else `-1`. 6 | * 7 | * @private 8 | * @param {Object} cache The cache to search. 9 | * @param {*} value The value to search for. 10 | * @returns {number} Returns `0` if `value` is found, else `-1`. 11 | */ 12 | function cacheIndexOf(cache, value) { 13 | var data = cache.data, 14 | result = (typeof value == 'string' || isObject(value)) ? data.set.has(value) : data.hash[value]; 15 | 16 | return result ? 0 : -1; 17 | } 18 | 19 | module.exports = cacheIndexOf; 20 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/cachePush.js: -------------------------------------------------------------------------------- 1 | var isObject = require('../lang/isObject'); 2 | 3 | /** 4 | * Adds `value` to the cache. 5 | * 6 | * @private 7 | * @name push 8 | * @memberOf SetCache 9 | * @param {*} value The value to cache. 10 | */ 11 | function cachePush(value) { 12 | var data = this.data; 13 | if (typeof value == 'string' || isObject(value)) { 14 | data.set.add(value); 15 | } else { 16 | data.hash[value] = true; 17 | } 18 | } 19 | 20 | module.exports = cachePush; 21 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/charAtCallback.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Used by `_.max` and `_.min` as the default callback for string values. 3 | * 4 | * @private 5 | * @param {string} string The string to inspect. 6 | * @returns {number} Returns the code unit of the first character of the string. 7 | */ 8 | function charAtCallback(string) { 9 | return string.charCodeAt(0); 10 | } 11 | 12 | module.exports = charAtCallback; 13 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/charsLeftIndex.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Used by `_.trim` and `_.trimLeft` to get the index of the first character 3 | * of `string` that is not found in `chars`. 4 | * 5 | * @private 6 | * @param {string} string The string to inspect. 7 | * @param {string} chars The characters to find. 8 | * @returns {number} Returns the index of the first character not found in `chars`. 9 | */ 10 | function charsLeftIndex(string, chars) { 11 | var index = -1, 12 | length = string.length; 13 | 14 | while (++index < length && chars.indexOf(string.charAt(index)) > -1) {} 15 | return index; 16 | } 17 | 18 | module.exports = charsLeftIndex; 19 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/charsRightIndex.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Used by `_.trim` and `_.trimRight` to get the index of the last character 3 | * of `string` that is not found in `chars`. 4 | * 5 | * @private 6 | * @param {string} string The string to inspect. 7 | * @param {string} chars The characters to find. 8 | * @returns {number} Returns the index of the last character not found in `chars`. 9 | */ 10 | function charsRightIndex(string, chars) { 11 | var index = string.length; 12 | 13 | while (index-- && chars.indexOf(string.charAt(index)) > -1) {} 14 | return index; 15 | } 16 | 17 | module.exports = charsRightIndex; 18 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/compareAscending.js: -------------------------------------------------------------------------------- 1 | var baseCompareAscending = require('./baseCompareAscending'); 2 | 3 | /** 4 | * Used by `_.sortBy` to compare transformed elements of a collection and stable 5 | * sort them in ascending order. 6 | * 7 | * @private 8 | * @param {Object} object The object to compare to `other`. 9 | * @param {Object} other The object to compare to `object`. 10 | * @returns {number} Returns the sort order indicator for `object`. 11 | */ 12 | function compareAscending(object, other) { 13 | return baseCompareAscending(object.criteria, other.criteria) || (object.index - other.index); 14 | } 15 | 16 | module.exports = compareAscending; 17 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/createBaseFor.js: -------------------------------------------------------------------------------- 1 | var toObject = require('./toObject'); 2 | 3 | /** 4 | * Creates a base function for `_.forIn` or `_.forInRight`. 5 | * 6 | * @private 7 | * @param {boolean} [fromRight] Specify iterating from right to left. 8 | * @returns {Function} Returns the new base function. 9 | */ 10 | function createBaseFor(fromRight) { 11 | return function(object, iteratee, keysFunc) { 12 | var iterable = toObject(object), 13 | props = keysFunc(object), 14 | length = props.length, 15 | index = fromRight ? length : -1; 16 | 17 | while ((fromRight ? index-- : ++index < length)) { 18 | var key = props[index]; 19 | if (iteratee(iterable[key], key, iterable) === false) { 20 | break; 21 | } 22 | } 23 | return object; 24 | }; 25 | } 26 | 27 | module.exports = createBaseFor; 28 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/createBindWrapper.js: -------------------------------------------------------------------------------- 1 | var createCtorWrapper = require('./createCtorWrapper'); 2 | 3 | /** 4 | * Creates a function that wraps `func` and invokes it with the `this` 5 | * binding of `thisArg`. 6 | * 7 | * @private 8 | * @param {Function} func The function to bind. 9 | * @param {*} [thisArg] The `this` binding of `func`. 10 | * @returns {Function} Returns the new bound function. 11 | */ 12 | function createBindWrapper(func, thisArg) { 13 | var Ctor = createCtorWrapper(func); 14 | 15 | function wrapper() { 16 | var fn = (this && this !== global && this instanceof wrapper) ? Ctor : func; 17 | return fn.apply(thisArg, arguments); 18 | } 19 | return wrapper; 20 | } 21 | 22 | module.exports = createBindWrapper; 23 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/createCache.js: -------------------------------------------------------------------------------- 1 | var SetCache = require('./SetCache'), 2 | constant = require('../utility/constant'), 3 | isNative = require('../lang/isNative'); 4 | 5 | /** Native method references. */ 6 | var Set = isNative(Set = global.Set) && Set; 7 | 8 | /* Native method references for those with the same name as other `lodash` methods. */ 9 | var nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate; 10 | 11 | /** 12 | * Creates a `Set` cache object to optimize linear searches of large arrays. 13 | * 14 | * @private 15 | * @param {Array} [values] The values to cache. 16 | * @returns {null|Object} Returns the new cache object if `Set` is supported, else `null`. 17 | */ 18 | var createCache = !(nativeCreate && Set) ? constant(null) : function(values) { 19 | return new SetCache(values); 20 | }; 21 | 22 | module.exports = createCache; 23 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/createCompounder.js: -------------------------------------------------------------------------------- 1 | var deburr = require('../string/deburr'), 2 | words = require('../string/words'); 3 | 4 | /** 5 | * Creates a function that produces compound words out of the words in a 6 | * given string. 7 | * 8 | * @private 9 | * @param {Function} callback The function to combine each word. 10 | * @returns {Function} Returns the new compounder function. 11 | */ 12 | function createCompounder(callback) { 13 | return function(string) { 14 | var index = -1, 15 | array = words(deburr(string)), 16 | length = array.length, 17 | result = ''; 18 | 19 | while (++index < length) { 20 | result = callback(result, array[index], index); 21 | } 22 | return result; 23 | }; 24 | } 25 | 26 | module.exports = createCompounder; 27 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/createCtorWrapper.js: -------------------------------------------------------------------------------- 1 | var baseCreate = require('./baseCreate'), 2 | isObject = require('../lang/isObject'); 3 | 4 | /** 5 | * Creates a function that produces an instance of `Ctor` regardless of 6 | * whether it was invoked as part of a `new` expression or by `call` or `apply`. 7 | * 8 | * @private 9 | * @param {Function} Ctor The constructor to wrap. 10 | * @returns {Function} Returns the new wrapped function. 11 | */ 12 | function createCtorWrapper(Ctor) { 13 | return function() { 14 | var thisBinding = baseCreate(Ctor.prototype), 15 | result = Ctor.apply(thisBinding, arguments); 16 | 17 | // Mimic the constructor's `return` behavior. 18 | // See https://es5.github.io/#x13.2.2 for more details. 19 | return isObject(result) ? result : thisBinding; 20 | }; 21 | } 22 | 23 | module.exports = createCtorWrapper; 24 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/createCurry.js: -------------------------------------------------------------------------------- 1 | var createWrapper = require('./createWrapper'), 2 | isIterateeCall = require('./isIterateeCall'); 3 | 4 | /** 5 | * Creates a `_.curry` or `_.curryRight` function. 6 | * 7 | * @private 8 | * @param {boolean} flag The curry bit flag. 9 | * @returns {Function} Returns the new curry function. 10 | */ 11 | function createCurry(flag) { 12 | function curryFunc(func, arity, guard) { 13 | if (guard && isIterateeCall(func, arity, guard)) { 14 | arity = null; 15 | } 16 | var result = createWrapper(func, flag, null, null, null, null, null, arity); 17 | result.placeholder = curryFunc.placeholder; 18 | return result; 19 | } 20 | return curryFunc; 21 | } 22 | 23 | module.exports = createCurry; 24 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/createFindIndex.js: -------------------------------------------------------------------------------- 1 | var baseCallback = require('./baseCallback'), 2 | baseFindIndex = require('./baseFindIndex'); 3 | 4 | /** 5 | * Creates a `_.findIndex` or `_.findLastIndex` function. 6 | * 7 | * @private 8 | * @param {boolean} [fromRight] Specify iterating from right to left. 9 | * @returns {Function} Returns the new find function. 10 | */ 11 | function createFindIndex(fromRight) { 12 | return function(array, predicate, thisArg) { 13 | if (!(array && array.length)) { 14 | return -1; 15 | } 16 | predicate = baseCallback(predicate, thisArg, 3); 17 | return baseFindIndex(array, predicate, fromRight); 18 | }; 19 | } 20 | 21 | module.exports = createFindIndex; 22 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/createFindKey.js: -------------------------------------------------------------------------------- 1 | var baseCallback = require('./baseCallback'), 2 | baseFind = require('./baseFind'); 3 | 4 | /** 5 | * Creates a `_.findKey` or `_.findLastKey` function. 6 | * 7 | * @private 8 | * @param {Function} objectFunc The function to iterate over an object. 9 | * @returns {Function} Returns the new find function. 10 | */ 11 | function createFindKey(objectFunc) { 12 | return function(object, predicate, thisArg) { 13 | predicate = baseCallback(predicate, thisArg, 3); 14 | return baseFind(object, predicate, objectFunc, true); 15 | }; 16 | } 17 | 18 | module.exports = createFindKey; 19 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/createForEach.js: -------------------------------------------------------------------------------- 1 | var bindCallback = require('./bindCallback'), 2 | isArray = require('../lang/isArray'); 3 | 4 | /** 5 | * Creates a function for `_.forEach` or `_.forEachRight`. 6 | * 7 | * @private 8 | * @param {Function} arrayFunc The function to iterate over an array. 9 | * @param {Function} eachFunc The function to iterate over a collection. 10 | * @returns {Function} Returns the new each function. 11 | */ 12 | function createForEach(arrayFunc, eachFunc) { 13 | return function(collection, iteratee, thisArg) { 14 | return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection)) 15 | ? arrayFunc(collection, iteratee) 16 | : eachFunc(collection, bindCallback(iteratee, thisArg, 3)); 17 | }; 18 | } 19 | 20 | module.exports = createForEach; 21 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/createForIn.js: -------------------------------------------------------------------------------- 1 | var bindCallback = require('./bindCallback'), 2 | keysIn = require('../object/keysIn'); 3 | 4 | /** 5 | * Creates a function for `_.forIn` or `_.forInRight`. 6 | * 7 | * @private 8 | * @param {Function} objectFunc The function to iterate over an object. 9 | * @returns {Function} Returns the new each function. 10 | */ 11 | function createForIn(objectFunc) { 12 | return function(object, iteratee, thisArg) { 13 | if (typeof iteratee != 'function' || thisArg !== undefined) { 14 | iteratee = bindCallback(iteratee, thisArg, 3); 15 | } 16 | return objectFunc(object, iteratee, keysIn); 17 | }; 18 | } 19 | 20 | module.exports = createForIn; 21 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/createForOwn.js: -------------------------------------------------------------------------------- 1 | var bindCallback = require('./bindCallback'); 2 | 3 | /** 4 | * Creates a function for `_.forOwn` or `_.forOwnRight`. 5 | * 6 | * @private 7 | * @param {Function} objectFunc The function to iterate over an object. 8 | * @returns {Function} Returns the new each function. 9 | */ 10 | function createForOwn(objectFunc) { 11 | return function(object, iteratee, thisArg) { 12 | if (typeof iteratee != 'function' || thisArg !== undefined) { 13 | iteratee = bindCallback(iteratee, thisArg, 3); 14 | } 15 | return objectFunc(object, iteratee); 16 | }; 17 | } 18 | 19 | module.exports = createForOwn; 20 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/createPadDir.js: -------------------------------------------------------------------------------- 1 | var baseToString = require('./baseToString'), 2 | createPadding = require('./createPadding'); 3 | 4 | /** 5 | * Creates a function for `_.padLeft` or `_.padRight`. 6 | * 7 | * @private 8 | * @param {boolean} [fromRight] Specify padding from the right. 9 | * @returns {Function} Returns the new pad function. 10 | */ 11 | function createPadDir(fromRight) { 12 | return function(string, length, chars) { 13 | string = baseToString(string); 14 | return string && ((fromRight ? string : '') + createPadding(string, length, chars) + (fromRight ? '' : string)); 15 | }; 16 | } 17 | 18 | module.exports = createPadDir; 19 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/createPartial.js: -------------------------------------------------------------------------------- 1 | var createWrapper = require('./createWrapper'), 2 | replaceHolders = require('./replaceHolders'), 3 | restParam = require('../function/restParam'); 4 | 5 | /** 6 | * Creates a `_.partial` or `_.partialRight` function. 7 | * 8 | * @private 9 | * @param {boolean} flag The partial bit flag. 10 | * @returns {Function} Returns the new partial function. 11 | */ 12 | function createPartial(flag) { 13 | var partialFunc = restParam(function(func, partials) { 14 | var holders = replaceHolders(partials, partialFunc.placeholder); 15 | return createWrapper(func, flag, null, partials, holders); 16 | }); 17 | return partialFunc; 18 | } 19 | 20 | module.exports = createPartial; 21 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/createSortedIndex.js: -------------------------------------------------------------------------------- 1 | var baseCallback = require('./baseCallback'), 2 | binaryIndex = require('./binaryIndex'), 3 | binaryIndexBy = require('./binaryIndexBy'); 4 | 5 | /** 6 | * Creates a `_.sortedIndex` or `_.sortedLastIndex` function. 7 | * 8 | * @private 9 | * @param {boolean} [retHighest] Specify returning the highest qualified index. 10 | * @returns {Function} Returns the new index function. 11 | */ 12 | function createSortedIndex(retHighest) { 13 | return function(array, value, iteratee, thisArg) { 14 | return iteratee == null 15 | ? binaryIndex(array, value, retHighest) 16 | : binaryIndexBy(array, value, baseCallback(iteratee, thisArg, 1), retHighest); 17 | }; 18 | } 19 | 20 | module.exports = createSortedIndex; 21 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/escapeHtmlChar.js: -------------------------------------------------------------------------------- 1 | /** Used to map characters to HTML entities. */ 2 | var htmlEscapes = { 3 | '&': '&', 4 | '<': '<', 5 | '>': '>', 6 | '"': '"', 7 | "'": ''', 8 | '`': '`' 9 | }; 10 | 11 | /** 12 | * Used by `_.escape` to convert characters to HTML entities. 13 | * 14 | * @private 15 | * @param {string} chr The matched character to escape. 16 | * @returns {string} Returns the escaped character. 17 | */ 18 | function escapeHtmlChar(chr) { 19 | return htmlEscapes[chr]; 20 | } 21 | 22 | module.exports = escapeHtmlChar; 23 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/escapeStringChar.js: -------------------------------------------------------------------------------- 1 | /** Used to escape characters for inclusion in compiled string literals. */ 2 | var stringEscapes = { 3 | '\\': '\\', 4 | "'": "'", 5 | '\n': 'n', 6 | '\r': 'r', 7 | '\u2028': 'u2028', 8 | '\u2029': 'u2029' 9 | }; 10 | 11 | /** 12 | * Used by `_.template` to escape characters for inclusion in compiled 13 | * string literals. 14 | * 15 | * @private 16 | * @param {string} chr The matched character to escape. 17 | * @returns {string} Returns the escaped character. 18 | */ 19 | function escapeStringChar(chr) { 20 | return '\\' + stringEscapes[chr]; 21 | } 22 | 23 | module.exports = escapeStringChar; 24 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/getData.js: -------------------------------------------------------------------------------- 1 | var metaMap = require('./metaMap'), 2 | noop = require('../utility/noop'); 3 | 4 | /** 5 | * Gets metadata for `func`. 6 | * 7 | * @private 8 | * @param {Function} func The function to query. 9 | * @returns {*} Returns the metadata for `func`. 10 | */ 11 | var getData = !metaMap ? noop : function(func) { 12 | return metaMap.get(func); 13 | }; 14 | 15 | module.exports = getData; 16 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/getLength.js: -------------------------------------------------------------------------------- 1 | var baseProperty = require('./baseProperty'); 2 | 3 | /** 4 | * Gets the "length" property value of `object`. 5 | * 6 | * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) 7 | * in Safari on iOS 8.1 ARM64. 8 | * 9 | * @private 10 | * @param {Object} object The object to query. 11 | * @returns {*} Returns the "length" value. 12 | */ 13 | var getLength = baseProperty('length'); 14 | 15 | module.exports = getLength; 16 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/getSymbols.js: -------------------------------------------------------------------------------- 1 | var constant = require('../utility/constant'), 2 | isNative = require('../lang/isNative'), 3 | toObject = require('./toObject'); 4 | 5 | /** Native method references. */ 6 | var getOwnPropertySymbols = isNative(getOwnPropertySymbols = Object.getOwnPropertySymbols) && getOwnPropertySymbols; 7 | 8 | /** 9 | * Creates an array of the own symbols of `object`. 10 | * 11 | * @private 12 | * @param {Object} object The object to query. 13 | * @returns {Array} Returns the array of symbols. 14 | */ 15 | var getSymbols = !getOwnPropertySymbols ? constant([]) : function(object) { 16 | return getOwnPropertySymbols(toObject(object)); 17 | }; 18 | 19 | module.exports = getSymbols; 20 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/indexOfNaN.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Gets the index at which the first occurrence of `NaN` is found in `array`. 3 | * 4 | * @private 5 | * @param {Array} array The array to search. 6 | * @param {number} fromIndex The index to search from. 7 | * @param {boolean} [fromRight] Specify iterating from right to left. 8 | * @returns {number} Returns the index of the matched `NaN`, else `-1`. 9 | */ 10 | function indexOfNaN(array, fromIndex, fromRight) { 11 | var length = array.length, 12 | index = fromIndex + (fromRight ? 0 : -1); 13 | 14 | while ((fromRight ? index-- : ++index < length)) { 15 | var other = array[index]; 16 | if (other !== other) { 17 | return index; 18 | } 19 | } 20 | return -1; 21 | } 22 | 23 | module.exports = indexOfNaN; 24 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/initCloneArray.js: -------------------------------------------------------------------------------- 1 | /** Used for native method references. */ 2 | var objectProto = Object.prototype; 3 | 4 | /** Used to check objects for own properties. */ 5 | var hasOwnProperty = objectProto.hasOwnProperty; 6 | 7 | /** 8 | * Initializes an array clone. 9 | * 10 | * @private 11 | * @param {Array} array The array to clone. 12 | * @returns {Array} Returns the initialized clone. 13 | */ 14 | function initCloneArray(array) { 15 | var length = array.length, 16 | result = new array.constructor(length); 17 | 18 | // Add array properties assigned by `RegExp#exec`. 19 | if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { 20 | result.index = array.index; 21 | result.input = array.input; 22 | } 23 | return result; 24 | } 25 | 26 | module.exports = initCloneArray; 27 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/initCloneObject.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Initializes an object clone. 3 | * 4 | * @private 5 | * @param {Object} object The object to clone. 6 | * @returns {Object} Returns the initialized clone. 7 | */ 8 | function initCloneObject(object) { 9 | var Ctor = object.constructor; 10 | if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) { 11 | Ctor = Object; 12 | } 13 | return new Ctor; 14 | } 15 | 16 | module.exports = initCloneObject; 17 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/isIndex.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Used as the [maximum length](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer) 3 | * of an array-like value. 4 | */ 5 | var MAX_SAFE_INTEGER = Math.pow(2, 53) - 1; 6 | 7 | /** 8 | * Checks if `value` is a valid array-like index. 9 | * 10 | * @private 11 | * @param {*} value The value to check. 12 | * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. 13 | * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. 14 | */ 15 | function isIndex(value, length) { 16 | value = +value; 17 | length = length == null ? MAX_SAFE_INTEGER : length; 18 | return value > -1 && value % 1 == 0 && value < length; 19 | } 20 | 21 | module.exports = isIndex; 22 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/isLaziable.js: -------------------------------------------------------------------------------- 1 | var LazyWrapper = require('./LazyWrapper'), 2 | getFuncName = require('./getFuncName'), 3 | lodash = require('../chain/lodash'); 4 | 5 | /** 6 | * Checks if `func` has a lazy counterpart. 7 | * 8 | * @private 9 | * @param {Function} func The function to check. 10 | * @returns {boolean} Returns `true` if `func` has a lazy counterpart, else `false`. 11 | */ 12 | function isLaziable(func) { 13 | var funcName = getFuncName(func); 14 | return !!funcName && func === lodash[funcName] && funcName in LazyWrapper.prototype; 15 | } 16 | 17 | module.exports = isLaziable; 18 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/isLength.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Used as the [maximum length](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer) 3 | * of an array-like value. 4 | */ 5 | var MAX_SAFE_INTEGER = Math.pow(2, 53) - 1; 6 | 7 | /** 8 | * Checks if `value` is a valid array-like length. 9 | * 10 | * **Note:** This function is based on [`ToLength`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength). 11 | * 12 | * @private 13 | * @param {*} value The value to check. 14 | * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. 15 | */ 16 | function isLength(value) { 17 | return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; 18 | } 19 | 20 | module.exports = isLength; 21 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/isObjectLike.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Checks if `value` is object-like. 3 | * 4 | * @private 5 | * @param {*} value The value to check. 6 | * @returns {boolean} Returns `true` if `value` is object-like, else `false`. 7 | */ 8 | function isObjectLike(value) { 9 | return !!value && typeof value == 'object'; 10 | } 11 | 12 | module.exports = isObjectLike; 13 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/isSpace.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Used by `trimmedLeftIndex` and `trimmedRightIndex` to determine if a 3 | * character code is whitespace. 4 | * 5 | * @private 6 | * @param {number} charCode The character code to inspect. 7 | * @returns {boolean} Returns `true` if `charCode` is whitespace, else `false`. 8 | */ 9 | function isSpace(charCode) { 10 | return ((charCode <= 160 && (charCode >= 9 && charCode <= 13) || charCode == 32 || charCode == 160) || charCode == 5760 || charCode == 6158 || 11 | (charCode >= 8192 && (charCode <= 8202 || charCode == 8232 || charCode == 8233 || charCode == 8239 || charCode == 8287 || charCode == 12288 || charCode == 65279))); 12 | } 13 | 14 | module.exports = isSpace; 15 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/isStrictComparable.js: -------------------------------------------------------------------------------- 1 | var isObject = require('../lang/isObject'); 2 | 3 | /** 4 | * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. 5 | * 6 | * @private 7 | * @param {*} value The value to check. 8 | * @returns {boolean} Returns `true` if `value` if suitable for strict 9 | * equality comparisons, else `false`. 10 | */ 11 | function isStrictComparable(value) { 12 | return value === value && (value === 0 ? ((1 / value) > 0) : !isObject(value)); 13 | } 14 | 15 | module.exports = isStrictComparable; 16 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/lazyReverse.js: -------------------------------------------------------------------------------- 1 | var LazyWrapper = require('./LazyWrapper'); 2 | 3 | /** 4 | * Reverses the direction of lazy iteration. 5 | * 6 | * @private 7 | * @name reverse 8 | * @memberOf LazyWrapper 9 | * @returns {Object} Returns the new reversed `LazyWrapper` object. 10 | */ 11 | function lazyReverse() { 12 | if (this.__filtered__) { 13 | var result = new LazyWrapper(this); 14 | result.__dir__ = -1; 15 | result.__filtered__ = true; 16 | } else { 17 | result = this.clone(); 18 | result.__dir__ *= -1; 19 | } 20 | return result; 21 | } 22 | 23 | module.exports = lazyReverse; 24 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/mapDelete.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Removes `key` and its value from the cache. 3 | * 4 | * @private 5 | * @name delete 6 | * @memberOf _.memoize.Cache 7 | * @param {string} key The key of the value to remove. 8 | * @returns {boolean} Returns `true` if the entry was removed successfully, else `false`. 9 | */ 10 | function mapDelete(key) { 11 | return this.has(key) && delete this.__data__[key]; 12 | } 13 | 14 | module.exports = mapDelete; 15 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/mapGet.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Gets the cached value for `key`. 3 | * 4 | * @private 5 | * @name get 6 | * @memberOf _.memoize.Cache 7 | * @param {string} key The key of the value to get. 8 | * @returns {*} Returns the cached value. 9 | */ 10 | function mapGet(key) { 11 | return key == '__proto__' ? undefined : this.__data__[key]; 12 | } 13 | 14 | module.exports = mapGet; 15 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/mapHas.js: -------------------------------------------------------------------------------- 1 | /** Used for native method references. */ 2 | var objectProto = Object.prototype; 3 | 4 | /** Used to check objects for own properties. */ 5 | var hasOwnProperty = objectProto.hasOwnProperty; 6 | 7 | /** 8 | * Checks if a cached value for `key` exists. 9 | * 10 | * @private 11 | * @name has 12 | * @memberOf _.memoize.Cache 13 | * @param {string} key The key of the entry to check. 14 | * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 15 | */ 16 | function mapHas(key) { 17 | return key != '__proto__' && hasOwnProperty.call(this.__data__, key); 18 | } 19 | 20 | module.exports = mapHas; 21 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/mapSet.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Sets `value` to `key` of the cache. 3 | * 4 | * @private 5 | * @name set 6 | * @memberOf _.memoize.Cache 7 | * @param {string} key The key of the value to cache. 8 | * @param {*} value The value to cache. 9 | * @returns {Object} Returns the cache object. 10 | */ 11 | function mapSet(key, value) { 12 | if (key != '__proto__') { 13 | this.__data__[key] = value; 14 | } 15 | return this; 16 | } 17 | 18 | module.exports = mapSet; 19 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/metaMap.js: -------------------------------------------------------------------------------- 1 | var isNative = require('../lang/isNative'); 2 | 3 | /** Native method references. */ 4 | var WeakMap = isNative(WeakMap = global.WeakMap) && WeakMap; 5 | 6 | /** Used to store function metadata. */ 7 | var metaMap = WeakMap && new WeakMap; 8 | 9 | module.exports = metaMap; 10 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/pickByArray.js: -------------------------------------------------------------------------------- 1 | var toObject = require('./toObject'); 2 | 3 | /** 4 | * A specialized version of `_.pick` that picks `object` properties specified 5 | * by `props`. 6 | * 7 | * @private 8 | * @param {Object} object The source object. 9 | * @param {string[]} props The property names to pick. 10 | * @returns {Object} Returns the new object. 11 | */ 12 | function pickByArray(object, props) { 13 | object = toObject(object); 14 | 15 | var index = -1, 16 | length = props.length, 17 | result = {}; 18 | 19 | while (++index < length) { 20 | var key = props[index]; 21 | if (key in object) { 22 | result[key] = object[key]; 23 | } 24 | } 25 | return result; 26 | } 27 | 28 | module.exports = pickByArray; 29 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/pickByCallback.js: -------------------------------------------------------------------------------- 1 | var baseForIn = require('./baseForIn'); 2 | 3 | /** 4 | * A specialized version of `_.pick` that picks `object` properties `predicate` 5 | * returns truthy for. 6 | * 7 | * @private 8 | * @param {Object} object The source object. 9 | * @param {Function} predicate The function invoked per iteration. 10 | * @returns {Object} Returns the new object. 11 | */ 12 | function pickByCallback(object, predicate) { 13 | var result = {}; 14 | baseForIn(object, function(value, key, object) { 15 | if (predicate(value, key, object)) { 16 | result[key] = value; 17 | } 18 | }); 19 | return result; 20 | } 21 | 22 | module.exports = pickByCallback; 23 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/reEscape.js: -------------------------------------------------------------------------------- 1 | /** Used to match template delimiters. */ 2 | var reEscape = /<%-([\s\S]+?)%>/g; 3 | 4 | module.exports = reEscape; 5 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/reEvaluate.js: -------------------------------------------------------------------------------- 1 | /** Used to match template delimiters. */ 2 | var reEvaluate = /<%([\s\S]+?)%>/g; 3 | 4 | module.exports = reEvaluate; 5 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/reInterpolate.js: -------------------------------------------------------------------------------- 1 | /** Used to match template delimiters. */ 2 | var reInterpolate = /<%=([\s\S]+?)%>/g; 3 | 4 | module.exports = reInterpolate; 5 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/realNames.js: -------------------------------------------------------------------------------- 1 | /** Used to lookup unminified function names. */ 2 | var realNames = {}; 3 | 4 | module.exports = realNames; 5 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/replaceHolders.js: -------------------------------------------------------------------------------- 1 | /** Used as the internal argument placeholder. */ 2 | var PLACEHOLDER = '__lodash_placeholder__'; 3 | 4 | /** 5 | * Replaces all `placeholder` elements in `array` with an internal placeholder 6 | * and returns an array of their indexes. 7 | * 8 | * @private 9 | * @param {Array} array The array to modify. 10 | * @param {*} placeholder The placeholder to replace. 11 | * @returns {Array} Returns the new array of placeholder indexes. 12 | */ 13 | function replaceHolders(array, placeholder) { 14 | var index = -1, 15 | length = array.length, 16 | resIndex = -1, 17 | result = []; 18 | 19 | while (++index < length) { 20 | if (array[index] === placeholder) { 21 | array[index] = PLACEHOLDER; 22 | result[++resIndex] = index; 23 | } 24 | } 25 | return result; 26 | } 27 | 28 | module.exports = replaceHolders; 29 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/sortedUniq.js: -------------------------------------------------------------------------------- 1 | /** 2 | * An implementation of `_.uniq` optimized for sorted arrays without support 3 | * for callback shorthands and `this` binding. 4 | * 5 | * @private 6 | * @param {Array} array The array to inspect. 7 | * @param {Function} [iteratee] The function invoked per iteration. 8 | * @returns {Array} Returns the new duplicate-value-free array. 9 | */ 10 | function sortedUniq(array, iteratee) { 11 | var seen, 12 | index = -1, 13 | length = array.length, 14 | resIndex = -1, 15 | result = []; 16 | 17 | while (++index < length) { 18 | var value = array[index], 19 | computed = iteratee ? iteratee(value, index, array) : value; 20 | 21 | if (!index || seen !== computed) { 22 | seen = computed; 23 | result[++resIndex] = value; 24 | } 25 | } 26 | return result; 27 | } 28 | 29 | module.exports = sortedUniq; 30 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/toIterable.js: -------------------------------------------------------------------------------- 1 | var getLength = require('./getLength'), 2 | isLength = require('./isLength'), 3 | isObject = require('../lang/isObject'), 4 | values = require('../object/values'); 5 | 6 | /** 7 | * Converts `value` to an array-like object if it is not one. 8 | * 9 | * @private 10 | * @param {*} value The value to process. 11 | * @returns {Array|Object} Returns the array-like object. 12 | */ 13 | function toIterable(value) { 14 | if (value == null) { 15 | return []; 16 | } 17 | if (!isLength(getLength(value))) { 18 | return values(value); 19 | } 20 | return isObject(value) ? value : Object(value); 21 | } 22 | 23 | module.exports = toIterable; 24 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/toObject.js: -------------------------------------------------------------------------------- 1 | var isObject = require('../lang/isObject'); 2 | 3 | /** 4 | * Converts `value` to an object if it is not one. 5 | * 6 | * @private 7 | * @param {*} value The value to process. 8 | * @returns {Object} Returns the object. 9 | */ 10 | function toObject(value) { 11 | return isObject(value) ? value : Object(value); 12 | } 13 | 14 | module.exports = toObject; 15 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/trimmedLeftIndex.js: -------------------------------------------------------------------------------- 1 | var isSpace = require('./isSpace'); 2 | 3 | /** 4 | * Used by `_.trim` and `_.trimLeft` to get the index of the first non-whitespace 5 | * character of `string`. 6 | * 7 | * @private 8 | * @param {string} string The string to inspect. 9 | * @returns {number} Returns the index of the first non-whitespace character. 10 | */ 11 | function trimmedLeftIndex(string) { 12 | var index = -1, 13 | length = string.length; 14 | 15 | while (++index < length && isSpace(string.charCodeAt(index))) {} 16 | return index; 17 | } 18 | 19 | module.exports = trimmedLeftIndex; 20 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/trimmedRightIndex.js: -------------------------------------------------------------------------------- 1 | var isSpace = require('./isSpace'); 2 | 3 | /** 4 | * Used by `_.trim` and `_.trimRight` to get the index of the last non-whitespace 5 | * character of `string`. 6 | * 7 | * @private 8 | * @param {string} string The string to inspect. 9 | * @returns {number} Returns the index of the last non-whitespace character. 10 | */ 11 | function trimmedRightIndex(string) { 12 | var index = string.length; 13 | 14 | while (index-- && isSpace(string.charCodeAt(index))) {} 15 | return index; 16 | } 17 | 18 | module.exports = trimmedRightIndex; 19 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/unescapeHtmlChar.js: -------------------------------------------------------------------------------- 1 | /** Used to map HTML entities to characters. */ 2 | var htmlUnescapes = { 3 | '&': '&', 4 | '<': '<', 5 | '>': '>', 6 | '"': '"', 7 | ''': "'", 8 | '`': '`' 9 | }; 10 | 11 | /** 12 | * Used by `_.unescape` to convert HTML entities to characters. 13 | * 14 | * @private 15 | * @param {string} chr The matched character to unescape. 16 | * @returns {string} Returns the unescaped character. 17 | */ 18 | function unescapeHtmlChar(chr) { 19 | return htmlUnescapes[chr]; 20 | } 21 | 22 | module.exports = unescapeHtmlChar; 23 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/internal/wrapperClone.js: -------------------------------------------------------------------------------- 1 | var LazyWrapper = require('./LazyWrapper'), 2 | LodashWrapper = require('./LodashWrapper'), 3 | arrayCopy = require('./arrayCopy'); 4 | 5 | /** 6 | * Creates a clone of `wrapper`. 7 | * 8 | * @private 9 | * @param {Object} wrapper The wrapper to clone. 10 | * @returns {Object} Returns the cloned wrapper. 11 | */ 12 | function wrapperClone(wrapper) { 13 | return wrapper instanceof LazyWrapper 14 | ? wrapper.clone() 15 | : new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__, arrayCopy(wrapper.__actions__)); 16 | } 17 | 18 | module.exports = wrapperClone; 19 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/lang/isNull.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Checks if `value` is `null`. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @category Lang 7 | * @param {*} value The value to check. 8 | * @returns {boolean} Returns `true` if `value` is `null`, else `false`. 9 | * @example 10 | * 11 | * _.isNull(null); 12 | * // => true 13 | * 14 | * _.isNull(void 0); 15 | * // => false 16 | */ 17 | function isNull(value) { 18 | return value === null; 19 | } 20 | 21 | module.exports = isNull; 22 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/lang/isObject.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`. 3 | * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) 4 | * 5 | * @static 6 | * @memberOf _ 7 | * @category Lang 8 | * @param {*} value The value to check. 9 | * @returns {boolean} Returns `true` if `value` is an object, else `false`. 10 | * @example 11 | * 12 | * _.isObject({}); 13 | * // => true 14 | * 15 | * _.isObject([1, 2, 3]); 16 | * // => true 17 | * 18 | * _.isObject(1); 19 | * // => false 20 | */ 21 | function isObject(value) { 22 | // Avoid a V8 JIT bug in Chrome 19-20. 23 | // See https://code.google.com/p/v8/issues/detail?id=2291 for more details. 24 | var type = typeof value; 25 | return type == 'function' || (!!value && type == 'object'); 26 | } 27 | 28 | module.exports = isObject; 29 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/lang/isUndefined.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Checks if `value` is `undefined`. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @category Lang 7 | * @param {*} value The value to check. 8 | * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. 9 | * @example 10 | * 11 | * _.isUndefined(void 0); 12 | * // => true 13 | * 14 | * _.isUndefined(null); 15 | * // => false 16 | */ 17 | function isUndefined(value) { 18 | return value === undefined; 19 | } 20 | 21 | module.exports = isUndefined; 22 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/lang/toArray.js: -------------------------------------------------------------------------------- 1 | var arrayCopy = require('../internal/arrayCopy'), 2 | getLength = require('../internal/getLength'), 3 | isLength = require('../internal/isLength'), 4 | values = require('../object/values'); 5 | 6 | /** 7 | * Converts `value` to an array. 8 | * 9 | * @static 10 | * @memberOf _ 11 | * @category Lang 12 | * @param {*} value The value to convert. 13 | * @returns {Array} Returns the converted array. 14 | * @example 15 | * 16 | * (function() { 17 | * return _.toArray(arguments).slice(1); 18 | * }(1, 2, 3)); 19 | * // => [2, 3] 20 | */ 21 | function toArray(value) { 22 | var length = value ? getLength(value) : 0; 23 | if (!isLength(length)) { 24 | return values(value); 25 | } 26 | if (!length) { 27 | return []; 28 | } 29 | return arrayCopy(value); 30 | } 31 | 32 | module.exports = toArray; 33 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/lang/toPlainObject.js: -------------------------------------------------------------------------------- 1 | var baseCopy = require('../internal/baseCopy'), 2 | keysIn = require('../object/keysIn'); 3 | 4 | /** 5 | * Converts `value` to a plain object flattening inherited enumerable 6 | * properties of `value` to own properties of the plain object. 7 | * 8 | * @static 9 | * @memberOf _ 10 | * @category Lang 11 | * @param {*} value The value to convert. 12 | * @returns {Object} Returns the converted plain object. 13 | * @example 14 | * 15 | * function Foo() { 16 | * this.b = 2; 17 | * } 18 | * 19 | * Foo.prototype.c = 3; 20 | * 21 | * _.assign({ 'a': 1 }, new Foo); 22 | * // => { 'a': 1, 'b': 2 } 23 | * 24 | * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); 25 | * // => { 'a': 1, 'b': 2, 'c': 3 } 26 | */ 27 | function toPlainObject(value) { 28 | return baseCopy(value, keysIn(value)); 29 | } 30 | 31 | module.exports = toPlainObject; 32 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/math.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 'add': require('./math/add'), 3 | 'max': require('./math/max'), 4 | 'min': require('./math/min'), 5 | 'sum': require('./math/sum') 6 | }; 7 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/math/add.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Adds two numbers. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @category Math 7 | * @param {number} augend The first number to add. 8 | * @param {number} addend The second number to add. 9 | * @returns {number} Returns the sum. 10 | * @example 11 | * 12 | * _.add(6, 4); 13 | * // => 10 14 | */ 15 | function add(augend, addend) { 16 | return (+augend || 0) + (+addend || 0); 17 | } 18 | 19 | module.exports = add; 20 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/number.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 'inRange': require('./number/inRange'), 3 | 'random': require('./number/random') 4 | }; 5 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/object/extend.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./assign'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/object/functions.js: -------------------------------------------------------------------------------- 1 | var baseFunctions = require('../internal/baseFunctions'), 2 | keysIn = require('./keysIn'); 3 | 4 | /** 5 | * Creates an array of function property names from all enumerable properties, 6 | * own and inherited, of `object`. 7 | * 8 | * @static 9 | * @memberOf _ 10 | * @alias methods 11 | * @category Object 12 | * @param {Object} object The object to inspect. 13 | * @returns {Array} Returns the new array of property names. 14 | * @example 15 | * 16 | * _.functions(_); 17 | * // => ['after', 'ary', 'assign', ...] 18 | */ 19 | function functions(object) { 20 | return baseFunctions(object, keysIn(object)); 21 | } 22 | 23 | module.exports = functions; 24 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/object/methods.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./functions'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/object/pairs.js: -------------------------------------------------------------------------------- 1 | var keys = require('./keys'); 2 | 3 | /** 4 | * Creates a two dimensional array of the key-value pairs for `object`, 5 | * e.g. `[[key1, value1], [key2, value2]]`. 6 | * 7 | * @static 8 | * @memberOf _ 9 | * @category Object 10 | * @param {Object} object The object to query. 11 | * @returns {Array} Returns the new array of key-value pairs. 12 | * @example 13 | * 14 | * _.pairs({ 'barney': 36, 'fred': 40 }); 15 | * // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed) 16 | */ 17 | function pairs(object) { 18 | var index = -1, 19 | props = keys(object), 20 | length = props.length, 21 | result = Array(length); 22 | 23 | while (++index < length) { 24 | var key = props[index]; 25 | result[index] = [key, object[key]]; 26 | } 27 | return result; 28 | } 29 | 30 | module.exports = pairs; 31 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/object/values.js: -------------------------------------------------------------------------------- 1 | var baseValues = require('../internal/baseValues'), 2 | keys = require('./keys'); 3 | 4 | /** 5 | * Creates an array of the own enumerable property values of `object`. 6 | * 7 | * **Note:** Non-object values are coerced to objects. 8 | * 9 | * @static 10 | * @memberOf _ 11 | * @category Object 12 | * @param {Object} object The object to query. 13 | * @returns {Array} Returns the array of property values. 14 | * @example 15 | * 16 | * function Foo() { 17 | * this.a = 1; 18 | * this.b = 2; 19 | * } 20 | * 21 | * Foo.prototype.c = 3; 22 | * 23 | * _.values(new Foo); 24 | * // => [1, 2] (iteration order is not guaranteed) 25 | * 26 | * _.values('hi'); 27 | * // => ['h', 'i'] 28 | */ 29 | function values(object) { 30 | return baseValues(object, keys(object)); 31 | } 32 | 33 | module.exports = values; 34 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/object/valuesIn.js: -------------------------------------------------------------------------------- 1 | var baseValues = require('../internal/baseValues'), 2 | keysIn = require('./keysIn'); 3 | 4 | /** 5 | * Creates an array of the own and inherited enumerable property values 6 | * of `object`. 7 | * 8 | * **Note:** Non-object values are coerced to objects. 9 | * 10 | * @static 11 | * @memberOf _ 12 | * @category Object 13 | * @param {Object} object The object to query. 14 | * @returns {Array} Returns the array of property values. 15 | * @example 16 | * 17 | * function Foo() { 18 | * this.a = 1; 19 | * this.b = 2; 20 | * } 21 | * 22 | * Foo.prototype.c = 3; 23 | * 24 | * _.valuesIn(new Foo); 25 | * // => [1, 2, 3] (iteration order is not guaranteed) 26 | */ 27 | function valuesIn(object) { 28 | return baseValues(object, keysIn(object)); 29 | } 30 | 31 | module.exports = valuesIn; 32 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/string/camelCase.js: -------------------------------------------------------------------------------- 1 | var createCompounder = require('../internal/createCompounder'); 2 | 3 | /** 4 | * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). 5 | * 6 | * @static 7 | * @memberOf _ 8 | * @category String 9 | * @param {string} [string=''] The string to convert. 10 | * @returns {string} Returns the camel cased string. 11 | * @example 12 | * 13 | * _.camelCase('Foo Bar'); 14 | * // => 'fooBar' 15 | * 16 | * _.camelCase('--foo-bar'); 17 | * // => 'fooBar' 18 | * 19 | * _.camelCase('__foo_bar__'); 20 | * // => 'fooBar' 21 | */ 22 | var camelCase = createCompounder(function(result, word, index) { 23 | word = word.toLowerCase(); 24 | return result + (index ? (word.charAt(0).toUpperCase() + word.slice(1)) : word); 25 | }); 26 | 27 | module.exports = camelCase; 28 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/string/capitalize.js: -------------------------------------------------------------------------------- 1 | var baseToString = require('../internal/baseToString'); 2 | 3 | /** 4 | * Capitalizes the first character of `string`. 5 | * 6 | * @static 7 | * @memberOf _ 8 | * @category String 9 | * @param {string} [string=''] The string to capitalize. 10 | * @returns {string} Returns the capitalized string. 11 | * @example 12 | * 13 | * _.capitalize('fred'); 14 | * // => 'Fred' 15 | */ 16 | function capitalize(string) { 17 | string = baseToString(string); 18 | return string && (string.charAt(0).toUpperCase() + string.slice(1)); 19 | } 20 | 21 | module.exports = capitalize; 22 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/string/kebabCase.js: -------------------------------------------------------------------------------- 1 | var createCompounder = require('../internal/createCompounder'); 2 | 3 | /** 4 | * Converts `string` to [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). 5 | * 6 | * @static 7 | * @memberOf _ 8 | * @category String 9 | * @param {string} [string=''] The string to convert. 10 | * @returns {string} Returns the kebab cased string. 11 | * @example 12 | * 13 | * _.kebabCase('Foo Bar'); 14 | * // => 'foo-bar' 15 | * 16 | * _.kebabCase('fooBar'); 17 | * // => 'foo-bar' 18 | * 19 | * _.kebabCase('__foo_bar__'); 20 | * // => 'foo-bar' 21 | */ 22 | var kebabCase = createCompounder(function(result, word, index) { 23 | return result + (index ? '-' : '') + word.toLowerCase(); 24 | }); 25 | 26 | module.exports = kebabCase; 27 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/string/padLeft.js: -------------------------------------------------------------------------------- 1 | var createPadDir = require('../internal/createPadDir'); 2 | 3 | /** 4 | * Pads `string` on the left side if it is shorter than `length`. Padding 5 | * characters are truncated if they exceed `length`. 6 | * 7 | * @static 8 | * @memberOf _ 9 | * @category String 10 | * @param {string} [string=''] The string to pad. 11 | * @param {number} [length=0] The padding length. 12 | * @param {string} [chars=' '] The string used as padding. 13 | * @returns {string} Returns the padded string. 14 | * @example 15 | * 16 | * _.padLeft('abc', 6); 17 | * // => ' abc' 18 | * 19 | * _.padLeft('abc', 6, '_-'); 20 | * // => '_-_abc' 21 | * 22 | * _.padLeft('abc', 3); 23 | * // => 'abc' 24 | */ 25 | var padLeft = createPadDir(); 26 | 27 | module.exports = padLeft; 28 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/string/padRight.js: -------------------------------------------------------------------------------- 1 | var createPadDir = require('../internal/createPadDir'); 2 | 3 | /** 4 | * Pads `string` on the right side if it is shorter than `length`. Padding 5 | * characters are truncated if they exceed `length`. 6 | * 7 | * @static 8 | * @memberOf _ 9 | * @category String 10 | * @param {string} [string=''] The string to pad. 11 | * @param {number} [length=0] The padding length. 12 | * @param {string} [chars=' '] The string used as padding. 13 | * @returns {string} Returns the padded string. 14 | * @example 15 | * 16 | * _.padRight('abc', 6); 17 | * // => 'abc ' 18 | * 19 | * _.padRight('abc', 6, '_-'); 20 | * // => 'abc_-_' 21 | * 22 | * _.padRight('abc', 3); 23 | * // => 'abc' 24 | */ 25 | var padRight = createPadDir(true); 26 | 27 | module.exports = padRight; 28 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/string/snakeCase.js: -------------------------------------------------------------------------------- 1 | var createCompounder = require('../internal/createCompounder'); 2 | 3 | /** 4 | * Converts `string` to [snake case](https://en.wikipedia.org/wiki/Snake_case). 5 | * 6 | * @static 7 | * @memberOf _ 8 | * @category String 9 | * @param {string} [string=''] The string to convert. 10 | * @returns {string} Returns the snake cased string. 11 | * @example 12 | * 13 | * _.snakeCase('Foo Bar'); 14 | * // => 'foo_bar' 15 | * 16 | * _.snakeCase('fooBar'); 17 | * // => 'foo_bar' 18 | * 19 | * _.snakeCase('--foo-bar'); 20 | * // => 'foo_bar' 21 | */ 22 | var snakeCase = createCompounder(function(result, word, index) { 23 | return result + (index ? '_' : '') + word.toLowerCase(); 24 | }); 25 | 26 | module.exports = snakeCase; 27 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/string/startCase.js: -------------------------------------------------------------------------------- 1 | var createCompounder = require('../internal/createCompounder'); 2 | 3 | /** 4 | * Converts `string` to [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). 5 | * 6 | * @static 7 | * @memberOf _ 8 | * @category String 9 | * @param {string} [string=''] The string to convert. 10 | * @returns {string} Returns the start cased string. 11 | * @example 12 | * 13 | * _.startCase('--foo-bar'); 14 | * // => 'Foo Bar' 15 | * 16 | * _.startCase('fooBar'); 17 | * // => 'Foo Bar' 18 | * 19 | * _.startCase('__foo_bar__'); 20 | * // => 'Foo Bar' 21 | */ 22 | var startCase = createCompounder(function(result, word, index) { 23 | return result + (index ? ' ' : '') + (word.charAt(0).toUpperCase() + word.slice(1)); 24 | }); 25 | 26 | module.exports = startCase; 27 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/utility.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 'attempt': require('./utility/attempt'), 3 | 'callback': require('./utility/callback'), 4 | 'constant': require('./utility/constant'), 5 | 'identity': require('./utility/identity'), 6 | 'iteratee': require('./utility/iteratee'), 7 | 'matches': require('./utility/matches'), 8 | 'matchesProperty': require('./utility/matchesProperty'), 9 | 'method': require('./utility/method'), 10 | 'methodOf': require('./utility/methodOf'), 11 | 'mixin': require('./utility/mixin'), 12 | 'noop': require('./utility/noop'), 13 | 'property': require('./utility/property'), 14 | 'propertyOf': require('./utility/propertyOf'), 15 | 'range': require('./utility/range'), 16 | 'times': require('./utility/times'), 17 | 'uniqueId': require('./utility/uniqueId') 18 | }; 19 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/utility/constant.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Creates a function that returns `value`. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @category Utility 7 | * @param {*} value The value to return from the new function. 8 | * @returns {Function} Returns the new function. 9 | * @example 10 | * 11 | * var object = { 'user': 'fred' }; 12 | * var getter = _.constant(object); 13 | * 14 | * getter() === object; 15 | * // => true 16 | */ 17 | function constant(value) { 18 | return function() { 19 | return value; 20 | }; 21 | } 22 | 23 | module.exports = constant; 24 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/utility/identity.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This method returns the first argument provided to it. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @category Utility 7 | * @param {*} value Any value. 8 | * @returns {*} Returns `value`. 9 | * @example 10 | * 11 | * var object = { 'user': 'fred' }; 12 | * 13 | * _.identity(object) === object; 14 | * // => true 15 | */ 16 | function identity(value) { 17 | return value; 18 | } 19 | 20 | module.exports = identity; 21 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/utility/iteratee.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./callback'); 2 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/utility/noop.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A no-operation function which returns `undefined` regardless of the 3 | * arguments it receives. 4 | * 5 | * @static 6 | * @memberOf _ 7 | * @category Utility 8 | * @example 9 | * 10 | * var object = { 'user': 'fred' }; 11 | * 12 | * _.noop(object) === undefined; 13 | * // => true 14 | */ 15 | function noop() { 16 | // No operation performed. 17 | } 18 | 19 | module.exports = noop; 20 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/lodash/utility/uniqueId.js: -------------------------------------------------------------------------------- 1 | var baseToString = require('../internal/baseToString'); 2 | 3 | /** Used to generate unique IDs. */ 4 | var idCounter = 0; 5 | 6 | /** 7 | * Generates a unique ID. If `prefix` is provided the ID is appended to it. 8 | * 9 | * @static 10 | * @memberOf _ 11 | * @category Utility 12 | * @param {string} [prefix] The value to prefix the ID with. 13 | * @returns {string} Returns the unique ID. 14 | * @example 15 | * 16 | * _.uniqueId('contact_'); 17 | * // => 'contact_104' 18 | * 19 | * _.uniqueId(); 20 | * // => '105' 21 | */ 22 | function uniqueId(prefix) { 23 | var id = ++idCounter; 24 | return baseToString(prefix) + id; 25 | } 26 | 27 | module.exports = uniqueId; 28 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/path-is-absolute/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | function posix(path) { 4 | return path.charAt(0) === '/'; 5 | }; 6 | 7 | function win32(path) { 8 | // https://github.com/joyent/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56 9 | var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; 10 | var result = splitDeviceRe.exec(path); 11 | var device = result[1] || ''; 12 | var isUnc = !!device && device.charAt(1) !== ':'; 13 | 14 | // UNC paths are always absolute 15 | return !!result[2] || isUnc; 16 | }; 17 | 18 | module.exports = process.platform === 'win32' ? win32 : posix; 19 | module.exports.posix = posix; 20 | module.exports.win32 = win32; 21 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/source-map/.gitattributes: -------------------------------------------------------------------------------- 1 | bench/scalajs-runtime-sourcemap.js binary -------------------------------------------------------------------------------- /node_modules/babel/node_modules/source-map/.npmignore: -------------------------------------------------------------------------------- 1 | bench/ 2 | test/ 3 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/source-map/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | - "0.10" -------------------------------------------------------------------------------- /node_modules/babel/node_modules/source-map/build/prefix-source-map.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | 8 | /* 9 | * WARNING! 10 | * 11 | * Do not edit this file directly, it is built from the sources at 12 | * https://github.com/mozilla/source-map/ 13 | */ 14 | 15 | /////////////////////////////////////////////////////////////////////////////// 16 | 17 | 18 | this.EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ]; 19 | 20 | Components.utils.import('resource://gre/modules/devtools/Require.jsm'); 21 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/source-map/build/prefix-utils.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | 8 | /* 9 | * WARNING! 10 | * 11 | * Do not edit this file directly, it is built from the sources at 12 | * https://github.com/mozilla/source-map/ 13 | */ 14 | 15 | Components.utils.import('resource://gre/modules/devtools/Require.jsm'); 16 | Components.utils.import('resource://gre/modules/devtools/SourceMap.jsm'); 17 | 18 | this.EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ]; 19 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/source-map/build/suffix-browser.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /////////////////////////////////////////////////////////////////////////////// 3 | 4 | this.sourceMap = { 5 | SourceMapConsumer: require('source-map/source-map-consumer').SourceMapConsumer, 6 | SourceMapGenerator: require('source-map/source-map-generator').SourceMapGenerator, 7 | SourceNode: require('source-map/source-node').SourceNode 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/source-map/build/suffix-source-map.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /////////////////////////////////////////////////////////////////////////////// 3 | 4 | this.SourceMapConsumer = require('source-map/source-map-consumer').SourceMapConsumer; 5 | this.SourceMapGenerator = require('source-map/source-map-generator').SourceMapGenerator; 6 | this.SourceNode = require('source-map/source-node').SourceNode; 7 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/source-map/build/suffix-utils.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | function runSourceMapTests(modName, do_throw) { 8 | let mod = require(modName); 9 | let assert = require('test/source-map/assert'); 10 | let util = require('test/source-map/util'); 11 | 12 | assert.init(do_throw); 13 | 14 | for (let k in mod) { 15 | if (/^test/.test(k)) { 16 | mod[k](assert, util); 17 | } 18 | } 19 | 20 | } 21 | this.runSourceMapTests = runSourceMapTests; 22 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/source-map/build/test-prefix.js: -------------------------------------------------------------------------------- 1 | /* 2 | * WARNING! 3 | * 4 | * Do not edit this file directly, it is built from the sources at 5 | * https://github.com/mozilla/source-map/ 6 | */ 7 | 8 | Components.utils.import('resource://test/Utils.jsm'); 9 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/source-map/build/test-suffix.js: -------------------------------------------------------------------------------- 1 | function run_test() { 2 | runSourceMapTests('{THIS_MODULE}', do_throw); 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/babel/node_modules/source-map/lib/source-map.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2009-2011 Mozilla Foundation and contributors 3 | * Licensed under the New BSD license. See LICENSE.txt or: 4 | * http://opensource.org/licenses/BSD-3-Clause 5 | */ 6 | exports.SourceMapGenerator = require('./source-map/source-map-generator').SourceMapGenerator; 7 | exports.SourceMapConsumer = require('./source-map/source-map-consumer').SourceMapConsumer; 8 | exports.SourceNode = require('./source-map/source-node').SourceNode; 9 | -------------------------------------------------------------------------------- /node_modules/babel/polyfill.js: -------------------------------------------------------------------------------- 1 | module.exports = require("babel-core/polyfill"); 2 | -------------------------------------------------------------------------------- /node_modules/babel/register.js: -------------------------------------------------------------------------------- 1 | module.exports = require("babel-core/register"); 2 | -------------------------------------------------------------------------------- /node_modules/mocha/README.md: -------------------------------------------------------------------------------- 1 | [![Build Status](https://api.travis-ci.org/mochajs/mocha.svg?branch=master)](http://travis-ci.org/mochajs/mocha) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mochajs/mocha?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 2 | 3 | [![Mocha test framework](http://f.cl.ly/items/3l1k0n2A1U3M1I1L210p/Screen%20Shot%202012-02-24%20at%202.21.43%20PM.png)](http://mochajs.org) 4 | 5 | Mocha is a simple, flexible, fun JavaScript test framework for node.js and the browser. For more information view the [documentation](http://mochajs.org). 6 | 7 | ## Links 8 | 9 | - [Google Group](http://groups.google.com/group/mochajs) 10 | - [Wiki](https://github.com/mochajs/mocha/wiki) 11 | - Mocha [Extensions and reporters](https://github.com/mochajs/mocha/wiki) 12 | -------------------------------------------------------------------------------- /node_modules/mocha/bin/options.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Dependencies. 3 | */ 4 | 5 | var fs = require('fs'); 6 | 7 | /** 8 | * Export `getOptions`. 9 | */ 10 | 11 | module.exports = getOptions; 12 | 13 | /** 14 | * Get options. 15 | */ 16 | 17 | function getOptions() { 18 | var optsPath = process.argv.indexOf('--opts') !== -1 19 | ? process.argv[process.argv.indexOf('--opts') + 1] 20 | : 'test/mocha.opts'; 21 | 22 | try { 23 | var opts = fs.readFileSync(optsPath, 'utf8') 24 | .trim() 25 | .split(/\s+/) 26 | .filter(function(value) { 27 | return value ? true : false; 28 | }); 29 | 30 | process.argv = process.argv 31 | .slice(0, 2) 32 | .concat(opts.concat(process.argv.slice(2))); 33 | } catch (err) { 34 | // ignore 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /node_modules/mocha/images/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdibaiee/harmony-algorithms/3b5868100f7c662dc73b3a0ee335f9f470184fd9/node_modules/mocha/images/error.png -------------------------------------------------------------------------------- /node_modules/mocha/images/ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdibaiee/harmony-algorithms/3b5868100f7c662dc73b3a0ee335f9f470184fd9/node_modules/mocha/images/ok.png -------------------------------------------------------------------------------- /node_modules/mocha/index.js: -------------------------------------------------------------------------------- 1 | module.exports = process.env.COV 2 | ? require('./lib-cov/mocha') 3 | : require('./lib/mocha'); 4 | -------------------------------------------------------------------------------- /node_modules/mocha/lib/browser/debug.js: -------------------------------------------------------------------------------- 1 | module.exports = function(type){ 2 | return function(){ 3 | } 4 | }; 5 | -------------------------------------------------------------------------------- /node_modules/mocha/lib/browser/escape-string-regexp.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; 4 | 5 | module.exports = function (str) { 6 | if (typeof str !== 'string') { 7 | throw new TypeError('Expected a string'); 8 | } 9 | 10 | return str.replace(matchOperatorsRe, '\\$&'); 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/mocha/lib/browser/fs.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdibaiee/harmony-algorithms/3b5868100f7c662dc73b3a0ee335f9f470184fd9/node_modules/mocha/lib/browser/fs.js -------------------------------------------------------------------------------- /node_modules/mocha/lib/browser/glob.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdibaiee/harmony-algorithms/3b5868100f7c662dc73b3a0ee335f9f470184fd9/node_modules/mocha/lib/browser/glob.js -------------------------------------------------------------------------------- /node_modules/mocha/lib/browser/path.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdibaiee/harmony-algorithms/3b5868100f7c662dc73b3a0ee335f9f470184fd9/node_modules/mocha/lib/browser/path.js -------------------------------------------------------------------------------- /node_modules/mocha/lib/browser/tty.js: -------------------------------------------------------------------------------- 1 | exports.isatty = function(){ 2 | return true; 3 | }; 4 | 5 | exports.getWindowSize = function(){ 6 | if ('innerHeight' in global) { 7 | return [global.innerHeight, global.innerWidth]; 8 | } else { 9 | // In a Web Worker, the DOM Window is not available. 10 | return [640, 480]; 11 | } 12 | }; 13 | -------------------------------------------------------------------------------- /node_modules/mocha/lib/interfaces/index.js: -------------------------------------------------------------------------------- 1 | exports.bdd = require('./bdd'); 2 | exports.tdd = require('./tdd'); 3 | exports.qunit = require('./qunit'); 4 | exports.exports = require('./exports'); 5 | -------------------------------------------------------------------------------- /node_modules/mocha/lib/pending.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Expose `Pending`. 4 | */ 5 | 6 | module.exports = Pending; 7 | 8 | /** 9 | * Initialize a new `Pending` error with the given message. 10 | * 11 | * @param {String} message 12 | */ 13 | 14 | function Pending(message) { 15 | this.message = message; 16 | } 17 | -------------------------------------------------------------------------------- /node_modules/mocha/lib/reporters/index.js: -------------------------------------------------------------------------------- 1 | exports.Base = require('./base'); 2 | exports.Dot = require('./dot'); 3 | exports.Doc = require('./doc'); 4 | exports.TAP = require('./tap'); 5 | exports.JSON = require('./json'); 6 | exports.HTML = require('./html'); 7 | exports.List = require('./list'); 8 | exports.Min = require('./min'); 9 | exports.Spec = require('./spec'); 10 | exports.Nyan = require('./nyan'); 11 | exports.XUnit = require('./xunit'); 12 | exports.Markdown = require('./markdown'); 13 | exports.Progress = require('./progress'); 14 | exports.Landing = require('./landing'); 15 | exports.JSONCov = require('./json-cov'); 16 | exports.HTMLCov = require('./html-cov'); 17 | exports.JSONStream = require('./json-stream'); 18 | -------------------------------------------------------------------------------- /node_modules/mocha/lib/reporters/min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Module dependencies. 3 | */ 4 | 5 | var Base = require('./base'); 6 | 7 | /** 8 | * Expose `Min`. 9 | */ 10 | 11 | exports = module.exports = Min; 12 | 13 | /** 14 | * Initialize a new `Min` minimal test reporter (best used with --watch). 15 | * 16 | * @param {Runner} runner 17 | * @api public 18 | */ 19 | 20 | function Min(runner) { 21 | Base.call(this, runner); 22 | 23 | runner.on('start', function(){ 24 | // clear screen 25 | process.stdout.write('\u001b[2J'); 26 | // set cursor position 27 | process.stdout.write('\u001b[1;3H'); 28 | }); 29 | 30 | runner.on('end', this.epilogue.bind(this)); 31 | } 32 | 33 | /** 34 | * Inherit from `Base.prototype`. 35 | */ 36 | 37 | Min.prototype.__proto__ = Base.prototype; 38 | -------------------------------------------------------------------------------- /node_modules/mocha/lib/reporters/templates/menu.jade: -------------------------------------------------------------------------------- 1 | #menu 2 | li 3 | a(href='#overview') overview 4 | for file in cov.files 5 | li 6 | span.cov(class=coverageClass(file.coverage)) #{file.coverage | 0} 7 | a(href='##{file.filename}') 8 | segments = file.filename.split('/') 9 | basename = segments.pop() 10 | if segments.length 11 | span.dirname= segments.join('/') + '/' 12 | span.basename= basename 13 | a#logo(href='http://mochajs.org/') m 14 | -------------------------------------------------------------------------------- /node_modules/mocha/lib/reporters/templates/script.html: -------------------------------------------------------------------------------- 1 | 35 | -------------------------------------------------------------------------------- /node_modules/mocha/lib/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Mocha 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /node_modules/mocha/lib/test.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Module dependencies. 3 | */ 4 | 5 | var Runnable = require('./runnable'); 6 | 7 | /** 8 | * Expose `Test`. 9 | */ 10 | 11 | module.exports = Test; 12 | 13 | /** 14 | * Initialize a new `Test` with the given `title` and callback `fn`. 15 | * 16 | * @param {String} title 17 | * @param {Function} fn 18 | * @api private 19 | */ 20 | 21 | function Test(title, fn) { 22 | Runnable.call(this, title, fn); 23 | this.pending = !fn; 24 | this.type = 'test'; 25 | } 26 | 27 | /** 28 | * Inherit from `Runnable.prototype`. 29 | */ 30 | 31 | Test.prototype.__proto__ = Runnable.prototype; 32 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/.bin/jade: -------------------------------------------------------------------------------- 1 | ../jade/bin/jade -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/.bin/supports-color: -------------------------------------------------------------------------------- 1 | ../supports-color/cli.js -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/debug/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "laxbreak": true 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/debug/Makefile: -------------------------------------------------------------------------------- 1 | 2 | # get Makefile directory name: http://stackoverflow.com/a/5982798/376773 3 | THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) 4 | THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) 5 | 6 | # BIN directory 7 | BIN := $(THIS_DIR)/node_modules/.bin 8 | 9 | # applications 10 | NODE ?= $(shell which node) 11 | NPM ?= $(NODE) $(shell which npm) 12 | BROWSERIFY ?= $(NODE) $(BIN)/browserify 13 | 14 | all: dist/debug.js 15 | 16 | install: node_modules 17 | 18 | clean: 19 | @rm -rf node_modules dist 20 | 21 | dist: 22 | @mkdir -p $@ 23 | 24 | dist/debug.js: node_modules browser.js debug.js dist 25 | @$(BROWSERIFY) \ 26 | --standalone debug \ 27 | . > $@ 28 | 29 | node_modules: package.json 30 | @NODE_ENV= $(NPM) install 31 | @touch node_modules 32 | 33 | .PHONY: all install clean 34 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.0.0", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "browser.js", 12 | "scripts": [ 13 | "browser.js", 14 | "debug.js" 15 | ], 16 | "dependencies": { 17 | "guille/ms.js": "0.6.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/escape-string-regexp/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; 4 | 5 | module.exports = function (str) { 6 | if (typeof str !== 'string') { 7 | throw new TypeError('Expected a string'); 8 | } 9 | 10 | return str.replace(matchOperatorsRe, '\\$&'); 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/escape-string-regexp/readme.md: -------------------------------------------------------------------------------- 1 | # escape-string-regexp [![Build Status](https://travis-ci.org/sindresorhus/escape-string-regexp.svg?branch=master)](https://travis-ci.org/sindresorhus/escape-string-regexp) 2 | 3 | > Escape RegExp special characters 4 | 5 | 6 | ## Install 7 | 8 | ```sh 9 | $ npm install --save escape-string-regexp 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | var escapeStringRegexp = require('escape-string-regexp'); 17 | 18 | var escapedString = escapeStringRegexp('how much $ for a unicorn?'); 19 | //=> how much \$ for a unicorn\? 20 | 21 | new RegExp(escapedString); 22 | ``` 23 | 24 | 25 | ## License 26 | 27 | MIT © [Sindre Sorhus](http://sindresorhus.com) 28 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/glob/.npmignore: -------------------------------------------------------------------------------- 1 | .*.swp 2 | test/a/ 3 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/glob/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/glob/examples/g.js: -------------------------------------------------------------------------------- 1 | var Glob = require("../").Glob 2 | 3 | var pattern = "test/a/**/[cg]/../[cg]" 4 | console.log(pattern) 5 | 6 | var mg = new Glob(pattern, {mark: true, sync:true}, function (er, matches) { 7 | console.log("matches", matches) 8 | }) 9 | console.log("after") 10 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/glob/examples/usr-local.js: -------------------------------------------------------------------------------- 1 | var Glob = require("../").Glob 2 | 3 | var pattern = "{./*/*,/*,/usr/local/*}" 4 | console.log(pattern) 5 | 6 | var mg = new Glob(pattern, {mark: true}, function (er, matches) { 7 | console.log("matches", matches) 8 | }) 9 | console.log("after") 10 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/glob/test/globstar-match.js: -------------------------------------------------------------------------------- 1 | var Glob = require("../glob.js").Glob 2 | var test = require('tap').test 3 | 4 | test('globstar should not have dupe matches', function(t) { 5 | var pattern = 'a/**/[gh]' 6 | var g = new Glob(pattern, { cwd: __dirname }) 7 | var matches = [] 8 | g.on('match', function(m) { 9 | console.error('match %j', m) 10 | matches.push(m) 11 | }) 12 | g.on('end', function(set) { 13 | console.error('set', set) 14 | matches = matches.sort() 15 | set = set.sort() 16 | t.same(matches, set, 'should have same set of matches') 17 | t.end() 18 | }) 19 | }) 20 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/glob/test/stat.js: -------------------------------------------------------------------------------- 1 | var glob = require('../') 2 | var test = require('tap').test 3 | var path = require('path') 4 | 5 | test('stat all the things', function(t) { 6 | var g = new glob.Glob('a/*abc*/**', { stat: true, cwd: __dirname }) 7 | var matches = [] 8 | g.on('match', function(m) { 9 | matches.push(m) 10 | }) 11 | var stats = [] 12 | g.on('stat', function(m) { 13 | stats.push(m) 14 | }) 15 | g.on('end', function(eof) { 16 | stats = stats.sort() 17 | matches = matches.sort() 18 | eof = eof.sort() 19 | t.same(stats, matches) 20 | t.same(eof, matches) 21 | var cache = Object.keys(this.statCache) 22 | t.same(cache.map(function (f) { 23 | return path.relative(__dirname, f) 24 | }).sort(), matches) 25 | 26 | cache.forEach(function(c) { 27 | t.equal(typeof this.statCache[c], 'object') 28 | }, this) 29 | 30 | t.end() 31 | }) 32 | }) 33 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/glob/test/zz-cleanup.js: -------------------------------------------------------------------------------- 1 | // remove the fixtures 2 | var tap = require("tap") 3 | , rimraf = require("rimraf") 4 | , path = require("path") 5 | 6 | tap.test("cleanup fixtures", function (t) { 7 | rimraf(path.resolve(__dirname, "a"), function (er) { 8 | t.ifError(er, "removed") 9 | t.end() 10 | }) 11 | }) 12 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | support 3 | benchmarks 4 | examples 5 | lib-cov 6 | coverage.html 7 | .gitmodules 8 | .travis.yml 9 | History.md 10 | Readme.md 11 | Makefile 12 | test/ 13 | support/ 14 | benchmarks/ 15 | examples/ 16 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = process.env.JADE_COV 3 | ? require('./lib-cov/jade') 4 | : require('./lib/jade'); -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/lib/inline-tags.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Jade - inline tags 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | module.exports = [ 9 | 'a' 10 | , 'abbr' 11 | , 'acronym' 12 | , 'b' 13 | , 'br' 14 | , 'code' 15 | , 'em' 16 | , 'font' 17 | , 'i' 18 | , 'img' 19 | , 'ins' 20 | , 'kbd' 21 | , 'map' 22 | , 'samp' 23 | , 'small' 24 | , 'span' 25 | , 'strong' 26 | , 'sub' 27 | , 'sup' 28 | ]; -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/lib/nodes/block-comment.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Jade - nodes - BlockComment 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a `BlockComment` with the given `block`. 16 | * 17 | * @param {String} val 18 | * @param {Block} block 19 | * @param {Boolean} buffer 20 | * @api public 21 | */ 22 | 23 | var BlockComment = module.exports = function BlockComment(val, block, buffer) { 24 | this.block = block; 25 | this.val = val; 26 | this.buffer = buffer; 27 | }; 28 | 29 | /** 30 | * Inherit from `Node`. 31 | */ 32 | 33 | BlockComment.prototype.__proto__ = Node.prototype; -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/lib/nodes/case.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Jade - nodes - Case 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a new `Case` with `expr`. 16 | * 17 | * @param {String} expr 18 | * @api public 19 | */ 20 | 21 | var Case = exports = module.exports = function Case(expr, block){ 22 | this.expr = expr; 23 | this.block = block; 24 | }; 25 | 26 | /** 27 | * Inherit from `Node`. 28 | */ 29 | 30 | Case.prototype.__proto__ = Node.prototype; 31 | 32 | var When = exports.When = function When(expr, block){ 33 | this.expr = expr; 34 | this.block = block; 35 | this.debug = false; 36 | }; 37 | 38 | /** 39 | * Inherit from `Node`. 40 | */ 41 | 42 | When.prototype.__proto__ = Node.prototype; 43 | 44 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/lib/nodes/code.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Jade - nodes - Code 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a `Code` node with the given code `val`. 16 | * Code may also be optionally buffered and escaped. 17 | * 18 | * @param {String} val 19 | * @param {Boolean} buffer 20 | * @param {Boolean} escape 21 | * @api public 22 | */ 23 | 24 | var Code = module.exports = function Code(val, buffer, escape) { 25 | this.val = val; 26 | this.buffer = buffer; 27 | this.escape = escape; 28 | if (val.match(/^ *else/)) this.debug = false; 29 | }; 30 | 31 | /** 32 | * Inherit from `Node`. 33 | */ 34 | 35 | Code.prototype.__proto__ = Node.prototype; -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/lib/nodes/comment.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Jade - nodes - Comment 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a `Comment` with the given `val`, optionally `buffer`, 16 | * otherwise the comment may render in the output. 17 | * 18 | * @param {String} val 19 | * @param {Boolean} buffer 20 | * @api public 21 | */ 22 | 23 | var Comment = module.exports = function Comment(val, buffer) { 24 | this.val = val; 25 | this.buffer = buffer; 26 | }; 27 | 28 | /** 29 | * Inherit from `Node`. 30 | */ 31 | 32 | Comment.prototype.__proto__ = Node.prototype; -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/lib/nodes/doctype.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Jade - nodes - Doctype 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a `Doctype` with the given `val`. 16 | * 17 | * @param {String} val 18 | * @api public 19 | */ 20 | 21 | var Doctype = module.exports = function Doctype(val) { 22 | this.val = val; 23 | }; 24 | 25 | /** 26 | * Inherit from `Node`. 27 | */ 28 | 29 | Doctype.prototype.__proto__ = Node.prototype; -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/lib/nodes/each.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Jade - nodes - Each 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize an `Each` node, representing iteration 16 | * 17 | * @param {String} obj 18 | * @param {String} val 19 | * @param {String} key 20 | * @param {Block} block 21 | * @api public 22 | */ 23 | 24 | var Each = module.exports = function Each(obj, val, key, block) { 25 | this.obj = obj; 26 | this.val = val; 27 | this.key = key; 28 | this.block = block; 29 | }; 30 | 31 | /** 32 | * Inherit from `Node`. 33 | */ 34 | 35 | Each.prototype.__proto__ = Node.prototype; -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/lib/nodes/filter.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Jade - nodes - Filter 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node') 13 | , Block = require('./block'); 14 | 15 | /** 16 | * Initialize a `Filter` node with the given 17 | * filter `name` and `block`. 18 | * 19 | * @param {String} name 20 | * @param {Block|Node} block 21 | * @api public 22 | */ 23 | 24 | var Filter = module.exports = function Filter(name, block, attrs) { 25 | this.name = name; 26 | this.block = block; 27 | this.attrs = attrs; 28 | this.isASTFilter = !block.nodes.every(function(node){ return node.isText }); 29 | }; 30 | 31 | /** 32 | * Inherit from `Node`. 33 | */ 34 | 35 | Filter.prototype.__proto__ = Node.prototype; -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/lib/nodes/index.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Jade - nodes 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | exports.Node = require('./node'); 9 | exports.Tag = require('./tag'); 10 | exports.Code = require('./code'); 11 | exports.Each = require('./each'); 12 | exports.Case = require('./case'); 13 | exports.Text = require('./text'); 14 | exports.Block = require('./block'); 15 | exports.Mixin = require('./mixin'); 16 | exports.Filter = require('./filter'); 17 | exports.Comment = require('./comment'); 18 | exports.Literal = require('./literal'); 19 | exports.BlockComment = require('./block-comment'); 20 | exports.Doctype = require('./doctype'); 21 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/lib/nodes/literal.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Jade - nodes - Literal 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a `Literal` node with the given `str. 16 | * 17 | * @param {String} str 18 | * @api public 19 | */ 20 | 21 | var Literal = module.exports = function Literal(str) { 22 | this.str = str 23 | .replace(/\\/g, "\\\\") 24 | .replace(/\n|\r\n/g, "\\n") 25 | .replace(/'/g, "\\'"); 26 | }; 27 | 28 | /** 29 | * Inherit from `Node`. 30 | */ 31 | 32 | Literal.prototype.__proto__ = Node.prototype; 33 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/lib/nodes/mixin.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Jade - nodes - Mixin 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Attrs = require('./attrs'); 13 | 14 | /** 15 | * Initialize a new `Mixin` with `name` and `block`. 16 | * 17 | * @param {String} name 18 | * @param {String} args 19 | * @param {Block} block 20 | * @api public 21 | */ 22 | 23 | var Mixin = module.exports = function Mixin(name, args, block, call){ 24 | this.name = name; 25 | this.args = args; 26 | this.block = block; 27 | this.attrs = []; 28 | this.call = call; 29 | }; 30 | 31 | /** 32 | * Inherit from `Attrs`. 33 | */ 34 | 35 | Mixin.prototype.__proto__ = Attrs.prototype; 36 | 37 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/lib/nodes/node.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Jade - nodes - Node 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Initialize a `Node`. 10 | * 11 | * @api public 12 | */ 13 | 14 | var Node = module.exports = function Node(){}; 15 | 16 | /** 17 | * Clone this node (return itself) 18 | * 19 | * @return {Node} 20 | * @api private 21 | */ 22 | 23 | Node.prototype.clone = function(){ 24 | return this; 25 | }; 26 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/lib/nodes/text.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Jade - nodes - Text 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var Node = require('./node'); 13 | 14 | /** 15 | * Initialize a `Text` node with optional `line`. 16 | * 17 | * @param {String} line 18 | * @api public 19 | */ 20 | 21 | var Text = module.exports = function Text(line) { 22 | this.val = ''; 23 | if ('string' == typeof line) this.val = line; 24 | }; 25 | 26 | /** 27 | * Inherit from `Node`. 28 | */ 29 | 30 | Text.prototype.__proto__ = Node.prototype; 31 | 32 | /** 33 | * Flag as text. 34 | */ 35 | 36 | Text.prototype.isText = true; -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/lib/self-closing.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Jade - self closing tags 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | module.exports = [ 9 | 'meta' 10 | , 'img' 11 | , 'link' 12 | , 'input' 13 | , 'source' 14 | , 'area' 15 | , 'base' 16 | , 'col' 17 | , 'br' 18 | , 'hr' 19 | ]; -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/node_modules/commander/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/node_modules/commander/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/node_modules/commander/Makefile: -------------------------------------------------------------------------------- 1 | 2 | TESTS = $(shell find test/test.*.js) 3 | 4 | test: 5 | @./test/run $(TESTS) 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/node_modules/commander/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/commander'); -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/node_modules/mkdirp/.gitignore.orig: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/node_modules/mkdirp/.gitignore.rej: -------------------------------------------------------------------------------- 1 | --- /dev/null 2 | +++ .gitignore 3 | @@ -0,0 +1,2 @@ 4 | +node_modules/ 5 | +npm-debug.log -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/node_modules/mkdirp/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/node_modules/mkdirp/examples/pow.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('mkdirp'); 2 | 3 | mkdirp('/tmp/foo/bar/baz', function (err) { 4 | if (err) console.error(err) 5 | else console.log('pow!') 6 | }); 7 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/node_modules/mkdirp/examples/pow.js.orig: -------------------------------------------------------------------------------- 1 | var mkdirp = require('mkdirp'); 2 | 3 | mkdirp('/tmp/foo/bar/baz', 0755, function (err) { 4 | if (err) console.error(err) 5 | else console.log('pow!') 6 | }); 7 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/node_modules/mkdirp/examples/pow.js.rej: -------------------------------------------------------------------------------- 1 | --- examples/pow.js 2 | +++ examples/pow.js 3 | @@ -1,6 +1,15 @@ 4 | -var mkdirp = require('mkdirp').mkdirp; 5 | +var mkdirp = require('../').mkdirp, 6 | + mkdirpSync = require('../').mkdirpSync; 7 | 8 | mkdirp('/tmp/foo/bar/baz', 0755, function (err) { 9 | if (err) console.error(err) 10 | else console.log('pow!') 11 | }); 12 | + 13 | +try { 14 | + mkdirpSync('/tmp/bar/foo/baz', 0755); 15 | + console.log('double pow!'); 16 | +} 17 | +catch (ex) { 18 | + console.log(ex); 19 | +} -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/test.jade: -------------------------------------------------------------------------------- 1 | p. 2 | This is a large 3 | body of text for 4 | this tag. 5 | 6 | Nothing too 7 | exciting. -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/testing/head.jade: -------------------------------------------------------------------------------- 1 | head 2 | script(src='/jquery.js') 3 | yield 4 | if false 5 | script(src='/jquery.ui.js') 6 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/testing/index.jade: -------------------------------------------------------------------------------- 1 | 2 | tag = 'p' 3 | foo = 'bar' 4 | 5 | #{tag} value 6 | #{tag}(foo='bar') value 7 | #{foo ? 'a' : 'li'}(something) here 8 | 9 | mixin item(icon) 10 | li 11 | if attributes.href 12 | a(attributes) 13 | img.icon(src=icon) 14 | block 15 | else 16 | span(attributes) 17 | img.icon(src=icon) 18 | block 19 | 20 | ul 21 | +item('contact') Contact 22 | +item(href='/contact') Contact 23 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/testing/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var jade = require('../'); 7 | 8 | jade.renderFile('testing/index.jade', { pretty: true, debug: true, compileDebug: false }, function(err, str){ 9 | if (err) throw err; 10 | console.log(str); 11 | }); -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/testing/layout.jade: -------------------------------------------------------------------------------- 1 | html 2 | include head 3 | script(src='/caustic.js') 4 | script(src='/app.js') 5 | body 6 | block content -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/jade/testing/user.jade: -------------------------------------------------------------------------------- 1 | h1 Tobi 2 | p Is a ferret 3 | 4 | ul 5 | li: a foo 6 | li: a bar 7 | li: a baz -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/mkdirp/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/mkdirp/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | - 0.8 5 | - "0.10" 6 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/mkdirp/bin/cmd.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var mkdirp = require('../'); 4 | var minimist = require('minimist'); 5 | var fs = require('fs'); 6 | 7 | var argv = minimist(process.argv.slice(2), { 8 | alias: { m: 'mode', h: 'help' }, 9 | string: [ 'mode' ] 10 | }); 11 | if (argv.help) { 12 | fs.createReadStream(__dirname + '/usage.txt').pipe(process.stdout); 13 | return; 14 | } 15 | 16 | var paths = argv._.slice(); 17 | var mode = argv.mode ? parseInt(argv.mode, 8) : undefined; 18 | 19 | (function next () { 20 | if (paths.length === 0) return; 21 | var p = paths.shift(); 22 | 23 | if (mode === undefined) mkdirp(p, cb) 24 | else mkdirp(p, mode, cb) 25 | 26 | function cb (err) { 27 | if (err) { 28 | console.error(err.message); 29 | process.exit(1); 30 | } 31 | else next(); 32 | } 33 | })(); 34 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/mkdirp/bin/usage.txt: -------------------------------------------------------------------------------- 1 | usage: mkdirp [DIR1,DIR2..] {OPTIONS} 2 | 3 | Create each supplied directory including any necessary parent directories that 4 | don't yet exist. 5 | 6 | If the directory already exists, do nothing. 7 | 8 | OPTIONS are: 9 | 10 | -m, --mode If a directory needs to be created, set the mode as an octal 11 | permission string. 12 | 13 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/mkdirp/examples/pow.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('mkdirp'); 2 | 3 | mkdirp('/tmp/foo/bar/baz', function (err) { 4 | if (err) console.error(err) 5 | else console.log('pow!') 6 | }); 7 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/mkdirp/test/root.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('root', function (t) { 7 | // '/' on unix, 'c:/' on windows. 8 | var file = path.resolve('/'); 9 | 10 | mkdirp(file, 0755, function (err) { 11 | if (err) throw err 12 | fs.stat(file, function (er, stat) { 13 | if (er) throw er 14 | t.ok(stat.isDirectory(), 'target is a directory'); 15 | t.end(); 16 | }) 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/supports-color/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 'use strict'; 3 | var pkg = require('./package.json'); 4 | var supportsColor = require('./'); 5 | var argv = process.argv.slice(2); 6 | 7 | function help() { 8 | console.log([ 9 | '', 10 | ' ' + pkg.description, 11 | '', 12 | ' Usage', 13 | ' supports-color', 14 | '', 15 | ' Exits with code 0 if color is supported and 1 if not' 16 | ].join('\n')); 17 | } 18 | 19 | if (argv.indexOf('--help') !== -1) { 20 | help(); 21 | return; 22 | } 23 | 24 | if (argv.indexOf('--version') !== -1) { 25 | console.log(pkg.version); 26 | return; 27 | } 28 | 29 | process.exit(supportsColor ? 0 : 1); 30 | -------------------------------------------------------------------------------- /node_modules/mocha/node_modules/supports-color/readme.md: -------------------------------------------------------------------------------- 1 | # supports-color [![Build Status](https://travis-ci.org/sindresorhus/supports-color.svg?branch=master)](https://travis-ci.org/sindresorhus/supports-color) 2 | 3 | > Detect whether a terminal supports color 4 | 5 | 6 | ## Install 7 | 8 | ```sh 9 | $ npm install --save supports-color 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | var supportsColor = require('supports-color'); 17 | 18 | if (supportsColor) { 19 | console.log('Terminal supports color'); 20 | } 21 | ``` 22 | 23 | It obeys the `--color` and `--no-color` CLI flags. 24 | 25 | 26 | ## CLI 27 | 28 | ```sh 29 | $ npm install --global supports-color 30 | ``` 31 | 32 | ``` 33 | $ supports-color --help 34 | 35 | Usage 36 | supports-color 37 | 38 | Exits with code 0 if color is supported and 1 if not 39 | ``` 40 | 41 | 42 | ## License 43 | 44 | MIT © [Sindre Sorhus](http://sindresorhus.com) 45 | -------------------------------------------------------------------------------- /other/add-binary.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import _ from '../utils'; 4 | 5 | function addBinary(a, b) { 6 | let c = new Array(a.length+1), 7 | d = new Array(c.length); 8 | 9 | for(let i = c.length-1; i >= 0; i--) { 10 | let sum = i > 0 ? a[i-1] + b[i-1] + (d[i] || 0) : d[i] || 0; 11 | 12 | if(sum >= 2) { 13 | d[i-1] = 1; 14 | c[i] = sum - 2; 15 | } else { 16 | c[i] = sum; 17 | } 18 | } 19 | 20 | return c; 21 | } 22 | 23 | const argumentToArray = (arg) => 24 | arg.split('').map(function(el) { 25 | return parseInt(el, 10); 26 | }); 27 | 28 | let i1 = argumentToArray(_.args[0]), 29 | i2 = argumentToArray(_.args[1]); 30 | 31 | let result = addBinary(i1, i2); 32 | 33 | _.log(result.join('')); -------------------------------------------------------------------------------- /other/pascal-triangle.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import _ from '../utils'; 4 | 5 | let input = _.args.numbers()[0]; 6 | 7 | let pascal = []; 8 | 9 | for (let i = 0; i < input; i++) { 10 | let past = pascal[i - 1]; 11 | let n = new Array(i + 1); 12 | n[0] = 1; 13 | n[i] = 1; 14 | 15 | for (let j = 1; j < i; j++) { 16 | n[j] = past[j - 1] + past[j]; 17 | } 18 | pascal.push(n); 19 | } 20 | 21 | 22 | let single = pascal.reduce((a, b) => { 23 | return a.concat(b); 24 | }, []); 25 | 26 | _.log(single); 27 | -------------------------------------------------------------------------------- /other/set-pair-sum-debug.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | let _ = require('../utils'), 4 | mergeSort = require('../sort/merge'); 5 | 6 | let args = _.args.numbers(), 7 | set = args.slice(0, -1), 8 | key = args[args.length-1]; 9 | 10 | function findPair(arr, key) { 11 | _.debug(`findPair(arr, ${key})`); 12 | mergeSort(arr, 0, arr.length); 13 | 14 | let i = 0, 15 | j = arr.length-1; 16 | for(let x = 0, len = arr.length-1; x < len; x++) { 17 | let sum = arr[i] + arr[j]; 18 | _.debug(`sum = (arr[${i}]=${arr[i]}) + (arr[${j}]=${arr[j]}) = ${sum}`); 19 | 20 | if(sum === key) return true; 21 | if(sum > key) j--; 22 | if(sum < key) i++; 23 | } 24 | 25 | return false; 26 | } 27 | 28 | if(require.main === module) { 29 | _.log(findPair(set, key)); 30 | } 31 | 32 | module.exports = findPair; 33 | -------------------------------------------------------------------------------- /other/set-pair-sum.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | let _ = require('../utils'), 4 | mergeSort = require('../sort/merge'); 5 | 6 | let args = _.args.numbers(), 7 | set = args.slice(0, -1), 8 | key = args[args.length-1]; 9 | 10 | function findPair(arr, x) { 11 | mergeSort(arr, 0, arr.length); 12 | 13 | let i = 0, 14 | j = arr.length-1; 15 | for(let x = 0, len = arr.length/2; x < len; x++) { 16 | let sum = arr[i] + arr[j]; 17 | 18 | if(sum === x) return true; 19 | if(sum > x) j--; 20 | if(sum < x) i++; 21 | } 22 | 23 | return false; 24 | } 25 | 26 | if(require.main === module) { 27 | _.log(findPair(set, key)); 28 | } 29 | 30 | module.exports = findPair; 31 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "harmony-algorithms", 3 | "version": "1.0.0", 4 | "description": "Algorithms and Data Structures implemented in ES6", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "mocha tests/*.js" 8 | }, 9 | "keywords": [ 10 | "algorithm", 11 | "data-structure", 12 | "harmony", 13 | "es6", 14 | "javascript" 15 | ], 16 | "author": "Mahdi Dibaiee", 17 | "license": "MIT" 18 | } 19 | -------------------------------------------------------------------------------- /search/binary-recursive-debug.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import _ from '../utils'; 4 | 5 | let args = _.args.numbers(), 6 | arr = args.slice(0, -1), 7 | key = args[args.length-1]; 8 | 9 | function binarySearch(key, arr, p, q) { 10 | _.debug(`binarySearch(${[key, 'arr', p, q]})`); 11 | 12 | if(q - p < 2) { 13 | if(arr[q] === key) return q; 14 | else if(arr[p] === key) return p; 15 | else return -1; // not found 16 | } 17 | let middle = p + Math.floor((q - p)/2); 18 | _.debug(`arr[${middle}]=${arr[middle]}, key = ${key}`); 19 | if(arr[middle] < key) { 20 | _.debug(`splitting, searching in arr[${Math.floor(q/2)}...${q}]`); 21 | return binarySearch(key, arr, middle, q); 22 | } else { 23 | _.debug(`splitting, searching in arr[${p}...${Math.floor(q/2)}]`); 24 | return binarySearch(key, arr, p, middle); 25 | } 26 | } 27 | 28 | _.log(binarySearch(key, arr, 0, arr.length-1)); 29 | -------------------------------------------------------------------------------- /search/binary-recursive.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import _ from '../utils'; 4 | 5 | let args = _.args.numbers(), 6 | arr = args.slice(0, -1), 7 | key = args[args.length-1]; 8 | 9 | function binarySearch(key, arr, p, q) { 10 | if(q - p < 2) { 11 | if(arr[q] === key) return q; 12 | else if(arr[p] === key) return p; 13 | else return -1; // not found 14 | } 15 | let middle = p + Math.floor((q - p)/2); 16 | if(arr[middle] < key) 17 | return binarySearch(key, arr, middle, q); 18 | else 19 | return binarySearch(key, arr, p, middle); 20 | } 21 | 22 | if(require.main === module) _.log(binarySearch(key, arr, 0, arr.length-1)); 23 | 24 | module.exports = binarySearch; 25 | -------------------------------------------------------------------------------- /sort/insertion-debug.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import _ from '../utils'; 4 | 5 | let arr = _.args.numbers(); 6 | 7 | for(let i = 1, len = arr.length; i < len; i++) { 8 | let key = arr[i]; 9 | let j = i - 1; 10 | _.debug(`on arr[${i}] = ${key}`); 11 | 12 | while(j > -1 && arr[j] > key) { 13 | _.debug(` - a[${j}] = ${arr[j]} > ${key}`); 14 | 15 | arr[j + 1] = arr[j]; 16 | j--; 17 | } 18 | 19 | _.debug(` - moving key = ${key} to arr[${j+1}]`); 20 | arr[j + 1] = key; 21 | } 22 | 23 | _.log(arr.join(' ')); -------------------------------------------------------------------------------- /sort/insertion-optimizied-binarySearch-debug.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | let _ = require('../utils'), 4 | binarySearch = require('../search/binary-recursive'); 5 | 6 | let arr = _.args.numbers(); 7 | 8 | for(let i = 1, len = arr.length; i < len; i++) { 9 | let key = arr[i]; 10 | let j = -1, 11 | x = 1; 12 | 13 | _.debug(`at ${key}`); 14 | do { 15 | let end = i - (x-1); 16 | _.debug(` - looking for ${key + x} in ${arr.slice(0, end)}`); 17 | j = binarySearch(key + x++, arr, 0, end); 18 | } while (j === -1 && end > -1); 19 | 20 | if(j === -1) { 21 | _.debug('j not found, continuing'); 22 | continue; 23 | } 24 | 25 | for(let c = i-1; c >= j; c--) { 26 | arr[c+1] = arr[c]; 27 | _.debug(` - arr[${c+1}] = arr[${c}]`); 28 | } 29 | 30 | arr[j] = key; 31 | } 32 | 33 | _.log(arr.join(' ')); -------------------------------------------------------------------------------- /sort/insertion-optimizied-binarySearch.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | let _ = require('../utils'), 4 | binarySearch = require('../search/binary-recursive'); 5 | 6 | let arr = _.args.numbers(); 7 | 8 | for(let i = 1, len = arr.length; i < len; i++) { 9 | let key = arr[i]; 10 | let j = -1, 11 | x = 1; 12 | 13 | do { 14 | let end = i - (x-1); 15 | j = binarySearch(key + x++, arr, 0, end); 16 | } while (j === -1 && end > -1); 17 | 18 | if(j === -1) continue; 19 | 20 | for(let c = i-1; c >= j; c--) { 21 | arr[c+1] = arr[c]; 22 | } 23 | 24 | arr[j] = key; 25 | } 26 | 27 | _.log(arr.join(' ')); -------------------------------------------------------------------------------- /sort/insertion-recursive-debug.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import _ from '../utils'; 4 | 5 | let arr = _.args.numbers(); 6 | 7 | function insertionSort(arr, n) { 8 | _.debug(`insertionSort(arr, ${n})`); 9 | 10 | if(n > 0) insertionSort(arr, n-1); 11 | 12 | _.debug(`sorting 0...${n}`); 13 | 14 | let o = arr[n], 15 | i = n-1; 16 | while(arr[i] > o) { 17 | arr[i+1] = arr[i]; 18 | _.debug(` - moving arr[${i}] to arr[${i+1}]`); 19 | i--; 20 | } 21 | arr[i+1] = o; 22 | _.debug(` - arr[${i}] set to ${o}`); 23 | } 24 | 25 | insertionSort(arr, arr.length-1); 26 | 27 | _.log(arr.join(' ')); 28 | -------------------------------------------------------------------------------- /sort/insertion-recursive.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import _ from '../utils'; 4 | 5 | let arr = _.args.numbers(); 6 | 7 | function insertionSort(arr, n) { 8 | if(n > 0) insertionSort(arr, n-1); 9 | let o = arr[n], 10 | i = n-1; 11 | while(arr[i] > o) { 12 | arr[i+1] = arr[i]; 13 | i--; 14 | } 15 | arr[i+1] = o; 16 | } 17 | 18 | insertionSort(arr, arr.length-1); 19 | 20 | _.log(arr.join(' ')); 21 | -------------------------------------------------------------------------------- /sort/insertion.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import _ from '../utils'; 4 | 5 | let arr = _.args.numbers(); 6 | 7 | for(let i = 1, len = arr.length; i < len; i++) { 8 | let key = arr[i]; 9 | let j = i - 1; 10 | 11 | while(j > -1 && arr[j] > key) { 12 | arr[j + 1] = arr[j]; 13 | j--; 14 | } 15 | 16 | arr[j + 1] = key; 17 | } 18 | 19 | _.log(arr.join(' ')); -------------------------------------------------------------------------------- /sort/merge.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | import _ from '../utils'; 3 | 4 | let arr = _.args.numbers(); 5 | 6 | function mergeSort(a, p, r) { 7 | if(r - p === 1) return; 8 | 9 | let q = Math.floor((r+p)/2); 10 | 11 | mergeSort(a, p, q); 12 | mergeSort(a, q, r); 13 | merge(a, p, q, r); 14 | } 15 | 16 | function merge(a, p, q, r) { 17 | let i = 0, 18 | j = 0; 19 | 20 | let left = a.slice(p, q), 21 | right = a.slice(q, r); 22 | 23 | left.push(Infinity); 24 | right.push(Infinity); 25 | 26 | for(let k = p; k < r; k++) { 27 | if(left[i] <= right[j]) { 28 | a[k] = left[i]; 29 | i++; 30 | } else { 31 | a[k] = right[j]; 32 | j++; 33 | } 34 | } 35 | } 36 | 37 | if (require.main === module) { 38 | mergeSort(arr, 0, arr.length); 39 | _.log(arr.join(' ')); 40 | } 41 | 42 | module.exports = mergeSort; 43 | -------------------------------------------------------------------------------- /sort/selection-debug.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import _ from '../utils'; 4 | 5 | let arr = _.args.numbers(); 6 | 7 | for(let i = 0, len = arr.length; i < len-1; i++) { 8 | let min = i; 9 | 10 | _.debug(`on arr[${i}]; min=${arr[min]} minIndex=${min}`); 11 | 12 | for(let j = i+1; j < len; j++) { 13 | _.debug(` - comparing with arr[${j}] = ${arr[j]}`); 14 | 15 | if(arr[j] < arr[min]) { 16 | min = j; 17 | 18 | _.debug(` - found a new minimum; min=${arr[j]} minIndex=${min}`); 19 | } 20 | } 21 | 22 | _.debug(` - swapping arr[${min}]=${arr[min]} with arr[${i}]=${arr[i]}`); 23 | 24 | let tmp = arr[min]; 25 | arr[min] = arr[i]; 26 | arr[i] = tmp; 27 | } 28 | 29 | _.log(arr.join(' ')); 30 | -------------------------------------------------------------------------------- /sort/selection.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import _ from '../utils'; 4 | 5 | let arr = _.args.numbers(); 6 | 7 | for(let i = 0, len = arr.length; i < len-1; i++) { 8 | let min = i; 9 | 10 | for(let j = i+1; j < len; j++) { 11 | if(arr[j] < arr[min]) { 12 | min = j; 13 | } 14 | } 15 | 16 | let tmp = arr[min]; 17 | arr[min] = arr[i]; 18 | arr[i] = tmp; 19 | } 20 | 21 | _.log(arr.join(' ')); 22 | -------------------------------------------------------------------------------- /utils.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports.print = process.stdout.write.bind(process.stdout); 4 | 5 | module.exports.log = module.exports.debug = console.log.bind(console); 6 | 7 | module.exports.inspect = object => { 8 | console.dir(object, { 9 | colors: true, 10 | depth: null, 11 | showHidden: false 12 | }); 13 | }; 14 | 15 | module.exports.args = process.argv.slice(2); 16 | 17 | // module.exports.DEBUG = false; 18 | 19 | module.exports.args.numbers = function() { 20 | return module.exports.args.map(function(a) { 21 | return parseInt(a, 10); 22 | }); 23 | }; 24 | --------------------------------------------------------------------------------