prismic-ts-codegen 0.1.16 → 0.1.18

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 (546) hide show
  1. package/bin/prismic-ts-codegen.js +3 -0
  2. package/dist/_node_modules/@babel/code-frame/lib/index.cjs +144 -0
  3. package/dist/_node_modules/@babel/code-frame/lib/index.cjs.map +1 -0
  4. package/dist/_node_modules/@babel/code-frame/lib/index.js +143 -0
  5. package/dist/_node_modules/@babel/code-frame/lib/index.js.map +1 -0
  6. package/dist/_node_modules/@babel/helper-validator-identifier/lib/identifier.cjs +82 -0
  7. package/dist/_node_modules/@babel/helper-validator-identifier/lib/identifier.cjs.map +1 -0
  8. package/dist/_node_modules/@babel/helper-validator-identifier/lib/identifier.js +83 -0
  9. package/dist/_node_modules/@babel/helper-validator-identifier/lib/identifier.js.map +1 -0
  10. package/dist/_node_modules/@babel/helper-validator-identifier/lib/index.cjs +62 -0
  11. package/dist/_node_modules/@babel/helper-validator-identifier/lib/index.cjs.map +1 -0
  12. package/dist/_node_modules/@babel/helper-validator-identifier/lib/index.js +61 -0
  13. package/dist/_node_modules/@babel/helper-validator-identifier/lib/index.js.map +1 -0
  14. package/dist/_node_modules/@babel/helper-validator-identifier/lib/keyword.cjs +35 -0
  15. package/dist/_node_modules/@babel/helper-validator-identifier/lib/keyword.cjs.map +1 -0
  16. package/dist/_node_modules/@babel/helper-validator-identifier/lib/keyword.js +36 -0
  17. package/dist/_node_modules/@babel/helper-validator-identifier/lib/keyword.js.map +1 -0
  18. package/dist/_node_modules/@babel/highlight/lib/index.cjs +100 -0
  19. package/dist/_node_modules/@babel/highlight/lib/index.cjs.map +1 -0
  20. package/dist/_node_modules/@babel/highlight/lib/index.js +99 -0
  21. package/dist/_node_modules/@babel/highlight/lib/index.js.map +1 -0
  22. package/dist/_node_modules/ansi-styles/index.cjs +146 -0
  23. package/dist/_node_modules/ansi-styles/index.cjs.map +1 -0
  24. package/dist/_node_modules/ansi-styles/index.js +146 -0
  25. package/dist/_node_modules/ansi-styles/index.js.map +1 -0
  26. package/dist/_node_modules/arrify/index.cjs +10 -0
  27. package/dist/_node_modules/arrify/index.cjs.map +1 -0
  28. package/dist/_node_modules/arrify/index.js +10 -0
  29. package/dist/_node_modules/arrify/index.js.map +1 -0
  30. package/dist/_node_modules/camelcase/index.cjs +83 -0
  31. package/dist/_node_modules/camelcase/index.cjs.map +1 -0
  32. package/dist/_node_modules/camelcase/index.js +84 -0
  33. package/dist/_node_modules/camelcase/index.js.map +1 -0
  34. package/dist/_node_modules/camelcase-keys/index.cjs +55 -0
  35. package/dist/_node_modules/camelcase-keys/index.cjs.map +1 -0
  36. package/dist/_node_modules/camelcase-keys/index.js +56 -0
  37. package/dist/_node_modules/camelcase-keys/index.js.map +1 -0
  38. package/dist/_node_modules/chalk/index.cjs +172 -0
  39. package/dist/_node_modules/chalk/index.cjs.map +1 -0
  40. package/dist/_node_modules/chalk/index.js +172 -0
  41. package/dist/_node_modules/chalk/index.js.map +1 -0
  42. package/dist/_node_modules/chalk/templates.cjs +108 -0
  43. package/dist/_node_modules/chalk/templates.cjs.map +1 -0
  44. package/dist/_node_modules/chalk/templates.js +108 -0
  45. package/dist/_node_modules/chalk/templates.js.map +1 -0
  46. package/dist/_node_modules/color-convert/conversions.cjs +710 -0
  47. package/dist/_node_modules/color-convert/conversions.cjs.map +1 -0
  48. package/dist/_node_modules/color-convert/conversions.js +710 -0
  49. package/dist/_node_modules/color-convert/conversions.js.map +1 -0
  50. package/dist/_node_modules/color-convert/index.cjs +59 -0
  51. package/dist/_node_modules/color-convert/index.cjs.map +1 -0
  52. package/dist/_node_modules/color-convert/index.js +59 -0
  53. package/dist/_node_modules/color-convert/index.js.map +1 -0
  54. package/dist/_node_modules/color-convert/route.cjs +69 -0
  55. package/dist/_node_modules/color-convert/route.cjs.map +1 -0
  56. package/dist/_node_modules/color-convert/route.js +69 -0
  57. package/dist/_node_modules/color-convert/route.js.map +1 -0
  58. package/dist/_node_modules/color-name/index.cjs +154 -0
  59. package/dist/_node_modules/color-name/index.cjs.map +1 -0
  60. package/dist/_node_modules/color-name/index.js +154 -0
  61. package/dist/_node_modules/color-name/index.js.map +1 -0
  62. package/dist/_node_modules/data-uri-to-buffer/dist/index.cjs +41 -0
  63. package/dist/_node_modules/data-uri-to-buffer/dist/index.cjs.map +1 -0
  64. package/dist/_node_modules/data-uri-to-buffer/dist/index.js +41 -0
  65. package/dist/_node_modules/data-uri-to-buffer/dist/index.js.map +1 -0
  66. package/dist/_node_modules/decamelize/index.cjs +38 -0
  67. package/dist/_node_modules/decamelize/index.cjs.map +1 -0
  68. package/dist/_node_modules/decamelize/index.js +39 -0
  69. package/dist/_node_modules/decamelize/index.js.map +1 -0
  70. package/dist/_node_modules/decamelize-keys/index.cjs +50 -0
  71. package/dist/_node_modules/decamelize-keys/index.cjs.map +1 -0
  72. package/dist/_node_modules/decamelize-keys/index.js +51 -0
  73. package/dist/_node_modules/decamelize-keys/index.js.map +1 -0
  74. package/dist/_node_modules/error-ex/index.cjs +109 -0
  75. package/dist/_node_modules/error-ex/index.cjs.map +1 -0
  76. package/dist/_node_modules/error-ex/index.js +109 -0
  77. package/dist/_node_modules/error-ex/index.js.map +1 -0
  78. package/dist/_node_modules/escape-string-regexp/index.cjs +11 -0
  79. package/dist/_node_modules/escape-string-regexp/index.cjs.map +1 -0
  80. package/dist/_node_modules/escape-string-regexp/index.js +11 -0
  81. package/dist/_node_modules/escape-string-regexp/index.js.map +1 -0
  82. package/dist/_node_modules/fetch-blob/file.cjs +61 -0
  83. package/dist/_node_modules/fetch-blob/file.cjs.map +1 -0
  84. package/dist/_node_modules/fetch-blob/file.js +61 -0
  85. package/dist/_node_modules/fetch-blob/file.js.map +1 -0
  86. package/dist/_node_modules/fetch-blob/index.cjs +223 -0
  87. package/dist/_node_modules/fetch-blob/index.cjs.map +1 -0
  88. package/dist/_node_modules/fetch-blob/index.js +223 -0
  89. package/dist/_node_modules/fetch-blob/index.js.map +1 -0
  90. package/dist/_node_modules/fetch-blob/streams.cjs +43 -0
  91. package/dist/_node_modules/fetch-blob/streams.cjs.map +1 -0
  92. package/dist/_node_modules/fetch-blob/streams.js +42 -0
  93. package/dist/_node_modules/fetch-blob/streams.js.map +1 -0
  94. package/dist/_node_modules/formdata-polyfill/esm.min.cjs +116 -0
  95. package/dist/_node_modules/formdata-polyfill/esm.min.cjs.map +1 -0
  96. package/dist/_node_modules/formdata-polyfill/esm.min.js +116 -0
  97. package/dist/_node_modules/formdata-polyfill/esm.min.js.map +1 -0
  98. package/dist/_node_modules/function-bind/implementation.cjs +47 -0
  99. package/dist/_node_modules/function-bind/implementation.cjs.map +1 -0
  100. package/dist/_node_modules/function-bind/implementation.js +47 -0
  101. package/dist/_node_modules/function-bind/implementation.js.map +1 -0
  102. package/dist/_node_modules/function-bind/index.cjs +7 -0
  103. package/dist/_node_modules/function-bind/index.cjs.map +1 -0
  104. package/dist/_node_modules/function-bind/index.js +7 -0
  105. package/dist/_node_modules/function-bind/index.js.map +1 -0
  106. package/dist/_node_modules/hard-rejection/index.cjs +25 -0
  107. package/dist/_node_modules/hard-rejection/index.cjs.map +1 -0
  108. package/dist/_node_modules/hard-rejection/index.js +26 -0
  109. package/dist/_node_modules/hard-rejection/index.js.map +1 -0
  110. package/dist/_node_modules/has/src/index.cjs +7 -0
  111. package/dist/_node_modules/has/src/index.cjs.map +1 -0
  112. package/dist/_node_modules/has/src/index.js +7 -0
  113. package/dist/_node_modules/has/src/index.js.map +1 -0
  114. package/dist/_node_modules/hosted-git-info/lib/from-url.cjs +93 -0
  115. package/dist/_node_modules/hosted-git-info/lib/from-url.cjs.map +1 -0
  116. package/dist/_node_modules/hosted-git-info/lib/from-url.js +93 -0
  117. package/dist/_node_modules/hosted-git-info/lib/from-url.js.map +1 -0
  118. package/dist/_node_modules/hosted-git-info/lib/hosts.cjs +164 -0
  119. package/dist/_node_modules/hosted-git-info/lib/hosts.cjs.map +1 -0
  120. package/dist/_node_modules/hosted-git-info/lib/hosts.js +164 -0
  121. package/dist/_node_modules/hosted-git-info/lib/hosts.js.map +1 -0
  122. package/dist/_node_modules/hosted-git-info/lib/index.cjs +168 -0
  123. package/dist/_node_modules/hosted-git-info/lib/index.cjs.map +1 -0
  124. package/dist/_node_modules/hosted-git-info/lib/index.js +168 -0
  125. package/dist/_node_modules/hosted-git-info/lib/index.js.map +1 -0
  126. package/dist/_node_modules/hosted-git-info/lib/parse-url.cjs +51 -0
  127. package/dist/_node_modules/hosted-git-info/lib/parse-url.cjs.map +1 -0
  128. package/dist/_node_modules/hosted-git-info/lib/parse-url.js +51 -0
  129. package/dist/_node_modules/hosted-git-info/lib/parse-url.js.map +1 -0
  130. package/dist/_node_modules/indent-string/index.cjs +34 -0
  131. package/dist/_node_modules/indent-string/index.cjs.map +1 -0
  132. package/dist/_node_modules/indent-string/index.js +35 -0
  133. package/dist/_node_modules/indent-string/index.js.map +1 -0
  134. package/dist/_node_modules/is-arrayish/index.cjs +10 -0
  135. package/dist/_node_modules/is-arrayish/index.cjs.map +1 -0
  136. package/dist/_node_modules/is-arrayish/index.js +10 -0
  137. package/dist/_node_modules/is-arrayish/index.js.map +1 -0
  138. package/dist/_node_modules/is-core-module/core.json.cjs +496 -0
  139. package/dist/_node_modules/is-core-module/core.json.cjs.map +1 -0
  140. package/dist/_node_modules/is-core-module/core.json.js +496 -0
  141. package/dist/_node_modules/is-core-module/core.json.js.map +1 -0
  142. package/dist/_node_modules/is-core-module/index.cjs +62 -0
  143. package/dist/_node_modules/is-core-module/index.cjs.map +1 -0
  144. package/dist/_node_modules/is-core-module/index.js +62 -0
  145. package/dist/_node_modules/is-core-module/index.js.map +1 -0
  146. package/dist/_node_modules/is-plain-obj/index.cjs +9 -0
  147. package/dist/_node_modules/is-plain-obj/index.cjs.map +1 -0
  148. package/dist/_node_modules/is-plain-obj/index.js +9 -0
  149. package/dist/_node_modules/is-plain-obj/index.js.map +1 -0
  150. package/dist/_node_modules/js-tokens/index.cjs +27 -0
  151. package/dist/_node_modules/js-tokens/index.cjs.map +1 -0
  152. package/dist/_node_modules/js-tokens/index.js +26 -0
  153. package/dist/_node_modules/js-tokens/index.js.map +1 -0
  154. package/dist/_node_modules/json-parse-even-better-errors/index.cjs +90 -0
  155. package/dist/_node_modules/json-parse-even-better-errors/index.cjs.map +1 -0
  156. package/dist/_node_modules/json-parse-even-better-errors/index.js +90 -0
  157. package/dist/_node_modules/json-parse-even-better-errors/index.js.map +1 -0
  158. package/dist/_node_modules/kind-of/index.cjs +129 -0
  159. package/dist/_node_modules/kind-of/index.cjs.map +1 -0
  160. package/dist/_node_modules/kind-of/index.js +129 -0
  161. package/dist/_node_modules/kind-of/index.js.map +1 -0
  162. package/dist/_node_modules/lines-and-columns/build/index.cjs +67 -0
  163. package/dist/_node_modules/lines-and-columns/build/index.cjs.map +1 -0
  164. package/dist/_node_modules/lines-and-columns/build/index.js +66 -0
  165. package/dist/_node_modules/lines-and-columns/build/index.js.map +1 -0
  166. package/dist/_node_modules/lru-cache/index.cjs +1015 -0
  167. package/dist/_node_modules/lru-cache/index.cjs.map +1 -0
  168. package/dist/_node_modules/lru-cache/index.js +1015 -0
  169. package/dist/_node_modules/lru-cache/index.js.map +1 -0
  170. package/dist/_node_modules/map-obj/index.cjs +49 -0
  171. package/dist/_node_modules/map-obj/index.cjs.map +1 -0
  172. package/dist/_node_modules/map-obj/index.js +50 -0
  173. package/dist/_node_modules/map-obj/index.js.map +1 -0
  174. package/dist/_node_modules/meow/source/index.cjs +88 -0
  175. package/dist/_node_modules/meow/source/index.cjs.map +1 -0
  176. package/dist/_node_modules/meow/source/index.js +89 -0
  177. package/dist/_node_modules/meow/source/index.js.map +1 -0
  178. package/dist/_node_modules/meow/source/options.cjs +83 -0
  179. package/dist/_node_modules/meow/source/options.cjs.map +1 -0
  180. package/dist/_node_modules/meow/source/options.js +83 -0
  181. package/dist/_node_modules/meow/source/options.js.map +1 -0
  182. package/dist/_node_modules/meow/source/parser.cjs +61 -0
  183. package/dist/_node_modules/meow/source/parser.cjs.map +1 -0
  184. package/dist/_node_modules/meow/source/parser.js +61 -0
  185. package/dist/_node_modules/meow/source/parser.js.map +1 -0
  186. package/dist/_node_modules/meow/source/utils.cjs +8 -0
  187. package/dist/_node_modules/meow/source/utils.cjs.map +1 -0
  188. package/dist/_node_modules/meow/source/utils.js +8 -0
  189. package/dist/_node_modules/meow/source/utils.js.map +1 -0
  190. package/dist/_node_modules/meow/source/validate.cjs +102 -0
  191. package/dist/_node_modules/meow/source/validate.cjs.map +1 -0
  192. package/dist/_node_modules/meow/source/validate.js +102 -0
  193. package/dist/_node_modules/meow/source/validate.js.map +1 -0
  194. package/dist/_node_modules/min-indent/index.cjs +12 -0
  195. package/dist/_node_modules/min-indent/index.cjs.map +1 -0
  196. package/dist/_node_modules/min-indent/index.js +13 -0
  197. package/dist/_node_modules/min-indent/index.js.map +1 -0
  198. package/dist/_node_modules/minimist-options/index.cjs +94 -0
  199. package/dist/_node_modules/minimist-options/index.cjs.map +1 -0
  200. package/dist/_node_modules/minimist-options/index.js +95 -0
  201. package/dist/_node_modules/minimist-options/index.js.map +1 -0
  202. package/dist/_node_modules/node-domexception/index.cjs +11 -0
  203. package/dist/_node_modules/node-domexception/index.cjs.map +1 -0
  204. package/dist/_node_modules/node-domexception/index.js +10 -0
  205. package/dist/_node_modules/node-domexception/index.js.map +1 -0
  206. package/dist/_node_modules/node-fetch/src/body.cjs +262 -0
  207. package/dist/_node_modules/node-fetch/src/body.cjs.map +1 -0
  208. package/dist/_node_modules/node-fetch/src/body.js +262 -0
  209. package/dist/_node_modules/node-fetch/src/body.js.map +1 -0
  210. package/dist/_node_modules/node-fetch/src/errors/abort-error.cjs +10 -0
  211. package/dist/_node_modules/node-fetch/src/errors/abort-error.cjs.map +1 -0
  212. package/dist/_node_modules/node-fetch/src/errors/abort-error.js +10 -0
  213. package/dist/_node_modules/node-fetch/src/errors/abort-error.js.map +1 -0
  214. package/dist/_node_modules/node-fetch/src/errors/base.cjs +17 -0
  215. package/dist/_node_modules/node-fetch/src/errors/base.cjs.map +1 -0
  216. package/dist/_node_modules/node-fetch/src/errors/base.js +17 -0
  217. package/dist/_node_modules/node-fetch/src/errors/base.js.map +1 -0
  218. package/dist/_node_modules/node-fetch/src/errors/fetch-error.cjs +19 -0
  219. package/dist/_node_modules/node-fetch/src/errors/fetch-error.cjs.map +1 -0
  220. package/dist/_node_modules/node-fetch/src/errors/fetch-error.js +19 -0
  221. package/dist/_node_modules/node-fetch/src/errors/fetch-error.js.map +1 -0
  222. package/dist/_node_modules/node-fetch/src/headers.cjs +190 -0
  223. package/dist/_node_modules/node-fetch/src/headers.cjs.map +1 -0
  224. package/dist/_node_modules/node-fetch/src/headers.js +190 -0
  225. package/dist/_node_modules/node-fetch/src/headers.js.map +1 -0
  226. package/dist/_node_modules/node-fetch/src/index.cjs +292 -0
  227. package/dist/_node_modules/node-fetch/src/index.cjs.map +1 -0
  228. package/dist/_node_modules/node-fetch/src/index.js +292 -0
  229. package/dist/_node_modules/node-fetch/src/index.js.map +1 -0
  230. package/dist/_node_modules/node-fetch/src/request.cjs +206 -0
  231. package/dist/_node_modules/node-fetch/src/request.cjs.map +1 -0
  232. package/dist/_node_modules/node-fetch/src/request.js +206 -0
  233. package/dist/_node_modules/node-fetch/src/request.js.map +1 -0
  234. package/dist/_node_modules/node-fetch/src/response.cjs +122 -0
  235. package/dist/_node_modules/node-fetch/src/response.cjs.map +1 -0
  236. package/dist/_node_modules/node-fetch/src/response.js +123 -0
  237. package/dist/_node_modules/node-fetch/src/response.js.map +1 -0
  238. package/dist/_node_modules/node-fetch/src/utils/get-search.cjs +12 -0
  239. package/dist/_node_modules/node-fetch/src/utils/get-search.cjs.map +1 -0
  240. package/dist/_node_modules/node-fetch/src/utils/get-search.js +12 -0
  241. package/dist/_node_modules/node-fetch/src/utils/get-search.js.map +1 -0
  242. package/dist/_node_modules/node-fetch/src/utils/is-redirect.cjs +8 -0
  243. package/dist/_node_modules/node-fetch/src/utils/is-redirect.cjs.map +1 -0
  244. package/dist/_node_modules/node-fetch/src/utils/is-redirect.js +8 -0
  245. package/dist/_node_modules/node-fetch/src/utils/is-redirect.js.map +1 -0
  246. package/dist/_node_modules/node-fetch/src/utils/is.cjs +28 -0
  247. package/dist/_node_modules/node-fetch/src/utils/is.cjs.map +1 -0
  248. package/dist/_node_modules/node-fetch/src/utils/is.js +28 -0
  249. package/dist/_node_modules/node-fetch/src/utils/is.js.map +1 -0
  250. package/dist/_node_modules/node-fetch/src/utils/multipart-parser.cjs +356 -0
  251. package/dist/_node_modules/node-fetch/src/utils/multipart-parser.cjs.map +1 -0
  252. package/dist/_node_modules/node-fetch/src/utils/multipart-parser.js +356 -0
  253. package/dist/_node_modules/node-fetch/src/utils/multipart-parser.js.map +1 -0
  254. package/dist/_node_modules/node-fetch/src/utils/referrer.cjs +149 -0
  255. package/dist/_node_modules/node-fetch/src/utils/referrer.cjs.map +1 -0
  256. package/dist/_node_modules/node-fetch/src/utils/referrer.js +149 -0
  257. package/dist/_node_modules/node-fetch/src/utils/referrer.js.map +1 -0
  258. package/dist/_node_modules/normalize-package-data/lib/extract_description.cjs +24 -0
  259. package/dist/_node_modules/normalize-package-data/lib/extract_description.cjs.map +1 -0
  260. package/dist/_node_modules/normalize-package-data/lib/extract_description.js +24 -0
  261. package/dist/_node_modules/normalize-package-data/lib/extract_description.js.map +1 -0
  262. package/dist/_node_modules/normalize-package-data/lib/fixer.cjs +438 -0
  263. package/dist/_node_modules/normalize-package-data/lib/fixer.cjs.map +1 -0
  264. package/dist/_node_modules/normalize-package-data/lib/fixer.js +438 -0
  265. package/dist/_node_modules/normalize-package-data/lib/fixer.js.map +1 -0
  266. package/dist/_node_modules/normalize-package-data/lib/make_warning.cjs +26 -0
  267. package/dist/_node_modules/normalize-package-data/lib/make_warning.cjs.map +1 -0
  268. package/dist/_node_modules/normalize-package-data/lib/make_warning.js +26 -0
  269. package/dist/_node_modules/normalize-package-data/lib/make_warning.js.map +1 -0
  270. package/dist/_node_modules/normalize-package-data/lib/normalize.cjs +58 -0
  271. package/dist/_node_modules/normalize-package-data/lib/normalize.cjs.map +1 -0
  272. package/dist/_node_modules/normalize-package-data/lib/normalize.js +59 -0
  273. package/dist/_node_modules/normalize-package-data/lib/normalize.js.map +1 -0
  274. package/dist/_node_modules/normalize-package-data/lib/typos.json.cjs +41 -0
  275. package/dist/_node_modules/normalize-package-data/lib/typos.json.cjs.map +1 -0
  276. package/dist/_node_modules/normalize-package-data/lib/typos.json.js +41 -0
  277. package/dist/_node_modules/normalize-package-data/lib/typos.json.js.map +1 -0
  278. package/dist/_node_modules/normalize-package-data/lib/warning_messages.json.cjs +90 -0
  279. package/dist/_node_modules/normalize-package-data/lib/warning_messages.json.cjs.map +1 -0
  280. package/dist/_node_modules/normalize-package-data/lib/warning_messages.json.js +90 -0
  281. package/dist/_node_modules/normalize-package-data/lib/warning_messages.json.js.map +1 -0
  282. package/dist/_node_modules/parse-json/index.cjs +54 -0
  283. package/dist/_node_modules/parse-json/index.cjs.map +1 -0
  284. package/dist/_node_modules/parse-json/index.js +55 -0
  285. package/dist/_node_modules/parse-json/index.js.map +1 -0
  286. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/git-host-info.cjs +159 -0
  287. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/git-host-info.cjs.map +1 -0
  288. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/git-host-info.js +159 -0
  289. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/git-host-info.js.map +1 -0
  290. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/git-host.cjs +88 -0
  291. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/git-host.cjs.map +1 -0
  292. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/git-host.js +88 -0
  293. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/git-host.js.map +1 -0
  294. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/index.cjs +180 -0
  295. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/index.cjs.map +1 -0
  296. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/index.js +180 -0
  297. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/index.js.map +1 -0
  298. package/dist/_node_modules/read-pkg/_node_modules/lru-cache/index.cjs +268 -0
  299. package/dist/_node_modules/read-pkg/_node_modules/lru-cache/index.cjs.map +1 -0
  300. package/dist/_node_modules/read-pkg/_node_modules/lru-cache/index.js +268 -0
  301. package/dist/_node_modules/read-pkg/_node_modules/lru-cache/index.js.map +1 -0
  302. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/extract_description.cjs +20 -0
  303. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/extract_description.cjs.map +1 -0
  304. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/extract_description.js +20 -0
  305. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/extract_description.js.map +1 -0
  306. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/fixer.cjs +438 -0
  307. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/fixer.cjs.map +1 -0
  308. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/fixer.js +438 -0
  309. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/fixer.js.map +1 -0
  310. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/make_warning.cjs +26 -0
  311. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/make_warning.cjs.map +1 -0
  312. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/make_warning.js +26 -0
  313. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/make_warning.js.map +1 -0
  314. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/normalize.cjs +58 -0
  315. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/normalize.cjs.map +1 -0
  316. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/normalize.js +59 -0
  317. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/normalize.js.map +1 -0
  318. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/typos.json.cjs +41 -0
  319. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/typos.json.cjs.map +1 -0
  320. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/typos.json.js +41 -0
  321. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/typos.json.js.map +1 -0
  322. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/warning_messages.json.cjs +90 -0
  323. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/warning_messages.json.cjs.map +1 -0
  324. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/warning_messages.json.js +90 -0
  325. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/warning_messages.json.js.map +1 -0
  326. package/dist/_node_modules/read-pkg/index.cjs +20 -0
  327. package/dist/_node_modules/read-pkg/index.cjs.map +1 -0
  328. package/dist/_node_modules/read-pkg/index.js +20 -0
  329. package/dist/_node_modules/read-pkg/index.js.map +1 -0
  330. package/dist/_node_modules/read-pkg-up/_node_modules/find-up/index.cjs +48 -0
  331. package/dist/_node_modules/read-pkg-up/_node_modules/find-up/index.cjs.map +1 -0
  332. package/dist/_node_modules/read-pkg-up/_node_modules/find-up/index.js +48 -0
  333. package/dist/_node_modules/read-pkg-up/_node_modules/find-up/index.js.map +1 -0
  334. package/dist/_node_modules/read-pkg-up/_node_modules/locate-path/index.cjs +43 -0
  335. package/dist/_node_modules/read-pkg-up/_node_modules/locate-path/index.cjs.map +1 -0
  336. package/dist/_node_modules/read-pkg-up/_node_modules/locate-path/index.js +43 -0
  337. package/dist/_node_modules/read-pkg-up/_node_modules/locate-path/index.js.map +1 -0
  338. package/dist/_node_modules/read-pkg-up/index.cjs +17 -0
  339. package/dist/_node_modules/read-pkg-up/index.cjs.map +1 -0
  340. package/dist/_node_modules/read-pkg-up/index.js +17 -0
  341. package/dist/_node_modules/read-pkg-up/index.js.map +1 -0
  342. package/dist/_node_modules/redent/index.cjs +8 -0
  343. package/dist/_node_modules/redent/index.cjs.map +1 -0
  344. package/dist/_node_modules/redent/index.js +9 -0
  345. package/dist/_node_modules/redent/index.js.map +1 -0
  346. package/dist/_node_modules/semver/classes/semver.cjs +245 -0
  347. package/dist/_node_modules/semver/classes/semver.cjs.map +1 -0
  348. package/dist/_node_modules/semver/classes/semver.js +245 -0
  349. package/dist/_node_modules/semver/classes/semver.js.map +1 -0
  350. package/dist/_node_modules/semver/functions/clean.cjs +11 -0
  351. package/dist/_node_modules/semver/functions/clean.cjs.map +1 -0
  352. package/dist/_node_modules/semver/functions/clean.js +11 -0
  353. package/dist/_node_modules/semver/functions/clean.js.map +1 -0
  354. package/dist/_node_modules/semver/functions/parse.cjs +20 -0
  355. package/dist/_node_modules/semver/functions/parse.cjs.map +1 -0
  356. package/dist/_node_modules/semver/functions/parse.js +20 -0
  357. package/dist/_node_modules/semver/functions/parse.js.map +1 -0
  358. package/dist/_node_modules/semver/functions/valid.cjs +11 -0
  359. package/dist/_node_modules/semver/functions/valid.cjs.map +1 -0
  360. package/dist/_node_modules/semver/functions/valid.js +11 -0
  361. package/dist/_node_modules/semver/functions/valid.js.map +1 -0
  362. package/dist/_node_modules/semver/internal/constants.cjs +29 -0
  363. package/dist/_node_modules/semver/internal/constants.cjs.map +1 -0
  364. package/dist/_node_modules/semver/internal/constants.js +29 -0
  365. package/dist/_node_modules/semver/internal/constants.js.map +1 -0
  366. package/dist/_node_modules/semver/internal/debug.cjs +7 -0
  367. package/dist/_node_modules/semver/internal/debug.cjs.map +1 -0
  368. package/dist/_node_modules/semver/internal/debug.js +7 -0
  369. package/dist/_node_modules/semver/internal/debug.js.map +1 -0
  370. package/dist/_node_modules/semver/internal/identifiers.cjs +19 -0
  371. package/dist/_node_modules/semver/internal/identifiers.cjs.map +1 -0
  372. package/dist/_node_modules/semver/internal/identifiers.js +19 -0
  373. package/dist/_node_modules/semver/internal/identifiers.js.map +1 -0
  374. package/dist/_node_modules/semver/internal/parse-options.cjs +16 -0
  375. package/dist/_node_modules/semver/internal/parse-options.cjs.map +1 -0
  376. package/dist/_node_modules/semver/internal/parse-options.js +16 -0
  377. package/dist/_node_modules/semver/internal/parse-options.js.map +1 -0
  378. package/dist/_node_modules/semver/internal/re.cjs +82 -0
  379. package/dist/_node_modules/semver/internal/re.cjs.map +1 -0
  380. package/dist/_node_modules/semver/internal/re.js +82 -0
  381. package/dist/_node_modules/semver/internal/re.js.map +1 -0
  382. package/dist/_node_modules/spdx-correct/index.cjs +334 -0
  383. package/dist/_node_modules/spdx-correct/index.cjs.map +1 -0
  384. package/dist/_node_modules/spdx-correct/index.js +334 -0
  385. package/dist/_node_modules/spdx-correct/index.js.map +1 -0
  386. package/dist/_node_modules/spdx-exceptions/index.json.cjs +43 -0
  387. package/dist/_node_modules/spdx-exceptions/index.json.cjs.map +1 -0
  388. package/dist/_node_modules/spdx-exceptions/index.json.js +44 -0
  389. package/dist/_node_modules/spdx-exceptions/index.json.js.map +1 -0
  390. package/dist/_node_modules/spdx-expression-parse/index.cjs +11 -0
  391. package/dist/_node_modules/spdx-expression-parse/index.cjs.map +1 -0
  392. package/dist/_node_modules/spdx-expression-parse/index.js +11 -0
  393. package/dist/_node_modules/spdx-expression-parse/index.js.map +1 -0
  394. package/dist/_node_modules/spdx-expression-parse/parse.cjs +111 -0
  395. package/dist/_node_modules/spdx-expression-parse/parse.cjs.map +1 -0
  396. package/dist/_node_modules/spdx-expression-parse/parse.js +111 -0
  397. package/dist/_node_modules/spdx-expression-parse/parse.js.map +1 -0
  398. package/dist/_node_modules/spdx-expression-parse/scan.cjs +104 -0
  399. package/dist/_node_modules/spdx-expression-parse/scan.cjs.map +1 -0
  400. package/dist/_node_modules/spdx-expression-parse/scan.js +104 -0
  401. package/dist/_node_modules/spdx-expression-parse/scan.js.map +1 -0
  402. package/dist/_node_modules/spdx-license-ids/deprecated.json.cjs +30 -0
  403. package/dist/_node_modules/spdx-license-ids/deprecated.json.cjs.map +1 -0
  404. package/dist/_node_modules/spdx-license-ids/deprecated.json.js +31 -0
  405. package/dist/_node_modules/spdx-license-ids/deprecated.json.js.map +1 -0
  406. package/dist/_node_modules/spdx-license-ids/index.json.cjs +510 -0
  407. package/dist/_node_modules/spdx-license-ids/index.json.cjs.map +1 -0
  408. package/dist/_node_modules/spdx-license-ids/index.json.js +511 -0
  409. package/dist/_node_modules/spdx-license-ids/index.json.js.map +1 -0
  410. package/dist/_node_modules/strip-indent/index.cjs +12 -0
  411. package/dist/_node_modules/strip-indent/index.cjs.map +1 -0
  412. package/dist/_node_modules/strip-indent/index.js +13 -0
  413. package/dist/_node_modules/strip-indent/index.js.map +1 -0
  414. package/dist/_node_modules/supports-color/browser.cjs +8 -0
  415. package/dist/_node_modules/supports-color/browser.cjs.map +1 -0
  416. package/dist/_node_modules/supports-color/browser.js +8 -0
  417. package/dist/_node_modules/supports-color/browser.js.map +1 -0
  418. package/dist/_node_modules/trim-newlines/index.cjs +15 -0
  419. package/dist/_node_modules/trim-newlines/index.cjs.map +1 -0
  420. package/dist/_node_modules/trim-newlines/index.js +15 -0
  421. package/dist/_node_modules/trim-newlines/index.js.map +1 -0
  422. package/dist/_node_modules/validate-npm-package-license/index.cjs +71 -0
  423. package/dist/_node_modules/validate-npm-package-license/index.cjs.map +1 -0
  424. package/dist/_node_modules/validate-npm-package-license/index.js +71 -0
  425. package/dist/_node_modules/validate-npm-package-license/index.js.map +1 -0
  426. package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.cjs +3822 -0
  427. package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.cjs.map +1 -0
  428. package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.js +3822 -0
  429. package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.js.map +1 -0
  430. package/dist/_node_modules/yallist/iterator.cjs +19 -0
  431. package/dist/_node_modules/yallist/iterator.cjs.map +1 -0
  432. package/dist/_node_modules/yallist/iterator.js +19 -0
  433. package/dist/_node_modules/yallist/iterator.js.map +1 -0
  434. package/dist/_node_modules/yallist/yallist.cjs +367 -0
  435. package/dist/_node_modules/yallist/yallist.cjs.map +1 -0
  436. package/dist/_node_modules/yallist/yallist.js +367 -0
  437. package/dist/_node_modules/yallist/yallist.js.map +1 -0
  438. package/dist/_node_modules/yargs-parser/build/lib/index.cjs +56 -0
  439. package/dist/_node_modules/yargs-parser/build/lib/index.cjs.map +1 -0
  440. package/dist/_node_modules/yargs-parser/build/lib/index.js +57 -0
  441. package/dist/_node_modules/yargs-parser/build/lib/index.js.map +1 -0
  442. package/dist/_node_modules/yargs-parser/build/lib/string-utils.cjs +63 -0
  443. package/dist/_node_modules/yargs-parser/build/lib/string-utils.cjs.map +1 -0
  444. package/dist/_node_modules/yargs-parser/build/lib/string-utils.js +63 -0
  445. package/dist/_node_modules/yargs-parser/build/lib/string-utils.js.map +1 -0
  446. package/dist/_node_modules/yargs-parser/build/lib/tokenize-arg-string.cjs +39 -0
  447. package/dist/_node_modules/yargs-parser/build/lib/tokenize-arg-string.cjs.map +1 -0
  448. package/dist/_node_modules/yargs-parser/build/lib/tokenize-arg-string.js +39 -0
  449. package/dist/_node_modules/yargs-parser/build/lib/tokenize-arg-string.js.map +1 -0
  450. package/dist/_node_modules/yargs-parser/build/lib/yargs-parser-types.cjs +15 -0
  451. package/dist/_node_modules/yargs-parser/build/lib/yargs-parser-types.cjs.map +1 -0
  452. package/dist/_node_modules/yargs-parser/build/lib/yargs-parser-types.js +16 -0
  453. package/dist/_node_modules/yargs-parser/build/lib/yargs-parser-types.js.map +1 -0
  454. package/dist/_node_modules/yargs-parser/build/lib/yargs-parser.cjs +847 -0
  455. package/dist/_node_modules/yargs-parser/build/lib/yargs-parser.cjs.map +1 -0
  456. package/dist/_node_modules/yargs-parser/build/lib/yargs-parser.js +847 -0
  457. package/dist/_node_modules/yargs-parser/build/lib/yargs-parser.js.map +1 -0
  458. package/dist/_virtual/_commonjsHelpers.cjs +9 -0
  459. package/dist/_virtual/_commonjsHelpers.cjs.map +1 -0
  460. package/dist/_virtual/_commonjsHelpers.js +9 -0
  461. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  462. package/dist/_virtual/conversions.cjs +5 -0
  463. package/dist/_virtual/conversions.cjs.map +1 -0
  464. package/dist/_virtual/conversions.js +5 -0
  465. package/dist/_virtual/conversions.js.map +1 -0
  466. package/dist/_virtual/identifier.cjs +5 -0
  467. package/dist/_virtual/identifier.cjs.map +1 -0
  468. package/dist/_virtual/identifier.js +5 -0
  469. package/dist/_virtual/identifier.js.map +1 -0
  470. package/dist/_virtual/index.cjs +5 -0
  471. package/dist/_virtual/index.cjs.map +1 -0
  472. package/dist/_virtual/index.js +5 -0
  473. package/dist/_virtual/index.js.map +1 -0
  474. package/dist/_virtual/index10.cjs +5 -0
  475. package/dist/_virtual/index10.cjs.map +1 -0
  476. package/dist/_virtual/index10.js +5 -0
  477. package/dist/_virtual/index10.js.map +1 -0
  478. package/dist/_virtual/index11.cjs +5 -0
  479. package/dist/_virtual/index11.cjs.map +1 -0
  480. package/dist/_virtual/index11.js +5 -0
  481. package/dist/_virtual/index11.js.map +1 -0
  482. package/dist/_virtual/index2.cjs +5 -0
  483. package/dist/_virtual/index2.cjs.map +1 -0
  484. package/dist/_virtual/index2.js +5 -0
  485. package/dist/_virtual/index2.js.map +1 -0
  486. package/dist/_virtual/index3.cjs +5 -0
  487. package/dist/_virtual/index3.cjs.map +1 -0
  488. package/dist/_virtual/index3.js +5 -0
  489. package/dist/_virtual/index3.js.map +1 -0
  490. package/dist/_virtual/index4.cjs +5 -0
  491. package/dist/_virtual/index4.cjs.map +1 -0
  492. package/dist/_virtual/index4.js +5 -0
  493. package/dist/_virtual/index4.js.map +1 -0
  494. package/dist/_virtual/index5.cjs +5 -0
  495. package/dist/_virtual/index5.cjs.map +1 -0
  496. package/dist/_virtual/index5.js +5 -0
  497. package/dist/_virtual/index5.js.map +1 -0
  498. package/dist/_virtual/index6.cjs +5 -0
  499. package/dist/_virtual/index6.cjs.map +1 -0
  500. package/dist/_virtual/index6.js +5 -0
  501. package/dist/_virtual/index6.js.map +1 -0
  502. package/dist/_virtual/index7.cjs +5 -0
  503. package/dist/_virtual/index7.cjs.map +1 -0
  504. package/dist/_virtual/index7.js +5 -0
  505. package/dist/_virtual/index7.js.map +1 -0
  506. package/dist/_virtual/index8.cjs +5 -0
  507. package/dist/_virtual/index8.cjs.map +1 -0
  508. package/dist/_virtual/index8.js +5 -0
  509. package/dist/_virtual/index8.js.map +1 -0
  510. package/dist/_virtual/index9.cjs +5 -0
  511. package/dist/_virtual/index9.cjs.map +1 -0
  512. package/dist/_virtual/index9.js +5 -0
  513. package/dist/_virtual/index9.js.map +1 -0
  514. package/dist/_virtual/keyword.cjs +5 -0
  515. package/dist/_virtual/keyword.cjs.map +1 -0
  516. package/dist/_virtual/keyword.js +5 -0
  517. package/dist/_virtual/keyword.js.map +1 -0
  518. package/dist/_virtual/ponyfill.es2018.cjs +5 -0
  519. package/dist/_virtual/ponyfill.es2018.cjs.map +1 -0
  520. package/dist/_virtual/ponyfill.es2018.js +5 -0
  521. package/dist/_virtual/ponyfill.es2018.js.map +1 -0
  522. package/dist/_virtual/re.cjs +5 -0
  523. package/dist/_virtual/re.cjs.map +1 -0
  524. package/dist/_virtual/re.js +5 -0
  525. package/dist/_virtual/re.js.map +1 -0
  526. package/dist/cli/loadLocaleIDs.cjs +2 -2
  527. package/dist/cli/loadLocaleIDs.cjs.map +1 -1
  528. package/dist/cli/loadLocaleIDs.js +1 -1
  529. package/dist/cli/loadModels.cjs +2 -2
  530. package/dist/cli/loadModels.cjs.map +1 -1
  531. package/dist/cli/loadModels.js +1 -1
  532. package/dist/cli.cjs +2 -2
  533. package/dist/cli.cjs.map +1 -1
  534. package/dist/cli.js +1 -1
  535. package/dist/lib/buildFieldProperties.cjs +3 -0
  536. package/dist/lib/buildFieldProperties.cjs.map +1 -1
  537. package/dist/lib/buildFieldProperties.js +3 -0
  538. package/dist/lib/buildFieldProperties.js.map +1 -1
  539. package/dist/lib/buildSharedSliceType.cjs +2 -0
  540. package/dist/lib/buildSharedSliceType.cjs.map +1 -1
  541. package/dist/lib/buildSharedSliceType.js +2 -0
  542. package/dist/lib/buildSharedSliceType.js.map +1 -1
  543. package/package.json +2 -2
  544. package/src/lib/buildFieldProperties.ts +3 -0
  545. package/src/lib/buildSharedSliceType.ts +2 -0
  546. package/bin/prismic-ts-codegen.mjs +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../node_modules/lru-cache/index.js"],"sourcesContent":["const perf =\n typeof performance === 'object' &&\n performance &&\n typeof performance.now === 'function'\n ? performance\n : Date\n\nconst hasAbortController = typeof AbortController === 'function'\n\n// minimal backwards-compatibility polyfill\n// this doesn't have nearly all the checks and whatnot that\n// actual AbortController/Signal has, but it's enough for\n// our purposes, and if used properly, behaves the same.\nconst AC = hasAbortController\n ? AbortController\n : class AbortController {\n constructor() {\n this.signal = new AS()\n }\n abort(reason = new Error('This operation was aborted')) {\n this.signal.reason = this.signal.reason || reason\n this.signal.aborted = true\n this.signal.dispatchEvent({\n type: 'abort',\n target: this.signal,\n })\n }\n }\n\nconst hasAbortSignal = typeof AbortSignal === 'function'\n// Some polyfills put this on the AC class, not global\nconst hasACAbortSignal = typeof AC.AbortSignal === 'function'\nconst AS = hasAbortSignal\n ? AbortSignal\n : hasACAbortSignal\n ? AC.AbortController\n : class AbortSignal {\n constructor() {\n this.reason = undefined\n this.aborted = false\n this._listeners = []\n }\n dispatchEvent(e) {\n if (e.type === 'abort') {\n this.aborted = true\n this.onabort(e)\n this._listeners.forEach(f => f(e), this)\n }\n }\n onabort() {}\n addEventListener(ev, fn) {\n if (ev === 'abort') {\n this._listeners.push(fn)\n }\n }\n removeEventListener(ev, fn) {\n if (ev === 'abort') {\n this._listeners = this._listeners.filter(f => f !== fn)\n }\n }\n }\n\nconst warned = new Set()\nconst deprecatedOption = (opt, instead) => {\n const code = `LRU_CACHE_OPTION_${opt}`\n if (shouldWarn(code)) {\n warn(code, `${opt} option`, `options.${instead}`, LRUCache)\n }\n}\nconst deprecatedMethod = (method, instead) => {\n const code = `LRU_CACHE_METHOD_${method}`\n if (shouldWarn(code)) {\n const { prototype } = LRUCache\n const { get } = Object.getOwnPropertyDescriptor(prototype, method)\n warn(code, `${method} method`, `cache.${instead}()`, get)\n }\n}\nconst deprecatedProperty = (field, instead) => {\n const code = `LRU_CACHE_PROPERTY_${field}`\n if (shouldWarn(code)) {\n const { prototype } = LRUCache\n const { get } = Object.getOwnPropertyDescriptor(prototype, field)\n warn(code, `${field} property`, `cache.${instead}`, get)\n }\n}\n\nconst emitWarning = (...a) => {\n typeof process === 'object' &&\n process &&\n typeof process.emitWarning === 'function'\n ? process.emitWarning(...a)\n : console.error(...a)\n}\n\nconst shouldWarn = code => !warned.has(code)\n\nconst warn = (code, what, instead, fn) => {\n warned.add(code)\n const msg = `The ${what} is deprecated. Please use ${instead} instead.`\n emitWarning(msg, 'DeprecationWarning', code, fn)\n}\n\nconst isPosInt = n => n && n === Math.floor(n) && n > 0 && isFinite(n)\n\n/* istanbul ignore next - This is a little bit ridiculous, tbh.\n * The maximum array length is 2^32-1 or thereabouts on most JS impls.\n * And well before that point, you're caching the entire world, I mean,\n * that's ~32GB of just integers for the next/prev links, plus whatever\n * else to hold that many keys and values. Just filling the memory with\n * zeroes at init time is brutal when you get that big.\n * But why not be complete?\n * Maybe in the future, these limits will have expanded. */\nconst getUintArray = max =>\n !isPosInt(max)\n ? null\n : max <= Math.pow(2, 8)\n ? Uint8Array\n : max <= Math.pow(2, 16)\n ? Uint16Array\n : max <= Math.pow(2, 32)\n ? Uint32Array\n : max <= Number.MAX_SAFE_INTEGER\n ? ZeroArray\n : null\n\nclass ZeroArray extends Array {\n constructor(size) {\n super(size)\n this.fill(0)\n }\n}\n\nclass Stack {\n constructor(max) {\n if (max === 0) {\n return []\n }\n const UintArray = getUintArray(max)\n this.heap = new UintArray(max)\n this.length = 0\n }\n push(n) {\n this.heap[this.length++] = n\n }\n pop() {\n return this.heap[--this.length]\n }\n}\n\nclass LRUCache {\n constructor(options = {}) {\n const {\n max = 0,\n ttl,\n ttlResolution = 1,\n ttlAutopurge,\n updateAgeOnGet,\n updateAgeOnHas,\n allowStale,\n dispose,\n disposeAfter,\n noDisposeOnSet,\n noUpdateTTL,\n maxSize = 0,\n maxEntrySize = 0,\n sizeCalculation,\n fetchMethod,\n fetchContext,\n noDeleteOnFetchRejection,\n noDeleteOnStaleGet,\n allowStaleOnFetchRejection,\n allowStaleOnFetchAbort,\n ignoreFetchAbort,\n } = options\n\n // deprecated options, don't trigger a warning for getting them if\n // the thing being passed in is another LRUCache we're copying.\n const { length, maxAge, stale } =\n options instanceof LRUCache ? {} : options\n\n if (max !== 0 && !isPosInt(max)) {\n throw new TypeError('max option must be a nonnegative integer')\n }\n\n const UintArray = max ? getUintArray(max) : Array\n if (!UintArray) {\n throw new Error('invalid max value: ' + max)\n }\n\n this.max = max\n this.maxSize = maxSize\n this.maxEntrySize = maxEntrySize || this.maxSize\n this.sizeCalculation = sizeCalculation || length\n if (this.sizeCalculation) {\n if (!this.maxSize && !this.maxEntrySize) {\n throw new TypeError(\n 'cannot set sizeCalculation without setting maxSize or maxEntrySize'\n )\n }\n if (typeof this.sizeCalculation !== 'function') {\n throw new TypeError('sizeCalculation set to non-function')\n }\n }\n\n this.fetchMethod = fetchMethod || null\n if (this.fetchMethod && typeof this.fetchMethod !== 'function') {\n throw new TypeError(\n 'fetchMethod must be a function if specified'\n )\n }\n\n this.fetchContext = fetchContext\n if (!this.fetchMethod && fetchContext !== undefined) {\n throw new TypeError(\n 'cannot set fetchContext without fetchMethod'\n )\n }\n\n this.keyMap = new Map()\n this.keyList = new Array(max).fill(null)\n this.valList = new Array(max).fill(null)\n this.next = new UintArray(max)\n this.prev = new UintArray(max)\n this.head = 0\n this.tail = 0\n this.free = new Stack(max)\n this.initialFill = 1\n this.size = 0\n\n if (typeof dispose === 'function') {\n this.dispose = dispose\n }\n if (typeof disposeAfter === 'function') {\n this.disposeAfter = disposeAfter\n this.disposed = []\n } else {\n this.disposeAfter = null\n this.disposed = null\n }\n this.noDisposeOnSet = !!noDisposeOnSet\n this.noUpdateTTL = !!noUpdateTTL\n this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection\n this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection\n this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort\n this.ignoreFetchAbort = !!ignoreFetchAbort\n\n // NB: maxEntrySize is set to maxSize if it's set\n if (this.maxEntrySize !== 0) {\n if (this.maxSize !== 0) {\n if (!isPosInt(this.maxSize)) {\n throw new TypeError(\n 'maxSize must be a positive integer if specified'\n )\n }\n }\n if (!isPosInt(this.maxEntrySize)) {\n throw new TypeError(\n 'maxEntrySize must be a positive integer if specified'\n )\n }\n this.initializeSizeTracking()\n }\n\n this.allowStale = !!allowStale || !!stale\n this.noDeleteOnStaleGet = !!noDeleteOnStaleGet\n this.updateAgeOnGet = !!updateAgeOnGet\n this.updateAgeOnHas = !!updateAgeOnHas\n this.ttlResolution =\n isPosInt(ttlResolution) || ttlResolution === 0\n ? ttlResolution\n : 1\n this.ttlAutopurge = !!ttlAutopurge\n this.ttl = ttl || maxAge || 0\n if (this.ttl) {\n if (!isPosInt(this.ttl)) {\n throw new TypeError(\n 'ttl must be a positive integer if specified'\n )\n }\n this.initializeTTLTracking()\n }\n\n // do not allow completely unbounded caches\n if (this.max === 0 && this.ttl === 0 && this.maxSize === 0) {\n throw new TypeError(\n 'At least one of max, maxSize, or ttl is required'\n )\n }\n if (!this.ttlAutopurge && !this.max && !this.maxSize) {\n const code = 'LRU_CACHE_UNBOUNDED'\n if (shouldWarn(code)) {\n warned.add(code)\n const msg =\n 'TTL caching without ttlAutopurge, max, or maxSize can ' +\n 'result in unbounded memory consumption.'\n emitWarning(msg, 'UnboundedCacheWarning', code, LRUCache)\n }\n }\n\n if (stale) {\n deprecatedOption('stale', 'allowStale')\n }\n if (maxAge) {\n deprecatedOption('maxAge', 'ttl')\n }\n if (length) {\n deprecatedOption('length', 'sizeCalculation')\n }\n }\n\n getRemainingTTL(key) {\n return this.has(key, { updateAgeOnHas: false }) ? Infinity : 0\n }\n\n initializeTTLTracking() {\n this.ttls = new ZeroArray(this.max)\n this.starts = new ZeroArray(this.max)\n\n this.setItemTTL = (index, ttl, start = perf.now()) => {\n this.starts[index] = ttl !== 0 ? start : 0\n this.ttls[index] = ttl\n if (ttl !== 0 && this.ttlAutopurge) {\n const t = setTimeout(() => {\n if (this.isStale(index)) {\n this.delete(this.keyList[index])\n }\n }, ttl + 1)\n /* istanbul ignore else - unref() not supported on all platforms */\n if (t.unref) {\n t.unref()\n }\n }\n }\n\n this.updateItemAge = index => {\n this.starts[index] = this.ttls[index] !== 0 ? perf.now() : 0\n }\n\n this.statusTTL = (status, index) => {\n if (status) {\n status.ttl = this.ttls[index]\n status.start = this.starts[index]\n status.now = cachedNow || getNow()\n status.remainingTTL = status.now + status.ttl - status.start\n }\n }\n\n // debounce calls to perf.now() to 1s so we're not hitting\n // that costly call repeatedly.\n let cachedNow = 0\n const getNow = () => {\n const n = perf.now()\n if (this.ttlResolution > 0) {\n cachedNow = n\n const t = setTimeout(\n () => (cachedNow = 0),\n this.ttlResolution\n )\n /* istanbul ignore else - not available on all platforms */\n if (t.unref) {\n t.unref()\n }\n }\n return n\n }\n\n this.getRemainingTTL = key => {\n const index = this.keyMap.get(key)\n if (index === undefined) {\n return 0\n }\n return this.ttls[index] === 0 || this.starts[index] === 0\n ? Infinity\n : this.starts[index] +\n this.ttls[index] -\n (cachedNow || getNow())\n }\n\n this.isStale = index => {\n return (\n this.ttls[index] !== 0 &&\n this.starts[index] !== 0 &&\n (cachedNow || getNow()) - this.starts[index] >\n this.ttls[index]\n )\n }\n }\n updateItemAge(_index) {}\n statusTTL(_status, _index) {}\n setItemTTL(_index, _ttl, _start) {}\n isStale(_index) {\n return false\n }\n\n initializeSizeTracking() {\n this.calculatedSize = 0\n this.sizes = new ZeroArray(this.max)\n this.removeItemSize = index => {\n this.calculatedSize -= this.sizes[index]\n this.sizes[index] = 0\n }\n this.requireSize = (k, v, size, sizeCalculation) => {\n // provisionally accept background fetches.\n // actual value size will be checked when they return.\n if (this.isBackgroundFetch(v)) {\n return 0\n }\n if (!isPosInt(size)) {\n if (sizeCalculation) {\n if (typeof sizeCalculation !== 'function') {\n throw new TypeError('sizeCalculation must be a function')\n }\n size = sizeCalculation(v, k)\n if (!isPosInt(size)) {\n throw new TypeError(\n 'sizeCalculation return invalid (expect positive integer)'\n )\n }\n } else {\n throw new TypeError(\n 'invalid size value (must be positive integer). ' +\n 'When maxSize or maxEntrySize is used, sizeCalculation or size ' +\n 'must be set.'\n )\n }\n }\n return size\n }\n this.addItemSize = (index, size, status) => {\n this.sizes[index] = size\n if (this.maxSize) {\n const maxSize = this.maxSize - this.sizes[index]\n while (this.calculatedSize > maxSize) {\n this.evict(true)\n }\n }\n this.calculatedSize += this.sizes[index]\n if (status) {\n status.entrySize = size\n status.totalCalculatedSize = this.calculatedSize\n }\n }\n }\n removeItemSize(_index) {}\n addItemSize(_index, _size) {}\n requireSize(_k, _v, size, sizeCalculation) {\n if (size || sizeCalculation) {\n throw new TypeError(\n 'cannot set size without setting maxSize or maxEntrySize on cache'\n )\n }\n }\n\n *indexes({ allowStale = this.allowStale } = {}) {\n if (this.size) {\n for (let i = this.tail; true; ) {\n if (!this.isValidIndex(i)) {\n break\n }\n if (allowStale || !this.isStale(i)) {\n yield i\n }\n if (i === this.head) {\n break\n } else {\n i = this.prev[i]\n }\n }\n }\n }\n\n *rindexes({ allowStale = this.allowStale } = {}) {\n if (this.size) {\n for (let i = this.head; true; ) {\n if (!this.isValidIndex(i)) {\n break\n }\n if (allowStale || !this.isStale(i)) {\n yield i\n }\n if (i === this.tail) {\n break\n } else {\n i = this.next[i]\n }\n }\n }\n }\n\n isValidIndex(index) {\n return (\n index !== undefined &&\n this.keyMap.get(this.keyList[index]) === index\n )\n }\n\n *entries() {\n for (const i of this.indexes()) {\n if (\n this.valList[i] !== undefined &&\n this.keyList[i] !== undefined &&\n !this.isBackgroundFetch(this.valList[i])\n ) {\n yield [this.keyList[i], this.valList[i]]\n }\n }\n }\n *rentries() {\n for (const i of this.rindexes()) {\n if (\n this.valList[i] !== undefined &&\n this.keyList[i] !== undefined &&\n !this.isBackgroundFetch(this.valList[i])\n ) {\n yield [this.keyList[i], this.valList[i]]\n }\n }\n }\n\n *keys() {\n for (const i of this.indexes()) {\n if (\n this.keyList[i] !== undefined &&\n !this.isBackgroundFetch(this.valList[i])\n ) {\n yield this.keyList[i]\n }\n }\n }\n *rkeys() {\n for (const i of this.rindexes()) {\n if (\n this.keyList[i] !== undefined &&\n !this.isBackgroundFetch(this.valList[i])\n ) {\n yield this.keyList[i]\n }\n }\n }\n\n *values() {\n for (const i of this.indexes()) {\n if (\n this.valList[i] !== undefined &&\n !this.isBackgroundFetch(this.valList[i])\n ) {\n yield this.valList[i]\n }\n }\n }\n *rvalues() {\n for (const i of this.rindexes()) {\n if (\n this.valList[i] !== undefined &&\n !this.isBackgroundFetch(this.valList[i])\n ) {\n yield this.valList[i]\n }\n }\n }\n\n [Symbol.iterator]() {\n return this.entries()\n }\n\n find(fn, getOptions) {\n for (const i of this.indexes()) {\n const v = this.valList[i]\n const value = this.isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) continue\n if (fn(value, this.keyList[i], this)) {\n return this.get(this.keyList[i], getOptions)\n }\n }\n }\n\n forEach(fn, thisp = this) {\n for (const i of this.indexes()) {\n const v = this.valList[i]\n const value = this.isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) continue\n fn.call(thisp, value, this.keyList[i], this)\n }\n }\n\n rforEach(fn, thisp = this) {\n for (const i of this.rindexes()) {\n const v = this.valList[i]\n const value = this.isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) continue\n fn.call(thisp, value, this.keyList[i], this)\n }\n }\n\n get prune() {\n deprecatedMethod('prune', 'purgeStale')\n return this.purgeStale\n }\n\n purgeStale() {\n let deleted = false\n for (const i of this.rindexes({ allowStale: true })) {\n if (this.isStale(i)) {\n this.delete(this.keyList[i])\n deleted = true\n }\n }\n return deleted\n }\n\n dump() {\n const arr = []\n for (const i of this.indexes({ allowStale: true })) {\n const key = this.keyList[i]\n const v = this.valList[i]\n const value = this.isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) continue\n const entry = { value }\n if (this.ttls) {\n entry.ttl = this.ttls[i]\n // always dump the start relative to a portable timestamp\n // it's ok for this to be a bit slow, it's a rare operation.\n const age = perf.now() - this.starts[i]\n entry.start = Math.floor(Date.now() - age)\n }\n if (this.sizes) {\n entry.size = this.sizes[i]\n }\n arr.unshift([key, entry])\n }\n return arr\n }\n\n load(arr) {\n this.clear()\n for (const [key, entry] of arr) {\n if (entry.start) {\n // entry.start is a portable timestamp, but we may be using\n // node's performance.now(), so calculate the offset.\n // it's ok for this to be a bit slow, it's a rare operation.\n const age = Date.now() - entry.start\n entry.start = perf.now() - age\n }\n this.set(key, entry.value, entry)\n }\n }\n\n dispose(_v, _k, _reason) {}\n\n set(\n k,\n v,\n {\n ttl = this.ttl,\n start,\n noDisposeOnSet = this.noDisposeOnSet,\n size = 0,\n sizeCalculation = this.sizeCalculation,\n noUpdateTTL = this.noUpdateTTL,\n status,\n } = {}\n ) {\n size = this.requireSize(k, v, size, sizeCalculation)\n // if the item doesn't fit, don't do anything\n // NB: maxEntrySize set to maxSize by default\n if (this.maxEntrySize && size > this.maxEntrySize) {\n if (status) {\n status.set = 'miss'\n status.maxEntrySizeExceeded = true\n }\n // have to delete, in case a background fetch is there already.\n // in non-async cases, this is a no-op\n this.delete(k)\n return this\n }\n let index = this.size === 0 ? undefined : this.keyMap.get(k)\n if (index === undefined) {\n // addition\n index = this.newIndex()\n this.keyList[index] = k\n this.valList[index] = v\n this.keyMap.set(k, index)\n this.next[this.tail] = index\n this.prev[index] = this.tail\n this.tail = index\n this.size++\n this.addItemSize(index, size, status)\n if (status) {\n status.set = 'add'\n }\n noUpdateTTL = false\n } else {\n // update\n this.moveToTail(index)\n const oldVal = this.valList[index]\n if (v !== oldVal) {\n if (this.isBackgroundFetch(oldVal)) {\n oldVal.__abortController.abort(new Error('replaced'))\n } else {\n if (!noDisposeOnSet) {\n this.dispose(oldVal, k, 'set')\n if (this.disposeAfter) {\n this.disposed.push([oldVal, k, 'set'])\n }\n }\n }\n this.removeItemSize(index)\n this.valList[index] = v\n this.addItemSize(index, size, status)\n if (status) {\n status.set = 'replace'\n const oldValue =\n oldVal && this.isBackgroundFetch(oldVal)\n ? oldVal.__staleWhileFetching\n : oldVal\n if (oldValue !== undefined) status.oldValue = oldValue\n }\n } else if (status) {\n status.set = 'update'\n }\n }\n if (ttl !== 0 && this.ttl === 0 && !this.ttls) {\n this.initializeTTLTracking()\n }\n if (!noUpdateTTL) {\n this.setItemTTL(index, ttl, start)\n }\n this.statusTTL(status, index)\n if (this.disposeAfter) {\n while (this.disposed.length) {\n this.disposeAfter(...this.disposed.shift())\n }\n }\n return this\n }\n\n newIndex() {\n if (this.size === 0) {\n return this.tail\n }\n if (this.size === this.max && this.max !== 0) {\n return this.evict(false)\n }\n if (this.free.length !== 0) {\n return this.free.pop()\n }\n // initial fill, just keep writing down the list\n return this.initialFill++\n }\n\n pop() {\n if (this.size) {\n const val = this.valList[this.head]\n this.evict(true)\n return val\n }\n }\n\n evict(free) {\n const head = this.head\n const k = this.keyList[head]\n const v = this.valList[head]\n if (this.isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('evicted'))\n } else {\n this.dispose(v, k, 'evict')\n if (this.disposeAfter) {\n this.disposed.push([v, k, 'evict'])\n }\n }\n this.removeItemSize(head)\n // if we aren't about to use the index, then null these out\n if (free) {\n this.keyList[head] = null\n this.valList[head] = null\n this.free.push(head)\n }\n this.head = this.next[head]\n this.keyMap.delete(k)\n this.size--\n return head\n }\n\n has(k, { updateAgeOnHas = this.updateAgeOnHas, status } = {}) {\n const index = this.keyMap.get(k)\n if (index !== undefined) {\n if (!this.isStale(index)) {\n if (updateAgeOnHas) {\n this.updateItemAge(index)\n }\n if (status) status.has = 'hit'\n this.statusTTL(status, index)\n return true\n } else if (status) {\n status.has = 'stale'\n this.statusTTL(status, index)\n }\n } else if (status) {\n status.has = 'miss'\n }\n return false\n }\n\n // like get(), but without any LRU updating or TTL expiration\n peek(k, { allowStale = this.allowStale } = {}) {\n const index = this.keyMap.get(k)\n if (index !== undefined && (allowStale || !this.isStale(index))) {\n const v = this.valList[index]\n // either stale and allowed, or forcing a refresh of non-stale value\n return this.isBackgroundFetch(v) ? v.__staleWhileFetching : v\n }\n }\n\n backgroundFetch(k, index, options, context) {\n const v = index === undefined ? undefined : this.valList[index]\n if (this.isBackgroundFetch(v)) {\n return v\n }\n const ac = new AC()\n if (options.signal) {\n options.signal.addEventListener('abort', () =>\n ac.abort(options.signal.reason)\n )\n }\n const fetchOpts = {\n signal: ac.signal,\n options,\n context,\n }\n const cb = (v, updateCache = false) => {\n const { aborted } = ac.signal\n const ignoreAbort = options.ignoreFetchAbort && v !== undefined\n if (options.status) {\n if (aborted && !updateCache) {\n options.status.fetchAborted = true\n options.status.fetchError = ac.signal.reason\n if (ignoreAbort) options.status.fetchAbortIgnored = true\n } else {\n options.status.fetchResolved = true\n }\n }\n if (aborted && !ignoreAbort && !updateCache) {\n return fetchFail(ac.signal.reason)\n }\n // either we didn't abort, and are still here, or we did, and ignored\n if (this.valList[index] === p) {\n if (v === undefined) {\n if (p.__staleWhileFetching) {\n this.valList[index] = p.__staleWhileFetching\n } else {\n this.delete(k)\n }\n } else {\n if (options.status) options.status.fetchUpdated = true\n this.set(k, v, fetchOpts.options)\n }\n }\n return v\n }\n const eb = er => {\n if (options.status) {\n options.status.fetchRejected = true\n options.status.fetchError = er\n }\n return fetchFail(er)\n }\n const fetchFail = er => {\n const { aborted } = ac.signal\n const allowStaleAborted =\n aborted && options.allowStaleOnFetchAbort\n const allowStale =\n allowStaleAborted || options.allowStaleOnFetchRejection\n const noDelete = allowStale || options.noDeleteOnFetchRejection\n if (this.valList[index] === p) {\n // if we allow stale on fetch rejections, then we need to ensure that\n // the stale value is not removed from the cache when the fetch fails.\n const del = !noDelete || p.__staleWhileFetching === undefined\n if (del) {\n this.delete(k)\n } else if (!allowStaleAborted) {\n // still replace the *promise* with the stale value,\n // since we are done with the promise at this point.\n // leave it untouched if we're still waiting for an\n // aborted background fetch that hasn't yet returned.\n this.valList[index] = p.__staleWhileFetching\n }\n }\n if (allowStale) {\n if (options.status && p.__staleWhileFetching !== undefined) {\n options.status.returnedStale = true\n }\n return p.__staleWhileFetching\n } else if (p.__returned === p) {\n throw er\n }\n }\n const pcall = (res, rej) => {\n this.fetchMethod(k, v, fetchOpts).then(v => res(v), rej)\n // ignored, we go until we finish, regardless.\n // defer check until we are actually aborting,\n // so fetchMethod can override.\n ac.signal.addEventListener('abort', () => {\n if (\n !options.ignoreFetchAbort ||\n options.allowStaleOnFetchAbort\n ) {\n res()\n // when it eventually resolves, update the cache.\n if (options.allowStaleOnFetchAbort) {\n res = v => cb(v, true)\n }\n }\n })\n }\n if (options.status) options.status.fetchDispatched = true\n const p = new Promise(pcall).then(cb, eb)\n p.__abortController = ac\n p.__staleWhileFetching = v\n p.__returned = null\n if (index === undefined) {\n // internal, don't expose status.\n this.set(k, p, { ...fetchOpts.options, status: undefined })\n index = this.keyMap.get(k)\n } else {\n this.valList[index] = p\n }\n return p\n }\n\n isBackgroundFetch(p) {\n return (\n p &&\n typeof p === 'object' &&\n typeof p.then === 'function' &&\n Object.prototype.hasOwnProperty.call(\n p,\n '__staleWhileFetching'\n ) &&\n Object.prototype.hasOwnProperty.call(p, '__returned') &&\n (p.__returned === p || p.__returned === null)\n )\n }\n\n // this takes the union of get() and set() opts, because it does both\n async fetch(\n k,\n {\n // get options\n allowStale = this.allowStale,\n updateAgeOnGet = this.updateAgeOnGet,\n noDeleteOnStaleGet = this.noDeleteOnStaleGet,\n // set options\n ttl = this.ttl,\n noDisposeOnSet = this.noDisposeOnSet,\n size = 0,\n sizeCalculation = this.sizeCalculation,\n noUpdateTTL = this.noUpdateTTL,\n // fetch exclusive options\n noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,\n allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,\n ignoreFetchAbort = this.ignoreFetchAbort,\n allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,\n fetchContext = this.fetchContext,\n forceRefresh = false,\n status,\n signal,\n } = {}\n ) {\n if (!this.fetchMethod) {\n if (status) status.fetch = 'get'\n return this.get(k, {\n allowStale,\n updateAgeOnGet,\n noDeleteOnStaleGet,\n status,\n })\n }\n\n const options = {\n allowStale,\n updateAgeOnGet,\n noDeleteOnStaleGet,\n ttl,\n noDisposeOnSet,\n size,\n sizeCalculation,\n noUpdateTTL,\n noDeleteOnFetchRejection,\n allowStaleOnFetchRejection,\n allowStaleOnFetchAbort,\n ignoreFetchAbort,\n status,\n signal,\n }\n\n let index = this.keyMap.get(k)\n if (index === undefined) {\n if (status) status.fetch = 'miss'\n const p = this.backgroundFetch(k, index, options, fetchContext)\n return (p.__returned = p)\n } else {\n // in cache, maybe already fetching\n const v = this.valList[index]\n if (this.isBackgroundFetch(v)) {\n const stale =\n allowStale && v.__staleWhileFetching !== undefined\n if (status) {\n status.fetch = 'inflight'\n if (stale) status.returnedStale = true\n }\n return stale ? v.__staleWhileFetching : (v.__returned = v)\n }\n\n // if we force a refresh, that means do NOT serve the cached value,\n // unless we are already in the process of refreshing the cache.\n const isStale = this.isStale(index)\n if (!forceRefresh && !isStale) {\n if (status) status.fetch = 'hit'\n this.moveToTail(index)\n if (updateAgeOnGet) {\n this.updateItemAge(index)\n }\n this.statusTTL(status, index)\n return v\n }\n\n // ok, it is stale or a forced refresh, and not already fetching.\n // refresh the cache.\n const p = this.backgroundFetch(k, index, options, fetchContext)\n const hasStale = p.__staleWhileFetching !== undefined\n const staleVal = hasStale && allowStale\n if (status) {\n status.fetch = hasStale && isStale ? 'stale' : 'refresh'\n if (staleVal && isStale) status.returnedStale = true\n }\n return staleVal ? p.__staleWhileFetching : (p.__returned = p)\n }\n }\n\n get(\n k,\n {\n allowStale = this.allowStale,\n updateAgeOnGet = this.updateAgeOnGet,\n noDeleteOnStaleGet = this.noDeleteOnStaleGet,\n status,\n } = {}\n ) {\n const index = this.keyMap.get(k)\n if (index !== undefined) {\n const value = this.valList[index]\n const fetching = this.isBackgroundFetch(value)\n this.statusTTL(status, index)\n if (this.isStale(index)) {\n if (status) status.get = 'stale'\n // delete only if not an in-flight background fetch\n if (!fetching) {\n if (!noDeleteOnStaleGet) {\n this.delete(k)\n }\n if (status) status.returnedStale = allowStale\n return allowStale ? value : undefined\n } else {\n if (status) {\n status.returnedStale =\n allowStale && value.__staleWhileFetching !== undefined\n }\n return allowStale ? value.__staleWhileFetching : undefined\n }\n } else {\n if (status) status.get = 'hit'\n // if we're currently fetching it, we don't actually have it yet\n // it's not stale, which means this isn't a staleWhileRefetching.\n // If it's not stale, and fetching, AND has a __staleWhileFetching\n // value, then that means the user fetched with {forceRefresh:true},\n // so it's safe to return that value.\n if (fetching) {\n return value.__staleWhileFetching\n }\n this.moveToTail(index)\n if (updateAgeOnGet) {\n this.updateItemAge(index)\n }\n return value\n }\n } else if (status) {\n status.get = 'miss'\n }\n }\n\n connect(p, n) {\n this.prev[n] = p\n this.next[p] = n\n }\n\n moveToTail(index) {\n // if tail already, nothing to do\n // if head, move head to next[index]\n // else\n // move next[prev[index]] to next[index] (head has no prev)\n // move prev[next[index]] to prev[index]\n // prev[index] = tail\n // next[tail] = index\n // tail = index\n if (index !== this.tail) {\n if (index === this.head) {\n this.head = this.next[index]\n } else {\n this.connect(this.prev[index], this.next[index])\n }\n this.connect(this.tail, index)\n this.tail = index\n }\n }\n\n get del() {\n deprecatedMethod('del', 'delete')\n return this.delete\n }\n\n delete(k) {\n let deleted = false\n if (this.size !== 0) {\n const index = this.keyMap.get(k)\n if (index !== undefined) {\n deleted = true\n if (this.size === 1) {\n this.clear()\n } else {\n this.removeItemSize(index)\n const v = this.valList[index]\n if (this.isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('deleted'))\n } else {\n this.dispose(v, k, 'delete')\n if (this.disposeAfter) {\n this.disposed.push([v, k, 'delete'])\n }\n }\n this.keyMap.delete(k)\n this.keyList[index] = null\n this.valList[index] = null\n if (index === this.tail) {\n this.tail = this.prev[index]\n } else if (index === this.head) {\n this.head = this.next[index]\n } else {\n this.next[this.prev[index]] = this.next[index]\n this.prev[this.next[index]] = this.prev[index]\n }\n this.size--\n this.free.push(index)\n }\n }\n }\n if (this.disposed) {\n while (this.disposed.length) {\n this.disposeAfter(...this.disposed.shift())\n }\n }\n return deleted\n }\n\n clear() {\n for (const index of this.rindexes({ allowStale: true })) {\n const v = this.valList[index]\n if (this.isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('deleted'))\n } else {\n const k = this.keyList[index]\n this.dispose(v, k, 'delete')\n if (this.disposeAfter) {\n this.disposed.push([v, k, 'delete'])\n }\n }\n }\n\n this.keyMap.clear()\n this.valList.fill(null)\n this.keyList.fill(null)\n if (this.ttls) {\n this.ttls.fill(0)\n this.starts.fill(0)\n }\n if (this.sizes) {\n this.sizes.fill(0)\n }\n this.head = 0\n this.tail = 0\n this.initialFill = 1\n this.free.length = 0\n this.calculatedSize = 0\n this.size = 0\n if (this.disposed) {\n while (this.disposed.length) {\n this.disposeAfter(...this.disposed.shift())\n }\n }\n }\n\n get reset() {\n deprecatedMethod('reset', 'clear')\n return this.clear\n }\n\n get length() {\n deprecatedProperty('length', 'size')\n return this.size\n }\n\n static get AbortController() {\n return AC\n }\n static get AbortSignal() {\n return AS\n }\n}\n\nmodule.exports = LRUCache\n"],"names":["AbortController","AbortSignal","v"],"mappings":"AAAA,MAAM,OACJ,OAAO,gBAAgB,YACvB,eACA,OAAO,YAAY,QAAQ,aACvB,cACA;AAEN,MAAM,qBAAqB,OAAO,oBAAoB;AAMtD,MAAM,KAAK,qBACP,kBACA,MAAMA,iBAAgB;AAAA,EACpB,cAAc;AACZ,SAAK,SAAS,IAAI,GAAI;AAAA,EACvB;AAAA,EACD,MAAM,SAAS,IAAI,MAAM,4BAA4B,GAAG;AACtD,SAAK,OAAO,SAAS,KAAK,OAAO,UAAU;AAC3C,SAAK,OAAO,UAAU;AACtB,SAAK,OAAO,cAAc;AAAA,MACxB,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA,IACvB,CAAS;AAAA,EACF;AACF;AAEL,MAAM,iBAAiB,OAAO,gBAAgB;AAE9C,MAAM,mBAAmB,OAAO,GAAG,gBAAgB;AACnD,MAAM,KAAK,iBACP,cACA,mBACA,GAAG,kBACH,MAAMC,aAAY;AAAA,EAChB,cAAc;AACZ,SAAK,SAAS;AACd,SAAK,UAAU;AACf,SAAK,aAAa,CAAE;AAAA,EACrB;AAAA,EACD,cAAc,GAAG;AACf,QAAI,EAAE,SAAS,SAAS;AACtB,WAAK,UAAU;AACf,WAAK,QAAQ,CAAC;AACd,WAAK,WAAW,QAAQ,OAAK,EAAE,CAAC,GAAG,IAAI;AAAA,IACxC;AAAA,EACF;AAAA,EACD,UAAU;AAAA,EAAE;AAAA,EACZ,iBAAiB,IAAI,IAAI;AACvB,QAAI,OAAO,SAAS;AAClB,WAAK,WAAW,KAAK,EAAE;AAAA,IACxB;AAAA,EACF;AAAA,EACD,oBAAoB,IAAI,IAAI;AAC1B,QAAI,OAAO,SAAS;AAClB,WAAK,aAAa,KAAK,WAAW,OAAO,OAAK,MAAM,EAAE;AAAA,IACvD;AAAA,EACF;AACF;AAEL,MAAM,SAAS,oBAAI,IAAK;AACxB,MAAM,mBAAmB,CAAC,KAAK,YAAY;AACzC,QAAM,OAAO,oBAAoB;AACjC,MAAI,WAAW,IAAI,GAAG;AACpB,SAAK,MAAM,GAAG,cAAc,WAAW,WAAW,QAAQ;AAAA,EAC3D;AACH;AACA,MAAM,mBAAmB,CAAC,QAAQ,YAAY;AAC5C,QAAM,OAAO,oBAAoB;AACjC,MAAI,WAAW,IAAI,GAAG;AACpB,UAAM,EAAE,UAAS,IAAK;AACtB,UAAM,EAAE,IAAG,IAAK,OAAO,yBAAyB,WAAW,MAAM;AACjE,SAAK,MAAM,GAAG,iBAAiB,SAAS,aAAa,GAAG;AAAA,EACzD;AACH;AACA,MAAM,qBAAqB,CAAC,OAAO,YAAY;AAC7C,QAAM,OAAO,sBAAsB;AACnC,MAAI,WAAW,IAAI,GAAG;AACpB,UAAM,EAAE,UAAS,IAAK;AACtB,UAAM,EAAE,IAAG,IAAK,OAAO,yBAAyB,WAAW,KAAK;AAChE,SAAK,MAAM,GAAG,kBAAkB,SAAS,WAAW,GAAG;AAAA,EACxD;AACH;AAEA,MAAM,cAAc,IAAI,MAAM;AAC5B,SAAO,YAAY,YACnB,WACA,OAAO,QAAQ,gBAAgB,aAC3B,QAAQ,YAAY,GAAG,CAAC,IACxB,QAAQ,MAAM,GAAG,CAAC;AACxB;AAEA,MAAM,aAAa,UAAQ,CAAC,OAAO,IAAI,IAAI;AAE3C,MAAM,OAAO,CAAC,MAAM,MAAM,SAAS,OAAO;AACxC,SAAO,IAAI,IAAI;AACf,QAAM,MAAM,OAAO,kCAAkC;AACrD,cAAY,KAAK,sBAAsB,MAAM,EAAE;AACjD;AAEA,MAAM,WAAW,OAAK,KAAK,MAAM,KAAK,MAAM,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC;AAUrE,MAAM,eAAe,SACnB,CAAC,SAAS,GAAG,IACT,OACA,OAAO,KAAK,IAAI,GAAG,CAAC,IACpB,aACA,OAAO,KAAK,IAAI,GAAG,EAAE,IACrB,cACA,OAAO,KAAK,IAAI,GAAG,EAAE,IACrB,cACA,OAAO,OAAO,mBACd,YACA;AAEN,MAAM,kBAAkB,MAAM;AAAA,EAC5B,YAAY,MAAM;AAChB,UAAM,IAAI;AACV,SAAK,KAAK,CAAC;AAAA,EACZ;AACH;AAEA,MAAM,MAAM;AAAA,EACV,YAAY,KAAK;AACf,QAAI,QAAQ,GAAG;AACb,aAAO,CAAE;AAAA,IACV;AACD,UAAM,YAAY,aAAa,GAAG;AAClC,SAAK,OAAO,IAAI,UAAU,GAAG;AAC7B,SAAK,SAAS;AAAA,EACf;AAAA,EACD,KAAK,GAAG;AACN,SAAK,KAAK,KAAK,QAAQ,IAAI;AAAA,EAC5B;AAAA,EACD,MAAM;AACJ,WAAO,KAAK,KAAK,EAAE,KAAK,MAAM;AAAA,EAC/B;AACH;AAEA,MAAM,SAAS;AAAA,EACb,YAAY,UAAU,IAAI;AACxB,UAAM;AAAA,MACJ,MAAM;AAAA,MACN;AAAA,MACA,gBAAgB;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV,eAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACN,IAAQ;AAIJ,UAAM,EAAE,QAAQ,QAAQ,MAAO,IAC7B,mBAAmB,WAAW,CAAA,IAAK;AAErC,QAAI,QAAQ,KAAK,CAAC,SAAS,GAAG,GAAG;AAC/B,YAAM,IAAI,UAAU,0CAA0C;AAAA,IAC/D;AAED,UAAM,YAAY,MAAM,aAAa,GAAG,IAAI;AAC5C,QAAI,CAAC,WAAW;AACd,YAAM,IAAI,MAAM,wBAAwB,GAAG;AAAA,IAC5C;AAED,SAAK,MAAM;AACX,SAAK,UAAU;AACf,SAAK,eAAe,gBAAgB,KAAK;AACzC,SAAK,kBAAkB,mBAAmB;AAC1C,QAAI,KAAK,iBAAiB;AACxB,UAAI,CAAC,KAAK,WAAW,CAAC,KAAK,cAAc;AACvC,cAAM,IAAI;AAAA,UACR;AAAA,QACD;AAAA,MACF;AACD,UAAI,OAAO,KAAK,oBAAoB,YAAY;AAC9C,cAAM,IAAI,UAAU,qCAAqC;AAAA,MAC1D;AAAA,IACF;AAED,SAAK,cAAc,eAAe;AAClC,QAAI,KAAK,eAAe,OAAO,KAAK,gBAAgB,YAAY;AAC9D,YAAM,IAAI;AAAA,QACR;AAAA,MACD;AAAA,IACF;AAED,SAAK,eAAe;AACpB,QAAI,CAAC,KAAK,eAAe,iBAAiB,QAAW;AACnD,YAAM,IAAI;AAAA,QACR;AAAA,MACD;AAAA,IACF;AAED,SAAK,SAAS,oBAAI,IAAK;AACvB,SAAK,UAAU,IAAI,MAAM,GAAG,EAAE,KAAK,IAAI;AACvC,SAAK,UAAU,IAAI,MAAM,GAAG,EAAE,KAAK,IAAI;AACvC,SAAK,OAAO,IAAI,UAAU,GAAG;AAC7B,SAAK,OAAO,IAAI,UAAU,GAAG;AAC7B,SAAK,OAAO;AACZ,SAAK,OAAO;AACZ,SAAK,OAAO,IAAI,MAAM,GAAG;AACzB,SAAK,cAAc;AACnB,SAAK,OAAO;AAEZ,QAAI,OAAO,YAAY,YAAY;AACjC,WAAK,UAAU;AAAA,IAChB;AACD,QAAI,OAAO,iBAAiB,YAAY;AACtC,WAAK,eAAe;AACpB,WAAK,WAAW,CAAE;AAAA,IACxB,OAAW;AACL,WAAK,eAAe;AACpB,WAAK,WAAW;AAAA,IACjB;AACD,SAAK,iBAAiB,CAAC,CAAC;AACxB,SAAK,cAAc,CAAC,CAAC;AACrB,SAAK,2BAA2B,CAAC,CAAC;AAClC,SAAK,6BAA6B,CAAC,CAAC;AACpC,SAAK,yBAAyB,CAAC,CAAC;AAChC,SAAK,mBAAmB,CAAC,CAAC;AAG1B,QAAI,KAAK,iBAAiB,GAAG;AAC3B,UAAI,KAAK,YAAY,GAAG;AACtB,YAAI,CAAC,SAAS,KAAK,OAAO,GAAG;AAC3B,gBAAM,IAAI;AAAA,YACR;AAAA,UACD;AAAA,QACF;AAAA,MACF;AACD,UAAI,CAAC,SAAS,KAAK,YAAY,GAAG;AAChC,cAAM,IAAI;AAAA,UACR;AAAA,QACD;AAAA,MACF;AACD,WAAK,uBAAwB;AAAA,IAC9B;AAED,SAAK,aAAa,CAAC,CAAC,cAAc,CAAC,CAAC;AACpC,SAAK,qBAAqB,CAAC,CAAC;AAC5B,SAAK,iBAAiB,CAAC,CAAC;AACxB,SAAK,iBAAiB,CAAC,CAAC;AACxB,SAAK,gBACH,SAAS,aAAa,KAAK,kBAAkB,IACzC,gBACA;AACN,SAAK,eAAe,CAAC,CAAC;AACtB,SAAK,MAAM,OAAO,UAAU;AAC5B,QAAI,KAAK,KAAK;AACZ,UAAI,CAAC,SAAS,KAAK,GAAG,GAAG;AACvB,cAAM,IAAI;AAAA,UACR;AAAA,QACD;AAAA,MACF;AACD,WAAK,sBAAuB;AAAA,IAC7B;AAGD,QAAI,KAAK,QAAQ,KAAK,KAAK,QAAQ,KAAK,KAAK,YAAY,GAAG;AAC1D,YAAM,IAAI;AAAA,QACR;AAAA,MACD;AAAA,IACF;AACD,QAAI,CAAC,KAAK,gBAAgB,CAAC,KAAK,OAAO,CAAC,KAAK,SAAS;AACpD,YAAM,OAAO;AACb,UAAI,WAAW,IAAI,GAAG;AACpB,eAAO,IAAI,IAAI;AACf,cAAM,MACJ;AAEF,oBAAY,KAAK,yBAAyB,MAAM,QAAQ;AAAA,MACzD;AAAA,IACF;AAED,QAAI,OAAO;AACT,uBAAiB,SAAS,YAAY;AAAA,IACvC;AACD,QAAI,QAAQ;AACV,uBAAiB,UAAU,KAAK;AAAA,IACjC;AACD,QAAI,QAAQ;AACV,uBAAiB,UAAU,iBAAiB;AAAA,IAC7C;AAAA,EACF;AAAA,EAED,gBAAgB,KAAK;AACnB,WAAO,KAAK,IAAI,KAAK,EAAE,gBAAgB,MAAO,CAAA,IAAI,WAAW;AAAA,EAC9D;AAAA,EAED,wBAAwB;AACtB,SAAK,OAAO,IAAI,UAAU,KAAK,GAAG;AAClC,SAAK,SAAS,IAAI,UAAU,KAAK,GAAG;AAEpC,SAAK,aAAa,CAAC,OAAO,KAAK,QAAQ,KAAK,UAAU;AACpD,WAAK,OAAO,KAAK,IAAI,QAAQ,IAAI,QAAQ;AACzC,WAAK,KAAK,KAAK,IAAI;AACnB,UAAI,QAAQ,KAAK,KAAK,cAAc;AAClC,cAAM,IAAI,WAAW,MAAM;AACzB,cAAI,KAAK,QAAQ,KAAK,GAAG;AACvB,iBAAK,OAAO,KAAK,QAAQ,KAAK,CAAC;AAAA,UAChC;AAAA,QACX,GAAW,MAAM,CAAC;AAEV,YAAI,EAAE,OAAO;AACX,YAAE,MAAO;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAED,SAAK,gBAAgB,WAAS;AAC5B,WAAK,OAAO,KAAK,IAAI,KAAK,KAAK,KAAK,MAAM,IAAI,KAAK,IAAK,IAAG;AAAA,IAC5D;AAED,SAAK,YAAY,CAAC,QAAQ,UAAU;AAClC,UAAI,QAAQ;AACV,eAAO,MAAM,KAAK,KAAK,KAAK;AAC5B,eAAO,QAAQ,KAAK,OAAO,KAAK;AAChC,eAAO,MAAM,aAAa,OAAQ;AAClC,eAAO,eAAe,OAAO,MAAM,OAAO,MAAM,OAAO;AAAA,MACxD;AAAA,IACF;AAID,QAAI,YAAY;AAChB,UAAM,SAAS,MAAM;AACnB,YAAM,IAAI,KAAK,IAAK;AACpB,UAAI,KAAK,gBAAgB,GAAG;AAC1B,oBAAY;AACZ,cAAM,IAAI;AAAA,UACR,MAAO,YAAY;AAAA,UACnB,KAAK;AAAA,QACN;AAED,YAAI,EAAE,OAAO;AACX,YAAE,MAAO;AAAA,QACV;AAAA,MACF;AACD,aAAO;AAAA,IACR;AAED,SAAK,kBAAkB,SAAO;AAC5B,YAAM,QAAQ,KAAK,OAAO,IAAI,GAAG;AACjC,UAAI,UAAU,QAAW;AACvB,eAAO;AAAA,MACR;AACD,aAAO,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,OAAO,KAAK,MAAM,IACpD,WACA,KAAK,OAAO,KAAK,IACf,KAAK,KAAK,KAAK,KACd,aAAa,OAAM;AAAA,IAC3B;AAED,SAAK,UAAU,WAAS;AACtB,aACE,KAAK,KAAK,KAAK,MAAM,KACrB,KAAK,OAAO,KAAK,MAAM,MACtB,aAAa,OAAM,KAAM,KAAK,OAAO,KAAK,IACzC,KAAK,KAAK,KAAK;AAAA,IAEpB;AAAA,EACF;AAAA,EACD,cAAc,QAAQ;AAAA,EAAE;AAAA,EACxB,UAAU,SAAS,QAAQ;AAAA,EAAE;AAAA,EAC7B,WAAW,QAAQ,MAAM,QAAQ;AAAA,EAAE;AAAA,EACnC,QAAQ,QAAQ;AACd,WAAO;AAAA,EACR;AAAA,EAED,yBAAyB;AACvB,SAAK,iBAAiB;AACtB,SAAK,QAAQ,IAAI,UAAU,KAAK,GAAG;AACnC,SAAK,iBAAiB,WAAS;AAC7B,WAAK,kBAAkB,KAAK,MAAM,KAAK;AACvC,WAAK,MAAM,KAAK,IAAI;AAAA,IACrB;AACD,SAAK,cAAc,CAAC,GAAG,GAAG,MAAM,oBAAoB;AAGlD,UAAI,KAAK,kBAAkB,CAAC,GAAG;AAC7B,eAAO;AAAA,MACR;AACD,UAAI,CAAC,SAAS,IAAI,GAAG;AACnB,YAAI,iBAAiB;AACnB,cAAI,OAAO,oBAAoB,YAAY;AACzC,kBAAM,IAAI,UAAU,oCAAoC;AAAA,UACzD;AACD,iBAAO,gBAAgB,GAAG,CAAC;AAC3B,cAAI,CAAC,SAAS,IAAI,GAAG;AACnB,kBAAM,IAAI;AAAA,cACR;AAAA,YACD;AAAA,UACF;AAAA,QACX,OAAe;AACL,gBAAM,IAAI;AAAA,YACR;AAAA,UAGD;AAAA,QACF;AAAA,MACF;AACD,aAAO;AAAA,IACR;AACD,SAAK,cAAc,CAAC,OAAO,MAAM,WAAW;AAC1C,WAAK,MAAM,KAAK,IAAI;AACpB,UAAI,KAAK,SAAS;AAChB,cAAM,UAAU,KAAK,UAAU,KAAK,MAAM,KAAK;AAC/C,eAAO,KAAK,iBAAiB,SAAS;AACpC,eAAK,MAAM,IAAI;AAAA,QAChB;AAAA,MACF;AACD,WAAK,kBAAkB,KAAK,MAAM,KAAK;AACvC,UAAI,QAAQ;AACV,eAAO,YAAY;AACnB,eAAO,sBAAsB,KAAK;AAAA,MACnC;AAAA,IACF;AAAA,EACF;AAAA,EACD,eAAe,QAAQ;AAAA,EAAE;AAAA,EACzB,YAAY,QAAQ,OAAO;AAAA,EAAE;AAAA,EAC7B,YAAY,IAAI,IAAI,MAAM,iBAAiB;AACzC,QAAI,QAAQ,iBAAiB;AAC3B,YAAM,IAAI;AAAA,QACR;AAAA,MACD;AAAA,IACF;AAAA,EACF;AAAA,EAED,CAAC,QAAQ,EAAE,aAAa,KAAK,WAAU,IAAK,CAAA,GAAI;AAC9C,QAAI,KAAK,MAAM;AACb,eAAS,IAAI,KAAK,MAAM,QAAQ;AAC9B,YAAI,CAAC,KAAK,aAAa,CAAC,GAAG;AACzB;AAAA,QACD;AACD,YAAI,cAAc,CAAC,KAAK,QAAQ,CAAC,GAAG;AAClC,gBAAM;AAAA,QACP;AACD,YAAI,MAAM,KAAK,MAAM;AACnB;AAAA,QACV,OAAe;AACL,cAAI,KAAK,KAAK,CAAC;AAAA,QAChB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAED,CAAC,SAAS,EAAE,aAAa,KAAK,WAAU,IAAK,CAAA,GAAI;AAC/C,QAAI,KAAK,MAAM;AACb,eAAS,IAAI,KAAK,MAAM,QAAQ;AAC9B,YAAI,CAAC,KAAK,aAAa,CAAC,GAAG;AACzB;AAAA,QACD;AACD,YAAI,cAAc,CAAC,KAAK,QAAQ,CAAC,GAAG;AAClC,gBAAM;AAAA,QACP;AACD,YAAI,MAAM,KAAK,MAAM;AACnB;AAAA,QACV,OAAe;AACL,cAAI,KAAK,KAAK,CAAC;AAAA,QAChB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAED,aAAa,OAAO;AAClB,WACE,UAAU,UACV,KAAK,OAAO,IAAI,KAAK,QAAQ,KAAK,CAAC,MAAM;AAAA,EAE5C;AAAA,EAED,CAAC,UAAU;AACT,eAAW,KAAK,KAAK,WAAW;AAC9B,UACE,KAAK,QAAQ,CAAC,MAAM,UACpB,KAAK,QAAQ,CAAC,MAAM,UACpB,CAAC,KAAK,kBAAkB,KAAK,QAAQ,CAAC,CAAC,GACvC;AACA,cAAM,CAAC,KAAK,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;AAAA,MACxC;AAAA,IACF;AAAA,EACF;AAAA,EACD,CAAC,WAAW;AACV,eAAW,KAAK,KAAK,YAAY;AAC/B,UACE,KAAK,QAAQ,CAAC,MAAM,UACpB,KAAK,QAAQ,CAAC,MAAM,UACpB,CAAC,KAAK,kBAAkB,KAAK,QAAQ,CAAC,CAAC,GACvC;AACA,cAAM,CAAC,KAAK,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;AAAA,MACxC;AAAA,IACF;AAAA,EACF;AAAA,EAED,CAAC,OAAO;AACN,eAAW,KAAK,KAAK,WAAW;AAC9B,UACE,KAAK,QAAQ,CAAC,MAAM,UACpB,CAAC,KAAK,kBAAkB,KAAK,QAAQ,CAAC,CAAC,GACvC;AACA,cAAM,KAAK,QAAQ,CAAC;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAAA,EACD,CAAC,QAAQ;AACP,eAAW,KAAK,KAAK,YAAY;AAC/B,UACE,KAAK,QAAQ,CAAC,MAAM,UACpB,CAAC,KAAK,kBAAkB,KAAK,QAAQ,CAAC,CAAC,GACvC;AACA,cAAM,KAAK,QAAQ,CAAC;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAAA,EAED,CAAC,SAAS;AACR,eAAW,KAAK,KAAK,WAAW;AAC9B,UACE,KAAK,QAAQ,CAAC,MAAM,UACpB,CAAC,KAAK,kBAAkB,KAAK,QAAQ,CAAC,CAAC,GACvC;AACA,cAAM,KAAK,QAAQ,CAAC;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAAA,EACD,CAAC,UAAU;AACT,eAAW,KAAK,KAAK,YAAY;AAC/B,UACE,KAAK,QAAQ,CAAC,MAAM,UACpB,CAAC,KAAK,kBAAkB,KAAK,QAAQ,CAAC,CAAC,GACvC;AACA,cAAM,KAAK,QAAQ,CAAC;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAAA,EAED,CAAC,OAAO,QAAQ,IAAI;AAClB,WAAO,KAAK,QAAS;AAAA,EACtB;AAAA,EAED,KAAK,IAAI,YAAY;AACnB,eAAW,KAAK,KAAK,WAAW;AAC9B,YAAM,IAAI,KAAK,QAAQ,CAAC;AACxB,YAAM,QAAQ,KAAK,kBAAkB,CAAC,IAClC,EAAE,uBACF;AACJ,UAAI,UAAU;AAAW;AACzB,UAAI,GAAG,OAAO,KAAK,QAAQ,CAAC,GAAG,IAAI,GAAG;AACpC,eAAO,KAAK,IAAI,KAAK,QAAQ,CAAC,GAAG,UAAU;AAAA,MAC5C;AAAA,IACF;AAAA,EACF;AAAA,EAED,QAAQ,IAAI,QAAQ,MAAM;AACxB,eAAW,KAAK,KAAK,WAAW;AAC9B,YAAM,IAAI,KAAK,QAAQ,CAAC;AACxB,YAAM,QAAQ,KAAK,kBAAkB,CAAC,IAClC,EAAE,uBACF;AACJ,UAAI,UAAU;AAAW;AACzB,SAAG,KAAK,OAAO,OAAO,KAAK,QAAQ,CAAC,GAAG,IAAI;AAAA,IAC5C;AAAA,EACF;AAAA,EAED,SAAS,IAAI,QAAQ,MAAM;AACzB,eAAW,KAAK,KAAK,YAAY;AAC/B,YAAM,IAAI,KAAK,QAAQ,CAAC;AACxB,YAAM,QAAQ,KAAK,kBAAkB,CAAC,IAClC,EAAE,uBACF;AACJ,UAAI,UAAU;AAAW;AACzB,SAAG,KAAK,OAAO,OAAO,KAAK,QAAQ,CAAC,GAAG,IAAI;AAAA,IAC5C;AAAA,EACF;AAAA,EAED,IAAI,QAAQ;AACV,qBAAiB,SAAS,YAAY;AACtC,WAAO,KAAK;AAAA,EACb;AAAA,EAED,aAAa;AACX,QAAI,UAAU;AACd,eAAW,KAAK,KAAK,SAAS,EAAE,YAAY,KAAI,CAAE,GAAG;AACnD,UAAI,KAAK,QAAQ,CAAC,GAAG;AACnB,aAAK,OAAO,KAAK,QAAQ,CAAC,CAAC;AAC3B,kBAAU;AAAA,MACX;AAAA,IACF;AACD,WAAO;AAAA,EACR;AAAA,EAED,OAAO;AACL,UAAM,MAAM,CAAE;AACd,eAAW,KAAK,KAAK,QAAQ,EAAE,YAAY,KAAI,CAAE,GAAG;AAClD,YAAM,MAAM,KAAK,QAAQ,CAAC;AAC1B,YAAM,IAAI,KAAK,QAAQ,CAAC;AACxB,YAAM,QAAQ,KAAK,kBAAkB,CAAC,IAClC,EAAE,uBACF;AACJ,UAAI,UAAU;AAAW;AACzB,YAAM,QAAQ,EAAE,MAAO;AACvB,UAAI,KAAK,MAAM;AACb,cAAM,MAAM,KAAK,KAAK,CAAC;AAGvB,cAAM,MAAM,KAAK,IAAK,IAAG,KAAK,OAAO,CAAC;AACtC,cAAM,QAAQ,KAAK,MAAM,KAAK,IAAK,IAAG,GAAG;AAAA,MAC1C;AACD,UAAI,KAAK,OAAO;AACd,cAAM,OAAO,KAAK,MAAM,CAAC;AAAA,MAC1B;AACD,UAAI,QAAQ,CAAC,KAAK,KAAK,CAAC;AAAA,IACzB;AACD,WAAO;AAAA,EACR;AAAA,EAED,KAAK,KAAK;AACR,SAAK,MAAO;AACZ,eAAW,CAAC,KAAK,KAAK,KAAK,KAAK;AAC9B,UAAI,MAAM,OAAO;AAIf,cAAM,MAAM,KAAK,IAAK,IAAG,MAAM;AAC/B,cAAM,QAAQ,KAAK,IAAK,IAAG;AAAA,MAC5B;AACD,WAAK,IAAI,KAAK,MAAM,OAAO,KAAK;AAAA,IACjC;AAAA,EACF;AAAA,EAED,QAAQ,IAAI,IAAI,SAAS;AAAA,EAAE;AAAA,EAE3B,IACE,GACA,GACA;AAAA,IACE,MAAM,KAAK;AAAA,IACX;AAAA,IACA,iBAAiB,KAAK;AAAA,IACtB,OAAO;AAAA,IACP,kBAAkB,KAAK;AAAA,IACvB,cAAc,KAAK;AAAA,IACnB;AAAA,EACN,IAAQ,CAAE,GACN;AACA,WAAO,KAAK,YAAY,GAAG,GAAG,MAAM,eAAe;AAGnD,QAAI,KAAK,gBAAgB,OAAO,KAAK,cAAc;AACjD,UAAI,QAAQ;AACV,eAAO,MAAM;AACb,eAAO,uBAAuB;AAAA,MAC/B;AAGD,WAAK,OAAO,CAAC;AACb,aAAO;AAAA,IACR;AACD,QAAI,QAAQ,KAAK,SAAS,IAAI,SAAY,KAAK,OAAO,IAAI,CAAC;AAC3D,QAAI,UAAU,QAAW;AAEvB,cAAQ,KAAK,SAAU;AACvB,WAAK,QAAQ,KAAK,IAAI;AACtB,WAAK,QAAQ,KAAK,IAAI;AACtB,WAAK,OAAO,IAAI,GAAG,KAAK;AACxB,WAAK,KAAK,KAAK,IAAI,IAAI;AACvB,WAAK,KAAK,KAAK,IAAI,KAAK;AACxB,WAAK,OAAO;AACZ,WAAK;AACL,WAAK,YAAY,OAAO,MAAM,MAAM;AACpC,UAAI,QAAQ;AACV,eAAO,MAAM;AAAA,MACd;AACD,oBAAc;AAAA,IACpB,OAAW;AAEL,WAAK,WAAW,KAAK;AACrB,YAAM,SAAS,KAAK,QAAQ,KAAK;AACjC,UAAI,MAAM,QAAQ;AAChB,YAAI,KAAK,kBAAkB,MAAM,GAAG;AAClC,iBAAO,kBAAkB,MAAM,IAAI,MAAM,UAAU,CAAC;AAAA,QAC9D,OAAe;AACL,cAAI,CAAC,gBAAgB;AACnB,iBAAK,QAAQ,QAAQ,GAAG,KAAK;AAC7B,gBAAI,KAAK,cAAc;AACrB,mBAAK,SAAS,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;AAAA,YACtC;AAAA,UACF;AAAA,QACF;AACD,aAAK,eAAe,KAAK;AACzB,aAAK,QAAQ,KAAK,IAAI;AACtB,aAAK,YAAY,OAAO,MAAM,MAAM;AACpC,YAAI,QAAQ;AACV,iBAAO,MAAM;AACb,gBAAM,WACJ,UAAU,KAAK,kBAAkB,MAAM,IACnC,OAAO,uBACP;AACN,cAAI,aAAa;AAAW,mBAAO,WAAW;AAAA,QAC/C;AAAA,MACF,WAAU,QAAQ;AACjB,eAAO,MAAM;AAAA,MACd;AAAA,IACF;AACD,QAAI,QAAQ,KAAK,KAAK,QAAQ,KAAK,CAAC,KAAK,MAAM;AAC7C,WAAK,sBAAuB;AAAA,IAC7B;AACD,QAAI,CAAC,aAAa;AAChB,WAAK,WAAW,OAAO,KAAK,KAAK;AAAA,IAClC;AACD,SAAK,UAAU,QAAQ,KAAK;AAC5B,QAAI,KAAK,cAAc;AACrB,aAAO,KAAK,SAAS,QAAQ;AAC3B,aAAK,aAAa,GAAG,KAAK,SAAS,MAAK,CAAE;AAAA,MAC3C;AAAA,IACF;AACD,WAAO;AAAA,EACR;AAAA,EAED,WAAW;AACT,QAAI,KAAK,SAAS,GAAG;AACnB,aAAO,KAAK;AAAA,IACb;AACD,QAAI,KAAK,SAAS,KAAK,OAAO,KAAK,QAAQ,GAAG;AAC5C,aAAO,KAAK,MAAM,KAAK;AAAA,IACxB;AACD,QAAI,KAAK,KAAK,WAAW,GAAG;AAC1B,aAAO,KAAK,KAAK,IAAK;AAAA,IACvB;AAED,WAAO,KAAK;AAAA,EACb;AAAA,EAED,MAAM;AACJ,QAAI,KAAK,MAAM;AACb,YAAM,MAAM,KAAK,QAAQ,KAAK,IAAI;AAClC,WAAK,MAAM,IAAI;AACf,aAAO;AAAA,IACR;AAAA,EACF;AAAA,EAED,MAAM,MAAM;AACV,UAAM,OAAO,KAAK;AAClB,UAAM,IAAI,KAAK,QAAQ,IAAI;AAC3B,UAAM,IAAI,KAAK,QAAQ,IAAI;AAC3B,QAAI,KAAK,kBAAkB,CAAC,GAAG;AAC7B,QAAE,kBAAkB,MAAM,IAAI,MAAM,SAAS,CAAC;AAAA,IACpD,OAAW;AACL,WAAK,QAAQ,GAAG,GAAG,OAAO;AAC1B,UAAI,KAAK,cAAc;AACrB,aAAK,SAAS,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC;AAAA,MACnC;AAAA,IACF;AACD,SAAK,eAAe,IAAI;AAExB,QAAI,MAAM;AACR,WAAK,QAAQ,IAAI,IAAI;AACrB,WAAK,QAAQ,IAAI,IAAI;AACrB,WAAK,KAAK,KAAK,IAAI;AAAA,IACpB;AACD,SAAK,OAAO,KAAK,KAAK,IAAI;AAC1B,SAAK,OAAO,OAAO,CAAC;AACpB,SAAK;AACL,WAAO;AAAA,EACR;AAAA,EAED,IAAI,GAAG,EAAE,iBAAiB,KAAK,gBAAgB,OAAQ,IAAG,IAAI;AAC5D,UAAM,QAAQ,KAAK,OAAO,IAAI,CAAC;AAC/B,QAAI,UAAU,QAAW;AACvB,UAAI,CAAC,KAAK,QAAQ,KAAK,GAAG;AACxB,YAAI,gBAAgB;AAClB,eAAK,cAAc,KAAK;AAAA,QACzB;AACD,YAAI;AAAQ,iBAAO,MAAM;AACzB,aAAK,UAAU,QAAQ,KAAK;AAC5B,eAAO;AAAA,MACR,WAAU,QAAQ;AACjB,eAAO,MAAM;AACb,aAAK,UAAU,QAAQ,KAAK;AAAA,MAC7B;AAAA,IACF,WAAU,QAAQ;AACjB,aAAO,MAAM;AAAA,IACd;AACD,WAAO;AAAA,EACR;AAAA;AAAA,EAGD,KAAK,GAAG,EAAE,aAAa,KAAK,WAAY,IAAG,IAAI;AAC7C,UAAM,QAAQ,KAAK,OAAO,IAAI,CAAC;AAC/B,QAAI,UAAU,WAAc,cAAc,CAAC,KAAK,QAAQ,KAAK,IAAI;AAC/D,YAAM,IAAI,KAAK,QAAQ,KAAK;AAE5B,aAAO,KAAK,kBAAkB,CAAC,IAAI,EAAE,uBAAuB;AAAA,IAC7D;AAAA,EACF;AAAA,EAED,gBAAgB,GAAG,OAAO,SAAS,SAAS;AAC1C,UAAM,IAAI,UAAU,SAAY,SAAY,KAAK,QAAQ,KAAK;AAC9D,QAAI,KAAK,kBAAkB,CAAC,GAAG;AAC7B,aAAO;AAAA,IACR;AACD,UAAM,KAAK,IAAI,GAAI;AACnB,QAAI,QAAQ,QAAQ;AAClB,cAAQ,OAAO;AAAA,QAAiB;AAAA,QAAS,MACvC,GAAG,MAAM,QAAQ,OAAO,MAAM;AAAA,MAC/B;AAAA,IACF;AACD,UAAM,YAAY;AAAA,MAChB,QAAQ,GAAG;AAAA,MACX;AAAA,MACA;AAAA,IACD;AACD,UAAM,KAAK,CAACC,IAAG,cAAc,UAAU;AACrC,YAAM,EAAE,YAAY,GAAG;AACvB,YAAM,cAAc,QAAQ,oBAAoBA,OAAM;AACtD,UAAI,QAAQ,QAAQ;AAClB,YAAI,WAAW,CAAC,aAAa;AAC3B,kBAAQ,OAAO,eAAe;AAC9B,kBAAQ,OAAO,aAAa,GAAG,OAAO;AACtC,cAAI;AAAa,oBAAQ,OAAO,oBAAoB;AAAA,QAC9D,OAAe;AACL,kBAAQ,OAAO,gBAAgB;AAAA,QAChC;AAAA,MACF;AACD,UAAI,WAAW,CAAC,eAAe,CAAC,aAAa;AAC3C,eAAO,UAAU,GAAG,OAAO,MAAM;AAAA,MAClC;AAED,UAAI,KAAK,QAAQ,KAAK,MAAM,GAAG;AAC7B,YAAIA,OAAM,QAAW;AACnB,cAAI,EAAE,sBAAsB;AAC1B,iBAAK,QAAQ,KAAK,IAAI,EAAE;AAAA,UACpC,OAAiB;AACL,iBAAK,OAAO,CAAC;AAAA,UACd;AAAA,QACX,OAAe;AACL,cAAI,QAAQ;AAAQ,oBAAQ,OAAO,eAAe;AAClD,eAAK,IAAI,GAAGA,IAAG,UAAU,OAAO;AAAA,QACjC;AAAA,MACF;AACD,aAAOA;AAAA,IACR;AACD,UAAM,KAAK,QAAM;AACf,UAAI,QAAQ,QAAQ;AAClB,gBAAQ,OAAO,gBAAgB;AAC/B,gBAAQ,OAAO,aAAa;AAAA,MAC7B;AACD,aAAO,UAAU,EAAE;AAAA,IACpB;AACD,UAAM,YAAY,QAAM;AACtB,YAAM,EAAE,YAAY,GAAG;AACvB,YAAM,oBACJ,WAAW,QAAQ;AACrB,YAAM,aACJ,qBAAqB,QAAQ;AAC/B,YAAM,WAAW,cAAc,QAAQ;AACvC,UAAI,KAAK,QAAQ,KAAK,MAAM,GAAG;AAG7B,cAAM,MAAM,CAAC,YAAY,EAAE,yBAAyB;AACpD,YAAI,KAAK;AACP,eAAK,OAAO,CAAC;AAAA,QACvB,WAAmB,CAAC,mBAAmB;AAK7B,eAAK,QAAQ,KAAK,IAAI,EAAE;AAAA,QACzB;AAAA,MACF;AACD,UAAI,YAAY;AACd,YAAI,QAAQ,UAAU,EAAE,yBAAyB,QAAW;AAC1D,kBAAQ,OAAO,gBAAgB;AAAA,QAChC;AACD,eAAO,EAAE;AAAA,MACjB,WAAiB,EAAE,eAAe,GAAG;AAC7B,cAAM;AAAA,MACP;AAAA,IACF;AACD,UAAM,QAAQ,CAAC,KAAK,QAAQ;AAC1B,WAAK,YAAY,GAAG,GAAG,SAAS,EAAE,KAAK,CAAAA,OAAK,IAAIA,EAAC,GAAG,GAAG;AAIvD,SAAG,OAAO,iBAAiB,SAAS,MAAM;AACxC,YACE,CAAC,QAAQ,oBACT,QAAQ,wBACR;AACA,cAAK;AAEL,cAAI,QAAQ,wBAAwB;AAClC,kBAAM,CAAAA,OAAK,GAAGA,IAAG,IAAI;AAAA,UACtB;AAAA,QACF;AAAA,MACT,CAAO;AAAA,IACF;AACD,QAAI,QAAQ;AAAQ,cAAQ,OAAO,kBAAkB;AACrD,UAAM,IAAI,IAAI,QAAQ,KAAK,EAAE,KAAK,IAAI,EAAE;AACxC,MAAE,oBAAoB;AACtB,MAAE,uBAAuB;AACzB,MAAE,aAAa;AACf,QAAI,UAAU,QAAW;AAEvB,WAAK,IAAI,GAAG,GAAG,EAAE,GAAG,UAAU,SAAS,QAAQ,QAAW;AAC1D,cAAQ,KAAK,OAAO,IAAI,CAAC;AAAA,IAC/B,OAAW;AACL,WAAK,QAAQ,KAAK,IAAI;AAAA,IACvB;AACD,WAAO;AAAA,EACR;AAAA,EAED,kBAAkB,GAAG;AACnB,WACE,KACA,OAAO,MAAM,YACb,OAAO,EAAE,SAAS,cAClB,OAAO,UAAU,eAAe;AAAA,MAC9B;AAAA,MACA;AAAA,IACD,KACD,OAAO,UAAU,eAAe,KAAK,GAAG,YAAY,MACnD,EAAE,eAAe,KAAK,EAAE,eAAe;AAAA,EAE3C;AAAA;AAAA,EAGD,MAAM,MACJ,GACA;AAAA;AAAA,IAEE,aAAa,KAAK;AAAA,IAClB,iBAAiB,KAAK;AAAA,IACtB,qBAAqB,KAAK;AAAA;AAAA,IAE1B,MAAM,KAAK;AAAA,IACX,iBAAiB,KAAK;AAAA,IACtB,OAAO;AAAA,IACP,kBAAkB,KAAK;AAAA,IACvB,cAAc,KAAK;AAAA;AAAA,IAEnB,2BAA2B,KAAK;AAAA,IAChC,6BAA6B,KAAK;AAAA,IAClC,mBAAmB,KAAK;AAAA,IACxB,yBAAyB,KAAK;AAAA,IAC9B,eAAe,KAAK;AAAA,IACpB,eAAe;AAAA,IACf;AAAA,IACA;AAAA,EACN,IAAQ,CAAE,GACN;AACA,QAAI,CAAC,KAAK,aAAa;AACrB,UAAI;AAAQ,eAAO,QAAQ;AAC3B,aAAO,KAAK,IAAI,GAAG;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACR,CAAO;AAAA,IACF;AAED,UAAM,UAAU;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAED,QAAI,QAAQ,KAAK,OAAO,IAAI,CAAC;AAC7B,QAAI,UAAU,QAAW;AACvB,UAAI;AAAQ,eAAO,QAAQ;AAC3B,YAAM,IAAI,KAAK,gBAAgB,GAAG,OAAO,SAAS,YAAY;AAC9D,aAAQ,EAAE,aAAa;AAAA,IAC7B,OAAW;AAEL,YAAM,IAAI,KAAK,QAAQ,KAAK;AAC5B,UAAI,KAAK,kBAAkB,CAAC,GAAG;AAC7B,cAAM,QACJ,cAAc,EAAE,yBAAyB;AAC3C,YAAI,QAAQ;AACV,iBAAO,QAAQ;AACf,cAAI;AAAO,mBAAO,gBAAgB;AAAA,QACnC;AACD,eAAO,QAAQ,EAAE,uBAAwB,EAAE,aAAa;AAAA,MACzD;AAID,YAAM,UAAU,KAAK,QAAQ,KAAK;AAClC,UAAI,CAAC,gBAAgB,CAAC,SAAS;AAC7B,YAAI;AAAQ,iBAAO,QAAQ;AAC3B,aAAK,WAAW,KAAK;AACrB,YAAI,gBAAgB;AAClB,eAAK,cAAc,KAAK;AAAA,QACzB;AACD,aAAK,UAAU,QAAQ,KAAK;AAC5B,eAAO;AAAA,MACR;AAID,YAAM,IAAI,KAAK,gBAAgB,GAAG,OAAO,SAAS,YAAY;AAC9D,YAAM,WAAW,EAAE,yBAAyB;AAC5C,YAAM,WAAW,YAAY;AAC7B,UAAI,QAAQ;AACV,eAAO,QAAQ,YAAY,UAAU,UAAU;AAC/C,YAAI,YAAY;AAAS,iBAAO,gBAAgB;AAAA,MACjD;AACD,aAAO,WAAW,EAAE,uBAAwB,EAAE,aAAa;AAAA,IAC5D;AAAA,EACF;AAAA,EAED,IACE,GACA;AAAA,IACE,aAAa,KAAK;AAAA,IAClB,iBAAiB,KAAK;AAAA,IACtB,qBAAqB,KAAK;AAAA,IAC1B;AAAA,EACN,IAAQ,CAAE,GACN;AACA,UAAM,QAAQ,KAAK,OAAO,IAAI,CAAC;AAC/B,QAAI,UAAU,QAAW;AACvB,YAAM,QAAQ,KAAK,QAAQ,KAAK;AAChC,YAAM,WAAW,KAAK,kBAAkB,KAAK;AAC7C,WAAK,UAAU,QAAQ,KAAK;AAC5B,UAAI,KAAK,QAAQ,KAAK,GAAG;AACvB,YAAI;AAAQ,iBAAO,MAAM;AAEzB,YAAI,CAAC,UAAU;AACb,cAAI,CAAC,oBAAoB;AACvB,iBAAK,OAAO,CAAC;AAAA,UACd;AACD,cAAI;AAAQ,mBAAO,gBAAgB;AACnC,iBAAO,aAAa,QAAQ;AAAA,QACtC,OAAe;AACL,cAAI,QAAQ;AACV,mBAAO,gBACL,cAAc,MAAM,yBAAyB;AAAA,UAChD;AACD,iBAAO,aAAa,MAAM,uBAAuB;AAAA,QAClD;AAAA,MACT,OAAa;AACL,YAAI;AAAQ,iBAAO,MAAM;AAMzB,YAAI,UAAU;AACZ,iBAAO,MAAM;AAAA,QACd;AACD,aAAK,WAAW,KAAK;AACrB,YAAI,gBAAgB;AAClB,eAAK,cAAc,KAAK;AAAA,QACzB;AACD,eAAO;AAAA,MACR;AAAA,IACF,WAAU,QAAQ;AACjB,aAAO,MAAM;AAAA,IACd;AAAA,EACF;AAAA,EAED,QAAQ,GAAG,GAAG;AACZ,SAAK,KAAK,CAAC,IAAI;AACf,SAAK,KAAK,CAAC,IAAI;AAAA,EAChB;AAAA,EAED,WAAW,OAAO;AAShB,QAAI,UAAU,KAAK,MAAM;AACvB,UAAI,UAAU,KAAK,MAAM;AACvB,aAAK,OAAO,KAAK,KAAK,KAAK;AAAA,MACnC,OAAa;AACL,aAAK,QAAQ,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,CAAC;AAAA,MAChD;AACD,WAAK,QAAQ,KAAK,MAAM,KAAK;AAC7B,WAAK,OAAO;AAAA,IACb;AAAA,EACF;AAAA,EAED,IAAI,MAAM;AACR,qBAAiB,OAAO,QAAQ;AAChC,WAAO,KAAK;AAAA,EACb;AAAA,EAED,OAAO,GAAG;AACR,QAAI,UAAU;AACd,QAAI,KAAK,SAAS,GAAG;AACnB,YAAM,QAAQ,KAAK,OAAO,IAAI,CAAC;AAC/B,UAAI,UAAU,QAAW;AACvB,kBAAU;AACV,YAAI,KAAK,SAAS,GAAG;AACnB,eAAK,MAAO;AAAA,QACtB,OAAe;AACL,eAAK,eAAe,KAAK;AACzB,gBAAM,IAAI,KAAK,QAAQ,KAAK;AAC5B,cAAI,KAAK,kBAAkB,CAAC,GAAG;AAC7B,cAAE,kBAAkB,MAAM,IAAI,MAAM,SAAS,CAAC;AAAA,UAC1D,OAAiB;AACL,iBAAK,QAAQ,GAAG,GAAG,QAAQ;AAC3B,gBAAI,KAAK,cAAc;AACrB,mBAAK,SAAS,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC;AAAA,YACpC;AAAA,UACF;AACD,eAAK,OAAO,OAAO,CAAC;AACpB,eAAK,QAAQ,KAAK,IAAI;AACtB,eAAK,QAAQ,KAAK,IAAI;AACtB,cAAI,UAAU,KAAK,MAAM;AACvB,iBAAK,OAAO,KAAK,KAAK,KAAK;AAAA,UACvC,WAAqB,UAAU,KAAK,MAAM;AAC9B,iBAAK,OAAO,KAAK,KAAK,KAAK;AAAA,UACvC,OAAiB;AACL,iBAAK,KAAK,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,KAAK;AAC7C,iBAAK,KAAK,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,KAAK;AAAA,UAC9C;AACD,eAAK;AACL,eAAK,KAAK,KAAK,KAAK;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AACD,QAAI,KAAK,UAAU;AACjB,aAAO,KAAK,SAAS,QAAQ;AAC3B,aAAK,aAAa,GAAG,KAAK,SAAS,MAAK,CAAE;AAAA,MAC3C;AAAA,IACF;AACD,WAAO;AAAA,EACR;AAAA,EAED,QAAQ;AACN,eAAW,SAAS,KAAK,SAAS,EAAE,YAAY,KAAI,CAAE,GAAG;AACvD,YAAM,IAAI,KAAK,QAAQ,KAAK;AAC5B,UAAI,KAAK,kBAAkB,CAAC,GAAG;AAC7B,UAAE,kBAAkB,MAAM,IAAI,MAAM,SAAS,CAAC;AAAA,MACtD,OAAa;AACL,cAAM,IAAI,KAAK,QAAQ,KAAK;AAC5B,aAAK,QAAQ,GAAG,GAAG,QAAQ;AAC3B,YAAI,KAAK,cAAc;AACrB,eAAK,SAAS,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC;AAAA,QACpC;AAAA,MACF;AAAA,IACF;AAED,SAAK,OAAO,MAAO;AACnB,SAAK,QAAQ,KAAK,IAAI;AACtB,SAAK,QAAQ,KAAK,IAAI;AACtB,QAAI,KAAK,MAAM;AACb,WAAK,KAAK,KAAK,CAAC;AAChB,WAAK,OAAO,KAAK,CAAC;AAAA,IACnB;AACD,QAAI,KAAK,OAAO;AACd,WAAK,MAAM,KAAK,CAAC;AAAA,IAClB;AACD,SAAK,OAAO;AACZ,SAAK,OAAO;AACZ,SAAK,cAAc;AACnB,SAAK,KAAK,SAAS;AACnB,SAAK,iBAAiB;AACtB,SAAK,OAAO;AACZ,QAAI,KAAK,UAAU;AACjB,aAAO,KAAK,SAAS,QAAQ;AAC3B,aAAK,aAAa,GAAG,KAAK,SAAS,MAAK,CAAE;AAAA,MAC3C;AAAA,IACF;AAAA,EACF;AAAA,EAED,IAAI,QAAQ;AACV,qBAAiB,SAAS,OAAO;AACjC,WAAO,KAAK;AAAA,EACb;AAAA,EAED,IAAI,SAAS;AACX,uBAAmB,UAAU,MAAM;AACnC,WAAO,KAAK;AAAA,EACb;AAAA,EAED,WAAW,kBAAkB;AAC3B,WAAO;AAAA,EACR;AAAA,EACD,WAAW,cAAc;AACvB,WAAO;AAAA,EACR;AACH;AAEA,IAAA,WAAiB;","x_google_ignoreList":[0]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ const _commonjsHelpers = require("../../_virtual/_commonjsHelpers.cjs");
3
+ const index = require("../../_virtual/index2.cjs");
4
+ const isObject = (value) => typeof value === "object" && value !== null;
5
+ const mapObjectSkip = Symbol("skip");
6
+ const isObjectCustom = (value) => isObject(value) && !(value instanceof RegExp) && !(value instanceof Error) && !(value instanceof Date);
7
+ const mapObject = (object, mapper, options, isSeen = /* @__PURE__ */ new WeakMap()) => {
8
+ options = {
9
+ deep: false,
10
+ target: {},
11
+ ...options
12
+ };
13
+ if (isSeen.has(object)) {
14
+ return isSeen.get(object);
15
+ }
16
+ isSeen.set(object, options.target);
17
+ const { target } = options;
18
+ delete options.target;
19
+ const mapArray = (array) => array.map((element) => isObjectCustom(element) ? mapObject(element, mapper, options, isSeen) : element);
20
+ if (Array.isArray(object)) {
21
+ return mapArray(object);
22
+ }
23
+ for (const [key, value] of Object.entries(object)) {
24
+ const mapResult = mapper(key, value, object);
25
+ if (mapResult === mapObjectSkip) {
26
+ continue;
27
+ }
28
+ let [newKey, newValue, { shouldRecurse = true } = {}] = mapResult;
29
+ if (newKey === "__proto__") {
30
+ continue;
31
+ }
32
+ if (options.deep && shouldRecurse && isObjectCustom(newValue)) {
33
+ newValue = Array.isArray(newValue) ? mapArray(newValue) : mapObject(newValue, mapper, options, isSeen);
34
+ }
35
+ target[newKey] = newValue;
36
+ }
37
+ return target;
38
+ };
39
+ index.__module.exports = (object, mapper, options) => {
40
+ if (!isObject(object)) {
41
+ throw new TypeError(`Expected an object, got \`${object}\` (${typeof object})`);
42
+ }
43
+ return mapObject(object, mapper, options);
44
+ };
45
+ index.__module.exports.mapObjectSkip = mapObjectSkip;
46
+ var mapObjExports = index.__module.exports;
47
+ const mapObject$1 = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(mapObjExports);
48
+ module.exports = mapObject$1;
49
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../node_modules/map-obj/index.js"],"sourcesContent":["'use strict';\n\nconst isObject = value => typeof value === 'object' && value !== null;\nconst mapObjectSkip = Symbol('skip');\n\n// Customized for this use-case\nconst isObjectCustom = value =>\n\tisObject(value) &&\n\t!(value instanceof RegExp) &&\n\t!(value instanceof Error) &&\n\t!(value instanceof Date);\n\nconst mapObject = (object, mapper, options, isSeen = new WeakMap()) => {\n\toptions = {\n\t\tdeep: false,\n\t\ttarget: {},\n\t\t...options\n\t};\n\n\tif (isSeen.has(object)) {\n\t\treturn isSeen.get(object);\n\t}\n\n\tisSeen.set(object, options.target);\n\n\tconst {target} = options;\n\tdelete options.target;\n\n\tconst mapArray = array => array.map(element => isObjectCustom(element) ? mapObject(element, mapper, options, isSeen) : element);\n\tif (Array.isArray(object)) {\n\t\treturn mapArray(object);\n\t}\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tconst mapResult = mapper(key, value, object);\n\n\t\tif (mapResult === mapObjectSkip) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [newKey, newValue, {shouldRecurse = true} = {}] = mapResult;\n\n\t\t// Drop `__proto__` keys.\n\t\tif (newKey === '__proto__') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (options.deep && shouldRecurse && isObjectCustom(newValue)) {\n\t\t\tnewValue = Array.isArray(newValue) ?\n\t\t\t\tmapArray(newValue) :\n\t\t\t\tmapObject(newValue, mapper, options, isSeen);\n\t\t}\n\n\t\ttarget[newKey] = newValue;\n\t}\n\n\treturn target;\n};\n\nmodule.exports = (object, mapper, options) => {\n\tif (!isObject(object)) {\n\t\tthrow new TypeError(`Expected an object, got \\`${object}\\` (${typeof object})`);\n\t}\n\n\treturn mapObject(object, mapper, options);\n};\n\nmodule.exports.mapObjectSkip = mapObjectSkip;\n"],"names":["mapObjModule"],"mappings":";;;AAEA,MAAM,WAAW,WAAS,OAAO,UAAU,YAAY,UAAU;AACjE,MAAM,gBAAgB,OAAO,MAAM;AAGnC,MAAM,iBAAiB,WACtB,SAAS,KAAK,KACd,EAAE,iBAAiB,WACnB,EAAE,iBAAiB,UACnB,EAAE,iBAAiB;AAEpB,MAAM,YAAY,CAAC,QAAQ,QAAQ,SAAS,SAAS,oBAAI,cAAc;AACtE,YAAU;AAAA,IACT,MAAM;AAAA,IACN,QAAQ,CAAE;AAAA,IACV,GAAG;AAAA,EACL;AAEC,MAAI,OAAO,IAAI,MAAM,GAAG;AACvB,WAAO,OAAO,IAAI,MAAM;AAAA,EACxB;AAED,SAAO,IAAI,QAAQ,QAAQ,MAAM;AAEjC,QAAM,EAAC,OAAM,IAAI;AACjB,SAAO,QAAQ;AAEf,QAAM,WAAW,WAAS,MAAM,IAAI,aAAW,eAAe,OAAO,IAAI,UAAU,SAAS,QAAQ,SAAS,MAAM,IAAI,OAAO;AAC9H,MAAI,MAAM,QAAQ,MAAM,GAAG;AAC1B,WAAO,SAAS,MAAM;AAAA,EACtB;AAED,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AAClD,UAAM,YAAY,OAAO,KAAK,OAAO,MAAM;AAE3C,QAAI,cAAc,eAAe;AAChC;AAAA,IACA;AAED,QAAI,CAAC,QAAQ,UAAU,EAAC,gBAAgB,KAAI,IAAI,CAAA,CAAE,IAAI;AAGtD,QAAI,WAAW,aAAa;AAC3B;AAAA,IACA;AAED,QAAI,QAAQ,QAAQ,iBAAiB,eAAe,QAAQ,GAAG;AAC9D,iBAAW,MAAM,QAAQ,QAAQ,IAChC,SAAS,QAAQ,IACjB,UAAU,UAAU,QAAQ,SAAS,MAAM;AAAA,IAC5C;AAED,WAAO,MAAM,IAAI;AAAA,EACjB;AAED,SAAO;AACR;AAEAA,MAAA,SAAA,UAAiB,CAAC,QAAQ,QAAQ,YAAY;AAC7C,MAAI,CAAC,SAAS,MAAM,GAAG;AACtB,UAAM,IAAI,UAAU,6BAA6B,aAAa,OAAO,SAAS;AAAA,EAC9E;AAED,SAAO,UAAU,QAAQ,QAAQ,OAAO;AACzC;AAEAA,MAAAA,SAAA,QAAA,gBAA+B;;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,50 @@
1
+ import { getDefaultExportFromCjs } from "../../_virtual/_commonjsHelpers.js";
2
+ import { __module as mapObj } from "../../_virtual/index2.js";
3
+ const isObject = (value) => typeof value === "object" && value !== null;
4
+ const mapObjectSkip = Symbol("skip");
5
+ const isObjectCustom = (value) => isObject(value) && !(value instanceof RegExp) && !(value instanceof Error) && !(value instanceof Date);
6
+ const mapObject = (object, mapper, options, isSeen = /* @__PURE__ */ new WeakMap()) => {
7
+ options = {
8
+ deep: false,
9
+ target: {},
10
+ ...options
11
+ };
12
+ if (isSeen.has(object)) {
13
+ return isSeen.get(object);
14
+ }
15
+ isSeen.set(object, options.target);
16
+ const { target } = options;
17
+ delete options.target;
18
+ const mapArray = (array) => array.map((element) => isObjectCustom(element) ? mapObject(element, mapper, options, isSeen) : element);
19
+ if (Array.isArray(object)) {
20
+ return mapArray(object);
21
+ }
22
+ for (const [key, value] of Object.entries(object)) {
23
+ const mapResult = mapper(key, value, object);
24
+ if (mapResult === mapObjectSkip) {
25
+ continue;
26
+ }
27
+ let [newKey, newValue, { shouldRecurse = true } = {}] = mapResult;
28
+ if (newKey === "__proto__") {
29
+ continue;
30
+ }
31
+ if (options.deep && shouldRecurse && isObjectCustom(newValue)) {
32
+ newValue = Array.isArray(newValue) ? mapArray(newValue) : mapObject(newValue, mapper, options, isSeen);
33
+ }
34
+ target[newKey] = newValue;
35
+ }
36
+ return target;
37
+ };
38
+ mapObj.exports = (object, mapper, options) => {
39
+ if (!isObject(object)) {
40
+ throw new TypeError(`Expected an object, got \`${object}\` (${typeof object})`);
41
+ }
42
+ return mapObject(object, mapper, options);
43
+ };
44
+ mapObj.exports.mapObjectSkip = mapObjectSkip;
45
+ var mapObjExports = mapObj.exports;
46
+ const mapObject$1 = /* @__PURE__ */ getDefaultExportFromCjs(mapObjExports);
47
+ export {
48
+ mapObject$1 as default
49
+ };
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../node_modules/map-obj/index.js"],"sourcesContent":["'use strict';\n\nconst isObject = value => typeof value === 'object' && value !== null;\nconst mapObjectSkip = Symbol('skip');\n\n// Customized for this use-case\nconst isObjectCustom = value =>\n\tisObject(value) &&\n\t!(value instanceof RegExp) &&\n\t!(value instanceof Error) &&\n\t!(value instanceof Date);\n\nconst mapObject = (object, mapper, options, isSeen = new WeakMap()) => {\n\toptions = {\n\t\tdeep: false,\n\t\ttarget: {},\n\t\t...options\n\t};\n\n\tif (isSeen.has(object)) {\n\t\treturn isSeen.get(object);\n\t}\n\n\tisSeen.set(object, options.target);\n\n\tconst {target} = options;\n\tdelete options.target;\n\n\tconst mapArray = array => array.map(element => isObjectCustom(element) ? mapObject(element, mapper, options, isSeen) : element);\n\tif (Array.isArray(object)) {\n\t\treturn mapArray(object);\n\t}\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tconst mapResult = mapper(key, value, object);\n\n\t\tif (mapResult === mapObjectSkip) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [newKey, newValue, {shouldRecurse = true} = {}] = mapResult;\n\n\t\t// Drop `__proto__` keys.\n\t\tif (newKey === '__proto__') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (options.deep && shouldRecurse && isObjectCustom(newValue)) {\n\t\t\tnewValue = Array.isArray(newValue) ?\n\t\t\t\tmapArray(newValue) :\n\t\t\t\tmapObject(newValue, mapper, options, isSeen);\n\t\t}\n\n\t\ttarget[newKey] = newValue;\n\t}\n\n\treturn target;\n};\n\nmodule.exports = (object, mapper, options) => {\n\tif (!isObject(object)) {\n\t\tthrow new TypeError(`Expected an object, got \\`${object}\\` (${typeof object})`);\n\t}\n\n\treturn mapObject(object, mapper, options);\n};\n\nmodule.exports.mapObjectSkip = mapObjectSkip;\n"],"names":["mapObjModule"],"mappings":";;AAEA,MAAM,WAAW,WAAS,OAAO,UAAU,YAAY,UAAU;AACjE,MAAM,gBAAgB,OAAO,MAAM;AAGnC,MAAM,iBAAiB,WACtB,SAAS,KAAK,KACd,EAAE,iBAAiB,WACnB,EAAE,iBAAiB,UACnB,EAAE,iBAAiB;AAEpB,MAAM,YAAY,CAAC,QAAQ,QAAQ,SAAS,SAAS,oBAAI,cAAc;AACtE,YAAU;AAAA,IACT,MAAM;AAAA,IACN,QAAQ,CAAE;AAAA,IACV,GAAG;AAAA,EACL;AAEC,MAAI,OAAO,IAAI,MAAM,GAAG;AACvB,WAAO,OAAO,IAAI,MAAM;AAAA,EACxB;AAED,SAAO,IAAI,QAAQ,QAAQ,MAAM;AAEjC,QAAM,EAAC,OAAM,IAAI;AACjB,SAAO,QAAQ;AAEf,QAAM,WAAW,WAAS,MAAM,IAAI,aAAW,eAAe,OAAO,IAAI,UAAU,SAAS,QAAQ,SAAS,MAAM,IAAI,OAAO;AAC9H,MAAI,MAAM,QAAQ,MAAM,GAAG;AAC1B,WAAO,SAAS,MAAM;AAAA,EACtB;AAED,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AAClD,UAAM,YAAY,OAAO,KAAK,OAAO,MAAM;AAE3C,QAAI,cAAc,eAAe;AAChC;AAAA,IACA;AAED,QAAI,CAAC,QAAQ,UAAU,EAAC,gBAAgB,KAAI,IAAI,CAAA,CAAE,IAAI;AAGtD,QAAI,WAAW,aAAa;AAC3B;AAAA,IACA;AAED,QAAI,QAAQ,QAAQ,iBAAiB,eAAe,QAAQ,GAAG;AAC9D,iBAAW,MAAM,QAAQ,QAAQ,IAChC,SAAS,QAAQ,IACjB,UAAU,UAAU,QAAQ,SAAS,MAAM;AAAA,IAC5C;AAED,WAAO,MAAM,IAAI;AAAA,EACjB;AAED,SAAO;AACR;AAEAA,OAAA,UAAiB,CAAC,QAAQ,QAAQ,YAAY;AAC7C,MAAI,CAAC,SAAS,MAAM,GAAG;AACtB,UAAM,IAAI,UAAU,6BAA6B,aAAa,OAAO,SAAS;AAAA,EAC9E;AAED,SAAO,UAAU,QAAQ,QAAQ,OAAO;AACzC;AAEAA,OAAA,QAAA,gBAA+B;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ const process = require("node:process");
3
+ const index$1 = require("../../yargs-parser/build/lib/index.cjs");
4
+ const index$4 = require("../../camelcase-keys/index.cjs");
5
+ const index$2 = require("../../trim-newlines/index.cjs");
6
+ const index$3 = require("../../redent/index.cjs");
7
+ const index = require("../../hard-rejection/index.cjs");
8
+ const normalize = require("../../normalize-package-data/lib/normalize.cjs");
9
+ const options = require("./options.cjs");
10
+ const parser = require("./parser.cjs");
11
+ const validate = require("./validate.cjs");
12
+ const buildResult = (options2, parserOptions) => {
13
+ const { pkg: package_ } = options2;
14
+ const argv = index$1(options2.argv, parserOptions);
15
+ let help = "";
16
+ if (options2.help) {
17
+ help = index$2.trimNewlines((options2.help || "").replace(/\t+\n*$/, ""));
18
+ if (help.includes("\n")) {
19
+ help = index$3(help, 2);
20
+ }
21
+ help = `
22
+ ${help}`;
23
+ }
24
+ normalize(package_);
25
+ let { description } = options2;
26
+ if (!description && description !== false) {
27
+ ({ description } = package_);
28
+ }
29
+ description && (description = help ? `
30
+ ${description}
31
+ ` : `
32
+ ${description}`);
33
+ help = `${description || ""}${help}
34
+ `;
35
+ const showHelp = (code) => {
36
+ console.log(help);
37
+ process.exit(typeof code === "number" ? code : 2);
38
+ };
39
+ const showVersion = () => {
40
+ console.log(typeof options2.version === "string" ? options2.version : package_.version);
41
+ process.exit(0);
42
+ };
43
+ if (argv._.length === 0 && options2.argv.length === 1) {
44
+ if (argv.version === true && options2.autoVersion) {
45
+ showVersion();
46
+ } else if (argv.help === true && options2.autoHelp) {
47
+ showHelp(0);
48
+ }
49
+ }
50
+ const input = argv._;
51
+ delete argv._;
52
+ if (!options2.allowUnknownFlags) {
53
+ validate.checkUnknownFlags(input);
54
+ }
55
+ const flags = index$4(argv, { exclude: ["--", /^\w$/] });
56
+ const unnormalizedFlags = { ...flags };
57
+ validate.validate(flags, options2);
58
+ for (const flagValue of Object.values(options2.flags)) {
59
+ if (Array.isArray(flagValue.aliases)) {
60
+ for (const alias of flagValue.aliases) {
61
+ delete flags[alias];
62
+ }
63
+ }
64
+ delete flags[flagValue.shortFlag];
65
+ }
66
+ validate.checkMissingRequiredFlags(options2.flags, flags, input);
67
+ return {
68
+ input,
69
+ flags,
70
+ unnormalizedFlags,
71
+ pkg: package_,
72
+ help,
73
+ showHelp,
74
+ showVersion
75
+ };
76
+ };
77
+ const meow = (helpText, options$1 = {}) => {
78
+ const parsedOptions = options.buildOptions(helpText, options$1);
79
+ if (parsedOptions.hardRejection) {
80
+ index();
81
+ }
82
+ const parserOptions = parser.buildParserOptions(parsedOptions);
83
+ const result = buildResult(parsedOptions, parserOptions);
84
+ process.title = result.pkg.bin ? Object.keys(result.pkg.bin).at(0) : result.pkg.name;
85
+ return result;
86
+ };
87
+ module.exports = meow;
88
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../../node_modules/meow/source/index.js"],"sourcesContent":["import process from 'node:process';\nimport parseArguments from 'yargs-parser';\nimport camelCaseKeys from 'camelcase-keys';\nimport {trimNewlines} from 'trim-newlines';\nimport redent from 'redent';\nimport hardRejection from 'hard-rejection';\nimport normalizePackageData from 'normalize-package-data';\nimport {buildOptions} from './options.js';\nimport {buildParserOptions} from './parser.js';\nimport {validate, checkUnknownFlags, checkMissingRequiredFlags} from './validate.js';\n\nconst buildResult = (options, parserOptions) => {\n\tconst {pkg: package_} = options;\n\tconst argv = parseArguments(options.argv, parserOptions);\n\tlet help = '';\n\n\tif (options.help) {\n\t\thelp = trimNewlines((options.help || '').replace(/\\t+\\n*$/, ''));\n\n\t\tif (help.includes('\\n')) {\n\t\t\thelp = redent(help, 2);\n\t\t}\n\n\t\thelp = `\\n${help}`;\n\t}\n\n\tnormalizePackageData(package_);\n\n\tlet {description} = options;\n\tif (!description && description !== false) {\n\t\t({description} = package_);\n\t}\n\n\tdescription &&= help ? `\\n ${description}\\n` : `\\n${description}`;\n\thelp = `${description || ''}${help}\\n`;\n\n\tconst showHelp = code => {\n\t\tconsole.log(help);\n\t\tprocess.exit(typeof code === 'number' ? code : 2);\n\t};\n\n\tconst showVersion = () => {\n\t\tconsole.log(typeof options.version === 'string' ? options.version : package_.version);\n\t\tprocess.exit(0);\n\t};\n\n\tif (argv._.length === 0 && options.argv.length === 1) {\n\t\tif (argv.version === true && options.autoVersion) {\n\t\t\tshowVersion();\n\t\t} else if (argv.help === true && options.autoHelp) {\n\t\t\tshowHelp(0);\n\t\t}\n\t}\n\n\tconst input = argv._;\n\tdelete argv._;\n\n\tif (!options.allowUnknownFlags) {\n\t\tcheckUnknownFlags(input);\n\t}\n\n\tconst flags = camelCaseKeys(argv, {exclude: ['--', /^\\w$/]});\n\tconst unnormalizedFlags = {...flags};\n\n\tvalidate(flags, options);\n\n\tfor (const flagValue of Object.values(options.flags)) {\n\t\tif (Array.isArray(flagValue.aliases)) {\n\t\t\tfor (const alias of flagValue.aliases) {\n\t\t\t\tdelete flags[alias];\n\t\t\t}\n\t\t}\n\n\t\tdelete flags[flagValue.shortFlag];\n\t}\n\n\tcheckMissingRequiredFlags(options.flags, flags, input);\n\n\treturn {\n\t\tinput,\n\t\tflags,\n\t\tunnormalizedFlags,\n\t\tpkg: package_,\n\t\thelp,\n\t\tshowHelp,\n\t\tshowVersion,\n\t};\n};\n\nconst meow = (helpText, options = {}) => {\n\tconst parsedOptions = buildOptions(helpText, options);\n\n\tif (parsedOptions.hardRejection) {\n\t\thardRejection();\n\t}\n\n\tconst parserOptions = buildParserOptions(parsedOptions);\n\tconst result = buildResult(parsedOptions, parserOptions);\n\n\tprocess.title = result.pkg.bin ? Object.keys(result.pkg.bin).at(0) : result.pkg.name;\n\n\treturn result;\n};\n\nexport default meow;\n"],"names":["options","parseArguments","trimNewlines","redent","normalizePackageData","checkUnknownFlags","camelCaseKeys","validate","checkMissingRequiredFlags","buildOptions","hardRejection","buildParserOptions"],"mappings":";;;;;;;;;;;AAWA,MAAM,cAAc,CAACA,UAAS,kBAAkB;AAC/C,QAAM,EAAC,KAAK,SAAQ,IAAIA;AACxB,QAAM,OAAOC,QAAeD,SAAQ,MAAM,aAAa;AACvD,MAAI,OAAO;AAEX,MAAIA,SAAQ,MAAM;AACjB,WAAOE,QAAAA,cAAcF,SAAQ,QAAQ,IAAI,QAAQ,WAAW,EAAE,CAAC;AAE/D,QAAI,KAAK,SAAS,IAAI,GAAG;AACxB,aAAOG,QAAO,MAAM,CAAC;AAAA,IACrB;AAED,WAAO;AAAA,EAAK;AAAA,EACZ;AAEDC,YAAqB,QAAQ;AAE7B,MAAI,EAAC,YAAW,IAAIJ;AACpB,MAAI,CAAC,eAAe,gBAAgB,OAAO;AAC1C,KAAC,EAAC,YAAW,IAAI;AAAA,EACjB;AAED,gCAAgB,OAAO;AAAA,IAAO;AAAA,IAAkB;AAAA,EAAK;AACrD,SAAO,GAAG,eAAe,KAAK;AAAA;AAE9B,QAAM,WAAW,UAAQ;AACxB,YAAQ,IAAI,IAAI;AAChB,YAAQ,KAAK,OAAO,SAAS,WAAW,OAAO,CAAC;AAAA,EAClD;AAEC,QAAM,cAAc,MAAM;AACzB,YAAQ,IAAI,OAAOA,SAAQ,YAAY,WAAWA,SAAQ,UAAU,SAAS,OAAO;AACpF,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEC,MAAI,KAAK,EAAE,WAAW,KAAKA,SAAQ,KAAK,WAAW,GAAG;AACrD,QAAI,KAAK,YAAY,QAAQA,SAAQ,aAAa;AACjD;IACA,WAAU,KAAK,SAAS,QAAQA,SAAQ,UAAU;AAClD,eAAS,CAAC;AAAA,IACV;AAAA,EACD;AAED,QAAM,QAAQ,KAAK;AACnB,SAAO,KAAK;AAEZ,MAAI,CAACA,SAAQ,mBAAmB;AAC/BK,aAAiB,kBAAC,KAAK;AAAA,EACvB;AAED,QAAM,QAAQC,QAAc,MAAM,EAAC,SAAS,CAAC,MAAM,MAAM,EAAC,CAAC;AAC3D,QAAM,oBAAoB,EAAC,GAAG,MAAK;AAEnCC,oBAAS,OAAOP,QAAO;AAEvB,aAAW,aAAa,OAAO,OAAOA,SAAQ,KAAK,GAAG;AACrD,QAAI,MAAM,QAAQ,UAAU,OAAO,GAAG;AACrC,iBAAW,SAAS,UAAU,SAAS;AACtC,eAAO,MAAM,KAAK;AAAA,MAClB;AAAA,IACD;AAED,WAAO,MAAM,UAAU,SAAS;AAAA,EAChC;AAEDQ,WAAAA,0BAA0BR,SAAQ,OAAO,OAAO,KAAK;AAErD,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA;AAEK,MAAC,OAAO,CAAC,UAAUA,YAAU,OAAO;AACxC,QAAM,gBAAgBS,QAAAA,aAAa,UAAUT,SAAO;AAEpD,MAAI,cAAc,eAAe;AAChCU;EACA;AAED,QAAM,gBAAgBC,0BAAmB,aAAa;AACtD,QAAM,SAAS,YAAY,eAAe,aAAa;AAEvD,UAAQ,QAAQ,OAAO,IAAI,MAAM,OAAO,KAAK,OAAO,IAAI,GAAG,EAAE,GAAG,CAAC,IAAI,OAAO,IAAI;AAEhF,SAAO;AACR;;","x_google_ignoreList":[0]}
@@ -0,0 +1,89 @@
1
+ import process from "node:process";
2
+ import yargsParser from "../../yargs-parser/build/lib/index.js";
3
+ import camelcaseKeys from "../../camelcase-keys/index.js";
4
+ import { trimNewlines } from "../../trim-newlines/index.js";
5
+ import redent from "../../redent/index.js";
6
+ import hardRejection from "../../hard-rejection/index.js";
7
+ import normalizePackageData from "../../normalize-package-data/lib/normalize.js";
8
+ import { buildOptions } from "./options.js";
9
+ import { buildParserOptions } from "./parser.js";
10
+ import { checkUnknownFlags, validate, checkMissingRequiredFlags } from "./validate.js";
11
+ const buildResult = (options, parserOptions) => {
12
+ const { pkg: package_ } = options;
13
+ const argv = yargsParser(options.argv, parserOptions);
14
+ let help = "";
15
+ if (options.help) {
16
+ help = trimNewlines((options.help || "").replace(/\t+\n*$/, ""));
17
+ if (help.includes("\n")) {
18
+ help = redent(help, 2);
19
+ }
20
+ help = `
21
+ ${help}`;
22
+ }
23
+ normalizePackageData(package_);
24
+ let { description } = options;
25
+ if (!description && description !== false) {
26
+ ({ description } = package_);
27
+ }
28
+ description && (description = help ? `
29
+ ${description}
30
+ ` : `
31
+ ${description}`);
32
+ help = `${description || ""}${help}
33
+ `;
34
+ const showHelp = (code) => {
35
+ console.log(help);
36
+ process.exit(typeof code === "number" ? code : 2);
37
+ };
38
+ const showVersion = () => {
39
+ console.log(typeof options.version === "string" ? options.version : package_.version);
40
+ process.exit(0);
41
+ };
42
+ if (argv._.length === 0 && options.argv.length === 1) {
43
+ if (argv.version === true && options.autoVersion) {
44
+ showVersion();
45
+ } else if (argv.help === true && options.autoHelp) {
46
+ showHelp(0);
47
+ }
48
+ }
49
+ const input = argv._;
50
+ delete argv._;
51
+ if (!options.allowUnknownFlags) {
52
+ checkUnknownFlags(input);
53
+ }
54
+ const flags = camelcaseKeys(argv, { exclude: ["--", /^\w$/] });
55
+ const unnormalizedFlags = { ...flags };
56
+ validate(flags, options);
57
+ for (const flagValue of Object.values(options.flags)) {
58
+ if (Array.isArray(flagValue.aliases)) {
59
+ for (const alias of flagValue.aliases) {
60
+ delete flags[alias];
61
+ }
62
+ }
63
+ delete flags[flagValue.shortFlag];
64
+ }
65
+ checkMissingRequiredFlags(options.flags, flags, input);
66
+ return {
67
+ input,
68
+ flags,
69
+ unnormalizedFlags,
70
+ pkg: package_,
71
+ help,
72
+ showHelp,
73
+ showVersion
74
+ };
75
+ };
76
+ const meow = (helpText, options = {}) => {
77
+ const parsedOptions = buildOptions(helpText, options);
78
+ if (parsedOptions.hardRejection) {
79
+ hardRejection();
80
+ }
81
+ const parserOptions = buildParserOptions(parsedOptions);
82
+ const result = buildResult(parsedOptions, parserOptions);
83
+ process.title = result.pkg.bin ? Object.keys(result.pkg.bin).at(0) : result.pkg.name;
84
+ return result;
85
+ };
86
+ export {
87
+ meow as default
88
+ };
89
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../node_modules/meow/source/index.js"],"sourcesContent":["import process from 'node:process';\nimport parseArguments from 'yargs-parser';\nimport camelCaseKeys from 'camelcase-keys';\nimport {trimNewlines} from 'trim-newlines';\nimport redent from 'redent';\nimport hardRejection from 'hard-rejection';\nimport normalizePackageData from 'normalize-package-data';\nimport {buildOptions} from './options.js';\nimport {buildParserOptions} from './parser.js';\nimport {validate, checkUnknownFlags, checkMissingRequiredFlags} from './validate.js';\n\nconst buildResult = (options, parserOptions) => {\n\tconst {pkg: package_} = options;\n\tconst argv = parseArguments(options.argv, parserOptions);\n\tlet help = '';\n\n\tif (options.help) {\n\t\thelp = trimNewlines((options.help || '').replace(/\\t+\\n*$/, ''));\n\n\t\tif (help.includes('\\n')) {\n\t\t\thelp = redent(help, 2);\n\t\t}\n\n\t\thelp = `\\n${help}`;\n\t}\n\n\tnormalizePackageData(package_);\n\n\tlet {description} = options;\n\tif (!description && description !== false) {\n\t\t({description} = package_);\n\t}\n\n\tdescription &&= help ? `\\n ${description}\\n` : `\\n${description}`;\n\thelp = `${description || ''}${help}\\n`;\n\n\tconst showHelp = code => {\n\t\tconsole.log(help);\n\t\tprocess.exit(typeof code === 'number' ? code : 2);\n\t};\n\n\tconst showVersion = () => {\n\t\tconsole.log(typeof options.version === 'string' ? options.version : package_.version);\n\t\tprocess.exit(0);\n\t};\n\n\tif (argv._.length === 0 && options.argv.length === 1) {\n\t\tif (argv.version === true && options.autoVersion) {\n\t\t\tshowVersion();\n\t\t} else if (argv.help === true && options.autoHelp) {\n\t\t\tshowHelp(0);\n\t\t}\n\t}\n\n\tconst input = argv._;\n\tdelete argv._;\n\n\tif (!options.allowUnknownFlags) {\n\t\tcheckUnknownFlags(input);\n\t}\n\n\tconst flags = camelCaseKeys(argv, {exclude: ['--', /^\\w$/]});\n\tconst unnormalizedFlags = {...flags};\n\n\tvalidate(flags, options);\n\n\tfor (const flagValue of Object.values(options.flags)) {\n\t\tif (Array.isArray(flagValue.aliases)) {\n\t\t\tfor (const alias of flagValue.aliases) {\n\t\t\t\tdelete flags[alias];\n\t\t\t}\n\t\t}\n\n\t\tdelete flags[flagValue.shortFlag];\n\t}\n\n\tcheckMissingRequiredFlags(options.flags, flags, input);\n\n\treturn {\n\t\tinput,\n\t\tflags,\n\t\tunnormalizedFlags,\n\t\tpkg: package_,\n\t\thelp,\n\t\tshowHelp,\n\t\tshowVersion,\n\t};\n};\n\nconst meow = (helpText, options = {}) => {\n\tconst parsedOptions = buildOptions(helpText, options);\n\n\tif (parsedOptions.hardRejection) {\n\t\thardRejection();\n\t}\n\n\tconst parserOptions = buildParserOptions(parsedOptions);\n\tconst result = buildResult(parsedOptions, parserOptions);\n\n\tprocess.title = result.pkg.bin ? Object.keys(result.pkg.bin).at(0) : result.pkg.name;\n\n\treturn result;\n};\n\nexport default meow;\n"],"names":["parseArguments","camelCaseKeys"],"mappings":";;;;;;;;;;AAWA,MAAM,cAAc,CAAC,SAAS,kBAAkB;AAC/C,QAAM,EAAC,KAAK,SAAQ,IAAI;AACxB,QAAM,OAAOA,YAAe,QAAQ,MAAM,aAAa;AACvD,MAAI,OAAO;AAEX,MAAI,QAAQ,MAAM;AACjB,WAAO,cAAc,QAAQ,QAAQ,IAAI,QAAQ,WAAW,EAAE,CAAC;AAE/D,QAAI,KAAK,SAAS,IAAI,GAAG;AACxB,aAAO,OAAO,MAAM,CAAC;AAAA,IACrB;AAED,WAAO;AAAA,EAAK;AAAA,EACZ;AAED,uBAAqB,QAAQ;AAE7B,MAAI,EAAC,YAAW,IAAI;AACpB,MAAI,CAAC,eAAe,gBAAgB,OAAO;AAC1C,KAAC,EAAC,YAAW,IAAI;AAAA,EACjB;AAED,gCAAgB,OAAO;AAAA,IAAO;AAAA,IAAkB;AAAA,EAAK;AACrD,SAAO,GAAG,eAAe,KAAK;AAAA;AAE9B,QAAM,WAAW,UAAQ;AACxB,YAAQ,IAAI,IAAI;AAChB,YAAQ,KAAK,OAAO,SAAS,WAAW,OAAO,CAAC;AAAA,EAClD;AAEC,QAAM,cAAc,MAAM;AACzB,YAAQ,IAAI,OAAO,QAAQ,YAAY,WAAW,QAAQ,UAAU,SAAS,OAAO;AACpF,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEC,MAAI,KAAK,EAAE,WAAW,KAAK,QAAQ,KAAK,WAAW,GAAG;AACrD,QAAI,KAAK,YAAY,QAAQ,QAAQ,aAAa;AACjD;IACA,WAAU,KAAK,SAAS,QAAQ,QAAQ,UAAU;AAClD,eAAS,CAAC;AAAA,IACV;AAAA,EACD;AAED,QAAM,QAAQ,KAAK;AACnB,SAAO,KAAK;AAEZ,MAAI,CAAC,QAAQ,mBAAmB;AAC/B,sBAAkB,KAAK;AAAA,EACvB;AAED,QAAM,QAAQC,cAAc,MAAM,EAAC,SAAS,CAAC,MAAM,MAAM,EAAC,CAAC;AAC3D,QAAM,oBAAoB,EAAC,GAAG,MAAK;AAEnC,WAAS,OAAO,OAAO;AAEvB,aAAW,aAAa,OAAO,OAAO,QAAQ,KAAK,GAAG;AACrD,QAAI,MAAM,QAAQ,UAAU,OAAO,GAAG;AACrC,iBAAW,SAAS,UAAU,SAAS;AACtC,eAAO,MAAM,KAAK;AAAA,MAClB;AAAA,IACD;AAED,WAAO,MAAM,UAAU,SAAS;AAAA,EAChC;AAED,4BAA0B,QAAQ,OAAO,OAAO,KAAK;AAErD,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA;AAEK,MAAC,OAAO,CAAC,UAAU,UAAU,OAAO;AACxC,QAAM,gBAAgB,aAAa,UAAU,OAAO;AAEpD,MAAI,cAAc,eAAe;AAChC;EACA;AAED,QAAM,gBAAgB,mBAAmB,aAAa;AACtD,QAAM,SAAS,YAAY,eAAe,aAAa;AAEvD,UAAQ,QAAQ,OAAO,IAAI,MAAM,OAAO,KAAK,OAAO,IAAI,GAAG,EAAE,GAAG,CAAC,IAAI,OAAO,IAAI;AAEhF,SAAO;AACR;","x_google_ignoreList":[0]}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const process = require("node:process");
4
+ const path = require("node:path");
5
+ const node_url = require("node:url");
6
+ const index = require("../../read-pkg-up/index.cjs");
7
+ const utils = require("./utils.cjs");
8
+ const validateOptions = (options) => {
9
+ const invalidOptionFilters = {
10
+ flags: {
11
+ keyContainsDashes: {
12
+ filter: ([flagKey]) => flagKey.includes("-") && flagKey !== "--",
13
+ message: (flagKeys) => `Flag keys may not contain '-'. Invalid flags: ${utils.joinFlagKeys(flagKeys, "")}`
14
+ },
15
+ aliasIsSet: {
16
+ filter: ([, flag]) => Object.hasOwn(flag, "alias"),
17
+ message: (flagKeys) => `The option \`alias\` has been renamed to \`shortFlag\`. The following flags need to be updated: ${utils.joinFlagKeys(flagKeys)}`
18
+ },
19
+ choicesNotAnArray: {
20
+ filter: ([, flag]) => Object.hasOwn(flag, "choices") && !Array.isArray(flag.choices),
21
+ message: (flagKeys) => `The option \`choices\` must be an array. Invalid flags: ${utils.joinFlagKeys(flagKeys)}`
22
+ },
23
+ choicesNotMatchFlagType: {
24
+ filter: ([, flag]) => flag.type && Array.isArray(flag.choices) && flag.choices.some((choice) => typeof choice !== flag.type),
25
+ message(flagKeys) {
26
+ const flagKeysAndTypes = flagKeys.map((flagKey) => `(\`${utils.decamelizeFlagKey(flagKey)}\`, type: '${options.flags[flagKey].type}')`);
27
+ return `Each value of the option \`choices\` must be of the same type as its flag. Invalid flags: ${flagKeysAndTypes.join(", ")}`;
28
+ }
29
+ },
30
+ defaultNotInChoices: {
31
+ filter: ([, flag]) => flag.default && Array.isArray(flag.choices) && ![flag.default].flat().every((value) => flag.choices.includes(value)),
32
+ message: (flagKeys) => `Each value of the option \`default\` must exist within the option \`choices\`. Invalid flags: ${utils.joinFlagKeys(flagKeys)}`
33
+ }
34
+ }
35
+ };
36
+ const errorMessages = [];
37
+ for (const [optionKey, filters] of Object.entries(invalidOptionFilters)) {
38
+ const optionEntries = Object.entries(options[optionKey]);
39
+ for (const { filter, message } of Object.values(filters)) {
40
+ const invalidOptions = optionEntries.filter((option) => filter(option));
41
+ const invalidOptionKeys = invalidOptions.map(([key]) => key);
42
+ if (invalidOptions.length > 0) {
43
+ errorMessages.push(message(invalidOptionKeys));
44
+ }
45
+ }
46
+ }
47
+ if (errorMessages.length > 0) {
48
+ throw new Error(errorMessages.join("\n"));
49
+ }
50
+ };
51
+ const buildOptions = (helpText, options) => {
52
+ var _a;
53
+ if (typeof helpText !== "string") {
54
+ options = helpText;
55
+ helpText = "";
56
+ }
57
+ if (!((_a = options.importMeta) == null ? void 0 : _a.url)) {
58
+ throw new TypeError("The `importMeta` option is required. Its value must be `import.meta`.");
59
+ }
60
+ const foundPackage = index.readPackageUpSync({
61
+ cwd: path.dirname(node_url.fileURLToPath(options.importMeta.url)),
62
+ normalize: false
63
+ });
64
+ const parsedOptions = {
65
+ pkg: foundPackage ? foundPackage.packageJson : {},
66
+ argv: process.argv.slice(2),
67
+ flags: {},
68
+ inferType: false,
69
+ input: "string",
70
+ help: helpText,
71
+ autoHelp: true,
72
+ autoVersion: true,
73
+ booleanDefault: false,
74
+ hardRejection: true,
75
+ allowUnknownFlags: true,
76
+ allowParentFlags: true,
77
+ ...options
78
+ };
79
+ validateOptions(parsedOptions);
80
+ return parsedOptions;
81
+ };
82
+ exports.buildOptions = buildOptions;
83
+ //# sourceMappingURL=options.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.cjs","sources":["../../../../node_modules/meow/source/options.js"],"sourcesContent":["import process from 'node:process';\nimport {dirname} from 'node:path';\nimport {fileURLToPath} from 'node:url';\nimport {readPackageUpSync} from 'read-pkg-up';\nimport {decamelizeFlagKey, joinFlagKeys} from './utils.js';\n\nconst validateOptions = options => {\n\tconst invalidOptionFilters = {\n\t\tflags: {\n\t\t\tkeyContainsDashes: {\n\t\t\t\tfilter: ([flagKey]) => flagKey.includes('-') && flagKey !== '--',\n\t\t\t\tmessage: flagKeys => `Flag keys may not contain '-'. Invalid flags: ${joinFlagKeys(flagKeys, '')}`,\n\t\t\t},\n\t\t\taliasIsSet: {\n\t\t\t\tfilter: ([, flag]) => Object.hasOwn(flag, 'alias'),\n\t\t\t\tmessage: flagKeys => `The option \\`alias\\` has been renamed to \\`shortFlag\\`. The following flags need to be updated: ${joinFlagKeys(flagKeys)}`,\n\t\t\t},\n\t\t\tchoicesNotAnArray: {\n\t\t\t\tfilter: ([, flag]) => Object.hasOwn(flag, 'choices') && !Array.isArray(flag.choices),\n\t\t\t\tmessage: flagKeys => `The option \\`choices\\` must be an array. Invalid flags: ${joinFlagKeys(flagKeys)}`,\n\t\t\t},\n\t\t\tchoicesNotMatchFlagType: {\n\t\t\t\tfilter: ([, flag]) => flag.type && Array.isArray(flag.choices) && flag.choices.some(choice => typeof choice !== flag.type),\n\t\t\t\tmessage(flagKeys) {\n\t\t\t\t\tconst flagKeysAndTypes = flagKeys.map(flagKey => `(\\`${decamelizeFlagKey(flagKey)}\\`, type: '${options.flags[flagKey].type}')`);\n\t\t\t\t\treturn `Each value of the option \\`choices\\` must be of the same type as its flag. Invalid flags: ${flagKeysAndTypes.join(', ')}`;\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefaultNotInChoices: {\n\t\t\t\tfilter: ([, flag]) => flag.default && Array.isArray(flag.choices) && ![flag.default].flat().every(value => flag.choices.includes(value)),\n\t\t\t\tmessage: flagKeys => `Each value of the option \\`default\\` must exist within the option \\`choices\\`. Invalid flags: ${joinFlagKeys(flagKeys)}`,\n\t\t\t},\n\t\t},\n\t};\n\n\tconst errorMessages = [];\n\n\tfor (const [optionKey, filters] of Object.entries(invalidOptionFilters)) {\n\t\tconst optionEntries = Object.entries(options[optionKey]);\n\n\t\tfor (const {filter, message} of Object.values(filters)) {\n\t\t\tconst invalidOptions = optionEntries.filter(option => filter(option));\n\t\t\tconst invalidOptionKeys = invalidOptions.map(([key]) => key);\n\n\t\t\tif (invalidOptions.length > 0) {\n\t\t\t\terrorMessages.push(message(invalidOptionKeys));\n\t\t\t}\n\t\t}\n\t}\n\n\tif (errorMessages.length > 0) {\n\t\tthrow new Error(errorMessages.join('\\n'));\n\t}\n};\n\nexport const buildOptions = (helpText, options) => {\n\tif (typeof helpText !== 'string') {\n\t\toptions = helpText;\n\t\thelpText = '';\n\t}\n\n\tif (!options.importMeta?.url) {\n\t\tthrow new TypeError('The `importMeta` option is required. Its value must be `import.meta`.');\n\t}\n\n\tconst foundPackage = readPackageUpSync({\n\t\tcwd: dirname(fileURLToPath(options.importMeta.url)),\n\t\tnormalize: false,\n\t});\n\n\tconst parsedOptions = {\n\t\tpkg: foundPackage ? foundPackage.packageJson : {},\n\t\targv: process.argv.slice(2),\n\t\tflags: {},\n\t\tinferType: false,\n\t\tinput: 'string',\n\t\thelp: helpText,\n\t\tautoHelp: true,\n\t\tautoVersion: true,\n\t\tbooleanDefault: false,\n\t\thardRejection: true,\n\t\tallowUnknownFlags: true,\n\t\tallowParentFlags: true,\n\t\t...options,\n\t};\n\n\tvalidateOptions(parsedOptions);\n\n\treturn parsedOptions;\n};\n"],"names":["joinFlagKeys","decamelizeFlagKey","readPackageUpSync","dirname","fileURLToPath"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,83 @@
1
+ import process from "node:process";
2
+ import { dirname } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import { readPackageUpSync } from "../../read-pkg-up/index.js";
5
+ import { joinFlagKeys, decamelizeFlagKey } from "./utils.js";
6
+ const validateOptions = (options) => {
7
+ const invalidOptionFilters = {
8
+ flags: {
9
+ keyContainsDashes: {
10
+ filter: ([flagKey]) => flagKey.includes("-") && flagKey !== "--",
11
+ message: (flagKeys) => `Flag keys may not contain '-'. Invalid flags: ${joinFlagKeys(flagKeys, "")}`
12
+ },
13
+ aliasIsSet: {
14
+ filter: ([, flag]) => Object.hasOwn(flag, "alias"),
15
+ message: (flagKeys) => `The option \`alias\` has been renamed to \`shortFlag\`. The following flags need to be updated: ${joinFlagKeys(flagKeys)}`
16
+ },
17
+ choicesNotAnArray: {
18
+ filter: ([, flag]) => Object.hasOwn(flag, "choices") && !Array.isArray(flag.choices),
19
+ message: (flagKeys) => `The option \`choices\` must be an array. Invalid flags: ${joinFlagKeys(flagKeys)}`
20
+ },
21
+ choicesNotMatchFlagType: {
22
+ filter: ([, flag]) => flag.type && Array.isArray(flag.choices) && flag.choices.some((choice) => typeof choice !== flag.type),
23
+ message(flagKeys) {
24
+ const flagKeysAndTypes = flagKeys.map((flagKey) => `(\`${decamelizeFlagKey(flagKey)}\`, type: '${options.flags[flagKey].type}')`);
25
+ return `Each value of the option \`choices\` must be of the same type as its flag. Invalid flags: ${flagKeysAndTypes.join(", ")}`;
26
+ }
27
+ },
28
+ defaultNotInChoices: {
29
+ filter: ([, flag]) => flag.default && Array.isArray(flag.choices) && ![flag.default].flat().every((value) => flag.choices.includes(value)),
30
+ message: (flagKeys) => `Each value of the option \`default\` must exist within the option \`choices\`. Invalid flags: ${joinFlagKeys(flagKeys)}`
31
+ }
32
+ }
33
+ };
34
+ const errorMessages = [];
35
+ for (const [optionKey, filters] of Object.entries(invalidOptionFilters)) {
36
+ const optionEntries = Object.entries(options[optionKey]);
37
+ for (const { filter, message } of Object.values(filters)) {
38
+ const invalidOptions = optionEntries.filter((option) => filter(option));
39
+ const invalidOptionKeys = invalidOptions.map(([key]) => key);
40
+ if (invalidOptions.length > 0) {
41
+ errorMessages.push(message(invalidOptionKeys));
42
+ }
43
+ }
44
+ }
45
+ if (errorMessages.length > 0) {
46
+ throw new Error(errorMessages.join("\n"));
47
+ }
48
+ };
49
+ const buildOptions = (helpText, options) => {
50
+ var _a;
51
+ if (typeof helpText !== "string") {
52
+ options = helpText;
53
+ helpText = "";
54
+ }
55
+ if (!((_a = options.importMeta) == null ? void 0 : _a.url)) {
56
+ throw new TypeError("The `importMeta` option is required. Its value must be `import.meta`.");
57
+ }
58
+ const foundPackage = readPackageUpSync({
59
+ cwd: dirname(fileURLToPath(options.importMeta.url)),
60
+ normalize: false
61
+ });
62
+ const parsedOptions = {
63
+ pkg: foundPackage ? foundPackage.packageJson : {},
64
+ argv: process.argv.slice(2),
65
+ flags: {},
66
+ inferType: false,
67
+ input: "string",
68
+ help: helpText,
69
+ autoHelp: true,
70
+ autoVersion: true,
71
+ booleanDefault: false,
72
+ hardRejection: true,
73
+ allowUnknownFlags: true,
74
+ allowParentFlags: true,
75
+ ...options
76
+ };
77
+ validateOptions(parsedOptions);
78
+ return parsedOptions;
79
+ };
80
+ export {
81
+ buildOptions
82
+ };
83
+ //# sourceMappingURL=options.js.map