@uql/core 3.9.1 → 3.9.2
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.
- package/CHANGELOG.md +9 -2
- package/dist/browser/querier/querier.util.d.ts +1 -1
- package/dist/browser/querier/querier.util.d.ts.map +1 -1
- package/dist/browser/querier/querier.util.js.map +1 -1
- package/dist/browser/uql-browser.min.js +11 -5
- package/dist/browser/uql-browser.min.js.map +1 -1
- package/dist/dialect/abstractSqlDialect.d.ts.map +1 -1
- package/dist/dialect/abstractSqlDialect.js +13 -4
- package/dist/dialect/abstractSqlDialect.js.map +1 -1
- package/dist/entity/decorator/definition.d.ts.map +1 -1
- package/dist/entity/decorator/definition.js +8 -6
- package/dist/entity/decorator/definition.js.map +1 -1
- package/dist/entity/decorator/entity.d.ts.map +1 -1
- package/dist/entity/decorator/field.d.ts.map +1 -1
- package/dist/entity/decorator/id.d.ts.map +1 -1
- package/dist/entity/decorator/index-decorator.d.ts.map +1 -1
- package/dist/entity/decorator/index-decorator.js +2 -1
- package/dist/entity/decorator/index-decorator.js.map +1 -1
- package/dist/entity/decorator/relation.d.ts.map +1 -1
- package/dist/express/querierMiddleware.d.ts +2 -2
- package/dist/express/querierMiddleware.d.ts.map +1 -1
- package/dist/express/querierMiddleware.js +8 -5
- package/dist/express/querierMiddleware.js.map +1 -1
- package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -1
- package/dist/migrate/generator/mongoSchemaGenerator.js +3 -2
- package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -1
- package/dist/migrate/introspection/mysqlIntrospector.d.ts +33 -5
- package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +1 -1
- package/dist/migrate/introspection/mysqlIntrospector.js +9 -8
- package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -1
- package/dist/migrate/introspection/postgresIntrospector.d.ts +36 -6
- package/dist/migrate/introspection/postgresIntrospector.d.ts.map +1 -1
- package/dist/migrate/introspection/postgresIntrospector.js +5 -7
- package/dist/migrate/introspection/postgresIntrospector.js.map +1 -1
- package/dist/migrate/introspection/sqliteIntrospector.d.ts +36 -6
- package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +1 -1
- package/dist/migrate/introspection/sqliteIntrospector.js +3 -3
- package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -1
- package/dist/mongo/mongoDialect.d.ts +8 -5
- package/dist/mongo/mongoDialect.d.ts.map +1 -1
- package/dist/mongo/mongoDialect.js +94 -46
- package/dist/mongo/mongoDialect.js.map +1 -1
- package/dist/mongo/mongodbQuerier.d.ts.map +1 -1
- package/dist/mongo/mongodbQuerier.js.map +1 -1
- package/dist/querier/abstractQuerier.d.ts +28 -28
- package/dist/querier/abstractQuerier.d.ts.map +1 -1
- package/dist/querier/abstractQuerier.js +5 -4
- package/dist/querier/abstractQuerier.js.map +1 -1
- package/dist/querier/abstractSqlQuerier.d.ts +6 -6
- package/dist/querier/abstractSqlQuerier.d.ts.map +1 -1
- package/dist/querier/abstractSqlQuerier.js +2 -1
- package/dist/querier/abstractSqlQuerier.js.map +1 -1
- package/dist/querier/decorator/injectQuerier.d.ts.map +1 -1
- package/dist/querier/decorator/log.d.ts.map +1 -1
- package/dist/querier/decorator/serialized.d.ts.map +1 -1
- package/dist/querier/decorator/transactional.d.ts.map +1 -1
- package/dist/sqlite/sqliteQuerierPool.d.ts +0 -4
- package/dist/sqlite/sqliteQuerierPool.d.ts.map +1 -1
- package/dist/type/entity.d.ts +6 -0
- package/dist/type/entity.d.ts.map +1 -1
- package/dist/type/querier.d.ts +22 -22
- package/dist/type/querier.d.ts.map +1 -1
- package/dist/type/querier.js.map +1 -1
- package/dist/type/universalQuerier.d.ts +14 -14
- package/dist/type/universalQuerier.d.ts.map +1 -1
- package/dist/type/utility.d.ts +0 -4
- package/dist/type/utility.d.ts.map +1 -1
- package/dist/util/dialect.util.js +3 -3
- package/dist/util/dialect.util.js.map +1 -1
- package/dist/util/object.util.d.ts +2 -2
- package/dist/util/object.util.d.ts.map +1 -1
- package/dist/util/object.util.js +1 -1
- package/dist/util/object.util.js.map +1 -1
- package/dist/util/sql.util.d.ts +3 -3
- package/dist/util/sql.util.d.ts.map +1 -1
- package/dist/util/sql.util.js.map +1 -1
- 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.
|
|
6
|
+
## [3.9.2](https://github.com/rogerpadilla/uql/compare/@uql/core@3.9.1...@uql/core@3.9.2) (2026-02-13)
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @uql/core
|
|
9
9
|
|
|
@@ -17,6 +17,14 @@ 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.1] - 2026-02-13
|
|
21
|
+
### Improvements & Refactoring
|
|
22
|
+
- **TypeScript Upgrade**: Upgraded to TypeScript ^5.9.3 and hardened `tsconfig.json` with strict flags (`noPropertyAccessFromIndexSignature`, `verbatimModuleSyntax`, etc.).
|
|
23
|
+
- **Type Safety Polish**: Propagated `E extends object` constraint across the `Querier` hierarchy and refined driver signatures to eliminate type casts (`as any`).
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
- **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.
|
|
27
|
+
|
|
20
28
|
## [3.9.0] - 2026-02-13
|
|
21
29
|
### New Features
|
|
22
30
|
- **New Query Operators**: Added `$between`, `$isNull`, `$isNotNull`, `$all`, `$size`, and `$elemMatch` operators with full support across PostgreSQL, MySQL, SQLite, and MongoDB.
|
|
@@ -26,7 +34,6 @@ date format is [yyyy-mm-dd]
|
|
|
26
34
|
- **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
35
|
- **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
36
|
- **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
37
|
|
|
31
38
|
### Bug Fixes
|
|
32
39
|
- **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,3 +1,3 @@
|
|
|
1
1
|
export declare function stringifyQueryParameter(key: string, value?: unknown, useQuestionMark?: boolean): string;
|
|
2
|
-
export declare function stringifyQuery(query:
|
|
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,
|
|
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,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAUrE"}
|
|
@@ -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,
|
|
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,KAA8B;IAC3D,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"}
|
|
@@ -910,7 +910,11 @@ function getMappedByRelationKey(relOpts) {
|
|
|
910
910
|
return relOpts.mappedBy;
|
|
911
911
|
}
|
|
912
912
|
function getRelationKeyMap(meta) {
|
|
913
|
-
|
|
913
|
+
const keys = [
|
|
914
|
+
...getKeys(meta.fields),
|
|
915
|
+
...getKeys(meta.relations)
|
|
916
|
+
];
|
|
917
|
+
return keys.reduce((acc, key)=>{
|
|
914
918
|
acc[key] = key;
|
|
915
919
|
return acc;
|
|
916
920
|
}, {});
|
|
@@ -4776,12 +4780,14 @@ function createTestCases(spec) {
|
|
|
4776
4780
|
for (const key of Object.getOwnPropertyNames(proto)){
|
|
4777
4781
|
const isProcessed = processedMethodsMap[key];
|
|
4778
4782
|
processedMethodsMap[key] = true;
|
|
4779
|
-
|
|
4783
|
+
const method = spec[key];
|
|
4784
|
+
if (isProcessed || key === 'constructor' || typeof method !== 'function') {
|
|
4780
4785
|
continue;
|
|
4781
4786
|
}
|
|
4782
|
-
const callback =
|
|
4783
|
-
|
|
4784
|
-
|
|
4787
|
+
const callback = method.bind(spec);
|
|
4788
|
+
const hookFn = hooks[key];
|
|
4789
|
+
if (hookFn) {
|
|
4790
|
+
hookFn(callback);
|
|
4785
4791
|
} else if (key.startsWith('should')) {
|
|
4786
4792
|
it(key, callback);
|
|
4787
4793
|
} else if (key.startsWith('fffShould')) {
|