node-red-contrib-tak-registration 0.11.5 → 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.
Files changed (476) hide show
  1. package/node_modules/@types/node/README.md +2 -2
  2. package/node_modules/@types/node/assert.d.ts +88 -44
  3. package/node_modules/@types/node/async_hooks.d.ts +17 -15
  4. package/node_modules/@types/node/buffer.d.ts +37 -36
  5. package/node_modules/@types/node/child_process.d.ts +38 -34
  6. package/node_modules/@types/node/cluster.d.ts +165 -19
  7. package/node_modules/@types/node/console.d.ts +64 -27
  8. package/node_modules/@types/node/crypto.d.ts +139 -72
  9. package/node_modules/@types/node/dgram.d.ts +24 -14
  10. package/node_modules/@types/node/diagnostics_channel.d.ts +365 -2
  11. package/node_modules/@types/node/dns/promises.d.ts +79 -28
  12. package/node_modules/@types/node/dns.d.ts +124 -69
  13. package/node_modules/@types/node/dom-events.d.ts +2 -0
  14. package/node_modules/@types/node/domain.d.ts +4 -4
  15. package/node_modules/@types/node/events.d.ts +115 -63
  16. package/node_modules/@types/node/fs/promises.d.ts +18 -12
  17. package/node_modules/@types/node/fs.d.ts +72 -46
  18. package/node_modules/@types/node/globals.d.ts +27 -0
  19. package/node_modules/@types/node/http.d.ts +75 -55
  20. package/node_modules/@types/node/http2.d.ts +83 -47
  21. package/node_modules/@types/node/https.d.ts +3 -3
  22. package/node_modules/@types/node/index.d.ts +1 -0
  23. package/node_modules/@types/node/inspector.d.ts +5 -6
  24. package/node_modules/@types/node/module.d.ts +14 -0
  25. package/node_modules/@types/node/net.d.ts +66 -16
  26. package/node_modules/@types/node/os.d.ts +29 -12
  27. package/node_modules/@types/node/package.json +3 -16
  28. package/node_modules/@types/node/path.d.ts +1 -1
  29. package/node_modules/@types/node/perf_hooks.d.ts +320 -54
  30. package/node_modules/@types/node/process.d.ts +265 -50
  31. package/node_modules/@types/node/punycode.d.ts +4 -4
  32. package/node_modules/@types/node/querystring.d.ts +21 -9
  33. package/node_modules/@types/node/readline/promises.d.ts +9 -9
  34. package/node_modules/@types/node/readline.d.ts +21 -20
  35. package/node_modules/@types/node/repl.d.ts +10 -10
  36. package/node_modules/@types/node/sea.d.ts +153 -0
  37. package/node_modules/@types/node/stream/web.d.ts +18 -1
  38. package/node_modules/@types/node/stream.d.ts +62 -56
  39. package/node_modules/@types/node/string_decoder.d.ts +5 -5
  40. package/node_modules/@types/node/test.d.ts +445 -109
  41. package/node_modules/@types/node/timers/promises.d.ts +10 -6
  42. package/node_modules/@types/node/timers.d.ts +5 -5
  43. package/node_modules/@types/node/tls.d.ts +40 -33
  44. package/node_modules/@types/node/trace_events.d.ts +40 -25
  45. package/node_modules/@types/node/tty.d.ts +8 -8
  46. package/node_modules/@types/node/url.d.ts +73 -48
  47. package/node_modules/@types/node/util.d.ts +131 -22
  48. package/node_modules/@types/node/v8.d.ts +183 -10
  49. package/node_modules/@types/node/vm.d.ts +43 -22
  50. package/node_modules/@types/node/wasi.d.ts +38 -15
  51. package/node_modules/@types/node/worker_threads.d.ts +19 -16
  52. package/node_modules/@types/node/zlib.d.ts +16 -3
  53. package/node_modules/adm-zip/README.md +2 -1
  54. package/node_modules/adm-zip/adm-zip.js +46 -45
  55. package/node_modules/adm-zip/headers/entryHeader.js +14 -12
  56. package/node_modules/adm-zip/headers/mainHeader.js +1 -1
  57. package/node_modules/adm-zip/methods/inflater.js +6 -3
  58. package/node_modules/adm-zip/methods/zipcrypto.js +6 -2
  59. package/node_modules/adm-zip/package.json +2 -2
  60. package/node_modules/adm-zip/util/errors.js +1 -0
  61. package/node_modules/adm-zip/zipEntry.js +64 -43
  62. package/node_modules/adm-zip/zipFile.js +35 -35
  63. package/node_modules/axios/CHANGELOG.md +873 -711
  64. package/node_modules/axios/README.md +98 -8
  65. package/node_modules/axios/dist/axios.js +1461 -350
  66. package/node_modules/axios/dist/axios.js.map +1 -1
  67. package/node_modules/axios/dist/axios.min.js +1 -1
  68. package/node_modules/axios/dist/axios.min.js.map +1 -1
  69. package/node_modules/axios/dist/browser/axios.cjs +710 -306
  70. package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
  71. package/node_modules/axios/dist/esm/axios.js +710 -306
  72. package/node_modules/axios/dist/esm/axios.js.map +1 -1
  73. package/node_modules/axios/dist/esm/axios.min.js +1 -1
  74. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  75. package/node_modules/axios/dist/node/axios.cjs +628 -250
  76. package/node_modules/axios/dist/node/axios.cjs.map +1 -1
  77. package/node_modules/axios/index.d.cts +6 -3
  78. package/node_modules/axios/index.d.ts +6 -3
  79. package/node_modules/axios/lib/adapters/adapters.js +3 -1
  80. package/node_modules/axios/lib/adapters/fetch.js +227 -0
  81. package/node_modules/axios/lib/adapters/http.js +7 -3
  82. package/node_modules/axios/lib/adapters/xhr.js +31 -101
  83. package/node_modules/axios/lib/core/Axios.js +28 -1
  84. package/node_modules/axios/lib/core/AxiosHeaders.js +4 -0
  85. package/node_modules/axios/lib/core/mergeConfig.js +1 -1
  86. package/node_modules/axios/lib/defaults/index.js +7 -5
  87. package/node_modules/axios/lib/env/data.js +1 -1
  88. package/node_modules/axios/lib/helpers/AxiosTransformStream.js +9 -8
  89. package/node_modules/axios/lib/helpers/combineURLs.js +1 -1
  90. package/node_modules/axios/lib/helpers/composeSignals.js +46 -0
  91. package/node_modules/axios/lib/helpers/formDataToJSON.js +3 -0
  92. package/node_modules/axios/lib/helpers/progressEventReducer.js +32 -0
  93. package/node_modules/axios/lib/helpers/resolveConfig.js +57 -0
  94. package/node_modules/axios/lib/helpers/throttle.js +5 -3
  95. package/node_modules/axios/lib/helpers/trackStream.js +55 -0
  96. package/node_modules/axios/lib/platform/common/utils.js +4 -1
  97. package/node_modules/axios/lib/utils.js +7 -2
  98. package/node_modules/axios/package.json +27 -26
  99. package/node_modules/call-bind/CHANGELOG.md +16 -0
  100. package/node_modules/call-bind/index.js +2 -11
  101. package/node_modules/call-bind/package.json +11 -6
  102. package/node_modules/define-data-property/CHANGELOG.md +29 -0
  103. package/node_modules/define-data-property/index.d.ts +12 -3
  104. package/node_modules/define-data-property/index.js +4 -16
  105. package/node_modules/define-data-property/package.json +26 -33
  106. package/node_modules/define-data-property/test/index.js +10 -10
  107. package/node_modules/es-define-property/.eslintrc +13 -0
  108. package/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  109. package/node_modules/es-define-property/.nycrc +9 -0
  110. package/node_modules/es-define-property/CHANGELOG.md +15 -0
  111. package/node_modules/es-define-property/LICENSE +21 -0
  112. package/node_modules/es-define-property/README.md +49 -0
  113. package/node_modules/es-define-property/index.d.ts +3 -0
  114. package/node_modules/es-define-property/index.js +16 -0
  115. package/node_modules/es-define-property/package.json +81 -0
  116. package/node_modules/es-define-property/test/index.js +55 -0
  117. package/node_modules/es-define-property/tsconfig.json +50 -0
  118. package/node_modules/es-errors/.eslintrc +5 -0
  119. package/node_modules/es-errors/.github/FUNDING.yml +12 -0
  120. package/node_modules/es-errors/CHANGELOG.md +40 -0
  121. package/node_modules/es-errors/LICENSE +21 -0
  122. package/node_modules/es-errors/README.md +55 -0
  123. package/node_modules/es-errors/eval.d.ts +3 -0
  124. package/node_modules/es-errors/eval.js +4 -0
  125. package/node_modules/es-errors/index.d.ts +3 -0
  126. package/node_modules/es-errors/index.js +4 -0
  127. package/node_modules/es-errors/package.json +80 -0
  128. package/node_modules/es-errors/range.d.ts +3 -0
  129. package/node_modules/es-errors/range.js +4 -0
  130. package/node_modules/es-errors/ref.d.ts +3 -0
  131. package/node_modules/es-errors/ref.js +4 -0
  132. package/node_modules/es-errors/syntax.d.ts +3 -0
  133. package/node_modules/es-errors/syntax.js +4 -0
  134. package/node_modules/es-errors/test/index.js +19 -0
  135. package/node_modules/es-errors/tsconfig.json +49 -0
  136. package/node_modules/es-errors/type.d.ts +3 -0
  137. package/node_modules/es-errors/type.js +4 -0
  138. package/node_modules/es-errors/uri.d.ts +3 -0
  139. package/node_modules/es-errors/uri.js +4 -0
  140. package/node_modules/fast-xml-parser/CHANGELOG.md +17 -0
  141. package/node_modules/fast-xml-parser/README.md +9 -15
  142. package/node_modules/fast-xml-parser/package.json +4 -1
  143. package/node_modules/fast-xml-parser/src/fxp.d.ts +365 -71
  144. package/node_modules/fast-xml-parser/src/v5/CharsSymbol.js +16 -0
  145. package/node_modules/fast-xml-parser/src/v5/EntitiesParser.js +107 -0
  146. package/node_modules/fast-xml-parser/src/v5/OptionsBuilder.js +64 -0
  147. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/BaseOutputBuilder.js +71 -0
  148. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/JsArrBuilder.js +103 -0
  149. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/JsMinArrBuilder.js +102 -0
  150. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/JsObjBuilder.js +156 -0
  151. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/ParserOptionsBuilder.js +96 -0
  152. package/node_modules/fast-xml-parser/src/v5/Report.js +0 -0
  153. package/node_modules/fast-xml-parser/src/v5/TagPath.js +81 -0
  154. package/node_modules/fast-xml-parser/src/v5/TagPathMatcher.js +15 -0
  155. package/node_modules/fast-xml-parser/src/v5/XMLParser.js +85 -0
  156. package/node_modules/fast-xml-parser/src/v5/Xml2JsParser.js +237 -0
  157. package/node_modules/fast-xml-parser/src/v5/XmlPartReader.js +212 -0
  158. package/node_modules/fast-xml-parser/src/v5/XmlSpecialTagsReader.js +118 -0
  159. package/node_modules/fast-xml-parser/src/v5/inputSource/BufferSource.js +118 -0
  160. package/node_modules/fast-xml-parser/src/v5/inputSource/StringSource.js +123 -0
  161. package/node_modules/fast-xml-parser/src/v5/valueParsers/EntitiesParser.js +107 -0
  162. package/node_modules/fast-xml-parser/src/v5/valueParsers/booleanParser.js +23 -0
  163. package/node_modules/fast-xml-parser/src/v5/valueParsers/booleanParserExt.js +20 -0
  164. package/node_modules/fast-xml-parser/src/v5/valueParsers/currency.js +31 -0
  165. package/node_modules/fast-xml-parser/src/v5/valueParsers/join.js +14 -0
  166. package/node_modules/fast-xml-parser/src/v5/valueParsers/number.js +16 -0
  167. package/node_modules/fast-xml-parser/src/v5/valueParsers/trim.js +8 -0
  168. package/node_modules/fast-xml-parser/src/validator.js +2 -0
  169. package/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +18 -9
  170. package/node_modules/follow-redirects/index.js +115 -76
  171. package/node_modules/follow-redirects/package.json +1 -1
  172. package/node_modules/get-intrinsic/CHANGELOG.md +18 -0
  173. package/node_modules/get-intrinsic/index.js +15 -7
  174. package/node_modules/get-intrinsic/package.json +12 -12
  175. package/node_modules/has-property-descriptors/CHANGELOG.md +8 -0
  176. package/node_modules/has-property-descriptors/index.js +3 -14
  177. package/node_modules/has-property-descriptors/package.json +5 -5
  178. package/node_modules/has-proto/CHANGELOG.md +15 -0
  179. package/node_modules/has-proto/index.d.ts +3 -0
  180. package/node_modules/has-proto/index.js +5 -1
  181. package/node_modules/has-proto/package.json +9 -5
  182. package/node_modules/has-proto/tsconfig.json +49 -0
  183. package/node_modules/has-tostringtag/.eslintrc +0 -6
  184. package/node_modules/has-tostringtag/.nycrc +13 -0
  185. package/node_modules/has-tostringtag/CHANGELOG.md +22 -0
  186. package/node_modules/has-tostringtag/index.d.ts +3 -0
  187. package/node_modules/has-tostringtag/index.js +1 -0
  188. package/node_modules/has-tostringtag/package.json +37 -13
  189. package/node_modules/has-tostringtag/shams.d.ts +3 -0
  190. package/node_modules/has-tostringtag/shams.js +1 -0
  191. package/node_modules/has-tostringtag/test/shams/core-js.js +3 -0
  192. package/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js +2 -0
  193. package/node_modules/has-tostringtag/test/tests.js +2 -1
  194. package/node_modules/has-tostringtag/tsconfig.json +49 -0
  195. package/node_modules/hasown/CHANGELOG.md +20 -0
  196. package/node_modules/hasown/index.d.ts +3 -3
  197. package/node_modules/hasown/index.js +1 -1
  198. package/node_modules/hasown/package.json +16 -15
  199. package/node_modules/hasown/tsconfig.json +3 -46
  200. package/node_modules/object-is/.eslintrc +1 -1
  201. package/node_modules/object-is/.nycrc +0 -4
  202. package/node_modules/object-is/CHANGELOG.md +25 -0
  203. package/node_modules/object-is/README.md +20 -20
  204. package/node_modules/object-is/package.json +23 -14
  205. package/node_modules/polygon-clipping/README.md +29 -26
  206. package/node_modules/polygon-clipping/dist/polygon-clipping.cjs.js +1398 -1421
  207. package/node_modules/polygon-clipping/dist/polygon-clipping.d.ts +13 -10
  208. package/node_modules/polygon-clipping/dist/polygon-clipping.esm.js +1139 -1427
  209. package/node_modules/polygon-clipping/dist/polygon-clipping.umd.js +1770 -1831
  210. package/node_modules/polygon-clipping/dist/polygon-clipping.umd.min.js +22 -8
  211. package/node_modules/polygon-clipping/dist/polygon-clipping.umd.min.js.map +1 -1
  212. package/node_modules/polygon-clipping/node_modules/robust-predicates/LICENSE +24 -0
  213. package/node_modules/polygon-clipping/node_modules/robust-predicates/README.md +82 -0
  214. package/node_modules/polygon-clipping/node_modules/robust-predicates/esm/incircle.js +765 -0
  215. package/node_modules/polygon-clipping/node_modules/robust-predicates/esm/insphere.js +766 -0
  216. package/node_modules/polygon-clipping/node_modules/robust-predicates/esm/orient2d.js +184 -0
  217. package/node_modules/polygon-clipping/node_modules/robust-predicates/esm/orient3d.js +462 -0
  218. package/node_modules/polygon-clipping/node_modules/robust-predicates/esm/util.js +138 -0
  219. package/node_modules/polygon-clipping/node_modules/robust-predicates/index.d.ts +49 -0
  220. package/node_modules/polygon-clipping/node_modules/robust-predicates/index.js +5 -0
  221. package/node_modules/polygon-clipping/node_modules/robust-predicates/package.json +75 -0
  222. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/incircle.js +908 -0
  223. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/incircle.min.js +1 -0
  224. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/insphere.js +914 -0
  225. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/insphere.min.js +1 -0
  226. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/orient2d.js +280 -0
  227. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/orient2d.min.js +1 -0
  228. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/orient3d.js +601 -0
  229. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/orient3d.min.js +1 -0
  230. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/predicates.js +2328 -0
  231. package/node_modules/polygon-clipping/node_modules/robust-predicates/umd/predicates.min.js +1 -0
  232. package/node_modules/polygon-clipping/package.json +30 -25
  233. package/node_modules/protobufjs/LICENSE +39 -39
  234. package/node_modules/protobufjs/README.md +727 -740
  235. package/node_modules/protobufjs/dist/light/protobuf.js +6264 -6264
  236. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  237. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  238. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  239. package/node_modules/protobufjs/dist/minimal/protobuf.js +1928 -1928
  240. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  241. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +2 -2
  242. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  243. package/node_modules/protobufjs/dist/protobuf.js +7978 -7961
  244. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  245. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  246. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  247. package/node_modules/protobufjs/ext/debug/README.md +4 -4
  248. package/node_modules/protobufjs/ext/debug/index.js +71 -71
  249. package/node_modules/protobufjs/ext/descriptor/README.md +72 -72
  250. package/node_modules/protobufjs/ext/descriptor/index.d.ts +191 -191
  251. package/node_modules/protobufjs/ext/descriptor/index.js +1052 -1052
  252. package/node_modules/protobufjs/ext/descriptor/test.js +54 -54
  253. package/node_modules/protobufjs/google/LICENSE +27 -27
  254. package/node_modules/protobufjs/google/README.md +1 -1
  255. package/node_modules/protobufjs/google/api/annotations.json +82 -82
  256. package/node_modules/protobufjs/google/api/annotations.proto +10 -10
  257. package/node_modules/protobufjs/google/api/http.json +85 -85
  258. package/node_modules/protobufjs/google/api/http.proto +30 -30
  259. package/node_modules/protobufjs/google/protobuf/api.json +117 -117
  260. package/node_modules/protobufjs/google/protobuf/api.proto +33 -33
  261. package/node_modules/protobufjs/google/protobuf/descriptor.json +738 -738
  262. package/node_modules/protobufjs/google/protobuf/descriptor.proto +286 -286
  263. package/node_modules/protobufjs/google/protobuf/source_context.json +19 -19
  264. package/node_modules/protobufjs/google/protobuf/source_context.proto +7 -7
  265. package/node_modules/protobufjs/google/protobuf/type.json +201 -201
  266. package/node_modules/protobufjs/google/protobuf/type.proto +89 -89
  267. package/node_modules/protobufjs/index.d.ts +2741 -2741
  268. package/node_modules/protobufjs/index.js +4 -4
  269. package/node_modules/protobufjs/light.d.ts +2 -2
  270. package/node_modules/protobufjs/light.js +3 -3
  271. package/node_modules/protobufjs/minimal.d.ts +2 -2
  272. package/node_modules/protobufjs/minimal.js +4 -4
  273. package/node_modules/protobufjs/package.json +111 -111
  274. package/node_modules/protobufjs/scripts/postinstall.js +32 -32
  275. package/node_modules/protobufjs/src/common.js +399 -399
  276. package/node_modules/protobufjs/src/converter.js +301 -301
  277. package/node_modules/protobufjs/src/decoder.js +129 -129
  278. package/node_modules/protobufjs/src/encoder.js +100 -100
  279. package/node_modules/protobufjs/src/enum.js +198 -198
  280. package/node_modules/protobufjs/src/field.js +377 -377
  281. package/node_modules/protobufjs/src/index-light.js +104 -104
  282. package/node_modules/protobufjs/src/index-minimal.js +36 -36
  283. package/node_modules/protobufjs/src/index.js +12 -12
  284. package/node_modules/protobufjs/src/mapfield.js +126 -126
  285. package/node_modules/protobufjs/src/message.js +138 -138
  286. package/node_modules/protobufjs/src/method.js +160 -160
  287. package/node_modules/protobufjs/src/namespace.js +433 -433
  288. package/node_modules/protobufjs/src/object.js +243 -243
  289. package/node_modules/protobufjs/src/oneof.js +203 -203
  290. package/node_modules/protobufjs/src/parse.js +889 -872
  291. package/node_modules/protobufjs/src/reader.js +416 -416
  292. package/node_modules/protobufjs/src/reader_buffer.js +51 -51
  293. package/node_modules/protobufjs/src/root.js +368 -368
  294. package/node_modules/protobufjs/src/roots.js +18 -18
  295. package/node_modules/protobufjs/src/rpc/service.js +142 -142
  296. package/node_modules/protobufjs/src/rpc.js +36 -36
  297. package/node_modules/protobufjs/src/service.js +167 -167
  298. package/node_modules/protobufjs/src/tokenize.js +416 -416
  299. package/node_modules/protobufjs/src/type.js +589 -589
  300. package/node_modules/protobufjs/src/types.js +196 -196
  301. package/node_modules/protobufjs/src/typescript.jsdoc +15 -15
  302. package/node_modules/protobufjs/src/util/longbits.js +200 -200
  303. package/node_modules/protobufjs/src/util/minimal.js +438 -438
  304. package/node_modules/protobufjs/src/util.js +212 -212
  305. package/node_modules/protobufjs/src/verifier.js +176 -176
  306. package/node_modules/protobufjs/src/wrappers.js +102 -102
  307. package/node_modules/protobufjs/src/writer.js +465 -465
  308. package/node_modules/protobufjs/src/writer_buffer.js +85 -85
  309. package/node_modules/protobufjs/tsconfig.json +7 -7
  310. package/node_modules/regexp.prototype.flags/CHANGELOG.md +13 -0
  311. package/node_modules/regexp.prototype.flags/implementation.js +2 -2
  312. package/node_modules/regexp.prototype.flags/package.json +11 -10
  313. package/node_modules/regexp.prototype.flags/test/tests.js +13 -13
  314. package/node_modules/set-function-length/CHANGELOG.md +29 -0
  315. package/node_modules/set-function-length/env.d.ts +9 -0
  316. package/node_modules/set-function-length/env.js +10 -4
  317. package/node_modules/set-function-length/index.d.ts +7 -0
  318. package/node_modules/set-function-length/index.js +4 -3
  319. package/node_modules/set-function-length/package.json +29 -11
  320. package/node_modules/set-function-length/tsconfig.json +9 -0
  321. package/node_modules/set-function-name/.eslintrc +1 -0
  322. package/node_modules/set-function-name/CHANGELOG.md +9 -0
  323. package/node_modules/set-function-name/index.d.ts +5 -0
  324. package/node_modules/set-function-name/index.js +4 -3
  325. package/node_modules/set-function-name/package.json +28 -9
  326. package/node_modules/set-function-name/tsconfig.json +59 -0
  327. package/node_modules/uuid/CHANGELOG.md +18 -0
  328. package/node_modules/uuid/README.md +134 -16
  329. package/node_modules/uuid/dist/commonjs-browser/index.js +40 -15
  330. package/node_modules/uuid/dist/commonjs-browser/max.js +7 -0
  331. package/node_modules/uuid/dist/commonjs-browser/md5.js +30 -53
  332. package/node_modules/uuid/dist/commonjs-browser/native.js +3 -4
  333. package/node_modules/uuid/dist/commonjs-browser/nil.js +1 -2
  334. package/node_modules/uuid/dist/commonjs-browser/parse.js +14 -15
  335. package/node_modules/uuid/dist/commonjs-browser/regex.js +1 -2
  336. package/node_modules/uuid/dist/commonjs-browser/rng.js +2 -4
  337. package/node_modules/uuid/dist/commonjs-browser/sha1.js +27 -49
  338. package/node_modules/uuid/dist/commonjs-browser/stringify.js +10 -16
  339. package/node_modules/uuid/dist/commonjs-browser/v1.js +73 -49
  340. package/node_modules/uuid/dist/commonjs-browser/v1ToV6.js +26 -0
  341. package/node_modules/uuid/dist/commonjs-browser/v3.js +3 -8
  342. package/node_modules/uuid/dist/commonjs-browser/v35.js +15 -32
  343. package/node_modules/uuid/dist/commonjs-browser/v4.js +7 -18
  344. package/node_modules/uuid/dist/commonjs-browser/v5.js +3 -8
  345. package/node_modules/uuid/dist/commonjs-browser/v6.js +42 -0
  346. package/node_modules/uuid/dist/commonjs-browser/v6ToV1.js +26 -0
  347. package/node_modules/uuid/dist/commonjs-browser/v7.js +152 -0
  348. package/node_modules/uuid/dist/commonjs-browser/validate.js +2 -7
  349. package/node_modules/uuid/dist/commonjs-browser/version.js +2 -8
  350. package/node_modules/uuid/dist/esm-browser/index.js +9 -4
  351. package/node_modules/uuid/dist/esm-browser/max.js +1 -0
  352. package/node_modules/uuid/dist/esm-browser/md5.js +29 -50
  353. package/node_modules/uuid/dist/esm-browser/native.js +1 -1
  354. package/node_modules/uuid/dist/esm-browser/parse.js +12 -10
  355. package/node_modules/uuid/dist/esm-browser/regex.js +1 -1
  356. package/node_modules/uuid/dist/esm-browser/rng.js +3 -4
  357. package/node_modules/uuid/dist/esm-browser/sha1.js +26 -46
  358. package/node_modules/uuid/dist/esm-browser/stringify.js +9 -11
  359. package/node_modules/uuid/dist/esm-browser/v1.js +74 -44
  360. package/node_modules/uuid/dist/esm-browser/v1ToV6.js +20 -0
  361. package/node_modules/uuid/dist/esm-browser/v3.js +1 -1
  362. package/node_modules/uuid/dist/esm-browser/v35.js +14 -25
  363. package/node_modules/uuid/dist/esm-browser/v4.js +5 -9
  364. package/node_modules/uuid/dist/esm-browser/v5.js +1 -1
  365. package/node_modules/uuid/dist/esm-browser/v6.js +36 -0
  366. package/node_modules/uuid/dist/esm-browser/v6ToV1.js +20 -0
  367. package/node_modules/uuid/dist/esm-browser/v7.js +146 -0
  368. package/node_modules/uuid/dist/esm-browser/validate.js +0 -2
  369. package/node_modules/uuid/dist/esm-browser/version.js +0 -3
  370. package/node_modules/uuid/dist/esm-node/index.js +9 -4
  371. package/node_modules/uuid/dist/esm-node/max.js +1 -0
  372. package/node_modules/uuid/dist/esm-node/md5.js +1 -4
  373. package/node_modules/uuid/dist/esm-node/native.js +1 -1
  374. package/node_modules/uuid/dist/esm-node/parse.js +11 -9
  375. package/node_modules/uuid/dist/esm-node/regex.js +1 -1
  376. package/node_modules/uuid/dist/esm-node/rng.js +1 -3
  377. package/node_modules/uuid/dist/esm-node/sha1.js +1 -4
  378. package/node_modules/uuid/dist/esm-node/stringify.js +7 -9
  379. package/node_modules/uuid/dist/esm-node/v1.js +66 -36
  380. package/node_modules/uuid/dist/esm-node/v1ToV6.js +20 -0
  381. package/node_modules/uuid/dist/esm-node/v35.js +8 -19
  382. package/node_modules/uuid/dist/esm-node/v4.js +4 -8
  383. package/node_modules/uuid/dist/esm-node/v6.js +32 -0
  384. package/node_modules/uuid/dist/esm-node/v6ToV1.js +20 -0
  385. package/node_modules/uuid/dist/esm-node/v7.js +146 -0
  386. package/node_modules/uuid/dist/esm-node/validate.js +0 -2
  387. package/node_modules/uuid/dist/esm-node/version.js +0 -3
  388. package/node_modules/uuid/dist/index.js +40 -15
  389. package/node_modules/uuid/dist/max.js +7 -0
  390. package/node_modules/uuid/dist/md5-browser.js +8 -31
  391. package/node_modules/uuid/dist/md5.js +4 -10
  392. package/node_modules/uuid/dist/native-browser.js +2 -3
  393. package/node_modules/uuid/dist/native.js +5 -9
  394. package/node_modules/uuid/dist/nil.js +1 -2
  395. package/node_modules/uuid/dist/parse.js +13 -14
  396. package/node_modules/uuid/dist/regex.js +1 -2
  397. package/node_modules/uuid/dist/rng-browser.js +1 -3
  398. package/node_modules/uuid/dist/rng.js +3 -10
  399. package/node_modules/uuid/dist/sha1-browser.js +1 -23
  400. package/node_modules/uuid/dist/sha1.js +4 -10
  401. package/node_modules/uuid/dist/stringify.js +8 -14
  402. package/node_modules/uuid/dist/uuid-bin.js +12 -22
  403. package/node_modules/uuid/dist/v1.js +66 -42
  404. package/node_modules/uuid/dist/v1ToV6.js +26 -0
  405. package/node_modules/uuid/dist/v3.js +2 -7
  406. package/node_modules/uuid/dist/v35.js +11 -28
  407. package/node_modules/uuid/dist/v4.js +6 -17
  408. package/node_modules/uuid/dist/v5.js +2 -7
  409. package/node_modules/uuid/dist/v6.js +38 -0
  410. package/node_modules/uuid/dist/v6ToV1.js +26 -0
  411. package/node_modules/uuid/dist/v7.js +152 -0
  412. package/node_modules/uuid/dist/validate.js +2 -7
  413. package/node_modules/uuid/dist/version.js +2 -8
  414. package/node_modules/uuid/package.json +41 -34
  415. package/node_modules/uuid/wrapper.mjs +5 -0
  416. package/package.json +6 -6
  417. package/tak-ingest.js +5 -1
  418. package/tak-registration.js +8 -1
  419. package/node_modules/@types/node/ts4.8/assert/strict.d.ts +0 -8
  420. package/node_modules/@types/node/ts4.8/assert.d.ts +0 -996
  421. package/node_modules/@types/node/ts4.8/async_hooks.d.ts +0 -539
  422. package/node_modules/@types/node/ts4.8/buffer.d.ts +0 -2362
  423. package/node_modules/@types/node/ts4.8/child_process.d.ts +0 -1540
  424. package/node_modules/@types/node/ts4.8/cluster.d.ts +0 -432
  425. package/node_modules/@types/node/ts4.8/console.d.ts +0 -415
  426. package/node_modules/@types/node/ts4.8/constants.d.ts +0 -19
  427. package/node_modules/@types/node/ts4.8/crypto.d.ts +0 -4455
  428. package/node_modules/@types/node/ts4.8/dgram.d.ts +0 -586
  429. package/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +0 -191
  430. package/node_modules/@types/node/ts4.8/dns/promises.d.ts +0 -425
  431. package/node_modules/@types/node/ts4.8/dns.d.ts +0 -809
  432. package/node_modules/@types/node/ts4.8/dom-events.d.ts +0 -122
  433. package/node_modules/@types/node/ts4.8/domain.d.ts +0 -170
  434. package/node_modules/@types/node/ts4.8/events.d.ts +0 -879
  435. package/node_modules/@types/node/ts4.8/fs/promises.d.ts +0 -1239
  436. package/node_modules/@types/node/ts4.8/fs.d.ts +0 -4291
  437. package/node_modules/@types/node/ts4.8/globals.d.ts +0 -385
  438. package/node_modules/@types/node/ts4.8/globals.global.d.ts +0 -1
  439. package/node_modules/@types/node/ts4.8/http.d.ts +0 -1888
  440. package/node_modules/@types/node/ts4.8/http2.d.ts +0 -2382
  441. package/node_modules/@types/node/ts4.8/https.d.ts +0 -550
  442. package/node_modules/@types/node/ts4.8/index.d.ts +0 -88
  443. package/node_modules/@types/node/ts4.8/inspector.d.ts +0 -2747
  444. package/node_modules/@types/node/ts4.8/module.d.ts +0 -301
  445. package/node_modules/@types/node/ts4.8/net.d.ts +0 -949
  446. package/node_modules/@types/node/ts4.8/os.d.ts +0 -478
  447. package/node_modules/@types/node/ts4.8/path.d.ts +0 -191
  448. package/node_modules/@types/node/ts4.8/perf_hooks.d.ts +0 -639
  449. package/node_modules/@types/node/ts4.8/process.d.ts +0 -1539
  450. package/node_modules/@types/node/ts4.8/punycode.d.ts +0 -117
  451. package/node_modules/@types/node/ts4.8/querystring.d.ts +0 -141
  452. package/node_modules/@types/node/ts4.8/readline/promises.d.ts +0 -150
  453. package/node_modules/@types/node/ts4.8/readline.d.ts +0 -539
  454. package/node_modules/@types/node/ts4.8/repl.d.ts +0 -430
  455. package/node_modules/@types/node/ts4.8/stream/consumers.d.ts +0 -12
  456. package/node_modules/@types/node/ts4.8/stream/promises.d.ts +0 -83
  457. package/node_modules/@types/node/ts4.8/stream/web.d.ts +0 -350
  458. package/node_modules/@types/node/ts4.8/stream.d.ts +0 -1701
  459. package/node_modules/@types/node/ts4.8/string_decoder.d.ts +0 -67
  460. package/node_modules/@types/node/ts4.8/test.d.ts +0 -1382
  461. package/node_modules/@types/node/ts4.8/timers/promises.d.ts +0 -93
  462. package/node_modules/@types/node/ts4.8/timers.d.ts +0 -240
  463. package/node_modules/@types/node/ts4.8/tls.d.ts +0 -1210
  464. package/node_modules/@types/node/ts4.8/trace_events.d.ts +0 -182
  465. package/node_modules/@types/node/ts4.8/tty.d.ts +0 -208
  466. package/node_modules/@types/node/ts4.8/url.d.ts +0 -927
  467. package/node_modules/@types/node/ts4.8/util.d.ts +0 -2183
  468. package/node_modules/@types/node/ts4.8/v8.d.ts +0 -635
  469. package/node_modules/@types/node/ts4.8/vm.d.ts +0 -903
  470. package/node_modules/@types/node/ts4.8/wasi.d.ts +0 -158
  471. package/node_modules/@types/node/ts4.8/worker_threads.d.ts +0 -691
  472. package/node_modules/@types/node/ts4.8/zlib.d.ts +0 -517
  473. package/node_modules/define-data-property/index.d.ts.map +0 -1
  474. package/node_modules/hasown/index.d.ts.map +0 -1
  475. package/node_modules/object-is/.eslintignore +0 -1
  476. package/node_modules/polygon-clipping/CHANGELOG.md +0 -129
@@ -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
+ };