moonflower 1.2.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/entry.cjs +1 -1
- package/dist/cli/cli.cjs +2 -0
- package/dist/cli/cli.cjs.map +1 -0
- package/dist/cli/cli.d.ts +2 -0
- package/dist/cli/cli.d.ts.map +1 -0
- package/dist/cli/cli.mjs +62 -0
- package/dist/cli/cli.mjs.map +1 -0
- package/dist/cli/prettyprint.cjs +2 -0
- package/dist/cli/prettyprint.cjs.map +1 -0
- package/dist/cli/prettyprint.d.ts +5 -0
- package/dist/cli/prettyprint.d.ts.map +1 -0
- package/dist/cli/prettyprint.mjs +15 -0
- package/dist/cli/prettyprint.mjs.map +1 -0
- package/dist/errors/UserFacingErrors.cjs +1 -1
- package/dist/errors/UserFacingErrors.cjs.map +1 -1
- package/dist/errors/UserFacingErrors.d.ts +27 -0
- package/dist/errors/UserFacingErrors.d.ts.map +1 -1
- package/dist/errors/UserFacingErrors.mjs +67 -13
- package/dist/errors/UserFacingErrors.mjs.map +1 -1
- package/dist/hooks/usePathParams.cjs +1 -1
- package/dist/hooks/usePathParams.cjs.map +1 -1
- package/dist/hooks/usePathParams.d.ts.map +1 -1
- package/dist/hooks/usePathParams.mjs +20 -27
- package/dist/hooks/usePathParams.mjs.map +1 -1
- package/dist/hooks/useQueryParams.cjs +1 -1
- package/dist/hooks/useQueryParams.cjs.map +1 -1
- package/dist/hooks/useQueryParams.d.ts +4 -3
- package/dist/hooks/useQueryParams.d.ts.map +1 -1
- package/dist/hooks/useQueryParams.mjs +24 -33
- package/dist/hooks/useQueryParams.mjs.map +1 -1
- package/dist/hooks/useRequestBody.cjs +1 -1
- package/dist/hooks/useRequestBody.cjs.map +1 -1
- package/dist/hooks/useRequestBody.d.ts +4 -3
- package/dist/hooks/useRequestBody.d.ts.map +1 -1
- package/dist/hooks/useRequestBody.mjs +23 -34
- package/dist/hooks/useRequestBody.mjs.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +64 -55
- package/dist/node_modules/zod/index.cjs +2 -0
- package/dist/node_modules/zod/index.cjs.map +1 -0
- package/dist/node_modules/zod/index.mjs +6 -0
- package/dist/node_modules/zod/index.mjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/checks.cjs +2 -0
- package/dist/node_modules/zod/v4/classic/checks.cjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/checks.mjs +34 -0
- package/dist/node_modules/zod/v4/classic/checks.mjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/coerce.cjs +2 -0
- package/dist/node_modules/zod/v4/classic/coerce.cjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/coerce.mjs +26 -0
- package/dist/node_modules/zod/v4/classic/coerce.mjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/compat.cjs +2 -0
- package/dist/node_modules/zod/v4/classic/compat.cjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/compat.mjs +35 -0
- package/dist/node_modules/zod/v4/classic/compat.mjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/errors.cjs +2 -0
- package/dist/node_modules/zod/v4/classic/errors.cjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/errors.mjs +41 -0
- package/dist/node_modules/zod/v4/classic/errors.mjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/external.cjs +2 -0
- package/dist/node_modules/zod/v4/classic/external.cjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/external.mjs +260 -0
- package/dist/node_modules/zod/v4/classic/external.mjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/from-json-schema.cjs +2 -0
- package/dist/node_modules/zod/v4/classic/from-json-schema.cjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/from-json-schema.mjs +287 -0
- package/dist/node_modules/zod/v4/classic/from-json-schema.mjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/iso.cjs +2 -0
- package/dist/node_modules/zod/v4/classic/iso.cjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/iso.mjs +40 -0
- package/dist/node_modules/zod/v4/classic/iso.mjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/parse.cjs +2 -0
- package/dist/node_modules/zod/v4/classic/parse.cjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/parse.mjs +19 -0
- package/dist/node_modules/zod/v4/classic/parse.mjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/schemas.cjs +2 -0
- package/dist/node_modules/zod/v4/classic/schemas.cjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/schemas.mjs +912 -0
- package/dist/node_modules/zod/v4/classic/schemas.mjs.map +1 -0
- package/dist/node_modules/zod/v4/core/api.cjs +2 -0
- package/dist/node_modules/zod/v4/core/api.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/api.mjs +1110 -0
- package/dist/node_modules/zod/v4/core/api.mjs.map +1 -0
- package/dist/node_modules/zod/v4/core/checks.cjs +2 -0
- package/dist/node_modules/zod/v4/core/checks.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/checks.mjs +421 -0
- package/dist/node_modules/zod/v4/core/checks.mjs.map +1 -0
- package/dist/node_modules/zod/v4/core/core.cjs +2 -0
- package/dist/node_modules/zod/v4/core/core.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/core.mjs +62 -0
- package/dist/node_modules/zod/v4/core/core.mjs.map +1 -0
- package/dist/node_modules/zod/v4/core/doc.cjs +4 -0
- package/dist/node_modules/zod/v4/core/doc.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/doc.mjs +27 -0
- package/dist/node_modules/zod/v4/core/doc.mjs.map +1 -0
- package/dist/node_modules/zod/v4/core/errors.cjs +3 -0
- package/dist/node_modules/zod/v4/core/errors.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/errors.mjs +89 -0
- package/dist/node_modules/zod/v4/core/errors.mjs.map +1 -0
- package/dist/node_modules/zod/v4/core/index.cjs +2 -0
- package/dist/node_modules/zod/v4/core/index.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/index.mjs +293 -0
- package/dist/node_modules/zod/v4/core/index.mjs.map +1 -0
- package/dist/node_modules/zod/v4/core/json-schema-generator.cjs +2 -0
- package/dist/node_modules/zod/v4/core/json-schema-generator.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/json-schema-generator.mjs +66 -0
- package/dist/node_modules/zod/v4/core/json-schema-generator.mjs.map +1 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.cjs +2 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.mjs +346 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.mjs.map +1 -0
- package/dist/node_modules/zod/v4/core/json-schema.cjs +2 -0
- package/dist/node_modules/zod/v4/core/json-schema.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/json-schema.mjs +2 -0
- package/dist/node_modules/zod/v4/core/json-schema.mjs.map +1 -0
- package/dist/node_modules/zod/v4/core/parse.cjs +2 -0
- package/dist/node_modules/zod/v4/core/parse.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/parse.mjs +75 -0
- package/dist/node_modules/zod/v4/core/parse.mjs.map +1 -0
- package/dist/node_modules/zod/v4/core/regexes.cjs +2 -0
- package/dist/node_modules/zod/v4/core/regexes.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/regexes.mjs +94 -0
- package/dist/node_modules/zod/v4/core/regexes.mjs.map +1 -0
- package/dist/node_modules/zod/v4/core/registries.cjs +2 -0
- package/dist/node_modules/zod/v4/core/registries.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/registries.mjs +44 -0
- package/dist/node_modules/zod/v4/core/registries.mjs.map +1 -0
- package/dist/node_modules/zod/v4/core/schemas.cjs +36 -0
- package/dist/node_modules/zod/v4/core/schemas.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/schemas.mjs +1319 -0
- package/dist/node_modules/zod/v4/core/schemas.mjs.map +1 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.cjs +4 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.mjs +244 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.mjs.map +1 -0
- package/dist/node_modules/zod/v4/core/util.cjs +2 -0
- package/dist/node_modules/zod/v4/core/util.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/util.mjs +523 -0
- package/dist/node_modules/zod/v4/core/util.mjs.map +1 -0
- package/dist/node_modules/zod/v4/core/versions.cjs +2 -0
- package/dist/node_modules/zod/v4/core/versions.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/versions.mjs +9 -0
- package/dist/node_modules/zod/v4/core/versions.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ar.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/ar.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ar.mjs +87 -0
- package/dist/node_modules/zod/v4/locales/ar.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/az.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/az.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/az.mjs +87 -0
- package/dist/node_modules/zod/v4/locales/az.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/be.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/be.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/be.mjs +129 -0
- package/dist/node_modules/zod/v4/locales/be.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/bg.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/bg.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/bg.mjs +98 -0
- package/dist/node_modules/zod/v4/locales/bg.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ca.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/ca.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ca.mjs +88 -0
- package/dist/node_modules/zod/v4/locales/ca.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/cs.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/cs.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/cs.mjs +91 -0
- package/dist/node_modules/zod/v4/locales/cs.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/da.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/da.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/da.mjs +94 -0
- package/dist/node_modules/zod/v4/locales/da.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/de.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/de.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/de.mjs +89 -0
- package/dist/node_modules/zod/v4/locales/de.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/en.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/en.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/en.mjs +91 -0
- package/dist/node_modules/zod/v4/locales/en.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/eo.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/eo.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/eo.mjs +90 -0
- package/dist/node_modules/zod/v4/locales/eo.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/es.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/es.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/es.mjs +111 -0
- package/dist/node_modules/zod/v4/locales/es.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/fa.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/fa.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/fa.mjs +89 -0
- package/dist/node_modules/zod/v4/locales/fa.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/fi.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/fi.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/fi.mjs +91 -0
- package/dist/node_modules/zod/v4/locales/fi.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/fr-CA.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/fr-CA.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/fr-CA.mjs +87 -0
- package/dist/node_modules/zod/v4/locales/fr-CA.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/fr.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/fr.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/fr.mjs +89 -0
- package/dist/node_modules/zod/v4/locales/fr.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/he.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/he.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/he.mjs +152 -0
- package/dist/node_modules/zod/v4/locales/he.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/hu.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/hu.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/hu.mjs +89 -0
- package/dist/node_modules/zod/v4/locales/hu.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/hy.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/hy.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/hy.mjs +130 -0
- package/dist/node_modules/zod/v4/locales/hy.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/id.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/id.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/id.mjs +87 -0
- package/dist/node_modules/zod/v4/locales/id.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/index.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/index.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/index.mjs +101 -0
- package/dist/node_modules/zod/v4/locales/index.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/is.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/is.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/is.mjs +89 -0
- package/dist/node_modules/zod/v4/locales/is.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/it.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/it.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/it.mjs +89 -0
- package/dist/node_modules/zod/v4/locales/it.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ja.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/ja.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ja.mjs +89 -0
- package/dist/node_modules/zod/v4/locales/ja.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ka.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/ka.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ka.mjs +92 -0
- package/dist/node_modules/zod/v4/locales/ka.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/kh.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/kh.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/kh.mjs +8 -0
- package/dist/node_modules/zod/v4/locales/kh.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/km.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/km.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/km.mjs +90 -0
- package/dist/node_modules/zod/v4/locales/km.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ko.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/ko.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ko.mjs +87 -0
- package/dist/node_modules/zod/v4/locales/ko.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/lt.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/lt.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/lt.mjs +178 -0
- package/dist/node_modules/zod/v4/locales/lt.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/mk.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/mk.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/mk.mjs +89 -0
- package/dist/node_modules/zod/v4/locales/mk.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ms.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/ms.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ms.mjs +88 -0
- package/dist/node_modules/zod/v4/locales/ms.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/nl.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/nl.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/nl.mjs +88 -0
- package/dist/node_modules/zod/v4/locales/nl.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/no.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/no.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/no.mjs +89 -0
- package/dist/node_modules/zod/v4/locales/no.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ota.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/ota.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ota.mjs +90 -0
- package/dist/node_modules/zod/v4/locales/ota.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/pl.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/pl.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/pl.mjs +89 -0
- package/dist/node_modules/zod/v4/locales/pl.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ps.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/ps.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ps.mjs +89 -0
- package/dist/node_modules/zod/v4/locales/ps.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/pt.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/pt.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/pt.mjs +89 -0
- package/dist/node_modules/zod/v4/locales/pt.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ru.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/ru.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ru.mjs +129 -0
- package/dist/node_modules/zod/v4/locales/ru.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/sl.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/sl.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/sl.mjs +89 -0
- package/dist/node_modules/zod/v4/locales/sl.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/sv.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/sv.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/sv.mjs +89 -0
- package/dist/node_modules/zod/v4/locales/sv.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ta.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/ta.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ta.mjs +90 -0
- package/dist/node_modules/zod/v4/locales/ta.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/th.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/th.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/th.mjs +90 -0
- package/dist/node_modules/zod/v4/locales/th.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/tr.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/tr.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/tr.mjs +87 -0
- package/dist/node_modules/zod/v4/locales/tr.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ua.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/ua.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ua.mjs +8 -0
- package/dist/node_modules/zod/v4/locales/ua.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/uk.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/uk.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/uk.mjs +89 -0
- package/dist/node_modules/zod/v4/locales/uk.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ur.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/ur.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/ur.mjs +90 -0
- package/dist/node_modules/zod/v4/locales/ur.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/uz.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/uz.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/uz.mjs +90 -0
- package/dist/node_modules/zod/v4/locales/uz.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/vi.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/vi.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/vi.mjs +89 -0
- package/dist/node_modules/zod/v4/locales/vi.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/yo.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/yo.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/yo.mjs +89 -0
- package/dist/node_modules/zod/v4/locales/yo.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/zh-CN.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/zh-CN.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/zh-CN.mjs +90 -0
- package/dist/node_modules/zod/v4/locales/zh-CN.mjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/zh-TW.cjs +2 -0
- package/dist/node_modules/zod/v4/locales/zh-TW.cjs.map +1 -0
- package/dist/node_modules/zod/v4/locales/zh-TW.mjs +87 -0
- package/dist/node_modules/zod/v4/locales/zh-TW.mjs.map +1 -0
- package/dist/openapi/analyzerModule/analyzerModule.cjs +1 -1
- package/dist/openapi/analyzerModule/analyzerModule.cjs.map +1 -1
- package/dist/openapi/analyzerModule/analyzerModule.d.ts.map +1 -1
- package/dist/openapi/analyzerModule/analyzerModule.mjs +42 -42
- package/dist/openapi/analyzerModule/analyzerModule.mjs.map +1 -1
- package/dist/openapi/analyzerModule/nodeParsers.cjs +1 -1
- package/dist/openapi/analyzerModule/nodeParsers.cjs.map +1 -1
- package/dist/openapi/analyzerModule/nodeParsers.d.ts +1 -0
- package/dist/openapi/analyzerModule/nodeParsers.d.ts.map +1 -1
- package/dist/openapi/analyzerModule/nodeParsers.mjs +261 -206
- package/dist/openapi/analyzerModule/nodeParsers.mjs.map +1 -1
- package/dist/openapi/analyzerModule/parseEndpoint.cjs +1 -1
- package/dist/openapi/analyzerModule/parseEndpoint.cjs.map +1 -1
- package/dist/openapi/analyzerModule/parseEndpoint.d.ts.map +1 -1
- package/dist/openapi/analyzerModule/parseEndpoint.mjs +62 -62
- package/dist/openapi/analyzerModule/parseEndpoint.mjs.map +1 -1
- package/dist/openapi/analyzerModule/test/TestCase.d.ts +9 -0
- package/dist/openapi/analyzerModule/test/TestCase.d.ts.map +1 -0
- package/dist/openapi/analyzerModule/test/openApiAnalyzer.zod.spec.d.ts +2 -0
- package/dist/openapi/analyzerModule/test/openApiAnalyzer.zod.spec.d.ts.map +1 -0
- package/dist/openapi/analyzerModule/test/openApiAnalyzer.zod.spec.data.d.ts +2 -0
- package/dist/openapi/analyzerModule/test/openApiAnalyzer.zod.spec.data.d.ts.map +1 -0
- package/dist/openapi/initOpenApiEngine.cjs +1 -1
- package/dist/openapi/initOpenApiEngine.cjs.map +1 -1
- package/dist/openapi/initOpenApiEngine.d.ts +7 -2
- package/dist/openapi/initOpenApiEngine.d.ts.map +1 -1
- package/dist/openapi/initOpenApiEngine.mjs +13 -7
- package/dist/openapi/initOpenApiEngine.mjs.map +1 -1
- package/dist/openapi/manager/OpenApiManager.cjs +1 -1
- package/dist/openapi/manager/OpenApiManager.cjs.map +1 -1
- package/dist/openapi/manager/OpenApiManager.d.ts +4 -0
- package/dist/openapi/manager/OpenApiManager.d.ts.map +1 -1
- package/dist/openapi/manager/OpenApiManager.mjs +11 -2
- package/dist/openapi/manager/OpenApiManager.mjs.map +1 -1
- package/dist/openapi/router/OpenApiRouter.cjs +1 -1
- package/dist/openapi/router/OpenApiRouter.cjs.map +1 -1
- package/dist/openapi/router/OpenApiRouter.d.ts.map +1 -1
- package/dist/openapi/router/OpenApiRouter.mjs +9 -6
- package/dist/openapi/router/OpenApiRouter.mjs.map +1 -1
- package/dist/utils/getValueAsNullableString.cjs +2 -0
- package/dist/utils/getValueAsNullableString.cjs.map +1 -0
- package/dist/utils/getValueAsNullableString.d.ts +2 -0
- package/dist/utils/getValueAsNullableString.d.ts.map +1 -0
- package/dist/utils/getValueAsNullableString.mjs +7 -0
- package/dist/utils/getValueAsNullableString.mjs.map +1 -0
- package/dist/utils/validationMessages.cjs +1 -1
- package/dist/utils/validationMessages.cjs.map +1 -1
- package/dist/utils/validationMessages.d.ts +1 -1
- package/dist/utils/validationMessages.d.ts.map +1 -1
- package/dist/utils/validationMessages.mjs +8 -8
- package/dist/utils/validationMessages.mjs.map +1 -1
- package/dist/validators/types.d.ts +4 -0
- package/dist/validators/types.d.ts.map +1 -1
- package/dist/validators/validateMissingParams.cjs +2 -0
- package/dist/validators/validateMissingParams.cjs.map +1 -0
- package/dist/validators/validateMissingParams.d.ts +7 -0
- package/dist/validators/validateMissingParams.d.ts.map +1 -0
- package/dist/validators/validateMissingParams.mjs +17 -0
- package/dist/validators/validateMissingParams.mjs.map +1 -0
- package/dist/validators/validateParam.cjs +2 -0
- package/dist/validators/validateParam.cjs.map +1 -0
- package/dist/validators/validateParam.d.ts +8 -0
- package/dist/validators/validateParam.d.ts.map +1 -0
- package/dist/validators/validateParam.mjs +41 -0
- package/dist/validators/validateParam.mjs.map +1 -0
- package/package.json +12 -5
- package/{cli → src/cli}/cli.ts +26 -6
- package/{cli → src/cli}/prettyprint.ts +2 -2
- package/src/errors/UserFacingErrors.ts +54 -0
- package/src/hooks/usePathParams.spec.ts +27 -0
- package/src/hooks/usePathParams.ts +5 -13
- package/src/hooks/useQueryParams.spec.ts +99 -0
- package/src/hooks/useQueryParams.ts +16 -25
- package/src/hooks/useRequestBody.spec.ts +99 -0
- package/src/hooks/useRequestBody.ts +16 -35
- package/src/openapi/analyzerModule/analyzerModule.ts +2 -3
- package/src/openapi/analyzerModule/nodeParsers.ts +113 -8
- package/src/openapi/analyzerModule/parseEndpoint.ts +2 -2
- package/src/openapi/analyzerModule/test/TestCase.ts +8 -0
- package/src/openapi/analyzerModule/test/openApiAnalyzer.spec.data.ts +9 -0
- package/src/openapi/analyzerModule/test/openApiAnalyzer.spec.ts +21 -0
- package/src/openapi/analyzerModule/test/openApiAnalyzer.zod.spec.data.ts +87 -0
- package/src/openapi/analyzerModule/test/openApiAnalyzer.zod.spec.ts +178 -0
- package/src/openapi/initOpenApiEngine.ts +48 -6
- package/src/openapi/manager/OpenApiManager.ts +16 -0
- package/src/openapi/router/OpenApiRouter.ts +6 -1
- package/src/test/app.spec.ts +27 -0
- package/src/utils/getValueAsNullableString.ts +8 -0
- package/src/utils/validationMessages.ts +4 -0
- package/src/validators/types.ts +5 -0
- package/src/validators/validateMissingParams.ts +27 -0
- package/src/validators/validateParam.ts +69 -0
- package/vite.config.ts +3 -0
package/cli/entry.cjs
CHANGED
package/dist/cli/cli.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const i=require("fs"),c=require("path"),p=require("yargs"),f=require("yargs/helpers"),l=require("../openapi/analyzerModule/analyzerModule.cjs"),u=require("../openapi/generatorModule/generatorModule.cjs"),d=require("../openapi/manager/OpenApiManager.cjs"),g=require("./prettyprint.cjs");function a(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const r=a(i),s=a(c),h=console.info;console.info=(e,...t)=>{h(`${e}`,...t)};p(f.hideBin(process.argv)).showHelpOnFail(!0).command({command:"openapi <targetPath>",describe:"Generates the current openapi spec into a specified file path",builder:{targetPath:{describe:"Target path",demandOption:!0,type:"string",coerce:e=>s.resolve(e)},tsConfigPath:{describe:"tsconfig",type:"string",coerce:e=>s.resolve(e)},force:{describe:"Overwrite existing file",type:"boolean",default:!1}},handler(e){if(r.existsSync(e.targetPath)&&!e.force&&!y(e.targetPath)){console.error(`[Error] File already exists at ${e.targetPath} and does not appear to be a moonflower output. Use --force to overwrite.`);return}if(e.tsConfigPath&&!r.existsSync(e.tsConfigPath)){console.error(`[Error] Unable to find a tsconfig file at ${e.tsConfigPath}`);return}l.prepareOpenApiSpec({tsconfigPath:e.tsConfigPath??"tsconfig.json"});const t=d.OpenApiManager.getInstance();g.printAnalysisStats(t.getStats());const n=u.generateOpenApiSpec(t);r.writeFileSync(e.targetPath,JSON.stringify(n))}}).demandCommand().parse();function y(e){try{const t=r.readFileSync(e,"utf-8"),n=JSON.parse(t);return typeof n=="object"&&n!==null&&typeof n.openapi=="string"}catch{return!1}}
|
|
2
|
+
//# sourceMappingURL=cli.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.cjs","sources":["../../src/cli/cli.ts"],"sourcesContent":["import * as fs from 'fs'\nimport * as path from 'path'\nimport yargs, { ArgumentsCamelCase } from 'yargs'\nimport { hideBin } from 'yargs/helpers'\n\nimport { prepareOpenApiSpec } from '../openapi/analyzerModule/analyzerModule'\nimport { generateOpenApiSpec } from '../openapi/generatorModule'\nimport { OpenApiManager } from '../openapi/manager/OpenApiManager'\nimport { printAnalysisStats } from './prettyprint'\n\nconst originalConsole = console.info\nconsole.info = (message, ...args) => {\n\toriginalConsole(`${message}`, ...args)\n}\n\nyargs(hideBin(process.argv))\n\t.showHelpOnFail(true)\n\t.command({\n\t\tcommand: 'openapi <targetPath>',\n\t\tdescribe: 'Generates the current openapi spec into a specified file path',\n\t\tbuilder: {\n\t\t\ttargetPath: {\n\t\t\t\tdescribe: 'Target path',\n\t\t\t\tdemandOption: true,\n\t\t\t\ttype: 'string',\n\t\t\t\tcoerce: (f) => path.resolve(f),\n\t\t\t},\n\n\t\t\ttsConfigPath: {\n\t\t\t\tdescribe: 'tsconfig',\n\t\t\t\ttype: 'string',\n\t\t\t\tcoerce: (f) => path.resolve(f),\n\t\t\t},\n\n\t\t\tforce: {\n\t\t\t\tdescribe: 'Overwrite existing file',\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t},\n\n\t\thandler(argv: ArgumentsCamelCase<{ targetPath: string; tsConfigPath?: string; force: boolean }>) {\n\t\t\tif (fs.existsSync(argv.targetPath)) {\n\t\t\t\tif (!argv.force && !isValidMoonflowerOutput(argv.targetPath)) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t`[Error] File already exists at ${argv.targetPath} and does not appear to be a moonflower output. Use --force to overwrite.`,\n\t\t\t\t\t)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (argv.tsConfigPath && !fs.existsSync(argv.tsConfigPath)) {\n\t\t\t\tconsole.error(`[Error] Unable to find a tsconfig file at ${argv.tsConfigPath}`)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tprepareOpenApiSpec({\n\t\t\t\ttsconfigPath: argv.tsConfigPath ?? 'tsconfig.json',\n\t\t\t})\n\n\t\t\tconst manager = OpenApiManager.getInstance()\n\t\t\tprintAnalysisStats(manager.getStats())\n\n\t\t\tconst spec = generateOpenApiSpec(manager)\n\t\t\tfs.writeFileSync(argv.targetPath, JSON.stringify(spec))\n\t\t},\n\t})\n\t.demandCommand()\n\t.parse()\n\nfunction isValidMoonflowerOutput(filePath: string): boolean {\n\ttry {\n\t\tconst content = fs.readFileSync(filePath, 'utf-8')\n\t\tconst parsed = JSON.parse(content)\n\t\treturn typeof parsed === 'object' && parsed !== null && typeof parsed.openapi === 'string'\n\t} catch {\n\t\treturn false\n\t}\n}\n"],"names":["originalConsole","message","args","yargs","hideBin","f","path","argv","fs","isValidMoonflowerOutput","prepareOpenApiSpec","manager","OpenApiManager","printAnalysisStats","spec","generateOpenApiSpec","filePath","content","parsed"],"mappings":"4kBAUMA,EAAkB,QAAQ,KAChC,QAAQ,KAAO,CAACC,KAAYC,IAAS,CACpCF,EAAgB,GAAGC,CAAO,GAAI,GAAGC,CAAI,CACtC,EAEAC,EAAMC,EAAAA,QAAQ,QAAQ,IAAI,CAAC,EACzB,eAAe,EAAI,EACnB,QAAQ,CACR,QAAS,uBACT,SAAU,gEACV,QAAS,CACR,WAAY,CACX,SAAU,cACV,aAAc,GACd,KAAM,SACN,OAASC,GAAMC,EAAK,QAAQD,CAAC,CAC9B,EAEA,aAAc,CACb,SAAU,WACV,KAAM,SACN,OAASA,GAAMC,EAAK,QAAQD,CAAC,CAC9B,EAEA,MAAO,CACN,SAAU,0BACV,KAAM,UACN,QAAS,EAAA,CAEX,EAEA,QAAQE,EAAyF,CAChG,GAAIC,EAAG,WAAWD,EAAK,UAAU,GAC5B,CAACA,EAAK,OAAS,CAACE,EAAwBF,EAAK,UAAU,EAAG,CACrD,QAAA,MACP,kCAAkCA,EAAK,UAAU,2EAClD,EACA,MAAA,CAIF,GAAIA,EAAK,cAAgB,CAACC,EAAG,WAAWD,EAAK,YAAY,EAAG,CAC3D,QAAQ,MAAM,6CAA6CA,EAAK,YAAY,EAAE,EAC9E,MAAA,CAGkBG,qBAAA,CAClB,aAAcH,EAAK,cAAgB,eAAA,CACnC,EAEK,MAAAI,EAAUC,iBAAe,YAAY,EACxBC,qBAAAF,EAAQ,UAAU,EAE/B,MAAAG,EAAOC,sBAAoBJ,CAAO,EACxCH,EAAG,cAAcD,EAAK,WAAY,KAAK,UAAUO,CAAI,CAAC,CAAA,CAExD,CAAC,EACA,cAAc,EACd,MAAM,EAER,SAASL,EAAwBO,EAA2B,CACvD,GAAA,CACH,MAAMC,EAAUT,EAAG,aAAaQ,EAAU,OAAO,EAC3CE,EAAS,KAAK,MAAMD,CAAO,EACjC,OAAO,OAAOC,GAAW,UAAYA,IAAW,MAAQ,OAAOA,EAAO,SAAY,QAAA,MAC3E,CACA,MAAA,EAAA,CAET"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":""}
|
package/dist/cli/cli.mjs
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import * as r from "fs";
|
|
2
|
+
import * as n from "path";
|
|
3
|
+
import i from "yargs";
|
|
4
|
+
import { hideBin as a } from "yargs/helpers";
|
|
5
|
+
import { prepareOpenApiSpec as s } from "../openapi/analyzerModule/analyzerModule.mjs";
|
|
6
|
+
import { generateOpenApiSpec as p } from "../openapi/generatorModule/generatorModule.mjs";
|
|
7
|
+
import { OpenApiManager as c } from "../openapi/manager/OpenApiManager.mjs";
|
|
8
|
+
import { printAnalysisStats as f } from "./prettyprint.mjs";
|
|
9
|
+
const l = console.info;
|
|
10
|
+
console.info = (e, ...t) => {
|
|
11
|
+
l(`${e}`, ...t);
|
|
12
|
+
};
|
|
13
|
+
i(a(process.argv)).showHelpOnFail(!0).command({
|
|
14
|
+
command: "openapi <targetPath>",
|
|
15
|
+
describe: "Generates the current openapi spec into a specified file path",
|
|
16
|
+
builder: {
|
|
17
|
+
targetPath: {
|
|
18
|
+
describe: "Target path",
|
|
19
|
+
demandOption: !0,
|
|
20
|
+
type: "string",
|
|
21
|
+
coerce: (e) => n.resolve(e)
|
|
22
|
+
},
|
|
23
|
+
tsConfigPath: {
|
|
24
|
+
describe: "tsconfig",
|
|
25
|
+
type: "string",
|
|
26
|
+
coerce: (e) => n.resolve(e)
|
|
27
|
+
},
|
|
28
|
+
force: {
|
|
29
|
+
describe: "Overwrite existing file",
|
|
30
|
+
type: "boolean",
|
|
31
|
+
default: !1
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
handler(e) {
|
|
35
|
+
if (r.existsSync(e.targetPath) && !e.force && !m(e.targetPath)) {
|
|
36
|
+
console.error(
|
|
37
|
+
`[Error] File already exists at ${e.targetPath} and does not appear to be a moonflower output. Use --force to overwrite.`
|
|
38
|
+
);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (e.tsConfigPath && !r.existsSync(e.tsConfigPath)) {
|
|
42
|
+
console.error(`[Error] Unable to find a tsconfig file at ${e.tsConfigPath}`);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
s({
|
|
46
|
+
tsconfigPath: e.tsConfigPath ?? "tsconfig.json"
|
|
47
|
+
});
|
|
48
|
+
const t = c.getInstance();
|
|
49
|
+
f(t.getStats());
|
|
50
|
+
const o = p(t);
|
|
51
|
+
r.writeFileSync(e.targetPath, JSON.stringify(o));
|
|
52
|
+
}
|
|
53
|
+
}).demandCommand().parse();
|
|
54
|
+
function m(e) {
|
|
55
|
+
try {
|
|
56
|
+
const t = r.readFileSync(e, "utf-8"), o = JSON.parse(t);
|
|
57
|
+
return typeof o == "object" && o !== null && typeof o.openapi == "string";
|
|
58
|
+
} catch {
|
|
59
|
+
return !1;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=cli.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.mjs","sources":["../../src/cli/cli.ts"],"sourcesContent":["import * as fs from 'fs'\nimport * as path from 'path'\nimport yargs, { ArgumentsCamelCase } from 'yargs'\nimport { hideBin } from 'yargs/helpers'\n\nimport { prepareOpenApiSpec } from '../openapi/analyzerModule/analyzerModule'\nimport { generateOpenApiSpec } from '../openapi/generatorModule'\nimport { OpenApiManager } from '../openapi/manager/OpenApiManager'\nimport { printAnalysisStats } from './prettyprint'\n\nconst originalConsole = console.info\nconsole.info = (message, ...args) => {\n\toriginalConsole(`${message}`, ...args)\n}\n\nyargs(hideBin(process.argv))\n\t.showHelpOnFail(true)\n\t.command({\n\t\tcommand: 'openapi <targetPath>',\n\t\tdescribe: 'Generates the current openapi spec into a specified file path',\n\t\tbuilder: {\n\t\t\ttargetPath: {\n\t\t\t\tdescribe: 'Target path',\n\t\t\t\tdemandOption: true,\n\t\t\t\ttype: 'string',\n\t\t\t\tcoerce: (f) => path.resolve(f),\n\t\t\t},\n\n\t\t\ttsConfigPath: {\n\t\t\t\tdescribe: 'tsconfig',\n\t\t\t\ttype: 'string',\n\t\t\t\tcoerce: (f) => path.resolve(f),\n\t\t\t},\n\n\t\t\tforce: {\n\t\t\t\tdescribe: 'Overwrite existing file',\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t},\n\n\t\thandler(argv: ArgumentsCamelCase<{ targetPath: string; tsConfigPath?: string; force: boolean }>) {\n\t\t\tif (fs.existsSync(argv.targetPath)) {\n\t\t\t\tif (!argv.force && !isValidMoonflowerOutput(argv.targetPath)) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t`[Error] File already exists at ${argv.targetPath} and does not appear to be a moonflower output. Use --force to overwrite.`,\n\t\t\t\t\t)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (argv.tsConfigPath && !fs.existsSync(argv.tsConfigPath)) {\n\t\t\t\tconsole.error(`[Error] Unable to find a tsconfig file at ${argv.tsConfigPath}`)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tprepareOpenApiSpec({\n\t\t\t\ttsconfigPath: argv.tsConfigPath ?? 'tsconfig.json',\n\t\t\t})\n\n\t\t\tconst manager = OpenApiManager.getInstance()\n\t\t\tprintAnalysisStats(manager.getStats())\n\n\t\t\tconst spec = generateOpenApiSpec(manager)\n\t\t\tfs.writeFileSync(argv.targetPath, JSON.stringify(spec))\n\t\t},\n\t})\n\t.demandCommand()\n\t.parse()\n\nfunction isValidMoonflowerOutput(filePath: string): boolean {\n\ttry {\n\t\tconst content = fs.readFileSync(filePath, 'utf-8')\n\t\tconst parsed = JSON.parse(content)\n\t\treturn typeof parsed === 'object' && parsed !== null && typeof parsed.openapi === 'string'\n\t} catch {\n\t\treturn false\n\t}\n}\n"],"names":["originalConsole","message","args","yargs","hideBin","f","path","argv","fs","isValidMoonflowerOutput","prepareOpenApiSpec","manager","OpenApiManager","printAnalysisStats","spec","generateOpenApiSpec","filePath","content","parsed"],"mappings":";;;;;;;;AAUA,MAAMA,IAAkB,QAAQ;AAChC,QAAQ,OAAO,CAACC,MAAYC,MAAS;AACpC,EAAAF,EAAgB,GAAGC,CAAO,IAAI,GAAGC,CAAI;AACtC;AAEAC,EAAMC,EAAQ,QAAQ,IAAI,CAAC,EACzB,eAAe,EAAI,EACnB,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS;AAAA,IACR,YAAY;AAAA,MACX,UAAU;AAAA,MACV,cAAc;AAAA,MACd,MAAM;AAAA,MACN,QAAQ,CAACC,MAAMC,EAAK,QAAQD,CAAC;AAAA,IAC9B;AAAA,IAEA,cAAc;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,QAAQ,CAACA,MAAMC,EAAK,QAAQD,CAAC;AAAA,IAC9B;AAAA,IAEA,OAAO;AAAA,MACN,UAAU;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,EAEX;AAAA,EAEA,QAAQE,GAAyF;AAChG,QAAIC,EAAG,WAAWD,EAAK,UAAU,KAC5B,CAACA,EAAK,SAAS,CAACE,EAAwBF,EAAK,UAAU,GAAG;AACrD,cAAA;AAAA,QACP,kCAAkCA,EAAK,UAAU;AAAA,MAClD;AACA;AAAA,IAAA;AAIF,QAAIA,EAAK,gBAAgB,CAACC,EAAG,WAAWD,EAAK,YAAY,GAAG;AAC3D,cAAQ,MAAM,6CAA6CA,EAAK,YAAY,EAAE;AAC9E;AAAA,IAAA;AAGkB,IAAAG,EAAA;AAAA,MAClB,cAAcH,EAAK,gBAAgB;AAAA,IAAA,CACnC;AAEK,UAAAI,IAAUC,EAAe,YAAY;AACxB,IAAAC,EAAAF,EAAQ,UAAU;AAE/B,UAAAG,IAAOC,EAAoBJ,CAAO;AACxC,IAAAH,EAAG,cAAcD,EAAK,YAAY,KAAK,UAAUO,CAAI,CAAC;AAAA,EAAA;AAExD,CAAC,EACA,cAAc,EACd,MAAM;AAER,SAASL,EAAwBO,GAA2B;AACvD,MAAA;AACH,UAAMC,IAAUT,EAAG,aAAaQ,GAAU,OAAO,GAC3CE,IAAS,KAAK,MAAMD,CAAO;AACjC,WAAO,OAAOC,KAAW,YAAYA,MAAW,QAAQ,OAAOA,EAAO,WAAY;AAAA,EAAA,QAC3E;AACA,WAAA;AAAA,EAAA;AAET;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../utils/logger.cjs"),n=o=>{o.explicitRouterFiles.forEach(e=>t(e)),o.discoveredRouterFiles.forEach(e=>t(e))},t=o=>{r.Logger.info(`${o.path}`),o.routers.forEach(e=>{r.Logger.info(`└ ${e.name}`),e.endpoints.forEach(i=>{r.Logger.info(` └ ${i}`)})})};exports.printAnalysisStats=n;exports.printRouterFile=t;
|
|
2
|
+
//# sourceMappingURL=prettyprint.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prettyprint.cjs","sources":["../../src/cli/prettyprint.ts"],"sourcesContent":["import { ApiAnalysisStats } from '../openapi/manager/OpenApiManager'\nimport { Logger } from '../utils/logger'\n\nexport const printAnalysisStats = (stats: ApiAnalysisStats) => {\n\tstats.explicitRouterFiles.forEach((file) => printRouterFile(file))\n\tstats.discoveredRouterFiles.forEach((file) => printRouterFile(file))\n}\n\nexport const printRouterFile = (file: ApiAnalysisStats['discoveredRouterFiles'][number]) => {\n\tLogger.info(`${file.path}`)\n\tfile.routers.forEach((r) => {\n\t\tLogger.info(`└ ${r.name}`)\n\t\tr.endpoints.forEach((e) => {\n\t\t\tLogger.info(` └ ${e}`)\n\t\t})\n\t})\n}\n"],"names":["printAnalysisStats","stats","file","printRouterFile","Logger","r","e"],"mappings":"uHAGaA,EAAsBC,GAA4B,CAC9DA,EAAM,oBAAoB,QAASC,GAASC,EAAgBD,CAAI,CAAC,EACjED,EAAM,sBAAsB,QAASC,GAASC,EAAgBD,CAAI,CAAC,CACpE,EAEaC,EAAmBD,GAA4D,CAC3FE,EAAAA,OAAO,KAAK,GAAGF,EAAK,IAAI,EAAE,EACrBA,EAAA,QAAQ,QAASG,GAAM,CAC3BD,EAAA,OAAO,KAAK,KAAKC,EAAE,IAAI,EAAE,EACvBA,EAAA,UAAU,QAASC,GAAM,CACnBF,EAAAA,OAAA,KAAK,OAAOE,CAAC,EAAE,CAAA,CACtB,CAAA,CACD,CACF"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ApiAnalysisStats } from '../openapi/manager/OpenApiManager';
|
|
2
|
+
|
|
3
|
+
export declare const printAnalysisStats: (stats: ApiAnalysisStats) => void;
|
|
4
|
+
export declare const printRouterFile: (file: ApiAnalysisStats["discoveredRouterFiles"][number]) => void;
|
|
5
|
+
//# sourceMappingURL=prettyprint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prettyprint.d.ts","sourceRoot":"","sources":["../../src/cli/prettyprint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAGpE,eAAO,MAAM,kBAAkB,UAAW,gBAAgB,SAGzD,CAAA;AAED,eAAO,MAAM,eAAe,SAAU,gBAAgB,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,SAQtF,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Logger as e } from "../utils/logger.mjs";
|
|
2
|
+
const c = (r) => {
|
|
3
|
+
r.explicitRouterFiles.forEach((o) => i(o)), r.discoveredRouterFiles.forEach((o) => i(o));
|
|
4
|
+
}, i = (r) => {
|
|
5
|
+
e.info(`${r.path}`), r.routers.forEach((o) => {
|
|
6
|
+
e.info(`└ ${o.name}`), o.endpoints.forEach((t) => {
|
|
7
|
+
e.info(` └ ${t}`);
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
export {
|
|
12
|
+
c as printAnalysisStats,
|
|
13
|
+
i as printRouterFile
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=prettyprint.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prettyprint.mjs","sources":["../../src/cli/prettyprint.ts"],"sourcesContent":["import { ApiAnalysisStats } from '../openapi/manager/OpenApiManager'\nimport { Logger } from '../utils/logger'\n\nexport const printAnalysisStats = (stats: ApiAnalysisStats) => {\n\tstats.explicitRouterFiles.forEach((file) => printRouterFile(file))\n\tstats.discoveredRouterFiles.forEach((file) => printRouterFile(file))\n}\n\nexport const printRouterFile = (file: ApiAnalysisStats['discoveredRouterFiles'][number]) => {\n\tLogger.info(`${file.path}`)\n\tfile.routers.forEach((r) => {\n\t\tLogger.info(`└ ${r.name}`)\n\t\tr.endpoints.forEach((e) => {\n\t\t\tLogger.info(` └ ${e}`)\n\t\t})\n\t})\n}\n"],"names":["printAnalysisStats","stats","file","printRouterFile","Logger","r","e"],"mappings":";AAGa,MAAAA,IAAqB,CAACC,MAA4B;AAC9D,EAAAA,EAAM,oBAAoB,QAAQ,CAACC,MAASC,EAAgBD,CAAI,CAAC,GACjED,EAAM,sBAAsB,QAAQ,CAACC,MAASC,EAAgBD,CAAI,CAAC;AACpE,GAEaC,IAAkB,CAACD,MAA4D;AAC3F,EAAAE,EAAO,KAAK,GAAGF,EAAK,IAAI,EAAE,GACrBA,EAAA,QAAQ,QAAQ,CAACG,MAAM;AAC3B,IAAAD,EAAO,KAAK,KAAKC,EAAE,IAAI,EAAE,GACvBA,EAAA,UAAU,QAAQ,CAACC,MAAM;AACnB,MAAAF,EAAA,KAAK,OAAOE,CAAC,EAAE;AAAA,IAAA,CACtB;AAAA,EAAA,CACD;AACF;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./BaseHttpError.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./BaseHttpError.cjs"),s=require("./StatusCodes.cjs"),e=t.BaseHttpError;class a extends t.BaseHttpError{constructor(r){super(s.StatusCodes.BAD_REQUEST,r)}}class E extends t.BaseHttpError{constructor(r){super(s.StatusCodes.BAD_REQUEST,r)}}class n extends t.BaseHttpError{constructor(r){super(s.StatusCodes.UNAUTHORIZED,r)}}class u extends t.BaseHttpError{constructor(r){super(s.StatusCodes.NOT_FOUND,r)}}class c extends t.BaseHttpError{constructor(r){super(s.StatusCodes.INTERNAL_SERVER_ERROR,r)}}class d extends t.BaseHttpError{constructor(r){super(s.StatusCodes.FORBIDDEN,r)}}class l extends t.BaseHttpError{constructor(r){super(s.StatusCodes.METHOD_NOT_ALLOWED,r)}}class p extends t.BaseHttpError{constructor(r){super(s.StatusCodes.CONFLICT,r)}}class S extends t.BaseHttpError{constructor(r){super(s.StatusCodes.GONE,r)}}class B extends t.BaseHttpError{constructor(r){super(s.StatusCodes.UNPROCESSABLE_ENTITY,r)}}class C extends t.BaseHttpError{constructor(r){super(s.StatusCodes.TOO_MANY_REQUESTS,r)}}class i extends t.BaseHttpError{constructor(r){super(s.StatusCodes.NOT_IMPLEMENTED,r)}}class T extends t.BaseHttpError{constructor(r){super(s.StatusCodes.BAD_GATEWAY,r)}}class N extends t.BaseHttpError{constructor(r){super(s.StatusCodes.SERVICE_UNAVAILABLE,r)}}class H extends t.BaseHttpError{constructor(r){super(s.StatusCodes.GATEWAY_TIMEOUT,r)}}exports.HttpStatusCodes=s.StatusCodes;exports.BadGatewayError=T;exports.BadRequestError=E;exports.ConflictError=p;exports.ForbiddenError=d;exports.GatewayTimeoutError=H;exports.GoneError=S;exports.InternalServerError=c;exports.MethodNotAllowedError=l;exports.MoonflowerError=e;exports.NotFoundError=u;exports.NotImplementedError=i;exports.ServiceUnavailableError=N;exports.TooManyRequestsError=C;exports.UnauthorizedError=n;exports.UnprocessableEntityError=B;exports.ValidationError=a;
|
|
2
2
|
//# sourceMappingURL=UserFacingErrors.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserFacingErrors.cjs","sources":["../../src/errors/UserFacingErrors.ts"],"sourcesContent":["import { BaseHttpError } from './BaseHttpError'\nimport { StatusCodes } from './StatusCodes'\n\nexport const MoonflowerError = BaseHttpError\nexport { StatusCodes as HttpStatusCodes }\n\nexport class ValidationError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.BAD_REQUEST, message)\n\t}\n}\n\nexport class BadRequestError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.BAD_REQUEST, message)\n\t}\n}\n\nexport class UnauthorizedError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.UNAUTHORIZED, message)\n\t}\n}\n\nexport class NotFoundError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.NOT_FOUND, message)\n\t}\n}\n\nexport class InternalServerError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.INTERNAL_SERVER_ERROR, message)\n\t}\n}\n\nexport class ServiceUnavailableError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.SERVICE_UNAVAILABLE, message)\n\t}\n}\n\n// To be used later\n// export const errorNameToStatusCode = (name: string): number => {\n// \tswitch (name) {\n// \t\tcase 'ValidationError':\n// \t\t\treturn StatusCodes.BAD_REQUEST\n// \t\tcase 'BadRequestError':\n// \t\t\treturn StatusCodes.BAD_REQUEST\n// \t\tcase 'UnauthorizedError':\n// \t\t\treturn StatusCodes.UNAUTHORIZED\n// \t}\n// \treturn StatusCodes.INTERNAL_SERVER_ERROR\n// }\n\n// import { getReasonPhrase } from 'http-status-codes'\n// export const errorNameToReason = (name: string): string => {\n// \treturn getReasonPhrase(errorNameToStatusCode(name) || 500)\n// }\n"],"names":["MoonflowerError","BaseHttpError","ValidationError","message","StatusCodes","BadRequestError","UnauthorizedError","NotFoundError","InternalServerError","ServiceUnavailableError"],"mappings":"sJAGaA,EAAkBC,EAAAA,cAGxB,MAAMC,UAAwBD,EAAAA,aAAc,CAClD,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,YAAaD,CAAO,CAAA,CAExC,CAEO,MAAME,UAAwBJ,EAAAA,aAAc,CAClD,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,YAAaD,CAAO,CAAA,CAExC,CAEO,MAAMG,UAA0BL,EAAAA,aAAc,CACpD,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,aAAcD,CAAO,CAAA,CAEzC,CAEO,MAAMI,UAAsBN,EAAAA,aAAc,CAChD,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,UAAWD,CAAO,CAAA,CAEtC,CAEO,MAAMK,UAA4BP,EAAAA,aAAc,CACtD,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,sBAAuBD,CAAO,CAAA,CAElD,CAEO,MAAMM,
|
|
1
|
+
{"version":3,"file":"UserFacingErrors.cjs","sources":["../../src/errors/UserFacingErrors.ts"],"sourcesContent":["import { BaseHttpError } from './BaseHttpError'\nimport { StatusCodes } from './StatusCodes'\n\nexport const MoonflowerError = BaseHttpError\nexport { StatusCodes as HttpStatusCodes }\n\nexport class ValidationError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.BAD_REQUEST, message)\n\t}\n}\n\nexport class BadRequestError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.BAD_REQUEST, message)\n\t}\n}\n\nexport class UnauthorizedError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.UNAUTHORIZED, message)\n\t}\n}\n\nexport class NotFoundError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.NOT_FOUND, message)\n\t}\n}\n\nexport class InternalServerError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.INTERNAL_SERVER_ERROR, message)\n\t}\n}\n\nexport class ForbiddenError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.FORBIDDEN, message)\n\t}\n}\n\nexport class MethodNotAllowedError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.METHOD_NOT_ALLOWED, message)\n\t}\n}\n\nexport class ConflictError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.CONFLICT, message)\n\t}\n}\n\nexport class GoneError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.GONE, message)\n\t}\n}\n\nexport class UnprocessableEntityError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.UNPROCESSABLE_ENTITY, message)\n\t}\n}\n\nexport class TooManyRequestsError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.TOO_MANY_REQUESTS, message)\n\t}\n}\n\nexport class NotImplementedError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.NOT_IMPLEMENTED, message)\n\t}\n}\n\nexport class BadGatewayError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.BAD_GATEWAY, message)\n\t}\n}\n\nexport class ServiceUnavailableError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.SERVICE_UNAVAILABLE, message)\n\t}\n}\n\nexport class GatewayTimeoutError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.GATEWAY_TIMEOUT, message)\n\t}\n}\n\n// To be used later\n// export const errorNameToStatusCode = (name: string): number => {\n// \tswitch (name) {\n// \t\tcase 'ValidationError':\n// \t\t\treturn StatusCodes.BAD_REQUEST\n// \t\tcase 'BadRequestError':\n// \t\t\treturn StatusCodes.BAD_REQUEST\n// \t\tcase 'UnauthorizedError':\n// \t\t\treturn StatusCodes.UNAUTHORIZED\n// \t}\n// \treturn StatusCodes.INTERNAL_SERVER_ERROR\n// }\n\n// import { getReasonPhrase } from 'http-status-codes'\n// export const errorNameToReason = (name: string): string => {\n// \treturn getReasonPhrase(errorNameToStatusCode(name) || 500)\n// }\n"],"names":["MoonflowerError","BaseHttpError","ValidationError","message","StatusCodes","BadRequestError","UnauthorizedError","NotFoundError","InternalServerError","ForbiddenError","MethodNotAllowedError","ConflictError","GoneError","UnprocessableEntityError","TooManyRequestsError","NotImplementedError","BadGatewayError","ServiceUnavailableError","GatewayTimeoutError"],"mappings":"sJAGaA,EAAkBC,EAAAA,cAGxB,MAAMC,UAAwBD,EAAAA,aAAc,CAClD,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,YAAaD,CAAO,CAAA,CAExC,CAEO,MAAME,UAAwBJ,EAAAA,aAAc,CAClD,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,YAAaD,CAAO,CAAA,CAExC,CAEO,MAAMG,UAA0BL,EAAAA,aAAc,CACpD,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,aAAcD,CAAO,CAAA,CAEzC,CAEO,MAAMI,UAAsBN,EAAAA,aAAc,CAChD,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,UAAWD,CAAO,CAAA,CAEtC,CAEO,MAAMK,UAA4BP,EAAAA,aAAc,CACtD,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,sBAAuBD,CAAO,CAAA,CAElD,CAEO,MAAMM,UAAuBR,EAAAA,aAAc,CACjD,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,UAAWD,CAAO,CAAA,CAEtC,CAEO,MAAMO,UAA8BT,EAAAA,aAAc,CACxD,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,mBAAoBD,CAAO,CAAA,CAE/C,CAEO,MAAMQ,UAAsBV,EAAAA,aAAc,CAChD,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,SAAUD,CAAO,CAAA,CAErC,CAEO,MAAMS,UAAkBX,EAAAA,aAAc,CAC5C,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,KAAMD,CAAO,CAAA,CAEjC,CAEO,MAAMU,UAAiCZ,EAAAA,aAAc,CAC3D,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,qBAAsBD,CAAO,CAAA,CAEjD,CAEO,MAAMW,UAA6Bb,EAAAA,aAAc,CACvD,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,kBAAmBD,CAAO,CAAA,CAE9C,CAEO,MAAMY,UAA4Bd,EAAAA,aAAc,CACtD,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,gBAAiBD,CAAO,CAAA,CAE5C,CAEO,MAAMa,UAAwBf,EAAAA,aAAc,CAClD,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,YAAaD,CAAO,CAAA,CAExC,CAEO,MAAMc,UAAgChB,EAAAA,aAAc,CAC1D,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,oBAAqBD,CAAO,CAAA,CAEhD,CAEO,MAAMe,UAA4BjB,EAAAA,aAAc,CACtD,YAAYE,EAAiB,CACtB,MAAAC,EAAAA,YAAY,gBAAiBD,CAAO,CAAA,CAE5C"}
|
|
@@ -18,7 +18,34 @@ export declare class NotFoundError extends BaseHttpError {
|
|
|
18
18
|
export declare class InternalServerError extends BaseHttpError {
|
|
19
19
|
constructor(message: string);
|
|
20
20
|
}
|
|
21
|
+
export declare class ForbiddenError extends BaseHttpError {
|
|
22
|
+
constructor(message: string);
|
|
23
|
+
}
|
|
24
|
+
export declare class MethodNotAllowedError extends BaseHttpError {
|
|
25
|
+
constructor(message: string);
|
|
26
|
+
}
|
|
27
|
+
export declare class ConflictError extends BaseHttpError {
|
|
28
|
+
constructor(message: string);
|
|
29
|
+
}
|
|
30
|
+
export declare class GoneError extends BaseHttpError {
|
|
31
|
+
constructor(message: string);
|
|
32
|
+
}
|
|
33
|
+
export declare class UnprocessableEntityError extends BaseHttpError {
|
|
34
|
+
constructor(message: string);
|
|
35
|
+
}
|
|
36
|
+
export declare class TooManyRequestsError extends BaseHttpError {
|
|
37
|
+
constructor(message: string);
|
|
38
|
+
}
|
|
39
|
+
export declare class NotImplementedError extends BaseHttpError {
|
|
40
|
+
constructor(message: string);
|
|
41
|
+
}
|
|
42
|
+
export declare class BadGatewayError extends BaseHttpError {
|
|
43
|
+
constructor(message: string);
|
|
44
|
+
}
|
|
21
45
|
export declare class ServiceUnavailableError extends BaseHttpError {
|
|
22
46
|
constructor(message: string);
|
|
23
47
|
}
|
|
48
|
+
export declare class GatewayTimeoutError extends BaseHttpError {
|
|
49
|
+
constructor(message: string);
|
|
50
|
+
}
|
|
24
51
|
//# sourceMappingURL=UserFacingErrors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserFacingErrors.d.ts","sourceRoot":"","sources":["../../src/errors/UserFacingErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,eAAO,MAAM,eAAe,sBAAgB,CAAA;AAC5C,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,CAAA;AAEzC,qBAAa,eAAgB,SAAQ,aAAa;gBACrC,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,eAAgB,SAAQ,aAAa;gBACrC,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,iBAAkB,SAAQ,aAAa;gBACvC,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,aAAc,SAAQ,aAAa;gBACnC,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBACzC,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,uBAAwB,SAAQ,aAAa;gBAC7C,OAAO,EAAE,MAAM;CAG3B"}
|
|
1
|
+
{"version":3,"file":"UserFacingErrors.d.ts","sourceRoot":"","sources":["../../src/errors/UserFacingErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,eAAO,MAAM,eAAe,sBAAgB,CAAA;AAC5C,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,CAAA;AAEzC,qBAAa,eAAgB,SAAQ,aAAa;gBACrC,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,eAAgB,SAAQ,aAAa;gBACrC,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,iBAAkB,SAAQ,aAAa;gBACvC,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,aAAc,SAAQ,aAAa;gBACnC,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBACzC,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,cAAe,SAAQ,aAAa;gBACpC,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,qBAAsB,SAAQ,aAAa;gBAC3C,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,aAAc,SAAQ,aAAa;gBACnC,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,SAAU,SAAQ,aAAa;gBAC/B,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,wBAAyB,SAAQ,aAAa;gBAC9C,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,oBAAqB,SAAQ,aAAa;gBAC1C,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBACzC,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,eAAgB,SAAQ,aAAa;gBACrC,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,uBAAwB,SAAQ,aAAa;gBAC7C,OAAO,EAAE,MAAM;CAG3B;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBACzC,OAAO,EAAE,MAAM;CAG3B"}
|
|
@@ -1,44 +1,98 @@
|
|
|
1
1
|
import { BaseHttpError as s } from "./BaseHttpError.mjs";
|
|
2
|
-
import { StatusCodes as
|
|
2
|
+
import { StatusCodes as e } from "./StatusCodes.mjs";
|
|
3
3
|
const n = s;
|
|
4
4
|
class E extends s {
|
|
5
5
|
constructor(r) {
|
|
6
|
-
super(
|
|
6
|
+
super(e.BAD_REQUEST, r);
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
class
|
|
9
|
+
class u extends s {
|
|
10
10
|
constructor(r) {
|
|
11
|
-
super(
|
|
11
|
+
super(e.BAD_REQUEST, r);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
class
|
|
14
|
+
class a extends s {
|
|
15
15
|
constructor(r) {
|
|
16
|
-
super(
|
|
16
|
+
super(e.UNAUTHORIZED, r);
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
class d extends s {
|
|
20
20
|
constructor(r) {
|
|
21
|
-
super(
|
|
21
|
+
super(e.NOT_FOUND, r);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
class l extends s {
|
|
25
25
|
constructor(r) {
|
|
26
|
-
super(
|
|
26
|
+
super(e.INTERNAL_SERVER_ERROR, r);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
class p extends s {
|
|
30
30
|
constructor(r) {
|
|
31
|
-
super(
|
|
31
|
+
super(e.FORBIDDEN, r);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
class T extends s {
|
|
35
|
+
constructor(r) {
|
|
36
|
+
super(e.METHOD_NOT_ALLOWED, r);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
class N extends s {
|
|
40
|
+
constructor(r) {
|
|
41
|
+
super(e.CONFLICT, r);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
class x extends s {
|
|
45
|
+
constructor(r) {
|
|
46
|
+
super(e.GONE, r);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
class A extends s {
|
|
50
|
+
constructor(r) {
|
|
51
|
+
super(e.UNPROCESSABLE_ENTITY, r);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
class O extends s {
|
|
55
|
+
constructor(r) {
|
|
56
|
+
super(e.TOO_MANY_REQUESTS, r);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
class R extends s {
|
|
60
|
+
constructor(r) {
|
|
61
|
+
super(e.NOT_IMPLEMENTED, r);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
class _ extends s {
|
|
65
|
+
constructor(r) {
|
|
66
|
+
super(e.BAD_GATEWAY, r);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
class S extends s {
|
|
70
|
+
constructor(r) {
|
|
71
|
+
super(e.SERVICE_UNAVAILABLE, r);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
class U extends s {
|
|
75
|
+
constructor(r) {
|
|
76
|
+
super(e.GATEWAY_TIMEOUT, r);
|
|
32
77
|
}
|
|
33
78
|
}
|
|
34
79
|
export {
|
|
35
|
-
|
|
36
|
-
|
|
80
|
+
_ as BadGatewayError,
|
|
81
|
+
u as BadRequestError,
|
|
82
|
+
N as ConflictError,
|
|
83
|
+
p as ForbiddenError,
|
|
84
|
+
U as GatewayTimeoutError,
|
|
85
|
+
x as GoneError,
|
|
86
|
+
e as HttpStatusCodes,
|
|
37
87
|
l as InternalServerError,
|
|
88
|
+
T as MethodNotAllowedError,
|
|
38
89
|
n as MoonflowerError,
|
|
39
90
|
d as NotFoundError,
|
|
40
|
-
|
|
41
|
-
|
|
91
|
+
R as NotImplementedError,
|
|
92
|
+
S as ServiceUnavailableError,
|
|
93
|
+
O as TooManyRequestsError,
|
|
94
|
+
a as UnauthorizedError,
|
|
95
|
+
A as UnprocessableEntityError,
|
|
42
96
|
E as ValidationError
|
|
43
97
|
};
|
|
44
98
|
//# sourceMappingURL=UserFacingErrors.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserFacingErrors.mjs","sources":["../../src/errors/UserFacingErrors.ts"],"sourcesContent":["import { BaseHttpError } from './BaseHttpError'\nimport { StatusCodes } from './StatusCodes'\n\nexport const MoonflowerError = BaseHttpError\nexport { StatusCodes as HttpStatusCodes }\n\nexport class ValidationError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.BAD_REQUEST, message)\n\t}\n}\n\nexport class BadRequestError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.BAD_REQUEST, message)\n\t}\n}\n\nexport class UnauthorizedError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.UNAUTHORIZED, message)\n\t}\n}\n\nexport class NotFoundError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.NOT_FOUND, message)\n\t}\n}\n\nexport class InternalServerError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.INTERNAL_SERVER_ERROR, message)\n\t}\n}\n\nexport class ServiceUnavailableError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.SERVICE_UNAVAILABLE, message)\n\t}\n}\n\n// To be used later\n// export const errorNameToStatusCode = (name: string): number => {\n// \tswitch (name) {\n// \t\tcase 'ValidationError':\n// \t\t\treturn StatusCodes.BAD_REQUEST\n// \t\tcase 'BadRequestError':\n// \t\t\treturn StatusCodes.BAD_REQUEST\n// \t\tcase 'UnauthorizedError':\n// \t\t\treturn StatusCodes.UNAUTHORIZED\n// \t}\n// \treturn StatusCodes.INTERNAL_SERVER_ERROR\n// }\n\n// import { getReasonPhrase } from 'http-status-codes'\n// export const errorNameToReason = (name: string): string => {\n// \treturn getReasonPhrase(errorNameToStatusCode(name) || 500)\n// }\n"],"names":["MoonflowerError","BaseHttpError","ValidationError","message","StatusCodes","BadRequestError","UnauthorizedError","NotFoundError","InternalServerError","ServiceUnavailableError"],"mappings":";;AAGO,MAAMA,IAAkBC;AAGxB,MAAMC,UAAwBD,EAAc;AAAA,EAClD,YAAYE,GAAiB;AACtB,UAAAC,EAAY,aAAaD,CAAO;AAAA,EAAA;AAExC;AAEO,MAAME,UAAwBJ,EAAc;AAAA,EAClD,YAAYE,GAAiB;AACtB,UAAAC,EAAY,aAAaD,CAAO;AAAA,EAAA;AAExC;AAEO,MAAMG,UAA0BL,EAAc;AAAA,EACpD,YAAYE,GAAiB;AACtB,UAAAC,EAAY,cAAcD,CAAO;AAAA,EAAA;AAEzC;AAEO,MAAMI,UAAsBN,EAAc;AAAA,EAChD,YAAYE,GAAiB;AACtB,UAAAC,EAAY,WAAWD,CAAO;AAAA,EAAA;AAEtC;AAEO,MAAMK,UAA4BP,EAAc;AAAA,EACtD,YAAYE,GAAiB;AACtB,UAAAC,EAAY,uBAAuBD,CAAO;AAAA,EAAA;AAElD;AAEO,MAAMM,
|
|
1
|
+
{"version":3,"file":"UserFacingErrors.mjs","sources":["../../src/errors/UserFacingErrors.ts"],"sourcesContent":["import { BaseHttpError } from './BaseHttpError'\nimport { StatusCodes } from './StatusCodes'\n\nexport const MoonflowerError = BaseHttpError\nexport { StatusCodes as HttpStatusCodes }\n\nexport class ValidationError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.BAD_REQUEST, message)\n\t}\n}\n\nexport class BadRequestError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.BAD_REQUEST, message)\n\t}\n}\n\nexport class UnauthorizedError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.UNAUTHORIZED, message)\n\t}\n}\n\nexport class NotFoundError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.NOT_FOUND, message)\n\t}\n}\n\nexport class InternalServerError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.INTERNAL_SERVER_ERROR, message)\n\t}\n}\n\nexport class ForbiddenError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.FORBIDDEN, message)\n\t}\n}\n\nexport class MethodNotAllowedError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.METHOD_NOT_ALLOWED, message)\n\t}\n}\n\nexport class ConflictError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.CONFLICT, message)\n\t}\n}\n\nexport class GoneError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.GONE, message)\n\t}\n}\n\nexport class UnprocessableEntityError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.UNPROCESSABLE_ENTITY, message)\n\t}\n}\n\nexport class TooManyRequestsError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.TOO_MANY_REQUESTS, message)\n\t}\n}\n\nexport class NotImplementedError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.NOT_IMPLEMENTED, message)\n\t}\n}\n\nexport class BadGatewayError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.BAD_GATEWAY, message)\n\t}\n}\n\nexport class ServiceUnavailableError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.SERVICE_UNAVAILABLE, message)\n\t}\n}\n\nexport class GatewayTimeoutError extends BaseHttpError {\n\tconstructor(message: string) {\n\t\tsuper(StatusCodes.GATEWAY_TIMEOUT, message)\n\t}\n}\n\n// To be used later\n// export const errorNameToStatusCode = (name: string): number => {\n// \tswitch (name) {\n// \t\tcase 'ValidationError':\n// \t\t\treturn StatusCodes.BAD_REQUEST\n// \t\tcase 'BadRequestError':\n// \t\t\treturn StatusCodes.BAD_REQUEST\n// \t\tcase 'UnauthorizedError':\n// \t\t\treturn StatusCodes.UNAUTHORIZED\n// \t}\n// \treturn StatusCodes.INTERNAL_SERVER_ERROR\n// }\n\n// import { getReasonPhrase } from 'http-status-codes'\n// export const errorNameToReason = (name: string): string => {\n// \treturn getReasonPhrase(errorNameToStatusCode(name) || 500)\n// }\n"],"names":["MoonflowerError","BaseHttpError","ValidationError","message","StatusCodes","BadRequestError","UnauthorizedError","NotFoundError","InternalServerError","ForbiddenError","MethodNotAllowedError","ConflictError","GoneError","UnprocessableEntityError","TooManyRequestsError","NotImplementedError","BadGatewayError","ServiceUnavailableError","GatewayTimeoutError"],"mappings":";;AAGO,MAAMA,IAAkBC;AAGxB,MAAMC,UAAwBD,EAAc;AAAA,EAClD,YAAYE,GAAiB;AACtB,UAAAC,EAAY,aAAaD,CAAO;AAAA,EAAA;AAExC;AAEO,MAAME,UAAwBJ,EAAc;AAAA,EAClD,YAAYE,GAAiB;AACtB,UAAAC,EAAY,aAAaD,CAAO;AAAA,EAAA;AAExC;AAEO,MAAMG,UAA0BL,EAAc;AAAA,EACpD,YAAYE,GAAiB;AACtB,UAAAC,EAAY,cAAcD,CAAO;AAAA,EAAA;AAEzC;AAEO,MAAMI,UAAsBN,EAAc;AAAA,EAChD,YAAYE,GAAiB;AACtB,UAAAC,EAAY,WAAWD,CAAO;AAAA,EAAA;AAEtC;AAEO,MAAMK,UAA4BP,EAAc;AAAA,EACtD,YAAYE,GAAiB;AACtB,UAAAC,EAAY,uBAAuBD,CAAO;AAAA,EAAA;AAElD;AAEO,MAAMM,UAAuBR,EAAc;AAAA,EACjD,YAAYE,GAAiB;AACtB,UAAAC,EAAY,WAAWD,CAAO;AAAA,EAAA;AAEtC;AAEO,MAAMO,UAA8BT,EAAc;AAAA,EACxD,YAAYE,GAAiB;AACtB,UAAAC,EAAY,oBAAoBD,CAAO;AAAA,EAAA;AAE/C;AAEO,MAAMQ,UAAsBV,EAAc;AAAA,EAChD,YAAYE,GAAiB;AACtB,UAAAC,EAAY,UAAUD,CAAO;AAAA,EAAA;AAErC;AAEO,MAAMS,UAAkBX,EAAc;AAAA,EAC5C,YAAYE,GAAiB;AACtB,UAAAC,EAAY,MAAMD,CAAO;AAAA,EAAA;AAEjC;AAEO,MAAMU,UAAiCZ,EAAc;AAAA,EAC3D,YAAYE,GAAiB;AACtB,UAAAC,EAAY,sBAAsBD,CAAO;AAAA,EAAA;AAEjD;AAEO,MAAMW,UAA6Bb,EAAc;AAAA,EACvD,YAAYE,GAAiB;AACtB,UAAAC,EAAY,mBAAmBD,CAAO;AAAA,EAAA;AAE9C;AAEO,MAAMY,UAA4Bd,EAAc;AAAA,EACtD,YAAYE,GAAiB;AACtB,UAAAC,EAAY,iBAAiBD,CAAO;AAAA,EAAA;AAE5C;AAEO,MAAMa,UAAwBf,EAAc;AAAA,EAClD,YAAYE,GAAiB;AACtB,UAAAC,EAAY,aAAaD,CAAO;AAAA,EAAA;AAExC;AAEO,MAAMc,UAAgChB,EAAc;AAAA,EAC1D,YAAYE,GAAiB;AACtB,UAAAC,EAAY,qBAAqBD,CAAO;AAAA,EAAA;AAEhD;AAEO,MAAMe,UAA4BjB,EAAc;AAAA,EACtD,YAAYE,GAAiB;AACtB,UAAAC,EAAY,iBAAiBD,CAAO;AAAA,EAAA;AAE5C;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("../errors/UserFacingErrors.cjs"),u=require("../utils/object.cjs"),c=require("../utils/validationMessages.cjs"),m=require("../validators/validateParam.cjs"),p=(o,e)=>{const n=o.params,t=u.keysOf(e).map(a=>({name:a,validator:e[a]})).map(a=>{const i=n[a.name];return i===void 0?{param:a,validated:!0,parsedValue:void 0,exception:null}:{...m.validateParam(a.validator,i),param:a}}),r=t.filter(a=>!a.validated);if(r.length>0)throw new d.ValidationError(`Failed route param validation: ${r.map(a=>c.getValidationResultMessage(a.param)).join(", ")}`);const l=t.filter(a=>a.validated),s={};return l.forEach(a=>{s[a.param.name]=a.parsedValue}),s};exports.usePathParams=p;
|
|
2
2
|
//# sourceMappingURL=usePathParams.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePathParams.cjs","sources":["../../src/hooks/usePathParams.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\n\nimport { ValidationError } from '../errors/UserFacingErrors'\nimport { keysOf } from '../utils/object'\nimport { CleanUpPathParam } from '../utils/TypeUtils'\nimport { getValidationResultMessage } from '../utils/validationMessages'\nimport { Validator } from '../validators/types'\n\ntype CheckIfOptional<T, B> = B extends string ? (B extends `${string}?` ? T | undefined : T) : never\n\ntype ValidatedData<\n\tParamsT extends string[],\n\tTestTemplate extends {\n\t\t[K in keyof ParamsT]: {\n\t\t\toriginal: ParamsT[K]\n\t\t\tcleaned: CleanUpPathParam<ParamsT[K]>\n\t\t\tcallback: ValidatorsT[CleanUpPathParam<ParamsT[K]>]\n\t\t}\n\t},\n\tValidatorsT extends Record<TestTemplate[number]['cleaned'], Omit<Validator<any>, 'optional'>>,\n> = {\n\t[K in keyof TestTemplate as K extends `${number}` ? TestTemplate[K]['cleaned'] : never]: CheckIfOptional<\n\t\tReturnType<TestTemplate[K]['callback']['parse']>,\n\t\tTestTemplate[K]['original']\n\t>\n}\n\nexport const usePathParams = <\n\tParamsT extends string[],\n\tTestTemplate extends {\n\t\t[K in keyof ParamsT]: {\n\t\t\toriginal: ParamsT[K]\n\t\t\tcleaned: CleanUpPathParam<ParamsT[K]>\n\t\t\tcallback: ValidatorsT[CleanUpPathParam<ParamsT[K]>]\n\t\t}\n\t},\n\tValidatorsT extends Record<CleanUpPathParam<ParamsT[number]>, Omit<Validator<any>, 'optional'>>,\n>(\n\tctx: ParameterizedContext & { parsedPathParams: ParamsT },\n\tvalidators: ValidatorsT,\n): ValidatedData<ParamsT, TestTemplate, ValidatorsT> => {\n\tconst params = ctx.params\n\tconst expectedParams = keysOf(validators).map((name) => ({\n\t\tname,\n\t\tvalidator: validators[name],\n\t}))\n\n\tconst validationResults = expectedParams.map((param) => {\n\t\tconst paramValue = params[param.name] as string\n\n\t\t// Param is optional and is not provided - skip validation\n\t\tif (paramValue === undefined) {\n\t\t\treturn { param, validated: true }\n\t\t}\n\n\t\
|
|
1
|
+
{"version":3,"file":"usePathParams.cjs","sources":["../../src/hooks/usePathParams.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\n\nimport { ValidationError } from '../errors/UserFacingErrors'\nimport { keysOf } from '../utils/object'\nimport { CleanUpPathParam } from '../utils/TypeUtils'\nimport { getValidationResultMessage } from '../utils/validationMessages'\nimport { Validator } from '../validators/types'\nimport { validateParam } from '../validators/validateParam'\n\ntype CheckIfOptional<T, B> = B extends string ? (B extends `${string}?` ? T | undefined : T) : never\n\ntype ValidatedData<\n\tParamsT extends string[],\n\tTestTemplate extends {\n\t\t[K in keyof ParamsT]: {\n\t\t\toriginal: ParamsT[K]\n\t\t\tcleaned: CleanUpPathParam<ParamsT[K]>\n\t\t\tcallback: ValidatorsT[CleanUpPathParam<ParamsT[K]>]\n\t\t}\n\t},\n\tValidatorsT extends Record<TestTemplate[number]['cleaned'], Omit<Validator<any>, 'optional'>>,\n> = {\n\t[K in keyof TestTemplate as K extends `${number}` ? TestTemplate[K]['cleaned'] : never]: CheckIfOptional<\n\t\tReturnType<TestTemplate[K]['callback']['parse']>,\n\t\tTestTemplate[K]['original']\n\t>\n}\n\nexport const usePathParams = <\n\tParamsT extends string[],\n\tTestTemplate extends {\n\t\t[K in keyof ParamsT]: {\n\t\t\toriginal: ParamsT[K]\n\t\t\tcleaned: CleanUpPathParam<ParamsT[K]>\n\t\t\tcallback: ValidatorsT[CleanUpPathParam<ParamsT[K]>]\n\t\t}\n\t},\n\tValidatorsT extends Record<CleanUpPathParam<ParamsT[number]>, Omit<Validator<any>, 'optional'>>,\n>(\n\tctx: ParameterizedContext & { parsedPathParams: ParamsT },\n\tvalidators: ValidatorsT,\n): ValidatedData<ParamsT, TestTemplate, ValidatorsT> => {\n\tconst params = ctx.params\n\tconst expectedParams = keysOf(validators).map((name) => ({\n\t\tname,\n\t\tvalidator: validators[name],\n\t}))\n\n\tconst validationResults = expectedParams.map((param) => {\n\t\tconst paramValue = params[param.name] as string\n\n\t\t// Param is optional and is not provided - skip validation\n\t\tif (paramValue === undefined) {\n\t\t\treturn { param, validated: true, parsedValue: undefined, exception: null }\n\t\t}\n\n\t\treturn {\n\t\t\t...validateParam(param.validator, paramValue),\n\t\t\tparam,\n\t\t}\n\t})\n\n\tconst failedValidations = validationResults.filter((result) => !result.validated)\n\n\tif (failedValidations.length > 0) {\n\t\tthrow new ValidationError(\n\t\t\t`Failed route param validation: ${failedValidations\n\t\t\t\t.map((result) => getValidationResultMessage(result.param))\n\t\t\t\t.join(', ')}`,\n\t\t)\n\t}\n\n\tconst successfulValidations = validationResults.filter((result) => result.validated)\n\n\tconst returnValue: Record<string, unknown> = {}\n\tsuccessfulValidations.forEach((result) => {\n\t\treturnValue[result.param.name] = result.parsedValue\n\t})\n\n\treturn returnValue as ValidatedData<ParamsT, TestTemplate, ValidatorsT>\n}\n"],"names":["usePathParams","ctx","validators","params","validationResults","keysOf","name","param","paramValue","validateParam","failedValidations","result","ValidationError","getValidationResultMessage","successfulValidations","returnValue"],"mappings":"6PA4BaA,EAAgB,CAW5BC,EACAC,IACuD,CACvD,MAAMC,EAASF,EAAI,OAMbG,EALiBC,EAAAA,OAAOH,CAAU,EAAE,IAAKI,IAAU,CACxD,KAAAA,EACA,UAAWJ,EAAWI,CAAI,CAAA,EACzB,EAEuC,IAAKC,GAAU,CACjD,MAAAC,EAAaL,EAAOI,EAAM,IAAI,EAGpC,OAAIC,IAAe,OACX,CAAE,MAAAD,EAAO,UAAW,GAAM,YAAa,OAAW,UAAW,IAAK,EAGnE,CACN,GAAGE,gBAAcF,EAAM,UAAWC,CAAU,EAC5C,MAAAD,CACD,CAAA,CACA,EAEKG,EAAoBN,EAAkB,OAAQO,GAAW,CAACA,EAAO,SAAS,EAE5E,GAAAD,EAAkB,OAAS,EAC9B,MAAM,IAAIE,EAAA,gBACT,kCAAkCF,EAChC,IAAKC,GAAWE,EAAAA,2BAA2BF,EAAO,KAAK,CAAC,EACxD,KAAK,IAAI,CAAC,EACb,EAGD,MAAMG,EAAwBV,EAAkB,OAAQO,GAAWA,EAAO,SAAS,EAE7EI,EAAuC,CAAC,EACxB,OAAAD,EAAA,QAASH,GAAW,CACzCI,EAAYJ,EAAO,MAAM,IAAI,EAAIA,EAAO,WAAA,CACxC,EAEMI,CACR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePathParams.d.ts","sourceRoot":"","sources":["../../src/hooks/usePathParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,KAAK,CAAA;AAI1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"usePathParams.d.ts","sourceRoot":"","sources":["../../src/hooks/usePathParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,KAAK,CAAA;AAI1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAG/C,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,CAAC,CAAC,SAAS,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;AAEpG,KAAK,aAAa,CACjB,OAAO,SAAS,MAAM,EAAE,EACxB,YAAY,SAAS;KACnB,CAAC,IAAI,MAAM,OAAO,GAAG;QACrB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;QACpB,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QACrC,QAAQ,EAAE,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KACnD;CACD,EACD,WAAW,SAAS,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC,IAC1F;KACF,CAAC,IAAI,MAAM,YAAY,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,eAAe,CACvG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,EAChD,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAC3B;CACD,CAAA;AAED,eAAO,MAAM,aAAa,GACzB,OAAO,SAAS,MAAM,EAAE,EACxB,YAAY,SAAS,GACnB,CAAC,IAAI,MAAM,OAAO,GAAG;IACrB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACpB,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACrC,QAAQ,EAAE,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;CACnD,GACD,EACD,WAAW,SAAS,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC,OAE1F,oBAAoB,GAAG;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,cAC7C,WAAW,KACrB,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,CAuClD,CAAA"}
|
|
@@ -1,35 +1,28 @@
|
|
|
1
|
-
import { ValidationError as
|
|
1
|
+
import { ValidationError as d } from "../errors/UserFacingErrors.mjs";
|
|
2
2
|
import { keysOf as m } from "../utils/object.mjs";
|
|
3
|
-
import { getValidationResultMessage as
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import { getValidationResultMessage as p } from "../utils/validationMessages.mjs";
|
|
4
|
+
import { validateParam as u } from "../validators/validateParam.mjs";
|
|
5
|
+
const h = (s, t) => {
|
|
6
|
+
const l = s.params, e = m(t).map((a) => ({
|
|
6
7
|
name: a,
|
|
7
|
-
validator:
|
|
8
|
+
validator: t[a]
|
|
8
9
|
})).map((a) => {
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
};
|
|
19
|
-
} catch {
|
|
20
|
-
return { param: a, validated: !1 };
|
|
21
|
-
}
|
|
22
|
-
}), o = i.filter((a) => !a.validated);
|
|
23
|
-
if (o.length > 0)
|
|
24
|
-
throw new v(
|
|
25
|
-
`Failed route param validation: ${o.map((a) => f(a.param)).join(", ")}`
|
|
10
|
+
const i = l[a.name];
|
|
11
|
+
return i === void 0 ? { param: a, validated: !0, parsedValue: void 0, exception: null } : {
|
|
12
|
+
...u(a.validator, i),
|
|
13
|
+
param: a
|
|
14
|
+
};
|
|
15
|
+
}), r = e.filter((a) => !a.validated);
|
|
16
|
+
if (r.length > 0)
|
|
17
|
+
throw new d(
|
|
18
|
+
`Failed route param validation: ${r.map((a) => p(a.param)).join(", ")}`
|
|
26
19
|
);
|
|
27
|
-
const
|
|
28
|
-
return
|
|
29
|
-
|
|
30
|
-
}),
|
|
20
|
+
const n = e.filter((a) => a.validated), o = {};
|
|
21
|
+
return n.forEach((a) => {
|
|
22
|
+
o[a.param.name] = a.parsedValue;
|
|
23
|
+
}), o;
|
|
31
24
|
};
|
|
32
25
|
export {
|
|
33
|
-
|
|
26
|
+
h as usePathParams
|
|
34
27
|
};
|
|
35
28
|
//# sourceMappingURL=usePathParams.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePathParams.mjs","sources":["../../src/hooks/usePathParams.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\n\nimport { ValidationError } from '../errors/UserFacingErrors'\nimport { keysOf } from '../utils/object'\nimport { CleanUpPathParam } from '../utils/TypeUtils'\nimport { getValidationResultMessage } from '../utils/validationMessages'\nimport { Validator } from '../validators/types'\n\ntype CheckIfOptional<T, B> = B extends string ? (B extends `${string}?` ? T | undefined : T) : never\n\ntype ValidatedData<\n\tParamsT extends string[],\n\tTestTemplate extends {\n\t\t[K in keyof ParamsT]: {\n\t\t\toriginal: ParamsT[K]\n\t\t\tcleaned: CleanUpPathParam<ParamsT[K]>\n\t\t\tcallback: ValidatorsT[CleanUpPathParam<ParamsT[K]>]\n\t\t}\n\t},\n\tValidatorsT extends Record<TestTemplate[number]['cleaned'], Omit<Validator<any>, 'optional'>>,\n> = {\n\t[K in keyof TestTemplate as K extends `${number}` ? TestTemplate[K]['cleaned'] : never]: CheckIfOptional<\n\t\tReturnType<TestTemplate[K]['callback']['parse']>,\n\t\tTestTemplate[K]['original']\n\t>\n}\n\nexport const usePathParams = <\n\tParamsT extends string[],\n\tTestTemplate extends {\n\t\t[K in keyof ParamsT]: {\n\t\t\toriginal: ParamsT[K]\n\t\t\tcleaned: CleanUpPathParam<ParamsT[K]>\n\t\t\tcallback: ValidatorsT[CleanUpPathParam<ParamsT[K]>]\n\t\t}\n\t},\n\tValidatorsT extends Record<CleanUpPathParam<ParamsT[number]>, Omit<Validator<any>, 'optional'>>,\n>(\n\tctx: ParameterizedContext & { parsedPathParams: ParamsT },\n\tvalidators: ValidatorsT,\n): ValidatedData<ParamsT, TestTemplate, ValidatorsT> => {\n\tconst params = ctx.params\n\tconst expectedParams = keysOf(validators).map((name) => ({\n\t\tname,\n\t\tvalidator: validators[name],\n\t}))\n\n\tconst validationResults = expectedParams.map((param) => {\n\t\tconst paramValue = params[param.name] as string\n\n\t\t// Param is optional and is not provided - skip validation\n\t\tif (paramValue === undefined) {\n\t\t\treturn { param, validated: true }\n\t\t}\n\n\t\
|
|
1
|
+
{"version":3,"file":"usePathParams.mjs","sources":["../../src/hooks/usePathParams.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\n\nimport { ValidationError } from '../errors/UserFacingErrors'\nimport { keysOf } from '../utils/object'\nimport { CleanUpPathParam } from '../utils/TypeUtils'\nimport { getValidationResultMessage } from '../utils/validationMessages'\nimport { Validator } from '../validators/types'\nimport { validateParam } from '../validators/validateParam'\n\ntype CheckIfOptional<T, B> = B extends string ? (B extends `${string}?` ? T | undefined : T) : never\n\ntype ValidatedData<\n\tParamsT extends string[],\n\tTestTemplate extends {\n\t\t[K in keyof ParamsT]: {\n\t\t\toriginal: ParamsT[K]\n\t\t\tcleaned: CleanUpPathParam<ParamsT[K]>\n\t\t\tcallback: ValidatorsT[CleanUpPathParam<ParamsT[K]>]\n\t\t}\n\t},\n\tValidatorsT extends Record<TestTemplate[number]['cleaned'], Omit<Validator<any>, 'optional'>>,\n> = {\n\t[K in keyof TestTemplate as K extends `${number}` ? TestTemplate[K]['cleaned'] : never]: CheckIfOptional<\n\t\tReturnType<TestTemplate[K]['callback']['parse']>,\n\t\tTestTemplate[K]['original']\n\t>\n}\n\nexport const usePathParams = <\n\tParamsT extends string[],\n\tTestTemplate extends {\n\t\t[K in keyof ParamsT]: {\n\t\t\toriginal: ParamsT[K]\n\t\t\tcleaned: CleanUpPathParam<ParamsT[K]>\n\t\t\tcallback: ValidatorsT[CleanUpPathParam<ParamsT[K]>]\n\t\t}\n\t},\n\tValidatorsT extends Record<CleanUpPathParam<ParamsT[number]>, Omit<Validator<any>, 'optional'>>,\n>(\n\tctx: ParameterizedContext & { parsedPathParams: ParamsT },\n\tvalidators: ValidatorsT,\n): ValidatedData<ParamsT, TestTemplate, ValidatorsT> => {\n\tconst params = ctx.params\n\tconst expectedParams = keysOf(validators).map((name) => ({\n\t\tname,\n\t\tvalidator: validators[name],\n\t}))\n\n\tconst validationResults = expectedParams.map((param) => {\n\t\tconst paramValue = params[param.name] as string\n\n\t\t// Param is optional and is not provided - skip validation\n\t\tif (paramValue === undefined) {\n\t\t\treturn { param, validated: true, parsedValue: undefined, exception: null }\n\t\t}\n\n\t\treturn {\n\t\t\t...validateParam(param.validator, paramValue),\n\t\t\tparam,\n\t\t}\n\t})\n\n\tconst failedValidations = validationResults.filter((result) => !result.validated)\n\n\tif (failedValidations.length > 0) {\n\t\tthrow new ValidationError(\n\t\t\t`Failed route param validation: ${failedValidations\n\t\t\t\t.map((result) => getValidationResultMessage(result.param))\n\t\t\t\t.join(', ')}`,\n\t\t)\n\t}\n\n\tconst successfulValidations = validationResults.filter((result) => result.validated)\n\n\tconst returnValue: Record<string, unknown> = {}\n\tsuccessfulValidations.forEach((result) => {\n\t\treturnValue[result.param.name] = result.parsedValue\n\t})\n\n\treturn returnValue as ValidatedData<ParamsT, TestTemplate, ValidatorsT>\n}\n"],"names":["usePathParams","ctx","validators","params","validationResults","keysOf","name","param","paramValue","validateParam","failedValidations","result","ValidationError","getValidationResultMessage","successfulValidations","returnValue"],"mappings":";;;;AA4Ba,MAAAA,IAAgB,CAW5BC,GACAC,MACuD;AACvD,QAAMC,IAASF,EAAI,QAMbG,IALiBC,EAAOH,CAAU,EAAE,IAAI,CAACI,OAAU;AAAA,IACxD,MAAAA;AAAA,IACA,WAAWJ,EAAWI,CAAI;AAAA,EAAA,EACzB,EAEuC,IAAI,CAACC,MAAU;AACjD,UAAAC,IAAaL,EAAOI,EAAM,IAAI;AAGpC,WAAIC,MAAe,SACX,EAAE,OAAAD,GAAO,WAAW,IAAM,aAAa,QAAW,WAAW,KAAK,IAGnE;AAAA,MACN,GAAGE,EAAcF,EAAM,WAAWC,CAAU;AAAA,MAC5C,OAAAD;AAAA,IACD;AAAA,EAAA,CACA,GAEKG,IAAoBN,EAAkB,OAAO,CAACO,MAAW,CAACA,EAAO,SAAS;AAE5E,MAAAD,EAAkB,SAAS;AAC9B,UAAM,IAAIE;AAAA,MACT,kCAAkCF,EAChC,IAAI,CAACC,MAAWE,EAA2BF,EAAO,KAAK,CAAC,EACxD,KAAK,IAAI,CAAC;AAAA,IACb;AAGD,QAAMG,IAAwBV,EAAkB,OAAO,CAACO,MAAWA,EAAO,SAAS,GAE7EI,IAAuC,CAAC;AACxB,SAAAD,EAAA,QAAQ,CAACH,MAAW;AACzC,IAAAI,EAAYJ,EAAO,MAAM,IAAI,IAAIA,EAAO;AAAA,EAAA,CACxC,GAEMI;AACR;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("../errors/UserFacingErrors.cjs"),c=require("../utils/object.cjs"),m=require("../utils/validationMessages.cjs"),v=require("../validators/validateMissingParams.cjs"),f=require("../validators/validateParam.cjs"),g=(l,a)=>{const r=l.query,t=c.keysOf(a).map(e=>({name:e,validator:a[e]}));v.validateMissingParams(t,r,a,"query");const i=t.map(e=>{const o=r[e.name];return o===void 0?{param:e,validated:!0,parsedValue:void 0,exception:null}:{...f.validateParam(e.validator,o),param:e}}),s=i.filter(e=>!e.validated);if(s.length>0)throw new d.ValidationError(`Failed query param validation: ${s.map(e=>m.getValidationResultMessage(e.param)).join(", ")}`);const u=i.filter(e=>e.validated),n={};return u.forEach(e=>{n[e.param.name]=e.parsedValue}),n};exports.useQueryParams=g;
|
|
2
2
|
//# sourceMappingURL=useQueryParams.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueryParams.cjs","sources":["../../src/hooks/useQueryParams.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\n\nimport { ValidationError } from '../errors/UserFacingErrors'\nimport { keysOf } from '../utils/object'\nimport {
|
|
1
|
+
{"version":3,"file":"useQueryParams.cjs","sources":["../../src/hooks/useQueryParams.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\nimport z from 'zod'\n\nimport { ValidationError } from '../errors/UserFacingErrors'\nimport { keysOf } from '../utils/object'\nimport { getValidationResultMessage } from '../utils/validationMessages'\nimport { Validator } from '../validators/types'\nimport { validateMissingParams } from '../validators/validateMissingParams'\nimport { validateParam } from '../validators/validateParam'\n\ntype CheckIfOptional<T, B extends boolean | undefined> = B extends false ? T : T | undefined\n\ntype ValidatedData<T extends Record<string, Validator<any> | z.ZodType<any>>> = {\n\t[K in keyof T]: CheckIfOptional<\n\t\tReturnType<T[K] extends Validator<any> ? T[K]['parse'] : T[K]['parse']>,\n\t\tT[K] extends Validator<any> ? T[K]['optional'] : false\n\t>\n}\n\nexport const useQueryParams = <ValidatorsT extends Record<string, Validator<any> | z.ZodType<any>>>(\n\tctx: ParameterizedContext,\n\tvalidators: ValidatorsT,\n): ValidatedData<ValidatorsT> => {\n\tconst query = ctx.query\n\tconst params = keysOf(validators).map((name) => ({\n\t\tname,\n\t\tvalidator: validators[name],\n\t}))\n\n\tvalidateMissingParams(params, query, validators, 'query')\n\n\tconst validationResults = params.map((param) => {\n\t\tconst paramValue = query[param.name]\n\n\t\t// Param is optional and is not provided - skip validation\n\t\tif (paramValue === undefined) {\n\t\t\treturn { param, validated: true, parsedValue: undefined, exception: null }\n\t\t}\n\n\t\treturn {\n\t\t\t...validateParam(param.validator, paramValue),\n\t\t\tparam,\n\t\t}\n\t})\n\n\tconst failedValidations = validationResults.filter((result) => !result.validated)\n\n\tif (failedValidations.length > 0) {\n\t\tthrow new ValidationError(\n\t\t\t`Failed query param validation: ${failedValidations\n\t\t\t\t.map((result) => getValidationResultMessage(result.param))\n\t\t\t\t.join(', ')}`,\n\t\t)\n\t}\n\n\tconst successfulValidations = validationResults.filter((result) => result.validated)\n\n\tconst returnValue: Record<string, unknown> = {}\n\tsuccessfulValidations.forEach((result) => {\n\t\treturnValue[result.param.name] = result.parsedValue\n\t})\n\n\treturn returnValue as ValidatedData<ValidatorsT>\n}\n"],"names":["useQueryParams","ctx","validators","query","params","keysOf","name","validateMissingParams","validationResults","param","paramValue","validateParam","failedValidations","result","ValidationError","getValidationResultMessage","successfulValidations","returnValue"],"mappings":"kTAmBaA,EAAiB,CAC7BC,EACAC,IACgC,CAChC,MAAMC,EAAQF,EAAI,MACZG,EAASC,EAAAA,OAAOH,CAAU,EAAE,IAAKI,IAAU,CAChD,KAAAA,EACA,UAAWJ,EAAWI,CAAI,CAAA,EACzB,EAEoBC,EAAAA,sBAAAH,EAAQD,EAAOD,EAAY,OAAO,EAExD,MAAMM,EAAoBJ,EAAO,IAAKK,GAAU,CACzC,MAAAC,EAAaP,EAAMM,EAAM,IAAI,EAGnC,OAAIC,IAAe,OACX,CAAE,MAAAD,EAAO,UAAW,GAAM,YAAa,OAAW,UAAW,IAAK,EAGnE,CACN,GAAGE,gBAAcF,EAAM,UAAWC,CAAU,EAC5C,MAAAD,CACD,CAAA,CACA,EAEKG,EAAoBJ,EAAkB,OAAQK,GAAW,CAACA,EAAO,SAAS,EAE5E,GAAAD,EAAkB,OAAS,EAC9B,MAAM,IAAIE,EAAA,gBACT,kCAAkCF,EAChC,IAAKC,GAAWE,EAAAA,2BAA2BF,EAAO,KAAK,CAAC,EACxD,KAAK,IAAI,CAAC,EACb,EAGD,MAAMG,EAAwBR,EAAkB,OAAQK,GAAWA,EAAO,SAAS,EAE7EI,EAAuC,CAAC,EACxB,OAAAD,EAAA,QAASH,GAAW,CACzCI,EAAYJ,EAAO,MAAM,IAAI,EAAIA,EAAO,WAAA,CACxC,EAEMI,CACR"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { ParameterizedContext } from 'koa';
|
|
2
|
+
import { default as z } from 'zod';
|
|
2
3
|
import { Validator } from '../validators/types';
|
|
3
4
|
|
|
4
5
|
type CheckIfOptional<T, B extends boolean | undefined> = B extends false ? T : T | undefined;
|
|
5
|
-
type ValidatedData<T extends Record<string, Validator<any>>> = {
|
|
6
|
-
[K in keyof T]: CheckIfOptional<ReturnType<T[K]['parse']>, T[K]['optional']>;
|
|
6
|
+
type ValidatedData<T extends Record<string, Validator<any> | z.ZodType<any>>> = {
|
|
7
|
+
[K in keyof T]: CheckIfOptional<ReturnType<T[K] extends Validator<any> ? T[K]['parse'] : T[K]['parse']>, T[K] extends Validator<any> ? T[K]['optional'] : false>;
|
|
7
8
|
};
|
|
8
|
-
export declare const useQueryParams: <ValidatorsT extends Record<string, Validator<any>>>(ctx: ParameterizedContext, validators: ValidatorsT) => ValidatedData<ValidatorsT>;
|
|
9
|
+
export declare const useQueryParams: <ValidatorsT extends Record<string, Validator<any> | z.ZodType<any>>>(ctx: ParameterizedContext, validators: ValidatorsT) => ValidatedData<ValidatorsT>;
|
|
9
10
|
export {};
|
|
10
11
|
//# sourceMappingURL=useQueryParams.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueryParams.d.ts","sourceRoot":"","sources":["../../src/hooks/useQueryParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"useQueryParams.d.ts","sourceRoot":"","sources":["../../src/hooks/useQueryParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,KAAK,CAAA;AAC1C,OAAO,CAAC,MAAM,KAAK,CAAA;AAKnB,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAI/C,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,GAAG,SAAS,IAAI,CAAC,SAAS,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;AAE5F,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI;KAC9E,CAAC,IAAI,MAAM,CAAC,GAAG,eAAe,CAC9B,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EACvE,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CACtD;CACD,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAC5F,oBAAoB,cACb,WAAW,KACrB,aAAa,CAAC,WAAW,CAyC3B,CAAA"}
|