node-red-contrib-tak-registration 0.11.6 → 0.12.1

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 (388) 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 +29 -110
  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 +106 -142
  9. package/node_modules/@types/node/dgram.d.ts +14 -14
  10. package/node_modules/@types/node/diagnostics_channel.d.ts +12 -3
  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 +34 -12
  17. package/node_modules/@types/node/fs.d.ts +104 -40
  18. package/node_modules/@types/node/globals.d.ts +1 -0
  19. package/node_modules/@types/node/http.d.ts +69 -48
  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 +0 -14
  25. package/node_modules/@types/node/net.d.ts +58 -13
  26. package/node_modules/@types/node/os.d.ts +29 -12
  27. package/node_modules/@types/node/package.json +4 -16
  28. package/node_modules/@types/node/path.d.ts +1 -1
  29. package/node_modules/@types/node/perf_hooks.d.ts +308 -48
  30. package/node_modules/@types/node/process.d.ts +241 -48
  31. package/node_modules/@types/node/punycode.d.ts +4 -4
  32. package/node_modules/@types/node/querystring.d.ts +18 -6
  33. package/node_modules/@types/node/readline/promises.d.ts +9 -9
  34. package/node_modules/@types/node/readline.d.ts +23 -22
  35. package/node_modules/@types/node/repl.d.ts +21 -21
  36. package/node_modules/@types/node/sea.d.ts +153 -0
  37. package/node_modules/@types/node/stream/web.d.ts +3 -2
  38. package/node_modules/@types/node/stream.d.ts +63 -57
  39. package/node_modules/@types/node/string_decoder.d.ts +3 -3
  40. package/node_modules/@types/node/test.d.ts +363 -98
  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 +39 -32
  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 +15 -7
  47. package/node_modules/@types/node/util.d.ts +131 -22
  48. package/node_modules/@types/node/v8.d.ts +51 -7
  49. package/node_modules/@types/node/vm.d.ts +43 -24
  50. package/node_modules/@types/node/wasi.d.ts +12 -10
  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 +868 -759
  64. package/node_modules/axios/README.md +65 -17
  65. package/node_modules/axios/dist/axios.js +1330 -583
  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 +696 -316
  70. package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
  71. package/node_modules/axios/dist/esm/axios.js +696 -316
  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 +607 -257
  76. package/node_modules/axios/dist/node/axios.cjs.map +1 -1
  77. package/node_modules/axios/index.d.cts +5 -2
  78. package/node_modules/axios/index.d.ts +5 -2
  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 +1 -1
  82. package/node_modules/axios/lib/adapters/xhr.js +31 -101
  83. package/node_modules/axios/lib/core/Axios.js +17 -11
  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/composeSignals.js +46 -0
  90. package/node_modules/axios/lib/helpers/progressEventReducer.js +32 -0
  91. package/node_modules/axios/lib/helpers/resolveConfig.js +57 -0
  92. package/node_modules/axios/lib/helpers/throttle.js +5 -3
  93. package/node_modules/axios/lib/helpers/trackStream.js +55 -0
  94. package/node_modules/axios/lib/platform/common/utils.js +4 -1
  95. package/node_modules/axios/lib/utils.js +7 -2
  96. package/node_modules/axios/package.json +27 -26
  97. package/node_modules/fast-xml-parser/CHANGELOG.md +14 -0
  98. package/node_modules/fast-xml-parser/README.md +7 -14
  99. package/node_modules/fast-xml-parser/package.json +1 -1
  100. package/node_modules/fast-xml-parser/src/fxp.d.ts +4 -4
  101. package/node_modules/fast-xml-parser/src/v5/CharsSymbol.js +16 -0
  102. package/node_modules/fast-xml-parser/src/v5/EntitiesParser.js +107 -0
  103. package/node_modules/fast-xml-parser/src/v5/OptionsBuilder.js +64 -0
  104. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/BaseOutputBuilder.js +71 -0
  105. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/JsArrBuilder.js +103 -0
  106. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/JsMinArrBuilder.js +102 -0
  107. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/JsObjBuilder.js +156 -0
  108. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/ParserOptionsBuilder.js +96 -0
  109. package/node_modules/fast-xml-parser/src/v5/Report.js +0 -0
  110. package/node_modules/fast-xml-parser/src/v5/TagPath.js +81 -0
  111. package/node_modules/fast-xml-parser/src/v5/TagPathMatcher.js +15 -0
  112. package/node_modules/fast-xml-parser/src/v5/XMLParser.js +85 -0
  113. package/node_modules/fast-xml-parser/src/v5/Xml2JsParser.js +237 -0
  114. package/node_modules/fast-xml-parser/src/v5/XmlPartReader.js +212 -0
  115. package/node_modules/fast-xml-parser/src/v5/XmlSpecialTagsReader.js +118 -0
  116. package/node_modules/fast-xml-parser/src/v5/inputSource/BufferSource.js +118 -0
  117. package/node_modules/fast-xml-parser/src/v5/inputSource/StringSource.js +123 -0
  118. package/node_modules/fast-xml-parser/src/v5/valueParsers/EntitiesParser.js +107 -0
  119. package/node_modules/fast-xml-parser/src/v5/valueParsers/booleanParser.js +23 -0
  120. package/node_modules/fast-xml-parser/src/v5/valueParsers/booleanParserExt.js +20 -0
  121. package/node_modules/fast-xml-parser/src/v5/valueParsers/currency.js +31 -0
  122. package/node_modules/fast-xml-parser/src/v5/valueParsers/join.js +14 -0
  123. package/node_modules/fast-xml-parser/src/v5/valueParsers/number.js +16 -0
  124. package/node_modules/fast-xml-parser/src/v5/valueParsers/trim.js +8 -0
  125. package/node_modules/fast-xml-parser/src/validator.js +2 -0
  126. package/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +13 -4
  127. package/node_modules/follow-redirects/index.js +1 -1
  128. package/node_modules/follow-redirects/package.json +1 -1
  129. package/node_modules/hasown/CHANGELOG.md +12 -0
  130. package/node_modules/hasown/index.d.ts +2 -2
  131. package/node_modules/hasown/package.json +5 -2
  132. package/node_modules/hasown/tsconfig.json +3 -46
  133. package/node_modules/object-is/.eslintrc +1 -1
  134. package/node_modules/object-is/.nycrc +0 -4
  135. package/node_modules/object-is/CHANGELOG.md +25 -0
  136. package/node_modules/object-is/README.md +20 -20
  137. package/node_modules/object-is/package.json +23 -14
  138. package/node_modules/protobufjs/LICENSE +39 -39
  139. package/node_modules/protobufjs/README.md +727 -740
  140. package/node_modules/protobufjs/dist/light/protobuf.js +6264 -6264
  141. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  142. package/node_modules/protobufjs/dist/light/protobuf.min.js +2 -2
  143. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  144. package/node_modules/protobufjs/dist/minimal/protobuf.js +1928 -1928
  145. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  146. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +2 -2
  147. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  148. package/node_modules/protobufjs/dist/protobuf.js +7978 -7961
  149. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  150. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  151. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  152. package/node_modules/protobufjs/ext/debug/README.md +4 -4
  153. package/node_modules/protobufjs/ext/debug/index.js +71 -71
  154. package/node_modules/protobufjs/ext/descriptor/README.md +72 -72
  155. package/node_modules/protobufjs/ext/descriptor/index.d.ts +191 -191
  156. package/node_modules/protobufjs/ext/descriptor/index.js +1052 -1052
  157. package/node_modules/protobufjs/ext/descriptor/test.js +54 -54
  158. package/node_modules/protobufjs/google/LICENSE +27 -27
  159. package/node_modules/protobufjs/google/README.md +1 -1
  160. package/node_modules/protobufjs/google/api/annotations.json +82 -82
  161. package/node_modules/protobufjs/google/api/annotations.proto +10 -10
  162. package/node_modules/protobufjs/google/api/http.json +85 -85
  163. package/node_modules/protobufjs/google/api/http.proto +30 -30
  164. package/node_modules/protobufjs/google/protobuf/api.json +117 -117
  165. package/node_modules/protobufjs/google/protobuf/api.proto +33 -33
  166. package/node_modules/protobufjs/google/protobuf/descriptor.json +738 -738
  167. package/node_modules/protobufjs/google/protobuf/descriptor.proto +286 -286
  168. package/node_modules/protobufjs/google/protobuf/source_context.json +19 -19
  169. package/node_modules/protobufjs/google/protobuf/source_context.proto +7 -7
  170. package/node_modules/protobufjs/google/protobuf/type.json +201 -201
  171. package/node_modules/protobufjs/google/protobuf/type.proto +89 -89
  172. package/node_modules/protobufjs/index.d.ts +2741 -2741
  173. package/node_modules/protobufjs/index.js +4 -4
  174. package/node_modules/protobufjs/light.d.ts +2 -2
  175. package/node_modules/protobufjs/light.js +3 -3
  176. package/node_modules/protobufjs/minimal.d.ts +2 -2
  177. package/node_modules/protobufjs/minimal.js +4 -4
  178. package/node_modules/protobufjs/package.json +111 -111
  179. package/node_modules/protobufjs/scripts/postinstall.js +32 -32
  180. package/node_modules/protobufjs/src/common.js +399 -399
  181. package/node_modules/protobufjs/src/converter.js +301 -301
  182. package/node_modules/protobufjs/src/decoder.js +129 -129
  183. package/node_modules/protobufjs/src/encoder.js +100 -100
  184. package/node_modules/protobufjs/src/enum.js +198 -198
  185. package/node_modules/protobufjs/src/field.js +377 -377
  186. package/node_modules/protobufjs/src/index-light.js +104 -104
  187. package/node_modules/protobufjs/src/index-minimal.js +36 -36
  188. package/node_modules/protobufjs/src/index.js +12 -12
  189. package/node_modules/protobufjs/src/mapfield.js +126 -126
  190. package/node_modules/protobufjs/src/message.js +138 -138
  191. package/node_modules/protobufjs/src/method.js +160 -160
  192. package/node_modules/protobufjs/src/namespace.js +433 -433
  193. package/node_modules/protobufjs/src/object.js +243 -243
  194. package/node_modules/protobufjs/src/oneof.js +203 -203
  195. package/node_modules/protobufjs/src/parse.js +889 -872
  196. package/node_modules/protobufjs/src/reader.js +416 -416
  197. package/node_modules/protobufjs/src/reader_buffer.js +51 -51
  198. package/node_modules/protobufjs/src/root.js +368 -368
  199. package/node_modules/protobufjs/src/roots.js +18 -18
  200. package/node_modules/protobufjs/src/rpc/service.js +142 -142
  201. package/node_modules/protobufjs/src/rpc.js +36 -36
  202. package/node_modules/protobufjs/src/service.js +167 -167
  203. package/node_modules/protobufjs/src/tokenize.js +416 -416
  204. package/node_modules/protobufjs/src/type.js +589 -589
  205. package/node_modules/protobufjs/src/types.js +196 -196
  206. package/node_modules/protobufjs/src/typescript.jsdoc +15 -15
  207. package/node_modules/protobufjs/src/util/longbits.js +200 -200
  208. package/node_modules/protobufjs/src/util/minimal.js +438 -438
  209. package/node_modules/protobufjs/src/util.js +212 -212
  210. package/node_modules/protobufjs/src/verifier.js +176 -176
  211. package/node_modules/protobufjs/src/wrappers.js +102 -102
  212. package/node_modules/protobufjs/src/writer.js +465 -465
  213. package/node_modules/protobufjs/src/writer_buffer.js +85 -85
  214. package/node_modules/protobufjs/tsconfig.json +7 -7
  215. package/node_modules/set-function-length/CHANGELOG.md +11 -0
  216. package/node_modules/set-function-length/env.d.ts +9 -6
  217. package/node_modules/set-function-length/env.js +1 -0
  218. package/node_modules/set-function-length/index.d.ts +6 -6
  219. package/node_modules/set-function-length/index.js +1 -3
  220. package/node_modules/set-function-length/package.json +11 -13
  221. package/node_modules/set-function-length/tsconfig.json +7 -57
  222. package/node_modules/undici-types/LICENSE +21 -0
  223. package/node_modules/undici-types/balanced-pool.d.ts +11 -0
  224. package/node_modules/undici-types/client.d.ts +12 -1
  225. package/node_modules/undici-types/diagnostics-channel.d.ts +1 -2
  226. package/node_modules/undici-types/dispatcher.d.ts +17 -3
  227. package/node_modules/undici-types/eventsource.d.ts +61 -0
  228. package/node_modules/undici-types/fetch.d.ts +22 -23
  229. package/node_modules/undici-types/handlers.d.ts +10 -4
  230. package/node_modules/undici-types/index.d.ts +6 -1
  231. package/node_modules/undici-types/package.json +1 -1
  232. package/node_modules/undici-types/pool.d.ts +11 -0
  233. package/node_modules/undici-types/proxy-agent.d.ts +0 -2
  234. package/node_modules/undici-types/readable.d.ts +2 -3
  235. package/node_modules/undici-types/retry-agent.d.ts +11 -0
  236. package/node_modules/undici-types/retry-handler.d.ts +116 -0
  237. package/node_modules/undici-types/util.d.ts +31 -0
  238. package/node_modules/undici-types/webidl.d.ts +6 -1
  239. package/node_modules/undici-types/websocket.d.ts +22 -1
  240. package/node_modules/uuid/CHANGELOG.md +18 -0
  241. package/node_modules/uuid/README.md +134 -16
  242. package/node_modules/uuid/dist/commonjs-browser/index.js +40 -15
  243. package/node_modules/uuid/dist/commonjs-browser/max.js +7 -0
  244. package/node_modules/uuid/dist/commonjs-browser/md5.js +30 -53
  245. package/node_modules/uuid/dist/commonjs-browser/native.js +3 -4
  246. package/node_modules/uuid/dist/commonjs-browser/nil.js +1 -2
  247. package/node_modules/uuid/dist/commonjs-browser/parse.js +14 -15
  248. package/node_modules/uuid/dist/commonjs-browser/regex.js +1 -2
  249. package/node_modules/uuid/dist/commonjs-browser/rng.js +2 -4
  250. package/node_modules/uuid/dist/commonjs-browser/sha1.js +27 -49
  251. package/node_modules/uuid/dist/commonjs-browser/stringify.js +10 -16
  252. package/node_modules/uuid/dist/commonjs-browser/v1.js +73 -49
  253. package/node_modules/uuid/dist/commonjs-browser/v1ToV6.js +26 -0
  254. package/node_modules/uuid/dist/commonjs-browser/v3.js +3 -8
  255. package/node_modules/uuid/dist/commonjs-browser/v35.js +15 -32
  256. package/node_modules/uuid/dist/commonjs-browser/v4.js +7 -18
  257. package/node_modules/uuid/dist/commonjs-browser/v5.js +3 -8
  258. package/node_modules/uuid/dist/commonjs-browser/v6.js +42 -0
  259. package/node_modules/uuid/dist/commonjs-browser/v6ToV1.js +26 -0
  260. package/node_modules/uuid/dist/commonjs-browser/v7.js +152 -0
  261. package/node_modules/uuid/dist/commonjs-browser/validate.js +2 -7
  262. package/node_modules/uuid/dist/commonjs-browser/version.js +2 -8
  263. package/node_modules/uuid/dist/esm-browser/index.js +9 -4
  264. package/node_modules/uuid/dist/esm-browser/max.js +1 -0
  265. package/node_modules/uuid/dist/esm-browser/md5.js +29 -50
  266. package/node_modules/uuid/dist/esm-browser/native.js +1 -1
  267. package/node_modules/uuid/dist/esm-browser/parse.js +12 -10
  268. package/node_modules/uuid/dist/esm-browser/regex.js +1 -1
  269. package/node_modules/uuid/dist/esm-browser/rng.js +3 -4
  270. package/node_modules/uuid/dist/esm-browser/sha1.js +26 -46
  271. package/node_modules/uuid/dist/esm-browser/stringify.js +9 -11
  272. package/node_modules/uuid/dist/esm-browser/v1.js +74 -44
  273. package/node_modules/uuid/dist/esm-browser/v1ToV6.js +20 -0
  274. package/node_modules/uuid/dist/esm-browser/v3.js +1 -1
  275. package/node_modules/uuid/dist/esm-browser/v35.js +14 -25
  276. package/node_modules/uuid/dist/esm-browser/v4.js +5 -9
  277. package/node_modules/uuid/dist/esm-browser/v5.js +1 -1
  278. package/node_modules/uuid/dist/esm-browser/v6.js +36 -0
  279. package/node_modules/uuid/dist/esm-browser/v6ToV1.js +20 -0
  280. package/node_modules/uuid/dist/esm-browser/v7.js +146 -0
  281. package/node_modules/uuid/dist/esm-browser/validate.js +0 -2
  282. package/node_modules/uuid/dist/esm-browser/version.js +0 -3
  283. package/node_modules/uuid/dist/esm-node/index.js +9 -4
  284. package/node_modules/uuid/dist/esm-node/max.js +1 -0
  285. package/node_modules/uuid/dist/esm-node/md5.js +1 -4
  286. package/node_modules/uuid/dist/esm-node/native.js +1 -1
  287. package/node_modules/uuid/dist/esm-node/parse.js +11 -9
  288. package/node_modules/uuid/dist/esm-node/regex.js +1 -1
  289. package/node_modules/uuid/dist/esm-node/rng.js +1 -3
  290. package/node_modules/uuid/dist/esm-node/sha1.js +1 -4
  291. package/node_modules/uuid/dist/esm-node/stringify.js +7 -9
  292. package/node_modules/uuid/dist/esm-node/v1.js +66 -36
  293. package/node_modules/uuid/dist/esm-node/v1ToV6.js +20 -0
  294. package/node_modules/uuid/dist/esm-node/v35.js +8 -19
  295. package/node_modules/uuid/dist/esm-node/v4.js +4 -8
  296. package/node_modules/uuid/dist/esm-node/v6.js +32 -0
  297. package/node_modules/uuid/dist/esm-node/v6ToV1.js +20 -0
  298. package/node_modules/uuid/dist/esm-node/v7.js +146 -0
  299. package/node_modules/uuid/dist/esm-node/validate.js +0 -2
  300. package/node_modules/uuid/dist/esm-node/version.js +0 -3
  301. package/node_modules/uuid/dist/index.js +40 -15
  302. package/node_modules/uuid/dist/max.js +7 -0
  303. package/node_modules/uuid/dist/md5-browser.js +8 -31
  304. package/node_modules/uuid/dist/md5.js +4 -10
  305. package/node_modules/uuid/dist/native-browser.js +2 -3
  306. package/node_modules/uuid/dist/native.js +5 -9
  307. package/node_modules/uuid/dist/nil.js +1 -2
  308. package/node_modules/uuid/dist/parse.js +13 -14
  309. package/node_modules/uuid/dist/regex.js +1 -2
  310. package/node_modules/uuid/dist/rng-browser.js +1 -3
  311. package/node_modules/uuid/dist/rng.js +3 -10
  312. package/node_modules/uuid/dist/sha1-browser.js +1 -23
  313. package/node_modules/uuid/dist/sha1.js +4 -10
  314. package/node_modules/uuid/dist/stringify.js +8 -14
  315. package/node_modules/uuid/dist/uuid-bin.js +12 -22
  316. package/node_modules/uuid/dist/v1.js +66 -42
  317. package/node_modules/uuid/dist/v1ToV6.js +26 -0
  318. package/node_modules/uuid/dist/v3.js +2 -7
  319. package/node_modules/uuid/dist/v35.js +11 -28
  320. package/node_modules/uuid/dist/v4.js +6 -17
  321. package/node_modules/uuid/dist/v5.js +2 -7
  322. package/node_modules/uuid/dist/v6.js +38 -0
  323. package/node_modules/uuid/dist/v6ToV1.js +26 -0
  324. package/node_modules/uuid/dist/v7.js +152 -0
  325. package/node_modules/uuid/dist/validate.js +2 -7
  326. package/node_modules/uuid/dist/version.js +2 -8
  327. package/node_modules/uuid/package.json +41 -34
  328. package/node_modules/uuid/wrapper.mjs +5 -0
  329. package/package.json +6 -6
  330. package/tak-ingest.js +1 -1
  331. package/tak-registration.js +8 -1
  332. package/node_modules/@types/node/ts4.8/assert/strict.d.ts +0 -8
  333. package/node_modules/@types/node/ts4.8/assert.d.ts +0 -996
  334. package/node_modules/@types/node/ts4.8/async_hooks.d.ts +0 -539
  335. package/node_modules/@types/node/ts4.8/buffer.d.ts +0 -2363
  336. package/node_modules/@types/node/ts4.8/child_process.d.ts +0 -1540
  337. package/node_modules/@types/node/ts4.8/cluster.d.ts +0 -432
  338. package/node_modules/@types/node/ts4.8/console.d.ts +0 -415
  339. package/node_modules/@types/node/ts4.8/constants.d.ts +0 -19
  340. package/node_modules/@types/node/ts4.8/crypto.d.ts +0 -4487
  341. package/node_modules/@types/node/ts4.8/dgram.d.ts +0 -596
  342. package/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +0 -545
  343. package/node_modules/@types/node/ts4.8/dns/promises.d.ts +0 -425
  344. package/node_modules/@types/node/ts4.8/dns.d.ts +0 -809
  345. package/node_modules/@types/node/ts4.8/dom-events.d.ts +0 -122
  346. package/node_modules/@types/node/ts4.8/domain.d.ts +0 -170
  347. package/node_modules/@types/node/ts4.8/events.d.ts +0 -879
  348. package/node_modules/@types/node/ts4.8/fs/promises.d.ts +0 -1239
  349. package/node_modules/@types/node/ts4.8/fs.d.ts +0 -4311
  350. package/node_modules/@types/node/ts4.8/globals.d.ts +0 -411
  351. package/node_modules/@types/node/ts4.8/globals.global.d.ts +0 -1
  352. package/node_modules/@types/node/ts4.8/http.d.ts +0 -1887
  353. package/node_modules/@types/node/ts4.8/http2.d.ts +0 -2382
  354. package/node_modules/@types/node/ts4.8/https.d.ts +0 -550
  355. package/node_modules/@types/node/ts4.8/index.d.ts +0 -88
  356. package/node_modules/@types/node/ts4.8/inspector.d.ts +0 -2747
  357. package/node_modules/@types/node/ts4.8/module.d.ts +0 -315
  358. package/node_modules/@types/node/ts4.8/net.d.ts +0 -954
  359. package/node_modules/@types/node/ts4.8/os.d.ts +0 -478
  360. package/node_modules/@types/node/ts4.8/path.d.ts +0 -191
  361. package/node_modules/@types/node/ts4.8/perf_hooks.d.ts +0 -645
  362. package/node_modules/@types/node/ts4.8/process.d.ts +0 -1561
  363. package/node_modules/@types/node/ts4.8/punycode.d.ts +0 -117
  364. package/node_modules/@types/node/ts4.8/querystring.d.ts +0 -141
  365. package/node_modules/@types/node/ts4.8/readline/promises.d.ts +0 -150
  366. package/node_modules/@types/node/ts4.8/readline.d.ts +0 -539
  367. package/node_modules/@types/node/ts4.8/repl.d.ts +0 -430
  368. package/node_modules/@types/node/ts4.8/stream/consumers.d.ts +0 -12
  369. package/node_modules/@types/node/ts4.8/stream/promises.d.ts +0 -83
  370. package/node_modules/@types/node/ts4.8/stream/web.d.ts +0 -366
  371. package/node_modules/@types/node/ts4.8/stream.d.ts +0 -1701
  372. package/node_modules/@types/node/ts4.8/string_decoder.d.ts +0 -67
  373. package/node_modules/@types/node/ts4.8/test.d.ts +0 -1465
  374. package/node_modules/@types/node/ts4.8/timers/promises.d.ts +0 -93
  375. package/node_modules/@types/node/ts4.8/timers.d.ts +0 -240
  376. package/node_modules/@types/node/ts4.8/tls.d.ts +0 -1210
  377. package/node_modules/@types/node/ts4.8/trace_events.d.ts +0 -182
  378. package/node_modules/@types/node/ts4.8/tty.d.ts +0 -208
  379. package/node_modules/@types/node/ts4.8/url.d.ts +0 -944
  380. package/node_modules/@types/node/ts4.8/util.d.ts +0 -2183
  381. package/node_modules/@types/node/ts4.8/v8.d.ts +0 -764
  382. package/node_modules/@types/node/ts4.8/vm.d.ts +0 -903
  383. package/node_modules/@types/node/ts4.8/wasi.d.ts +0 -179
  384. package/node_modules/@types/node/ts4.8/worker_threads.d.ts +0 -691
  385. package/node_modules/@types/node/ts4.8/zlib.d.ts +0 -517
  386. package/node_modules/object-is/.eslintignore +0 -1
  387. package/node_modules/set-function-length/env.d.ts.map +0 -1
  388. package/node_modules/set-function-length/index.d.ts.map +0 -1
@@ -1,433 +1,433 @@
1
- "use strict";
2
- module.exports = Namespace;
3
-
4
- // extends ReflectionObject
5
- var ReflectionObject = require("./object");
6
- ((Namespace.prototype = Object.create(ReflectionObject.prototype)).constructor = Namespace).className = "Namespace";
7
-
8
- var Field = require("./field"),
9
- util = require("./util"),
10
- OneOf = require("./oneof");
11
-
12
- var Type, // cyclic
13
- Service,
14
- Enum;
15
-
16
- /**
17
- * Constructs a new namespace instance.
18
- * @name Namespace
19
- * @classdesc Reflected namespace.
20
- * @extends NamespaceBase
21
- * @constructor
22
- * @param {string} name Namespace name
23
- * @param {Object.<string,*>} [options] Declared options
24
- */
25
-
26
- /**
27
- * Constructs a namespace from JSON.
28
- * @memberof Namespace
29
- * @function
30
- * @param {string} name Namespace name
31
- * @param {Object.<string,*>} json JSON object
32
- * @returns {Namespace} Created namespace
33
- * @throws {TypeError} If arguments are invalid
34
- */
35
- Namespace.fromJSON = function fromJSON(name, json) {
36
- return new Namespace(name, json.options).addJSON(json.nested);
37
- };
38
-
39
- /**
40
- * Converts an array of reflection objects to JSON.
41
- * @memberof Namespace
42
- * @param {ReflectionObject[]} array Object array
43
- * @param {IToJSONOptions} [toJSONOptions] JSON conversion options
44
- * @returns {Object.<string,*>|undefined} JSON object or `undefined` when array is empty
45
- */
46
- function arrayToJSON(array, toJSONOptions) {
47
- if (!(array && array.length))
48
- return undefined;
49
- var obj = {};
50
- for (var i = 0; i < array.length; ++i)
51
- obj[array[i].name] = array[i].toJSON(toJSONOptions);
52
- return obj;
53
- }
54
-
55
- Namespace.arrayToJSON = arrayToJSON;
56
-
57
- /**
58
- * Tests if the specified id is reserved.
59
- * @param {Array.<number[]|string>|undefined} reserved Array of reserved ranges and names
60
- * @param {number} id Id to test
61
- * @returns {boolean} `true` if reserved, otherwise `false`
62
- */
63
- Namespace.isReservedId = function isReservedId(reserved, id) {
64
- if (reserved)
65
- for (var i = 0; i < reserved.length; ++i)
66
- if (typeof reserved[i] !== "string" && reserved[i][0] <= id && reserved[i][1] > id)
67
- return true;
68
- return false;
69
- };
70
-
71
- /**
72
- * Tests if the specified name is reserved.
73
- * @param {Array.<number[]|string>|undefined} reserved Array of reserved ranges and names
74
- * @param {string} name Name to test
75
- * @returns {boolean} `true` if reserved, otherwise `false`
76
- */
77
- Namespace.isReservedName = function isReservedName(reserved, name) {
78
- if (reserved)
79
- for (var i = 0; i < reserved.length; ++i)
80
- if (reserved[i] === name)
81
- return true;
82
- return false;
83
- };
84
-
85
- /**
86
- * Not an actual constructor. Use {@link Namespace} instead.
87
- * @classdesc Base class of all reflection objects containing nested objects. This is not an actual class but here for the sake of having consistent type definitions.
88
- * @exports NamespaceBase
89
- * @extends ReflectionObject
90
- * @abstract
91
- * @constructor
92
- * @param {string} name Namespace name
93
- * @param {Object.<string,*>} [options] Declared options
94
- * @see {@link Namespace}
95
- */
96
- function Namespace(name, options) {
97
- ReflectionObject.call(this, name, options);
98
-
99
- /**
100
- * Nested objects by name.
101
- * @type {Object.<string,ReflectionObject>|undefined}
102
- */
103
- this.nested = undefined; // toJSON
104
-
105
- /**
106
- * Cached nested objects as an array.
107
- * @type {ReflectionObject[]|null}
108
- * @private
109
- */
110
- this._nestedArray = null;
111
- }
112
-
113
- function clearCache(namespace) {
114
- namespace._nestedArray = null;
115
- return namespace;
116
- }
117
-
118
- /**
119
- * Nested objects of this namespace as an array for iteration.
120
- * @name NamespaceBase#nestedArray
121
- * @type {ReflectionObject[]}
122
- * @readonly
123
- */
124
- Object.defineProperty(Namespace.prototype, "nestedArray", {
125
- get: function() {
126
- return this._nestedArray || (this._nestedArray = util.toArray(this.nested));
127
- }
128
- });
129
-
130
- /**
131
- * Namespace descriptor.
132
- * @interface INamespace
133
- * @property {Object.<string,*>} [options] Namespace options
134
- * @property {Object.<string,AnyNestedObject>} [nested] Nested object descriptors
135
- */
136
-
137
- /**
138
- * Any extension field descriptor.
139
- * @typedef AnyExtensionField
140
- * @type {IExtensionField|IExtensionMapField}
141
- */
142
-
143
- /**
144
- * Any nested object descriptor.
145
- * @typedef AnyNestedObject
146
- * @type {IEnum|IType|IService|AnyExtensionField|INamespace|IOneOf}
147
- */
148
-
149
- /**
150
- * Converts this namespace to a namespace descriptor.
151
- * @param {IToJSONOptions} [toJSONOptions] JSON conversion options
152
- * @returns {INamespace} Namespace descriptor
153
- */
154
- Namespace.prototype.toJSON = function toJSON(toJSONOptions) {
155
- return util.toObject([
156
- "options" , this.options,
157
- "nested" , arrayToJSON(this.nestedArray, toJSONOptions)
158
- ]);
159
- };
160
-
161
- /**
162
- * Adds nested objects to this namespace from nested object descriptors.
163
- * @param {Object.<string,AnyNestedObject>} nestedJson Any nested object descriptors
164
- * @returns {Namespace} `this`
165
- */
166
- Namespace.prototype.addJSON = function addJSON(nestedJson) {
167
- var ns = this;
168
- /* istanbul ignore else */
169
- if (nestedJson) {
170
- for (var names = Object.keys(nestedJson), i = 0, nested; i < names.length; ++i) {
171
- nested = nestedJson[names[i]];
172
- ns.add( // most to least likely
173
- ( nested.fields !== undefined
174
- ? Type.fromJSON
175
- : nested.values !== undefined
176
- ? Enum.fromJSON
177
- : nested.methods !== undefined
178
- ? Service.fromJSON
179
- : nested.id !== undefined
180
- ? Field.fromJSON
181
- : Namespace.fromJSON )(names[i], nested)
182
- );
183
- }
184
- }
185
- return this;
186
- };
187
-
188
- /**
189
- * Gets the nested object of the specified name.
190
- * @param {string} name Nested object name
191
- * @returns {ReflectionObject|null} The reflection object or `null` if it doesn't exist
192
- */
193
- Namespace.prototype.get = function get(name) {
194
- return this.nested && this.nested[name]
195
- || null;
196
- };
197
-
198
- /**
199
- * Gets the values of the nested {@link Enum|enum} of the specified name.
200
- * This methods differs from {@link Namespace#get|get} in that it returns an enum's values directly and throws instead of returning `null`.
201
- * @param {string} name Nested enum name
202
- * @returns {Object.<string,number>} Enum values
203
- * @throws {Error} If there is no such enum
204
- */
205
- Namespace.prototype.getEnum = function getEnum(name) {
206
- if (this.nested && this.nested[name] instanceof Enum)
207
- return this.nested[name].values;
208
- throw Error("no such enum: " + name);
209
- };
210
-
211
- /**
212
- * Adds a nested object to this namespace.
213
- * @param {ReflectionObject} object Nested object to add
214
- * @returns {Namespace} `this`
215
- * @throws {TypeError} If arguments are invalid
216
- * @throws {Error} If there is already a nested object with this name
217
- */
218
- Namespace.prototype.add = function add(object) {
219
-
220
- if (!(object instanceof Field && object.extend !== undefined || object instanceof Type || object instanceof OneOf || object instanceof Enum || object instanceof Service || object instanceof Namespace))
221
- throw TypeError("object must be a valid nested object");
222
-
223
- if (!this.nested)
224
- this.nested = {};
225
- else {
226
- var prev = this.get(object.name);
227
- if (prev) {
228
- if (prev instanceof Namespace && object instanceof Namespace && !(prev instanceof Type || prev instanceof Service)) {
229
- // replace plain namespace but keep existing nested elements and options
230
- var nested = prev.nestedArray;
231
- for (var i = 0; i < nested.length; ++i)
232
- object.add(nested[i]);
233
- this.remove(prev);
234
- if (!this.nested)
235
- this.nested = {};
236
- object.setOptions(prev.options, true);
237
-
238
- } else
239
- throw Error("duplicate name '" + object.name + "' in " + this);
240
- }
241
- }
242
- this.nested[object.name] = object;
243
- object.onAdd(this);
244
- return clearCache(this);
245
- };
246
-
247
- /**
248
- * Removes a nested object from this namespace.
249
- * @param {ReflectionObject} object Nested object to remove
250
- * @returns {Namespace} `this`
251
- * @throws {TypeError} If arguments are invalid
252
- * @throws {Error} If `object` is not a member of this namespace
253
- */
254
- Namespace.prototype.remove = function remove(object) {
255
-
256
- if (!(object instanceof ReflectionObject))
257
- throw TypeError("object must be a ReflectionObject");
258
- if (object.parent !== this)
259
- throw Error(object + " is not a member of " + this);
260
-
261
- delete this.nested[object.name];
262
- if (!Object.keys(this.nested).length)
263
- this.nested = undefined;
264
-
265
- object.onRemove(this);
266
- return clearCache(this);
267
- };
268
-
269
- /**
270
- * Defines additial namespaces within this one if not yet existing.
271
- * @param {string|string[]} path Path to create
272
- * @param {*} [json] Nested types to create from JSON
273
- * @returns {Namespace} Pointer to the last namespace created or `this` if path is empty
274
- */
275
- Namespace.prototype.define = function define(path, json) {
276
-
277
- if (util.isString(path))
278
- path = path.split(".");
279
- else if (!Array.isArray(path))
280
- throw TypeError("illegal path");
281
- if (path && path.length && path[0] === "")
282
- throw Error("path must be relative");
283
-
284
- var ptr = this;
285
- while (path.length > 0) {
286
- var part = path.shift();
287
- if (ptr.nested && ptr.nested[part]) {
288
- ptr = ptr.nested[part];
289
- if (!(ptr instanceof Namespace))
290
- throw Error("path conflicts with non-namespace objects");
291
- } else
292
- ptr.add(ptr = new Namespace(part));
293
- }
294
- if (json)
295
- ptr.addJSON(json);
296
- return ptr;
297
- };
298
-
299
- /**
300
- * Resolves this namespace's and all its nested objects' type references. Useful to validate a reflection tree, but comes at a cost.
301
- * @returns {Namespace} `this`
302
- */
303
- Namespace.prototype.resolveAll = function resolveAll() {
304
- var nested = this.nestedArray, i = 0;
305
- while (i < nested.length)
306
- if (nested[i] instanceof Namespace)
307
- nested[i++].resolveAll();
308
- else
309
- nested[i++].resolve();
310
- return this.resolve();
311
- };
312
-
313
- /**
314
- * Recursively looks up the reflection object matching the specified path in the scope of this namespace.
315
- * @param {string|string[]} path Path to look up
316
- * @param {*|Array.<*>} filterTypes Filter types, any combination of the constructors of `protobuf.Type`, `protobuf.Enum`, `protobuf.Service` etc.
317
- * @param {boolean} [parentAlreadyChecked=false] If known, whether the parent has already been checked
318
- * @returns {ReflectionObject|null} Looked up object or `null` if none could be found
319
- */
320
- Namespace.prototype.lookup = function lookup(path, filterTypes, parentAlreadyChecked) {
321
-
322
- /* istanbul ignore next */
323
- if (typeof filterTypes === "boolean") {
324
- parentAlreadyChecked = filterTypes;
325
- filterTypes = undefined;
326
- } else if (filterTypes && !Array.isArray(filterTypes))
327
- filterTypes = [ filterTypes ];
328
-
329
- if (util.isString(path) && path.length) {
330
- if (path === ".")
331
- return this.root;
332
- path = path.split(".");
333
- } else if (!path.length)
334
- return this;
335
-
336
- // Start at root if path is absolute
337
- if (path[0] === "")
338
- return this.root.lookup(path.slice(1), filterTypes);
339
-
340
- // Test if the first part matches any nested object, and if so, traverse if path contains more
341
- var found = this.get(path[0]);
342
- if (found) {
343
- if (path.length === 1) {
344
- if (!filterTypes || filterTypes.indexOf(found.constructor) > -1)
345
- return found;
346
- } else if (found instanceof Namespace && (found = found.lookup(path.slice(1), filterTypes, true)))
347
- return found;
348
-
349
- // Otherwise try each nested namespace
350
- } else
351
- for (var i = 0; i < this.nestedArray.length; ++i)
352
- if (this._nestedArray[i] instanceof Namespace && (found = this._nestedArray[i].lookup(path, filterTypes, true)))
353
- return found;
354
-
355
- // If there hasn't been a match, try again at the parent
356
- if (this.parent === null || parentAlreadyChecked)
357
- return null;
358
- return this.parent.lookup(path, filterTypes);
359
- };
360
-
361
- /**
362
- * Looks up the reflection object at the specified path, relative to this namespace.
363
- * @name NamespaceBase#lookup
364
- * @function
365
- * @param {string|string[]} path Path to look up
366
- * @param {boolean} [parentAlreadyChecked=false] Whether the parent has already been checked
367
- * @returns {ReflectionObject|null} Looked up object or `null` if none could be found
368
- * @variation 2
369
- */
370
- // lookup(path: string, [parentAlreadyChecked: boolean])
371
-
372
- /**
373
- * Looks up the {@link Type|type} at the specified path, relative to this namespace.
374
- * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.
375
- * @param {string|string[]} path Path to look up
376
- * @returns {Type} Looked up type
377
- * @throws {Error} If `path` does not point to a type
378
- */
379
- Namespace.prototype.lookupType = function lookupType(path) {
380
- var found = this.lookup(path, [ Type ]);
381
- if (!found)
382
- throw Error("no such type: " + path);
383
- return found;
384
- };
385
-
386
- /**
387
- * Looks up the values of the {@link Enum|enum} at the specified path, relative to this namespace.
388
- * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.
389
- * @param {string|string[]} path Path to look up
390
- * @returns {Enum} Looked up enum
391
- * @throws {Error} If `path` does not point to an enum
392
- */
393
- Namespace.prototype.lookupEnum = function lookupEnum(path) {
394
- var found = this.lookup(path, [ Enum ]);
395
- if (!found)
396
- throw Error("no such Enum '" + path + "' in " + this);
397
- return found;
398
- };
399
-
400
- /**
401
- * Looks up the {@link Type|type} or {@link Enum|enum} at the specified path, relative to this namespace.
402
- * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.
403
- * @param {string|string[]} path Path to look up
404
- * @returns {Type} Looked up type or enum
405
- * @throws {Error} If `path` does not point to a type or enum
406
- */
407
- Namespace.prototype.lookupTypeOrEnum = function lookupTypeOrEnum(path) {
408
- var found = this.lookup(path, [ Type, Enum ]);
409
- if (!found)
410
- throw Error("no such Type or Enum '" + path + "' in " + this);
411
- return found;
412
- };
413
-
414
- /**
415
- * Looks up the {@link Service|service} at the specified path, relative to this namespace.
416
- * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.
417
- * @param {string|string[]} path Path to look up
418
- * @returns {Service} Looked up service
419
- * @throws {Error} If `path` does not point to a service
420
- */
421
- Namespace.prototype.lookupService = function lookupService(path) {
422
- var found = this.lookup(path, [ Service ]);
423
- if (!found)
424
- throw Error("no such Service '" + path + "' in " + this);
425
- return found;
426
- };
427
-
428
- // Sets up cyclic dependencies (called in index-light)
429
- Namespace._configure = function(Type_, Service_, Enum_) {
430
- Type = Type_;
431
- Service = Service_;
432
- Enum = Enum_;
433
- };
1
+ "use strict";
2
+ module.exports = Namespace;
3
+
4
+ // extends ReflectionObject
5
+ var ReflectionObject = require("./object");
6
+ ((Namespace.prototype = Object.create(ReflectionObject.prototype)).constructor = Namespace).className = "Namespace";
7
+
8
+ var Field = require("./field"),
9
+ util = require("./util"),
10
+ OneOf = require("./oneof");
11
+
12
+ var Type, // cyclic
13
+ Service,
14
+ Enum;
15
+
16
+ /**
17
+ * Constructs a new namespace instance.
18
+ * @name Namespace
19
+ * @classdesc Reflected namespace.
20
+ * @extends NamespaceBase
21
+ * @constructor
22
+ * @param {string} name Namespace name
23
+ * @param {Object.<string,*>} [options] Declared options
24
+ */
25
+
26
+ /**
27
+ * Constructs a namespace from JSON.
28
+ * @memberof Namespace
29
+ * @function
30
+ * @param {string} name Namespace name
31
+ * @param {Object.<string,*>} json JSON object
32
+ * @returns {Namespace} Created namespace
33
+ * @throws {TypeError} If arguments are invalid
34
+ */
35
+ Namespace.fromJSON = function fromJSON(name, json) {
36
+ return new Namespace(name, json.options).addJSON(json.nested);
37
+ };
38
+
39
+ /**
40
+ * Converts an array of reflection objects to JSON.
41
+ * @memberof Namespace
42
+ * @param {ReflectionObject[]} array Object array
43
+ * @param {IToJSONOptions} [toJSONOptions] JSON conversion options
44
+ * @returns {Object.<string,*>|undefined} JSON object or `undefined` when array is empty
45
+ */
46
+ function arrayToJSON(array, toJSONOptions) {
47
+ if (!(array && array.length))
48
+ return undefined;
49
+ var obj = {};
50
+ for (var i = 0; i < array.length; ++i)
51
+ obj[array[i].name] = array[i].toJSON(toJSONOptions);
52
+ return obj;
53
+ }
54
+
55
+ Namespace.arrayToJSON = arrayToJSON;
56
+
57
+ /**
58
+ * Tests if the specified id is reserved.
59
+ * @param {Array.<number[]|string>|undefined} reserved Array of reserved ranges and names
60
+ * @param {number} id Id to test
61
+ * @returns {boolean} `true` if reserved, otherwise `false`
62
+ */
63
+ Namespace.isReservedId = function isReservedId(reserved, id) {
64
+ if (reserved)
65
+ for (var i = 0; i < reserved.length; ++i)
66
+ if (typeof reserved[i] !== "string" && reserved[i][0] <= id && reserved[i][1] > id)
67
+ return true;
68
+ return false;
69
+ };
70
+
71
+ /**
72
+ * Tests if the specified name is reserved.
73
+ * @param {Array.<number[]|string>|undefined} reserved Array of reserved ranges and names
74
+ * @param {string} name Name to test
75
+ * @returns {boolean} `true` if reserved, otherwise `false`
76
+ */
77
+ Namespace.isReservedName = function isReservedName(reserved, name) {
78
+ if (reserved)
79
+ for (var i = 0; i < reserved.length; ++i)
80
+ if (reserved[i] === name)
81
+ return true;
82
+ return false;
83
+ };
84
+
85
+ /**
86
+ * Not an actual constructor. Use {@link Namespace} instead.
87
+ * @classdesc Base class of all reflection objects containing nested objects. This is not an actual class but here for the sake of having consistent type definitions.
88
+ * @exports NamespaceBase
89
+ * @extends ReflectionObject
90
+ * @abstract
91
+ * @constructor
92
+ * @param {string} name Namespace name
93
+ * @param {Object.<string,*>} [options] Declared options
94
+ * @see {@link Namespace}
95
+ */
96
+ function Namespace(name, options) {
97
+ ReflectionObject.call(this, name, options);
98
+
99
+ /**
100
+ * Nested objects by name.
101
+ * @type {Object.<string,ReflectionObject>|undefined}
102
+ */
103
+ this.nested = undefined; // toJSON
104
+
105
+ /**
106
+ * Cached nested objects as an array.
107
+ * @type {ReflectionObject[]|null}
108
+ * @private
109
+ */
110
+ this._nestedArray = null;
111
+ }
112
+
113
+ function clearCache(namespace) {
114
+ namespace._nestedArray = null;
115
+ return namespace;
116
+ }
117
+
118
+ /**
119
+ * Nested objects of this namespace as an array for iteration.
120
+ * @name NamespaceBase#nestedArray
121
+ * @type {ReflectionObject[]}
122
+ * @readonly
123
+ */
124
+ Object.defineProperty(Namespace.prototype, "nestedArray", {
125
+ get: function() {
126
+ return this._nestedArray || (this._nestedArray = util.toArray(this.nested));
127
+ }
128
+ });
129
+
130
+ /**
131
+ * Namespace descriptor.
132
+ * @interface INamespace
133
+ * @property {Object.<string,*>} [options] Namespace options
134
+ * @property {Object.<string,AnyNestedObject>} [nested] Nested object descriptors
135
+ */
136
+
137
+ /**
138
+ * Any extension field descriptor.
139
+ * @typedef AnyExtensionField
140
+ * @type {IExtensionField|IExtensionMapField}
141
+ */
142
+
143
+ /**
144
+ * Any nested object descriptor.
145
+ * @typedef AnyNestedObject
146
+ * @type {IEnum|IType|IService|AnyExtensionField|INamespace|IOneOf}
147
+ */
148
+
149
+ /**
150
+ * Converts this namespace to a namespace descriptor.
151
+ * @param {IToJSONOptions} [toJSONOptions] JSON conversion options
152
+ * @returns {INamespace} Namespace descriptor
153
+ */
154
+ Namespace.prototype.toJSON = function toJSON(toJSONOptions) {
155
+ return util.toObject([
156
+ "options" , this.options,
157
+ "nested" , arrayToJSON(this.nestedArray, toJSONOptions)
158
+ ]);
159
+ };
160
+
161
+ /**
162
+ * Adds nested objects to this namespace from nested object descriptors.
163
+ * @param {Object.<string,AnyNestedObject>} nestedJson Any nested object descriptors
164
+ * @returns {Namespace} `this`
165
+ */
166
+ Namespace.prototype.addJSON = function addJSON(nestedJson) {
167
+ var ns = this;
168
+ /* istanbul ignore else */
169
+ if (nestedJson) {
170
+ for (var names = Object.keys(nestedJson), i = 0, nested; i < names.length; ++i) {
171
+ nested = nestedJson[names[i]];
172
+ ns.add( // most to least likely
173
+ ( nested.fields !== undefined
174
+ ? Type.fromJSON
175
+ : nested.values !== undefined
176
+ ? Enum.fromJSON
177
+ : nested.methods !== undefined
178
+ ? Service.fromJSON
179
+ : nested.id !== undefined
180
+ ? Field.fromJSON
181
+ : Namespace.fromJSON )(names[i], nested)
182
+ );
183
+ }
184
+ }
185
+ return this;
186
+ };
187
+
188
+ /**
189
+ * Gets the nested object of the specified name.
190
+ * @param {string} name Nested object name
191
+ * @returns {ReflectionObject|null} The reflection object or `null` if it doesn't exist
192
+ */
193
+ Namespace.prototype.get = function get(name) {
194
+ return this.nested && this.nested[name]
195
+ || null;
196
+ };
197
+
198
+ /**
199
+ * Gets the values of the nested {@link Enum|enum} of the specified name.
200
+ * This methods differs from {@link Namespace#get|get} in that it returns an enum's values directly and throws instead of returning `null`.
201
+ * @param {string} name Nested enum name
202
+ * @returns {Object.<string,number>} Enum values
203
+ * @throws {Error} If there is no such enum
204
+ */
205
+ Namespace.prototype.getEnum = function getEnum(name) {
206
+ if (this.nested && this.nested[name] instanceof Enum)
207
+ return this.nested[name].values;
208
+ throw Error("no such enum: " + name);
209
+ };
210
+
211
+ /**
212
+ * Adds a nested object to this namespace.
213
+ * @param {ReflectionObject} object Nested object to add
214
+ * @returns {Namespace} `this`
215
+ * @throws {TypeError} If arguments are invalid
216
+ * @throws {Error} If there is already a nested object with this name
217
+ */
218
+ Namespace.prototype.add = function add(object) {
219
+
220
+ if (!(object instanceof Field && object.extend !== undefined || object instanceof Type || object instanceof OneOf || object instanceof Enum || object instanceof Service || object instanceof Namespace))
221
+ throw TypeError("object must be a valid nested object");
222
+
223
+ if (!this.nested)
224
+ this.nested = {};
225
+ else {
226
+ var prev = this.get(object.name);
227
+ if (prev) {
228
+ if (prev instanceof Namespace && object instanceof Namespace && !(prev instanceof Type || prev instanceof Service)) {
229
+ // replace plain namespace but keep existing nested elements and options
230
+ var nested = prev.nestedArray;
231
+ for (var i = 0; i < nested.length; ++i)
232
+ object.add(nested[i]);
233
+ this.remove(prev);
234
+ if (!this.nested)
235
+ this.nested = {};
236
+ object.setOptions(prev.options, true);
237
+
238
+ } else
239
+ throw Error("duplicate name '" + object.name + "' in " + this);
240
+ }
241
+ }
242
+ this.nested[object.name] = object;
243
+ object.onAdd(this);
244
+ return clearCache(this);
245
+ };
246
+
247
+ /**
248
+ * Removes a nested object from this namespace.
249
+ * @param {ReflectionObject} object Nested object to remove
250
+ * @returns {Namespace} `this`
251
+ * @throws {TypeError} If arguments are invalid
252
+ * @throws {Error} If `object` is not a member of this namespace
253
+ */
254
+ Namespace.prototype.remove = function remove(object) {
255
+
256
+ if (!(object instanceof ReflectionObject))
257
+ throw TypeError("object must be a ReflectionObject");
258
+ if (object.parent !== this)
259
+ throw Error(object + " is not a member of " + this);
260
+
261
+ delete this.nested[object.name];
262
+ if (!Object.keys(this.nested).length)
263
+ this.nested = undefined;
264
+
265
+ object.onRemove(this);
266
+ return clearCache(this);
267
+ };
268
+
269
+ /**
270
+ * Defines additial namespaces within this one if not yet existing.
271
+ * @param {string|string[]} path Path to create
272
+ * @param {*} [json] Nested types to create from JSON
273
+ * @returns {Namespace} Pointer to the last namespace created or `this` if path is empty
274
+ */
275
+ Namespace.prototype.define = function define(path, json) {
276
+
277
+ if (util.isString(path))
278
+ path = path.split(".");
279
+ else if (!Array.isArray(path))
280
+ throw TypeError("illegal path");
281
+ if (path && path.length && path[0] === "")
282
+ throw Error("path must be relative");
283
+
284
+ var ptr = this;
285
+ while (path.length > 0) {
286
+ var part = path.shift();
287
+ if (ptr.nested && ptr.nested[part]) {
288
+ ptr = ptr.nested[part];
289
+ if (!(ptr instanceof Namespace))
290
+ throw Error("path conflicts with non-namespace objects");
291
+ } else
292
+ ptr.add(ptr = new Namespace(part));
293
+ }
294
+ if (json)
295
+ ptr.addJSON(json);
296
+ return ptr;
297
+ };
298
+
299
+ /**
300
+ * Resolves this namespace's and all its nested objects' type references. Useful to validate a reflection tree, but comes at a cost.
301
+ * @returns {Namespace} `this`
302
+ */
303
+ Namespace.prototype.resolveAll = function resolveAll() {
304
+ var nested = this.nestedArray, i = 0;
305
+ while (i < nested.length)
306
+ if (nested[i] instanceof Namespace)
307
+ nested[i++].resolveAll();
308
+ else
309
+ nested[i++].resolve();
310
+ return this.resolve();
311
+ };
312
+
313
+ /**
314
+ * Recursively looks up the reflection object matching the specified path in the scope of this namespace.
315
+ * @param {string|string[]} path Path to look up
316
+ * @param {*|Array.<*>} filterTypes Filter types, any combination of the constructors of `protobuf.Type`, `protobuf.Enum`, `protobuf.Service` etc.
317
+ * @param {boolean} [parentAlreadyChecked=false] If known, whether the parent has already been checked
318
+ * @returns {ReflectionObject|null} Looked up object or `null` if none could be found
319
+ */
320
+ Namespace.prototype.lookup = function lookup(path, filterTypes, parentAlreadyChecked) {
321
+
322
+ /* istanbul ignore next */
323
+ if (typeof filterTypes === "boolean") {
324
+ parentAlreadyChecked = filterTypes;
325
+ filterTypes = undefined;
326
+ } else if (filterTypes && !Array.isArray(filterTypes))
327
+ filterTypes = [ filterTypes ];
328
+
329
+ if (util.isString(path) && path.length) {
330
+ if (path === ".")
331
+ return this.root;
332
+ path = path.split(".");
333
+ } else if (!path.length)
334
+ return this;
335
+
336
+ // Start at root if path is absolute
337
+ if (path[0] === "")
338
+ return this.root.lookup(path.slice(1), filterTypes);
339
+
340
+ // Test if the first part matches any nested object, and if so, traverse if path contains more
341
+ var found = this.get(path[0]);
342
+ if (found) {
343
+ if (path.length === 1) {
344
+ if (!filterTypes || filterTypes.indexOf(found.constructor) > -1)
345
+ return found;
346
+ } else if (found instanceof Namespace && (found = found.lookup(path.slice(1), filterTypes, true)))
347
+ return found;
348
+
349
+ // Otherwise try each nested namespace
350
+ } else
351
+ for (var i = 0; i < this.nestedArray.length; ++i)
352
+ if (this._nestedArray[i] instanceof Namespace && (found = this._nestedArray[i].lookup(path, filterTypes, true)))
353
+ return found;
354
+
355
+ // If there hasn't been a match, try again at the parent
356
+ if (this.parent === null || parentAlreadyChecked)
357
+ return null;
358
+ return this.parent.lookup(path, filterTypes);
359
+ };
360
+
361
+ /**
362
+ * Looks up the reflection object at the specified path, relative to this namespace.
363
+ * @name NamespaceBase#lookup
364
+ * @function
365
+ * @param {string|string[]} path Path to look up
366
+ * @param {boolean} [parentAlreadyChecked=false] Whether the parent has already been checked
367
+ * @returns {ReflectionObject|null} Looked up object or `null` if none could be found
368
+ * @variation 2
369
+ */
370
+ // lookup(path: string, [parentAlreadyChecked: boolean])
371
+
372
+ /**
373
+ * Looks up the {@link Type|type} at the specified path, relative to this namespace.
374
+ * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.
375
+ * @param {string|string[]} path Path to look up
376
+ * @returns {Type} Looked up type
377
+ * @throws {Error} If `path` does not point to a type
378
+ */
379
+ Namespace.prototype.lookupType = function lookupType(path) {
380
+ var found = this.lookup(path, [ Type ]);
381
+ if (!found)
382
+ throw Error("no such type: " + path);
383
+ return found;
384
+ };
385
+
386
+ /**
387
+ * Looks up the values of the {@link Enum|enum} at the specified path, relative to this namespace.
388
+ * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.
389
+ * @param {string|string[]} path Path to look up
390
+ * @returns {Enum} Looked up enum
391
+ * @throws {Error} If `path` does not point to an enum
392
+ */
393
+ Namespace.prototype.lookupEnum = function lookupEnum(path) {
394
+ var found = this.lookup(path, [ Enum ]);
395
+ if (!found)
396
+ throw Error("no such Enum '" + path + "' in " + this);
397
+ return found;
398
+ };
399
+
400
+ /**
401
+ * Looks up the {@link Type|type} or {@link Enum|enum} at the specified path, relative to this namespace.
402
+ * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.
403
+ * @param {string|string[]} path Path to look up
404
+ * @returns {Type} Looked up type or enum
405
+ * @throws {Error} If `path` does not point to a type or enum
406
+ */
407
+ Namespace.prototype.lookupTypeOrEnum = function lookupTypeOrEnum(path) {
408
+ var found = this.lookup(path, [ Type, Enum ]);
409
+ if (!found)
410
+ throw Error("no such Type or Enum '" + path + "' in " + this);
411
+ return found;
412
+ };
413
+
414
+ /**
415
+ * Looks up the {@link Service|service} at the specified path, relative to this namespace.
416
+ * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.
417
+ * @param {string|string[]} path Path to look up
418
+ * @returns {Service} Looked up service
419
+ * @throws {Error} If `path` does not point to a service
420
+ */
421
+ Namespace.prototype.lookupService = function lookupService(path) {
422
+ var found = this.lookup(path, [ Service ]);
423
+ if (!found)
424
+ throw Error("no such Service '" + path + "' in " + this);
425
+ return found;
426
+ };
427
+
428
+ // Sets up cyclic dependencies (called in index-light)
429
+ Namespace._configure = function(Type_, Service_, Enum_) {
430
+ Type = Type_;
431
+ Service = Service_;
432
+ Enum = Enum_;
433
+ };