game_dig 0.0.1 → 0.2.0
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.
- checksums.yaml +4 -4
- data/.gitignore +3 -1
- data/CHANGELOG.md +13 -0
- data/README.md +89 -26
- data/Rakefile +8 -0
- data/cli/pry_nodo.rb +5 -0
- data/game_dig.gemspec +21 -14
- data/lib/custom_errors/cli_not_found.rb +4 -0
- data/lib/custom_errors/error.rb +4 -0
- data/lib/game_dig/helper.rb +51 -0
- data/lib/game_dig/node/gamedig-example.js +17 -0
- data/lib/game_dig/node/node_modules/.bin/fxparser +1 -0
- data/lib/game_dig/node/node_modules/.bin/gamedig +1 -0
- data/lib/game_dig/node/node_modules/.bin/seek-bunzip +1 -0
- data/lib/game_dig/node/node_modules/.bin/seek-table +1 -0
- data/lib/game_dig/node/node_modules/.yarn-integrity +73 -0
- data/lib/game_dig/node/node_modules/@sindresorhus/is/dist/index.d.ts +246 -0
- data/lib/game_dig/node/node_modules/@sindresorhus/is/dist/index.js +454 -0
- data/lib/game_dig/node/node_modules/@sindresorhus/is/dist/types.d.ts +32 -0
- data/lib/game_dig/node/node_modules/@sindresorhus/is/dist/types.js +2 -0
- data/lib/game_dig/node/node_modules/@sindresorhus/is/license +9 -0
- data/lib/game_dig/node/node_modules/@sindresorhus/is/package.json +76 -0
- data/lib/game_dig/node/node_modules/@sindresorhus/is/readme.md +698 -0
- data/lib/game_dig/node/node_modules/@szmarczak/http-timer/LICENSE +21 -0
- data/lib/game_dig/node/node_modules/@szmarczak/http-timer/README.md +93 -0
- data/lib/game_dig/node/node_modules/@szmarczak/http-timer/dist/source/index.d.ts +32 -0
- data/lib/game_dig/node/node_modules/@szmarczak/http-timer/dist/source/index.js +106 -0
- data/lib/game_dig/node/node_modules/@szmarczak/http-timer/package.json +89 -0
- data/lib/game_dig/node/node_modules/@types/http-cache-semantics/LICENSE +21 -0
- data/lib/game_dig/node/node_modules/@types/http-cache-semantics/README.md +15 -0
- data/lib/game_dig/node/node_modules/@types/http-cache-semantics/index.d.ts +165 -0
- data/lib/game_dig/node/node_modules/@types/http-cache-semantics/package.json +25 -0
- data/lib/game_dig/node/node_modules/any-promise/.jshintrc +4 -0
- data/lib/game_dig/node/node_modules/any-promise/.npmignore +7 -0
- data/lib/game_dig/node/node_modules/any-promise/LICENSE +19 -0
- data/lib/game_dig/node/node_modules/any-promise/README.md +161 -0
- data/lib/game_dig/node/node_modules/any-promise/implementation.d.ts +3 -0
- data/lib/game_dig/node/node_modules/any-promise/implementation.js +1 -0
- data/lib/game_dig/node/node_modules/any-promise/index.d.ts +73 -0
- data/lib/game_dig/node/node_modules/any-promise/index.js +1 -0
- data/lib/game_dig/node/node_modules/any-promise/loader.js +78 -0
- data/lib/game_dig/node/node_modules/any-promise/optional.js +6 -0
- data/lib/game_dig/node/node_modules/any-promise/package.json +45 -0
- data/lib/game_dig/node/node_modules/any-promise/register/bluebird.d.ts +1 -0
- data/lib/game_dig/node/node_modules/any-promise/register/bluebird.js +2 -0
- data/lib/game_dig/node/node_modules/any-promise/register/es6-promise.d.ts +1 -0
- data/lib/game_dig/node/node_modules/any-promise/register/es6-promise.js +2 -0
- data/lib/game_dig/node/node_modules/any-promise/register/lie.d.ts +1 -0
- data/lib/game_dig/node/node_modules/any-promise/register/lie.js +2 -0
- data/lib/game_dig/node/node_modules/any-promise/register/native-promise-only.d.ts +1 -0
- data/lib/game_dig/node/node_modules/any-promise/register/native-promise-only.js +2 -0
- data/lib/game_dig/node/node_modules/any-promise/register/pinkie.d.ts +1 -0
- data/lib/game_dig/node/node_modules/any-promise/register/pinkie.js +2 -0
- data/lib/game_dig/node/node_modules/any-promise/register/promise.d.ts +1 -0
- data/lib/game_dig/node/node_modules/any-promise/register/promise.js +2 -0
- data/lib/game_dig/node/node_modules/any-promise/register/q.d.ts +1 -0
- data/lib/game_dig/node/node_modules/any-promise/register/q.js +2 -0
- data/lib/game_dig/node/node_modules/any-promise/register/rsvp.d.ts +1 -0
- data/lib/game_dig/node/node_modules/any-promise/register/rsvp.js +2 -0
- data/lib/game_dig/node/node_modules/any-promise/register/vow.d.ts +1 -0
- data/lib/game_dig/node/node_modules/any-promise/register/vow.js +2 -0
- data/lib/game_dig/node/node_modules/any-promise/register/when.d.ts +1 -0
- data/lib/game_dig/node/node_modules/any-promise/register/when.js +2 -0
- data/lib/game_dig/node/node_modules/any-promise/register-shim.js +18 -0
- data/lib/game_dig/node/node_modules/any-promise/register.d.ts +17 -0
- data/lib/game_dig/node/node_modules/any-promise/register.js +94 -0
- data/lib/game_dig/node/node_modules/barse/.npmignore +2 -0
- data/lib/game_dig/node/node_modules/barse/.travis.yml +4 -0
- data/lib/game_dig/node/node_modules/barse/README.md +138 -0
- data/lib/game_dig/node/node_modules/barse/example/complete.js +34 -0
- data/lib/game_dig/node/node_modules/barse/example/next.js +21 -0
- data/lib/game_dig/node/node_modules/barse/index.js +282 -0
- data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/.npmignore +5 -0
- data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/LICENSE +18 -0
- data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/README.md +15 -0
- data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/duplex.js +1 -0
- data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/lib/_stream_duplex.js +89 -0
- data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/lib/_stream_passthrough.js +46 -0
- data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/lib/_stream_readable.js +982 -0
- data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/lib/_stream_transform.js +210 -0
- data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/lib/_stream_writable.js +386 -0
- data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/package.json +32 -0
- data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/passthrough.js +1 -0
- data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/readable.js +11 -0
- data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/transform.js +1 -0
- data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/writable.js +1 -0
- data/lib/game_dig/node/node_modules/barse/package.json +48 -0
- data/lib/game_dig/node/node_modules/barse/test/integration.js +37 -0
- data/lib/game_dig/node/node_modules/barse/test/loop.js +36 -0
- data/lib/game_dig/node/node_modules/barse/test/next.js +34 -0
- data/lib/game_dig/node/node_modules/barse/test/scope.js +18 -0
- data/lib/game_dig/node/node_modules/barse/test/string.js +33 -0
- data/lib/game_dig/node/node_modules/barse/test/vars.js +20 -0
- data/lib/game_dig/node/node_modules/cacheable-lookup/LICENSE +21 -0
- data/lib/game_dig/node/node_modules/cacheable-lookup/README.md +245 -0
- data/lib/game_dig/node/node_modules/cacheable-lookup/index.d.ts +144 -0
- data/lib/game_dig/node/node_modules/cacheable-lookup/package.json +61 -0
- data/lib/game_dig/node/node_modules/cacheable-lookup/source/index.js +452 -0
- data/lib/game_dig/node/node_modules/cacheable-request/README.md +335 -0
- data/lib/game_dig/node/node_modules/cacheable-request/dist/index.d.ts +17 -0
- data/lib/game_dig/node/node_modules/cacheable-request/dist/index.d.ts.map +1 -0
- data/lib/game_dig/node/node_modules/cacheable-request/dist/index.js +275 -0
- data/lib/game_dig/node/node_modules/cacheable-request/dist/index.js.map +1 -0
- data/lib/game_dig/node/node_modules/cacheable-request/dist/types.d.ts +106 -0
- data/lib/game_dig/node/node_modules/cacheable-request/dist/types.d.ts.map +1 -0
- data/lib/game_dig/node/node_modules/cacheable-request/dist/types.js +19 -0
- data/lib/game_dig/node/node_modules/cacheable-request/dist/types.js.map +1 -0
- data/lib/game_dig/node/node_modules/cacheable-request/node_modules/mimic-response/index.d.ts +29 -0
- data/lib/game_dig/node/node_modules/cacheable-request/node_modules/mimic-response/index.js +75 -0
- data/lib/game_dig/node/node_modules/cacheable-request/node_modules/mimic-response/license +9 -0
- data/lib/game_dig/node/node_modules/cacheable-request/node_modules/mimic-response/package.json +44 -0
- data/lib/game_dig/node/node_modules/cacheable-request/node_modules/mimic-response/readme.md +78 -0
- data/lib/game_dig/node/node_modules/cacheable-request/package.json +121 -0
- data/lib/game_dig/node/node_modules/commander/CHANGELOG.md +361 -0
- data/lib/game_dig/node/node_modules/commander/LICENSE +22 -0
- data/lib/game_dig/node/node_modules/commander/Readme.md +791 -0
- data/lib/game_dig/node/node_modules/commander/index.js +1881 -0
- data/lib/game_dig/node/node_modules/commander/package.json +51 -0
- data/lib/game_dig/node/node_modules/commander/typings/index.d.ts +410 -0
- data/lib/game_dig/node/node_modules/core-util-is/LICENSE +19 -0
- data/lib/game_dig/node/node_modules/core-util-is/README.md +3 -0
- data/lib/game_dig/node/node_modules/core-util-is/lib/util.js +107 -0
- data/lib/game_dig/node/node_modules/core-util-is/package.json +38 -0
- data/lib/game_dig/node/node_modules/decompress-response/index.d.ts +22 -0
- data/lib/game_dig/node/node_modules/decompress-response/index.js +58 -0
- data/lib/game_dig/node/node_modules/decompress-response/license +9 -0
- data/lib/game_dig/node/node_modules/decompress-response/package.json +56 -0
- data/lib/game_dig/node/node_modules/decompress-response/readme.md +48 -0
- data/lib/game_dig/node/node_modules/defer-to-connect/LICENSE +21 -0
- data/lib/game_dig/node/node_modules/defer-to-connect/README.md +38 -0
- data/lib/game_dig/node/node_modules/defer-to-connect/dist/source/index.d.ts +10 -0
- data/lib/game_dig/node/node_modules/defer-to-connect/dist/source/index.js +47 -0
- data/lib/game_dig/node/node_modules/defer-to-connect/package.json +71 -0
- data/lib/game_dig/node/node_modules/emitter-component/History.md +35 -0
- data/lib/game_dig/node/node_modules/emitter-component/Makefile +7 -0
- data/lib/game_dig/node/node_modules/emitter-component/Readme.md +70 -0
- data/lib/game_dig/node/node_modules/emitter-component/bower.json +21 -0
- data/lib/game_dig/node/node_modules/emitter-component/component.json +9 -0
- data/lib/game_dig/node/node_modules/emitter-component/index.js +164 -0
- data/lib/game_dig/node/node_modules/emitter-component/package.json +19 -0
- data/lib/game_dig/node/node_modules/emitter-component/test/emitter.js +195 -0
- data/lib/game_dig/node/node_modules/event-to-promise/LICENSE +14 -0
- data/lib/game_dig/node/node_modules/event-to-promise/README.md +180 -0
- data/lib/game_dig/node/node_modules/event-to-promise/index.js +106 -0
- data/lib/game_dig/node/node_modules/event-to-promise/package.json +35 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/CHANGELOG.md +671 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/LICENSE +21 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/README.md +223 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxbuilder.min.js +2 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +1 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxp.cjs +1 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxp.d.cts +458 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxp.min.js +2 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxparser.min.js +2 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxvalidator.min.js +2 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxvalidator.min.js.map +1 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/package.json +90 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/cli/cli.js +97 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/cli/man.js +17 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/cli/read.js +43 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/fxp.d.ts +445 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/fxp.js +14 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/ignoreAttributes.js +18 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/util.js +68 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/CharsSymbol.js +16 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/EntitiesParser.js +104 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/OptionsBuilder.js +61 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/OutputBuilders/BaseOutputBuilder.js +69 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsArrBuilder.js +103 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsMinArrBuilder.js +100 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsObjBuilder.js +154 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/OutputBuilders/ParserOptionsBuilder.js +94 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/Report.js +0 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/TagPath.js +81 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/TagPathMatcher.js +13 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/XMLParser.js +83 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/Xml2JsParser.js +235 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/XmlPartReader.js +210 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/XmlSpecialTagsReader.js +111 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/inputSource/BufferSource.js +116 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/inputSource/StringSource.js +121 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/valueParsers/EntitiesParser.js +105 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/valueParsers/booleanParser.js +22 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/valueParsers/booleanParserExt.js +19 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/valueParsers/currency.js +38 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/valueParsers/join.js +13 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/valueParsers/number.js +14 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/valueParsers/trim.js +6 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/validator.js +425 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js +285 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js +134 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlbuilder/prettifyJs2Xml.js +0 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +369 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +46 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +606 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +71 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlparser/node2json.js +119 -0
- data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +40 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/@type/FileLike.d.ts +23 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/@type/FormDataEncoder.d.ts +169 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/@type/FormDataLike.d.ts +40 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/@type/index.d.ts +5 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/Headers.d.ts +8 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/createBoundary.d.ts +12 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/escapeName.d.ts +10 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/getStreamIterator.d.ts +6 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/isFile.d.ts +34 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/isFormData.d.ts +7 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/isFunction.d.ts +6 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/isPlainObject.d.ts +1 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/normalizeValue.d.ts +10 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/proxyHeaders.d.ts +2 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/lib/FileLike.js +1 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/lib/FormDataEncoder.js +134 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/lib/FormDataLike.js +1 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/lib/index.js +5 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/Headers.js +1 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/createBoundary.js +9 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/escapeName.js +4 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/getStreamIterator.js +21 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/isFile.js +8 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/isFormData.js +8 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/isFunction.js +1 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/isPlainObject.js +12 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/normalizeValue.js +8 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/proxyHeaders.js +14 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/license +21 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/package.json +70 -0
- data/lib/game_dig/node/node_modules/form-data-encoder/readme.md +368 -0
- data/lib/game_dig/node/node_modules/gamedig/GAMES_LIST.md +563 -0
- data/lib/game_dig/node/node_modules/gamedig/LICENSE +21 -0
- data/lib/game_dig/node/node_modules/gamedig/README.md +155 -0
- data/lib/game_dig/node/node_modules/gamedig/bin/gamedig.js +64 -0
- data/lib/game_dig/node/node_modules/gamedig/dist/index.cjs +18075 -0
- data/lib/game_dig/node/node_modules/gamedig/lib/DnsResolver.js +80 -0
- data/lib/game_dig/node/node_modules/gamedig/lib/GlobalUdpSocket.js +69 -0
- data/lib/game_dig/node/node_modules/gamedig/lib/HexUtil.js +20 -0
- data/lib/game_dig/node/node_modules/gamedig/lib/Logger.js +45 -0
- data/lib/game_dig/node/node_modules/gamedig/lib/Promises.js +18 -0
- data/lib/game_dig/node/node_modules/gamedig/lib/ProtocolResolver.js +7 -0
- data/lib/game_dig/node/node_modules/gamedig/lib/QueryRunner.js +122 -0
- data/lib/game_dig/node/node_modules/gamedig/lib/Results.js +36 -0
- data/lib/game_dig/node/node_modules/gamedig/lib/game-resolver.js +27 -0
- data/lib/game_dig/node/node_modules/gamedig/lib/gamedig.js +23 -0
- data/lib/game_dig/node/node_modules/gamedig/lib/games.js +3458 -0
- data/lib/game_dig/node/node_modules/gamedig/lib/index.js +5 -0
- data/lib/game_dig/node/node_modules/gamedig/lib/reader.js +172 -0
- data/lib/game_dig/node/node_modules/gamedig/node_modules/.bin/fxparser +1 -0
- data/lib/game_dig/node/node_modules/gamedig/node_modules/.bin/seek-bunzip +1 -0
- data/lib/game_dig/node/node_modules/gamedig/node_modules/.bin/seek-table +1 -0
- data/lib/game_dig/node/node_modules/gamedig/package.json +80 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/altvmp.js +63 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/armagetron.js +65 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/asa.js +18 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/ase.js +45 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/assettocorsa.js +41 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/battlefield.js +167 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/beammp.js +46 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/beammpmaster.js +17 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/brokeprotocol.js +13 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/brokeprotocolmaster.js +418 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/buildandshoot.js +42 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/core.js +369 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/cs2d.js +65 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/dayz.js +196 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/discord.js +29 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/doom3.js +149 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/eco.js +22 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/eldewrito.js +22 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/epic.js +153 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/factorio.js +24 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/farmingsimulator.js +69 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/ffow.js +38 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/fivem.js +35 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/gamespy1.js +182 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/gamespy2.js +142 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/gamespy3.js +198 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/geneshift.js +46 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/goldsrc.js +8 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/gtasao.js +8 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/hawakening.js +13 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/hawakeningmaster.js +718 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/hexen2.js +14 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/index.js +85 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/jc2mp.js +18 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/kspdmp.js +28 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/mafia2mp.js +42 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/mafia2online.js +9 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/minecraft.js +107 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/minecraftbedrock.js +73 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/minecraftvanilla.js +86 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/minetest.js +39 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/mumble.js +39 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/mumbleping.js +25 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/nadeo.js +85 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/openttd.js +164 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/palworld.js +32 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/quake1.js +14 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/quake2.js +90 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/quake3.js +28 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/ragemp.js +49 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/renegadex.js +232 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/renegadexmaster.js +21 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/renown.js +20 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/rfactor.js +69 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/samp.js +105 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/satisfactory.js +106 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/savage2.js +25 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/scpsl.js +54 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/sdtd.js +109 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/soldat.js +45 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/squad.js +20 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/starmade.js +67 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/starsiege.js +10 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/teamspeak2.js +72 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/teamspeak3.js +70 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/terraria.js +27 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/theisleevrima.js +19 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/toxikk.js +122 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/tribes1.js +153 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/tribes1master.js +80 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/unreal2.js +151 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/ut3.js +45 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/valve.js +472 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/vcmp.js +10 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/ventrilo.js +238 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/vintagestory.js +24 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/vintagestorymaster.js +17 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/warsow.js +13 -0
- data/lib/game_dig/node/node_modules/gamedig/protocols/xonotic.js +16 -0
- data/lib/game_dig/node/node_modules/gbxremote/.editorconfig +15 -0
- data/lib/game_dig/node/node_modules/gbxremote/.npmignore +5 -0
- data/lib/game_dig/node/node_modules/gbxremote/LICENSE +23 -0
- data/lib/game_dig/node/node_modules/gbxremote/README.md +196 -0
- data/lib/game_dig/node/node_modules/gbxremote/lib/client.js +214 -0
- data/lib/game_dig/node/node_modules/gbxremote/lib/gbxremote.js +18 -0
- data/lib/game_dig/node/node_modules/gbxremote/package.json +55 -0
- data/lib/game_dig/node/node_modules/get-stream/buffer-stream.js +52 -0
- data/lib/game_dig/node/node_modules/get-stream/index.d.ts +105 -0
- data/lib/game_dig/node/node_modules/get-stream/index.js +61 -0
- data/lib/game_dig/node/node_modules/get-stream/license +9 -0
- data/lib/game_dig/node/node_modules/get-stream/package.json +47 -0
- data/lib/game_dig/node/node_modules/get-stream/readme.md +124 -0
- data/lib/game_dig/node/node_modules/got/dist/source/as-promise/index.d.ts +3 -0
- data/lib/game_dig/node/node_modules/got/dist/source/as-promise/index.js +158 -0
- data/lib/game_dig/node/node_modules/got/dist/source/as-promise/types.d.ts +38 -0
- data/lib/game_dig/node/node_modules/got/dist/source/as-promise/types.js +17 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/calculate-retry-delay.d.ts +4 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/calculate-retry-delay.js +29 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/errors.d.ts +90 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/errors.js +178 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/index.d.ts +190 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/index.js +1126 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/options.d.ts +1253 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/options.js +1653 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/parse-link-header.d.ts +4 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/parse-link-header.js +33 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/response.d.ts +109 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/response.js +39 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/timed-out.d.ts +30 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/timed-out.js +138 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/get-body-size.d.ts +3 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/get-body-size.js +22 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/is-client-request.d.ts +5 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/is-client-request.js +4 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/is-form-data.d.ts +8 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/is-form-data.js +4 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/is-unix-socket-url.d.ts +2 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/is-unix-socket-url.js +4 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/options-to-url.d.ts +13 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/options-to-url.js +48 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/proxy-events.d.ts +3 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/proxy-events.js +15 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/unhandle.d.ts +11 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/unhandle.js +20 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/url-to-options.d.ts +15 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/url-to-options.js +22 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/weakable-map.d.ts +8 -0
- data/lib/game_dig/node/node_modules/got/dist/source/core/utils/weakable-map.js +38 -0
- data/lib/game_dig/node/node_modules/got/dist/source/create.d.ts +3 -0
- data/lib/game_dig/node/node_modules/got/dist/source/create.js +187 -0
- data/lib/game_dig/node/node_modules/got/dist/source/index.d.ts +15 -0
- data/lib/game_dig/node/node_modules/got/dist/source/index.js +20 -0
- data/lib/game_dig/node/node_modules/got/dist/source/types.d.ts +262 -0
- data/lib/game_dig/node/node_modules/got/dist/source/types.js +1 -0
- data/lib/game_dig/node/node_modules/got/license +9 -0
- data/lib/game_dig/node/node_modules/got/package.json +155 -0
- data/lib/game_dig/node/node_modules/got/readme.md +527 -0
- data/lib/game_dig/node/node_modules/http-cache-semantics/LICENSE +9 -0
- data/lib/game_dig/node/node_modules/http-cache-semantics/README.md +268 -0
- data/lib/game_dig/node/node_modules/http-cache-semantics/index.js +928 -0
- data/lib/game_dig/node/node_modules/http-cache-semantics/package.json +22 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/LICENSE +21 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/README.md +459 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/index.d.ts +141 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/package.json +81 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/agent.js +796 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/auto.js +225 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/client-request.js +563 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/incoming-message.js +73 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/index.js +50 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/proxies/get-auth-headers.js +17 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/proxies/h1-over-h2.js +90 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/proxies/h2-over-h1.js +48 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/proxies/h2-over-h2.js +32 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/proxies/h2-over-hx.js +40 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/proxies/initialize.js +21 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/proxies/unexpected-status-code-error.js +11 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/calculate-server-name.js +29 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/check-type.js +20 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/delay-async-destroy.js +33 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/errors.js +51 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/is-request-pseudo-header.js +13 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/js-stream-socket.js +8 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/proxy-events.js +7 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/proxy-socket-handler.js +102 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/validate-header-name.js +11 -0
- data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/validate-header-value.js +17 -0
- data/lib/game_dig/node/node_modules/iconv-lite/Changelog.md +236 -0
- data/lib/game_dig/node/node_modules/iconv-lite/LICENSE +21 -0
- data/lib/game_dig/node/node_modules/iconv-lite/README.md +138 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/index.js +23 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/internal.js +218 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/utf16.js +187 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/utf32.js +307 -0
- data/lib/game_dig/node/node_modules/iconv-lite/encodings/utf7.js +283 -0
- data/lib/game_dig/node/node_modules/iconv-lite/lib/bom-handling.js +48 -0
- data/lib/game_dig/node/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
- data/lib/game_dig/node/node_modules/iconv-lite/lib/index.d.ts +41 -0
- data/lib/game_dig/node/node_modules/iconv-lite/lib/index.js +183 -0
- data/lib/game_dig/node/node_modules/iconv-lite/lib/streams.js +105 -0
- data/lib/game_dig/node/node_modules/iconv-lite/package.json +59 -0
- data/lib/game_dig/node/node_modules/inherits/LICENSE +16 -0
- data/lib/game_dig/node/node_modules/inherits/README.md +42 -0
- data/lib/game_dig/node/node_modules/inherits/inherits.js +9 -0
- data/lib/game_dig/node/node_modules/inherits/inherits_browser.js +27 -0
- data/lib/game_dig/node/node_modules/inherits/package.json +29 -0
- data/lib/game_dig/node/node_modules/isarray/README.md +54 -0
- data/lib/game_dig/node/node_modules/isarray/build/build.js +209 -0
- data/lib/game_dig/node/node_modules/isarray/component.json +19 -0
- data/lib/game_dig/node/node_modules/isarray/index.js +3 -0
- data/lib/game_dig/node/node_modules/isarray/package.json +25 -0
- data/lib/game_dig/node/node_modules/json-buffer/.travis.yml +3 -0
- data/lib/game_dig/node/node_modules/json-buffer/LICENSE +22 -0
- data/lib/game_dig/node/node_modules/json-buffer/README.md +24 -0
- data/lib/game_dig/node/node_modules/json-buffer/index.js +58 -0
- data/lib/game_dig/node/node_modules/json-buffer/package.json +34 -0
- data/lib/game_dig/node/node_modules/json-buffer/test/index.js +63 -0
- data/lib/game_dig/node/node_modules/keyv/README.md +429 -0
- data/lib/game_dig/node/node_modules/keyv/package.json +57 -0
- data/lib/game_dig/node/node_modules/keyv/src/index.d.ts +112 -0
- data/lib/game_dig/node/node_modules/keyv/src/index.js +259 -0
- data/lib/game_dig/node/node_modules/long/LICENSE +202 -0
- data/lib/game_dig/node/node_modules/long/README.md +286 -0
- data/lib/game_dig/node/node_modules/long/index.d.ts +2 -0
- data/lib/game_dig/node/node_modules/long/index.js +1581 -0
- data/lib/game_dig/node/node_modules/long/package.json +58 -0
- data/lib/game_dig/node/node_modules/long/types.d.ts +474 -0
- data/lib/game_dig/node/node_modules/long/umd/index.d.ts +3 -0
- data/lib/game_dig/node/node_modules/long/umd/index.js +1622 -0
- data/lib/game_dig/node/node_modules/long/umd/package.json +3 -0
- data/lib/game_dig/node/node_modules/long/umd/types.d.ts +474 -0
- data/lib/game_dig/node/node_modules/lowercase-keys/index.d.ts +14 -0
- data/lib/game_dig/node/node_modules/lowercase-keys/index.js +3 -0
- data/lib/game_dig/node/node_modules/lowercase-keys/license +9 -0
- data/lib/game_dig/node/node_modules/lowercase-keys/package.json +41 -0
- data/lib/game_dig/node/node_modules/lowercase-keys/readme.md +32 -0
- data/lib/game_dig/node/node_modules/mimic-response/index.d.ts +17 -0
- data/lib/game_dig/node/node_modules/mimic-response/index.js +77 -0
- data/lib/game_dig/node/node_modules/mimic-response/license +9 -0
- data/lib/game_dig/node/node_modules/mimic-response/package.json +42 -0
- data/lib/game_dig/node/node_modules/mimic-response/readme.md +78 -0
- data/lib/game_dig/node/node_modules/minimist/.eslintrc +29 -0
- data/lib/game_dig/node/node_modules/minimist/.github/FUNDING.yml +12 -0
- data/lib/game_dig/node/node_modules/minimist/.nycrc +14 -0
- data/lib/game_dig/node/node_modules/minimist/CHANGELOG.md +298 -0
- data/lib/game_dig/node/node_modules/minimist/LICENSE +18 -0
- data/lib/game_dig/node/node_modules/minimist/README.md +121 -0
- data/lib/game_dig/node/node_modules/minimist/example/parse.js +4 -0
- data/lib/game_dig/node/node_modules/minimist/index.js +263 -0
- data/lib/game_dig/node/node_modules/minimist/package.json +75 -0
- data/lib/game_dig/node/node_modules/minimist/test/all_bool.js +34 -0
- data/lib/game_dig/node/node_modules/minimist/test/bool.js +177 -0
- data/lib/game_dig/node/node_modules/minimist/test/dash.js +43 -0
- data/lib/game_dig/node/node_modules/minimist/test/default_bool.js +37 -0
- data/lib/game_dig/node/node_modules/minimist/test/dotted.js +24 -0
- data/lib/game_dig/node/node_modules/minimist/test/kv_short.js +32 -0
- data/lib/game_dig/node/node_modules/minimist/test/long.js +33 -0
- data/lib/game_dig/node/node_modules/minimist/test/num.js +38 -0
- data/lib/game_dig/node/node_modules/minimist/test/parse.js +209 -0
- data/lib/game_dig/node/node_modules/minimist/test/parse_modified.js +11 -0
- data/lib/game_dig/node/node_modules/minimist/test/proto.js +64 -0
- data/lib/game_dig/node/node_modules/minimist/test/short.js +69 -0
- data/lib/game_dig/node/node_modules/minimist/test/stop_early.js +17 -0
- data/lib/game_dig/node/node_modules/minimist/test/unknown.js +104 -0
- data/lib/game_dig/node/node_modules/minimist/test/whitespace.js +10 -0
- data/lib/game_dig/node/node_modules/net/LICENSE +19 -0
- data/lib/game_dig/node/node_modules/net/README.md +0 -0
- data/lib/game_dig/node/node_modules/net/index.js +28 -0
- data/lib/game_dig/node/node_modules/net/package.json +17 -0
- data/lib/game_dig/node/node_modules/net/test.js +6 -0
- data/lib/game_dig/node/node_modules/normalize-url/index.d.ts +342 -0
- data/lib/game_dig/node/node_modules/normalize-url/index.js +308 -0
- data/lib/game_dig/node/node_modules/normalize-url/license +9 -0
- data/lib/game_dig/node/node_modules/normalize-url/package.json +57 -0
- data/lib/game_dig/node/node_modules/normalize-url/readme.md +347 -0
- data/lib/game_dig/node/node_modules/p-cancelable/index.d.ts +168 -0
- data/lib/game_dig/node/node_modules/p-cancelable/index.js +110 -0
- data/lib/game_dig/node/node_modules/p-cancelable/license +9 -0
- data/lib/game_dig/node/node_modules/p-cancelable/package.json +50 -0
- data/lib/game_dig/node/node_modules/p-cancelable/readme.md +152 -0
- data/lib/game_dig/node/node_modules/process-nextick-args/index.js +45 -0
- data/lib/game_dig/node/node_modules/process-nextick-args/license.md +19 -0
- data/lib/game_dig/node/node_modules/process-nextick-args/package.json +25 -0
- data/lib/game_dig/node/node_modules/process-nextick-args/readme.md +18 -0
- data/lib/game_dig/node/node_modules/quick-lru/index.d.ts +97 -0
- data/lib/game_dig/node/node_modules/quick-lru/index.js +123 -0
- data/lib/game_dig/node/node_modules/quick-lru/license +9 -0
- data/lib/game_dig/node/node_modules/quick-lru/package.json +43 -0
- data/lib/game_dig/node/node_modules/quick-lru/readme.md +111 -0
- data/lib/game_dig/node/node_modules/readable-stream/.travis.yml +34 -0
- data/lib/game_dig/node/node_modules/readable-stream/CONTRIBUTING.md +38 -0
- data/lib/game_dig/node/node_modules/readable-stream/GOVERNANCE.md +136 -0
- data/lib/game_dig/node/node_modules/readable-stream/LICENSE +47 -0
- data/lib/game_dig/node/node_modules/readable-stream/README.md +58 -0
- data/lib/game_dig/node/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
- data/lib/game_dig/node/node_modules/readable-stream/duplex-browser.js +1 -0
- data/lib/game_dig/node/node_modules/readable-stream/duplex.js +1 -0
- data/lib/game_dig/node/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
- data/lib/game_dig/node/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
- data/lib/game_dig/node/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
- data/lib/game_dig/node/node_modules/readable-stream/lib/_stream_transform.js +214 -0
- data/lib/game_dig/node/node_modules/readable-stream/lib/_stream_writable.js +685 -0
- data/lib/game_dig/node/node_modules/readable-stream/lib/internal/streams/BufferList.js +78 -0
- data/lib/game_dig/node/node_modules/readable-stream/lib/internal/streams/destroy.js +84 -0
- data/lib/game_dig/node/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
- data/lib/game_dig/node/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
- data/lib/game_dig/node/node_modules/readable-stream/node_modules/isarray/.npmignore +1 -0
- data/lib/game_dig/node/node_modules/readable-stream/node_modules/isarray/.travis.yml +4 -0
- data/lib/game_dig/node/node_modules/readable-stream/node_modules/isarray/Makefile +6 -0
- data/lib/game_dig/node/node_modules/readable-stream/node_modules/isarray/README.md +60 -0
- data/lib/game_dig/node/node_modules/readable-stream/node_modules/isarray/component.json +19 -0
- data/lib/game_dig/node/node_modules/readable-stream/node_modules/isarray/index.js +5 -0
- data/lib/game_dig/node/node_modules/readable-stream/node_modules/isarray/package.json +45 -0
- data/lib/game_dig/node/node_modules/readable-stream/node_modules/isarray/test.js +20 -0
- data/lib/game_dig/node/node_modules/readable-stream/node_modules/string_decoder/.travis.yml +50 -0
- data/lib/game_dig/node/node_modules/readable-stream/node_modules/string_decoder/LICENSE +48 -0
- data/lib/game_dig/node/node_modules/readable-stream/node_modules/string_decoder/README.md +47 -0
- data/lib/game_dig/node/node_modules/readable-stream/node_modules/string_decoder/lib/string_decoder.js +296 -0
- data/lib/game_dig/node/node_modules/readable-stream/node_modules/string_decoder/package.json +31 -0
- data/lib/game_dig/node/node_modules/readable-stream/package.json +52 -0
- data/lib/game_dig/node/node_modules/readable-stream/passthrough.js +1 -0
- data/lib/game_dig/node/node_modules/readable-stream/readable-browser.js +7 -0
- data/lib/game_dig/node/node_modules/readable-stream/readable.js +19 -0
- data/lib/game_dig/node/node_modules/readable-stream/transform.js +1 -0
- data/lib/game_dig/node/node_modules/readable-stream/writable-browser.js +1 -0
- data/lib/game_dig/node/node_modules/readable-stream/writable.js +8 -0
- data/lib/game_dig/node/node_modules/resolve-alpn/LICENSE +22 -0
- data/lib/game_dig/node/node_modules/resolve-alpn/README.md +60 -0
- data/lib/game_dig/node/node_modules/resolve-alpn/index.js +43 -0
- data/lib/game_dig/node/node_modules/resolve-alpn/package.json +34 -0
- data/lib/game_dig/node/node_modules/responselike/LICENSE +19 -0
- data/lib/game_dig/node/node_modules/responselike/README.md +77 -0
- data/lib/game_dig/node/node_modules/responselike/index.d.ts +86 -0
- data/lib/game_dig/node/node_modules/responselike/index.js +39 -0
- data/lib/game_dig/node/node_modules/responselike/license +10 -0
- data/lib/game_dig/node/node_modules/responselike/package.json +39 -0
- data/lib/game_dig/node/node_modules/responselike/readme.md +75 -0
- data/lib/game_dig/node/node_modules/safe-buffer/LICENSE +21 -0
- data/lib/game_dig/node/node_modules/safe-buffer/README.md +584 -0
- data/lib/game_dig/node/node_modules/safe-buffer/index.d.ts +187 -0
- data/lib/game_dig/node/node_modules/safe-buffer/index.js +62 -0
- data/lib/game_dig/node/node_modules/safe-buffer/package.json +37 -0
- data/lib/game_dig/node/node_modules/safer-buffer/LICENSE +21 -0
- data/lib/game_dig/node/node_modules/safer-buffer/Porting-Buffer.md +268 -0
- data/lib/game_dig/node/node_modules/safer-buffer/Readme.md +156 -0
- data/lib/game_dig/node/node_modules/safer-buffer/dangerous.js +58 -0
- data/lib/game_dig/node/node_modules/safer-buffer/package.json +34 -0
- data/lib/game_dig/node/node_modules/safer-buffer/safer.js +77 -0
- data/lib/game_dig/node/node_modules/safer-buffer/tests.js +406 -0
- data/lib/game_dig/node/node_modules/sax/LICENSE +41 -0
- data/lib/game_dig/node/node_modules/sax/README.md +225 -0
- data/lib/game_dig/node/node_modules/sax/lib/sax.js +1565 -0
- data/lib/game_dig/node/node_modules/sax/package.json +25 -0
- data/lib/game_dig/node/node_modules/seek-bzip/LICENSE +26 -0
- data/lib/game_dig/node/node_modules/seek-bzip/README.md +185 -0
- data/lib/game_dig/node/node_modules/seek-bzip/bin/seek-bunzip +129 -0
- data/lib/game_dig/node/node_modules/seek-bzip/bin/seek-bzip-table +71 -0
- data/lib/game_dig/node/node_modules/seek-bzip/lib/bitreader.js +94 -0
- data/lib/game_dig/node/node_modules/seek-bzip/lib/crc32.js +104 -0
- data/lib/game_dig/node/node_modules/seek-bzip/lib/index.js +605 -0
- data/lib/game_dig/node/node_modules/seek-bzip/lib/stream.js +42 -0
- data/lib/game_dig/node/node_modules/seek-bzip/package.json +34 -0
- data/lib/game_dig/node/node_modules/stream/.npmignore +3 -0
- data/lib/game_dig/node/node_modules/stream/Makefile +11 -0
- data/lib/game_dig/node/node_modules/stream/README.md +59 -0
- data/lib/game_dig/node/node_modules/stream/component.json +19 -0
- data/lib/game_dig/node/node_modules/stream/index.js +115 -0
- data/lib/game_dig/node/node_modules/stream/package.json +25 -0
- data/lib/game_dig/node/node_modules/stream/test.html +173 -0
- data/lib/game_dig/node/node_modules/string-to-stream/LICENSE +20 -0
- data/lib/game_dig/node/node_modules/string-to-stream/README.md +34 -0
- data/lib/game_dig/node/node_modules/string-to-stream/index.js +23 -0
- data/lib/game_dig/node/node_modules/string-to-stream/package.json +53 -0
- data/lib/game_dig/node/node_modules/string_decoder/.npmignore +2 -0
- data/lib/game_dig/node/node_modules/string_decoder/LICENSE +20 -0
- data/lib/game_dig/node/node_modules/string_decoder/README.md +7 -0
- data/lib/game_dig/node/node_modules/string_decoder/index.js +221 -0
- data/lib/game_dig/node/node_modules/string_decoder/package.json +25 -0
- data/lib/game_dig/node/node_modules/strnum/.github/SECURITY.md +5 -0
- data/lib/game_dig/node/node_modules/strnum/.vscode/launch.json +25 -0
- data/lib/game_dig/node/node_modules/strnum/CHANGELOG.md +33 -0
- data/lib/game_dig/node/node_modules/strnum/LICENSE +21 -0
- data/lib/game_dig/node/node_modules/strnum/README.md +97 -0
- data/lib/game_dig/node/node_modules/strnum/algo.stflow +84 -0
- data/lib/game_dig/node/node_modules/strnum/package.json +31 -0
- data/lib/game_dig/node/node_modules/strnum/strnum.js +129 -0
- data/lib/game_dig/node/node_modules/strnum/strnum.test.js +173 -0
- data/lib/game_dig/node/node_modules/strnum/test.js +9 -0
- data/lib/game_dig/node/node_modules/telnet-client/LICENSE +8 -0
- data/lib/game_dig/node/node_modules/telnet-client/README.md +363 -0
- data/lib/game_dig/node/node_modules/telnet-client/lib/index.d.ts +92 -0
- data/lib/game_dig/node/node_modules/telnet-client/lib/index.js +506 -0
- data/lib/game_dig/node/node_modules/telnet-client/lib/index.js.map +1 -0
- data/lib/game_dig/node/node_modules/telnet-client/lib/utils.d.ts +15 -0
- data/lib/game_dig/node/node_modules/telnet-client/lib/utils.js +34 -0
- data/lib/game_dig/node/node_modules/telnet-client/lib/utils.js.map +1 -0
- data/lib/game_dig/node/node_modules/telnet-client/package.json +103 -0
- data/lib/game_dig/node/node_modules/util-deprecate/History.md +16 -0
- data/lib/game_dig/node/node_modules/util-deprecate/LICENSE +24 -0
- data/lib/game_dig/node/node_modules/util-deprecate/README.md +53 -0
- data/lib/game_dig/node/node_modules/util-deprecate/browser.js +67 -0
- data/lib/game_dig/node/node_modules/util-deprecate/node.js +6 -0
- data/lib/game_dig/node/node_modules/util-deprecate/package.json +27 -0
- data/lib/game_dig/node/node_modules/varint/README.md +53 -0
- data/lib/game_dig/node/node_modules/varint/bench.js +57 -0
- data/lib/game_dig/node/node_modules/varint/decode.js +29 -0
- data/lib/game_dig/node/node_modules/varint/encode.js +30 -0
- data/lib/game_dig/node/node_modules/varint/index.js +5 -0
- data/lib/game_dig/node/node_modules/varint/length.js +25 -0
- data/lib/game_dig/node/node_modules/varint/package.json +24 -0
- data/lib/game_dig/node/node_modules/varint/test.js +156 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/.npmignore +5 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/CHANGELOG.md +395 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/LICENSE +21 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/README.md +85 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/Utility.js +139 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLAttribute.js +31 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLCData.js +32 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLComment.js +32 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLDTDAttList.js +50 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLDTDElement.js +35 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLDTDEntity.js +56 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLDTDNotation.js +37 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLDeclaration.js +40 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLDocType.js +107 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLDocument.js +48 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLDocumentCB.js +402 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLElement.js +111 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLNode.js +432 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js +35 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLRaw.js +32 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLStreamWriter.js +278 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLStringWriter.js +302 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLStringifier.js +192 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLText.js +32 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLWriterBase.js +68 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/lib/index.js +53 -0
- data/lib/game_dig/node/node_modules/xmlbuilder/package.json +37 -0
- data/lib/game_dig/node/node_modules/xmlrpc/.idea/date_formatter.js +77 -0
- data/lib/game_dig/node/node_modules/xmlrpc/.npmignore +5 -0
- data/lib/game_dig/node/node_modules/xmlrpc/.travis.yml +6 -0
- data/lib/game_dig/node/node_modules/xmlrpc/HISTORY.md +129 -0
- data/lib/game_dig/node/node_modules/xmlrpc/LICENSE +23 -0
- data/lib/game_dig/node/node_modules/xmlrpc/README.md +235 -0
- data/lib/game_dig/node/node_modules/xmlrpc/lib/client.js +177 -0
- data/lib/game_dig/node/node_modules/xmlrpc/lib/cookies.js +111 -0
- data/lib/game_dig/node/node_modules/xmlrpc/lib/customtype.js +10 -0
- data/lib/game_dig/node/node_modules/xmlrpc/lib/date_formatter.js +188 -0
- data/lib/game_dig/node/node_modules/xmlrpc/lib/deserializer.js +324 -0
- data/lib/game_dig/node/node_modules/xmlrpc/lib/serializer.js +202 -0
- data/lib/game_dig/node/node_modules/xmlrpc/lib/server.js +78 -0
- data/lib/game_dig/node/node_modules/xmlrpc/lib/xmlrpc.js +65 -0
- data/lib/game_dig/node/node_modules/xmlrpc/package.json +35 -0
- data/lib/game_dig/node/node_modules/xmlrpc/tmp/client.js +28 -0
- data/lib/game_dig/node/node_modules/xmlrpc/tmp/server.crt +13 -0
- data/lib/game_dig/node/node_modules/xmlrpc/tmp/server.csr +11 -0
- data/lib/game_dig/node/node_modules/xmlrpc/tmp/server.js +10 -0
- data/lib/game_dig/node/node_modules/xmlrpc/tmp/server.key +15 -0
- data/lib/game_dig/node/node_modules/xmlrpc/tmp/server.key.org +18 -0
- data/lib/game_dig/node/package.json +8 -0
- data/lib/game_dig/node/yarn.lock +359 -0
- data/lib/game_dig/nodo.rb +54 -0
- data/lib/game_dig/query_result.rb +71 -0
- data/lib/game_dig/version.rb +1 -1
- data/lib/game_dig.rb +78 -45
- metadata +742 -11
- data/lib/custom_errors/game_dig_cli_not_found.rb +0 -2
- data/lib/custom_errors/game_dig_error.rb +0 -2
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
// Copyright Joyent, Inc. and other Node contributors.
|
|
2
|
+
//
|
|
3
|
+
// Permission is hereby granted, free of charge, to any person obtaining a
|
|
4
|
+
// copy of this software and associated documentation files (the
|
|
5
|
+
// "Software"), to deal in the Software without restriction, including
|
|
6
|
+
// without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
|
8
|
+
// persons to whom the Software is furnished to do so, subject to the
|
|
9
|
+
// following conditions:
|
|
10
|
+
//
|
|
11
|
+
// The above copyright notice and this permission notice shall be included
|
|
12
|
+
// in all copies or substantial portions of the Software.
|
|
13
|
+
//
|
|
14
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
15
|
+
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
|
17
|
+
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|
18
|
+
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
19
|
+
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
|
20
|
+
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
21
|
+
|
|
22
|
+
var Buffer = require('buffer').Buffer;
|
|
23
|
+
|
|
24
|
+
var isBufferEncoding = Buffer.isEncoding
|
|
25
|
+
|| function(encoding) {
|
|
26
|
+
switch (encoding && encoding.toLowerCase()) {
|
|
27
|
+
case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true;
|
|
28
|
+
default: return false;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
function assertEncoding(encoding) {
|
|
34
|
+
if (encoding && !isBufferEncoding(encoding)) {
|
|
35
|
+
throw new Error('Unknown encoding: ' + encoding);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// StringDecoder provides an interface for efficiently splitting a series of
|
|
40
|
+
// buffers into a series of JS strings without breaking apart multi-byte
|
|
41
|
+
// characters. CESU-8 is handled as part of the UTF-8 encoding.
|
|
42
|
+
//
|
|
43
|
+
// @TODO Handling all encodings inside a single object makes it very difficult
|
|
44
|
+
// to reason about this code, so it should be split up in the future.
|
|
45
|
+
// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code
|
|
46
|
+
// points as used by CESU-8.
|
|
47
|
+
var StringDecoder = exports.StringDecoder = function(encoding) {
|
|
48
|
+
this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');
|
|
49
|
+
assertEncoding(encoding);
|
|
50
|
+
switch (this.encoding) {
|
|
51
|
+
case 'utf8':
|
|
52
|
+
// CESU-8 represents each of Surrogate Pair by 3-bytes
|
|
53
|
+
this.surrogateSize = 3;
|
|
54
|
+
break;
|
|
55
|
+
case 'ucs2':
|
|
56
|
+
case 'utf16le':
|
|
57
|
+
// UTF-16 represents each of Surrogate Pair by 2-bytes
|
|
58
|
+
this.surrogateSize = 2;
|
|
59
|
+
this.detectIncompleteChar = utf16DetectIncompleteChar;
|
|
60
|
+
break;
|
|
61
|
+
case 'base64':
|
|
62
|
+
// Base-64 stores 3 bytes in 4 chars, and pads the remainder.
|
|
63
|
+
this.surrogateSize = 3;
|
|
64
|
+
this.detectIncompleteChar = base64DetectIncompleteChar;
|
|
65
|
+
break;
|
|
66
|
+
default:
|
|
67
|
+
this.write = passThroughWrite;
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Enough space to store all bytes of a single character. UTF-8 needs 4
|
|
72
|
+
// bytes, but CESU-8 may require up to 6 (3 bytes per surrogate).
|
|
73
|
+
this.charBuffer = new Buffer(6);
|
|
74
|
+
// Number of bytes received for the current incomplete multi-byte character.
|
|
75
|
+
this.charReceived = 0;
|
|
76
|
+
// Number of bytes expected for the current incomplete multi-byte character.
|
|
77
|
+
this.charLength = 0;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
// write decodes the given buffer and returns it as JS string that is
|
|
82
|
+
// guaranteed to not contain any partial multi-byte characters. Any partial
|
|
83
|
+
// character found at the end of the buffer is buffered up, and will be
|
|
84
|
+
// returned when calling write again with the remaining bytes.
|
|
85
|
+
//
|
|
86
|
+
// Note: Converting a Buffer containing an orphan surrogate to a String
|
|
87
|
+
// currently works, but converting a String to a Buffer (via `new Buffer`, or
|
|
88
|
+
// Buffer#write) will replace incomplete surrogates with the unicode
|
|
89
|
+
// replacement character. See https://codereview.chromium.org/121173009/ .
|
|
90
|
+
StringDecoder.prototype.write = function(buffer) {
|
|
91
|
+
var charStr = '';
|
|
92
|
+
// if our last write ended with an incomplete multibyte character
|
|
93
|
+
while (this.charLength) {
|
|
94
|
+
// determine how many remaining bytes this buffer has to offer for this char
|
|
95
|
+
var available = (buffer.length >= this.charLength - this.charReceived) ?
|
|
96
|
+
this.charLength - this.charReceived :
|
|
97
|
+
buffer.length;
|
|
98
|
+
|
|
99
|
+
// add the new bytes to the char buffer
|
|
100
|
+
buffer.copy(this.charBuffer, this.charReceived, 0, available);
|
|
101
|
+
this.charReceived += available;
|
|
102
|
+
|
|
103
|
+
if (this.charReceived < this.charLength) {
|
|
104
|
+
// still not enough chars in this buffer? wait for more ...
|
|
105
|
+
return '';
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// remove bytes belonging to the current character from the buffer
|
|
109
|
+
buffer = buffer.slice(available, buffer.length);
|
|
110
|
+
|
|
111
|
+
// get the character that was split
|
|
112
|
+
charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding);
|
|
113
|
+
|
|
114
|
+
// CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
|
|
115
|
+
var charCode = charStr.charCodeAt(charStr.length - 1);
|
|
116
|
+
if (charCode >= 0xD800 && charCode <= 0xDBFF) {
|
|
117
|
+
this.charLength += this.surrogateSize;
|
|
118
|
+
charStr = '';
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
this.charReceived = this.charLength = 0;
|
|
122
|
+
|
|
123
|
+
// if there are no more bytes in this buffer, just emit our char
|
|
124
|
+
if (buffer.length === 0) {
|
|
125
|
+
return charStr;
|
|
126
|
+
}
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// determine and set charLength / charReceived
|
|
131
|
+
this.detectIncompleteChar(buffer);
|
|
132
|
+
|
|
133
|
+
var end = buffer.length;
|
|
134
|
+
if (this.charLength) {
|
|
135
|
+
// buffer the incomplete character bytes we got
|
|
136
|
+
buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end);
|
|
137
|
+
end -= this.charReceived;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
charStr += buffer.toString(this.encoding, 0, end);
|
|
141
|
+
|
|
142
|
+
var end = charStr.length - 1;
|
|
143
|
+
var charCode = charStr.charCodeAt(end);
|
|
144
|
+
// CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
|
|
145
|
+
if (charCode >= 0xD800 && charCode <= 0xDBFF) {
|
|
146
|
+
var size = this.surrogateSize;
|
|
147
|
+
this.charLength += size;
|
|
148
|
+
this.charReceived += size;
|
|
149
|
+
this.charBuffer.copy(this.charBuffer, size, 0, size);
|
|
150
|
+
buffer.copy(this.charBuffer, 0, 0, size);
|
|
151
|
+
return charStr.substring(0, end);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// or just emit the charStr
|
|
155
|
+
return charStr;
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
// detectIncompleteChar determines if there is an incomplete UTF-8 character at
|
|
159
|
+
// the end of the given buffer. If so, it sets this.charLength to the byte
|
|
160
|
+
// length that character, and sets this.charReceived to the number of bytes
|
|
161
|
+
// that are available for this character.
|
|
162
|
+
StringDecoder.prototype.detectIncompleteChar = function(buffer) {
|
|
163
|
+
// determine how many bytes we have to check at the end of this buffer
|
|
164
|
+
var i = (buffer.length >= 3) ? 3 : buffer.length;
|
|
165
|
+
|
|
166
|
+
// Figure out if one of the last i bytes of our buffer announces an
|
|
167
|
+
// incomplete char.
|
|
168
|
+
for (; i > 0; i--) {
|
|
169
|
+
var c = buffer[buffer.length - i];
|
|
170
|
+
|
|
171
|
+
// See http://en.wikipedia.org/wiki/UTF-8#Description
|
|
172
|
+
|
|
173
|
+
// 110XXXXX
|
|
174
|
+
if (i == 1 && c >> 5 == 0x06) {
|
|
175
|
+
this.charLength = 2;
|
|
176
|
+
break;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// 1110XXXX
|
|
180
|
+
if (i <= 2 && c >> 4 == 0x0E) {
|
|
181
|
+
this.charLength = 3;
|
|
182
|
+
break;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// 11110XXX
|
|
186
|
+
if (i <= 3 && c >> 3 == 0x1E) {
|
|
187
|
+
this.charLength = 4;
|
|
188
|
+
break;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
this.charReceived = i;
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
StringDecoder.prototype.end = function(buffer) {
|
|
195
|
+
var res = '';
|
|
196
|
+
if (buffer && buffer.length)
|
|
197
|
+
res = this.write(buffer);
|
|
198
|
+
|
|
199
|
+
if (this.charReceived) {
|
|
200
|
+
var cr = this.charReceived;
|
|
201
|
+
var buf = this.charBuffer;
|
|
202
|
+
var enc = this.encoding;
|
|
203
|
+
res += buf.slice(0, cr).toString(enc);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
return res;
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
function passThroughWrite(buffer) {
|
|
210
|
+
return buffer.toString(this.encoding);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
function utf16DetectIncompleteChar(buffer) {
|
|
214
|
+
this.charReceived = buffer.length % 2;
|
|
215
|
+
this.charLength = this.charReceived ? 2 : 0;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
function base64DetectIncompleteChar(buffer) {
|
|
219
|
+
this.charReceived = buffer.length % 3;
|
|
220
|
+
this.charLength = this.charReceived ? 3 : 0;
|
|
221
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "string_decoder",
|
|
3
|
+
"version": "0.10.31",
|
|
4
|
+
"description": "The string_decoder module from Node core",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"dependencies": {},
|
|
7
|
+
"devDependencies": {
|
|
8
|
+
"tap": "~0.4.8"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"test": "tap test/simple/*.js"
|
|
12
|
+
},
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "git://github.com/rvagg/string_decoder.git"
|
|
16
|
+
},
|
|
17
|
+
"homepage": "https://github.com/rvagg/string_decoder",
|
|
18
|
+
"keywords": [
|
|
19
|
+
"string",
|
|
20
|
+
"decoder",
|
|
21
|
+
"browser",
|
|
22
|
+
"browserify"
|
|
23
|
+
],
|
|
24
|
+
"license": "MIT"
|
|
25
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
If you believe you have found a security vulnerability in this repository which can be potentially harful for the users in anyway, please do not report security vulnerabilities through public GitHub issues. Instead, please report it to us as described below.
|
|
2
|
+
|
|
3
|
+
## Security contact information
|
|
4
|
+
|
|
5
|
+
To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). Tidelift will coordinate the fix and disclosure.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.2.0",
|
|
3
|
+
"configurations": [
|
|
4
|
+
{
|
|
5
|
+
"type": "node",
|
|
6
|
+
"request": "launch",
|
|
7
|
+
"name": "Jasmine Tests",
|
|
8
|
+
"program": "${workspaceFolder}/node_modules/jasmine/bin/jasmine.js",
|
|
9
|
+
"args": [
|
|
10
|
+
"${workspaceFolder}/spec/attr_spec.js"
|
|
11
|
+
],
|
|
12
|
+
"internalConsoleOptions": "openOnSessionStart"
|
|
13
|
+
},{
|
|
14
|
+
"type": "node",
|
|
15
|
+
"request": "launch",
|
|
16
|
+
"name": "Jasmine Tests current test file",
|
|
17
|
+
"program": "${workspaceFolder}/node_modules/jasmine/bin/jasmine.js",
|
|
18
|
+
"args": [
|
|
19
|
+
"${file}"
|
|
20
|
+
],
|
|
21
|
+
"internalConsoleOptions": "openOnSessionStart"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
|
|
2
|
+
**2.1.1 / 2025-05-15**
|
|
3
|
+
- remove unnecessary check to remove lint error
|
|
4
|
+
|
|
5
|
+
**2.1.0 / 2025-05-01**
|
|
6
|
+
- fix e-notation
|
|
7
|
+
- to return string when invalid enotation is found. Eg `E24`
|
|
8
|
+
- to return valid number when only leading zero before e char is present
|
|
9
|
+
|
|
10
|
+
**2.0.5 / 2025-02-27**
|
|
11
|
+
- changes done in 1.1.2
|
|
12
|
+
|
|
13
|
+
**1.1.2 / 2025-02-27**
|
|
14
|
+
- fix skiplike for 0
|
|
15
|
+
|
|
16
|
+
**1.1.1 / 2025-02-21**
|
|
17
|
+
- All recent fixes of version 2
|
|
18
|
+
|
|
19
|
+
**2.0.4 / 2025-02-20**
|
|
20
|
+
- remove console log
|
|
21
|
+
|
|
22
|
+
**2.0.3 / 2025-02-20**
|
|
23
|
+
- fix for string which are falsly identified as e-notation
|
|
24
|
+
|
|
25
|
+
**2.0.1 / 2025-02-20**
|
|
26
|
+
- fix: handle only zeros
|
|
27
|
+
- fix: return original string when NaN
|
|
28
|
+
|
|
29
|
+
**2.0.0 / 2025-02-20**
|
|
30
|
+
- Migrating to ESM modules. No functional change
|
|
31
|
+
|
|
32
|
+
**1.1.0 / 2025-02-20**
|
|
33
|
+
- fix (#9): support missing floating point and e notations
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021 Natural Intelligence
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# strnum
|
|
2
|
+
Parse string into Number based on configuration
|
|
3
|
+
|
|
4
|
+
## Users
|
|
5
|
+
|
|
6
|
+
<a href="https://github.com/aws-amplify" target="_blank"><img src="https://avatars.githubusercontent.com/u/41077760?s=100&v=4"></a>
|
|
7
|
+
<a href="https://github.com/astrapay" target="_blank"><img src="https://avatars.githubusercontent.com/u/90901882?s=100&v=4"></a>
|
|
8
|
+
<a href="https://github.com/process-analytics" target="_blank"><img src="https://avatars.githubusercontent.com/u/60110287?s=100&v=4"></a>
|
|
9
|
+
<a href="https://github.com/NaturalIntelligence" target="_blank"><img src="https://avatars.githubusercontent.com/u/16322633?s=100&v=4"></a>
|
|
10
|
+
Many React Native projects and plugins
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install strnum
|
|
16
|
+
```
|
|
17
|
+
```js
|
|
18
|
+
const toNumber = require("strnum");
|
|
19
|
+
|
|
20
|
+
toNumber(undefined) // undefined
|
|
21
|
+
toNumber(null)) //null
|
|
22
|
+
toNumber("")) // ""
|
|
23
|
+
toNumber("string"); //"string")
|
|
24
|
+
toNumber("12,12"); //"12,12")
|
|
25
|
+
toNumber("12 12"); //"12 12")
|
|
26
|
+
toNumber("12-12"); //"12-12")
|
|
27
|
+
toNumber("12.12.12"); //"12.12.12")
|
|
28
|
+
toNumber("0x2f"); //47)
|
|
29
|
+
toNumber("-0x2f"); //-47)
|
|
30
|
+
toNumber("0x2f", { hex : true}); //47)
|
|
31
|
+
toNumber("-0x2f", { hex : true}); //-47)
|
|
32
|
+
toNumber("0x2f", { hex : false}); //"0x2f")
|
|
33
|
+
toNumber("-0x2f", { hex : false}); //"-0x2f")
|
|
34
|
+
toNumber("06"); //6)
|
|
35
|
+
toNumber("06", { leadingZeros : true}); //6)
|
|
36
|
+
toNumber("06", { leadingZeros : false}); //"06")
|
|
37
|
+
|
|
38
|
+
toNumber("006"); //6)
|
|
39
|
+
toNumber("006", { leadingZeros : true}); //6)
|
|
40
|
+
toNumber("006", { leadingZeros : false}); //"006")
|
|
41
|
+
toNumber("0.0"); //0)
|
|
42
|
+
toNumber("00.00"); //0)
|
|
43
|
+
toNumber("0.06"); //0.06)
|
|
44
|
+
toNumber("00.6"); //0.6)
|
|
45
|
+
toNumber(".006"); //0.006)
|
|
46
|
+
toNumber("6.0"); //6)
|
|
47
|
+
toNumber("06.0"); //6)
|
|
48
|
+
|
|
49
|
+
toNumber("0.0", { leadingZeros : false}); //0)
|
|
50
|
+
toNumber("00.00", { leadingZeros : false}); //"00.00")
|
|
51
|
+
toNumber("0.06", { leadingZeros : false}); //0.06)
|
|
52
|
+
toNumber("00.6", { leadingZeros : false}); //"00.6")
|
|
53
|
+
toNumber(".006", { leadingZeros : false}); //0.006)
|
|
54
|
+
toNumber("6.0" , { leadingZeros : false}); //6)
|
|
55
|
+
toNumber("06.0" , { leadingZeros : false}); //"06.0")
|
|
56
|
+
toNumber("-06"); //-6)
|
|
57
|
+
toNumber("-06", { leadingZeros : true}); //-6)
|
|
58
|
+
toNumber("-06", { leadingZeros : false}); //"-06")
|
|
59
|
+
|
|
60
|
+
toNumber("-0.0"); //-0)
|
|
61
|
+
toNumber("-00.00"); //-0)
|
|
62
|
+
toNumber("-0.06"); //-0.06)
|
|
63
|
+
toNumber("-00.6"); //-0.6)
|
|
64
|
+
toNumber("-.006"); //-0.006)
|
|
65
|
+
toNumber("-6.0"); //-6)
|
|
66
|
+
toNumber("-06.0"); //-6)
|
|
67
|
+
|
|
68
|
+
toNumber("-0.0" , { leadingZeros : false}); //-0)
|
|
69
|
+
toNumber("-00.00", { leadingZeros : false}); //"-00.00")
|
|
70
|
+
toNumber("-0.06", { leadingZeros : false}); //-0.06)
|
|
71
|
+
toNumber("-00.6", { leadingZeros : false}); //"-00.6")
|
|
72
|
+
toNumber("-.006", {leadingZeros : false}); //-0.006)
|
|
73
|
+
toNumber("-6.0" , { leadingZeros : false}); //-6)
|
|
74
|
+
toNumber("-06.0" , { leadingZeros : false}); //"-06.0")
|
|
75
|
+
toNumber("420926189200190257681175017717") ; //4.209261892001902e+29)
|
|
76
|
+
toNumber("000000000000000000000000017717" , { leadingZeros : false}); //"000000000000000000000000017717")
|
|
77
|
+
toNumber("000000000000000000000000017717" , { leadingZeros : true}); //17717)
|
|
78
|
+
toNumber("01.0e2" , { leadingZeros : false}); //"01.0e2")
|
|
79
|
+
toNumber("-01.0e2" , { leadingZeros : false}); //"-01.0e2")
|
|
80
|
+
toNumber("01.0e2") ; //100)
|
|
81
|
+
toNumber("-01.0e2") ; //-100)
|
|
82
|
+
toNumber("1.0e2") ; //100)
|
|
83
|
+
|
|
84
|
+
toNumber("-1.0e2") ; //-100)
|
|
85
|
+
toNumber("1.0e-2"); //0.01)
|
|
86
|
+
|
|
87
|
+
toNumber("+1212121212"); // 1212121212
|
|
88
|
+
toNumber("+1212121212", { skipLike: /\+[0-9]{10}/} )); //"+1212121212"
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Supported Options
|
|
92
|
+
```js
|
|
93
|
+
hex: true, //when hexadecimal string should be parsed
|
|
94
|
+
leadingZeros: true, //when number with leading zeros like 08 should be parsed. 0.0 is not impacted
|
|
95
|
+
eNotation: true, //when number with eNotation or number parsed in eNotation should be considered
|
|
96
|
+
skipLike: /regex/ //when string should not be parsed when it matches the specified regular expression
|
|
97
|
+
```
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
|
|
2
|
+
FLOW: toNumber
|
|
3
|
+
input: x, options
|
|
4
|
+
IF not string
|
|
5
|
+
END x
|
|
6
|
+
ELSE_IF should skip
|
|
7
|
+
END x
|
|
8
|
+
ELSE_IF 0
|
|
9
|
+
END 0
|
|
10
|
+
ELSE_IF hex is supported AND x is hex
|
|
11
|
+
END int of x of base 16
|
|
12
|
+
ELSE_IF possible e notation
|
|
13
|
+
FOLLOW: resolve enotation (x, trimmed x, options)
|
|
14
|
+
ELSE
|
|
15
|
+
IF match numeric pattern
|
|
16
|
+
separate sign, leading zeros, pure number
|
|
17
|
+
IF x doesn't starts with "[+-]0."
|
|
18
|
+
END number(x)
|
|
19
|
+
IF leading zeros are not allowed
|
|
20
|
+
IF leading zeros > 1
|
|
21
|
+
#00.1
|
|
22
|
+
END x
|
|
23
|
+
ELSE_IF leading zeros == 1 AND decimal is not adjacent to leading zeros
|
|
24
|
+
#06.5
|
|
25
|
+
#but not 0.65, .65, 6.0
|
|
26
|
+
END x
|
|
27
|
+
ELSE_IF str has only zeros
|
|
28
|
+
END 0
|
|
29
|
+
ELSE
|
|
30
|
+
parse x to number
|
|
31
|
+
IF parsed x == 0 or -0
|
|
32
|
+
END parsed x
|
|
33
|
+
ELSE_IF parsed x is eNotation
|
|
34
|
+
IF conversion to enotation is allowed
|
|
35
|
+
END parsed x
|
|
36
|
+
ELSE
|
|
37
|
+
END x
|
|
38
|
+
ELSE_IF floating number
|
|
39
|
+
IF parsed x is 0
|
|
40
|
+
END parsed x
|
|
41
|
+
ELSE_IF parsed x == number without leading 0s
|
|
42
|
+
#0.456. 0.79000
|
|
43
|
+
END parsed x
|
|
44
|
+
ELSE_IF parsed x is negative AND == parsed x == number without leading 0s
|
|
45
|
+
END parsed x
|
|
46
|
+
ELSE
|
|
47
|
+
END x
|
|
48
|
+
ELSE_IF leading 0s are present
|
|
49
|
+
IF parsed x == x without leading 0s
|
|
50
|
+
END parsed x
|
|
51
|
+
ELSE
|
|
52
|
+
END x
|
|
53
|
+
ELSE
|
|
54
|
+
IF parsed x == x (consider sign)
|
|
55
|
+
END parsed x
|
|
56
|
+
ELSE
|
|
57
|
+
END x
|
|
58
|
+
|
|
59
|
+
ELSE
|
|
60
|
+
END x
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
FLOW: resolve enotation
|
|
65
|
+
input: x, trimmed x, options
|
|
66
|
+
IF eNotation has not to be evaluated
|
|
67
|
+
END x
|
|
68
|
+
IF match eNotation pattern
|
|
69
|
+
extract sign, eChar, leading zeros
|
|
70
|
+
find if eChar adjacent to leading zeros
|
|
71
|
+
|
|
72
|
+
IF leading zeros > 1 AND eChar adjacent to leading zeros
|
|
73
|
+
# 00e, -00e
|
|
74
|
+
END x
|
|
75
|
+
ELSE_IF exp is `0e`, `0.e`, `-0.e`, `-0e`
|
|
76
|
+
END number(x);
|
|
77
|
+
ELSE_IF leading zeros are allowed but eChar is not adjacent to leading zeros
|
|
78
|
+
# -003e2
|
|
79
|
+
remove leading zeros
|
|
80
|
+
END number(x)
|
|
81
|
+
ELSE
|
|
82
|
+
END x
|
|
83
|
+
ELSE
|
|
84
|
+
END x
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "strnum",
|
|
3
|
+
"version": "2.1.1",
|
|
4
|
+
"description": "Parse String to Number based on configuration",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "strnum.js",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"test": "jasmine strnum.test.js"
|
|
9
|
+
},
|
|
10
|
+
"keywords": [
|
|
11
|
+
"string",
|
|
12
|
+
"number",
|
|
13
|
+
"parse",
|
|
14
|
+
"convert"
|
|
15
|
+
],
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "https://github.com/NaturalIntelligence/strnum"
|
|
19
|
+
},
|
|
20
|
+
"author": "Amit Gupta (https://amitkumargupta.work/)",
|
|
21
|
+
"license": "MIT",
|
|
22
|
+
"funding": [
|
|
23
|
+
{
|
|
24
|
+
"type": "github",
|
|
25
|
+
"url": "https://github.com/sponsors/NaturalIntelligence"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"jasmine": "^5.6.0"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;
|
|
2
|
+
const numRegex = /^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/;
|
|
3
|
+
// const octRegex = /^0x[a-z0-9]+/;
|
|
4
|
+
// const binRegex = /0x[a-z0-9]+/;
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const consider = {
|
|
8
|
+
hex : true,
|
|
9
|
+
// oct: false,
|
|
10
|
+
leadingZeros: true,
|
|
11
|
+
decimalPoint: "\.",
|
|
12
|
+
eNotation: true,
|
|
13
|
+
//skipLike: /regex/
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export default function toNumber(str, options = {}){
|
|
17
|
+
options = Object.assign({}, consider, options );
|
|
18
|
+
if(!str || typeof str !== "string" ) return str;
|
|
19
|
+
|
|
20
|
+
let trimmedStr = str.trim();
|
|
21
|
+
|
|
22
|
+
if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;
|
|
23
|
+
else if(str==="0") return 0;
|
|
24
|
+
else if (options.hex && hexRegex.test(trimmedStr)) {
|
|
25
|
+
return parse_int(trimmedStr, 16);
|
|
26
|
+
// }else if (options.oct && octRegex.test(str)) {
|
|
27
|
+
// return Number.parseInt(val, 8);
|
|
28
|
+
}else if (trimmedStr.search(/.+[eE].+/)!== -1) { //eNotation
|
|
29
|
+
return resolveEnotation(str,trimmedStr,options);
|
|
30
|
+
// }else if (options.parseBin && binRegex.test(str)) {
|
|
31
|
+
// return Number.parseInt(val, 2);
|
|
32
|
+
}else{
|
|
33
|
+
//separate negative sign, leading zeros, and rest number
|
|
34
|
+
const match = numRegex.exec(trimmedStr);
|
|
35
|
+
// +00.123 => [ , '+', '00', '.123', ..
|
|
36
|
+
if(match){
|
|
37
|
+
const sign = match[1] || "";
|
|
38
|
+
const leadingZeros = match[2];
|
|
39
|
+
let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros
|
|
40
|
+
const decimalAdjacentToLeadingZeros = sign ? // 0., -00., 000.
|
|
41
|
+
str[leadingZeros.length+1] === "."
|
|
42
|
+
: str[leadingZeros.length] === ".";
|
|
43
|
+
|
|
44
|
+
//trim ending zeros for floating number
|
|
45
|
+
if(!options.leadingZeros //leading zeros are not allowed
|
|
46
|
+
&& (leadingZeros.length > 1
|
|
47
|
+
|| (leadingZeros.length === 1 && !decimalAdjacentToLeadingZeros))){
|
|
48
|
+
// 00, 00.3, +03.24, 03, 03.24
|
|
49
|
+
return str;
|
|
50
|
+
}
|
|
51
|
+
else{//no leading zeros or leading zeros are allowed
|
|
52
|
+
const num = Number(trimmedStr);
|
|
53
|
+
const parsedStr = String(num);
|
|
54
|
+
|
|
55
|
+
if( num === 0) return num;
|
|
56
|
+
if(parsedStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation
|
|
57
|
+
if(options.eNotation) return num;
|
|
58
|
+
else return str;
|
|
59
|
+
}else if(trimmedStr.indexOf(".") !== -1){ //floating number
|
|
60
|
+
if(parsedStr === "0") return num; //0.0
|
|
61
|
+
else if(parsedStr === numTrimmedByZeros) return num; //0.456. 0.79000
|
|
62
|
+
else if( parsedStr === `${sign}${numTrimmedByZeros}`) return num;
|
|
63
|
+
else return str;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
let n = leadingZeros? numTrimmedByZeros : trimmedStr;
|
|
67
|
+
if(leadingZeros){
|
|
68
|
+
// -009 => -9
|
|
69
|
+
return (n === parsedStr) || (sign+n === parsedStr) ? num : str
|
|
70
|
+
}else {
|
|
71
|
+
// +9
|
|
72
|
+
return (n === parsedStr) || (n === sign+parsedStr) ? num : str
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}else{ //non-numeric string
|
|
76
|
+
return str;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const eNotationRegx = /^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;
|
|
82
|
+
function resolveEnotation(str,trimmedStr,options){
|
|
83
|
+
if(!options.eNotation) return str;
|
|
84
|
+
const notation = trimmedStr.match(eNotationRegx);
|
|
85
|
+
if(notation){
|
|
86
|
+
let sign = notation[1] || "";
|
|
87
|
+
const eChar = notation[3].indexOf("e") === -1 ? "E" : "e";
|
|
88
|
+
const leadingZeros = notation[2];
|
|
89
|
+
const eAdjacentToLeadingZeros = sign ? // 0E.
|
|
90
|
+
str[leadingZeros.length+1] === eChar
|
|
91
|
+
: str[leadingZeros.length] === eChar;
|
|
92
|
+
|
|
93
|
+
if(leadingZeros.length > 1 && eAdjacentToLeadingZeros) return str;
|
|
94
|
+
else if(leadingZeros.length === 1
|
|
95
|
+
&& (notation[3].startsWith(`.${eChar}`) || notation[3][0] === eChar)){
|
|
96
|
+
return Number(trimmedStr);
|
|
97
|
+
}else if(options.leadingZeros && !eAdjacentToLeadingZeros){ //accept with leading zeros
|
|
98
|
+
//remove leading 0s
|
|
99
|
+
trimmedStr = (notation[1] || "") + notation[3];
|
|
100
|
+
return Number(trimmedStr);
|
|
101
|
+
}else return str;
|
|
102
|
+
}else{
|
|
103
|
+
return str;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
*
|
|
109
|
+
* @param {string} numStr without leading zeros
|
|
110
|
+
* @returns
|
|
111
|
+
*/
|
|
112
|
+
function trimZeros(numStr){
|
|
113
|
+
if(numStr && numStr.indexOf(".") !== -1){//float
|
|
114
|
+
numStr = numStr.replace(/0+$/, ""); //remove ending zeros
|
|
115
|
+
if(numStr === ".") numStr = "0";
|
|
116
|
+
else if(numStr[0] === ".") numStr = "0"+numStr;
|
|
117
|
+
else if(numStr[numStr.length-1] === ".") numStr = numStr.substring(0,numStr.length-1);
|
|
118
|
+
return numStr;
|
|
119
|
+
}
|
|
120
|
+
return numStr;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
function parse_int(numStr, base){
|
|
124
|
+
//polyfill
|
|
125
|
+
if(parseInt) return parseInt(numStr, base);
|
|
126
|
+
else if(Number.parseInt) return Number.parseInt(numStr, base);
|
|
127
|
+
else if(window && window.parseInt) return window.parseInt(numStr, base);
|
|
128
|
+
else throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")
|
|
129
|
+
}
|