@goatlab/fluent 0.6.24 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/README.md +17 -136
  2. package/dist/BaseConnector.d.ts +45 -75
  3. package/dist/BaseConnector.js +218 -317
  4. package/dist/Fluent.d.ts +2 -21
  5. package/dist/Fluent.js +0 -33
  6. package/dist/FluentEntity.d.ts +7 -0
  7. package/dist/FluentEntity.js +28 -0
  8. package/dist/TypeOrmConnector/TypeOrmConnector.d.ts +31 -24
  9. package/dist/TypeOrmConnector/TypeOrmConnector.js +599 -343
  10. package/dist/TypeOrmConnector/test/advanced/advancedTestSuite.js +182 -48
  11. package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.d.ts +103 -3
  12. package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.js +30 -13
  13. package/dist/TypeOrmConnector/test/advanced/typeOrm.mongo.repository.d.ts +5 -0
  14. package/dist/TypeOrmConnector/test/advanced/typeOrm.mongo.repository.js +17 -0
  15. package/dist/TypeOrmConnector/test/advanced/typeOrm.mysql.repository.d.ts +5 -0
  16. package/dist/TypeOrmConnector/test/advanced/typeOrm.mysql.repository.js +17 -0
  17. package/dist/TypeOrmConnector/test/advanced/typeOrm.repository.d.ts +3 -3
  18. package/dist/TypeOrmConnector/test/advanced/typeOrm.repository.js +8 -3
  19. package/dist/TypeOrmConnector/test/basic/basicTestSuite.d.ts +1 -1
  20. package/dist/TypeOrmConnector/test/basic/basicTestSuite.js +42 -16
  21. package/dist/TypeOrmConnector/test/basic/goat.entity.d.ts +43 -0
  22. package/dist/TypeOrmConnector/test/basic/goat.entity.js +19 -8
  23. package/dist/TypeOrmConnector/test/basic/goat.mongo.repository.d.ts +5 -0
  24. package/dist/TypeOrmConnector/test/basic/goat.mongo.repository.js +16 -0
  25. package/dist/TypeOrmConnector/test/basic/goat.mysql.repository.d.ts +5 -0
  26. package/dist/TypeOrmConnector/test/basic/goat.mysql.repository.js +16 -0
  27. package/dist/TypeOrmConnector/test/basic/goat.repository.d.ts +3 -4
  28. package/dist/TypeOrmConnector/test/basic/goat.repository.js +7 -3
  29. package/dist/TypeOrmConnector/test/dbEntities.d.ts +6 -6
  30. package/dist/TypeOrmConnector/test/docker/docker.d.ts +35 -0
  31. package/dist/TypeOrmConnector/test/docker/docker.js +149 -0
  32. package/dist/TypeOrmConnector/test/docker/mysql.d.ts +17 -0
  33. package/dist/TypeOrmConnector/test/docker/mysql.js +132 -0
  34. package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.d.ts +8 -0
  35. package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.js +23 -0
  36. package/dist/TypeOrmConnector/test/mongo/mongo.memory.d.ts +4 -0
  37. package/dist/TypeOrmConnector/test/mongo/mongo.memory.js +43 -0
  38. package/dist/TypeOrmConnector/test/mongo/mongoDatasource.d.ts +2 -0
  39. package/dist/TypeOrmConnector/test/mongo/mongoDatasource.js +12 -0
  40. package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.d.ts +8 -0
  41. package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.js +23 -0
  42. package/dist/TypeOrmConnector/test/mongo/roles_user.mongo.repository.d.ts +6 -0
  43. package/dist/TypeOrmConnector/test/mongo/roles_user.mongo.repository.js +17 -0
  44. package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.d.ts +10 -0
  45. package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.js +31 -0
  46. package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.d.ts +6 -0
  47. package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.js +17 -0
  48. package/dist/TypeOrmConnector/test/mysql/mysqlDataSource.d.ts +2 -0
  49. package/dist/TypeOrmConnector/test/mysql/mysqlDataSource.js +16 -0
  50. package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.d.ts +8 -0
  51. package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.js +23 -0
  52. package/dist/TypeOrmConnector/test/mysql/roles_user.mysql.repository.d.ts +6 -0
  53. package/dist/TypeOrmConnector/test/mysql/roles_user.mysql.repository.js +17 -0
  54. package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.d.ts +10 -0
  55. package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.js +32 -0
  56. package/dist/TypeOrmConnector/test/relations/car/car.entity.d.ts +1 -0
  57. package/dist/TypeOrmConnector/test/relations/car/car.entity.js +13 -5
  58. package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.d.ts +3 -3
  59. package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.js +11 -4
  60. package/dist/TypeOrmConnector/test/relations/car/car.schema.d.ts +38 -0
  61. package/dist/TypeOrmConnector/test/relations/car/car.schema.js +14 -0
  62. package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.js +85 -32
  63. package/dist/TypeOrmConnector/test/relations/roles/role.schema.d.ts +35 -0
  64. package/dist/TypeOrmConnector/test/relations/roles/role.schema.js +16 -0
  65. package/dist/TypeOrmConnector/test/relations/roles/roles.entity.js +4 -4
  66. package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.d.ts +3 -3
  67. package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.js +12 -4
  68. package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.d.ts +2 -2
  69. package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.js +4 -4
  70. package/dist/TypeOrmConnector/test/relations/roles/roles_user.schema.d.ts +15 -0
  71. package/dist/TypeOrmConnector/test/relations/roles/roles_user.schema.js +9 -0
  72. package/dist/TypeOrmConnector/test/relations/roles/roles_users.repositoryTypeOrm.d.ts +3 -3
  73. package/dist/TypeOrmConnector/test/relations/roles/roles_users.repositoryTypeOrm.js +8 -3
  74. package/dist/TypeOrmConnector/test/relations/user/user.entity.js +10 -10
  75. package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.d.ts +3 -3
  76. package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.js +17 -5
  77. package/dist/TypeOrmConnector/test/relations/user/user.schema.d.ts +150 -0
  78. package/dist/TypeOrmConnector/test/relations/user/user.schema.js +18 -0
  79. package/dist/TypeOrmConnector/test/{memoryDataSource.d.ts → sqlite/memoryDataSource.d.ts} +0 -0
  80. package/dist/TypeOrmConnector/test/{memoryDataSource.js → sqlite/memoryDataSource.js} +1 -1
  81. package/dist/core/Loopback/build-schema.js +1 -3
  82. package/dist/core/Loopback/json-to-schema.js +6 -6
  83. package/dist/core/Loopback/mapValues.d.ts +2 -0
  84. package/dist/core/Loopback/mapValues.js +835 -0
  85. package/dist/core/Loopback/query.js +6 -4
  86. package/dist/core/Loopback/type-resolver.d.ts +1 -1
  87. package/dist/core/Nestjs/applyDecorators.d.ts +1 -1
  88. package/dist/core/Nestjs/types/common.js +3 -1
  89. package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.d.ts +1 -1
  90. package/dist/core/Nestjs/types/decorators/create-property.decorator.js +9 -4
  91. package/dist/core/Nestjs/types/decorators/field.decorator.d.ts +1 -1
  92. package/dist/core/Nestjs/types/decorators/field.decorator.js +6 -6
  93. package/dist/core/Nestjs/types/lazy-metadata.storage.js +3 -3
  94. package/dist/core/Nestjs/types/omit-type.js +6 -2
  95. package/dist/core/Nestjs/types/reflection.utils.d.ts +1 -1
  96. package/dist/core/Nestjs/types/reflection.utils.js +9 -2
  97. package/dist/core/Nestjs/types/type-metadata.storage.js +4 -4
  98. package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.d.ts +1 -11
  99. package/dist/core/Nestjs/types/utils/mapped-types.utils.js +2 -2
  100. package/dist/decorators.d.ts +25 -21
  101. package/dist/decorators.js +76 -70
  102. package/dist/index.d.ts +6 -7
  103. package/dist/index.js +5 -7
  104. package/dist/loadRelations.js +108 -68
  105. package/dist/tsconfig.tsbuildinfo +1 -1
  106. package/dist/types.d.ts +104 -55
  107. package/dist/types.js +20 -0
  108. package/package.json +11 -102
  109. package/dist/TypeOrmConnector/TypeOrmMongoConnector._bypass.d.ts +0 -1
  110. package/dist/TypeOrmConnector/TypeOrmMongoConnector._bypass.js +0 -52
  111. package/dist/TypeOrmConnector/TypeOrmMysqlConnector._bypass.d.ts +0 -1
  112. package/dist/TypeOrmConnector/TypeOrmMysqlConnector._bypass.js +0 -55
  113. package/dist/TypeOrmConnector/test/basic/goat.dto.d.ts +0 -8
  114. package/dist/TypeOrmConnector/test/basic/goat.dto.js +0 -18
  115. package/dist/TypeOrmConnector/test/relations/car/car.dto.d.ts +0 -5
  116. package/dist/TypeOrmConnector/test/relations/car/car.dto.js +0 -12
  117. package/dist/TypeOrmConnector/test/relations/roles/role.dto.d.ts +0 -5
  118. package/dist/TypeOrmConnector/test/relations/roles/role.dto.js +0 -12
  119. package/dist/TypeOrmConnector/test/relations/roles/roles_user.dto.d.ts +0 -5
  120. package/dist/TypeOrmConnector/test/relations/roles/roles_user.dto.js +0 -12
  121. package/dist/TypeOrmConnector/test/relations/user/user.dto.d.ts +0 -5
  122. package/dist/TypeOrmConnector/test/relations/user/user.dto.js +0 -12
  123. package/dist/core/dtos/access.dto.d.ts +0 -4
  124. package/dist/core/dtos/access.dto.js +0 -21
  125. package/dist/core/dtos/pagination.dto.d.ts +0 -13
  126. package/dist/core/dtos/pagination.dto.js +0 -62
@@ -1,8 +1,8 @@
1
1
  import { RoleEntity } from './roles.entity';
2
- import { RoleEntityIn } from './role.dto';
2
+ import { RoleEntityInputSchema } from './role.schema';
3
3
  import { TypeOrmConnector } from '../../../TypeOrmConnector';
4
4
  import { UserRepository } from '../user/user.repositoryTypeOrm';
5
- export declare class RoleRepository extends TypeOrmConnector<RoleEntity, RoleEntityIn> {
6
- constructor(relations?: any);
5
+ export declare class RoleRepository extends TypeOrmConnector<RoleEntity, RoleEntityInputSchema> {
6
+ constructor();
7
7
  users: () => UserRepository;
8
8
  }
@@ -2,14 +2,22 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RoleRepository = void 0;
4
4
  const roles_entity_1 = require("./roles.entity");
5
+ const role_schema_1 = require("./role.schema");
5
6
  const roles_users_repositoryTypeOrm_1 = require("./roles_users.repositoryTypeOrm");
6
7
  const TypeOrmConnector_1 = require("../../../TypeOrmConnector");
7
8
  const user_repositoryTypeOrm_1 = require("../user/user.repositoryTypeOrm");
8
- const memoryDataSource_1 = require("../../memoryDataSource");
9
+ const memoryDataSource_1 = require("../../sqlite/memoryDataSource");
9
10
  class RoleRepository extends TypeOrmConnector_1.TypeOrmConnector {
10
- constructor(relations) {
11
- super(roles_entity_1.RoleEntity, memoryDataSource_1.MemoryDataSource, relations);
12
- this.users = () => this.belongsToMany(user_repositoryTypeOrm_1.UserRepository, roles_users_repositoryTypeOrm_1.RoleUsersRepository, 'users');
11
+ constructor() {
12
+ super({
13
+ entity: roles_entity_1.RoleEntity,
14
+ dataSource: memoryDataSource_1.MemoryDataSource,
15
+ inputSchema: role_schema_1.RoleEntitySchema
16
+ });
17
+ this.users = () => this.belongsToMany({
18
+ repository: user_repositoryTypeOrm_1.UserRepository,
19
+ pivot: roles_users_repositoryTypeOrm_1.RoleUsersRepository
20
+ });
13
21
  }
14
22
  }
15
23
  exports.RoleRepository = RoleRepository;
@@ -1,5 +1,5 @@
1
1
  export declare class RolesUser {
2
2
  id: string;
3
- userId?: string;
4
- roleId?: string;
3
+ userId: string;
4
+ roleId: string;
5
5
  }
@@ -6,18 +6,18 @@ const decorators_1 = require("../../../../decorators");
6
6
  let RolesUser = class RolesUser {
7
7
  };
8
8
  tslib_1.__decorate([
9
- decorators_1.Decorators.id(),
9
+ decorators_1.f.id(),
10
10
  tslib_1.__metadata("design:type", String)
11
11
  ], RolesUser.prototype, "id", void 0);
12
12
  tslib_1.__decorate([
13
- decorators_1.Decorators.property({ required: false }),
13
+ decorators_1.f.property({ required: false }),
14
14
  tslib_1.__metadata("design:type", String)
15
15
  ], RolesUser.prototype, "userId", void 0);
16
16
  tslib_1.__decorate([
17
- decorators_1.Decorators.property({ required: false }),
17
+ decorators_1.f.property({ required: false }),
18
18
  tslib_1.__metadata("design:type", String)
19
19
  ], RolesUser.prototype, "roleId", void 0);
20
20
  RolesUser = tslib_1.__decorate([
21
- decorators_1.Decorators.entity('roles_users')
21
+ decorators_1.f.entity('roles_users')
22
22
  ], RolesUser);
23
23
  exports.RolesUser = RolesUser;
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ export declare const RolesUserSchema: z.ZodObject<{
3
+ id: z.ZodOptional<z.ZodString>;
4
+ userId: z.ZodString;
5
+ roleId: z.ZodString;
6
+ }, "strip", z.ZodTypeAny, {
7
+ id?: string | undefined;
8
+ roleId: string;
9
+ userId: string;
10
+ }, {
11
+ id?: string | undefined;
12
+ roleId: string;
13
+ userId: string;
14
+ }>;
15
+ export declare type RolesUserInputSchema = z.infer<typeof RolesUserSchema>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RolesUserSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.RolesUserSchema = zod_1.z.object({
6
+ id: zod_1.z.string().optional(),
7
+ userId: zod_1.z.string(),
8
+ roleId: zod_1.z.string()
9
+ });
@@ -1,6 +1,6 @@
1
- import { RoleUserEntityIn } from './roles_user.dto';
2
1
  import { RolesUser } from './roles_user.entity';
2
+ import { RolesUserInputSchema } from './roles_user.schema';
3
3
  import { TypeOrmConnector } from '../../../TypeOrmConnector';
4
- export declare class RoleUsersRepository extends TypeOrmConnector<RolesUser, RoleUserEntityIn> {
5
- constructor(relations?: any);
4
+ export declare class RoleUsersRepository extends TypeOrmConnector<RolesUser, RolesUserInputSchema> {
5
+ constructor();
6
6
  }
@@ -2,11 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RoleUsersRepository = void 0;
4
4
  const roles_user_entity_1 = require("./roles_user.entity");
5
+ const roles_user_schema_1 = require("./roles_user.schema");
5
6
  const TypeOrmConnector_1 = require("../../../TypeOrmConnector");
6
- const memoryDataSource_1 = require("../../memoryDataSource");
7
+ const memoryDataSource_1 = require("../../sqlite/memoryDataSource");
7
8
  class RoleUsersRepository extends TypeOrmConnector_1.TypeOrmConnector {
8
- constructor(relations) {
9
- super(roles_user_entity_1.RolesUser, memoryDataSource_1.MemoryDataSource, relations);
9
+ constructor() {
10
+ super({
11
+ entity: roles_user_entity_1.RolesUser,
12
+ dataSource: memoryDataSource_1.MemoryDataSource,
13
+ inputSchema: roles_user_schema_1.RolesUserSchema
14
+ });
10
15
  }
11
16
  }
12
17
  exports.RoleUsersRepository = RoleUsersRepository;
@@ -8,41 +8,41 @@ const roles_entity_1 = require("../roles/roles.entity");
8
8
  class Family {
9
9
  }
10
10
  tslib_1.__decorate([
11
- decorators_1.Decorators.property({ required: false }),
11
+ decorators_1.f.property({ required: false }),
12
12
  tslib_1.__metadata("design:type", String)
13
13
  ], Family.prototype, "family", void 0);
14
14
  tslib_1.__decorate([
15
- decorators_1.Decorators.property({ required: false }),
15
+ decorators_1.f.property({ required: false }),
16
16
  tslib_1.__metadata("design:type", Number)
17
17
  ], Family.prototype, "members", void 0);
18
18
  exports.Family = Family;
19
19
  let UsersEntity = class UsersEntity {
20
20
  };
21
21
  tslib_1.__decorate([
22
- decorators_1.Decorators.id(),
22
+ decorators_1.f.id(),
23
23
  tslib_1.__metadata("design:type", String)
24
24
  ], UsersEntity.prototype, "id", void 0);
25
25
  tslib_1.__decorate([
26
- decorators_1.Decorators.property({ required: true }),
26
+ decorators_1.f.property({ required: true }),
27
27
  tslib_1.__metadata("design:type", String)
28
28
  ], UsersEntity.prototype, "name", void 0);
29
29
  tslib_1.__decorate([
30
- decorators_1.Decorators.property({ required: false }),
30
+ decorators_1.f.property({ required: false }),
31
31
  tslib_1.__metadata("design:type", Number)
32
32
  ], UsersEntity.prototype, "age", void 0);
33
33
  tslib_1.__decorate([
34
- decorators_1.Decorators.embed(Family),
34
+ decorators_1.f.embed(Family),
35
35
  tslib_1.__metadata("design:type", Family)
36
36
  ], UsersEntity.prototype, "breed", void 0);
37
37
  tslib_1.__decorate([
38
- decorators_1.Decorators.hasMany({
38
+ decorators_1.f.hasMany({
39
39
  entity: () => car_entity_1.CarsEntity,
40
- inverse: cars => cars.userId
40
+ inverse: cars => cars.user
41
41
  }),
42
42
  tslib_1.__metadata("design:type", Array)
43
43
  ], UsersEntity.prototype, "cars", void 0);
44
44
  tslib_1.__decorate([
45
- decorators_1.Decorators.belongsToMany({
45
+ decorators_1.f.belongsToMany({
46
46
  entity: () => roles_entity_1.RoleEntity,
47
47
  joinTableName: 'roles_users',
48
48
  foreignKey: 'userId',
@@ -51,6 +51,6 @@ tslib_1.__decorate([
51
51
  tslib_1.__metadata("design:type", Array)
52
52
  ], UsersEntity.prototype, "roles", void 0);
53
53
  UsersEntity = tslib_1.__decorate([
54
- decorators_1.Decorators.entity('users')
54
+ decorators_1.f.entity('users')
55
55
  ], UsersEntity);
56
56
  exports.UsersEntity = UsersEntity;
@@ -2,9 +2,9 @@ import { CarsRepository } from '../car/car.repositoryTypeOrm';
2
2
  import { RoleRepository } from '../roles/roles.repositoryTypeOrm';
3
3
  import { TypeOrmConnector } from '../../../TypeOrmConnector';
4
4
  import { UsersEntity } from './user.entity';
5
- import { UsersEntityIn } from './user.dto';
6
- export declare class UserRepository extends TypeOrmConnector<UsersEntity, UsersEntityIn> {
7
- constructor(relations?: any);
5
+ import { UsersEntityInputSchema } from './user.schema';
6
+ export declare class UserRepository extends TypeOrmConnector<UsersEntity, UsersEntityInputSchema> {
7
+ constructor();
8
8
  cars: () => CarsRepository;
9
9
  roles: () => RoleRepository;
10
10
  }
@@ -6,12 +6,24 @@ 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
+ const user_schema_1 = require("./user.schema");
10
+ const memoryDataSource_1 = require("../../sqlite/memoryDataSource");
10
11
  class UserRepository extends TypeOrmConnector_1.TypeOrmConnector {
11
- constructor(relations) {
12
- super(user_entity_1.UsersEntity, memoryDataSource_1.MemoryDataSource, relations);
13
- this.cars = () => this.hasMany(car_repositoryTypeOrm_1.CarsRepository, 'cars');
14
- this.roles = () => this.belongsToMany(roles_repositoryTypeOrm_1.RoleRepository, roles_users_repositoryTypeOrm_1.RoleUsersRepository, 'roles');
12
+ constructor() {
13
+ super({
14
+ entity: user_entity_1.UsersEntity,
15
+ dataSource: memoryDataSource_1.MemoryDataSource,
16
+ inputSchema: user_schema_1.UsersEntitySchema
17
+ });
18
+ this.cars = () => {
19
+ return this.hasMany({
20
+ repository: car_repositoryTypeOrm_1.CarsRepository
21
+ });
22
+ };
23
+ this.roles = () => this.belongsToMany({
24
+ repository: roles_repositoryTypeOrm_1.RoleRepository,
25
+ pivot: roles_users_repositoryTypeOrm_1.RoleUsersRepository
26
+ });
15
27
  }
16
28
  }
17
29
  exports.UserRepository = UserRepository;
@@ -0,0 +1,150 @@
1
+ import { z } from 'zod';
2
+ export declare const BreedSchema: z.ZodObject<{
3
+ family: z.ZodOptional<z.ZodString>;
4
+ members: z.ZodOptional<z.ZodNumber>;
5
+ }, "strip", z.ZodTypeAny, {
6
+ family?: string | undefined;
7
+ members?: number | undefined;
8
+ }, {
9
+ family?: string | undefined;
10
+ members?: number | undefined;
11
+ }>;
12
+ export declare const UsersEntitySchema: z.ZodObject<{
13
+ id: z.ZodOptional<z.ZodString>;
14
+ name: z.ZodString;
15
+ age: z.ZodOptional<z.ZodNumber>;
16
+ breed: z.ZodOptional<z.ZodObject<{
17
+ family: z.ZodOptional<z.ZodString>;
18
+ members: z.ZodOptional<z.ZodNumber>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ family?: string | undefined;
21
+ members?: number | undefined;
22
+ }, {
23
+ family?: string | undefined;
24
+ members?: number | undefined;
25
+ }>>;
26
+ cars: z.ZodOptional<z.ZodArray<z.ZodObject<{
27
+ id: z.ZodOptional<z.ZodString>;
28
+ name: z.ZodString;
29
+ userId: z.ZodOptional<z.ZodString>;
30
+ user: z.ZodOptional<z.ZodObject<{
31
+ id: z.ZodOptional<z.ZodString>;
32
+ name: z.ZodString;
33
+ age: z.ZodOptional<z.ZodNumber>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ id?: string | undefined;
36
+ age?: number | undefined;
37
+ name: string;
38
+ }, {
39
+ id?: string | undefined;
40
+ age?: number | undefined;
41
+ name: string;
42
+ }>>;
43
+ }, "strip", z.ZodTypeAny, {
44
+ id?: string | undefined;
45
+ userId?: string | undefined;
46
+ user?: {
47
+ id?: string | undefined;
48
+ age?: number | undefined;
49
+ name: string;
50
+ } | undefined;
51
+ name: string;
52
+ }, {
53
+ id?: string | undefined;
54
+ userId?: string | undefined;
55
+ user?: {
56
+ id?: string | undefined;
57
+ age?: number | undefined;
58
+ name: string;
59
+ } | undefined;
60
+ name: string;
61
+ }>, "many">>;
62
+ roles: z.ZodOptional<z.ZodArray<z.ZodObject<{
63
+ id: z.ZodOptional<z.ZodString>;
64
+ name: z.ZodString;
65
+ users: z.ZodOptional<z.ZodArray<z.ZodObject<{
66
+ id: z.ZodOptional<z.ZodString>;
67
+ name: z.ZodString;
68
+ age: z.ZodOptional<z.ZodNumber>;
69
+ }, "strip", z.ZodTypeAny, {
70
+ id?: string | undefined;
71
+ age?: number | undefined;
72
+ name: string;
73
+ }, {
74
+ id?: string | undefined;
75
+ age?: number | undefined;
76
+ name: string;
77
+ }>, "many">>;
78
+ }, "strip", z.ZodTypeAny, {
79
+ id?: string | undefined;
80
+ users?: {
81
+ id?: string | undefined;
82
+ age?: number | undefined;
83
+ name: string;
84
+ }[] | undefined;
85
+ name: string;
86
+ }, {
87
+ id?: string | undefined;
88
+ users?: {
89
+ id?: string | undefined;
90
+ age?: number | undefined;
91
+ name: string;
92
+ }[] | undefined;
93
+ name: string;
94
+ }>, "many">>;
95
+ }, "strip", z.ZodTypeAny, {
96
+ id?: string | undefined;
97
+ roles?: {
98
+ id?: string | undefined;
99
+ users?: {
100
+ id?: string | undefined;
101
+ age?: number | undefined;
102
+ name: string;
103
+ }[] | undefined;
104
+ name: string;
105
+ }[] | undefined;
106
+ age?: number | undefined;
107
+ breed?: {
108
+ family?: string | undefined;
109
+ members?: number | undefined;
110
+ } | undefined;
111
+ cars?: {
112
+ id?: string | undefined;
113
+ userId?: string | undefined;
114
+ user?: {
115
+ id?: string | undefined;
116
+ age?: number | undefined;
117
+ name: string;
118
+ } | undefined;
119
+ name: string;
120
+ }[] | undefined;
121
+ name: string;
122
+ }, {
123
+ id?: string | undefined;
124
+ roles?: {
125
+ id?: string | undefined;
126
+ users?: {
127
+ id?: string | undefined;
128
+ age?: number | undefined;
129
+ name: string;
130
+ }[] | undefined;
131
+ name: string;
132
+ }[] | undefined;
133
+ age?: number | undefined;
134
+ breed?: {
135
+ family?: string | undefined;
136
+ members?: number | undefined;
137
+ } | undefined;
138
+ cars?: {
139
+ id?: string | undefined;
140
+ userId?: string | undefined;
141
+ user?: {
142
+ id?: string | undefined;
143
+ age?: number | undefined;
144
+ name: string;
145
+ } | undefined;
146
+ name: string;
147
+ }[] | undefined;
148
+ name: string;
149
+ }>;
150
+ export declare type UsersEntityInputSchema = z.infer<typeof UsersEntitySchema>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UsersEntitySchema = exports.BreedSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const car_schema_1 = require("../car/car.schema");
6
+ const role_schema_1 = require("../roles/role.schema");
7
+ exports.BreedSchema = zod_1.z.object({
8
+ family: zod_1.z.string().optional(),
9
+ members: zod_1.z.number().optional()
10
+ });
11
+ exports.UsersEntitySchema = zod_1.z.object({
12
+ id: zod_1.z.string().optional(),
13
+ name: zod_1.z.string(),
14
+ age: zod_1.z.number().optional(),
15
+ breed: exports.BreedSchema.optional(),
16
+ cars: car_schema_1.CarsEntitySchema.array().optional(),
17
+ roles: role_schema_1.RoleEntitySchema.array().optional()
18
+ });
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MemoryDataSource = void 0;
4
4
  const typeorm_1 = require("typeorm");
5
- const dbEntities_1 = require("./dbEntities");
5
+ const dbEntities_1 = require("../dbEntities");
6
6
  exports.MemoryDataSource = new typeorm_1.DataSource({
7
7
  type: 'sqlite',
8
8
  database: ':memory:',
@@ -1,14 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.modelToJsonSchema = exports.getNavigationalPropertyForRelation = exports.metaToJsonProperty = exports.isArrayType = exports.stringTypeToWrapper = exports.getJsonSchemaRef = exports.getJsonSchema = exports.buildModelCacheKey = exports.JSON_SCHEMA_KEY = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const metadata_1 = require("@loopback/metadata");
6
- const debug_1 = tslib_1.__importDefault(require("debug"));
7
5
  const util_1 = require("util");
8
6
  const type_resolver_1 = require("./type-resolver");
9
7
  const metadata_2 = require("./metadata");
10
8
  exports.JSON_SCHEMA_KEY = metadata_1.MetadataAccessor.create('loopback:json-schema');
11
- const debug = (0, debug_1.default)('loopback:repository-json-schema:build-schema');
9
+ const debug = console.log;
12
10
  function buildModelCacheKey(options = {}) {
13
11
  if (Object.keys(options).length === 0) {
14
12
  return 'modelOnly';
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.jsonOrBooleanToJSON = exports.jsonToSchemaObject = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const lodash_1 = tslib_1.__importDefault(require("lodash"));
5
+ const mapValues_1 = tslib_1.__importDefault(require("./mapValues"));
6
6
  const openapi3_ts_1 = require("openapi3-ts");
7
7
  function jsonToSchemaObject(json, visited = new Map()) {
8
8
  const converted = 'x-loopback-converted';
@@ -30,23 +30,23 @@ function jsonToSchemaObject(json, visited = new Map()) {
30
30
  break;
31
31
  }
32
32
  case 'allOf': {
33
- result.allOf = lodash_1.default.map(json.allOf, item => jsonToSchemaObject(item, visited));
33
+ result.allOf = json.allOf?.map(item => jsonToSchemaObject(item, visited));
34
34
  break;
35
35
  }
36
36
  case 'anyOf': {
37
- result.anyOf = lodash_1.default.map(json.anyOf, item => jsonToSchemaObject(item, visited));
37
+ result.anyOf = json.anyOf?.map(item => jsonToSchemaObject(item, visited));
38
38
  break;
39
39
  }
40
40
  case 'oneOf': {
41
- result.oneOf = lodash_1.default.map(json.oneOf, item => jsonToSchemaObject(item, visited));
41
+ result.oneOf = json.oneOf?.map(item => jsonToSchemaObject(item, visited));
42
42
  break;
43
43
  }
44
44
  case 'definitions': {
45
- result.definitions = lodash_1.default.mapValues(json.definitions, def => jsonToSchemaObject(jsonOrBooleanToJSON(def), visited));
45
+ result.definitions = (0, mapValues_1.default)(json.definitions, def => jsonToSchemaObject(jsonOrBooleanToJSON(def), visited));
46
46
  break;
47
47
  }
48
48
  case 'properties': {
49
- result.properties = lodash_1.default.mapValues(json.properties, item => jsonToSchemaObject(jsonOrBooleanToJSON(item), visited));
49
+ result.properties = (0, mapValues_1.default)(json.properties, item => jsonToSchemaObject(jsonOrBooleanToJSON(item), visited));
50
50
  break;
51
51
  }
52
52
  case 'additionalProperties': {
@@ -0,0 +1,2 @@
1
+ export = mapValues;
2
+ declare function mapValues(object: any, iteratee?: Function | undefined): any;