mock-config-server 4.0.3 → 5.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/README.md +229 -237
  2. package/dist/bin/build.d.ts +3 -3
  3. package/dist/bin/build.js +1 -11
  4. package/dist/bin/helpers/createTemplate.js +6 -6
  5. package/dist/bin/helpers/resolveConfigFile.d.ts +2 -2
  6. package/dist/bin/helpers/resolveConfigFile.js +2 -3
  7. package/dist/bin/helpers/resolveConfigFilePath.js +4 -4
  8. package/dist/bin/init.d.ts +2 -2
  9. package/dist/bin/init.js +7 -7
  10. package/dist/bin/run.d.ts +3 -3
  11. package/dist/bin/run.js +17 -24
  12. package/dist/bin/templates/ts/full/mock-server.config.ts +2 -2
  13. package/dist/bin/templates/ts/graphql/mock-server.config.ts +2 -2
  14. package/dist/bin/templates/ts/rest/mock-server.config.ts +2 -2
  15. package/dist/src/core/database/createDatabaseRoutes/helpers/search/search.js +3 -3
  16. package/dist/src/core/database/createDatabaseRoutes/storages/File/FileStorage.js +4 -4
  17. package/dist/src/core/database/createDatabaseRoutes/storages/File/FileWriter.js +2 -2
  18. package/dist/src/core/functions/graphql/graphql.d.ts +54 -0
  19. package/dist/src/core/functions/graphql/graphql.js +126 -0
  20. package/dist/src/core/functions/graphql/helpers/createQueueHandler/createQueueHandler.d.ts +5 -0
  21. package/dist/src/core/functions/graphql/helpers/createQueueHandler/createQueueHandler.js +35 -0
  22. package/dist/src/core/functions/graphql/helpers/index.d.ts +1 -0
  23. package/dist/src/core/{rest/createRestRoutes → functions/graphql}/helpers/index.js +1 -1
  24. package/dist/src/core/functions/index.d.ts +3 -0
  25. package/dist/src/core/functions/index.js +20 -0
  26. package/dist/src/core/functions/mock.d.ts +2 -0
  27. package/dist/src/core/functions/mock.js +11 -0
  28. package/dist/src/core/functions/rest/helpers/createFileHandler/createFileHandler.d.ts +2 -0
  29. package/dist/src/core/functions/rest/helpers/createFileHandler/createFileHandler.js +29 -0
  30. package/dist/src/core/functions/rest/helpers/createQueueHandler/createQueueHandler.d.ts +5 -0
  31. package/dist/src/core/functions/rest/helpers/createQueueHandler/createQueueHandler.js +35 -0
  32. package/dist/src/core/functions/rest/helpers/formatSsePayload/formatSsePayload.d.ts +5 -0
  33. package/dist/src/core/functions/rest/helpers/formatSsePayload/formatSsePayload.js +50 -0
  34. package/dist/src/core/functions/rest/helpers/index.d.ts +3 -0
  35. package/dist/src/core/functions/rest/helpers/index.js +20 -0
  36. package/dist/src/core/functions/rest/index.d.ts +1 -0
  37. package/dist/src/core/{graphql/createGraphQLRoutes/helpers → functions/rest}/index.js +1 -1
  38. package/dist/src/core/functions/rest/rest.d.ts +114 -0
  39. package/dist/src/core/functions/rest/rest.js +171 -0
  40. package/dist/src/core/graphql/createGraphQLRoute/createGraphQLRoute.d.ts +8 -0
  41. package/dist/src/core/graphql/createGraphQLRoute/createGraphQLRoute.js +158 -0
  42. package/dist/src/core/graphql/createGraphQLRoute/helpers/calculateGraphQLRouteConfigWeight/calculateGraphQLRouteConfigWeight.d.ts +2 -0
  43. package/dist/src/core/graphql/{createGraphQLRoutes/helpers/prepareGraphQLRequestConfigs/prepareGraphQLRequestConfigs.js → createGraphQLRoute/helpers/calculateGraphQLRouteConfigWeight/calculateGraphQLRouteConfigWeight.js} +3 -11
  44. package/dist/src/core/graphql/createGraphQLRoute/helpers/index.d.ts +3 -0
  45. package/dist/src/core/graphql/createGraphQLRoute/helpers/index.js +20 -0
  46. package/dist/src/core/graphql/createGraphQLRoute/helpers/matchGraphQLRequestArtifacts/matchGraphQLRequestArtifacts.d.ts +12 -0
  47. package/dist/src/core/graphql/createGraphQLRoute/helpers/matchGraphQLRequestArtifacts/matchGraphQLRequestArtifacts.js +28 -0
  48. package/dist/src/core/graphql/createGraphQLRoute/helpers/prepareGraphQLRequestArtifacts/prepareGraphQLRequestArtifacts.d.ts +2 -0
  49. package/dist/src/core/graphql/createGraphQLRoute/helpers/prepareGraphQLRequestArtifacts/prepareGraphQLRequestArtifacts.js +11 -0
  50. package/dist/src/core/graphql/index.d.ts +2 -1
  51. package/dist/src/core/graphql/index.js +2 -1
  52. package/dist/src/core/middlewares/contextMiddleware/contextMiddleware.d.ts +6 -4
  53. package/dist/src/core/rest/createRestRoute/createRestRoute.d.ts +8 -0
  54. package/dist/src/core/rest/createRestRoute/createRestRoute.js +190 -0
  55. package/dist/src/core/rest/createRestRoute/helpers/calculateRestRouteConfigWeight/calculateRestRouteConfigWeight.d.ts +2 -0
  56. package/dist/src/core/rest/createRestRoute/helpers/calculateRestRouteConfigWeight/calculateRestRouteConfigWeight.js +35 -0
  57. package/dist/src/core/rest/createRestRoute/helpers/index.d.ts +3 -0
  58. package/dist/src/core/rest/createRestRoute/helpers/index.js +20 -0
  59. package/dist/src/core/rest/createRestRoute/helpers/matchRestRequestArtifacts/matchRestRequestArtifacts.d.ts +11 -0
  60. package/dist/src/core/rest/createRestRoute/helpers/matchRestRequestArtifacts/matchRestRequestArtifacts.js +31 -0
  61. package/dist/src/core/rest/createRestRoute/helpers/prepareRestRequestArtifacts/prepareRestRequestArtifacts.d.ts +2 -0
  62. package/dist/src/core/rest/createRestRoute/helpers/prepareRestRequestArtifacts/prepareRestRequestArtifacts.js +37 -0
  63. package/dist/src/core/rest/index.d.ts +2 -1
  64. package/dist/src/core/rest/index.js +2 -1
  65. package/dist/src/index.d.ts +1 -0
  66. package/dist/src/index.js +1 -0
  67. package/dist/src/server/createMockServer/createMockServer.d.ts +1 -1
  68. package/dist/src/server/createMockServer/createMockServer.js +76 -45
  69. package/dist/src/server/index.d.ts +0 -8
  70. package/dist/src/server/index.js +0 -8
  71. package/dist/src/server/startMockServer/startMockServer.d.ts +2 -2
  72. package/dist/src/server/startMockServer/startMockServer.js +4 -3
  73. package/dist/src/utils/constants/checkModes.js +7 -7
  74. package/dist/src/utils/helpers/config/resolveEntityValues/resolveEntityValues.js +1 -1
  75. package/dist/src/utils/helpers/files/isFileDescriptor/isFileDescriptor.js +2 -2
  76. package/dist/src/utils/helpers/files/isFilePathValid/isFilePathValid.js +3 -3
  77. package/dist/src/utils/helpers/interceptors/callResponseInterceptors/callResponseInterceptors.d.ts +3 -3
  78. package/dist/src/utils/helpers/interceptors/callResponseInterceptors/callResponseInterceptors.js +2 -2
  79. package/dist/src/utils/helpers/tests/createTmpDir.js +4 -4
  80. package/dist/src/utils/helpers/url/index.d.ts +1 -2
  81. package/dist/src/utils/helpers/url/index.js +1 -2
  82. package/dist/src/utils/helpers/url/normalizeUrl/normalizeUrl.d.ts +1 -0
  83. package/dist/src/utils/helpers/url/normalizeUrl/normalizeUrl.js +15 -0
  84. package/dist/src/utils/helpers/url/urlJoin/urlJoin.js +4 -4
  85. package/dist/src/utils/types/graphql.d.ts +44 -18
  86. package/dist/src/utils/types/rest.d.ts +44 -27
  87. package/dist/src/utils/types/server.d.ts +7 -24
  88. package/dist/src/utils/types/values.d.ts +2 -1
  89. package/dist/src/utils/validate/graphqlConfigSchema/graphqlConfigSchema.d.ts +41 -383
  90. package/dist/src/utils/validate/graphqlConfigSchema/graphqlConfigSchema.js +3 -3
  91. package/dist/src/utils/validate/graphqlConfigSchema/routeConfigSchema/routeConfigSchema.d.ts +3 -66
  92. package/dist/src/utils/validate/graphqlConfigSchema/routeConfigSchema/routeConfigSchema.js +7 -22
  93. package/dist/src/utils/validate/index.d.ts +0 -2
  94. package/dist/src/utils/validate/index.js +0 -2
  95. package/dist/src/utils/validate/queueSchema/queueSchema.d.ts +2 -11
  96. package/dist/src/utils/validate/queueSchema/queueSchema.js +7 -13
  97. package/dist/src/utils/validate/restConfigSchema/restConfigSchema.d.ts +101 -1309
  98. package/dist/src/utils/validate/restConfigSchema/restConfigSchema.js +3 -3
  99. package/dist/src/utils/validate/restConfigSchema/routeConfigSchema/routeConfigSchema.d.ts +3 -82
  100. package/dist/src/utils/validate/restConfigSchema/routeConfigSchema/routeConfigSchema.js +6 -28
  101. package/dist/src/utils/validate/settingsSchema/settingsSchema.d.ts +0 -3
  102. package/dist/src/utils/validate/settingsSchema/settingsSchema.js +0 -1
  103. package/dist/src/utils/validate/utils/checkModeSchema/checkModeSchema.js +6 -6
  104. package/dist/src/utils/validate/utils/entitiesSchema/entitiesSchema.js +4 -4
  105. package/dist/src/utils/validate/utils/jsonSchema/jsonSchema.js +3 -3
  106. package/dist/src/utils/validate/utils/requiredPropertiesSchema/requiredPropertiesSchema.js +1 -1
  107. package/dist/src/utils/validate/utils/sharedSchema/sharedSchema.js +3 -3
  108. package/dist/src/utils/validate/validateMockServerConfig.js +18 -8
  109. package/package.json +17 -40
  110. package/LICENSE +0 -21
  111. package/dist/bin/runFlatConfig.d.ts +0 -5
  112. package/dist/bin/runFlatConfig.js +0 -36
  113. package/dist/src/core/graphql/createGraphQLRoutes/createGraphQLRoutes.d.ts +0 -9
  114. package/dist/src/core/graphql/createGraphQLRoutes/createGraphQLRoutes.js +0 -160
  115. package/dist/src/core/graphql/createGraphQLRoutes/helpers/index.d.ts +0 -1
  116. package/dist/src/core/graphql/createGraphQLRoutes/helpers/prepareGraphQLRequestConfigs/prepareGraphQLRequestConfigs.d.ts +0 -2
  117. package/dist/src/core/rest/createRestRoutes/createRestRoutes.d.ts +0 -9
  118. package/dist/src/core/rest/createRestRoutes/createRestRoutes.js +0 -184
  119. package/dist/src/core/rest/createRestRoutes/helpers/index.d.ts +0 -1
  120. package/dist/src/core/rest/createRestRoutes/helpers/prepareRestRequestConfigs/prepareRestRequestConfigs.d.ts +0 -2
  121. package/dist/src/core/rest/createRestRoutes/helpers/prepareRestRequestConfigs/prepareRestRequestConfigs.js +0 -67
  122. package/dist/src/server/createDatabaseMockServer/createDatabaseMockServer.d.ts +0 -3
  123. package/dist/src/server/createDatabaseMockServer/createDatabaseMockServer.js +0 -62
  124. package/dist/src/server/createFlatMockServer/createFlatMockServer.d.ts +0 -3
  125. package/dist/src/server/createFlatMockServer/createFlatMockServer.js +0 -128
  126. package/dist/src/server/createGraphQLMockServer/createGraphQLMockServer.d.ts +0 -3
  127. package/dist/src/server/createGraphQLMockServer/createGraphQLMockServer.js +0 -67
  128. package/dist/src/server/createRestMockServer/createRestMockServer.d.ts +0 -3
  129. package/dist/src/server/createRestMockServer/createRestMockServer.js +0 -67
  130. package/dist/src/server/startDatabaseMockServer/startDatabaseMockServer.d.ts +0 -4
  131. package/dist/src/server/startDatabaseMockServer/startDatabaseMockServer.js +0 -29
  132. package/dist/src/server/startFlatMockServer/startFlatMockServer.d.ts +0 -4
  133. package/dist/src/server/startFlatMockServer/startFlatMockServer.js +0 -30
  134. package/dist/src/server/startGraphQLMockServer/startGraphQLMockServer.d.ts +0 -4
  135. package/dist/src/server/startGraphQLMockServer/startGraphQLMockServer.js +0 -29
  136. package/dist/src/server/startRestMockServer/startRestMockServer.d.ts +0 -4
  137. package/dist/src/server/startRestMockServer/startRestMockServer.js +0 -29
  138. package/dist/src/utils/helpers/url/getUrlParts/getUrlParts.d.ts +0 -1
  139. package/dist/src/utils/helpers/url/getUrlParts/getUrlParts.js +0 -12
  140. package/dist/src/utils/helpers/url/removeLeadingAndTrailingSlashes/removeLeadingAndTrailingSlashes.d.ts +0 -1
  141. package/dist/src/utils/helpers/url/removeLeadingAndTrailingSlashes/removeLeadingAndTrailingSlashes.js +0 -11
  142. package/dist/src/utils/validate/isOnlyRequestedDataResolvingPropertyExists.d.ts +0 -4
  143. package/dist/src/utils/validate/isOnlyRequestedDataResolvingPropertyExists.js +0 -16
  144. package/dist/src/utils/validate/validateApiMockServerConfig.d.ts +0 -2
  145. package/dist/src/utils/validate/validateApiMockServerConfig.js +0 -48
@@ -22,9 +22,10 @@ function _interop_require_default(obj) {
22
22
  };
23
23
  }
24
24
  const createMockServer = (mockServerConfig, server = (0, _express.default)())=>{
25
- var _mockServerConfig_interceptors;
26
25
  (0, _validate.validateMockServerConfig)(mockServerConfig);
27
- const { cors, staticPath, rest, graphql, database, interceptors } = mockServerConfig;
26
+ const [option, ...mockServerComponents] = mockServerConfig;
27
+ const mockServerSettings = !('configs' in option) ? option : undefined;
28
+ const { cors, staticPath, interceptors, baseUrl: serverBaseUrl = '/', database } = mockServerSettings !== null && mockServerSettings !== void 0 ? mockServerSettings : {};
28
29
  server.use(_bodyparser.default.urlencoded({
29
30
  extended: false
30
31
  }));
@@ -33,66 +34,96 @@ const createMockServer = (mockServerConfig, server = (0, _express.default)())=>{
33
34
  }));
34
35
  server.set('json spaces', 2);
35
36
  server.use(_bodyparser.default.text());
36
- (0, _middlewares.contextMiddleware)(server, mockServerConfig);
37
+ (0, _middlewares.contextMiddleware)(server, {
38
+ database
39
+ });
37
40
  (0, _middlewares.cookieParseMiddleware)(server);
38
- const serverRequestInterceptor = (_mockServerConfig_interceptors = mockServerConfig.interceptors) === null || _mockServerConfig_interceptors === void 0 ? void 0 : _mockServerConfig_interceptors.request;
41
+ const serverRequestInterceptor = interceptors === null || interceptors === void 0 ? void 0 : interceptors.request;
39
42
  if (serverRequestInterceptor) {
40
43
  (0, _middlewares.requestInterceptorMiddleware)({
41
44
  server,
42
45
  interceptor: serverRequestInterceptor
43
46
  });
44
47
  }
45
- var _mockServerConfig_baseUrl;
46
- const baseUrl = (_mockServerConfig_baseUrl = mockServerConfig.baseUrl) !== null && _mockServerConfig_baseUrl !== void 0 ? _mockServerConfig_baseUrl : '/';
47
48
  if (cors) {
48
49
  (0, _middlewares.corsMiddleware)(server, cors);
49
50
  } else {
50
51
  (0, _middlewares.noCorsMiddleware)(server);
51
52
  }
52
53
  if (staticPath) {
53
- (0, _middlewares.staticMiddleware)(server, baseUrl, staticPath);
54
+ (0, _middlewares.staticMiddleware)(server, serverBaseUrl, staticPath);
54
55
  }
55
- if (rest) {
56
- var _rest_interceptors;
57
- const routerWithRestRoutes = (0, _rest.createRestRoutes)({
58
- router: _express.default.Router(),
59
- restConfig: rest,
60
- serverResponseInterceptor: interceptors === null || interceptors === void 0 ? void 0 : interceptors.response
61
- });
62
- var _rest_baseUrl;
63
- const restBaseUrl = (0, _helpers.urlJoin)(baseUrl, (_rest_baseUrl = rest.baseUrl) !== null && _rest_baseUrl !== void 0 ? _rest_baseUrl : '/');
64
- const apiRequestInterceptor = (_rest_interceptors = rest.interceptors) === null || _rest_interceptors === void 0 ? void 0 : _rest_interceptors.request;
65
- if (apiRequestInterceptor) {
66
- (0, _middlewares.requestInterceptorMiddleware)({
67
- server,
68
- path: restBaseUrl,
69
- interceptor: apiRequestInterceptor
70
- });
71
- }
72
- server.use(restBaseUrl, routerWithRestRoutes);
56
+ if (database) {
57
+ const routerWithDatabaseRoutes = (0, _database.createDatabaseRoutes)(_express.default.Router(), database);
58
+ server.use(serverBaseUrl, routerWithDatabaseRoutes);
73
59
  }
74
- if (graphql) {
75
- var _graphql_interceptors;
76
- const routerWithGraphQLRoutes = (0, _graphql.createGraphQLRoutes)({
77
- router: _express.default.Router(),
78
- graphqlConfig: graphql,
79
- serverResponseInterceptor: interceptors === null || interceptors === void 0 ? void 0 : interceptors.response
60
+ const components = mockServerSettings ? mockServerComponents : mockServerConfig;
61
+ const { restRequestsArtifacts, graphQLRequestsArtifacts } = components.reduce((acc, component)=>{
62
+ component.configs.forEach((config)=>{
63
+ const isRest = 'method' in config;
64
+ if (isRest) {
65
+ config.routes.forEach((route)=>{
66
+ var _config_interceptors, _config_interceptors1, _component_interceptors, _component_interceptors1, _route_interceptors, _route_interceptors1;
67
+ var _component_baseUrl;
68
+ acc.restRequestsArtifacts.push({
69
+ baseUrl: (0, _helpers.urlJoin)(serverBaseUrl !== null && serverBaseUrl !== void 0 ? serverBaseUrl : '/', (_component_baseUrl = component.baseUrl) !== null && _component_baseUrl !== void 0 ? _component_baseUrl : ''),
70
+ method: config.method,
71
+ path: config.path,
72
+ config: route,
73
+ weight: (0, _rest.calculateRestRouteConfigWeight)(route),
74
+ serverResponseInterceptor: interceptors === null || interceptors === void 0 ? void 0 : interceptors.response,
75
+ serverRequestInterceptor: interceptors === null || interceptors === void 0 ? void 0 : interceptors.request,
76
+ requestResponseInterceptor: (_config_interceptors = config.interceptors) === null || _config_interceptors === void 0 ? void 0 : _config_interceptors.response,
77
+ requestRequestInterceptor: (_config_interceptors1 = config.interceptors) === null || _config_interceptors1 === void 0 ? void 0 : _config_interceptors1.request,
78
+ componentResponseInterceptor: (_component_interceptors = component.interceptors) === null || _component_interceptors === void 0 ? void 0 : _component_interceptors.response,
79
+ componentRequestInterceptor: (_component_interceptors1 = component.interceptors) === null || _component_interceptors1 === void 0 ? void 0 : _component_interceptors1.request,
80
+ routeResponseInterceptor: (_route_interceptors = route.interceptors) === null || _route_interceptors === void 0 ? void 0 : _route_interceptors.response,
81
+ routeRequestInterceptor: (_route_interceptors1 = route.interceptors) === null || _route_interceptors1 === void 0 ? void 0 : _route_interceptors1.request
82
+ });
83
+ });
84
+ }
85
+ const isGraphql = 'operationType' in config;
86
+ if (isGraphql) {
87
+ config.routes.forEach((route)=>{
88
+ var _config_interceptors, _config_interceptors1, _component_interceptors, _component_interceptors1, _route_interceptors, _route_interceptors1;
89
+ var _component_baseUrl;
90
+ acc.graphQLRequestsArtifacts.push({
91
+ baseUrl: (0, _helpers.urlJoin)(serverBaseUrl !== null && serverBaseUrl !== void 0 ? serverBaseUrl : '/', (_component_baseUrl = component.baseUrl) !== null && _component_baseUrl !== void 0 ? _component_baseUrl : ''),
92
+ operationType: config.operationType,
93
+ operationName: 'operationName' in config ? config.operationName : undefined,
94
+ query: 'query' in config ? config.query : undefined,
95
+ config: route,
96
+ weight: (0, _graphql.calculateGraphQLRouteConfigWeight)(route),
97
+ serverResponseInterceptor: interceptors === null || interceptors === void 0 ? void 0 : interceptors.response,
98
+ serverRequestInterceptor: interceptors === null || interceptors === void 0 ? void 0 : interceptors.request,
99
+ requestResponseInterceptor: (_config_interceptors = config.interceptors) === null || _config_interceptors === void 0 ? void 0 : _config_interceptors.response,
100
+ requestRequestInterceptor: (_config_interceptors1 = config.interceptors) === null || _config_interceptors1 === void 0 ? void 0 : _config_interceptors1.request,
101
+ componentResponseInterceptor: (_component_interceptors = component.interceptors) === null || _component_interceptors === void 0 ? void 0 : _component_interceptors.response,
102
+ componentRequestInterceptor: (_component_interceptors1 = component.interceptors) === null || _component_interceptors1 === void 0 ? void 0 : _component_interceptors1.request,
103
+ routeResponseInterceptor: (_route_interceptors = route.interceptors) === null || _route_interceptors === void 0 ? void 0 : _route_interceptors.response,
104
+ routeRequestInterceptor: (_route_interceptors1 = route.interceptors) === null || _route_interceptors1 === void 0 ? void 0 : _route_interceptors1.request
105
+ });
106
+ });
107
+ }
108
+ });
109
+ return acc;
110
+ }, {
111
+ restRequestsArtifacts: [],
112
+ graphQLRequestsArtifacts: []
113
+ });
114
+ const preparedRestRequestArtifacts = (0, _rest.prepareRestRequestArtifacts)(restRequestsArtifacts);
115
+ const preparedGraphQLRequestArtifacts = (0, _graphql.prepareGraphQLRequestArtifacts)(graphQLRequestsArtifacts);
116
+ if (preparedRestRequestArtifacts.length) {
117
+ (0, _rest.createRestRoute)({
118
+ server,
119
+ restRequestArtifacts: preparedRestRequestArtifacts
80
120
  });
81
- var _graphql_baseUrl;
82
- const graphqlBaseUrl = (0, _helpers.urlJoin)(baseUrl, (_graphql_baseUrl = graphql.baseUrl) !== null && _graphql_baseUrl !== void 0 ? _graphql_baseUrl : '/');
83
- const apiRequestInterceptor = (_graphql_interceptors = graphql.interceptors) === null || _graphql_interceptors === void 0 ? void 0 : _graphql_interceptors.request;
84
- if (apiRequestInterceptor) {
85
- (0, _middlewares.requestInterceptorMiddleware)({
86
- server,
87
- path: graphqlBaseUrl,
88
- interceptor: apiRequestInterceptor
89
- });
90
- }
91
- server.use(graphqlBaseUrl, routerWithGraphQLRoutes);
92
121
  }
93
- if (database) {
94
- const routerWithDatabaseRoutes = (0, _database.createDatabaseRoutes)(_express.default.Router(), database);
95
- server.use(baseUrl, routerWithDatabaseRoutes);
122
+ if (preparedGraphQLRequestArtifacts.length) {
123
+ (0, _graphql.createGraphQLRoute)({
124
+ server,
125
+ graphQLRequestArtifacts: preparedGraphQLRequestArtifacts
126
+ });
96
127
  }
97
128
  (0, _middlewares.errorMiddleware)(server);
98
129
  return server;
@@ -1,10 +1,2 @@
1
- export * from './createDatabaseMockServer/createDatabaseMockServer';
2
- export * from './createFlatMockServer/createFlatMockServer';
3
- export * from './createGraphQLMockServer/createGraphQLMockServer';
4
1
  export * from './createMockServer/createMockServer';
5
- export * from './createRestMockServer/createRestMockServer';
6
- export * from './startDatabaseMockServer/startDatabaseMockServer';
7
- export * from './startFlatMockServer/startFlatMockServer';
8
- export * from './startGraphQLMockServer/startGraphQLMockServer';
9
2
  export * from './startMockServer/startMockServer';
10
- export * from './startRestMockServer/startRestMockServer';
@@ -2,16 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- _export_star(require("./createDatabaseMockServer/createDatabaseMockServer"), exports);
6
- _export_star(require("./createFlatMockServer/createFlatMockServer"), exports);
7
- _export_star(require("./createGraphQLMockServer/createGraphQLMockServer"), exports);
8
5
  _export_star(require("./createMockServer/createMockServer"), exports);
9
- _export_star(require("./createRestMockServer/createRestMockServer"), exports);
10
- _export_star(require("./startDatabaseMockServer/startDatabaseMockServer"), exports);
11
- _export_star(require("./startFlatMockServer/startFlatMockServer"), exports);
12
- _export_star(require("./startGraphQLMockServer/startGraphQLMockServer"), exports);
13
6
  _export_star(require("./startMockServer/startMockServer"), exports);
14
- _export_star(require("./startRestMockServer/startRestMockServer"), exports);
15
7
  function _export_star(from, to) {
16
8
  Object.keys(from).forEach(function(k) {
17
9
  if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
@@ -1,4 +1,4 @@
1
1
  import type { MockServerConfig } from '../../utils/types';
2
- export declare const startMockServer: (mockServerConfig: MockServerConfig) => import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse> & {
3
- destroy: import("http").Server["close"];
2
+ export declare const startMockServer: (mockServerConfig: MockServerConfig) => import("node:http").Server<typeof import("node:http").IncomingMessage, typeof import("node:http").ServerResponse> & {
3
+ destroy: import("node:http").Server["close"];
4
4
  };
@@ -19,10 +19,11 @@ function _interop_require_default(obj) {
19
19
  }
20
20
  const startMockServer = (mockServerConfig)=>{
21
21
  const mockServer = (0, _createMockServer.createMockServer)(mockServerConfig);
22
- var _mockServerConfig_port;
23
- const port = (_mockServerConfig_port = mockServerConfig.port) !== null && _mockServerConfig_port !== void 0 ? _mockServerConfig_port : _constants.DEFAULT.PORT;
22
+ const [option] = mockServerConfig;
23
+ const mockServerSettings = !('configs' in option) ? option : {};
24
+ const { port = _constants.DEFAULT.PORT } = mockServerSettings;
24
25
  const server = mockServer.listen(port, ()=>{
25
- console.info(_ansicolors.default.green(`🎉 Mock Server is running at http://localhost:${port}`));
26
+ console.log(_ansicolors.default.green(`🎉 Mock Server is running at http://localhost:${port}`));
26
27
  });
27
28
  // ✅ important: add destroy method for closing keep-alive connections after server shutdown
28
29
  return (0, _middlewares.destroyerMiddleware)(server);
@@ -5,26 +5,26 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- CALCULATE_BY_DESCRIPTOR_VALUE_CHECK_MODES: function() {
12
+ get CALCULATE_BY_DESCRIPTOR_VALUE_CHECK_MODES () {
13
13
  return CALCULATE_BY_DESCRIPTOR_VALUE_CHECK_MODES;
14
14
  },
15
- CHECK_ACTUAL_VALUE_CHECK_MODES: function() {
15
+ get CHECK_ACTUAL_VALUE_CHECK_MODES () {
16
16
  return CHECK_ACTUAL_VALUE_CHECK_MODES;
17
17
  },
18
- COMPARE_WITH_DESCRIPTOR_ANY_VALUE_CHECK_MODES: function() {
18
+ get COMPARE_WITH_DESCRIPTOR_ANY_VALUE_CHECK_MODES () {
19
19
  return COMPARE_WITH_DESCRIPTOR_ANY_VALUE_CHECK_MODES;
20
20
  },
21
- COMPARE_WITH_DESCRIPTOR_STRING_VALUE_CHECK_MODES: function() {
21
+ get COMPARE_WITH_DESCRIPTOR_STRING_VALUE_CHECK_MODES () {
22
22
  return COMPARE_WITH_DESCRIPTOR_STRING_VALUE_CHECK_MODES;
23
23
  },
24
- COMPARE_WITH_DESCRIPTOR_VALUE_CHECK_MODES: function() {
24
+ get COMPARE_WITH_DESCRIPTOR_VALUE_CHECK_MODES () {
25
25
  return COMPARE_WITH_DESCRIPTOR_VALUE_CHECK_MODES;
26
26
  },
27
- NEGATIVE_CHECK_MODES: function() {
27
+ get NEGATIVE_CHECK_MODES () {
28
28
  return NEGATIVE_CHECK_MODES;
29
29
  }
30
30
  });
@@ -13,7 +13,7 @@ const _constants = require("../../../constants");
13
13
  const _isPlainObject = require("../../isPlainObject/isPlainObject");
14
14
  const _isPrimitive = require("../../isPrimitive/isPrimitive");
15
15
  const checkFunction = (checkMode, actualValue, descriptorValue)=>{
16
- const isActualValueUndefined = typeof actualValue === 'undefined';
16
+ const isActualValueUndefined = actualValue === undefined;
17
17
  if (checkMode === 'exists') return !isActualValueUndefined;
18
18
  if (checkMode === 'notExists') return isActualValueUndefined;
19
19
  if (checkMode === 'function') {
@@ -8,9 +8,9 @@ Object.defineProperty(exports, "isFileDescriptor", {
8
8
  return isFileDescriptor;
9
9
  }
10
10
  });
11
- const _nodebuffer = require("node:buffer");
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(_nodebuffer.Buffer)
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 _nodefs = /*#__PURE__*/ _interop_require_default(require("node:fs"));
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 (!_nodefs.default.existsSync(path)) return false;
20
- if (!_nodefs.default.statSync(path).isFile()) return false;
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);
@@ -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
- apiInterceptor?: ResponseInterceptor;
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 {};
@@ -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.apiInterceptor) {
74
- updatedData = await interceptors.apiInterceptor(updatedData, responseInterceptorParams);
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 _nodefs = /*#__PURE__*/ _interop_require_default(require("node:fs"));
12
- const _nodeos = /*#__PURE__*/ _interop_require_default(require("node:os"));
13
- const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
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 = ()=>_nodefs.default.mkdtempSync(`${_nodeos.default.tmpdir()}${_nodepath.default.sep}`);
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 './getUrlParts/getUrlParts';
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("./getUrlParts/getUrlParts"), exports);
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 _nodeos = /*#__PURE__*/ _interop_require_default(require("node:os"));
12
- const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
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 = _nodeos.default.platform() === 'win32' ? paths.map((path)=>(0, _convertWin32PathToUnix.convertWin32PathToUnix)(path)) : paths;
21
- return _nodepath.default.posix.join(...pathsToJoin);
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
- export type GraphqlDataResponse = ((request: Request, entities: GraphQLEntitiesByEntityName) => Data | Promise<Data>) | Data;
18
- export type GraphQLRouteConfig = ({
19
- settings: GraphQLSettings & {
20
- polling: true;
21
- };
22
- queue: Array<{
23
- time?: number;
24
- data: GraphqlDataResponse;
25
- }>;
26
- } | {
27
- settings?: GraphQLSettings & {
28
- polling?: false;
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
- export type RestDataResponse<Method extends RestMethod = RestMethod> = ((request: Request, entities: RestEntitiesByEntityName<Method>) => Data | Promise<Data>) | Data;
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 type RestRouteConfig<Method extends RestMethod> = ({
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 BaseMockServerConfig {
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 interface MockServerConfig extends BaseMockServerConfig {
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 FlatMockServerComponent {
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 FlatMockServerSettings {
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 FlatMockServerConfig = [
93
- option: FlatMockServerComponent | FlatMockServerSettings,
94
- ...flatMockServerComponents: FlatMockServerComponent[]
75
+ export type MockServerConfig = [
76
+ option: MockServerComponent | MockServerSettings,
77
+ ...mockServerComponents: MockServerComponent[]
95
78
  ];
96
79
  export {};