mock-config-server 3.0.1 → 3.1.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 (146) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +614 -502
  3. package/dist/bin/bin.js +8 -3
  4. package/dist/bin/build.js +51 -45
  5. package/dist/bin/cli.js +37 -44
  6. package/dist/bin/helpers/index.js +36 -17
  7. package/dist/bin/helpers/resolveConfigFile.js +20 -17
  8. package/dist/bin/helpers/resolveConfigFilePath.js +12 -35
  9. package/dist/bin/helpers/resolveExportsFromSourceCode.js +11 -8
  10. package/dist/bin/resolveConfigFilePath/resolveConfigFilePath.js +12 -35
  11. package/dist/bin/run.js +17 -12
  12. package/dist/bin/validateMockServerConfig/helpers/index.js +25 -16
  13. package/dist/bin/validateMockServerConfig/helpers/isCheckModeValid/index.js +14 -15
  14. package/dist/bin/validateMockServerConfig/helpers/isCheckModeValid/isCheckModeValid.js +8 -6
  15. package/dist/bin/validateMockServerConfig/helpers/isDescriptorValueValid/index.js +14 -15
  16. package/dist/bin/validateMockServerConfig/helpers/isDescriptorValueValid/isDescriptorValueValid.js +15 -18
  17. package/dist/bin/validateMockServerConfig/validateBaseUrl/validateBaseUrl.js +12 -9
  18. package/dist/bin/validateMockServerConfig/validateCors/validateCors.js +75 -73
  19. package/dist/bin/validateMockServerConfig/validateDatabaseConfig/validateDatabaseConfig.d.ts +1 -0
  20. package/dist/bin/validateMockServerConfig/validateDatabaseConfig/validateDatabaseConfig.js +45 -0
  21. package/dist/bin/validateMockServerConfig/validateGraphqlConfig/validateGraphqlConfig.js +47 -43
  22. package/dist/bin/validateMockServerConfig/validateGraphqlConfig/validateRoutes/validateRoutes.js +90 -83
  23. package/dist/bin/validateMockServerConfig/validateInterceptors/validateInterceptors.js +22 -16
  24. package/dist/bin/validateMockServerConfig/validateMockServerConfig.js +29 -27
  25. package/dist/bin/validateMockServerConfig/validatePort/validatePort.js +9 -6
  26. package/dist/bin/validateMockServerConfig/validateRestConfig/validateRestConfig.js +52 -47
  27. package/dist/bin/validateMockServerConfig/validateRestConfig/validateRoutes/validateRoutes.js +94 -87
  28. package/dist/bin/validateMockServerConfig/validateStaticPath/validateStaticPath.js +43 -34
  29. package/dist/src/core/database/createDatabaseRoutes/createDatabaseRoutes.d.ts +3 -0
  30. package/dist/src/core/database/createDatabaseRoutes/createDatabaseRoutes.js +33 -0
  31. package/dist/src/core/database/createDatabaseRoutes/helpers/array/createNewId/createNewId.d.ts +4 -0
  32. package/dist/src/core/database/createDatabaseRoutes/helpers/array/createNewId/createNewId.js +16 -0
  33. package/dist/src/core/database/createDatabaseRoutes/helpers/array/findIndexById/findIndexById.d.ts +4 -0
  34. package/dist/src/core/database/createDatabaseRoutes/helpers/array/findIndexById/findIndexById.js +8 -0
  35. package/dist/src/core/database/createDatabaseRoutes/helpers/array/index.d.ts +3 -0
  36. package/dist/src/core/database/createDatabaseRoutes/helpers/array/index.js +38 -0
  37. package/dist/src/core/database/createDatabaseRoutes/helpers/array/isIndex/isIndex.d.ts +1 -0
  38. package/dist/src/core/database/createDatabaseRoutes/helpers/array/isIndex/isIndex.js +8 -0
  39. package/dist/src/core/database/createDatabaseRoutes/helpers/createNestedDatabaseRoutes/createNestedDatabaseRoutes.d.ts +4 -0
  40. package/dist/src/core/database/createDatabaseRoutes/helpers/createNestedDatabaseRoutes/createNestedDatabaseRoutes.js +88 -0
  41. package/dist/src/core/database/createDatabaseRoutes/helpers/createRewrittenDatabaseRoutes/createRewrittenDatabaseRoutes.d.ts +2 -0
  42. package/dist/src/core/database/createDatabaseRoutes/helpers/createRewrittenDatabaseRoutes/createRewrittenDatabaseRoutes.js +12 -0
  43. package/dist/src/core/database/createDatabaseRoutes/helpers/createShallowDatabaseRoutes/createShallowDatabaseRoutes.d.ts +4 -0
  44. package/dist/src/core/database/createDatabaseRoutes/helpers/createShallowDatabaseRoutes/createShallowDatabaseRoutes.js +38 -0
  45. package/dist/src/core/database/createDatabaseRoutes/helpers/index.d.ts +5 -0
  46. package/dist/src/core/database/createDatabaseRoutes/helpers/index.js +60 -0
  47. package/dist/src/core/database/createDatabaseRoutes/helpers/splitDatabaseByNesting/splitDatabaseByNesting.d.ts +5 -0
  48. package/dist/src/core/database/createDatabaseRoutes/helpers/splitDatabaseByNesting/splitDatabaseByNesting.js +30 -0
  49. package/dist/src/core/database/createDatabaseRoutes/storages/File/FileStorage.d.ts +11 -0
  50. package/dist/src/core/database/createDatabaseRoutes/storages/File/FileStorage.js +64 -0
  51. package/dist/src/core/database/createDatabaseRoutes/storages/File/FileWriter.d.ts +11 -0
  52. package/dist/src/core/database/createDatabaseRoutes/storages/File/FileWriter.js +58 -0
  53. package/dist/src/core/database/createDatabaseRoutes/storages/Memory/MemoryStorage.d.ts +10 -0
  54. package/dist/src/core/database/createDatabaseRoutes/storages/Memory/MemoryStorage.js +54 -0
  55. package/dist/src/core/database/createDatabaseRoutes/storages/index.d.ts +2 -0
  56. package/dist/src/core/database/createDatabaseRoutes/storages/index.js +27 -0
  57. package/dist/src/core/database/index.d.ts +1 -0
  58. package/dist/src/core/database/index.js +16 -0
  59. package/dist/src/core/graphql/createGraphQLRoutes/createGraphQLRoutes.js +96 -83
  60. package/dist/src/core/graphql/createGraphQLRoutes/helpers/index.js +14 -15
  61. package/dist/src/core/graphql/createGraphQLRoutes/helpers/prepareGraphQLRequestConfigs/prepareGraphQLRequestConfigs.js +36 -30
  62. package/dist/src/core/graphql/index.js +14 -15
  63. package/dist/src/core/middlewares/cookieParseMiddleware/cookieParseMiddleware.js +15 -13
  64. package/dist/src/core/middlewares/cookieParseMiddleware/helpers/index.js +14 -15
  65. package/dist/src/core/middlewares/cookieParseMiddleware/helpers/parseCookie/parseCookie.js +16 -14
  66. package/dist/src/core/middlewares/corsMiddleware/corsMiddleware.js +48 -41
  67. package/dist/src/core/middlewares/corsMiddleware/helpers/getAllowedOrigins/getAllowedOrigins.js +13 -10
  68. package/dist/src/core/middlewares/corsMiddleware/helpers/index.js +14 -15
  69. package/dist/src/core/middlewares/destroyerMiddleware/destroyerMiddleware.js +21 -18
  70. package/dist/src/core/middlewares/errorMiddleware/errorMiddleware.js +18 -15
  71. package/dist/src/core/middlewares/index.js +92 -23
  72. package/dist/src/core/middlewares/noCorsMiddleware/noCorsMiddleware.js +21 -21
  73. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getGraphqlUrlSuggestions/getGraphqlUrlSuggestions.js +24 -16
  74. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getLevenshteinDistance/getLevenshteinDistance.js +78 -74
  75. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/getRestUrlSuggestions.js +36 -31
  76. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/helpers/getActualRestUrlMeaningfulString/getActualRestUrlMeaningfulString.js +6 -5
  77. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/helpers/getPatternRestUrlMeaningfulString/getPatternRestUrlMeaningfulString.js +6 -3
  78. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/helpers/index.js +25 -16
  79. package/dist/src/core/middlewares/notFoundMiddleware/helpers/index.js +36 -17
  80. package/dist/src/core/middlewares/notFoundMiddleware/notFoundMiddleware.js +63 -48
  81. package/dist/src/core/middlewares/requestInterceptorMiddleware/requestInterceptorMiddleware.js +13 -7
  82. package/dist/src/core/middlewares/staticMiddleware/staticMiddleware.js +26 -25
  83. package/dist/src/core/rest/createRestRoutes/createRestRoutes.js +71 -56
  84. package/dist/src/core/rest/createRestRoutes/helpers/index.js +14 -15
  85. package/dist/src/core/rest/createRestRoutes/helpers/prepareRestRequestConfigs/prepareRestRequestConfigs.js +38 -32
  86. package/dist/src/core/rest/index.js +14 -15
  87. package/dist/src/index.js +36 -17
  88. package/dist/src/server/createMockServer/createMockServer.js +74 -53
  89. package/dist/src/server/index.js +25 -16
  90. package/dist/src/server/startMockServer/startMockServer.js +20 -17
  91. package/dist/src/static/views/assets/icons/scheme-dark.svg +3 -3
  92. package/dist/src/static/views/assets/icons/scheme-light.svg +3 -3
  93. package/dist/src/static/views/assets/styles/global.css +88 -88
  94. package/dist/src/static/views/components/header/index.css +55 -55
  95. package/dist/src/static/views/components/header/index.ejs +39 -39
  96. package/dist/src/static/views/components/header/index.js +1 -1
  97. package/dist/src/static/views/features/scheme/dark.css +12 -12
  98. package/dist/src/static/views/features/scheme/index.ejs +3 -3
  99. package/dist/src/static/views/features/scheme/index.js +31 -31
  100. package/dist/src/static/views/features/scheme/light.css +12 -12
  101. package/dist/src/static/views/features/tab/index.css +30 -30
  102. package/dist/src/static/views/features/tab/index.ejs +1 -1
  103. package/dist/src/static/views/features/tab/index.js +12 -12
  104. package/dist/src/static/views/pages/404/index.css +10 -10
  105. package/dist/src/static/views/pages/404/index.ejs +84 -84
  106. package/dist/src/utils/constants/appPath.js +6 -2
  107. package/dist/src/utils/constants/checkModes.js +21 -30
  108. package/dist/src/utils/constants/default.js +15 -11
  109. package/dist/src/utils/constants/index.js +36 -17
  110. package/dist/src/utils/helpers/asyncHandler.js +6 -3
  111. package/dist/src/utils/helpers/config/index.js +14 -15
  112. package/dist/src/utils/helpers/config/resolveEntityValues/resolveEntityValues.js +109 -122
  113. package/dist/src/utils/helpers/entities/convertToEntityDescriptor/convertToEntityDescriptor.js +10 -6
  114. package/dist/src/utils/helpers/entities/index.js +25 -16
  115. package/dist/src/utils/helpers/entities/isEntityDescriptor/isEntityDescriptor.js +7 -4
  116. package/dist/src/utils/helpers/graphql/getGraphQLInput/getGraphQLInput.js +28 -18
  117. package/dist/src/utils/helpers/graphql/index.js +36 -17
  118. package/dist/src/utils/helpers/graphql/parseGraphQLRequest/parseGraphQLRequest.js +11 -9
  119. package/dist/src/utils/helpers/graphql/parseQuery/parseQuery.js +20 -17
  120. package/dist/src/utils/helpers/index.js +114 -25
  121. package/dist/src/utils/helpers/interceptors/callRequestInterceptor/callRequestInterceptor.js +22 -16
  122. package/dist/src/utils/helpers/interceptors/callResponseInterceptors/callResponseInterceptors.js +56 -48
  123. package/dist/src/utils/helpers/interceptors/helpers/setDelay.js +8 -5
  124. package/dist/src/utils/helpers/interceptors/index.js +25 -16
  125. package/dist/src/utils/helpers/isPlainObject/isPlainObject.js +6 -6
  126. package/dist/src/utils/helpers/isPrimitive/isPrimitive.js +6 -3
  127. package/dist/src/utils/helpers/isRegExp/isRegExp.js +6 -3
  128. package/dist/src/utils/helpers/sleep.js +7 -4
  129. package/dist/src/utils/helpers/url/convertWin32PathToUnix/convertWin32PathToUnix.js +6 -6
  130. package/dist/src/utils/helpers/url/getUrlParts/getUrlParts.js +7 -4
  131. package/dist/src/utils/helpers/url/index.js +47 -18
  132. package/dist/src/utils/helpers/url/removeLeadingAndTrailingSlashes/removeLeadingAndTrailingSlashes.js +6 -3
  133. package/dist/src/utils/helpers/url/urlJoin/urlJoin.js +11 -10
  134. package/dist/src/utils/types/checkModes.js +1 -2
  135. package/dist/src/utils/types/database.d.ts +6 -0
  136. package/dist/src/utils/types/database.js +1 -0
  137. package/dist/src/utils/types/graphql.js +1 -2
  138. package/dist/src/utils/types/index.d.ts +1 -0
  139. package/dist/src/utils/types/index.js +80 -20
  140. package/dist/src/utils/types/interceptors.js +1 -2
  141. package/dist/src/utils/types/rest.js +1 -2
  142. package/dist/src/utils/types/server.d.ts +5 -0
  143. package/dist/src/utils/types/server.js +1 -2
  144. package/dist/src/utils/types/values.js +1 -2
  145. package/package.json +130 -113
  146. package/dist/index.js +0 -17
@@ -1,85 +1,85 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
-
4
- <head>
5
- <meta charset="UTF-8" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
-
8
- <title>404 - 🎉 Mock Config Server</title>
9
-
10
- <link rel="stylesheet" href="/assets/styles/global.css" />
11
- <link rel="stylesheet" href="/pages/404/index.css" />
12
-
13
- <% const api = { rest: "REST", graphql: "GraphQL" } %>
14
-
15
- <% const rootPath = (path) => `../../${path}` %>
16
- <%- include(rootPath('features/scheme/index')) -%>
17
- <%- include(rootPath('features/tab/index')) -%>
18
- </head>
19
-
20
- <body class="tab-item-<%= graphqlRequestSuggestions.length ? api.graphql : api.rest %>">
21
- <%- include(rootPath('components/header/index')) -%>
22
- <div class="margin-container">
23
- <div class="hero">
24
- <div class="title">
25
- <img src="/assets/images/404.png" />
26
- 404
27
- </div>
28
- <div class="description">
29
- Such request or page not found ☹️
30
- <a class="link" href="/">
31
- Return on main page
32
- </a>
33
- </div>
34
- </div>
35
- </div>
36
- <div class="margin-container">
37
- <div class="content">
38
- <div class="content-head">
39
- <div class="tab-items">
40
- <% Object.values(api).forEach((variant)=> { %>
41
- <div id="tab-item-<%=variant%>" class="tab-item">
42
- <%=variant%>
43
- </div>
44
- <% }) %>
45
- </div>
46
- </div>
47
- <div id="tab-content-<%=api.rest%>" class="tab-content">
48
- <div class="description">
49
- <% if (restRequestSuggestions.length) { %>
50
- <span>We searched a bit, maybe this will help you:</span>
51
- <% restRequestSuggestions.forEach((requestSuggestion) => { %>
52
- <span><%= requestSuggestion.method.toUpperCase() %> <%=
53
- requestSuggestion.path %></span>
54
- <% })} else { %>
55
- <span>We searched, but found nothing.</span>
56
- <span>Maybe you don't have <%=api.rest%> configs? 👀</span>
57
- <a class="link" href="https://github.com/siberiacancode/mock-config-server#configs" rel="noopener noreferrer" target="_blank">
58
- Read documentation 📘 for more information
59
- </a>
60
- <% } %>
61
- </div>
62
- </div>
63
-
64
- <div id="tab-content-<%=api.graphql%>" class="tab-content">
65
- <div class="description">
66
- <% if (graphqlRequestSuggestions.length) { %>
67
- <span>We searched a bit, maybe this will help you:</span>
68
- <% graphqlRequestSuggestions.forEach((requestSuggestion) => { %>
69
- <span><%= requestSuggestion.operationType %> <%=
70
- requestSuggestion.operationName %></span>
71
- <% })} else { %>
72
- <span>We searched, but found nothing.</span>
73
- <span>Maybe you don't have <%=api.graphql%> configs? 👀</span>
74
- <a class="link" href="https://github.com/siberiacancode/mock-config-server#configs" rel="noopener noreferrer" target="_blank">
75
- Read documentation 📘 for more information
76
- </a>
77
- <% } %>
78
- </div>
79
- </div>
80
- </div>
81
- </div>
82
- </div>
83
- </body>
84
-
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+
8
+ <title>404 - 🎉 Mock Config Server</title>
9
+
10
+ <link rel="stylesheet" href="/assets/styles/global.css" />
11
+ <link rel="stylesheet" href="/pages/404/index.css" />
12
+
13
+ <% const api = { rest: "REST", graphql: "GraphQL" } %>
14
+
15
+ <% const rootPath = (path) => `../../${path}` %>
16
+ <%- include(rootPath('features/scheme/index')) -%>
17
+ <%- include(rootPath('features/tab/index')) -%>
18
+ </head>
19
+
20
+ <body class="tab-item-<%= graphqlRequestSuggestions.length ? api.graphql : api.rest %>">
21
+ <%- include(rootPath('components/header/index')) -%>
22
+ <div class="margin-container">
23
+ <div class="hero">
24
+ <div class="title">
25
+ <img src="/assets/images/404.png" />
26
+ 404
27
+ </div>
28
+ <div class="description">
29
+ Such request or page not found ☹️
30
+ <a class="link" href="/">
31
+ Return on main page
32
+ </a>
33
+ </div>
34
+ </div>
35
+ </div>
36
+ <div class="margin-container">
37
+ <div class="content">
38
+ <div class="content-head">
39
+ <div class="tab-items">
40
+ <% Object.values(api).forEach((variant)=> { %>
41
+ <div id="tab-item-<%=variant%>" class="tab-item">
42
+ <%=variant%>
43
+ </div>
44
+ <% }) %>
45
+ </div>
46
+ </div>
47
+ <div id="tab-content-<%=api.rest%>" class="tab-content">
48
+ <div class="description">
49
+ <% if (restRequestSuggestions.length) { %>
50
+ <span>We searched a bit, maybe this will help you:</span>
51
+ <% restRequestSuggestions.forEach((requestSuggestion) => { %>
52
+ <span><%= requestSuggestion.method.toUpperCase() %> <%=
53
+ requestSuggestion.path %></span>
54
+ <% })} else { %>
55
+ <span>We searched, but found nothing.</span>
56
+ <span>Maybe you don't have <%=api.rest%> configs? 👀</span>
57
+ <a class="link" href="https://github.com/siberiacancode/mock-config-server#configs" rel="noopener noreferrer" target="_blank">
58
+ Read documentation 📘 for more information
59
+ </a>
60
+ <% } %>
61
+ </div>
62
+ </div>
63
+
64
+ <div id="tab-content-<%=api.graphql%>" class="tab-content">
65
+ <div class="description">
66
+ <% if (graphqlRequestSuggestions.length) { %>
67
+ <span>We searched a bit, maybe this will help you:</span>
68
+ <% graphqlRequestSuggestions.forEach((requestSuggestion) => { %>
69
+ <span><%= requestSuggestion.operationType %> <%=
70
+ requestSuggestion.operationName %></span>
71
+ <% })} else { %>
72
+ <span>We searched, but found nothing.</span>
73
+ <span>Maybe you don't have <%=api.graphql%> configs? 👀</span>
74
+ <a class="link" href="https://github.com/siberiacancode/mock-config-server#configs" rel="noopener noreferrer" target="_blank">
75
+ Read documentation 📘 for more information
76
+ </a>
77
+ <% } %>
78
+ </div>
79
+ </div>
80
+ </div>
81
+ </div>
82
+ </div>
83
+ </body>
84
+
85
85
  </html>
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  exports.APP_PATH = void 0;
4
- exports.APP_PATH = process.cwd();
7
+ const APP_PATH = process.cwd();
8
+ exports.APP_PATH = APP_PATH;
@@ -1,31 +1,22 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NEGATION_CHECK_MODES = exports.PLAIN_ENTITY_CHECK_MODES = exports.CHECK_MODES = exports.CALCULATE_BY_DESCRIPTOR_VALUE_CHECK_MODES = exports.COMPARE_WITH_DESCRIPTOR_VALUE_CHECK_MODES = exports.COMPARE_WITH_DESCRIPTOR_STRING_VALUE_CHECK_MODES = exports.COMPARE_WITH_DESCRIPTOR_ANY_VALUE_CHECK_MODES = exports.CHECK_ACTUAL_VALUE_CHECK_MODES = void 0;
4
- exports.CHECK_ACTUAL_VALUE_CHECK_MODES = ['exists', 'notExists'];
5
- exports.COMPARE_WITH_DESCRIPTOR_ANY_VALUE_CHECK_MODES = ['equals', 'notEquals'];
6
- exports.COMPARE_WITH_DESCRIPTOR_STRING_VALUE_CHECK_MODES = ['includes', 'notIncludes', 'startsWith', 'notStartsWith', 'endsWith', 'notEndsWith'];
7
- exports.COMPARE_WITH_DESCRIPTOR_VALUE_CHECK_MODES = [
8
- ...exports.COMPARE_WITH_DESCRIPTOR_ANY_VALUE_CHECK_MODES,
9
- ...exports.COMPARE_WITH_DESCRIPTOR_STRING_VALUE_CHECK_MODES
10
- ];
11
- exports.CALCULATE_BY_DESCRIPTOR_VALUE_CHECK_MODES = [
12
- 'regExp',
13
- 'function'
14
- ];
15
- exports.CHECK_MODES = [
16
- ...exports.CHECK_ACTUAL_VALUE_CHECK_MODES,
17
- ...exports.COMPARE_WITH_DESCRIPTOR_VALUE_CHECK_MODES,
18
- ...exports.CALCULATE_BY_DESCRIPTOR_VALUE_CHECK_MODES
19
- ];
20
- exports.PLAIN_ENTITY_CHECK_MODES = [
21
- ...exports.CHECK_ACTUAL_VALUE_CHECK_MODES,
22
- ...exports.COMPARE_WITH_DESCRIPTOR_ANY_VALUE_CHECK_MODES,
23
- 'function'
24
- ];
25
- exports.NEGATION_CHECK_MODES = [
26
- 'notExists',
27
- 'notEquals',
28
- 'notIncludes',
29
- 'notStartsWith',
30
- 'notEndsWith'
31
- ];
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PLAIN_ENTITY_CHECK_MODES = exports.NEGATION_CHECK_MODES = exports.COMPARE_WITH_DESCRIPTOR_VALUE_CHECK_MODES = exports.COMPARE_WITH_DESCRIPTOR_STRING_VALUE_CHECK_MODES = exports.COMPARE_WITH_DESCRIPTOR_ANY_VALUE_CHECK_MODES = exports.CHECK_MODES = exports.CHECK_ACTUAL_VALUE_CHECK_MODES = exports.CALCULATE_BY_DESCRIPTOR_VALUE_CHECK_MODES = void 0;
7
+ const CHECK_ACTUAL_VALUE_CHECK_MODES = ['exists', 'notExists'];
8
+ exports.CHECK_ACTUAL_VALUE_CHECK_MODES = CHECK_ACTUAL_VALUE_CHECK_MODES;
9
+ const COMPARE_WITH_DESCRIPTOR_ANY_VALUE_CHECK_MODES = ['equals', 'notEquals'];
10
+ exports.COMPARE_WITH_DESCRIPTOR_ANY_VALUE_CHECK_MODES = COMPARE_WITH_DESCRIPTOR_ANY_VALUE_CHECK_MODES;
11
+ const COMPARE_WITH_DESCRIPTOR_STRING_VALUE_CHECK_MODES = ['includes', 'notIncludes', 'startsWith', 'notStartsWith', 'endsWith', 'notEndsWith'];
12
+ exports.COMPARE_WITH_DESCRIPTOR_STRING_VALUE_CHECK_MODES = COMPARE_WITH_DESCRIPTOR_STRING_VALUE_CHECK_MODES;
13
+ const COMPARE_WITH_DESCRIPTOR_VALUE_CHECK_MODES = [...COMPARE_WITH_DESCRIPTOR_ANY_VALUE_CHECK_MODES, ...COMPARE_WITH_DESCRIPTOR_STRING_VALUE_CHECK_MODES];
14
+ exports.COMPARE_WITH_DESCRIPTOR_VALUE_CHECK_MODES = COMPARE_WITH_DESCRIPTOR_VALUE_CHECK_MODES;
15
+ const CALCULATE_BY_DESCRIPTOR_VALUE_CHECK_MODES = ['regExp', 'function'];
16
+ exports.CALCULATE_BY_DESCRIPTOR_VALUE_CHECK_MODES = CALCULATE_BY_DESCRIPTOR_VALUE_CHECK_MODES;
17
+ const CHECK_MODES = [...CHECK_ACTUAL_VALUE_CHECK_MODES, ...COMPARE_WITH_DESCRIPTOR_VALUE_CHECK_MODES, ...CALCULATE_BY_DESCRIPTOR_VALUE_CHECK_MODES];
18
+ exports.CHECK_MODES = CHECK_MODES;
19
+ const PLAIN_ENTITY_CHECK_MODES = [...CHECK_ACTUAL_VALUE_CHECK_MODES, ...COMPARE_WITH_DESCRIPTOR_ANY_VALUE_CHECK_MODES, 'function'];
20
+ exports.PLAIN_ENTITY_CHECK_MODES = PLAIN_ENTITY_CHECK_MODES;
21
+ const NEGATION_CHECK_MODES = ['notExists', 'notEquals', 'notIncludes', 'notStartsWith', 'notEndsWith'];
22
+ exports.NEGATION_CHECK_MODES = NEGATION_CHECK_MODES;
@@ -1,14 +1,18 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  exports.DEFAULT = void 0;
4
- exports.DEFAULT = {
5
- PORT: 31299,
6
- CORS: {
7
- ORIGIN: '*',
8
- METHODS: 'GET,OPTIONS,PUT,PATCH,POST,DELETE',
9
- ALLOWED_HEADERS: '*',
10
- EXPOSED_HEADERS: '*',
11
- CREDENTIALS: true,
12
- MAX_AGE: 3600
13
- }
7
+ const DEFAULT = {
8
+ PORT: 31299,
9
+ CORS: {
10
+ ORIGIN: '*',
11
+ METHODS: 'GET,OPTIONS,PUT,PATCH,POST,DELETE',
12
+ ALLOWED_HEADERS: '*',
13
+ EXPOSED_HEADERS: '*',
14
+ CREDENTIALS: true,
15
+ MAX_AGE: 3600
16
+ }
14
17
  };
18
+ exports.DEFAULT = DEFAULT;
@@ -1,19 +1,38 @@
1
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]; } };
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _appPath = require("./appPath");
7
+ Object.keys(_appPath).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _appPath[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _appPath[key];
7
14
  }
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("./appPath"), exports);
18
- __exportStar(require("./checkModes"), exports);
19
- __exportStar(require("./default"), exports);
15
+ });
16
+ });
17
+ var _checkModes = require("./checkModes");
18
+ Object.keys(_checkModes).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _checkModes[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _checkModes[key];
25
+ }
26
+ });
27
+ });
28
+ var _default = require("./default");
29
+ Object.keys(_default).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _default[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _default[key];
36
+ }
37
+ });
38
+ });
@@ -1,5 +1,8 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  exports.asyncHandler = void 0;
4
- const asyncHandler = (fn) => (request, response, next) => Promise.resolve(fn(request, response, next)).catch(next);
5
- exports.asyncHandler = asyncHandler;
7
+ const asyncHandler = fn => (request, response, next) => Promise.resolve(fn(request, response, next)).catch(next);
8
+ exports.asyncHandler = asyncHandler;
@@ -1,17 +1,16 @@
1
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]; } };
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _resolveEntityValues = require("./resolveEntityValues/resolveEntityValues");
7
+ Object.keys(_resolveEntityValues).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _resolveEntityValues[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _resolveEntityValues[key];
7
14
  }
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("./resolveEntityValues/resolveEntityValues"), exports);
15
+ });
16
+ });
@@ -1,131 +1,118 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  exports.resolveEntityValues = void 0;
4
- const flat_1 = require("flat");
5
- const constants_1 = require("../../../constants");
6
- const isPlainObject_1 = require("../../isPlainObject/isPlainObject");
7
- const isPrimitive_1 = require("../../isPrimitive/isPrimitive");
8
- const isRegExp_1 = require("../../isRegExp/isRegExp");
7
+ var _flat = require("flat");
8
+ var _constants = require("../../../constants");
9
+ var _isPlainObject = require("../../isPlainObject/isPlainObject");
10
+ var _isPrimitive = require("../../isPrimitive/isPrimitive");
11
+ var _isRegExp = require("../../isRegExp/isRegExp");
9
12
  const checkFunction = (checkMode, actualValue, descriptorValue) => {
10
- if (checkMode === 'function' && typeof descriptorValue === 'function')
11
- return descriptorValue(actualValue, checkFunction);
12
- const actualValueString = String(actualValue);
13
- if (checkMode === 'regExp' && (0, isRegExp_1.isRegExp)(descriptorValue))
14
- return descriptorValue.test(actualValueString);
15
- const isActualValueUndefined = typeof actualValue === 'undefined';
16
- if (checkMode === 'exists')
17
- return !isActualValueUndefined;
18
- if (checkMode === 'notExists')
19
- return isActualValueUndefined;
20
- // important:
21
- // cast values to string for ignore types of values
22
- const descriptorValueString = String(descriptorValue);
23
- if (checkMode === 'equals')
24
- return actualValueString === descriptorValueString;
25
- if (checkMode === 'notEquals')
26
- return actualValueString !== descriptorValueString;
27
- if (checkMode === 'includes')
28
- return actualValueString.includes(descriptorValueString);
29
- if (checkMode === 'notIncludes')
30
- return !actualValueString.includes(descriptorValueString);
31
- if (checkMode === 'startsWith')
32
- return actualValueString.startsWith(descriptorValueString);
33
- if (checkMode === 'notStartsWith')
34
- return !actualValueString.startsWith(descriptorValueString);
35
- if (checkMode === 'endsWith')
36
- return actualValueString.endsWith(descriptorValueString);
37
- if (checkMode === 'notEndsWith')
38
- return !actualValueString.endsWith(descriptorValueString);
39
- throw new Error('Wrong checkMode');
13
+ if (checkMode === 'function' && typeof descriptorValue === 'function') return descriptorValue(actualValue, checkFunction);
14
+ const actualValueString = String(actualValue);
15
+ if (checkMode === 'regExp' && (0, _isRegExp.isRegExp)(descriptorValue)) return descriptorValue.test(actualValueString);
16
+ const isActualValueUndefined = typeof actualValue === 'undefined';
17
+ if (checkMode === 'exists') return !isActualValueUndefined;
18
+ if (checkMode === 'notExists') return isActualValueUndefined;
19
+
20
+ // ✅ important:
21
+ // cast values to string for ignore types of values
22
+ const descriptorValueString = String(descriptorValue);
23
+ if (checkMode === 'equals') return actualValueString === descriptorValueString;
24
+ if (checkMode === 'notEquals') return actualValueString !== descriptorValueString;
25
+ if (checkMode === 'includes') return actualValueString.includes(descriptorValueString);
26
+ if (checkMode === 'notIncludes') return !actualValueString.includes(descriptorValueString);
27
+ if (checkMode === 'startsWith') return actualValueString.startsWith(descriptorValueString);
28
+ if (checkMode === 'notStartsWith') return !actualValueString.startsWith(descriptorValueString);
29
+ if (checkMode === 'endsWith') return actualValueString.endsWith(descriptorValueString);
30
+ if (checkMode === 'notEndsWith') return !actualValueString.endsWith(descriptorValueString);
31
+ throw new Error('Wrong checkMode');
40
32
  };
41
33
  const resolveEntityValues = (checkMode, actualValue, descriptorValue) => {
42
- if (checkMode === 'function')
43
- return descriptorValue(actualValue, checkFunction);
44
- if (checkMode === 'exists' || checkMode === 'notExists')
45
- return checkFunction(checkMode, actualValue, descriptorValue);
46
- // actual: primitive, descriptor: primitive
47
- const isActualValuePrimitive = (0, isPrimitive_1.isPrimitive)(actualValue);
48
- const isDescriptorValuePrimitive = (0, isPrimitive_1.isPrimitive)(descriptorValue);
49
- if (isActualValuePrimitive && isDescriptorValuePrimitive)
50
- return checkFunction(checkMode, actualValue, descriptorValue);
51
- // actual: primitive, descriptor: array
52
- const isDescriptorValueArray = Array.isArray(descriptorValue);
53
- const isNegativeCheckMode = constants_1.NEGATION_CHECK_MODES.includes(checkMode);
54
- if (isActualValuePrimitive && isDescriptorValueArray) {
55
- if (isNegativeCheckMode) {
56
- return descriptorValue.every((descriptorValueElement) => checkFunction(checkMode, actualValue, descriptorValueElement));
57
- }
58
- return descriptorValue.some((descriptorValueElement) => checkFunction(checkMode, actualValue, descriptorValueElement));
34
+ if (checkMode === 'function') return descriptorValue(actualValue, checkFunction);
35
+ if (checkMode === 'exists' || checkMode === 'notExists') return checkFunction(checkMode, actualValue, descriptorValue);
36
+
37
+ // actual: primitive, descriptor: primitive
38
+ const isActualValuePrimitive = (0, _isPrimitive.isPrimitive)(actualValue);
39
+ const isDescriptorValuePrimitive = (0, _isPrimitive.isPrimitive)(descriptorValue);
40
+ if (isActualValuePrimitive && isDescriptorValuePrimitive) return checkFunction(checkMode, actualValue, descriptorValue);
41
+
42
+ // actual: primitive, descriptor: array
43
+ const isDescriptorValueArray = Array.isArray(descriptorValue);
44
+ const isNegativeCheckMode = _constants.NEGATION_CHECK_MODES.includes(checkMode);
45
+ if (isActualValuePrimitive && isDescriptorValueArray) {
46
+ if (isNegativeCheckMode) {
47
+ return descriptorValue.every(descriptorValueElement => checkFunction(checkMode, actualValue, descriptorValueElement));
59
48
  }
60
- // actual: primitive, descriptor: object => skip
61
- const isDescriptorValueObject = (0, isPlainObject_1.isPlainObject)(descriptorValue) || (0, isRegExp_1.isRegExp)(descriptorValue);
62
- if (isActualValuePrimitive && isDescriptorValueObject) {
63
- if (checkMode === 'regExp')
64
- return checkFunction(checkMode, actualValue, descriptorValue);
65
- // important: resolving primitive with object make no sense
66
- return isNegativeCheckMode;
49
+ return descriptorValue.some(descriptorValueElement => checkFunction(checkMode, actualValue, descriptorValueElement));
50
+ }
51
+
52
+ // actual: primitive, descriptor: object => skip
53
+ const isDescriptorValueObject = (0, _isPlainObject.isPlainObject)(descriptorValue) || (0, _isRegExp.isRegExp)(descriptorValue);
54
+ if (isActualValuePrimitive && isDescriptorValueObject) {
55
+ if (checkMode === 'regExp') return checkFunction(checkMode, actualValue, descriptorValue);
56
+ // ✅ important: resolving primitive with object make no sense
57
+ return isNegativeCheckMode;
58
+ }
59
+
60
+ // ✅ actual: array, descriptor: primitive => skip
61
+ const isActualValueArray = Array.isArray(actualValue);
62
+ // ✅ important: resolving array with primitive make no sense
63
+ if (isActualValueArray && isDescriptorValuePrimitive) return isNegativeCheckMode;
64
+
65
+ // ✅ actual: array, descriptor: array
66
+ if (isActualValueArray && isDescriptorValueArray) {
67
+ if (actualValue.length !== descriptorValue.length) return isNegativeCheckMode;
68
+ const flattenActualValue = (0, _flat.flatten)(actualValue);
69
+ const flattenDescriptorValue = (0, _flat.flatten)(descriptorValue);
70
+ if (Object.keys(flattenActualValue).length === Object.keys(flattenDescriptorValue).length) return Object.keys(flattenDescriptorValue).every(flattenDescriptorValueKey => checkFunction(checkMode, flattenActualValue[flattenDescriptorValueKey], flattenDescriptorValue[flattenDescriptorValueKey]));
71
+ return isNegativeCheckMode;
72
+ }
73
+
74
+ // ✅ actual: array, descriptor: object => skip
75
+ if (isActualValueArray && isDescriptorValueObject) {
76
+ if (checkMode === 'regExp') return actualValue.some(actualValueElement => checkFunction(checkMode, actualValueElement, descriptorValue));
77
+ // ✅ important: resolving array with object make no sense
78
+ return isNegativeCheckMode;
79
+ }
80
+
81
+ // ✅ actual: object, descriptor: primitive => skip
82
+ const isActualValueObject = (0, _isPlainObject.isPlainObject)(actualValue);
83
+ // ✅ important: resolving object with primitive make no sense
84
+ if (isActualValueObject && isDescriptorValuePrimitive) return isNegativeCheckMode;
85
+
86
+ // ✅ actual: object, descriptor: array
87
+ if (isActualValueObject && isDescriptorValueArray) {
88
+ // ✅ important: any object can not pass RegExp check
89
+ if (checkMode === 'regExp') return false;
90
+ const flattenActualValue = (0, _flat.flatten)(actualValue);
91
+ if (isNegativeCheckMode) {
92
+ return descriptorValue.every(descriptorValueElement => {
93
+ const flattenDescriptorValue = (0, _flat.flatten)(descriptorValueElement);
94
+ if (Object.keys(flattenActualValue).length !== Object.keys(flattenDescriptorValue).length) return isNegativeCheckMode;
95
+ return Object.keys(flattenActualValue).every(flattenActualValueKey => checkFunction(checkMode, flattenActualValue[flattenActualValueKey], flattenDescriptorValue[flattenActualValueKey]));
96
+ });
67
97
  }
68
- // actual: array, descriptor: primitive => skip
69
- const isActualValueArray = Array.isArray(actualValue);
70
- // important: resolving array with primitive make no sense
71
- if (isActualValueArray && isDescriptorValuePrimitive)
72
- return isNegativeCheckMode;
73
- // ✅ actual: array, descriptor: array
74
- if (isActualValueArray && isDescriptorValueArray) {
75
- if (actualValue.length !== descriptorValue.length)
76
- return isNegativeCheckMode;
77
- const flattenActualValue = (0, flat_1.flatten)(actualValue);
78
- const flattenDescriptorValue = (0, flat_1.flatten)(descriptorValue);
79
- if (Object.keys(flattenActualValue).length === Object.keys(flattenDescriptorValue).length)
80
- return Object.keys(flattenDescriptorValue).every((flattenDescriptorValueKey) => checkFunction(checkMode, flattenActualValue[flattenDescriptorValueKey], flattenDescriptorValue[flattenDescriptorValueKey]));
81
- return isNegativeCheckMode;
82
- }
83
- // actual: array, descriptor: object => skip
84
- if (isActualValueArray && isDescriptorValueObject) {
85
- if (checkMode === 'regExp')
86
- return actualValue.some((actualValueElement) => checkFunction(checkMode, actualValueElement, descriptorValue));
87
- // ✅ important: resolving array with object make no sense
88
- return isNegativeCheckMode;
89
- }
90
- // ✅ actual: object, descriptor: primitive => skip
91
- const isActualValueObject = (0, isPlainObject_1.isPlainObject)(actualValue);
92
- // ✅ important: resolving object with primitive make no sense
93
- if (isActualValueObject && isDescriptorValuePrimitive)
94
- return isNegativeCheckMode;
95
- // ✅ actual: object, descriptor: array
96
- if (isActualValueObject && isDescriptorValueArray) {
97
- // ✅ important: any object can not pass RegExp check
98
- if (checkMode === 'regExp')
99
- return false;
100
- const flattenActualValue = (0, flat_1.flatten)(actualValue);
101
- if (isNegativeCheckMode) {
102
- return descriptorValue.every((descriptorValueElement) => {
103
- const flattenDescriptorValue = (0, flat_1.flatten)(descriptorValueElement);
104
- if (Object.keys(flattenActualValue).length !== Object.keys(flattenDescriptorValue).length)
105
- return isNegativeCheckMode;
106
- return Object.keys(flattenActualValue).every((flattenActualValueKey) => checkFunction(checkMode, flattenActualValue[flattenActualValueKey], flattenDescriptorValue[flattenActualValueKey]));
107
- });
108
- }
109
- return descriptorValue.some((descriptorValueElement) => {
110
- const flattenDescriptorValue = (0, flat_1.flatten)(descriptorValueElement);
111
- if (Object.keys(flattenActualValue).length !== Object.keys(flattenDescriptorValue).length)
112
- return isNegativeCheckMode;
113
- return Object.keys(flattenActualValue).every((flattenActualValueKey) => checkFunction(checkMode, flattenActualValue[flattenActualValueKey], flattenDescriptorValue[flattenActualValueKey]));
114
- });
115
- }
116
- // ✅ actual: object, descriptor: object
117
- if (isActualValueObject && isDescriptorValueObject) {
118
- // ✅ important: any object can not pass RegExp check
119
- if (checkMode === 'regExp')
120
- return false;
121
- const flattenActualValue = (0, flat_1.flatten)(actualValue);
122
- const flattenDescriptorValue = (0, flat_1.flatten)(descriptorValue);
123
- if (Object.keys(flattenActualValue).length !== Object.keys(flattenDescriptorValue).length)
124
- return isNegativeCheckMode;
125
- if (isNegativeCheckMode) {
126
- return Object.keys(flattenDescriptorValue).some((flattenDescriptorValueKey) => checkFunction(checkMode, flattenActualValue[flattenDescriptorValueKey], flattenDescriptorValue[flattenDescriptorValueKey]));
127
- }
128
- return Object.keys(flattenDescriptorValue).every((flattenDescriptorValueKey) => checkFunction(checkMode, flattenActualValue[flattenDescriptorValueKey], flattenDescriptorValue[flattenDescriptorValueKey]));
98
+ return descriptorValue.some(descriptorValueElement => {
99
+ const flattenDescriptorValue = (0, _flat.flatten)(descriptorValueElement);
100
+ if (Object.keys(flattenActualValue).length !== Object.keys(flattenDescriptorValue).length) return isNegativeCheckMode;
101
+ return Object.keys(flattenActualValue).every(flattenActualValueKey => checkFunction(checkMode, flattenActualValue[flattenActualValueKey], flattenDescriptorValue[flattenActualValueKey]));
102
+ });
103
+ }
104
+
105
+ // actual: object, descriptor: object
106
+ if (isActualValueObject && isDescriptorValueObject) {
107
+ // important: any object can not pass RegExp check
108
+ if (checkMode === 'regExp') return false;
109
+ const flattenActualValue = (0, _flat.flatten)(actualValue);
110
+ const flattenDescriptorValue = (0, _flat.flatten)(descriptorValue);
111
+ if (Object.keys(flattenActualValue).length !== Object.keys(flattenDescriptorValue).length) return isNegativeCheckMode;
112
+ if (isNegativeCheckMode) {
113
+ return Object.keys(flattenDescriptorValue).some(flattenDescriptorValueKey => checkFunction(checkMode, flattenActualValue[flattenDescriptorValueKey], flattenDescriptorValue[flattenDescriptorValueKey]));
129
114
  }
115
+ return Object.keys(flattenDescriptorValue).every(flattenDescriptorValueKey => checkFunction(checkMode, flattenActualValue[flattenDescriptorValueKey], flattenDescriptorValue[flattenDescriptorValueKey]));
116
+ }
130
117
  };
131
- exports.resolveEntityValues = resolveEntityValues;
118
+ exports.resolveEntityValues = resolveEntityValues;