@farukada/aws-langgraph-dynamodb-ts 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esbuild-bundle-hints.d.ts +6 -1
- package/dist/esbuild-bundle-hints.d.ts.map +1 -1
- package/dist/esbuild-bundle-hints.js +7 -6
- package/dist/esbuild-bundle-hints.js.map +1 -1
- package/node_modules/deep-is/.travis.yml +5 -0
- package/node_modules/deep-is/LICENSE +22 -0
- package/node_modules/deep-is/README.markdown +70 -0
- package/node_modules/deep-is/example/cmp.js +11 -0
- package/node_modules/deep-is/index.js +102 -0
- package/node_modules/deep-is/package.json +58 -0
- package/node_modules/deep-is/test/NaN.js +16 -0
- package/node_modules/deep-is/test/cmp.js +23 -0
- package/node_modules/deep-is/test/neg-vs-pos-0.js +15 -0
- package/node_modules/escodegen/LICENSE.BSD +21 -0
- package/node_modules/escodegen/README.md +84 -0
- package/node_modules/escodegen/bin/escodegen.js +77 -0
- package/node_modules/escodegen/bin/esgenerate.js +64 -0
- package/node_modules/escodegen/escodegen.js +2626 -0
- package/node_modules/escodegen/node_modules/estraverse/.jshintrc +16 -0
- package/node_modules/escodegen/node_modules/estraverse/LICENSE.BSD +19 -0
- package/node_modules/escodegen/node_modules/estraverse/README.md +153 -0
- package/node_modules/escodegen/node_modules/estraverse/estraverse.js +782 -0
- package/node_modules/escodegen/node_modules/estraverse/gulpfile.js +70 -0
- package/node_modules/escodegen/node_modules/estraverse/package.json +40 -0
- package/node_modules/escodegen/node_modules/levn/LICENSE +22 -0
- package/node_modules/escodegen/node_modules/levn/README.md +196 -0
- package/node_modules/escodegen/node_modules/levn/lib/cast.js +298 -0
- package/node_modules/escodegen/node_modules/levn/lib/coerce.js +285 -0
- package/node_modules/escodegen/node_modules/levn/lib/index.js +22 -0
- package/node_modules/escodegen/node_modules/levn/lib/parse-string.js +113 -0
- package/node_modules/escodegen/node_modules/levn/lib/parse.js +102 -0
- package/node_modules/escodegen/node_modules/levn/package.json +47 -0
- package/node_modules/escodegen/node_modules/optionator/CHANGELOG.md +56 -0
- package/node_modules/escodegen/node_modules/optionator/LICENSE +22 -0
- package/node_modules/escodegen/node_modules/optionator/README.md +238 -0
- package/node_modules/escodegen/node_modules/optionator/lib/help.js +260 -0
- package/node_modules/escodegen/node_modules/optionator/lib/index.js +465 -0
- package/node_modules/escodegen/node_modules/optionator/lib/util.js +54 -0
- package/node_modules/escodegen/node_modules/optionator/package.json +44 -0
- package/node_modules/escodegen/node_modules/prelude-ls/CHANGELOG.md +99 -0
- package/node_modules/escodegen/node_modules/prelude-ls/LICENSE +22 -0
- package/node_modules/escodegen/node_modules/prelude-ls/README.md +15 -0
- package/node_modules/escodegen/node_modules/prelude-ls/lib/Func.js +65 -0
- package/node_modules/escodegen/node_modules/prelude-ls/lib/List.js +686 -0
- package/node_modules/escodegen/node_modules/prelude-ls/lib/Num.js +130 -0
- package/node_modules/escodegen/node_modules/prelude-ls/lib/Obj.js +154 -0
- package/node_modules/escodegen/node_modules/prelude-ls/lib/Str.js +92 -0
- package/node_modules/escodegen/node_modules/prelude-ls/lib/index.js +178 -0
- package/node_modules/escodegen/node_modules/prelude-ls/package.json +52 -0
- package/node_modules/escodegen/node_modules/type-check/LICENSE +22 -0
- package/node_modules/escodegen/node_modules/type-check/README.md +210 -0
- package/node_modules/escodegen/node_modules/type-check/lib/check.js +126 -0
- package/node_modules/escodegen/node_modules/type-check/lib/index.js +16 -0
- package/node_modules/escodegen/node_modules/type-check/lib/parse-type.js +196 -0
- package/node_modules/escodegen/node_modules/type-check/package.json +40 -0
- package/node_modules/escodegen/package.json +61 -0
- package/node_modules/esprima/ChangeLog +235 -0
- package/node_modules/esprima/LICENSE.BSD +21 -0
- package/node_modules/esprima/README.md +46 -0
- package/node_modules/esprima/bin/esparse.js +139 -0
- package/node_modules/esprima/bin/esvalidate.js +236 -0
- package/node_modules/esprima/dist/esprima.js +6709 -0
- package/node_modules/esprima/package.json +112 -0
- package/node_modules/esutils/LICENSE.BSD +19 -0
- package/node_modules/esutils/README.md +174 -0
- package/node_modules/esutils/lib/ast.js +144 -0
- package/node_modules/esutils/lib/code.js +135 -0
- package/node_modules/esutils/lib/keyword.js +165 -0
- package/node_modules/esutils/lib/utils.js +33 -0
- package/node_modules/esutils/package.json +44 -0
- package/node_modules/fast-levenshtein/LICENSE.md +25 -0
- package/node_modules/fast-levenshtein/README.md +104 -0
- package/node_modules/fast-levenshtein/levenshtein.js +136 -0
- package/node_modules/fast-levenshtein/package.json +39 -0
- package/node_modules/jsonpath/.jscsrc +60 -0
- package/node_modules/jsonpath/.jshintrc +9 -0
- package/node_modules/jsonpath/.travis.yml +3 -0
- package/node_modules/jsonpath/Dockerfile +1 -0
- package/node_modules/jsonpath/Gruntfile.js +83 -0
- package/node_modules/jsonpath/LICENSE +7 -0
- package/node_modules/jsonpath/README.md +216 -0
- package/node_modules/jsonpath/bin/generate_parser.js +8 -0
- package/node_modules/jsonpath/fig.yml +5 -0
- package/node_modules/jsonpath/generated/parser.js +721 -0
- package/node_modules/jsonpath/include/action.js +4 -0
- package/node_modules/jsonpath/include/module.js +34 -0
- package/node_modules/jsonpath/index.js +1 -0
- package/node_modules/jsonpath/jsonpath.js +6842 -0
- package/node_modules/jsonpath/jsonpath.min.js +4 -0
- package/node_modules/jsonpath/lib/aesprim.js +18 -0
- package/node_modules/jsonpath/lib/dict.js +6 -0
- package/node_modules/jsonpath/lib/grammar.js +106 -0
- package/node_modules/jsonpath/lib/handlers.js +260 -0
- package/node_modules/jsonpath/lib/index.js +249 -0
- package/node_modules/jsonpath/lib/parser.js +21 -0
- package/node_modules/jsonpath/lib/slice.js +41 -0
- package/node_modules/jsonpath/node_modules/esprima/README.md +24 -0
- package/node_modules/jsonpath/node_modules/esprima/bin/esparse.js +127 -0
- package/node_modules/jsonpath/node_modules/esprima/bin/esvalidate.js +199 -0
- package/node_modules/jsonpath/node_modules/esprima/esprima.js +3756 -0
- package/node_modules/jsonpath/node_modules/esprima/package.json +83 -0
- package/node_modules/jsonpath/node_modules/esprima/test/compat.js +241 -0
- package/node_modules/jsonpath/node_modules/esprima/test/reflect.js +422 -0
- package/node_modules/jsonpath/node_modules/esprima/test/run.js +67 -0
- package/node_modules/jsonpath/node_modules/esprima/test/runner.js +495 -0
- package/node_modules/jsonpath/node_modules/esprima/test/test.js +25241 -0
- package/node_modules/jsonpath/package.json +45 -0
- package/node_modules/jsonpath/test/data/store.json +31 -0
- package/node_modules/jsonpath/test/lessons.js +38 -0
- package/node_modules/jsonpath/test/parse.js +164 -0
- package/node_modules/jsonpath/test/query.js +359 -0
- package/node_modules/jsonpath/test/slice.js +57 -0
- package/node_modules/jsonpath/test/stringify.js +54 -0
- package/node_modules/jsonpath/test/sugar.js +72 -0
- package/node_modules/source-map/CHANGELOG.md +301 -0
- package/node_modules/source-map/LICENSE +28 -0
- package/node_modules/source-map/README.md +742 -0
- package/node_modules/source-map/dist/source-map.debug.js +3234 -0
- package/node_modules/source-map/dist/source-map.js +3233 -0
- package/node_modules/source-map/dist/source-map.min.js +2 -0
- package/node_modules/source-map/dist/source-map.min.js.map +1 -0
- package/node_modules/source-map/lib/array-set.js +121 -0
- package/node_modules/source-map/lib/base64-vlq.js +140 -0
- package/node_modules/source-map/lib/base64.js +67 -0
- package/node_modules/source-map/lib/binary-search.js +111 -0
- package/node_modules/source-map/lib/mapping-list.js +79 -0
- package/node_modules/source-map/lib/quick-sort.js +114 -0
- package/node_modules/source-map/lib/source-map-consumer.js +1145 -0
- package/node_modules/source-map/lib/source-map-generator.js +425 -0
- package/node_modules/source-map/lib/source-node.js +413 -0
- package/node_modules/source-map/lib/util.js +488 -0
- package/node_modules/source-map/package.json +73 -0
- package/node_modules/source-map/source-map.d.ts +98 -0
- package/node_modules/source-map/source-map.js +8 -0
- package/node_modules/static-eval/.travis.yml +4 -0
- package/node_modules/static-eval/LICENSE +18 -0
- package/node_modules/static-eval/example/eval.js +7 -0
- package/node_modules/static-eval/example/vars.js +11 -0
- package/node_modules/static-eval/index.js +178 -0
- package/node_modules/static-eval/package.json +48 -0
- package/node_modules/static-eval/readme.markdown +87 -0
- package/node_modules/static-eval/test/eval.js +82 -0
- package/node_modules/static-eval/test/prop.js +16 -0
- package/node_modules/static-eval/test/template-strings.js +33 -0
- package/node_modules/underscore/LICENSE +23 -0
- package/node_modules/underscore/README.md +28 -0
- package/node_modules/underscore/amd/_apply.js +7 -0
- package/node_modules/underscore/amd/_applyProperty.js +14 -0
- package/node_modules/underscore/amd/_arrayAccessors.js +11 -0
- package/node_modules/underscore/amd/_arrayMutators.js +15 -0
- package/node_modules/underscore/amd/_baseCreate.js +21 -0
- package/node_modules/underscore/amd/_baseIteratee.js +15 -0
- package/node_modules/underscore/amd/_binarySearch.js +17 -0
- package/node_modules/underscore/amd/_bindCb.js +14 -0
- package/node_modules/underscore/amd/_bindCb4.js +17 -0
- package/node_modules/underscore/amd/_byValue.js +11 -0
- package/node_modules/underscore/amd/_cb.js +12 -0
- package/node_modules/underscore/amd/_chainResult.js +10 -0
- package/node_modules/underscore/amd/_collectNonEnumProps.js +42 -0
- package/node_modules/underscore/amd/_createAssigner.js +24 -0
- package/node_modules/underscore/amd/_createEscaper.js +21 -0
- package/node_modules/underscore/amd/_createIndexFinder.js +30 -0
- package/node_modules/underscore/amd/_createPredicateIndexFinder.js +18 -0
- package/node_modules/underscore/amd/_createReduce.js +30 -0
- package/node_modules/underscore/amd/_createSizePropertyCheck.js +13 -0
- package/node_modules/underscore/amd/_deepGet.js +15 -0
- package/node_modules/underscore/amd/_escapeMap.js +15 -0
- package/node_modules/underscore/amd/_executeBound.js +16 -0
- package/node_modules/underscore/amd/_extremum.js +35 -0
- package/node_modules/underscore/amd/_flatten.js +32 -0
- package/node_modules/underscore/amd/_forceNumericMinMax.js +16 -0
- package/node_modules/underscore/amd/_getByteLength.js +8 -0
- package/node_modules/underscore/amd/_getLength.js +8 -0
- package/node_modules/underscore/amd/_greater.js +10 -0
- package/node_modules/underscore/amd/_group.js +18 -0
- package/node_modules/underscore/amd/_has.js +10 -0
- package/node_modules/underscore/amd/_hasObjectTag.js +7 -0
- package/node_modules/underscore/amd/_isArrayLike.js +11 -0
- package/node_modules/underscore/amd/_isBufferLike.js +9 -0
- package/node_modules/underscore/amd/_keyInObj.js +11 -0
- package/node_modules/underscore/amd/_less.js +10 -0
- package/node_modules/underscore/amd/_lessEqual.js +10 -0
- package/node_modules/underscore/amd/_linearSearch.js +31 -0
- package/node_modules/underscore/amd/_mapReduce.js +5 -0
- package/node_modules/underscore/amd/_methodFingerprint.js +44 -0
- package/node_modules/underscore/amd/_optimizeCb.js +27 -0
- package/node_modules/underscore/amd/_push.js +7 -0
- package/node_modules/underscore/amd/_pusher.js +13 -0
- package/node_modules/underscore/amd/_sequence.js +18 -0
- package/node_modules/underscore/amd/_setup.js +70 -0
- package/node_modules/underscore/amd/_shallowProperty.js +12 -0
- package/node_modules/underscore/amd/_slice.js +7 -0
- package/node_modules/underscore/amd/_strictEqual.js +9 -0
- package/node_modules/underscore/amd/_stringTagBug.js +16 -0
- package/node_modules/underscore/amd/_tagTester.js +13 -0
- package/node_modules/underscore/amd/_toBufferView.js +15 -0
- package/node_modules/underscore/amd/_toPath.js +11 -0
- package/node_modules/underscore/amd/_unescapeMap.js +8 -0
- package/node_modules/underscore/amd/_unmethodize.js +9 -0
- package/node_modules/underscore/amd/_wrapArrayAccessor.js +15 -0
- package/node_modules/underscore/amd/_wrapArrayMutator.js +28 -0
- package/node_modules/underscore/amd/after.js +14 -0
- package/node_modules/underscore/amd/allKeys.js +15 -0
- package/node_modules/underscore/amd/before.js +18 -0
- package/node_modules/underscore/amd/bind.js +15 -0
- package/node_modules/underscore/amd/bindAll.js +19 -0
- package/node_modules/underscore/amd/chain.js +12 -0
- package/node_modules/underscore/amd/chunk.js +17 -0
- package/node_modules/underscore/amd/clone.js +11 -0
- package/node_modules/underscore/amd/compact.js +10 -0
- package/node_modules/underscore/amd/compose.js +18 -0
- package/node_modules/underscore/amd/concat.js +7 -0
- package/node_modules/underscore/amd/constant.js +12 -0
- package/node_modules/underscore/amd/contains.js +12 -0
- package/node_modules/underscore/amd/countBy.js +12 -0
- package/node_modules/underscore/amd/create.js +14 -0
- package/node_modules/underscore/amd/debounce.js +43 -0
- package/node_modules/underscore/amd/defaults.js +8 -0
- package/node_modules/underscore/amd/defer.js +9 -0
- package/node_modules/underscore/amd/delay.js +13 -0
- package/node_modules/underscore/amd/difference.js +14 -0
- package/node_modules/underscore/amd/each.js +25 -0
- package/node_modules/underscore/amd/escape.js +8 -0
- package/node_modules/underscore/amd/every.js +17 -0
- package/node_modules/underscore/amd/extend.js +8 -0
- package/node_modules/underscore/amd/extendOwn.js +10 -0
- package/node_modules/underscore/amd/filter.js +15 -0
- package/node_modules/underscore/amd/find.js +12 -0
- package/node_modules/underscore/amd/findIndex.js +8 -0
- package/node_modules/underscore/amd/findKey.js +15 -0
- package/node_modules/underscore/amd/findLastIndex.js +8 -0
- package/node_modules/underscore/amd/findWhere.js +11 -0
- package/node_modules/underscore/amd/first.js +13 -0
- package/node_modules/underscore/amd/flatten.js +11 -0
- package/node_modules/underscore/amd/functions.js +14 -0
- package/node_modules/underscore/amd/get.js +14 -0
- package/node_modules/underscore/amd/groupBy.js +11 -0
- package/node_modules/underscore/amd/has.js +19 -0
- package/node_modules/underscore/amd/identity.js +10 -0
- package/node_modules/underscore/amd/index-default.js +12 -0
- package/node_modules/underscore/amd/index.js +154 -0
- package/node_modules/underscore/amd/indexBy.js +11 -0
- package/node_modules/underscore/amd/indexOf.js +11 -0
- package/node_modules/underscore/amd/initial.js +12 -0
- package/node_modules/underscore/amd/intersection.js +22 -0
- package/node_modules/underscore/amd/invert.js +15 -0
- package/node_modules/underscore/amd/invoke.js +28 -0
- package/node_modules/underscore/amd/isArguments.js +19 -0
- package/node_modules/underscore/amd/isArray.js +9 -0
- package/node_modules/underscore/amd/isArrayBuffer.js +7 -0
- package/node_modules/underscore/amd/isBoolean.js +10 -0
- package/node_modules/underscore/amd/isDataView.js +15 -0
- package/node_modules/underscore/amd/isDate.js +7 -0
- package/node_modules/underscore/amd/isElement.js +10 -0
- package/node_modules/underscore/amd/isEmpty.js +18 -0
- package/node_modules/underscore/amd/isEqual.js +133 -0
- package/node_modules/underscore/amd/isError.js +7 -0
- package/node_modules/underscore/amd/isFinite.js +10 -0
- package/node_modules/underscore/amd/isFunction.js +18 -0
- package/node_modules/underscore/amd/isMap.js +7 -0
- package/node_modules/underscore/amd/isMatch.js +17 -0
- package/node_modules/underscore/amd/isNaN.js +10 -0
- package/node_modules/underscore/amd/isNull.js +10 -0
- package/node_modules/underscore/amd/isNumber.js +7 -0
- package/node_modules/underscore/amd/isObject.js +11 -0
- package/node_modules/underscore/amd/isRegExp.js +7 -0
- package/node_modules/underscore/amd/isSet.js +7 -0
- package/node_modules/underscore/amd/isString.js +7 -0
- package/node_modules/underscore/amd/isSymbol.js +7 -0
- package/node_modules/underscore/amd/isTypedArray.js +16 -0
- package/node_modules/underscore/amd/isUndefined.js +10 -0
- package/node_modules/underscore/amd/isWeakMap.js +7 -0
- package/node_modules/underscore/amd/isWeakSet.js +7 -0
- package/node_modules/underscore/amd/iteratee.js +13 -0
- package/node_modules/underscore/amd/join.js +7 -0
- package/node_modules/underscore/amd/keys.js +17 -0
- package/node_modules/underscore/amd/last.js +13 -0
- package/node_modules/underscore/amd/lastIndexOf.js +9 -0
- package/node_modules/underscore/amd/map.js +18 -0
- package/node_modules/underscore/amd/mapObject.js +19 -0
- package/node_modules/underscore/amd/matcher.js +14 -0
- package/node_modules/underscore/amd/max.js +30 -0
- package/node_modules/underscore/amd/memoize.js +17 -0
- package/node_modules/underscore/amd/min.js +30 -0
- package/node_modules/underscore/amd/mixin.js +18 -0
- package/node_modules/underscore/amd/negate.js +12 -0
- package/node_modules/underscore/amd/noop.js +8 -0
- package/node_modules/underscore/amd/now.js +10 -0
- package/node_modules/underscore/amd/object.js +20 -0
- package/node_modules/underscore/amd/omit.js +20 -0
- package/node_modules/underscore/amd/once.js +9 -0
- package/node_modules/underscore/amd/pairs.js +17 -0
- package/node_modules/underscore/amd/partial.js +25 -0
- package/node_modules/underscore/amd/partition.js +11 -0
- package/node_modules/underscore/amd/pick.js +25 -0
- package/node_modules/underscore/amd/pluck.js +10 -0
- package/node_modules/underscore/amd/pop.js +7 -0
- package/node_modules/underscore/amd/property.js +14 -0
- package/node_modules/underscore/amd/propertyOf.js +13 -0
- package/node_modules/underscore/amd/push.js +7 -0
- package/node_modules/underscore/amd/random.js +14 -0
- package/node_modules/underscore/amd/range.js +27 -0
- package/node_modules/underscore/amd/reduce.js +9 -0
- package/node_modules/underscore/amd/reduceRight.js +8 -0
- package/node_modules/underscore/amd/reject.js +10 -0
- package/node_modules/underscore/amd/rest.js +12 -0
- package/node_modules/underscore/amd/restArguments.js +33 -0
- package/node_modules/underscore/amd/result.js +25 -0
- package/node_modules/underscore/amd/reverse.js +7 -0
- package/node_modules/underscore/amd/sample.js +27 -0
- package/node_modules/underscore/amd/shift.js +7 -0
- package/node_modules/underscore/amd/shuffle.js +10 -0
- package/node_modules/underscore/amd/size.js +11 -0
- package/node_modules/underscore/amd/slice.js +7 -0
- package/node_modules/underscore/amd/some.js +17 -0
- package/node_modules/underscore/amd/sort.js +7 -0
- package/node_modules/underscore/amd/sortBy.js +26 -0
- package/node_modules/underscore/amd/sortedIndex.js +18 -0
- package/node_modules/underscore/amd/sortedLastIndex.js +11 -0
- package/node_modules/underscore/amd/splice.js +7 -0
- package/node_modules/underscore/amd/tap.js +13 -0
- package/node_modules/underscore/amd/template.js +95 -0
- package/node_modules/underscore/amd/templateSettings.js +13 -0
- package/node_modules/underscore/amd/throttle.js +51 -0
- package/node_modules/underscore/amd/times.js +13 -0
- package/node_modules/underscore/amd/toArray.js +18 -0
- package/node_modules/underscore/amd/toPath.js +12 -0
- package/node_modules/underscore/amd/toString.js +11 -0
- package/node_modules/underscore/amd/underscore-array-methods.js +30 -0
- package/node_modules/underscore/amd/underscore.js +29 -0
- package/node_modules/underscore/amd/unescape.js +8 -0
- package/node_modules/underscore/amd/union.js +11 -0
- package/node_modules/underscore/amd/uniq.js +37 -0
- package/node_modules/underscore/amd/uniqueId.js +13 -0
- package/node_modules/underscore/amd/unshift.js +7 -0
- package/node_modules/underscore/amd/unzip.js +17 -0
- package/node_modules/underscore/amd/value.js +13 -0
- package/node_modules/underscore/amd/values.js +16 -0
- package/node_modules/underscore/amd/where.js +11 -0
- package/node_modules/underscore/amd/without.js +10 -0
- package/node_modules/underscore/amd/wrap.js +12 -0
- package/node_modules/underscore/amd/zip.js +9 -0
- package/node_modules/underscore/cjs/_apply.js +6 -0
- package/node_modules/underscore/cjs/_applyProperty.js +10 -0
- package/node_modules/underscore/cjs/_arrayAccessors.js +11 -0
- package/node_modules/underscore/cjs/_arrayMutators.js +19 -0
- package/node_modules/underscore/cjs/_baseCreate.js +20 -0
- package/node_modules/underscore/cjs/_baseIteratee.js +19 -0
- package/node_modules/underscore/cjs/_binarySearch.js +15 -0
- package/node_modules/underscore/cjs/_bindCb.js +10 -0
- package/node_modules/underscore/cjs/_bindCb4.js +13 -0
- package/node_modules/underscore/cjs/_byValue.js +7 -0
- package/node_modules/underscore/cjs/_cb.js +12 -0
- package/node_modules/underscore/cjs/_chainResult.js +8 -0
- package/node_modules/underscore/cjs/_collectNonEnumProps.js +42 -0
- package/node_modules/underscore/cjs/_createAssigner.js +20 -0
- package/node_modules/underscore/cjs/_createEscaper.js +19 -0
- package/node_modules/underscore/cjs/_createIndexFinder.js +30 -0
- package/node_modules/underscore/cjs/_createPredicateIndexFinder.js +17 -0
- package/node_modules/underscore/cjs/_createReduce.js +30 -0
- package/node_modules/underscore/cjs/_createSizePropertyCheck.js +11 -0
- package/node_modules/underscore/cjs/_deepGet.js +11 -0
- package/node_modules/underscore/cjs/_escapeMap.js +11 -0
- package/node_modules/underscore/cjs/_executeBound.js +15 -0
- package/node_modules/underscore/cjs/_extremum.js +35 -0
- package/node_modules/underscore/cjs/_flatten.js +33 -0
- package/node_modules/underscore/cjs/_forceNumericMinMax.js +14 -0
- package/node_modules/underscore/cjs/_getByteLength.js +6 -0
- package/node_modules/underscore/cjs/_getLength.js +6 -0
- package/node_modules/underscore/cjs/_greater.js +6 -0
- package/node_modules/underscore/cjs/_group.js +17 -0
- package/node_modules/underscore/cjs/_has.js +8 -0
- package/node_modules/underscore/cjs/_hasObjectTag.js +5 -0
- package/node_modules/underscore/cjs/_isArrayLike.js +10 -0
- package/node_modules/underscore/cjs/_isBufferLike.js +8 -0
- package/node_modules/underscore/cjs/_keyInObj.js +7 -0
- package/node_modules/underscore/cjs/_less.js +6 -0
- package/node_modules/underscore/cjs/_lessEqual.js +6 -0
- package/node_modules/underscore/cjs/_linearSearch.js +30 -0
- package/node_modules/underscore/cjs/_mapReduce.js +1 -0
- package/node_modules/underscore/cjs/_methodFingerprint.js +44 -0
- package/node_modules/underscore/cjs/_optimizeCb.js +23 -0
- package/node_modules/underscore/cjs/_push.js +6 -0
- package/node_modules/underscore/cjs/_pusher.js +9 -0
- package/node_modules/underscore/cjs/_sequence.js +14 -0
- package/node_modules/underscore/cjs/_setup.js +66 -0
- package/node_modules/underscore/cjs/_shallowProperty.js +8 -0
- package/node_modules/underscore/cjs/_slice.js +6 -0
- package/node_modules/underscore/cjs/_strictEqual.js +5 -0
- package/node_modules/underscore/cjs/_stringTagBug.js +15 -0
- package/node_modules/underscore/cjs/_tagTester.js +11 -0
- package/node_modules/underscore/cjs/_toBufferView.js +13 -0
- package/node_modules/underscore/cjs/_toPath.js +10 -0
- package/node_modules/underscore/cjs/_unescapeMap.js +7 -0
- package/node_modules/underscore/cjs/_unmethodize.js +8 -0
- package/node_modules/underscore/cjs/_wrapArrayAccessor.js +14 -0
- package/node_modules/underscore/cjs/_wrapArrayMutator.js +29 -0
- package/node_modules/underscore/cjs/after.js +10 -0
- package/node_modules/underscore/cjs/allKeys.js +15 -0
- package/node_modules/underscore/cjs/before.js +14 -0
- package/node_modules/underscore/cjs/bind.js +15 -0
- package/node_modules/underscore/cjs/bindAll.js +19 -0
- package/node_modules/underscore/cjs/chain.js +10 -0
- package/node_modules/underscore/cjs/chunk.js +15 -0
- package/node_modules/underscore/cjs/clone.js +11 -0
- package/node_modules/underscore/cjs/compact.js +8 -0
- package/node_modules/underscore/cjs/compose.js +14 -0
- package/node_modules/underscore/cjs/concat.js +6 -0
- package/node_modules/underscore/cjs/constant.js +8 -0
- package/node_modules/underscore/cjs/contains.js +12 -0
- package/node_modules/underscore/cjs/countBy.js +11 -0
- package/node_modules/underscore/cjs/create.js +13 -0
- package/node_modules/underscore/cjs/debounce.js +42 -0
- package/node_modules/underscore/cjs/defaults.js +7 -0
- package/node_modules/underscore/cjs/defer.js +9 -0
- package/node_modules/underscore/cjs/delay.js +11 -0
- package/node_modules/underscore/cjs/difference.js +15 -0
- package/node_modules/underscore/cjs/each.js +25 -0
- package/node_modules/underscore/cjs/escape.js +7 -0
- package/node_modules/underscore/cjs/every.js +17 -0
- package/node_modules/underscore/cjs/extend.js +7 -0
- package/node_modules/underscore/cjs/extendOwn.js +9 -0
- package/node_modules/underscore/cjs/filter.js +14 -0
- package/node_modules/underscore/cjs/find.js +12 -0
- package/node_modules/underscore/cjs/findIndex.js +6 -0
- package/node_modules/underscore/cjs/findKey.js +14 -0
- package/node_modules/underscore/cjs/findLastIndex.js +6 -0
- package/node_modules/underscore/cjs/findWhere.js +10 -0
- package/node_modules/underscore/cjs/first.js +11 -0
- package/node_modules/underscore/cjs/flatten.js +9 -0
- package/node_modules/underscore/cjs/functions.js +12 -0
- package/node_modules/underscore/cjs/get.js +14 -0
- package/node_modules/underscore/cjs/groupBy.js +10 -0
- package/node_modules/underscore/cjs/has.js +18 -0
- package/node_modules/underscore/cjs/identity.js +6 -0
- package/node_modules/underscore/cjs/index-default.js +11 -0
- package/node_modules/underscore/cjs/index.js +277 -0
- package/node_modules/underscore/cjs/indexBy.js +9 -0
- package/node_modules/underscore/cjs/indexOf.js +11 -0
- package/node_modules/underscore/cjs/initial.js +10 -0
- package/node_modules/underscore/cjs/intersection.js +21 -0
- package/node_modules/underscore/cjs/invert.js +13 -0
- package/node_modules/underscore/cjs/invoke.js +30 -0
- package/node_modules/underscore/cjs/isArguments.js +18 -0
- package/node_modules/underscore/cjs/isArray.js +8 -0
- package/node_modules/underscore/cjs/isArrayBuffer.js +5 -0
- package/node_modules/underscore/cjs/isBoolean.js +8 -0
- package/node_modules/underscore/cjs/isDataView.js +16 -0
- package/node_modules/underscore/cjs/isDate.js +5 -0
- package/node_modules/underscore/cjs/isElement.js +6 -0
- package/node_modules/underscore/cjs/isEmpty.js +20 -0
- package/node_modules/underscore/cjs/isEqual.js +140 -0
- package/node_modules/underscore/cjs/isError.js +5 -0
- package/node_modules/underscore/cjs/isFinite.js +9 -0
- package/node_modules/underscore/cjs/isFunction.js +17 -0
- package/node_modules/underscore/cjs/isMap.js +7 -0
- package/node_modules/underscore/cjs/isMatch.js +15 -0
- package/node_modules/underscore/cjs/isNaN.js +9 -0
- package/node_modules/underscore/cjs/isNull.js +6 -0
- package/node_modules/underscore/cjs/isNumber.js +5 -0
- package/node_modules/underscore/cjs/isObject.js +7 -0
- package/node_modules/underscore/cjs/isRegExp.js +5 -0
- package/node_modules/underscore/cjs/isSet.js +7 -0
- package/node_modules/underscore/cjs/isString.js +5 -0
- package/node_modules/underscore/cjs/isSymbol.js +5 -0
- package/node_modules/underscore/cjs/isTypedArray.js +17 -0
- package/node_modules/underscore/cjs/isUndefined.js +6 -0
- package/node_modules/underscore/cjs/isWeakMap.js +7 -0
- package/node_modules/underscore/cjs/isWeakSet.js +5 -0
- package/node_modules/underscore/cjs/iteratee.js +12 -0
- package/node_modules/underscore/cjs/join.js +6 -0
- package/node_modules/underscore/cjs/keys.js +18 -0
- package/node_modules/underscore/cjs/last.js +11 -0
- package/node_modules/underscore/cjs/lastIndexOf.js +8 -0
- package/node_modules/underscore/cjs/map.js +18 -0
- package/node_modules/underscore/cjs/mapObject.js +18 -0
- package/node_modules/underscore/cjs/matcher.js +13 -0
- package/node_modules/underscore/cjs/max.js +31 -0
- package/node_modules/underscore/cjs/memoize.js +15 -0
- package/node_modules/underscore/cjs/min.js +31 -0
- package/node_modules/underscore/cjs/mixin.js +20 -0
- package/node_modules/underscore/cjs/negate.js +8 -0
- package/node_modules/underscore/cjs/noop.js +4 -0
- package/node_modules/underscore/cjs/now.js +6 -0
- package/node_modules/underscore/cjs/object.js +18 -0
- package/node_modules/underscore/cjs/omit.js +24 -0
- package/node_modules/underscore/cjs/once.js +8 -0
- package/node_modules/underscore/cjs/pairs.js +15 -0
- package/node_modules/underscore/cjs/partial.js +25 -0
- package/node_modules/underscore/cjs/partition.js +9 -0
- package/node_modules/underscore/cjs/pick.js +28 -0
- package/node_modules/underscore/cjs/pluck.js +9 -0
- package/node_modules/underscore/cjs/pop.js +6 -0
- package/node_modules/underscore/cjs/property.js +13 -0
- package/node_modules/underscore/cjs/propertyOf.js +12 -0
- package/node_modules/underscore/cjs/push.js +6 -0
- package/node_modules/underscore/cjs/random.js +10 -0
- package/node_modules/underscore/cjs/range.js +23 -0
- package/node_modules/underscore/cjs/reduce.js +7 -0
- package/node_modules/underscore/cjs/reduceRight.js +6 -0
- package/node_modules/underscore/cjs/reject.js +10 -0
- package/node_modules/underscore/cjs/rest.js +10 -0
- package/node_modules/underscore/cjs/restArguments.js +29 -0
- package/node_modules/underscore/cjs/result.js +24 -0
- package/node_modules/underscore/cjs/reverse.js +6 -0
- package/node_modules/underscore/cjs/sample.js +29 -0
- package/node_modules/underscore/cjs/shift.js +6 -0
- package/node_modules/underscore/cjs/shuffle.js +8 -0
- package/node_modules/underscore/cjs/size.js +10 -0
- package/node_modules/underscore/cjs/slice.js +6 -0
- package/node_modules/underscore/cjs/some.js +17 -0
- package/node_modules/underscore/cjs/sort.js +6 -0
- package/node_modules/underscore/cjs/sortBy.js +26 -0
- package/node_modules/underscore/cjs/sortedIndex.js +17 -0
- package/node_modules/underscore/cjs/sortedLastIndex.js +11 -0
- package/node_modules/underscore/cjs/splice.js +6 -0
- package/node_modules/underscore/cjs/tap.js +9 -0
- package/node_modules/underscore/cjs/template.js +95 -0
- package/node_modules/underscore/cjs/templateSettings.js +11 -0
- package/node_modules/underscore/cjs/throttle.js +49 -0
- package/node_modules/underscore/cjs/times.js +11 -0
- package/node_modules/underscore/cjs/toArray.js +22 -0
- package/node_modules/underscore/cjs/toPath.js +11 -0
- package/node_modules/underscore/cjs/toString.js +9 -0
- package/node_modules/underscore/cjs/underscore-array-methods.js +31 -0
- package/node_modules/underscore/cjs/underscore.js +27 -0
- package/node_modules/underscore/cjs/unescape.js +7 -0
- package/node_modules/underscore/cjs/union.js +11 -0
- package/node_modules/underscore/cjs/uniq.js +38 -0
- package/node_modules/underscore/cjs/uniqueId.js +9 -0
- package/node_modules/underscore/cjs/unshift.js +6 -0
- package/node_modules/underscore/cjs/unzip.js +17 -0
- package/node_modules/underscore/cjs/value.js +9 -0
- package/node_modules/underscore/cjs/values.js +14 -0
- package/node_modules/underscore/cjs/where.js +10 -0
- package/node_modules/underscore/cjs/without.js +9 -0
- package/node_modules/underscore/cjs/wrap.js +10 -0
- package/node_modules/underscore/cjs/zip.js +8 -0
- package/node_modules/underscore/modules/.eslintrc +12 -0
- package/node_modules/underscore/modules/_baseCreate.js +18 -0
- package/node_modules/underscore/modules/_baseIteratee.js +17 -0
- package/node_modules/underscore/modules/_cb.js +10 -0
- package/node_modules/underscore/modules/_chainResult.js +6 -0
- package/node_modules/underscore/modules/_collectNonEnumProps.js +40 -0
- package/node_modules/underscore/modules/_createAssigner.js +18 -0
- package/node_modules/underscore/modules/_createEscaper.js +17 -0
- package/node_modules/underscore/modules/_createIndexFinder.js +28 -0
- package/node_modules/underscore/modules/_createPredicateIndexFinder.js +15 -0
- package/node_modules/underscore/modules/_createReduce.js +28 -0
- package/node_modules/underscore/modules/_createSizePropertyCheck.js +9 -0
- package/node_modules/underscore/modules/_deepGet.js +9 -0
- package/node_modules/underscore/modules/_escapeMap.js +9 -0
- package/node_modules/underscore/modules/_executeBound.js +13 -0
- package/node_modules/underscore/modules/_flatten.js +31 -0
- package/node_modules/underscore/modules/_getByteLength.js +4 -0
- package/node_modules/underscore/modules/_getLength.js +4 -0
- package/node_modules/underscore/modules/_group.js +15 -0
- package/node_modules/underscore/modules/_has.js +6 -0
- package/node_modules/underscore/modules/_hasObjectTag.js +3 -0
- package/node_modules/underscore/modules/_isArrayLike.js +8 -0
- package/node_modules/underscore/modules/_isBufferLike.js +6 -0
- package/node_modules/underscore/modules/_keyInObj.js +5 -0
- package/node_modules/underscore/modules/_methodFingerprint.js +37 -0
- package/node_modules/underscore/modules/_optimizeCb.js +21 -0
- package/node_modules/underscore/modules/_setup.js +43 -0
- package/node_modules/underscore/modules/_shallowProperty.js +6 -0
- package/node_modules/underscore/modules/_stringTagBug.js +10 -0
- package/node_modules/underscore/modules/_tagTester.js +9 -0
- package/node_modules/underscore/modules/_toBufferView.js +11 -0
- package/node_modules/underscore/modules/_toPath.js +8 -0
- package/node_modules/underscore/modules/_unescapeMap.js +5 -0
- package/node_modules/underscore/modules/after.js +8 -0
- package/node_modules/underscore/modules/allKeys.js +13 -0
- package/node_modules/underscore/modules/before.js +12 -0
- package/node_modules/underscore/modules/bind.js +13 -0
- package/node_modules/underscore/modules/bindAll.js +17 -0
- package/node_modules/underscore/modules/chain.js +8 -0
- package/node_modules/underscore/modules/chunk.js +13 -0
- package/node_modules/underscore/modules/clone.js +9 -0
- package/node_modules/underscore/modules/compact.js +6 -0
- package/node_modules/underscore/modules/compose.js +12 -0
- package/node_modules/underscore/modules/constant.js +6 -0
- package/node_modules/underscore/modules/contains.js +10 -0
- package/node_modules/underscore/modules/countBy.js +9 -0
- package/node_modules/underscore/modules/create.js +11 -0
- package/node_modules/underscore/modules/debounce.js +40 -0
- package/node_modules/underscore/modules/defaults.js +5 -0
- package/node_modules/underscore/modules/defer.js +7 -0
- package/node_modules/underscore/modules/delay.js +9 -0
- package/node_modules/underscore/modules/difference.js +13 -0
- package/node_modules/underscore/modules/each.js +23 -0
- package/node_modules/underscore/modules/escape.js +5 -0
- package/node_modules/underscore/modules/every.js +15 -0
- package/node_modules/underscore/modules/extend.js +5 -0
- package/node_modules/underscore/modules/extendOwn.js +7 -0
- package/node_modules/underscore/modules/filter.js +12 -0
- package/node_modules/underscore/modules/find.js +10 -0
- package/node_modules/underscore/modules/findIndex.js +4 -0
- package/node_modules/underscore/modules/findKey.js +12 -0
- package/node_modules/underscore/modules/findLastIndex.js +4 -0
- package/node_modules/underscore/modules/findWhere.js +8 -0
- package/node_modules/underscore/modules/first.js +9 -0
- package/node_modules/underscore/modules/flatten.js +7 -0
- package/node_modules/underscore/modules/functions.js +10 -0
- package/node_modules/underscore/modules/get.js +12 -0
- package/node_modules/underscore/modules/groupBy.js +8 -0
- package/node_modules/underscore/modules/has.js +16 -0
- package/node_modules/underscore/modules/identity.js +4 -0
- package/node_modules/underscore/modules/index-all.js +18 -0
- package/node_modules/underscore/modules/index-default.js +27 -0
- package/node_modules/underscore/modules/index.js +200 -0
- package/node_modules/underscore/modules/indexBy.js +7 -0
- package/node_modules/underscore/modules/indexOf.js +9 -0
- package/node_modules/underscore/modules/initial.js +8 -0
- package/node_modules/underscore/modules/intersection.js +19 -0
- package/node_modules/underscore/modules/invert.js +11 -0
- package/node_modules/underscore/modules/invoke.js +28 -0
- package/node_modules/underscore/modules/isArguments.js +16 -0
- package/node_modules/underscore/modules/isArray.js +6 -0
- package/node_modules/underscore/modules/isArrayBuffer.js +3 -0
- package/node_modules/underscore/modules/isBoolean.js +6 -0
- package/node_modules/underscore/modules/isDataView.js +14 -0
- package/node_modules/underscore/modules/isDate.js +3 -0
- package/node_modules/underscore/modules/isElement.js +4 -0
- package/node_modules/underscore/modules/isEmpty.js +18 -0
- package/node_modules/underscore/modules/isEqual.js +138 -0
- package/node_modules/underscore/modules/isError.js +3 -0
- package/node_modules/underscore/modules/isFinite.js +7 -0
- package/node_modules/underscore/modules/isFunction.js +15 -0
- package/node_modules/underscore/modules/isMap.js +5 -0
- package/node_modules/underscore/modules/isMatch.js +13 -0
- package/node_modules/underscore/modules/isNaN.js +7 -0
- package/node_modules/underscore/modules/isNull.js +4 -0
- package/node_modules/underscore/modules/isNumber.js +3 -0
- package/node_modules/underscore/modules/isObject.js +5 -0
- package/node_modules/underscore/modules/isRegExp.js +3 -0
- package/node_modules/underscore/modules/isSet.js +5 -0
- package/node_modules/underscore/modules/isString.js +3 -0
- package/node_modules/underscore/modules/isSymbol.js +3 -0
- package/node_modules/underscore/modules/isTypedArray.js +15 -0
- package/node_modules/underscore/modules/isUndefined.js +4 -0
- package/node_modules/underscore/modules/isWeakMap.js +5 -0
- package/node_modules/underscore/modules/isWeakSet.js +3 -0
- package/node_modules/underscore/modules/iteratee.js +10 -0
- package/node_modules/underscore/modules/keys.js +16 -0
- package/node_modules/underscore/modules/last.js +9 -0
- package/node_modules/underscore/modules/lastIndexOf.js +6 -0
- package/node_modules/underscore/modules/map.js +16 -0
- package/node_modules/underscore/modules/mapObject.js +16 -0
- package/node_modules/underscore/modules/matcher.js +11 -0
- package/node_modules/underscore/modules/max.js +29 -0
- package/node_modules/underscore/modules/memoize.js +13 -0
- package/node_modules/underscore/modules/min.js +29 -0
- package/node_modules/underscore/modules/mixin.js +18 -0
- package/node_modules/underscore/modules/negate.js +6 -0
- package/node_modules/underscore/modules/noop.js +2 -0
- package/node_modules/underscore/modules/now.js +4 -0
- package/node_modules/underscore/modules/object.js +16 -0
- package/node_modules/underscore/modules/omit.js +22 -0
- package/node_modules/underscore/modules/once.js +6 -0
- package/node_modules/underscore/modules/pairs.js +13 -0
- package/node_modules/underscore/modules/partial.js +24 -0
- package/node_modules/underscore/modules/partition.js +7 -0
- package/node_modules/underscore/modules/pick.js +26 -0
- package/node_modules/underscore/modules/pluck.js +7 -0
- package/node_modules/underscore/modules/property.js +11 -0
- package/node_modules/underscore/modules/propertyOf.js +10 -0
- package/node_modules/underscore/modules/random.js +8 -0
- package/node_modules/underscore/modules/range.js +21 -0
- package/node_modules/underscore/modules/reduce.js +5 -0
- package/node_modules/underscore/modules/reduceRight.js +4 -0
- package/node_modules/underscore/modules/reject.js +8 -0
- package/node_modules/underscore/modules/rest.js +8 -0
- package/node_modules/underscore/modules/restArguments.js +27 -0
- package/node_modules/underscore/modules/result.js +22 -0
- package/node_modules/underscore/modules/sample.js +27 -0
- package/node_modules/underscore/modules/shuffle.js +6 -0
- package/node_modules/underscore/modules/size.js +8 -0
- package/node_modules/underscore/modules/some.js +15 -0
- package/node_modules/underscore/modules/sortBy.js +24 -0
- package/node_modules/underscore/modules/sortedIndex.js +15 -0
- package/node_modules/underscore/modules/tap.js +7 -0
- package/node_modules/underscore/modules/template.js +93 -0
- package/node_modules/underscore/modules/templateSettings.js +9 -0
- package/node_modules/underscore/modules/throttle.js +47 -0
- package/node_modules/underscore/modules/times.js +9 -0
- package/node_modules/underscore/modules/toArray.js +20 -0
- package/node_modules/underscore/modules/toPath.js +9 -0
- package/node_modules/underscore/modules/underscore-array-methods.js +31 -0
- package/node_modules/underscore/modules/underscore.js +25 -0
- package/node_modules/underscore/modules/unescape.js +5 -0
- package/node_modules/underscore/modules/union.js +9 -0
- package/node_modules/underscore/modules/uniq.js +36 -0
- package/node_modules/underscore/modules/uniqueId.js +7 -0
- package/node_modules/underscore/modules/unzip.js +15 -0
- package/node_modules/underscore/modules/values.js +12 -0
- package/node_modules/underscore/modules/where.js +8 -0
- package/node_modules/underscore/modules/without.js +7 -0
- package/node_modules/underscore/modules/wrap.js +8 -0
- package/node_modules/underscore/modules/zip.js +6 -0
- package/node_modules/underscore/package.json +76 -0
- package/node_modules/underscore/underscore-esm-min.js +5 -0
- package/node_modules/underscore/underscore-esm-min.js.map +1 -0
- package/node_modules/underscore/underscore-esm.js +2026 -0
- package/node_modules/underscore/underscore-esm.js.map +1 -0
- package/node_modules/underscore/underscore-min.js +6 -0
- package/node_modules/underscore/underscore-min.js.map +1 -0
- package/node_modules/underscore/underscore.js +2034 -0
- package/node_modules/underscore/underscore.js.map +1 -0
- package/node_modules/word-wrap/LICENSE +21 -0
- package/node_modules/word-wrap/README.md +201 -0
- package/node_modules/word-wrap/index.d.ts +50 -0
- package/node_modules/word-wrap/index.js +61 -0
- package/node_modules/word-wrap/package.json +77 -0
- package/package.json +5 -1
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
# type-check [](https://travis-ci.org/gkz/type-check)
|
|
2
|
+
|
|
3
|
+
<a name="type-check" />
|
|
4
|
+
|
|
5
|
+
`type-check` is a library which allows you to check the types of JavaScript values at runtime with a Haskell like type syntax. It is great for checking external input, for testing, or even for adding a bit of safety to your internal code. It is a major component of [levn](https://github.com/gkz/levn). MIT license. Version 0.3.2. Check out the [demo](http://gkz.github.io/type-check/).
|
|
6
|
+
|
|
7
|
+
For updates on `type-check`, [follow me on twitter](https://twitter.com/gkzahariev).
|
|
8
|
+
|
|
9
|
+
npm install type-check
|
|
10
|
+
|
|
11
|
+
## Quick Examples
|
|
12
|
+
|
|
13
|
+
```js
|
|
14
|
+
// Basic types:
|
|
15
|
+
var typeCheck = require('type-check').typeCheck;
|
|
16
|
+
typeCheck('Number', 1); // true
|
|
17
|
+
typeCheck('Number', 'str'); // false
|
|
18
|
+
typeCheck('Error', new Error); // true
|
|
19
|
+
typeCheck('Undefined', undefined); // true
|
|
20
|
+
|
|
21
|
+
// Comment
|
|
22
|
+
typeCheck('count::Number', 1); // true
|
|
23
|
+
|
|
24
|
+
// One type OR another type:
|
|
25
|
+
typeCheck('Number | String', 2); // true
|
|
26
|
+
typeCheck('Number | String', 'str'); // true
|
|
27
|
+
|
|
28
|
+
// Wildcard, matches all types:
|
|
29
|
+
typeCheck('*', 2) // true
|
|
30
|
+
|
|
31
|
+
// Array, all elements of a single type:
|
|
32
|
+
typeCheck('[Number]', [1, 2, 3]); // true
|
|
33
|
+
typeCheck('[Number]', [1, 'str', 3]); // false
|
|
34
|
+
|
|
35
|
+
// Tuples, or fixed length arrays with elements of different types:
|
|
36
|
+
typeCheck('(String, Number)', ['str', 2]); // true
|
|
37
|
+
typeCheck('(String, Number)', ['str']); // false
|
|
38
|
+
typeCheck('(String, Number)', ['str', 2, 5]); // false
|
|
39
|
+
|
|
40
|
+
// Object properties:
|
|
41
|
+
typeCheck('{x: Number, y: Boolean}', {x: 2, y: false}); // true
|
|
42
|
+
typeCheck('{x: Number, y: Boolean}', {x: 2}); // false
|
|
43
|
+
typeCheck('{x: Number, y: Maybe Boolean}', {x: 2}); // true
|
|
44
|
+
typeCheck('{x: Number, y: Boolean}', {x: 2, y: false, z: 3}); // false
|
|
45
|
+
typeCheck('{x: Number, y: Boolean, ...}', {x: 2, y: false, z: 3}); // true
|
|
46
|
+
|
|
47
|
+
// A particular type AND object properties:
|
|
48
|
+
typeCheck('RegExp{source: String, ...}', /re/i); // true
|
|
49
|
+
typeCheck('RegExp{source: String, ...}', {source: 're'}); // false
|
|
50
|
+
|
|
51
|
+
// Custom types:
|
|
52
|
+
var opt = {customTypes:
|
|
53
|
+
{Even: { typeOf: 'Number', validate: function(x) { return x % 2 === 0; }}}};
|
|
54
|
+
typeCheck('Even', 2, opt); // true
|
|
55
|
+
|
|
56
|
+
// Nested:
|
|
57
|
+
var type = '{a: (String, [Number], {y: Array, ...}), b: Error{message: String, ...}}'
|
|
58
|
+
typeCheck(type, {a: ['hi', [1, 2, 3], {y: [1, 'ms']}], b: new Error('oh no')}); // true
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Check out the [type syntax format](#syntax) and [guide](#guide).
|
|
62
|
+
|
|
63
|
+
## Usage
|
|
64
|
+
|
|
65
|
+
`require('type-check');` returns an object that exposes four properties. `VERSION` is the current version of the library as a string. `typeCheck`, `parseType`, and `parsedTypeCheck` are functions.
|
|
66
|
+
|
|
67
|
+
```js
|
|
68
|
+
// typeCheck(type, input, options);
|
|
69
|
+
typeCheck('Number', 2); // true
|
|
70
|
+
|
|
71
|
+
// parseType(type);
|
|
72
|
+
var parsedType = parseType('Number'); // object
|
|
73
|
+
|
|
74
|
+
// parsedTypeCheck(parsedType, input, options);
|
|
75
|
+
parsedTypeCheck(parsedType, 2); // true
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### typeCheck(type, input, options)
|
|
79
|
+
|
|
80
|
+
`typeCheck` checks a JavaScript value `input` against `type` written in the [type format](#type-format) (and taking account the optional `options`) and returns whether the `input` matches the `type`.
|
|
81
|
+
|
|
82
|
+
##### arguments
|
|
83
|
+
* type - `String` - the type written in the [type format](#type-format) which to check against
|
|
84
|
+
* input - `*` - any JavaScript value, which is to be checked against the type
|
|
85
|
+
* options - `Maybe Object` - an optional parameter specifying additional options, currently the only available option is specifying [custom types](#custom-types)
|
|
86
|
+
|
|
87
|
+
##### returns
|
|
88
|
+
`Boolean` - whether the input matches the type
|
|
89
|
+
|
|
90
|
+
##### example
|
|
91
|
+
```js
|
|
92
|
+
typeCheck('Number', 2); // true
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### parseType(type)
|
|
96
|
+
|
|
97
|
+
`parseType` parses string `type` written in the [type format](#type-format) into an object representing the parsed type.
|
|
98
|
+
|
|
99
|
+
##### arguments
|
|
100
|
+
* type - `String` - the type written in the [type format](#type-format) which to parse
|
|
101
|
+
|
|
102
|
+
##### returns
|
|
103
|
+
`Object` - an object in the parsed type format representing the parsed type
|
|
104
|
+
|
|
105
|
+
##### example
|
|
106
|
+
```js
|
|
107
|
+
parseType('Number'); // [{type: 'Number'}]
|
|
108
|
+
```
|
|
109
|
+
### parsedTypeCheck(parsedType, input, options)
|
|
110
|
+
|
|
111
|
+
`parsedTypeCheck` checks a JavaScript value `input` against parsed `type` in the parsed type format (and taking account the optional `options`) and returns whether the `input` matches the `type`. Use this in conjunction with `parseType` if you are going to use a type more than once.
|
|
112
|
+
|
|
113
|
+
##### arguments
|
|
114
|
+
* type - `Object` - the type in the parsed type format which to check against
|
|
115
|
+
* input - `*` - any JavaScript value, which is to be checked against the type
|
|
116
|
+
* options - `Maybe Object` - an optional parameter specifying additional options, currently the only available option is specifying [custom types](#custom-types)
|
|
117
|
+
|
|
118
|
+
##### returns
|
|
119
|
+
`Boolean` - whether the input matches the type
|
|
120
|
+
|
|
121
|
+
##### example
|
|
122
|
+
```js
|
|
123
|
+
parsedTypeCheck([{type: 'Number'}], 2); // true
|
|
124
|
+
var parsedType = parseType('String');
|
|
125
|
+
parsedTypeCheck(parsedType, 'str'); // true
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
<a name="type-format" />
|
|
129
|
+
## Type Format
|
|
130
|
+
|
|
131
|
+
### Syntax
|
|
132
|
+
|
|
133
|
+
White space is ignored. The root node is a __Types__.
|
|
134
|
+
|
|
135
|
+
* __Identifier__ = `[\$\w]+` - a group of any lower or upper case letters, numbers, underscores, or dollar signs - eg. `String`
|
|
136
|
+
* __Type__ = an `Identifier`, an `Identifier` followed by a `Structure`, just a `Structure`, or a wildcard `*` - eg. `String`, `Object{x: Number}`, `{x: Number}`, `Array{0: String, 1: Boolean, length: Number}`, `*`
|
|
137
|
+
* __Types__ = optionally a comment (an `Indentifier` followed by a `::`), optionally the identifier `Maybe`, one or more `Type`, separated by `|` - eg. `Number`, `String | Date`, `Maybe Number`, `Maybe Boolean | String`
|
|
138
|
+
* __Structure__ = `Fields`, or a `Tuple`, or an `Array` - eg. `{x: Number}`, `(String, Number)`, `[Date]`
|
|
139
|
+
* __Fields__ = a `{`, followed one or more `Field` separated by a comma `,` (trailing comma `,` is permitted), optionally an `...` (always preceded by a comma `,`), followed by a `}` - eg. `{x: Number, y: String}`, `{k: Function, ...}`
|
|
140
|
+
* __Field__ = an `Identifier`, followed by a colon `:`, followed by `Types` - eg. `x: Date | String`, `y: Boolean`
|
|
141
|
+
* __Tuple__ = a `(`, followed by one or more `Types` separated by a comma `,` (trailing comma `,` is permitted), followed by a `)` - eg `(Date)`, `(Number, Date)`
|
|
142
|
+
* __Array__ = a `[` followed by exactly one `Types` followed by a `]` - eg. `[Boolean]`, `[Boolean | Null]`
|
|
143
|
+
|
|
144
|
+
### Guide
|
|
145
|
+
|
|
146
|
+
`type-check` uses `Object.toString` to find out the basic type of a value. Specifically,
|
|
147
|
+
|
|
148
|
+
```js
|
|
149
|
+
{}.toString.call(VALUE).slice(8, -1)
|
|
150
|
+
{}.toString.call(true).slice(8, -1) // 'Boolean'
|
|
151
|
+
```
|
|
152
|
+
A basic type, eg. `Number`, uses this check. This is much more versatile than using `typeof` - for example, with `document`, `typeof` produces `'object'` which isn't that useful, and our technique produces `'HTMLDocument'`.
|
|
153
|
+
|
|
154
|
+
You may check for multiple types by separating types with a `|`. The checker proceeds from left to right, and passes if the value is any of the types - eg. `String | Boolean` first checks if the value is a string, and then if it is a boolean. If it is none of those, then it returns false.
|
|
155
|
+
|
|
156
|
+
Adding a `Maybe` in front of a list of multiple types is the same as also checking for `Null` and `Undefined` - eg. `Maybe String` is equivalent to `Undefined | Null | String`.
|
|
157
|
+
|
|
158
|
+
You may add a comment to remind you of what the type is for by following an identifier with a `::` before a type (or multiple types). The comment is simply thrown out.
|
|
159
|
+
|
|
160
|
+
The wildcard `*` matches all types.
|
|
161
|
+
|
|
162
|
+
There are three types of structures for checking the contents of a value: 'fields', 'tuple', and 'array'.
|
|
163
|
+
|
|
164
|
+
If used by itself, a 'fields' structure will pass with any type of object as long as it is an instance of `Object` and the properties pass - this allows for duck typing - eg. `{x: Boolean}`.
|
|
165
|
+
|
|
166
|
+
To check if the properties pass, and the value is of a certain type, you can specify the type - eg. `Error{message: String}`.
|
|
167
|
+
|
|
168
|
+
If you want to make a field optional, you can simply use `Maybe` - eg. `{x: Boolean, y: Maybe String}` will still pass if `y` is undefined (or null).
|
|
169
|
+
|
|
170
|
+
If you don't care if the value has properties beyond what you have specified, you can use the 'etc' operator `...` - eg. `{x: Boolean, ...}` will match an object with an `x` property that is a boolean, and with zero or more other properties.
|
|
171
|
+
|
|
172
|
+
For an array, you must specify one or more types (separated by `|`) - it will pass for something of any length as long as each element passes the types provided - eg. `[Number]`, `[Number | String]`.
|
|
173
|
+
|
|
174
|
+
A tuple checks for a fixed number of elements, each of a potentially different type. Each element is separated by a comma - eg. `(String, Number)`.
|
|
175
|
+
|
|
176
|
+
An array and tuple structure check that the value is of type `Array` by default, but if another type is specified, they will check for that instead - eg. `Int32Array[Number]`. You can use the wildcard `*` to search for any type at all.
|
|
177
|
+
|
|
178
|
+
Check out the [type precedence](https://github.com/zaboco/type-precedence) library for type-check.
|
|
179
|
+
|
|
180
|
+
## Options
|
|
181
|
+
|
|
182
|
+
Options is an object. It is an optional parameter to the `typeCheck` and `parsedTypeCheck` functions. The only current option is `customTypes`.
|
|
183
|
+
|
|
184
|
+
<a name="custom-types" />
|
|
185
|
+
### Custom Types
|
|
186
|
+
|
|
187
|
+
__Example:__
|
|
188
|
+
|
|
189
|
+
```js
|
|
190
|
+
var options = {
|
|
191
|
+
customTypes: {
|
|
192
|
+
Even: {
|
|
193
|
+
typeOf: 'Number',
|
|
194
|
+
validate: function(x) {
|
|
195
|
+
return x % 2 === 0;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
typeCheck('Even', 2, options); // true
|
|
201
|
+
typeCheck('Even', 3, options); // false
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
`customTypes` allows you to set up custom types for validation. The value of this is an object. The keys of the object are the types you will be matching. Each value of the object will be an object having a `typeOf` property - a string, and `validate` property - a function.
|
|
205
|
+
|
|
206
|
+
The `typeOf` property is the type the value should be, and `validate` is a function which should return true if the value is of that type. `validate` receives one parameter, which is the value that we are checking.
|
|
207
|
+
|
|
208
|
+
## Technical About
|
|
209
|
+
|
|
210
|
+
`type-check` is written in [LiveScript](http://livescript.net/) - a language that compiles to JavaScript. It also uses the [prelude.ls](http://preludels.com/) library.
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
// Generated by LiveScript 1.4.0
|
|
2
|
+
(function(){
|
|
3
|
+
var ref$, any, all, isItNaN, types, defaultType, customTypes, toString$ = {}.toString;
|
|
4
|
+
ref$ = require('prelude-ls'), any = ref$.any, all = ref$.all, isItNaN = ref$.isItNaN;
|
|
5
|
+
types = {
|
|
6
|
+
Number: {
|
|
7
|
+
typeOf: 'Number',
|
|
8
|
+
validate: function(it){
|
|
9
|
+
return !isItNaN(it);
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
NaN: {
|
|
13
|
+
typeOf: 'Number',
|
|
14
|
+
validate: isItNaN
|
|
15
|
+
},
|
|
16
|
+
Int: {
|
|
17
|
+
typeOf: 'Number',
|
|
18
|
+
validate: function(it){
|
|
19
|
+
return !isItNaN(it) && it % 1 === 0;
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
Float: {
|
|
23
|
+
typeOf: 'Number',
|
|
24
|
+
validate: function(it){
|
|
25
|
+
return !isItNaN(it);
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
Date: {
|
|
29
|
+
typeOf: 'Date',
|
|
30
|
+
validate: function(it){
|
|
31
|
+
return !isItNaN(it.getTime());
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
defaultType = {
|
|
36
|
+
array: 'Array',
|
|
37
|
+
tuple: 'Array'
|
|
38
|
+
};
|
|
39
|
+
function checkArray(input, type){
|
|
40
|
+
return all(function(it){
|
|
41
|
+
return checkMultiple(it, type.of);
|
|
42
|
+
}, input);
|
|
43
|
+
}
|
|
44
|
+
function checkTuple(input, type){
|
|
45
|
+
var i, i$, ref$, len$, types;
|
|
46
|
+
i = 0;
|
|
47
|
+
for (i$ = 0, len$ = (ref$ = type.of).length; i$ < len$; ++i$) {
|
|
48
|
+
types = ref$[i$];
|
|
49
|
+
if (!checkMultiple(input[i], types)) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
i++;
|
|
53
|
+
}
|
|
54
|
+
return input.length <= i;
|
|
55
|
+
}
|
|
56
|
+
function checkFields(input, type){
|
|
57
|
+
var inputKeys, numInputKeys, k, numOfKeys, key, ref$, types;
|
|
58
|
+
inputKeys = {};
|
|
59
|
+
numInputKeys = 0;
|
|
60
|
+
for (k in input) {
|
|
61
|
+
inputKeys[k] = true;
|
|
62
|
+
numInputKeys++;
|
|
63
|
+
}
|
|
64
|
+
numOfKeys = 0;
|
|
65
|
+
for (key in ref$ = type.of) {
|
|
66
|
+
types = ref$[key];
|
|
67
|
+
if (!checkMultiple(input[key], types)) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
if (inputKeys[key]) {
|
|
71
|
+
numOfKeys++;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return type.subset || numInputKeys === numOfKeys;
|
|
75
|
+
}
|
|
76
|
+
function checkStructure(input, type){
|
|
77
|
+
if (!(input instanceof Object)) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
switch (type.structure) {
|
|
81
|
+
case 'fields':
|
|
82
|
+
return checkFields(input, type);
|
|
83
|
+
case 'array':
|
|
84
|
+
return checkArray(input, type);
|
|
85
|
+
case 'tuple':
|
|
86
|
+
return checkTuple(input, type);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function check(input, typeObj){
|
|
90
|
+
var type, structure, setting, that;
|
|
91
|
+
type = typeObj.type, structure = typeObj.structure;
|
|
92
|
+
if (type) {
|
|
93
|
+
if (type === '*') {
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
setting = customTypes[type] || types[type];
|
|
97
|
+
if (setting) {
|
|
98
|
+
return setting.typeOf === toString$.call(input).slice(8, -1) && setting.validate(input);
|
|
99
|
+
} else {
|
|
100
|
+
return type === toString$.call(input).slice(8, -1) && (!structure || checkStructure(input, typeObj));
|
|
101
|
+
}
|
|
102
|
+
} else if (structure) {
|
|
103
|
+
if (that = defaultType[structure]) {
|
|
104
|
+
if (that !== toString$.call(input).slice(8, -1)) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return checkStructure(input, typeObj);
|
|
109
|
+
} else {
|
|
110
|
+
throw new Error("No type defined. Input: " + input + ".");
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
function checkMultiple(input, types){
|
|
114
|
+
if (toString$.call(types).slice(8, -1) !== 'Array') {
|
|
115
|
+
throw new Error("Types must be in an array. Input: " + input + ".");
|
|
116
|
+
}
|
|
117
|
+
return any(function(it){
|
|
118
|
+
return check(input, it);
|
|
119
|
+
}, types);
|
|
120
|
+
}
|
|
121
|
+
module.exports = function(parsedType, input, options){
|
|
122
|
+
options == null && (options = {});
|
|
123
|
+
customTypes = options.customTypes || {};
|
|
124
|
+
return checkMultiple(input, parsedType);
|
|
125
|
+
};
|
|
126
|
+
}).call(this);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Generated by LiveScript 1.4.0
|
|
2
|
+
(function(){
|
|
3
|
+
var VERSION, parseType, parsedTypeCheck, typeCheck;
|
|
4
|
+
VERSION = '0.3.2';
|
|
5
|
+
parseType = require('./parse-type');
|
|
6
|
+
parsedTypeCheck = require('./check');
|
|
7
|
+
typeCheck = function(type, input, options){
|
|
8
|
+
return parsedTypeCheck(parseType(type), input, options);
|
|
9
|
+
};
|
|
10
|
+
module.exports = {
|
|
11
|
+
VERSION: VERSION,
|
|
12
|
+
typeCheck: typeCheck,
|
|
13
|
+
parsedTypeCheck: parsedTypeCheck,
|
|
14
|
+
parseType: parseType
|
|
15
|
+
};
|
|
16
|
+
}).call(this);
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
// Generated by LiveScript 1.4.0
|
|
2
|
+
(function(){
|
|
3
|
+
var identifierRegex, tokenRegex;
|
|
4
|
+
identifierRegex = /[\$\w]+/;
|
|
5
|
+
function peek(tokens){
|
|
6
|
+
var token;
|
|
7
|
+
token = tokens[0];
|
|
8
|
+
if (token == null) {
|
|
9
|
+
throw new Error('Unexpected end of input.');
|
|
10
|
+
}
|
|
11
|
+
return token;
|
|
12
|
+
}
|
|
13
|
+
function consumeIdent(tokens){
|
|
14
|
+
var token;
|
|
15
|
+
token = peek(tokens);
|
|
16
|
+
if (!identifierRegex.test(token)) {
|
|
17
|
+
throw new Error("Expected text, got '" + token + "' instead.");
|
|
18
|
+
}
|
|
19
|
+
return tokens.shift();
|
|
20
|
+
}
|
|
21
|
+
function consumeOp(tokens, op){
|
|
22
|
+
var token;
|
|
23
|
+
token = peek(tokens);
|
|
24
|
+
if (token !== op) {
|
|
25
|
+
throw new Error("Expected '" + op + "', got '" + token + "' instead.");
|
|
26
|
+
}
|
|
27
|
+
return tokens.shift();
|
|
28
|
+
}
|
|
29
|
+
function maybeConsumeOp(tokens, op){
|
|
30
|
+
var token;
|
|
31
|
+
token = tokens[0];
|
|
32
|
+
if (token === op) {
|
|
33
|
+
return tokens.shift();
|
|
34
|
+
} else {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function consumeArray(tokens){
|
|
39
|
+
var types;
|
|
40
|
+
consumeOp(tokens, '[');
|
|
41
|
+
if (peek(tokens) === ']') {
|
|
42
|
+
throw new Error("Must specify type of Array - eg. [Type], got [] instead.");
|
|
43
|
+
}
|
|
44
|
+
types = consumeTypes(tokens);
|
|
45
|
+
consumeOp(tokens, ']');
|
|
46
|
+
return {
|
|
47
|
+
structure: 'array',
|
|
48
|
+
of: types
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function consumeTuple(tokens){
|
|
52
|
+
var components;
|
|
53
|
+
components = [];
|
|
54
|
+
consumeOp(tokens, '(');
|
|
55
|
+
if (peek(tokens) === ')') {
|
|
56
|
+
throw new Error("Tuple must be of at least length 1 - eg. (Type), got () instead.");
|
|
57
|
+
}
|
|
58
|
+
for (;;) {
|
|
59
|
+
components.push(consumeTypes(tokens));
|
|
60
|
+
maybeConsumeOp(tokens, ',');
|
|
61
|
+
if (')' === peek(tokens)) {
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
consumeOp(tokens, ')');
|
|
66
|
+
return {
|
|
67
|
+
structure: 'tuple',
|
|
68
|
+
of: components
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function consumeFields(tokens){
|
|
72
|
+
var fields, subset, ref$, key, types;
|
|
73
|
+
fields = {};
|
|
74
|
+
consumeOp(tokens, '{');
|
|
75
|
+
subset = false;
|
|
76
|
+
for (;;) {
|
|
77
|
+
if (maybeConsumeOp(tokens, '...')) {
|
|
78
|
+
subset = true;
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
ref$ = consumeField(tokens), key = ref$[0], types = ref$[1];
|
|
82
|
+
fields[key] = types;
|
|
83
|
+
maybeConsumeOp(tokens, ',');
|
|
84
|
+
if ('}' === peek(tokens)) {
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
consumeOp(tokens, '}');
|
|
89
|
+
return {
|
|
90
|
+
structure: 'fields',
|
|
91
|
+
of: fields,
|
|
92
|
+
subset: subset
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
function consumeField(tokens){
|
|
96
|
+
var key, types;
|
|
97
|
+
key = consumeIdent(tokens);
|
|
98
|
+
consumeOp(tokens, ':');
|
|
99
|
+
types = consumeTypes(tokens);
|
|
100
|
+
return [key, types];
|
|
101
|
+
}
|
|
102
|
+
function maybeConsumeStructure(tokens){
|
|
103
|
+
switch (tokens[0]) {
|
|
104
|
+
case '[':
|
|
105
|
+
return consumeArray(tokens);
|
|
106
|
+
case '(':
|
|
107
|
+
return consumeTuple(tokens);
|
|
108
|
+
case '{':
|
|
109
|
+
return consumeFields(tokens);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
function consumeType(tokens){
|
|
113
|
+
var token, wildcard, type, structure;
|
|
114
|
+
token = peek(tokens);
|
|
115
|
+
wildcard = token === '*';
|
|
116
|
+
if (wildcard || identifierRegex.test(token)) {
|
|
117
|
+
type = wildcard
|
|
118
|
+
? consumeOp(tokens, '*')
|
|
119
|
+
: consumeIdent(tokens);
|
|
120
|
+
structure = maybeConsumeStructure(tokens);
|
|
121
|
+
if (structure) {
|
|
122
|
+
return structure.type = type, structure;
|
|
123
|
+
} else {
|
|
124
|
+
return {
|
|
125
|
+
type: type
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
} else {
|
|
129
|
+
structure = maybeConsumeStructure(tokens);
|
|
130
|
+
if (!structure) {
|
|
131
|
+
throw new Error("Unexpected character: " + token);
|
|
132
|
+
}
|
|
133
|
+
return structure;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function consumeTypes(tokens){
|
|
137
|
+
var lookahead, types, typesSoFar, typeObj, type;
|
|
138
|
+
if ('::' === peek(tokens)) {
|
|
139
|
+
throw new Error("No comment before comment separator '::' found.");
|
|
140
|
+
}
|
|
141
|
+
lookahead = tokens[1];
|
|
142
|
+
if (lookahead != null && lookahead === '::') {
|
|
143
|
+
tokens.shift();
|
|
144
|
+
tokens.shift();
|
|
145
|
+
}
|
|
146
|
+
types = [];
|
|
147
|
+
typesSoFar = {};
|
|
148
|
+
if ('Maybe' === peek(tokens)) {
|
|
149
|
+
tokens.shift();
|
|
150
|
+
types = [
|
|
151
|
+
{
|
|
152
|
+
type: 'Undefined'
|
|
153
|
+
}, {
|
|
154
|
+
type: 'Null'
|
|
155
|
+
}
|
|
156
|
+
];
|
|
157
|
+
typesSoFar = {
|
|
158
|
+
Undefined: true,
|
|
159
|
+
Null: true
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
for (;;) {
|
|
163
|
+
typeObj = consumeType(tokens), type = typeObj.type;
|
|
164
|
+
if (!typesSoFar[type]) {
|
|
165
|
+
types.push(typeObj);
|
|
166
|
+
}
|
|
167
|
+
typesSoFar[type] = true;
|
|
168
|
+
if (!maybeConsumeOp(tokens, '|')) {
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return types;
|
|
173
|
+
}
|
|
174
|
+
tokenRegex = RegExp('\\.\\.\\.|::|->|' + identifierRegex.source + '|\\S', 'g');
|
|
175
|
+
module.exports = function(input){
|
|
176
|
+
var tokens, e;
|
|
177
|
+
if (!input.length) {
|
|
178
|
+
throw new Error('No type specified.');
|
|
179
|
+
}
|
|
180
|
+
tokens = input.match(tokenRegex) || [];
|
|
181
|
+
if (in$('->', tokens)) {
|
|
182
|
+
throw new Error("Function types are not supported.\ To validate that something is a function, you may use 'Function'.");
|
|
183
|
+
}
|
|
184
|
+
try {
|
|
185
|
+
return consumeTypes(tokens);
|
|
186
|
+
} catch (e$) {
|
|
187
|
+
e = e$;
|
|
188
|
+
throw new Error(e.message + " - Remaining tokens: " + JSON.stringify(tokens) + " - Initial input: '" + input + "'");
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
function in$(x, xs){
|
|
192
|
+
var i = -1, l = xs.length >>> 0;
|
|
193
|
+
while (++i < l) if (x === xs[i]) return true;
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
}).call(this);
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "type-check",
|
|
3
|
+
"version": "0.3.2",
|
|
4
|
+
"author": "George Zahariev <z@georgezahariev.com>",
|
|
5
|
+
"description": "type-check allows you to check the types of JavaScript values at runtime with a Haskell like type syntax.",
|
|
6
|
+
"homepage": "https://github.com/gkz/type-check",
|
|
7
|
+
"keywords": [
|
|
8
|
+
"type",
|
|
9
|
+
"check",
|
|
10
|
+
"checking",
|
|
11
|
+
"library"
|
|
12
|
+
],
|
|
13
|
+
"files": [
|
|
14
|
+
"lib",
|
|
15
|
+
"README.md",
|
|
16
|
+
"LICENSE"
|
|
17
|
+
],
|
|
18
|
+
"main": "./lib/",
|
|
19
|
+
"bugs": "https://github.com/gkz/type-check/issues",
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"engines": {
|
|
22
|
+
"node": ">= 0.8.0"
|
|
23
|
+
},
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "git://github.com/gkz/type-check.git"
|
|
27
|
+
},
|
|
28
|
+
"scripts": {
|
|
29
|
+
"test": "make test"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"prelude-ls": "~1.1.2"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"livescript": "~1.4.0",
|
|
36
|
+
"mocha": "~2.3.4",
|
|
37
|
+
"istanbul": "~0.4.1",
|
|
38
|
+
"browserify": "~12.0.1"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "escodegen",
|
|
3
|
+
"description": "ECMAScript code generator",
|
|
4
|
+
"homepage": "http://github.com/estools/escodegen",
|
|
5
|
+
"main": "escodegen.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"esgenerate": "./bin/esgenerate.js",
|
|
8
|
+
"escodegen": "./bin/escodegen.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"LICENSE.BSD",
|
|
12
|
+
"README.md",
|
|
13
|
+
"bin",
|
|
14
|
+
"escodegen.js",
|
|
15
|
+
"package.json"
|
|
16
|
+
],
|
|
17
|
+
"version": "1.14.3",
|
|
18
|
+
"engines": {
|
|
19
|
+
"node": ">=4.0"
|
|
20
|
+
},
|
|
21
|
+
"maintainers": [
|
|
22
|
+
{
|
|
23
|
+
"name": "Yusuke Suzuki",
|
|
24
|
+
"email": "utatane.tea@gmail.com",
|
|
25
|
+
"web": "http://github.com/Constellation"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"repository": {
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": "http://github.com/estools/escodegen.git"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"estraverse": "^4.2.0",
|
|
34
|
+
"esutils": "^2.0.2",
|
|
35
|
+
"esprima": "^4.0.1",
|
|
36
|
+
"optionator": "^0.8.1"
|
|
37
|
+
},
|
|
38
|
+
"optionalDependencies": {
|
|
39
|
+
"source-map": "~0.6.1"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"acorn": "^7.1.0",
|
|
43
|
+
"bluebird": "^3.4.7",
|
|
44
|
+
"bower-registry-client": "^1.0.0",
|
|
45
|
+
"chai": "^3.5.0",
|
|
46
|
+
"commonjs-everywhere": "^0.9.7",
|
|
47
|
+
"gulp": "^3.8.10",
|
|
48
|
+
"gulp-eslint": "^3.0.1",
|
|
49
|
+
"gulp-mocha": "^3.0.1",
|
|
50
|
+
"semver": "^5.1.0"
|
|
51
|
+
},
|
|
52
|
+
"license": "BSD-2-Clause",
|
|
53
|
+
"scripts": {
|
|
54
|
+
"test": "gulp travis",
|
|
55
|
+
"unit-test": "gulp test",
|
|
56
|
+
"lint": "gulp lint",
|
|
57
|
+
"release": "node tools/release.js",
|
|
58
|
+
"build-min": "./node_modules/.bin/cjsify -ma path: tools/entry-point.js > escodegen.browser.min.js",
|
|
59
|
+
"build": "./node_modules/.bin/cjsify -a path: tools/entry-point.js > escodegen.browser.js"
|
|
60
|
+
}
|
|
61
|
+
}
|