nitro-nightly 3.0.0-beta-28969273.f7aa9de6 → 4.0.0-20251010-091516-7cafddba

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 (417) hide show
  1. package/README.md +8 -39
  2. package/dist/_chunks/app.mjs +19797 -0
  3. package/dist/_chunks/build.mjs +84 -0
  4. package/dist/_chunks/build2.mjs +318 -0
  5. package/dist/_chunks/build3.mjs +6452 -0
  6. package/dist/_chunks/detect-acorn.mjs +503 -0
  7. package/dist/_chunks/index.mjs +22242 -0
  8. package/dist/_chunks/index2.mjs +297 -0
  9. package/dist/_chunks/index3.mjs +1058 -0
  10. package/dist/_chunks/index4.mjs +1206 -0
  11. package/dist/_chunks/info.mjs +11157 -0
  12. package/dist/_chunks/json5.mjs +68 -0
  13. package/dist/_chunks/jsonc.mjs +51 -0
  14. package/dist/_chunks/pathe.M-eThtNZ.mjs +204 -0
  15. package/dist/_chunks/plugin.mjs +960 -0
  16. package/dist/_chunks/server.mjs +254 -0
  17. package/dist/_chunks/snapshot.mjs +284 -0
  18. package/dist/_chunks/toml.mjs +259 -0
  19. package/dist/_chunks/yaml.mjs +86 -0
  20. package/dist/cli/build.mjs +10 -3
  21. package/dist/cli/dev.mjs +41 -9
  22. package/dist/cli/index.mjs +460 -1
  23. package/dist/cli/index2.mjs +4 -1
  24. package/dist/cli/list.mjs +10 -4
  25. package/dist/cli/prepare.mjs +6 -3
  26. package/dist/cli/run.mjs +7 -4
  27. package/dist/index.d.mts +52 -0
  28. package/dist/index.mjs +55 -0
  29. package/dist/node_modules/@poppinss/colors/build/index.js +169 -0
  30. package/dist/node_modules/@poppinss/colors/package.json +116 -0
  31. package/dist/node_modules/@poppinss/dumper/build/chunk-26HALFTP.js +602 -0
  32. package/dist/node_modules/@poppinss/dumper/build/formatters/console/main.js +441 -0
  33. package/dist/node_modules/@poppinss/dumper/build/formatters/html/main.js +717 -0
  34. package/dist/node_modules/@poppinss/dumper/package.json +122 -0
  35. package/dist/node_modules/@poppinss/exception/build/index.js +63 -0
  36. package/dist/node_modules/@poppinss/exception/package.json +106 -0
  37. package/dist/node_modules/@sindresorhus/is/distribution/index.js +1313 -0
  38. package/dist/node_modules/@sindresorhus/is/distribution/utilities.js +3 -0
  39. package/dist/node_modules/@sindresorhus/is/package.json +81 -0
  40. package/dist/node_modules/@speed-highlight/core/dist/index.js +4 -0
  41. package/dist/node_modules/@speed-highlight/core/dist/terminal.js +2 -0
  42. package/dist/node_modules/@speed-highlight/core/package.json +90 -0
  43. package/dist/node_modules/cookie/dist/index.js +239 -0
  44. package/dist/node_modules/cookie/package.json +42 -0
  45. package/dist/node_modules/croner/dist/croner.js +1 -0
  46. package/dist/node_modules/croner/package.json +63 -0
  47. package/dist/node_modules/defu/dist/defu.mjs +69 -0
  48. package/dist/node_modules/defu/package.json +43 -0
  49. package/dist/node_modules/destr/dist/index.mjs +72 -0
  50. package/dist/node_modules/destr/package.json +47 -0
  51. package/dist/node_modules/error-stack-parser-es/dist/index.mjs +38 -0
  52. package/dist/node_modules/error-stack-parser-es/dist/lite.mjs +167 -0
  53. package/dist/node_modules/error-stack-parser-es/package.json +83 -0
  54. package/dist/node_modules/get-port-please/dist/index.mjs +430 -0
  55. package/dist/node_modules/get-port-please/package.json +39 -0
  56. package/dist/node_modules/hookable/dist/index.mjs +290 -0
  57. package/dist/node_modules/hookable/package.json +49 -0
  58. package/dist/node_modules/kleur/index.js +110 -0
  59. package/dist/node_modules/kleur/index.mjs +110 -0
  60. package/dist/node_modules/kleur/package.json +51 -0
  61. package/dist/node_modules/klona/dist/index.mjs +81 -0
  62. package/dist/node_modules/klona/full/index.mjs +53 -0
  63. package/dist/node_modules/klona/package.json +74 -0
  64. package/dist/node_modules/scule/dist/index.mjs +80 -0
  65. package/dist/node_modules/scule/package.json +43 -0
  66. package/dist/node_modules/source-map/lib/array-set.js +100 -0
  67. package/dist/node_modules/source-map/lib/base64-vlq.js +94 -0
  68. package/dist/node_modules/source-map/lib/base64.js +19 -0
  69. package/dist/node_modules/source-map/lib/binary-search.js +113 -0
  70. package/dist/node_modules/source-map/lib/mapping-list.js +83 -0
  71. package/dist/node_modules/source-map/lib/mappings.wasm +0 -0
  72. package/dist/node_modules/source-map/lib/read-wasm.js +27 -0
  73. package/dist/node_modules/source-map/lib/source-map-consumer.js +1081 -0
  74. package/dist/node_modules/source-map/lib/source-map-generator.js +439 -0
  75. package/dist/node_modules/source-map/lib/source-node.js +430 -0
  76. package/dist/node_modules/source-map/lib/url.js +13 -0
  77. package/dist/node_modules/source-map/lib/util.js +444 -0
  78. package/dist/node_modules/source-map/lib/wasm.js +138 -0
  79. package/dist/node_modules/source-map/package.json +79 -0
  80. package/dist/node_modules/source-map/source-map.js +10 -0
  81. package/dist/node_modules/std-env/dist/index.mjs +1 -0
  82. package/dist/node_modules/std-env/package.json +46 -0
  83. package/dist/node_modules/supports-color/index.js +202 -0
  84. package/dist/node_modules/supports-color/package.json +64 -0
  85. package/dist/node_modules/ufo/dist/index.mjs +638 -0
  86. package/dist/node_modules/ufo/package.json +47 -0
  87. package/dist/node_modules/unctx/dist/index.mjs +131 -0
  88. package/dist/node_modules/unctx/package.json +67 -0
  89. package/dist/node_modules/youch/build/chunk-4L7RY2JA.js +42 -0
  90. package/dist/node_modules/youch/build/chunk-4XB2BYKC.js +85 -0
  91. package/dist/node_modules/youch/build/chunk-4YEN7HVQ.js +61 -0
  92. package/dist/node_modules/youch/build/chunk-EUJBVOYB.js +83 -0
  93. package/dist/node_modules/youch/build/chunk-HFSXRSKS.js +85 -0
  94. package/dist/node_modules/youch/build/chunk-JAN2TFI2.js +222 -0
  95. package/dist/node_modules/youch/build/chunk-OSUFJZHZ.js +6 -0
  96. package/dist/node_modules/youch/build/chunk-PINJDICN.js +72 -0
  97. package/dist/node_modules/youch/build/chunk-PUHGL6HA.js +41 -0
  98. package/dist/node_modules/youch/build/chunk-VE4LENUR.js +45 -0
  99. package/dist/node_modules/youch/build/index.js +352 -0
  100. package/dist/node_modules/youch/build/public/error_cause/style.css +5 -0
  101. package/dist/node_modules/youch/build/public/error_info/script.js +13 -0
  102. package/dist/node_modules/youch/build/public/error_info/style.css +144 -0
  103. package/dist/node_modules/youch/build/public/error_stack/script.js +74 -0
  104. package/dist/node_modules/youch/build/public/error_stack/style.css +220 -0
  105. package/dist/node_modules/youch/build/public/error_stack_source/style.css +123 -0
  106. package/dist/node_modules/youch/build/public/header/script.js +16 -0
  107. package/dist/node_modules/youch/build/public/header/style.css +56 -0
  108. package/dist/node_modules/youch/build/public/layout/script.js +20 -0
  109. package/dist/node_modules/youch/build/public/layout/style.css +431 -0
  110. package/dist/node_modules/youch/package.json +133 -0
  111. package/dist/node_modules/youch-core/build/index.js +316 -0
  112. package/dist/node_modules/youch-core/package.json +124 -0
  113. package/dist/presets/_nitro/runtime/nitro-dev.mjs +48 -73
  114. package/dist/presets/_nitro/runtime/{nitro-prerenderer.d.ts → nitro-prerenderer.d.mts} +1 -1
  115. package/dist/presets/_nitro/runtime/nitro-prerenderer.mjs +12 -1
  116. package/dist/presets/_nitro/runtime/service-worker.mjs +5 -15
  117. package/dist/presets/aws-amplify/runtime/aws-amplify.mjs +2 -2
  118. package/dist/presets/aws-lambda/runtime/_utils.d.mts +18 -0
  119. package/dist/presets/aws-lambda/runtime/_utils.mjs +102 -0
  120. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.d.mts +3 -0
  121. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.mjs +12 -32
  122. package/dist/presets/aws-lambda/runtime/aws-lambda.d.mts +3 -0
  123. package/dist/presets/aws-lambda/runtime/aws-lambda.mjs +6 -38
  124. package/dist/{runtime/internal/utils.azure.d.ts → presets/azure/runtime/_utils.d.mts} +1 -1
  125. package/dist/{runtime/internal/utils.azure.mjs → presets/azure/runtime/_utils.mjs} +3 -4
  126. package/dist/presets/azure/runtime/azure-swa.mjs +11 -13
  127. package/dist/presets/bun/runtime/bun.mjs +13 -18
  128. package/dist/presets/cloudflare/runtime/_module-handler.d.mts +13 -0
  129. package/dist/presets/cloudflare/runtime/_module-handler.mjs +93 -0
  130. package/dist/presets/cloudflare/runtime/cloudflare-durable.d.mts +19 -0
  131. package/dist/presets/cloudflare/runtime/cloudflare-durable.mjs +74 -0
  132. package/dist/presets/cloudflare/runtime/cloudflare-module.d.mts +9 -0
  133. package/dist/presets/cloudflare/runtime/cloudflare-module.mjs +13 -97
  134. package/dist/presets/cloudflare/runtime/{cloudflare-pages.d.ts → cloudflare-pages.d.mts} +1 -1
  135. package/dist/presets/cloudflare/runtime/cloudflare-pages.mjs +19 -27
  136. package/dist/{runtime/internal/timing.d.ts → presets/cloudflare/runtime/plugin.dev.d.mts} +1 -0
  137. package/dist/presets/cloudflare/runtime/plugin.dev.mjs +89 -0
  138. package/dist/presets/deno/runtime/deno-deploy.mjs +11 -25
  139. package/dist/presets/deno/runtime/deno-server.d.mts +6 -0
  140. package/dist/presets/deno/runtime/deno-server.mjs +15 -21
  141. package/dist/presets/netlify/runtime/netlify-edge.d.mts +3 -0
  142. package/dist/presets/netlify/runtime/netlify-edge.mjs +8 -16
  143. package/dist/presets/netlify/runtime/netlify.mjs +16 -45
  144. package/dist/presets/node/runtime/{cluster.mjs → node-cluster.mjs} +1 -3
  145. package/dist/presets/node/runtime/node-middleware.d.mts +4 -0
  146. package/dist/presets/node/runtime/{node-listener.mjs → node-middleware.mjs} +3 -4
  147. package/dist/presets/node/runtime/node-server.mjs +3 -4
  148. package/dist/presets/standard/runtime/server.d.mts +5 -0
  149. package/dist/presets/standard/runtime/server.mjs +6 -0
  150. package/dist/presets/stormkit/runtime/stormkit.mjs +8 -12
  151. package/dist/presets/vercel/runtime/vercel.d.mts +8 -0
  152. package/dist/presets/vercel/runtime/vercel.mjs +11 -11
  153. package/dist/presets/winterjs/runtime/winterjs.mjs +22 -4
  154. package/dist/presets/{node/runtime/node-server.d.ts → zeabur/runtime/zeabur.d.mts} +1 -1
  155. package/dist/presets/zeabur/runtime/zeabur.mjs +2 -6
  156. package/dist/presets.mjs +2460 -0
  157. package/dist/runtime/index.d.mts +11 -0
  158. package/dist/runtime/index.mjs +8 -8
  159. package/dist/runtime/internal/app.d.mts +2 -0
  160. package/dist/runtime/internal/app.mjs +129 -128
  161. package/dist/runtime/internal/cache.d.mts +7 -0
  162. package/dist/runtime/internal/cache.mjs +82 -175
  163. package/dist/runtime/internal/{context.d.ts → context.d.mts} +3 -3
  164. package/dist/runtime/internal/context.mjs +6 -6
  165. package/dist/runtime/internal/error/dev.d.mts +9 -0
  166. package/dist/runtime/internal/error/dev.mjs +122 -0
  167. package/dist/runtime/internal/error/prod.d.mts +8 -0
  168. package/dist/runtime/internal/error/prod.mjs +62 -0
  169. package/dist/runtime/internal/error/utils.d.mts +8 -0
  170. package/dist/runtime/internal/error/utils.mjs +3 -0
  171. package/dist/runtime/internal/index.d.mts +3 -0
  172. package/dist/runtime/internal/index.mjs +1 -14
  173. package/dist/runtime/internal/renderer.d.mts +3 -0
  174. package/dist/runtime/internal/renderer.mjs +29 -33
  175. package/dist/runtime/internal/route-rules.d.mts +8 -0
  176. package/dist/runtime/internal/route-rules.mjs +58 -63
  177. package/dist/runtime/internal/routes/dev-tasks.d.mts +3 -0
  178. package/dist/runtime/internal/routes/dev-tasks.mjs +23 -0
  179. package/dist/runtime/internal/routes/openapi.d.mts +3 -0
  180. package/dist/runtime/internal/routes/openapi.mjs +24 -9
  181. package/dist/runtime/internal/routes/renderer-template.d.mts +2 -0
  182. package/dist/runtime/internal/routes/renderer-template.dev.d.mts +3 -0
  183. package/dist/runtime/internal/routes/renderer-template.dev.mjs +21 -0
  184. package/dist/runtime/internal/routes/renderer-template.mjs +4 -0
  185. package/dist/runtime/internal/routes/scalar.d.mts +3 -0
  186. package/dist/runtime/internal/routes/scalar.mjs +7 -4
  187. package/dist/runtime/internal/routes/swagger.d.mts +3 -0
  188. package/dist/runtime/internal/routes/swagger.mjs +5 -4
  189. package/dist/runtime/internal/{utils.env.d.ts → runtime-config.d.mts} +4 -2
  190. package/dist/runtime/internal/{utils.env.mjs → runtime-config.mjs} +16 -6
  191. package/dist/runtime/internal/static.d.mts +3 -0
  192. package/dist/runtime/internal/static.mjs +24 -36
  193. package/dist/runtime/internal/storage.mjs +2 -1
  194. package/dist/runtime/internal/task.mjs +6 -6
  195. package/dist/runtime/internal/utils.d.mts +1 -0
  196. package/dist/runtime/internal/utils.mjs +1 -116
  197. package/dist/runtime/internal/vite/dev-entry.d.mts +1 -0
  198. package/dist/runtime/internal/vite/dev-entry.mjs +6 -0
  199. package/dist/runtime/internal/vite/dev-worker.mjs +362 -0
  200. package/dist/runtime/internal/vite/prod-setup.d.mts +4 -0
  201. package/dist/runtime/internal/vite/prod-setup.mjs +55 -0
  202. package/dist/runtime/internal/vite/ssr-renderer.d.mts +4 -0
  203. package/dist/runtime/internal/vite/ssr-renderer.mjs +4 -0
  204. package/dist/types/index.d.mts +2688 -138
  205. package/dist/vite.d.mts +59 -0
  206. package/dist/vite.mjs +68 -0
  207. package/lib/config.d.mts +9 -0
  208. package/lib/deps/h3.d.mts +1 -0
  209. package/lib/deps/h3.mjs +1 -0
  210. package/lib/deps/ofetch.mjs +1 -0
  211. package/lib/deps/ofetch.mts +1 -0
  212. package/lib/meta.d.mts +5 -0
  213. package/lib/meta.mjs +21 -0
  214. package/{runtime-meta.d.ts → lib/runtime-meta.d.mts} +1 -0
  215. package/{runtime-meta.mjs → lib/runtime-meta.mjs} +12 -4
  216. package/package.json +142 -160
  217. package/cli.d.ts +0 -1
  218. package/config.d.ts +0 -1
  219. package/core.d.ts +0 -1
  220. package/dist/cli/index.d.ts +0 -1
  221. package/dist/config/index.d.mts +0 -6
  222. package/dist/config/index.d.ts +0 -6
  223. package/dist/core/index.d.mts +0 -30
  224. package/dist/core/index.d.ts +0 -30
  225. package/dist/core/index.mjs +0 -2456
  226. package/dist/kit/index.d.mts +0 -44
  227. package/dist/kit/index.d.ts +0 -44
  228. package/dist/kit/index.mjs +0 -71
  229. package/dist/meta/index.d.mts +0 -3
  230. package/dist/meta/index.d.ts +0 -3
  231. package/dist/meta/index.mjs +0 -3
  232. package/dist/presets/_all.gen.d.ts +0 -2
  233. package/dist/presets/_all.gen.mjs +0 -52
  234. package/dist/presets/_nitro/base-worker.d.ts +0 -2
  235. package/dist/presets/_nitro/base-worker.mjs +0 -25
  236. package/dist/presets/_nitro/nitro-dev.d.ts +0 -2
  237. package/dist/presets/_nitro/nitro-dev.mjs +0 -19
  238. package/dist/presets/_nitro/nitro-prerender.d.ts +0 -2
  239. package/dist/presets/_nitro/nitro-prerender.mjs +0 -17
  240. package/dist/presets/_nitro/preset.d.ts +0 -2
  241. package/dist/presets/_nitro/preset.mjs +0 -5
  242. package/dist/presets/_nitro/service-worker.d.ts +0 -2
  243. package/dist/presets/_nitro/service-worker.mjs +0 -110
  244. package/dist/presets/_resolve.d.ts +0 -8
  245. package/dist/presets/_resolve.mjs +0 -44
  246. package/dist/presets/_static/preset.d.ts +0 -2
  247. package/dist/presets/_static/preset.mjs +0 -69
  248. package/dist/presets/_types.gen.d.ts +0 -16
  249. package/dist/presets/alwaysdata/preset.d.ts +0 -2
  250. package/dist/presets/alwaysdata/preset.mjs +0 -14
  251. package/dist/presets/aws-amplify/preset.d.ts +0 -3
  252. package/dist/presets/aws-amplify/preset.mjs +0 -27
  253. package/dist/presets/aws-amplify/types.d.ts +0 -141
  254. package/dist/presets/aws-amplify/utils.d.ts +0 -2
  255. package/dist/presets/aws-amplify/utils.mjs +0 -82
  256. package/dist/presets/aws-lambda/preset.d.ts +0 -2
  257. package/dist/presets/aws-lambda/preset.mjs +0 -21
  258. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.d.ts +0 -14
  259. package/dist/presets/aws-lambda/runtime/aws-lambda.d.ts +0 -4
  260. package/dist/presets/azure/preset.d.ts +0 -3
  261. package/dist/presets/azure/preset.mjs +0 -44
  262. package/dist/presets/azure/runtime/azure-functions.mjs +0 -24
  263. package/dist/presets/azure/runtime/azure-swa.d.ts +0 -5
  264. package/dist/presets/azure/types.d.ts +0 -13
  265. package/dist/presets/azure/types.mjs +0 -0
  266. package/dist/presets/azure/utils.d.ts +0 -3
  267. package/dist/presets/azure/utils.mjs +0 -183
  268. package/dist/presets/bun/preset.d.ts +0 -2
  269. package/dist/presets/bun/preset.mjs +0 -17
  270. package/dist/presets/cleavr/preset.d.ts +0 -2
  271. package/dist/presets/cleavr/preset.mjs +0 -12
  272. package/dist/presets/cloudflare/preset.d.ts +0 -3
  273. package/dist/presets/cloudflare/preset.mjs +0 -145
  274. package/dist/presets/cloudflare/runtime/cloudflare-module.d.ts +0 -13
  275. package/dist/presets/cloudflare/runtime/cloudflare-worker.mjs +0 -64
  276. package/dist/presets/cloudflare/types.d.ts +0 -89
  277. package/dist/presets/cloudflare/types.mjs +0 -0
  278. package/dist/presets/cloudflare/types.wrangler.d.ts +0 -974
  279. package/dist/presets/cloudflare/types.wrangler.mjs +0 -0
  280. package/dist/presets/cloudflare/utils.d.ts +0 -3
  281. package/dist/presets/cloudflare/utils.mjs +0 -163
  282. package/dist/presets/deno/preset.d.ts +0 -2
  283. package/dist/presets/deno/preset.mjs +0 -148
  284. package/dist/presets/deno/runtime/_deno-env-polyfill.d.ts +0 -0
  285. package/dist/presets/deno/runtime/_deno-env-polyfill.mjs +0 -1
  286. package/dist/presets/digitalocean/preset.d.ts +0 -2
  287. package/dist/presets/digitalocean/preset.mjs +0 -11
  288. package/dist/presets/edgio/preset.d.ts +0 -2
  289. package/dist/presets/edgio/preset.mjs +0 -95
  290. package/dist/presets/firebase/preset.d.ts +0 -3
  291. package/dist/presets/firebase/preset.mjs +0 -50
  292. package/dist/presets/firebase/runtime/firebase-gen-1.d.ts +0 -2
  293. package/dist/presets/firebase/runtime/firebase-gen-1.mjs +0 -7
  294. package/dist/presets/firebase/runtime/firebase-gen-2.d.ts +0 -2
  295. package/dist/presets/firebase/runtime/firebase-gen-2.mjs +0 -14
  296. package/dist/presets/firebase/runtime/firebase-gen-default.d.ts +0 -1
  297. package/dist/presets/firebase/runtime/firebase-gen-default.mjs +0 -1
  298. package/dist/presets/firebase/types.d.ts +0 -38
  299. package/dist/presets/firebase/types.mjs +0 -0
  300. package/dist/presets/firebase/utils.d.ts +0 -3
  301. package/dist/presets/firebase/utils.mjs +0 -50
  302. package/dist/presets/flightcontrol/preset.d.ts +0 -2
  303. package/dist/presets/flightcontrol/preset.mjs +0 -11
  304. package/dist/presets/heroku/preset.d.ts +0 -2
  305. package/dist/presets/heroku/preset.mjs +0 -11
  306. package/dist/presets/iis/preset.d.ts +0 -2
  307. package/dist/presets/iis/preset.mjs +0 -32
  308. package/dist/presets/iis/utils.d.ts +0 -3
  309. package/dist/presets/iis/utils.mjs +0 -161
  310. package/dist/presets/index.d.mts +0 -1
  311. package/dist/presets/index.d.ts +0 -2
  312. package/dist/presets/index.mjs +0 -1
  313. package/dist/presets/koyeb/preset.d.ts +0 -2
  314. package/dist/presets/koyeb/preset.mjs +0 -11
  315. package/dist/presets/netlify/legacy/preset.d.ts +0 -2
  316. package/dist/presets/netlify/legacy/preset.mjs +0 -143
  317. package/dist/presets/netlify/legacy/runtime/_deno-env-polyfill.d.ts +0 -0
  318. package/dist/presets/netlify/legacy/runtime/_deno-env-polyfill.mjs +0 -1
  319. package/dist/presets/netlify/legacy/runtime/netlify-builder.d.ts +0 -3
  320. package/dist/presets/netlify/legacy/runtime/netlify-builder.mjs +0 -5
  321. package/dist/presets/netlify/legacy/runtime/netlify-edge.d.ts +0 -2
  322. package/dist/presets/netlify/legacy/runtime/netlify-edge.mjs +0 -25
  323. package/dist/presets/netlify/legacy/runtime/netlify-lambda.d.ts +0 -3
  324. package/dist/presets/netlify/legacy/runtime/netlify-lambda.mjs +0 -38
  325. package/dist/presets/netlify/legacy/runtime/netlify.d.ts +0 -4
  326. package/dist/presets/netlify/legacy/runtime/netlify.mjs +0 -22
  327. package/dist/presets/netlify/legacy/utils.d.ts +0 -4
  328. package/dist/presets/netlify/legacy/utils.mjs +0 -113
  329. package/dist/presets/netlify/preset.d.ts +0 -3
  330. package/dist/presets/netlify/preset.mjs +0 -128
  331. package/dist/presets/netlify/runtime/_deno-env-polyfill.d.ts +0 -0
  332. package/dist/presets/netlify/runtime/_deno-env-polyfill.mjs +0 -1
  333. package/dist/presets/netlify/runtime/netlify-edge.d.ts +0 -2
  334. package/dist/presets/netlify/types.d.ts +0 -12
  335. package/dist/presets/netlify/types.mjs +0 -0
  336. package/dist/presets/netlify/utils.d.ts +0 -5
  337. package/dist/presets/netlify/utils.mjs +0 -94
  338. package/dist/presets/node/preset.d.ts +0 -2
  339. package/dist/presets/node/preset.mjs +0 -49
  340. package/dist/presets/node/runtime/cli.d.ts +0 -1
  341. package/dist/presets/node/runtime/cli.mjs +0 -22
  342. package/dist/presets/node/runtime/node-listener.d.ts +0 -6
  343. package/dist/presets/platform.sh/preset.d.ts +0 -2
  344. package/dist/presets/platform.sh/preset.mjs +0 -11
  345. package/dist/presets/render.com/preset.d.ts +0 -2
  346. package/dist/presets/render.com/preset.mjs +0 -11
  347. package/dist/presets/stormkit/preset.d.ts +0 -2
  348. package/dist/presets/stormkit/preset.mjs +0 -15
  349. package/dist/presets/vercel/preset.d.ts +0 -3
  350. package/dist/presets/vercel/preset.mjs +0 -104
  351. package/dist/presets/vercel/runtime/vercel-edge.d.ts +0 -2
  352. package/dist/presets/vercel/runtime/vercel-edge.mjs +0 -22
  353. package/dist/presets/vercel/runtime/vercel.d.ts +0 -4
  354. package/dist/presets/vercel/types.d.ts +0 -78
  355. package/dist/presets/vercel/types.mjs +0 -0
  356. package/dist/presets/vercel/utils.d.ts +0 -5
  357. package/dist/presets/vercel/utils.mjs +0 -186
  358. package/dist/presets/winterjs/preset.d.ts +0 -2
  359. package/dist/presets/winterjs/preset.mjs +0 -20
  360. package/dist/presets/winterjs/runtime/winterjs.d.ts +0 -1
  361. package/dist/presets/zeabur/preset.d.ts +0 -2
  362. package/dist/presets/zeabur/preset.mjs +0 -70
  363. package/dist/presets/zeabur/runtime/zeabur.d.ts +0 -4
  364. package/dist/rollup/index.d.mts +0 -5
  365. package/dist/rollup/index.d.ts +0 -5
  366. package/dist/rollup/index.mjs +0 -1673
  367. package/dist/runtime/index.d.ts +0 -12
  368. package/dist/runtime/internal/app.d.ts +0 -3
  369. package/dist/runtime/internal/cache.d.ts +0 -8
  370. package/dist/runtime/internal/client.mjs +0 -4
  371. package/dist/runtime/internal/config.d.ts +0 -5
  372. package/dist/runtime/internal/config.mjs +0 -45
  373. package/dist/runtime/internal/error.d.ts +0 -4
  374. package/dist/runtime/internal/error.mjs +0 -73
  375. package/dist/runtime/internal/index.d.ts +0 -6
  376. package/dist/runtime/internal/renderer.d.ts +0 -2
  377. package/dist/runtime/internal/route-rules.d.ts +0 -14
  378. package/dist/runtime/internal/routes/openapi.d.ts +0 -3
  379. package/dist/runtime/internal/routes/scalar.d.ts +0 -2
  380. package/dist/runtime/internal/routes/swagger.d.ts +0 -2
  381. package/dist/runtime/internal/static.d.ts +0 -2
  382. package/dist/runtime/internal/timing.mjs +0 -29
  383. package/dist/runtime/internal/utils.d.ts +0 -21
  384. package/dist/runtime/internal/utils.lambda.d.ts +0 -10
  385. package/dist/runtime/internal/utils.lambda.mjs +0 -30
  386. package/dist/shared/nitro.bra5i6ER.d.mts +0 -620
  387. package/dist/shared/nitro.bra5i6ER.d.ts +0 -620
  388. package/dist/types/index.d.ts +0 -260
  389. package/kit.d.ts +0 -1
  390. package/meta.d.ts +0 -1
  391. package/presets.d.ts +0 -1
  392. package/rollup.d.ts +0 -1
  393. package/runtime.d.ts +0 -1
  394. package/types.d.ts +0 -1
  395. /package/dist/presets/_nitro/runtime/{nitro-dev.d.ts → nitro-dev.d.mts} +0 -0
  396. /package/dist/presets/_nitro/runtime/{service-worker.d.ts → service-worker.d.mts} +0 -0
  397. /package/dist/presets/aws-amplify/runtime/{aws-amplify.d.ts → aws-amplify.d.mts} +0 -0
  398. /package/dist/presets/azure/runtime/{azure-functions.d.ts → azure-swa.d.mts} +0 -0
  399. /package/dist/presets/bun/runtime/{bun.d.ts → bun.d.mts} +0 -0
  400. /package/dist/presets/{cloudflare/runtime/cloudflare-worker.d.ts → deno/runtime/deno-deploy.d.mts} +0 -0
  401. /package/dist/presets/netlify/runtime/{netlify.d.ts → netlify.d.mts} +0 -0
  402. /package/dist/presets/node/runtime/{cluster.d.ts → node-cluster.d.mts} +0 -0
  403. /package/dist/presets/{deno/runtime/deno-server.d.ts → node/runtime/node-server.d.mts} +0 -0
  404. /package/dist/presets/stormkit/runtime/{stormkit.d.ts → stormkit.d.mts} +0 -0
  405. /package/dist/presets/{deno/runtime/deno-deploy.d.ts → winterjs/runtime/winterjs.d.mts} +0 -0
  406. /package/dist/runtime/internal/{database.d.ts → database.d.mts} +0 -0
  407. /package/dist/runtime/internal/{debug.d.ts → debug.d.mts} +0 -0
  408. /package/dist/{presets/_types.gen.mjs → runtime/internal/empty.d.mts} +0 -0
  409. /package/dist/{presets/aws-amplify/types.mjs → runtime/internal/empty.mjs} +0 -0
  410. /package/dist/runtime/internal/lib/{http-graceful-shutdown.d.ts → http-graceful-shutdown.d.mts} +0 -0
  411. /package/dist/runtime/internal/{meta.d.ts → meta.d.mts} +0 -0
  412. /package/dist/runtime/internal/{plugin.d.ts → plugin.d.mts} +0 -0
  413. /package/dist/runtime/internal/{shutdown.d.ts → shutdown.d.mts} +0 -0
  414. /package/dist/runtime/internal/{storage.d.ts → storage.d.mts} +0 -0
  415. /package/dist/runtime/internal/{task.d.ts → task.d.mts} +0 -0
  416. /package/dist/runtime/internal/{client.d.ts → vite/dev-worker.d.mts} +0 -0
  417. /package/{dist/config/index.mjs → lib/config.mjs} +0 -0
@@ -0,0 +1,1313 @@
1
+ import { keysOf } from './utilities.js';
2
+ const typedArrayTypeNames = [
3
+ 'Int8Array',
4
+ 'Uint8Array',
5
+ 'Uint8ClampedArray',
6
+ 'Int16Array',
7
+ 'Uint16Array',
8
+ 'Int32Array',
9
+ 'Uint32Array',
10
+ 'Float32Array',
11
+ 'Float64Array',
12
+ 'BigInt64Array',
13
+ 'BigUint64Array',
14
+ ];
15
+ function isTypedArrayName(name) {
16
+ return typedArrayTypeNames.includes(name);
17
+ }
18
+ const objectTypeNames = [
19
+ 'Function',
20
+ 'Generator',
21
+ 'AsyncGenerator',
22
+ 'GeneratorFunction',
23
+ 'AsyncGeneratorFunction',
24
+ 'AsyncFunction',
25
+ 'Observable',
26
+ 'Array',
27
+ 'Buffer',
28
+ 'Blob',
29
+ 'Object',
30
+ 'RegExp',
31
+ 'Date',
32
+ 'Error',
33
+ 'Map',
34
+ 'Set',
35
+ 'WeakMap',
36
+ 'WeakSet',
37
+ 'WeakRef',
38
+ 'ArrayBuffer',
39
+ 'SharedArrayBuffer',
40
+ 'DataView',
41
+ 'Promise',
42
+ 'URL',
43
+ 'FormData',
44
+ 'URLSearchParams',
45
+ 'HTMLElement',
46
+ 'NaN',
47
+ ...typedArrayTypeNames,
48
+ ];
49
+ function isObjectTypeName(name) {
50
+ return objectTypeNames.includes(name);
51
+ }
52
+ const primitiveTypeNames = [
53
+ 'null',
54
+ 'undefined',
55
+ 'string',
56
+ 'number',
57
+ 'bigint',
58
+ 'boolean',
59
+ 'symbol',
60
+ ];
61
+ function isPrimitiveTypeName(name) {
62
+ return primitiveTypeNames.includes(name);
63
+ }
64
+ const assertionTypeDescriptions = [
65
+ 'positive number',
66
+ 'negative number',
67
+ 'Class',
68
+ 'string with a number',
69
+ 'null or undefined',
70
+ 'Iterable',
71
+ 'AsyncIterable',
72
+ 'native Promise',
73
+ 'EnumCase',
74
+ 'string with a URL',
75
+ 'truthy',
76
+ 'falsy',
77
+ 'primitive',
78
+ 'integer',
79
+ 'plain object',
80
+ 'TypedArray',
81
+ 'array-like',
82
+ 'tuple-like',
83
+ 'Node.js Stream',
84
+ 'infinite number',
85
+ 'empty array',
86
+ 'non-empty array',
87
+ 'empty string',
88
+ 'empty string or whitespace',
89
+ 'non-empty string',
90
+ 'non-empty string and not whitespace',
91
+ 'empty object',
92
+ 'non-empty object',
93
+ 'empty set',
94
+ 'non-empty set',
95
+ 'empty map',
96
+ 'non-empty map',
97
+ 'PropertyKey',
98
+ 'even integer',
99
+ 'odd integer',
100
+ 'T',
101
+ 'in range',
102
+ 'predicate returns truthy for any value',
103
+ 'predicate returns truthy for all values',
104
+ 'valid Date',
105
+ 'valid length',
106
+ 'whitespace string',
107
+ ...objectTypeNames,
108
+ ...primitiveTypeNames,
109
+ ];
110
+ const getObjectType = (value) => {
111
+ const objectTypeName = Object.prototype.toString.call(value).slice(8, -1);
112
+ if (/HTML\w+Element/.test(objectTypeName) && isHtmlElement(value)) {
113
+ return 'HTMLElement';
114
+ }
115
+ if (isObjectTypeName(objectTypeName)) {
116
+ return objectTypeName;
117
+ }
118
+ return undefined;
119
+ };
120
+ function detect(value) {
121
+ if (value === null) {
122
+ return 'null';
123
+ }
124
+ switch (typeof value) {
125
+ case 'undefined': {
126
+ return 'undefined';
127
+ }
128
+ case 'string': {
129
+ return 'string';
130
+ }
131
+ case 'number': {
132
+ return Number.isNaN(value) ? 'NaN' : 'number';
133
+ }
134
+ case 'boolean': {
135
+ return 'boolean';
136
+ }
137
+ case 'function': {
138
+ return 'Function';
139
+ }
140
+ case 'bigint': {
141
+ return 'bigint';
142
+ }
143
+ case 'symbol': {
144
+ return 'symbol';
145
+ }
146
+ default:
147
+ }
148
+ if (isObservable(value)) {
149
+ return 'Observable';
150
+ }
151
+ if (isArray(value)) {
152
+ return 'Array';
153
+ }
154
+ if (isBuffer(value)) {
155
+ return 'Buffer';
156
+ }
157
+ const tagType = getObjectType(value);
158
+ if (tagType && tagType !== 'Object') {
159
+ return tagType;
160
+ }
161
+ if (hasPromiseApi(value)) {
162
+ return 'Promise';
163
+ }
164
+ if (value instanceof String || value instanceof Boolean || value instanceof Number) {
165
+ throw new TypeError('Please don\'t use object wrappers for primitive types');
166
+ }
167
+ return 'Object';
168
+ }
169
+ function hasPromiseApi(value) {
170
+ return isFunction(value?.then) && isFunction(value?.catch);
171
+ }
172
+ const is = Object.assign(detect, {
173
+ all: isAll,
174
+ any: isAny,
175
+ array: isArray,
176
+ arrayBuffer: isArrayBuffer,
177
+ arrayLike: isArrayLike,
178
+ asyncFunction: isAsyncFunction,
179
+ asyncGenerator: isAsyncGenerator,
180
+ asyncGeneratorFunction: isAsyncGeneratorFunction,
181
+ asyncIterable: isAsyncIterable,
182
+ bigint: isBigint,
183
+ bigInt64Array: isBigInt64Array,
184
+ bigUint64Array: isBigUint64Array,
185
+ blob: isBlob,
186
+ boolean: isBoolean,
187
+ boundFunction: isBoundFunction,
188
+ buffer: isBuffer,
189
+ class: isClass,
190
+ dataView: isDataView,
191
+ date: isDate,
192
+ detect,
193
+ directInstanceOf: isDirectInstanceOf,
194
+ emptyArray: isEmptyArray,
195
+ emptyMap: isEmptyMap,
196
+ emptyObject: isEmptyObject,
197
+ emptySet: isEmptySet,
198
+ emptyString: isEmptyString,
199
+ emptyStringOrWhitespace: isEmptyStringOrWhitespace,
200
+ enumCase: isEnumCase,
201
+ error: isError,
202
+ evenInteger: isEvenInteger,
203
+ falsy: isFalsy,
204
+ float32Array: isFloat32Array,
205
+ float64Array: isFloat64Array,
206
+ formData: isFormData,
207
+ function: isFunction,
208
+ generator: isGenerator,
209
+ generatorFunction: isGeneratorFunction,
210
+ htmlElement: isHtmlElement,
211
+ infinite: isInfinite,
212
+ inRange: isInRange,
213
+ int16Array: isInt16Array,
214
+ int32Array: isInt32Array,
215
+ int8Array: isInt8Array,
216
+ integer: isInteger,
217
+ iterable: isIterable,
218
+ map: isMap,
219
+ nan: isNan,
220
+ nativePromise: isNativePromise,
221
+ negativeNumber: isNegativeNumber,
222
+ nodeStream: isNodeStream,
223
+ nonEmptyArray: isNonEmptyArray,
224
+ nonEmptyMap: isNonEmptyMap,
225
+ nonEmptyObject: isNonEmptyObject,
226
+ nonEmptySet: isNonEmptySet,
227
+ nonEmptyString: isNonEmptyString,
228
+ nonEmptyStringAndNotWhitespace: isNonEmptyStringAndNotWhitespace,
229
+ null: isNull,
230
+ nullOrUndefined: isNullOrUndefined,
231
+ number: isNumber,
232
+ numericString: isNumericString,
233
+ object: isObject,
234
+ observable: isObservable,
235
+ oddInteger: isOddInteger,
236
+ plainObject: isPlainObject,
237
+ positiveNumber: isPositiveNumber,
238
+ primitive: isPrimitive,
239
+ promise: isPromise,
240
+ propertyKey: isPropertyKey,
241
+ regExp: isRegExp,
242
+ safeInteger: isSafeInteger,
243
+ set: isSet,
244
+ sharedArrayBuffer: isSharedArrayBuffer,
245
+ string: isString,
246
+ symbol: isSymbol,
247
+ truthy: isTruthy,
248
+ tupleLike: isTupleLike,
249
+ typedArray: isTypedArray,
250
+ uint16Array: isUint16Array,
251
+ uint32Array: isUint32Array,
252
+ uint8Array: isUint8Array,
253
+ uint8ClampedArray: isUint8ClampedArray,
254
+ undefined: isUndefined,
255
+ urlInstance: isUrlInstance,
256
+ urlSearchParams: isUrlSearchParams,
257
+ urlString: isUrlString,
258
+ optional: isOptional,
259
+ validDate: isValidDate,
260
+ validLength: isValidLength,
261
+ weakMap: isWeakMap,
262
+ weakRef: isWeakRef,
263
+ weakSet: isWeakSet,
264
+ whitespaceString: isWhitespaceString,
265
+ });
266
+ function isAbsoluteModule2(remainder) {
267
+ return (value) => isInteger(value) && Math.abs(value % 2) === remainder;
268
+ }
269
+ export function isAll(predicate, ...values) {
270
+ return predicateOnArray(Array.prototype.every, predicate, values);
271
+ }
272
+ export function isAny(predicate, ...values) {
273
+ const predicates = isArray(predicate) ? predicate : [predicate];
274
+ return predicates.some(singlePredicate => predicateOnArray(Array.prototype.some, singlePredicate, values));
275
+ }
276
+ export function isOptional(value, predicate) {
277
+ return isUndefined(value) || predicate(value);
278
+ }
279
+ export function isArray(value, assertion) {
280
+ if (!Array.isArray(value)) {
281
+ return false;
282
+ }
283
+ if (!isFunction(assertion)) {
284
+ return true;
285
+ }
286
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
287
+ return value.every(element => assertion(element));
288
+ }
289
+ export function isArrayBuffer(value) {
290
+ return getObjectType(value) === 'ArrayBuffer';
291
+ }
292
+ export function isArrayLike(value) {
293
+ return !isNullOrUndefined(value) && !isFunction(value) && isValidLength(value.length);
294
+ }
295
+ export function isAsyncFunction(value) {
296
+ return getObjectType(value) === 'AsyncFunction';
297
+ }
298
+ export function isAsyncGenerator(value) {
299
+ return isAsyncIterable(value) && isFunction(value.next) && isFunction(value.throw);
300
+ }
301
+ export function isAsyncGeneratorFunction(value) {
302
+ return getObjectType(value) === 'AsyncGeneratorFunction';
303
+ }
304
+ export function isAsyncIterable(value) {
305
+ return isFunction(value?.[Symbol.asyncIterator]);
306
+ }
307
+ export function isBigint(value) {
308
+ return typeof value === 'bigint';
309
+ }
310
+ export function isBigInt64Array(value) {
311
+ return getObjectType(value) === 'BigInt64Array';
312
+ }
313
+ export function isBigUint64Array(value) {
314
+ return getObjectType(value) === 'BigUint64Array';
315
+ }
316
+ export function isBlob(value) {
317
+ return getObjectType(value) === 'Blob';
318
+ }
319
+ export function isBoolean(value) {
320
+ return value === true || value === false;
321
+ }
322
+ // eslint-disable-next-line @typescript-eslint/ban-types
323
+ export function isBoundFunction(value) {
324
+ return isFunction(value) && !Object.hasOwn(value, 'prototype');
325
+ }
326
+ /**
327
+ Note: [Prefer using `Uint8Array` instead of `Buffer`.](https://sindresorhus.com/blog/goodbye-nodejs-buffer)
328
+ */
329
+ export function isBuffer(value) {
330
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call
331
+ return value?.constructor?.isBuffer?.(value) ?? false;
332
+ }
333
+ export function isClass(value) {
334
+ return isFunction(value) && value.toString().startsWith('class ');
335
+ }
336
+ export function isDataView(value) {
337
+ return getObjectType(value) === 'DataView';
338
+ }
339
+ export function isDate(value) {
340
+ return getObjectType(value) === 'Date';
341
+ }
342
+ export function isDirectInstanceOf(instance, class_) {
343
+ if (instance === undefined || instance === null) {
344
+ return false;
345
+ }
346
+ return Object.getPrototypeOf(instance) === class_.prototype;
347
+ }
348
+ export function isEmptyArray(value) {
349
+ return isArray(value) && value.length === 0;
350
+ }
351
+ export function isEmptyMap(value) {
352
+ return isMap(value) && value.size === 0;
353
+ }
354
+ export function isEmptyObject(value) {
355
+ return isObject(value) && !isMap(value) && !isSet(value) && Object.keys(value).length === 0;
356
+ }
357
+ export function isEmptySet(value) {
358
+ return isSet(value) && value.size === 0;
359
+ }
360
+ export function isEmptyString(value) {
361
+ return isString(value) && value.length === 0;
362
+ }
363
+ export function isEmptyStringOrWhitespace(value) {
364
+ return isEmptyString(value) || isWhitespaceString(value);
365
+ }
366
+ export function isEnumCase(value, targetEnum) {
367
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
368
+ return Object.values(targetEnum).includes(value);
369
+ }
370
+ export function isError(value) {
371
+ // TODO: Use `Error.isError` when targeting Node.js 24.`
372
+ return getObjectType(value) === 'Error';
373
+ }
374
+ export function isEvenInteger(value) {
375
+ return isAbsoluteModule2(0)(value);
376
+ }
377
+ // Example: `is.falsy = (value: unknown): value is (not true | 0 | '' | undefined | null) => Boolean(value);`
378
+ export function isFalsy(value) {
379
+ return !value;
380
+ }
381
+ // TODO: Support detecting Float16Array when targeting Node.js 24.
382
+ export function isFloat32Array(value) {
383
+ return getObjectType(value) === 'Float32Array';
384
+ }
385
+ export function isFloat64Array(value) {
386
+ return getObjectType(value) === 'Float64Array';
387
+ }
388
+ export function isFormData(value) {
389
+ return getObjectType(value) === 'FormData';
390
+ }
391
+ // eslint-disable-next-line @typescript-eslint/ban-types
392
+ export function isFunction(value) {
393
+ return typeof value === 'function';
394
+ }
395
+ export function isGenerator(value) {
396
+ return isIterable(value) && isFunction(value?.next) && isFunction(value?.throw);
397
+ }
398
+ export function isGeneratorFunction(value) {
399
+ return getObjectType(value) === 'GeneratorFunction';
400
+ }
401
+ // eslint-disable-next-line @typescript-eslint/naming-convention
402
+ const NODE_TYPE_ELEMENT = 1;
403
+ // eslint-disable-next-line @typescript-eslint/naming-convention
404
+ const DOM_PROPERTIES_TO_CHECK = [
405
+ 'innerHTML',
406
+ 'ownerDocument',
407
+ 'style',
408
+ 'attributes',
409
+ 'nodeValue',
410
+ ];
411
+ export function isHtmlElement(value) {
412
+ return isObject(value)
413
+ && value.nodeType === NODE_TYPE_ELEMENT
414
+ && isString(value.nodeName)
415
+ && !isPlainObject(value)
416
+ && DOM_PROPERTIES_TO_CHECK.every(property => property in value);
417
+ }
418
+ export function isInfinite(value) {
419
+ return value === Number.POSITIVE_INFINITY || value === Number.NEGATIVE_INFINITY;
420
+ }
421
+ export function isInRange(value, range) {
422
+ if (isNumber(range)) {
423
+ return value >= Math.min(0, range) && value <= Math.max(range, 0);
424
+ }
425
+ if (isArray(range) && range.length === 2) {
426
+ return value >= Math.min(...range) && value <= Math.max(...range);
427
+ }
428
+ throw new TypeError(`Invalid range: ${JSON.stringify(range)}`);
429
+ }
430
+ export function isInt16Array(value) {
431
+ return getObjectType(value) === 'Int16Array';
432
+ }
433
+ export function isInt32Array(value) {
434
+ return getObjectType(value) === 'Int32Array';
435
+ }
436
+ export function isInt8Array(value) {
437
+ return getObjectType(value) === 'Int8Array';
438
+ }
439
+ export function isInteger(value) {
440
+ return Number.isInteger(value);
441
+ }
442
+ export function isIterable(value) {
443
+ return isFunction(value?.[Symbol.iterator]);
444
+ }
445
+ export function isMap(value) {
446
+ return getObjectType(value) === 'Map';
447
+ }
448
+ export function isNan(value) {
449
+ return Number.isNaN(value);
450
+ }
451
+ export function isNativePromise(value) {
452
+ return getObjectType(value) === 'Promise';
453
+ }
454
+ export function isNegativeNumber(value) {
455
+ return isNumber(value) && value < 0;
456
+ }
457
+ export function isNodeStream(value) {
458
+ return isObject(value) && isFunction(value.pipe) && !isObservable(value);
459
+ }
460
+ export function isNonEmptyArray(value) {
461
+ return isArray(value) && value.length > 0;
462
+ }
463
+ export function isNonEmptyMap(value) {
464
+ return isMap(value) && value.size > 0;
465
+ }
466
+ // TODO: Use `not` operator here to remove `Map` and `Set` from type guard:
467
+ // - https://github.com/Microsoft/TypeScript/pull/29317
468
+ export function isNonEmptyObject(value) {
469
+ return isObject(value) && !isMap(value) && !isSet(value) && Object.keys(value).length > 0;
470
+ }
471
+ export function isNonEmptySet(value) {
472
+ return isSet(value) && value.size > 0;
473
+ }
474
+ // TODO: Use `not ''` when the `not` operator is available.
475
+ export function isNonEmptyString(value) {
476
+ return isString(value) && value.length > 0;
477
+ }
478
+ // TODO: Use `not ''` when the `not` operator is available.
479
+ export function isNonEmptyStringAndNotWhitespace(value) {
480
+ return isString(value) && !isEmptyStringOrWhitespace(value);
481
+ }
482
+ // eslint-disable-next-line @typescript-eslint/ban-types
483
+ export function isNull(value) {
484
+ return value === null;
485
+ }
486
+ // eslint-disable-next-line @typescript-eslint/ban-types
487
+ export function isNullOrUndefined(value) {
488
+ return isNull(value) || isUndefined(value);
489
+ }
490
+ export function isNumber(value) {
491
+ return typeof value === 'number' && !Number.isNaN(value);
492
+ }
493
+ export function isNumericString(value) {
494
+ return isString(value) && !isEmptyStringOrWhitespace(value) && !Number.isNaN(Number(value));
495
+ }
496
+ // eslint-disable-next-line @typescript-eslint/ban-types
497
+ export function isObject(value) {
498
+ return !isNull(value) && (typeof value === 'object' || isFunction(value));
499
+ }
500
+ export function isObservable(value) {
501
+ if (!value) {
502
+ return false;
503
+ }
504
+ // eslint-disable-next-line no-use-extend-native/no-use-extend-native, @typescript-eslint/no-unsafe-call
505
+ if (Symbol.observable !== undefined && value === value[Symbol.observable]?.()) {
506
+ return true;
507
+ }
508
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
509
+ if (value === value['@@observable']?.()) {
510
+ return true;
511
+ }
512
+ return false;
513
+ }
514
+ export function isOddInteger(value) {
515
+ return isAbsoluteModule2(1)(value);
516
+ }
517
+ export function isPlainObject(value) {
518
+ // From: https://github.com/sindresorhus/is-plain-obj/blob/main/index.js
519
+ if (typeof value !== 'object' || value === null) {
520
+ return false;
521
+ }
522
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
523
+ const prototype = Object.getPrototypeOf(value);
524
+ return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);
525
+ }
526
+ export function isPositiveNumber(value) {
527
+ return isNumber(value) && value > 0;
528
+ }
529
+ export function isPrimitive(value) {
530
+ return isNull(value) || isPrimitiveTypeName(typeof value);
531
+ }
532
+ export function isPromise(value) {
533
+ return isNativePromise(value) || hasPromiseApi(value);
534
+ }
535
+ // `PropertyKey` is any value that can be used as an object key (string, number, or symbol)
536
+ export function isPropertyKey(value) {
537
+ return isAny([isString, isNumber, isSymbol], value);
538
+ }
539
+ export function isRegExp(value) {
540
+ return getObjectType(value) === 'RegExp';
541
+ }
542
+ export function isSafeInteger(value) {
543
+ return Number.isSafeInteger(value);
544
+ }
545
+ export function isSet(value) {
546
+ return getObjectType(value) === 'Set';
547
+ }
548
+ export function isSharedArrayBuffer(value) {
549
+ return getObjectType(value) === 'SharedArrayBuffer';
550
+ }
551
+ export function isString(value) {
552
+ return typeof value === 'string';
553
+ }
554
+ export function isSymbol(value) {
555
+ return typeof value === 'symbol';
556
+ }
557
+ // Example: `is.truthy = (value: unknown): value is (not false | not 0 | not '' | not undefined | not null) => Boolean(value);`
558
+ // eslint-disable-next-line unicorn/prefer-native-coercion-functions
559
+ export function isTruthy(value) {
560
+ return Boolean(value);
561
+ }
562
+ export function isTupleLike(value, guards) {
563
+ if (isArray(guards) && isArray(value) && guards.length === value.length) {
564
+ return guards.every((guard, index) => guard(value[index]));
565
+ }
566
+ return false;
567
+ }
568
+ export function isTypedArray(value) {
569
+ return isTypedArrayName(getObjectType(value));
570
+ }
571
+ export function isUint16Array(value) {
572
+ return getObjectType(value) === 'Uint16Array';
573
+ }
574
+ export function isUint32Array(value) {
575
+ return getObjectType(value) === 'Uint32Array';
576
+ }
577
+ export function isUint8Array(value) {
578
+ return getObjectType(value) === 'Uint8Array';
579
+ }
580
+ export function isUint8ClampedArray(value) {
581
+ return getObjectType(value) === 'Uint8ClampedArray';
582
+ }
583
+ export function isUndefined(value) {
584
+ return value === undefined;
585
+ }
586
+ export function isUrlInstance(value) {
587
+ return getObjectType(value) === 'URL';
588
+ }
589
+ // eslint-disable-next-line unicorn/prevent-abbreviations
590
+ export function isUrlSearchParams(value) {
591
+ return getObjectType(value) === 'URLSearchParams';
592
+ }
593
+ export function isUrlString(value) {
594
+ if (!isString(value)) {
595
+ return false;
596
+ }
597
+ try {
598
+ new URL(value); // eslint-disable-line no-new
599
+ return true;
600
+ }
601
+ catch {
602
+ return false;
603
+ }
604
+ }
605
+ export function isValidDate(value) {
606
+ return isDate(value) && !isNan(Number(value));
607
+ }
608
+ export function isValidLength(value) {
609
+ return isSafeInteger(value) && value >= 0;
610
+ }
611
+ // eslint-disable-next-line @typescript-eslint/ban-types
612
+ export function isWeakMap(value) {
613
+ return getObjectType(value) === 'WeakMap';
614
+ }
615
+ // eslint-disable-next-line @typescript-eslint/ban-types, unicorn/prevent-abbreviations
616
+ export function isWeakRef(value) {
617
+ return getObjectType(value) === 'WeakRef';
618
+ }
619
+ // eslint-disable-next-line @typescript-eslint/ban-types
620
+ export function isWeakSet(value) {
621
+ return getObjectType(value) === 'WeakSet';
622
+ }
623
+ export function isWhitespaceString(value) {
624
+ return isString(value) && /^\s+$/.test(value);
625
+ }
626
+ function predicateOnArray(method, predicate, values) {
627
+ if (!isFunction(predicate)) {
628
+ throw new TypeError(`Invalid predicate: ${JSON.stringify(predicate)}`);
629
+ }
630
+ if (values.length === 0) {
631
+ throw new TypeError('Invalid number of values');
632
+ }
633
+ return method.call(values, predicate);
634
+ }
635
+ function typeErrorMessage(description, value) {
636
+ return `Expected value which is \`${description}\`, received value of type \`${is(value)}\`.`;
637
+ }
638
+ function unique(values) {
639
+ // eslint-disable-next-line unicorn/prefer-spread
640
+ return Array.from(new Set(values));
641
+ }
642
+ const andFormatter = new Intl.ListFormat('en', { style: 'long', type: 'conjunction' });
643
+ const orFormatter = new Intl.ListFormat('en', { style: 'long', type: 'disjunction' });
644
+ function typeErrorMessageMultipleValues(expectedType, values) {
645
+ const uniqueExpectedTypes = unique((isArray(expectedType) ? expectedType : [expectedType]).map(value => `\`${value}\``));
646
+ const uniqueValueTypes = unique(values.map(value => `\`${is(value)}\``));
647
+ return `Expected values which are ${orFormatter.format(uniqueExpectedTypes)}. Received values of type${uniqueValueTypes.length > 1 ? 's' : ''} ${andFormatter.format(uniqueValueTypes)}.`;
648
+ }
649
+ export const assert = {
650
+ all: assertAll,
651
+ any: assertAny,
652
+ optional: assertOptional,
653
+ array: assertArray,
654
+ arrayBuffer: assertArrayBuffer,
655
+ arrayLike: assertArrayLike,
656
+ asyncFunction: assertAsyncFunction,
657
+ asyncGenerator: assertAsyncGenerator,
658
+ asyncGeneratorFunction: assertAsyncGeneratorFunction,
659
+ asyncIterable: assertAsyncIterable,
660
+ bigint: assertBigint,
661
+ bigInt64Array: assertBigInt64Array,
662
+ bigUint64Array: assertBigUint64Array,
663
+ blob: assertBlob,
664
+ boolean: assertBoolean,
665
+ boundFunction: assertBoundFunction,
666
+ buffer: assertBuffer,
667
+ class: assertClass,
668
+ dataView: assertDataView,
669
+ date: assertDate,
670
+ directInstanceOf: assertDirectInstanceOf,
671
+ emptyArray: assertEmptyArray,
672
+ emptyMap: assertEmptyMap,
673
+ emptyObject: assertEmptyObject,
674
+ emptySet: assertEmptySet,
675
+ emptyString: assertEmptyString,
676
+ emptyStringOrWhitespace: assertEmptyStringOrWhitespace,
677
+ enumCase: assertEnumCase,
678
+ error: assertError,
679
+ evenInteger: assertEvenInteger,
680
+ falsy: assertFalsy,
681
+ float32Array: assertFloat32Array,
682
+ float64Array: assertFloat64Array,
683
+ formData: assertFormData,
684
+ function: assertFunction,
685
+ generator: assertGenerator,
686
+ generatorFunction: assertGeneratorFunction,
687
+ htmlElement: assertHtmlElement,
688
+ infinite: assertInfinite,
689
+ inRange: assertInRange,
690
+ int16Array: assertInt16Array,
691
+ int32Array: assertInt32Array,
692
+ int8Array: assertInt8Array,
693
+ integer: assertInteger,
694
+ iterable: assertIterable,
695
+ map: assertMap,
696
+ nan: assertNan,
697
+ nativePromise: assertNativePromise,
698
+ negativeNumber: assertNegativeNumber,
699
+ nodeStream: assertNodeStream,
700
+ nonEmptyArray: assertNonEmptyArray,
701
+ nonEmptyMap: assertNonEmptyMap,
702
+ nonEmptyObject: assertNonEmptyObject,
703
+ nonEmptySet: assertNonEmptySet,
704
+ nonEmptyString: assertNonEmptyString,
705
+ nonEmptyStringAndNotWhitespace: assertNonEmptyStringAndNotWhitespace,
706
+ null: assertNull,
707
+ nullOrUndefined: assertNullOrUndefined,
708
+ number: assertNumber,
709
+ numericString: assertNumericString,
710
+ object: assertObject,
711
+ observable: assertObservable,
712
+ oddInteger: assertOddInteger,
713
+ plainObject: assertPlainObject,
714
+ positiveNumber: assertPositiveNumber,
715
+ primitive: assertPrimitive,
716
+ promise: assertPromise,
717
+ propertyKey: assertPropertyKey,
718
+ regExp: assertRegExp,
719
+ safeInteger: assertSafeInteger,
720
+ set: assertSet,
721
+ sharedArrayBuffer: assertSharedArrayBuffer,
722
+ string: assertString,
723
+ symbol: assertSymbol,
724
+ truthy: assertTruthy,
725
+ tupleLike: assertTupleLike,
726
+ typedArray: assertTypedArray,
727
+ uint16Array: assertUint16Array,
728
+ uint32Array: assertUint32Array,
729
+ uint8Array: assertUint8Array,
730
+ uint8ClampedArray: assertUint8ClampedArray,
731
+ undefined: assertUndefined,
732
+ urlInstance: assertUrlInstance,
733
+ urlSearchParams: assertUrlSearchParams,
734
+ urlString: assertUrlString,
735
+ validDate: assertValidDate,
736
+ validLength: assertValidLength,
737
+ weakMap: assertWeakMap,
738
+ weakRef: assertWeakRef,
739
+ weakSet: assertWeakSet,
740
+ whitespaceString: assertWhitespaceString,
741
+ };
742
+ const methodTypeMap = {
743
+ isArray: 'Array',
744
+ isArrayBuffer: 'ArrayBuffer',
745
+ isArrayLike: 'array-like',
746
+ isAsyncFunction: 'AsyncFunction',
747
+ isAsyncGenerator: 'AsyncGenerator',
748
+ isAsyncGeneratorFunction: 'AsyncGeneratorFunction',
749
+ isAsyncIterable: 'AsyncIterable',
750
+ isBigint: 'bigint',
751
+ isBigInt64Array: 'BigInt64Array',
752
+ isBigUint64Array: 'BigUint64Array',
753
+ isBlob: 'Blob',
754
+ isBoolean: 'boolean',
755
+ isBoundFunction: 'Function',
756
+ isBuffer: 'Buffer',
757
+ isClass: 'Class',
758
+ isDataView: 'DataView',
759
+ isDate: 'Date',
760
+ isDirectInstanceOf: 'T',
761
+ isEmptyArray: 'empty array',
762
+ isEmptyMap: 'empty map',
763
+ isEmptyObject: 'empty object',
764
+ isEmptySet: 'empty set',
765
+ isEmptyString: 'empty string',
766
+ isEmptyStringOrWhitespace: 'empty string or whitespace',
767
+ isEnumCase: 'EnumCase',
768
+ isError: 'Error',
769
+ isEvenInteger: 'even integer',
770
+ isFalsy: 'falsy',
771
+ isFloat32Array: 'Float32Array',
772
+ isFloat64Array: 'Float64Array',
773
+ isFormData: 'FormData',
774
+ isFunction: 'Function',
775
+ isGenerator: 'Generator',
776
+ isGeneratorFunction: 'GeneratorFunction',
777
+ isHtmlElement: 'HTMLElement',
778
+ isInfinite: 'infinite number',
779
+ isInRange: 'in range',
780
+ isInt16Array: 'Int16Array',
781
+ isInt32Array: 'Int32Array',
782
+ isInt8Array: 'Int8Array',
783
+ isInteger: 'integer',
784
+ isIterable: 'Iterable',
785
+ isMap: 'Map',
786
+ isNan: 'NaN',
787
+ isNativePromise: 'native Promise',
788
+ isNegativeNumber: 'negative number',
789
+ isNodeStream: 'Node.js Stream',
790
+ isNonEmptyArray: 'non-empty array',
791
+ isNonEmptyMap: 'non-empty map',
792
+ isNonEmptyObject: 'non-empty object',
793
+ isNonEmptySet: 'non-empty set',
794
+ isNonEmptyString: 'non-empty string',
795
+ isNonEmptyStringAndNotWhitespace: 'non-empty string and not whitespace',
796
+ isNull: 'null',
797
+ isNullOrUndefined: 'null or undefined',
798
+ isNumber: 'number',
799
+ isNumericString: 'string with a number',
800
+ isObject: 'Object',
801
+ isObservable: 'Observable',
802
+ isOddInteger: 'odd integer',
803
+ isPlainObject: 'plain object',
804
+ isPositiveNumber: 'positive number',
805
+ isPrimitive: 'primitive',
806
+ isPromise: 'Promise',
807
+ isPropertyKey: 'PropertyKey',
808
+ isRegExp: 'RegExp',
809
+ isSafeInteger: 'integer',
810
+ isSet: 'Set',
811
+ isSharedArrayBuffer: 'SharedArrayBuffer',
812
+ isString: 'string',
813
+ isSymbol: 'symbol',
814
+ isTruthy: 'truthy',
815
+ isTupleLike: 'tuple-like',
816
+ isTypedArray: 'TypedArray',
817
+ isUint16Array: 'Uint16Array',
818
+ isUint32Array: 'Uint32Array',
819
+ isUint8Array: 'Uint8Array',
820
+ isUint8ClampedArray: 'Uint8ClampedArray',
821
+ isUndefined: 'undefined',
822
+ isUrlInstance: 'URL',
823
+ isUrlSearchParams: 'URLSearchParams',
824
+ isUrlString: 'string with a URL',
825
+ isValidDate: 'valid Date',
826
+ isValidLength: 'valid length',
827
+ isWeakMap: 'WeakMap',
828
+ isWeakRef: 'WeakRef',
829
+ isWeakSet: 'WeakSet',
830
+ isWhitespaceString: 'whitespace string',
831
+ };
832
+ const isMethodNames = keysOf(methodTypeMap);
833
+ function isIsMethodName(value) {
834
+ return isMethodNames.includes(value);
835
+ }
836
+ export function assertAll(predicate, ...values) {
837
+ if (!isAll(predicate, ...values)) {
838
+ const expectedType = isIsMethodName(predicate.name) ? methodTypeMap[predicate.name] : 'predicate returns truthy for all values';
839
+ throw new TypeError(typeErrorMessageMultipleValues(expectedType, values));
840
+ }
841
+ }
842
+ export function assertAny(predicate, ...values) {
843
+ if (!isAny(predicate, ...values)) {
844
+ const predicates = isArray(predicate) ? predicate : [predicate];
845
+ const expectedTypes = predicates.map(predicate => isIsMethodName(predicate.name) ? methodTypeMap[predicate.name] : 'predicate returns truthy for any value');
846
+ throw new TypeError(typeErrorMessageMultipleValues(expectedTypes, values));
847
+ }
848
+ }
849
+ export function assertOptional(value, assertion, message) {
850
+ if (!isUndefined(value)) {
851
+ assertion(value, message);
852
+ }
853
+ }
854
+ export function assertArray(value, assertion, message) {
855
+ if (!isArray(value)) {
856
+ throw new TypeError(message ?? typeErrorMessage('Array', value));
857
+ }
858
+ if (assertion) {
859
+ for (const element of value) {
860
+ // @ts-expect-error: "Assertions require every name in the call target to be declared with an explicit type annotation."
861
+ assertion(element, message);
862
+ }
863
+ }
864
+ }
865
+ export function assertArrayBuffer(value, message) {
866
+ if (!isArrayBuffer(value)) {
867
+ throw new TypeError(message ?? typeErrorMessage('ArrayBuffer', value));
868
+ }
869
+ }
870
+ export function assertArrayLike(value, message) {
871
+ if (!isArrayLike(value)) {
872
+ throw new TypeError(message ?? typeErrorMessage('array-like', value));
873
+ }
874
+ }
875
+ // eslint-disable-next-line @typescript-eslint/ban-types
876
+ export function assertAsyncFunction(value, message) {
877
+ if (!isAsyncFunction(value)) {
878
+ throw new TypeError(message ?? typeErrorMessage('AsyncFunction', value));
879
+ }
880
+ }
881
+ export function assertAsyncGenerator(value, message) {
882
+ if (!isAsyncGenerator(value)) {
883
+ throw new TypeError(message ?? typeErrorMessage('AsyncGenerator', value));
884
+ }
885
+ }
886
+ export function assertAsyncGeneratorFunction(value, message) {
887
+ if (!isAsyncGeneratorFunction(value)) {
888
+ throw new TypeError(message ?? typeErrorMessage('AsyncGeneratorFunction', value));
889
+ }
890
+ }
891
+ export function assertAsyncIterable(value, message) {
892
+ if (!isAsyncIterable(value)) {
893
+ throw new TypeError(message ?? typeErrorMessage('AsyncIterable', value));
894
+ }
895
+ }
896
+ export function assertBigint(value, message) {
897
+ if (!isBigint(value)) {
898
+ throw new TypeError(message ?? typeErrorMessage('bigint', value));
899
+ }
900
+ }
901
+ export function assertBigInt64Array(value, message) {
902
+ if (!isBigInt64Array(value)) {
903
+ throw new TypeError(message ?? typeErrorMessage('BigInt64Array', value));
904
+ }
905
+ }
906
+ export function assertBigUint64Array(value, message) {
907
+ if (!isBigUint64Array(value)) {
908
+ throw new TypeError(message ?? typeErrorMessage('BigUint64Array', value));
909
+ }
910
+ }
911
+ export function assertBlob(value, message) {
912
+ if (!isBlob(value)) {
913
+ throw new TypeError(message ?? typeErrorMessage('Blob', value));
914
+ }
915
+ }
916
+ export function assertBoolean(value, message) {
917
+ if (!isBoolean(value)) {
918
+ throw new TypeError(message ?? typeErrorMessage('boolean', value));
919
+ }
920
+ }
921
+ // eslint-disable-next-line @typescript-eslint/ban-types
922
+ export function assertBoundFunction(value, message) {
923
+ if (!isBoundFunction(value)) {
924
+ throw new TypeError(message ?? typeErrorMessage('Function', value));
925
+ }
926
+ }
927
+ /**
928
+ Note: [Prefer using `Uint8Array` instead of `Buffer`.](https://sindresorhus.com/blog/goodbye-nodejs-buffer)
929
+ */
930
+ export function assertBuffer(value, message) {
931
+ if (!isBuffer(value)) {
932
+ throw new TypeError(message ?? typeErrorMessage('Buffer', value));
933
+ }
934
+ }
935
+ export function assertClass(value, message) {
936
+ if (!isClass(value)) {
937
+ throw new TypeError(message ?? typeErrorMessage('Class', value));
938
+ }
939
+ }
940
+ export function assertDataView(value, message) {
941
+ if (!isDataView(value)) {
942
+ throw new TypeError(message ?? typeErrorMessage('DataView', value));
943
+ }
944
+ }
945
+ export function assertDate(value, message) {
946
+ if (!isDate(value)) {
947
+ throw new TypeError(message ?? typeErrorMessage('Date', value));
948
+ }
949
+ }
950
+ export function assertDirectInstanceOf(instance, class_, message) {
951
+ if (!isDirectInstanceOf(instance, class_)) {
952
+ throw new TypeError(message ?? typeErrorMessage('T', instance));
953
+ }
954
+ }
955
+ export function assertEmptyArray(value, message) {
956
+ if (!isEmptyArray(value)) {
957
+ throw new TypeError(message ?? typeErrorMessage('empty array', value));
958
+ }
959
+ }
960
+ export function assertEmptyMap(value, message) {
961
+ if (!isEmptyMap(value)) {
962
+ throw new TypeError(message ?? typeErrorMessage('empty map', value));
963
+ }
964
+ }
965
+ export function assertEmptyObject(value, message) {
966
+ if (!isEmptyObject(value)) {
967
+ throw new TypeError(message ?? typeErrorMessage('empty object', value));
968
+ }
969
+ }
970
+ export function assertEmptySet(value, message) {
971
+ if (!isEmptySet(value)) {
972
+ throw new TypeError(message ?? typeErrorMessage('empty set', value));
973
+ }
974
+ }
975
+ export function assertEmptyString(value, message) {
976
+ if (!isEmptyString(value)) {
977
+ throw new TypeError(message ?? typeErrorMessage('empty string', value));
978
+ }
979
+ }
980
+ export function assertEmptyStringOrWhitespace(value, message) {
981
+ if (!isEmptyStringOrWhitespace(value)) {
982
+ throw new TypeError(message ?? typeErrorMessage('empty string or whitespace', value));
983
+ }
984
+ }
985
+ export function assertEnumCase(value, targetEnum, message) {
986
+ if (!isEnumCase(value, targetEnum)) {
987
+ throw new TypeError(message ?? typeErrorMessage('EnumCase', value));
988
+ }
989
+ }
990
+ export function assertError(value, message) {
991
+ if (!isError(value)) {
992
+ throw new TypeError(message ?? typeErrorMessage('Error', value));
993
+ }
994
+ }
995
+ export function assertEvenInteger(value, message) {
996
+ if (!isEvenInteger(value)) {
997
+ throw new TypeError(message ?? typeErrorMessage('even integer', value));
998
+ }
999
+ }
1000
+ export function assertFalsy(value, message) {
1001
+ if (!isFalsy(value)) {
1002
+ throw new TypeError(message ?? typeErrorMessage('falsy', value));
1003
+ }
1004
+ }
1005
+ export function assertFloat32Array(value, message) {
1006
+ if (!isFloat32Array(value)) {
1007
+ throw new TypeError(message ?? typeErrorMessage('Float32Array', value));
1008
+ }
1009
+ }
1010
+ export function assertFloat64Array(value, message) {
1011
+ if (!isFloat64Array(value)) {
1012
+ throw new TypeError(message ?? typeErrorMessage('Float64Array', value));
1013
+ }
1014
+ }
1015
+ export function assertFormData(value, message) {
1016
+ if (!isFormData(value)) {
1017
+ throw new TypeError(message ?? typeErrorMessage('FormData', value));
1018
+ }
1019
+ }
1020
+ // eslint-disable-next-line @typescript-eslint/ban-types
1021
+ export function assertFunction(value, message) {
1022
+ if (!isFunction(value)) {
1023
+ throw new TypeError(message ?? typeErrorMessage('Function', value));
1024
+ }
1025
+ }
1026
+ export function assertGenerator(value, message) {
1027
+ if (!isGenerator(value)) {
1028
+ throw new TypeError(message ?? typeErrorMessage('Generator', value));
1029
+ }
1030
+ }
1031
+ export function assertGeneratorFunction(value, message) {
1032
+ if (!isGeneratorFunction(value)) {
1033
+ throw new TypeError(message ?? typeErrorMessage('GeneratorFunction', value));
1034
+ }
1035
+ }
1036
+ export function assertHtmlElement(value, message) {
1037
+ if (!isHtmlElement(value)) {
1038
+ throw new TypeError(message ?? typeErrorMessage('HTMLElement', value));
1039
+ }
1040
+ }
1041
+ export function assertInfinite(value, message) {
1042
+ if (!isInfinite(value)) {
1043
+ throw new TypeError(message ?? typeErrorMessage('infinite number', value));
1044
+ }
1045
+ }
1046
+ export function assertInRange(value, range, message) {
1047
+ if (!isInRange(value, range)) {
1048
+ throw new TypeError(message ?? typeErrorMessage('in range', value));
1049
+ }
1050
+ }
1051
+ export function assertInt16Array(value, message) {
1052
+ if (!isInt16Array(value)) {
1053
+ throw new TypeError(message ?? typeErrorMessage('Int16Array', value));
1054
+ }
1055
+ }
1056
+ export function assertInt32Array(value, message) {
1057
+ if (!isInt32Array(value)) {
1058
+ throw new TypeError(message ?? typeErrorMessage('Int32Array', value));
1059
+ }
1060
+ }
1061
+ export function assertInt8Array(value, message) {
1062
+ if (!isInt8Array(value)) {
1063
+ throw new TypeError(message ?? typeErrorMessage('Int8Array', value));
1064
+ }
1065
+ }
1066
+ export function assertInteger(value, message) {
1067
+ if (!isInteger(value)) {
1068
+ throw new TypeError(message ?? typeErrorMessage('integer', value));
1069
+ }
1070
+ }
1071
+ export function assertIterable(value, message) {
1072
+ if (!isIterable(value)) {
1073
+ throw new TypeError(message ?? typeErrorMessage('Iterable', value));
1074
+ }
1075
+ }
1076
+ export function assertMap(value, message) {
1077
+ if (!isMap(value)) {
1078
+ throw new TypeError(message ?? typeErrorMessage('Map', value));
1079
+ }
1080
+ }
1081
+ export function assertNan(value, message) {
1082
+ if (!isNan(value)) {
1083
+ throw new TypeError(message ?? typeErrorMessage('NaN', value));
1084
+ }
1085
+ }
1086
+ export function assertNativePromise(value, message) {
1087
+ if (!isNativePromise(value)) {
1088
+ throw new TypeError(message ?? typeErrorMessage('native Promise', value));
1089
+ }
1090
+ }
1091
+ export function assertNegativeNumber(value, message) {
1092
+ if (!isNegativeNumber(value)) {
1093
+ throw new TypeError(message ?? typeErrorMessage('negative number', value));
1094
+ }
1095
+ }
1096
+ export function assertNodeStream(value, message) {
1097
+ if (!isNodeStream(value)) {
1098
+ throw new TypeError(message ?? typeErrorMessage('Node.js Stream', value));
1099
+ }
1100
+ }
1101
+ export function assertNonEmptyArray(value, message) {
1102
+ if (!isNonEmptyArray(value)) {
1103
+ throw new TypeError(message ?? typeErrorMessage('non-empty array', value));
1104
+ }
1105
+ }
1106
+ export function assertNonEmptyMap(value, message) {
1107
+ if (!isNonEmptyMap(value)) {
1108
+ throw new TypeError(message ?? typeErrorMessage('non-empty map', value));
1109
+ }
1110
+ }
1111
+ export function assertNonEmptyObject(value, message) {
1112
+ if (!isNonEmptyObject(value)) {
1113
+ throw new TypeError(message ?? typeErrorMessage('non-empty object', value));
1114
+ }
1115
+ }
1116
+ export function assertNonEmptySet(value, message) {
1117
+ if (!isNonEmptySet(value)) {
1118
+ throw new TypeError(message ?? typeErrorMessage('non-empty set', value));
1119
+ }
1120
+ }
1121
+ export function assertNonEmptyString(value, message) {
1122
+ if (!isNonEmptyString(value)) {
1123
+ throw new TypeError(message ?? typeErrorMessage('non-empty string', value));
1124
+ }
1125
+ }
1126
+ export function assertNonEmptyStringAndNotWhitespace(value, message) {
1127
+ if (!isNonEmptyStringAndNotWhitespace(value)) {
1128
+ throw new TypeError(message ?? typeErrorMessage('non-empty string and not whitespace', value));
1129
+ }
1130
+ }
1131
+ // eslint-disable-next-line @typescript-eslint/ban-types
1132
+ export function assertNull(value, message) {
1133
+ if (!isNull(value)) {
1134
+ throw new TypeError(message ?? typeErrorMessage('null', value));
1135
+ }
1136
+ }
1137
+ // eslint-disable-next-line @typescript-eslint/ban-types
1138
+ export function assertNullOrUndefined(value, message) {
1139
+ if (!isNullOrUndefined(value)) {
1140
+ throw new TypeError(message ?? typeErrorMessage('null or undefined', value));
1141
+ }
1142
+ }
1143
+ export function assertNumber(value, message) {
1144
+ if (!isNumber(value)) {
1145
+ throw new TypeError(message ?? typeErrorMessage('number', value));
1146
+ }
1147
+ }
1148
+ export function assertNumericString(value, message) {
1149
+ if (!isNumericString(value)) {
1150
+ throw new TypeError(message ?? typeErrorMessage('string with a number', value));
1151
+ }
1152
+ }
1153
+ // eslint-disable-next-line @typescript-eslint/ban-types
1154
+ export function assertObject(value, message) {
1155
+ if (!isObject(value)) {
1156
+ throw new TypeError(message ?? typeErrorMessage('Object', value));
1157
+ }
1158
+ }
1159
+ export function assertObservable(value, message) {
1160
+ if (!isObservable(value)) {
1161
+ throw new TypeError(message ?? typeErrorMessage('Observable', value));
1162
+ }
1163
+ }
1164
+ export function assertOddInteger(value, message) {
1165
+ if (!isOddInteger(value)) {
1166
+ throw new TypeError(message ?? typeErrorMessage('odd integer', value));
1167
+ }
1168
+ }
1169
+ export function assertPlainObject(value, message) {
1170
+ if (!isPlainObject(value)) {
1171
+ throw new TypeError(message ?? typeErrorMessage('plain object', value));
1172
+ }
1173
+ }
1174
+ export function assertPositiveNumber(value, message) {
1175
+ if (!isPositiveNumber(value)) {
1176
+ throw new TypeError(message ?? typeErrorMessage('positive number', value));
1177
+ }
1178
+ }
1179
+ export function assertPrimitive(value, message) {
1180
+ if (!isPrimitive(value)) {
1181
+ throw new TypeError(message ?? typeErrorMessage('primitive', value));
1182
+ }
1183
+ }
1184
+ export function assertPromise(value, message) {
1185
+ if (!isPromise(value)) {
1186
+ throw new TypeError(message ?? typeErrorMessage('Promise', value));
1187
+ }
1188
+ }
1189
+ export function assertPropertyKey(value, message) {
1190
+ if (!isPropertyKey(value)) {
1191
+ throw new TypeError(message ?? typeErrorMessage('PropertyKey', value));
1192
+ }
1193
+ }
1194
+ export function assertRegExp(value, message) {
1195
+ if (!isRegExp(value)) {
1196
+ throw new TypeError(message ?? typeErrorMessage('RegExp', value));
1197
+ }
1198
+ }
1199
+ export function assertSafeInteger(value, message) {
1200
+ if (!isSafeInteger(value)) {
1201
+ throw new TypeError(message ?? typeErrorMessage('integer', value));
1202
+ }
1203
+ }
1204
+ export function assertSet(value, message) {
1205
+ if (!isSet(value)) {
1206
+ throw new TypeError(message ?? typeErrorMessage('Set', value));
1207
+ }
1208
+ }
1209
+ export function assertSharedArrayBuffer(value, message) {
1210
+ if (!isSharedArrayBuffer(value)) {
1211
+ throw new TypeError(message ?? typeErrorMessage('SharedArrayBuffer', value));
1212
+ }
1213
+ }
1214
+ export function assertString(value, message) {
1215
+ if (!isString(value)) {
1216
+ throw new TypeError(message ?? typeErrorMessage('string', value));
1217
+ }
1218
+ }
1219
+ export function assertSymbol(value, message) {
1220
+ if (!isSymbol(value)) {
1221
+ throw new TypeError(message ?? typeErrorMessage('symbol', value));
1222
+ }
1223
+ }
1224
+ export function assertTruthy(value, message) {
1225
+ if (!isTruthy(value)) {
1226
+ throw new TypeError(message ?? typeErrorMessage('truthy', value));
1227
+ }
1228
+ }
1229
+ export function assertTupleLike(value, guards, message) {
1230
+ if (!isTupleLike(value, guards)) {
1231
+ throw new TypeError(message ?? typeErrorMessage('tuple-like', value));
1232
+ }
1233
+ }
1234
+ export function assertTypedArray(value, message) {
1235
+ if (!isTypedArray(value)) {
1236
+ throw new TypeError(message ?? typeErrorMessage('TypedArray', value));
1237
+ }
1238
+ }
1239
+ export function assertUint16Array(value, message) {
1240
+ if (!isUint16Array(value)) {
1241
+ throw new TypeError(message ?? typeErrorMessage('Uint16Array', value));
1242
+ }
1243
+ }
1244
+ export function assertUint32Array(value, message) {
1245
+ if (!isUint32Array(value)) {
1246
+ throw new TypeError(message ?? typeErrorMessage('Uint32Array', value));
1247
+ }
1248
+ }
1249
+ export function assertUint8Array(value, message) {
1250
+ if (!isUint8Array(value)) {
1251
+ throw new TypeError(message ?? typeErrorMessage('Uint8Array', value));
1252
+ }
1253
+ }
1254
+ export function assertUint8ClampedArray(value, message) {
1255
+ if (!isUint8ClampedArray(value)) {
1256
+ throw new TypeError(message ?? typeErrorMessage('Uint8ClampedArray', value));
1257
+ }
1258
+ }
1259
+ export function assertUndefined(value, message) {
1260
+ if (!isUndefined(value)) {
1261
+ throw new TypeError(message ?? typeErrorMessage('undefined', value));
1262
+ }
1263
+ }
1264
+ export function assertUrlInstance(value, message) {
1265
+ if (!isUrlInstance(value)) {
1266
+ throw new TypeError(message ?? typeErrorMessage('URL', value));
1267
+ }
1268
+ }
1269
+ // eslint-disable-next-line unicorn/prevent-abbreviations
1270
+ export function assertUrlSearchParams(value, message) {
1271
+ if (!isUrlSearchParams(value)) {
1272
+ throw new TypeError(message ?? typeErrorMessage('URLSearchParams', value));
1273
+ }
1274
+ }
1275
+ export function assertUrlString(value, message) {
1276
+ if (!isUrlString(value)) {
1277
+ throw new TypeError(message ?? typeErrorMessage('string with a URL', value));
1278
+ }
1279
+ }
1280
+ export function assertValidDate(value, message) {
1281
+ if (!isValidDate(value)) {
1282
+ throw new TypeError(message ?? typeErrorMessage('valid Date', value));
1283
+ }
1284
+ }
1285
+ export function assertValidLength(value, message) {
1286
+ if (!isValidLength(value)) {
1287
+ throw new TypeError(message ?? typeErrorMessage('valid length', value));
1288
+ }
1289
+ }
1290
+ // eslint-disable-next-line @typescript-eslint/ban-types
1291
+ export function assertWeakMap(value, message) {
1292
+ if (!isWeakMap(value)) {
1293
+ throw new TypeError(message ?? typeErrorMessage('WeakMap', value));
1294
+ }
1295
+ }
1296
+ // eslint-disable-next-line @typescript-eslint/ban-types, unicorn/prevent-abbreviations
1297
+ export function assertWeakRef(value, message) {
1298
+ if (!isWeakRef(value)) {
1299
+ throw new TypeError(message ?? typeErrorMessage('WeakRef', value));
1300
+ }
1301
+ }
1302
+ // eslint-disable-next-line @typescript-eslint/ban-types
1303
+ export function assertWeakSet(value, message) {
1304
+ if (!isWeakSet(value)) {
1305
+ throw new TypeError(message ?? typeErrorMessage('WeakSet', value));
1306
+ }
1307
+ }
1308
+ export function assertWhitespaceString(value, message) {
1309
+ if (!isWhitespaceString(value)) {
1310
+ throw new TypeError(message ?? typeErrorMessage('whitespace string', value));
1311
+ }
1312
+ }
1313
+ export default is;