mock-config-server 4.0.3 → 5.0.0-beta.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/README.md +229 -237
- package/dist/bin/build.d.ts +3 -3
- package/dist/bin/build.js +1 -11
- package/dist/bin/helpers/createTemplate.js +6 -6
- package/dist/bin/helpers/resolveConfigFile.d.ts +2 -2
- package/dist/bin/helpers/resolveConfigFile.js +2 -3
- package/dist/bin/helpers/resolveConfigFilePath.js +4 -4
- package/dist/bin/init.d.ts +2 -2
- package/dist/bin/init.js +7 -7
- package/dist/bin/run.d.ts +3 -3
- package/dist/bin/run.js +17 -24
- package/dist/bin/templates/js/full/mock-requests/graphql/index.js +2 -2
- package/dist/bin/templates/js/full/mock-requests/graphql/user.js +35 -35
- package/dist/bin/templates/js/full/mock-requests/graphql/users.js +12 -12
- package/dist/bin/templates/js/full/mock-requests/rest/index.js +2 -2
- package/dist/bin/templates/js/full/mock-requests/rest/user.js +35 -35
- package/dist/bin/templates/js/full/mock-requests/rest/users.js +12 -12
- package/dist/bin/templates/js/full/mock-server.config.js +19 -19
- package/dist/bin/templates/js/graphql/mock-requests/index.js +2 -2
- package/dist/bin/templates/js/graphql/mock-requests/user.js +35 -35
- package/dist/bin/templates/js/graphql/mock-requests/users.js +12 -12
- package/dist/bin/templates/js/graphql/mock-server.config.js +14 -14
- package/dist/bin/templates/js/rest/mock-requests/index.js +2 -2
- package/dist/bin/templates/js/rest/mock-requests/user.js +35 -35
- package/dist/bin/templates/js/rest/mock-requests/users.js +12 -12
- package/dist/bin/templates/js/rest/mock-server.config.js +14 -14
- package/dist/bin/templates/ts/full/mock-requests/graphql/index.ts +2 -2
- package/dist/bin/templates/ts/full/mock-requests/graphql/user.ts +37 -37
- package/dist/bin/templates/ts/full/mock-requests/graphql/users.ts +14 -14
- package/dist/bin/templates/ts/full/mock-requests/rest/index.ts +2 -2
- package/dist/bin/templates/ts/full/mock-requests/rest/user.ts +37 -37
- package/dist/bin/templates/ts/full/mock-requests/rest/users.ts +14 -14
- package/dist/bin/templates/ts/full/mock-server.config.ts +21 -21
- package/dist/bin/templates/ts/graphql/mock-requests/index.ts +2 -2
- package/dist/bin/templates/ts/graphql/mock-requests/user.ts +37 -37
- package/dist/bin/templates/ts/graphql/mock-requests/users.ts +14 -14
- package/dist/bin/templates/ts/graphql/mock-server.config.ts +16 -16
- package/dist/bin/templates/ts/rest/mock-requests/index.ts +2 -2
- package/dist/bin/templates/ts/rest/mock-requests/user.ts +37 -37
- package/dist/bin/templates/ts/rest/mock-requests/users.ts +14 -14
- package/dist/bin/templates/ts/rest/mock-server.config.ts +16 -16
- package/dist/src/core/database/createDatabaseRoutes/helpers/search/search.js +3 -3
- package/dist/src/core/database/createDatabaseRoutes/storages/File/FileStorage.js +4 -4
- package/dist/src/core/database/createDatabaseRoutes/storages/File/FileWriter.js +2 -2
- package/dist/src/core/functions/graphql/graphql.d.ts +54 -0
- package/dist/src/core/functions/graphql/graphql.js +126 -0
- package/dist/src/core/functions/graphql/helpers/createQueueHandler/createQueueHandler.d.ts +5 -0
- package/dist/src/core/functions/graphql/helpers/createQueueHandler/createQueueHandler.js +35 -0
- package/dist/src/core/functions/graphql/helpers/index.d.ts +1 -0
- package/dist/src/core/{rest/createRestRoutes → functions/graphql}/helpers/index.js +1 -1
- package/dist/src/core/functions/index.d.ts +3 -0
- package/dist/src/core/functions/index.js +20 -0
- package/dist/src/core/functions/mock.d.ts +2 -0
- package/dist/src/core/functions/mock.js +11 -0
- package/dist/src/core/functions/rest/helpers/createFileHandler/createFileHandler.d.ts +2 -0
- package/dist/src/core/functions/rest/helpers/createFileHandler/createFileHandler.js +29 -0
- package/dist/src/core/functions/rest/helpers/createQueueHandler/createQueueHandler.d.ts +5 -0
- package/dist/src/core/functions/rest/helpers/createQueueHandler/createQueueHandler.js +35 -0
- package/dist/src/core/functions/rest/helpers/formatSsePayload/formatSsePayload.d.ts +5 -0
- package/dist/src/core/functions/rest/helpers/formatSsePayload/formatSsePayload.js +50 -0
- package/dist/src/core/functions/rest/helpers/index.d.ts +3 -0
- package/dist/src/core/functions/rest/helpers/index.js +20 -0
- package/dist/src/core/functions/rest/index.d.ts +1 -0
- package/dist/src/core/{graphql/createGraphQLRoutes/helpers → functions/rest}/index.js +1 -1
- package/dist/src/core/functions/rest/rest.d.ts +102 -0
- package/dist/src/core/functions/rest/rest.js +165 -0
- package/dist/src/core/graphql/createGraphQLRoute/createGraphQLRoute.d.ts +8 -0
- package/dist/src/core/graphql/createGraphQLRoute/createGraphQLRoute.js +158 -0
- package/dist/src/core/graphql/createGraphQLRoute/helpers/calculateGraphQLRouteConfigWeight/calculateGraphQLRouteConfigWeight.d.ts +2 -0
- package/dist/src/core/graphql/{createGraphQLRoutes/helpers/prepareGraphQLRequestConfigs/prepareGraphQLRequestConfigs.js → createGraphQLRoute/helpers/calculateGraphQLRouteConfigWeight/calculateGraphQLRouteConfigWeight.js} +3 -11
- package/dist/src/core/graphql/createGraphQLRoute/helpers/index.d.ts +3 -0
- package/dist/src/core/graphql/createGraphQLRoute/helpers/index.js +20 -0
- package/dist/src/core/graphql/createGraphQLRoute/helpers/matchGraphQLRequestArtifacts/matchGraphQLRequestArtifacts.d.ts +12 -0
- package/dist/src/core/graphql/createGraphQLRoute/helpers/matchGraphQLRequestArtifacts/matchGraphQLRequestArtifacts.js +28 -0
- package/dist/src/core/graphql/createGraphQLRoute/helpers/prepareGraphQLRequestArtifacts/prepareGraphQLRequestArtifacts.d.ts +2 -0
- package/dist/src/core/graphql/createGraphQLRoute/helpers/prepareGraphQLRequestArtifacts/prepareGraphQLRequestArtifacts.js +11 -0
- package/dist/src/core/graphql/index.d.ts +2 -1
- package/dist/src/core/graphql/index.js +2 -1
- package/dist/src/core/middlewares/contextMiddleware/contextMiddleware.d.ts +6 -4
- package/dist/src/core/rest/createRestRoute/createRestRoute.d.ts +8 -0
- package/dist/src/core/rest/createRestRoute/createRestRoute.js +190 -0
- package/dist/src/core/rest/createRestRoute/helpers/calculateRestRouteConfigWeight/calculateRestRouteConfigWeight.d.ts +2 -0
- package/dist/src/core/rest/createRestRoute/helpers/calculateRestRouteConfigWeight/calculateRestRouteConfigWeight.js +35 -0
- package/dist/src/core/rest/createRestRoute/helpers/index.d.ts +3 -0
- package/dist/src/core/rest/createRestRoute/helpers/index.js +20 -0
- package/dist/src/core/rest/createRestRoute/helpers/matchRestRequestArtifacts/matchRestRequestArtifacts.d.ts +11 -0
- package/dist/src/core/rest/createRestRoute/helpers/matchRestRequestArtifacts/matchRestRequestArtifacts.js +31 -0
- package/dist/src/core/rest/createRestRoute/helpers/prepareRestRequestArtifacts/prepareRestRequestArtifacts.d.ts +2 -0
- package/dist/src/core/rest/createRestRoute/helpers/prepareRestRequestArtifacts/prepareRestRequestArtifacts.js +37 -0
- package/dist/src/core/rest/index.d.ts +2 -1
- package/dist/src/core/rest/index.js +2 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/server/createMockServer/createMockServer.d.ts +1 -1
- package/dist/src/server/createMockServer/createMockServer.js +76 -45
- package/dist/src/server/index.d.ts +0 -8
- package/dist/src/server/index.js +0 -8
- package/dist/src/server/startMockServer/startMockServer.d.ts +2 -2
- package/dist/src/server/startMockServer/startMockServer.js +4 -3
- package/dist/src/utils/constants/checkModes.js +7 -7
- package/dist/src/utils/helpers/config/resolveEntityValues/resolveEntityValues.js +1 -1
- package/dist/src/utils/helpers/files/isFileDescriptor/isFileDescriptor.js +2 -2
- package/dist/src/utils/helpers/files/isFilePathValid/isFilePathValid.js +3 -3
- package/dist/src/utils/helpers/interceptors/callResponseInterceptors/callResponseInterceptors.d.ts +3 -3
- package/dist/src/utils/helpers/interceptors/callResponseInterceptors/callResponseInterceptors.js +2 -2
- package/dist/src/utils/helpers/tests/createTmpDir.js +4 -4
- package/dist/src/utils/helpers/url/index.d.ts +1 -2
- package/dist/src/utils/helpers/url/index.js +1 -2
- package/dist/src/utils/helpers/url/normalizeUrl/normalizeUrl.d.ts +1 -0
- package/dist/src/utils/helpers/url/normalizeUrl/normalizeUrl.js +15 -0
- package/dist/src/utils/helpers/url/urlJoin/urlJoin.js +4 -4
- package/dist/src/utils/types/graphql.d.ts +44 -18
- package/dist/src/utils/types/rest.d.ts +44 -27
- package/dist/src/utils/types/server.d.ts +7 -24
- package/dist/src/utils/types/values.d.ts +6 -1
- package/dist/src/utils/validate/graphqlConfigSchema/graphqlConfigSchema.d.ts +41 -383
- package/dist/src/utils/validate/graphqlConfigSchema/graphqlConfigSchema.js +3 -3
- package/dist/src/utils/validate/graphqlConfigSchema/routeConfigSchema/routeConfigSchema.d.ts +3 -66
- package/dist/src/utils/validate/graphqlConfigSchema/routeConfigSchema/routeConfigSchema.js +7 -22
- package/dist/src/utils/validate/index.d.ts +0 -2
- package/dist/src/utils/validate/index.js +0 -2
- package/dist/src/utils/validate/queueSchema/queueSchema.d.ts +2 -11
- package/dist/src/utils/validate/queueSchema/queueSchema.js +7 -13
- package/dist/src/utils/validate/restConfigSchema/restConfigSchema.d.ts +101 -1309
- package/dist/src/utils/validate/restConfigSchema/restConfigSchema.js +3 -3
- package/dist/src/utils/validate/restConfigSchema/routeConfigSchema/routeConfigSchema.d.ts +3 -82
- package/dist/src/utils/validate/restConfigSchema/routeConfigSchema/routeConfigSchema.js +6 -28
- package/dist/src/utils/validate/settingsSchema/settingsSchema.d.ts +0 -3
- package/dist/src/utils/validate/settingsSchema/settingsSchema.js +0 -1
- package/dist/src/utils/validate/utils/checkModeSchema/checkModeSchema.js +6 -6
- package/dist/src/utils/validate/utils/entitiesSchema/entitiesSchema.js +4 -4
- package/dist/src/utils/validate/utils/jsonSchema/jsonSchema.js +3 -3
- package/dist/src/utils/validate/utils/requiredPropertiesSchema/requiredPropertiesSchema.js +1 -1
- package/dist/src/utils/validate/utils/sharedSchema/sharedSchema.js +3 -3
- package/dist/src/utils/validate/validateMockServerConfig.js +18 -8
- package/package.json +17 -40
- package/LICENSE +0 -21
- package/dist/bin/runFlatConfig.d.ts +0 -5
- package/dist/bin/runFlatConfig.js +0 -36
- package/dist/src/core/graphql/createGraphQLRoutes/createGraphQLRoutes.d.ts +0 -9
- package/dist/src/core/graphql/createGraphQLRoutes/createGraphQLRoutes.js +0 -160
- package/dist/src/core/graphql/createGraphQLRoutes/helpers/index.d.ts +0 -1
- package/dist/src/core/graphql/createGraphQLRoutes/helpers/prepareGraphQLRequestConfigs/prepareGraphQLRequestConfigs.d.ts +0 -2
- package/dist/src/core/rest/createRestRoutes/createRestRoutes.d.ts +0 -9
- package/dist/src/core/rest/createRestRoutes/createRestRoutes.js +0 -184
- package/dist/src/core/rest/createRestRoutes/helpers/index.d.ts +0 -1
- package/dist/src/core/rest/createRestRoutes/helpers/prepareRestRequestConfigs/prepareRestRequestConfigs.d.ts +0 -2
- package/dist/src/core/rest/createRestRoutes/helpers/prepareRestRequestConfigs/prepareRestRequestConfigs.js +0 -67
- package/dist/src/server/createDatabaseMockServer/createDatabaseMockServer.d.ts +0 -3
- package/dist/src/server/createDatabaseMockServer/createDatabaseMockServer.js +0 -62
- package/dist/src/server/createFlatMockServer/createFlatMockServer.d.ts +0 -3
- package/dist/src/server/createFlatMockServer/createFlatMockServer.js +0 -128
- package/dist/src/server/createGraphQLMockServer/createGraphQLMockServer.d.ts +0 -3
- package/dist/src/server/createGraphQLMockServer/createGraphQLMockServer.js +0 -67
- package/dist/src/server/createRestMockServer/createRestMockServer.d.ts +0 -3
- package/dist/src/server/createRestMockServer/createRestMockServer.js +0 -67
- package/dist/src/server/startDatabaseMockServer/startDatabaseMockServer.d.ts +0 -4
- package/dist/src/server/startDatabaseMockServer/startDatabaseMockServer.js +0 -29
- package/dist/src/server/startFlatMockServer/startFlatMockServer.d.ts +0 -4
- package/dist/src/server/startFlatMockServer/startFlatMockServer.js +0 -30
- package/dist/src/server/startGraphQLMockServer/startGraphQLMockServer.d.ts +0 -4
- package/dist/src/server/startGraphQLMockServer/startGraphQLMockServer.js +0 -29
- package/dist/src/server/startRestMockServer/startRestMockServer.d.ts +0 -4
- package/dist/src/server/startRestMockServer/startRestMockServer.js +0 -29
- package/dist/src/utils/helpers/url/getUrlParts/getUrlParts.d.ts +0 -1
- package/dist/src/utils/helpers/url/getUrlParts/getUrlParts.js +0 -12
- package/dist/src/utils/helpers/url/removeLeadingAndTrailingSlashes/removeLeadingAndTrailingSlashes.d.ts +0 -1
- package/dist/src/utils/helpers/url/removeLeadingAndTrailingSlashes/removeLeadingAndTrailingSlashes.js +0 -11
- package/dist/src/utils/validate/isOnlyRequestedDataResolvingPropertyExists.d.ts +0 -4
- package/dist/src/utils/validate/isOnlyRequestedDataResolvingPropertyExists.js +0 -16
- package/dist/src/utils/validate/validateApiMockServerConfig.d.ts +0 -2
- package/dist/src/utils/validate/validateApiMockServerConfig.js +0 -48
|
@@ -8,9 +8,9 @@ Object.defineProperty(exports, "isFileDescriptor", {
|
|
|
8
8
|
return isFileDescriptor;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const
|
|
11
|
+
const _buffer = require("buffer");
|
|
12
12
|
const _zod = require("zod");
|
|
13
13
|
const isFileDescriptor = (value)=>_zod.z.object({
|
|
14
14
|
path: _zod.z.string(),
|
|
15
|
-
file: _zod.z.instanceof(
|
|
15
|
+
file: _zod.z.instanceof(_buffer.Buffer)
|
|
16
16
|
}).strict().safeParse(value).success;
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "isFilePathValid", {
|
|
|
8
8
|
return isFilePathValid;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const
|
|
11
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
12
|
function _interop_require_default(obj) {
|
|
13
13
|
return obj && obj.__esModule ? obj : {
|
|
14
14
|
default: obj
|
|
@@ -16,8 +16,8 @@ function _interop_require_default(obj) {
|
|
|
16
16
|
}
|
|
17
17
|
const isFilePathValid = (path)=>{
|
|
18
18
|
try {
|
|
19
|
-
if (!
|
|
20
|
-
if (!
|
|
19
|
+
if (!_fs.default.existsSync(path)) return false;
|
|
20
|
+
if (!_fs.default.statSync(path).isFile()) return false;
|
|
21
21
|
return true;
|
|
22
22
|
} catch (error) {
|
|
23
23
|
console.error(error);
|
package/dist/src/utils/helpers/interceptors/callResponseInterceptors/callResponseInterceptors.d.ts
CHANGED
|
@@ -2,14 +2,14 @@ import type { Request, Response } from 'express';
|
|
|
2
2
|
import type { Data, ResponseInterceptor } from '../../../types';
|
|
3
3
|
interface CallResponseInterceptorsParams {
|
|
4
4
|
data: Data;
|
|
5
|
-
request: Request;
|
|
6
|
-
response: Response;
|
|
7
5
|
interceptors?: {
|
|
8
6
|
routeInterceptor?: ResponseInterceptor;
|
|
9
7
|
requestInterceptor?: ResponseInterceptor;
|
|
10
|
-
|
|
8
|
+
componentInterceptor?: ResponseInterceptor;
|
|
11
9
|
serverInterceptor?: ResponseInterceptor;
|
|
12
10
|
};
|
|
11
|
+
request: Request;
|
|
12
|
+
response: Response;
|
|
13
13
|
}
|
|
14
14
|
export declare const callResponseInterceptors: (params: CallResponseInterceptorsParams) => Promise<Data>;
|
|
15
15
|
export {};
|
package/dist/src/utils/helpers/interceptors/callResponseInterceptors/callResponseInterceptors.js
CHANGED
|
@@ -70,8 +70,8 @@ const callResponseInterceptors = async (params)=>{
|
|
|
70
70
|
if (interceptors === null || interceptors === void 0 ? void 0 : interceptors.requestInterceptor) {
|
|
71
71
|
updatedData = await interceptors.requestInterceptor(updatedData, responseInterceptorParams);
|
|
72
72
|
}
|
|
73
|
-
if (interceptors === null || interceptors === void 0 ? void 0 : interceptors.
|
|
74
|
-
updatedData = await interceptors.
|
|
73
|
+
if (interceptors === null || interceptors === void 0 ? void 0 : interceptors.componentInterceptor) {
|
|
74
|
+
updatedData = await interceptors.componentInterceptor(updatedData, responseInterceptorParams);
|
|
75
75
|
}
|
|
76
76
|
if (interceptors === null || interceptors === void 0 ? void 0 : interceptors.serverInterceptor) {
|
|
77
77
|
updatedData = await interceptors.serverInterceptor(updatedData, responseInterceptorParams);
|
|
@@ -8,12 +8,12 @@ Object.defineProperty(exports, "createTmpDir", {
|
|
|
8
8
|
return createTmpDir;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
11
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
|
+
const _os = /*#__PURE__*/ _interop_require_default(require("os"));
|
|
13
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
14
14
|
function _interop_require_default(obj) {
|
|
15
15
|
return obj && obj.__esModule ? obj : {
|
|
16
16
|
default: obj
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
const createTmpDir = ()=>
|
|
19
|
+
const createTmpDir = ()=>_fs.default.mkdtempSync(`${_os.default.tmpdir()}${_path.default.sep}`);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
export * from './convertWin32PathToUnix/convertWin32PathToUnix';
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './removeLeadingAndTrailingSlashes/removeLeadingAndTrailingSlashes';
|
|
2
|
+
export * from './normalizeUrl/normalizeUrl';
|
|
4
3
|
export * from './urlJoin/urlJoin';
|
|
@@ -3,8 +3,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
5
|
_export_star(require("./convertWin32PathToUnix/convertWin32PathToUnix"), exports);
|
|
6
|
-
_export_star(require("./
|
|
7
|
-
_export_star(require("./removeLeadingAndTrailingSlashes/removeLeadingAndTrailingSlashes"), exports);
|
|
6
|
+
_export_star(require("./normalizeUrl/normalizeUrl"), exports);
|
|
8
7
|
_export_star(require("./urlJoin/urlJoin"), exports);
|
|
9
8
|
function _export_star(from, to) {
|
|
10
9
|
Object.keys(from).forEach(function(k) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const normalizeUrl: (url: string) => string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "normalizeUrl", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return normalizeUrl;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const normalizeUrl = (url)=>{
|
|
12
|
+
if (!url || url === '/') return '/';
|
|
13
|
+
const normalizedUrl = url.replace(/\/+$/g, '');
|
|
14
|
+
return normalizedUrl || '/';
|
|
15
|
+
};
|
|
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "urlJoin", {
|
|
|
8
8
|
return urlJoin;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const
|
|
12
|
-
const
|
|
11
|
+
const _os = /*#__PURE__*/ _interop_require_default(require("os"));
|
|
12
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
13
13
|
const _convertWin32PathToUnix = require("../convertWin32PathToUnix/convertWin32PathToUnix");
|
|
14
14
|
function _interop_require_default(obj) {
|
|
15
15
|
return obj && obj.__esModule ? obj : {
|
|
@@ -17,6 +17,6 @@ function _interop_require_default(obj) {
|
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
19
|
const urlJoin = (...paths)=>{
|
|
20
|
-
const pathsToJoin =
|
|
21
|
-
return
|
|
20
|
+
const pathsToJoin = _os.default.platform() === 'win32' ? paths.map((path)=>(0, _convertWin32PathToUnix.convertWin32PathToUnix)(path)) : paths;
|
|
21
|
+
return _path.default.posix.join(...pathsToJoin);
|
|
22
22
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { Request } from 'express';
|
|
1
|
+
import type { CookieOptions, Response as ExpressResponse, Request } from 'express';
|
|
2
2
|
import type { MappedEntity, VariablesPlainEntity } from './entities';
|
|
3
3
|
import type { Interceptors } from './interceptors';
|
|
4
|
+
import type { BaseUrl } from './server';
|
|
4
5
|
import type { Data } from './values';
|
|
5
6
|
export type GraphQLEntityName = 'cookies' | 'headers' | 'query' | 'variables';
|
|
6
7
|
export type GraphQLEntity<EntityName extends GraphQLEntityName = GraphQLEntityName> = EntityName extends 'variables' ? VariablesPlainEntity : MappedEntity;
|
|
@@ -9,29 +10,38 @@ export type GraphQLOperationName = string | RegExp;
|
|
|
9
10
|
export type GraphQLEntitiesByEntityName = {
|
|
10
11
|
[EntityName in GraphQLEntityName]?: GraphQLEntity<EntityName>;
|
|
11
12
|
};
|
|
12
|
-
interface GraphQLSettings {
|
|
13
|
+
export interface GraphQLSettings {
|
|
13
14
|
readonly delay?: number;
|
|
14
|
-
readonly polling?: boolean;
|
|
15
15
|
readonly status?: number;
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
17
|
+
type GraphQLCookieValue = string | undefined;
|
|
18
|
+
type GraphQLHeaderValue = number | string | string[] | undefined;
|
|
19
|
+
export interface GraphQLParams<Query = Record<string, unknown>, Body = Record<string, unknown>, Params = Record<string, unknown>, Response = any> {
|
|
20
|
+
entities: GraphQLEntitiesByEntityName;
|
|
21
|
+
request: Request<Params, Response, Body, Query>;
|
|
22
|
+
response: ExpressResponse;
|
|
23
|
+
appendHeader: (field: string, value?: string | string[]) => void;
|
|
24
|
+
attachment: (filename: string) => void;
|
|
25
|
+
clearCookie: (name: string, options?: CookieOptions) => void;
|
|
26
|
+
getCookie: (name: string) => GraphQLCookieValue;
|
|
27
|
+
getRequestHeader: (field: string) => GraphQLHeaderValue;
|
|
28
|
+
getRequestHeaders: () => Record<string, GraphQLHeaderValue>;
|
|
29
|
+
getResponseHeader: (field: string) => GraphQLHeaderValue;
|
|
30
|
+
getResponseHeaders: () => Record<string, GraphQLHeaderValue>;
|
|
31
|
+
next: () => void;
|
|
32
|
+
setCookie: (name: string, value: string, options?: CookieOptions) => void;
|
|
33
|
+
setDelay: (delay: number) => Promise<void>;
|
|
34
|
+
setHeader: (field: string, value?: string | string[]) => void;
|
|
35
|
+
setStatusCode: (statusCode: number) => void;
|
|
36
|
+
}
|
|
37
|
+
export type GraphqlDataResponseFunction = (params: GraphQLParams) => Data | Promise<Data>;
|
|
38
|
+
export type GraphqlDataResponse = Data | GraphqlDataResponseFunction;
|
|
39
|
+
export interface GraphQLRouteConfig {
|
|
30
40
|
data: GraphqlDataResponse;
|
|
31
|
-
}) & {
|
|
32
41
|
entities?: GraphQLEntitiesByEntityName;
|
|
33
42
|
interceptors?: Interceptors<'graphql'>;
|
|
34
|
-
|
|
43
|
+
settings?: GraphQLSettings;
|
|
44
|
+
}
|
|
35
45
|
interface BaseGraphQLRequestConfig {
|
|
36
46
|
interceptors?: Interceptors<'graphql'>;
|
|
37
47
|
operationType: GraphQLOperationType;
|
|
@@ -44,4 +54,20 @@ interface QueryGraphQLRequestConfig extends BaseGraphQLRequestConfig {
|
|
|
44
54
|
query: string;
|
|
45
55
|
}
|
|
46
56
|
export type GraphQLRequestConfig = OperationNameGraphQLRequestConfig | QueryGraphQLRequestConfig;
|
|
57
|
+
export interface GraphQLRequestArtifact {
|
|
58
|
+
baseUrl: BaseUrl;
|
|
59
|
+
componentRequestInterceptor?: Interceptors<'graphql'>['request'];
|
|
60
|
+
componentResponseInterceptor?: Interceptors<'graphql'>['response'];
|
|
61
|
+
config: GraphQLRouteConfig;
|
|
62
|
+
operationName?: GraphQLOperationName;
|
|
63
|
+
operationType: GraphQLOperationType;
|
|
64
|
+
query?: string;
|
|
65
|
+
requestRequestInterceptor?: Interceptors<'graphql'>['request'];
|
|
66
|
+
requestResponseInterceptor?: Interceptors<'graphql'>['response'];
|
|
67
|
+
routeRequestInterceptor?: Interceptors<'graphql'>['request'];
|
|
68
|
+
routeResponseInterceptor?: Interceptors<'graphql'>['response'];
|
|
69
|
+
serverRequestInterceptor?: Interceptors<'graphql'>['request'];
|
|
70
|
+
serverResponseInterceptor?: Interceptors<'graphql'>['response'];
|
|
71
|
+
weight: number;
|
|
72
|
+
}
|
|
47
73
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { Request } from 'express';
|
|
1
|
+
import type { CookieOptions, Response as ExpressResponse, Request } from 'express';
|
|
2
2
|
import type { BodyPlainEntity, MappedEntity } from './entities';
|
|
3
3
|
import type { Interceptors } from './interceptors';
|
|
4
|
+
import type { BaseUrl } from './server';
|
|
4
5
|
import type { Data } from './values';
|
|
5
6
|
export type RestMethod = 'delete' | 'get' | 'options' | 'patch' | 'post' | 'put';
|
|
6
7
|
export type RestEntityName = 'body' | 'cookies' | 'headers' | 'params' | 'query';
|
|
@@ -11,40 +12,41 @@ export type RestEntityNamesByMethod = {
|
|
|
11
12
|
export type RestEntitiesByEntityName<Method extends RestMethod = RestMethod> = {
|
|
12
13
|
[EntityName in RestEntityNamesByMethod[Method]]?: RestEntity<EntityName>;
|
|
13
14
|
};
|
|
14
|
-
interface RestSettings {
|
|
15
|
+
export interface RestSettings {
|
|
15
16
|
readonly delay?: number;
|
|
16
|
-
readonly polling?: boolean;
|
|
17
17
|
readonly status?: number;
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
type RestCookieValue = string | undefined;
|
|
20
|
+
type RestHeaderValue = number | string | string[] | undefined;
|
|
21
|
+
export interface RestParams<Method extends RestMethod = RestMethod, Query = Record<string, unknown>, Body = Record<string, unknown>, Params = Record<string, unknown>, Response = any> {
|
|
22
|
+
entities: RestEntitiesByEntityName<Method>;
|
|
23
|
+
request: Request<Params, Response, Body, Query>;
|
|
24
|
+
response: ExpressResponse;
|
|
25
|
+
appendHeader: (field: string, value?: string | string[]) => void;
|
|
26
|
+
attachment: (filename: string) => void;
|
|
27
|
+
clearCookie: (name: string, options?: CookieOptions) => void;
|
|
28
|
+
getCookie: (name: string) => RestCookieValue;
|
|
29
|
+
getRequestHeader: (field: string) => RestHeaderValue;
|
|
30
|
+
getRequestHeaders: () => Record<string, RestHeaderValue>;
|
|
31
|
+
getResponseHeader: (field: string) => RestHeaderValue;
|
|
32
|
+
getResponseHeaders: () => Record<string, RestHeaderValue>;
|
|
33
|
+
next: () => void;
|
|
34
|
+
setCookie: (name: string, value: string, options?: CookieOptions) => void;
|
|
35
|
+
setDelay: (delay: number) => Promise<void>;
|
|
36
|
+
setHeader: (field: string, value?: string | string[]) => void;
|
|
37
|
+
setStatusCode: (statusCode: number) => void;
|
|
38
|
+
}
|
|
39
|
+
export type RestDataResponseFunction<Method extends RestMethod = RestMethod> = (params: RestParams<Method>) => Data | Promise<Data>;
|
|
40
|
+
export type RestDataResponse<Method extends RestMethod = RestMethod> = Data | RestDataResponseFunction<Method>;
|
|
20
41
|
export type RestFileResponse = string;
|
|
21
|
-
export
|
|
22
|
-
settings: RestSettings & {
|
|
23
|
-
polling: true;
|
|
24
|
-
};
|
|
25
|
-
queue: Array<{
|
|
26
|
-
time?: number;
|
|
27
|
-
data: RestDataResponse<Method>;
|
|
28
|
-
} | {
|
|
29
|
-
time?: number;
|
|
30
|
-
file: RestFileResponse;
|
|
31
|
-
}>;
|
|
32
|
-
} | {
|
|
33
|
-
settings?: RestSettings & {
|
|
34
|
-
polling?: false;
|
|
35
|
-
};
|
|
42
|
+
export interface RestRouteConfig<Method extends RestMethod> {
|
|
36
43
|
data: RestDataResponse<Method>;
|
|
37
|
-
} | {
|
|
38
|
-
settings?: RestSettings & {
|
|
39
|
-
polling?: false;
|
|
40
|
-
};
|
|
41
|
-
file: RestFileResponse;
|
|
42
|
-
}) & {
|
|
43
44
|
entities?: RestEntitiesByEntityName<Method>;
|
|
44
45
|
interceptors?: Interceptors<'rest'>;
|
|
45
|
-
|
|
46
|
+
settings?: RestSettings;
|
|
47
|
+
}
|
|
46
48
|
export type RestPathString = `/${string}`;
|
|
47
|
-
interface BaseRestRequestConfig<Method extends RestMethod> {
|
|
49
|
+
export interface BaseRestRequestConfig<Method extends RestMethod> {
|
|
48
50
|
interceptors?: Interceptors<'rest'>;
|
|
49
51
|
method: Method;
|
|
50
52
|
path: RegExp | RestPathString;
|
|
@@ -57,4 +59,19 @@ type RestDeleteRequestConfig = BaseRestRequestConfig<'delete'>;
|
|
|
57
59
|
type RestPatchRequestConfig = BaseRestRequestConfig<'patch'>;
|
|
58
60
|
type RestOptionsRequestConfig = BaseRestRequestConfig<'options'>;
|
|
59
61
|
export type RestRequestConfig = RestDeleteRequestConfig | RestGetRequestConfig | RestOptionsRequestConfig | RestPatchRequestConfig | RestPostRequestConfig | RestPutRequestConfig;
|
|
62
|
+
export interface RestRequestArtifact {
|
|
63
|
+
baseUrl: BaseUrl;
|
|
64
|
+
componentRequestInterceptor?: Interceptors<'rest'>['request'];
|
|
65
|
+
componentResponseInterceptor?: Interceptors<'rest'>['response'];
|
|
66
|
+
config: RestRouteConfig<RestMethod>;
|
|
67
|
+
method: RestMethod;
|
|
68
|
+
path: RegExp | RestPathString;
|
|
69
|
+
requestRequestInterceptor?: Interceptors<'rest'>['request'];
|
|
70
|
+
requestResponseInterceptor?: Interceptors<'rest'>['response'];
|
|
71
|
+
routeRequestInterceptor?: Interceptors<'rest'>['request'];
|
|
72
|
+
routeResponseInterceptor?: Interceptors<'rest'>['response'];
|
|
73
|
+
serverRequestInterceptor?: Interceptors<'rest'>['request'];
|
|
74
|
+
serverResponseInterceptor?: Interceptors<'rest'>['response'];
|
|
75
|
+
weight: number;
|
|
76
|
+
}
|
|
60
77
|
export {};
|
|
@@ -35,31 +35,14 @@ export interface DatabaseConfig {
|
|
|
35
35
|
data: `${string}.json` | Record<string, unknown>;
|
|
36
36
|
routes?: `${string}.json` | Record<`/${string}`, `/${string}`>;
|
|
37
37
|
}
|
|
38
|
-
export interface
|
|
38
|
+
export interface BaseServerConfig {
|
|
39
39
|
baseUrl?: BaseUrl;
|
|
40
40
|
cors?: Cors;
|
|
41
41
|
interceptors?: Interceptors;
|
|
42
42
|
port?: Port;
|
|
43
43
|
staticPath?: StaticPath;
|
|
44
44
|
}
|
|
45
|
-
export
|
|
46
|
-
database?: DatabaseConfig;
|
|
47
|
-
graphql?: GraphqlConfig;
|
|
48
|
-
rest?: RestConfig;
|
|
49
|
-
}
|
|
50
|
-
export interface RestMockServerConfig extends BaseMockServerConfig {
|
|
51
|
-
configs?: RestRequestConfig[];
|
|
52
|
-
database?: DatabaseConfig;
|
|
53
|
-
}
|
|
54
|
-
export interface GraphQLMockServerConfig extends BaseMockServerConfig {
|
|
55
|
-
configs?: GraphQLRequestConfig[];
|
|
56
|
-
database?: DatabaseConfig;
|
|
57
|
-
}
|
|
58
|
-
export interface DatabaseMockServerConfig extends BaseMockServerConfig {
|
|
59
|
-
data: `${string}.json` | Record<string, unknown>;
|
|
60
|
-
routes?: `${string}.json` | Record<`/${string}`, `/${string}`>;
|
|
61
|
-
}
|
|
62
|
-
export type MockServerConfigArgv = Arguments<{
|
|
45
|
+
export type MockServerCliArgv = Arguments<{
|
|
63
46
|
baseUrl?: string;
|
|
64
47
|
port?: number;
|
|
65
48
|
staticPath?: string;
|
|
@@ -75,13 +58,13 @@ declare global {
|
|
|
75
58
|
}
|
|
76
59
|
}
|
|
77
60
|
}
|
|
78
|
-
export interface
|
|
61
|
+
export interface MockServerComponent {
|
|
79
62
|
baseUrl?: BaseUrl;
|
|
80
63
|
configs: Array<GraphQLRequestConfig | RestRequestConfig>;
|
|
81
64
|
interceptors?: Interceptors;
|
|
82
65
|
name?: string;
|
|
83
66
|
}
|
|
84
|
-
export interface
|
|
67
|
+
export interface MockServerSettings {
|
|
85
68
|
baseUrl?: BaseUrl;
|
|
86
69
|
cors?: Cors;
|
|
87
70
|
database?: DatabaseConfig;
|
|
@@ -89,8 +72,8 @@ export interface FlatMockServerSettings {
|
|
|
89
72
|
port?: Port;
|
|
90
73
|
staticPath?: StaticPath;
|
|
91
74
|
}
|
|
92
|
-
export type
|
|
93
|
-
option:
|
|
94
|
-
...
|
|
75
|
+
export type MockServerConfig = [
|
|
76
|
+
option: MockServerComponent | MockServerSettings,
|
|
77
|
+
...mockServerComponents: MockServerComponent[]
|
|
95
78
|
];
|
|
96
79
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Query as ExpressQuery, ParamsDictionary } from 'express-serve-static-core';
|
|
2
|
+
import type { Buffer } from 'node:buffer';
|
|
2
3
|
import type { IncomingHttpHeaders } from 'node:http';
|
|
3
4
|
export type PlainObject = Record<string, any>;
|
|
4
5
|
export type Primitive = bigint | boolean | number | string | symbol | null | undefined;
|
|
@@ -6,4 +7,8 @@ export type Headers = IncomingHttpHeaders;
|
|
|
6
7
|
export type Query = ExpressQuery;
|
|
7
8
|
export type Params = ParamsDictionary;
|
|
8
9
|
export type Cookies = Record<string, string>;
|
|
9
|
-
export type
|
|
10
|
+
export type DataPrimitive = boolean | number | string | null | undefined | void;
|
|
11
|
+
export type DataLeaf = Buffer | DataPrimitive;
|
|
12
|
+
export type Data = Data[] | DataLeaf | {
|
|
13
|
+
[key: string]: Data;
|
|
14
|
+
};
|