moonflower 0.9.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/.eslintrc.js +26 -0
- package/.prettierrc.js +7 -0
- package/README.md +383 -0
- package/cli/cli.ts +59 -0
- package/cli/entry.cjs +3 -0
- package/cli/prettyprint.ts +16 -0
- package/dist/cli/cli.d.ts +2 -0
- package/dist/cli/cli.d.ts.map +1 -0
- package/dist/cli/cli.js +79 -0
- package/dist/cli/prettyprint.d.ts +4 -0
- package/dist/cli/prettyprint.d.ts.map +1 -0
- package/dist/cli/prettyprint.js +18 -0
- package/dist/src/errors/BaseHttpError.d.ts +13 -0
- package/dist/src/errors/BaseHttpError.d.ts.map +1 -0
- package/dist/src/errors/BaseHttpError.js +13 -0
- package/dist/src/errors/HttpErrorHandler.d.ts +3 -0
- package/dist/src/errors/HttpErrorHandler.d.ts.map +1 -0
- package/dist/src/errors/HttpErrorHandler.js +23 -0
- package/dist/src/errors/UserFacingErrors.d.ts +11 -0
- package/dist/src/errors/UserFacingErrors.d.ts.map +1 -0
- package/dist/src/errors/UserFacingErrors.js +23 -0
- package/dist/src/hooks/authentication/useAuth.d.ts +3 -0
- package/dist/src/hooks/authentication/useAuth.d.ts.map +1 -0
- package/dist/src/hooks/authentication/useAuth.js +7 -0
- package/dist/src/hooks/authentication/useOptionalAuth.d.ts +3 -0
- package/dist/src/hooks/authentication/useOptionalAuth.d.ts.map +1 -0
- package/dist/src/hooks/authentication/useOptionalAuth.js +16 -0
- package/dist/src/hooks/useApiEndpoint.d.ts +8 -0
- package/dist/src/hooks/useApiEndpoint.d.ts.map +1 -0
- package/dist/src/hooks/useApiEndpoint.js +7 -0
- package/dist/src/hooks/useApiHeader/index.d.ts +2 -0
- package/dist/src/hooks/useApiHeader/index.d.ts.map +1 -0
- package/dist/src/hooks/useApiHeader/index.js +17 -0
- package/dist/src/hooks/useApiHeader/useApiHeader.d.ts +3 -0
- package/dist/src/hooks/useApiHeader/useApiHeader.d.ts.map +1 -0
- package/dist/src/hooks/useApiHeader/useApiHeader.js +6 -0
- package/dist/src/hooks/useApiHeader/useApiHeader.spec.data.d.ts +2 -0
- package/dist/src/hooks/useApiHeader/useApiHeader.spec.data.d.ts.map +1 -0
- package/dist/src/hooks/useApiHeader/useApiHeader.spec.data.js +22 -0
- package/dist/src/hooks/useCookieParams.d.ts +9 -0
- package/dist/src/hooks/useCookieParams.d.ts.map +1 -0
- package/dist/src/hooks/useCookieParams.js +50 -0
- package/dist/src/hooks/useExposeApiModel/index.d.ts +2 -0
- package/dist/src/hooks/useExposeApiModel/index.d.ts.map +1 -0
- package/dist/src/hooks/useExposeApiModel/index.js +17 -0
- package/dist/src/hooks/useExposeApiModel/useExposeApiModel.d.ts +3 -0
- package/dist/src/hooks/useExposeApiModel/useExposeApiModel.d.ts.map +1 -0
- package/dist/src/hooks/useExposeApiModel/useExposeApiModel.js +9 -0
- package/dist/src/hooks/useExposeApiModel/useExposeApiModel.spec.data.d.ts +2 -0
- package/dist/src/hooks/useExposeApiModel/useExposeApiModel.spec.data.d.ts.map +1 -0
- package/dist/src/hooks/useExposeApiModel/useExposeApiModel.spec.data.js +16 -0
- package/dist/src/hooks/useHeaderParams.d.ts +12 -0
- package/dist/src/hooks/useHeaderParams.d.ts.map +1 -0
- package/dist/src/hooks/useHeaderParams.js +52 -0
- package/dist/src/hooks/usePathParams.d.ts +22 -0
- package/dist/src/hooks/usePathParams.d.ts.map +1 -0
- package/dist/src/hooks/usePathParams.js +46 -0
- package/dist/src/hooks/useQueryParams.d.ts +9 -0
- package/dist/src/hooks/useQueryParams.d.ts.map +1 -0
- package/dist/src/hooks/useQueryParams.js +50 -0
- package/dist/src/hooks/useRequestBody.d.ts +9 -0
- package/dist/src/hooks/useRequestBody.d.ts.map +1 -0
- package/dist/src/hooks/useRequestBody.js +59 -0
- package/dist/src/hooks/useRequestRawBody.d.ts +7 -0
- package/dist/src/hooks/useRequestRawBody.d.ts.map +1 -0
- package/dist/src/hooks/useRequestRawBody.js +34 -0
- package/dist/src/index.d.ts +18 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +33 -0
- package/dist/src/openapi/analyzerModule/analyzerModule.d.ts +18 -0
- package/dist/src/openapi/analyzerModule/analyzerModule.d.ts.map +1 -0
- package/dist/src/openapi/analyzerModule/analyzerModule.js +192 -0
- package/dist/src/openapi/analyzerModule/nodeParsers.d.ts +19 -0
- package/dist/src/openapi/analyzerModule/nodeParsers.d.ts.map +1 -0
- package/dist/src/openapi/analyzerModule/nodeParsers.js +521 -0
- package/dist/src/openapi/analyzerModule/parseEndpoint.d.ts +4 -0
- package/dist/src/openapi/analyzerModule/parseEndpoint.d.ts.map +1 -0
- package/dist/src/openapi/analyzerModule/parseEndpoint.js +246 -0
- package/dist/src/openapi/analyzerModule/parseExposedModels.d.ts +5 -0
- package/dist/src/openapi/analyzerModule/parseExposedModels.d.ts.map +1 -0
- package/dist/src/openapi/analyzerModule/parseExposedModels.js +32 -0
- package/dist/src/openapi/analyzerModule/test/openApiAnalyzer.spec.data.d.ts +2 -0
- package/dist/src/openapi/analyzerModule/test/openApiAnalyzer.spec.data.d.ts.map +1 -0
- package/dist/src/openapi/analyzerModule/test/openApiAnalyzer.spec.data.js +400 -0
- package/dist/src/openapi/analyzerModule/types.d.ts +53 -0
- package/dist/src/openapi/analyzerModule/types.d.ts.map +1 -0
- package/dist/src/openapi/analyzerModule/types.js +2 -0
- package/dist/src/openapi/discoveryModule/discoverImports/discoverImports.d.ts +8 -0
- package/dist/src/openapi/discoveryModule/discoverImports/discoverImports.d.ts.map +1 -0
- package/dist/src/openapi/discoveryModule/discoverImports/discoverImports.js +33 -0
- package/dist/src/openapi/discoveryModule/discoverRouterFiles/data/testRouterA.spec.data.d.ts +4 -0
- package/dist/src/openapi/discoveryModule/discoverRouterFiles/data/testRouterA.spec.data.d.ts.map +1 -0
- package/dist/src/openapi/discoveryModule/discoverRouterFiles/data/testRouterA.spec.data.js +8 -0
- package/dist/src/openapi/discoveryModule/discoverRouterFiles/data/testRouterB.spec.data.d.ts +4 -0
- package/dist/src/openapi/discoveryModule/discoverRouterFiles/data/testRouterB.spec.data.d.ts.map +1 -0
- package/dist/src/openapi/discoveryModule/discoverRouterFiles/data/testRouterB.spec.data.js +8 -0
- package/dist/src/openapi/discoveryModule/discoverRouterFiles/discoverRouterFiles.d.ts +17 -0
- package/dist/src/openapi/discoveryModule/discoverRouterFiles/discoverRouterFiles.d.ts.map +1 -0
- package/dist/src/openapi/discoveryModule/discoverRouterFiles/discoverRouterFiles.js +80 -0
- package/dist/src/openapi/discoveryModule/discoverRouters/discoverRouters.d.ts +6 -0
- package/dist/src/openapi/discoveryModule/discoverRouters/discoverRouters.d.ts.map +1 -0
- package/dist/src/openapi/discoveryModule/discoverRouters/discoverRouters.js +31 -0
- package/dist/src/openapi/discoveryModule/discoverRouters/discoverRouters.spec.data.d.ts +5 -0
- package/dist/src/openapi/discoveryModule/discoverRouters/discoverRouters.spec.data.d.ts.map +1 -0
- package/dist/src/openapi/discoveryModule/discoverRouters/discoverRouters.spec.data.js +38 -0
- package/dist/src/openapi/discoveryModule/index.d.ts +3 -0
- package/dist/src/openapi/discoveryModule/index.d.ts.map +1 -0
- package/dist/src/openapi/discoveryModule/index.js +18 -0
- package/dist/src/openapi/generatorModule/generateComponentSchemas.d.ts +4 -0
- package/dist/src/openapi/generatorModule/generateComponentSchemas.d.ts.map +1 -0
- package/dist/src/openapi/generatorModule/generateComponentSchemas.js +12 -0
- package/dist/src/openapi/generatorModule/generatePaths.d.ts +10 -0
- package/dist/src/openapi/generatorModule/generatePaths.d.ts.map +1 -0
- package/dist/src/openapi/generatorModule/generatePaths.js +116 -0
- package/dist/src/openapi/generatorModule/generatorModule.d.ts +16 -0
- package/dist/src/openapi/generatorModule/generatorModule.d.ts.map +1 -0
- package/dist/src/openapi/generatorModule/generatorModule.js +18 -0
- package/dist/src/openapi/generatorModule/getSchema.d.ts +36 -0
- package/dist/src/openapi/generatorModule/getSchema.d.ts.map +1 -0
- package/dist/src/openapi/generatorModule/getSchema.js +133 -0
- package/dist/src/openapi/generatorModule/index.d.ts +5 -0
- package/dist/src/openapi/generatorModule/index.d.ts.map +1 -0
- package/dist/src/openapi/generatorModule/index.js +20 -0
- package/dist/src/openapi/generatorModule/test/openApiGenerator.spec.data.d.ts +515 -0
- package/dist/src/openapi/generatorModule/test/openApiGenerator.spec.data.d.ts.map +1 -0
- package/dist/src/openapi/generatorModule/test/openApiGenerator.spec.data.js +1119 -0
- package/dist/src/openapi/initOpenApiEngine.d.ts +4 -0
- package/dist/src/openapi/initOpenApiEngine.d.ts.map +1 -0
- package/dist/src/openapi/initOpenApiEngine.js +14 -0
- package/dist/src/openapi/manager/OpenApiManager.d.ts +67 -0
- package/dist/src/openapi/manager/OpenApiManager.d.ts.map +1 -0
- package/dist/src/openapi/manager/OpenApiManager.js +86 -0
- package/dist/src/openapi/router/OpenApiRouter.d.ts +4 -0
- package/dist/src/openapi/router/OpenApiRouter.d.ts.map +1 -0
- package/dist/src/openapi/router/OpenApiRouter.js +11 -0
- package/dist/src/openapi/types.d.ts +81 -0
- package/dist/src/openapi/types.d.ts.map +1 -0
- package/dist/src/openapi/types.js +2 -0
- package/dist/src/router/Router.d.ts +23 -0
- package/dist/src/router/Router.d.ts.map +1 -0
- package/dist/src/router/Router.js +81 -0
- package/dist/src/router/responseValueToJson.d.ts +2 -0
- package/dist/src/router/responseValueToJson.d.ts.map +1 -0
- package/dist/src/router/responseValueToJson.js +10 -0
- package/dist/src/setupTests.d.ts +1 -0
- package/dist/src/setupTests.d.ts.map +1 -0
- package/dist/src/setupTests.js +3 -0
- package/dist/src/test/TestAppRouter.d.ts +8 -0
- package/dist/src/test/TestAppRouter.d.ts.map +1 -0
- package/dist/src/test/TestAppRouter.js +58 -0
- package/dist/src/test/app.d.ts +3 -0
- package/dist/src/test/app.d.ts.map +1 -0
- package/dist/src/test/app.js +41 -0
- package/dist/src/utils/TypeUtils.d.ts +22 -0
- package/dist/src/utils/TypeUtils.d.ts.map +1 -0
- package/dist/src/utils/TypeUtils.js +2 -0
- package/dist/src/utils/fromZodSchema.d.ts +2 -0
- package/dist/src/utils/fromZodSchema.d.ts.map +1 -0
- package/dist/src/utils/fromZodSchema.js +6 -0
- package/dist/src/utils/loadTestData.d.ts +2 -0
- package/dist/src/utils/loadTestData.d.ts.map +1 -0
- package/dist/src/utils/loadTestData.js +39 -0
- package/dist/src/utils/mockContext.d.ts +20 -0
- package/dist/src/utils/mockContext.d.ts.map +1 -0
- package/dist/src/utils/mockContext.js +85 -0
- package/dist/src/utils/nameOf.d.ts +5 -0
- package/dist/src/utils/nameOf.d.ts.map +1 -0
- package/dist/src/utils/nameOf.js +7 -0
- package/dist/src/utils/object.d.ts +7 -0
- package/dist/src/utils/object.d.ts.map +1 -0
- package/dist/src/utils/object.js +21 -0
- package/dist/src/utils/printers.d.ts +6 -0
- package/dist/src/utils/printers.d.ts.map +1 -0
- package/dist/src/utils/printers.js +76 -0
- package/dist/src/utils/validationMessages.d.ts +18 -0
- package/dist/src/utils/validationMessages.d.ts.map +1 -0
- package/dist/src/utils/validationMessages.js +43 -0
- package/dist/src/validators/BuiltInValidators.d.ts +61 -0
- package/dist/src/validators/BuiltInValidators.d.ts.map +1 -0
- package/dist/src/validators/BuiltInValidators.js +66 -0
- package/dist/src/validators/InternalParamWrappers.d.ts +5 -0
- package/dist/src/validators/InternalParamWrappers.d.ts.map +1 -0
- package/dist/src/validators/InternalParamWrappers.js +5 -0
- package/dist/src/validators/ParamWrappers.d.ts +11 -0
- package/dist/src/validators/ParamWrappers.d.ts.map +1 -0
- package/dist/src/validators/ParamWrappers.js +9 -0
- package/dist/src/validators/types.d.ts +18 -0
- package/dist/src/validators/types.d.ts.map +1 -0
- package/dist/src/validators/types.js +2 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +59 -0
- package/src/errors/BaseHttpError.ts +16 -0
- package/src/errors/HttpErrorHandler.ts +20 -0
- package/src/errors/UserFacingErrors.ts +39 -0
- package/src/hooks/authentication/useAuth.ts +8 -0
- package/src/hooks/authentication/useOptionalAuth.ts +17 -0
- package/src/hooks/useApiEndpoint.spec.ts +11 -0
- package/src/hooks/useApiEndpoint.ts +10 -0
- package/src/hooks/useApiHeader/index.ts +1 -0
- package/src/hooks/useApiHeader/useApiHeader.spec.data.ts +22 -0
- package/src/hooks/useApiHeader/useApiHeader.spec.ts +34 -0
- package/src/hooks/useApiHeader/useApiHeader.ts +6 -0
- package/src/hooks/useCookieParams.spec.ts +174 -0
- package/src/hooks/useCookieParams.ts +73 -0
- package/src/hooks/useExposeApiModel/index.ts +1 -0
- package/src/hooks/useExposeApiModel/useExposeApiModel.spec.data.ts +48 -0
- package/src/hooks/useExposeApiModel/useExposeApiModel.spec.ts +388 -0
- package/src/hooks/useExposeApiModel/useExposeApiModel.ts +9 -0
- package/src/hooks/useHeaderParams.spec.ts +186 -0
- package/src/hooks/useHeaderParams.ts +83 -0
- package/src/hooks/usePathParams.spec.ts +161 -0
- package/src/hooks/usePathParams.ts +89 -0
- package/src/hooks/useQueryParams.spec.ts +224 -0
- package/src/hooks/useQueryParams.ts +73 -0
- package/src/hooks/useRequestBody.spec.ts +215 -0
- package/src/hooks/useRequestBody.ts +94 -0
- package/src/hooks/useRequestRawBody.spec.ts +154 -0
- package/src/hooks/useRequestRawBody.ts +56 -0
- package/src/index.ts +17 -0
- package/src/openapi/analyzerModule/analyzerModule.ts +228 -0
- package/src/openapi/analyzerModule/nodeParsers.ts +648 -0
- package/src/openapi/analyzerModule/parseEndpoint.ts +305 -0
- package/src/openapi/analyzerModule/parseExposedModels.ts +34 -0
- package/src/openapi/analyzerModule/test/openApiAnalyzer.spec.data.ts +521 -0
- package/src/openapi/analyzerModule/test/openApiAnalyzer.spec.ts +1043 -0
- package/src/openapi/analyzerModule/types.ts +72 -0
- package/src/openapi/discoveryModule/discoverImports/discoverImports.ts +43 -0
- package/src/openapi/discoveryModule/discoverRouterFiles/data/testRouterA.spec.data.ts +7 -0
- package/src/openapi/discoveryModule/discoverRouterFiles/data/testRouterB.spec.data.ts +7 -0
- package/src/openapi/discoveryModule/discoverRouterFiles/discoverRouterFiles.spec.ts +36 -0
- package/src/openapi/discoveryModule/discoverRouterFiles/discoverRouterFiles.ts +80 -0
- package/src/openapi/discoveryModule/discoverRouters/discoverRouters.spec.data.ts +42 -0
- package/src/openapi/discoveryModule/discoverRouters/discoverRouters.spec.ts +18 -0
- package/src/openapi/discoveryModule/discoverRouters/discoverRouters.ts +39 -0
- package/src/openapi/discoveryModule/index.ts +2 -0
- package/src/openapi/generatorModule/generateComponentSchemas.ts +12 -0
- package/src/openapi/generatorModule/generatePaths.ts +138 -0
- package/src/openapi/generatorModule/generatorModule.ts +17 -0
- package/src/openapi/generatorModule/getSchema.ts +169 -0
- package/src/openapi/generatorModule/index.ts +4 -0
- package/src/openapi/generatorModule/test/openApiGenerator.spec.data.ts +1119 -0
- package/src/openapi/generatorModule/test/openApiGenerator.spec.ts +783 -0
- package/src/openapi/initOpenApiEngine.ts +20 -0
- package/src/openapi/manager/OpenApiManager.ts +153 -0
- package/src/openapi/router/OpenApiRouter.ts +11 -0
- package/src/openapi/types.ts +86 -0
- package/src/router/Router.ts +123 -0
- package/src/router/responseValueToJson.ts +6 -0
- package/src/setupTests.ts +3 -0
- package/src/test/TestAppRouter.ts +76 -0
- package/src/test/app.spec.ts +130 -0
- package/src/test/app.ts +43 -0
- package/src/utils/TypeUtils.ts +51 -0
- package/src/utils/loadTestData.ts +15 -0
- package/src/utils/mockContext.ts +86 -0
- package/src/utils/nameOf.ts +7 -0
- package/src/utils/object.spec.ts +27 -0
- package/src/utils/object.ts +17 -0
- package/src/utils/printers.spec.ts +103 -0
- package/src/utils/printers.ts +49 -0
- package/src/utils/validationMessages.ts +65 -0
- package/src/validators/BuiltInValidators.ts +64 -0
- package/src/validators/InternalParamWrappers.ts +14 -0
- package/src/validators/ParamWrappers.ts +22 -0
- package/src/validators/types.ts +35 -0
- package/tsconfig.build.json +15 -0
- package/tsconfig.json +29 -0
- package/vite.config.ts +16 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.loadTestData = void 0;
|
|
27
|
+
const path = __importStar(require("path"));
|
|
28
|
+
const ts_morph_1 = require("ts-morph");
|
|
29
|
+
const loadTestData = (filePath) => {
|
|
30
|
+
const project = new ts_morph_1.Project({
|
|
31
|
+
tsConfigFilePath: path.resolve('./tsconfig.json'),
|
|
32
|
+
});
|
|
33
|
+
const sourceFile = project.getSourceFile(filePath);
|
|
34
|
+
if (!sourceFile) {
|
|
35
|
+
throw new Error('Test data file not found');
|
|
36
|
+
}
|
|
37
|
+
return sourceFile;
|
|
38
|
+
};
|
|
39
|
+
exports.loadTestData = loadTestData;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import Koa from 'koa';
|
|
2
|
+
import { ExtractedRequestParams } from './TypeUtils';
|
|
3
|
+
export interface MockContext<RequestBody = undefined> extends Koa.Context {
|
|
4
|
+
request: Koa.Context['request'] & {
|
|
5
|
+
body?: RequestBody;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export declare const mockContext: <State = Koa.DefaultState, Context = MockContext<undefined>>() => Koa.ParameterizedContext<State, Context, unknown>;
|
|
9
|
+
export declare const mockContextPath: <Context extends Koa.ParameterizedContext<Koa.DefaultState, Koa.DefaultContext, unknown>, Path extends string>(ctx: Context, path: Path, params: Record<string, string>) => Context & {
|
|
10
|
+
params: any;
|
|
11
|
+
} & ExtractedRequestParams<Path>;
|
|
12
|
+
export declare const mockContextQuery: <Context extends Koa.ParameterizedContext<Koa.DefaultState, Koa.DefaultContext, unknown>>(ctx: Context, params: Record<string, string>) => Context;
|
|
13
|
+
export declare const mockContextCookies: <Context extends Koa.ParameterizedContext<Koa.DefaultState, Koa.DefaultContext, unknown>>(ctx: Context, params: Record<string, string | {
|
|
14
|
+
value: string;
|
|
15
|
+
expires?: Date;
|
|
16
|
+
}>) => Context;
|
|
17
|
+
export declare const mockContextHeaders: <Context extends Koa.ParameterizedContext<Koa.DefaultState, Koa.DefaultContext, unknown>>(ctx: Context, params: Record<string, string>) => Context;
|
|
18
|
+
export declare const mockContextBody: <Context extends Koa.ParameterizedContext<Koa.DefaultState, Koa.DefaultContext, unknown>>(ctx: Context, params: Record<string, string | number | boolean | object | null>) => Context;
|
|
19
|
+
export declare const mockContextRawBody: <Context extends Koa.ParameterizedContext<Koa.DefaultState, Koa.DefaultContext, unknown>>(ctx: Context, params: string) => Context;
|
|
20
|
+
//# sourceMappingURL=mockContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockContext.d.ts","sourceRoot":"","sources":["../../../src/utils/mockContext.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAIrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEpD,MAAM,WAAW,WAAW,CAAC,WAAW,GAAG,SAAS,CAAE,SAAQ,GAAG,CAAC,OAAO;IACxE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG;QACjC,IAAI,CAAC,EAAE,WAAW,CAAA;KAClB,CAAA;CACD;AAED,eAAO,MAAM,WAAW,qHAOvB,CAAA;AAED,eAAO,MAAM,eAAe,sHACtB,OAAO,QACN,IAAI,UACF,OAAO,MAAM,EAAE,MAAM,CAAC;YAEkB,GAAG;gCAInD,CAAA;AAED,eAAO,MAAM,gBAAgB,iGACvB,OAAO,UACJ,OAAO,MAAM,EAAE,MAAM,CAAC,YAI9B,CAAA;AAED,eAAO,MAAM,kBAAkB,iGACzB,OAAO,UACJ,OAAO,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC,YAkBlE,CAAA;AAED,eAAO,MAAM,kBAAkB,iGACzB,OAAO,UACJ,OAAO,MAAM,EAAE,MAAM,CAAC,YAI9B,CAAA;AAED,eAAO,MAAM,eAAe,iGACtB,OAAO,UACJ,OAAO,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,YAKjE,CAAA;AAED,eAAO,MAAM,kBAAkB,iGACzB,OAAO,UACJ,MAAM,YAId,CAAA"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.mockContextRawBody = exports.mockContextBody = exports.mockContextHeaders = exports.mockContextCookies = exports.mockContextQuery = exports.mockContextPath = exports.mockContext = void 0;
|
|
30
|
+
const koa_1 = __importDefault(require("koa"));
|
|
31
|
+
const httpMocks = __importStar(require("node-mocks-http"));
|
|
32
|
+
const object_1 = require("./object");
|
|
33
|
+
const mockContext = () => {
|
|
34
|
+
const app = new koa_1.default();
|
|
35
|
+
const req = httpMocks.createRequest();
|
|
36
|
+
const res = httpMocks.createResponse();
|
|
37
|
+
const context = app.createContext(req, res);
|
|
38
|
+
res.statusCode = 404;
|
|
39
|
+
return context;
|
|
40
|
+
};
|
|
41
|
+
exports.mockContext = mockContext;
|
|
42
|
+
const mockContextPath = (ctx, path, params) => {
|
|
43
|
+
const typedContext = ctx;
|
|
44
|
+
ctx.request.path = path;
|
|
45
|
+
typedContext.params = params;
|
|
46
|
+
return typedContext;
|
|
47
|
+
};
|
|
48
|
+
exports.mockContextPath = mockContextPath;
|
|
49
|
+
const mockContextQuery = (ctx, params) => {
|
|
50
|
+
ctx.query = params;
|
|
51
|
+
return ctx;
|
|
52
|
+
};
|
|
53
|
+
exports.mockContextQuery = mockContextQuery;
|
|
54
|
+
const mockContextCookies = (ctx, params) => {
|
|
55
|
+
const cookies = (0, object_1.keysOf)(params).map((name) => {
|
|
56
|
+
const cookieData = params[name];
|
|
57
|
+
return {
|
|
58
|
+
name,
|
|
59
|
+
value: typeof cookieData === 'string' ? cookieData : cookieData.value,
|
|
60
|
+
expires: typeof cookieData === 'string' ? undefined : cookieData.expires,
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
ctx.cookies = Object.assign(Object.assign({}, ctx.cookies), { get: (name) => {
|
|
64
|
+
var _a;
|
|
65
|
+
return ((_a = cookies.find((cookie) => cookie.name === name)) === null || _a === void 0 ? void 0 : _a.value) || undefined;
|
|
66
|
+
} });
|
|
67
|
+
return ctx;
|
|
68
|
+
};
|
|
69
|
+
exports.mockContextCookies = mockContextCookies;
|
|
70
|
+
const mockContextHeaders = (ctx, params) => {
|
|
71
|
+
ctx.request.headers = params;
|
|
72
|
+
return ctx;
|
|
73
|
+
};
|
|
74
|
+
exports.mockContextHeaders = mockContextHeaders;
|
|
75
|
+
const mockContextBody = (ctx, params) => {
|
|
76
|
+
ctx.request.body = params;
|
|
77
|
+
ctx.request.rawBody = JSON.stringify(params);
|
|
78
|
+
return ctx;
|
|
79
|
+
};
|
|
80
|
+
exports.mockContextBody = mockContextBody;
|
|
81
|
+
const mockContextRawBody = (ctx, params) => {
|
|
82
|
+
ctx.request.rawBody = params;
|
|
83
|
+
return ctx;
|
|
84
|
+
};
|
|
85
|
+
exports.mockContextRawBody = mockContextRawBody;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nameOf.d.ts","sourceRoot":"","sources":["../../../src/utils/nameOf.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAChC,QAAQ,OAAO,CAAA;CACf;AAED,eAAO,MAAM,MAAM,uCAAwC,OAAO,MAAM,CAAC,WAExE,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const keysOf: <T extends string | number | symbol>(object: Record<T, unknown>) => T[];
|
|
2
|
+
export declare const uncapitalize: (value: string) => string;
|
|
3
|
+
export declare const snakeToCamelCase: (value: string) => string;
|
|
4
|
+
export declare const kebabToCamelCase: (value: string) => string;
|
|
5
|
+
export declare const camelToSnakeCase: (value: string) => string;
|
|
6
|
+
export declare const camelToKebabCase: (value: string) => string;
|
|
7
|
+
//# sourceMappingURL=object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/utils/object.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,+CAAgD,OAAO,CAAC,EAAE,OAAO,CAAC,QAEpF,CAAA;AAED,eAAO,MAAM,YAAY,UAAW,MAAM,WAAkE,CAAA;AAE5G,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAE7C,CAAA;AAED,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAE7C,CAAA;AAED,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAAgE,CAAA;AAE9G,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAAgE,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.camelToKebabCase = exports.camelToSnakeCase = exports.kebabToCamelCase = exports.snakeToCamelCase = exports.uncapitalize = exports.keysOf = void 0;
|
|
4
|
+
const keysOf = (object) => {
|
|
5
|
+
return Object.keys(object);
|
|
6
|
+
};
|
|
7
|
+
exports.keysOf = keysOf;
|
|
8
|
+
const uncapitalize = (value) => `${value.substring(0, 1).toLowerCase()}${value.substring(1)}`;
|
|
9
|
+
exports.uncapitalize = uncapitalize;
|
|
10
|
+
const snakeToCamelCase = (value) => {
|
|
11
|
+
return value.replace(/(?!^)_(.)/g, (_, char) => char.toUpperCase());
|
|
12
|
+
};
|
|
13
|
+
exports.snakeToCamelCase = snakeToCamelCase;
|
|
14
|
+
const kebabToCamelCase = (value) => {
|
|
15
|
+
return value.replace(/(?!^)-(.)/g, (_, char) => char.toUpperCase());
|
|
16
|
+
};
|
|
17
|
+
exports.kebabToCamelCase = kebabToCamelCase;
|
|
18
|
+
const camelToSnakeCase = (value) => value.replace(/[A-Z]/g, (char) => `_${char.toLowerCase()}`);
|
|
19
|
+
exports.camelToSnakeCase = camelToSnakeCase;
|
|
20
|
+
const camelToKebabCase = (value) => value.replace(/[A-Z]/g, (char) => `-${char.toLowerCase()}`);
|
|
21
|
+
exports.camelToKebabCase = camelToKebabCase;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Node } from 'ts-morph';
|
|
2
|
+
export declare const debugNode: (node: Node | undefined) => void;
|
|
3
|
+
export declare const debugNodes: (nodes: Node | Node[] | undefined) => void;
|
|
4
|
+
export declare const debugNodeChildren: (node: Node | undefined) => void;
|
|
5
|
+
export declare const debugObject: (object: Record<any, any> | any) => void;
|
|
6
|
+
//# sourceMappingURL=printers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"printers.d.ts","sourceRoot":"","sources":["../../../src/utils/printers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAG/B,eAAO,MAAM,SAAS,SAAU,IAAI,GAAG,SAAS,SAW/C,CAAA;AAED,eAAO,MAAM,UAAU,UAAW,IAAI,GAAG,IAAI,EAAE,GAAG,SAAS,SAW1D,CAAA;AAED,eAAO,MAAM,iBAAiB,SAAU,IAAI,GAAG,SAAS,SAWvD,CAAA;AAED,eAAO,MAAM,WAAW,WAAY,OAAO,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,SAMzD,CAAA"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.debugObject = exports.debugNodeChildren = exports.debugNodes = exports.debugNode = void 0;
|
|
27
|
+
const util = __importStar(require("util"));
|
|
28
|
+
const debugNode = (node) => {
|
|
29
|
+
console.debug('Node:');
|
|
30
|
+
if (!node) {
|
|
31
|
+
console.debug('Node is undefined');
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
console.debug({
|
|
35
|
+
kind: node.getKindName(),
|
|
36
|
+
text: node.getText(),
|
|
37
|
+
});
|
|
38
|
+
(0, exports.debugNodeChildren)(node);
|
|
39
|
+
};
|
|
40
|
+
exports.debugNode = debugNode;
|
|
41
|
+
const debugNodes = (nodes) => {
|
|
42
|
+
console.debug('Nodes:');
|
|
43
|
+
if (!nodes) {
|
|
44
|
+
console.debug('Nodes are undefined');
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (Array.isArray(nodes)) {
|
|
48
|
+
nodes.forEach((node) => (0, exports.debugNode)(node));
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
(0, exports.debugNode)(nodes);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
exports.debugNodes = debugNodes;
|
|
55
|
+
const debugNodeChildren = (node) => {
|
|
56
|
+
console.debug('Children:');
|
|
57
|
+
if (!node) {
|
|
58
|
+
console.debug('Node is undefined');
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const values = node.getChildren().map((child) => ({
|
|
62
|
+
kind: child.getKindName(),
|
|
63
|
+
text: child.getText(),
|
|
64
|
+
}));
|
|
65
|
+
console.debug(values);
|
|
66
|
+
};
|
|
67
|
+
exports.debugNodeChildren = debugNodeChildren;
|
|
68
|
+
const debugObject = (object) => {
|
|
69
|
+
if (typeof object === 'object') {
|
|
70
|
+
console.debug(util.inspect(object, { showHidden: false, depth: null, colors: true }));
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
console.debug(object);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
exports.debugObject = debugObject;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Validator } from '../validators/types';
|
|
2
|
+
export declare const getMissingParamMessage: (result: {
|
|
3
|
+
name: string;
|
|
4
|
+
validator: Pick<Validator<unknown>, 'description' | 'errorMessage'>;
|
|
5
|
+
} | {
|
|
6
|
+
originalName: string;
|
|
7
|
+
validator: Pick<Validator<unknown>, 'description' | 'errorMessage'>;
|
|
8
|
+
}) => string;
|
|
9
|
+
export declare const getValidationResultMessage: (result: {
|
|
10
|
+
name: string;
|
|
11
|
+
validator: Pick<Validator<unknown>, 'description' | 'errorMessage'>;
|
|
12
|
+
} | {
|
|
13
|
+
originalName: string;
|
|
14
|
+
validator: Pick<Validator<unknown>, 'description' | 'errorMessage'>;
|
|
15
|
+
}) => string;
|
|
16
|
+
export declare const getMissingRawBodyMessage: (validator: Validator<unknown>) => string;
|
|
17
|
+
export declare const getFailedRawBodyValidationMessage: (validator: Validator<unknown>) => string;
|
|
18
|
+
//# sourceMappingURL=validationMessages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validationMessages.d.ts","sourceRoot":"","sources":["../../../src/utils/validationMessages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,eAAO,MAAM,sBAAsB,WAE/B;IACA,MAAM,MAAM,CAAA;IACZ,SAAS,EAAE,KAAK,UAAU,OAAO,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC,CAAA;CAClE,GACD;IACA,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,KAAK,UAAU,OAAO,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC,CAAA;CAClE,WASJ,CAAA;AAED,eAAO,MAAM,0BAA0B,WAEnC;IACA,MAAM,MAAM,CAAA;IACZ,SAAS,EAAE,KAAK,UAAU,OAAO,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC,CAAA;CAClE,GACD;IACA,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,KAAK,UAAU,OAAO,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC,CAAA;CAClE,WAYJ,CAAA;AAED,eAAO,MAAM,wBAAwB,cAAe,UAAU,OAAO,CAAC,WAOrE,CAAA;AAED,eAAO,MAAM,iCAAiC,cAAe,UAAU,OAAO,CAAC,WAU9E,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getFailedRawBodyValidationMessage = exports.getMissingRawBodyMessage = exports.getValidationResultMessage = exports.getMissingParamMessage = void 0;
|
|
4
|
+
const getMissingParamMessage = (result) => {
|
|
5
|
+
const name = 'name' in result ? result.name : result.originalName;
|
|
6
|
+
const { description } = result.validator;
|
|
7
|
+
if (description) {
|
|
8
|
+
return `'${name}' (${description})`;
|
|
9
|
+
}
|
|
10
|
+
return `'${name}'`;
|
|
11
|
+
};
|
|
12
|
+
exports.getMissingParamMessage = getMissingParamMessage;
|
|
13
|
+
const getValidationResultMessage = (result) => {
|
|
14
|
+
const name = 'name' in result ? result.name : result.originalName;
|
|
15
|
+
const { description, errorMessage } = result.validator;
|
|
16
|
+
if (errorMessage) {
|
|
17
|
+
return `'${name}' (${errorMessage})`;
|
|
18
|
+
}
|
|
19
|
+
if (description) {
|
|
20
|
+
return `'${name}' (${description})`;
|
|
21
|
+
}
|
|
22
|
+
return `'${name}'`;
|
|
23
|
+
};
|
|
24
|
+
exports.getValidationResultMessage = getValidationResultMessage;
|
|
25
|
+
const getMissingRawBodyMessage = (validator) => {
|
|
26
|
+
const { description } = validator;
|
|
27
|
+
if (description) {
|
|
28
|
+
return `Missing request body (${description}).`;
|
|
29
|
+
}
|
|
30
|
+
return 'Missing request body.';
|
|
31
|
+
};
|
|
32
|
+
exports.getMissingRawBodyMessage = getMissingRawBodyMessage;
|
|
33
|
+
const getFailedRawBodyValidationMessage = (validator) => {
|
|
34
|
+
const { description, errorMessage } = validator;
|
|
35
|
+
if (errorMessage) {
|
|
36
|
+
return `Failed request body validation (${errorMessage}).`;
|
|
37
|
+
}
|
|
38
|
+
if (description) {
|
|
39
|
+
return `Failed request body validation (${description}).`;
|
|
40
|
+
}
|
|
41
|
+
return 'Failed request body validation.';
|
|
42
|
+
};
|
|
43
|
+
exports.getFailedRawBodyValidationMessage = getFailedRawBodyValidationMessage;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export declare const EmailValidator: import("./types").Validator<string> & {
|
|
2
|
+
description: "A string containing an '@' sign";
|
|
3
|
+
errorMessage: "Must include an '@' sign";
|
|
4
|
+
} & {
|
|
5
|
+
optional: false;
|
|
6
|
+
};
|
|
7
|
+
export declare const BooleanValidator: import("./types").Validator<boolean> & {
|
|
8
|
+
description: "Any boolean value";
|
|
9
|
+
errorMessage: "Must be '0', '1', 'false' or 'true'";
|
|
10
|
+
} & {
|
|
11
|
+
optional: false;
|
|
12
|
+
};
|
|
13
|
+
export declare const NullableBooleanValidator: import("./types").Validator<boolean> & {
|
|
14
|
+
description: "Any boolean value";
|
|
15
|
+
errorMessage: "Must be '0', '1', 'false' or 'true'";
|
|
16
|
+
} & {
|
|
17
|
+
optional: false;
|
|
18
|
+
};
|
|
19
|
+
export declare const StringValidator: import("./types").Validator<string> & {
|
|
20
|
+
description: "Any string value";
|
|
21
|
+
errorMessage: "Must be a valid string";
|
|
22
|
+
} & {
|
|
23
|
+
optional: false;
|
|
24
|
+
};
|
|
25
|
+
export declare const NullableStringValidator: import("./types").Validator<string | null> & {
|
|
26
|
+
description: "Any string or null value";
|
|
27
|
+
errorMessage: "Must be a valid string or null";
|
|
28
|
+
} & {
|
|
29
|
+
optional: false;
|
|
30
|
+
};
|
|
31
|
+
export declare const NonEmptyStringValidator: import("./types").Validator<string> & {
|
|
32
|
+
description: "Any string value with at least one character";
|
|
33
|
+
errorMessage: "Must be a string with at least one character";
|
|
34
|
+
} & {
|
|
35
|
+
optional: false;
|
|
36
|
+
};
|
|
37
|
+
export declare const NumberValidator: import("./types").Validator<number> & {
|
|
38
|
+
description: "Any numeric value";
|
|
39
|
+
errorMessage: "Must be a valid number";
|
|
40
|
+
} & {
|
|
41
|
+
optional: false;
|
|
42
|
+
};
|
|
43
|
+
export declare const NullableNumberValidator: import("./types").Validator<number | null> & {
|
|
44
|
+
description: "Any numeric value";
|
|
45
|
+
errorMessage: "Must be a valid number";
|
|
46
|
+
} & {
|
|
47
|
+
optional: false;
|
|
48
|
+
};
|
|
49
|
+
export declare const BigIntValidator: import("./types").Validator<bigint> & {
|
|
50
|
+
description: "Any numeric value";
|
|
51
|
+
errorMessage: "Must be a valid number";
|
|
52
|
+
} & {
|
|
53
|
+
optional: false;
|
|
54
|
+
};
|
|
55
|
+
export declare const NullableBigIntValidator: import("./types").Validator<bigint | null> & {
|
|
56
|
+
description: "Any numeric value";
|
|
57
|
+
errorMessage: "Must be a valid number";
|
|
58
|
+
} & {
|
|
59
|
+
optional: false;
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=BuiltInValidators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BuiltInValidators.d.ts","sourceRoot":"","sources":["../../../src/validators/BuiltInValidators.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc;;;;;CAKzB,CAAA;AACF,eAAO,MAAM,gBAAgB;;;;;CAK3B,CAAA;AACF,eAAO,MAAM,wBAAwB;;;;;CAKnC,CAAA;AACF,eAAO,MAAM,eAAe;;;;;CAI1B,CAAA;AACF,eAAO,MAAM,uBAAuB;;;;;CAIlC,CAAA;AACF,eAAO,MAAM,uBAAuB;;;;;CAKlC,CAAA;AACF,eAAO,MAAM,eAAe;;;;;CAK1B,CAAA;AACF,eAAO,MAAM,uBAAuB;;;;;CAKlC,CAAA;AACF,eAAO,MAAM,eAAe;;;;;CAS1B,CAAA;AACF,eAAO,MAAM,uBAAuB;;;;;CAIlC,CAAA"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NullableBigIntValidator = exports.BigIntValidator = exports.NullableNumberValidator = exports.NumberValidator = exports.NonEmptyStringValidator = exports.NullableStringValidator = exports.StringValidator = exports.NullableBooleanValidator = exports.BooleanValidator = exports.EmailValidator = void 0;
|
|
4
|
+
const UserFacingErrors_1 = require("../errors/UserFacingErrors");
|
|
5
|
+
const InternalParamWrappers_1 = require("./InternalParamWrappers");
|
|
6
|
+
exports.EmailValidator = (0, InternalParamWrappers_1.BuiltInValidatorParam)({
|
|
7
|
+
parse: (v) => String(v),
|
|
8
|
+
validate: (v) => v.includes('@'),
|
|
9
|
+
description: "A string containing an '@' sign",
|
|
10
|
+
errorMessage: "Must include an '@' sign",
|
|
11
|
+
});
|
|
12
|
+
exports.BooleanValidator = (0, InternalParamWrappers_1.BuiltInValidatorParam)({
|
|
13
|
+
prevalidate: (v) => v === '0' || v === '1' || v === 'false' || v === 'true',
|
|
14
|
+
parse: (v) => v === '1' || v === 'true',
|
|
15
|
+
description: 'Any boolean value',
|
|
16
|
+
errorMessage: "Must be '0', '1', 'false' or 'true'",
|
|
17
|
+
});
|
|
18
|
+
exports.NullableBooleanValidator = (0, InternalParamWrappers_1.BuiltInValidatorParam)({
|
|
19
|
+
prevalidate: (v) => v === '0' || v === '1' || v === 'false' || v === 'true' || v === null,
|
|
20
|
+
parse: (v) => v === '1' || v === 'true' || v === null,
|
|
21
|
+
description: 'Any boolean value',
|
|
22
|
+
errorMessage: "Must be '0', '1', 'false' or 'true'",
|
|
23
|
+
});
|
|
24
|
+
exports.StringValidator = (0, InternalParamWrappers_1.BuiltInValidatorParam)({
|
|
25
|
+
parse: (v) => String(v),
|
|
26
|
+
description: 'Any string value',
|
|
27
|
+
errorMessage: 'Must be a valid string',
|
|
28
|
+
});
|
|
29
|
+
exports.NullableStringValidator = (0, InternalParamWrappers_1.BuiltInValidatorParam)({
|
|
30
|
+
parse: (v) => v,
|
|
31
|
+
description: 'Any string or null value',
|
|
32
|
+
errorMessage: 'Must be a valid string or null',
|
|
33
|
+
});
|
|
34
|
+
exports.NonEmptyStringValidator = (0, InternalParamWrappers_1.BuiltInValidatorParam)({
|
|
35
|
+
parse: (v) => String(v),
|
|
36
|
+
validate: (v) => v.length > 0,
|
|
37
|
+
description: 'Any string value with at least one character',
|
|
38
|
+
errorMessage: 'Must be a string with at least one character',
|
|
39
|
+
});
|
|
40
|
+
exports.NumberValidator = (0, InternalParamWrappers_1.BuiltInValidatorParam)({
|
|
41
|
+
parse: (v) => Number(v),
|
|
42
|
+
validate: (v) => Number.isFinite(v) && !Number.isNaN(v),
|
|
43
|
+
description: 'Any numeric value',
|
|
44
|
+
errorMessage: 'Must be a valid number',
|
|
45
|
+
});
|
|
46
|
+
exports.NullableNumberValidator = (0, InternalParamWrappers_1.BuiltInValidatorParam)({
|
|
47
|
+
parse: (v) => (v === null ? null : Number(v)),
|
|
48
|
+
validate: (v) => v === null || (Number.isFinite(v) && !Number.isNaN(v)),
|
|
49
|
+
description: 'Any numeric value',
|
|
50
|
+
errorMessage: 'Must be a valid number',
|
|
51
|
+
});
|
|
52
|
+
exports.BigIntValidator = (0, InternalParamWrappers_1.BuiltInValidatorParam)({
|
|
53
|
+
parse: (v) => {
|
|
54
|
+
if (v === null) {
|
|
55
|
+
throw new UserFacingErrors_1.ValidationError('Encountered an unexpected null value');
|
|
56
|
+
}
|
|
57
|
+
return BigInt(v);
|
|
58
|
+
},
|
|
59
|
+
description: 'Any numeric value',
|
|
60
|
+
errorMessage: 'Must be a valid number',
|
|
61
|
+
});
|
|
62
|
+
exports.NullableBigIntValidator = (0, InternalParamWrappers_1.BuiltInValidatorParam)({
|
|
63
|
+
parse: (v) => (v === null ? null : BigInt(v)),
|
|
64
|
+
description: 'Any numeric value',
|
|
65
|
+
errorMessage: 'Must be a valid number',
|
|
66
|
+
});
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { BuiltInValidator } from './types';
|
|
2
|
+
export declare const BuiltInValidatorParam: <T, DescriptionT extends string, ErrorMessageT extends string>(validator: Omit<BuiltInValidator<T, DescriptionT, ErrorMessageT>, 'optional'> & Pick<BuiltInValidator<T, DescriptionT, ErrorMessageT>, 'description' | 'errorMessage'>) => BuiltInValidator<T, DescriptionT, ErrorMessageT> & {
|
|
3
|
+
optional: false;
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=InternalParamWrappers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InternalParamWrappers.d.ts","sourceRoot":"","sources":["../../../src/validators/InternalParamWrappers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAO1C,eAAO,MAAM,qBAAqB,4EACtB,KAAK,iBAAiB,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,UAAU,CAAC,GAC5E,KAAK,iBAAiB,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC,KACrF,iBAAiB,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,GAAG;IAAE,QAAQ,EAAE,KAAK,CAAA;CAGrE,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BuiltInValidatorParam = void 0;
|
|
4
|
+
const BuiltInValidatorParam = (validator) => (Object.assign(Object.assign({}, validator), { optional: false }));
|
|
5
|
+
exports.BuiltInValidatorParam = BuiltInValidatorParam;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Validator } from './types';
|
|
2
|
+
export declare const PathParam: <T>(validator: Omit<Validator<T>, 'optional'>) => Validator<T> & {
|
|
3
|
+
optional: false;
|
|
4
|
+
};
|
|
5
|
+
export declare const RequiredParam: <T>(validator: Omit<Validator<T>, 'optional'>) => Validator<T> & {
|
|
6
|
+
optional: false;
|
|
7
|
+
};
|
|
8
|
+
export declare const OptionalParam: <T>(validator: Omit<Validator<T>, 'optional'>) => Validator<T> & {
|
|
9
|
+
optional: true;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=ParamWrappers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParamWrappers.d.ts","sourceRoot":"","sources":["../../../src/validators/ParamWrappers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,eAAO,MAAM,SAAS,iBACV,KAAK,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,KACvC,UAAU,CAAC,CAAC,GAAG;IAAE,QAAQ,EAAE,KAAK,CAAA;CAGjC,CAAA;AAEF,eAAO,MAAM,aAAa,iBACd,KAAK,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,KACvC,UAAU,CAAC,CAAC,GAAG;IAAE,QAAQ,EAAE,KAAK,CAAA;CAGjC,CAAA;AAEF,eAAO,MAAM,aAAa,iBACd,KAAK,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,KACvC,UAAU,CAAC,CAAC,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAA;CAGhC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OptionalParam = exports.RequiredParam = exports.PathParam = void 0;
|
|
4
|
+
const PathParam = (validator) => (Object.assign(Object.assign({}, validator), { optional: false }));
|
|
5
|
+
exports.PathParam = PathParam;
|
|
6
|
+
const RequiredParam = (validator) => (Object.assign(Object.assign({}, validator), { optional: false }));
|
|
7
|
+
exports.RequiredParam = RequiredParam;
|
|
8
|
+
const OptionalParam = (validator) => (Object.assign(Object.assign({}, validator), { optional: true }));
|
|
9
|
+
exports.OptionalParam = OptionalParam;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type DeepPartial<T> = {
|
|
2
|
+
[P in keyof T]?: T[P] extends Array<infer U> ? Array<DeepPartial<U>> : T[P] extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : DeepPartial<T[P]>;
|
|
3
|
+
};
|
|
4
|
+
export type ValidateArg<T> = T extends object ? DeepPartial<T> : T;
|
|
5
|
+
export type Validator<T> = {
|
|
6
|
+
prevalidate?: (v: string | null) => boolean;
|
|
7
|
+
parse: (v: string | null) => T;
|
|
8
|
+
validate?: (v: ValidateArg<T>) => boolean;
|
|
9
|
+
optional: boolean;
|
|
10
|
+
description?: string;
|
|
11
|
+
errorMessage?: string;
|
|
12
|
+
};
|
|
13
|
+
export type BuiltInValidator<T, DescriptionT extends string, ErrorMessageT extends string> = Validator<T> & {
|
|
14
|
+
description: DescriptionT;
|
|
15
|
+
errorMessage: ErrorMessageT;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/validators/types.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,CAAC,CAAC,IAAI;KACpB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACzC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GACrB,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GACnC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAC7B,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACpB,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAElE,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IAC1B,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAA;IAC3C,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,CAAC,CAAA;IAC9B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAA;IAMzC,QAAQ,EAAE,OAAO,CAAA;IAKjB,WAAW,CAAC,EAAE,MAAM,CAAA;IAIpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,YAAY,SAAS,MAAM,EAAE,aAAa,SAAS,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG;IAC3G,WAAW,EAAE,YAAY,CAAA;IACzB,YAAY,EAAE,aAAa,CAAA;CAC3B,CAAA"}
|