@goatlab/fluent 0.6.13 → 0.6.16

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 (196) hide show
  1. package/dist/BaseConnector.d.ts +0 -0
  2. package/dist/BaseConnector.js +0 -0
  3. package/dist/Fluent.d.ts +1 -1
  4. package/dist/Fluent.js +8 -5
  5. package/dist/TypeOrmConnector/TypeOrmConnector.d.ts +3 -4
  6. package/dist/TypeOrmConnector/TypeOrmConnector.js +9 -14
  7. package/dist/TypeOrmConnector/TypeOrmMongoConnector._bypass.d.ts +0 -0
  8. package/dist/TypeOrmConnector/TypeOrmMongoConnector._bypass.js +0 -0
  9. package/dist/TypeOrmConnector/TypeOrmMysqlConnector._bypass.d.ts +0 -0
  10. package/dist/TypeOrmConnector/TypeOrmMysqlConnector._bypass.js +0 -0
  11. package/dist/TypeOrmConnector/test/advanced/advancedTestSuite.d.ts +0 -0
  12. package/dist/TypeOrmConnector/test/advanced/advancedTestSuite.js +0 -0
  13. package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.d.ts +0 -0
  14. package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.js +1 -1
  15. package/dist/TypeOrmConnector/test/advanced/typeOrm.repository.d.ts +0 -0
  16. package/dist/TypeOrmConnector/test/advanced/typeOrm.repository.js +2 -1
  17. package/dist/TypeOrmConnector/test/basic/basicTestSuite.d.ts +0 -0
  18. package/dist/TypeOrmConnector/test/basic/basicTestSuite.js +0 -0
  19. package/dist/TypeOrmConnector/test/basic/goat.dto.d.ts +0 -0
  20. package/dist/TypeOrmConnector/test/basic/goat.dto.js +0 -0
  21. package/dist/TypeOrmConnector/test/basic/goat.entity.d.ts +0 -0
  22. package/dist/TypeOrmConnector/test/basic/goat.entity.js +1 -1
  23. package/dist/TypeOrmConnector/test/basic/goat.repository.d.ts +0 -0
  24. package/dist/TypeOrmConnector/test/basic/goat.repository.js +2 -1
  25. package/dist/TypeOrmConnector/test/dbEntities.d.ts +6 -0
  26. package/dist/TypeOrmConnector/test/dbEntities.js +17 -0
  27. package/dist/TypeOrmConnector/test/flock.d.ts +0 -0
  28. package/dist/TypeOrmConnector/test/flock.js +0 -0
  29. package/dist/TypeOrmConnector/test/memoryDataSource.d.ts +2 -0
  30. package/dist/TypeOrmConnector/test/memoryDataSource.js +12 -0
  31. package/dist/TypeOrmConnector/test/relations/car/car.dto.d.ts +0 -0
  32. package/dist/TypeOrmConnector/test/relations/car/car.dto.js +0 -0
  33. package/dist/TypeOrmConnector/test/relations/car/car.entity.d.ts +0 -0
  34. package/dist/TypeOrmConnector/test/relations/car/car.entity.js +1 -1
  35. package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.d.ts +0 -0
  36. package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.js +2 -1
  37. package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.d.ts +0 -0
  38. package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.js +1 -1
  39. package/dist/TypeOrmConnector/test/relations/roles/role.dto.d.ts +0 -0
  40. package/dist/TypeOrmConnector/test/relations/roles/role.dto.js +0 -0
  41. package/dist/TypeOrmConnector/test/relations/roles/roles.entity.d.ts +0 -0
  42. package/dist/TypeOrmConnector/test/relations/roles/roles.entity.js +1 -1
  43. package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.d.ts +0 -0
  44. package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.js +2 -1
  45. package/dist/TypeOrmConnector/test/relations/roles/roles_user.dto.d.ts +0 -0
  46. package/dist/TypeOrmConnector/test/relations/roles/roles_user.dto.js +0 -0
  47. package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.d.ts +0 -0
  48. package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.js +1 -1
  49. package/dist/TypeOrmConnector/test/relations/roles/roles_users.repositoryTypeOrm.d.ts +0 -0
  50. package/dist/TypeOrmConnector/test/relations/roles/roles_users.repositoryTypeOrm.js +2 -1
  51. package/dist/TypeOrmConnector/test/relations/user/user.dto.d.ts +0 -0
  52. package/dist/TypeOrmConnector/test/relations/user/user.dto.js +0 -0
  53. package/dist/TypeOrmConnector/test/relations/user/user.entity.d.ts +0 -0
  54. package/dist/TypeOrmConnector/test/relations/user/user.entity.js +1 -1
  55. package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.d.ts +0 -0
  56. package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.js +2 -1
  57. package/dist/cache.d.ts +9 -0
  58. package/dist/cache.js +43 -0
  59. package/dist/core/Loopback/build-schema.d.ts +0 -0
  60. package/dist/core/Loopback/build-schema.js +0 -0
  61. package/dist/core/Loopback/common-types.d.ts +0 -0
  62. package/dist/core/Loopback/common-types.js +0 -0
  63. package/dist/core/Loopback/json-to-schema.d.ts +0 -0
  64. package/dist/core/Loopback/json-to-schema.js +0 -0
  65. package/dist/core/Loopback/metadata.d.ts +0 -0
  66. package/dist/core/Loopback/metadata.js +0 -0
  67. package/dist/core/Loopback/model.d.ts +0 -0
  68. package/dist/core/Loopback/model.js +0 -0
  69. package/dist/core/Loopback/query.d.ts +0 -0
  70. package/dist/core/Loopback/query.js +0 -0
  71. package/dist/core/Loopback/relation.types.d.ts +0 -0
  72. package/dist/core/Loopback/relation.types.js +0 -0
  73. package/dist/core/Loopback/type-resolver.d.ts +0 -0
  74. package/dist/core/Loopback/type-resolver.js +0 -0
  75. package/dist/core/Loopback/type.d.ts +0 -0
  76. package/dist/core/Loopback/type.js +0 -0
  77. package/dist/core/Nestjs/applyDecorators.d.ts +0 -0
  78. package/dist/core/Nestjs/applyDecorators.js +0 -0
  79. package/dist/core/Nestjs/types/common.d.ts +0 -0
  80. package/dist/core/Nestjs/types/common.js +0 -0
  81. package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.d.ts +0 -0
  82. package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.js +0 -0
  83. package/dist/core/Nestjs/types/decorators/api-property.decorator.d.ts +0 -0
  84. package/dist/core/Nestjs/types/decorators/api-property.decorator.js +0 -0
  85. package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.d.ts +0 -0
  86. package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.js +0 -0
  87. package/dist/core/Nestjs/types/decorators/args-type.decorator.d.ts +0 -0
  88. package/dist/core/Nestjs/types/decorators/args-type.decorator.js +0 -0
  89. package/dist/core/Nestjs/types/decorators/create-property.decorator.d.ts +0 -0
  90. package/dist/core/Nestjs/types/decorators/create-property.decorator.js +0 -0
  91. package/dist/core/Nestjs/types/decorators/directive.decorator.d.ts +0 -0
  92. package/dist/core/Nestjs/types/decorators/directive.decorator.js +0 -0
  93. package/dist/core/Nestjs/types/decorators/extensions.decorator.d.ts +0 -0
  94. package/dist/core/Nestjs/types/decorators/extensions.decorator.js +0 -0
  95. package/dist/core/Nestjs/types/decorators/field.decorator.d.ts +0 -0
  96. package/dist/core/Nestjs/types/decorators/field.decorator.js +0 -0
  97. package/dist/core/Nestjs/types/decorators/input-type.decorator.d.ts +0 -0
  98. package/dist/core/Nestjs/types/decorators/input-type.decorator.js +0 -0
  99. package/dist/core/Nestjs/types/decorators/interface-type.decorator.d.ts +0 -0
  100. package/dist/core/Nestjs/types/decorators/interface-type.decorator.js +0 -0
  101. package/dist/core/Nestjs/types/decorators/partial-type.helper.d.ts +0 -0
  102. package/dist/core/Nestjs/types/decorators/partial-type.helper.js +0 -0
  103. package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.d.ts +0 -0
  104. package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.js +0 -0
  105. package/dist/core/Nestjs/types/errors/directive-parsing.error.d.ts +0 -0
  106. package/dist/core/Nestjs/types/errors/directive-parsing.error.js +0 -0
  107. package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.d.ts +0 -0
  108. package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.js +0 -0
  109. package/dist/core/Nestjs/types/errors/undefined-type.error.d.ts +0 -0
  110. package/dist/core/Nestjs/types/errors/undefined-type.error.js +0 -0
  111. package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.d.ts +0 -0
  112. package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.js +0 -0
  113. package/dist/core/Nestjs/types/interfaces/base-type-options.interface.d.ts +0 -0
  114. package/dist/core/Nestjs/types/interfaces/base-type-options.interface.js +0 -0
  115. package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.d.ts +0 -0
  116. package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.js +0 -0
  117. package/dist/core/Nestjs/types/interfaces/complexity.interface.d.ts +0 -0
  118. package/dist/core/Nestjs/types/interfaces/complexity.interface.js +0 -0
  119. package/dist/core/Nestjs/types/interfaces/field-middleware.interface.d.ts +0 -0
  120. package/dist/core/Nestjs/types/interfaces/field-middleware.interface.js +0 -0
  121. package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.d.ts +0 -0
  122. package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.js +0 -0
  123. package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.d.ts +0 -0
  124. package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.js +0 -0
  125. package/dist/core/Nestjs/types/interfaces/return-type-func.interface.d.ts +0 -0
  126. package/dist/core/Nestjs/types/interfaces/return-type-func.interface.js +0 -0
  127. package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.d.ts +0 -0
  128. package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.js +0 -0
  129. package/dist/core/Nestjs/types/interfaces/type-options.interface.d.ts +0 -0
  130. package/dist/core/Nestjs/types/interfaces/type-options.interface.js +0 -0
  131. package/dist/core/Nestjs/types/lazy-metadata.storage.d.ts +0 -0
  132. package/dist/core/Nestjs/types/lazy-metadata.storage.js +0 -0
  133. package/dist/core/Nestjs/types/metadata/class.metadata.d.ts +0 -0
  134. package/dist/core/Nestjs/types/metadata/class.metadata.js +0 -0
  135. package/dist/core/Nestjs/types/metadata/directive.metadata.d.ts +0 -0
  136. package/dist/core/Nestjs/types/metadata/directive.metadata.js +0 -0
  137. package/dist/core/Nestjs/types/metadata/enum.metadata.d.ts +0 -0
  138. package/dist/core/Nestjs/types/metadata/enum.metadata.js +0 -0
  139. package/dist/core/Nestjs/types/metadata/extensions.metadata.d.ts +0 -0
  140. package/dist/core/Nestjs/types/metadata/extensions.metadata.js +0 -0
  141. package/dist/core/Nestjs/types/metadata/index.d.ts +0 -0
  142. package/dist/core/Nestjs/types/metadata/index.js +0 -0
  143. package/dist/core/Nestjs/types/metadata/interface.metadata.d.ts +0 -0
  144. package/dist/core/Nestjs/types/metadata/interface.metadata.js +0 -0
  145. package/dist/core/Nestjs/types/metadata/object-type.metadata.d.ts +0 -0
  146. package/dist/core/Nestjs/types/metadata/object-type.metadata.js +0 -0
  147. package/dist/core/Nestjs/types/metadata/param.metadata.d.ts +0 -0
  148. package/dist/core/Nestjs/types/metadata/param.metadata.js +0 -0
  149. package/dist/core/Nestjs/types/metadata/property.metadata.d.ts +0 -0
  150. package/dist/core/Nestjs/types/metadata/property.metadata.js +0 -0
  151. package/dist/core/Nestjs/types/metadata/resolver.metadata.d.ts +0 -0
  152. package/dist/core/Nestjs/types/metadata/resolver.metadata.js +0 -0
  153. package/dist/core/Nestjs/types/metadata/union.metadata.d.ts +0 -0
  154. package/dist/core/Nestjs/types/metadata/union.metadata.js +0 -0
  155. package/dist/core/Nestjs/types/object-type.decorator.d.ts +0 -0
  156. package/dist/core/Nestjs/types/object-type.decorator.js +0 -0
  157. package/dist/core/Nestjs/types/omit-type.d.ts +0 -0
  158. package/dist/core/Nestjs/types/omit-type.js +0 -0
  159. package/dist/core/Nestjs/types/reflection.utils.d.ts +0 -0
  160. package/dist/core/Nestjs/types/reflection.utils.js +0 -0
  161. package/dist/core/Nestjs/types/set-metadata.decorator.d.ts +0 -0
  162. package/dist/core/Nestjs/types/set-metadata.decorator.js +0 -0
  163. package/dist/core/Nestjs/types/type-metadata.storage.d.ts +0 -0
  164. package/dist/core/Nestjs/types/type-metadata.storage.js +0 -0
  165. package/dist/core/Nestjs/types/utils/enum.utils.d.ts +0 -0
  166. package/dist/core/Nestjs/types/utils/enum.utils.js +0 -0
  167. package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.d.ts +0 -0
  168. package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.js +0 -0
  169. package/dist/core/Nestjs/types/utils/mapped-types.utils.d.ts +0 -0
  170. package/dist/core/Nestjs/types/utils/mapped-types.utils.js +0 -0
  171. package/dist/core/Nestjs/types/utils/model-properties-accessor.d.ts +0 -0
  172. package/dist/core/Nestjs/types/utils/model-properties-accessor.js +0 -0
  173. package/dist/core/Nestjs/types/utils/type-helpers.utils.d.ts +0 -0
  174. package/dist/core/Nestjs/types/utils/type-helpers.utils.js +0 -0
  175. package/dist/core/dtos/access.dto.d.ts +0 -0
  176. package/dist/core/dtos/access.dto.js +0 -0
  177. package/dist/core/dtos/pagination.dto.d.ts +0 -0
  178. package/dist/core/dtos/pagination.dto.js +0 -0
  179. package/dist/core/types.d.ts +0 -0
  180. package/dist/core/types.js +0 -0
  181. package/dist/{core/database/decorators.d.ts → decorators.d.ts} +1 -1
  182. package/dist/{core/database/decorators.js → decorators.js} +3 -3
  183. package/dist/generatorDatasource.d.ts +0 -0
  184. package/dist/generatorDatasource.js +0 -0
  185. package/dist/index.d.ts +4 -3
  186. package/dist/index.js +6 -4
  187. package/dist/loadRelations.d.ts +3 -2
  188. package/dist/loadRelations.js +3 -3
  189. package/dist/outputKeys.d.ts +0 -0
  190. package/dist/outputKeys.js +0 -0
  191. package/dist/tsconfig.tsbuildinfo +1 -1
  192. package/dist/types.d.ts +0 -0
  193. package/dist/types.js +0 -0
  194. package/package.json +4 -3
  195. package/dist/core/database/createConnection.d.ts +0 -30
  196. package/dist/core/database/createConnection.js +0 -43
File without changes
File without changes
package/dist/Fluent.d.ts CHANGED
@@ -21,6 +21,6 @@ export declare class Fluent {
21
21
  static model<T = BaseDataElement>(name: string): any;
22
22
  static collect<T = BaseDataElement | Primitives>(data: T[]): Collection<T>;
23
23
  static getConfig(): _FLUENT_;
24
- static models(Entities: any[]): Promise<DataSource>;
24
+ static initialize(dataSources: DataSource[], Entities: any[]): Promise<void>;
25
25
  }
26
26
  export {};
package/dist/Fluent.js CHANGED
@@ -40,13 +40,16 @@ class Fluent {
40
40
  return global._FLUENT_;
41
41
  }
42
42
  }
43
- static async models(Entities) {
43
+ static async initialize(dataSources, Entities) {
44
44
  generatorDatasource_1.modelGeneratorDataSource.setOptions({ entities: Entities });
45
- if (generatorDatasource_1.modelGeneratorDataSource.isInitialized) {
46
- return generatorDatasource_1.modelGeneratorDataSource;
45
+ if (!generatorDatasource_1.modelGeneratorDataSource.isInitialized) {
46
+ await generatorDatasource_1.modelGeneratorDataSource.initialize();
47
+ }
48
+ for (const dataSource of dataSources) {
49
+ if (!dataSource.isInitialized) {
50
+ await dataSource.initialize();
51
+ }
47
52
  }
48
- await generatorDatasource_1.modelGeneratorDataSource.initialize();
49
- return generatorDatasource_1.modelGeneratorDataSource;
50
53
  }
51
54
  }
52
55
  exports.Fluent = Fluent;
@@ -1,15 +1,14 @@
1
1
  import { Repository } from 'typeorm';
2
2
  import { BaseConnector, FluentConnectorInterface } from '../BaseConnector';
3
3
  import type { Filter, DaoOutput, BaseDataElement, PaginatedData, Paginator, Sure } from '../types';
4
- export declare class GoatRepository<T> extends Repository<T> {
5
- }
4
+ import { DataSource } from 'typeorm';
6
5
  export declare const getRelations: (typeOrmRepo: any) => {
7
6
  relations: {};
8
7
  };
9
8
  export declare class TypeOrmConnector<ModelDTO = BaseDataElement, InputDTO = ModelDTO, OutputDTO = InputDTO> extends BaseConnector<ModelDTO, InputDTO, OutputDTO> implements FluentConnectorInterface<InputDTO, DaoOutput<InputDTO, OutputDTO>> {
10
9
  private repository;
11
- private connectionName;
12
- constructor(entity: any, relationQuery?: any, connectionName?: string);
10
+ private dataSource;
11
+ constructor(entity: any, dataSource: DataSource, relationQuery?: any);
13
12
  get(): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
14
13
  getPaginated(): Promise<PaginatedData<DaoOutput<InputDTO, OutputDTO>>>;
15
14
  all(): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
@@ -1,16 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TypeOrmConnector = exports.getRelations = exports.GoatRepository = void 0;
3
+ exports.TypeOrmConnector = exports.getRelations = void 0;
4
4
  const typeorm_1 = require("typeorm");
5
5
  const mongodb_1 = require("mongodb");
6
6
  const js_utils_1 = require("@goatlab/js-utils");
7
7
  const loadRelations_1 = require("../loadRelations");
8
8
  const BaseConnector_1 = require("../BaseConnector");
9
- const generatorDatasource_1 = require("../generatorDatasource");
10
9
  const outputKeys_1 = require("../outputKeys");
11
- class GoatRepository extends typeorm_1.Repository {
12
- }
13
- exports.GoatRepository = GoatRepository;
10
+ const generatorDatasource_1 = require("../generatorDatasource");
14
11
  const getRelations = typeOrmRepo => {
15
12
  const relations = {};
16
13
  for (const relation of typeOrmRepo.metadata.relations) {
@@ -33,17 +30,15 @@ const getRelations = typeOrmRepo => {
33
30
  };
34
31
  exports.getRelations = getRelations;
35
32
  class TypeOrmConnector extends BaseConnector_1.BaseConnector {
36
- constructor(entity, relationQuery, connectionName) {
33
+ constructor(entity, dataSource, relationQuery) {
37
34
  super();
38
- this.connectionName = connectionName;
39
- if (!generatorDatasource_1.modelGeneratorDataSource.isInitialized) {
40
- throw new Error('Fluent model generator data source is not initialized');
41
- }
42
- this.repository = generatorDatasource_1.modelGeneratorDataSource.getRepository(entity);
35
+ this.dataSource = dataSource;
43
36
  this.relationQuery = relationQuery;
44
- const { relations } = (0, exports.getRelations)(this.repository);
37
+ this.repository = this.dataSource.getRepository(entity);
38
+ const relationShipBuilder = generatorDatasource_1.modelGeneratorDataSource.getRepository(entity);
39
+ const { relations } = (0, exports.getRelations)(relationShipBuilder);
45
40
  this.modelRelations = relations;
46
- this.outputKeys = (0, outputKeys_1.getOutputKeys)(this.repository) || [];
41
+ this.outputKeys = (0, outputKeys_1.getOutputKeys)(relationShipBuilder) || [];
47
42
  this.isMongoDB =
48
43
  this.repository.metadata.connection.driver.options.type === 'mongodb';
49
44
  }
@@ -55,7 +50,7 @@ class TypeOrmConnector extends BaseConnector_1.BaseConnector {
55
50
  data,
56
51
  relations: this.relations,
57
52
  modelRelations: this.modelRelations,
58
- connectionName: this.connectionName,
53
+ dataSource: this.dataSource,
59
54
  provider: 'typeorm',
60
55
  self: this
61
56
  });
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TypeORMDataModel = exports.Nested = exports.FurtherNested = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const decorators_1 = require("../../../core/database/decorators");
5
+ const decorators_1 = require("../../../decorators");
6
6
  class FurtherNested {
7
7
  }
8
8
  tslib_1.__decorate([
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TypeOrmRepository = void 0;
4
4
  const typeOrm_entity_1 = require("./typeOrm.entity");
5
5
  const TypeOrmConnector_1 = require("../../TypeOrmConnector");
6
+ const memoryDataSource_1 = require("../memoryDataSource");
6
7
  class TypeOrmRepository extends TypeOrmConnector_1.TypeOrmConnector {
7
8
  constructor(relations) {
8
- super(typeOrm_entity_1.TypeORMDataModel, relations, 'runningTest');
9
+ super(typeOrm_entity_1.TypeORMDataModel, memoryDataSource_1.MemoryDataSource, relations);
9
10
  }
10
11
  }
11
12
  exports.TypeOrmRepository = TypeOrmRepository;
File without changes
File without changes
File without changes
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GoatEntity = exports.Breed = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const types_1 = require("../../../core/types");
6
- const decorators_1 = require("../../../core/database/decorators");
6
+ const decorators_1 = require("../../../decorators");
7
7
  let Breed = class Breed {
8
8
  };
9
9
  tslib_1.__decorate([
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GoatRepository = void 0;
4
4
  const goat_entity_1 = require("./goat.entity");
5
5
  const TypeOrmConnector_1 = require("../../TypeOrmConnector");
6
+ const memoryDataSource_1 = require("../memoryDataSource");
6
7
  class GoatRepository extends TypeOrmConnector_1.TypeOrmConnector {
7
8
  constructor(relations) {
8
- super(goat_entity_1.GoatEntity, relations, 'runningTest');
9
+ super(goat_entity_1.GoatEntity, memoryDataSource_1.MemoryDataSource, relations);
9
10
  }
10
11
  }
11
12
  exports.GoatRepository = GoatRepository;
@@ -0,0 +1,6 @@
1
+ import { TypeORMDataModel } from "./advanced/typeOrm.entity";
2
+ import { GoatEntity } from "./basic/goat.entity";
3
+ import { CarsEntity } from "./relations/car/car.entity";
4
+ import { RoleEntity } from "./relations/roles/roles.entity";
5
+ import { RolesUser } from "./relations/roles/roles_user.entity";
6
+ export declare const dbEntities: (typeof RoleEntity | typeof CarsEntity | typeof RolesUser | typeof TypeORMDataModel | typeof GoatEntity)[];
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dbEntities = void 0;
4
+ const typeOrm_entity_1 = require("./advanced/typeOrm.entity");
5
+ const goat_entity_1 = require("./basic/goat.entity");
6
+ const car_entity_1 = require("./relations/car/car.entity");
7
+ const roles_entity_1 = require("./relations/roles/roles.entity");
8
+ const roles_user_entity_1 = require("./relations/roles/roles_user.entity");
9
+ const user_entity_1 = require("./relations/user/user.entity");
10
+ exports.dbEntities = [
11
+ goat_entity_1.GoatEntity,
12
+ typeOrm_entity_1.TypeORMDataModel,
13
+ car_entity_1.CarsEntity,
14
+ user_entity_1.UsersEntity,
15
+ roles_entity_1.RoleEntity,
16
+ roles_user_entity_1.RolesUser
17
+ ];
File without changes
File without changes
@@ -0,0 +1,2 @@
1
+ import { DataSource } from 'typeorm';
2
+ export declare const MemoryDataSource: DataSource;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemoryDataSource = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const dbEntities_1 = require("./dbEntities");
6
+ exports.MemoryDataSource = new typeorm_1.DataSource({
7
+ type: 'sqlite',
8
+ database: ':memory:',
9
+ entities: dbEntities_1.dbEntities,
10
+ logging: false,
11
+ synchronize: true
12
+ });
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CarsEntity = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const decorators_1 = require("../../../../core/database/decorators");
5
+ const decorators_1 = require("../../../../decorators");
6
6
  const user_entity_1 = require("../user/user.entity");
7
7
  let CarsEntity = class CarsEntity {
8
8
  };
@@ -4,9 +4,10 @@ exports.CarsRepository = void 0;
4
4
  const car_entity_1 = require("./car.entity");
5
5
  const TypeOrmConnector_1 = require("../../../TypeOrmConnector");
6
6
  const user_repositoryTypeOrm_1 = require("../user/user.repositoryTypeOrm");
7
+ const memoryDataSource_1 = require("../../memoryDataSource");
7
8
  class CarsRepository extends TypeOrmConnector_1.TypeOrmConnector {
8
9
  constructor(relationQuery) {
9
- super(car_entity_1.CarsEntity, relationQuery, 'runningTest');
10
+ super(car_entity_1.CarsEntity, memoryDataSource_1.MemoryDataSource, relationQuery);
10
11
  this.user = () => this.belongsTo(user_repositoryTypeOrm_1.UserRepository, 'user');
11
12
  }
12
13
  }
@@ -45,7 +45,7 @@ const relationsTestSuite = (Model, BelongsToModel, ManyToManyModel) => {
45
45
  expect(Array.isArray(searchCar2)).toBe(true);
46
46
  expect(searchCar2.length === 0).toBe(true);
47
47
  });
48
- test('Query related model - BelongTo', async () => {
48
+ test('Query related model - BelongsTo', async () => {
49
49
  const insertedUser = await Model.insert({
50
50
  name: 'testUser',
51
51
  age: 20
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RoleEntity = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const decorators_1 = require("../../../../core/database/decorators");
5
+ const decorators_1 = require("../../../../decorators");
6
6
  const user_entity_1 = require("../user/user.entity");
7
7
  let RoleEntity = class RoleEntity {
8
8
  };
@@ -5,9 +5,10 @@ const roles_entity_1 = require("./roles.entity");
5
5
  const roles_users_repositoryTypeOrm_1 = require("./roles_users.repositoryTypeOrm");
6
6
  const TypeOrmConnector_1 = require("../../../TypeOrmConnector");
7
7
  const user_repositoryTypeOrm_1 = require("../user/user.repositoryTypeOrm");
8
+ const memoryDataSource_1 = require("../../memoryDataSource");
8
9
  class RoleRepository extends TypeOrmConnector_1.TypeOrmConnector {
9
10
  constructor(relations) {
10
- super(roles_entity_1.RoleEntity, relations, 'runningTest');
11
+ super(roles_entity_1.RoleEntity, memoryDataSource_1.MemoryDataSource, relations);
11
12
  this.users = () => this.belongsToMany(user_repositoryTypeOrm_1.UserRepository, roles_users_repositoryTypeOrm_1.RoleUsersRepository, 'users');
12
13
  }
13
14
  }
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RolesUser = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const decorators_1 = require("../../../../core/database/decorators");
5
+ const decorators_1 = require("../../../../decorators");
6
6
  let RolesUser = class RolesUser {
7
7
  };
8
8
  tslib_1.__decorate([
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RoleUsersRepository = void 0;
4
4
  const roles_user_entity_1 = require("./roles_user.entity");
5
5
  const TypeOrmConnector_1 = require("../../../TypeOrmConnector");
6
+ const memoryDataSource_1 = require("../../memoryDataSource");
6
7
  class RoleUsersRepository extends TypeOrmConnector_1.TypeOrmConnector {
7
8
  constructor(relations) {
8
- super(roles_user_entity_1.RolesUser, relations, 'runningTest');
9
+ super(roles_user_entity_1.RolesUser, memoryDataSource_1.MemoryDataSource, relations);
9
10
  }
10
11
  }
11
12
  exports.RoleUsersRepository = RoleUsersRepository;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UsersEntity = exports.Family = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const car_entity_1 = require("../car/car.entity");
6
- const decorators_1 = require("../../../../core/database/decorators");
6
+ const decorators_1 = require("../../../../decorators");
7
7
  const roles_entity_1 = require("../roles/roles.entity");
8
8
  class Family {
9
9
  }
@@ -6,9 +6,10 @@ const roles_repositoryTypeOrm_1 = require("../roles/roles.repositoryTypeOrm");
6
6
  const roles_users_repositoryTypeOrm_1 = require("../roles/roles_users.repositoryTypeOrm");
7
7
  const TypeOrmConnector_1 = require("../../../TypeOrmConnector");
8
8
  const user_entity_1 = require("./user.entity");
9
+ const memoryDataSource_1 = require("../../memoryDataSource");
9
10
  class UserRepository extends TypeOrmConnector_1.TypeOrmConnector {
10
11
  constructor(relations) {
11
- super(user_entity_1.UsersEntity, relations, 'runningTest');
12
+ super(user_entity_1.UsersEntity, memoryDataSource_1.MemoryDataSource, relations);
12
13
  this.cars = () => this.hasMany(car_repositoryTypeOrm_1.CarsRepository, 'cars');
13
14
  this.roles = () => this.belongsToMany(roles_repositoryTypeOrm_1.RoleRepository, roles_users_repositoryTypeOrm_1.RoleUsersRepository, 'roles');
14
15
  }
@@ -0,0 +1,9 @@
1
+ import Keyv from 'keyv';
2
+ export declare class Cache extends Keyv {
3
+ has(key: string): Promise<boolean>;
4
+ remember(key: string, ms: number, fx: () => Promise<any>): Promise<any>;
5
+ rememberForever(key: string, fx: () => Promise<any>): Promise<any>;
6
+ pull(key: string): Promise<any>;
7
+ forget(key: string): Promise<boolean>;
8
+ flush(): Promise<void>;
9
+ }
package/dist/cache.js ADDED
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Cache = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const keyv_1 = tslib_1.__importDefault(require("keyv"));
6
+ class Cache extends keyv_1.default {
7
+ async has(key) {
8
+ const value = await this.get(key);
9
+ return value ? true : false;
10
+ }
11
+ async remember(key, ms, fx) {
12
+ const value = await this.get(key);
13
+ if (value) {
14
+ return value;
15
+ }
16
+ const result = await fx();
17
+ await this.set(key, result, ms);
18
+ return result;
19
+ }
20
+ async rememberForever(key, fx) {
21
+ const value = await this.get(key);
22
+ if (value) {
23
+ return value;
24
+ }
25
+ const result = await fx();
26
+ await this.set(key, result);
27
+ return result;
28
+ }
29
+ async pull(key) {
30
+ const value = await this.get(key);
31
+ if (value) {
32
+ this.delete(key);
33
+ }
34
+ return value;
35
+ }
36
+ async forget(key) {
37
+ return await this.delete(key);
38
+ }
39
+ async flush() {
40
+ return await this.clear();
41
+ }
42
+ }
43
+ exports.Cache = Cache;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes