@uql/core 3.9.1 → 3.9.3

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 (151) hide show
  1. package/CHANGELOG.md +14 -2
  2. package/dist/browser/querier/httpQuerier.d.ts +13 -13
  3. package/dist/browser/querier/httpQuerier.d.ts.map +1 -1
  4. package/dist/browser/querier/httpQuerier.js +2 -1
  5. package/dist/browser/querier/httpQuerier.js.map +1 -1
  6. package/dist/browser/querier/querier.util.d.ts +1 -1
  7. package/dist/browser/querier/querier.util.d.ts.map +1 -1
  8. package/dist/browser/querier/querier.util.js.map +1 -1
  9. package/dist/browser/type/clientQuerier.d.ts +5 -5
  10. package/dist/browser/type/clientQuerier.d.ts.map +1 -1
  11. package/dist/browser/uql-browser.min.js +40 -26
  12. package/dist/browser/uql-browser.min.js.map +1 -1
  13. package/dist/d1/d1Querier.d.ts +3 -3
  14. package/dist/d1/d1Querier.d.ts.map +1 -1
  15. package/dist/dialect/abstractDialect.d.ts +3 -3
  16. package/dist/dialect/abstractDialect.d.ts.map +1 -1
  17. package/dist/dialect/abstractDialect.js +4 -3
  18. package/dist/dialect/abstractDialect.js.map +1 -1
  19. package/dist/dialect/abstractSqlDialect.d.ts +8 -7
  20. package/dist/dialect/abstractSqlDialect.d.ts.map +1 -1
  21. package/dist/dialect/abstractSqlDialect.js +86 -51
  22. package/dist/dialect/abstractSqlDialect.js.map +1 -1
  23. package/dist/entity/decorator/definition.d.ts.map +1 -1
  24. package/dist/entity/decorator/definition.js +35 -22
  25. package/dist/entity/decorator/definition.js.map +1 -1
  26. package/dist/entity/decorator/entity.d.ts.map +1 -1
  27. package/dist/entity/decorator/field.d.ts.map +1 -1
  28. package/dist/entity/decorator/id.d.ts +1 -1
  29. package/dist/entity/decorator/id.d.ts.map +1 -1
  30. package/dist/entity/decorator/id.js +1 -1
  31. package/dist/entity/decorator/id.js.map +1 -1
  32. package/dist/entity/decorator/index-decorator.d.ts.map +1 -1
  33. package/dist/entity/decorator/index-decorator.js +2 -1
  34. package/dist/entity/decorator/index-decorator.js.map +1 -1
  35. package/dist/entity/decorator/relation.d.ts.map +1 -1
  36. package/dist/express/querierMiddleware.d.ts +2 -2
  37. package/dist/express/querierMiddleware.d.ts.map +1 -1
  38. package/dist/express/querierMiddleware.js +8 -5
  39. package/dist/express/querierMiddleware.js.map +1 -1
  40. package/dist/libsql/libsqlQuerier.d.ts +2 -2
  41. package/dist/libsql/libsqlQuerier.d.ts.map +1 -1
  42. package/dist/maria/mariadbQuerier.d.ts +2 -1
  43. package/dist/maria/mariadbQuerier.d.ts.map +1 -1
  44. package/dist/maria/mariadbQuerier.js.map +1 -1
  45. package/dist/migrate/builder/migrationBuilder.d.ts.map +1 -1
  46. package/dist/migrate/builder/migrationBuilder.js +5 -1
  47. package/dist/migrate/builder/migrationBuilder.js.map +1 -1
  48. package/dist/migrate/cli.d.ts +1 -1
  49. package/dist/migrate/cli.d.ts.map +1 -1
  50. package/dist/migrate/cli.js +5 -1
  51. package/dist/migrate/cli.js.map +1 -1
  52. package/dist/migrate/codegen/entityMerger.d.ts +4 -0
  53. package/dist/migrate/codegen/entityMerger.d.ts.map +1 -1
  54. package/dist/migrate/codegen/entityMerger.js +27 -24
  55. package/dist/migrate/codegen/entityMerger.js.map +1 -1
  56. package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -1
  57. package/dist/migrate/generator/mongoSchemaGenerator.js +5 -4
  58. package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -1
  59. package/dist/migrate/introspection/mysqlIntrospector.d.ts +36 -6
  60. package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +1 -1
  61. package/dist/migrate/introspection/mysqlIntrospector.js +12 -8
  62. package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -1
  63. package/dist/migrate/introspection/postgresIntrospector.d.ts +36 -6
  64. package/dist/migrate/introspection/postgresIntrospector.d.ts.map +1 -1
  65. package/dist/migrate/introspection/postgresIntrospector.js +5 -7
  66. package/dist/migrate/introspection/postgresIntrospector.js.map +1 -1
  67. package/dist/migrate/introspection/sqliteIntrospector.d.ts +36 -6
  68. package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +1 -1
  69. package/dist/migrate/introspection/sqliteIntrospector.js +8 -4
  70. package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -1
  71. package/dist/migrate/migrator.js.map +1 -1
  72. package/dist/migrate/schemaGenerator.js +1 -1
  73. package/dist/migrate/schemaGenerator.js.map +1 -1
  74. package/dist/mongo/mongoDialect.d.ts +10 -7
  75. package/dist/mongo/mongoDialect.d.ts.map +1 -1
  76. package/dist/mongo/mongoDialect.js +98 -46
  77. package/dist/mongo/mongoDialect.js.map +1 -1
  78. package/dist/mongo/mongodbQuerier.d.ts +3 -3
  79. package/dist/mongo/mongodbQuerier.d.ts.map +1 -1
  80. package/dist/mongo/mongodbQuerier.js +6 -5
  81. package/dist/mongo/mongodbQuerier.js.map +1 -1
  82. package/dist/mysql/mysql2Querier.d.ts +2 -1
  83. package/dist/mysql/mysql2Querier.d.ts.map +1 -1
  84. package/dist/mysql/mysql2Querier.js.map +1 -1
  85. package/dist/neon/neonQuerier.d.ts +2 -1
  86. package/dist/neon/neonQuerier.d.ts.map +1 -1
  87. package/dist/neon/neonQuerier.js.map +1 -1
  88. package/dist/postgres/pgQuerier.d.ts +3 -2
  89. package/dist/postgres/pgQuerier.d.ts.map +1 -1
  90. package/dist/postgres/pgQuerier.js.map +1 -1
  91. package/dist/postgres/postgresDialect.js +1 -1
  92. package/dist/postgres/postgresDialect.js.map +1 -1
  93. package/dist/querier/abstractPoolQuerier.d.ts +2 -2
  94. package/dist/querier/abstractPoolQuerier.d.ts.map +1 -1
  95. package/dist/querier/abstractQuerier.d.ts +31 -31
  96. package/dist/querier/abstractQuerier.d.ts.map +1 -1
  97. package/dist/querier/abstractQuerier.js +23 -10
  98. package/dist/querier/abstractQuerier.js.map +1 -1
  99. package/dist/querier/abstractQuerierPool.d.ts +2 -2
  100. package/dist/querier/abstractQuerierPool.d.ts.map +1 -1
  101. package/dist/querier/abstractSqlQuerier.d.ts +9 -9
  102. package/dist/querier/abstractSqlQuerier.d.ts.map +1 -1
  103. package/dist/querier/abstractSqlQuerier.js +8 -6
  104. package/dist/querier/abstractSqlQuerier.js.map +1 -1
  105. package/dist/querier/decorator/injectQuerier.d.ts.map +1 -1
  106. package/dist/querier/decorator/log.d.ts.map +1 -1
  107. package/dist/querier/decorator/serialized.d.ts.map +1 -1
  108. package/dist/querier/decorator/transactional.d.ts.map +1 -1
  109. package/dist/querier/decorator/transactional.js +1 -1
  110. package/dist/querier/decorator/transactional.js.map +1 -1
  111. package/dist/schema/canonicalType.js.map +1 -1
  112. package/dist/schema/schemaASTBuilder.d.ts +1 -1
  113. package/dist/schema/schemaASTBuilder.d.ts.map +1 -1
  114. package/dist/sqlite/sqliteDialect.js.map +1 -1
  115. package/dist/sqlite/sqliteQuerier.d.ts +2 -2
  116. package/dist/sqlite/sqliteQuerier.d.ts.map +1 -1
  117. package/dist/sqlite/sqliteQuerierPool.d.ts +4 -8
  118. package/dist/sqlite/sqliteQuerierPool.d.ts.map +1 -1
  119. package/dist/sqlite/sqliteQuerierPool.js +2 -2
  120. package/dist/sqlite/sqliteQuerierPool.js.map +1 -1
  121. package/dist/type/entity.d.ts +8 -2
  122. package/dist/type/entity.d.ts.map +1 -1
  123. package/dist/type/logger.d.ts +3 -3
  124. package/dist/type/logger.d.ts.map +1 -1
  125. package/dist/type/querier.d.ts +22 -22
  126. package/dist/type/querier.d.ts.map +1 -1
  127. package/dist/type/querier.js.map +1 -1
  128. package/dist/type/query.d.ts +2 -2
  129. package/dist/type/query.d.ts.map +1 -1
  130. package/dist/type/universalQuerier.d.ts +14 -14
  131. package/dist/type/universalQuerier.d.ts.map +1 -1
  132. package/dist/type/utility.d.ts +0 -4
  133. package/dist/type/utility.d.ts.map +1 -1
  134. package/dist/util/dialect.util.d.ts +3 -3
  135. package/dist/util/dialect.util.d.ts.map +1 -1
  136. package/dist/util/dialect.util.js +6 -3
  137. package/dist/util/dialect.util.js.map +1 -1
  138. package/dist/util/field.util.d.ts +2 -2
  139. package/dist/util/field.util.d.ts.map +1 -1
  140. package/dist/util/field.util.js.map +1 -1
  141. package/dist/util/logger.d.ts +4 -4
  142. package/dist/util/logger.d.ts.map +1 -1
  143. package/dist/util/logger.js.map +1 -1
  144. package/dist/util/object.util.d.ts +2 -2
  145. package/dist/util/object.util.d.ts.map +1 -1
  146. package/dist/util/object.util.js +1 -1
  147. package/dist/util/object.util.js.map +1 -1
  148. package/dist/util/sql.util.d.ts +3 -3
  149. package/dist/util/sql.util.d.ts.map +1 -1
  150. package/dist/util/sql.util.js.map +1 -1
  151. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -3,7 +3,7 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [3.9.1](https://github.com/rogerpadilla/uql/compare/@uql/core@3.9.0...@uql/core@3.9.1) (2026-02-13)
6
+ ## [3.9.3](https://github.com/rogerpadilla/uql/compare/@uql/core@3.9.2...@uql/core@3.9.3) (2026-02-13)
7
7
 
8
8
  **Note:** Version bump only for package @uql/core
9
9
 
@@ -17,6 +17,19 @@ All notable changes to this project will be documented in this file. Please add
17
17
 
18
18
  date format is [yyyy-mm-dd]
19
19
 
20
+ ## [3.9.2] - 2026-02-13
21
+ ### Improvements & Refactoring
22
+ - **Reduced Cognitive Complexity**: Extracted `compareLogicalOperator` from `AbstractSqlDialect.compare` and `countBraces` helper from `EntityMerger.findInsertPosition`, bringing both functions under the biome complexity threshold.
23
+ - **Tighter Type Safety**: Replaced `any` with `unknown` across the logger interface, field utilities, and D1 bindings. Typed all DB querier constructors with `ExtraOptions` instead of `any`.
24
+
25
+ ## [3.9.1] - 2026-02-13
26
+ ### Improvements & Refactoring
27
+ - **TypeScript Upgrade**: Upgraded to TypeScript ^5.9.3 and hardened `tsconfig.json` with strict flags (`noPropertyAccessFromIndexSignature`, `verbatimModuleSyntax`, etc.).
28
+ - **Type Safety Polish**: Propagated `E extends object` constraint across the `Querier` hierarchy and refined driver signatures to eliminate type casts (`as any`).
29
+
30
+ ### Bug Fixes
31
+ - **MySQL Introspection Fix**: Fixed a bug where string default values were returned with surrounding quotes (e.g., `'active'`) during schema discovery in MySQL and MariaDB.
32
+
20
33
  ## [3.9.0] - 2026-02-13
21
34
  ### New Features
22
35
  - **New Query Operators**: Added `$between`, `$isNull`, `$isNotNull`, `$all`, `$size`, and `$elemMatch` operators with full support across PostgreSQL, MySQL, SQLite, and MongoDB.
@@ -26,7 +39,6 @@ date format is [yyyy-mm-dd]
26
39
  - **Structured Slow-Query Config**: Replaced flat `slowQueryThreshold: number` with a `slowQuery: { threshold, logParams? }` object. Use `logParams: false` to suppress sensitive query parameters from slow-query logs.
27
40
  - **DRY Dialect Refactor**: Extracted shared `$elemMatch` field-condition logic into `buildJsonFieldCondition` in `AbstractSqlDialect` with a `JsonFieldConfig` type. Each SQL dialect now passes a small config object (~10 lines) instead of duplicating a ~60-line switch across MySQL, PostgreSQL, and SQLite.
28
41
  - **Safer Abstract Base**: `$all`, `$size`, and `$elemMatch` now throw in the abstract SQL dialect base class, forcing each dialect subclass to provide its own implementation. This prevents silent inheritance of dialect-specific syntax.
29
- - **Type Safety**: Removed `$entity` from base `QuerySearch` type; it now exists only in dedicated intersection types (`QueryWithEntity`, `QueryOneWithEntity`, `QuerySearchWithEntity`), preventing it from leaking into unrelated query contexts.
30
42
 
31
43
  ### Bug Fixes
32
44
  - **SQLite `$in`/`$nin` Fix**: Fixed a critical bug where `buildJsonFieldOperator` used `vals.shift()` inside `.map()`, mutating the input array and only processing half the values.
@@ -1,20 +1,20 @@
1
- import type { IdValue, Query, QueryOne, QueryOptions, QuerySearch, Type } from '../../type/index.js';
2
- import type { ClientQuerier, RequestFindOptions, RequestOptions } from '../type/index.js';
1
+ import type { IdKey, IdValue, Query, QueryOne, QueryOptions, QuerySearch, Type } from '../../type/index.js';
2
+ import type { ClientQuerier, RequestFindOptions, RequestOptions, RequestSuccessResponse } from '../type/index.js';
3
3
  export declare class HttpQuerier implements ClientQuerier {
4
4
  readonly basePath: string;
5
5
  constructor(basePath: string);
6
- findOneById<E>(entity: Type<E>, id: IdValue<E>, q?: QueryOne<E>, opts?: RequestOptions): Promise<import("../type/request.js").RequestSuccessResponse<E>>;
7
- findOne<E>(entity: Type<E>, q: QueryOne<E>, opts?: RequestOptions): Promise<import("../type/request.js").RequestSuccessResponse<E>>;
8
- findMany<E>(entity: Type<E>, q: Query<E>, opts?: RequestFindOptions): Promise<import("../type/request.js").RequestSuccessResponse<E[]>>;
9
- findManyAndCount<E>(entity: Type<E>, q: Query<E>, opts?: RequestFindOptions): Promise<import("../type/request.js").RequestSuccessResponse<E[]>>;
10
- count<E>(entity: Type<E>, q: QuerySearch<E>, opts?: RequestOptions): Promise<import("../type/request.js").RequestSuccessResponse<number>>;
11
- insertOne<E>(entity: Type<E>, payload: E, opts?: RequestOptions): Promise<import("../type/request.js").RequestSuccessResponse<any>>;
12
- updateOneById<E>(entity: Type<E>, id: IdValue<E>, payload: E, opts?: RequestOptions): Promise<import("../type/request.js").RequestSuccessResponse<IdValue<E>>>;
13
- saveOne<E>(entity: Type<E>, payload: E, opts?: RequestOptions): Promise<import("../type/request.js").RequestSuccessResponse<any>> | Promise<{
14
- data: E[import("../../type/entity.js").IdKey<E>];
6
+ findOneById<E>(entity: Type<E>, id: IdValue<E>, q?: QueryOne<E>, opts?: RequestOptions): Promise<RequestSuccessResponse<E | undefined>>;
7
+ findOne<E>(entity: Type<E>, q: QueryOne<E>, opts?: RequestOptions): Promise<RequestSuccessResponse<E | undefined>>;
8
+ findMany<E>(entity: Type<E>, q: Query<E>, opts?: RequestFindOptions): Promise<RequestSuccessResponse<E[]>>;
9
+ findManyAndCount<E>(entity: Type<E>, q: Query<E>, opts?: RequestFindOptions): Promise<RequestSuccessResponse<E[]>>;
10
+ count<E>(entity: Type<E>, q: QuerySearch<E>, opts?: RequestOptions): Promise<RequestSuccessResponse<number>>;
11
+ insertOne<E>(entity: Type<E>, payload: E, opts?: RequestOptions): Promise<RequestSuccessResponse<any>>;
12
+ updateOneById<E>(entity: Type<E>, id: IdValue<E>, payload: E, opts?: RequestOptions): Promise<RequestSuccessResponse<number>>;
13
+ saveOne<E>(entity: Type<E>, payload: E, opts?: RequestOptions): Promise<RequestSuccessResponse<any>> | Promise<{
14
+ data: NonNullable<E[IdKey<E>]>;
15
15
  }>;
16
- deleteOneById<E>(entity: Type<E>, id: IdValue<E>, opts?: QueryOptions & RequestOptions): Promise<import("../type/request.js").RequestSuccessResponse<IdValue<E>>>;
17
- deleteMany<E>(entity: Type<E>, q: QuerySearch<E>, opts?: QueryOptions & RequestOptions): Promise<import("../type/request.js").RequestSuccessResponse<IdValue<E>[]>>;
16
+ deleteOneById<E>(entity: Type<E>, id: IdValue<E>, opts?: QueryOptions & RequestOptions): Promise<RequestSuccessResponse<number>>;
17
+ deleteMany<E>(entity: Type<E>, q: QuerySearch<E>, opts?: QueryOptions & RequestOptions): Promise<RequestSuccessResponse<number>>;
18
18
  getBasePath<E>(entity: Type<E>): string;
19
19
  }
20
20
  //# sourceMappingURL=httpQuerier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"httpQuerier.d.ts","sourceRoot":"","sources":["../../../src/browser/querier/httpQuerier.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAGrG,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG1F,qBAAa,WAAY,YAAW,aAAa;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM;gBAAhB,QAAQ,EAAE,MAAM;IAErC,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc;IAMtF,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc;IAMjE,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,kBAAkB;IAUnE,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,kBAAkB;IAI3E,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc;IAMlE,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc;IAK/D,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc;IAKnF,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc;;;IAS7D,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,GAAE,YAAY,GAAG,cAAmB;IAM1F,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,GAAE,YAAY,GAAG,cAAmB;IAM1F,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;CAG/B"}
1
+ {"version":3,"file":"httpQuerier.d.ts","sourceRoot":"","sources":["../../../src/browser/querier/httpQuerier.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG5G,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAGlH,qBAAa,WAAY,YAAW,aAAa;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM;gBAAhB,QAAQ,EAAE,MAAM;IAErC,WAAW,CAAC,CAAC,EACX,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EACd,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EACf,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,sBAAsB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAMjD,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAMlH,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,kBAAkB;IAUnE,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,kBAAkB;IAI3E,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc;IAMlE,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc;IAK/D,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc;IAKnF,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc;;;IAU7D,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,GAAE,YAAY,GAAG,cAAmB;IAM1F,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,GAAE,YAAY,GAAG,cAAmB;IAM1F,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;CAG/B"}
@@ -44,7 +44,8 @@ export class HttpQuerier {
44
44
  }
45
45
  saveOne(entity, payload, opts) {
46
46
  const meta = getMeta(entity);
47
- const id = payload[meta.id];
47
+ const idKey = meta.id ?? 'id';
48
+ const id = payload[idKey];
48
49
  if (id) {
49
50
  return this.updateOneById(entity, id, payload, opts).then(() => ({ data: id }));
50
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"httpQuerier.js","sourceRoot":"","sources":["../../../src/browser/querier/httpQuerier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"httpQuerier.js","sourceRoot":"","sources":["../../../src/browser/querier/httpQuerier.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export declare function stringifyQueryParameter(key: string, value?: unknown, useQuestionMark?: boolean): string;
2
- export declare function stringifyQuery(query: object): string;
2
+ export declare function stringifyQuery(query?: Record<string, unknown>): string;
3
3
  //# sourceMappingURL=querier.util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"querier.util.d.ts","sourceRoot":"","sources":["../../../src/browser/querier/querier.util.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,CAGvG;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUpD"}
1
+ {"version":3,"file":"querier.util.d.ts","sourceRoot":"","sources":["../../../src/browser/querier/querier.util.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,CAGvG;AAED,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAUtE"}
@@ -1 +1 @@
1
- {"version":3,"file":"querier.util.js","sourceRoot":"","sources":["../../../src/browser/querier/querier.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,UAAU,uBAAuB,CAAC,GAAW,EAAE,KAAe,EAAE,eAAyB;IAC7F,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3F,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpH,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"querier.util.js","sourceRoot":"","sources":["../../../src/browser/querier/querier.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,UAAU,uBAAuB,CAAC,GAAW,EAAE,KAAe,EAAE,eAAyB;IAC7F,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3F,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAA+B;IAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpH,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,CAAC"}
@@ -1,15 +1,15 @@
1
1
  import type { IdValue, Query, QueryOne, QueryOptions, QuerySearch, Type, UniversalQuerier } from '../../type/index.js';
2
2
  import type { RequestOptions, RequestSuccessResponse } from './request.js';
3
3
  export interface ClientQuerier extends UniversalQuerier {
4
- findOneById<E>(entity: Type<E>, id: IdValue<E>, q?: QueryOne<E>, opts?: RequestOptions): Promise<RequestSuccessResponse<E>>;
5
- findOne<E>(entity: Type<E>, q: QueryOne<E>, opts?: RequestOptions): Promise<RequestSuccessResponse<E>>;
4
+ findOneById<E>(entity: Type<E>, id: IdValue<E>, q?: QueryOne<E>, opts?: RequestOptions): Promise<RequestSuccessResponse<E | undefined>>;
5
+ findOne<E>(entity: Type<E>, q: QueryOne<E>, opts?: RequestOptions): Promise<RequestSuccessResponse<E | undefined>>;
6
6
  findMany<E>(entity: Type<E>, q: Query<E>, opts?: RequestOptions): Promise<RequestSuccessResponse<E[]>>;
7
7
  findManyAndCount<E>(entity: Type<E>, q: Query<E>, opts?: RequestOptions): Promise<RequestSuccessResponse<E[]>>;
8
8
  count<E>(entity: Type<E>, q?: QuerySearch<E>, opts?: RequestOptions): Promise<RequestSuccessResponse<number>>;
9
9
  insertOne<E>(entity: Type<E>, payload: E, opts?: RequestOptions): Promise<RequestSuccessResponse<IdValue<E>>>;
10
- updateOneById<E>(entity: Type<E>, id: IdValue<E>, payload: E, opts?: RequestOptions): Promise<RequestSuccessResponse<IdValue<E>>>;
10
+ updateOneById<E>(entity: Type<E>, id: IdValue<E>, payload: E, opts?: RequestOptions): Promise<RequestSuccessResponse<number>>;
11
11
  saveOne<E>(entity: Type<E>, payload: E, opts?: RequestOptions): Promise<RequestSuccessResponse<IdValue<E>>>;
12
- deleteOneById<E>(entity: Type<E>, id: IdValue<E>, opts?: QueryOptions & RequestOptions): Promise<RequestSuccessResponse<IdValue<E>>>;
13
- deleteMany<E>(entity: Type<E>, qm: QuerySearch<E>, opts?: QueryOptions & RequestOptions): Promise<RequestSuccessResponse<IdValue<E>[]>>;
12
+ deleteOneById<E>(entity: Type<E>, id: IdValue<E>, opts?: QueryOptions & RequestOptions): Promise<RequestSuccessResponse<number>>;
13
+ deleteMany<E>(entity: Type<E>, qm: QuerySearch<E>, opts?: QueryOptions & RequestOptions): Promise<RequestSuccessResponse<number>>;
14
14
  }
15
15
  //# sourceMappingURL=clientQuerier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clientQuerier.d.ts","sourceRoot":"","sources":["../../../src/browser/type/clientQuerier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvH,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3E,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,WAAW,CAAC,CAAC,EACX,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EACd,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EACf,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvG,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvG,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/G,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9G,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9G,aAAa,CAAC,CAAC,EACb,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EACd,OAAO,EAAE,CAAC,EACV,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/C,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5G,aAAa,CAAC,CAAC,EACb,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EACd,IAAI,CAAC,EAAE,YAAY,GAAG,cAAc,GACnC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/C,UAAU,CAAC,CAAC,EACV,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,EAClB,IAAI,CAAC,EAAE,YAAY,GAAG,cAAc,GACnC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAClD"}
1
+ {"version":3,"file":"clientQuerier.d.ts","sourceRoot":"","sources":["../../../src/browser/type/clientQuerier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvH,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3E,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,WAAW,CAAC,CAAC,EACX,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EACd,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EACf,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,sBAAsB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAElD,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAEnH,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvG,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/G,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9G,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9G,aAAa,CAAC,CAAC,EACb,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EACd,OAAO,EAAE,CAAC,EACV,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3C,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5G,aAAa,CAAC,CAAC,EACb,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EACd,IAAI,CAAC,EAAE,YAAY,GAAG,cAAc,GACnC,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3C,UAAU,CAAC,CAAC,EACV,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,EAClB,IAAI,CAAC,EAAE,YAAY,GAAG,cAAc,GACnC,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;CAC5C"}
@@ -487,12 +487,12 @@ _dec51 = Entity(), _dec52 = Field(), _dec53 = Field(), _dec54 = Field(), _dec55
487
487
  * such value might be a scalar or a (`raw`) function. Virtual-fields can
488
488
  * be used in `$select` and `$where` as a common field whose value is
489
489
  * replaced is replaced at runtime.
490
- */ virtual: raw(({ ctx, escapedPrefix, dialect })=>{
490
+ */ virtual: raw(({ ctx, escapedPrefix, dialect } = {})=>{
491
491
  ctx.append('(');
492
492
  dialect.count(ctx, _ItemTag, {
493
493
  $where: {
494
- itemId: raw(({ ctx })=>{
495
- ctx.append(escapedPrefix + dialect.escapeId('id'));
494
+ itemId: raw(({ ctx: innerCtx } = {})=>{
495
+ innerCtx.append(escapedPrefix + dialect.escapeId('id'));
496
496
  })
497
497
  }
498
498
  }, {
@@ -595,12 +595,12 @@ _dec67 = Entity(), _dec68 = Field(), _dec69 = ManyToMany({
595
595
  entity: ()=>_Item,
596
596
  mappedBy: (item)=>item.tags
597
597
  }), _dec70 = Field({
598
- virtual: raw(({ ctx, escapedPrefix, dialect })=>{
598
+ virtual: raw(({ ctx, escapedPrefix, dialect } = {})=>{
599
599
  ctx.append('(');
600
600
  dialect.count(ctx, _ItemTag, {
601
601
  $where: {
602
- tagId: raw(({ ctx })=>{
603
- ctx.append(escapedPrefix + dialect.escapeId('id'));
602
+ tagId: raw(({ ctx: innerCtx } = {})=>{
603
+ innerCtx.append(escapedPrefix + dialect.escapeId('id'));
604
604
  })
605
605
  }
606
606
  }, {
@@ -814,6 +814,7 @@ function getMeta(entity) {
814
814
  function fillRelations(meta) {
815
815
  for(const relKey in meta.relations){
816
816
  const relOpts = meta.relations[relKey];
817
+ if (!relOpts) continue;
817
818
  if (relOpts.references) {
818
819
  continue;
819
820
  }
@@ -824,25 +825,28 @@ function fillRelations(meta) {
824
825
  const relEntity = relOpts.entity();
825
826
  const relMeta = ensureMeta(relEntity);
826
827
  if (relOpts.cardinality === 'mm') {
827
- const idName = meta.fields[meta.id].name;
828
- const relIdName = relMeta.fields[relMeta.id].name;
829
- const source = lowerFirst(meta.name) + upperFirst(idName);
830
- const target = lowerFirst(relMeta.name) + upperFirst(relIdName);
828
+ const idKey = meta.id;
829
+ const relIdKey = relMeta.id;
830
+ const idName = meta.fields[idKey]?.name ?? idKey;
831
+ const relIdName = relMeta.fields[relIdKey]?.name ?? relIdKey;
832
+ const source = lowerFirst(meta.name ?? '') + upperFirst(idName);
833
+ const target = lowerFirst(relMeta.name ?? '') + upperFirst(relIdName);
831
834
  relOpts.references = [
832
835
  {
833
836
  local: source,
834
- foreign: meta.id
837
+ foreign: idKey
835
838
  },
836
839
  {
837
840
  local: target,
838
- foreign: relMeta.id
841
+ foreign: relIdKey
839
842
  }
840
843
  ];
841
844
  } else {
845
+ const relIdKey = relMeta.id;
842
846
  relOpts.references = [
843
847
  {
844
848
  local: `${relKey}Id`,
845
- foreign: relMeta.id
849
+ foreign: relIdKey
846
850
  }
847
851
  ];
848
852
  }
@@ -855,23 +859,25 @@ function fillRelations(meta) {
855
859
  function fillInverseSideRelations(relOpts) {
856
860
  const relEntity = relOpts.entity();
857
861
  const relMeta = getMeta(relEntity);
858
- relOpts.mappedBy = getMappedByRelationKey(relOpts);
859
- if (relMeta.fields[relOpts.mappedBy]) {
862
+ const mappedBy = getMappedByRelationKey(relOpts);
863
+ relOpts.mappedBy = mappedBy;
864
+ if (relMeta.fields[mappedBy]) {
860
865
  relOpts.references = [
861
866
  {
862
867
  local: relMeta.id,
863
- foreign: relOpts.mappedBy
868
+ foreign: mappedBy
864
869
  }
865
870
  ];
866
871
  return;
867
872
  }
868
- const mappedByRelation = relMeta.relations[relOpts.mappedBy];
873
+ const mappedByRelation = relMeta.relations[mappedBy];
874
+ if (!mappedByRelation) return;
869
875
  if (relOpts.cardinality === 'm1' || relOpts.cardinality === 'mm') {
870
- relOpts.references = mappedByRelation.references.slice().reverse();
876
+ relOpts.references = (mappedByRelation.references ?? []).slice().reverse();
871
877
  relOpts.through = mappedByRelation.through;
872
878
  return;
873
879
  }
874
- relOpts.references = mappedByRelation.references.map(({ local, foreign })=>({
880
+ relOpts.references = (mappedByRelation.references ?? []).map(({ local, foreign })=>({
875
881
  local: foreign,
876
882
  foreign: local
877
883
  }));
@@ -880,18 +886,20 @@ function fillThroughRelations(entity) {
880
886
  const meta = ensureMeta(entity);
881
887
  meta.relations = getKeys(meta.fields).reduce((relations, key)=>{
882
888
  const field = meta.fields[key];
889
+ if (!field) return relations;
883
890
  const reference = field.references ?? field.reference;
884
891
  if (reference) {
885
892
  const relEntity = reference();
886
893
  const relMeta = ensureMeta(relEntity);
887
- const relKey = key.slice(0, -relMeta.id.length);
894
+ const relIdKey = relMeta.id;
895
+ const relKey = key.slice(0, -relIdKey.length);
888
896
  const relOpts = {
889
897
  entity: reference,
890
898
  cardinality: 'm1',
891
899
  references: [
892
900
  {
893
901
  local: key,
894
- foreign: relMeta.id
902
+ foreign: relIdKey
895
903
  }
896
904
  ]
897
905
  };
@@ -910,7 +918,11 @@ function getMappedByRelationKey(relOpts) {
910
918
  return relOpts.mappedBy;
911
919
  }
912
920
  function getRelationKeyMap(meta) {
913
- return getKeys(meta.fields).concat(getKeys(meta.relations)).reduce((acc, key)=>{
921
+ const keys = [
922
+ ...getKeys(meta.fields),
923
+ ...getKeys(meta.relations)
924
+ ];
925
+ return keys.reduce((acc, key)=>{
914
926
  acc[key] = key;
915
927
  return acc;
916
928
  }, {});
@@ -4776,12 +4788,14 @@ function createTestCases(spec) {
4776
4788
  for (const key of Object.getOwnPropertyNames(proto)){
4777
4789
  const isProcessed = processedMethodsMap[key];
4778
4790
  processedMethodsMap[key] = true;
4779
- if (isProcessed || key === 'constructor' || typeof spec[key] !== 'function') {
4791
+ const method = spec[key];
4792
+ if (isProcessed || key === 'constructor' || typeof method !== 'function') {
4780
4793
  continue;
4781
4794
  }
4782
- const callback = spec[key].bind(spec);
4783
- if (hooks[key]) {
4784
- hooks[key](callback);
4795
+ const callback = method.bind(spec);
4796
+ const hookFn = hooks[key];
4797
+ if (hookFn) {
4798
+ hookFn(callback);
4785
4799
  } else if (key.startsWith('should')) {
4786
4800
  it(key, callback);
4787
4801
  } else if (key.startsWith('fffShould')) {