node-red-contrib-tak-registration 0.14.0 → 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 +16 -7
  446. package/node_modules/axios/SECURITY.md +0 -6
  447. /package/node_modules/fast-xml-parser/src/{v5 → v6}/Report.js +0 -0
@@ -179,6 +179,9 @@ export class Enum extends ReflectionObject {
179
179
  /** Values options, if any */
180
180
  public valuesOptions?: { [k: string]: { [k: string]: any } };
181
181
 
182
+ /** Resolved values features, if any */
183
+ public _valuesFeatures?: { [k: string]: { [k: string]: any } };
184
+
182
185
  /** Reserved ranges, if any. */
183
186
  public reserved: (number[]|string)[];
184
187
 
@@ -267,9 +270,24 @@ export class Field extends FieldBase {
267
270
  */
268
271
  public static fromJSON(name: string, json: IField): Field;
269
272
 
270
- /** Determines whether this field is packed. Only relevant when repeated and working with proto2. */
273
+ /** Determines whether this field is required. */
274
+ public readonly required: boolean;
275
+
276
+ /** Determines whether this field is not required. */
277
+ public readonly optional: boolean;
278
+
279
+ /**
280
+ * Determines whether this field uses tag-delimited encoding. In proto2 this
281
+ * corresponded to group syntax.
282
+ */
283
+ public readonly delimited: boolean;
284
+
285
+ /** Determines whether this field is packed. Only relevant when repeated. */
271
286
  public readonly packed: boolean;
272
287
 
288
+ /** Determines whether this field tracks presence. */
289
+ public readonly hasPresence: boolean;
290
+
273
291
  /**
274
292
  * Field decorator (TypeScript).
275
293
  * @param fieldId Field id
@@ -314,12 +332,6 @@ export class FieldBase extends ReflectionObject {
314
332
  /** Extended type if different from parent. */
315
333
  public extend?: string;
316
334
 
317
- /** Whether this field is required. */
318
- public required: boolean;
319
-
320
- /** Whether this field is optional. */
321
- public optional: boolean;
322
-
323
335
  /** Whether this field is repeated. */
324
336
  public repeated: boolean;
325
337
 
@@ -369,6 +381,14 @@ export class FieldBase extends ReflectionObject {
369
381
  * @throws {Error} If any reference cannot be resolved
370
382
  */
371
383
  public resolve(): Field;
384
+
385
+ /**
386
+ * Infers field features from legacy syntax that may have been specified differently.
387
+ * in older editions.
388
+ * @param edition The edition this proto is on, or undefined if pre-editions
389
+ * @returns The feature values to override
390
+ */
391
+ public _inferLegacyProtoFeatures(edition: (string|undefined)): object;
372
392
  }
373
393
 
374
394
  /** Field descriptor. */
@@ -730,6 +750,12 @@ export abstract class NamespaceBase extends ReflectionObject {
730
750
  /** Nested objects by name. */
731
751
  public nested?: { [k: string]: ReflectionObject };
732
752
 
753
+ /** Whether or not objects contained in this namespace need feature resolution. */
754
+ protected _needsRecursiveFeatureResolution: boolean;
755
+
756
+ /** Whether or not objects contained in this namespace need a resolve. */
757
+ protected _needsRecursiveResolve: boolean;
758
+
733
759
  /** Nested objects of this namespace as an array for iteration. */
734
760
  public readonly nestedArray: ReflectionObject[];
735
761
 
@@ -919,6 +945,27 @@ export abstract class ReflectionObject {
919
945
  */
920
946
  public resolve(): ReflectionObject;
921
947
 
948
+ /**
949
+ * Resolves this objects editions features.
950
+ * @param edition The edition we're currently resolving for.
951
+ * @returns `this`
952
+ */
953
+ public _resolveFeaturesRecursive(edition: string): ReflectionObject;
954
+
955
+ /**
956
+ * Resolves child features from parent features
957
+ * @param edition The edition we're currently resolving for.
958
+ */
959
+ public _resolveFeatures(edition: string): void;
960
+
961
+ /**
962
+ * Infers features from legacy syntax that may have been specified differently.
963
+ * in older editions.
964
+ * @param edition The edition this proto is on, or undefined if pre-editions
965
+ * @returns The feature values to override
966
+ */
967
+ public _inferLegacyProtoFeatures(edition: (string|undefined)): object;
968
+
922
969
  /**
923
970
  * Gets an option value.
924
971
  * @param name Option name
@@ -933,7 +980,7 @@ export abstract class ReflectionObject {
933
980
  * @param [ifNotSet] Sets the option only if it isn't currently set
934
981
  * @returns `this`
935
982
  */
936
- public setOption(name: string, value: any, ifNotSet?: boolean): ReflectionObject;
983
+ public setOption(name: string, value: any, ifNotSet?: (boolean|undefined)): ReflectionObject;
937
984
 
938
985
  /**
939
986
  * Sets a parsed option.
@@ -957,6 +1004,12 @@ export abstract class ReflectionObject {
957
1004
  * @returns Class name[, space, full name]
958
1005
  */
959
1006
  public toString(): string;
1007
+
1008
+ /**
1009
+ * Converts the edition this object is pinned to for JSON format.
1010
+ * @returns The edition string for JSON representation
1011
+ */
1012
+ public _editionToJSON(): (string|undefined);
960
1013
  }
961
1014
 
962
1015
  /** Reflected oneof. */
@@ -1010,6 +1063,13 @@ export class OneOf extends ReflectionObject {
1010
1063
  */
1011
1064
  public remove(field: Field): OneOf;
1012
1065
 
1066
+ /**
1067
+ * Determines whether this field corresponds to a synthetic oneof created for
1068
+ * a proto3 optional field. No behavioral logic should depend on this, but it
1069
+ * can be relevant for reflection.
1070
+ */
1071
+ public readonly isProto3Optional: boolean;
1072
+
1013
1073
  /**
1014
1074
  * OneOf decorator (TypeScript).
1015
1075
  * @param fieldNames Field names
@@ -1055,9 +1115,6 @@ export interface IParserResult {
1055
1115
  /** Weak imports, if any */
1056
1116
  weakImports: (string[]|undefined);
1057
1117
 
1058
- /** Syntax, if specified (either `"proto2"` or `"proto3"`) */
1059
- syntax: (string|undefined);
1060
-
1061
1118
  /** Populated root instance */
1062
1119
  root: Root;
1063
1120
  }
@@ -1255,7 +1312,7 @@ export class Root extends NamespaceBase {
1255
1312
 
1256
1313
  /**
1257
1314
  * Loads a namespace descriptor into a root namespace.
1258
- * @param json Nameespace descriptor
1315
+ * @param json Namespace descriptor
1259
1316
  * @param [root] Root namespace, defaults to create a new one if omitted
1260
1317
  * @returns Root namespace
1261
1318
  */
@@ -2194,9 +2251,10 @@ export namespace util {
2194
2251
  * @param dst Destination object
2195
2252
  * @param path dot '.' delimited path of the property to set
2196
2253
  * @param value the value to set
2254
+ * @param [ifNotSet] Sets the option only if it isn't currently set
2197
2255
  * @returns Destination object
2198
2256
  */
2199
- function setProperty(dst: { [k: string]: any }, path: string, value: object): { [k: string]: any };
2257
+ function setProperty(dst: { [k: string]: any }, path: string, value: object, ifNotSet?: (boolean|undefined)): { [k: string]: any };
2200
2258
 
2201
2259
  /** Decorator root (TypeScript). */
2202
2260
  let decorateRoot: Root;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "protobufjs",
3
- "version": "7.4.0",
3
+ "version": "7.5.2",
4
4
  "versionScheme": "~",
5
5
  "description": "Protocol Buffers for JavaScript (& TypeScript).",
6
6
  "author": "Daniel Wirtz <dcode+protobufjs@dcode.io>",
@@ -33,7 +33,9 @@
33
33
  "build:bundle": "gulp --gulpfile scripts/gulpfile.js",
34
34
  "build:types": "node cli/bin/pbts --main --global protobuf --out index.d.ts src/ lib/aspromise/index.js lib/base64/index.js lib/codegen/index.js lib/eventemitter/index.js lib/float/index.js lib/fetch/index.js lib/inquire/index.js lib/path/index.js lib/pool/index.js lib/utf8/index.js",
35
35
  "changelog": "node scripts/changelog -w",
36
- "coverage": "nyc tape -r ./lib/tape-adapter tests/*.js tests/node/*.js",
36
+ "coverage": "npm run coverage:test && npm run coverage:report",
37
+ "coverage:test": "nyc --silent tape -r ./lib/tape-adapter tests/*.js tests/node/*.js",
38
+ "coverage:report": "nyc report --reporter=lcov --reporter=text",
37
39
  "docs": "jsdoc -c config/jsdoc.json -R README.md --verbose --pedantic",
38
40
  "lint": "npm run lint:sources && npm run lint:types",
39
41
  "lint:sources": "eslint \"**/*.js\" -c config/eslint.json",
@@ -16,16 +16,14 @@ function missing(field) {
16
16
  */
17
17
  function decoder(mtype) {
18
18
  /* eslint-disable no-unexpected-multiline */
19
- var gen = util.codegen(["r", "l"], mtype.name + "$decode")
19
+ var gen = util.codegen(["r", "l", "e"], mtype.name + "$decode")
20
20
  ("if(!(r instanceof Reader))")
21
21
  ("r=Reader.create(r)")
22
22
  ("var c=l===undefined?r.len:r.pos+l,m=new this.ctor" + (mtype.fieldsArray.filter(function(field) { return field.map; }).length ? ",k,value" : ""))
23
23
  ("while(r.pos<c){")
24
- ("var t=r.uint32()");
25
- if (mtype.group) gen
26
- ("if((t&7)===4)")
27
- ("break");
28
- gen
24
+ ("var t=r.uint32()")
25
+ ("if(t===e)")
26
+ ("break")
29
27
  ("switch(t>>>3){");
30
28
 
31
29
  var i = 0;
@@ -91,15 +89,15 @@ function decoder(mtype) {
91
89
  ("}else");
92
90
 
93
91
  // Non-packed
94
- if (types.basic[type] === undefined) gen(field.resolvedType.group
95
- ? "%s.push(types[%i].decode(r))"
92
+ if (types.basic[type] === undefined) gen(field.delimited
93
+ ? "%s.push(types[%i].decode(r,undefined,((t&~7)|4)))"
96
94
  : "%s.push(types[%i].decode(r,r.uint32()))", ref, i);
97
95
  else gen
98
96
  ("%s.push(r.%s())", ref, type);
99
97
 
100
98
  // Non-repeated
101
- } else if (types.basic[type] === undefined) gen(field.resolvedType.group
102
- ? "%s=types[%i].decode(r)"
99
+ } else if (types.basic[type] === undefined) gen(field.delimited
100
+ ? "%s=types[%i].decode(r,undefined,((t&~7)|4))"
103
101
  : "%s=types[%i].decode(r,r.uint32())", ref, i);
104
102
  else gen
105
103
  ("%s=r.%s()", ref, type);
@@ -15,7 +15,7 @@ var Enum = require("./enum"),
15
15
  * @ignore
16
16
  */
17
17
  function genTypePartial(gen, field, fieldIndex, ref) {
18
- return field.resolvedType.group
18
+ return field.delimited
19
19
  ? gen("types[%i].encode(%s,w.uint32(%i)).uint32(%i)", fieldIndex, ref, (field.id << 3 | 3) >>> 0, (field.id << 3 | 4) >>> 0)
20
20
  : gen("types[%i].encode(%s,w.uint32(%i).fork()).ldelim()", fieldIndex, ref, (field.id << 3 | 2) >>> 0);
21
21
  }
@@ -56,6 +56,12 @@ function Enum(name, values, options, comment, comments, valuesOptions) {
56
56
  */
57
57
  this.valuesOptions = valuesOptions;
58
58
 
59
+ /**
60
+ * Resolved values features, if any
61
+ * @type {Object<string, Object<string, *>>|undefined}
62
+ */
63
+ this._valuesFeatures = {};
64
+
59
65
  /**
60
66
  * Reserved ranges, if any.
61
67
  * @type {Array.<number[]|string>}
@@ -72,6 +78,21 @@ function Enum(name, values, options, comment, comments, valuesOptions) {
72
78
  this.valuesById[ this.values[keys[i]] = values[keys[i]] ] = keys[i];
73
79
  }
74
80
 
81
+ /**
82
+ * @override
83
+ */
84
+ Enum.prototype._resolveFeatures = function _resolveFeatures(edition) {
85
+ edition = this._edition || edition;
86
+ ReflectionObject.prototype._resolveFeatures.call(this, edition);
87
+
88
+ Object.keys(this.values).forEach(key => {
89
+ var parentFeaturesCopy = Object.assign({}, this._features);
90
+ this._valuesFeatures[key] = Object.assign(parentFeaturesCopy, this.valuesOptions && this.valuesOptions[key] && this.valuesOptions[key].features);
91
+ });
92
+
93
+ return this;
94
+ };
95
+
75
96
  /**
76
97
  * Enum descriptor.
77
98
  * @interface IEnum
@@ -89,6 +110,9 @@ function Enum(name, values, options, comment, comments, valuesOptions) {
89
110
  Enum.fromJSON = function fromJSON(name, json) {
90
111
  var enm = new Enum(name, json.values, json.options, json.comment, json.comments);
91
112
  enm.reserved = json.reserved;
113
+ if (json.edition)
114
+ enm._edition = json.edition;
115
+ enm._defaultEdition = "proto3"; // For backwards-compatibility.
92
116
  return enm;
93
117
  };
94
118
 
@@ -100,6 +124,7 @@ Enum.fromJSON = function fromJSON(name, json) {
100
124
  Enum.prototype.toJSON = function toJSON(toJSONOptions) {
101
125
  var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
102
126
  return util.toObject([
127
+ "edition" , this._editionToJSON(),
103
128
  "options" , this.options,
104
129
  "valuesOptions" , this.valuesOptions,
105
130
  "values" , this.values,
@@ -35,7 +35,11 @@ var ruleRe = /^required|optional|repeated$/;
35
35
  * @throws {TypeError} If arguments are invalid
36
36
  */
37
37
  Field.fromJSON = function fromJSON(name, json) {
38
- return new Field(name, json.id, json.type, json.rule, json.extend, json.options, json.comment);
38
+ var field = new Field(name, json.id, json.type, json.rule, json.extend, json.options, json.comment);
39
+ if (json.edition)
40
+ field._edition = json.edition;
41
+ field._defaultEdition = "proto3"; // For backwards-compatibility.
42
+ return field;
39
43
  };
40
44
 
41
45
  /**
@@ -105,18 +109,6 @@ function Field(name, id, type, rule, extend, options, comment) {
105
109
  */
106
110
  this.extend = extend || undefined; // toJSON
107
111
 
108
- /**
109
- * Whether this field is required.
110
- * @type {boolean}
111
- */
112
- this.required = rule === "required";
113
-
114
- /**
115
- * Whether this field is optional.
116
- * @type {boolean}
117
- */
118
- this.optional = !this.required;
119
-
120
112
  /**
121
113
  * Whether this field is repeated.
122
114
  * @type {boolean}
@@ -183,13 +175,6 @@ function Field(name, id, type, rule, extend, options, comment) {
183
175
  */
184
176
  this.declaringField = null;
185
177
 
186
- /**
187
- * Internally remembers whether this field is packed.
188
- * @type {boolean|null}
189
- * @private
190
- */
191
- this._packed = null;
192
-
193
178
  /**
194
179
  * Comment for this field.
195
180
  * @type {string|null}
@@ -198,17 +183,69 @@ function Field(name, id, type, rule, extend, options, comment) {
198
183
  }
199
184
 
200
185
  /**
201
- * Determines whether this field is packed. Only relevant when repeated and working with proto2.
186
+ * Determines whether this field is required.
187
+ * @name Field#required
188
+ * @type {boolean}
189
+ * @readonly
190
+ */
191
+ Object.defineProperty(Field.prototype, "required", {
192
+ get: function() {
193
+ return this._features.field_presence === "LEGACY_REQUIRED";
194
+ }
195
+ });
196
+
197
+ /**
198
+ * Determines whether this field is not required.
199
+ * @name Field#optional
200
+ * @type {boolean}
201
+ * @readonly
202
+ */
203
+ Object.defineProperty(Field.prototype, "optional", {
204
+ get: function() {
205
+ return !this.required;
206
+ }
207
+ });
208
+
209
+ /**
210
+ * Determines whether this field uses tag-delimited encoding. In proto2 this
211
+ * corresponded to group syntax.
212
+ * @name Field#delimited
213
+ * @type {boolean}
214
+ * @readonly
215
+ */
216
+ Object.defineProperty(Field.prototype, "delimited", {
217
+ get: function() {
218
+ return this.resolvedType instanceof Type &&
219
+ this._features.message_encoding === "DELIMITED";
220
+ }
221
+ });
222
+
223
+ /**
224
+ * Determines whether this field is packed. Only relevant when repeated.
202
225
  * @name Field#packed
203
226
  * @type {boolean}
204
227
  * @readonly
205
228
  */
206
229
  Object.defineProperty(Field.prototype, "packed", {
207
230
  get: function() {
208
- // defaults to packed=true if not explicity set to false
209
- if (this._packed === null)
210
- this._packed = this.getOption("packed") !== false;
211
- return this._packed;
231
+ return this._features.repeated_field_encoding === "PACKED";
232
+ }
233
+ });
234
+
235
+ /**
236
+ * Determines whether this field tracks presence.
237
+ * @name Field#hasPresence
238
+ * @type {boolean}
239
+ * @readonly
240
+ */
241
+ Object.defineProperty(Field.prototype, "hasPresence", {
242
+ get: function() {
243
+ if (this.repeated || this.map) {
244
+ return false;
245
+ }
246
+ return this.partOf || // oneofs
247
+ this.declaringField || this.extensionField || // extensions
248
+ this._features.field_presence !== "IMPLICIT";
212
249
  }
213
250
  });
214
251
 
@@ -216,8 +253,6 @@ Object.defineProperty(Field.prototype, "packed", {
216
253
  * @override
217
254
  */
218
255
  Field.prototype.setOption = function setOption(name, value, ifNotSet) {
219
- if (name === "packed") // clear cached before setting
220
- this._packed = null;
221
256
  return ReflectionObject.prototype.setOption.call(this, name, value, ifNotSet);
222
257
  };
223
258
 
@@ -245,6 +280,7 @@ Field.prototype.setOption = function setOption(name, value, ifNotSet) {
245
280
  Field.prototype.toJSON = function toJSON(toJSONOptions) {
246
281
  var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
247
282
  return util.toObject([
283
+ "edition" , this._editionToJSON(),
248
284
  "rule" , this.rule !== "optional" && this.rule || undefined,
249
285
  "type" , this.type,
250
286
  "id" , this.id,
@@ -284,7 +320,7 @@ Field.prototype.resolve = function resolve() {
284
320
 
285
321
  // remove unnecessary options
286
322
  if (this.options) {
287
- if (this.options.packed === true || this.options.packed !== undefined && this.resolvedType && !(this.resolvedType instanceof Enum))
323
+ if (this.options.packed !== undefined && this.resolvedType && !(this.resolvedType instanceof Enum))
288
324
  delete this.options.packed;
289
325
  if (!Object.keys(this.options).length)
290
326
  this.options = undefined;
@@ -322,6 +358,46 @@ Field.prototype.resolve = function resolve() {
322
358
  return ReflectionObject.prototype.resolve.call(this);
323
359
  };
324
360
 
361
+ /**
362
+ * Infers field features from legacy syntax that may have been specified differently.
363
+ * in older editions.
364
+ * @param {string|undefined} edition The edition this proto is on, or undefined if pre-editions
365
+ * @returns {object} The feature values to override
366
+ */
367
+ Field.prototype._inferLegacyProtoFeatures = function _inferLegacyProtoFeatures(edition) {
368
+ if (edition !== "proto2" && edition !== "proto3") {
369
+ return {};
370
+ }
371
+
372
+ var features = {};
373
+
374
+ if (this.rule === "required") {
375
+ features.field_presence = "LEGACY_REQUIRED";
376
+ }
377
+ if (this.parent && types.defaults[this.type] === undefined) {
378
+ // We can't use resolvedType because types may not have been resolved yet. However,
379
+ // legacy groups are always in the same scope as the field so we don't have to do a
380
+ // full scan of the tree.
381
+ var type = this.parent.get(this.type.split(".").pop());
382
+ if (type && type instanceof Type && type.group) {
383
+ features.message_encoding = "DELIMITED";
384
+ }
385
+ }
386
+ if (this.getOption("packed") === true) {
387
+ features.repeated_field_encoding = "PACKED";
388
+ } else if (this.getOption("packed") === false) {
389
+ features.repeated_field_encoding = "EXPANDED";
390
+ }
391
+ return features;
392
+ };
393
+
394
+ /**
395
+ * @override
396
+ */
397
+ Field.prototype._resolveFeatures = function _resolveFeatures(edition) {
398
+ return ReflectionObject.prototype._resolveFeatures.call(this, this._edition || edition);
399
+ };
400
+
325
401
  /**
326
402
  * Decorator function as returned by {@link Field.d} and {@link MapField.d} (TypeScript).
327
403
  * @typedef FieldDecorator
@@ -108,10 +108,40 @@ function Namespace(name, options) {
108
108
  * @private
109
109
  */
110
110
  this._nestedArray = null;
111
+
112
+ /**
113
+ * Cache lookup calls for any objects contains anywhere under this namespace.
114
+ * This drastically speeds up resolve for large cross-linked protos where the same
115
+ * types are looked up repeatedly.
116
+ * @type {Object.<string,ReflectionObject|null>}
117
+ * @private
118
+ */
119
+ this._lookupCache = {};
120
+
121
+ /**
122
+ * Whether or not objects contained in this namespace need feature resolution.
123
+ * @type {boolean}
124
+ * @protected
125
+ */
126
+ this._needsRecursiveFeatureResolution = true;
127
+
128
+ /**
129
+ * Whether or not objects contained in this namespace need a resolve.
130
+ * @type {boolean}
131
+ * @protected
132
+ */
133
+ this._needsRecursiveResolve = true;
111
134
  }
112
135
 
113
136
  function clearCache(namespace) {
114
137
  namespace._nestedArray = null;
138
+ namespace._lookupCache = {};
139
+
140
+ // Also clear parent caches, since they include nested lookups.
141
+ var parent = namespace;
142
+ while(parent = parent.parent) {
143
+ parent._lookupCache = {};
144
+ }
115
145
  return namespace;
116
146
  }
117
147
 
@@ -240,6 +270,25 @@ Namespace.prototype.add = function add(object) {
240
270
  }
241
271
  }
242
272
  this.nested[object.name] = object;
273
+
274
+ if (!(this instanceof Type || this instanceof Service || this instanceof Enum || this instanceof Field)) {
275
+ // This is a package or a root namespace.
276
+ if (!object._edition) {
277
+ // Make sure that some edition is set if it hasn't already been specified.
278
+ object._edition = object._defaultEdition;
279
+ }
280
+ }
281
+
282
+ this._needsRecursiveFeatureResolution = true;
283
+ this._needsRecursiveResolve = true;
284
+
285
+ // Also clear parent caches, since they need to recurse down.
286
+ var parent = this;
287
+ while(parent = parent.parent) {
288
+ parent._needsRecursiveFeatureResolution = true;
289
+ parent._needsRecursiveResolve = true;
290
+ }
291
+
243
292
  object.onAdd(this);
244
293
  return clearCache(this);
245
294
  };
@@ -301,13 +350,33 @@ Namespace.prototype.define = function define(path, json) {
301
350
  * @returns {Namespace} `this`
302
351
  */
303
352
  Namespace.prototype.resolveAll = function resolveAll() {
353
+ if (!this._needsRecursiveResolve) return this;
354
+
304
355
  var nested = this.nestedArray, i = 0;
356
+ this.resolve();
305
357
  while (i < nested.length)
306
358
  if (nested[i] instanceof Namespace)
307
359
  nested[i++].resolveAll();
308
360
  else
309
361
  nested[i++].resolve();
310
- return this.resolve();
362
+ this._needsRecursiveResolve = false;
363
+ return this;
364
+ };
365
+
366
+ /**
367
+ * @override
368
+ */
369
+ Namespace.prototype._resolveFeaturesRecursive = function _resolveFeaturesRecursive(edition) {
370
+ if (!this._needsRecursiveFeatureResolution) return this;
371
+ this._needsRecursiveFeatureResolution = false;
372
+
373
+ edition = this._edition || edition;
374
+
375
+ ReflectionObject.prototype._resolveFeaturesRecursive.call(this, edition);
376
+ this.nestedArray.forEach(nested => {
377
+ nested._resolveFeaturesRecursive(edition);
378
+ });
379
+ return this;
311
380
  };
312
381
 
313
382
  /**
@@ -318,7 +387,6 @@ Namespace.prototype.resolveAll = function resolveAll() {
318
387
  * @returns {ReflectionObject|null} Looked up object or `null` if none could be found
319
388
  */
320
389
  Namespace.prototype.lookup = function lookup(path, filterTypes, parentAlreadyChecked) {
321
-
322
390
  /* istanbul ignore next */
323
391
  if (typeof filterTypes === "boolean") {
324
392
  parentAlreadyChecked = filterTypes;
@@ -333,29 +401,72 @@ Namespace.prototype.lookup = function lookup(path, filterTypes, parentAlreadyChe
333
401
  } else if (!path.length)
334
402
  return this;
335
403
 
404
+ var flatPath = path.join(".");
405
+
336
406
  // Start at root if path is absolute
337
407
  if (path[0] === "")
338
408
  return this.root.lookup(path.slice(1), filterTypes);
339
409
 
410
+ // Early bailout for objects with matching absolute paths
411
+ var found = this.root._fullyQualifiedObjects["." + flatPath];
412
+ if (found && (!filterTypes || filterTypes.indexOf(found.constructor) > -1)) {
413
+ return found;
414
+ }
415
+
416
+ // Do a regular lookup at this namespace and below
417
+ found = this._lookupImpl(path, flatPath);
418
+ if (found && (!filterTypes || filterTypes.indexOf(found.constructor) > -1)) {
419
+ return found;
420
+ }
421
+
422
+ if (parentAlreadyChecked)
423
+ return null;
424
+
425
+ // If there hasn't been a match, walk up the tree and look more broadly
426
+ var current = this;
427
+ while (current.parent) {
428
+ found = current.parent._lookupImpl(path, flatPath);
429
+ if (found && (!filterTypes || filterTypes.indexOf(found.constructor) > -1)) {
430
+ return found;
431
+ }
432
+ current = current.parent;
433
+ }
434
+ return null;
435
+ };
436
+
437
+ /**
438
+ * Internal helper for lookup that handles searching just at this namespace and below along with caching.
439
+ * @param {string[]} path Path to look up
440
+ * @param {string} flatPath Flattened version of the path to use as a cache key
441
+ * @returns {ReflectionObject|null} Looked up object or `null` if none could be found
442
+ * @private
443
+ */
444
+ Namespace.prototype._lookupImpl = function lookup(path, flatPath) {
445
+ if(Object.prototype.hasOwnProperty.call(this._lookupCache, flatPath)) {
446
+ return this._lookupCache[flatPath];
447
+ }
448
+
340
449
  // Test if the first part matches any nested object, and if so, traverse if path contains more
341
450
  var found = this.get(path[0]);
451
+ var exact = null;
342
452
  if (found) {
343
453
  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;
454
+ exact = found;
455
+ } else if (found instanceof Namespace) {
456
+ path = path.slice(1);
457
+ exact = found._lookupImpl(path, path.join("."));
458
+ }
348
459
 
349
460
  // Otherwise try each nested namespace
350
- } else
461
+ } else {
351
462
  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;
463
+ if (this._nestedArray[i] instanceof Namespace && (found = this._nestedArray[i]._lookupImpl(path, flatPath)))
464
+ exact = found;
465
+ }
354
466
 
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);
467
+ // Set this even when null, so that when we walk up the tree we can quickly bail on repeated checks back down.
468
+ this._lookupCache[flatPath] = exact;
469
+ return exact;
359
470
  };
360
471
 
361
472
  /**