mock-config-server 3.0.0 → 3.0.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 (202) hide show
  1. package/dist/bin/bin.d.ts +2 -0
  2. package/dist/bin/bin.js +8 -0
  3. package/dist/bin/build.d.ts +2 -0
  4. package/dist/bin/build.js +49 -0
  5. package/dist/bin/cli.d.ts +1 -0
  6. package/dist/bin/cli.js +48 -0
  7. package/dist/bin/helpers/index.d.ts +3 -0
  8. package/dist/bin/helpers/index.js +19 -0
  9. package/dist/bin/helpers/resolveConfigFile.d.ts +2 -0
  10. package/dist/bin/helpers/resolveConfigFile.js +20 -0
  11. package/dist/bin/helpers/resolveConfigFilePath.d.ts +1 -0
  12. package/dist/bin/helpers/resolveConfigFilePath.js +39 -0
  13. package/dist/bin/helpers/resolveExportsFromSourceCode.d.ts +1 -0
  14. package/dist/bin/helpers/resolveExportsFromSourceCode.js +11 -0
  15. package/dist/bin/resolveConfigFilePath/resolveConfigFilePath.d.ts +1 -0
  16. package/dist/bin/resolveConfigFilePath/resolveConfigFilePath.js +39 -0
  17. package/dist/bin/run.d.ts +6 -0
  18. package/dist/bin/run.js +17 -0
  19. package/dist/bin/validateMockServerConfig/helpers/index.d.ts +2 -0
  20. package/dist/bin/validateMockServerConfig/helpers/index.js +18 -0
  21. package/dist/bin/validateMockServerConfig/helpers/isCheckModeValid/index.d.ts +1 -0
  22. package/dist/bin/validateMockServerConfig/helpers/isCheckModeValid/index.js +17 -0
  23. package/dist/bin/validateMockServerConfig/helpers/isCheckModeValid/isCheckModeValid.d.ts +1 -0
  24. package/dist/bin/validateMockServerConfig/helpers/isCheckModeValid/isCheckModeValid.js +10 -0
  25. package/dist/bin/validateMockServerConfig/helpers/isDescriptorValueValid/index.d.ts +1 -0
  26. package/dist/bin/validateMockServerConfig/helpers/isDescriptorValueValid/index.js +17 -0
  27. package/dist/bin/validateMockServerConfig/helpers/isDescriptorValueValid/isDescriptorValueValid.d.ts +1 -0
  28. package/dist/bin/validateMockServerConfig/helpers/isDescriptorValueValid/isDescriptorValueValid.js +23 -0
  29. package/dist/bin/validateMockServerConfig/validateBaseUrl/validateBaseUrl.d.ts +1 -0
  30. package/dist/bin/validateMockServerConfig/validateBaseUrl/validateBaseUrl.js +12 -0
  31. package/dist/bin/validateMockServerConfig/validateCors/validateCors.d.ts +1 -0
  32. package/dist/bin/validateMockServerConfig/validateCors/validateCors.js +82 -0
  33. package/dist/bin/validateMockServerConfig/validateGraphqlConfig/validateGraphqlConfig.d.ts +1 -0
  34. package/dist/bin/validateMockServerConfig/validateGraphqlConfig/validateGraphqlConfig.js +48 -0
  35. package/dist/bin/validateMockServerConfig/validateGraphqlConfig/validateRoutes/validateRoutes.d.ts +2 -0
  36. package/dist/bin/validateMockServerConfig/validateGraphqlConfig/validateRoutes/validateRoutes.js +97 -0
  37. package/dist/bin/validateMockServerConfig/validateInterceptors/validateInterceptors.d.ts +1 -0
  38. package/dist/bin/validateMockServerConfig/validateInterceptors/validateInterceptors.js +21 -0
  39. package/dist/bin/validateMockServerConfig/validateMockServerConfig.d.ts +2 -0
  40. package/dist/bin/validateMockServerConfig/validateMockServerConfig.js +30 -0
  41. package/dist/bin/validateMockServerConfig/validatePort/validatePort.d.ts +1 -0
  42. package/dist/bin/validateMockServerConfig/validatePort/validatePort.js +9 -0
  43. package/dist/bin/validateMockServerConfig/validateRestConfig/validateRestConfig.d.ts +1 -0
  44. package/dist/bin/validateMockServerConfig/validateRestConfig/validateRestConfig.js +52 -0
  45. package/dist/bin/validateMockServerConfig/validateRestConfig/validateRoutes/validateRoutes.d.ts +2 -0
  46. package/dist/bin/validateMockServerConfig/validateRestConfig/validateRoutes/validateRoutes.js +101 -0
  47. package/dist/bin/validateMockServerConfig/validateStaticPath/validateStaticPath.d.ts +1 -0
  48. package/dist/bin/validateMockServerConfig/validateStaticPath/validateStaticPath.js +44 -0
  49. package/dist/index.d.ts +1 -0
  50. package/dist/index.js +17 -0
  51. package/dist/src/core/graphql/createGraphQLRoutes/createGraphQLRoutes.d.ts +3 -0
  52. package/dist/src/core/graphql/createGraphQLRoutes/createGraphQLRoutes.js +89 -0
  53. package/dist/src/core/graphql/createGraphQLRoutes/helpers/index.d.ts +1 -0
  54. package/dist/src/core/graphql/createGraphQLRoutes/helpers/index.js +17 -0
  55. package/dist/src/core/graphql/createGraphQLRoutes/helpers/prepareGraphQLRequestConfigs/prepareGraphQLRequestConfigs.d.ts +2 -0
  56. package/dist/src/core/graphql/createGraphQLRoutes/helpers/prepareGraphQLRequestConfigs/prepareGraphQLRequestConfigs.js +35 -0
  57. package/dist/src/core/graphql/index.d.ts +1 -0
  58. package/dist/src/core/graphql/index.js +17 -0
  59. package/dist/src/core/middlewares/cookieParseMiddleware/cookieParseMiddleware.d.ts +2 -0
  60. package/dist/src/core/middlewares/cookieParseMiddleware/cookieParseMiddleware.js +16 -0
  61. package/dist/src/core/middlewares/cookieParseMiddleware/helpers/index.d.ts +1 -0
  62. package/dist/src/core/middlewares/cookieParseMiddleware/helpers/index.js +17 -0
  63. package/dist/src/core/middlewares/cookieParseMiddleware/helpers/parseCookie/parseCookie.d.ts +3 -0
  64. package/dist/src/core/middlewares/cookieParseMiddleware/helpers/parseCookie/parseCookie.js +17 -0
  65. package/dist/src/core/middlewares/corsMiddleware/corsMiddleware.d.ts +3 -0
  66. package/dist/src/core/middlewares/corsMiddleware/corsMiddleware.js +45 -0
  67. package/dist/src/core/middlewares/corsMiddleware/helpers/getAllowedOrigins/getAllowedOrigins.d.ts +2 -0
  68. package/dist/src/core/middlewares/corsMiddleware/helpers/getAllowedOrigins/getAllowedOrigins.js +13 -0
  69. package/dist/src/core/middlewares/corsMiddleware/helpers/index.d.ts +1 -0
  70. package/dist/src/core/middlewares/corsMiddleware/helpers/index.js +17 -0
  71. package/dist/src/core/middlewares/destroyerMiddleware/destroyerMiddleware.d.ts +7 -0
  72. package/dist/src/core/middlewares/destroyerMiddleware/destroyerMiddleware.js +23 -0
  73. package/dist/src/core/middlewares/errorMiddleware/errorMiddleware.d.ts +2 -0
  74. package/dist/src/core/middlewares/errorMiddleware/errorMiddleware.js +18 -0
  75. package/dist/src/core/middlewares/index.d.ts +8 -0
  76. package/dist/src/core/middlewares/index.js +24 -0
  77. package/dist/src/core/middlewares/noCorsMiddleware/noCorsMiddleware.d.ts +2 -0
  78. package/dist/src/core/middlewares/noCorsMiddleware/noCorsMiddleware.js +24 -0
  79. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getGraphqlUrlSuggestions/getGraphqlUrlSuggestions.d.ts +11 -0
  80. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getGraphqlUrlSuggestions/getGraphqlUrlSuggestions.js +19 -0
  81. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getLevenshteinDistance/getLevenshteinDistance.d.ts +1 -0
  82. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getLevenshteinDistance/getLevenshteinDistance.js +80 -0
  83. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/getRestUrlSuggestions.d.ts +11 -0
  84. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/getRestUrlSuggestions.js +34 -0
  85. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/helpers/getActualRestUrlMeaningfulString/getActualRestUrlMeaningfulString.d.ts +1 -0
  86. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/helpers/getActualRestUrlMeaningfulString/getActualRestUrlMeaningfulString.js +7 -0
  87. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/helpers/getPatternRestUrlMeaningfulString/getPatternRestUrlMeaningfulString.d.ts +1 -0
  88. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/helpers/getPatternRestUrlMeaningfulString/getPatternRestUrlMeaningfulString.js +5 -0
  89. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/helpers/index.d.ts +2 -0
  90. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/helpers/index.js +18 -0
  91. package/dist/src/core/middlewares/notFoundMiddleware/helpers/index.d.ts +3 -0
  92. package/dist/src/core/middlewares/notFoundMiddleware/helpers/index.js +19 -0
  93. package/dist/src/core/middlewares/notFoundMiddleware/notFoundMiddleware.d.ts +3 -0
  94. package/dist/src/core/middlewares/notFoundMiddleware/notFoundMiddleware.js +53 -0
  95. package/dist/src/core/middlewares/requestInterceptorMiddleware/requestInterceptorMiddleware.d.ts +3 -0
  96. package/dist/src/core/middlewares/requestInterceptorMiddleware/requestInterceptorMiddleware.js +11 -0
  97. package/dist/src/core/middlewares/staticMiddleware/staticMiddleware.d.ts +3 -0
  98. package/dist/src/core/middlewares/staticMiddleware/staticMiddleware.js +30 -0
  99. package/dist/src/core/rest/createRestRoutes/createRestRoutes.d.ts +3 -0
  100. package/dist/src/core/rest/createRestRoutes/createRestRoutes.js +60 -0
  101. package/dist/src/core/rest/createRestRoutes/helpers/index.d.ts +1 -0
  102. package/dist/src/core/rest/createRestRoutes/helpers/index.js +17 -0
  103. package/dist/src/core/rest/createRestRoutes/helpers/prepareRestRequestConfigs/prepareRestRequestConfigs.d.ts +2 -0
  104. package/dist/src/core/rest/createRestRoutes/helpers/prepareRestRequestConfigs/prepareRestRequestConfigs.js +37 -0
  105. package/dist/src/core/rest/index.d.ts +1 -0
  106. package/dist/src/core/rest/index.js +17 -0
  107. package/dist/src/index.d.ts +3 -0
  108. package/dist/src/index.js +19 -0
  109. package/dist/src/server/createMockServer/createMockServer.d.ts +3 -0
  110. package/dist/src/server/createMockServer/createMockServer.js +58 -0
  111. package/dist/src/server/index.d.ts +2 -0
  112. package/dist/src/server/index.js +18 -0
  113. package/dist/src/server/startMockServer/startMockServer.d.ts +5 -0
  114. package/dist/src/server/startMockServer/startMockServer.js +20 -0
  115. package/dist/src/static/views/assets/icons/scheme-dark.svg +3 -0
  116. package/dist/src/static/views/assets/icons/scheme-light.svg +3 -0
  117. package/dist/src/static/views/assets/images/404.png +0 -0
  118. package/dist/src/static/views/assets/images/logo.png +0 -0
  119. package/dist/src/static/views/assets/styles/global.css +88 -0
  120. package/dist/src/static/views/components/header/index.css +55 -0
  121. package/dist/src/static/views/components/header/index.ejs +40 -0
  122. package/dist/src/static/views/components/header/index.js +1 -0
  123. package/dist/src/static/views/features/scheme/dark.css +12 -0
  124. package/dist/src/static/views/features/scheme/index.ejs +3 -0
  125. package/dist/src/static/views/features/scheme/index.js +31 -0
  126. package/dist/src/static/views/features/scheme/light.css +12 -0
  127. package/dist/src/static/views/features/tab/index.css +30 -0
  128. package/dist/src/static/views/features/tab/index.ejs +2 -0
  129. package/dist/src/static/views/features/tab/index.js +12 -0
  130. package/dist/src/static/views/pages/404/index.css +10 -0
  131. package/dist/src/static/views/pages/404/index.ejs +85 -0
  132. package/dist/src/utils/constants/appPath.d.ts +1 -0
  133. package/dist/src/utils/constants/appPath.js +4 -0
  134. package/dist/src/utils/constants/checkModes.d.ts +9 -0
  135. package/dist/src/utils/constants/checkModes.js +31 -0
  136. package/dist/src/utils/constants/default.d.ts +11 -0
  137. package/dist/src/utils/constants/default.js +14 -0
  138. package/dist/src/utils/constants/index.d.ts +3 -0
  139. package/dist/src/utils/constants/index.js +19 -0
  140. package/dist/src/utils/helpers/asyncHandler.d.ts +2 -0
  141. package/dist/src/utils/helpers/asyncHandler.js +5 -0
  142. package/dist/src/utils/helpers/config/index.d.ts +1 -0
  143. package/dist/src/utils/helpers/config/index.js +17 -0
  144. package/dist/src/utils/helpers/config/resolveEntityValues/resolveEntityValues.d.ts +2 -0
  145. package/dist/src/utils/helpers/config/resolveEntityValues/resolveEntityValues.js +131 -0
  146. package/dist/src/utils/helpers/entities/convertToEntityDescriptor/convertToEntityDescriptor.d.ts +2 -0
  147. package/dist/src/utils/helpers/entities/convertToEntityDescriptor/convertToEntityDescriptor.js +8 -0
  148. package/dist/src/utils/helpers/entities/index.d.ts +2 -0
  149. package/dist/src/utils/helpers/entities/index.js +18 -0
  150. package/dist/src/utils/helpers/entities/isEntityDescriptor/isEntityDescriptor.d.ts +1 -0
  151. package/dist/src/utils/helpers/entities/isEntityDescriptor/isEntityDescriptor.js +6 -0
  152. package/dist/src/utils/helpers/graphql/getGraphQLInput/getGraphQLInput.d.ts +3 -0
  153. package/dist/src/utils/helpers/graphql/getGraphQLInput/getGraphQLInput.js +21 -0
  154. package/dist/src/utils/helpers/graphql/index.d.ts +3 -0
  155. package/dist/src/utils/helpers/graphql/index.js +19 -0
  156. package/dist/src/utils/helpers/graphql/parseGraphQLRequest/parseGraphQLRequest.d.ts +3 -0
  157. package/dist/src/utils/helpers/graphql/parseGraphQLRequest/parseGraphQLRequest.js +12 -0
  158. package/dist/src/utils/helpers/graphql/parseQuery/parseQuery.d.ts +7 -0
  159. package/dist/src/utils/helpers/graphql/parseQuery/parseQuery.js +21 -0
  160. package/dist/src/utils/helpers/index.d.ts +10 -0
  161. package/dist/src/utils/helpers/index.js +26 -0
  162. package/dist/src/utils/helpers/interceptors/callRequestInterceptor/callRequestInterceptor.d.ts +8 -0
  163. package/dist/src/utils/helpers/interceptors/callRequestInterceptor/callRequestInterceptor.js +19 -0
  164. package/dist/src/utils/helpers/interceptors/callResponseInterceptors/callResponseInterceptors.d.ts +15 -0
  165. package/dist/src/utils/helpers/interceptors/callResponseInterceptors/callResponseInterceptors.js +52 -0
  166. package/dist/src/utils/helpers/interceptors/helpers/setDelay.d.ts +1 -0
  167. package/dist/src/utils/helpers/interceptors/helpers/setDelay.js +8 -0
  168. package/dist/src/utils/helpers/interceptors/index.d.ts +2 -0
  169. package/dist/src/utils/helpers/interceptors/index.js +18 -0
  170. package/dist/src/utils/helpers/isPlainObject/isPlainObject.d.ts +1 -0
  171. package/dist/src/utils/helpers/isPlainObject/isPlainObject.js +8 -0
  172. package/dist/src/utils/helpers/isPrimitive/isPrimitive.d.ts +2 -0
  173. package/dist/src/utils/helpers/isPrimitive/isPrimitive.js +5 -0
  174. package/dist/src/utils/helpers/isRegExp/isRegExp.d.ts +1 -0
  175. package/dist/src/utils/helpers/isRegExp/isRegExp.js +5 -0
  176. package/dist/src/utils/helpers/sleep.d.ts +1 -0
  177. package/dist/src/utils/helpers/sleep.js +7 -0
  178. package/dist/src/utils/helpers/url/convertWin32PathToUnix/convertWin32PathToUnix.d.ts +1 -0
  179. package/dist/src/utils/helpers/url/convertWin32PathToUnix/convertWin32PathToUnix.js +8 -0
  180. package/dist/src/utils/helpers/url/getUrlParts/getUrlParts.d.ts +1 -0
  181. package/dist/src/utils/helpers/url/getUrlParts/getUrlParts.js +6 -0
  182. package/dist/src/utils/helpers/url/index.d.ts +4 -0
  183. package/dist/src/utils/helpers/url/index.js +20 -0
  184. package/dist/src/utils/helpers/url/removeLeadingAndTrailingSlashes/removeLeadingAndTrailingSlashes.d.ts +1 -0
  185. package/dist/src/utils/helpers/url/removeLeadingAndTrailingSlashes/removeLeadingAndTrailingSlashes.js +5 -0
  186. package/dist/src/utils/helpers/url/urlJoin/urlJoin.d.ts +1 -0
  187. package/dist/src/utils/helpers/url/urlJoin/urlJoin.js +14 -0
  188. package/dist/src/utils/types/checkModes.d.ts +12 -0
  189. package/dist/src/utils/types/checkModes.js +2 -0
  190. package/dist/src/utils/types/graphql.d.ts +74 -0
  191. package/dist/src/utils/types/graphql.js +2 -0
  192. package/dist/src/utils/types/index.d.ts +6 -0
  193. package/dist/src/utils/types/index.js +22 -0
  194. package/dist/src/utils/types/interceptors.d.ts +31 -0
  195. package/dist/src/utils/types/interceptors.js +2 -0
  196. package/dist/src/utils/types/rest.d.ts +77 -0
  197. package/dist/src/utils/types/rest.js +2 -0
  198. package/dist/src/utils/types/server.d.ts +48 -0
  199. package/dist/src/utils/types/server.js +2 -0
  200. package/dist/src/utils/types/values.d.ts +4 -0
  201. package/dist/src/utils/types/values.js +2 -0
  202. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ export declare const sleep: (milliseconds: number) => Promise<unknown>;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sleep = void 0;
4
+ const sleep = (milliseconds) => new Promise((resolve) => {
5
+ setTimeout(resolve, milliseconds);
6
+ });
7
+ exports.sleep = sleep;
@@ -0,0 +1 @@
1
+ export declare const convertWin32PathToUnix: (win32Path: string) => string;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertWin32PathToUnix = void 0;
4
+ const convertWin32PathToUnix = (win32Path) => win32Path
5
+ .replace(/^\\\\\?\\/, '')
6
+ .replace(/\\/g, '/')
7
+ .replace(/\/\/+/g, '/');
8
+ exports.convertWin32PathToUnix = convertWin32PathToUnix;
@@ -0,0 +1 @@
1
+ export declare const getUrlParts: (url: string) => string[];
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUrlParts = void 0;
4
+ const removeLeadingAndTrailingSlashes_1 = require("../removeLeadingAndTrailingSlashes/removeLeadingAndTrailingSlashes");
5
+ const getUrlParts = (url) => (0, removeLeadingAndTrailingSlashes_1.removeLeadingAndTrailingSlashes)(url).split('/');
6
+ exports.getUrlParts = getUrlParts;
@@ -0,0 +1,4 @@
1
+ export * from './convertWin32PathToUnix/convertWin32PathToUnix';
2
+ export * from './getUrlParts/getUrlParts';
3
+ export * from './removeLeadingAndTrailingSlashes/removeLeadingAndTrailingSlashes';
4
+ export * from './urlJoin/urlJoin';
@@ -0,0 +1,20 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./convertWin32PathToUnix/convertWin32PathToUnix"), exports);
18
+ __exportStar(require("./getUrlParts/getUrlParts"), exports);
19
+ __exportStar(require("./removeLeadingAndTrailingSlashes/removeLeadingAndTrailingSlashes"), exports);
20
+ __exportStar(require("./urlJoin/urlJoin"), exports);
@@ -0,0 +1 @@
1
+ export declare const removeLeadingAndTrailingSlashes: (string: string) => string;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeLeadingAndTrailingSlashes = void 0;
4
+ const removeLeadingAndTrailingSlashes = (string) => string.replace(/^\/+|\/+$/g, '');
5
+ exports.removeLeadingAndTrailingSlashes = removeLeadingAndTrailingSlashes;
@@ -0,0 +1 @@
1
+ export declare const urlJoin: (...paths: string[]) => string;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.urlJoin = void 0;
7
+ const os_1 = __importDefault(require("os"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const convertWin32PathToUnix_1 = require("../convertWin32PathToUnix/convertWin32PathToUnix");
10
+ const urlJoin = (...paths) => {
11
+ const pathsToJoin = os_1.default.platform() === 'win32' ? paths.map((path) => (0, convertWin32PathToUnix_1.convertWin32PathToUnix)(path)) : paths;
12
+ return path_1.default.posix.join(...pathsToJoin);
13
+ };
14
+ exports.urlJoin = urlJoin;
@@ -0,0 +1,12 @@
1
+ export type CheckActualValueCheckMode = 'exists' | 'notExists';
2
+ export type CompareWithDescriptorAnyValueCheckMode = 'equals' | 'notEquals';
3
+ export type CompareWithDescriptorStringValueCheckMode = 'includes' | 'notIncludes' | 'startsWith' | 'notStartsWith' | 'endsWith' | 'notEndsWith';
4
+ export type CompareWithDescriptorValueCheckMode = CompareWithDescriptorAnyValueCheckMode | CompareWithDescriptorStringValueCheckMode;
5
+ export type CalculateByDescriptorValueCheckMode = 'regExp' | 'function';
6
+ export type CheckMode = CheckActualValueCheckMode | CompareWithDescriptorValueCheckMode | CalculateByDescriptorValueCheckMode;
7
+ export type PlainEntityCheckMode = Exclude<CheckMode, CompareWithDescriptorStringValueCheckMode | Extract<CalculateByDescriptorValueCheckMode, 'regExp'>>;
8
+ export interface EntityDescriptor {
9
+ checkMode: CheckMode;
10
+ value?: any;
11
+ }
12
+ export type CheckFunction = <ActualValue = any, DescriptorValue = any>(checkMode: CheckMode, actualValue: ActualValue, descriptorValue?: DescriptorValue) => boolean;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,74 @@
1
+ import type { Request } from 'express';
2
+ import type { CalculateByDescriptorValueCheckMode, CheckActualValueCheckMode, CheckFunction, CheckMode, CompareWithDescriptorAnyValueCheckMode, CompareWithDescriptorValueCheckMode } from './checkModes';
3
+ import type { Interceptors } from './interceptors';
4
+ import type { Data, Primitive } from './values';
5
+ export type GraphQLEntityName = 'headers' | 'cookies' | 'query' | 'variables';
6
+ export type GraphQLMappedEntityName = string;
7
+ type GraphQLMappedEntityValue = string | number | boolean;
8
+ type GraphQLPlainEntityInnerValue = {
9
+ checkMode?: undefined;
10
+ call?: undefined;
11
+ dotAll?: undefined;
12
+ [key: string]: Primitive | GraphQLPlainEntityInnerValue;
13
+ };
14
+ type GraphQLPlainEntityValue = {
15
+ checkMode?: undefined;
16
+ call?: undefined;
17
+ forEach?: undefined;
18
+ dotAll?: undefined;
19
+ [key: string]: GraphQLPlainEntityInnerValue | Primitive | GraphQLEntityDescriptor;
20
+ };
21
+ export type GraphQLOperationType = 'query' | 'mutation';
22
+ type GraphQLOperationName = string | RegExp;
23
+ interface GraphQLQuery {
24
+ operationType: GraphQLOperationType;
25
+ operationName: GraphQLOperationName;
26
+ }
27
+ type GraphQLVariables = Record<string, any>;
28
+ export interface GraphQLInput {
29
+ query?: string;
30
+ variables: GraphQLVariables;
31
+ }
32
+ type GraphQLEntityValue<EntityName = GraphQLEntityName> = EntityName extends 'variables' ? GraphQLPlainEntityValue : GraphQLMappedEntityValue;
33
+ type GraphQLEntityValueOrValues<EntityName = GraphQLEntityName> = GraphQLEntityValue<EntityName> | GraphQLEntityValue<EntityName>[];
34
+ type GraphQLEntityDescriptor<EntityName extends GraphQLEntityName = GraphQLEntityName, Check extends CheckMode = CheckMode> = EntityName extends 'variables' ? Check extends Extract<CalculateByDescriptorValueCheckMode, 'function'> ? {
35
+ checkMode: Check;
36
+ value: (actualValue: any, checkFunction: CheckFunction) => boolean;
37
+ } : Check extends CompareWithDescriptorAnyValueCheckMode ? {
38
+ checkMode: Check;
39
+ value: GraphQLEntityValueOrValues<EntityName>;
40
+ } : Check extends CheckActualValueCheckMode ? {
41
+ checkMode: Check;
42
+ value?: undefined;
43
+ } : never : Check extends Extract<CalculateByDescriptorValueCheckMode, 'function'> ? {
44
+ checkMode: Check;
45
+ value: (actualValue: any, checkFunction: CheckFunction) => boolean;
46
+ } : Check extends Extract<CalculateByDescriptorValueCheckMode, 'regExp'> ? {
47
+ checkMode: Check;
48
+ value: RegExp | RegExp[];
49
+ } : Check extends CompareWithDescriptorValueCheckMode ? {
50
+ checkMode: Check;
51
+ value: GraphQLEntityValueOrValues<EntityName>;
52
+ } : Check extends CheckActualValueCheckMode ? {
53
+ checkMode: Check;
54
+ value?: undefined;
55
+ } : never;
56
+ export type GraphQLEntityDescriptorOrValue<EntityName extends GraphQLEntityName = GraphQLEntityName> = EntityName extends 'variables' ? GraphQLEntityDescriptor<EntityName> | GraphQLEntityValue<EntityName> : Record<GraphQLMappedEntityName, GraphQLEntityDescriptor<EntityName> | GraphQLEntityValueOrValues<EntityName>>;
57
+ export type GraphQLEntityDescriptorOnly<EntityName extends GraphQLEntityName = GraphQLEntityName> = EntityName extends 'variables' ? GraphQLEntityDescriptor<EntityName> : Record<GraphQLMappedEntityName, GraphQLEntityDescriptor<EntityName>>;
58
+ export interface GraphQLEntityNamesByOperationType {
59
+ query: GraphQLEntityName;
60
+ mutation: GraphQLEntityName;
61
+ }
62
+ type GraphQLEntityByEntityName<OperationType extends GraphQLOperationType> = {
63
+ [EntityName in GraphQLEntityNamesByOperationType[OperationType]]?: GraphQLEntityDescriptorOrValue<EntityName>;
64
+ };
65
+ export interface GraphQLRouteConfig<OperationType extends GraphQLOperationType = GraphQLOperationType, Entities extends GraphQLEntityByEntityName<OperationType> = GraphQLEntityByEntityName<OperationType>> {
66
+ entities?: Entities;
67
+ data: ((request: Request, entities: Entities) => Data | Promise<Data>) | Data;
68
+ interceptors?: Pick<Interceptors, 'response'>;
69
+ }
70
+ export interface GraphQLRequestConfig extends GraphQLQuery {
71
+ routes: GraphQLRouteConfig[];
72
+ interceptors?: Interceptors;
73
+ }
74
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,6 @@
1
+ export * from './checkModes';
2
+ export * from './graphql';
3
+ export * from './interceptors';
4
+ export * from './rest';
5
+ export * from './server';
6
+ export * from './values';
@@ -0,0 +1,22 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./checkModes"), exports);
18
+ __exportStar(require("./graphql"), exports);
19
+ __exportStar(require("./interceptors"), exports);
20
+ __exportStar(require("./rest"), exports);
21
+ __exportStar(require("./server"), exports);
22
+ __exportStar(require("./values"), exports);
@@ -0,0 +1,31 @@
1
+ import type { CookieOptions, Request, Response } from 'express';
2
+ type RequestInterceptorCookieValue = string | undefined;
3
+ type RequestInterceptorHeaderValue = string | number | string[] | undefined;
4
+ export interface RequestInterceptorParams {
5
+ request: Request;
6
+ setDelay: (delay: number) => Promise<void>;
7
+ getCookie: (name: string) => RequestInterceptorCookieValue;
8
+ getHeader: (field: string) => RequestInterceptorHeaderValue;
9
+ getHeaders: () => Record<string, RequestInterceptorHeaderValue>;
10
+ }
11
+ export type RequestInterceptor = (params: RequestInterceptorParams) => void;
12
+ export interface ResponseInterceptorParams {
13
+ request: Request;
14
+ response: Response;
15
+ setDelay: (delay: number) => Promise<void>;
16
+ setStatusCode: (statusCode: number) => void;
17
+ setHeader: (field: string, value?: string | string[]) => void;
18
+ appendHeader: (field: string, value?: string[] | string) => void;
19
+ getHeader: (field: string) => RequestInterceptorHeaderValue;
20
+ getHeaders: () => Record<string, RequestInterceptorHeaderValue>;
21
+ setCookie: (name: string, value: string, options?: CookieOptions) => void;
22
+ getCookie: (name: string) => RequestInterceptorCookieValue;
23
+ clearCookie: (name: string, options?: CookieOptions) => void;
24
+ attachment: (filename: string) => void;
25
+ }
26
+ export type ResponseInterceptor<Data = any> = (data: Data, params: ResponseInterceptorParams) => any;
27
+ export interface Interceptors {
28
+ request?: RequestInterceptor;
29
+ response?: ResponseInterceptor;
30
+ }
31
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,77 @@
1
+ import type { Request } from 'express';
2
+ import type { CalculateByDescriptorValueCheckMode, CheckActualValueCheckMode, CheckFunction, CheckMode, CompareWithDescriptorAnyValueCheckMode, CompareWithDescriptorValueCheckMode } from './checkModes';
3
+ import type { Interceptors } from './interceptors';
4
+ import type { Data, Primitive } from './values';
5
+ export type RestMethod = 'get' | 'post' | 'delete' | 'put' | 'patch' | 'options';
6
+ export type RestEntityName = 'headers' | 'cookies' | 'query' | 'params' | 'body';
7
+ export type RestMappedEntityKey = string;
8
+ type RestMappedEntityValue = string | number | boolean;
9
+ type RestPlainEntityInnerValue = {
10
+ checkMode?: undefined;
11
+ call?: undefined;
12
+ dotAll?: undefined;
13
+ [key: string]: Primitive | RestPlainEntityInnerValue;
14
+ };
15
+ type RestPlainEntityValue = {
16
+ checkMode?: undefined;
17
+ call?: undefined;
18
+ dotAll?: undefined;
19
+ [key: string]: RestPlainEntityInnerValue | Primitive | RestEntityDescriptor;
20
+ } | (RestPlainEntityInnerValue | Primitive | RestEntityDescriptor)[];
21
+ type RestEntityValue<EntityName = RestEntityName> = EntityName extends 'body' ? RestPlainEntityValue : RestMappedEntityValue;
22
+ type RestEntityValueOrValues<EntityName = RestEntityName> = RestEntityValue<EntityName> | RestEntityValue<EntityName>[];
23
+ type RestEntityDescriptor<EntityName extends RestEntityName = RestEntityName, Check extends CheckMode = CheckMode> = EntityName extends 'body' ? Check extends Extract<CalculateByDescriptorValueCheckMode, 'function'> ? {
24
+ checkMode: Check;
25
+ value: (actualValue: any, checkFunction: CheckFunction) => boolean;
26
+ } : Check extends CompareWithDescriptorAnyValueCheckMode ? {
27
+ checkMode: Check;
28
+ value: RestEntityValueOrValues<EntityName>;
29
+ } : Check extends CheckActualValueCheckMode ? {
30
+ checkMode: Check;
31
+ value?: undefined;
32
+ } : never : Check extends Extract<CalculateByDescriptorValueCheckMode, 'function'> ? {
33
+ checkMode: Check;
34
+ value: (actualValue: any, checkFunction: CheckFunction) => boolean;
35
+ } : Check extends Extract<CalculateByDescriptorValueCheckMode, 'regExp'> ? {
36
+ checkMode: Check;
37
+ value: RegExp | RegExp[];
38
+ } : Check extends CompareWithDescriptorValueCheckMode ? {
39
+ checkMode: Check;
40
+ value: RestEntityValueOrValues<EntityName>;
41
+ } : Check extends CheckActualValueCheckMode ? {
42
+ checkMode: Check;
43
+ value?: undefined;
44
+ } : never;
45
+ export type RestEntityDescriptorOrValue<EntityName extends RestEntityName = RestEntityName> = EntityName extends 'body' ? RestEntityDescriptor<EntityName> | RestEntityValue<EntityName> : Record<RestMappedEntityKey, RestEntityDescriptor<EntityName> | RestEntityValueOrValues<EntityName>>;
46
+ export type RestEntityDescriptorOnly<EntityName extends RestEntityName = RestEntityName> = EntityName extends 'body' ? RestEntityDescriptor<EntityName> : Record<RestMappedEntityKey, RestEntityDescriptor<EntityName>>;
47
+ export interface RestEntityNamesByMethod {
48
+ get: Exclude<RestEntityName, 'body'>;
49
+ delete: Exclude<RestEntityName, 'body'>;
50
+ post: RestEntityName;
51
+ put: RestEntityName;
52
+ patch: RestEntityName;
53
+ options: Exclude<RestEntityName, 'body'>;
54
+ }
55
+ export type RestEntityByEntityName<Method extends RestMethod> = {
56
+ [EntityName in RestEntityNamesByMethod[Method]]?: RestEntityDescriptorOrValue<EntityName>;
57
+ };
58
+ export interface RestRouteConfig<Method extends RestMethod, Entities extends RestEntityByEntityName<Method> = RestEntityByEntityName<Method>> {
59
+ entities?: Entities;
60
+ data: ((request: Request, entities: Entities) => Data | Promise<Data>) | Data;
61
+ interceptors?: Pick<Interceptors, 'response'>;
62
+ }
63
+ export type RestPathString = `/${string}`;
64
+ interface BaseRestRequestConfig<Method extends RestMethod> {
65
+ path: RestPathString | RegExp;
66
+ method: Method;
67
+ routes: RestRouteConfig<Method>[];
68
+ interceptors?: Interceptors;
69
+ }
70
+ type RestGetRequestConfig = BaseRestRequestConfig<'get'>;
71
+ type RestPostRequestConfig = BaseRestRequestConfig<'post'>;
72
+ type RestPutRequestConfig = BaseRestRequestConfig<'put'>;
73
+ type RestDeleteRequestConfig = BaseRestRequestConfig<'delete'>;
74
+ type RestPatchRequestConfig = BaseRestRequestConfig<'patch'>;
75
+ type RestOptionsRequestConfig = BaseRestRequestConfig<'options'>;
76
+ export type RestRequestConfig = RestGetRequestConfig | RestPostRequestConfig | RestPutRequestConfig | RestDeleteRequestConfig | RestPatchRequestConfig | RestOptionsRequestConfig;
77
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,48 @@
1
+ import type { Request } from 'express';
2
+ import type { GraphQLRequestConfig } from './graphql';
3
+ import type { Interceptors } from './interceptors';
4
+ import type { RestMethod, RestRequestConfig } from './rest';
5
+ type StaticPathObject = {
6
+ prefix: `/${string}`;
7
+ path: `/${string}`;
8
+ };
9
+ export type StaticPath = `/${string}` | StaticPathObject | (StaticPathObject | `/${string}`)[];
10
+ type CorsHeader = string;
11
+ export type CorsOrigin = string | RegExp | (RegExp | string)[];
12
+ export type Cors = {
13
+ origin: CorsOrigin | ((request: Request) => Promise<CorsOrigin> | CorsOrigin);
14
+ methods?: Uppercase<RestMethod>[];
15
+ allowedHeaders?: CorsHeader[];
16
+ exposedHeaders?: CorsHeader[];
17
+ credentials?: boolean;
18
+ maxAge?: number;
19
+ };
20
+ type Port = number;
21
+ export type BaseUrl = `/${string}`;
22
+ export interface RestConfig {
23
+ baseUrl?: BaseUrl;
24
+ configs: RestRequestConfig[];
25
+ interceptors?: Interceptors;
26
+ }
27
+ export interface GraphqlConfig {
28
+ baseUrl?: BaseUrl;
29
+ configs: GraphQLRequestConfig[];
30
+ interceptors?: Interceptors;
31
+ }
32
+ export interface MockServerConfig {
33
+ baseUrl?: BaseUrl;
34
+ rest?: RestConfig;
35
+ graphql?: GraphqlConfig;
36
+ port?: Port;
37
+ staticPath?: StaticPath;
38
+ interceptors?: Interceptors;
39
+ cors?: Cors;
40
+ }
41
+ export interface MockServerConfigArgv {
42
+ baseUrl?: string;
43
+ port?: number;
44
+ staticPath?: string;
45
+ config?: string;
46
+ watch?: boolean;
47
+ }
48
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export type PlainObject = Record<string, any>;
2
+ export type PlainFunction = (...args: any[]) => any;
3
+ export type Primitive = boolean | number | bigint | string | null | undefined | symbol;
4
+ export type Data = boolean | number | string | any[] | Record<any, any> | null | undefined;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mock-config-server",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "Tool that easily and quickly imitates server operation, create full fake api in few steps",
5
5
  "author": {
6
6
  "name": "SIBERIA CAN CODE 🧊",
@@ -34,7 +34,7 @@
34
34
  "node": ">=14"
35
35
  },
36
36
  "scripts": {
37
- "prepare": "husky install",
37
+ "prepare": "husky install && yarn build",
38
38
  "build": "shx rm -rf dist && tsc -p tsconfig.production.json && tsc-alias -p tsconfig.production.json && shx cp -R src/static dist/src/static",
39
39
  "start": "yarn build && node ./dist/bin/bin.js",
40
40
  "dev": "nodemon --watch src --watch bin --watch mock-server.config.* -e js,ts,ejs --exec \"yarn start\"",