node-red-contrib-tak-registration 0.14.1 → 0.15.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 (447) hide show
  1. package/README.md +1 -1
  2. package/node_modules/@types/geojson/README.md +1 -1
  3. package/node_modules/@types/geojson/index.d.ts +36 -2
  4. package/node_modules/@types/geojson/package.json +2 -2
  5. package/node_modules/@types/node/README.md +2 -2
  6. package/node_modules/@types/node/assert.d.ts +14 -0
  7. package/node_modules/@types/node/async_hooks.d.ts +64 -2
  8. package/node_modules/@types/node/buffer.buffer.d.ts +117 -39
  9. package/node_modules/@types/node/buffer.d.ts +6 -13
  10. package/node_modules/@types/node/cluster.d.ts +1 -1
  11. package/node_modules/@types/node/constants.d.ts +14 -12
  12. package/node_modules/@types/node/crypto.d.ts +44 -10
  13. package/node_modules/@types/node/dgram.d.ts +10 -7
  14. package/node_modules/@types/node/diagnostics_channel.d.ts +20 -1
  15. package/node_modules/@types/node/fs/promises.d.ts +23 -26
  16. package/node_modules/@types/node/fs.d.ts +166 -125
  17. package/node_modules/@types/node/globals.d.ts +141 -338
  18. package/node_modules/@types/node/http.d.ts +25 -3
  19. package/node_modules/@types/node/http2.d.ts +3 -4
  20. package/node_modules/@types/node/https.d.ts +3 -1
  21. package/node_modules/@types/node/inspector.d.ts +36 -0
  22. package/node_modules/@types/node/module.d.ts +599 -236
  23. package/node_modules/@types/node/net.d.ts +44 -13
  24. package/node_modules/@types/node/package.json +9 -4
  25. package/node_modules/@types/node/perf_hooks.d.ts +5 -0
  26. package/node_modules/@types/node/process.d.ts +69 -2
  27. package/node_modules/@types/node/querystring.d.ts +2 -3
  28. package/node_modules/@types/node/readline.d.ts +6 -1
  29. package/node_modules/@types/node/sea.d.ts +1 -1
  30. package/node_modules/@types/node/sqlite.d.ts +291 -17
  31. package/node_modules/@types/node/stream/consumers.d.ts +32 -6
  32. package/node_modules/@types/node/stream/web.d.ts +9 -4
  33. package/node_modules/@types/node/stream.d.ts +936 -1000
  34. package/node_modules/@types/node/test.d.ts +169 -137
  35. package/node_modules/@types/node/timers/promises.d.ts +24 -13
  36. package/node_modules/@types/node/timers.d.ts +159 -112
  37. package/node_modules/@types/node/tls.d.ts +34 -1
  38. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +110 -35
  39. package/node_modules/@types/node/util.d.ts +323 -110
  40. package/node_modules/@types/node/v8.d.ts +81 -0
  41. package/node_modules/@types/node/vm.d.ts +21 -6
  42. package/node_modules/@types/node/worker_threads.d.ts +1 -0
  43. package/node_modules/@types/node/zlib.d.ts +167 -36
  44. package/node_modules/axios/CHANGELOG.md +124 -0
  45. package/node_modules/axios/README.md +38 -16
  46. package/node_modules/axios/dist/axios.js +44 -39
  47. package/node_modules/axios/dist/axios.js.map +1 -1
  48. package/node_modules/axios/dist/axios.min.js +2 -1
  49. package/node_modules/axios/dist/axios.min.js.map +1 -1
  50. package/node_modules/axios/dist/browser/axios.cjs +43 -39
  51. package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
  52. package/node_modules/axios/dist/esm/axios.js +43 -39
  53. package/node_modules/axios/dist/esm/axios.js.map +1 -1
  54. package/node_modules/axios/dist/esm/axios.min.js +2 -1
  55. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  56. package/node_modules/axios/dist/node/axios.cjs +74 -43
  57. package/node_modules/axios/dist/node/axios.cjs.map +1 -1
  58. package/node_modules/axios/index.d.cts +3 -2
  59. package/node_modules/axios/index.d.ts +5 -2
  60. package/node_modules/axios/lib/adapters/fetch.js +1 -1
  61. package/node_modules/axios/lib/adapters/http.js +1 -1
  62. package/node_modules/axios/lib/core/Axios.js +11 -2
  63. package/node_modules/axios/lib/core/AxiosHeaders.js +15 -3
  64. package/node_modules/axios/lib/core/buildFullPath.js +3 -2
  65. package/node_modules/axios/lib/env/data.js +1 -1
  66. package/node_modules/axios/lib/helpers/formDataToStream.js +4 -3
  67. package/node_modules/axios/lib/helpers/resolveConfig.js +1 -1
  68. package/node_modules/axios/lib/platform/node/index.js +26 -0
  69. package/node_modules/axios/lib/utils.js +12 -28
  70. package/node_modules/axios/package.json +3 -3
  71. package/node_modules/bignumber.js/CHANGELOG.md +82 -1
  72. package/node_modules/bignumber.js/LICENCE.md +1 -1
  73. package/node_modules/bignumber.js/README.md +6 -4
  74. package/node_modules/bignumber.js/bignumber.d.mts +6 -0
  75. package/node_modules/bignumber.js/bignumber.d.ts +3 -1829
  76. package/node_modules/bignumber.js/bignumber.js +3 -3
  77. package/node_modules/bignumber.js/bignumber.mjs +3 -3
  78. package/node_modules/bignumber.js/package.json +17 -7
  79. package/node_modules/bignumber.js/types.d.ts +1821 -0
  80. package/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
  81. package/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  82. package/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  83. package/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  84. package/node_modules/call-bind-apply-helpers/LICENSE +21 -0
  85. package/node_modules/call-bind-apply-helpers/README.md +62 -0
  86. package/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  87. package/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  88. package/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  89. package/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  90. package/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  91. package/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  92. package/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  93. package/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  94. package/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  95. package/node_modules/call-bind-apply-helpers/index.js +15 -0
  96. package/node_modules/call-bind-apply-helpers/package.json +85 -0
  97. package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  98. package/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  99. package/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  100. package/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  101. package/node_modules/dunder-proto/.eslintrc +5 -0
  102. package/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  103. package/node_modules/dunder-proto/.nycrc +13 -0
  104. package/node_modules/dunder-proto/CHANGELOG.md +24 -0
  105. package/node_modules/dunder-proto/LICENSE +21 -0
  106. package/node_modules/dunder-proto/README.md +54 -0
  107. package/node_modules/dunder-proto/get.d.ts +5 -0
  108. package/node_modules/dunder-proto/get.js +30 -0
  109. package/node_modules/dunder-proto/package.json +76 -0
  110. package/node_modules/dunder-proto/set.d.ts +5 -0
  111. package/node_modules/dunder-proto/set.js +35 -0
  112. package/node_modules/dunder-proto/test/get.js +34 -0
  113. package/node_modules/dunder-proto/test/index.js +4 -0
  114. package/node_modules/dunder-proto/test/set.js +50 -0
  115. package/node_modules/dunder-proto/tsconfig.json +9 -0
  116. package/node_modules/es-define-property/.eslintrc +13 -0
  117. package/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  118. package/node_modules/es-define-property/.nycrc +9 -0
  119. package/node_modules/es-define-property/CHANGELOG.md +29 -0
  120. package/node_modules/es-define-property/LICENSE +21 -0
  121. package/node_modules/es-define-property/README.md +49 -0
  122. package/node_modules/es-define-property/index.d.ts +3 -0
  123. package/node_modules/es-define-property/index.js +14 -0
  124. package/node_modules/es-define-property/package.json +81 -0
  125. package/node_modules/es-define-property/test/index.js +56 -0
  126. package/node_modules/es-define-property/tsconfig.json +10 -0
  127. package/node_modules/es-errors/.eslintrc +5 -0
  128. package/node_modules/es-errors/.github/FUNDING.yml +12 -0
  129. package/node_modules/es-errors/CHANGELOG.md +40 -0
  130. package/node_modules/es-errors/LICENSE +21 -0
  131. package/node_modules/es-errors/README.md +55 -0
  132. package/node_modules/es-errors/eval.d.ts +3 -0
  133. package/node_modules/es-errors/eval.js +4 -0
  134. package/node_modules/es-errors/index.d.ts +3 -0
  135. package/node_modules/es-errors/index.js +4 -0
  136. package/node_modules/es-errors/package.json +80 -0
  137. package/node_modules/es-errors/range.d.ts +3 -0
  138. package/node_modules/es-errors/range.js +4 -0
  139. package/node_modules/es-errors/ref.d.ts +3 -0
  140. package/node_modules/es-errors/ref.js +4 -0
  141. package/node_modules/es-errors/syntax.d.ts +3 -0
  142. package/node_modules/es-errors/syntax.js +4 -0
  143. package/node_modules/es-errors/test/index.js +19 -0
  144. package/node_modules/es-errors/tsconfig.json +49 -0
  145. package/node_modules/es-errors/type.d.ts +3 -0
  146. package/node_modules/es-errors/type.js +4 -0
  147. package/node_modules/es-errors/uri.d.ts +3 -0
  148. package/node_modules/es-errors/uri.js +4 -0
  149. package/node_modules/es-object-atoms/.eslintrc +16 -0
  150. package/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  151. package/node_modules/es-object-atoms/CHANGELOG.md +37 -0
  152. package/node_modules/es-object-atoms/LICENSE +21 -0
  153. package/node_modules/es-object-atoms/README.md +63 -0
  154. package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  155. package/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  156. package/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  157. package/node_modules/es-object-atoms/ToObject.js +10 -0
  158. package/node_modules/es-object-atoms/index.d.ts +3 -0
  159. package/node_modules/es-object-atoms/index.js +4 -0
  160. package/node_modules/es-object-atoms/isObject.d.ts +3 -0
  161. package/node_modules/es-object-atoms/isObject.js +6 -0
  162. package/node_modules/es-object-atoms/package.json +80 -0
  163. package/node_modules/es-object-atoms/test/index.js +38 -0
  164. package/node_modules/es-object-atoms/tsconfig.json +6 -0
  165. package/node_modules/es-set-tostringtag/.eslintrc +13 -0
  166. package/node_modules/es-set-tostringtag/.nycrc +9 -0
  167. package/node_modules/es-set-tostringtag/CHANGELOG.md +67 -0
  168. package/node_modules/es-set-tostringtag/LICENSE +21 -0
  169. package/node_modules/es-set-tostringtag/README.md +53 -0
  170. package/node_modules/es-set-tostringtag/index.d.ts +10 -0
  171. package/node_modules/es-set-tostringtag/index.js +35 -0
  172. package/node_modules/es-set-tostringtag/package.json +78 -0
  173. package/node_modules/es-set-tostringtag/test/index.js +85 -0
  174. package/node_modules/es-set-tostringtag/tsconfig.json +9 -0
  175. package/node_modules/fast-xml-parser/CHANGELOG.md +63 -0
  176. package/node_modules/fast-xml-parser/README.md +37 -51
  177. package/node_modules/fast-xml-parser/lib/fxbuilder.min.js +2 -0
  178. package/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +1 -0
  179. package/node_modules/fast-xml-parser/lib/fxp.cjs +1 -0
  180. package/node_modules/fast-xml-parser/lib/fxp.d.cts +458 -0
  181. package/node_modules/fast-xml-parser/lib/fxp.min.js +2 -0
  182. package/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -0
  183. package/node_modules/fast-xml-parser/lib/fxparser.min.js +2 -0
  184. package/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -0
  185. package/node_modules/fast-xml-parser/lib/fxvalidator.min.js +2 -0
  186. package/node_modules/fast-xml-parser/lib/fxvalidator.min.js.map +1 -0
  187. package/node_modules/fast-xml-parser/package.json +36 -18
  188. package/node_modules/fast-xml-parser/src/cli/cli.js +12 -12
  189. package/node_modules/fast-xml-parser/src/cli/man.js +6 -1
  190. package/node_modules/fast-xml-parser/src/cli/read.js +30 -79
  191. package/node_modules/fast-xml-parser/src/fxp.d.ts +28 -1
  192. package/node_modules/fast-xml-parser/src/fxp.js +11 -8
  193. package/node_modules/fast-xml-parser/src/ignoreAttributes.js +2 -4
  194. package/node_modules/fast-xml-parser/src/util.js +14 -18
  195. package/node_modules/fast-xml-parser/src/{v5 → v6}/CharsSymbol.js +1 -1
  196. package/node_modules/fast-xml-parser/src/{v5 → v6}/EntitiesParser.js +3 -6
  197. package/node_modules/fast-xml-parser/src/{v5 → v6}/OptionsBuilder.js +3 -6
  198. package/node_modules/fast-xml-parser/src/{v5 → v6}/OutputBuilders/BaseOutputBuilder.js +1 -3
  199. package/node_modules/fast-xml-parser/src/{v5 → v6}/OutputBuilders/JsArrBuilder.js +3 -3
  200. package/node_modules/fast-xml-parser/src/{v5 → v6}/OutputBuilders/JsMinArrBuilder.js +3 -5
  201. package/node_modules/fast-xml-parser/src/{v5 → v6}/OutputBuilders/JsObjBuilder.js +3 -5
  202. package/node_modules/fast-xml-parser/src/{v5 → v6}/OutputBuilders/ParserOptionsBuilder.js +6 -11
  203. package/node_modules/fast-xml-parser/src/{v5 → v6}/TagPath.js +1 -1
  204. package/node_modules/fast-xml-parser/src/{v5 → v6}/TagPathMatcher.js +3 -5
  205. package/node_modules/fast-xml-parser/src/{v5 → v6}/XMLParser.js +3 -5
  206. package/node_modules/fast-xml-parser/src/{v5 → v6}/Xml2JsParser.js +8 -10
  207. package/node_modules/fast-xml-parser/src/{v5 → v6}/XmlPartReader.js +4 -10
  208. package/node_modules/fast-xml-parser/src/{v5 → v6}/XmlSpecialTagsReader.js +5 -12
  209. package/node_modules/fast-xml-parser/src/{v5 → v6}/inputSource/BufferSource.js +1 -3
  210. package/node_modules/fast-xml-parser/src/{v5 → v6}/inputSource/StringSource.js +1 -3
  211. package/node_modules/fast-xml-parser/src/{v5 → v6}/valueParsers/EntitiesParser.js +3 -5
  212. package/node_modules/fast-xml-parser/src/{v5 → v6}/valueParsers/booleanParser.js +1 -2
  213. package/node_modules/fast-xml-parser/src/{v5 → v6}/valueParsers/booleanParserExt.js +1 -2
  214. package/node_modules/fast-xml-parser/src/{v5 → v6}/valueParsers/currency.js +1 -3
  215. package/node_modules/fast-xml-parser/src/{v5 → v6}/valueParsers/join.js +1 -2
  216. package/node_modules/fast-xml-parser/src/{v5 → v6}/valueParsers/number.js +2 -4
  217. package/node_modules/fast-xml-parser/src/{v5 → v6}/valueParsers/trim.js +1 -3
  218. package/node_modules/fast-xml-parser/src/validator.js +5 -5
  219. package/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js +5 -4
  220. package/node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js +1 -2
  221. package/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +287 -71
  222. package/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +3 -5
  223. package/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +23 -23
  224. package/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +21 -8
  225. package/node_modules/fast-xml-parser/src/xmlparser/node2json.js +8 -2
  226. package/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +22 -7
  227. package/node_modules/form-data/lib/form_data.js +24 -22
  228. package/node_modules/form-data/package.json +17 -14
  229. package/node_modules/function-bind/.eslintrc +21 -0
  230. package/node_modules/function-bind/.github/FUNDING.yml +12 -0
  231. package/node_modules/function-bind/.github/SECURITY.md +3 -0
  232. package/node_modules/function-bind/.nycrc +13 -0
  233. package/node_modules/function-bind/CHANGELOG.md +136 -0
  234. package/node_modules/function-bind/LICENSE +20 -0
  235. package/node_modules/function-bind/README.md +46 -0
  236. package/node_modules/function-bind/implementation.js +84 -0
  237. package/node_modules/function-bind/index.js +5 -0
  238. package/node_modules/function-bind/package.json +87 -0
  239. package/node_modules/function-bind/test/.eslintrc +9 -0
  240. package/node_modules/function-bind/test/index.js +252 -0
  241. package/node_modules/get-intrinsic/.eslintrc +42 -0
  242. package/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  243. package/node_modules/get-intrinsic/.nycrc +9 -0
  244. package/node_modules/get-intrinsic/CHANGELOG.md +186 -0
  245. package/node_modules/get-intrinsic/LICENSE +21 -0
  246. package/node_modules/get-intrinsic/README.md +71 -0
  247. package/node_modules/get-intrinsic/index.js +378 -0
  248. package/node_modules/get-intrinsic/package.json +97 -0
  249. package/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  250. package/node_modules/get-proto/.eslintrc +10 -0
  251. package/node_modules/get-proto/.github/FUNDING.yml +12 -0
  252. package/node_modules/get-proto/.nycrc +9 -0
  253. package/node_modules/get-proto/CHANGELOG.md +21 -0
  254. package/node_modules/get-proto/LICENSE +21 -0
  255. package/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  256. package/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  257. package/node_modules/get-proto/README.md +50 -0
  258. package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  259. package/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  260. package/node_modules/get-proto/index.d.ts +5 -0
  261. package/node_modules/get-proto/index.js +27 -0
  262. package/node_modules/get-proto/package.json +81 -0
  263. package/node_modules/get-proto/test/index.js +68 -0
  264. package/node_modules/get-proto/tsconfig.json +9 -0
  265. package/node_modules/gopd/.eslintrc +16 -0
  266. package/node_modules/gopd/.github/FUNDING.yml +12 -0
  267. package/node_modules/gopd/CHANGELOG.md +45 -0
  268. package/node_modules/gopd/LICENSE +21 -0
  269. package/node_modules/gopd/README.md +40 -0
  270. package/node_modules/gopd/gOPD.d.ts +1 -0
  271. package/node_modules/gopd/gOPD.js +4 -0
  272. package/node_modules/gopd/index.d.ts +5 -0
  273. package/node_modules/gopd/index.js +15 -0
  274. package/node_modules/gopd/package.json +77 -0
  275. package/node_modules/gopd/test/index.js +36 -0
  276. package/node_modules/gopd/tsconfig.json +9 -0
  277. package/node_modules/has-symbols/.eslintrc +11 -0
  278. package/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  279. package/node_modules/has-symbols/.nycrc +9 -0
  280. package/node_modules/has-symbols/CHANGELOG.md +91 -0
  281. package/node_modules/has-symbols/LICENSE +21 -0
  282. package/node_modules/has-symbols/README.md +46 -0
  283. package/node_modules/has-symbols/index.d.ts +3 -0
  284. package/node_modules/has-symbols/index.js +14 -0
  285. package/node_modules/has-symbols/package.json +111 -0
  286. package/node_modules/has-symbols/shams.d.ts +3 -0
  287. package/node_modules/has-symbols/shams.js +45 -0
  288. package/node_modules/has-symbols/test/index.js +22 -0
  289. package/node_modules/has-symbols/test/shams/core-js.js +29 -0
  290. package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  291. package/node_modules/has-symbols/test/tests.js +58 -0
  292. package/node_modules/has-symbols/tsconfig.json +10 -0
  293. package/node_modules/has-tostringtag/.eslintrc +5 -0
  294. package/node_modules/has-tostringtag/.github/FUNDING.yml +12 -0
  295. package/node_modules/has-tostringtag/.nycrc +13 -0
  296. package/node_modules/has-tostringtag/CHANGELOG.md +42 -0
  297. package/node_modules/has-tostringtag/LICENSE +21 -0
  298. package/node_modules/has-tostringtag/README.md +46 -0
  299. package/node_modules/has-tostringtag/index.d.ts +3 -0
  300. package/node_modules/has-tostringtag/index.js +8 -0
  301. package/node_modules/has-tostringtag/package.json +108 -0
  302. package/node_modules/has-tostringtag/shams.d.ts +3 -0
  303. package/node_modules/has-tostringtag/shams.js +8 -0
  304. package/node_modules/has-tostringtag/test/index.js +21 -0
  305. package/node_modules/has-tostringtag/test/shams/core-js.js +31 -0
  306. package/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js +30 -0
  307. package/node_modules/has-tostringtag/test/tests.js +15 -0
  308. package/node_modules/has-tostringtag/tsconfig.json +49 -0
  309. package/node_modules/hasown/.eslintrc +5 -0
  310. package/node_modules/hasown/.github/FUNDING.yml +12 -0
  311. package/node_modules/hasown/.nycrc +13 -0
  312. package/node_modules/hasown/CHANGELOG.md +40 -0
  313. package/node_modules/hasown/LICENSE +21 -0
  314. package/node_modules/hasown/README.md +40 -0
  315. package/node_modules/hasown/index.d.ts +3 -0
  316. package/node_modules/hasown/index.js +8 -0
  317. package/node_modules/hasown/package.json +92 -0
  318. package/node_modules/hasown/tsconfig.json +6 -0
  319. package/node_modules/long/README.md +93 -87
  320. package/node_modules/long/index.d.ts +2 -2
  321. package/node_modules/long/index.js +360 -246
  322. package/node_modules/long/package.json +12 -4
  323. package/node_modules/long/types.d.ts +474 -0
  324. package/node_modules/long/umd/index.d.ts +2 -456
  325. package/node_modules/long/umd/index.js +1585 -1395
  326. package/node_modules/long/umd/types.d.ts +474 -0
  327. package/node_modules/math-intrinsics/.eslintrc +16 -0
  328. package/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  329. package/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  330. package/node_modules/math-intrinsics/LICENSE +21 -0
  331. package/node_modules/math-intrinsics/README.md +50 -0
  332. package/node_modules/math-intrinsics/abs.d.ts +1 -0
  333. package/node_modules/math-intrinsics/abs.js +4 -0
  334. package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  335. package/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  336. package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  337. package/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  338. package/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  339. package/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  340. package/node_modules/math-intrinsics/floor.d.ts +1 -0
  341. package/node_modules/math-intrinsics/floor.js +4 -0
  342. package/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  343. package/node_modules/math-intrinsics/isFinite.js +12 -0
  344. package/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  345. package/node_modules/math-intrinsics/isInteger.js +16 -0
  346. package/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  347. package/node_modules/math-intrinsics/isNaN.js +6 -0
  348. package/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  349. package/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  350. package/node_modules/math-intrinsics/max.d.ts +1 -0
  351. package/node_modules/math-intrinsics/max.js +4 -0
  352. package/node_modules/math-intrinsics/min.d.ts +1 -0
  353. package/node_modules/math-intrinsics/min.js +4 -0
  354. package/node_modules/math-intrinsics/mod.d.ts +3 -0
  355. package/node_modules/math-intrinsics/mod.js +9 -0
  356. package/node_modules/math-intrinsics/package.json +86 -0
  357. package/node_modules/math-intrinsics/pow.d.ts +1 -0
  358. package/node_modules/math-intrinsics/pow.js +4 -0
  359. package/node_modules/math-intrinsics/round.d.ts +1 -0
  360. package/node_modules/math-intrinsics/round.js +4 -0
  361. package/node_modules/math-intrinsics/sign.d.ts +3 -0
  362. package/node_modules/math-intrinsics/sign.js +11 -0
  363. package/node_modules/math-intrinsics/test/index.js +192 -0
  364. package/node_modules/math-intrinsics/tsconfig.json +3 -0
  365. package/node_modules/protobufjs/dist/light/protobuf.js +531 -80
  366. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  367. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  368. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  369. package/node_modules/protobufjs/dist/minimal/protobuf.js +2 -2
  370. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +2 -2
  371. package/node_modules/protobufjs/dist/protobuf.js +671 -144
  372. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  373. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  374. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  375. package/node_modules/protobufjs/index.d.ts +71 -13
  376. package/node_modules/protobufjs/package.json +4 -2
  377. package/node_modules/protobufjs/src/decoder.js +8 -10
  378. package/node_modules/protobufjs/src/encoder.js +1 -1
  379. package/node_modules/protobufjs/src/enum.js +25 -0
  380. package/node_modules/protobufjs/src/field.js +104 -28
  381. package/node_modules/protobufjs/src/namespace.js +124 -13
  382. package/node_modules/protobufjs/src/object.js +139 -4
  383. package/node_modules/protobufjs/src/oneof.js +19 -0
  384. package/node_modules/protobufjs/src/parse.js +139 -63
  385. package/node_modules/protobufjs/src/root.js +52 -15
  386. package/node_modules/protobufjs/src/service.js +23 -1
  387. package/node_modules/protobufjs/src/type.js +29 -4
  388. package/node_modules/protobufjs/src/util.js +4 -1
  389. package/node_modules/strnum/.github/SECURITY.md +5 -0
  390. package/node_modules/strnum/CHANGELOG.md +33 -0
  391. package/node_modules/strnum/README.md +14 -3
  392. package/node_modules/strnum/algo.stflow +84 -0
  393. package/node_modules/strnum/package.json +9 -2
  394. package/node_modules/strnum/strnum.js +72 -67
  395. package/node_modules/strnum/strnum.test.js +29 -6
  396. package/node_modules/strnum/test.js +9 -0
  397. package/node_modules/undici-types/dispatcher.d.ts +1 -0
  398. package/node_modules/undici-types/package.json +1 -1
  399. package/node_modules/undici-types/readable.d.ts +5 -0
  400. package/node_modules/undici-types/webidl.d.ts +6 -0
  401. package/node_modules/uuid/README.md +12 -12
  402. package/node_modules/uuid/dist/cjs/types.d.ts +1 -1
  403. package/node_modules/uuid/dist/cjs/v1.d.ts +1 -1
  404. package/node_modules/uuid/dist/cjs/v1.js +1 -1
  405. package/node_modules/uuid/dist/cjs/v3.d.ts +1 -1
  406. package/node_modules/uuid/dist/cjs/v35.d.ts +1 -1
  407. package/node_modules/uuid/dist/cjs/v4.d.ts +1 -1
  408. package/node_modules/uuid/dist/cjs/v5.d.ts +1 -1
  409. package/node_modules/uuid/dist/cjs/v6.d.ts +1 -1
  410. package/node_modules/uuid/dist/cjs/v7.d.ts +1 -1
  411. package/node_modules/uuid/dist/cjs/v7.js +1 -1
  412. package/node_modules/uuid/dist/cjs-browser/types.d.ts +1 -1
  413. package/node_modules/uuid/dist/cjs-browser/v1.d.ts +1 -1
  414. package/node_modules/uuid/dist/cjs-browser/v1.js +1 -1
  415. package/node_modules/uuid/dist/cjs-browser/v3.d.ts +1 -1
  416. package/node_modules/uuid/dist/cjs-browser/v35.d.ts +1 -1
  417. package/node_modules/uuid/dist/cjs-browser/v4.d.ts +1 -1
  418. package/node_modules/uuid/dist/cjs-browser/v5.d.ts +1 -1
  419. package/node_modules/uuid/dist/cjs-browser/v6.d.ts +1 -1
  420. package/node_modules/uuid/dist/cjs-browser/v7.d.ts +1 -1
  421. package/node_modules/uuid/dist/cjs-browser/v7.js +1 -1
  422. package/node_modules/uuid/dist/esm/types.d.ts +1 -1
  423. package/node_modules/uuid/dist/esm/v1.d.ts +1 -1
  424. package/node_modules/uuid/dist/esm/v1.js +1 -1
  425. package/node_modules/uuid/dist/esm/v3.d.ts +1 -1
  426. package/node_modules/uuid/dist/esm/v35.d.ts +1 -1
  427. package/node_modules/uuid/dist/esm/v4.d.ts +1 -1
  428. package/node_modules/uuid/dist/esm/v5.d.ts +1 -1
  429. package/node_modules/uuid/dist/esm/v6.d.ts +1 -1
  430. package/node_modules/uuid/dist/esm/v7.d.ts +1 -1
  431. package/node_modules/uuid/dist/esm/v7.js +1 -1
  432. package/node_modules/uuid/dist/esm-browser/types.d.ts +1 -1
  433. package/node_modules/uuid/dist/esm-browser/v1.d.ts +1 -1
  434. package/node_modules/uuid/dist/esm-browser/v1.js +1 -1
  435. package/node_modules/uuid/dist/esm-browser/v3.d.ts +1 -1
  436. package/node_modules/uuid/dist/esm-browser/v35.d.ts +1 -1
  437. package/node_modules/uuid/dist/esm-browser/v4.d.ts +1 -1
  438. package/node_modules/uuid/dist/esm-browser/v5.d.ts +1 -1
  439. package/node_modules/uuid/dist/esm-browser/v6.d.ts +1 -1
  440. package/node_modules/uuid/dist/esm-browser/v7.d.ts +1 -1
  441. package/node_modules/uuid/dist/esm-browser/v7.js +1 -1
  442. package/node_modules/uuid/package.json +1 -1
  443. package/package.json +7 -7
  444. package/tak-registration.html +4 -4
  445. package/tak-registration.js +13 -6
  446. package/node_modules/axios/SECURITY.md +0 -6
  447. /package/node_modules/fast-xml-parser/src/{v5 → v6}/Report.js +0 -0
@@ -3,10 +3,17 @@ module.exports = ReflectionObject;
3
3
 
4
4
  ReflectionObject.className = "ReflectionObject";
5
5
 
6
+ const OneOf = require("./oneof");
6
7
  var util = require("./util");
7
8
 
8
9
  var Root; // cyclic
9
10
 
11
+ /* eslint-disable no-warning-comments */
12
+ // TODO: Replace with embedded proto.
13
+ var editions2023Defaults = {enum_type: "OPEN", field_presence: "EXPLICIT", json_format: "ALLOW", message_encoding: "LENGTH_PREFIXED", repeated_field_encoding: "PACKED", utf8_validation: "VERIFY"};
14
+ var proto2Defaults = {enum_type: "CLOSED", field_presence: "EXPLICIT", json_format: "LEGACY_BEST_EFFORT", message_encoding: "LENGTH_PREFIXED", repeated_field_encoding: "EXPANDED", utf8_validation: "NONE"};
15
+ var proto3Defaults = {enum_type: "OPEN", field_presence: "IMPLICIT", json_format: "ALLOW", message_encoding: "LENGTH_PREFIXED", repeated_field_encoding: "PACKED", utf8_validation: "VERIFY"};
16
+
10
17
  /**
11
18
  * Constructs a new reflection object instance.
12
19
  * @classdesc Base class of all reflection objects.
@@ -41,6 +48,35 @@ function ReflectionObject(name, options) {
41
48
  */
42
49
  this.name = name;
43
50
 
51
+ /**
52
+ * The edition specified for this object. Only relevant for top-level objects.
53
+ * @type {string}
54
+ * @private
55
+ */
56
+ this._edition = null;
57
+
58
+ /**
59
+ * The default edition to use for this object if none is specified. For legacy reasons,
60
+ * this is proto2 except in the JSON parsing case where it was proto3.
61
+ * @type {string}
62
+ * @private
63
+ */
64
+ this._defaultEdition = "proto2";
65
+
66
+ /**
67
+ * Resolved Features.
68
+ * @type {object}
69
+ * @private
70
+ */
71
+ this._features = {};
72
+
73
+ /**
74
+ * Whether or not features have been resolved.
75
+ * @type {boolean}
76
+ * @private
77
+ */
78
+ this._featuresResolved = false;
79
+
44
80
  /**
45
81
  * Parent namespace.
46
82
  * @type {Namespace|null}
@@ -151,6 +187,83 @@ ReflectionObject.prototype.resolve = function resolve() {
151
187
  return this;
152
188
  };
153
189
 
190
+ /**
191
+ * Resolves this objects editions features.
192
+ * @param {string} edition The edition we're currently resolving for.
193
+ * @returns {ReflectionObject} `this`
194
+ */
195
+ ReflectionObject.prototype._resolveFeaturesRecursive = function _resolveFeaturesRecursive(edition) {
196
+ return this._resolveFeatures(this._edition || edition);
197
+ };
198
+
199
+ /**
200
+ * Resolves child features from parent features
201
+ * @param {string} edition The edition we're currently resolving for.
202
+ * @returns {undefined}
203
+ */
204
+ ReflectionObject.prototype._resolveFeatures = function _resolveFeatures(edition) {
205
+ if (this._featuresResolved) {
206
+ return;
207
+ }
208
+
209
+ var defaults = {};
210
+
211
+ /* istanbul ignore if */
212
+ if (!edition) {
213
+ throw new Error("Unknown edition for " + this.fullName);
214
+ }
215
+
216
+ var protoFeatures = Object.assign(this.options ? Object.assign({}, this.options.features) : {},
217
+ this._inferLegacyProtoFeatures(edition));
218
+
219
+ if (this._edition) {
220
+ // For a namespace marked with a specific edition, reset defaults.
221
+ /* istanbul ignore else */
222
+ if (edition === "proto2") {
223
+ defaults = Object.assign({}, proto2Defaults);
224
+ } else if (edition === "proto3") {
225
+ defaults = Object.assign({}, proto3Defaults);
226
+ } else if (edition === "2023") {
227
+ defaults = Object.assign({}, editions2023Defaults);
228
+ } else {
229
+ throw new Error("Unknown edition: " + edition);
230
+ }
231
+ this._features = Object.assign(defaults, protoFeatures || {});
232
+ this._featuresResolved = true;
233
+ return;
234
+ }
235
+
236
+ // fields in Oneofs aren't actually children of them, so we have to
237
+ // special-case it
238
+ /* istanbul ignore else */
239
+ if (this.partOf instanceof OneOf) {
240
+ var lexicalParentFeaturesCopy = Object.assign({}, this.partOf._features);
241
+ this._features = Object.assign(lexicalParentFeaturesCopy, protoFeatures || {});
242
+ } else if (this.declaringField) {
243
+ // Skip feature resolution of sister fields.
244
+ } else if (this.parent) {
245
+ var parentFeaturesCopy = Object.assign({}, this.parent._features);
246
+ this._features = Object.assign(parentFeaturesCopy, protoFeatures || {});
247
+ } else {
248
+ throw new Error("Unable to find a parent for " + this.fullName);
249
+ }
250
+ if (this.extensionField) {
251
+ // Sister fields should have the same features as their extensions.
252
+ this.extensionField._features = this._features;
253
+ }
254
+ this._featuresResolved = true;
255
+ };
256
+
257
+ /**
258
+ * Infers features from legacy syntax that may have been specified differently.
259
+ * in older editions.
260
+ * @param {string|undefined} edition The edition this proto is on, or undefined if pre-editions
261
+ * @returns {object} The feature values to override
262
+ */
263
+ ReflectionObject.prototype._inferLegacyProtoFeatures = function _inferLegacyProtoFeatures(/*edition*/) {
264
+ return {};
265
+ };
266
+
154
267
  /**
155
268
  * Gets an option value.
156
269
  * @param {string} name Option name
@@ -166,12 +279,19 @@ ReflectionObject.prototype.getOption = function getOption(name) {
166
279
  * Sets an option.
167
280
  * @param {string} name Option name
168
281
  * @param {*} value Option value
169
- * @param {boolean} [ifNotSet] Sets the option only if it isn't currently set
282
+ * @param {boolean|undefined} [ifNotSet] Sets the option only if it isn't currently set
170
283
  * @returns {ReflectionObject} `this`
171
284
  */
172
285
  ReflectionObject.prototype.setOption = function setOption(name, value, ifNotSet) {
173
- if (!ifNotSet || !this.options || this.options[name] === undefined)
174
- (this.options || (this.options = {}))[name] = value;
286
+ if (!this.options)
287
+ this.options = {};
288
+ if (/^features\./.test(name)) {
289
+ util.setProperty(this.options, name, value, ifNotSet);
290
+ } else if (!ifNotSet || this.options[name] === undefined) {
291
+ if (this.getOption(name) !== value) this.resolved = false;
292
+ this.options[name] = value;
293
+ }
294
+
175
295
  return this;
176
296
  };
177
297
 
@@ -195,10 +315,11 @@ ReflectionObject.prototype.setParsedOption = function setParsedOption(name, valu
195
315
  });
196
316
  if (opt) {
197
317
  // If we found an existing option - just merge the property value
318
+ // (If it's a feature, will just write over)
198
319
  var newValue = opt[name];
199
320
  util.setProperty(newValue, propName, value);
200
321
  } else {
201
- // otherwise, create a new option, set it's property and add it to the list
322
+ // otherwise, create a new option, set its property and add it to the list
202
323
  opt = {};
203
324
  opt[name] = util.setProperty({}, propName, value);
204
325
  parsedOptions.push(opt);
@@ -209,6 +330,7 @@ ReflectionObject.prototype.setParsedOption = function setParsedOption(name, valu
209
330
  newOpt[name] = value;
210
331
  parsedOptions.push(newOpt);
211
332
  }
333
+
212
334
  return this;
213
335
  };
214
336
 
@@ -237,6 +359,19 @@ ReflectionObject.prototype.toString = function toString() {
237
359
  return className;
238
360
  };
239
361
 
362
+ /**
363
+ * Converts the edition this object is pinned to for JSON format.
364
+ * @returns {string|undefined} The edition string for JSON representation
365
+ */
366
+ ReflectionObject.prototype._editionToJSON = function _editionToJSON() {
367
+ if (!this._edition || this._edition === "proto3") {
368
+ // Avoid emitting proto3 since we need to default to it for backwards
369
+ // compatibility anyway.
370
+ return undefined;
371
+ }
372
+ return this._edition;
373
+ };
374
+
240
375
  // Sets up cyclic dependencies (called in index-light)
241
376
  ReflectionObject._configure = function(Root_) {
242
377
  Root = Root_;
@@ -171,6 +171,25 @@ OneOf.prototype.onRemove = function onRemove(parent) {
171
171
  ReflectionObject.prototype.onRemove.call(this, parent);
172
172
  };
173
173
 
174
+ /**
175
+ * Determines whether this field corresponds to a synthetic oneof created for
176
+ * a proto3 optional field. No behavioral logic should depend on this, but it
177
+ * can be relevant for reflection.
178
+ * @name OneOf#isProto3Optional
179
+ * @type {boolean}
180
+ * @readonly
181
+ */
182
+ Object.defineProperty(OneOf.prototype, "isProto3Optional", {
183
+ get: function() {
184
+ if (this.fieldsArray == null || this.fieldsArray.length !== 1) {
185
+ return false;
186
+ }
187
+
188
+ var field = this.fieldsArray[0];
189
+ return field.options != null && field.options["proto3_optional"] === true;
190
+ }
191
+ });
192
+
174
193
  /**
175
194
  * Decorator function as returned by {@link OneOf.d} (TypeScript).
176
195
  * @typedef OneOfDecorator
@@ -13,6 +13,7 @@ var tokenize = require("./tokenize"),
13
13
  Enum = require("./enum"),
14
14
  Service = require("./service"),
15
15
  Method = require("./method"),
16
+ ReflectionObject = require("./object"),
16
17
  types = require("./types"),
17
18
  util = require("./util");
18
19
 
@@ -24,8 +25,7 @@ var base10Re = /^[1-9][0-9]*$/,
24
25
  base8NegRe = /^-?0[0-7]+$/,
25
26
  numberRe = /^(?![eE])[0-9]*(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?$/,
26
27
  nameRe = /^[a-zA-Z_][a-zA-Z_0-9]*$/,
27
- typeRefRe = /^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*$/,
28
- fqTypeRefRe = /^(?:\.[a-zA-Z_][a-zA-Z_0-9]*)+$/;
28
+ typeRefRe = /^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*$/;
29
29
 
30
30
  /**
31
31
  * Result object returned from {@link parse}.
@@ -33,7 +33,6 @@ var base10Re = /^[1-9][0-9]*$/,
33
33
  * @property {string|undefined} package Package name, if declared
34
34
  * @property {string[]|undefined} imports Imports, if any
35
35
  * @property {string[]|undefined} weakImports Weak imports, if any
36
- * @property {string|undefined} syntax Syntax, if specified (either `"proto2"` or `"proto3"`)
37
36
  * @property {Root} root Populated root instance
38
37
  */
39
38
 
@@ -81,13 +80,25 @@ function parse(source, root, options) {
81
80
  pkg,
82
81
  imports,
83
82
  weakImports,
84
- syntax,
85
- isProto3 = false;
83
+ edition = "proto2";
86
84
 
87
85
  var ptr = root;
88
86
 
87
+ var topLevelObjects = [];
88
+ var topLevelOptions = {};
89
+
89
90
  var applyCase = options.keepCase ? function(name) { return name; } : util.camelCase;
90
91
 
92
+ function resolveFileFeatures() {
93
+ topLevelObjects.forEach(obj => {
94
+ obj._edition = edition;
95
+ Object.keys(topLevelOptions).forEach(opt => {
96
+ if (obj.getOption(opt) !== undefined) return;
97
+ obj.setOption(opt, topLevelOptions[opt], true);
98
+ });
99
+ });
100
+ }
101
+
91
102
  /* istanbul ignore next */
92
103
  function illegal(token, name, insideTryCatch) {
93
104
  var filename = parse.filename;
@@ -126,7 +137,6 @@ function parse(source, root, options) {
126
137
  try {
127
138
  return parseNumber(token, /* insideTryCatch */ true);
128
139
  } catch (e) {
129
-
130
140
  /* istanbul ignore else */
131
141
  if (acceptTypeRef && typeRefRe.test(token))
132
142
  return token;
@@ -139,10 +149,23 @@ function parse(source, root, options) {
139
149
  function readRanges(target, acceptStrings) {
140
150
  var token, start;
141
151
  do {
142
- if (acceptStrings && ((token = peek()) === "\"" || token === "'"))
143
- target.push(readString());
144
- else
145
- target.push([ start = parseId(next()), skip("to", true) ? parseId(next()) : start ]);
152
+ if (acceptStrings && ((token = peek()) === "\"" || token === "'")) {
153
+ var str = readString();
154
+ target.push(str);
155
+ if (edition >= 2023) {
156
+ throw illegal(str, "id");
157
+ }
158
+ } else {
159
+ try {
160
+ target.push([ start = parseId(next()), skip("to", true) ? parseId(next()) : start ]);
161
+ } catch (err) {
162
+ if (acceptStrings && typeRefRe.test(token) && edition >= 2023) {
163
+ target.push(token);
164
+ } else {
165
+ throw err;
166
+ }
167
+ }
168
+ }
146
169
  } while (skip(",", true));
147
170
  var dummy = {options: undefined};
148
171
  dummy.setOption = function(name, value) {
@@ -219,7 +242,6 @@ function parse(source, root, options) {
219
242
  }
220
243
 
221
244
  function parsePackage() {
222
-
223
245
  /* istanbul ignore if */
224
246
  if (pkg !== undefined)
225
247
  throw illegal("package");
@@ -231,6 +253,7 @@ function parse(source, root, options) {
231
253
  throw illegal(pkg, "name");
232
254
 
233
255
  ptr = ptr.define(pkg);
256
+
234
257
  skip(";");
235
258
  }
236
259
 
@@ -256,20 +279,28 @@ function parse(source, root, options) {
256
279
 
257
280
  function parseSyntax() {
258
281
  skip("=");
259
- syntax = readString();
260
- isProto3 = syntax === "proto3";
282
+ edition = readString();
261
283
 
262
284
  /* istanbul ignore if */
263
- if (!isProto3 && syntax !== "proto2")
264
- throw illegal(syntax, "syntax");
285
+ if (edition < 2023)
286
+ throw illegal(edition, "syntax");
265
287
 
266
- // Syntax is needed to understand the meaning of the optional field rule
267
- // Otherwise the meaning is ambiguous between proto2 and proto3
268
- root.setOption("syntax", syntax);
288
+ skip(";");
289
+ }
290
+
291
+ function parseEdition() {
292
+ skip("=");
293
+ edition = readString();
294
+ const supportedEditions = ["2023"];
295
+
296
+ /* istanbul ignore if */
297
+ if (!supportedEditions.includes(edition))
298
+ throw illegal(edition, "edition");
269
299
 
270
300
  skip(";");
271
301
  }
272
302
 
303
+
273
304
  function parseCommon(parent, token) {
274
305
  switch (token) {
275
306
 
@@ -337,14 +368,19 @@ function parse(source, root, options) {
337
368
  break;
338
369
 
339
370
  case "required":
371
+ if (edition !== "proto2")
372
+ throw illegal(token);
373
+ /* eslint-disable no-fallthrough */
340
374
  case "repeated":
341
375
  parseField(type, token);
342
376
  break;
343
377
 
344
378
  case "optional":
345
379
  /* istanbul ignore if */
346
- if (isProto3) {
380
+ if (edition === "proto3") {
347
381
  parseField(type, "proto3_optional");
382
+ } else if (edition !== "proto2") {
383
+ throw illegal(token);
348
384
  } else {
349
385
  parseField(type, "optional");
350
386
  }
@@ -364,8 +400,9 @@ function parse(source, root, options) {
364
400
 
365
401
  default:
366
402
  /* istanbul ignore if */
367
- if (!isProto3 || !typeRefRe.test(token))
403
+ if (edition === "proto2" || !typeRefRe.test(token)) {
368
404
  throw illegal(token);
405
+ }
369
406
 
370
407
  push(token);
371
408
  parseField(type, "optional");
@@ -373,6 +410,9 @@ function parse(source, root, options) {
373
410
  }
374
411
  });
375
412
  parent.add(type);
413
+ if (parent === ptr) {
414
+ topLevelObjects.push(type);
415
+ }
376
416
  }
377
417
 
378
418
  function parseField(parent, rule, extend) {
@@ -399,6 +439,7 @@ function parse(source, root, options) {
399
439
  var name = next();
400
440
 
401
441
  /* istanbul ignore if */
442
+
402
443
  if (!nameRe.test(name))
403
444
  throw illegal(name, "name");
404
445
 
@@ -406,6 +447,7 @@ function parse(source, root, options) {
406
447
  skip("=");
407
448
 
408
449
  var field = new Field(name, parseId(next()), type, rule, extend);
450
+
409
451
  ifBlock(field, function parseField_block(token) {
410
452
 
411
453
  /* istanbul ignore else */
@@ -428,15 +470,15 @@ function parse(source, root, options) {
428
470
  } else {
429
471
  parent.add(field);
430
472
  }
431
-
432
- // JSON defaults to packed=true if not set so we have to set packed=false explicity when
433
- // parsing proto2 descriptors without the option, where applicable. This must be done for
434
- // all known packable types and anything that could be an enum (= is not a basic type).
435
- if (!isProto3 && field.repeated && (types.packed[type] !== undefined || types.basic[type] === undefined))
436
- field.setOption("packed", false, /* ifNotSet */ true);
473
+ if (parent === ptr) {
474
+ topLevelObjects.push(field);
475
+ }
437
476
  }
438
477
 
439
478
  function parseGroup(parent, rule) {
479
+ if (edition >= 2023) {
480
+ throw illegal("group");
481
+ }
440
482
  var name = next();
441
483
 
442
484
  /* istanbul ignore if */
@@ -459,7 +501,6 @@ function parse(source, root, options) {
459
501
  parseOption(type, token);
460
502
  skip(";");
461
503
  break;
462
-
463
504
  case "required":
464
505
  case "repeated":
465
506
  parseField(type, token);
@@ -467,7 +508,7 @@ function parse(source, root, options) {
467
508
 
468
509
  case "optional":
469
510
  /* istanbul ignore if */
470
- if (isProto3) {
511
+ if (edition === "proto3") {
471
512
  parseField(type, "proto3_optional");
472
513
  } else {
473
514
  parseField(type, "optional");
@@ -482,6 +523,10 @@ function parse(source, root, options) {
482
523
  parseEnum(type, token);
483
524
  break;
484
525
 
526
+ case "reserved":
527
+ readRanges(type.reserved || (type.reserved = []), true);
528
+ break;
529
+
485
530
  /* istanbul ignore next */
486
531
  default:
487
532
  throw illegal(token); // there are no groups with proto3 semantics
@@ -565,6 +610,7 @@ function parse(source, root, options) {
565
610
 
566
611
  case "reserved":
567
612
  readRanges(enm.reserved || (enm.reserved = []), true);
613
+ if(enm.reserved === undefined) enm.reserved = [];
568
614
  break;
569
615
 
570
616
  default:
@@ -572,6 +618,9 @@ function parse(source, root, options) {
572
618
  }
573
619
  });
574
620
  parent.add(enm);
621
+ if (parent === ptr) {
622
+ topLevelObjects.push(enm);
623
+ }
575
624
  }
576
625
 
577
626
  function parseEnumValue(parent, token) {
@@ -585,10 +634,14 @@ function parse(source, root, options) {
585
634
  dummy = {
586
635
  options: undefined
587
636
  };
637
+ dummy.getOption = function(name) {
638
+ return this.options[name];
639
+ };
588
640
  dummy.setOption = function(name, value) {
589
- if (this.options === undefined)
590
- this.options = {};
591
- this.options[name] = value;
641
+ ReflectionObject.prototype.setOption.call(dummy, name, value);
642
+ };
643
+ dummy.setParsedOption = function() {
644
+ return undefined;
592
645
  };
593
646
  ifBlock(dummy, function parseEnumValue_block(token) {
594
647
 
@@ -602,34 +655,42 @@ function parse(source, root, options) {
602
655
  }, function parseEnumValue_line() {
603
656
  parseInlineOptions(dummy); // skip
604
657
  });
605
- parent.add(token, value, dummy.comment, dummy.options);
658
+ parent.add(token, value, dummy.comment, dummy.parsedOptions || dummy.options);
606
659
  }
607
660
 
608
661
  function parseOption(parent, token) {
609
- var isCustom = skip("(", true);
610
-
611
- /* istanbul ignore if */
612
- if (!typeRefRe.test(token = next()))
613
- throw illegal(token, "name");
614
-
615
- var name = token;
616
- var option = name;
617
- var propName;
662
+ var option;
663
+ var propName;
664
+ var isOption = true;
665
+ if (token === "option") {
666
+ token = next();
667
+ }
618
668
 
619
- if (isCustom) {
620
- skip(")");
621
- name = "(" + name + ")";
622
- option = name;
623
- token = peek();
624
- if (fqTypeRefRe.test(token)) {
625
- propName = token.slice(1); //remove '.' before property name
626
- name += token;
627
- next();
669
+ while (token !== "=") {
670
+ if (token === "(") {
671
+ var parensValue = next();
672
+ skip(")");
673
+ token = "(" + parensValue + ")";
674
+ }
675
+ if (isOption) {
676
+ isOption = false;
677
+ if (token.includes(".") && !token.includes("(")) {
678
+ var tokens = token.split(".");
679
+ option = tokens[0] + ".";
680
+ token = tokens[1];
681
+ continue;
682
+ }
683
+ option = token;
684
+ } else {
685
+ propName = propName ? propName += token : token;
686
+ }
687
+ token = next();
628
688
  }
629
- }
630
- skip("=");
631
- var optionValue = parseOptionValue(parent, name);
632
- setParsedOption(parent, option, optionValue, propName);
689
+ var name = propName ? option.concat(propName) : option;
690
+ var optionValue = parseOptionValue(parent, name);
691
+ propName = propName && propName[0] === "." ? propName.slice(1) : propName;
692
+ option = option && option[option.length - 1] === "." ? option.slice(0, -1) : option;
693
+ setParsedOption(parent, option, optionValue, propName);
633
694
  }
634
695
 
635
696
  function parseOptionValue(parent, name) {
@@ -651,12 +712,12 @@ function parse(source, root, options) {
651
712
 
652
713
  skip(":", true);
653
714
 
654
- if (peek() === "{")
655
- value = parseOptionValue(parent, name + "." + token);
656
- else if (peek() === "[") {
715
+ if (peek() === "{") {
657
716
  // option (my_option) = {
658
717
  // repeated_value: [ "foo", "bar" ]
659
718
  // };
719
+ value = parseOptionValue(parent, name + "." + token);
720
+ } else if (peek() === "[") {
660
721
  value = [];
661
722
  var lastValue;
662
723
  if (skip("[", true)) {
@@ -696,6 +757,10 @@ function parse(source, root, options) {
696
757
  }
697
758
 
698
759
  function setOption(parent, name, value) {
760
+ if (ptr === parent && /^features\./.test(name)) {
761
+ topLevelOptions[name] = value;
762
+ return;
763
+ }
699
764
  if (parent.setOption)
700
765
  parent.setOption(name, value);
701
766
  }
@@ -723,8 +788,9 @@ function parse(source, root, options) {
723
788
 
724
789
  var service = new Service(token);
725
790
  ifBlock(service, function parseService_block(token) {
726
- if (parseCommon(service, token))
791
+ if (parseCommon(service, token)) {
727
792
  return;
793
+ }
728
794
 
729
795
  /* istanbul ignore else */
730
796
  if (token === "rpc")
@@ -733,6 +799,9 @@ function parse(source, root, options) {
733
799
  throw illegal(token);
734
800
  });
735
801
  parent.add(service);
802
+ if (parent === ptr) {
803
+ topLevelObjects.push(service);
804
+ }
736
805
  }
737
806
 
738
807
  function parseMethod(parent, token) {
@@ -802,7 +871,7 @@ function parse(source, root, options) {
802
871
 
803
872
  case "optional":
804
873
  /* istanbul ignore if */
805
- if (isProto3) {
874
+ if (edition === "proto3") {
806
875
  parseField(parent, "proto3_optional", reference);
807
876
  } else {
808
877
  parseField(parent, "optional", reference);
@@ -811,7 +880,7 @@ function parse(source, root, options) {
811
880
 
812
881
  default:
813
882
  /* istanbul ignore if */
814
- if (!isProto3 || !typeRefRe.test(token))
883
+ if (edition === "proto2" || !typeRefRe.test(token))
815
884
  throw illegal(token);
816
885
  push(token);
817
886
  parseField(parent, "optional", reference);
@@ -851,10 +920,16 @@ function parse(source, root, options) {
851
920
  parseSyntax();
852
921
  break;
853
922
 
854
- case "option":
923
+ case "edition":
924
+ /* istanbul ignore if */
925
+ if (!head)
926
+ throw illegal(token);
927
+ parseEdition();
928
+ break;
855
929
 
930
+ case "option":
856
931
  parseOption(ptr, token);
857
- skip(";");
932
+ skip(";", true);
858
933
  break;
859
934
 
860
935
  default:
@@ -870,12 +945,13 @@ function parse(source, root, options) {
870
945
  }
871
946
  }
872
947
 
948
+ resolveFileFeatures();
949
+
873
950
  parse.filename = null;
874
951
  return {
875
952
  "package" : pkg,
876
953
  "imports" : imports,
877
954
  weakImports : weakImports,
878
- syntax : syntax,
879
955
  root : root
880
956
  };
881
957
  }