@cdklabs/cdk-ssm-documents 0.0.70 → 0.0.71

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 (790) hide show
  1. package/.jsii +25 -25
  2. package/lib/construct/synth-utils.js +1 -1
  3. package/lib/document/automation-document.js +1 -1
  4. package/lib/document/command-document.js +1 -1
  5. package/lib/document/document-builder.js +2 -2
  6. package/lib/document/ssm-document.js +1 -1
  7. package/lib/domain/aws-service.js +1 -1
  8. package/lib/domain/choice.js +1 -1
  9. package/lib/domain/data-type.js +1 -1
  10. package/lib/domain/enum/install-action.js +2 -2
  11. package/lib/domain/enum/install-uninstall-repair.js +2 -2
  12. package/lib/domain/enum/installation-type.js +2 -2
  13. package/lib/domain/enum/package-name.js +2 -2
  14. package/lib/domain/input.js +1 -1
  15. package/lib/domain/operation.js +1 -1
  16. package/lib/domain/platform.js +1 -1
  17. package/lib/domain/precondition.js +1 -1
  18. package/lib/incident-response/incident-response.js +3 -3
  19. package/lib/interface/approve-hook.js +2 -2
  20. package/lib/interface/auth-method.js +3 -3
  21. package/lib/interface/aws-invoker.js +2 -2
  22. package/lib/interface/downloadable-content.js +8 -8
  23. package/lib/interface/environment.js +3 -3
  24. package/lib/interface/execute-automation-hook/api-execute-automation-hook.js +1 -1
  25. package/lib/interface/observer.js +1 -1
  26. package/lib/interface/on-failure.js +6 -6
  27. package/lib/interface/pause-hook.js +2 -2
  28. package/lib/interface/run-command-hook/api-run-command-hook.js +1 -1
  29. package/lib/interface/run-document-location.js +2 -2
  30. package/lib/interface/sleep-hook.js +2 -2
  31. package/lib/interface/step-ref.js +1 -1
  32. package/lib/interface/variables/boolean-variable.js +2 -2
  33. package/lib/interface/variables/map-list-variable.js +2 -2
  34. package/lib/interface/variables/number-variable.js +2 -2
  35. package/lib/interface/variables/secure-string-variable.js +4 -4
  36. package/lib/interface/variables/string-list-variable.js +2 -2
  37. package/lib/interface/variables/string-map-variable.js +2 -2
  38. package/lib/interface/variables/string-variable.js +4 -4
  39. package/lib/interface/variables/variable.js +2 -2
  40. package/lib/interface/webhook.js +1 -1
  41. package/lib/parent-steps/automation/approve-step.js +1 -1
  42. package/lib/parent-steps/automation/assert-aws-resource-step.js +1 -1
  43. package/lib/parent-steps/automation/aws-api-step.js +1 -1
  44. package/lib/parent-steps/automation/branch-step.js +1 -1
  45. package/lib/parent-steps/automation/change-instance-state-step.js +3 -3
  46. package/lib/parent-steps/automation/copy-image-step.js +1 -1
  47. package/lib/parent-steps/automation/create-image-step.js +1 -1
  48. package/lib/parent-steps/automation/create-stack-step.js +3 -3
  49. package/lib/parent-steps/automation/create-tags-step.js +3 -3
  50. package/lib/parent-steps/automation/delete-image-step.js +1 -1
  51. package/lib/parent-steps/automation/delete-stack-step.js +1 -1
  52. package/lib/parent-steps/automation/execute-automation-step.js +1 -1
  53. package/lib/parent-steps/automation/execute-script-step.js +5 -5
  54. package/lib/parent-steps/automation/execute-state-machine-step.js +1 -1
  55. package/lib/parent-steps/automation/invoke-lambda-function-step.js +1 -1
  56. package/lib/parent-steps/automation/invoke-webhook-step.js +1 -1
  57. package/lib/parent-steps/automation/pause-step.js +1 -1
  58. package/lib/parent-steps/automation/run-command-step.js +3 -3
  59. package/lib/parent-steps/automation/run-instance-step.js +1 -1
  60. package/lib/parent-steps/automation/sleep-step.js +1 -1
  61. package/lib/parent-steps/automation/update-variable.js +1 -1
  62. package/lib/parent-steps/automation/wait-for-resource-step.js +1 -1
  63. package/lib/parent-steps/automation-step.js +1 -1
  64. package/lib/parent-steps/command/applications-step.js +1 -1
  65. package/lib/parent-steps/command/configure-docker-step.js +1 -1
  66. package/lib/parent-steps/command/configure-package-step.js +1 -1
  67. package/lib/parent-steps/command/domain-join-step.js +1 -1
  68. package/lib/parent-steps/command/download-content-step.js +1 -1
  69. package/lib/parent-steps/command/ps-module-step.js +1 -1
  70. package/lib/parent-steps/command/run-docker-action-step.js +1 -1
  71. package/lib/parent-steps/command/run-document-step.js +1 -1
  72. package/lib/parent-steps/command/run-powershell-script-step.js +1 -1
  73. package/lib/parent-steps/command/run-shell-script-step.js +1 -1
  74. package/lib/parent-steps/command/software-inventory-step.js +1 -1
  75. package/lib/parent-steps/command/update-agent-step.js +1 -1
  76. package/lib/parent-steps/command/update-ssm-agent-step.js +1 -1
  77. package/lib/parent-steps/command-step.js +1 -1
  78. package/lib/parent-steps/step.js +1 -1
  79. package/lib/patterns/automation/composite-step.js +2 -2
  80. package/lib/patterns/automation/reboot-instance-and-wait.js +1 -1
  81. package/lib/patterns/automation/string-step.js +1 -1
  82. package/lib/patterns/document/string-document.js +1 -1
  83. package/lib/patterns/document/timed-document.js +1 -1
  84. package/lib/samples/hello-world.js +1 -1
  85. package/lib/simulation/automation/approve-simulation.js +1 -1
  86. package/lib/simulation/automation/assert-aws-resource-simulation.js +4 -5
  87. package/lib/simulation/automation/automation-simulation-base.js +1 -1
  88. package/lib/simulation/automation/aws-api-simulation.js +1 -1
  89. package/lib/simulation/automation/branch-simulation.js +1 -1
  90. package/lib/simulation/automation/change-instance-state-simulation.js +1 -1
  91. package/lib/simulation/automation/copy-image-simulation.js +1 -1
  92. package/lib/simulation/automation/create-image-simulation.js +1 -1
  93. package/lib/simulation/automation/create-stack-simulation.js +1 -1
  94. package/lib/simulation/automation/create-tags-simulation.js +1 -1
  95. package/lib/simulation/automation/delete-image-simulation.js +1 -1
  96. package/lib/simulation/automation/delete-stack-simulation.js +1 -1
  97. package/lib/simulation/automation/execute-script-simulation.js +1 -1
  98. package/lib/simulation/automation/execute-state-machine-simulation.js +1 -1
  99. package/lib/simulation/automation/invoke-lambda-function-simulation.js +1 -1
  100. package/lib/simulation/automation/invoke-webhook-simulation.js +1 -1
  101. package/lib/simulation/automation/pause-simulation.js +1 -1
  102. package/lib/simulation/automation/run-command-simulation.js +1 -1
  103. package/lib/simulation/automation/run-instance-simulation.js +1 -1
  104. package/lib/simulation/automation/sleep-simulation.js +1 -1
  105. package/lib/simulation/automation/update-variable-simulation.js +1 -1
  106. package/lib/simulation/automation/wait-for-resource-simulation.js +1 -1
  107. package/lib/simulation/automation-step-simulation.js +4 -5
  108. package/lib/simulation/command/command-simulation-base.js +1 -1
  109. package/lib/simulation/command/ps-module-simulation.js +1 -1
  110. package/lib/simulation/command/run-powershell-script-simulation.js +1 -1
  111. package/lib/simulation/command/run-shell-script-simulation.js +1 -1
  112. package/lib/simulation/command-step-simulation.js +1 -1
  113. package/lib/simulation/document/automation-simulation.js +1 -1
  114. package/lib/simulation/document/command-simulation.js +1 -1
  115. package/lib/simulation/simulation.js +1 -1
  116. package/node_modules/@jsep-plugin/assignment/LICENSE +20 -0
  117. package/node_modules/@jsep-plugin/assignment/README.md +37 -0
  118. package/node_modules/@jsep-plugin/assignment/dist/cjs/index.cjs.js +95 -0
  119. package/node_modules/@jsep-plugin/assignment/dist/cjs/index.cjs.js.map +1 -0
  120. package/node_modules/@jsep-plugin/assignment/dist/cjs/index.cjs.min.js +2 -0
  121. package/node_modules/@jsep-plugin/assignment/dist/cjs/index.cjs.min.js.map +1 -0
  122. package/node_modules/@jsep-plugin/assignment/dist/cjs/package.json +3 -0
  123. package/node_modules/@jsep-plugin/assignment/dist/iife/index.iife.js +98 -0
  124. package/node_modules/@jsep-plugin/assignment/dist/iife/index.iife.js.map +1 -0
  125. package/node_modules/@jsep-plugin/assignment/dist/iife/index.iife.min.js +2 -0
  126. package/node_modules/@jsep-plugin/assignment/dist/iife/index.iife.min.js.map +1 -0
  127. package/node_modules/@jsep-plugin/assignment/dist/index.js +92 -0
  128. package/node_modules/@jsep-plugin/assignment/dist/index.min.js +2 -0
  129. package/node_modules/@jsep-plugin/assignment/dist/index.min.js.map +1 -0
  130. package/node_modules/@jsep-plugin/assignment/package.json +39 -0
  131. package/node_modules/@jsep-plugin/assignment/types/tsd.d.ts +39 -0
  132. package/node_modules/@jsep-plugin/regex/LICENSE +20 -0
  133. package/node_modules/@jsep-plugin/regex/README.md +36 -0
  134. package/node_modules/@jsep-plugin/regex/dist/cjs/index.cjs.js +66 -0
  135. package/node_modules/@jsep-plugin/regex/dist/cjs/index.cjs.js.map +1 -0
  136. package/node_modules/@jsep-plugin/regex/dist/cjs/index.cjs.min.js +2 -0
  137. package/node_modules/@jsep-plugin/regex/dist/cjs/index.cjs.min.js.map +1 -0
  138. package/node_modules/@jsep-plugin/regex/dist/cjs/package.json +3 -0
  139. package/node_modules/@jsep-plugin/regex/dist/iife/index.iife.js +69 -0
  140. package/node_modules/@jsep-plugin/regex/dist/iife/index.iife.js.map +1 -0
  141. package/node_modules/@jsep-plugin/regex/dist/iife/index.iife.min.js +2 -0
  142. package/node_modules/@jsep-plugin/regex/dist/iife/index.iife.min.js.map +1 -0
  143. package/node_modules/@jsep-plugin/regex/dist/index.js +63 -0
  144. package/node_modules/@jsep-plugin/regex/dist/index.min.js +2 -0
  145. package/node_modules/@jsep-plugin/regex/dist/index.min.js.map +1 -0
  146. package/node_modules/@jsep-plugin/regex/package.json +39 -0
  147. package/node_modules/@jsep-plugin/regex/types/tsd.d.ts +7 -0
  148. package/node_modules/jsep/LICENSE +20 -0
  149. package/node_modules/jsep/README.md +208 -0
  150. package/node_modules/jsep/dist/cjs/jsep.cjs.js +1129 -0
  151. package/node_modules/jsep/dist/cjs/jsep.cjs.js.map +1 -0
  152. package/node_modules/jsep/dist/cjs/jsep.cjs.min.js +2 -0
  153. package/node_modules/jsep/dist/cjs/jsep.cjs.min.js.map +1 -0
  154. package/node_modules/jsep/dist/cjs/package.json +3 -0
  155. package/node_modules/jsep/dist/iife/jsep.iife.js +1132 -0
  156. package/node_modules/jsep/dist/iife/jsep.iife.js.map +1 -0
  157. package/node_modules/jsep/dist/iife/jsep.iife.min.js +2 -0
  158. package/node_modules/jsep/dist/iife/jsep.iife.min.js.map +1 -0
  159. package/node_modules/jsep/dist/jsep.js +1126 -0
  160. package/node_modules/jsep/dist/jsep.min.js +2 -0
  161. package/node_modules/jsep/dist/jsep.min.js.map +1 -0
  162. package/node_modules/jsep/package.json +153 -0
  163. package/node_modules/jsep/typings/tsd.d.ts +180 -0
  164. package/node_modules/jsonpath-plus/.claude/settings.local.json +9 -0
  165. package/node_modules/jsonpath-plus/CHANGES.md +453 -0
  166. package/node_modules/jsonpath-plus/LICENSE +22 -0
  167. package/node_modules/jsonpath-plus/README.md +412 -0
  168. package/node_modules/jsonpath-plus/SECURITY.md +38 -0
  169. package/node_modules/jsonpath-plus/bin/jsonpath-cli.js +36 -0
  170. package/node_modules/jsonpath-plus/dist/index-browser-esm.js +2164 -0
  171. package/node_modules/jsonpath-plus/dist/index-browser-esm.min.js +2 -0
  172. package/node_modules/jsonpath-plus/dist/index-browser-esm.min.js.map +1 -0
  173. package/node_modules/jsonpath-plus/dist/index-browser-umd.cjs +2172 -0
  174. package/node_modules/jsonpath-plus/dist/index-browser-umd.min.cjs +2 -0
  175. package/node_modules/jsonpath-plus/dist/index-browser-umd.min.cjs.map +1 -0
  176. package/node_modules/jsonpath-plus/dist/index-node-cjs.cjs +2076 -0
  177. package/node_modules/jsonpath-plus/dist/index-node-esm.js +2074 -0
  178. package/node_modules/jsonpath-plus/package.json +141 -0
  179. package/node_modules/jsonpath-plus/pnpm-workspace.yaml +2 -0
  180. package/node_modules/jsonpath-plus/src/Safe-Script.js +208 -0
  181. package/node_modules/jsonpath-plus/src/jsonpath-browser.js +102 -0
  182. package/node_modules/jsonpath-plus/src/jsonpath-node.js +8 -0
  183. package/node_modules/jsonpath-plus/src/jsonpath.d.ts +226 -0
  184. package/node_modules/jsonpath-plus/src/jsonpath.js +784 -0
  185. package/package.json +3 -3
  186. package/node_modules/escodegen/LICENSE.BSD +0 -21
  187. package/node_modules/escodegen/README.md +0 -84
  188. package/node_modules/escodegen/bin/escodegen.js +0 -77
  189. package/node_modules/escodegen/bin/esgenerate.js +0 -64
  190. package/node_modules/escodegen/escodegen.js +0 -2667
  191. package/node_modules/escodegen/package.json +0 -63
  192. package/node_modules/esprima/LICENSE.BSD +0 -21
  193. package/node_modules/esprima/README.md +0 -46
  194. package/node_modules/esprima/bin/esparse.js +0 -139
  195. package/node_modules/esprima/bin/esvalidate.js +0 -236
  196. package/node_modules/esprima/dist/esprima.js +0 -6709
  197. package/node_modules/esprima/package.json +0 -112
  198. package/node_modules/estraverse/.jshintrc +0 -16
  199. package/node_modules/estraverse/LICENSE.BSD +0 -19
  200. package/node_modules/estraverse/README.md +0 -153
  201. package/node_modules/estraverse/estraverse.js +0 -805
  202. package/node_modules/estraverse/gulpfile.js +0 -70
  203. package/node_modules/estraverse/package.json +0 -40
  204. package/node_modules/esutils/LICENSE.BSD +0 -19
  205. package/node_modules/esutils/README.md +0 -174
  206. package/node_modules/esutils/lib/ast.js +0 -144
  207. package/node_modules/esutils/lib/code.js +0 -135
  208. package/node_modules/esutils/lib/keyword.js +0 -165
  209. package/node_modules/esutils/lib/utils.js +0 -33
  210. package/node_modules/esutils/package.json +0 -44
  211. package/node_modules/jsonpath/.jscsrc +0 -60
  212. package/node_modules/jsonpath/.jshintrc +0 -9
  213. package/node_modules/jsonpath/.travis.yml +0 -3
  214. package/node_modules/jsonpath/Dockerfile +0 -1
  215. package/node_modules/jsonpath/Gruntfile.js +0 -83
  216. package/node_modules/jsonpath/LICENSE +0 -7
  217. package/node_modules/jsonpath/README.md +0 -216
  218. package/node_modules/jsonpath/bin/generate_parser.js +0 -8
  219. package/node_modules/jsonpath/fig.yml +0 -5
  220. package/node_modules/jsonpath/generated/parser.js +0 -721
  221. package/node_modules/jsonpath/include/action.js +0 -4
  222. package/node_modules/jsonpath/include/module.js +0 -34
  223. package/node_modules/jsonpath/index.js +0 -1
  224. package/node_modules/jsonpath/jsonpath.js +0 -7093
  225. package/node_modules/jsonpath/jsonpath.min.js +0 -4
  226. package/node_modules/jsonpath/lib/aesprim.js +0 -18
  227. package/node_modules/jsonpath/lib/dict.js +0 -6
  228. package/node_modules/jsonpath/lib/grammar.js +0 -106
  229. package/node_modules/jsonpath/lib/handlers.js +0 -409
  230. package/node_modules/jsonpath/lib/index.js +0 -304
  231. package/node_modules/jsonpath/lib/parser.js +0 -21
  232. package/node_modules/jsonpath/lib/slice.js +0 -41
  233. package/node_modules/jsonpath/node_modules/esprima/LICENSE.BSD +0 -19
  234. package/node_modules/jsonpath/node_modules/esprima/README.md +0 -24
  235. package/node_modules/jsonpath/node_modules/esprima/bin/esparse.js +0 -127
  236. package/node_modules/jsonpath/node_modules/esprima/bin/esvalidate.js +0 -199
  237. package/node_modules/jsonpath/node_modules/esprima/esprima.js +0 -3772
  238. package/node_modules/jsonpath/node_modules/esprima/package.json +0 -83
  239. package/node_modules/jsonpath/node_modules/esprima/test/compat.js +0 -241
  240. package/node_modules/jsonpath/node_modules/esprima/test/reflect.js +0 -422
  241. package/node_modules/jsonpath/node_modules/esprima/test/run.js +0 -67
  242. package/node_modules/jsonpath/node_modules/esprima/test/runner.js +0 -495
  243. package/node_modules/jsonpath/node_modules/esprima/test/test.js +0 -25593
  244. package/node_modules/jsonpath/package.json +0 -45
  245. package/node_modules/jsonpath/test/data/store.json +0 -31
  246. package/node_modules/jsonpath/test/lessons.js +0 -38
  247. package/node_modules/jsonpath/test/parse.js +0 -164
  248. package/node_modules/jsonpath/test/query.js +0 -359
  249. package/node_modules/jsonpath/test/security.js +0 -238
  250. package/node_modules/jsonpath/test/slice.js +0 -57
  251. package/node_modules/jsonpath/test/stringify.js +0 -54
  252. package/node_modules/jsonpath/test/sugar.js +0 -72
  253. package/node_modules/source-map/LICENSE +0 -28
  254. package/node_modules/source-map/README.md +0 -742
  255. package/node_modules/source-map/dist/source-map.debug.js +0 -3234
  256. package/node_modules/source-map/dist/source-map.js +0 -3233
  257. package/node_modules/source-map/dist/source-map.min.js +0 -2
  258. package/node_modules/source-map/dist/source-map.min.js.map +0 -1
  259. package/node_modules/source-map/lib/array-set.js +0 -121
  260. package/node_modules/source-map/lib/base64-vlq.js +0 -140
  261. package/node_modules/source-map/lib/base64.js +0 -67
  262. package/node_modules/source-map/lib/binary-search.js +0 -111
  263. package/node_modules/source-map/lib/mapping-list.js +0 -79
  264. package/node_modules/source-map/lib/quick-sort.js +0 -114
  265. package/node_modules/source-map/lib/source-map-consumer.js +0 -1145
  266. package/node_modules/source-map/lib/source-map-generator.js +0 -425
  267. package/node_modules/source-map/lib/source-node.js +0 -413
  268. package/node_modules/source-map/lib/util.js +0 -488
  269. package/node_modules/source-map/package.json +0 -73
  270. package/node_modules/source-map/source-map.d.ts +0 -98
  271. package/node_modules/source-map/source-map.js +0 -8
  272. package/node_modules/static-eval/.travis.yml +0 -18
  273. package/node_modules/static-eval/CHANGELOG.md +0 -21
  274. package/node_modules/static-eval/LICENSE +0 -20
  275. package/node_modules/static-eval/example/eval.js +0 -7
  276. package/node_modules/static-eval/example/vars.js +0 -11
  277. package/node_modules/static-eval/index.js +0 -209
  278. package/node_modules/static-eval/package.json +0 -54
  279. package/node_modules/static-eval/readme.markdown +0 -87
  280. package/node_modules/static-eval/security.md +0 -15
  281. package/node_modules/static-eval/test/eval.js +0 -177
  282. package/node_modules/static-eval/test/prop.js +0 -16
  283. package/node_modules/static-eval/test/template-strings.js +0 -33
  284. package/node_modules/underscore/LICENSE +0 -22
  285. package/node_modules/underscore/README.md +0 -34
  286. package/node_modules/underscore/amd/_baseCreate.js +0 -21
  287. package/node_modules/underscore/amd/_baseIteratee.js +0 -15
  288. package/node_modules/underscore/amd/_cb.js +0 -12
  289. package/node_modules/underscore/amd/_chainResult.js +0 -10
  290. package/node_modules/underscore/amd/_collectNonEnumProps.js +0 -42
  291. package/node_modules/underscore/amd/_createAssigner.js +0 -24
  292. package/node_modules/underscore/amd/_createEscaper.js +0 -21
  293. package/node_modules/underscore/amd/_createIndexFinder.js +0 -30
  294. package/node_modules/underscore/amd/_createPredicateIndexFinder.js +0 -18
  295. package/node_modules/underscore/amd/_createReduce.js +0 -30
  296. package/node_modules/underscore/amd/_createSizePropertyCheck.js +0 -13
  297. package/node_modules/underscore/amd/_deepGet.js +0 -15
  298. package/node_modules/underscore/amd/_escapeMap.js +0 -15
  299. package/node_modules/underscore/amd/_executeBound.js +0 -16
  300. package/node_modules/underscore/amd/_flatten.js +0 -32
  301. package/node_modules/underscore/amd/_getByteLength.js +0 -8
  302. package/node_modules/underscore/amd/_getLength.js +0 -8
  303. package/node_modules/underscore/amd/_group.js +0 -18
  304. package/node_modules/underscore/amd/_has.js +0 -10
  305. package/node_modules/underscore/amd/_hasObjectTag.js +0 -7
  306. package/node_modules/underscore/amd/_isArrayLike.js +0 -11
  307. package/node_modules/underscore/amd/_isBufferLike.js +0 -9
  308. package/node_modules/underscore/amd/_keyInObj.js +0 -11
  309. package/node_modules/underscore/amd/_methodFingerprint.js +0 -44
  310. package/node_modules/underscore/amd/_optimizeCb.js +0 -27
  311. package/node_modules/underscore/amd/_set.js +0 -21
  312. package/node_modules/underscore/amd/_setup.js +0 -70
  313. package/node_modules/underscore/amd/_shallowProperty.js +0 -12
  314. package/node_modules/underscore/amd/_stringTagBug.js +0 -16
  315. package/node_modules/underscore/amd/_tagTester.js +0 -13
  316. package/node_modules/underscore/amd/_toBufferView.js +0 -15
  317. package/node_modules/underscore/amd/_toPath.js +0 -11
  318. package/node_modules/underscore/amd/_unescapeMap.js +0 -8
  319. package/node_modules/underscore/amd/after.js +0 -14
  320. package/node_modules/underscore/amd/allKeys.js +0 -15
  321. package/node_modules/underscore/amd/before.js +0 -18
  322. package/node_modules/underscore/amd/bind.js +0 -15
  323. package/node_modules/underscore/amd/bindAll.js +0 -19
  324. package/node_modules/underscore/amd/chain.js +0 -12
  325. package/node_modules/underscore/amd/chunk.js +0 -17
  326. package/node_modules/underscore/amd/clone.js +0 -11
  327. package/node_modules/underscore/amd/compact.js +0 -10
  328. package/node_modules/underscore/amd/compose.js +0 -18
  329. package/node_modules/underscore/amd/constant.js +0 -12
  330. package/node_modules/underscore/amd/contains.js +0 -12
  331. package/node_modules/underscore/amd/countBy.js +0 -12
  332. package/node_modules/underscore/amd/create.js +0 -14
  333. package/node_modules/underscore/amd/debounce.js +0 -43
  334. package/node_modules/underscore/amd/defaults.js +0 -8
  335. package/node_modules/underscore/amd/defer.js +0 -9
  336. package/node_modules/underscore/amd/delay.js +0 -13
  337. package/node_modules/underscore/amd/difference.js +0 -14
  338. package/node_modules/underscore/amd/each.js +0 -25
  339. package/node_modules/underscore/amd/escape.js +0 -8
  340. package/node_modules/underscore/amd/every.js +0 -17
  341. package/node_modules/underscore/amd/extend.js +0 -8
  342. package/node_modules/underscore/amd/extendOwn.js +0 -10
  343. package/node_modules/underscore/amd/filter.js +0 -15
  344. package/node_modules/underscore/amd/find.js +0 -12
  345. package/node_modules/underscore/amd/findIndex.js +0 -8
  346. package/node_modules/underscore/amd/findKey.js +0 -15
  347. package/node_modules/underscore/amd/findLastIndex.js +0 -8
  348. package/node_modules/underscore/amd/findWhere.js +0 -11
  349. package/node_modules/underscore/amd/first.js +0 -13
  350. package/node_modules/underscore/amd/flatten.js +0 -11
  351. package/node_modules/underscore/amd/functions.js +0 -14
  352. package/node_modules/underscore/amd/get.js +0 -14
  353. package/node_modules/underscore/amd/groupBy.js +0 -11
  354. package/node_modules/underscore/amd/has.js +0 -19
  355. package/node_modules/underscore/amd/identity.js +0 -10
  356. package/node_modules/underscore/amd/index-default.js +0 -12
  357. package/node_modules/underscore/amd/index.js +0 -154
  358. package/node_modules/underscore/amd/indexBy.js +0 -11
  359. package/node_modules/underscore/amd/indexOf.js +0 -11
  360. package/node_modules/underscore/amd/initial.js +0 -12
  361. package/node_modules/underscore/amd/intersection.js +0 -22
  362. package/node_modules/underscore/amd/invert.js +0 -15
  363. package/node_modules/underscore/amd/invoke.js +0 -28
  364. package/node_modules/underscore/amd/isArguments.js +0 -19
  365. package/node_modules/underscore/amd/isArray.js +0 -9
  366. package/node_modules/underscore/amd/isArrayBuffer.js +0 -7
  367. package/node_modules/underscore/amd/isBoolean.js +0 -10
  368. package/node_modules/underscore/amd/isDataView.js +0 -15
  369. package/node_modules/underscore/amd/isDate.js +0 -7
  370. package/node_modules/underscore/amd/isElement.js +0 -10
  371. package/node_modules/underscore/amd/isEmpty.js +0 -18
  372. package/node_modules/underscore/amd/isEqual.js +0 -133
  373. package/node_modules/underscore/amd/isError.js +0 -7
  374. package/node_modules/underscore/amd/isFinite.js +0 -10
  375. package/node_modules/underscore/amd/isFunction.js +0 -18
  376. package/node_modules/underscore/amd/isMap.js +0 -7
  377. package/node_modules/underscore/amd/isMatch.js +0 -17
  378. package/node_modules/underscore/amd/isNaN.js +0 -10
  379. package/node_modules/underscore/amd/isNull.js +0 -10
  380. package/node_modules/underscore/amd/isNumber.js +0 -7
  381. package/node_modules/underscore/amd/isObject.js +0 -11
  382. package/node_modules/underscore/amd/isRegExp.js +0 -7
  383. package/node_modules/underscore/amd/isSet.js +0 -7
  384. package/node_modules/underscore/amd/isString.js +0 -7
  385. package/node_modules/underscore/amd/isSymbol.js +0 -7
  386. package/node_modules/underscore/amd/isTypedArray.js +0 -16
  387. package/node_modules/underscore/amd/isUndefined.js +0 -10
  388. package/node_modules/underscore/amd/isWeakMap.js +0 -7
  389. package/node_modules/underscore/amd/isWeakSet.js +0 -7
  390. package/node_modules/underscore/amd/iteratee.js +0 -13
  391. package/node_modules/underscore/amd/keys.js +0 -17
  392. package/node_modules/underscore/amd/last.js +0 -13
  393. package/node_modules/underscore/amd/lastIndexOf.js +0 -9
  394. package/node_modules/underscore/amd/map.js +0 -18
  395. package/node_modules/underscore/amd/mapObject.js +0 -19
  396. package/node_modules/underscore/amd/matcher.js +0 -14
  397. package/node_modules/underscore/amd/max.js +0 -30
  398. package/node_modules/underscore/amd/memoize.js +0 -17
  399. package/node_modules/underscore/amd/min.js +0 -30
  400. package/node_modules/underscore/amd/mixin.js +0 -18
  401. package/node_modules/underscore/amd/negate.js +0 -12
  402. package/node_modules/underscore/amd/noop.js +0 -8
  403. package/node_modules/underscore/amd/now.js +0 -10
  404. package/node_modules/underscore/amd/object.js +0 -20
  405. package/node_modules/underscore/amd/omit.js +0 -20
  406. package/node_modules/underscore/amd/once.js +0 -9
  407. package/node_modules/underscore/amd/pairs.js +0 -17
  408. package/node_modules/underscore/amd/partial.js +0 -25
  409. package/node_modules/underscore/amd/partition.js +0 -11
  410. package/node_modules/underscore/amd/pick.js +0 -25
  411. package/node_modules/underscore/amd/pluck.js +0 -10
  412. package/node_modules/underscore/amd/property.js +0 -14
  413. package/node_modules/underscore/amd/propertyOf.js +0 -13
  414. package/node_modules/underscore/amd/random.js +0 -14
  415. package/node_modules/underscore/amd/range.js +0 -27
  416. package/node_modules/underscore/amd/reduce.js +0 -9
  417. package/node_modules/underscore/amd/reduceRight.js +0 -8
  418. package/node_modules/underscore/amd/reject.js +0 -10
  419. package/node_modules/underscore/amd/rest.js +0 -12
  420. package/node_modules/underscore/amd/restArguments.js +0 -33
  421. package/node_modules/underscore/amd/result.js +0 -25
  422. package/node_modules/underscore/amd/sample.js +0 -27
  423. package/node_modules/underscore/amd/set.js +0 -15
  424. package/node_modules/underscore/amd/shuffle.js +0 -10
  425. package/node_modules/underscore/amd/size.js +0 -11
  426. package/node_modules/underscore/amd/some.js +0 -17
  427. package/node_modules/underscore/amd/sortBy.js +0 -26
  428. package/node_modules/underscore/amd/sortedIndex.js +0 -18
  429. package/node_modules/underscore/amd/tap.js +0 -13
  430. package/node_modules/underscore/amd/template.js +0 -103
  431. package/node_modules/underscore/amd/templateSettings.js +0 -13
  432. package/node_modules/underscore/amd/throttle.js +0 -51
  433. package/node_modules/underscore/amd/times.js +0 -13
  434. package/node_modules/underscore/amd/toArray.js +0 -18
  435. package/node_modules/underscore/amd/toPath.js +0 -12
  436. package/node_modules/underscore/amd/underscore-array-methods.js +0 -30
  437. package/node_modules/underscore/amd/underscore.js +0 -29
  438. package/node_modules/underscore/amd/unescape.js +0 -8
  439. package/node_modules/underscore/amd/union.js +0 -11
  440. package/node_modules/underscore/amd/uniq.js +0 -37
  441. package/node_modules/underscore/amd/uniqueId.js +0 -13
  442. package/node_modules/underscore/amd/unzip.js +0 -17
  443. package/node_modules/underscore/amd/values.js +0 -16
  444. package/node_modules/underscore/amd/where.js +0 -11
  445. package/node_modules/underscore/amd/without.js +0 -10
  446. package/node_modules/underscore/amd/wrap.js +0 -12
  447. package/node_modules/underscore/amd/zip.js +0 -9
  448. package/node_modules/underscore/cjs/_baseCreate.js +0 -20
  449. package/node_modules/underscore/cjs/_baseIteratee.js +0 -19
  450. package/node_modules/underscore/cjs/_cb.js +0 -12
  451. package/node_modules/underscore/cjs/_chainResult.js +0 -8
  452. package/node_modules/underscore/cjs/_collectNonEnumProps.js +0 -42
  453. package/node_modules/underscore/cjs/_createAssigner.js +0 -20
  454. package/node_modules/underscore/cjs/_createEscaper.js +0 -19
  455. package/node_modules/underscore/cjs/_createIndexFinder.js +0 -30
  456. package/node_modules/underscore/cjs/_createPredicateIndexFinder.js +0 -17
  457. package/node_modules/underscore/cjs/_createReduce.js +0 -30
  458. package/node_modules/underscore/cjs/_createSizePropertyCheck.js +0 -11
  459. package/node_modules/underscore/cjs/_deepGet.js +0 -11
  460. package/node_modules/underscore/cjs/_escapeMap.js +0 -11
  461. package/node_modules/underscore/cjs/_executeBound.js +0 -15
  462. package/node_modules/underscore/cjs/_flatten.js +0 -33
  463. package/node_modules/underscore/cjs/_getByteLength.js +0 -6
  464. package/node_modules/underscore/cjs/_getLength.js +0 -6
  465. package/node_modules/underscore/cjs/_group.js +0 -17
  466. package/node_modules/underscore/cjs/_has.js +0 -8
  467. package/node_modules/underscore/cjs/_hasObjectTag.js +0 -5
  468. package/node_modules/underscore/cjs/_isArrayLike.js +0 -10
  469. package/node_modules/underscore/cjs/_isBufferLike.js +0 -8
  470. package/node_modules/underscore/cjs/_keyInObj.js +0 -7
  471. package/node_modules/underscore/cjs/_methodFingerprint.js +0 -44
  472. package/node_modules/underscore/cjs/_optimizeCb.js +0 -23
  473. package/node_modules/underscore/cjs/_set.js +0 -21
  474. package/node_modules/underscore/cjs/_setup.js +0 -66
  475. package/node_modules/underscore/cjs/_shallowProperty.js +0 -8
  476. package/node_modules/underscore/cjs/_stringTagBug.js +0 -15
  477. package/node_modules/underscore/cjs/_tagTester.js +0 -11
  478. package/node_modules/underscore/cjs/_toBufferView.js +0 -13
  479. package/node_modules/underscore/cjs/_toPath.js +0 -10
  480. package/node_modules/underscore/cjs/_unescapeMap.js +0 -7
  481. package/node_modules/underscore/cjs/after.js +0 -10
  482. package/node_modules/underscore/cjs/allKeys.js +0 -15
  483. package/node_modules/underscore/cjs/before.js +0 -14
  484. package/node_modules/underscore/cjs/bind.js +0 -15
  485. package/node_modules/underscore/cjs/bindAll.js +0 -19
  486. package/node_modules/underscore/cjs/chain.js +0 -10
  487. package/node_modules/underscore/cjs/chunk.js +0 -15
  488. package/node_modules/underscore/cjs/clone.js +0 -11
  489. package/node_modules/underscore/cjs/compact.js +0 -8
  490. package/node_modules/underscore/cjs/compose.js +0 -14
  491. package/node_modules/underscore/cjs/constant.js +0 -8
  492. package/node_modules/underscore/cjs/contains.js +0 -12
  493. package/node_modules/underscore/cjs/countBy.js +0 -11
  494. package/node_modules/underscore/cjs/create.js +0 -13
  495. package/node_modules/underscore/cjs/debounce.js +0 -42
  496. package/node_modules/underscore/cjs/defaults.js +0 -7
  497. package/node_modules/underscore/cjs/defer.js +0 -9
  498. package/node_modules/underscore/cjs/delay.js +0 -11
  499. package/node_modules/underscore/cjs/difference.js +0 -15
  500. package/node_modules/underscore/cjs/each.js +0 -25
  501. package/node_modules/underscore/cjs/escape.js +0 -7
  502. package/node_modules/underscore/cjs/every.js +0 -17
  503. package/node_modules/underscore/cjs/extend.js +0 -7
  504. package/node_modules/underscore/cjs/extendOwn.js +0 -9
  505. package/node_modules/underscore/cjs/filter.js +0 -14
  506. package/node_modules/underscore/cjs/find.js +0 -12
  507. package/node_modules/underscore/cjs/findIndex.js +0 -6
  508. package/node_modules/underscore/cjs/findKey.js +0 -14
  509. package/node_modules/underscore/cjs/findLastIndex.js +0 -6
  510. package/node_modules/underscore/cjs/findWhere.js +0 -10
  511. package/node_modules/underscore/cjs/first.js +0 -11
  512. package/node_modules/underscore/cjs/flatten.js +0 -9
  513. package/node_modules/underscore/cjs/functions.js +0 -12
  514. package/node_modules/underscore/cjs/get.js +0 -14
  515. package/node_modules/underscore/cjs/groupBy.js +0 -10
  516. package/node_modules/underscore/cjs/has.js +0 -18
  517. package/node_modules/underscore/cjs/identity.js +0 -6
  518. package/node_modules/underscore/cjs/index-default.js +0 -11
  519. package/node_modules/underscore/cjs/index.js +0 -278
  520. package/node_modules/underscore/cjs/indexBy.js +0 -9
  521. package/node_modules/underscore/cjs/indexOf.js +0 -11
  522. package/node_modules/underscore/cjs/initial.js +0 -10
  523. package/node_modules/underscore/cjs/intersection.js +0 -21
  524. package/node_modules/underscore/cjs/invert.js +0 -13
  525. package/node_modules/underscore/cjs/invoke.js +0 -30
  526. package/node_modules/underscore/cjs/isArguments.js +0 -18
  527. package/node_modules/underscore/cjs/isArray.js +0 -8
  528. package/node_modules/underscore/cjs/isArrayBuffer.js +0 -5
  529. package/node_modules/underscore/cjs/isBoolean.js +0 -8
  530. package/node_modules/underscore/cjs/isDataView.js +0 -16
  531. package/node_modules/underscore/cjs/isDate.js +0 -5
  532. package/node_modules/underscore/cjs/isElement.js +0 -6
  533. package/node_modules/underscore/cjs/isEmpty.js +0 -20
  534. package/node_modules/underscore/cjs/isEqual.js +0 -140
  535. package/node_modules/underscore/cjs/isError.js +0 -5
  536. package/node_modules/underscore/cjs/isFinite.js +0 -9
  537. package/node_modules/underscore/cjs/isFunction.js +0 -17
  538. package/node_modules/underscore/cjs/isMap.js +0 -7
  539. package/node_modules/underscore/cjs/isMatch.js +0 -15
  540. package/node_modules/underscore/cjs/isNaN.js +0 -9
  541. package/node_modules/underscore/cjs/isNull.js +0 -6
  542. package/node_modules/underscore/cjs/isNumber.js +0 -5
  543. package/node_modules/underscore/cjs/isObject.js +0 -7
  544. package/node_modules/underscore/cjs/isRegExp.js +0 -5
  545. package/node_modules/underscore/cjs/isSet.js +0 -7
  546. package/node_modules/underscore/cjs/isString.js +0 -5
  547. package/node_modules/underscore/cjs/isSymbol.js +0 -5
  548. package/node_modules/underscore/cjs/isTypedArray.js +0 -17
  549. package/node_modules/underscore/cjs/isUndefined.js +0 -6
  550. package/node_modules/underscore/cjs/isWeakMap.js +0 -7
  551. package/node_modules/underscore/cjs/isWeakSet.js +0 -5
  552. package/node_modules/underscore/cjs/iteratee.js +0 -12
  553. package/node_modules/underscore/cjs/keys.js +0 -18
  554. package/node_modules/underscore/cjs/last.js +0 -11
  555. package/node_modules/underscore/cjs/lastIndexOf.js +0 -8
  556. package/node_modules/underscore/cjs/map.js +0 -18
  557. package/node_modules/underscore/cjs/mapObject.js +0 -18
  558. package/node_modules/underscore/cjs/matcher.js +0 -13
  559. package/node_modules/underscore/cjs/max.js +0 -31
  560. package/node_modules/underscore/cjs/memoize.js +0 -15
  561. package/node_modules/underscore/cjs/min.js +0 -31
  562. package/node_modules/underscore/cjs/mixin.js +0 -20
  563. package/node_modules/underscore/cjs/negate.js +0 -8
  564. package/node_modules/underscore/cjs/noop.js +0 -4
  565. package/node_modules/underscore/cjs/now.js +0 -6
  566. package/node_modules/underscore/cjs/object.js +0 -18
  567. package/node_modules/underscore/cjs/omit.js +0 -24
  568. package/node_modules/underscore/cjs/once.js +0 -8
  569. package/node_modules/underscore/cjs/pairs.js +0 -15
  570. package/node_modules/underscore/cjs/partial.js +0 -25
  571. package/node_modules/underscore/cjs/partition.js +0 -9
  572. package/node_modules/underscore/cjs/pick.js +0 -28
  573. package/node_modules/underscore/cjs/pluck.js +0 -9
  574. package/node_modules/underscore/cjs/property.js +0 -13
  575. package/node_modules/underscore/cjs/propertyOf.js +0 -12
  576. package/node_modules/underscore/cjs/random.js +0 -10
  577. package/node_modules/underscore/cjs/range.js +0 -23
  578. package/node_modules/underscore/cjs/reduce.js +0 -7
  579. package/node_modules/underscore/cjs/reduceRight.js +0 -6
  580. package/node_modules/underscore/cjs/reject.js +0 -10
  581. package/node_modules/underscore/cjs/rest.js +0 -10
  582. package/node_modules/underscore/cjs/restArguments.js +0 -29
  583. package/node_modules/underscore/cjs/result.js +0 -24
  584. package/node_modules/underscore/cjs/sample.js +0 -29
  585. package/node_modules/underscore/cjs/set.js +0 -15
  586. package/node_modules/underscore/cjs/shuffle.js +0 -8
  587. package/node_modules/underscore/cjs/size.js +0 -10
  588. package/node_modules/underscore/cjs/some.js +0 -17
  589. package/node_modules/underscore/cjs/sortBy.js +0 -26
  590. package/node_modules/underscore/cjs/sortedIndex.js +0 -17
  591. package/node_modules/underscore/cjs/tap.js +0 -9
  592. package/node_modules/underscore/cjs/template.js +0 -103
  593. package/node_modules/underscore/cjs/templateSettings.js +0 -11
  594. package/node_modules/underscore/cjs/throttle.js +0 -49
  595. package/node_modules/underscore/cjs/times.js +0 -11
  596. package/node_modules/underscore/cjs/toArray.js +0 -22
  597. package/node_modules/underscore/cjs/toPath.js +0 -11
  598. package/node_modules/underscore/cjs/underscore-array-methods.js +0 -31
  599. package/node_modules/underscore/cjs/underscore.js +0 -27
  600. package/node_modules/underscore/cjs/unescape.js +0 -7
  601. package/node_modules/underscore/cjs/union.js +0 -11
  602. package/node_modules/underscore/cjs/uniq.js +0 -38
  603. package/node_modules/underscore/cjs/uniqueId.js +0 -9
  604. package/node_modules/underscore/cjs/unzip.js +0 -17
  605. package/node_modules/underscore/cjs/values.js +0 -14
  606. package/node_modules/underscore/cjs/where.js +0 -10
  607. package/node_modules/underscore/cjs/without.js +0 -9
  608. package/node_modules/underscore/cjs/wrap.js +0 -10
  609. package/node_modules/underscore/cjs/zip.js +0 -8
  610. package/node_modules/underscore/modules/.eslintrc +0 -21
  611. package/node_modules/underscore/modules/_baseCreate.js +0 -18
  612. package/node_modules/underscore/modules/_baseIteratee.js +0 -17
  613. package/node_modules/underscore/modules/_cb.js +0 -10
  614. package/node_modules/underscore/modules/_chainResult.js +0 -6
  615. package/node_modules/underscore/modules/_collectNonEnumProps.js +0 -40
  616. package/node_modules/underscore/modules/_createAssigner.js +0 -18
  617. package/node_modules/underscore/modules/_createEscaper.js +0 -17
  618. package/node_modules/underscore/modules/_createIndexFinder.js +0 -28
  619. package/node_modules/underscore/modules/_createPredicateIndexFinder.js +0 -15
  620. package/node_modules/underscore/modules/_createReduce.js +0 -28
  621. package/node_modules/underscore/modules/_createSizePropertyCheck.js +0 -9
  622. package/node_modules/underscore/modules/_deepGet.js +0 -9
  623. package/node_modules/underscore/modules/_escapeMap.js +0 -9
  624. package/node_modules/underscore/modules/_executeBound.js +0 -13
  625. package/node_modules/underscore/modules/_flatten.js +0 -31
  626. package/node_modules/underscore/modules/_getByteLength.js +0 -4
  627. package/node_modules/underscore/modules/_getLength.js +0 -4
  628. package/node_modules/underscore/modules/_group.js +0 -15
  629. package/node_modules/underscore/modules/_has.js +0 -6
  630. package/node_modules/underscore/modules/_hasObjectTag.js +0 -3
  631. package/node_modules/underscore/modules/_isArrayLike.js +0 -8
  632. package/node_modules/underscore/modules/_isBufferLike.js +0 -6
  633. package/node_modules/underscore/modules/_keyInObj.js +0 -5
  634. package/node_modules/underscore/modules/_methodFingerprint.js +0 -37
  635. package/node_modules/underscore/modules/_optimizeCb.js +0 -21
  636. package/node_modules/underscore/modules/_setup.js +0 -43
  637. package/node_modules/underscore/modules/_shallowProperty.js +0 -6
  638. package/node_modules/underscore/modules/_stringTagBug.js +0 -10
  639. package/node_modules/underscore/modules/_tagTester.js +0 -9
  640. package/node_modules/underscore/modules/_toBufferView.js +0 -11
  641. package/node_modules/underscore/modules/_toPath.js +0 -8
  642. package/node_modules/underscore/modules/_unescapeMap.js +0 -5
  643. package/node_modules/underscore/modules/after.js +0 -8
  644. package/node_modules/underscore/modules/allKeys.js +0 -13
  645. package/node_modules/underscore/modules/before.js +0 -12
  646. package/node_modules/underscore/modules/bind.js +0 -13
  647. package/node_modules/underscore/modules/bindAll.js +0 -17
  648. package/node_modules/underscore/modules/chain.js +0 -8
  649. package/node_modules/underscore/modules/chunk.js +0 -13
  650. package/node_modules/underscore/modules/clone.js +0 -9
  651. package/node_modules/underscore/modules/compact.js +0 -6
  652. package/node_modules/underscore/modules/compose.js +0 -12
  653. package/node_modules/underscore/modules/constant.js +0 -6
  654. package/node_modules/underscore/modules/contains.js +0 -10
  655. package/node_modules/underscore/modules/countBy.js +0 -9
  656. package/node_modules/underscore/modules/create.js +0 -11
  657. package/node_modules/underscore/modules/debounce.js +0 -40
  658. package/node_modules/underscore/modules/defaults.js +0 -5
  659. package/node_modules/underscore/modules/defer.js +0 -7
  660. package/node_modules/underscore/modules/delay.js +0 -9
  661. package/node_modules/underscore/modules/difference.js +0 -13
  662. package/node_modules/underscore/modules/each.js +0 -23
  663. package/node_modules/underscore/modules/escape.js +0 -5
  664. package/node_modules/underscore/modules/every.js +0 -15
  665. package/node_modules/underscore/modules/extend.js +0 -5
  666. package/node_modules/underscore/modules/extendOwn.js +0 -7
  667. package/node_modules/underscore/modules/filter.js +0 -12
  668. package/node_modules/underscore/modules/find.js +0 -10
  669. package/node_modules/underscore/modules/findIndex.js +0 -4
  670. package/node_modules/underscore/modules/findKey.js +0 -12
  671. package/node_modules/underscore/modules/findLastIndex.js +0 -4
  672. package/node_modules/underscore/modules/findWhere.js +0 -8
  673. package/node_modules/underscore/modules/first.js +0 -9
  674. package/node_modules/underscore/modules/flatten.js +0 -7
  675. package/node_modules/underscore/modules/functions.js +0 -10
  676. package/node_modules/underscore/modules/get.js +0 -12
  677. package/node_modules/underscore/modules/groupBy.js +0 -8
  678. package/node_modules/underscore/modules/has.js +0 -16
  679. package/node_modules/underscore/modules/identity.js +0 -4
  680. package/node_modules/underscore/modules/index-all.js +0 -18
  681. package/node_modules/underscore/modules/index-default.js +0 -27
  682. package/node_modules/underscore/modules/index.js +0 -200
  683. package/node_modules/underscore/modules/indexBy.js +0 -7
  684. package/node_modules/underscore/modules/indexOf.js +0 -9
  685. package/node_modules/underscore/modules/initial.js +0 -8
  686. package/node_modules/underscore/modules/intersection.js +0 -19
  687. package/node_modules/underscore/modules/invert.js +0 -11
  688. package/node_modules/underscore/modules/invoke.js +0 -28
  689. package/node_modules/underscore/modules/isArguments.js +0 -16
  690. package/node_modules/underscore/modules/isArray.js +0 -6
  691. package/node_modules/underscore/modules/isArrayBuffer.js +0 -3
  692. package/node_modules/underscore/modules/isBoolean.js +0 -6
  693. package/node_modules/underscore/modules/isDataView.js +0 -14
  694. package/node_modules/underscore/modules/isDate.js +0 -3
  695. package/node_modules/underscore/modules/isElement.js +0 -4
  696. package/node_modules/underscore/modules/isEmpty.js +0 -18
  697. package/node_modules/underscore/modules/isEqual.js +0 -138
  698. package/node_modules/underscore/modules/isError.js +0 -3
  699. package/node_modules/underscore/modules/isFinite.js +0 -7
  700. package/node_modules/underscore/modules/isFunction.js +0 -15
  701. package/node_modules/underscore/modules/isMap.js +0 -5
  702. package/node_modules/underscore/modules/isMatch.js +0 -13
  703. package/node_modules/underscore/modules/isNaN.js +0 -7
  704. package/node_modules/underscore/modules/isNull.js +0 -4
  705. package/node_modules/underscore/modules/isNumber.js +0 -3
  706. package/node_modules/underscore/modules/isObject.js +0 -5
  707. package/node_modules/underscore/modules/isRegExp.js +0 -3
  708. package/node_modules/underscore/modules/isSet.js +0 -5
  709. package/node_modules/underscore/modules/isString.js +0 -3
  710. package/node_modules/underscore/modules/isSymbol.js +0 -3
  711. package/node_modules/underscore/modules/isTypedArray.js +0 -15
  712. package/node_modules/underscore/modules/isUndefined.js +0 -4
  713. package/node_modules/underscore/modules/isWeakMap.js +0 -5
  714. package/node_modules/underscore/modules/isWeakSet.js +0 -3
  715. package/node_modules/underscore/modules/iteratee.js +0 -10
  716. package/node_modules/underscore/modules/keys.js +0 -16
  717. package/node_modules/underscore/modules/last.js +0 -9
  718. package/node_modules/underscore/modules/lastIndexOf.js +0 -6
  719. package/node_modules/underscore/modules/map.js +0 -16
  720. package/node_modules/underscore/modules/mapObject.js +0 -16
  721. package/node_modules/underscore/modules/matcher.js +0 -11
  722. package/node_modules/underscore/modules/max.js +0 -29
  723. package/node_modules/underscore/modules/memoize.js +0 -13
  724. package/node_modules/underscore/modules/min.js +0 -29
  725. package/node_modules/underscore/modules/mixin.js +0 -18
  726. package/node_modules/underscore/modules/negate.js +0 -6
  727. package/node_modules/underscore/modules/noop.js +0 -2
  728. package/node_modules/underscore/modules/now.js +0 -4
  729. package/node_modules/underscore/modules/object.js +0 -16
  730. package/node_modules/underscore/modules/omit.js +0 -22
  731. package/node_modules/underscore/modules/once.js +0 -6
  732. package/node_modules/underscore/modules/package.json +0 -1
  733. package/node_modules/underscore/modules/pairs.js +0 -13
  734. package/node_modules/underscore/modules/partial.js +0 -24
  735. package/node_modules/underscore/modules/partition.js +0 -7
  736. package/node_modules/underscore/modules/pick.js +0 -26
  737. package/node_modules/underscore/modules/pluck.js +0 -7
  738. package/node_modules/underscore/modules/property.js +0 -11
  739. package/node_modules/underscore/modules/propertyOf.js +0 -10
  740. package/node_modules/underscore/modules/random.js +0 -8
  741. package/node_modules/underscore/modules/range.js +0 -21
  742. package/node_modules/underscore/modules/reduce.js +0 -5
  743. package/node_modules/underscore/modules/reduceRight.js +0 -4
  744. package/node_modules/underscore/modules/reject.js +0 -8
  745. package/node_modules/underscore/modules/rest.js +0 -8
  746. package/node_modules/underscore/modules/restArguments.js +0 -27
  747. package/node_modules/underscore/modules/result.js +0 -22
  748. package/node_modules/underscore/modules/sample.js +0 -27
  749. package/node_modules/underscore/modules/shuffle.js +0 -6
  750. package/node_modules/underscore/modules/size.js +0 -8
  751. package/node_modules/underscore/modules/some.js +0 -15
  752. package/node_modules/underscore/modules/sortBy.js +0 -24
  753. package/node_modules/underscore/modules/sortedIndex.js +0 -15
  754. package/node_modules/underscore/modules/tap.js +0 -7
  755. package/node_modules/underscore/modules/template.js +0 -101
  756. package/node_modules/underscore/modules/templateSettings.js +0 -9
  757. package/node_modules/underscore/modules/throttle.js +0 -47
  758. package/node_modules/underscore/modules/times.js +0 -9
  759. package/node_modules/underscore/modules/toArray.js +0 -20
  760. package/node_modules/underscore/modules/toPath.js +0 -9
  761. package/node_modules/underscore/modules/underscore-array-methods.js +0 -31
  762. package/node_modules/underscore/modules/underscore.js +0 -25
  763. package/node_modules/underscore/modules/unescape.js +0 -5
  764. package/node_modules/underscore/modules/union.js +0 -9
  765. package/node_modules/underscore/modules/uniq.js +0 -36
  766. package/node_modules/underscore/modules/uniqueId.js +0 -7
  767. package/node_modules/underscore/modules/unzip.js +0 -15
  768. package/node_modules/underscore/modules/values.js +0 -12
  769. package/node_modules/underscore/modules/where.js +0 -8
  770. package/node_modules/underscore/modules/without.js +0 -7
  771. package/node_modules/underscore/modules/wrap.js +0 -8
  772. package/node_modules/underscore/modules/zip.js +0 -6
  773. package/node_modules/underscore/package.json +0 -124
  774. package/node_modules/underscore/underscore-esm-min.js +0 -5
  775. package/node_modules/underscore/underscore-esm-min.js.map +0 -1
  776. package/node_modules/underscore/underscore-esm.js +0 -2034
  777. package/node_modules/underscore/underscore-esm.js.map +0 -1
  778. package/node_modules/underscore/underscore-min.js +0 -6
  779. package/node_modules/underscore/underscore-min.js.map +0 -1
  780. package/node_modules/underscore/underscore-node-f.cjs +0 -2158
  781. package/node_modules/underscore/underscore-node-f.cjs.map +0 -1
  782. package/node_modules/underscore/underscore-node.cjs +0 -11
  783. package/node_modules/underscore/underscore-node.cjs.map +0 -1
  784. package/node_modules/underscore/underscore-node.mjs +0 -7
  785. package/node_modules/underscore/underscore-node.mjs.map +0 -1
  786. package/node_modules/underscore/underscore-umd-min.js +0 -6
  787. package/node_modules/underscore/underscore-umd-min.js.map +0 -1
  788. package/node_modules/underscore/underscore-umd.js +0 -2042
  789. package/node_modules/underscore/underscore-umd.js.map +0 -1
  790. package/node_modules/underscore/underscore.js +0 -2042
@@ -0,0 +1,412 @@
1
+ [![npm](https://img.shields.io/npm/v/jsonpath-plus.svg)](https://www.npmjs.com/package/jsonpath-plus)
2
+
3
+ [![testing badge](https://raw.githubusercontent.com/s3u/JSONPath/master/badges/tests-badge.svg?sanitize=true)](badges/tests-badge.svg)
4
+ [![coverage badge](https://raw.githubusercontent.com/s3u/JSONPath/master/badges/coverage-badge.svg?sanitize=true)](badges/coverage-badge.svg)
5
+
6
+ [![Known Vulnerabilities](https://snyk.io/test/github/s3u/JSONPath/badge.svg)](https://snyk.io/test/github/s3u/JSONPath)
7
+
8
+ <!--[![License](https://img.shields.io/npm/l/JSONPath.svg)](LICENSE-MIT.txt)-->
9
+ [![Licenses badge](https://raw.githubusercontent.com/s3u/JSONPath/master/badges/licenses-badge.svg?sanitize=true)](badges/licenses-badge.svg)
10
+
11
+ [![Node.js CI status](https://github.com/JSONPath-Plus/JSONPath/actions/workflows/node.js.yml/badge.svg)](https://github.com/JSONPath-Plus/JSONPath/actions/workflows/node.js.yml)
12
+
13
+ <small>(see also [licenses for dev. deps.](https://raw.githubusercontent.com/s3u/JSONPath/master/badges/licenses-badge-dev.svg?sanitize=true))</small>
14
+
15
+ # JSONPath Plus
16
+
17
+ Analyse, transform, and selectively extract data from JSON
18
+ documents (and JavaScript objects).
19
+
20
+ `jsonpath-plus` expands on the original specification to add some
21
+ additional operators and makes explicit some behaviors the original
22
+ did not spell out.
23
+
24
+ Try the [browser demo](https://jsonpath-plus.github.io/JSONPath/demo/) or
25
+ [Runkit (Node)](https://npm.runkit.com/jsonpath-plus).
26
+
27
+ ***Please note: This project is not currently being actively maintained. We
28
+ may accept well-documented PRs or some simple updates, but are not looking
29
+ to make fixes or add new features ourselves.***
30
+
31
+ ## Features
32
+
33
+ * **Compliant** with the original jsonpath spec
34
+ * Convenient **additions or elaborations** not provided in the original spec:
35
+ * `^` for grabbing the **parent** of a matching item
36
+ * `~` for grabbing **property names** of matching items (as array)
37
+ * **Type selectors** for obtaining:
38
+ * Basic JSON types: `@null()`, `@boolean()`, `@number()`, `@string()`, `@array()`, `@object()`
39
+ * `@integer()`
40
+ * The compound type `@scalar()` (which also accepts `undefined` and
41
+ non-finite numbers when querying JavaScript objects as well as all of the basic non-object/non-function types)
42
+ * `@other()` usable in conjunction with a user-defined `otherTypeCallback`
43
+ * Non-JSON types that can nevertheless be used when querying
44
+ non-JSON JavaScript objects (`@undefined()`, `@function()`, `@nonFinite()`)
45
+ * `@path`/`@parent`/`@property`/`@parentProperty`/`@root` **shorthand selectors** within filters
46
+ * **Escaping**
47
+ * `` ` `` for escaping remaining sequence
48
+ * `@['...']`/`?@['...']` syntax for escaping special characters within
49
+ property names in filters
50
+ * Documents `$..` (**getting all parent components**)
51
+ * **ESM** and **UMD** export formats
52
+ * In addition to queried values, **can return various meta-information**
53
+ including paths or pointers to the value, as well as the parent
54
+ object and parent property name (to allow for modification).
55
+ * **Utilities for converting** between paths, arrays, and pointers
56
+ * Option to **prevent evaluations** permitted in the original spec or supply
57
+ a **sandbox** for evaluated values.
58
+ * Option for **callback to handle results** as they are obtained.
59
+
60
+ ## Benchmarking
61
+
62
+ `jsonpath-plus` is consistently performant with both large and small datasets compared to other json querying libraries per [json-querying-performance-testing](https://github.com/andykais/json-querying-performance-testing). You can verify these findings by [running the project yourself](https://github.com/andykais/json-querying-performance-testing#how-to-run) and adding more perf cases.
63
+
64
+ ## Install
65
+
66
+ ```shell
67
+ npm install jsonpath-plus
68
+ ```
69
+
70
+ ## Setup
71
+
72
+ ### Node.js
73
+
74
+ ```js
75
+ const {JSONPath} = require('jsonpath-plus');
76
+
77
+ const result = JSONPath({path: '...', json});
78
+ ```
79
+
80
+ ### Browser
81
+
82
+ For browser usage you can directly include `dist/index-browser-umd.cjs`; no
83
+ Browserify magic is necessary:
84
+
85
+ ```html
86
+ <script src="node_modules/jsonpath-plus/dist/index-browser-umd.cjs"></script>
87
+
88
+ <script>
89
+
90
+ const result = JSONPath.JSONPath({path: '...', json: {}});
91
+
92
+ </script>
93
+ ```
94
+
95
+ ### ESM (Modern browsers)
96
+
97
+ You may also use ES6 Module imports (for modern browsers):
98
+
99
+ ```html
100
+ <script type="module">
101
+
102
+ import {
103
+ JSONPath
104
+ } from './node_modules/jsonpath-plus/dist/index-browser-esm.js';
105
+
106
+ const result = JSONPath({path: '...', json: {}});
107
+
108
+ </script>
109
+ ```
110
+
111
+ ### ESM (Bundlers)
112
+
113
+ Or if you are bundling your JavaScript (e.g., with Rollup), just use,
114
+ noting that [`mainFields`](https://github.com/rollup/plugins/tree/master/packages/node-resolve#mainfields)
115
+ should include `browser` for browser builds (for Node, the default, which
116
+ checks `module`, should be fine):
117
+
118
+ ```js
119
+ import {JSONPath} from 'jsonpath-plus';
120
+
121
+ const result = JSONPath({path: '...', json});
122
+ ```
123
+
124
+ ## Usage
125
+
126
+ The full signature available is:
127
+
128
+ ```
129
+ const result = JSONPath([options,] path, json, callback, otherTypeCallback);
130
+ ```
131
+
132
+ The arguments `path`, `json`, `callback`, and `otherTypeCallback`
133
+ can alternatively be expressed (along with any other of the
134
+ available properties) on `options`.
135
+
136
+ Note that `result` will contain all items found (optionally
137
+ wrapped into an array) whereas `callback` can be used if you
138
+ wish to perform some operation as each item is discovered, with
139
+ the callback function being executed 0 to N times depending
140
+ on the number of independent items to be found in the result.
141
+ See the docs below for more on `JSONPath`'s available arguments.
142
+
143
+ See also the [API docs](https://jsonpath-plus.github.io/JSONPath/docs/ts/).
144
+
145
+ ### Properties
146
+
147
+ The properties that can be supplied on the options object or
148
+ evaluate method (as the first argument) include:
149
+
150
+ - ***path*** (**required**) - The JSONPath expression as a (normalized
151
+ or unnormalized) string or array
152
+ - ***json*** (**required**) - The JSON object to evaluate (whether of
153
+ null, boolean, number, string, object, or array type).
154
+ - ***autostart*** (**default: true**) - If this is supplied as `false`,
155
+ one may call the `evaluate` method manually.
156
+ - ***flatten*** (**default: false**) - Whether the returned array of results
157
+ will be flattened to a single dimension array.
158
+ - ***resultType*** (**default: "value"**) - Can be case-insensitive form of
159
+ "value", "path", "pointer", "parent", or "parentProperty" to determine
160
+ respectively whether to return results as the values of the found items,
161
+ as their absolute paths, as [JSON Pointers](https://tools.ietf.org/html/rfc6901)
162
+ to the absolute paths, as their parent objects, or as their parent's
163
+ property name. If set to "all", all of these types will be returned on
164
+ an object with the type as key name.
165
+ - ***sandbox*** (**default: {}**) - Key-value map of variables to be
166
+ available to code evaluations such as filtering expressions. (Note
167
+ that the current path and value will also be available to those
168
+ expressions; see the Syntax section for details.)
169
+ - ***wrap*** (**default: true**) - Whether or not to wrap the results
170
+ in an array. If `wrap` is set to `false`, and no results are found,
171
+ `undefined` will be returned (as opposed to an empty array when
172
+ `wrap` is set to true). If `wrap` is set to `false` and a single
173
+ non-array result is found, that result will be the only item returned
174
+ (not within an array). An array will still be returned if multiple
175
+ results are found, however. To avoid ambiguities (in the case where
176
+ it is necessary to distinguish between a result which is a failure
177
+ and one which is an empty array), it is recommended to switch the
178
+ default to `false`.
179
+ - ***eval*** (**default: "safe"**) - Script evaluation method.
180
+ `safe`: In browser, it will use a minimal scripting engine which doesn't
181
+ use `eval` or `Function` and satisfies Content Security Policy. In NodeJS,
182
+ it has no effect and is equivalent to native as scripting is safe there.
183
+ `native`: uses the native scripting capabilities. i.e. unsafe `eval` or
184
+ `Function` in browser and `vm.Script` in nodejs. `false`: Disable JavaScript
185
+ evaluation expressions and throw exceptions when these expressions are attempted.
186
+ `callback [ (code, context) => value]`: A custom implementation which is called
187
+ with `code` and `context` as arguments to return the evaluated value.
188
+ `class`: A class which is created with `code` as constructor argument and code
189
+ is evaluated by calling `runInNewContext` with `context`.
190
+ ``
191
+ - ***ignoreEvalErrors*** (**default: false**) - Ignore errors encountered during
192
+ script evaluation.
193
+ - ***parent*** (**default: null**) - In the event that a query could be
194
+ made to return the root node, this allows the parent of that root node
195
+ to be returned within results.
196
+ - ***parentProperty*** (**default: null**) - In the event that a query
197
+ could be made to return the root node, this allows the `parentProperty`
198
+ of that root node to be returned within results.
199
+ - ***callback*** (**default: (none)**) - If supplied, a callback will be
200
+ called immediately upon retrieval of an end point value. The three arguments
201
+ supplied will be the value of the payload (according to `resultType`),
202
+ the type of the payload (whether it is a normal "value" or a "property"
203
+ name), and a full payload object (with all `resultType`s).
204
+ - ***otherTypeCallback*** (**default: \<A function that throws an error**
205
+ **when @other() is encountered\>**) - In the current absence of JSON
206
+ Schema support, one can determine types beyond the built-in types by
207
+ adding the operator `@other()` at the end of one's query. If such a
208
+ path is encountered, the `otherTypeCallback` will be invoked with the
209
+ value of the item, its path, its parent, and its parent's property name,
210
+ and it should return a boolean indicating whether the supplied value
211
+ belongs to the "other" type or not (or it may handle transformations and
212
+ return false).
213
+
214
+ ### Instance methods
215
+
216
+ - ***evaluate(path, json, callback, otherTypeCallback)*** OR
217
+ ***evaluate({path: \<path\>, json: \<json object\>, callback:***
218
+ ***\<callback function\>, otherTypeCallback:***
219
+ ***\<otherTypeCallback function\>})*** - This method is only
220
+ necessary if the `autostart` property is set to `false`. It
221
+ can be used for repeated evaluations using the same configuration.
222
+ Besides the listed properties, the latter method pattern can
223
+ accept any of the other allowed instance properties (except
224
+ for `autostart` which would have no relevance here).
225
+
226
+ ### Class properties and methods
227
+
228
+ - ***JSONPath.cache*** - Exposes the cache object for those who wish
229
+ to preserve and reuse it for optimization purposes.
230
+ - ***JSONPath.toPathArray(pathAsString)*** - Accepts a normalized or
231
+ unnormalized path as string and converts to an array: for
232
+ example, `['$', 'aProperty', 'anotherProperty']`.
233
+ - ***JSONPath.toPathString(pathAsArray)*** - Accepts a path array and
234
+ converts to a normalized path string. The string will be in a form
235
+ like: `$['aProperty']['anotherProperty][0]`. The JSONPath terminal
236
+ constructions `~` and `^` and type operators like `@string()` are
237
+ silently stripped.
238
+ - ***JSONPath.toPointer(pathAsArray)*** - Accepts a path array and
239
+ converts to a [JSON Pointer](https://tools.ietf.org/html/rfc6901).
240
+ The string will be in a form like: `/aProperty/anotherProperty/0`
241
+ (with any `~` and `/` internal characters escaped as per the JSON
242
+ Pointer spec). The JSONPath terminal constructions `~` and `^` and
243
+ type operators like `@string()` are silently stripped.
244
+
245
+ ## Syntax through examples
246
+
247
+ Given the following JSON, taken from <http://goessner.net/articles/JsonPath/>:
248
+
249
+ ```json
250
+ {
251
+ "store": {
252
+ "book": [
253
+ {
254
+ "category": "reference",
255
+ "author": "Nigel Rees",
256
+ "title": "Sayings of the Century",
257
+ "price": 8.95
258
+ },
259
+ {
260
+ "category": "fiction",
261
+ "author": "Evelyn Waugh",
262
+ "title": "Sword of Honour",
263
+ "price": 12.99
264
+ },
265
+ {
266
+ "category": "fiction",
267
+ "author": "Herman Melville",
268
+ "title": "Moby Dick",
269
+ "isbn": "0-553-21311-3",
270
+ "price": 8.99
271
+ },
272
+ {
273
+ "category": "fiction",
274
+ "author": "J. R. R. Tolkien",
275
+ "title": "The Lord of the Rings",
276
+ "isbn": "0-395-19395-8",
277
+ "price": 22.99
278
+ }
279
+ ],
280
+ "bicycle": {
281
+ "color": "red",
282
+ "price": 19.95
283
+ }
284
+ }
285
+ }
286
+ ```
287
+
288
+ and the following XML representation:
289
+
290
+ ```xml
291
+ <store>
292
+ <book>
293
+ <category>reference</category>
294
+ <author>Nigel Rees</author>
295
+ <title>Sayings of the Century</title>
296
+ <price>8.95</price>
297
+ </book>
298
+ <book>
299
+ <category>fiction</category>
300
+ <author>Evelyn Waugh</author>
301
+ <title>Sword of Honour</title>
302
+ <price>12.99</price>
303
+ </book>
304
+ <book>
305
+ <category>fiction</category>
306
+ <author>Herman Melville</author>
307
+ <title>Moby Dick</title>
308
+ <isbn>0-553-21311-3</isbn>
309
+ <price>8.99</price>
310
+ </book>
311
+ <book>
312
+ <category>fiction</category>
313
+ <author>J. R. R. Tolkien</author>
314
+ <title>The Lord of the Rings</title>
315
+ <isbn>0-395-19395-8</isbn>
316
+ <price>22.99</price>
317
+ </book>
318
+ <bicycle>
319
+ <color>red</color>
320
+ <price>19.95</price>
321
+ </bicycle>
322
+ </store>
323
+ ```
324
+
325
+ Please note that the XPath examples below do not distinguish between
326
+ retrieving elements and their text content (except where useful for
327
+ comparisons or to prevent ambiguity). Note: to test the XPath examples
328
+ (including 2.0 ones), [this demo](http://videlibri.sourceforge.net/cgi-bin/xidelcgi)
329
+ may be helpful (set to `xml` or `xml-strict`).
330
+
331
+ | XPath | JSONPath | Result | Notes |
332
+ |-------------------------------------------------------------------------------------|---------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
333
+ | `/store/book/author` | `$.store.book[*].author` | The authors of all books in the store | Can also be represented without the `$.` as `store.book[*].author` (though this is not present in the original spec); note that some character literals (`$` and `@`) require escaping, however |
334
+ | `//author` | `$..author` | All authors | |
335
+ | `/store/*` | `$.store.*` | All things in store, which are its books (a book array) and a red bicycle (a bicycle object). | |
336
+ | `/store//price` | `$.store..price` | The price of everything in the store. | |
337
+ | `//book[3]` | `$..book[2]` | The third book (book object) | |
338
+ | `//book[last()]` | `$..book[(@.length-1)]` <br> `$..book[-1:]` | The last book in order. | To access a property with a special character, utilize `[(@['...'])]` for the filter (this particular feature is not present in the original spec) |
339
+ | `//book[position()<3]` | `$..book[0,1]` <br> `$..book[:2]` | The first two books | |
340
+ | `//book/*[self::category\|self::author]` or `//book/(category,author)` in XPath 2.0 | `$..book[0][category,author]` | The categories and authors of all books | |
341
+ | `//book[isbn]` | `$..book[?(@.isbn)]` | Filter all books with an ISBN number | To access a property with a special character, utilize `[?@['...']]` for the filter (this particular feature is not present in the original spec) |
342
+ | `//book[price<10]` | `$..book[?(@.price<10)]` | Filter all books cheaper than 10 | |
343
+ | `//*[name() = 'price' and . != 8.95]` | `$..*[?(@property === 'price' && @ !== 8.95)]` | Obtain all property values of objects whose property is price and which does not equal 8.95 | With the bare `@` allowing filtering objects by property value (not necessarily within arrays), you can add `^` after the expression to get at the object possessing the filtered properties |
344
+ | `/` | `$` | The root of the JSON object (i.e., the whole object itself) | To get a literal `$` (by itself or anywhere in the path), you must use the backtick escape |
345
+ | `//*/*\|//*/*/text()` | `$..*` | All Elements (and text) beneath root in an XML document. All members of a JSON structure beneath the root. | |
346
+ | `//*` | `$..` | All Elements in an XML document. All parent components of a JSON structure including root. | This behavior was not directly specified in the original spec |
347
+ | `//*[price>19]/..` | `$..[?(@.price>19)]^` | Parent of those specific items with a price greater than 19 (i.e., the store value as the parent of the bicycle and the book array as parent of an individual book) | Parent (caret) not present in the original spec |
348
+ | `/store/*/name()` (in XPath 2.0) | `$.store.*~` | The property names of the store sub-object ("book" and "bicycle"). Useful with wildcard properties. | Property name (tilde) is not present in the original spec |
349
+ | `/store/book[not(. is /store/book[1])]` (in XPath 2.0) | `$.store.book[?(@path !== "$['store']['book'][0]")]` | All books besides that at the path pointing to the first | `@path` is not present in the original spec |
350
+ | `//book[parent::*/bicycle/color = "red"]/category` | `$..book[?(@parent.bicycle && @parent.bicycle.color === "red")].category` | Grabs all categories of books where the parent object of the book has a bicycle child whose color is red (i.e., all the books) | `@parent` is not present in the original spec |
351
+ | `//book/*[name() != 'category']` | `$..book.*[?(@property !== "category")]` | Grabs all children of "book" except for "category" ones | `@property` is not present in the original spec |
352
+ | `//book[position() != 1]` | `$..book[?(@property !== 0)]` | Grabs all books whose property (which, being that we are reaching inside an array, is the numeric index) is not 0 | `@property` is not present in the original spec |
353
+ | `/store/*/*[name(parent::*) != 'book']` | `$.store.*[?(@parentProperty !== "book")]` | Grabs the grandchildren of store whose parent property is not book (i.e., bicycle's children, "color" and "price") | `@parentProperty` is not present in the original spec |
354
+ | `//book[count(preceding-sibling::*) != 0]/*/text()` | `$..book.*[?(@parentProperty !== 0)]` | Get the property values of all book instances whereby the parent property of these values (i.e., the array index holding the book item parent object) is not 0 | `@parentProperty` is not present in the original spec |
355
+ | `//book[price = /store/book[3]/price]` | `$..book[?(@.price === @root.store.book[2].price)]` | Filter all books whose price equals the price of the third book | `@root` is not present in the original spec |
356
+ | `//book/../*[. instance of element(*, xs:decimal)]` (in XPath 2.0) | `$..book..*@number()` | Get the numeric values within the book array | `@number()`, the other basic types (`@boolean()`, `@string()`), other low-level derived types (`@null()`, `@object()`, `@array()`), the JSONSchema-added type, `@integer()`, the compound type `@scalar()` (which also accepts `undefined` and non-finite numbers for JavaScript objects as well as all of the basic non-object/non-function types), the type, `@other()`, to be used in conjunction with a user-defined callback (see `otherTypeCallback`) and the following non-JSON types that can nevertheless be used with JSONPath when querying non-JSON JavaScript objects (`@undefined()`, `@function()`, `@nonFinite()`) are not present in the original spec |
357
+ | `//book/*[name() = 'category' and matches(., 'tion$')]` (XPath 2.0) | `$..book.*[?(@property === "category" && @.match(/TION$/i))]` | All categories of books which match the regex (end in 'TION' case insensitive) | `@property` is not present in the original spec. |
358
+ | `//book/*[matches(name(), 'bn$')]/parent::*` (XPath 2.0) | `$..book.*[?(@property.match(/bn$/i))]^` | All books which have a property matching the regex (end in 'TION' case insensitive) | `@property` is not present in the original spec. Note: Uses the parent selector `^` at the end of the expression to return to the parent object; without the parent selector, it matches the two `isbn` key values. |
359
+ | | `` ` `` (e.g., `` `$`` to match a property literally named `$`) | Escapes the entire sequence following (to be treated as a literal) | `` ` `` is not present in the original spec; to get a literal backtick, use an additional backtick to escape |
360
+
361
+ Any additional variables supplied as properties on the optional "sandbox"
362
+ object option are also available to (parenthetical-based)
363
+ evaluations.
364
+
365
+ ## Potential sources of confusion for XPath users
366
+
367
+ 1. In JSONPath, a filter expression, in addition to its `@` being a
368
+ reference to its children, actually selects the immediate children
369
+ as well, whereas in XPath, filter conditions do not select the children
370
+ but delimit which of its parent nodes will be obtained in the result.
371
+ 1. In JSONPath, array indexes are, as in JavaScript, 0-based (they begin
372
+ from 0), whereas in XPath, they are 1-based.
373
+ 1. In JSONPath, equality tests utilize (as per JavaScript) multiple equal signs
374
+ whereas in XPath, they use a single equal sign.
375
+
376
+ ## Command line interface
377
+
378
+ A basic command line interface (CLI) is provided. Access it using `npx jsonpath-plus <json-file> <jsonpath-query>`.
379
+
380
+ ## Ideas
381
+
382
+ 1. Support OR outside of filters (as in XPath `|`) and grouping.
383
+ 1. Create syntax to work like XPath filters in not selecting children?
384
+ 1. Allow option for parentNode equivalent (maintaining entire chain of
385
+ parent-and-parentProperty objects up to root)
386
+
387
+ ## Development
388
+
389
+ Running the tests on Node:
390
+
391
+ ```shell
392
+ npm test
393
+ ```
394
+
395
+ For in-browser tests:
396
+
397
+ - Serve the js/html files:
398
+
399
+ ```shell
400
+ npm run browser-test
401
+ ```
402
+
403
+ - Visit [http://localhost:8082/test/](http://localhost:8082/test/).
404
+
405
+
406
+ ## Security
407
+
408
+ Please see [SECURITY.md](./SECURITY.md) for important security considerations and instructions on how to report vulnerabilities.
409
+
410
+ ## License
411
+
412
+ [MIT License](https://opensource.org/license/mit/).
@@ -0,0 +1,38 @@
1
+ # Security Policy
2
+
3
+ ## Security Considerations
4
+
5
+ ### Query Injection
6
+
7
+ JSONPath-Plus evaluates JSONPath expressions provided by the caller. While the default `"eval": "safe"` option prevents arbitrary code execution, it **cannot prevent data exposure if the JSONPath query itself is compromised**.
8
+
9
+ If untrusted input is incorporated into a JSONPath expression, an attacker may be able to alter the query structure by adding additional patterns. This can change how the remaining query is interpreted and may result in **unexpected or broader data being returned** than intended.
10
+
11
+ **Important notes:**
12
+ - This does **not** enable random code execution when using `"eval": "safe"` (the default).
13
+ - The primary risk is **data leakage**, not execution of attacker-controlled code.
14
+
15
+ **Mitigations:**
16
+ 1. **Do not interpolate unsanitized user input into JSONPath queries.**
17
+ 2. If user-controlled input must be included in a query, ensure the target JSON object contains **only non-confidential data**.
18
+
19
+ As a general rule, treat JSONPath expressions as code and avoid constructing them dynamically from untrusted sources.
20
+
21
+ ## Reporting a Vulnerability
22
+
23
+ **Please do not report security vulnerabilities through public GitHub issues.**
24
+
25
+ If you believe you’ve found a security vulnerability, please send it to us by emailing [iamavinashthakur.at@gmail.com](mailto:iamavinashthakur.at@gmail.com) or [brettz9@yahoo.com](mailto:brettz9@yahoo.com). Please include the following details with your report:
26
+
27
+ 1. Description of the location and potential impact of the vulnerability
28
+
29
+ 2. A detailed description of the steps required to reproduce the vulnerability (POC scripts, etc.).
30
+
31
+ 3. How you would like to be credited.
32
+
33
+ We will evaluate the vulnerability and, if necessary, release a fix or unertake mitigating steps to address it. We will contact you to let you know the outcome, and will credit you in the report.
34
+
35
+ Please **do not disclose the vulnerability publicly** until we have sufficient time to release a fix.
36
+
37
+ Once we have either a) published a fix, b) declined to address the vulnerability for whatever reason, or c) taken more than 30 days to reply, we welcome you to publicly report the vulnerability on our tracker and disclose it publicly. If you intend to
38
+ disclose sooner regardless of our requested policy, please at least indicate to us when you plan to disclose.
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env node
2
+ import {readFile} from 'fs/promises';
3
+ import {JSONPath as jsonpath} from '../dist/index-node-esm.js';
4
+
5
+ const file = process.argv[2];
6
+ const path = process.argv[3];
7
+
8
+ try {
9
+ const json = JSON.parse(await readFile(file, 'utf8'));
10
+ runQuery(json, path);
11
+ } catch (e) {
12
+ /* eslint-disable no-console -- CLI */
13
+ console.error(`usage: ${process.argv[1]} <file> <path>\n`);
14
+ console.error(e);
15
+ /* eslint-enable no-console -- CLI */
16
+ process.exit(1);
17
+ }
18
+
19
+ /**
20
+ * @typedef {any} JSON
21
+ */
22
+
23
+ /**
24
+ * @param {JSON} json
25
+ * @param {string} pth
26
+ * @returns {void}
27
+ */
28
+ function runQuery (json, pth) {
29
+ const result = jsonpath({
30
+ json,
31
+ path: pth
32
+ });
33
+
34
+ // eslint-disable-next-line no-console -- CLI
35
+ console.log(result);
36
+ }