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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. package/node_modules/@types/node/README.md +2 -2
  2. package/node_modules/@types/node/assert.d.ts +88 -44
  3. package/node_modules/@types/node/async_hooks.d.ts +17 -15
  4. package/node_modules/@types/node/buffer.d.ts +29 -110
  5. package/node_modules/@types/node/child_process.d.ts +38 -34
  6. package/node_modules/@types/node/cluster.d.ts +165 -19
  7. package/node_modules/@types/node/console.d.ts +64 -27
  8. package/node_modules/@types/node/crypto.d.ts +106 -142
  9. package/node_modules/@types/node/dgram.d.ts +14 -14
  10. package/node_modules/@types/node/diagnostics_channel.d.ts +12 -3
  11. package/node_modules/@types/node/dns/promises.d.ts +79 -28
  12. package/node_modules/@types/node/dns.d.ts +124 -69
  13. package/node_modules/@types/node/dom-events.d.ts +2 -0
  14. package/node_modules/@types/node/domain.d.ts +4 -4
  15. package/node_modules/@types/node/events.d.ts +115 -63
  16. package/node_modules/@types/node/fs/promises.d.ts +34 -12
  17. package/node_modules/@types/node/fs.d.ts +104 -40
  18. package/node_modules/@types/node/globals.d.ts +1 -0
  19. package/node_modules/@types/node/http.d.ts +69 -48
  20. package/node_modules/@types/node/http2.d.ts +83 -47
  21. package/node_modules/@types/node/https.d.ts +3 -3
  22. package/node_modules/@types/node/index.d.ts +1 -0
  23. package/node_modules/@types/node/inspector.d.ts +5 -6
  24. package/node_modules/@types/node/module.d.ts +0 -14
  25. package/node_modules/@types/node/net.d.ts +58 -13
  26. package/node_modules/@types/node/os.d.ts +29 -12
  27. package/node_modules/@types/node/package.json +4 -16
  28. package/node_modules/@types/node/path.d.ts +1 -1
  29. package/node_modules/@types/node/perf_hooks.d.ts +308 -48
  30. package/node_modules/@types/node/process.d.ts +241 -48
  31. package/node_modules/@types/node/punycode.d.ts +4 -4
  32. package/node_modules/@types/node/querystring.d.ts +18 -6
  33. package/node_modules/@types/node/readline/promises.d.ts +9 -9
  34. package/node_modules/@types/node/readline.d.ts +23 -22
  35. package/node_modules/@types/node/repl.d.ts +21 -21
  36. package/node_modules/@types/node/sea.d.ts +153 -0
  37. package/node_modules/@types/node/stream/web.d.ts +3 -2
  38. package/node_modules/@types/node/stream.d.ts +63 -57
  39. package/node_modules/@types/node/string_decoder.d.ts +3 -3
  40. package/node_modules/@types/node/test.d.ts +363 -98
  41. package/node_modules/@types/node/timers/promises.d.ts +10 -6
  42. package/node_modules/@types/node/timers.d.ts +5 -5
  43. package/node_modules/@types/node/tls.d.ts +39 -32
  44. package/node_modules/@types/node/trace_events.d.ts +40 -25
  45. package/node_modules/@types/node/tty.d.ts +8 -8
  46. package/node_modules/@types/node/url.d.ts +15 -7
  47. package/node_modules/@types/node/util.d.ts +131 -22
  48. package/node_modules/@types/node/v8.d.ts +51 -7
  49. package/node_modules/@types/node/vm.d.ts +43 -24
  50. package/node_modules/@types/node/wasi.d.ts +12 -10
  51. package/node_modules/@types/node/worker_threads.d.ts +19 -16
  52. package/node_modules/@types/node/zlib.d.ts +16 -3
  53. package/node_modules/adm-zip/README.md +2 -1
  54. package/node_modules/adm-zip/adm-zip.js +46 -45
  55. package/node_modules/adm-zip/headers/entryHeader.js +14 -12
  56. package/node_modules/adm-zip/headers/mainHeader.js +1 -1
  57. package/node_modules/adm-zip/methods/inflater.js +6 -3
  58. package/node_modules/adm-zip/methods/zipcrypto.js +6 -2
  59. package/node_modules/adm-zip/package.json +2 -2
  60. package/node_modules/adm-zip/util/errors.js +1 -0
  61. package/node_modules/adm-zip/zipEntry.js +64 -43
  62. package/node_modules/adm-zip/zipFile.js +35 -35
  63. package/node_modules/axios/CHANGELOG.md +868 -759
  64. package/node_modules/axios/README.md +65 -17
  65. package/node_modules/axios/dist/axios.js +1330 -583
  66. package/node_modules/axios/dist/axios.js.map +1 -1
  67. package/node_modules/axios/dist/axios.min.js +1 -1
  68. package/node_modules/axios/dist/axios.min.js.map +1 -1
  69. package/node_modules/axios/dist/browser/axios.cjs +696 -316
  70. package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
  71. package/node_modules/axios/dist/esm/axios.js +696 -316
  72. package/node_modules/axios/dist/esm/axios.js.map +1 -1
  73. package/node_modules/axios/dist/esm/axios.min.js +1 -1
  74. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  75. package/node_modules/axios/dist/node/axios.cjs +607 -257
  76. package/node_modules/axios/dist/node/axios.cjs.map +1 -1
  77. package/node_modules/axios/index.d.cts +5 -2
  78. package/node_modules/axios/index.d.ts +5 -2
  79. package/node_modules/axios/lib/adapters/adapters.js +3 -1
  80. package/node_modules/axios/lib/adapters/fetch.js +227 -0
  81. package/node_modules/axios/lib/adapters/http.js +1 -1
  82. package/node_modules/axios/lib/adapters/xhr.js +31 -101
  83. package/node_modules/axios/lib/core/Axios.js +17 -11
  84. package/node_modules/axios/lib/core/AxiosHeaders.js +4 -0
  85. package/node_modules/axios/lib/core/mergeConfig.js +1 -1
  86. package/node_modules/axios/lib/defaults/index.js +7 -5
  87. package/node_modules/axios/lib/env/data.js +1 -1
  88. package/node_modules/axios/lib/helpers/AxiosTransformStream.js +9 -8
  89. package/node_modules/axios/lib/helpers/composeSignals.js +46 -0
  90. package/node_modules/axios/lib/helpers/progressEventReducer.js +32 -0
  91. package/node_modules/axios/lib/helpers/resolveConfig.js +57 -0
  92. package/node_modules/axios/lib/helpers/throttle.js +5 -3
  93. package/node_modules/axios/lib/helpers/trackStream.js +55 -0
  94. package/node_modules/axios/lib/platform/common/utils.js +4 -1
  95. package/node_modules/axios/lib/utils.js +7 -2
  96. package/node_modules/axios/package.json +27 -26
  97. package/node_modules/fast-xml-parser/CHANGELOG.md +14 -0
  98. package/node_modules/fast-xml-parser/README.md +7 -14
  99. package/node_modules/fast-xml-parser/package.json +1 -1
  100. package/node_modules/fast-xml-parser/src/fxp.d.ts +4 -4
  101. package/node_modules/fast-xml-parser/src/v5/CharsSymbol.js +16 -0
  102. package/node_modules/fast-xml-parser/src/v5/EntitiesParser.js +107 -0
  103. package/node_modules/fast-xml-parser/src/v5/OptionsBuilder.js +64 -0
  104. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/BaseOutputBuilder.js +71 -0
  105. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/JsArrBuilder.js +103 -0
  106. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/JsMinArrBuilder.js +102 -0
  107. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/JsObjBuilder.js +156 -0
  108. package/node_modules/fast-xml-parser/src/v5/OutputBuilders/ParserOptionsBuilder.js +96 -0
  109. package/node_modules/fast-xml-parser/src/v5/Report.js +0 -0
  110. package/node_modules/fast-xml-parser/src/v5/TagPath.js +81 -0
  111. package/node_modules/fast-xml-parser/src/v5/TagPathMatcher.js +15 -0
  112. package/node_modules/fast-xml-parser/src/v5/XMLParser.js +85 -0
  113. package/node_modules/fast-xml-parser/src/v5/Xml2JsParser.js +237 -0
  114. package/node_modules/fast-xml-parser/src/v5/XmlPartReader.js +212 -0
  115. package/node_modules/fast-xml-parser/src/v5/XmlSpecialTagsReader.js +118 -0
  116. package/node_modules/fast-xml-parser/src/v5/inputSource/BufferSource.js +118 -0
  117. package/node_modules/fast-xml-parser/src/v5/inputSource/StringSource.js +123 -0
  118. package/node_modules/fast-xml-parser/src/v5/valueParsers/EntitiesParser.js +107 -0
  119. package/node_modules/fast-xml-parser/src/v5/valueParsers/booleanParser.js +23 -0
  120. package/node_modules/fast-xml-parser/src/v5/valueParsers/booleanParserExt.js +20 -0
  121. package/node_modules/fast-xml-parser/src/v5/valueParsers/currency.js +31 -0
  122. package/node_modules/fast-xml-parser/src/v5/valueParsers/join.js +14 -0
  123. package/node_modules/fast-xml-parser/src/v5/valueParsers/number.js +16 -0
  124. package/node_modules/fast-xml-parser/src/v5/valueParsers/trim.js +8 -0
  125. package/node_modules/fast-xml-parser/src/validator.js +2 -0
  126. package/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +13 -4
  127. package/node_modules/follow-redirects/index.js +1 -1
  128. package/node_modules/follow-redirects/package.json +1 -1
  129. package/node_modules/hasown/CHANGELOG.md +12 -0
  130. package/node_modules/hasown/index.d.ts +2 -2
  131. package/node_modules/hasown/package.json +5 -2
  132. package/node_modules/hasown/tsconfig.json +3 -46
  133. package/node_modules/object-is/.eslintrc +1 -1
  134. package/node_modules/object-is/.nycrc +0 -4
  135. package/node_modules/object-is/CHANGELOG.md +25 -0
  136. package/node_modules/object-is/README.md +20 -20
  137. package/node_modules/object-is/package.json +23 -14
  138. package/node_modules/protobufjs/LICENSE +39 -39
  139. package/node_modules/protobufjs/README.md +727 -740
  140. package/node_modules/protobufjs/dist/light/protobuf.js +6264 -6264
  141. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  142. package/node_modules/protobufjs/dist/light/protobuf.min.js +2 -2
  143. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  144. package/node_modules/protobufjs/dist/minimal/protobuf.js +1928 -1928
  145. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  146. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +2 -2
  147. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  148. package/node_modules/protobufjs/dist/protobuf.js +7978 -7961
  149. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  150. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  151. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  152. package/node_modules/protobufjs/ext/debug/README.md +4 -4
  153. package/node_modules/protobufjs/ext/debug/index.js +71 -71
  154. package/node_modules/protobufjs/ext/descriptor/README.md +72 -72
  155. package/node_modules/protobufjs/ext/descriptor/index.d.ts +191 -191
  156. package/node_modules/protobufjs/ext/descriptor/index.js +1052 -1052
  157. package/node_modules/protobufjs/ext/descriptor/test.js +54 -54
  158. package/node_modules/protobufjs/google/LICENSE +27 -27
  159. package/node_modules/protobufjs/google/README.md +1 -1
  160. package/node_modules/protobufjs/google/api/annotations.json +82 -82
  161. package/node_modules/protobufjs/google/api/annotations.proto +10 -10
  162. package/node_modules/protobufjs/google/api/http.json +85 -85
  163. package/node_modules/protobufjs/google/api/http.proto +30 -30
  164. package/node_modules/protobufjs/google/protobuf/api.json +117 -117
  165. package/node_modules/protobufjs/google/protobuf/api.proto +33 -33
  166. package/node_modules/protobufjs/google/protobuf/descriptor.json +738 -738
  167. package/node_modules/protobufjs/google/protobuf/descriptor.proto +286 -286
  168. package/node_modules/protobufjs/google/protobuf/source_context.json +19 -19
  169. package/node_modules/protobufjs/google/protobuf/source_context.proto +7 -7
  170. package/node_modules/protobufjs/google/protobuf/type.json +201 -201
  171. package/node_modules/protobufjs/google/protobuf/type.proto +89 -89
  172. package/node_modules/protobufjs/index.d.ts +2741 -2741
  173. package/node_modules/protobufjs/index.js +4 -4
  174. package/node_modules/protobufjs/light.d.ts +2 -2
  175. package/node_modules/protobufjs/light.js +3 -3
  176. package/node_modules/protobufjs/minimal.d.ts +2 -2
  177. package/node_modules/protobufjs/minimal.js +4 -4
  178. package/node_modules/protobufjs/package.json +111 -111
  179. package/node_modules/protobufjs/scripts/postinstall.js +32 -32
  180. package/node_modules/protobufjs/src/common.js +399 -399
  181. package/node_modules/protobufjs/src/converter.js +301 -301
  182. package/node_modules/protobufjs/src/decoder.js +129 -129
  183. package/node_modules/protobufjs/src/encoder.js +100 -100
  184. package/node_modules/protobufjs/src/enum.js +198 -198
  185. package/node_modules/protobufjs/src/field.js +377 -377
  186. package/node_modules/protobufjs/src/index-light.js +104 -104
  187. package/node_modules/protobufjs/src/index-minimal.js +36 -36
  188. package/node_modules/protobufjs/src/index.js +12 -12
  189. package/node_modules/protobufjs/src/mapfield.js +126 -126
  190. package/node_modules/protobufjs/src/message.js +138 -138
  191. package/node_modules/protobufjs/src/method.js +160 -160
  192. package/node_modules/protobufjs/src/namespace.js +433 -433
  193. package/node_modules/protobufjs/src/object.js +243 -243
  194. package/node_modules/protobufjs/src/oneof.js +203 -203
  195. package/node_modules/protobufjs/src/parse.js +889 -872
  196. package/node_modules/protobufjs/src/reader.js +416 -416
  197. package/node_modules/protobufjs/src/reader_buffer.js +51 -51
  198. package/node_modules/protobufjs/src/root.js +368 -368
  199. package/node_modules/protobufjs/src/roots.js +18 -18
  200. package/node_modules/protobufjs/src/rpc/service.js +142 -142
  201. package/node_modules/protobufjs/src/rpc.js +36 -36
  202. package/node_modules/protobufjs/src/service.js +167 -167
  203. package/node_modules/protobufjs/src/tokenize.js +416 -416
  204. package/node_modules/protobufjs/src/type.js +589 -589
  205. package/node_modules/protobufjs/src/types.js +196 -196
  206. package/node_modules/protobufjs/src/typescript.jsdoc +15 -15
  207. package/node_modules/protobufjs/src/util/longbits.js +200 -200
  208. package/node_modules/protobufjs/src/util/minimal.js +438 -438
  209. package/node_modules/protobufjs/src/util.js +212 -212
  210. package/node_modules/protobufjs/src/verifier.js +176 -176
  211. package/node_modules/protobufjs/src/wrappers.js +102 -102
  212. package/node_modules/protobufjs/src/writer.js +465 -465
  213. package/node_modules/protobufjs/src/writer_buffer.js +85 -85
  214. package/node_modules/protobufjs/tsconfig.json +7 -7
  215. package/node_modules/set-function-length/CHANGELOG.md +11 -0
  216. package/node_modules/set-function-length/env.d.ts +9 -6
  217. package/node_modules/set-function-length/env.js +1 -0
  218. package/node_modules/set-function-length/index.d.ts +6 -6
  219. package/node_modules/set-function-length/index.js +1 -3
  220. package/node_modules/set-function-length/package.json +11 -13
  221. package/node_modules/set-function-length/tsconfig.json +7 -57
  222. package/node_modules/undici-types/LICENSE +21 -0
  223. package/node_modules/undici-types/balanced-pool.d.ts +11 -0
  224. package/node_modules/undici-types/client.d.ts +12 -1
  225. package/node_modules/undici-types/diagnostics-channel.d.ts +1 -2
  226. package/node_modules/undici-types/dispatcher.d.ts +17 -3
  227. package/node_modules/undici-types/eventsource.d.ts +61 -0
  228. package/node_modules/undici-types/fetch.d.ts +22 -23
  229. package/node_modules/undici-types/handlers.d.ts +10 -4
  230. package/node_modules/undici-types/index.d.ts +6 -1
  231. package/node_modules/undici-types/package.json +1 -1
  232. package/node_modules/undici-types/pool.d.ts +11 -0
  233. package/node_modules/undici-types/proxy-agent.d.ts +0 -2
  234. package/node_modules/undici-types/readable.d.ts +2 -3
  235. package/node_modules/undici-types/retry-agent.d.ts +11 -0
  236. package/node_modules/undici-types/retry-handler.d.ts +116 -0
  237. package/node_modules/undici-types/util.d.ts +31 -0
  238. package/node_modules/undici-types/webidl.d.ts +6 -1
  239. package/node_modules/undici-types/websocket.d.ts +22 -1
  240. package/node_modules/uuid/CHANGELOG.md +18 -0
  241. package/node_modules/uuid/README.md +134 -16
  242. package/node_modules/uuid/dist/commonjs-browser/index.js +40 -15
  243. package/node_modules/uuid/dist/commonjs-browser/max.js +7 -0
  244. package/node_modules/uuid/dist/commonjs-browser/md5.js +30 -53
  245. package/node_modules/uuid/dist/commonjs-browser/native.js +3 -4
  246. package/node_modules/uuid/dist/commonjs-browser/nil.js +1 -2
  247. package/node_modules/uuid/dist/commonjs-browser/parse.js +14 -15
  248. package/node_modules/uuid/dist/commonjs-browser/regex.js +1 -2
  249. package/node_modules/uuid/dist/commonjs-browser/rng.js +2 -4
  250. package/node_modules/uuid/dist/commonjs-browser/sha1.js +27 -49
  251. package/node_modules/uuid/dist/commonjs-browser/stringify.js +10 -16
  252. package/node_modules/uuid/dist/commonjs-browser/v1.js +73 -49
  253. package/node_modules/uuid/dist/commonjs-browser/v1ToV6.js +26 -0
  254. package/node_modules/uuid/dist/commonjs-browser/v3.js +3 -8
  255. package/node_modules/uuid/dist/commonjs-browser/v35.js +15 -32
  256. package/node_modules/uuid/dist/commonjs-browser/v4.js +7 -18
  257. package/node_modules/uuid/dist/commonjs-browser/v5.js +3 -8
  258. package/node_modules/uuid/dist/commonjs-browser/v6.js +42 -0
  259. package/node_modules/uuid/dist/commonjs-browser/v6ToV1.js +26 -0
  260. package/node_modules/uuid/dist/commonjs-browser/v7.js +152 -0
  261. package/node_modules/uuid/dist/commonjs-browser/validate.js +2 -7
  262. package/node_modules/uuid/dist/commonjs-browser/version.js +2 -8
  263. package/node_modules/uuid/dist/esm-browser/index.js +9 -4
  264. package/node_modules/uuid/dist/esm-browser/max.js +1 -0
  265. package/node_modules/uuid/dist/esm-browser/md5.js +29 -50
  266. package/node_modules/uuid/dist/esm-browser/native.js +1 -1
  267. package/node_modules/uuid/dist/esm-browser/parse.js +12 -10
  268. package/node_modules/uuid/dist/esm-browser/regex.js +1 -1
  269. package/node_modules/uuid/dist/esm-browser/rng.js +3 -4
  270. package/node_modules/uuid/dist/esm-browser/sha1.js +26 -46
  271. package/node_modules/uuid/dist/esm-browser/stringify.js +9 -11
  272. package/node_modules/uuid/dist/esm-browser/v1.js +74 -44
  273. package/node_modules/uuid/dist/esm-browser/v1ToV6.js +20 -0
  274. package/node_modules/uuid/dist/esm-browser/v3.js +1 -1
  275. package/node_modules/uuid/dist/esm-browser/v35.js +14 -25
  276. package/node_modules/uuid/dist/esm-browser/v4.js +5 -9
  277. package/node_modules/uuid/dist/esm-browser/v5.js +1 -1
  278. package/node_modules/uuid/dist/esm-browser/v6.js +36 -0
  279. package/node_modules/uuid/dist/esm-browser/v6ToV1.js +20 -0
  280. package/node_modules/uuid/dist/esm-browser/v7.js +146 -0
  281. package/node_modules/uuid/dist/esm-browser/validate.js +0 -2
  282. package/node_modules/uuid/dist/esm-browser/version.js +0 -3
  283. package/node_modules/uuid/dist/esm-node/index.js +9 -4
  284. package/node_modules/uuid/dist/esm-node/max.js +1 -0
  285. package/node_modules/uuid/dist/esm-node/md5.js +1 -4
  286. package/node_modules/uuid/dist/esm-node/native.js +1 -1
  287. package/node_modules/uuid/dist/esm-node/parse.js +11 -9
  288. package/node_modules/uuid/dist/esm-node/regex.js +1 -1
  289. package/node_modules/uuid/dist/esm-node/rng.js +1 -3
  290. package/node_modules/uuid/dist/esm-node/sha1.js +1 -4
  291. package/node_modules/uuid/dist/esm-node/stringify.js +7 -9
  292. package/node_modules/uuid/dist/esm-node/v1.js +66 -36
  293. package/node_modules/uuid/dist/esm-node/v1ToV6.js +20 -0
  294. package/node_modules/uuid/dist/esm-node/v35.js +8 -19
  295. package/node_modules/uuid/dist/esm-node/v4.js +4 -8
  296. package/node_modules/uuid/dist/esm-node/v6.js +32 -0
  297. package/node_modules/uuid/dist/esm-node/v6ToV1.js +20 -0
  298. package/node_modules/uuid/dist/esm-node/v7.js +146 -0
  299. package/node_modules/uuid/dist/esm-node/validate.js +0 -2
  300. package/node_modules/uuid/dist/esm-node/version.js +0 -3
  301. package/node_modules/uuid/dist/index.js +40 -15
  302. package/node_modules/uuid/dist/max.js +7 -0
  303. package/node_modules/uuid/dist/md5-browser.js +8 -31
  304. package/node_modules/uuid/dist/md5.js +4 -10
  305. package/node_modules/uuid/dist/native-browser.js +2 -3
  306. package/node_modules/uuid/dist/native.js +5 -9
  307. package/node_modules/uuid/dist/nil.js +1 -2
  308. package/node_modules/uuid/dist/parse.js +13 -14
  309. package/node_modules/uuid/dist/regex.js +1 -2
  310. package/node_modules/uuid/dist/rng-browser.js +1 -3
  311. package/node_modules/uuid/dist/rng.js +3 -10
  312. package/node_modules/uuid/dist/sha1-browser.js +1 -23
  313. package/node_modules/uuid/dist/sha1.js +4 -10
  314. package/node_modules/uuid/dist/stringify.js +8 -14
  315. package/node_modules/uuid/dist/uuid-bin.js +12 -22
  316. package/node_modules/uuid/dist/v1.js +66 -42
  317. package/node_modules/uuid/dist/v1ToV6.js +26 -0
  318. package/node_modules/uuid/dist/v3.js +2 -7
  319. package/node_modules/uuid/dist/v35.js +11 -28
  320. package/node_modules/uuid/dist/v4.js +6 -17
  321. package/node_modules/uuid/dist/v5.js +2 -7
  322. package/node_modules/uuid/dist/v6.js +38 -0
  323. package/node_modules/uuid/dist/v6ToV1.js +26 -0
  324. package/node_modules/uuid/dist/v7.js +152 -0
  325. package/node_modules/uuid/dist/validate.js +2 -7
  326. package/node_modules/uuid/dist/version.js +2 -8
  327. package/node_modules/uuid/package.json +41 -34
  328. package/node_modules/uuid/wrapper.mjs +5 -0
  329. package/package.json +6 -6
  330. package/tak-ingest.js +1 -1
  331. package/tak-registration.js +8 -1
  332. package/node_modules/@types/node/ts4.8/assert/strict.d.ts +0 -8
  333. package/node_modules/@types/node/ts4.8/assert.d.ts +0 -996
  334. package/node_modules/@types/node/ts4.8/async_hooks.d.ts +0 -539
  335. package/node_modules/@types/node/ts4.8/buffer.d.ts +0 -2363
  336. package/node_modules/@types/node/ts4.8/child_process.d.ts +0 -1540
  337. package/node_modules/@types/node/ts4.8/cluster.d.ts +0 -432
  338. package/node_modules/@types/node/ts4.8/console.d.ts +0 -415
  339. package/node_modules/@types/node/ts4.8/constants.d.ts +0 -19
  340. package/node_modules/@types/node/ts4.8/crypto.d.ts +0 -4487
  341. package/node_modules/@types/node/ts4.8/dgram.d.ts +0 -596
  342. package/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +0 -545
  343. package/node_modules/@types/node/ts4.8/dns/promises.d.ts +0 -425
  344. package/node_modules/@types/node/ts4.8/dns.d.ts +0 -809
  345. package/node_modules/@types/node/ts4.8/dom-events.d.ts +0 -122
  346. package/node_modules/@types/node/ts4.8/domain.d.ts +0 -170
  347. package/node_modules/@types/node/ts4.8/events.d.ts +0 -879
  348. package/node_modules/@types/node/ts4.8/fs/promises.d.ts +0 -1239
  349. package/node_modules/@types/node/ts4.8/fs.d.ts +0 -4311
  350. package/node_modules/@types/node/ts4.8/globals.d.ts +0 -411
  351. package/node_modules/@types/node/ts4.8/globals.global.d.ts +0 -1
  352. package/node_modules/@types/node/ts4.8/http.d.ts +0 -1887
  353. package/node_modules/@types/node/ts4.8/http2.d.ts +0 -2382
  354. package/node_modules/@types/node/ts4.8/https.d.ts +0 -550
  355. package/node_modules/@types/node/ts4.8/index.d.ts +0 -88
  356. package/node_modules/@types/node/ts4.8/inspector.d.ts +0 -2747
  357. package/node_modules/@types/node/ts4.8/module.d.ts +0 -315
  358. package/node_modules/@types/node/ts4.8/net.d.ts +0 -954
  359. package/node_modules/@types/node/ts4.8/os.d.ts +0 -478
  360. package/node_modules/@types/node/ts4.8/path.d.ts +0 -191
  361. package/node_modules/@types/node/ts4.8/perf_hooks.d.ts +0 -645
  362. package/node_modules/@types/node/ts4.8/process.d.ts +0 -1561
  363. package/node_modules/@types/node/ts4.8/punycode.d.ts +0 -117
  364. package/node_modules/@types/node/ts4.8/querystring.d.ts +0 -141
  365. package/node_modules/@types/node/ts4.8/readline/promises.d.ts +0 -150
  366. package/node_modules/@types/node/ts4.8/readline.d.ts +0 -539
  367. package/node_modules/@types/node/ts4.8/repl.d.ts +0 -430
  368. package/node_modules/@types/node/ts4.8/stream/consumers.d.ts +0 -12
  369. package/node_modules/@types/node/ts4.8/stream/promises.d.ts +0 -83
  370. package/node_modules/@types/node/ts4.8/stream/web.d.ts +0 -366
  371. package/node_modules/@types/node/ts4.8/stream.d.ts +0 -1701
  372. package/node_modules/@types/node/ts4.8/string_decoder.d.ts +0 -67
  373. package/node_modules/@types/node/ts4.8/test.d.ts +0 -1465
  374. package/node_modules/@types/node/ts4.8/timers/promises.d.ts +0 -93
  375. package/node_modules/@types/node/ts4.8/timers.d.ts +0 -240
  376. package/node_modules/@types/node/ts4.8/tls.d.ts +0 -1210
  377. package/node_modules/@types/node/ts4.8/trace_events.d.ts +0 -182
  378. package/node_modules/@types/node/ts4.8/tty.d.ts +0 -208
  379. package/node_modules/@types/node/ts4.8/url.d.ts +0 -944
  380. package/node_modules/@types/node/ts4.8/util.d.ts +0 -2183
  381. package/node_modules/@types/node/ts4.8/v8.d.ts +0 -764
  382. package/node_modules/@types/node/ts4.8/vm.d.ts +0 -903
  383. package/node_modules/@types/node/ts4.8/wasi.d.ts +0 -179
  384. package/node_modules/@types/node/ts4.8/worker_threads.d.ts +0 -691
  385. package/node_modules/@types/node/ts4.8/zlib.d.ts +0 -517
  386. package/node_modules/object-is/.eslintignore +0 -1
  387. package/node_modules/set-function-length/env.d.ts.map +0 -1
  388. package/node_modules/set-function-length/index.d.ts.map +0 -1
@@ -0,0 +1,71 @@
1
+ class BaseOutputBuilder{
2
+ constructor(){
3
+ // this.attributes = {};
4
+ }
5
+
6
+ addAttribute(name, value){
7
+ if(this.options.onAttribute){
8
+ //TODO: better to pass tag path
9
+ const v = this.options.onAttribute(name, value, this.tagName);
10
+ if(v) this.attributes[v.name] = v.value;
11
+ }else{
12
+ name = this.options.attributes.prefix + name + this.options.attributes.suffix;
13
+ this.attributes[name] = this.parseValue(value, this.options.attributes.valueParsers);
14
+ }
15
+ }
16
+
17
+ /**
18
+ * parse value by chain of parsers
19
+ * @param {string} val
20
+ * @returns {any} parsed value if matching parser found
21
+ */
22
+ parseValue = function(val, valParsers){
23
+ for (let i = 0; i < valParsers.length; i++) {
24
+ let valParser = valParsers[i];
25
+ if(typeof valParser === "string"){
26
+ valParser = this.registeredParsers[valParser];
27
+ }
28
+ if(valParser){
29
+ val = valParser.parse(val);
30
+ }
31
+ }
32
+ return val;
33
+ }
34
+
35
+ /**
36
+ * To add a nested empty tag.
37
+ * @param {string} key
38
+ * @param {any} val
39
+ */
40
+ _addChild(key, val){}
41
+
42
+ /**
43
+ * skip the comment if property is not set
44
+ */
45
+ addComment(text){
46
+ if(this.options.nameFor.comment)
47
+ this._addChild(this.options.nameFor.comment, text);
48
+ }
49
+
50
+ //store CDATA separately if property is set
51
+ //otherwise add to tag's value
52
+ addCdata(text){
53
+ if (this.options.nameFor.cdata) {
54
+ this._addChild(this.options.nameFor.cdata, text);
55
+ } else {
56
+ this.addRawValue(text || "");
57
+ }
58
+ }
59
+
60
+ addRawValue = text => this.addValue(text);
61
+
62
+ addDeclaration(){
63
+ if(!this.options.declaration){
64
+ }else{
65
+ this.addPi("?xml");
66
+ }
67
+ this.attributes = {}
68
+ }
69
+ }
70
+
71
+ module.exports = BaseOutputBuilder;
@@ -0,0 +1,103 @@
1
+ const {buildOptions,registerCommonValueParsers} = require("./ParserOptionsBuilder");
2
+
3
+ class OutputBuilder{
4
+ constructor(options){
5
+ this.options = buildOptions(options);
6
+ this.registeredParsers = registerCommonValueParsers();
7
+ }
8
+
9
+ registerValueParser(name,parserInstance){//existing name will override the parser without warning
10
+ this.registeredParsers[name] = parserInstance;
11
+ }
12
+
13
+ getInstance(parserOptions){
14
+ return new JsArrBuilder(parserOptions, this.options, this.registeredParsers);
15
+ }
16
+ }
17
+
18
+ const rootName = '!js_arr';
19
+ const BaseOutputBuilder = require("./BaseOutputBuilder");
20
+
21
+ class JsArrBuilder extends BaseOutputBuilder{
22
+
23
+ constructor(parserOptions, options,registeredParsers) {
24
+ super();
25
+ this.tagsStack = [];
26
+ this.parserOptions = parserOptions;
27
+ this.options = options;
28
+ this.registeredParsers = registeredParsers;
29
+
30
+ this.root = new Node(rootName);
31
+ this.currentNode = this.root;
32
+ this.attributes = {};
33
+ }
34
+
35
+ addTag(tag){
36
+ //when a new tag is added, it should be added as child of current node
37
+ //TODO: shift this check to the parser
38
+ if(tag.name === "__proto__") tag.name = "#__proto__";
39
+
40
+ this.tagsStack.push(this.currentNode);
41
+ this.currentNode = new Node(tag.name, this.attributes);
42
+ this.attributes = {};
43
+ }
44
+
45
+ /**
46
+ * Check if the node should be added by checking user's preference
47
+ * @param {Node} node
48
+ * @returns boolean: true if the node should not be added
49
+ */
50
+ closeTag(){
51
+ const node = this.currentNode;
52
+ this.currentNode = this.tagsStack.pop(); //set parent node in scope
53
+ if(this.options.onClose !== undefined){
54
+ //TODO TagPathMatcher
55
+ const resultTag = this.options.onClose(node,
56
+ new TagPathMatcher(this.tagsStack,node));
57
+
58
+ if(resultTag) return;
59
+ }
60
+ this.currentNode.child.push(node); //to parent node
61
+ }
62
+
63
+ //Called by parent class methods
64
+ _addChild(key, val){
65
+ // if(key === "__proto__") tagName = "#__proto__";
66
+ this.currentNode.child.push( {[key]: val });
67
+ // this.currentNode.leafType = false;
68
+ }
69
+
70
+ /**
71
+ * Add text value child node
72
+ * @param {string} text
73
+ */
74
+ addValue(text){
75
+ this.currentNode.child.push( {[this.options.nameFor.text]: this.parseValue(text, this.options.tags.valueParsers) });
76
+ }
77
+
78
+ addPi(name){
79
+ //TODO: set pi flag
80
+ if(!this.options.ignorePiTags){
81
+ const node = new Node(name, this.attributes);
82
+ this.currentNode[":@"] = this.attributes;
83
+ this.currentNode.child.push(node);
84
+ }
85
+ this.attributes = {};
86
+ }
87
+ getOutput(){
88
+ return this.root.child[0];
89
+ }
90
+ }
91
+
92
+
93
+
94
+ class Node{
95
+ constructor(tagname, attributes){
96
+ this.tagname = tagname;
97
+ this.child = []; //nested tags, text, cdata, comments
98
+ if(attributes && Object.keys(attributes).length > 0)
99
+ this[":@"] = attributes;
100
+ }
101
+ }
102
+
103
+ module.exports = OutputBuilder;
@@ -0,0 +1,102 @@
1
+ const {buildOptions,registerCommonValueParsers} = require("./ParserOptionsBuilder");
2
+
3
+ class OutputBuilder{
4
+ constructor(options){
5
+ this.options = buildOptions(options);
6
+ this.registeredParsers = registerCommonValueParsers();
7
+ }
8
+
9
+ registerValueParser(name,parserInstance){//existing name will override the parser without warning
10
+ this.registeredParsers[name] = parserInstance;
11
+ }
12
+
13
+ getInstance(parserOptions){
14
+ return new JsMinArrBuilder(parserOptions, this.options, this.registeredParsers);
15
+ }
16
+ }
17
+
18
+ const BaseOutputBuilder = require("./BaseOutputBuilder");
19
+ const rootName = '^';
20
+
21
+ class JsMinArrBuilder extends BaseOutputBuilder{
22
+
23
+ constructor(parserOptions, options,registeredParsers) {
24
+ super();
25
+ this.tagsStack = [];
26
+ this.parserOptions = parserOptions;
27
+ this.options = options;
28
+ this.registeredParsers = registeredParsers;
29
+
30
+ this.root = {[rootName]: []};
31
+ this.currentNode = this.root;
32
+ this.currentNodeTagName = rootName;
33
+ this.attributes = {};
34
+ }
35
+
36
+ addTag(tag){
37
+ //when a new tag is added, it should be added as child of current node
38
+ //TODO: shift this check to the parser
39
+ if(tag.name === "__proto__") tag.name = "#__proto__";
40
+
41
+ this.tagsStack.push([this.currentNodeTagName,this.currentNode]); //this.currentNode is parent node here
42
+ this.currentNodeTagName = tag.name;
43
+ this.currentNode = { [tag.name]:[]}
44
+ if(Object.keys(this.attributes).length > 0){
45
+ this.currentNode[":@"] = this.attributes;
46
+ this.attributes = {};
47
+ }
48
+ }
49
+
50
+ /**
51
+ * Check if the node should be added by checking user's preference
52
+ * @param {Node} node
53
+ * @returns boolean: true if the node should not be added
54
+ */
55
+ closeTag(){
56
+ const node = this.currentNode;
57
+ const nodeName = this.currentNodeTagName;
58
+ const arr = this.tagsStack.pop(); //set parent node in scope
59
+ this.currentNodeTagName = arr[0];
60
+ this.currentNode = arr[1];
61
+
62
+ if(this.options.onClose !== undefined){
63
+ //TODO TagPathMatcher
64
+ const resultTag = this.options.onClose(node,
65
+ new TagPathMatcher(this.tagsStack,node));
66
+
67
+ if(resultTag) return;
68
+ }
69
+ this.currentNode[this.currentNodeTagName].push(node); //to parent node
70
+ }
71
+
72
+ //Called by parent class methods
73
+ _addChild(key, val){
74
+ // if(key === "__proto__") tagName = "#__proto__";
75
+ this.currentNode.push( {[key]: val });
76
+ // this.currentNode.leafType = false;
77
+ }
78
+
79
+ /**
80
+ * Add text value child node
81
+ * @param {string} text
82
+ */
83
+ addValue(text){
84
+ this.currentNode[this.currentNodeTagName].push( {[this.options.nameFor.text]: this.parseValue(text, this.options.tags.valueParsers) });
85
+ }
86
+
87
+ addPi(name){
88
+ if(!this.options.ignorePiTags){
89
+ const node = { [name]:[]}
90
+ if(this.attributes){
91
+ node[":@"] = this.attributes;
92
+ }
93
+ this.currentNode.push(node);
94
+ }
95
+ this.attributes = {};
96
+ }
97
+ getOutput(){
98
+ return this.root[rootName];
99
+ }
100
+ }
101
+
102
+ module.exports = OutputBuilder;
@@ -0,0 +1,156 @@
1
+
2
+
3
+ const {buildOptions,registerCommonValueParsers} = require("./ParserOptionsBuilder");
4
+
5
+ class OutputBuilder{
6
+ constructor(builderOptions){
7
+ this.options = buildOptions(builderOptions);
8
+ this.registeredParsers = registerCommonValueParsers();
9
+ }
10
+
11
+ registerValueParser(name,parserInstance){//existing name will override the parser without warning
12
+ this.registeredParsers[name] = parserInstance;
13
+ }
14
+
15
+ getInstance(parserOptions){
16
+ return new JsObjBuilder(parserOptions, this.options, this.registeredParsers);
17
+ }
18
+ }
19
+
20
+ const BaseOutputBuilder = require("./BaseOutputBuilder");
21
+ const rootName = '^';
22
+
23
+ class JsObjBuilder extends BaseOutputBuilder{
24
+
25
+ constructor(parserOptions, builderOptions,registeredParsers) {
26
+ super();
27
+ //hold the raw detail of a tag and sequence with reference to the output
28
+ this.tagsStack = [];
29
+ this.parserOptions = parserOptions;
30
+ this.options = builderOptions;
31
+ this.registeredParsers = registeredParsers;
32
+
33
+ this.root = {};
34
+ this.parent = this.root;
35
+ this.tagName = rootName;
36
+ this.value = {};
37
+ this.textValue = "";
38
+ this.attributes = {};
39
+ }
40
+
41
+ addTag(tag){
42
+
43
+ let value = "";
44
+ if( !isEmpty(this.attributes)){
45
+ value = {};
46
+ if(this.options.attributes.groupBy){
47
+ value[this.options.attributes.groupBy] = this.attributes;
48
+ }else{
49
+ value = this.attributes;
50
+ }
51
+ }
52
+
53
+ this.tagsStack.push([this.tagName, this.textValue, this.value]); //parent tag, parent text value, parent tag value (jsobj)
54
+ this.tagName = tag.name;
55
+ this.value = value;
56
+ this.textValue = "";
57
+ this.attributes = {};
58
+ }
59
+
60
+ /**
61
+ * Check if the node should be added by checking user's preference
62
+ * @param {Node} node
63
+ * @returns boolean: true if the node should not be added
64
+ */
65
+ closeTag(){
66
+ const tagName = this.tagName;
67
+ let value = this.value;
68
+ let textValue = this.textValue;
69
+
70
+ //update tag text value
71
+ if(typeof value !== "object" && !Array.isArray(value)){
72
+ value = this.parseValue(textValue.trim(), this.options.tags.valueParsers);
73
+ }else if(textValue.length > 0){
74
+ value[this.options.nameFor.text] = this.parseValue(textValue.trim(), this.options.tags.valueParsers);
75
+ }
76
+
77
+
78
+ let resultTag= {
79
+ tagName: tagName,
80
+ value: value
81
+ };
82
+
83
+ if(this.options.onTagClose !== undefined){
84
+ //TODO TagPathMatcher
85
+ resultTag = this.options.onClose(tagName, value, this.textValue, new TagPathMatcher(this.tagsStack,node));
86
+
87
+ if(!resultTag) return;
88
+ }
89
+
90
+ //set parent node in scope
91
+ let arr = this.tagsStack.pop();
92
+ let parentTag = arr[2];
93
+ parentTag=this._addChildTo(resultTag.tagName, resultTag.value, parentTag);
94
+
95
+ this.tagName = arr[0];
96
+ this.textValue = arr[1];
97
+ this.value = parentTag;
98
+ }
99
+
100
+ _addChild(key, val){
101
+ if(typeof this.value === "string"){
102
+ this.value = { [this.options.nameFor.text] : this.value };
103
+ }
104
+
105
+ this._addChildTo(key, val, this.value);
106
+ // this.currentNode.leafType = false;
107
+ this.attributes = {};
108
+ }
109
+
110
+ _addChildTo(key, val, node){
111
+ if(typeof node === 'string') node = {};
112
+ if(!node[key]){
113
+ node[key] = val;
114
+ }else{ //Repeated
115
+ if(!Array.isArray(node[key])){ //but not stored as array
116
+ node[key] = [node[key]];
117
+ }
118
+ node[key].push(val);
119
+ }
120
+ return node;
121
+ }
122
+
123
+
124
+ /**
125
+ * Add text value child node
126
+ * @param {string} text
127
+ */
128
+ addValue(text){
129
+ //TODO: use bytes join
130
+ if(this.textValue.length > 0) this.textValue += " " + text;
131
+ else this.textValue = text;
132
+ }
133
+
134
+ addPi(name){
135
+ let value = "";
136
+ if( !isEmpty(this.attributes)){
137
+ value = {};
138
+ if(this.options.attributes.groupBy){
139
+ value[this.options.attributes.groupBy] = this.attributes;
140
+ }else{
141
+ value = this.attributes;
142
+ }
143
+ }
144
+ this._addChild(name, value);
145
+
146
+ }
147
+ getOutput(){
148
+ return this.value;
149
+ }
150
+ }
151
+
152
+ function isEmpty(obj) {
153
+ return Object.keys(obj).length === 0;
154
+ }
155
+
156
+ module.exports = OutputBuilder;
@@ -0,0 +1,96 @@
1
+ const trimParser = require("../valueParsers/trim")
2
+ const booleanParser = require("../valueParsers/booleanParser")
3
+ const currencyParser = require("../valueParsers/currency")
4
+ const numberParser = require("../valueParsers/number")
5
+
6
+ const defaultOptions={
7
+ nameFor:{
8
+ text: "#text",
9
+ comment: "",
10
+ cdata: "",
11
+ },
12
+ // onTagClose: () => {},
13
+ // onAttribute: () => {},
14
+ piTag: false,
15
+ declaration: false, //"?xml"
16
+ tags: {
17
+ valueParsers: [
18
+ // "trim",
19
+ // "boolean",
20
+ // "number",
21
+ // "currency",
22
+ // "date",
23
+ ]
24
+ },
25
+ attributes:{
26
+ prefix: "@_",
27
+ suffix: "",
28
+ groupBy: "",
29
+
30
+ valueParsers: [
31
+ // "trim",
32
+ // "boolean",
33
+ // "number",
34
+ // "currency",
35
+ // "date",
36
+ ]
37
+ }
38
+ }
39
+
40
+ //TODO
41
+ const withJoin = ["trim","join", /*"entities",*/"number","boolean","currency"/*, "date"*/]
42
+ const withoutJoin = ["trim", /*"entities",*/"number","boolean","currency"/*, "date"*/]
43
+
44
+ function buildOptions(options){
45
+ //clone
46
+ const finalOptions = { ... defaultOptions};
47
+
48
+ //add config missed in cloning
49
+ finalOptions.tags.valueParsers.push(...withJoin)
50
+ if(!this.preserveOrder)
51
+ finalOptions.tags.valueParsers.push(...withoutJoin);
52
+
53
+ //add config missed in cloning
54
+ finalOptions.attributes.valueParsers.push(...withJoin)
55
+
56
+ //override configuration
57
+ copyProperties(finalOptions,options);
58
+ return finalOptions;
59
+ }
60
+
61
+ function copyProperties(target, source) {
62
+ for (let key in source) {
63
+ if (source.hasOwnProperty(key)) {
64
+ if (typeof source[key] === 'object' && !Array.isArray(source[key])) {
65
+ // Recursively copy nested properties
66
+ if (typeof target[key] === 'undefined') {
67
+ target[key] = {};
68
+ }
69
+ copyProperties(target[key], source[key]);
70
+ } else {
71
+ // Copy non-nested properties
72
+ target[key] = source[key];
73
+ }
74
+ }
75
+ }
76
+ }
77
+
78
+ function registerCommonValueParsers(){
79
+ return {
80
+ "trim": new trimParser(),
81
+ // "join": this.entityParser.parse,
82
+ "boolean": new booleanParser(),
83
+ "number": new numberParser({
84
+ hex: true,
85
+ leadingZeros: true,
86
+ eNotation: true
87
+ }),
88
+ "currency": new currencyParser(),
89
+ // "date": this.entityParser.parse,
90
+ }
91
+ }
92
+
93
+ module.exports = {
94
+ buildOptions : buildOptions,
95
+ registerCommonValueParsers: registerCommonValueParsers
96
+ }
File without changes
@@ -0,0 +1,81 @@
1
+ class TagPath{
2
+ constructor(pathStr){
3
+ let text = "";
4
+ let tName = "";
5
+ let pos;
6
+ let aName = "";
7
+ let aVal = "";
8
+ this.stack = []
9
+
10
+ for (let i = 0; i < pathStr.length; i++) {
11
+ let ch = pathStr[i];
12
+ if(ch === " ") {
13
+ if(text.length === 0) continue;
14
+ tName = text; text = "";
15
+ }else if(ch === "["){
16
+ if(tName.length === 0){
17
+ tName = text; text = "";
18
+ }
19
+ i++;
20
+ for (; i < pathStr.length; i++) {
21
+ ch = pathStr[i];
22
+ if(ch=== "=") continue;
23
+ else if(ch=== "]") {aName = text.trim(); text=""; break; i--;}
24
+ else if(ch === "'" || ch === '"'){
25
+ let attrEnd = pathStr.indexOf(ch,i+1);
26
+ aVal = pathStr.substring(i+1, attrEnd);
27
+ i = attrEnd;
28
+ }else{
29
+ text +=ch;
30
+ }
31
+ }
32
+ }else if(ch !== " " && text.length === 0 && tName.length > 0){//reading tagName
33
+ //save previous tag
34
+ this.stack.push(new TagPathNode(tName,pos,aName,aVal));
35
+ text = ch; tName = ""; aName = ""; aVal = "";
36
+ }else{
37
+ text+=ch;
38
+ }
39
+ }
40
+
41
+ //last tag in the path
42
+ if(tName.length >0 || text.length>0){
43
+ this.stack.push(new TagPathNode(text||tName,pos,aName,aVal));
44
+ }
45
+ }
46
+
47
+ match(tagStack,node){
48
+ if(this.stack[0].name !== "*"){
49
+ if(this.stack.length !== tagStack.length +1) return false;
50
+
51
+ //loop through tagPath and tagStack and match
52
+ for (let i = 0; i < this.tagStack.length; i++) {
53
+ if(!this.stack[i].match(tagStack[i])) return false;
54
+ }
55
+ }
56
+ if(!this.stack[this.stack.length - 1].match(node)) return false;
57
+ return true;
58
+ }
59
+ }
60
+
61
+ class TagPathNode{
62
+ constructor(name,position,attrName,attrVal){
63
+ this.name = name;
64
+ this.position = position;
65
+ this.attrName = attrName,
66
+ this.attrVal = attrVal;
67
+ }
68
+
69
+ match(node){
70
+ let matching = true;
71
+ matching = node.name === this.name;
72
+ if(this.position) matching = node.position === this.position;
73
+ if(this.attrName) matching = node.attrs[this.attrName !== undefined];
74
+ if(this.attrVal) matching = node.attrs[this.attrName !== this.attrVal];
75
+ return matching;
76
+ }
77
+ }
78
+
79
+ // console.log((new TagPath("* b[b]")).stack);
80
+ // console.log((new TagPath("a[a] b[b] c")).stack);
81
+ // console.log((new TagPath(" b [ b= 'cf sdadwa' ] a ")).stack);
@@ -0,0 +1,15 @@
1
+ const TagPath = require("./TagPath");
2
+
3
+ class TagPathMatcher{
4
+ constructor(stack,node){
5
+ this.stack = stack;
6
+ this.node= node;
7
+ }
8
+
9
+ match(path){
10
+ const tagPath = new TagPath(path);
11
+ return tagPath.match(this.stack, this.node);
12
+ }
13
+ }
14
+
15
+ module.exports = TagPathMatcher;