mock-config-server 3.7.1 → 4.0.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 (204) hide show
  1. package/README.md +272 -224
  2. package/dist/bin/bin.js +1 -1
  3. package/dist/bin/build.d.ts +3 -1
  4. package/dist/bin/build.js +10 -0
  5. package/dist/bin/helpers/createTemplate.d.ts +3 -3
  6. package/dist/bin/helpers/createTemplate.js +1 -1
  7. package/dist/bin/helpers/index.d.ts +0 -3
  8. package/dist/bin/helpers/index.js +0 -3
  9. package/dist/bin/helpers/resolveConfigFile.d.ts +2 -2
  10. package/dist/bin/helpers/resolveConfigFile.js +2 -2
  11. package/dist/bin/helpers/resolveConfigFilePath.js +4 -4
  12. package/dist/bin/helpers/resolveExportsFromSourceCode.js +1 -2
  13. package/dist/bin/init.js +5 -8
  14. package/dist/bin/run.d.ts +1 -2
  15. package/dist/bin/run.js +1 -6
  16. package/dist/bin/runFlatConfig.d.ts +5 -0
  17. package/dist/bin/runFlatConfig.js +36 -0
  18. package/dist/bin/templates/js/full/mock-server.config.js +10 -7
  19. package/dist/bin/templates/js/graphql/mock-server.config.js +11 -6
  20. package/dist/bin/templates/js/rest/mock-server.config.js +11 -6
  21. package/dist/bin/templates/ts/full/mock-server.config.ts +11 -8
  22. package/dist/bin/templates/ts/graphql/mock-server.config.ts +12 -7
  23. package/dist/bin/templates/ts/rest/mock-server.config.ts +12 -7
  24. package/dist/src/core/database/createDatabaseRoutes/createDatabaseRoutes.js +2 -1
  25. package/dist/src/core/database/createDatabaseRoutes/helpers/createNestedDatabaseRoutes/createNestedDatabaseRoutes.js +8 -12
  26. package/dist/src/core/database/createDatabaseRoutes/helpers/filter/filter.d.ts +0 -1
  27. package/dist/src/core/database/createDatabaseRoutes/helpers/pagination/pagination.d.ts +0 -1
  28. package/dist/src/core/database/createDatabaseRoutes/helpers/search/search.d.ts +0 -1
  29. package/dist/src/core/database/createDatabaseRoutes/helpers/sort/sort.d.ts +0 -1
  30. package/dist/src/core/database/createDatabaseRoutes/helpers/splitDatabaseByNesting/splitDatabaseByNesting.d.ts +1 -1
  31. package/dist/src/core/database/createDatabaseRoutes/storages/File/FileStorage.d.ts +5 -6
  32. package/dist/src/core/database/createDatabaseRoutes/storages/File/FileStorage.js +4 -4
  33. package/dist/src/core/database/createDatabaseRoutes/storages/File/FileWriter.js +2 -2
  34. package/dist/src/core/database/createDatabaseRoutes/storages/Memory/MemoryStorage.d.ts +6 -7
  35. package/dist/src/core/database/createOrm/createOrm.d.ts +2 -0
  36. package/dist/src/core/database/createOrm/createOrm.js +119 -0
  37. package/dist/src/core/database/createStorage/createStorage.d.ts +2 -0
  38. package/dist/src/core/database/createStorage/createStorage.js +13 -0
  39. package/dist/src/core/database/index.d.ts +2 -0
  40. package/dist/src/core/database/index.js +2 -0
  41. package/dist/src/core/graphql/createGraphQLRoutes/createGraphQLRoutes.d.ts +1 -1
  42. package/dist/src/core/graphql/createGraphQLRoutes/createGraphQLRoutes.js +39 -17
  43. package/dist/src/core/graphql/createGraphQLRoutes/helpers/prepareGraphQLRequestConfigs/prepareGraphQLRequestConfigs.js +2 -2
  44. package/dist/src/core/middlewares/contextMiddleware/contextMiddleware.d.ts +2 -2
  45. package/dist/src/core/middlewares/contextMiddleware/contextMiddleware.js +11 -1
  46. package/dist/src/core/middlewares/destroyerMiddleware/destroyerMiddleware.d.ts +1 -2
  47. package/dist/src/core/middlewares/index.d.ts +0 -1
  48. package/dist/src/core/middlewares/index.js +0 -1
  49. package/dist/src/core/middlewares/requestInterceptorMiddleware/requestInterceptorMiddleware.d.ts +2 -2
  50. package/dist/src/core/rest/createRestRoutes/createRestRoutes.d.ts +1 -1
  51. package/dist/src/core/rest/createRestRoutes/createRestRoutes.js +80 -24
  52. package/dist/src/server/createDatabaseMockServer/createDatabaseMockServer.d.ts +1 -1
  53. package/dist/src/server/createDatabaseMockServer/createDatabaseMockServer.js +6 -6
  54. package/dist/src/server/createFlatMockServer/createFlatMockServer.d.ts +3 -0
  55. package/dist/src/server/createFlatMockServer/createFlatMockServer.js +127 -0
  56. package/dist/src/server/createGraphQLMockServer/createGraphQLMockServer.d.ts +1 -1
  57. package/dist/src/server/createGraphQLMockServer/createGraphQLMockServer.js +3 -6
  58. package/dist/src/server/createMockServer/createMockServer.d.ts +1 -1
  59. package/dist/src/server/createMockServer/createMockServer.js +3 -5
  60. package/dist/src/server/createRestMockServer/createRestMockServer.d.ts +1 -1
  61. package/dist/src/server/createRestMockServer/createRestMockServer.js +3 -6
  62. package/dist/src/server/index.d.ts +2 -0
  63. package/dist/src/server/index.js +2 -0
  64. package/dist/src/server/startDatabaseMockServer/startDatabaseMockServer.d.ts +1 -2
  65. package/dist/src/server/startFlatMockServer/startFlatMockServer.d.ts +4 -0
  66. package/dist/src/server/startFlatMockServer/startFlatMockServer.js +28 -0
  67. package/dist/src/server/startGraphQLMockServer/startGraphQLMockServer.d.ts +1 -2
  68. package/dist/src/server/startMockServer/startMockServer.d.ts +1 -2
  69. package/dist/src/server/startRestMockServer/startRestMockServer.d.ts +1 -2
  70. package/dist/src/utils/constants/checkModes.d.ts +1 -3
  71. package/dist/src/utils/constants/checkModes.js +3 -19
  72. package/dist/src/utils/helpers/config/resolveEntityValues/resolveEntityValues.d.ts +20 -2
  73. package/dist/src/utils/helpers/config/resolveEntityValues/resolveEntityValues.js +37 -71
  74. package/dist/src/utils/helpers/files/index.d.ts +1 -0
  75. package/dist/src/utils/helpers/files/index.js +1 -0
  76. package/dist/src/utils/helpers/files/isFileDescriptor/isFileDescriptor.d.ts +2 -0
  77. package/dist/src/utils/helpers/files/isFileDescriptor/isFileDescriptor.js +16 -0
  78. package/dist/src/utils/helpers/files/isFilePathValid/isFilePathValid.js +3 -3
  79. package/dist/src/utils/helpers/graphql/parseQuery/parseQuery.d.ts +1 -1
  80. package/dist/src/utils/helpers/index.d.ts +0 -1
  81. package/dist/src/utils/helpers/index.js +0 -1
  82. package/dist/src/utils/helpers/interceptors/callRequestInterceptor/callRequestInterceptor.d.ts +1 -1
  83. package/dist/src/utils/helpers/interceptors/callRequestInterceptor/callRequestInterceptor.js +2 -1
  84. package/dist/src/utils/helpers/interceptors/callResponseInterceptors/callResponseInterceptors.js +10 -5
  85. package/dist/src/utils/helpers/logger/callResponseLogger/callResponseLogger.d.ts +1 -1
  86. package/dist/src/utils/helpers/tests/createTmpDir.js +4 -4
  87. package/dist/src/utils/helpers/url/convertWin32PathToUnix/convertWin32PathToUnix.js +1 -1
  88. package/dist/src/utils/helpers/url/urlJoin/urlJoin.js +4 -4
  89. package/dist/src/utils/types/checkModes.d.ts +14 -7
  90. package/dist/src/utils/types/database.d.ts +30 -0
  91. package/dist/src/utils/types/entities.d.ts +13 -43
  92. package/dist/src/utils/types/files.d.ts +5 -0
  93. package/dist/src/utils/types/files.js +4 -0
  94. package/dist/src/utils/types/graphql.d.ts +9 -8
  95. package/dist/src/utils/types/index.d.ts +1 -0
  96. package/dist/src/utils/types/index.js +1 -0
  97. package/dist/src/utils/types/interceptors.d.ts +21 -16
  98. package/dist/src/utils/types/logger.d.ts +11 -11
  99. package/dist/src/utils/types/rest.d.ts +17 -12
  100. package/dist/src/utils/types/server.d.ts +48 -20
  101. package/dist/src/utils/types/shared.d.ts +1 -1
  102. package/dist/src/utils/types/utils.d.ts +4 -4
  103. package/dist/src/utils/types/values.d.ts +3 -4
  104. package/dist/{bin/validateMockServerConfig → src/utils/validate}/corsSchema/corsSchema.d.ts +2 -2
  105. package/dist/{bin/helpers → src/utils/validate}/getMostSpecificPathFromError.d.ts +1 -1
  106. package/dist/src/utils/validate/getValidationMessageFromPath.d.ts +1 -0
  107. package/dist/src/utils/validate/graphqlConfigSchema/graphqlConfigSchema.d.ts +535 -0
  108. package/dist/{bin/validateMockServerConfig → src/utils/validate}/graphqlConfigSchema/graphqlConfigSchema.js +14 -6
  109. package/dist/{bin/validateMockServerConfig → src/utils/validate}/graphqlConfigSchema/routeConfigSchema/routeConfigSchema.d.ts +20 -5
  110. package/dist/{bin/validateMockServerConfig → src/utils/validate}/graphqlConfigSchema/routeConfigSchema/routeConfigSchema.js +5 -5
  111. package/dist/src/utils/validate/index.d.ts +14 -0
  112. package/dist/src/utils/validate/index.js +31 -0
  113. package/dist/{bin/helpers → src/utils/validate}/isOnlyRequestedDataResolvingPropertyExists.d.ts +1 -1
  114. package/dist/src/utils/validate/queueSchema/queueSchema.d.ts +20 -0
  115. package/dist/src/utils/validate/queueSchema/queueSchema.js +24 -0
  116. package/dist/src/utils/validate/restConfigSchema/restConfigSchema.d.ts +1659 -0
  117. package/dist/{bin/validateMockServerConfig → src/utils/validate}/restConfigSchema/restConfigSchema.js +13 -5
  118. package/dist/{bin/validateMockServerConfig → src/utils/validate}/restConfigSchema/routeConfigSchema/routeConfigSchema.d.ts +21 -6
  119. package/dist/{bin/validateMockServerConfig → src/utils/validate}/restConfigSchema/routeConfigSchema/routeConfigSchema.js +6 -6
  120. package/dist/src/utils/validate/utils/checkModeSchema/checkModeSchema.d.ts +23 -0
  121. package/dist/{bin/validateMockServerConfig → src/utils/validate}/utils/checkModeSchema/checkModeSchema.js +24 -1
  122. package/dist/src/utils/validate/utils/entitiesSchema/entitiesSchema.d.ts +4 -0
  123. package/dist/src/utils/validate/utils/entitiesSchema/entitiesSchema.js +94 -0
  124. package/dist/src/utils/validate/utils/extendedDiscriminatedUnion/extendedDiscriminatedUnion.d.ts +8 -0
  125. package/dist/src/utils/validate/utils/extendedDiscriminatedUnion/extendedDiscriminatedUnion.js +46 -0
  126. package/dist/{bin/validateMockServerConfig → src/utils/validate}/utils/index.d.ts +2 -2
  127. package/dist/{bin/validateMockServerConfig → src/utils/validate}/utils/index.js +2 -2
  128. package/dist/{bin/validateMockServerConfig → src/utils/validate}/utils/jsonSchema/jsonSchema.d.ts +2 -2
  129. package/dist/{bin/validateMockServerConfig → src/utils/validate}/utils/jsonSchema/jsonSchema.js +1 -1
  130. package/dist/src/utils/validate/utils/nestedObjectOrArraySchema/nestedObjectOrArraySchema.d.ts +3 -0
  131. package/dist/src/utils/validate/utils/nestedObjectOrArraySchema/nestedObjectOrArraySchema.js +22 -0
  132. package/dist/{bin/validateMockServerConfig → src/utils/validate}/utils/requiredPropertiesSchema/requiredPropertiesSchema.d.ts +1 -1
  133. package/dist/{bin/validateMockServerConfig → src/utils/validate}/utils/requiredPropertiesSchema/requiredPropertiesSchema.js +1 -1
  134. package/dist/src/utils/validate/validateApiMockServerConfig.d.ts +2 -0
  135. package/dist/{bin/validateMockServerConfig → src/utils/validate}/validateApiMockServerConfig.js +4 -3
  136. package/dist/src/utils/validate/validateFlatMockServerConfig.d.ts +2 -0
  137. package/dist/src/utils/validate/validateFlatMockServerConfig.js +53 -0
  138. package/dist/{bin/validateMockServerConfig → src/utils/validate}/validateMockServerConfig.d.ts +1 -1
  139. package/dist/{bin/validateMockServerConfig → src/utils/validate}/validateMockServerConfig.js +4 -3
  140. package/package.json +51 -52
  141. package/dist/bin/helpers/getValidationMessageFromPath.d.ts +0 -1
  142. package/dist/bin/validateMockServerConfig/graphqlConfigSchema/graphqlConfigSchema.d.ts +0 -258
  143. package/dist/bin/validateMockServerConfig/queueSchema/queueSchema.d.ts +0 -8
  144. package/dist/bin/validateMockServerConfig/queueSchema/queueSchema.js +0 -21
  145. package/dist/bin/validateMockServerConfig/restConfigSchema/restConfigSchema.d.ts +0 -743
  146. package/dist/bin/validateMockServerConfig/utils/checkModeSchema/checkModeSchema.d.ts +0 -5
  147. package/dist/bin/validateMockServerConfig/utils/entitiesSchema/entitiesSchema.d.ts +0 -71
  148. package/dist/bin/validateMockServerConfig/utils/entitiesSchema/entitiesSchema.js +0 -124
  149. package/dist/bin/validateMockServerConfig/validateApiMockServerConfig.d.ts +0 -2
  150. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getGraphqlUrlSuggestions/getGraphqlUrlSuggestions.d.ts +0 -11
  151. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getGraphqlUrlSuggestions/getGraphqlUrlSuggestions.js +0 -25
  152. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getLevenshteinDistance/getLevenshteinDistance.d.ts +0 -1
  153. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getLevenshteinDistance/getLevenshteinDistance.js +0 -85
  154. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/getRestUrlSuggestions.d.ts +0 -11
  155. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/getRestUrlSuggestions.js +0 -39
  156. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/helpers/getActualRestUrlMeaningfulString/getActualRestUrlMeaningfulString.d.ts +0 -1
  157. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/helpers/getActualRestUrlMeaningfulString/getActualRestUrlMeaningfulString.js +0 -11
  158. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/helpers/getPatternRestUrlMeaningfulString/getPatternRestUrlMeaningfulString.d.ts +0 -1
  159. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/helpers/getPatternRestUrlMeaningfulString/getPatternRestUrlMeaningfulString.js +0 -11
  160. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/helpers/index.d.ts +0 -2
  161. package/dist/src/core/middlewares/notFoundMiddleware/helpers/getRestUrlSuggestions/helpers/index.js +0 -19
  162. package/dist/src/core/middlewares/notFoundMiddleware/helpers/index.d.ts +0 -3
  163. package/dist/src/core/middlewares/notFoundMiddleware/helpers/index.js +0 -20
  164. package/dist/src/core/middlewares/notFoundMiddleware/notFoundMiddleware.d.ts +0 -3
  165. package/dist/src/core/middlewares/notFoundMiddleware/notFoundMiddleware.js +0 -65
  166. package/dist/src/static/views/assets/icons/scheme-dark.svg +0 -3
  167. package/dist/src/static/views/assets/icons/scheme-light.svg +0 -3
  168. package/dist/src/static/views/assets/images/404.png +0 -0
  169. package/dist/src/static/views/assets/images/logo.png +0 -0
  170. package/dist/src/static/views/assets/styles/global.css +0 -88
  171. package/dist/src/static/views/components/header/index.css +0 -55
  172. package/dist/src/static/views/components/header/index.ejs +0 -40
  173. package/dist/src/static/views/components/header/index.js +0 -1
  174. package/dist/src/static/views/features/scheme/dark.css +0 -13
  175. package/dist/src/static/views/features/scheme/index.ejs +0 -3
  176. package/dist/src/static/views/features/scheme/index.js +0 -31
  177. package/dist/src/static/views/features/scheme/light.css +0 -13
  178. package/dist/src/static/views/features/tab/index.css +0 -30
  179. package/dist/src/static/views/features/tab/index.ejs +0 -2
  180. package/dist/src/static/views/features/tab/index.js +0 -12
  181. package/dist/src/static/views/pages/404/index.css +0 -10
  182. package/dist/src/static/views/pages/404/index.ejs +0 -82
  183. package/dist/src/utils/helpers/isRegExp/isRegExp.d.ts +0 -1
  184. package/dist/src/utils/helpers/isRegExp/isRegExp.js +0 -11
  185. package/dist/{bin/validateMockServerConfig → src/utils/validate}/baseUrlSchema/baseUrlSchema.d.ts +0 -0
  186. package/dist/{bin/validateMockServerConfig → src/utils/validate}/baseUrlSchema/baseUrlSchema.js +0 -0
  187. package/dist/{bin/validateMockServerConfig → src/utils/validate}/corsSchema/corsSchema.js +0 -0
  188. package/dist/{bin/validateMockServerConfig → src/utils/validate}/databaseConfigSchema/databaseConfigSchema.d.ts +0 -0
  189. package/dist/{bin/validateMockServerConfig → src/utils/validate}/databaseConfigSchema/databaseConfigSchema.js +0 -0
  190. package/dist/{bin/helpers → src/utils/validate}/getMostSpecificPathFromError.js +0 -0
  191. package/dist/{bin/helpers → src/utils/validate}/getValidationMessageFromPath.js +0 -0
  192. package/dist/{bin/validateMockServerConfig → src/utils/validate}/interceptorsSchema/interceptorsSchema.d.ts +0 -0
  193. package/dist/{bin/validateMockServerConfig → src/utils/validate}/interceptorsSchema/interceptorsSchema.js +0 -0
  194. package/dist/{bin/helpers → src/utils/validate}/isOnlyRequestedDataResolvingPropertyExists.js +0 -0
  195. package/dist/{bin/validateMockServerConfig → src/utils/validate}/portSchema/portSchema.d.ts +0 -0
  196. package/dist/{bin/validateMockServerConfig → src/utils/validate}/portSchema/portSchema.js +0 -0
  197. package/dist/{bin/validateMockServerConfig → src/utils/validate}/settingsSchema/settingsSchema.d.ts +2 -2
  198. /package/dist/{bin/validateMockServerConfig → src/utils/validate}/settingsSchema/settingsSchema.js +0 -0
  199. /package/dist/{bin/validateMockServerConfig → src/utils/validate}/staticPathSchema/staticPathSchema.d.ts +0 -0
  200. /package/dist/{bin/validateMockServerConfig → src/utils/validate}/staticPathSchema/staticPathSchema.js +0 -0
  201. /package/dist/{bin/validateMockServerConfig → src/utils/validate}/utils/plainObjectSchema/plainObjectSchema.d.ts +0 -0
  202. /package/dist/{bin/validateMockServerConfig → src/utils/validate}/utils/plainObjectSchema/plainObjectSchema.js +0 -0
  203. /package/dist/{bin/validateMockServerConfig → src/utils/validate}/utils/sharedSchema/sharedSchema.d.ts +0 -0
  204. /package/dist/{bin/validateMockServerConfig → src/utils/validate}/utils/sharedSchema/sharedSchema.js +0 -0
package/dist/bin/bin.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- const pleaseUpgradeNode = require('please-upgrade-node');
6
+ /* eslint-disable ts/no-require-imports */ const pleaseUpgradeNode = require('please-upgrade-node');
7
7
  const packageJson = require('../../package.json');
8
8
  pleaseUpgradeNode(packageJson);
9
9
  const { cli } = require('./cli');
@@ -1,2 +1,4 @@
1
1
  import type { MockServerConfigArgv } from '../src/utils/types';
2
- export declare const build: (argv: MockServerConfigArgv) => Promise<void>;
2
+ export declare const build: (argv: MockServerConfigArgv) => Promise<(import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse> & {
3
+ destroy: import("http").Server["close"];
4
+ }) | undefined>;
package/dist/bin/build.js CHANGED
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "build", {
11
11
  const _esbuild = require("esbuild");
12
12
  const _helpers = require("./helpers");
13
13
  const _run = require("./run");
14
+ const _runFlatConfig = require("./runFlatConfig");
14
15
  const build = async (argv)=>{
15
16
  const configFilePath = (0, _helpers.resolveConfigFilePath)(argv.config);
16
17
  if (!configFilePath) {
@@ -41,6 +42,11 @@ const build = async (argv)=>{
41
42
  build.onEnd((result)=>{
42
43
  if (!result.errors.length) {
43
44
  const mockConfig = (0, _helpers.resolveConfigFile)(result.outputFiles[0].text);
45
+ const isFlatConfig = Array.isArray(mockConfig);
46
+ if (isFlatConfig) {
47
+ instance = (0, _runFlatConfig.runFlatConfig)(mockConfig, argv);
48
+ return;
49
+ }
44
50
  instance = (0, _run.run)(mockConfig, argv);
45
51
  }
46
52
  });
@@ -53,5 +59,9 @@ const build = async (argv)=>{
53
59
  }
54
60
  const { outputFiles } = await (0, _esbuild.build)(buildOptions);
55
61
  const mockConfig = (0, _helpers.resolveConfigFile)(outputFiles[0].text);
62
+ const isFlatConfig = Array.isArray(mockConfig);
63
+ if (isFlatConfig) {
64
+ return (0, _runFlatConfig.runFlatConfig)(mockConfig, argv);
65
+ }
56
66
  (0, _run.run)(mockConfig, argv);
57
67
  };
@@ -1,9 +1,9 @@
1
1
  interface CreateTemplateOptions {
2
- withTypescript: boolean;
2
+ apiType: 'full' | 'graphql' | 'rest';
3
3
  baseUrl: string;
4
- staticPath: string;
5
4
  port: number;
6
- apiType: 'rest' | 'graphql' | 'full';
5
+ staticPath: string;
6
+ withTypescript: boolean;
7
7
  }
8
8
  export declare const createTemplate: (options: CreateTemplateOptions) => void;
9
9
  export {};
@@ -25,7 +25,7 @@ const createTemplate = (options)=>{
25
25
  });
26
26
  let mockServerConfig = _nodefs.default.readFileSync(`${templatePath}/mock-server.config.${language}`, 'utf8');
27
27
  if (options.staticPath !== '/') {
28
- mockServerConfig = mockServerConfig.replace(`port: ${_constants.DEFAULT.PORT}`, `port: ${_constants.DEFAULT.PORT},\n staticPath: '${options.staticPath}'`);
28
+ mockServerConfig = mockServerConfig.replace(`port: ${_constants.DEFAULT.PORT}`, `port: ${_constants.DEFAULT.PORT},\n\u0020\u0020\u0020\u0020staticPath: '${options.staticPath}'`);
29
29
  }
30
30
  mockServerConfig = mockServerConfig.replace(`port: ${_constants.DEFAULT.PORT}`, `port: ${options.port.toString()}`);
31
31
  mockServerConfig = mockServerConfig.replace("baseUrl: '/'", `baseUrl: '${options.baseUrl}'`);
@@ -1,7 +1,4 @@
1
1
  export * from './createTemplate';
2
- export * from './getMostSpecificPathFromError';
3
- export * from './getValidationMessageFromPath';
4
- export * from './isOnlyRequestedDataResolvingPropertyExists';
5
2
  export * from './resolveConfigFile';
6
3
  export * from './resolveConfigFilePath';
7
4
  export * from './resolveExportsFromSourceCode';
@@ -3,9 +3,6 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
  _export_star(require("./createTemplate"), exports);
6
- _export_star(require("./getMostSpecificPathFromError"), exports);
7
- _export_star(require("./getValidationMessageFromPath"), exports);
8
- _export_star(require("./isOnlyRequestedDataResolvingPropertyExists"), exports);
9
6
  _export_star(require("./resolveConfigFile"), exports);
10
7
  _export_star(require("./resolveConfigFilePath"), exports);
11
8
  _export_star(require("./resolveExportsFromSourceCode"), exports);
@@ -1,2 +1,2 @@
1
- import type { MockServerConfig } from '../../src/utils/types';
2
- export declare const resolveConfigFile: (configSourceCode: string) => MockServerConfig;
1
+ import type { FlatMockServerConfig, MockServerConfig } from '../../src/utils/types';
2
+ export declare const resolveConfigFile: (configSourceCode: string) => FlatMockServerConfig | MockServerConfig;
@@ -19,8 +19,8 @@ const resolveConfigFile = (configSourceCode)=>{
19
19
  if (!mockServerConfig) {
20
20
  throw new Error('Cannot handle exports of mock-server.config.(ts|js)');
21
21
  }
22
- if (!(0, _helpers.isPlainObject)(mockServerConfig)) {
23
- throw new Error('configuration should be plain object; see our doc (https://www.npmjs.com/package/mock-config-server) for more information');
22
+ if (!(0, _helpers.isPlainObject)(mockServerConfig) && !Array.isArray(mockServerConfig)) {
23
+ throw new Error('configuration should be plain object or array; see our doc (https://www.npmjs.com/package/mock-config-server) for more information');
24
24
  }
25
25
  return mockServerConfig;
26
26
  };
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "resolveConfigFilePath", {
8
8
  return resolveConfigFilePath;
9
9
  }
10
10
  });
11
- const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
12
- const _path = /*#__PURE__*/ _interop_require_default(require("path"));
11
+ const _nodefs = /*#__PURE__*/ _interop_require_default(require("node:fs"));
12
+ const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
13
13
  function _interop_require_default(obj) {
14
14
  return obj && obj.__esModule ? obj : {
15
15
  default: obj
@@ -17,7 +17,7 @@ function _interop_require_default(obj) {
17
17
  }
18
18
  const resolveConfigFilePath = (cliConfigFilePath)=>{
19
19
  const appPath = process.cwd();
20
- if (cliConfigFilePath) return _path.default.resolve(appPath, cliConfigFilePath);
20
+ if (cliConfigFilePath) return _nodepath.default.resolve(appPath, cliConfigFilePath);
21
21
  const configFileNameRegex = /mock-server.config.(?:ts|mts|cts|js|mjs|cjs)/;
22
- return _fs.default.readdirSync(appPath).find((fileName)=>configFileNameRegex.test(fileName));
22
+ return _nodefs.default.readdirSync(appPath).find((fileName)=>configFileNameRegex.test(fileName));
23
23
  };
@@ -9,9 +9,8 @@ Object.defineProperty(exports, "resolveExportsFromSourceCode", {
9
9
  }
10
10
  });
11
11
  const resolveExportsFromSourceCode = (sourceCode)=>{
12
- // @ts-ignore
12
+ // @ts-expect-error: module is constructed
13
13
  const moduleInstance = new module.constructor();
14
- // eslint-disable-next-line no-underscore-dangle
15
14
  moduleInstance._compile(sourceCode, '');
16
15
  return moduleInstance.exports;
17
16
  };
package/dist/bin/init.js CHANGED
@@ -10,9 +10,7 @@ Object.defineProperty(exports, "init", {
10
10
  });
11
11
  const _ansicolors = /*#__PURE__*/ _interop_require_default(require("ansi-colors"));
12
12
  const _prompts = /*#__PURE__*/ _interop_require_default(require("prompts"));
13
- const _baseUrlSchema = require("./validateMockServerConfig/baseUrlSchema/baseUrlSchema");
14
- const _portSchema = require("./validateMockServerConfig/portSchema/portSchema");
15
- const _staticPathSchema = require("./validateMockServerConfig/staticPathSchema/staticPathSchema");
13
+ const _validate = require("../src/utils/validate");
16
14
  const _helpers = require("./helpers");
17
15
  function _interop_require_default(obj) {
18
16
  return obj && obj.__esModule ? obj : {
@@ -60,7 +58,7 @@ const init = async (argv)=>{
60
58
  initial: '/',
61
59
  validate: (baseUrl)=>{
62
60
  try {
63
- _baseUrlSchema.baseUrlSchema.parse(baseUrl);
61
+ _validate.baseUrlSchema.parse(baseUrl);
64
62
  return true;
65
63
  } catch {
66
64
  return 'Invalid base url value';
@@ -74,9 +72,9 @@ const init = async (argv)=>{
74
72
  initial: 31299,
75
73
  validate: (port)=>{
76
74
  try {
77
- _portSchema.portSchema.parse(+port);
75
+ _validate.portSchema.parse(+port);
78
76
  return true;
79
- } catch (error) {
77
+ } catch {
80
78
  return 'Invalid port value';
81
79
  }
82
80
  }
@@ -88,7 +86,7 @@ const init = async (argv)=>{
88
86
  initial: '/',
89
87
  validate: (staticPath)=>{
90
88
  try {
91
- _staticPathSchema.staticPathSchema.parse(staticPath);
89
+ _validate.staticPathSchema.parse(staticPath);
92
90
  return true;
93
91
  } catch {
94
92
  return 'Invalid static path value';
@@ -106,7 +104,6 @@ const init = async (argv)=>{
106
104
  });
107
105
  var _process_env_npm_config_user_agent;
108
106
  const userAgent = (_process_env_npm_config_user_agent = process.env.npm_config_user_agent) !== null && _process_env_npm_config_user_agent !== void 0 ? _process_env_npm_config_user_agent : '';
109
- // eslint-disable-next-line no-nested-ternary
110
107
  const packageManager = /pnpm/.test(userAgent) ? 'pnpm' : /yarn/.test(userAgent) ? 'yarn' : 'npx';
111
108
  console.log('\n');
112
109
  console.log(_ansicolors.default.bold('🎉 Thanks for using mock-config-server! 🎉'));
package/dist/bin/run.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env node
2
- /// <reference types="node" />
3
2
  import type { MockServerConfig, MockServerConfigArgv } from '../src';
4
3
  export declare const run: (mockConfig: MockServerConfig, { baseUrl, port, staticPath }: MockServerConfigArgv) => (import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse> & {
5
- destroy: (callback?: ((err?: Error | undefined) => void) | undefined) => import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>;
4
+ destroy: import("http").Server["close"];
6
5
  }) | undefined;
package/dist/bin/run.js CHANGED
@@ -11,9 +11,8 @@ Object.defineProperty(exports, "run", {
11
11
  });
12
12
  const _server = require("../src/server");
13
13
  const _helpers = require("../src/utils/helpers");
14
- const _validateApiMockServerConfig = require("./validateMockServerConfig/validateApiMockServerConfig");
15
- const _validateMockServerConfig = require("./validateMockServerConfig/validateMockServerConfig");
16
14
  const run = (mockConfig, { baseUrl, port, staticPath })=>{
15
+ console.warn(`**DEPRECATION WARNING**\nThe old mock config format is deprecated and will be removed in the next major version. Please use new format of config (flat config); see our doc (https://github.com/siberiacancode/mock-config-server) for more information`);
17
16
  try {
18
17
  const mergedMockServerConfig = {
19
18
  ...mockConfig,
@@ -30,17 +29,13 @@ const run = (mockConfig, { baseUrl, port, staticPath })=>{
30
29
  if (!mergedMockServerConfig.rest && !mergedMockServerConfig.graphql && 'configs' in mergedMockServerConfig) {
31
30
  const mergedApiMockServerConfig = mergedMockServerConfig;
32
31
  if (Array.isArray(mergedApiMockServerConfig.configs) && (0, _helpers.isPlainObject)(mergedApiMockServerConfig.configs[0]) && 'path' in mergedApiMockServerConfig.configs[0]) {
33
- (0, _validateApiMockServerConfig.validateApiMockServerConfig)(mergedApiMockServerConfig, 'rest');
34
32
  return (0, _server.startRestMockServer)(mergedApiMockServerConfig);
35
33
  }
36
34
  if (Array.isArray(mergedApiMockServerConfig.configs) && (0, _helpers.isPlainObject)(mergedApiMockServerConfig.configs[0]) && ('query' in mergedApiMockServerConfig.configs[0] || 'operationName' in mergedApiMockServerConfig.configs[0])) {
37
- (0, _validateApiMockServerConfig.validateApiMockServerConfig)(mergedApiMockServerConfig, 'graphql');
38
35
  return (0, _server.startGraphQLMockServer)(mergedApiMockServerConfig);
39
36
  }
40
- (0, _validateApiMockServerConfig.validateApiMockServerConfig)(mergedApiMockServerConfig, 'rest');
41
37
  return (0, _server.startRestMockServer)(mergedApiMockServerConfig);
42
38
  }
43
- (0, _validateMockServerConfig.validateMockServerConfig)(mergedMockServerConfig);
44
39
  return (0, _server.startMockServer)(mergedMockServerConfig);
45
40
  } catch (error) {
46
41
  console.error(error.message);
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+ import type { FlatMockServerConfig, MockServerConfigArgv } from '../src';
3
+ export declare const runFlatConfig: (flatMockServerConfig: FlatMockServerConfig, { baseUrl, port, staticPath }: MockServerConfigArgv) => (import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse> & {
4
+ destroy: import("http").Server["close"];
5
+ }) | undefined;
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "runFlatConfig", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return runFlatConfig;
10
+ }
11
+ });
12
+ const _server = require("../src/server");
13
+ const runFlatConfig = (flatMockServerConfig, { baseUrl, port, staticPath })=>{
14
+ try {
15
+ const [option, ...flatMockServerComponents] = flatMockServerConfig;
16
+ const flatMockServerSettings = !('configs' in option) ? option : undefined;
17
+ const mergedFlatMockServerConfig = [
18
+ {
19
+ ...flatMockServerSettings,
20
+ ...baseUrl && {
21
+ baseUrl
22
+ },
23
+ ...port && {
24
+ port
25
+ },
26
+ ...staticPath && {
27
+ staticPath
28
+ }
29
+ },
30
+ ...flatMockServerSettings ? flatMockServerComponents : flatMockServerConfig
31
+ ];
32
+ return (0, _server.startFlatMockServer)(mergedFlatMockServerConfig);
33
+ } catch (error) {
34
+ console.error(error.message);
35
+ }
36
+ };
@@ -1,16 +1,19 @@
1
1
  import { createUserMutation, getUserQuery, getUsersQuery } from './mock-requests/graphql';
2
2
  import { getUserRequest, getUsersRequest, postUserRequest } from './mock-requests/rest';
3
3
 
4
- const mockServerConfig = {
5
- port: 31299,
6
- baseUrl: '/',
7
- rest: {
4
+ const mockServerConfig = [
5
+ {
6
+ port: 31299,
7
+ baseUrl: '/'
8
+ },
9
+ {
10
+ name: 'rest',
8
11
  configs: [getUserRequest, getUsersRequest, postUserRequest]
9
12
  },
10
- graphql: {
11
- baseUrl: '/graphql',
13
+ {
14
+ name: 'graphql',
12
15
  configs: [getUserQuery, getUsersQuery, createUserMutation]
13
16
  }
14
- };
17
+ ];
15
18
 
16
19
  export default mockServerConfig;
@@ -1,9 +1,14 @@
1
1
  import { createUserMutation, getUserQuery, getUsersQuery } from './mock-requests';
2
2
 
3
- const restMockServerConfig = {
4
- port: 31299,
5
- baseUrl: '/',
6
- configs: [getUserQuery, getUsersQuery, createUserMutation]
7
- };
3
+ const mockServerConfig = [
4
+ {
5
+ port: 31299,
6
+ baseUrl: '/graphql'
7
+ },
8
+ {
9
+ name: 'graphql',
10
+ configs: [getUserQuery, getUsersQuery, createUserMutation]
11
+ }
12
+ ];
8
13
 
9
- export default restMockServerConfig;
14
+ export default mockServerConfig;
@@ -1,9 +1,14 @@
1
1
  import { getUserRequest, getUsersRequest, postUserRequest } from './mock-requests';
2
2
 
3
- const restMockServerConfig = {
4
- port: 31299,
5
- baseUrl: '/',
6
- configs: [getUserRequest, getUsersRequest, postUserRequest]
7
- };
3
+ const mockServerConfig = [
4
+ {
5
+ port: 31299,
6
+ baseUrl: '/'
7
+ },
8
+ {
9
+ name: 'rest',
10
+ configs: [getUserRequest, getUsersRequest, postUserRequest]
11
+ }
12
+ ];
8
13
 
9
- export default restMockServerConfig;
14
+ export default mockServerConfig;
@@ -1,18 +1,21 @@
1
- import type { MockServerConfig } from 'mock-config-server';
1
+ import type { FlatMockServerConfig } from 'mock-config-server';
2
2
 
3
3
  import { createUserMutation, getUserQuery, getUsersQuery } from './mock-requests/graphql';
4
4
  import { getUserRequest, getUsersRequest, postUserRequest } from './mock-requests/rest';
5
5
 
6
- const mockServerConfig: MockServerConfig = {
7
- port: 31299,
8
- baseUrl: '/',
9
- rest: {
6
+ const mockServerConfig: FlatMockServerConfig = [
7
+ {
8
+ port: 31299,
9
+ baseUrl: '/'
10
+ },
11
+ {
12
+ name: 'rest',
10
13
  configs: [getUserRequest, getUsersRequest, postUserRequest]
11
14
  },
12
- graphql: {
13
- baseUrl: '/graphql',
15
+ {
16
+ name: 'graphql',
14
17
  configs: [getUserQuery, getUsersQuery, createUserMutation]
15
18
  }
16
- };
19
+ ];
17
20
 
18
21
  export default mockServerConfig;
@@ -1,11 +1,16 @@
1
- import type { GraphQLMockServerConfig } from 'mock-config-server';
1
+ import type { FlatMockServerConfig } from 'mock-config-server';
2
2
 
3
3
  import { createUserMutation, getUserQuery, getUsersQuery } from './mock-requests';
4
4
 
5
- const restMockServerConfig: GraphQLMockServerConfig = {
6
- port: 31299,
7
- baseUrl: '/',
8
- configs: [getUserQuery, getUsersQuery, createUserMutation]
9
- };
5
+ const mockServerConfig: FlatMockServerConfig = [
6
+ {
7
+ port: 31299,
8
+ baseUrl: '/graphql'
9
+ },
10
+ {
11
+ name: 'graphql',
12
+ configs: [getUserQuery, getUsersQuery, createUserMutation]
13
+ }
14
+ ];
10
15
 
11
- export default restMockServerConfig;
16
+ export default mockServerConfig;
@@ -1,11 +1,16 @@
1
- import type { RestMockServerConfig } from 'mock-config-server';
1
+ import type { FlatMockServerConfig } from 'mock-config-server';
2
2
 
3
3
  import { getUserRequest, getUsersRequest, postUserRequest } from './mock-requests';
4
4
 
5
- const restMockServerConfig: RestMockServerConfig = {
6
- port: 31299,
7
- baseUrl: '/',
8
- configs: [getUserRequest, getUsersRequest, postUserRequest]
9
- };
5
+ const mockServerConfig: FlatMockServerConfig = [
6
+ {
7
+ port: 31299,
8
+ baseUrl: '/'
9
+ },
10
+ {
11
+ name: 'rest',
12
+ configs: [getUserRequest, getUsersRequest, postUserRequest]
13
+ }
14
+ ];
10
15
 
11
- export default restMockServerConfig;
16
+ export default mockServerConfig;
@@ -8,12 +8,13 @@ Object.defineProperty(exports, "createDatabaseRoutes", {
8
8
  return createDatabaseRoutes;
9
9
  }
10
10
  });
11
+ const _createStorage = require("../createStorage/createStorage");
11
12
  const _helpers = require("./helpers");
12
13
  const _storages = require("./storages");
13
14
  const isVariableJsonFile = (variable)=>typeof variable === 'string' && variable.endsWith('.json');
14
15
  const createDatabaseRoutes = (router, { data, routes })=>{
15
16
  if (routes) {
16
- const storage = isVariableJsonFile(routes) ? new _storages.FileStorage(routes) : new _storages.MemoryStorage(routes);
17
+ const storage = (0, _createStorage.createStorage)(routes);
17
18
  (0, _helpers.createRewrittenDatabaseRoutes)(router, storage.read());
18
19
  router.route('/__routes').get((_request, response)=>{
19
20
  response.json(storage.read());
@@ -87,12 +87,11 @@ const createNestedDatabaseRoutes = (router, database, storage)=>{
87
87
  response.set('Location', `${request.url}/${newResourceId}`);
88
88
  response.status(201).json(newResource);
89
89
  });
90
- router.route(itemPath).get((request, response)=>{
90
+ router.route(itemPath).get((request, response, next)=>{
91
91
  const currentResourceCollection = storage.read(key);
92
92
  const currentResourceIndex = (0, _array.findIndexById)(currentResourceCollection, request.params.id);
93
93
  if (currentResourceIndex === -1) {
94
- response.status(404).end();
95
- return;
94
+ return next();
96
95
  }
97
96
  // ✅ important:
98
97
  // set 'Cache-Control' header for explicit browsers response revalidate
@@ -103,12 +102,11 @@ const createNestedDatabaseRoutes = (router, database, storage)=>{
103
102
  currentResourceIndex
104
103
  ]));
105
104
  });
106
- router.route(itemPath).put((request, response)=>{
105
+ router.route(itemPath).put((request, response, next)=>{
107
106
  const currentResourceCollection = storage.read(key);
108
107
  const currentResourceIndex = (0, _array.findIndexById)(currentResourceCollection, request.params.id);
109
108
  if (currentResourceIndex === -1) {
110
- response.status(404).end();
111
- return;
109
+ return next();
112
110
  }
113
111
  const currentResource = storage.read([
114
112
  key,
@@ -124,12 +122,11 @@ const createNestedDatabaseRoutes = (router, database, storage)=>{
124
122
  ], updatedResource);
125
123
  response.json(updatedResource);
126
124
  });
127
- router.route(itemPath).patch((request, response)=>{
125
+ router.route(itemPath).patch((request, response, next)=>{
128
126
  const currentResourceCollection = storage.read(key);
129
127
  const currentResourceIndex = (0, _array.findIndexById)(currentResourceCollection, request.params.id);
130
128
  if (currentResourceIndex === -1) {
131
- response.status(404).end();
132
- return;
129
+ return next();
133
130
  }
134
131
  const currentResource = storage.read([
135
132
  key,
@@ -146,12 +143,11 @@ const createNestedDatabaseRoutes = (router, database, storage)=>{
146
143
  ], updatedResource);
147
144
  response.json(updatedResource);
148
145
  });
149
- router.route(itemPath).delete((request, response)=>{
146
+ router.route(itemPath).delete((request, response, next)=>{
150
147
  const currentResourceCollection = storage.read(key);
151
148
  const currentResourceIndex = (0, _array.findIndexById)(currentResourceCollection, request.params.id);
152
149
  if (currentResourceIndex === -1) {
153
- response.status(404).end();
154
- return;
150
+ return next();
155
151
  }
156
152
  storage.delete([
157
153
  key,
@@ -1,3 +1,2 @@
1
- /// <reference types="node" />
2
1
  import type { ParsedUrlQuery } from 'node:querystring';
3
2
  export declare const filter: (array: any[], filters: ParsedUrlQuery) => any[];
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import type { ParsedUrlQuery } from 'node:querystring';
3
2
  export declare const pagination: (array: any[], queries: ParsedUrlQuery) => any[] | {
4
3
  _link: {
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import type { ParsedUrlQuery } from 'node:querystring';
3
2
  export declare const searchInNestedObjects: (obj: any, searchText: string) => boolean;
4
3
  export declare const search: (array: any[], searchText: ParsedUrlQuery) => any[];
@@ -1,3 +1,2 @@
1
- /// <reference types="node" />
2
1
  import type { ParsedUrlQuery } from 'node:querystring';
3
2
  export declare const sort: (array: any[], queries: ParsedUrlQuery) => any[];
@@ -1,5 +1,5 @@
1
1
  import type { DatabaseConfig, NestedDatabase, ShallowDatabase } from '../../../../../utils/types';
2
- export declare const splitDatabaseByNesting: (data: DatabaseConfig['data']) => {
2
+ export declare const splitDatabaseByNesting: (data: DatabaseConfig["data"]) => {
3
3
  shallowDatabase: ShallowDatabase;
4
4
  nestedDatabase: NestedDatabase;
5
5
  };
@@ -1,10 +1,9 @@
1
- type Index = string | number;
2
- export declare class FileStorage<T extends Record<Index, any> = Record<Index, any>> {
1
+ import type { Storage, StorageIndex } from '../../../../../utils/types';
2
+ export declare class FileStorage<Data extends Record<StorageIndex, any> = Record<StorageIndex, any>> implements Storage {
3
3
  private readonly fileWriter;
4
4
  private readonly data;
5
5
  constructor(fileName: string);
6
- read(key?: Index | Index[]): any;
7
- write(key: Index | Index[], value: unknown): void;
8
- delete(key: Index | Index[]): void;
6
+ read(key?: StorageIndex | StorageIndex[]): any;
7
+ write(key: StorageIndex | StorageIndex[], value: unknown): void;
8
+ delete(key: StorageIndex | StorageIndex[]): void;
9
9
  }
10
- export {};
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "FileStorage", {
8
8
  return FileStorage;
9
9
  }
10
10
  });
11
- const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
12
- const _path = /*#__PURE__*/ _interop_require_default(require("path"));
11
+ const _nodefs = /*#__PURE__*/ _interop_require_default(require("node:fs"));
12
+ const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
13
13
  const _constants = require("../../../../../utils/constants");
14
14
  const _helpers = require("../../helpers");
15
15
  const _FileWriter = require("./FileWriter");
@@ -22,9 +22,9 @@ class FileStorage {
22
22
  fileWriter;
23
23
  data;
24
24
  constructor(fileName){
25
- const filePath = _path.default.resolve(_constants.APP_PATH, fileName);
25
+ const filePath = _nodepath.default.resolve(_constants.APP_PATH, fileName);
26
26
  this.fileWriter = new _FileWriter.FileWriter(filePath);
27
- this.data = JSON.parse(_fs.default.readFileSync(filePath, 'utf-8'));
27
+ this.data = JSON.parse(_nodefs.default.readFileSync(filePath, 'utf-8'));
28
28
  }
29
29
  read(key) {
30
30
  if (!key) return this.data;
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "FileWriter", {
8
8
  return FileWriter;
9
9
  }
10
10
  });
11
- const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
11
+ const _nodefs = /*#__PURE__*/ _interop_require_default(require("node:fs"));
12
12
  function _interop_require_default(obj) {
13
13
  return obj && obj.__esModule ? obj : {
14
14
  default: obj
@@ -38,7 +38,7 @@ class FileWriter {
38
38
  }
39
39
  async unlockedWrite(data, recursionLevel = 0) {
40
40
  this.writeIsLocked = true;
41
- await _fs.default.promises.writeFile(this.filePath, data, 'utf-8');
41
+ await _nodefs.default.promises.writeFile(this.filePath, data, 'utf-8');
42
42
  this.writeIsLocked = false;
43
43
  // ✅ important:
44
44
  // copy content of this.nextData into new variable
@@ -1,9 +1,8 @@
1
- type Index = string | number;
2
- export declare class MemoryStorage<T extends Record<Index, any> = Record<Index, any>> {
1
+ import type { Storage, StorageIndex } from '../../../../../utils/types';
2
+ export declare class MemoryStorage<Data extends Record<StorageIndex, any> = Record<StorageIndex, any>> implements Storage {
3
3
  private readonly data;
4
- constructor(initialData: T);
5
- read(key?: Index | Index[]): any;
6
- write(key: Index | Index[], value: unknown): void;
7
- delete(key: Index | Index[]): void;
4
+ constructor(initialData: Data);
5
+ read(key?: StorageIndex | StorageIndex[]): any;
6
+ write(key: StorageIndex | StorageIndex[], value: unknown): void;
7
+ delete(key: StorageIndex | StorageIndex[]): void;
8
8
  }
9
- export {};
@@ -0,0 +1,2 @@
1
+ import type { Database, Orm, Storage } from '../../../utils/types';
2
+ export declare const createOrm: <Data extends Database = Database>(storage: Storage) => Orm<Data>;