mock-config-server 3.1.1 → 3.2.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.
Files changed (48) hide show
  1. package/README.md +21 -11
  2. package/dist/bin/validateMockServerConfig/validateMockServerConfig.js +2 -2
  3. package/dist/src/core/database/createDatabaseRoutes/helpers/createNestedDatabaseRoutes/createNestedDatabaseRoutes.js +8 -2
  4. package/dist/src/core/database/createDatabaseRoutes/helpers/filter/filter.d.ts +1 -0
  5. package/dist/src/core/database/createDatabaseRoutes/helpers/filter/filter.js +17 -0
  6. package/dist/src/core/database/createDatabaseRoutes/helpers/index.d.ts +1 -1
  7. package/dist/src/core/database/createDatabaseRoutes/helpers/index.js +8 -8
  8. package/dist/src/core/database/createDatabaseRoutes/storages/File/FileStorage.d.ts +1 -2
  9. package/dist/src/core/database/createDatabaseRoutes/storages/Memory/MemoryStorage.d.ts +1 -2
  10. package/dist/src/core/middlewares/index.d.ts +4 -4
  11. package/dist/src/core/middlewares/index.js +28 -28
  12. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getLevenshteinDistance/getLevenshteinDistance.js +1 -0
  13. package/dist/src/index.d.ts +1 -2
  14. package/dist/src/index.js +4 -15
  15. package/dist/src/server/createDatabaseMockServer/createDatabaseMockServer.d.ts +3 -0
  16. package/dist/src/server/createDatabaseMockServer/createDatabaseMockServer.js +55 -0
  17. package/dist/src/server/createGraphQLMockServer/createGraphQLMockServer.d.ts +3 -0
  18. package/dist/src/server/createGraphQLMockServer/createGraphQLMockServer.js +60 -0
  19. package/dist/src/server/createMockServer/createMockServer.d.ts +1 -1
  20. package/dist/src/server/createMockServer/createMockServer.js +1 -2
  21. package/dist/src/server/createRestMockServer/createRestMockServer.d.ts +3 -0
  22. package/dist/src/server/createRestMockServer/createRestMockServer.js +60 -0
  23. package/dist/src/server/index.d.ts +6 -0
  24. package/dist/src/server/index.js +66 -0
  25. package/dist/src/server/startDatabaseMockServer/startDatabaseMockServer.d.ts +5 -0
  26. package/dist/src/server/startDatabaseMockServer/startDatabaseMockServer.js +23 -0
  27. package/dist/src/server/startGraphQLMockServer/startGraphQLMockServer.d.ts +5 -0
  28. package/dist/src/server/startGraphQLMockServer/startGraphQLMockServer.js +23 -0
  29. package/dist/src/server/startRestMockServer/startRestMockServer.d.ts +5 -0
  30. package/dist/src/server/startRestMockServer/startRestMockServer.js +23 -0
  31. package/dist/src/static/views/assets/styles/global.css +2 -2
  32. package/dist/src/static/views/components/header/index.css +4 -4
  33. package/dist/src/static/views/components/header/index.ejs +6 -6
  34. package/dist/src/static/views/components/header/index.js +1 -1
  35. package/dist/src/static/views/features/scheme/dark.css +1 -0
  36. package/dist/src/static/views/features/scheme/index.js +31 -31
  37. package/dist/src/static/views/features/scheme/light.css +1 -0
  38. package/dist/src/static/views/features/tab/index.css +4 -4
  39. package/dist/src/static/views/features/tab/index.js +1 -1
  40. package/dist/src/static/views/pages/404/index.css +4 -4
  41. package/dist/src/static/views/pages/404/index.ejs +8 -8
  42. package/dist/src/utils/constants/checkModes.d.ts +1 -1
  43. package/dist/src/utils/helpers/graphql/index.d.ts +1 -1
  44. package/dist/src/utils/helpers/graphql/index.js +11 -11
  45. package/dist/src/utils/helpers/index.d.ts +5 -5
  46. package/dist/src/utils/helpers/index.js +40 -40
  47. package/dist/src/utils/types/server.d.ts +18 -4
  48. package/package.json +9 -19
package/README.md CHANGED
@@ -210,6 +210,7 @@ If you need more complex logic for matching entities, you can use entity descrip
210
210
  Descriptor is an object with `checkMode` and `value` fields that describe how the correctness of the actual entity is calculated.
211
211
 
212
212
  Allowed `checkModes`
213
+
213
214
  - equals - checks actual value for equality with descriptor value (default).
214
215
  - notEquals - checks actual value for non-equality with descriptor value.
215
216
  - exists - checks actual value for existence i.e. any value.
@@ -264,7 +265,7 @@ const mockServerConfig = {
264
265
  }
265
266
  ]
266
267
  }
267
- }
268
+ };
268
269
 
269
270
  module.exports = mockServerConfig;
270
271
  ```
@@ -309,7 +310,7 @@ const mockServerConfig = {
309
310
  {
310
311
  entities: {
311
312
  body: {
312
- 'title': {
313
+ title: {
313
314
  checkMode: 'startsWith',
314
315
  value: 'A'
315
316
  }
@@ -329,7 +330,7 @@ const mockServerConfig = {
329
330
  {
330
331
  checkMode: 'startsWith',
331
332
  value: 1
332
- },
333
+ },
333
334
  2
334
335
  ]
335
336
  },
@@ -339,7 +340,7 @@ const mockServerConfig = {
339
340
  }
340
341
  ]
341
342
  }
342
- }
343
+ };
343
344
 
344
345
  module.exports = mockServerConfig;
345
346
  ```
@@ -375,7 +376,7 @@ const mockServerConfig = {
375
376
  }
376
377
  ]
377
378
  }
378
- }
379
+ };
379
380
 
380
381
  module.exports = mockServerConfig;
381
382
  ```
@@ -454,6 +455,7 @@ Functions to change request or response parameters
454
455
  ## Database
455
456
 
456
457
  With `mock-config-server` you can create your own mock database with all CRUD operations
458
+
457
459
  - `data` {Object | string} initial data for database
458
460
  - `routes?` {Object | string} map of custom routes for database
459
461
 
@@ -463,9 +465,7 @@ With `mock-config-server` you can create your own mock database with all CRUD op
463
465
  const mockServerConfig = {
464
466
  database: {
465
467
  data: {
466
- users: [
467
- { id: 1, name: 'John' }
468
- ],
468
+ users: [{ id: 1, name: 'John' }],
469
469
  settings: {
470
470
  blocked: false
471
471
  }
@@ -477,6 +477,7 @@ const mockServerConfig = {
477
477
  Now you have the following routes for requests
478
478
 
479
479
  #### Collection routes
480
+
480
481
  ```
481
482
  GET /users
482
483
  POST /users
@@ -510,9 +511,7 @@ __routes -> return routes from database config
510
511
  const mockServerConfig = {
511
512
  database: {
512
513
  data: {
513
- users: [
514
- { id: 1, name: 'John' }
515
- ],
514
+ users: [{ id: 1, name: 'John' }],
516
515
  settings: {
517
516
  blocked: false
518
517
  }
@@ -533,10 +532,21 @@ Now following routes will work correctly
533
532
  ```
534
533
 
535
534
  Note some things:
535
+
536
536
  - String routes should start with forward slash
537
537
  - If you want to use id param in route then use only `:id` template
538
538
  - You can use `wildcard` only for custom route, **not for real route**
539
539
 
540
+ ### Filter
541
+
542
+ > Use . to access deep properties
543
+
544
+ ```
545
+ GET /users?name=siberiacancode
546
+ GET /users?id=1&id=2
547
+ GET /users?author.name=siberiacancode
548
+ ```
549
+
540
550
  ### File example
541
551
 
542
552
  ```javascript
@@ -13,8 +13,8 @@ var _validatePort = require("./validatePort/validatePort");
13
13
  var _validateRestConfig = require("./validateRestConfig/validateRestConfig");
14
14
  var _validateStaticPath = require("./validateStaticPath/validateStaticPath");
15
15
  const validateMockServerConfig = mockServerConfig => {
16
- if (!mockServerConfig.rest && !mockServerConfig.graphql && !mockServerConfig.database) {
17
- throw new Error('configuration should contain at least one of these configs: rest | graphql | database; see our doc (https://www.npmjs.com/package/mock-config-server) for more information');
16
+ if (!mockServerConfig.rest && !mockServerConfig.graphql && !mockServerConfig.database && !mockServerConfig.staticPath) {
17
+ throw new Error('configuration should contain at least one of these configs: rest | graphql | database | staticPath; see our doc (https://www.npmjs.com/package/mock-config-server) for more information');
18
18
  }
19
19
  try {
20
20
  if (mockServerConfig.rest) (0, _validateRestConfig.validateRestConfig)(mockServerConfig.rest);
@@ -5,16 +5,22 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createNestedDatabaseRoutes = void 0;
7
7
  var _array = require("../array");
8
+ var _filter = require("../filter/filter");
8
9
  const createNestedDatabaseRoutes = (router, database, storage) => {
9
10
  Object.keys(database).forEach(key => {
10
11
  const collectionPath = `/${key}`;
11
12
  const itemPath = `/${key}/:id`;
12
- router.route(collectionPath).get((_request, response) => {
13
+ router.route(collectionPath).get((request, response) => {
14
+ let data = storage.read(key);
15
+ if (request.query && Object.keys(request.query).length) {
16
+ data = (0, _filter.filter)(data, request.query);
17
+ }
18
+
13
19
  // ✅ important:
14
20
  // set 'Cache-Control' header for explicit browsers response revalidate
15
21
  // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control
16
22
  response.set('Cache-control', 'max-age=0, must-revalidate');
17
- response.json(storage.read(key));
23
+ response.json(data);
18
24
  });
19
25
  router.route(collectionPath).post((request, response) => {
20
26
  const collection = storage.read(key);
@@ -0,0 +1 @@
1
+ export declare const filter: (array: any[], filters: Record<string, string | string[]>) => any[];
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.filter = void 0;
7
+ var _flat = require("flat");
8
+ const filter = (array, filters) => array.filter(element => {
9
+ const flattenedElement = (0, _flat.flatten)(element);
10
+ return Object.entries(filters).every(([key, value]) => {
11
+ if (Array.isArray(value)) {
12
+ return value.includes(`${flattenedElement[key]}`);
13
+ }
14
+ return `${flattenedElement[key]}` === value;
15
+ });
16
+ });
17
+ exports.filter = filter;
@@ -1,5 +1,5 @@
1
1
  export * from './array';
2
- export * from './createRewrittenDatabaseRoutes/createRewrittenDatabaseRoutes';
3
2
  export * from './createNestedDatabaseRoutes/createNestedDatabaseRoutes';
3
+ export * from './createRewrittenDatabaseRoutes/createRewrittenDatabaseRoutes';
4
4
  export * from './createShallowDatabaseRoutes/createShallowDatabaseRoutes';
5
5
  export * from './splitDatabaseByNesting/splitDatabaseByNesting';
@@ -14,25 +14,25 @@ Object.keys(_array).forEach(function (key) {
14
14
  }
15
15
  });
16
16
  });
17
- var _createRewrittenDatabaseRoutes = require("./createRewrittenDatabaseRoutes/createRewrittenDatabaseRoutes");
18
- Object.keys(_createRewrittenDatabaseRoutes).forEach(function (key) {
17
+ var _createNestedDatabaseRoutes = require("./createNestedDatabaseRoutes/createNestedDatabaseRoutes");
18
+ Object.keys(_createNestedDatabaseRoutes).forEach(function (key) {
19
19
  if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _createRewrittenDatabaseRoutes[key]) return;
20
+ if (key in exports && exports[key] === _createNestedDatabaseRoutes[key]) return;
21
21
  Object.defineProperty(exports, key, {
22
22
  enumerable: true,
23
23
  get: function () {
24
- return _createRewrittenDatabaseRoutes[key];
24
+ return _createNestedDatabaseRoutes[key];
25
25
  }
26
26
  });
27
27
  });
28
- var _createNestedDatabaseRoutes = require("./createNestedDatabaseRoutes/createNestedDatabaseRoutes");
29
- Object.keys(_createNestedDatabaseRoutes).forEach(function (key) {
28
+ var _createRewrittenDatabaseRoutes = require("./createRewrittenDatabaseRoutes/createRewrittenDatabaseRoutes");
29
+ Object.keys(_createRewrittenDatabaseRoutes).forEach(function (key) {
30
30
  if (key === "default" || key === "__esModule") return;
31
- if (key in exports && exports[key] === _createNestedDatabaseRoutes[key]) return;
31
+ if (key in exports && exports[key] === _createRewrittenDatabaseRoutes[key]) return;
32
32
  Object.defineProperty(exports, key, {
33
33
  enumerable: true,
34
34
  get: function () {
35
- return _createNestedDatabaseRoutes[key];
35
+ return _createRewrittenDatabaseRoutes[key];
36
36
  }
37
37
  });
38
38
  });
@@ -1,6 +1,5 @@
1
1
  type Index = string | number;
2
- type Object = Record<Index, any>;
3
- export declare class FileStorage<T extends Object = Object> {
2
+ export declare class FileStorage<T extends Record<Index, any> = Record<Index, any>> {
4
3
  private readonly fileWriter;
5
4
  private readonly data;
6
5
  constructor(fileName: string);
@@ -1,6 +1,5 @@
1
1
  type Index = string | number;
2
- type Object = Record<Index, any>;
3
- export declare class MemoryStorage<T extends Object = Object> {
2
+ export declare class MemoryStorage<T extends Record<Index, any> = Record<Index, any>> {
4
3
  private readonly data;
5
4
  constructor(initialData: T);
6
5
  read(key?: Index | Index[]): any;
@@ -1,8 +1,8 @@
1
- export * from './staticMiddleware/staticMiddleware';
1
+ export * from './cookieParseMiddleware/cookieParseMiddleware';
2
2
  export * from './corsMiddleware/corsMiddleware';
3
+ export * from './destroyerMiddleware/destroyerMiddleware';
4
+ export * from './errorMiddleware/errorMiddleware';
3
5
  export * from './noCorsMiddleware/noCorsMiddleware';
4
6
  export * from './notFoundMiddleware/notFoundMiddleware';
5
7
  export * from './requestInterceptorMiddleware/requestInterceptorMiddleware';
6
- export * from './destroyerMiddleware/destroyerMiddleware';
7
- export * from './cookieParseMiddleware/cookieParseMiddleware';
8
- export * from './errorMiddleware/errorMiddleware';
8
+ export * from './staticMiddleware/staticMiddleware';
@@ -3,14 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _staticMiddleware = require("./staticMiddleware/staticMiddleware");
7
- Object.keys(_staticMiddleware).forEach(function (key) {
6
+ var _cookieParseMiddleware = require("./cookieParseMiddleware/cookieParseMiddleware");
7
+ Object.keys(_cookieParseMiddleware).forEach(function (key) {
8
8
  if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _staticMiddleware[key]) return;
9
+ if (key in exports && exports[key] === _cookieParseMiddleware[key]) return;
10
10
  Object.defineProperty(exports, key, {
11
11
  enumerable: true,
12
12
  get: function () {
13
- return _staticMiddleware[key];
13
+ return _cookieParseMiddleware[key];
14
14
  }
15
15
  });
16
16
  });
@@ -25,69 +25,69 @@ Object.keys(_corsMiddleware).forEach(function (key) {
25
25
  }
26
26
  });
27
27
  });
28
- var _noCorsMiddleware = require("./noCorsMiddleware/noCorsMiddleware");
29
- Object.keys(_noCorsMiddleware).forEach(function (key) {
28
+ var _destroyerMiddleware = require("./destroyerMiddleware/destroyerMiddleware");
29
+ Object.keys(_destroyerMiddleware).forEach(function (key) {
30
30
  if (key === "default" || key === "__esModule") return;
31
- if (key in exports && exports[key] === _noCorsMiddleware[key]) return;
31
+ if (key in exports && exports[key] === _destroyerMiddleware[key]) return;
32
32
  Object.defineProperty(exports, key, {
33
33
  enumerable: true,
34
34
  get: function () {
35
- return _noCorsMiddleware[key];
35
+ return _destroyerMiddleware[key];
36
36
  }
37
37
  });
38
38
  });
39
- var _notFoundMiddleware = require("./notFoundMiddleware/notFoundMiddleware");
40
- Object.keys(_notFoundMiddleware).forEach(function (key) {
39
+ var _errorMiddleware = require("./errorMiddleware/errorMiddleware");
40
+ Object.keys(_errorMiddleware).forEach(function (key) {
41
41
  if (key === "default" || key === "__esModule") return;
42
- if (key in exports && exports[key] === _notFoundMiddleware[key]) return;
42
+ if (key in exports && exports[key] === _errorMiddleware[key]) return;
43
43
  Object.defineProperty(exports, key, {
44
44
  enumerable: true,
45
45
  get: function () {
46
- return _notFoundMiddleware[key];
46
+ return _errorMiddleware[key];
47
47
  }
48
48
  });
49
49
  });
50
- var _requestInterceptorMiddleware = require("./requestInterceptorMiddleware/requestInterceptorMiddleware");
51
- Object.keys(_requestInterceptorMiddleware).forEach(function (key) {
50
+ var _noCorsMiddleware = require("./noCorsMiddleware/noCorsMiddleware");
51
+ Object.keys(_noCorsMiddleware).forEach(function (key) {
52
52
  if (key === "default" || key === "__esModule") return;
53
- if (key in exports && exports[key] === _requestInterceptorMiddleware[key]) return;
53
+ if (key in exports && exports[key] === _noCorsMiddleware[key]) return;
54
54
  Object.defineProperty(exports, key, {
55
55
  enumerable: true,
56
56
  get: function () {
57
- return _requestInterceptorMiddleware[key];
57
+ return _noCorsMiddleware[key];
58
58
  }
59
59
  });
60
60
  });
61
- var _destroyerMiddleware = require("./destroyerMiddleware/destroyerMiddleware");
62
- Object.keys(_destroyerMiddleware).forEach(function (key) {
61
+ var _notFoundMiddleware = require("./notFoundMiddleware/notFoundMiddleware");
62
+ Object.keys(_notFoundMiddleware).forEach(function (key) {
63
63
  if (key === "default" || key === "__esModule") return;
64
- if (key in exports && exports[key] === _destroyerMiddleware[key]) return;
64
+ if (key in exports && exports[key] === _notFoundMiddleware[key]) return;
65
65
  Object.defineProperty(exports, key, {
66
66
  enumerable: true,
67
67
  get: function () {
68
- return _destroyerMiddleware[key];
68
+ return _notFoundMiddleware[key];
69
69
  }
70
70
  });
71
71
  });
72
- var _cookieParseMiddleware = require("./cookieParseMiddleware/cookieParseMiddleware");
73
- Object.keys(_cookieParseMiddleware).forEach(function (key) {
72
+ var _requestInterceptorMiddleware = require("./requestInterceptorMiddleware/requestInterceptorMiddleware");
73
+ Object.keys(_requestInterceptorMiddleware).forEach(function (key) {
74
74
  if (key === "default" || key === "__esModule") return;
75
- if (key in exports && exports[key] === _cookieParseMiddleware[key]) return;
75
+ if (key in exports && exports[key] === _requestInterceptorMiddleware[key]) return;
76
76
  Object.defineProperty(exports, key, {
77
77
  enumerable: true,
78
78
  get: function () {
79
- return _cookieParseMiddleware[key];
79
+ return _requestInterceptorMiddleware[key];
80
80
  }
81
81
  });
82
82
  });
83
- var _errorMiddleware = require("./errorMiddleware/errorMiddleware");
84
- Object.keys(_errorMiddleware).forEach(function (key) {
83
+ var _staticMiddleware = require("./staticMiddleware/staticMiddleware");
84
+ Object.keys(_staticMiddleware).forEach(function (key) {
85
85
  if (key === "default" || key === "__esModule") return;
86
- if (key in exports && exports[key] === _errorMiddleware[key]) return;
86
+ if (key in exports && exports[key] === _staticMiddleware[key]) return;
87
87
  Object.defineProperty(exports, key, {
88
88
  enumerable: true,
89
89
  get: function () {
90
- return _errorMiddleware[key];
90
+ return _staticMiddleware[key];
91
91
  }
92
92
  });
93
93
  });
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getLevenshteinDistance = void 0;
7
+ /* eslint-disable eslint-comments/disable-enable-pair, eslint-comments/no-unlimited-disable */
7
8
  /* eslint-disable */
8
9
 
9
10
  const min = (d0, d1, d2, bx, ay) => d0 < d1 || d2 < d1 ? d0 > d2 ? d2 + 1 : d0 + 1 : bx === ay ? d1 : d1 + 1;
@@ -1,3 +1,2 @@
1
- export * from './server/createMockServer/createMockServer';
2
- export * from './server/startMockServer/startMockServer';
1
+ export * from './server';
3
2
  export * from './utils/types';
package/dist/src/index.js CHANGED
@@ -3,25 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _createMockServer = require("./server/createMockServer/createMockServer");
7
- Object.keys(_createMockServer).forEach(function (key) {
6
+ var _server = require("./server");
7
+ Object.keys(_server).forEach(function (key) {
8
8
  if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _createMockServer[key]) return;
9
+ if (key in exports && exports[key] === _server[key]) return;
10
10
  Object.defineProperty(exports, key, {
11
11
  enumerable: true,
12
12
  get: function () {
13
- return _createMockServer[key];
14
- }
15
- });
16
- });
17
- var _startMockServer = require("./server/startMockServer/startMockServer");
18
- Object.keys(_startMockServer).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _startMockServer[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function () {
24
- return _startMockServer[key];
13
+ return _server[key];
25
14
  }
26
15
  });
27
16
  });
@@ -0,0 +1,3 @@
1
+ import type { Express } from 'express';
2
+ import type { DatabaseMockServerConfig } from '../../utils/types';
3
+ export declare const createDatabaseMockServer: (databaseMockServerConfig: Omit<DatabaseMockServerConfig, 'port'>, server?: Express) => Express;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createDatabaseMockServer = void 0;
7
+ var _bodyParser = _interopRequireDefault(require("body-parser"));
8
+ var _express = _interopRequireDefault(require("express"));
9
+ var _database = require("../../core/database");
10
+ var _middlewares = require("../../core/middlewares");
11
+ var _helpers = require("../../utils/helpers");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ const createDatabaseMockServer = (databaseMockServerConfig, server = (0, _express.default)()) => {
14
+ var _databaseMockServerCo, _databaseMockServerCo2;
15
+ const {
16
+ cors,
17
+ staticPath,
18
+ data,
19
+ routes
20
+ } = databaseMockServerConfig;
21
+ server.set('view engine', 'ejs');
22
+ server.set('views', (0, _helpers.urlJoin)(__dirname, '../../static/views'));
23
+ server.use(_express.default.static((0, _helpers.urlJoin)(__dirname, '../../static/views')));
24
+ server.use(_bodyParser.default.urlencoded({
25
+ extended: false
26
+ }));
27
+ server.use(_bodyParser.default.json({
28
+ limit: '10mb'
29
+ }));
30
+ server.set('json spaces', 2);
31
+ server.use(_bodyParser.default.text());
32
+ (0, _middlewares.cookieParseMiddleware)(server);
33
+ const serverRequestInterceptor = (_databaseMockServerCo = databaseMockServerConfig.interceptors) === null || _databaseMockServerCo === void 0 ? void 0 : _databaseMockServerCo.request;
34
+ if (serverRequestInterceptor) {
35
+ (0, _middlewares.requestInterceptorMiddleware)(server, serverRequestInterceptor);
36
+ }
37
+ const baseUrl = (_databaseMockServerCo2 = databaseMockServerConfig.baseUrl) !== null && _databaseMockServerCo2 !== void 0 ? _databaseMockServerCo2 : '/';
38
+ if (cors) {
39
+ (0, _middlewares.corsMiddleware)(server, cors);
40
+ } else {
41
+ (0, _middlewares.noCorsMiddleware)(server);
42
+ }
43
+ if (staticPath) {
44
+ (0, _middlewares.staticMiddleware)(server, baseUrl, staticPath);
45
+ }
46
+ const routerWithDatabaseRoutes = (0, _database.createDatabaseRoutes)(_express.default.Router(), {
47
+ data,
48
+ routes
49
+ });
50
+ server.use(baseUrl, routerWithDatabaseRoutes);
51
+ (0, _middlewares.notFoundMiddleware)(server, databaseMockServerConfig);
52
+ (0, _middlewares.errorMiddleware)(server);
53
+ return server;
54
+ };
55
+ exports.createDatabaseMockServer = createDatabaseMockServer;
@@ -0,0 +1,3 @@
1
+ import type { Express } from 'express';
2
+ import type { GraphQLMockServerConfig } from '../../utils/types';
3
+ export declare const createGraphQLMockServer: (graphqlMockServerConfig: Omit<GraphQLMockServerConfig, 'port'>, server?: Express) => Express;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createGraphQLMockServer = void 0;
7
+ var _bodyParser = _interopRequireDefault(require("body-parser"));
8
+ var _express = _interopRequireDefault(require("express"));
9
+ var _database = require("../../core/database");
10
+ var _graphql = require("../../core/graphql");
11
+ var _middlewares = require("../../core/middlewares");
12
+ var _helpers = require("../../utils/helpers");
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ const createGraphQLMockServer = (graphqlMockServerConfig, server = (0, _express.default)()) => {
15
+ var _graphqlMockServerCon, _graphqlMockServerCon2;
16
+ const {
17
+ cors,
18
+ staticPath,
19
+ configs,
20
+ database,
21
+ interceptors
22
+ } = graphqlMockServerConfig;
23
+ server.set('view engine', 'ejs');
24
+ server.set('views', (0, _helpers.urlJoin)(__dirname, '../../static/views'));
25
+ server.use(_express.default.static((0, _helpers.urlJoin)(__dirname, '../../static/views')));
26
+ server.use(_bodyParser.default.urlencoded({
27
+ extended: false
28
+ }));
29
+ server.use(_bodyParser.default.json({
30
+ limit: '10mb'
31
+ }));
32
+ server.set('json spaces', 2);
33
+ server.use(_bodyParser.default.text());
34
+ (0, _middlewares.cookieParseMiddleware)(server);
35
+ const serverRequestInterceptor = (_graphqlMockServerCon = graphqlMockServerConfig.interceptors) === null || _graphqlMockServerCon === void 0 ? void 0 : _graphqlMockServerCon.request;
36
+ if (serverRequestInterceptor) {
37
+ (0, _middlewares.requestInterceptorMiddleware)(server, serverRequestInterceptor);
38
+ }
39
+ const baseUrl = (_graphqlMockServerCon2 = graphqlMockServerConfig.baseUrl) !== null && _graphqlMockServerCon2 !== void 0 ? _graphqlMockServerCon2 : '/';
40
+ if (cors) {
41
+ (0, _middlewares.corsMiddleware)(server, cors);
42
+ } else {
43
+ (0, _middlewares.noCorsMiddleware)(server);
44
+ }
45
+ if (staticPath) {
46
+ (0, _middlewares.staticMiddleware)(server, baseUrl, staticPath);
47
+ }
48
+ const routerWithGraphqlRoutes = (0, _graphql.createGraphQLRoutes)(_express.default.Router(), {
49
+ configs
50
+ }, interceptors === null || interceptors === void 0 ? void 0 : interceptors.response);
51
+ server.use(baseUrl, routerWithGraphqlRoutes);
52
+ if (database) {
53
+ const routerWithDatabaseRoutes = (0, _database.createDatabaseRoutes)(_express.default.Router(), database);
54
+ server.use(baseUrl, routerWithDatabaseRoutes);
55
+ }
56
+ (0, _middlewares.notFoundMiddleware)(server, graphqlMockServerConfig);
57
+ (0, _middlewares.errorMiddleware)(server);
58
+ return server;
59
+ };
60
+ exports.createGraphQLMockServer = createGraphQLMockServer;
@@ -1,3 +1,3 @@
1
1
  import type { Express } from 'express';
2
2
  import type { MockServerConfig } from '../../utils/types';
3
- export declare const createMockServer: (mockServerConfig: Omit<MockServerConfig, 'port'>) => Express;
3
+ export declare const createMockServer: (mockServerConfig: Omit<MockServerConfig, 'port'>, server?: Express) => Express;
@@ -12,7 +12,7 @@ var _middlewares = require("../../core/middlewares");
12
12
  var _rest = require("../../core/rest");
13
13
  var _helpers = require("../../utils/helpers");
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
- const createMockServer = mockServerConfig => {
15
+ const createMockServer = (mockServerConfig, server = (0, _express.default)()) => {
16
16
  var _mockServerConfig$int, _mockServerConfig$bas;
17
17
  const {
18
18
  cors,
@@ -22,7 +22,6 @@ const createMockServer = mockServerConfig => {
22
22
  database,
23
23
  interceptors
24
24
  } = mockServerConfig;
25
- const server = (0, _express.default)();
26
25
  server.set('view engine', 'ejs');
27
26
  server.set('views', (0, _helpers.urlJoin)(__dirname, '../../static/views'));
28
27
  server.use(_express.default.static((0, _helpers.urlJoin)(__dirname, '../../static/views')));
@@ -0,0 +1,3 @@
1
+ import type { Express } from 'express';
2
+ import type { RestMockServerConfig } from '../../utils/types';
3
+ export declare const createRestMockServer: (restMockServerConfig: Omit<RestMockServerConfig, 'port'>, server?: Express) => Express;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createRestMockServer = void 0;
7
+ var _bodyParser = _interopRequireDefault(require("body-parser"));
8
+ var _express = _interopRequireDefault(require("express"));
9
+ var _database = require("../../core/database");
10
+ var _middlewares = require("../../core/middlewares");
11
+ var _rest = require("../../core/rest");
12
+ var _helpers = require("../../utils/helpers");
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ const createRestMockServer = (restMockServerConfig, server = (0, _express.default)()) => {
15
+ var _restMockServerConfig, _restMockServerConfig2;
16
+ const {
17
+ cors,
18
+ staticPath,
19
+ configs,
20
+ database,
21
+ interceptors
22
+ } = restMockServerConfig;
23
+ server.set('view engine', 'ejs');
24
+ server.set('views', (0, _helpers.urlJoin)(__dirname, '../../static/views'));
25
+ server.use(_express.default.static((0, _helpers.urlJoin)(__dirname, '../../static/views')));
26
+ server.use(_bodyParser.default.urlencoded({
27
+ extended: false
28
+ }));
29
+ server.use(_bodyParser.default.json({
30
+ limit: '10mb'
31
+ }));
32
+ server.set('json spaces', 2);
33
+ server.use(_bodyParser.default.text());
34
+ (0, _middlewares.cookieParseMiddleware)(server);
35
+ const serverRequestInterceptor = (_restMockServerConfig = restMockServerConfig.interceptors) === null || _restMockServerConfig === void 0 ? void 0 : _restMockServerConfig.request;
36
+ if (serverRequestInterceptor) {
37
+ (0, _middlewares.requestInterceptorMiddleware)(server, serverRequestInterceptor);
38
+ }
39
+ const baseUrl = (_restMockServerConfig2 = restMockServerConfig.baseUrl) !== null && _restMockServerConfig2 !== void 0 ? _restMockServerConfig2 : '/';
40
+ if (cors) {
41
+ (0, _middlewares.corsMiddleware)(server, cors);
42
+ } else {
43
+ (0, _middlewares.noCorsMiddleware)(server);
44
+ }
45
+ if (staticPath) {
46
+ (0, _middlewares.staticMiddleware)(server, baseUrl, staticPath);
47
+ }
48
+ const routerWithRestRoutes = (0, _rest.createRestRoutes)(_express.default.Router(), {
49
+ configs
50
+ }, interceptors === null || interceptors === void 0 ? void 0 : interceptors.response);
51
+ server.use(baseUrl, routerWithRestRoutes);
52
+ if (database) {
53
+ const routerWithDatabaseRoutes = (0, _database.createDatabaseRoutes)(_express.default.Router(), database);
54
+ server.use(baseUrl, routerWithDatabaseRoutes);
55
+ }
56
+ (0, _middlewares.notFoundMiddleware)(server, restMockServerConfig);
57
+ (0, _middlewares.errorMiddleware)(server);
58
+ return server;
59
+ };
60
+ exports.createRestMockServer = createRestMockServer;
@@ -1,2 +1,8 @@
1
1
  export * from './createMockServer/createMockServer';
2
+ export * from './createRestMockServer/createRestMockServer';
3
+ export * from './createGraphQLMockServer/createGraphQLMockServer';
4
+ export * from './createDatabaseMockServer/createDatabaseMockServer';
5
+ export * from './startRestMockServer/startRestMockServer';
6
+ export * from './startDatabaseMockServer/startDatabaseMockServer';
7
+ export * from './startGraphQLMockServer/startGraphQLMockServer';
2
8
  export * from './startMockServer/startMockServer';