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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) 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 -29
  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 +101 -65
  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 +18 -12
  17. package/node_modules/@types/node/fs.d.ts +45 -39
  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/net.d.ts +58 -13
  25. package/node_modules/@types/node/os.d.ts +29 -12
  26. package/node_modules/@types/node/package.json +3 -15
  27. package/node_modules/@types/node/path.d.ts +1 -1
  28. package/node_modules/@types/node/perf_hooks.d.ts +308 -48
  29. package/node_modules/@types/node/process.d.ts +241 -48
  30. package/node_modules/@types/node/punycode.d.ts +4 -4
  31. package/node_modules/@types/node/querystring.d.ts +18 -6
  32. package/node_modules/@types/node/readline/promises.d.ts +9 -9
  33. package/node_modules/@types/node/readline.d.ts +21 -20
  34. package/node_modules/@types/node/repl.d.ts +10 -10
  35. package/node_modules/@types/node/sea.d.ts +153 -0
  36. package/node_modules/@types/node/stream/web.d.ts +3 -2
  37. package/node_modules/@types/node/stream.d.ts +62 -56
  38. package/node_modules/@types/node/string_decoder.d.ts +3 -3
  39. package/node_modules/@types/node/test.d.ts +350 -97
  40. package/node_modules/@types/node/timers/promises.d.ts +10 -6
  41. package/node_modules/@types/node/timers.d.ts +5 -5
  42. package/node_modules/@types/node/tls.d.ts +39 -32
  43. package/node_modules/@types/node/trace_events.d.ts +40 -25
  44. package/node_modules/@types/node/tty.d.ts +8 -8
  45. package/node_modules/@types/node/url.d.ts +15 -7
  46. package/node_modules/@types/node/util.d.ts +131 -22
  47. package/node_modules/@types/node/v8.d.ts +50 -6
  48. package/node_modules/@types/node/vm.d.ts +43 -22
  49. package/node_modules/@types/node/wasi.d.ts +12 -10
  50. package/node_modules/@types/node/worker_threads.d.ts +19 -16
  51. package/node_modules/@types/node/zlib.d.ts +16 -3
  52. package/node_modules/adm-zip/README.md +2 -1
  53. package/node_modules/adm-zip/adm-zip.js +46 -45
  54. package/node_modules/adm-zip/headers/entryHeader.js +14 -12
  55. package/node_modules/adm-zip/headers/mainHeader.js +1 -1
  56. package/node_modules/adm-zip/methods/inflater.js +6 -3
  57. package/node_modules/adm-zip/methods/zipcrypto.js +6 -2
  58. package/node_modules/adm-zip/package.json +2 -2
  59. package/node_modules/adm-zip/util/errors.js +1 -0
  60. package/node_modules/adm-zip/zipEntry.js +64 -43
  61. package/node_modules/adm-zip/zipFile.js +35 -35
  62. package/node_modules/axios/CHANGELOG.md +868 -759
  63. package/node_modules/axios/README.md +65 -17
  64. package/node_modules/axios/dist/axios.js +1330 -583
  65. package/node_modules/axios/dist/axios.js.map +1 -1
  66. package/node_modules/axios/dist/axios.min.js +1 -1
  67. package/node_modules/axios/dist/axios.min.js.map +1 -1
  68. package/node_modules/axios/dist/browser/axios.cjs +696 -316
  69. package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
  70. package/node_modules/axios/dist/esm/axios.js +696 -316
  71. package/node_modules/axios/dist/esm/axios.js.map +1 -1
  72. package/node_modules/axios/dist/esm/axios.min.js +1 -1
  73. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  74. package/node_modules/axios/dist/node/axios.cjs +607 -257
  75. package/node_modules/axios/dist/node/axios.cjs.map +1 -1
  76. package/node_modules/axios/index.d.cts +5 -2
  77. package/node_modules/axios/index.d.ts +5 -2
  78. package/node_modules/axios/lib/adapters/adapters.js +3 -1
  79. package/node_modules/axios/lib/adapters/fetch.js +227 -0
  80. package/node_modules/axios/lib/adapters/http.js +1 -1
  81. package/node_modules/axios/lib/adapters/xhr.js +31 -101
  82. package/node_modules/axios/lib/core/Axios.js +17 -11
  83. package/node_modules/axios/lib/core/AxiosHeaders.js +4 -0
  84. package/node_modules/axios/lib/core/mergeConfig.js +1 -1
  85. package/node_modules/axios/lib/defaults/index.js +7 -5
  86. package/node_modules/axios/lib/env/data.js +1 -1
  87. package/node_modules/axios/lib/helpers/AxiosTransformStream.js +9 -8
  88. package/node_modules/axios/lib/helpers/composeSignals.js +46 -0
  89. package/node_modules/axios/lib/helpers/progressEventReducer.js +32 -0
  90. package/node_modules/axios/lib/helpers/resolveConfig.js +57 -0
  91. package/node_modules/axios/lib/helpers/throttle.js +5 -3
  92. package/node_modules/axios/lib/helpers/trackStream.js +55 -0
  93. package/node_modules/axios/lib/platform/common/utils.js +4 -1
  94. package/node_modules/axios/lib/utils.js +7 -2
  95. package/node_modules/axios/package.json +27 -26
  96. package/node_modules/fast-xml-parser/CHANGELOG.md +14 -0
  97. package/node_modules/fast-xml-parser/README.md +7 -14
  98. package/node_modules/fast-xml-parser/package.json +1 -1
  99. package/node_modules/fast-xml-parser/src/fxp.d.ts +4 -4
  100. package/node_modules/fast-xml-parser/src/v5/CharsSymbol.js +16 -0
  101. package/node_modules/fast-xml-parser/src/v5/EntitiesParser.js +107 -0
  102. package/node_modules/fast-xml-parser/src/v5/OptionsBuilder.js +64 -0
  103. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/BaseOutputBuilder.js +71 -0
  104. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/JsArrBuilder.js +103 -0
  105. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/JsMinArrBuilder.js +102 -0
  106. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/JsObjBuilder.js +156 -0
  107. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/ParserOptionsBuilder.js +96 -0
  108. package/node_modules/fast-xml-parser/src/v5/Report.js +0 -0
  109. package/node_modules/fast-xml-parser/src/v5/TagPath.js +81 -0
  110. package/node_modules/fast-xml-parser/src/v5/TagPathMatcher.js +15 -0
  111. package/node_modules/fast-xml-parser/src/v5/XMLParser.js +85 -0
  112. package/node_modules/fast-xml-parser/src/v5/Xml2JsParser.js +237 -0
  113. package/node_modules/fast-xml-parser/src/v5/XmlPartReader.js +212 -0
  114. package/node_modules/fast-xml-parser/src/v5/XmlSpecialTagsReader.js +118 -0
  115. package/node_modules/fast-xml-parser/src/v5/inputSource/BufferSource.js +118 -0
  116. package/node_modules/fast-xml-parser/src/v5/inputSource/StringSource.js +123 -0
  117. package/node_modules/fast-xml-parser/src/v5/valueParsers/EntitiesParser.js +107 -0
  118. package/node_modules/fast-xml-parser/src/v5/valueParsers/booleanParser.js +23 -0
  119. package/node_modules/fast-xml-parser/src/v5/valueParsers/booleanParserExt.js +20 -0
  120. package/node_modules/fast-xml-parser/src/v5/valueParsers/currency.js +31 -0
  121. package/node_modules/fast-xml-parser/src/v5/valueParsers/join.js +14 -0
  122. package/node_modules/fast-xml-parser/src/v5/valueParsers/number.js +16 -0
  123. package/node_modules/fast-xml-parser/src/v5/valueParsers/trim.js +8 -0
  124. package/node_modules/fast-xml-parser/src/validator.js +2 -0
  125. package/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +13 -4
  126. package/node_modules/follow-redirects/index.js +1 -1
  127. package/node_modules/follow-redirects/package.json +1 -1
  128. package/node_modules/hasown/CHANGELOG.md +12 -0
  129. package/node_modules/hasown/index.d.ts +2 -2
  130. package/node_modules/hasown/package.json +5 -2
  131. package/node_modules/hasown/tsconfig.json +3 -46
  132. package/node_modules/object-is/.eslintrc +1 -1
  133. package/node_modules/object-is/.nycrc +0 -4
  134. package/node_modules/object-is/CHANGELOG.md +25 -0
  135. package/node_modules/object-is/README.md +20 -20
  136. package/node_modules/object-is/package.json +23 -14
  137. package/node_modules/protobufjs/LICENSE +39 -39
  138. package/node_modules/protobufjs/README.md +727 -740
  139. package/node_modules/protobufjs/dist/light/protobuf.js +6264 -6264
  140. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  141. package/node_modules/protobufjs/dist/light/protobuf.min.js +2 -2
  142. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  143. package/node_modules/protobufjs/dist/minimal/protobuf.js +1928 -1928
  144. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  145. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +2 -2
  146. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  147. package/node_modules/protobufjs/dist/protobuf.js +7978 -7961
  148. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  149. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  150. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  151. package/node_modules/protobufjs/ext/debug/README.md +4 -4
  152. package/node_modules/protobufjs/ext/debug/index.js +71 -71
  153. package/node_modules/protobufjs/ext/descriptor/README.md +72 -72
  154. package/node_modules/protobufjs/ext/descriptor/index.d.ts +191 -191
  155. package/node_modules/protobufjs/ext/descriptor/index.js +1052 -1052
  156. package/node_modules/protobufjs/ext/descriptor/test.js +54 -54
  157. package/node_modules/protobufjs/google/LICENSE +27 -27
  158. package/node_modules/protobufjs/google/README.md +1 -1
  159. package/node_modules/protobufjs/google/api/annotations.json +82 -82
  160. package/node_modules/protobufjs/google/api/annotations.proto +10 -10
  161. package/node_modules/protobufjs/google/api/http.json +85 -85
  162. package/node_modules/protobufjs/google/api/http.proto +30 -30
  163. package/node_modules/protobufjs/google/protobuf/api.json +117 -117
  164. package/node_modules/protobufjs/google/protobuf/api.proto +33 -33
  165. package/node_modules/protobufjs/google/protobuf/descriptor.json +738 -738
  166. package/node_modules/protobufjs/google/protobuf/descriptor.proto +286 -286
  167. package/node_modules/protobufjs/google/protobuf/source_context.json +19 -19
  168. package/node_modules/protobufjs/google/protobuf/source_context.proto +7 -7
  169. package/node_modules/protobufjs/google/protobuf/type.json +201 -201
  170. package/node_modules/protobufjs/google/protobuf/type.proto +89 -89
  171. package/node_modules/protobufjs/index.d.ts +2741 -2741
  172. package/node_modules/protobufjs/index.js +4 -4
  173. package/node_modules/protobufjs/light.d.ts +2 -2
  174. package/node_modules/protobufjs/light.js +3 -3
  175. package/node_modules/protobufjs/minimal.d.ts +2 -2
  176. package/node_modules/protobufjs/minimal.js +4 -4
  177. package/node_modules/protobufjs/package.json +111 -111
  178. package/node_modules/protobufjs/scripts/postinstall.js +32 -32
  179. package/node_modules/protobufjs/src/common.js +399 -399
  180. package/node_modules/protobufjs/src/converter.js +301 -301
  181. package/node_modules/protobufjs/src/decoder.js +129 -129
  182. package/node_modules/protobufjs/src/encoder.js +100 -100
  183. package/node_modules/protobufjs/src/enum.js +198 -198
  184. package/node_modules/protobufjs/src/field.js +377 -377
  185. package/node_modules/protobufjs/src/index-light.js +104 -104
  186. package/node_modules/protobufjs/src/index-minimal.js +36 -36
  187. package/node_modules/protobufjs/src/index.js +12 -12
  188. package/node_modules/protobufjs/src/mapfield.js +126 -126
  189. package/node_modules/protobufjs/src/message.js +138 -138
  190. package/node_modules/protobufjs/src/method.js +160 -160
  191. package/node_modules/protobufjs/src/namespace.js +433 -433
  192. package/node_modules/protobufjs/src/object.js +243 -243
  193. package/node_modules/protobufjs/src/oneof.js +203 -203
  194. package/node_modules/protobufjs/src/parse.js +889 -872
  195. package/node_modules/protobufjs/src/reader.js +416 -416
  196. package/node_modules/protobufjs/src/reader_buffer.js +51 -51
  197. package/node_modules/protobufjs/src/root.js +368 -368
  198. package/node_modules/protobufjs/src/roots.js +18 -18
  199. package/node_modules/protobufjs/src/rpc/service.js +142 -142
  200. package/node_modules/protobufjs/src/rpc.js +36 -36
  201. package/node_modules/protobufjs/src/service.js +167 -167
  202. package/node_modules/protobufjs/src/tokenize.js +416 -416
  203. package/node_modules/protobufjs/src/type.js +589 -589
  204. package/node_modules/protobufjs/src/types.js +196 -196
  205. package/node_modules/protobufjs/src/typescript.jsdoc +15 -15
  206. package/node_modules/protobufjs/src/util/longbits.js +200 -200
  207. package/node_modules/protobufjs/src/util/minimal.js +438 -438
  208. package/node_modules/protobufjs/src/util.js +212 -212
  209. package/node_modules/protobufjs/src/verifier.js +176 -176
  210. package/node_modules/protobufjs/src/wrappers.js +102 -102
  211. package/node_modules/protobufjs/src/writer.js +465 -465
  212. package/node_modules/protobufjs/src/writer_buffer.js +85 -85
  213. package/node_modules/protobufjs/tsconfig.json +7 -7
  214. package/node_modules/set-function-length/CHANGELOG.md +11 -0
  215. package/node_modules/set-function-length/env.d.ts +9 -6
  216. package/node_modules/set-function-length/env.js +1 -0
  217. package/node_modules/set-function-length/index.d.ts +6 -6
  218. package/node_modules/set-function-length/index.js +1 -3
  219. package/node_modules/set-function-length/package.json +11 -13
  220. package/node_modules/set-function-length/tsconfig.json +7 -57
  221. package/node_modules/uuid/CHANGELOG.md +18 -0
  222. package/node_modules/uuid/README.md +134 -16
  223. package/node_modules/uuid/dist/commonjs-browser/index.js +40 -15
  224. package/node_modules/uuid/dist/commonjs-browser/max.js +7 -0
  225. package/node_modules/uuid/dist/commonjs-browser/md5.js +30 -53
  226. package/node_modules/uuid/dist/commonjs-browser/native.js +3 -4
  227. package/node_modules/uuid/dist/commonjs-browser/nil.js +1 -2
  228. package/node_modules/uuid/dist/commonjs-browser/parse.js +14 -15
  229. package/node_modules/uuid/dist/commonjs-browser/regex.js +1 -2
  230. package/node_modules/uuid/dist/commonjs-browser/rng.js +2 -4
  231. package/node_modules/uuid/dist/commonjs-browser/sha1.js +27 -49
  232. package/node_modules/uuid/dist/commonjs-browser/stringify.js +10 -16
  233. package/node_modules/uuid/dist/commonjs-browser/v1.js +73 -49
  234. package/node_modules/uuid/dist/commonjs-browser/v1ToV6.js +26 -0
  235. package/node_modules/uuid/dist/commonjs-browser/v3.js +3 -8
  236. package/node_modules/uuid/dist/commonjs-browser/v35.js +15 -32
  237. package/node_modules/uuid/dist/commonjs-browser/v4.js +7 -18
  238. package/node_modules/uuid/dist/commonjs-browser/v5.js +3 -8
  239. package/node_modules/uuid/dist/commonjs-browser/v6.js +42 -0
  240. package/node_modules/uuid/dist/commonjs-browser/v6ToV1.js +26 -0
  241. package/node_modules/uuid/dist/commonjs-browser/v7.js +152 -0
  242. package/node_modules/uuid/dist/commonjs-browser/validate.js +2 -7
  243. package/node_modules/uuid/dist/commonjs-browser/version.js +2 -8
  244. package/node_modules/uuid/dist/esm-browser/index.js +9 -4
  245. package/node_modules/uuid/dist/esm-browser/max.js +1 -0
  246. package/node_modules/uuid/dist/esm-browser/md5.js +29 -50
  247. package/node_modules/uuid/dist/esm-browser/native.js +1 -1
  248. package/node_modules/uuid/dist/esm-browser/parse.js +12 -10
  249. package/node_modules/uuid/dist/esm-browser/regex.js +1 -1
  250. package/node_modules/uuid/dist/esm-browser/rng.js +3 -4
  251. package/node_modules/uuid/dist/esm-browser/sha1.js +26 -46
  252. package/node_modules/uuid/dist/esm-browser/stringify.js +9 -11
  253. package/node_modules/uuid/dist/esm-browser/v1.js +74 -44
  254. package/node_modules/uuid/dist/esm-browser/v1ToV6.js +20 -0
  255. package/node_modules/uuid/dist/esm-browser/v3.js +1 -1
  256. package/node_modules/uuid/dist/esm-browser/v35.js +14 -25
  257. package/node_modules/uuid/dist/esm-browser/v4.js +5 -9
  258. package/node_modules/uuid/dist/esm-browser/v5.js +1 -1
  259. package/node_modules/uuid/dist/esm-browser/v6.js +36 -0
  260. package/node_modules/uuid/dist/esm-browser/v6ToV1.js +20 -0
  261. package/node_modules/uuid/dist/esm-browser/v7.js +146 -0
  262. package/node_modules/uuid/dist/esm-browser/validate.js +0 -2
  263. package/node_modules/uuid/dist/esm-browser/version.js +0 -3
  264. package/node_modules/uuid/dist/esm-node/index.js +9 -4
  265. package/node_modules/uuid/dist/esm-node/max.js +1 -0
  266. package/node_modules/uuid/dist/esm-node/md5.js +1 -4
  267. package/node_modules/uuid/dist/esm-node/native.js +1 -1
  268. package/node_modules/uuid/dist/esm-node/parse.js +11 -9
  269. package/node_modules/uuid/dist/esm-node/regex.js +1 -1
  270. package/node_modules/uuid/dist/esm-node/rng.js +1 -3
  271. package/node_modules/uuid/dist/esm-node/sha1.js +1 -4
  272. package/node_modules/uuid/dist/esm-node/stringify.js +7 -9
  273. package/node_modules/uuid/dist/esm-node/v1.js +66 -36
  274. package/node_modules/uuid/dist/esm-node/v1ToV6.js +20 -0
  275. package/node_modules/uuid/dist/esm-node/v35.js +8 -19
  276. package/node_modules/uuid/dist/esm-node/v4.js +4 -8
  277. package/node_modules/uuid/dist/esm-node/v6.js +32 -0
  278. package/node_modules/uuid/dist/esm-node/v6ToV1.js +20 -0
  279. package/node_modules/uuid/dist/esm-node/v7.js +146 -0
  280. package/node_modules/uuid/dist/esm-node/validate.js +0 -2
  281. package/node_modules/uuid/dist/esm-node/version.js +0 -3
  282. package/node_modules/uuid/dist/index.js +40 -15
  283. package/node_modules/uuid/dist/max.js +7 -0
  284. package/node_modules/uuid/dist/md5-browser.js +8 -31
  285. package/node_modules/uuid/dist/md5.js +4 -10
  286. package/node_modules/uuid/dist/native-browser.js +2 -3
  287. package/node_modules/uuid/dist/native.js +5 -9
  288. package/node_modules/uuid/dist/nil.js +1 -2
  289. package/node_modules/uuid/dist/parse.js +13 -14
  290. package/node_modules/uuid/dist/regex.js +1 -2
  291. package/node_modules/uuid/dist/rng-browser.js +1 -3
  292. package/node_modules/uuid/dist/rng.js +3 -10
  293. package/node_modules/uuid/dist/sha1-browser.js +1 -23
  294. package/node_modules/uuid/dist/sha1.js +4 -10
  295. package/node_modules/uuid/dist/stringify.js +8 -14
  296. package/node_modules/uuid/dist/uuid-bin.js +12 -22
  297. package/node_modules/uuid/dist/v1.js +66 -42
  298. package/node_modules/uuid/dist/v1ToV6.js +26 -0
  299. package/node_modules/uuid/dist/v3.js +2 -7
  300. package/node_modules/uuid/dist/v35.js +11 -28
  301. package/node_modules/uuid/dist/v4.js +6 -17
  302. package/node_modules/uuid/dist/v5.js +2 -7
  303. package/node_modules/uuid/dist/v6.js +38 -0
  304. package/node_modules/uuid/dist/v6ToV1.js +26 -0
  305. package/node_modules/uuid/dist/v7.js +152 -0
  306. package/node_modules/uuid/dist/validate.js +2 -7
  307. package/node_modules/uuid/dist/version.js +2 -8
  308. package/node_modules/uuid/package.json +41 -34
  309. package/node_modules/uuid/wrapper.mjs +5 -0
  310. package/package.json +6 -6
  311. package/tak-ingest.js +1 -1
  312. package/tak-registration.js +8 -1
  313. package/node_modules/@types/node/ts4.8/assert/strict.d.ts +0 -8
  314. package/node_modules/@types/node/ts4.8/assert.d.ts +0 -996
  315. package/node_modules/@types/node/ts4.8/async_hooks.d.ts +0 -539
  316. package/node_modules/@types/node/ts4.8/buffer.d.ts +0 -2363
  317. package/node_modules/@types/node/ts4.8/child_process.d.ts +0 -1540
  318. package/node_modules/@types/node/ts4.8/cluster.d.ts +0 -432
  319. package/node_modules/@types/node/ts4.8/console.d.ts +0 -415
  320. package/node_modules/@types/node/ts4.8/constants.d.ts +0 -19
  321. package/node_modules/@types/node/ts4.8/crypto.d.ts +0 -4487
  322. package/node_modules/@types/node/ts4.8/dgram.d.ts +0 -596
  323. package/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +0 -545
  324. package/node_modules/@types/node/ts4.8/dns/promises.d.ts +0 -425
  325. package/node_modules/@types/node/ts4.8/dns.d.ts +0 -809
  326. package/node_modules/@types/node/ts4.8/dom-events.d.ts +0 -122
  327. package/node_modules/@types/node/ts4.8/domain.d.ts +0 -170
  328. package/node_modules/@types/node/ts4.8/events.d.ts +0 -879
  329. package/node_modules/@types/node/ts4.8/fs/promises.d.ts +0 -1239
  330. package/node_modules/@types/node/ts4.8/fs.d.ts +0 -4311
  331. package/node_modules/@types/node/ts4.8/globals.d.ts +0 -411
  332. package/node_modules/@types/node/ts4.8/globals.global.d.ts +0 -1
  333. package/node_modules/@types/node/ts4.8/http.d.ts +0 -1887
  334. package/node_modules/@types/node/ts4.8/http2.d.ts +0 -2382
  335. package/node_modules/@types/node/ts4.8/https.d.ts +0 -550
  336. package/node_modules/@types/node/ts4.8/index.d.ts +0 -88
  337. package/node_modules/@types/node/ts4.8/inspector.d.ts +0 -2747
  338. package/node_modules/@types/node/ts4.8/module.d.ts +0 -315
  339. package/node_modules/@types/node/ts4.8/net.d.ts +0 -954
  340. package/node_modules/@types/node/ts4.8/os.d.ts +0 -478
  341. package/node_modules/@types/node/ts4.8/path.d.ts +0 -191
  342. package/node_modules/@types/node/ts4.8/perf_hooks.d.ts +0 -645
  343. package/node_modules/@types/node/ts4.8/process.d.ts +0 -1561
  344. package/node_modules/@types/node/ts4.8/punycode.d.ts +0 -117
  345. package/node_modules/@types/node/ts4.8/querystring.d.ts +0 -141
  346. package/node_modules/@types/node/ts4.8/readline/promises.d.ts +0 -150
  347. package/node_modules/@types/node/ts4.8/readline.d.ts +0 -539
  348. package/node_modules/@types/node/ts4.8/repl.d.ts +0 -430
  349. package/node_modules/@types/node/ts4.8/stream/consumers.d.ts +0 -12
  350. package/node_modules/@types/node/ts4.8/stream/promises.d.ts +0 -83
  351. package/node_modules/@types/node/ts4.8/stream/web.d.ts +0 -366
  352. package/node_modules/@types/node/ts4.8/stream.d.ts +0 -1701
  353. package/node_modules/@types/node/ts4.8/string_decoder.d.ts +0 -67
  354. package/node_modules/@types/node/ts4.8/test.d.ts +0 -1465
  355. package/node_modules/@types/node/ts4.8/timers/promises.d.ts +0 -93
  356. package/node_modules/@types/node/ts4.8/timers.d.ts +0 -240
  357. package/node_modules/@types/node/ts4.8/tls.d.ts +0 -1210
  358. package/node_modules/@types/node/ts4.8/trace_events.d.ts +0 -182
  359. package/node_modules/@types/node/ts4.8/tty.d.ts +0 -208
  360. package/node_modules/@types/node/ts4.8/url.d.ts +0 -944
  361. package/node_modules/@types/node/ts4.8/util.d.ts +0 -2183
  362. package/node_modules/@types/node/ts4.8/v8.d.ts +0 -764
  363. package/node_modules/@types/node/ts4.8/vm.d.ts +0 -903
  364. package/node_modules/@types/node/ts4.8/wasi.d.ts +0 -179
  365. package/node_modules/@types/node/ts4.8/worker_threads.d.ts +0 -691
  366. package/node_modules/@types/node/ts4.8/zlib.d.ts +0 -517
  367. package/node_modules/object-is/.eslintignore +0 -1
  368. package/node_modules/set-function-length/env.d.ts.map +0 -1
  369. 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
+ };