node-red-contrib-tak-registration 0.11.6 → 0.12.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.
- package/node_modules/@types/node/README.md +2 -2
- package/node_modules/@types/node/assert.d.ts +88 -44
- package/node_modules/@types/node/async_hooks.d.ts +17 -15
- package/node_modules/@types/node/buffer.d.ts +29 -29
- package/node_modules/@types/node/child_process.d.ts +38 -34
- package/node_modules/@types/node/cluster.d.ts +165 -19
- package/node_modules/@types/node/console.d.ts +64 -27
- package/node_modules/@types/node/crypto.d.ts +101 -65
- package/node_modules/@types/node/dgram.d.ts +14 -14
- package/node_modules/@types/node/diagnostics_channel.d.ts +12 -3
- package/node_modules/@types/node/dns/promises.d.ts +79 -28
- package/node_modules/@types/node/dns.d.ts +124 -69
- package/node_modules/@types/node/dom-events.d.ts +2 -0
- package/node_modules/@types/node/domain.d.ts +4 -4
- package/node_modules/@types/node/events.d.ts +115 -63
- package/node_modules/@types/node/fs/promises.d.ts +18 -12
- package/node_modules/@types/node/fs.d.ts +45 -39
- package/node_modules/@types/node/globals.d.ts +1 -0
- package/node_modules/@types/node/http.d.ts +69 -48
- package/node_modules/@types/node/http2.d.ts +83 -47
- package/node_modules/@types/node/https.d.ts +3 -3
- package/node_modules/@types/node/index.d.ts +1 -0
- package/node_modules/@types/node/inspector.d.ts +5 -6
- package/node_modules/@types/node/net.d.ts +58 -13
- package/node_modules/@types/node/os.d.ts +29 -12
- package/node_modules/@types/node/package.json +3 -15
- package/node_modules/@types/node/path.d.ts +1 -1
- package/node_modules/@types/node/perf_hooks.d.ts +308 -48
- package/node_modules/@types/node/process.d.ts +241 -48
- package/node_modules/@types/node/punycode.d.ts +4 -4
- package/node_modules/@types/node/querystring.d.ts +18 -6
- package/node_modules/@types/node/readline/promises.d.ts +9 -9
- package/node_modules/@types/node/readline.d.ts +21 -20
- package/node_modules/@types/node/repl.d.ts +10 -10
- package/node_modules/@types/node/sea.d.ts +153 -0
- package/node_modules/@types/node/stream/web.d.ts +3 -2
- package/node_modules/@types/node/stream.d.ts +62 -56
- package/node_modules/@types/node/string_decoder.d.ts +3 -3
- package/node_modules/@types/node/test.d.ts +350 -97
- package/node_modules/@types/node/timers/promises.d.ts +10 -6
- package/node_modules/@types/node/timers.d.ts +5 -5
- package/node_modules/@types/node/tls.d.ts +39 -32
- package/node_modules/@types/node/trace_events.d.ts +40 -25
- package/node_modules/@types/node/tty.d.ts +8 -8
- package/node_modules/@types/node/url.d.ts +15 -7
- package/node_modules/@types/node/util.d.ts +131 -22
- package/node_modules/@types/node/v8.d.ts +50 -6
- package/node_modules/@types/node/vm.d.ts +43 -22
- package/node_modules/@types/node/wasi.d.ts +12 -10
- package/node_modules/@types/node/worker_threads.d.ts +19 -16
- package/node_modules/@types/node/zlib.d.ts +16 -3
- package/node_modules/adm-zip/README.md +2 -1
- package/node_modules/adm-zip/adm-zip.js +46 -45
- package/node_modules/adm-zip/headers/entryHeader.js +14 -12
- package/node_modules/adm-zip/headers/mainHeader.js +1 -1
- package/node_modules/adm-zip/methods/inflater.js +6 -3
- package/node_modules/adm-zip/methods/zipcrypto.js +6 -2
- package/node_modules/adm-zip/package.json +2 -2
- package/node_modules/adm-zip/util/errors.js +1 -0
- package/node_modules/adm-zip/zipEntry.js +64 -43
- package/node_modules/adm-zip/zipFile.js +35 -35
- package/node_modules/axios/CHANGELOG.md +868 -759
- package/node_modules/axios/README.md +65 -17
- package/node_modules/axios/dist/axios.js +1330 -583
- package/node_modules/axios/dist/axios.js.map +1 -1
- package/node_modules/axios/dist/axios.min.js +1 -1
- package/node_modules/axios/dist/axios.min.js.map +1 -1
- package/node_modules/axios/dist/browser/axios.cjs +696 -316
- package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
- package/node_modules/axios/dist/esm/axios.js +696 -316
- package/node_modules/axios/dist/esm/axios.js.map +1 -1
- package/node_modules/axios/dist/esm/axios.min.js +1 -1
- package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
- package/node_modules/axios/dist/node/axios.cjs +607 -257
- package/node_modules/axios/dist/node/axios.cjs.map +1 -1
- package/node_modules/axios/index.d.cts +5 -2
- package/node_modules/axios/index.d.ts +5 -2
- package/node_modules/axios/lib/adapters/adapters.js +3 -1
- package/node_modules/axios/lib/adapters/fetch.js +227 -0
- package/node_modules/axios/lib/adapters/http.js +1 -1
- package/node_modules/axios/lib/adapters/xhr.js +31 -101
- package/node_modules/axios/lib/core/Axios.js +17 -11
- package/node_modules/axios/lib/core/AxiosHeaders.js +4 -0
- package/node_modules/axios/lib/core/mergeConfig.js +1 -1
- package/node_modules/axios/lib/defaults/index.js +7 -5
- package/node_modules/axios/lib/env/data.js +1 -1
- package/node_modules/axios/lib/helpers/AxiosTransformStream.js +9 -8
- package/node_modules/axios/lib/helpers/composeSignals.js +46 -0
- package/node_modules/axios/lib/helpers/progressEventReducer.js +32 -0
- package/node_modules/axios/lib/helpers/resolveConfig.js +57 -0
- package/node_modules/axios/lib/helpers/throttle.js +5 -3
- package/node_modules/axios/lib/helpers/trackStream.js +55 -0
- package/node_modules/axios/lib/platform/common/utils.js +4 -1
- package/node_modules/axios/lib/utils.js +7 -2
- package/node_modules/axios/package.json +27 -26
- package/node_modules/fast-xml-parser/CHANGELOG.md +14 -0
- package/node_modules/fast-xml-parser/README.md +7 -14
- package/node_modules/fast-xml-parser/package.json +1 -1
- package/node_modules/fast-xml-parser/src/fxp.d.ts +4 -4
- package/node_modules/fast-xml-parser/src/v5/CharsSymbol.js +16 -0
- package/node_modules/fast-xml-parser/src/v5/EntitiesParser.js +107 -0
- package/node_modules/fast-xml-parser/src/v5/OptionsBuilder.js +64 -0
- package/node_modules/fast-xml-parser/src/v5/OutputBuilders/BaseOutputBuilder.js +71 -0
- package/node_modules/fast-xml-parser/src/v5/OutputBuilders/JsArrBuilder.js +103 -0
- package/node_modules/fast-xml-parser/src/v5/OutputBuilders/JsMinArrBuilder.js +102 -0
- package/node_modules/fast-xml-parser/src/v5/OutputBuilders/JsObjBuilder.js +156 -0
- package/node_modules/fast-xml-parser/src/v5/OutputBuilders/ParserOptionsBuilder.js +96 -0
- package/node_modules/fast-xml-parser/src/v5/Report.js +0 -0
- package/node_modules/fast-xml-parser/src/v5/TagPath.js +81 -0
- package/node_modules/fast-xml-parser/src/v5/TagPathMatcher.js +15 -0
- package/node_modules/fast-xml-parser/src/v5/XMLParser.js +85 -0
- package/node_modules/fast-xml-parser/src/v5/Xml2JsParser.js +237 -0
- package/node_modules/fast-xml-parser/src/v5/XmlPartReader.js +212 -0
- package/node_modules/fast-xml-parser/src/v5/XmlSpecialTagsReader.js +118 -0
- package/node_modules/fast-xml-parser/src/v5/inputSource/BufferSource.js +118 -0
- package/node_modules/fast-xml-parser/src/v5/inputSource/StringSource.js +123 -0
- package/node_modules/fast-xml-parser/src/v5/valueParsers/EntitiesParser.js +107 -0
- package/node_modules/fast-xml-parser/src/v5/valueParsers/booleanParser.js +23 -0
- package/node_modules/fast-xml-parser/src/v5/valueParsers/booleanParserExt.js +20 -0
- package/node_modules/fast-xml-parser/src/v5/valueParsers/currency.js +31 -0
- package/node_modules/fast-xml-parser/src/v5/valueParsers/join.js +14 -0
- package/node_modules/fast-xml-parser/src/v5/valueParsers/number.js +16 -0
- package/node_modules/fast-xml-parser/src/v5/valueParsers/trim.js +8 -0
- package/node_modules/fast-xml-parser/src/validator.js +2 -0
- package/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +13 -4
- package/node_modules/follow-redirects/index.js +1 -1
- package/node_modules/follow-redirects/package.json +1 -1
- package/node_modules/hasown/CHANGELOG.md +12 -0
- package/node_modules/hasown/index.d.ts +2 -2
- package/node_modules/hasown/package.json +5 -2
- package/node_modules/hasown/tsconfig.json +3 -46
- package/node_modules/object-is/.eslintrc +1 -1
- package/node_modules/object-is/.nycrc +0 -4
- package/node_modules/object-is/CHANGELOG.md +25 -0
- package/node_modules/object-is/README.md +20 -20
- package/node_modules/object-is/package.json +23 -14
- package/node_modules/protobufjs/LICENSE +39 -39
- package/node_modules/protobufjs/README.md +727 -740
- package/node_modules/protobufjs/dist/light/protobuf.js +6264 -6264
- package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/light/protobuf.min.js +2 -2
- package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/dist/minimal/protobuf.js +1928 -1928
- package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/minimal/protobuf.min.js +2 -2
- package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/dist/protobuf.js +7978 -7961
- package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/ext/debug/README.md +4 -4
- package/node_modules/protobufjs/ext/debug/index.js +71 -71
- package/node_modules/protobufjs/ext/descriptor/README.md +72 -72
- package/node_modules/protobufjs/ext/descriptor/index.d.ts +191 -191
- package/node_modules/protobufjs/ext/descriptor/index.js +1052 -1052
- package/node_modules/protobufjs/ext/descriptor/test.js +54 -54
- package/node_modules/protobufjs/google/LICENSE +27 -27
- package/node_modules/protobufjs/google/README.md +1 -1
- package/node_modules/protobufjs/google/api/annotations.json +82 -82
- package/node_modules/protobufjs/google/api/annotations.proto +10 -10
- package/node_modules/protobufjs/google/api/http.json +85 -85
- package/node_modules/protobufjs/google/api/http.proto +30 -30
- package/node_modules/protobufjs/google/protobuf/api.json +117 -117
- package/node_modules/protobufjs/google/protobuf/api.proto +33 -33
- package/node_modules/protobufjs/google/protobuf/descriptor.json +738 -738
- package/node_modules/protobufjs/google/protobuf/descriptor.proto +286 -286
- package/node_modules/protobufjs/google/protobuf/source_context.json +19 -19
- package/node_modules/protobufjs/google/protobuf/source_context.proto +7 -7
- package/node_modules/protobufjs/google/protobuf/type.json +201 -201
- package/node_modules/protobufjs/google/protobuf/type.proto +89 -89
- package/node_modules/protobufjs/index.d.ts +2741 -2741
- package/node_modules/protobufjs/index.js +4 -4
- package/node_modules/protobufjs/light.d.ts +2 -2
- package/node_modules/protobufjs/light.js +3 -3
- package/node_modules/protobufjs/minimal.d.ts +2 -2
- package/node_modules/protobufjs/minimal.js +4 -4
- package/node_modules/protobufjs/package.json +111 -111
- package/node_modules/protobufjs/scripts/postinstall.js +32 -32
- package/node_modules/protobufjs/src/common.js +399 -399
- package/node_modules/protobufjs/src/converter.js +301 -301
- package/node_modules/protobufjs/src/decoder.js +129 -129
- package/node_modules/protobufjs/src/encoder.js +100 -100
- package/node_modules/protobufjs/src/enum.js +198 -198
- package/node_modules/protobufjs/src/field.js +377 -377
- package/node_modules/protobufjs/src/index-light.js +104 -104
- package/node_modules/protobufjs/src/index-minimal.js +36 -36
- package/node_modules/protobufjs/src/index.js +12 -12
- package/node_modules/protobufjs/src/mapfield.js +126 -126
- package/node_modules/protobufjs/src/message.js +138 -138
- package/node_modules/protobufjs/src/method.js +160 -160
- package/node_modules/protobufjs/src/namespace.js +433 -433
- package/node_modules/protobufjs/src/object.js +243 -243
- package/node_modules/protobufjs/src/oneof.js +203 -203
- package/node_modules/protobufjs/src/parse.js +889 -872
- package/node_modules/protobufjs/src/reader.js +416 -416
- package/node_modules/protobufjs/src/reader_buffer.js +51 -51
- package/node_modules/protobufjs/src/root.js +368 -368
- package/node_modules/protobufjs/src/roots.js +18 -18
- package/node_modules/protobufjs/src/rpc/service.js +142 -142
- package/node_modules/protobufjs/src/rpc.js +36 -36
- package/node_modules/protobufjs/src/service.js +167 -167
- package/node_modules/protobufjs/src/tokenize.js +416 -416
- package/node_modules/protobufjs/src/type.js +589 -589
- package/node_modules/protobufjs/src/types.js +196 -196
- package/node_modules/protobufjs/src/typescript.jsdoc +15 -15
- package/node_modules/protobufjs/src/util/longbits.js +200 -200
- package/node_modules/protobufjs/src/util/minimal.js +438 -438
- package/node_modules/protobufjs/src/util.js +212 -212
- package/node_modules/protobufjs/src/verifier.js +176 -176
- package/node_modules/protobufjs/src/wrappers.js +102 -102
- package/node_modules/protobufjs/src/writer.js +465 -465
- package/node_modules/protobufjs/src/writer_buffer.js +85 -85
- package/node_modules/protobufjs/tsconfig.json +7 -7
- package/node_modules/set-function-length/CHANGELOG.md +11 -0
- package/node_modules/set-function-length/env.d.ts +9 -6
- package/node_modules/set-function-length/env.js +1 -0
- package/node_modules/set-function-length/index.d.ts +6 -6
- package/node_modules/set-function-length/index.js +1 -3
- package/node_modules/set-function-length/package.json +11 -13
- package/node_modules/set-function-length/tsconfig.json +7 -57
- package/node_modules/uuid/CHANGELOG.md +18 -0
- package/node_modules/uuid/README.md +134 -16
- package/node_modules/uuid/dist/commonjs-browser/index.js +40 -15
- package/node_modules/uuid/dist/commonjs-browser/max.js +7 -0
- package/node_modules/uuid/dist/commonjs-browser/md5.js +30 -53
- package/node_modules/uuid/dist/commonjs-browser/native.js +3 -4
- package/node_modules/uuid/dist/commonjs-browser/nil.js +1 -2
- package/node_modules/uuid/dist/commonjs-browser/parse.js +14 -15
- package/node_modules/uuid/dist/commonjs-browser/regex.js +1 -2
- package/node_modules/uuid/dist/commonjs-browser/rng.js +2 -4
- package/node_modules/uuid/dist/commonjs-browser/sha1.js +27 -49
- package/node_modules/uuid/dist/commonjs-browser/stringify.js +10 -16
- package/node_modules/uuid/dist/commonjs-browser/v1.js +73 -49
- package/node_modules/uuid/dist/commonjs-browser/v1ToV6.js +26 -0
- package/node_modules/uuid/dist/commonjs-browser/v3.js +3 -8
- package/node_modules/uuid/dist/commonjs-browser/v35.js +15 -32
- package/node_modules/uuid/dist/commonjs-browser/v4.js +7 -18
- package/node_modules/uuid/dist/commonjs-browser/v5.js +3 -8
- package/node_modules/uuid/dist/commonjs-browser/v6.js +42 -0
- package/node_modules/uuid/dist/commonjs-browser/v6ToV1.js +26 -0
- package/node_modules/uuid/dist/commonjs-browser/v7.js +152 -0
- package/node_modules/uuid/dist/commonjs-browser/validate.js +2 -7
- package/node_modules/uuid/dist/commonjs-browser/version.js +2 -8
- package/node_modules/uuid/dist/esm-browser/index.js +9 -4
- package/node_modules/uuid/dist/esm-browser/max.js +1 -0
- package/node_modules/uuid/dist/esm-browser/md5.js +29 -50
- package/node_modules/uuid/dist/esm-browser/native.js +1 -1
- package/node_modules/uuid/dist/esm-browser/parse.js +12 -10
- package/node_modules/uuid/dist/esm-browser/regex.js +1 -1
- package/node_modules/uuid/dist/esm-browser/rng.js +3 -4
- package/node_modules/uuid/dist/esm-browser/sha1.js +26 -46
- package/node_modules/uuid/dist/esm-browser/stringify.js +9 -11
- package/node_modules/uuid/dist/esm-browser/v1.js +74 -44
- package/node_modules/uuid/dist/esm-browser/v1ToV6.js +20 -0
- package/node_modules/uuid/dist/esm-browser/v3.js +1 -1
- package/node_modules/uuid/dist/esm-browser/v35.js +14 -25
- package/node_modules/uuid/dist/esm-browser/v4.js +5 -9
- package/node_modules/uuid/dist/esm-browser/v5.js +1 -1
- package/node_modules/uuid/dist/esm-browser/v6.js +36 -0
- package/node_modules/uuid/dist/esm-browser/v6ToV1.js +20 -0
- package/node_modules/uuid/dist/esm-browser/v7.js +146 -0
- package/node_modules/uuid/dist/esm-browser/validate.js +0 -2
- package/node_modules/uuid/dist/esm-browser/version.js +0 -3
- package/node_modules/uuid/dist/esm-node/index.js +9 -4
- package/node_modules/uuid/dist/esm-node/max.js +1 -0
- package/node_modules/uuid/dist/esm-node/md5.js +1 -4
- package/node_modules/uuid/dist/esm-node/native.js +1 -1
- package/node_modules/uuid/dist/esm-node/parse.js +11 -9
- package/node_modules/uuid/dist/esm-node/regex.js +1 -1
- package/node_modules/uuid/dist/esm-node/rng.js +1 -3
- package/node_modules/uuid/dist/esm-node/sha1.js +1 -4
- package/node_modules/uuid/dist/esm-node/stringify.js +7 -9
- package/node_modules/uuid/dist/esm-node/v1.js +66 -36
- package/node_modules/uuid/dist/esm-node/v1ToV6.js +20 -0
- package/node_modules/uuid/dist/esm-node/v35.js +8 -19
- package/node_modules/uuid/dist/esm-node/v4.js +4 -8
- package/node_modules/uuid/dist/esm-node/v6.js +32 -0
- package/node_modules/uuid/dist/esm-node/v6ToV1.js +20 -0
- package/node_modules/uuid/dist/esm-node/v7.js +146 -0
- package/node_modules/uuid/dist/esm-node/validate.js +0 -2
- package/node_modules/uuid/dist/esm-node/version.js +0 -3
- package/node_modules/uuid/dist/index.js +40 -15
- package/node_modules/uuid/dist/max.js +7 -0
- package/node_modules/uuid/dist/md5-browser.js +8 -31
- package/node_modules/uuid/dist/md5.js +4 -10
- package/node_modules/uuid/dist/native-browser.js +2 -3
- package/node_modules/uuid/dist/native.js +5 -9
- package/node_modules/uuid/dist/nil.js +1 -2
- package/node_modules/uuid/dist/parse.js +13 -14
- package/node_modules/uuid/dist/regex.js +1 -2
- package/node_modules/uuid/dist/rng-browser.js +1 -3
- package/node_modules/uuid/dist/rng.js +3 -10
- package/node_modules/uuid/dist/sha1-browser.js +1 -23
- package/node_modules/uuid/dist/sha1.js +4 -10
- package/node_modules/uuid/dist/stringify.js +8 -14
- package/node_modules/uuid/dist/uuid-bin.js +12 -22
- package/node_modules/uuid/dist/v1.js +66 -42
- package/node_modules/uuid/dist/v1ToV6.js +26 -0
- package/node_modules/uuid/dist/v3.js +2 -7
- package/node_modules/uuid/dist/v35.js +11 -28
- package/node_modules/uuid/dist/v4.js +6 -17
- package/node_modules/uuid/dist/v5.js +2 -7
- package/node_modules/uuid/dist/v6.js +38 -0
- package/node_modules/uuid/dist/v6ToV1.js +26 -0
- package/node_modules/uuid/dist/v7.js +152 -0
- package/node_modules/uuid/dist/validate.js +2 -7
- package/node_modules/uuid/dist/version.js +2 -8
- package/node_modules/uuid/package.json +41 -34
- package/node_modules/uuid/wrapper.mjs +5 -0
- package/package.json +6 -6
- package/tak-ingest.js +1 -1
- package/tak-registration.js +8 -1
- package/node_modules/@types/node/ts4.8/assert/strict.d.ts +0 -8
- package/node_modules/@types/node/ts4.8/assert.d.ts +0 -996
- package/node_modules/@types/node/ts4.8/async_hooks.d.ts +0 -539
- package/node_modules/@types/node/ts4.8/buffer.d.ts +0 -2363
- package/node_modules/@types/node/ts4.8/child_process.d.ts +0 -1540
- package/node_modules/@types/node/ts4.8/cluster.d.ts +0 -432
- package/node_modules/@types/node/ts4.8/console.d.ts +0 -415
- package/node_modules/@types/node/ts4.8/constants.d.ts +0 -19
- package/node_modules/@types/node/ts4.8/crypto.d.ts +0 -4487
- package/node_modules/@types/node/ts4.8/dgram.d.ts +0 -596
- package/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +0 -545
- package/node_modules/@types/node/ts4.8/dns/promises.d.ts +0 -425
- package/node_modules/@types/node/ts4.8/dns.d.ts +0 -809
- package/node_modules/@types/node/ts4.8/dom-events.d.ts +0 -122
- package/node_modules/@types/node/ts4.8/domain.d.ts +0 -170
- package/node_modules/@types/node/ts4.8/events.d.ts +0 -879
- package/node_modules/@types/node/ts4.8/fs/promises.d.ts +0 -1239
- package/node_modules/@types/node/ts4.8/fs.d.ts +0 -4311
- package/node_modules/@types/node/ts4.8/globals.d.ts +0 -411
- package/node_modules/@types/node/ts4.8/globals.global.d.ts +0 -1
- package/node_modules/@types/node/ts4.8/http.d.ts +0 -1887
- package/node_modules/@types/node/ts4.8/http2.d.ts +0 -2382
- package/node_modules/@types/node/ts4.8/https.d.ts +0 -550
- package/node_modules/@types/node/ts4.8/index.d.ts +0 -88
- package/node_modules/@types/node/ts4.8/inspector.d.ts +0 -2747
- package/node_modules/@types/node/ts4.8/module.d.ts +0 -315
- package/node_modules/@types/node/ts4.8/net.d.ts +0 -954
- package/node_modules/@types/node/ts4.8/os.d.ts +0 -478
- package/node_modules/@types/node/ts4.8/path.d.ts +0 -191
- package/node_modules/@types/node/ts4.8/perf_hooks.d.ts +0 -645
- package/node_modules/@types/node/ts4.8/process.d.ts +0 -1561
- package/node_modules/@types/node/ts4.8/punycode.d.ts +0 -117
- package/node_modules/@types/node/ts4.8/querystring.d.ts +0 -141
- package/node_modules/@types/node/ts4.8/readline/promises.d.ts +0 -150
- package/node_modules/@types/node/ts4.8/readline.d.ts +0 -539
- package/node_modules/@types/node/ts4.8/repl.d.ts +0 -430
- package/node_modules/@types/node/ts4.8/stream/consumers.d.ts +0 -12
- package/node_modules/@types/node/ts4.8/stream/promises.d.ts +0 -83
- package/node_modules/@types/node/ts4.8/stream/web.d.ts +0 -366
- package/node_modules/@types/node/ts4.8/stream.d.ts +0 -1701
- package/node_modules/@types/node/ts4.8/string_decoder.d.ts +0 -67
- package/node_modules/@types/node/ts4.8/test.d.ts +0 -1465
- package/node_modules/@types/node/ts4.8/timers/promises.d.ts +0 -93
- package/node_modules/@types/node/ts4.8/timers.d.ts +0 -240
- package/node_modules/@types/node/ts4.8/tls.d.ts +0 -1210
- package/node_modules/@types/node/ts4.8/trace_events.d.ts +0 -182
- package/node_modules/@types/node/ts4.8/tty.d.ts +0 -208
- package/node_modules/@types/node/ts4.8/url.d.ts +0 -944
- package/node_modules/@types/node/ts4.8/util.d.ts +0 -2183
- package/node_modules/@types/node/ts4.8/v8.d.ts +0 -764
- package/node_modules/@types/node/ts4.8/vm.d.ts +0 -903
- package/node_modules/@types/node/ts4.8/wasi.d.ts +0 -179
- package/node_modules/@types/node/ts4.8/worker_threads.d.ts +0 -691
- package/node_modules/@types/node/ts4.8/zlib.d.ts +0 -517
- package/node_modules/object-is/.eslintignore +0 -1
- package/node_modules/set-function-length/env.d.ts.map +0 -1
- package/node_modules/set-function-length/index.d.ts.map +0 -1
|
@@ -1,377 +1,377 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
module.exports = Field;
|
|
3
|
-
|
|
4
|
-
// extends ReflectionObject
|
|
5
|
-
var ReflectionObject = require("./object");
|
|
6
|
-
((Field.prototype = Object.create(ReflectionObject.prototype)).constructor = Field).className = "Field";
|
|
7
|
-
|
|
8
|
-
var Enum = require("./enum"),
|
|
9
|
-
types = require("./types"),
|
|
10
|
-
util = require("./util");
|
|
11
|
-
|
|
12
|
-
var Type; // cyclic
|
|
13
|
-
|
|
14
|
-
var ruleRe = /^required|optional|repeated$/;
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Constructs a new message field instance. Note that {@link MapField|map fields} have their own class.
|
|
18
|
-
* @name Field
|
|
19
|
-
* @classdesc Reflected message field.
|
|
20
|
-
* @extends FieldBase
|
|
21
|
-
* @constructor
|
|
22
|
-
* @param {string} name Unique name within its namespace
|
|
23
|
-
* @param {number} id Unique id within its namespace
|
|
24
|
-
* @param {string} type Value type
|
|
25
|
-
* @param {string|Object.<string,*>} [rule="optional"] Field rule
|
|
26
|
-
* @param {string|Object.<string,*>} [extend] Extended type if different from parent
|
|
27
|
-
* @param {Object.<string,*>} [options] Declared options
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Constructs a field from a field descriptor.
|
|
32
|
-
* @param {string} name Field name
|
|
33
|
-
* @param {IField} json Field descriptor
|
|
34
|
-
* @returns {Field} Created field
|
|
35
|
-
* @throws {TypeError} If arguments are invalid
|
|
36
|
-
*/
|
|
37
|
-
Field.fromJSON = function fromJSON(name, json) {
|
|
38
|
-
return new Field(name, json.id, json.type, json.rule, json.extend, json.options, json.comment);
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Not an actual constructor. Use {@link Field} instead.
|
|
43
|
-
* @classdesc Base class of all reflected message fields. This is not an actual class but here for the sake of having consistent type definitions.
|
|
44
|
-
* @exports FieldBase
|
|
45
|
-
* @extends ReflectionObject
|
|
46
|
-
* @constructor
|
|
47
|
-
* @param {string} name Unique name within its namespace
|
|
48
|
-
* @param {number} id Unique id within its namespace
|
|
49
|
-
* @param {string} type Value type
|
|
50
|
-
* @param {string|Object.<string,*>} [rule="optional"] Field rule
|
|
51
|
-
* @param {string|Object.<string,*>} [extend] Extended type if different from parent
|
|
52
|
-
* @param {Object.<string,*>} [options] Declared options
|
|
53
|
-
* @param {string} [comment] Comment associated with this field
|
|
54
|
-
*/
|
|
55
|
-
function Field(name, id, type, rule, extend, options, comment) {
|
|
56
|
-
|
|
57
|
-
if (util.isObject(rule)) {
|
|
58
|
-
comment = extend;
|
|
59
|
-
options = rule;
|
|
60
|
-
rule = extend = undefined;
|
|
61
|
-
} else if (util.isObject(extend)) {
|
|
62
|
-
comment = options;
|
|
63
|
-
options = extend;
|
|
64
|
-
extend = undefined;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
ReflectionObject.call(this, name, options);
|
|
68
|
-
|
|
69
|
-
if (!util.isInteger(id) || id < 0)
|
|
70
|
-
throw TypeError("id must be a non-negative integer");
|
|
71
|
-
|
|
72
|
-
if (!util.isString(type))
|
|
73
|
-
throw TypeError("type must be a string");
|
|
74
|
-
|
|
75
|
-
if (rule !== undefined && !ruleRe.test(rule = rule.toString().toLowerCase()))
|
|
76
|
-
throw TypeError("rule must be a string rule");
|
|
77
|
-
|
|
78
|
-
if (extend !== undefined && !util.isString(extend))
|
|
79
|
-
throw TypeError("extend must be a string");
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Field rule, if any.
|
|
83
|
-
* @type {string|undefined}
|
|
84
|
-
*/
|
|
85
|
-
if (rule === "proto3_optional") {
|
|
86
|
-
rule = "optional";
|
|
87
|
-
}
|
|
88
|
-
this.rule = rule && rule !== "optional" ? rule : undefined; // toJSON
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Field type.
|
|
92
|
-
* @type {string}
|
|
93
|
-
*/
|
|
94
|
-
this.type = type; // toJSON
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Unique field id.
|
|
98
|
-
* @type {number}
|
|
99
|
-
*/
|
|
100
|
-
this.id = id; // toJSON, marker
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* Extended type if different from parent.
|
|
104
|
-
* @type {string|undefined}
|
|
105
|
-
*/
|
|
106
|
-
this.extend = extend || undefined; // toJSON
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Whether this field is required.
|
|
110
|
-
* @type {boolean}
|
|
111
|
-
*/
|
|
112
|
-
this.required = rule === "required";
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Whether this field is optional.
|
|
116
|
-
* @type {boolean}
|
|
117
|
-
*/
|
|
118
|
-
this.optional = !this.required;
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Whether this field is repeated.
|
|
122
|
-
* @type {boolean}
|
|
123
|
-
*/
|
|
124
|
-
this.repeated = rule === "repeated";
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* Whether this field is a map or not.
|
|
128
|
-
* @type {boolean}
|
|
129
|
-
*/
|
|
130
|
-
this.map = false;
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Message this field belongs to.
|
|
134
|
-
* @type {Type|null}
|
|
135
|
-
*/
|
|
136
|
-
this.message = null;
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* OneOf this field belongs to, if any,
|
|
140
|
-
* @type {OneOf|null}
|
|
141
|
-
*/
|
|
142
|
-
this.partOf = null;
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* The field type's default value.
|
|
146
|
-
* @type {*}
|
|
147
|
-
*/
|
|
148
|
-
this.typeDefault = null;
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* The field's default value on prototypes.
|
|
152
|
-
* @type {*}
|
|
153
|
-
*/
|
|
154
|
-
this.defaultValue = null;
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Whether this field's value should be treated as a long.
|
|
158
|
-
* @type {boolean}
|
|
159
|
-
*/
|
|
160
|
-
this.long = util.Long ? types.long[type] !== undefined : /* istanbul ignore next */ false;
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Whether this field's value is a buffer.
|
|
164
|
-
* @type {boolean}
|
|
165
|
-
*/
|
|
166
|
-
this.bytes = type === "bytes";
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* Resolved type if not a basic type.
|
|
170
|
-
* @type {Type|Enum|null}
|
|
171
|
-
*/
|
|
172
|
-
this.resolvedType = null;
|
|
173
|
-
|
|
174
|
-
/**
|
|
175
|
-
* Sister-field within the extended type if a declaring extension field.
|
|
176
|
-
* @type {Field|null}
|
|
177
|
-
*/
|
|
178
|
-
this.extensionField = null;
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* Sister-field within the declaring namespace if an extended field.
|
|
182
|
-
* @type {Field|null}
|
|
183
|
-
*/
|
|
184
|
-
this.declaringField = null;
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* Internally remembers whether this field is packed.
|
|
188
|
-
* @type {boolean|null}
|
|
189
|
-
* @private
|
|
190
|
-
*/
|
|
191
|
-
this._packed = null;
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* Comment for this field.
|
|
195
|
-
* @type {string|null}
|
|
196
|
-
*/
|
|
197
|
-
this.comment = comment;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
/**
|
|
201
|
-
* Determines whether this field is packed. Only relevant when repeated and working with proto2.
|
|
202
|
-
* @name Field#packed
|
|
203
|
-
* @type {boolean}
|
|
204
|
-
* @readonly
|
|
205
|
-
*/
|
|
206
|
-
Object.defineProperty(Field.prototype, "packed", {
|
|
207
|
-
get: function() {
|
|
208
|
-
// defaults to packed=true if not explicity set to false
|
|
209
|
-
if (this._packed === null)
|
|
210
|
-
this._packed = this.getOption("packed") !== false;
|
|
211
|
-
return this._packed;
|
|
212
|
-
}
|
|
213
|
-
});
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* @override
|
|
217
|
-
*/
|
|
218
|
-
Field.prototype.setOption = function setOption(name, value, ifNotSet) {
|
|
219
|
-
if (name === "packed") // clear cached before setting
|
|
220
|
-
this._packed = null;
|
|
221
|
-
return ReflectionObject.prototype.setOption.call(this, name, value, ifNotSet);
|
|
222
|
-
};
|
|
223
|
-
|
|
224
|
-
/**
|
|
225
|
-
* Field descriptor.
|
|
226
|
-
* @interface IField
|
|
227
|
-
* @property {string} [rule="optional"] Field rule
|
|
228
|
-
* @property {string} type Field type
|
|
229
|
-
* @property {number} id Field id
|
|
230
|
-
* @property {Object.<string,*>} [options] Field options
|
|
231
|
-
*/
|
|
232
|
-
|
|
233
|
-
/**
|
|
234
|
-
* Extension field descriptor.
|
|
235
|
-
* @interface IExtensionField
|
|
236
|
-
* @extends IField
|
|
237
|
-
* @property {string} extend Extended type
|
|
238
|
-
*/
|
|
239
|
-
|
|
240
|
-
/**
|
|
241
|
-
* Converts this field to a field descriptor.
|
|
242
|
-
* @param {IToJSONOptions} [toJSONOptions] JSON conversion options
|
|
243
|
-
* @returns {IField} Field descriptor
|
|
244
|
-
*/
|
|
245
|
-
Field.prototype.toJSON = function toJSON(toJSONOptions) {
|
|
246
|
-
var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
|
|
247
|
-
return util.toObject([
|
|
248
|
-
"rule" , this.rule !== "optional" && this.rule || undefined,
|
|
249
|
-
"type" , this.type,
|
|
250
|
-
"id" , this.id,
|
|
251
|
-
"extend" , this.extend,
|
|
252
|
-
"options" , this.options,
|
|
253
|
-
"comment" , keepComments ? this.comment : undefined
|
|
254
|
-
]);
|
|
255
|
-
};
|
|
256
|
-
|
|
257
|
-
/**
|
|
258
|
-
* Resolves this field's type references.
|
|
259
|
-
* @returns {Field} `this`
|
|
260
|
-
* @throws {Error} If any reference cannot be resolved
|
|
261
|
-
*/
|
|
262
|
-
Field.prototype.resolve = function resolve() {
|
|
263
|
-
|
|
264
|
-
if (this.resolved)
|
|
265
|
-
return this;
|
|
266
|
-
|
|
267
|
-
if ((this.typeDefault = types.defaults[this.type]) === undefined) { // if not a basic type, resolve it
|
|
268
|
-
this.resolvedType = (this.declaringField ? this.declaringField.parent : this.parent).lookupTypeOrEnum(this.type);
|
|
269
|
-
if (this.resolvedType instanceof Type)
|
|
270
|
-
this.typeDefault = null;
|
|
271
|
-
else // instanceof Enum
|
|
272
|
-
this.typeDefault = this.resolvedType.values[Object.keys(this.resolvedType.values)[0]]; // first defined
|
|
273
|
-
} else if (this.options && this.options.proto3_optional) {
|
|
274
|
-
// proto3 scalar value marked optional; should default to null
|
|
275
|
-
this.typeDefault = null;
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
// use explicitly set default value if present
|
|
279
|
-
if (this.options && this.options["default"] != null) {
|
|
280
|
-
this.typeDefault = this.options["default"];
|
|
281
|
-
if (this.resolvedType instanceof Enum && typeof this.typeDefault === "string")
|
|
282
|
-
this.typeDefault = this.resolvedType.values[this.typeDefault];
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
// remove unnecessary options
|
|
286
|
-
if (this.options) {
|
|
287
|
-
if (this.options.packed === true || this.options.packed !== undefined && this.resolvedType && !(this.resolvedType instanceof Enum))
|
|
288
|
-
delete this.options.packed;
|
|
289
|
-
if (!Object.keys(this.options).length)
|
|
290
|
-
this.options = undefined;
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
// convert to internal data type if necesssary
|
|
294
|
-
if (this.long) {
|
|
295
|
-
this.typeDefault = util.Long.fromNumber(this.typeDefault, this.type.charAt(0) === "u");
|
|
296
|
-
|
|
297
|
-
/* istanbul ignore else */
|
|
298
|
-
if (Object.freeze)
|
|
299
|
-
Object.freeze(this.typeDefault); // long instances are meant to be immutable anyway (i.e. use small int cache that even requires it)
|
|
300
|
-
|
|
301
|
-
} else if (this.bytes && typeof this.typeDefault === "string") {
|
|
302
|
-
var buf;
|
|
303
|
-
if (util.base64.test(this.typeDefault))
|
|
304
|
-
util.base64.decode(this.typeDefault, buf = util.newBuffer(util.base64.length(this.typeDefault)), 0);
|
|
305
|
-
else
|
|
306
|
-
util.utf8.write(this.typeDefault, buf = util.newBuffer(util.utf8.length(this.typeDefault)), 0);
|
|
307
|
-
this.typeDefault = buf;
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
// take special care of maps and repeated fields
|
|
311
|
-
if (this.map)
|
|
312
|
-
this.defaultValue = util.emptyObject;
|
|
313
|
-
else if (this.repeated)
|
|
314
|
-
this.defaultValue = util.emptyArray;
|
|
315
|
-
else
|
|
316
|
-
this.defaultValue = this.typeDefault;
|
|
317
|
-
|
|
318
|
-
// ensure proper value on prototype
|
|
319
|
-
if (this.parent instanceof Type)
|
|
320
|
-
this.parent.ctor.prototype[this.name] = this.defaultValue;
|
|
321
|
-
|
|
322
|
-
return ReflectionObject.prototype.resolve.call(this);
|
|
323
|
-
};
|
|
324
|
-
|
|
325
|
-
/**
|
|
326
|
-
* Decorator function as returned by {@link Field.d} and {@link MapField.d} (TypeScript).
|
|
327
|
-
* @typedef FieldDecorator
|
|
328
|
-
* @type {function}
|
|
329
|
-
* @param {Object} prototype Target prototype
|
|
330
|
-
* @param {string} fieldName Field name
|
|
331
|
-
* @returns {undefined}
|
|
332
|
-
*/
|
|
333
|
-
|
|
334
|
-
/**
|
|
335
|
-
* Field decorator (TypeScript).
|
|
336
|
-
* @name Field.d
|
|
337
|
-
* @function
|
|
338
|
-
* @param {number} fieldId Field id
|
|
339
|
-
* @param {"double"|"float"|"int32"|"uint32"|"sint32"|"fixed32"|"sfixed32"|"int64"|"uint64"|"sint64"|"fixed64"|"sfixed64"|"string"|"bool"|"bytes"|Object} fieldType Field type
|
|
340
|
-
* @param {"optional"|"required"|"repeated"} [fieldRule="optional"] Field rule
|
|
341
|
-
* @param {T} [defaultValue] Default value
|
|
342
|
-
* @returns {FieldDecorator} Decorator function
|
|
343
|
-
* @template T extends number | number[] | Long | Long[] | string | string[] | boolean | boolean[] | Uint8Array | Uint8Array[] | Buffer | Buffer[]
|
|
344
|
-
*/
|
|
345
|
-
Field.d = function decorateField(fieldId, fieldType, fieldRule, defaultValue) {
|
|
346
|
-
|
|
347
|
-
// submessage: decorate the submessage and use its name as the type
|
|
348
|
-
if (typeof fieldType === "function")
|
|
349
|
-
fieldType = util.decorateType(fieldType).name;
|
|
350
|
-
|
|
351
|
-
// enum reference: create a reflected copy of the enum and keep reuseing it
|
|
352
|
-
else if (fieldType && typeof fieldType === "object")
|
|
353
|
-
fieldType = util.decorateEnum(fieldType).name;
|
|
354
|
-
|
|
355
|
-
return function fieldDecorator(prototype, fieldName) {
|
|
356
|
-
util.decorateType(prototype.constructor)
|
|
357
|
-
.add(new Field(fieldName, fieldId, fieldType, fieldRule, { "default": defaultValue }));
|
|
358
|
-
};
|
|
359
|
-
};
|
|
360
|
-
|
|
361
|
-
/**
|
|
362
|
-
* Field decorator (TypeScript).
|
|
363
|
-
* @name Field.d
|
|
364
|
-
* @function
|
|
365
|
-
* @param {number} fieldId Field id
|
|
366
|
-
* @param {Constructor<T>|string} fieldType Field type
|
|
367
|
-
* @param {"optional"|"required"|"repeated"} [fieldRule="optional"] Field rule
|
|
368
|
-
* @returns {FieldDecorator} Decorator function
|
|
369
|
-
* @template T extends Message<T>
|
|
370
|
-
* @variation 2
|
|
371
|
-
*/
|
|
372
|
-
// like Field.d but without a default value
|
|
373
|
-
|
|
374
|
-
// Sets up cyclic dependencies (called in index-light)
|
|
375
|
-
Field._configure = function configure(Type_) {
|
|
376
|
-
Type = Type_;
|
|
377
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
module.exports = Field;
|
|
3
|
+
|
|
4
|
+
// extends ReflectionObject
|
|
5
|
+
var ReflectionObject = require("./object");
|
|
6
|
+
((Field.prototype = Object.create(ReflectionObject.prototype)).constructor = Field).className = "Field";
|
|
7
|
+
|
|
8
|
+
var Enum = require("./enum"),
|
|
9
|
+
types = require("./types"),
|
|
10
|
+
util = require("./util");
|
|
11
|
+
|
|
12
|
+
var Type; // cyclic
|
|
13
|
+
|
|
14
|
+
var ruleRe = /^required|optional|repeated$/;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Constructs a new message field instance. Note that {@link MapField|map fields} have their own class.
|
|
18
|
+
* @name Field
|
|
19
|
+
* @classdesc Reflected message field.
|
|
20
|
+
* @extends FieldBase
|
|
21
|
+
* @constructor
|
|
22
|
+
* @param {string} name Unique name within its namespace
|
|
23
|
+
* @param {number} id Unique id within its namespace
|
|
24
|
+
* @param {string} type Value type
|
|
25
|
+
* @param {string|Object.<string,*>} [rule="optional"] Field rule
|
|
26
|
+
* @param {string|Object.<string,*>} [extend] Extended type if different from parent
|
|
27
|
+
* @param {Object.<string,*>} [options] Declared options
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Constructs a field from a field descriptor.
|
|
32
|
+
* @param {string} name Field name
|
|
33
|
+
* @param {IField} json Field descriptor
|
|
34
|
+
* @returns {Field} Created field
|
|
35
|
+
* @throws {TypeError} If arguments are invalid
|
|
36
|
+
*/
|
|
37
|
+
Field.fromJSON = function fromJSON(name, json) {
|
|
38
|
+
return new Field(name, json.id, json.type, json.rule, json.extend, json.options, json.comment);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Not an actual constructor. Use {@link Field} instead.
|
|
43
|
+
* @classdesc Base class of all reflected message fields. This is not an actual class but here for the sake of having consistent type definitions.
|
|
44
|
+
* @exports FieldBase
|
|
45
|
+
* @extends ReflectionObject
|
|
46
|
+
* @constructor
|
|
47
|
+
* @param {string} name Unique name within its namespace
|
|
48
|
+
* @param {number} id Unique id within its namespace
|
|
49
|
+
* @param {string} type Value type
|
|
50
|
+
* @param {string|Object.<string,*>} [rule="optional"] Field rule
|
|
51
|
+
* @param {string|Object.<string,*>} [extend] Extended type if different from parent
|
|
52
|
+
* @param {Object.<string,*>} [options] Declared options
|
|
53
|
+
* @param {string} [comment] Comment associated with this field
|
|
54
|
+
*/
|
|
55
|
+
function Field(name, id, type, rule, extend, options, comment) {
|
|
56
|
+
|
|
57
|
+
if (util.isObject(rule)) {
|
|
58
|
+
comment = extend;
|
|
59
|
+
options = rule;
|
|
60
|
+
rule = extend = undefined;
|
|
61
|
+
} else if (util.isObject(extend)) {
|
|
62
|
+
comment = options;
|
|
63
|
+
options = extend;
|
|
64
|
+
extend = undefined;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
ReflectionObject.call(this, name, options);
|
|
68
|
+
|
|
69
|
+
if (!util.isInteger(id) || id < 0)
|
|
70
|
+
throw TypeError("id must be a non-negative integer");
|
|
71
|
+
|
|
72
|
+
if (!util.isString(type))
|
|
73
|
+
throw TypeError("type must be a string");
|
|
74
|
+
|
|
75
|
+
if (rule !== undefined && !ruleRe.test(rule = rule.toString().toLowerCase()))
|
|
76
|
+
throw TypeError("rule must be a string rule");
|
|
77
|
+
|
|
78
|
+
if (extend !== undefined && !util.isString(extend))
|
|
79
|
+
throw TypeError("extend must be a string");
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Field rule, if any.
|
|
83
|
+
* @type {string|undefined}
|
|
84
|
+
*/
|
|
85
|
+
if (rule === "proto3_optional") {
|
|
86
|
+
rule = "optional";
|
|
87
|
+
}
|
|
88
|
+
this.rule = rule && rule !== "optional" ? rule : undefined; // toJSON
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Field type.
|
|
92
|
+
* @type {string}
|
|
93
|
+
*/
|
|
94
|
+
this.type = type; // toJSON
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Unique field id.
|
|
98
|
+
* @type {number}
|
|
99
|
+
*/
|
|
100
|
+
this.id = id; // toJSON, marker
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Extended type if different from parent.
|
|
104
|
+
* @type {string|undefined}
|
|
105
|
+
*/
|
|
106
|
+
this.extend = extend || undefined; // toJSON
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Whether this field is required.
|
|
110
|
+
* @type {boolean}
|
|
111
|
+
*/
|
|
112
|
+
this.required = rule === "required";
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Whether this field is optional.
|
|
116
|
+
* @type {boolean}
|
|
117
|
+
*/
|
|
118
|
+
this.optional = !this.required;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Whether this field is repeated.
|
|
122
|
+
* @type {boolean}
|
|
123
|
+
*/
|
|
124
|
+
this.repeated = rule === "repeated";
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Whether this field is a map or not.
|
|
128
|
+
* @type {boolean}
|
|
129
|
+
*/
|
|
130
|
+
this.map = false;
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Message this field belongs to.
|
|
134
|
+
* @type {Type|null}
|
|
135
|
+
*/
|
|
136
|
+
this.message = null;
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* OneOf this field belongs to, if any,
|
|
140
|
+
* @type {OneOf|null}
|
|
141
|
+
*/
|
|
142
|
+
this.partOf = null;
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* The field type's default value.
|
|
146
|
+
* @type {*}
|
|
147
|
+
*/
|
|
148
|
+
this.typeDefault = null;
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* The field's default value on prototypes.
|
|
152
|
+
* @type {*}
|
|
153
|
+
*/
|
|
154
|
+
this.defaultValue = null;
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Whether this field's value should be treated as a long.
|
|
158
|
+
* @type {boolean}
|
|
159
|
+
*/
|
|
160
|
+
this.long = util.Long ? types.long[type] !== undefined : /* istanbul ignore next */ false;
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Whether this field's value is a buffer.
|
|
164
|
+
* @type {boolean}
|
|
165
|
+
*/
|
|
166
|
+
this.bytes = type === "bytes";
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Resolved type if not a basic type.
|
|
170
|
+
* @type {Type|Enum|null}
|
|
171
|
+
*/
|
|
172
|
+
this.resolvedType = null;
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Sister-field within the extended type if a declaring extension field.
|
|
176
|
+
* @type {Field|null}
|
|
177
|
+
*/
|
|
178
|
+
this.extensionField = null;
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Sister-field within the declaring namespace if an extended field.
|
|
182
|
+
* @type {Field|null}
|
|
183
|
+
*/
|
|
184
|
+
this.declaringField = null;
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Internally remembers whether this field is packed.
|
|
188
|
+
* @type {boolean|null}
|
|
189
|
+
* @private
|
|
190
|
+
*/
|
|
191
|
+
this._packed = null;
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Comment for this field.
|
|
195
|
+
* @type {string|null}
|
|
196
|
+
*/
|
|
197
|
+
this.comment = comment;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Determines whether this field is packed. Only relevant when repeated and working with proto2.
|
|
202
|
+
* @name Field#packed
|
|
203
|
+
* @type {boolean}
|
|
204
|
+
* @readonly
|
|
205
|
+
*/
|
|
206
|
+
Object.defineProperty(Field.prototype, "packed", {
|
|
207
|
+
get: function() {
|
|
208
|
+
// defaults to packed=true if not explicity set to false
|
|
209
|
+
if (this._packed === null)
|
|
210
|
+
this._packed = this.getOption("packed") !== false;
|
|
211
|
+
return this._packed;
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* @override
|
|
217
|
+
*/
|
|
218
|
+
Field.prototype.setOption = function setOption(name, value, ifNotSet) {
|
|
219
|
+
if (name === "packed") // clear cached before setting
|
|
220
|
+
this._packed = null;
|
|
221
|
+
return ReflectionObject.prototype.setOption.call(this, name, value, ifNotSet);
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Field descriptor.
|
|
226
|
+
* @interface IField
|
|
227
|
+
* @property {string} [rule="optional"] Field rule
|
|
228
|
+
* @property {string} type Field type
|
|
229
|
+
* @property {number} id Field id
|
|
230
|
+
* @property {Object.<string,*>} [options] Field options
|
|
231
|
+
*/
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Extension field descriptor.
|
|
235
|
+
* @interface IExtensionField
|
|
236
|
+
* @extends IField
|
|
237
|
+
* @property {string} extend Extended type
|
|
238
|
+
*/
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Converts this field to a field descriptor.
|
|
242
|
+
* @param {IToJSONOptions} [toJSONOptions] JSON conversion options
|
|
243
|
+
* @returns {IField} Field descriptor
|
|
244
|
+
*/
|
|
245
|
+
Field.prototype.toJSON = function toJSON(toJSONOptions) {
|
|
246
|
+
var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
|
|
247
|
+
return util.toObject([
|
|
248
|
+
"rule" , this.rule !== "optional" && this.rule || undefined,
|
|
249
|
+
"type" , this.type,
|
|
250
|
+
"id" , this.id,
|
|
251
|
+
"extend" , this.extend,
|
|
252
|
+
"options" , this.options,
|
|
253
|
+
"comment" , keepComments ? this.comment : undefined
|
|
254
|
+
]);
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Resolves this field's type references.
|
|
259
|
+
* @returns {Field} `this`
|
|
260
|
+
* @throws {Error} If any reference cannot be resolved
|
|
261
|
+
*/
|
|
262
|
+
Field.prototype.resolve = function resolve() {
|
|
263
|
+
|
|
264
|
+
if (this.resolved)
|
|
265
|
+
return this;
|
|
266
|
+
|
|
267
|
+
if ((this.typeDefault = types.defaults[this.type]) === undefined) { // if not a basic type, resolve it
|
|
268
|
+
this.resolvedType = (this.declaringField ? this.declaringField.parent : this.parent).lookupTypeOrEnum(this.type);
|
|
269
|
+
if (this.resolvedType instanceof Type)
|
|
270
|
+
this.typeDefault = null;
|
|
271
|
+
else // instanceof Enum
|
|
272
|
+
this.typeDefault = this.resolvedType.values[Object.keys(this.resolvedType.values)[0]]; // first defined
|
|
273
|
+
} else if (this.options && this.options.proto3_optional) {
|
|
274
|
+
// proto3 scalar value marked optional; should default to null
|
|
275
|
+
this.typeDefault = null;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
// use explicitly set default value if present
|
|
279
|
+
if (this.options && this.options["default"] != null) {
|
|
280
|
+
this.typeDefault = this.options["default"];
|
|
281
|
+
if (this.resolvedType instanceof Enum && typeof this.typeDefault === "string")
|
|
282
|
+
this.typeDefault = this.resolvedType.values[this.typeDefault];
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
// remove unnecessary options
|
|
286
|
+
if (this.options) {
|
|
287
|
+
if (this.options.packed === true || this.options.packed !== undefined && this.resolvedType && !(this.resolvedType instanceof Enum))
|
|
288
|
+
delete this.options.packed;
|
|
289
|
+
if (!Object.keys(this.options).length)
|
|
290
|
+
this.options = undefined;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
// convert to internal data type if necesssary
|
|
294
|
+
if (this.long) {
|
|
295
|
+
this.typeDefault = util.Long.fromNumber(this.typeDefault, this.type.charAt(0) === "u");
|
|
296
|
+
|
|
297
|
+
/* istanbul ignore else */
|
|
298
|
+
if (Object.freeze)
|
|
299
|
+
Object.freeze(this.typeDefault); // long instances are meant to be immutable anyway (i.e. use small int cache that even requires it)
|
|
300
|
+
|
|
301
|
+
} else if (this.bytes && typeof this.typeDefault === "string") {
|
|
302
|
+
var buf;
|
|
303
|
+
if (util.base64.test(this.typeDefault))
|
|
304
|
+
util.base64.decode(this.typeDefault, buf = util.newBuffer(util.base64.length(this.typeDefault)), 0);
|
|
305
|
+
else
|
|
306
|
+
util.utf8.write(this.typeDefault, buf = util.newBuffer(util.utf8.length(this.typeDefault)), 0);
|
|
307
|
+
this.typeDefault = buf;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
// take special care of maps and repeated fields
|
|
311
|
+
if (this.map)
|
|
312
|
+
this.defaultValue = util.emptyObject;
|
|
313
|
+
else if (this.repeated)
|
|
314
|
+
this.defaultValue = util.emptyArray;
|
|
315
|
+
else
|
|
316
|
+
this.defaultValue = this.typeDefault;
|
|
317
|
+
|
|
318
|
+
// ensure proper value on prototype
|
|
319
|
+
if (this.parent instanceof Type)
|
|
320
|
+
this.parent.ctor.prototype[this.name] = this.defaultValue;
|
|
321
|
+
|
|
322
|
+
return ReflectionObject.prototype.resolve.call(this);
|
|
323
|
+
};
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* Decorator function as returned by {@link Field.d} and {@link MapField.d} (TypeScript).
|
|
327
|
+
* @typedef FieldDecorator
|
|
328
|
+
* @type {function}
|
|
329
|
+
* @param {Object} prototype Target prototype
|
|
330
|
+
* @param {string} fieldName Field name
|
|
331
|
+
* @returns {undefined}
|
|
332
|
+
*/
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* Field decorator (TypeScript).
|
|
336
|
+
* @name Field.d
|
|
337
|
+
* @function
|
|
338
|
+
* @param {number} fieldId Field id
|
|
339
|
+
* @param {"double"|"float"|"int32"|"uint32"|"sint32"|"fixed32"|"sfixed32"|"int64"|"uint64"|"sint64"|"fixed64"|"sfixed64"|"string"|"bool"|"bytes"|Object} fieldType Field type
|
|
340
|
+
* @param {"optional"|"required"|"repeated"} [fieldRule="optional"] Field rule
|
|
341
|
+
* @param {T} [defaultValue] Default value
|
|
342
|
+
* @returns {FieldDecorator} Decorator function
|
|
343
|
+
* @template T extends number | number[] | Long | Long[] | string | string[] | boolean | boolean[] | Uint8Array | Uint8Array[] | Buffer | Buffer[]
|
|
344
|
+
*/
|
|
345
|
+
Field.d = function decorateField(fieldId, fieldType, fieldRule, defaultValue) {
|
|
346
|
+
|
|
347
|
+
// submessage: decorate the submessage and use its name as the type
|
|
348
|
+
if (typeof fieldType === "function")
|
|
349
|
+
fieldType = util.decorateType(fieldType).name;
|
|
350
|
+
|
|
351
|
+
// enum reference: create a reflected copy of the enum and keep reuseing it
|
|
352
|
+
else if (fieldType && typeof fieldType === "object")
|
|
353
|
+
fieldType = util.decorateEnum(fieldType).name;
|
|
354
|
+
|
|
355
|
+
return function fieldDecorator(prototype, fieldName) {
|
|
356
|
+
util.decorateType(prototype.constructor)
|
|
357
|
+
.add(new Field(fieldName, fieldId, fieldType, fieldRule, { "default": defaultValue }));
|
|
358
|
+
};
|
|
359
|
+
};
|
|
360
|
+
|
|
361
|
+
/**
|
|
362
|
+
* Field decorator (TypeScript).
|
|
363
|
+
* @name Field.d
|
|
364
|
+
* @function
|
|
365
|
+
* @param {number} fieldId Field id
|
|
366
|
+
* @param {Constructor<T>|string} fieldType Field type
|
|
367
|
+
* @param {"optional"|"required"|"repeated"} [fieldRule="optional"] Field rule
|
|
368
|
+
* @returns {FieldDecorator} Decorator function
|
|
369
|
+
* @template T extends Message<T>
|
|
370
|
+
* @variation 2
|
|
371
|
+
*/
|
|
372
|
+
// like Field.d but without a default value
|
|
373
|
+
|
|
374
|
+
// Sets up cyclic dependencies (called in index-light)
|
|
375
|
+
Field._configure = function configure(Type_) {
|
|
376
|
+
Type = Type_;
|
|
377
|
+
};
|