moonflower 0.11.1 → 1.0.0
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/dist/errors/BaseHttpError.cjs +2 -0
- package/dist/errors/BaseHttpError.cjs.map +1 -0
- package/dist/{src/errors → errors}/BaseHttpError.d.ts +1 -0
- package/dist/errors/BaseHttpError.d.ts.map +1 -0
- package/dist/errors/BaseHttpError.mjs +10 -0
- package/dist/errors/BaseHttpError.mjs.map +1 -0
- package/dist/errors/HttpErrorHandler.cjs +2 -0
- package/dist/errors/HttpErrorHandler.cjs.map +1 -0
- package/dist/{src/errors → errors}/HttpErrorHandler.d.ts +2 -1
- package/dist/errors/HttpErrorHandler.d.ts.map +1 -0
- package/dist/errors/HttpErrorHandler.mjs +19 -0
- package/dist/errors/HttpErrorHandler.mjs.map +1 -0
- package/dist/errors/UserFacingErrors.cjs +2 -0
- package/dist/errors/UserFacingErrors.cjs.map +1 -0
- package/dist/{src/errors → errors}/UserFacingErrors.d.ts +1 -0
- package/dist/errors/UserFacingErrors.d.ts.map +1 -0
- package/dist/errors/UserFacingErrors.mjs +23 -0
- package/dist/errors/UserFacingErrors.mjs.map +1 -0
- package/dist/hooks/authentication/useAuth.cjs +2 -0
- package/dist/hooks/authentication/useAuth.cjs.map +1 -0
- package/dist/{src/hooks → hooks}/authentication/useAuth.d.ts +1 -0
- package/dist/hooks/authentication/useAuth.d.ts.map +1 -0
- package/dist/hooks/authentication/useAuth.mjs +5 -0
- package/dist/hooks/authentication/useAuth.mjs.map +1 -0
- package/dist/hooks/authentication/useOptionalAuth.cjs +2 -0
- package/dist/hooks/authentication/useOptionalAuth.cjs.map +1 -0
- package/dist/{src/hooks → hooks}/authentication/useOptionalAuth.d.ts +1 -0
- package/dist/hooks/authentication/useOptionalAuth.d.ts.map +1 -0
- package/dist/hooks/authentication/useOptionalAuth.mjs +14 -0
- package/dist/hooks/authentication/useOptionalAuth.mjs.map +1 -0
- package/dist/hooks/useApiEndpoint.cjs +2 -0
- package/dist/hooks/useApiEndpoint.cjs.map +1 -0
- package/dist/hooks/useApiEndpoint.d.ts.map +1 -0
- package/dist/hooks/useApiEndpoint.mjs +5 -0
- package/dist/hooks/useApiEndpoint.mjs.map +1 -0
- package/dist/hooks/useApiEndpoint.spec.d.ts +2 -0
- package/dist/hooks/useApiEndpoint.spec.d.ts.map +1 -0
- package/dist/hooks/useApiHeader/index.d.ts.map +1 -0
- package/dist/hooks/useApiHeader/useApiHeader.cjs +2 -0
- package/dist/hooks/useApiHeader/useApiHeader.cjs.map +1 -0
- package/dist/{src/hooks → hooks}/useApiHeader/useApiHeader.d.ts +1 -0
- package/dist/hooks/useApiHeader/useApiHeader.d.ts.map +1 -0
- package/dist/hooks/useApiHeader/useApiHeader.mjs +6 -0
- package/dist/hooks/useApiHeader/useApiHeader.mjs.map +1 -0
- package/dist/hooks/useApiHeader/useApiHeader.spec.d.ts +2 -0
- package/dist/hooks/useApiHeader/useApiHeader.spec.d.ts.map +1 -0
- package/dist/hooks/useApiHeader/useApiHeader.spec.data.d.ts.map +1 -0
- package/dist/hooks/useCookieParams.cjs +2 -0
- package/dist/hooks/useCookieParams.cjs.map +1 -0
- package/dist/{src/hooks → hooks}/useCookieParams.d.ts +1 -0
- package/dist/hooks/useCookieParams.d.ts.map +1 -0
- package/dist/hooks/useCookieParams.mjs +41 -0
- package/dist/hooks/useCookieParams.mjs.map +1 -0
- package/dist/hooks/useCookieParams.spec.d.ts +2 -0
- package/dist/hooks/useCookieParams.spec.d.ts.map +1 -0
- package/dist/hooks/useExposeApiModel/index.d.ts.map +1 -0
- package/dist/hooks/useExposeApiModel/useExposeApiModel.d.ts.map +1 -0
- package/dist/hooks/useExposeApiModel/useExposeApiModel.spec.d.ts +2 -0
- package/dist/hooks/useExposeApiModel/useExposeApiModel.spec.d.ts.map +1 -0
- package/dist/hooks/useExposeApiModel/useExposeApiModel.spec.data.d.ts.map +1 -0
- package/dist/hooks/useExposeApiModel.cjs +2 -0
- package/dist/hooks/useExposeApiModel.cjs.map +1 -0
- package/dist/hooks/useExposeApiModel.d.ts +1 -0
- package/dist/hooks/useExposeApiModel.mjs +8 -0
- package/dist/hooks/useExposeApiModel.mjs.map +1 -0
- package/dist/hooks/useHeaderParams.cjs +2 -0
- package/dist/hooks/useHeaderParams.cjs.map +1 -0
- package/dist/{src/hooks → hooks}/useHeaderParams.d.ts +1 -0
- package/dist/hooks/useHeaderParams.d.ts.map +1 -0
- package/dist/hooks/useHeaderParams.mjs +42 -0
- package/dist/hooks/useHeaderParams.mjs.map +1 -0
- package/dist/hooks/useHeaderParams.spec.d.ts +2 -0
- package/dist/hooks/useHeaderParams.spec.d.ts.map +1 -0
- package/dist/hooks/usePathParams.cjs +2 -0
- package/dist/hooks/usePathParams.cjs.map +1 -0
- package/dist/{src/hooks → hooks}/usePathParams.d.ts +1 -0
- package/dist/hooks/usePathParams.d.ts.map +1 -0
- package/dist/hooks/usePathParams.mjs +35 -0
- package/dist/hooks/usePathParams.mjs.map +1 -0
- package/dist/hooks/usePathParams.spec.d.ts +2 -0
- package/dist/hooks/usePathParams.spec.d.ts.map +1 -0
- package/dist/hooks/useQueryParams.cjs +2 -0
- package/dist/hooks/useQueryParams.cjs.map +1 -0
- package/dist/{src/hooks → hooks}/useQueryParams.d.ts +1 -0
- package/dist/hooks/useQueryParams.d.ts.map +1 -0
- package/dist/hooks/useQueryParams.mjs +40 -0
- package/dist/hooks/useQueryParams.mjs.map +1 -0
- package/dist/hooks/useQueryParams.spec.d.ts +2 -0
- package/dist/hooks/useQueryParams.spec.d.ts.map +1 -0
- package/dist/hooks/useRequestBody.cjs +2 -0
- package/dist/hooks/useRequestBody.cjs.map +1 -0
- package/dist/{src/hooks → hooks}/useRequestBody.d.ts +1 -0
- package/dist/hooks/useRequestBody.d.ts.map +1 -0
- package/dist/hooks/useRequestBody.mjs +42 -0
- package/dist/hooks/useRequestBody.mjs.map +1 -0
- package/dist/hooks/useRequestBody.spec.d.ts +2 -0
- package/dist/hooks/useRequestBody.spec.d.ts.map +1 -0
- package/dist/hooks/useRequestRawBody.cjs +2 -0
- package/dist/hooks/useRequestRawBody.cjs.map +1 -0
- package/dist/{src/hooks → hooks}/useRequestRawBody.d.ts +1 -0
- package/dist/hooks/useRequestRawBody.d.ts.map +1 -0
- package/dist/hooks/useRequestRawBody.mjs +27 -0
- package/dist/hooks/useRequestRawBody.mjs.map +1 -0
- package/dist/hooks/useRequestRawBody.spec.d.ts +2 -0
- package/dist/hooks/useRequestRawBody.spec.d.ts.map +1 -0
- package/dist/hooks/useReturnValue.cjs +2 -0
- package/dist/hooks/useReturnValue.cjs.map +1 -0
- package/dist/hooks/useReturnValue.d.ts.map +1 -0
- package/dist/hooks/useReturnValue.mjs +10 -0
- package/dist/hooks/useReturnValue.mjs.map +1 -0
- package/dist/hooks/useReturnValue.spec.d.ts +2 -0
- package/dist/hooks/useReturnValue.spec.d.ts.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +54 -0
- package/dist/index.mjs.map +1 -0
- package/dist/openapi/analyzerModule/analyzerModule.cjs +2 -0
- package/dist/openapi/analyzerModule/analyzerModule.cjs.map +1 -0
- package/dist/{src/openapi → openapi}/analyzerModule/analyzerModule.d.ts +5 -4
- package/dist/openapi/analyzerModule/analyzerModule.d.ts.map +1 -0
- package/dist/openapi/analyzerModule/analyzerModule.mjs +142 -0
- package/dist/openapi/analyzerModule/analyzerModule.mjs.map +1 -0
- package/dist/openapi/analyzerModule/getSourceFileTimestamp.cjs +2 -0
- package/dist/openapi/analyzerModule/getSourceFileTimestamp.cjs.map +1 -0
- package/dist/{src/openapi → openapi}/analyzerModule/getSourceFileTimestamp.d.ts +1 -0
- package/dist/openapi/analyzerModule/getSourceFileTimestamp.d.ts.map +1 -0
- package/dist/openapi/analyzerModule/getSourceFileTimestamp.mjs +37 -0
- package/dist/openapi/analyzerModule/getSourceFileTimestamp.mjs.map +1 -0
- package/dist/openapi/analyzerModule/nodeParsers.cjs +2 -0
- package/dist/openapi/analyzerModule/nodeParsers.cjs.map +1 -0
- package/dist/{src/openapi → openapi}/analyzerModule/nodeParsers.d.ts +1 -0
- package/dist/openapi/analyzerModule/nodeParsers.d.ts.map +1 -0
- package/dist/openapi/analyzerModule/nodeParsers.mjs +371 -0
- package/dist/openapi/analyzerModule/nodeParsers.mjs.map +1 -0
- package/dist/openapi/analyzerModule/parseEndpoint.cjs +2 -0
- package/dist/openapi/analyzerModule/parseEndpoint.cjs.map +1 -0
- package/dist/{src/openapi → openapi}/analyzerModule/parseEndpoint.d.ts +1 -0
- package/dist/openapi/analyzerModule/parseEndpoint.d.ts.map +1 -0
- package/dist/openapi/analyzerModule/parseEndpoint.mjs +185 -0
- package/dist/openapi/analyzerModule/parseEndpoint.mjs.map +1 -0
- package/dist/openapi/analyzerModule/parseExposedModels.cjs +2 -0
- package/dist/openapi/analyzerModule/parseExposedModels.cjs.map +1 -0
- package/dist/{src/openapi → openapi}/analyzerModule/parseExposedModels.d.ts +1 -0
- package/dist/openapi/analyzerModule/parseExposedModels.d.ts.map +1 -0
- package/dist/openapi/analyzerModule/parseExposedModels.mjs +23 -0
- package/dist/openapi/analyzerModule/parseExposedModels.mjs.map +1 -0
- package/dist/openapi/analyzerModule/sourceFileCache.cjs +2 -0
- package/dist/openapi/analyzerModule/sourceFileCache.cjs.map +1 -0
- package/dist/{src/openapi → openapi}/analyzerModule/sourceFileCache.d.ts +1 -0
- package/dist/openapi/analyzerModule/sourceFileCache.d.ts.map +1 -0
- package/dist/openapi/analyzerModule/sourceFileCache.mjs +49 -0
- package/dist/openapi/analyzerModule/sourceFileCache.mjs.map +1 -0
- package/dist/openapi/analyzerModule/test/openApiAnalyzer.spec.d.ts +2 -0
- package/dist/openapi/analyzerModule/test/openApiAnalyzer.spec.d.ts.map +1 -0
- package/dist/openapi/analyzerModule/test/openApiAnalyzer.spec.data.d.ts.map +1 -0
- package/dist/openapi/analyzerModule/types.d.ts.map +1 -0
- package/dist/openapi/discoveryModule/discoverImports/discoverImports.cjs +2 -0
- package/dist/openapi/discoveryModule/discoverImports/discoverImports.cjs.map +1 -0
- package/dist/{src/openapi → openapi}/discoveryModule/discoverImports/discoverImports.d.ts +1 -0
- package/dist/openapi/discoveryModule/discoverImports/discoverImports.d.ts.map +1 -0
- package/dist/openapi/discoveryModule/discoverImports/discoverImports.mjs +18 -0
- package/dist/openapi/discoveryModule/discoverImports/discoverImports.mjs.map +1 -0
- package/dist/openapi/discoveryModule/discoverRouterFiles/data/testRouterA.spec.data.d.ts +4 -0
- package/dist/openapi/discoveryModule/discoverRouterFiles/data/testRouterA.spec.data.d.ts.map +1 -0
- package/dist/openapi/discoveryModule/discoverRouterFiles/data/testRouterB.spec.data.d.ts +4 -0
- package/dist/openapi/discoveryModule/discoverRouterFiles/data/testRouterB.spec.data.d.ts.map +1 -0
- package/dist/openapi/discoveryModule/discoverRouterFiles/discoverRouterFiles.cjs +2 -0
- package/dist/openapi/discoveryModule/discoverRouterFiles/discoverRouterFiles.cjs.map +1 -0
- package/dist/{src/openapi → openapi}/discoveryModule/discoverRouterFiles/discoverRouterFiles.d.ts +3 -3
- package/dist/openapi/discoveryModule/discoverRouterFiles/discoverRouterFiles.d.ts.map +1 -0
- package/dist/openapi/discoveryModule/discoverRouterFiles/discoverRouterFiles.mjs +43 -0
- package/dist/openapi/discoveryModule/discoverRouterFiles/discoverRouterFiles.mjs.map +1 -0
- package/dist/openapi/discoveryModule/discoverRouterFiles/discoverRouterFiles.spec.d.ts +2 -0
- package/dist/openapi/discoveryModule/discoverRouterFiles/discoverRouterFiles.spec.d.ts.map +1 -0
- package/dist/openapi/discoveryModule/discoverRouters/discoverRouters.cjs +2 -0
- package/dist/openapi/discoveryModule/discoverRouters/discoverRouters.cjs.map +1 -0
- package/dist/{src/openapi → openapi}/discoveryModule/discoverRouters/discoverRouters.d.ts +2 -1
- package/dist/openapi/discoveryModule/discoverRouters/discoverRouters.d.ts.map +1 -0
- package/dist/openapi/discoveryModule/discoverRouters/discoverRouters.mjs +25 -0
- package/dist/openapi/discoveryModule/discoverRouters/discoverRouters.mjs.map +1 -0
- package/dist/openapi/discoveryModule/discoverRouters/discoverRouters.spec.d.ts +2 -0
- package/dist/openapi/discoveryModule/discoverRouters/discoverRouters.spec.d.ts.map +1 -0
- package/dist/openapi/discoveryModule/discoverRouters/discoverRouters.spec.data.d.ts +5 -0
- package/dist/openapi/discoveryModule/discoverRouters/discoverRouters.spec.data.d.ts.map +1 -0
- package/dist/openapi/discoveryModule/index.d.ts.map +1 -0
- package/dist/openapi/generatorModule/generateComponentSchemas.cjs +2 -0
- package/dist/openapi/generatorModule/generateComponentSchemas.cjs.map +1 -0
- package/dist/{src/openapi → openapi}/generatorModule/generateComponentSchemas.d.ts +1 -0
- package/dist/openapi/generatorModule/generateComponentSchemas.d.ts.map +1 -0
- package/dist/openapi/generatorModule/generateComponentSchemas.mjs +11 -0
- package/dist/openapi/generatorModule/generateComponentSchemas.mjs.map +1 -0
- package/dist/openapi/generatorModule/generatePaths.cjs +2 -0
- package/dist/openapi/generatorModule/generatePaths.cjs.map +1 -0
- package/dist/{src/openapi → openapi}/generatorModule/generatePaths.d.ts +1 -0
- package/dist/openapi/generatorModule/generatePaths.d.ts.map +1 -0
- package/dist/openapi/generatorModule/generatePaths.mjs +77 -0
- package/dist/openapi/generatorModule/generatePaths.mjs.map +1 -0
- package/dist/openapi/generatorModule/generatorModule.cjs +2 -0
- package/dist/openapi/generatorModule/generatorModule.cjs.map +1 -0
- package/dist/openapi/generatorModule/generatorModule.d.ts +17 -0
- package/dist/openapi/generatorModule/generatorModule.d.ts.map +1 -0
- package/dist/openapi/generatorModule/generatorModule.mjs +17 -0
- package/dist/openapi/generatorModule/generatorModule.mjs.map +1 -0
- package/dist/openapi/generatorModule/getSchema.cjs +2 -0
- package/dist/openapi/generatorModule/getSchema.cjs.map +1 -0
- package/dist/{src/openapi → openapi}/generatorModule/getSchema.d.ts +1 -0
- package/dist/openapi/generatorModule/getSchema.d.ts.map +1 -0
- package/dist/openapi/generatorModule/getSchema.mjs +108 -0
- package/dist/openapi/generatorModule/getSchema.mjs.map +1 -0
- package/dist/openapi/generatorModule/index.d.ts.map +1 -0
- package/dist/openapi/generatorModule/test/openApiGenerator.spec.d.ts +2 -0
- package/dist/openapi/generatorModule/test/openApiGenerator.spec.d.ts.map +1 -0
- package/dist/{src/openapi → openapi}/generatorModule/test/openApiGenerator.spec.data.d.ts +1 -0
- package/dist/{src/openapi → openapi}/generatorModule/test/openApiGenerator.spec.data.d.ts.map +1 -1
- package/dist/openapi/initOpenApiEngine.cjs +2 -0
- package/dist/openapi/initOpenApiEngine.cjs.map +1 -0
- package/dist/{src/openapi → openapi}/initOpenApiEngine.d.ts +2 -1
- package/dist/openapi/initOpenApiEngine.d.ts.map +1 -0
- package/dist/openapi/initOpenApiEngine.mjs +11 -0
- package/dist/openapi/initOpenApiEngine.mjs.map +1 -0
- package/dist/openapi/manager/OpenApiManager.cjs +2 -0
- package/dist/openapi/manager/OpenApiManager.cjs.map +1 -0
- package/dist/{src/openapi → openapi}/manager/OpenApiManager.d.ts +1 -0
- package/dist/openapi/manager/OpenApiManager.d.ts.map +1 -0
- package/dist/openapi/manager/OpenApiManager.mjs +81 -0
- package/dist/openapi/manager/OpenApiManager.mjs.map +1 -0
- package/dist/openapi/router/OpenApiRouter.cjs +2 -0
- package/dist/openapi/router/OpenApiRouter.cjs.map +1 -0
- package/dist/openapi/router/OpenApiRouter.d.ts +4 -0
- package/dist/openapi/router/OpenApiRouter.d.ts.map +1 -0
- package/dist/openapi/router/OpenApiRouter.mjs +10 -0
- package/dist/openapi/router/OpenApiRouter.mjs.map +1 -0
- package/dist/{src/openapi → openapi}/types.d.ts +1 -0
- package/dist/openapi/types.d.ts.map +1 -0
- package/dist/router/Router.cjs +2 -0
- package/dist/router/Router.cjs.map +1 -0
- package/dist/{src/router → router}/Router.d.ts +3 -2
- package/dist/router/Router.d.ts.map +1 -0
- package/dist/router/Router.mjs +63 -0
- package/dist/router/Router.mjs.map +1 -0
- package/dist/router/parseEndpointReturnValue.cjs +2 -0
- package/dist/router/parseEndpointReturnValue.cjs.map +1 -0
- package/dist/router/parseEndpointReturnValue.d.ts.map +1 -0
- package/dist/router/parseEndpointReturnValue.mjs +21 -0
- package/dist/router/parseEndpointReturnValue.mjs.map +1 -0
- package/dist/router/parseEndpointReturnValue.spec.d.ts +2 -0
- package/dist/router/parseEndpointReturnValue.spec.d.ts.map +1 -0
- package/dist/{src/setupTests.d.ts.map → setupTests.d.ts.map} +1 -1
- package/dist/test/TestAppRouter.d.ts +8 -0
- package/dist/test/TestAppRouter.d.ts.map +1 -0
- package/dist/test/app.d.ts +4 -0
- package/dist/test/app.d.ts.map +1 -0
- package/dist/test/app.spec.d.ts +2 -0
- package/dist/test/app.spec.d.ts.map +1 -0
- package/dist/utils/TypeUtils.d.ts.map +1 -0
- package/dist/utils/loadTestData.d.ts +2 -0
- package/dist/utils/loadTestData.d.ts.map +1 -0
- package/dist/utils/logger.cjs +2 -0
- package/dist/utils/logger.cjs.map +1 -0
- package/dist/{src/utils → utils}/logger.d.ts +1 -1
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.mjs +62 -0
- package/dist/utils/logger.mjs.map +1 -0
- package/dist/{src/utils → utils}/mockContext.d.ts +2 -1
- package/dist/utils/mockContext.d.ts.map +1 -0
- package/dist/utils/nameOf.d.ts.map +1 -0
- package/dist/utils/object.cjs +2 -0
- package/dist/utils/object.cjs.map +1 -0
- package/dist/utils/object.d.ts.map +1 -0
- package/dist/utils/object.mjs +7 -0
- package/dist/utils/object.mjs.map +1 -0
- package/dist/utils/object.spec.d.ts +2 -0
- package/dist/utils/object.spec.d.ts.map +1 -0
- package/dist/{src/utils → utils}/printers.d.ts +1 -0
- package/dist/utils/printers.d.ts.map +1 -0
- package/dist/utils/printers.spec.d.ts +2 -0
- package/dist/utils/printers.spec.d.ts.map +1 -0
- package/dist/utils/validationMessages.cjs +2 -0
- package/dist/utils/validationMessages.cjs.map +1 -0
- package/dist/{src/utils → utils}/validationMessages.d.ts +1 -0
- package/dist/utils/validationMessages.d.ts.map +1 -0
- package/dist/utils/validationMessages.mjs +20 -0
- package/dist/utils/validationMessages.mjs.map +1 -0
- package/dist/validators/BuiltInValidators.cjs +2 -0
- package/dist/validators/BuiltInValidators.cjs.map +1 -0
- package/dist/{src/validators → validators}/BuiltInValidators.d.ts +10 -10
- package/dist/validators/BuiltInValidators.d.ts.map +1 -0
- package/dist/validators/BuiltInValidators.mjs +66 -0
- package/dist/validators/BuiltInValidators.mjs.map +1 -0
- package/dist/validators/InternalParamWrappers.cjs +2 -0
- package/dist/validators/InternalParamWrappers.cjs.map +1 -0
- package/dist/{src/validators → validators}/InternalParamWrappers.d.ts +1 -0
- package/dist/validators/InternalParamWrappers.d.ts.map +1 -0
- package/dist/validators/InternalParamWrappers.mjs +8 -0
- package/dist/validators/InternalParamWrappers.mjs.map +1 -0
- package/dist/validators/ParamWrappers.cjs +2 -0
- package/dist/validators/ParamWrappers.cjs.map +1 -0
- package/dist/{src/validators → validators}/ParamWrappers.d.ts +1 -0
- package/dist/validators/ParamWrappers.d.ts.map +1 -0
- package/dist/validators/ParamWrappers.mjs +16 -0
- package/dist/validators/ParamWrappers.mjs.map +1 -0
- package/dist/validators/types.d.ts.map +1 -0
- package/eslint.config.mjs +1 -2
- package/package.json +109 -9
- package/src/openapi/analyzerModule/analyzerModule.ts +22 -11
- package/src/openapi/analyzerModule/getSourceFileTimestamp.ts +5 -2
- package/src/openapi/analyzerModule/nodeParsers.ts +30 -3
- package/src/openapi/analyzerModule/test/openApiAnalyzer.spec.ts +1 -0
- package/src/openapi/discoveryModule/discoverImports/discoverImports.ts +0 -1
- package/src/openapi/discoveryModule/discoverRouterFiles/discoverRouterFiles.ts +4 -2
- package/src/openapi/discoveryModule/discoverRouters/discoverRouters.ts +1 -3
- package/src/utils/loadTestData.ts +1 -0
- package/src/utils/logger.ts +3 -2
- package/tsconfig.json +4 -2
- package/vite.config.ts +92 -5
- package/dist/cli/cli.d.ts +0 -2
- package/dist/cli/cli.d.ts.map +0 -1
- package/dist/cli/cli.js +0 -89
- package/dist/cli/prettyprint.d.ts +0 -4
- package/dist/cli/prettyprint.d.ts.map +0 -1
- package/dist/cli/prettyprint.js +0 -19
- package/dist/src/errors/BaseHttpError.d.ts.map +0 -1
- package/dist/src/errors/BaseHttpError.js +0 -13
- package/dist/src/errors/HttpErrorHandler.d.ts.map +0 -1
- package/dist/src/errors/HttpErrorHandler.js +0 -23
- package/dist/src/errors/UserFacingErrors.d.ts.map +0 -1
- package/dist/src/errors/UserFacingErrors.js +0 -23
- package/dist/src/hooks/authentication/useAuth.d.ts.map +0 -1
- package/dist/src/hooks/authentication/useAuth.js +0 -7
- package/dist/src/hooks/authentication/useOptionalAuth.d.ts.map +0 -1
- package/dist/src/hooks/authentication/useOptionalAuth.js +0 -16
- package/dist/src/hooks/useApiEndpoint.d.ts.map +0 -1
- package/dist/src/hooks/useApiEndpoint.js +0 -7
- package/dist/src/hooks/useApiHeader/index.d.ts.map +0 -1
- package/dist/src/hooks/useApiHeader/index.js +0 -17
- package/dist/src/hooks/useApiHeader/useApiHeader.d.ts.map +0 -1
- package/dist/src/hooks/useApiHeader/useApiHeader.js +0 -6
- package/dist/src/hooks/useApiHeader/useApiHeader.spec.data.d.ts.map +0 -1
- package/dist/src/hooks/useApiHeader/useApiHeader.spec.data.js +0 -22
- package/dist/src/hooks/useCookieParams.d.ts.map +0 -1
- package/dist/src/hooks/useCookieParams.js +0 -50
- package/dist/src/hooks/useExposeApiModel/index.d.ts.map +0 -1
- package/dist/src/hooks/useExposeApiModel/index.js +0 -17
- package/dist/src/hooks/useExposeApiModel/useExposeApiModel.d.ts.map +0 -1
- package/dist/src/hooks/useExposeApiModel/useExposeApiModel.js +0 -9
- package/dist/src/hooks/useExposeApiModel/useExposeApiModel.spec.data.d.ts.map +0 -1
- package/dist/src/hooks/useExposeApiModel/useExposeApiModel.spec.data.js +0 -16
- package/dist/src/hooks/useHeaderParams.d.ts.map +0 -1
- package/dist/src/hooks/useHeaderParams.js +0 -52
- package/dist/src/hooks/usePathParams.d.ts.map +0 -1
- package/dist/src/hooks/usePathParams.js +0 -46
- package/dist/src/hooks/useQueryParams.d.ts.map +0 -1
- package/dist/src/hooks/useQueryParams.js +0 -50
- package/dist/src/hooks/useRequestBody.d.ts.map +0 -1
- package/dist/src/hooks/useRequestBody.js +0 -59
- package/dist/src/hooks/useRequestRawBody.d.ts.map +0 -1
- package/dist/src/hooks/useRequestRawBody.js +0 -34
- package/dist/src/hooks/useReturnValue.d.ts.map +0 -1
- package/dist/src/hooks/useReturnValue.js +0 -12
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -34
- package/dist/src/openapi/analyzerModule/analyzerModule.d.ts.map +0 -1
- package/dist/src/openapi/analyzerModule/analyzerModule.js +0 -246
- package/dist/src/openapi/analyzerModule/getSourceFileTimestamp.d.ts.map +0 -1
- package/dist/src/openapi/analyzerModule/getSourceFileTimestamp.js +0 -49
- package/dist/src/openapi/analyzerModule/nodeParsers.d.ts.map +0 -1
- package/dist/src/openapi/analyzerModule/nodeParsers.js +0 -545
- package/dist/src/openapi/analyzerModule/parseEndpoint.d.ts.map +0 -1
- package/dist/src/openapi/analyzerModule/parseEndpoint.js +0 -291
- package/dist/src/openapi/analyzerModule/parseExposedModels.d.ts.map +0 -1
- package/dist/src/openapi/analyzerModule/parseExposedModels.js +0 -32
- package/dist/src/openapi/analyzerModule/sourceFileCache.d.ts.map +0 -1
- package/dist/src/openapi/analyzerModule/sourceFileCache.js +0 -67
- package/dist/src/openapi/analyzerModule/test/openApiAnalyzer.spec.data.d.ts.map +0 -1
- package/dist/src/openapi/analyzerModule/test/openApiAnalyzer.spec.data.js +0 -427
- package/dist/src/openapi/analyzerModule/types.d.ts.map +0 -1
- package/dist/src/openapi/analyzerModule/types.js +0 -2
- package/dist/src/openapi/discoveryModule/discoverImports/discoverImports.d.ts.map +0 -1
- package/dist/src/openapi/discoveryModule/discoverImports/discoverImports.js +0 -33
- package/dist/src/openapi/discoveryModule/discoverRouterFiles/data/testRouterA.spec.data.d.ts +0 -3
- package/dist/src/openapi/discoveryModule/discoverRouterFiles/data/testRouterA.spec.data.d.ts.map +0 -1
- package/dist/src/openapi/discoveryModule/discoverRouterFiles/data/testRouterA.spec.data.js +0 -8
- package/dist/src/openapi/discoveryModule/discoverRouterFiles/data/testRouterB.spec.data.d.ts +0 -3
- package/dist/src/openapi/discoveryModule/discoverRouterFiles/data/testRouterB.spec.data.d.ts.map +0 -1
- package/dist/src/openapi/discoveryModule/discoverRouterFiles/data/testRouterB.spec.data.js +0 -8
- package/dist/src/openapi/discoveryModule/discoverRouterFiles/discoverRouterFiles.d.ts.map +0 -1
- package/dist/src/openapi/discoveryModule/discoverRouterFiles/discoverRouterFiles.js +0 -90
- package/dist/src/openapi/discoveryModule/discoverRouters/discoverRouters.d.ts.map +0 -1
- package/dist/src/openapi/discoveryModule/discoverRouters/discoverRouters.js +0 -31
- package/dist/src/openapi/discoveryModule/discoverRouters/discoverRouters.spec.data.d.ts +0 -4
- package/dist/src/openapi/discoveryModule/discoverRouters/discoverRouters.spec.data.d.ts.map +0 -1
- package/dist/src/openapi/discoveryModule/discoverRouters/discoverRouters.spec.data.js +0 -38
- package/dist/src/openapi/discoveryModule/index.d.ts.map +0 -1
- package/dist/src/openapi/discoveryModule/index.js +0 -18
- package/dist/src/openapi/generatorModule/generateComponentSchemas.d.ts.map +0 -1
- package/dist/src/openapi/generatorModule/generateComponentSchemas.js +0 -12
- package/dist/src/openapi/generatorModule/generatePaths.d.ts.map +0 -1
- package/dist/src/openapi/generatorModule/generatePaths.js +0 -118
- package/dist/src/openapi/generatorModule/generatorModule.d.ts +0 -16
- package/dist/src/openapi/generatorModule/generatorModule.d.ts.map +0 -1
- package/dist/src/openapi/generatorModule/generatorModule.js +0 -18
- package/dist/src/openapi/generatorModule/getSchema.d.ts.map +0 -1
- package/dist/src/openapi/generatorModule/getSchema.js +0 -143
- package/dist/src/openapi/generatorModule/index.d.ts.map +0 -1
- package/dist/src/openapi/generatorModule/index.js +0 -20
- package/dist/src/openapi/generatorModule/test/openApiGenerator.spec.data.js +0 -1126
- package/dist/src/openapi/initOpenApiEngine.d.ts.map +0 -1
- package/dist/src/openapi/initOpenApiEngine.js +0 -14
- package/dist/src/openapi/manager/OpenApiManager.d.ts.map +0 -1
- package/dist/src/openapi/manager/OpenApiManager.js +0 -86
- package/dist/src/openapi/router/OpenApiRouter.d.ts +0 -3
- package/dist/src/openapi/router/OpenApiRouter.d.ts.map +0 -1
- package/dist/src/openapi/router/OpenApiRouter.js +0 -11
- package/dist/src/openapi/types.d.ts.map +0 -1
- package/dist/src/openapi/types.js +0 -2
- package/dist/src/router/Router.d.ts.map +0 -1
- package/dist/src/router/Router.js +0 -84
- package/dist/src/router/parseEndpointReturnValue.d.ts.map +0 -1
- package/dist/src/router/parseEndpointReturnValue.js +0 -40
- package/dist/src/router/responseValueToJson.d.ts +0 -2
- package/dist/src/router/responseValueToJson.d.ts.map +0 -1
- package/dist/src/router/responseValueToJson.js +0 -10
- package/dist/src/setupTests.js +0 -3
- package/dist/src/test/TestAppRouter.d.ts +0 -7
- package/dist/src/test/TestAppRouter.d.ts.map +0 -1
- package/dist/src/test/TestAppRouter.js +0 -64
- package/dist/src/test/app.d.ts +0 -3
- package/dist/src/test/app.d.ts.map +0 -1
- package/dist/src/test/app.js +0 -41
- package/dist/src/utils/TypeUtils.d.ts.map +0 -1
- package/dist/src/utils/TypeUtils.js +0 -2
- package/dist/src/utils/loadTestData.d.ts +0 -2
- package/dist/src/utils/loadTestData.d.ts.map +0 -1
- package/dist/src/utils/loadTestData.js +0 -49
- package/dist/src/utils/logger.d.ts.map +0 -1
- package/dist/src/utils/logger.js +0 -79
- package/dist/src/utils/mockContext.d.ts.map +0 -1
- package/dist/src/utils/mockContext.js +0 -95
- package/dist/src/utils/nameOf.d.ts.map +0 -1
- package/dist/src/utils/nameOf.js +0 -7
- package/dist/src/utils/object.d.ts.map +0 -1
- package/dist/src/utils/object.js +0 -25
- package/dist/src/utils/printers.d.ts.map +0 -1
- package/dist/src/utils/printers.js +0 -86
- package/dist/src/utils/validationMessages.d.ts.map +0 -1
- package/dist/src/utils/validationMessages.js +0 -43
- package/dist/src/validators/BuiltInValidators.d.ts.map +0 -1
- package/dist/src/validators/BuiltInValidators.js +0 -66
- package/dist/src/validators/InternalParamWrappers.d.ts.map +0 -1
- package/dist/src/validators/InternalParamWrappers.js +0 -5
- package/dist/src/validators/ParamWrappers.d.ts.map +0 -1
- package/dist/src/validators/ParamWrappers.js +0 -9
- package/dist/src/validators/types.d.ts.map +0 -1
- package/dist/src/validators/types.js +0 -2
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/tsconfig.build.json +0 -15
- /package/dist/{src/hooks → hooks}/useApiEndpoint.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/useApiHeader/index.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/useApiHeader/useApiHeader.spec.data.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/useExposeApiModel/index.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/useExposeApiModel/useExposeApiModel.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/useExposeApiModel/useExposeApiModel.spec.data.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/useReturnValue.d.ts +0 -0
- /package/dist/{src/index.d.ts → index.d.ts} +0 -0
- /package/dist/{src/openapi → openapi}/analyzerModule/test/openApiAnalyzer.spec.data.d.ts +0 -0
- /package/dist/{src/openapi → openapi}/analyzerModule/types.d.ts +0 -0
- /package/dist/{src/openapi → openapi}/discoveryModule/index.d.ts +0 -0
- /package/dist/{src/openapi → openapi}/generatorModule/index.d.ts +0 -0
- /package/dist/{src/router → router}/parseEndpointReturnValue.d.ts +0 -0
- /package/dist/{src/setupTests.d.ts → setupTests.d.ts} +0 -0
- /package/dist/{src/utils → utils}/TypeUtils.d.ts +0 -0
- /package/dist/{src/utils → utils}/nameOf.d.ts +0 -0
- /package/dist/{src/utils → utils}/object.d.ts +0 -0
- /package/dist/{src/validators → validators}/types.d.ts +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../node_modules/http-status-codes/build/es/utils-functions.cjs");class s extends Error{constructor(r,t){super(t),this.status=r,this.message=t,this.reason=e.getReasonPhrase(r)}}exports.BaseHttpError=s;
|
|
2
|
+
//# sourceMappingURL=BaseHttpError.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseHttpError.cjs","sources":["../../src/errors/BaseHttpError.ts"],"sourcesContent":["import { getReasonPhrase, StatusCodes } from 'http-status-codes'\n\nexport interface HttpError {\n\tstatus: StatusCodes\n\treason: string\n\tmessage: string\n}\n\nexport class BaseHttpError extends Error implements HttpError {\n\tpublic reason: string\n\n\tconstructor(\n\t\tpublic status: StatusCodes,\n\t\tpublic message: string,\n\t) {\n\t\tsuper(message)\n\t\tthis.reason = getReasonPhrase(status)\n\t}\n}\n"],"names":["BaseHttpError","status","message","getReasonPhrase"],"mappings":"kKAQO,MAAMA,UAAsB,KAA2B,CAG7D,YACQC,EACAC,EACN,CACD,MAAMA,CAAO,EAHN,KAAA,OAAAD,EACA,KAAA,QAAAC,EAGF,KAAA,OAASC,kBAAgBF,CAAM,CAAA,CAEtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseHttpError.d.ts","sourceRoot":"","sources":["../../src/errors/BaseHttpError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEhE,MAAM,WAAW,SAAS;IACzB,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,aAAc,SAAQ,KAAM,YAAW,SAAS;IAIpD,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,MAAM;IAJhB,MAAM,EAAE,MAAM,CAAA;gBAGb,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM;CAKvB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { getReasonPhrase as t } from "../node_modules/http-status-codes/build/es/utils-functions.mjs";
|
|
2
|
+
class a extends Error {
|
|
3
|
+
constructor(r, s) {
|
|
4
|
+
super(s), this.status = r, this.message = s, this.reason = t(r);
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export {
|
|
8
|
+
a as BaseHttpError
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=BaseHttpError.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseHttpError.mjs","sources":["../../src/errors/BaseHttpError.ts"],"sourcesContent":["import { getReasonPhrase, StatusCodes } from 'http-status-codes'\n\nexport interface HttpError {\n\tstatus: StatusCodes\n\treason: string\n\tmessage: string\n}\n\nexport class BaseHttpError extends Error implements HttpError {\n\tpublic reason: string\n\n\tconstructor(\n\t\tpublic status: StatusCodes,\n\t\tpublic message: string,\n\t) {\n\t\tsuper(message)\n\t\tthis.reason = getReasonPhrase(status)\n\t}\n}\n"],"names":["BaseHttpError","status","message","getReasonPhrase"],"mappings":";AAQO,MAAMA,UAAsB,MAA2B;AAAA,EAG7D,YACQC,GACAC,GACN;AACD,UAAMA,CAAO,GAHN,KAAA,SAAAD,GACA,KAAA,UAAAC,GAGF,KAAA,SAASC,EAAgBF,CAAM;AAAA,EAAA;AAEtC;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./BaseHttpError.cjs"),a=async(r,e)=>{try{await e()}catch(t){if(t instanceof s.BaseHttpError)r.status=t.status,r.body={status:t.status,reason:t.reason,message:t.message};else throw t}};exports.HttpErrorHandler=a;
|
|
2
|
+
//# sourceMappingURL=HttpErrorHandler.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpErrorHandler.cjs","sources":["../../src/errors/HttpErrorHandler.ts"],"sourcesContent":["import Koa from 'koa'\n\nimport { BaseHttpError } from './BaseHttpError'\n\nexport const HttpErrorHandler = async (ctx: Koa.ParameterizedContext, next: Koa.Next) => {\n\ttry {\n\t\tawait next()\n\t} catch (err) {\n\t\tif (err instanceof BaseHttpError) {\n\t\t\tctx.status = err.status\n\t\t\tctx.body = {\n\t\t\t\tstatus: err.status,\n\t\t\t\treason: err.reason,\n\t\t\t\tmessage: err.message,\n\t\t\t}\n\t\t} else {\n\t\t\tthrow err\n\t\t}\n\t}\n}\n"],"names":["HttpErrorHandler","ctx","next","err","BaseHttpError"],"mappings":"uHAIaA,EAAmB,MAAOC,EAA+BC,IAAmB,CACpF,GAAA,CACH,MAAMA,EAAK,QACHC,EAAK,CACb,GAAIA,aAAeC,EAAAA,cAClBH,EAAI,OAASE,EAAI,OACjBF,EAAI,KAAO,CACV,OAAQE,EAAI,OACZ,OAAQA,EAAI,OACZ,QAASA,EAAI,OACd,MAEM,OAAAA,CACP,CAEF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpErrorHandler.d.ts","sourceRoot":"","sources":["../../src/errors/HttpErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAIrB,eAAO,MAAM,gBAAgB,QAAe,GAAG,CAAC,oBAAoB,QAAQ,GAAG,CAAC,IAAI,kBAenF,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseHttpError as a } from "./BaseHttpError.mjs";
|
|
2
|
+
const o = async (t, r) => {
|
|
3
|
+
try {
|
|
4
|
+
await r();
|
|
5
|
+
} catch (s) {
|
|
6
|
+
if (s instanceof a)
|
|
7
|
+
t.status = s.status, t.body = {
|
|
8
|
+
status: s.status,
|
|
9
|
+
reason: s.reason,
|
|
10
|
+
message: s.message
|
|
11
|
+
};
|
|
12
|
+
else
|
|
13
|
+
throw s;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
export {
|
|
17
|
+
o as HttpErrorHandler
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=HttpErrorHandler.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpErrorHandler.mjs","sources":["../../src/errors/HttpErrorHandler.ts"],"sourcesContent":["import Koa from 'koa'\n\nimport { BaseHttpError } from './BaseHttpError'\n\nexport const HttpErrorHandler = async (ctx: Koa.ParameterizedContext, next: Koa.Next) => {\n\ttry {\n\t\tawait next()\n\t} catch (err) {\n\t\tif (err instanceof BaseHttpError) {\n\t\t\tctx.status = err.status\n\t\t\tctx.body = {\n\t\t\t\tstatus: err.status,\n\t\t\t\treason: err.reason,\n\t\t\t\tmessage: err.message,\n\t\t\t}\n\t\t} else {\n\t\t\tthrow err\n\t\t}\n\t}\n}\n"],"names":["HttpErrorHandler","ctx","next","err","BaseHttpError"],"mappings":";AAIa,MAAAA,IAAmB,OAAOC,GAA+BC,MAAmB;AACpF,MAAA;AACH,UAAMA,EAAK;AAAA,WACHC,GAAK;AACb,QAAIA,aAAeC;AAClB,MAAAH,EAAI,SAASE,EAAI,QACjBF,EAAI,OAAO;AAAA,QACV,QAAQE,EAAI;AAAA,QACZ,QAAQA,EAAI;AAAA,QACZ,SAASA,EAAI;AAAA,MACd;AAAA;AAEM,YAAAA;AAAA,EACP;AAEF;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./BaseHttpError.cjs"),e=require("../node_modules/http-status-codes/build/es/status-codes.cjs");class o extends t.BaseHttpError{constructor(r){super(e.StatusCodes.BAD_REQUEST,r)}}class a extends t.BaseHttpError{constructor(r){super(e.StatusCodes.BAD_REQUEST,r)}}class u extends t.BaseHttpError{constructor(r){super(e.StatusCodes.UNAUTHORIZED,r)}}exports.BadRequestError=a;exports.UnauthorizedError=u;exports.ValidationError=o;
|
|
2
|
+
//# sourceMappingURL=UserFacingErrors.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserFacingErrors.cjs","sources":["../../src/errors/UserFacingErrors.ts"],"sourcesContent":["import { StatusCodes } from 'http-status-codes'\n\nimport { BaseHttpError } from './BaseHttpError'\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\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":["ValidationError","BaseHttpError","message","StatusCodes","BadRequestError","UnauthorizedError"],"mappings":"gMAIO,MAAMA,UAAwBC,EAAAA,aAAc,CAClD,YAAYC,EAAiB,CACtB,MAAAC,EAAAA,YAAY,YAAaD,CAAO,CAAA,CAExC,CAEO,MAAME,UAAwBH,EAAAA,aAAc,CAClD,YAAYC,EAAiB,CACtB,MAAAC,EAAAA,YAAY,YAAaD,CAAO,CAAA,CAExC,CAEO,MAAMG,UAA0BJ,EAAAA,aAAc,CACpD,YAAYC,EAAiB,CACtB,MAAAC,EAAAA,YAAY,aAAcD,CAAO,CAAA,CAEzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserFacingErrors.d.ts","sourceRoot":"","sources":["../../src/errors/UserFacingErrors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BaseHttpError as s } from "./BaseHttpError.mjs";
|
|
2
|
+
import { StatusCodes as t } from "../node_modules/http-status-codes/build/es/status-codes.mjs";
|
|
3
|
+
class c extends s {
|
|
4
|
+
constructor(r) {
|
|
5
|
+
super(t.BAD_REQUEST, r);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
class u extends s {
|
|
9
|
+
constructor(r) {
|
|
10
|
+
super(t.BAD_REQUEST, r);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
class E extends s {
|
|
14
|
+
constructor(r) {
|
|
15
|
+
super(t.UNAUTHORIZED, r);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
u as BadRequestError,
|
|
20
|
+
E as UnauthorizedError,
|
|
21
|
+
c as ValidationError
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=UserFacingErrors.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserFacingErrors.mjs","sources":["../../src/errors/UserFacingErrors.ts"],"sourcesContent":["import { StatusCodes } from 'http-status-codes'\n\nimport { BaseHttpError } from './BaseHttpError'\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\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":["ValidationError","BaseHttpError","message","StatusCodes","BadRequestError","UnauthorizedError"],"mappings":";;AAIO,MAAMA,UAAwBC,EAAc;AAAA,EAClD,YAAYC,GAAiB;AACtB,UAAAC,EAAY,aAAaD,CAAO;AAAA,EAAA;AAExC;AAEO,MAAME,UAAwBH,EAAc;AAAA,EAClD,YAAYC,GAAiB;AACtB,UAAAC,EAAY,aAAaD,CAAO;AAAA,EAAA;AAExC;AAEO,MAAMG,UAA0BJ,EAAc;AAAA,EACpD,YAAYC,GAAiB;AACtB,UAAAC,EAAY,cAAcD,CAAO;AAAA,EAAA;AAEzC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAuth.cjs","sources":["../../../src/hooks/authentication/useAuth.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\n\nexport const useAuth = async <UserObject>(\n\tctx: ParameterizedContext,\n\tauthenticator: (ctx: ParameterizedContext) => UserObject | Promise<UserObject>,\n): Promise<UserObject> => {\n\treturn await authenticator(ctx)\n}\n"],"names":["useAuth","ctx","authenticator"],"mappings":"gFAEa,MAAAA,EAAU,MACtBC,EACAC,IAEO,MAAMA,EAAcD,CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAuth.d.ts","sourceRoot":"","sources":["../../../src/hooks/authentication/useAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,KAAK,CAAA;AAE1C,eAAO,MAAM,OAAO,GAAU,UAAU,OAClC,oBAAoB,iBACV,CAAC,GAAG,EAAE,oBAAoB,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,KAC5E,OAAO,CAAC,UAAU,CAEpB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAuth.mjs","sources":["../../../src/hooks/authentication/useAuth.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\n\nexport const useAuth = async <UserObject>(\n\tctx: ParameterizedContext,\n\tauthenticator: (ctx: ParameterizedContext) => UserObject | Promise<UserObject>,\n): Promise<UserObject> => {\n\treturn await authenticator(ctx)\n}\n"],"names":["useAuth","ctx","authenticator"],"mappings":"AAEa,MAAAA,IAAU,OACtBC,GACAC,MAEO,MAAMA,EAAcD,CAAG;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../errors/UserFacingErrors.cjs"),n=async(e,o)=>{try{return await o(e)}catch(r){if(r instanceof t.UnauthorizedError||r instanceof t.ValidationError)return;throw r}};exports.useOptionalAuth=n;
|
|
2
|
+
//# sourceMappingURL=useOptionalAuth.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOptionalAuth.cjs","sources":["../../../src/hooks/authentication/useOptionalAuth.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\n\nimport { UnauthorizedError, ValidationError } from '../../errors/UserFacingErrors'\n\nexport const useOptionalAuth = async <UserObject>(\n\tctx: ParameterizedContext,\n\tauthenticator: (ctx: ParameterizedContext) => UserObject | Promise<UserObject>,\n): Promise<UserObject | undefined> => {\n\ttry {\n\t\treturn await authenticator(ctx)\n\t} catch (err) {\n\t\tif (err instanceof UnauthorizedError || err instanceof ValidationError) {\n\t\t\treturn undefined\n\t\t}\n\t\tthrow err\n\t}\n}\n"],"names":["useOptionalAuth","ctx","authenticator","err","UnauthorizedError","ValidationError"],"mappings":"qIAIaA,EAAkB,MAC9BC,EACAC,IACqC,CACjC,GAAA,CACI,OAAA,MAAMA,EAAcD,CAAG,QACtBE,EAAK,CACT,GAAAA,aAAeC,EAAAA,mBAAqBD,aAAeE,kBAC/C,OAEF,MAAAF,CAAA,CAER"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { ParameterizedContext } from 'koa';
|
|
2
|
+
|
|
2
3
|
export declare const useOptionalAuth: <UserObject>(ctx: ParameterizedContext, authenticator: (ctx: ParameterizedContext) => UserObject | Promise<UserObject>) => Promise<UserObject | undefined>;
|
|
3
4
|
//# sourceMappingURL=useOptionalAuth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOptionalAuth.d.ts","sourceRoot":"","sources":["../../../src/hooks/authentication/useOptionalAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,KAAK,CAAA;AAI1C,eAAO,MAAM,eAAe,GAAU,UAAU,OAC1C,oBAAoB,iBACV,CAAC,GAAG,EAAE,oBAAoB,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,KAC5E,OAAO,CAAC,UAAU,GAAG,SAAS,CAShC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { UnauthorizedError as n, ValidationError as a } from "../../errors/UserFacingErrors.mjs";
|
|
2
|
+
const e = async (t, o) => {
|
|
3
|
+
try {
|
|
4
|
+
return await o(t);
|
|
5
|
+
} catch (r) {
|
|
6
|
+
if (r instanceof n || r instanceof a)
|
|
7
|
+
return;
|
|
8
|
+
throw r;
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
export {
|
|
12
|
+
e as useOptionalAuth
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=useOptionalAuth.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOptionalAuth.mjs","sources":["../../../src/hooks/authentication/useOptionalAuth.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\n\nimport { UnauthorizedError, ValidationError } from '../../errors/UserFacingErrors'\n\nexport const useOptionalAuth = async <UserObject>(\n\tctx: ParameterizedContext,\n\tauthenticator: (ctx: ParameterizedContext) => UserObject | Promise<UserObject>,\n): Promise<UserObject | undefined> => {\n\ttry {\n\t\treturn await authenticator(ctx)\n\t} catch (err) {\n\t\tif (err instanceof UnauthorizedError || err instanceof ValidationError) {\n\t\t\treturn undefined\n\t\t}\n\t\tthrow err\n\t}\n}\n"],"names":["useOptionalAuth","ctx","authenticator","err","UnauthorizedError","ValidationError"],"mappings":";AAIa,MAAAA,IAAkB,OAC9BC,GACAC,MACqC;AACjC,MAAA;AACI,WAAA,MAAMA,EAAcD,CAAG;AAAA,WACtBE,GAAK;AACT,QAAAA,aAAeC,KAAqBD,aAAeE;AAC/C;AAEF,UAAAF;AAAA,EAAA;AAER;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useApiEndpoint.cjs","sources":["../../src/hooks/useApiEndpoint.ts"],"sourcesContent":["export type ApiEndpointDocs = {\n\tname?: string\n\tsummary?: string\n\tdescription?: string\n\ttags?: string[]\n}\n\nexport const useApiEndpoint = (docs: ApiEndpointDocs) => {\n\treturn docs\n}\n"],"names":["useApiEndpoint","docs"],"mappings":"gFAOa,MAAAA,EAAkBC,GACvBA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useApiEndpoint.d.ts","sourceRoot":"","sources":["../../src/hooks/useApiEndpoint.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CACf,CAAA;AAED,eAAO,MAAM,cAAc,SAAU,eAAe,oBAEnD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useApiEndpoint.mjs","sources":["../../src/hooks/useApiEndpoint.ts"],"sourcesContent":["export type ApiEndpointDocs = {\n\tname?: string\n\tsummary?: string\n\tdescription?: string\n\ttags?: string[]\n}\n\nexport const useApiEndpoint = (docs: ApiEndpointDocs) => {\n\treturn docs\n}\n"],"names":["useApiEndpoint","docs"],"mappings":"AAOa,MAAAA,IAAiB,CAACC,MACvBA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useApiEndpoint.spec.d.ts","sourceRoot":"","sources":["../../src/hooks/useApiEndpoint.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useApiHeader/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useApiHeader.cjs","sources":["../../../src/hooks/useApiHeader/useApiHeader.ts"],"sourcesContent":["import { ApiDocsHeader } from '../../openapi/manager/OpenApiManager'\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const useApiHeader = <T extends ApiDocsHeader>(_: T) => {\n\t// Empty\n}\n"],"names":["useApiHeader","_"],"mappings":"gFAGa,MAAAA,EAAyCC,GAAS,CAE/D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useApiHeader.d.ts","sourceRoot":"","sources":["../../../src/hooks/useApiHeader/useApiHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AAGpE,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,aAAa,KAAK,CAAC,SAEzD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useApiHeader.mjs","sources":["../../../src/hooks/useApiHeader/useApiHeader.ts"],"sourcesContent":["import { ApiDocsHeader } from '../../openapi/manager/OpenApiManager'\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const useApiHeader = <T extends ApiDocsHeader>(_: T) => {\n\t// Empty\n}\n"],"names":["useApiHeader","_"],"mappings":"AAGa,MAAAA,IAAe,CAA0BC,MAAS;AAE/D;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useApiHeader.spec.d.ts","sourceRoot":"","sources":["../../../src/hooks/useApiHeader/useApiHeader.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useApiHeader.spec.data.d.ts","sourceRoot":"","sources":["../../../src/hooks/useApiHeader/useApiHeader.spec.data.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../errors/UserFacingErrors.cjs"),m=require("../utils/object.cjs"),u=require("../utils/validationMessages.cjs"),V=(v,i)=>{const r=m.keysOf(i).map(a=>({name:a,validator:i[a],value:v.cookies.get(a)})),s=r.filter(a=>!a.value&&!a.validator.optional);if(s.length>0)throw new c.ValidationError(`Missing cookie params: ${s.map(a=>u.getMissingParamMessage(a)).join(", ")}`);const o=r.map(a=>{const t=a.value;if(t===void 0)return{param:a,validated:!0};try{const e=a.validator,p=!e.prevalidate||e.prevalidate(t),d=e.parse(t),f=!e.validate||e.validate(d);return{param:a,validated:p&&f,parsedValue:d}}catch{return{param:a,validated:!1}}}),l=o.filter(a=>!a.validated);if(l.length>0)throw new c.ValidationError(`Failed cookie param validation: ${l.map(a=>u.getValidationResultMessage(a.param)).join(", ")}`);const g=o.filter(a=>a.validated),n={};return g.forEach(a=>{n[a.param.name]=a.parsedValue}),n};exports.useCookieParams=V;
|
|
2
|
+
//# sourceMappingURL=useCookieParams.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCookieParams.cjs","sources":["../../src/hooks/useCookieParams.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\n\nimport { ValidationError } from '../errors/UserFacingErrors'\nimport { keysOf } from '../utils/object'\nimport { getMissingParamMessage, getValidationResultMessage } from '../utils/validationMessages'\nimport { Validator } from '../validators/types'\n\ntype CheckIfOptional<T, B extends boolean | undefined> = B extends false ? T : T | undefined\n\ntype ValidatedData<T extends Record<string, Validator<any>>> = {\n\t[K in keyof T]: CheckIfOptional<ReturnType<T[K]['parse']>, T[K]['optional']>\n}\n\nexport const useCookieParams = <ValidatorsT extends Record<string, Validator<any>>>(\n\tctx: ParameterizedContext,\n\tvalidators: ValidatorsT,\n): ValidatedData<ValidatorsT> => {\n\tconst params = keysOf(validators).map((name) => ({\n\t\tname,\n\t\tvalidator: validators[name],\n\t\tvalue: ctx.cookies.get(name),\n\t}))\n\n\tconst missingParams = params.filter((param) => !param.value && !param.validator.optional)\n\n\tif (missingParams.length > 0) {\n\t\tthrow new ValidationError(\n\t\t\t`Missing cookie params: ${missingParams.map((param) => getMissingParamMessage(param)).join(', ')}`,\n\t\t)\n\t}\n\n\tconst validationResults = params.map((param) => {\n\t\tconst paramValue = param.value\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\ttry {\n\t\t\tconst validatorObject = param.validator\n\t\t\tconst prevalidatorSuccess = !validatorObject.prevalidate || validatorObject.prevalidate(paramValue)\n\t\t\tconst parsedValue = validatorObject.parse(paramValue)\n\t\t\tconst validatorSuccess = !validatorObject.validate || validatorObject.validate(parsedValue)\n\t\t\treturn {\n\t\t\t\tparam,\n\t\t\t\tvalidated: prevalidatorSuccess && validatorSuccess,\n\t\t\t\tparsedValue,\n\t\t\t}\n\t\t} catch {\n\t\t\treturn { param, validated: false }\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 cookie 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":["useCookieParams","ctx","validators","params","keysOf","name","missingParams","param","ValidationError","getMissingParamMessage","validationResults","paramValue","validatorObject","prevalidatorSuccess","parsedValue","validatorSuccess","failedValidations","result","getValidationResultMessage","successfulValidations","returnValue"],"mappings":"gNAaaA,EAAkB,CAC9BC,EACAC,IACgC,CAChC,MAAMC,EAASC,EAAAA,OAAOF,CAAU,EAAE,IAAKG,IAAU,CAChD,KAAAA,EACA,UAAWH,EAAWG,CAAI,EAC1B,MAAOJ,EAAI,QAAQ,IAAII,CAAI,CAAA,EAC1B,EAEIC,EAAgBH,EAAO,OAAQI,GAAU,CAACA,EAAM,OAAS,CAACA,EAAM,UAAU,QAAQ,EAEpF,GAAAD,EAAc,OAAS,EAC1B,MAAM,IAAIE,EAAA,gBACT,0BAA0BF,EAAc,IAAKC,GAAUE,yBAAuBF,CAAK,CAAC,EAAE,KAAK,IAAI,CAAC,EACjG,EAGD,MAAMG,EAAoBP,EAAO,IAAKI,GAAU,CAC/C,MAAMI,EAAaJ,EAAM,MAGzB,GAAII,IAAe,OACX,MAAA,CAAE,MAAAJ,EAAO,UAAW,EAAK,EAG7B,GAAA,CACH,MAAMK,EAAkBL,EAAM,UACxBM,EAAsB,CAACD,EAAgB,aAAeA,EAAgB,YAAYD,CAAU,EAC5FG,EAAcF,EAAgB,MAAMD,CAAU,EAC9CI,EAAmB,CAACH,EAAgB,UAAYA,EAAgB,SAASE,CAAW,EACnF,MAAA,CACN,MAAAP,EACA,UAAWM,GAAuBE,EAClC,YAAAD,CACD,CAAA,MACO,CACA,MAAA,CAAE,MAAAP,EAAO,UAAW,EAAM,CAAA,CAClC,CACA,EAEKS,EAAoBN,EAAkB,OAAQO,GAAW,CAACA,EAAO,SAAS,EAE5E,GAAAD,EAAkB,OAAS,EAC9B,MAAM,IAAIR,EAAA,gBACT,mCAAmCQ,EACjC,IAAKC,GAAWC,EAAAA,2BAA2BD,EAAO,KAAK,CAAC,EACxD,KAAK,IAAI,CAAC,EACb,EAGD,MAAME,EAAwBT,EAAkB,OAAQO,GAAWA,EAAO,SAAS,EAE7EG,EAAuC,CAAC,EACxB,OAAAD,EAAA,QAASF,GAAW,CACzCG,EAAYH,EAAO,MAAM,IAAI,EAAIA,EAAO,WAAA,CACxC,EAEMG,CACR"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ParameterizedContext } from 'koa';
|
|
2
2
|
import { Validator } from '../validators/types';
|
|
3
|
+
|
|
3
4
|
type CheckIfOptional<T, B extends boolean | undefined> = B extends false ? T : T | undefined;
|
|
4
5
|
type ValidatedData<T extends Record<string, Validator<any>>> = {
|
|
5
6
|
[K in keyof T]: CheckIfOptional<ReturnType<T[K]['parse']>, T[K]['optional']>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCookieParams.d.ts","sourceRoot":"","sources":["../../src/hooks/useCookieParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,KAAK,CAAA;AAK1C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/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,CAAC,IAAI;KAC7D,CAAC,IAAI,MAAM,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CAC5E,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,OAC5E,oBAAoB,cACb,WAAW,KACrB,aAAa,CAAC,WAAW,CAwD3B,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ValidationError as c } from "../errors/UserFacingErrors.mjs";
|
|
2
|
+
import { keysOf as m } from "../utils/object.mjs";
|
|
3
|
+
import { getMissingParamMessage as g, getValidationResultMessage as V } from "../utils/validationMessages.mjs";
|
|
4
|
+
const M = (v, i) => {
|
|
5
|
+
const o = m(i).map((a) => ({
|
|
6
|
+
name: a,
|
|
7
|
+
validator: i[a],
|
|
8
|
+
value: v.cookies.get(a)
|
|
9
|
+
})), s = o.filter((a) => !a.value && !a.validator.optional);
|
|
10
|
+
if (s.length > 0)
|
|
11
|
+
throw new c(
|
|
12
|
+
`Missing cookie params: ${s.map((a) => g(a)).join(", ")}`
|
|
13
|
+
);
|
|
14
|
+
const r = o.map((a) => {
|
|
15
|
+
const e = a.value;
|
|
16
|
+
if (e === void 0)
|
|
17
|
+
return { param: a, validated: !0 };
|
|
18
|
+
try {
|
|
19
|
+
const t = a.validator, p = !t.prevalidate || t.prevalidate(e), d = t.parse(e), f = !t.validate || t.validate(d);
|
|
20
|
+
return {
|
|
21
|
+
param: a,
|
|
22
|
+
validated: p && f,
|
|
23
|
+
parsedValue: d
|
|
24
|
+
};
|
|
25
|
+
} catch {
|
|
26
|
+
return { param: a, validated: !1 };
|
|
27
|
+
}
|
|
28
|
+
}), l = r.filter((a) => !a.validated);
|
|
29
|
+
if (l.length > 0)
|
|
30
|
+
throw new c(
|
|
31
|
+
`Failed cookie param validation: ${l.map((a) => V(a.param)).join(", ")}`
|
|
32
|
+
);
|
|
33
|
+
const u = r.filter((a) => a.validated), n = {};
|
|
34
|
+
return u.forEach((a) => {
|
|
35
|
+
n[a.param.name] = a.parsedValue;
|
|
36
|
+
}), n;
|
|
37
|
+
};
|
|
38
|
+
export {
|
|
39
|
+
M as useCookieParams
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=useCookieParams.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCookieParams.mjs","sources":["../../src/hooks/useCookieParams.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\n\nimport { ValidationError } from '../errors/UserFacingErrors'\nimport { keysOf } from '../utils/object'\nimport { getMissingParamMessage, getValidationResultMessage } from '../utils/validationMessages'\nimport { Validator } from '../validators/types'\n\ntype CheckIfOptional<T, B extends boolean | undefined> = B extends false ? T : T | undefined\n\ntype ValidatedData<T extends Record<string, Validator<any>>> = {\n\t[K in keyof T]: CheckIfOptional<ReturnType<T[K]['parse']>, T[K]['optional']>\n}\n\nexport const useCookieParams = <ValidatorsT extends Record<string, Validator<any>>>(\n\tctx: ParameterizedContext,\n\tvalidators: ValidatorsT,\n): ValidatedData<ValidatorsT> => {\n\tconst params = keysOf(validators).map((name) => ({\n\t\tname,\n\t\tvalidator: validators[name],\n\t\tvalue: ctx.cookies.get(name),\n\t}))\n\n\tconst missingParams = params.filter((param) => !param.value && !param.validator.optional)\n\n\tif (missingParams.length > 0) {\n\t\tthrow new ValidationError(\n\t\t\t`Missing cookie params: ${missingParams.map((param) => getMissingParamMessage(param)).join(', ')}`,\n\t\t)\n\t}\n\n\tconst validationResults = params.map((param) => {\n\t\tconst paramValue = param.value\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\ttry {\n\t\t\tconst validatorObject = param.validator\n\t\t\tconst prevalidatorSuccess = !validatorObject.prevalidate || validatorObject.prevalidate(paramValue)\n\t\t\tconst parsedValue = validatorObject.parse(paramValue)\n\t\t\tconst validatorSuccess = !validatorObject.validate || validatorObject.validate(parsedValue)\n\t\t\treturn {\n\t\t\t\tparam,\n\t\t\t\tvalidated: prevalidatorSuccess && validatorSuccess,\n\t\t\t\tparsedValue,\n\t\t\t}\n\t\t} catch {\n\t\t\treturn { param, validated: false }\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 cookie 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":["useCookieParams","ctx","validators","params","keysOf","name","missingParams","param","ValidationError","getMissingParamMessage","validationResults","paramValue","validatorObject","prevalidatorSuccess","parsedValue","validatorSuccess","failedValidations","result","getValidationResultMessage","successfulValidations","returnValue"],"mappings":";;;AAaa,MAAAA,IAAkB,CAC9BC,GACAC,MACgC;AAChC,QAAMC,IAASC,EAAOF,CAAU,EAAE,IAAI,CAACG,OAAU;AAAA,IAChD,MAAAA;AAAA,IACA,WAAWH,EAAWG,CAAI;AAAA,IAC1B,OAAOJ,EAAI,QAAQ,IAAII,CAAI;AAAA,EAAA,EAC1B,GAEIC,IAAgBH,EAAO,OAAO,CAACI,MAAU,CAACA,EAAM,SAAS,CAACA,EAAM,UAAU,QAAQ;AAEpF,MAAAD,EAAc,SAAS;AAC1B,UAAM,IAAIE;AAAA,MACT,0BAA0BF,EAAc,IAAI,CAACC,MAAUE,EAAuBF,CAAK,CAAC,EAAE,KAAK,IAAI,CAAC;AAAA,IACjG;AAGD,QAAMG,IAAoBP,EAAO,IAAI,CAACI,MAAU;AAC/C,UAAMI,IAAaJ,EAAM;AAGzB,QAAII,MAAe;AACX,aAAA,EAAE,OAAAJ,GAAO,WAAW,GAAK;AAG7B,QAAA;AACH,YAAMK,IAAkBL,EAAM,WACxBM,IAAsB,CAACD,EAAgB,eAAeA,EAAgB,YAAYD,CAAU,GAC5FG,IAAcF,EAAgB,MAAMD,CAAU,GAC9CI,IAAmB,CAACH,EAAgB,YAAYA,EAAgB,SAASE,CAAW;AACnF,aAAA;AAAA,QACN,OAAAP;AAAA,QACA,WAAWM,KAAuBE;AAAA,QAClC,aAAAD;AAAA,MACD;AAAA,IAAA,QACO;AACA,aAAA,EAAE,OAAAP,GAAO,WAAW,GAAM;AAAA,IAAA;AAAA,EAClC,CACA,GAEKS,IAAoBN,EAAkB,OAAO,CAACO,MAAW,CAACA,EAAO,SAAS;AAE5E,MAAAD,EAAkB,SAAS;AAC9B,UAAM,IAAIR;AAAA,MACT,mCAAmCQ,EACjC,IAAI,CAACC,MAAWC,EAA2BD,EAAO,KAAK,CAAC,EACxD,KAAK,IAAI,CAAC;AAAA,IACb;AAGD,QAAME,IAAwBT,EAAkB,OAAO,CAACO,MAAWA,EAAO,SAAS,GAE7EG,IAAuC,CAAC;AACxB,SAAAD,EAAA,QAAQ,CAACF,MAAW;AACzC,IAAAG,EAAYH,EAAO,MAAM,IAAI,IAAIA,EAAO;AAAA,EAAA,CACxC,GAEMG;AACR;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCookieParams.spec.d.ts","sourceRoot":"","sources":["../../src/hooks/useCookieParams.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExposeApiModel/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useExposeApiModel.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExposeApiModel/useExposeApiModel.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB,GAAI,EAAE,WAEnC,CAAA;AAGD,eAAO,MAAM,uBAAuB,GAAI,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,WAErE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useExposeApiModel.spec.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExposeApiModel/useExposeApiModel.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useExposeApiModel.spec.data.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExposeApiModel/useExposeApiModel.spec.data.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useExposeApiModel.cjs","sources":["../../src/hooks/useExposeApiModel/useExposeApiModel.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const useExposeApiModel = <_T>() => {\n\t// Empty\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const useExposeNamedApiModels = <_T extends Record<string, any>>() => {\n\t// Empty\n}\n"],"names":["useExposeApiModel","useExposeNamedApiModels"],"mappings":"gFACO,MAAMA,EAAoB,IAAU,CAE3C,EAGaC,EAA0B,IAAsC,CAE7E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useExposeApiModel/useExposeApiModel'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useExposeApiModel.mjs","sources":["../../src/hooks/useExposeApiModel/useExposeApiModel.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const useExposeApiModel = <_T>() => {\n\t// Empty\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const useExposeNamedApiModels = <_T extends Record<string, any>>() => {\n\t// Empty\n}\n"],"names":["useExposeApiModel","useExposeNamedApiModels"],"mappings":"AACO,MAAMA,IAAoB,MAAU;AAE3C,GAGaC,IAA0B,MAAsC;AAE7E;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../errors/UserFacingErrors.cjs"),v=require("../utils/object.cjs"),g=require("../utils/validationMessages.cjs"),m=(f,s)=>{const r=f.headers,i=v.keysOf(s).map(e=>({name:e.toLowerCase(),originalName:e,validator:s[e]})),o=i.filter(e=>!r[e.name]&&!e.validator.optional);if(o.length>0)throw new u.ValidationError(`Missing headers: ${o.map(e=>g.getMissingParamMessage(e)).join(", ")}`);const n=i.map(e=>{const t=r[e.name];if(t===void 0)return{param:e,validated:!0};try{const a=e.validator,h=!a.prevalidate||a.prevalidate(t),c=a.parse(t),V=!a.validate||a.validate(c);return{param:e,validated:h&&V,parsedValue:c}}catch{return{param:e,validated:!1}}}),l=n.filter(e=>!e.validated);if(l.length>0)throw new u.ValidationError(`Failed header validation: ${l.map(e=>g.getValidationResultMessage(e.param)).join(", ")}`);const p=n.filter(e=>e.validated),d={};return p.forEach(e=>{d[v.kebabToCamelCase(e.param.originalName)]=e.parsedValue}),d},b=m;exports.useHeaderParams=m;exports.useRequestHeaders=b;
|
|
2
|
+
//# sourceMappingURL=useHeaderParams.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHeaderParams.cjs","sources":["../../src/hooks/useHeaderParams.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\n\nimport { ValidationError } from '../errors/UserFacingErrors'\nimport { kebabToCamelCase, keysOf } from '../utils/object'\nimport { CamelCase } from '../utils/TypeUtils'\nimport {\n\tgetMissingParamMessage,\n\tgetValidationResultMessage as getValidationFailedMessage,\n} from '../utils/validationMessages'\nimport { Validator } from '../validators/types'\n\ntype CheckIfOptional<T, B extends boolean | undefined> = B extends false ? T : T | undefined\n\ntype HeaderToCamelCase<T> = T extends string ? CamelCase<Uncapitalize<T>> : T\n\ntype ValidatedData<T extends Record<string, Validator<any>>> = {\n\t[K in keyof T as HeaderToCamelCase<K>]: CheckIfOptional<ReturnType<T[K]['parse']>, T[K]['optional']>\n}\n\nexport const useHeaderParams = <ValidatorsT extends Record<string, Validator<any>>>(\n\tctx: ParameterizedContext,\n\tvalidators: ValidatorsT,\n) => {\n\tconst headers = ctx.headers\n\tconst params = keysOf(validators).map((name) => ({\n\t\tname: name.toLowerCase(),\n\t\toriginalName: name,\n\t\tvalidator: validators[name],\n\t}))\n\n\tconst missingParams = params.filter((param) => !headers[param.name] && !param.validator.optional)\n\n\tif (missingParams.length > 0) {\n\t\tthrow new ValidationError(\n\t\t\t`Missing headers: ${missingParams.map((param) => getMissingParamMessage(param)).join(', ')}`,\n\t\t)\n\t}\n\n\tconst validationResults = params.map((param) => {\n\t\tconst paramValue = headers[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 }\n\t\t}\n\n\t\ttry {\n\t\t\tconst validatorObject = param.validator\n\t\t\tconst prevalidatorSuccess =\n\t\t\t\t!validatorObject.prevalidate || validatorObject.prevalidate(paramValue as string)\n\t\t\tconst parsedValue = validatorObject.parse(paramValue as string)\n\t\t\tconst validatorSuccess = !validatorObject.validate || validatorObject.validate(parsedValue)\n\t\t\treturn {\n\t\t\t\tparam,\n\t\t\t\tvalidated: prevalidatorSuccess && validatorSuccess,\n\t\t\t\tparsedValue,\n\t\t\t}\n\t\t} catch {\n\t\t\treturn { param, validated: false }\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 header validation: ${failedValidations\n\t\t\t\t.map((result) => getValidationFailedMessage(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[kebabToCamelCase(result.param.originalName)] = result.parsedValue\n\t})\n\n\treturn returnValue as ValidatedData<ValidatorsT>\n}\n\nexport const useRequestHeaders = useHeaderParams\n"],"names":["useHeaderParams","ctx","validators","headers","params","keysOf","name","missingParams","param","ValidationError","getMissingParamMessage","validationResults","paramValue","validatorObject","prevalidatorSuccess","parsedValue","validatorSuccess","failedValidations","result","getValidationFailedMessage","successfulValidations","returnValue","kebabToCamelCase","useRequestHeaders"],"mappings":"gNAmBaA,EAAkB,CAC9BC,EACAC,IACI,CACJ,MAAMC,EAAUF,EAAI,QACdG,EAASC,EAAAA,OAAOH,CAAU,EAAE,IAAKI,IAAU,CAChD,KAAMA,EAAK,YAAY,EACvB,aAAcA,EACd,UAAWJ,EAAWI,CAAI,CAAA,EACzB,EAEIC,EAAgBH,EAAO,OAAQI,GAAU,CAACL,EAAQK,EAAM,IAAI,GAAK,CAACA,EAAM,UAAU,QAAQ,EAE5F,GAAAD,EAAc,OAAS,EAC1B,MAAM,IAAIE,EAAA,gBACT,oBAAoBF,EAAc,IAAKC,GAAUE,yBAAuBF,CAAK,CAAC,EAAE,KAAK,IAAI,CAAC,EAC3F,EAGD,MAAMG,EAAoBP,EAAO,IAAKI,GAAU,CACzC,MAAAI,EAAaT,EAAQK,EAAM,IAAI,EAGrC,GAAII,IAAe,OACX,MAAA,CAAE,MAAAJ,EAAO,UAAW,EAAK,EAG7B,GAAA,CACH,MAAMK,EAAkBL,EAAM,UACxBM,EACL,CAACD,EAAgB,aAAeA,EAAgB,YAAYD,CAAoB,EAC3EG,EAAcF,EAAgB,MAAMD,CAAoB,EACxDI,EAAmB,CAACH,EAAgB,UAAYA,EAAgB,SAASE,CAAW,EACnF,MAAA,CACN,MAAAP,EACA,UAAWM,GAAuBE,EAClC,YAAAD,CACD,CAAA,MACO,CACA,MAAA,CAAE,MAAAP,EAAO,UAAW,EAAM,CAAA,CAClC,CACA,EAEKS,EAAoBN,EAAkB,OAAQO,GAAW,CAACA,EAAO,SAAS,EAE5E,GAAAD,EAAkB,OAAS,EAC9B,MAAM,IAAIR,EAAA,gBACT,6BAA6BQ,EAC3B,IAAKC,GAAWC,EAAAA,2BAA2BD,EAAO,KAAK,CAAC,EACxD,KAAK,IAAI,CAAC,EACb,EAGD,MAAME,EAAwBT,EAAkB,OAAQO,GAAWA,EAAO,SAAS,EAE7EG,EAAuC,CAAC,EACxB,OAAAD,EAAA,QAASF,GAAW,CACzCG,EAAYC,mBAAiBJ,EAAO,MAAM,YAAY,CAAC,EAAIA,EAAO,WAAA,CAClE,EAEMG,CACR,EAEaE,EAAoBvB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ParameterizedContext } from 'koa';
|
|
2
2
|
import { CamelCase } from '../utils/TypeUtils';
|
|
3
3
|
import { Validator } from '../validators/types';
|
|
4
|
+
|
|
4
5
|
type CheckIfOptional<T, B extends boolean | undefined> = B extends false ? T : T | undefined;
|
|
5
6
|
type HeaderToCamelCase<T> = T extends string ? CamelCase<Uncapitalize<T>> : T;
|
|
6
7
|
type ValidatedData<T extends Record<string, Validator<any>>> = {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHeaderParams.d.ts","sourceRoot":"","sources":["../../src/hooks/useHeaderParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,KAAK,CAAA;AAI1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAK9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,GAAG,SAAS,IAAI,CAAC,SAAS,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;AAE5F,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAE7E,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI;KAC7D,CAAC,IAAI,MAAM,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CACpG,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,OAC5E,oBAAoB,cACb,WAAW,KA0DD,aAAa,CAAC,WAAW,CAC/C,CAAA;AAED,eAAO,MAAM,iBAAiB,GA/DE,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,OAC5E,oBAAoB,cACb,WAAW,KA0DD,aAAa,CAAC,WAAW,CAGA,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ValidationError as u } from "../errors/UserFacingErrors.mjs";
|
|
2
|
+
import { keysOf as g, kebabToCamelCase as h } from "../utils/object.mjs";
|
|
3
|
+
import { getMissingParamMessage as V, getValidationResultMessage as w } from "../utils/validationMessages.mjs";
|
|
4
|
+
const M = (m, i) => {
|
|
5
|
+
const s = m.headers, r = g(i).map((a) => ({
|
|
6
|
+
name: a.toLowerCase(),
|
|
7
|
+
originalName: a,
|
|
8
|
+
validator: i[a]
|
|
9
|
+
})), o = r.filter((a) => !s[a.name] && !a.validator.optional);
|
|
10
|
+
if (o.length > 0)
|
|
11
|
+
throw new u(
|
|
12
|
+
`Missing headers: ${o.map((a) => V(a)).join(", ")}`
|
|
13
|
+
);
|
|
14
|
+
const l = r.map((a) => {
|
|
15
|
+
const t = s[a.name];
|
|
16
|
+
if (t === void 0)
|
|
17
|
+
return { param: a, validated: !0 };
|
|
18
|
+
try {
|
|
19
|
+
const e = a.validator, f = !e.prevalidate || e.prevalidate(t), c = e.parse(t), p = !e.validate || e.validate(c);
|
|
20
|
+
return {
|
|
21
|
+
param: a,
|
|
22
|
+
validated: f && p,
|
|
23
|
+
parsedValue: c
|
|
24
|
+
};
|
|
25
|
+
} catch {
|
|
26
|
+
return { param: a, validated: !1 };
|
|
27
|
+
}
|
|
28
|
+
}), n = l.filter((a) => !a.validated);
|
|
29
|
+
if (n.length > 0)
|
|
30
|
+
throw new u(
|
|
31
|
+
`Failed header validation: ${n.map((a) => w(a.param)).join(", ")}`
|
|
32
|
+
);
|
|
33
|
+
const v = l.filter((a) => a.validated), d = {};
|
|
34
|
+
return v.forEach((a) => {
|
|
35
|
+
d[h(a.param.originalName)] = a.parsedValue;
|
|
36
|
+
}), d;
|
|
37
|
+
}, P = M;
|
|
38
|
+
export {
|
|
39
|
+
M as useHeaderParams,
|
|
40
|
+
P as useRequestHeaders
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=useHeaderParams.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHeaderParams.mjs","sources":["../../src/hooks/useHeaderParams.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\n\nimport { ValidationError } from '../errors/UserFacingErrors'\nimport { kebabToCamelCase, keysOf } from '../utils/object'\nimport { CamelCase } from '../utils/TypeUtils'\nimport {\n\tgetMissingParamMessage,\n\tgetValidationResultMessage as getValidationFailedMessage,\n} from '../utils/validationMessages'\nimport { Validator } from '../validators/types'\n\ntype CheckIfOptional<T, B extends boolean | undefined> = B extends false ? T : T | undefined\n\ntype HeaderToCamelCase<T> = T extends string ? CamelCase<Uncapitalize<T>> : T\n\ntype ValidatedData<T extends Record<string, Validator<any>>> = {\n\t[K in keyof T as HeaderToCamelCase<K>]: CheckIfOptional<ReturnType<T[K]['parse']>, T[K]['optional']>\n}\n\nexport const useHeaderParams = <ValidatorsT extends Record<string, Validator<any>>>(\n\tctx: ParameterizedContext,\n\tvalidators: ValidatorsT,\n) => {\n\tconst headers = ctx.headers\n\tconst params = keysOf(validators).map((name) => ({\n\t\tname: name.toLowerCase(),\n\t\toriginalName: name,\n\t\tvalidator: validators[name],\n\t}))\n\n\tconst missingParams = params.filter((param) => !headers[param.name] && !param.validator.optional)\n\n\tif (missingParams.length > 0) {\n\t\tthrow new ValidationError(\n\t\t\t`Missing headers: ${missingParams.map((param) => getMissingParamMessage(param)).join(', ')}`,\n\t\t)\n\t}\n\n\tconst validationResults = params.map((param) => {\n\t\tconst paramValue = headers[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 }\n\t\t}\n\n\t\ttry {\n\t\t\tconst validatorObject = param.validator\n\t\t\tconst prevalidatorSuccess =\n\t\t\t\t!validatorObject.prevalidate || validatorObject.prevalidate(paramValue as string)\n\t\t\tconst parsedValue = validatorObject.parse(paramValue as string)\n\t\t\tconst validatorSuccess = !validatorObject.validate || validatorObject.validate(parsedValue)\n\t\t\treturn {\n\t\t\t\tparam,\n\t\t\t\tvalidated: prevalidatorSuccess && validatorSuccess,\n\t\t\t\tparsedValue,\n\t\t\t}\n\t\t} catch {\n\t\t\treturn { param, validated: false }\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 header validation: ${failedValidations\n\t\t\t\t.map((result) => getValidationFailedMessage(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[kebabToCamelCase(result.param.originalName)] = result.parsedValue\n\t})\n\n\treturn returnValue as ValidatedData<ValidatorsT>\n}\n\nexport const useRequestHeaders = useHeaderParams\n"],"names":["useHeaderParams","ctx","validators","headers","params","keysOf","name","missingParams","param","ValidationError","getMissingParamMessage","validationResults","paramValue","validatorObject","prevalidatorSuccess","parsedValue","validatorSuccess","failedValidations","result","getValidationFailedMessage","successfulValidations","returnValue","kebabToCamelCase","useRequestHeaders"],"mappings":";;;AAmBa,MAAAA,IAAkB,CAC9BC,GACAC,MACI;AACJ,QAAMC,IAAUF,EAAI,SACdG,IAASC,EAAOH,CAAU,EAAE,IAAI,CAACI,OAAU;AAAA,IAChD,MAAMA,EAAK,YAAY;AAAA,IACvB,cAAcA;AAAA,IACd,WAAWJ,EAAWI,CAAI;AAAA,EAAA,EACzB,GAEIC,IAAgBH,EAAO,OAAO,CAACI,MAAU,CAACL,EAAQK,EAAM,IAAI,KAAK,CAACA,EAAM,UAAU,QAAQ;AAE5F,MAAAD,EAAc,SAAS;AAC1B,UAAM,IAAIE;AAAA,MACT,oBAAoBF,EAAc,IAAI,CAACC,MAAUE,EAAuBF,CAAK,CAAC,EAAE,KAAK,IAAI,CAAC;AAAA,IAC3F;AAGD,QAAMG,IAAoBP,EAAO,IAAI,CAACI,MAAU;AACzC,UAAAI,IAAaT,EAAQK,EAAM,IAAI;AAGrC,QAAII,MAAe;AACX,aAAA,EAAE,OAAAJ,GAAO,WAAW,GAAK;AAG7B,QAAA;AACH,YAAMK,IAAkBL,EAAM,WACxBM,IACL,CAACD,EAAgB,eAAeA,EAAgB,YAAYD,CAAoB,GAC3EG,IAAcF,EAAgB,MAAMD,CAAoB,GACxDI,IAAmB,CAACH,EAAgB,YAAYA,EAAgB,SAASE,CAAW;AACnF,aAAA;AAAA,QACN,OAAAP;AAAA,QACA,WAAWM,KAAuBE;AAAA,QAClC,aAAAD;AAAA,MACD;AAAA,IAAA,QACO;AACA,aAAA,EAAE,OAAAP,GAAO,WAAW,GAAM;AAAA,IAAA;AAAA,EAClC,CACA,GAEKS,IAAoBN,EAAkB,OAAO,CAACO,MAAW,CAACA,EAAO,SAAS;AAE5E,MAAAD,EAAkB,SAAS;AAC9B,UAAM,IAAIR;AAAA,MACT,6BAA6BQ,EAC3B,IAAI,CAACC,MAAWC,EAA2BD,EAAO,KAAK,CAAC,EACxD,KAAK,IAAI,CAAC;AAAA,IACb;AAGD,QAAME,IAAwBT,EAAkB,OAAO,CAACO,MAAWA,EAAO,SAAS,GAE7EG,IAAuC,CAAC;AACxB,SAAAD,EAAA,QAAQ,CAACF,MAAW;AACzC,IAAAG,EAAYC,EAAiBJ,EAAO,MAAM,YAAY,CAAC,IAAIA,EAAO;AAAA,EAAA,CAClE,GAEMG;AACR,GAEaE,IAAoBvB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHeaderParams.spec.d.ts","sourceRoot":"","sources":["../../src/hooks/useHeaderParams.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("../errors/UserFacingErrors.cjs"),m=require("../utils/object.cjs"),f=require("../utils/validationMessages.cjs"),V=(d,r)=>{const n=d.params,s=m.keysOf(r).map(a=>({name:a,validator:r[a]})).map(a=>{const t=n[a.name];if(t===void 0)return{param:a,validated:!0};try{const e=a.validator,u=!e.prevalidate||e.prevalidate(t),l=e.parse(t),v=!e.validate||e.validate(l);return{param:a,validated:u&&v,parsedValue:l}}catch{return{param:a,validated:!1}}}),i=s.filter(a=>!a.validated);if(i.length>0)throw new p.ValidationError(`Failed route param validation: ${i.map(a=>f.getValidationResultMessage(a.param)).join(", ")}`);const c=s.filter(a=>a.validated),o={};return c.forEach(a=>{o[a.param.name]=a.parsedValue}),o};exports.usePathParams=V;
|
|
2
|
+
//# sourceMappingURL=usePathParams.cjs.map
|
|
@@ -0,0 +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\ttry {\n\t\t\tconst validatorObject = param.validator\n\t\t\tconst prevalidatorSuccess = !validatorObject.prevalidate || validatorObject.prevalidate(paramValue)\n\t\t\tconst parsedValue = validatorObject.parse(paramValue)\n\t\t\tconst validatorSuccess = !validatorObject.validate || validatorObject.validate(parsedValue)\n\t\t\treturn {\n\t\t\t\tparam,\n\t\t\t\tvalidated: prevalidatorSuccess && validatorSuccess,\n\t\t\t\tparsedValue,\n\t\t\t}\n\t\t} catch {\n\t\t\treturn { param, validated: false }\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","validatorObject","prevalidatorSuccess","parsedValue","validatorSuccess","failedValidations","result","ValidationError","getValidationResultMessage","successfulValidations","returnValue"],"mappings":"gNA2BaA,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,GAAIC,IAAe,OACX,MAAA,CAAE,MAAAD,EAAO,UAAW,EAAK,EAG7B,GAAA,CACH,MAAME,EAAkBF,EAAM,UACxBG,EAAsB,CAACD,EAAgB,aAAeA,EAAgB,YAAYD,CAAU,EAC5FG,EAAcF,EAAgB,MAAMD,CAAU,EAC9CI,EAAmB,CAACH,EAAgB,UAAYA,EAAgB,SAASE,CAAW,EACnF,MAAA,CACN,MAAAJ,EACA,UAAWG,GAAuBE,EAClC,YAAAD,CACD,CAAA,MACO,CACA,MAAA,CAAE,MAAAJ,EAAO,UAAW,EAAM,CAAA,CAClC,CACA,EAEKM,EAAoBT,EAAkB,OAAQU,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,EAAwBb,EAAkB,OAAQU,GAAWA,EAAO,SAAS,EAE7EI,EAAuC,CAAC,EACxB,OAAAD,EAAA,QAASH,GAAW,CACzCI,EAAYJ,EAAO,MAAM,IAAI,EAAIA,EAAO,WAAA,CACxC,EAEMI,CACR"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ParameterizedContext } from 'koa';
|
|
2
2
|
import { CleanUpPathParam } from '../utils/TypeUtils';
|
|
3
3
|
import { Validator } from '../validators/types';
|
|
4
|
+
|
|
4
5
|
type CheckIfOptional<T, B> = B extends string ? (B extends `${string}?` ? T | undefined : T) : never;
|
|
5
6
|
type ValidatedData<ParamsT extends string[], TestTemplate extends {
|
|
6
7
|
[K in keyof ParamsT]: {
|
|
@@ -0,0 +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;AAE/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,CAgDlD,CAAA"}
|