uql-orm 0.9.2 → 0.9.4

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 (74) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/browser/type/request.d.ts +1 -1
  3. package/dist/browser/type/request.d.ts.map +1 -1
  4. package/dist/browser/uql-browser.min.js +1 -0
  5. package/dist/browser/uql-browser.min.js.map +1 -1
  6. package/dist/bunSql/bunSqlQuerier.js +1 -1
  7. package/dist/bunSql/bunSqlQuerier.js.map +1 -1
  8. package/dist/dialect/abstractSqlDialect.d.ts.map +1 -1
  9. package/dist/dialect/abstractSqlDialect.js +5 -1
  10. package/dist/dialect/abstractSqlDialect.js.map +1 -1
  11. package/dist/entity/metadata/definition.d.ts.map +1 -1
  12. package/dist/entity/metadata/definition.js +2 -1
  13. package/dist/entity/metadata/definition.js.map +1 -1
  14. package/dist/express/querierMiddleware.d.ts +2 -2
  15. package/dist/express/querierMiddleware.d.ts.map +1 -1
  16. package/dist/express/querierMiddleware.js +2 -2
  17. package/dist/express/querierMiddleware.js.map +1 -1
  18. package/dist/libsql/libsqlQuerier.d.ts.map +1 -1
  19. package/dist/libsql/libsqlQuerier.js +4 -3
  20. package/dist/libsql/libsqlQuerier.js.map +1 -1
  21. package/dist/maria/mariadbQuerier.js +3 -3
  22. package/dist/maria/mariadbQuerier.js.map +1 -1
  23. package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -1
  24. package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -1
  25. package/dist/migrate/schemaGenerator.js.map +1 -1
  26. package/dist/mongo/mongodbQuerier.d.ts.map +1 -1
  27. package/dist/mongo/mongodbQuerier.js +6 -5
  28. package/dist/mongo/mongodbQuerier.js.map +1 -1
  29. package/dist/mysql/mysql2Querier.js +3 -3
  30. package/dist/mysql/mysql2Querier.js.map +1 -1
  31. package/dist/postgres/abstractPgQuerier.d.ts +9 -3
  32. package/dist/postgres/abstractPgQuerier.d.ts.map +1 -1
  33. package/dist/postgres/abstractPgQuerier.js +3 -3
  34. package/dist/postgres/abstractPgQuerier.js.map +1 -1
  35. package/dist/querier/abstractPoolQuerier.d.ts +2 -1
  36. package/dist/querier/abstractPoolQuerier.d.ts.map +1 -1
  37. package/dist/querier/abstractPoolQuerier.js +7 -1
  38. package/dist/querier/abstractPoolQuerier.js.map +1 -1
  39. package/dist/querier/abstractQuerier.d.ts +0 -3
  40. package/dist/querier/abstractQuerier.d.ts.map +1 -1
  41. package/dist/querier/abstractQuerier.js +0 -5
  42. package/dist/querier/abstractQuerier.js.map +1 -1
  43. package/dist/querier/abstractSqlQuerier.d.ts.map +1 -1
  44. package/dist/querier/abstractSqlQuerier.js +5 -4
  45. package/dist/querier/abstractSqlQuerier.js.map +1 -1
  46. package/dist/querier/decorator/injectQuerier.d.ts.map +1 -1
  47. package/dist/querier/decorator/injectQuerier.js +1 -0
  48. package/dist/querier/decorator/injectQuerier.js.map +1 -1
  49. package/dist/querier/decorator/transactional.d.ts.map +1 -1
  50. package/dist/querier/decorator/transactional.js +1 -0
  51. package/dist/querier/decorator/transactional.js.map +1 -1
  52. package/dist/sqlite/sqliteQuerier.d.ts.map +1 -1
  53. package/dist/sqlite/sqliteQuerier.js +2 -1
  54. package/dist/sqlite/sqliteQuerier.js.map +1 -1
  55. package/dist/type/entity.d.ts +7 -5
  56. package/dist/type/entity.d.ts.map +1 -1
  57. package/dist/type/querier.d.ts +18 -23
  58. package/dist/type/querier.d.ts.map +1 -1
  59. package/dist/type/querier.js.map +1 -1
  60. package/dist/type/querierPool.d.ts.map +1 -1
  61. package/dist/type/query.d.ts +9 -12
  62. package/dist/type/query.d.ts.map +1 -1
  63. package/dist/type/query.js.map +1 -1
  64. package/dist/util/ansiSqlLiteral.js.map +1 -1
  65. package/dist/util/dialect.util.js +2 -2
  66. package/dist/util/dialect.util.js.map +1 -1
  67. package/dist/util/object.util.d.ts +2 -0
  68. package/dist/util/object.util.d.ts.map +1 -1
  69. package/dist/util/object.util.js +6 -0
  70. package/dist/util/object.util.js.map +1 -1
  71. package/dist/util/string.util.d.ts.map +1 -1
  72. package/dist/util/string.util.js +6 -4
  73. package/dist/util/string.util.js.map +1 -1
  74. package/package.json +7 -7
package/CHANGELOG.md CHANGED
@@ -4,6 +4,29 @@ All notable changes to this project will be documented in this file. Please add
4
4
 
5
5
  date format is [yyyy-mm-dd]
6
6
 
7
+ ## [0.9.4] - 2026-06-29
8
+
9
+ ### Bug Fixes
10
+
11
+ - **`$entity` dual-API restored**: Querier read/delete methods (`findOne`, `findMany`, `findManyAndCount`, `count`, `deleteMany`, `findManyStream`) now use TypeScript overloads instead of union types, enabling correct entity inference for both `(Entity, query)` and `({ $entity: Entity, ...query })` call patterns.
12
+ - **`$select` / `$exclude` overlap resolved**: Both are now structurally identical map types (`{ [K in FieldKey<E>]?: BooleanLike }`) — whitelist (`$select`) vs. blacklist (`$exclude`). `$exclude` reverted to map form (was incorrectly changed to array), matching runtime `Object.entries()` usage.
13
+ - **`$exclude` JSDoc**: Updated comment from "array of field names" to map syntax `{ name: true }`.
14
+
15
+ ### Security
16
+
17
+ - **Comprehensive security tests** (`querySecurity.spec.ts`): 33+ tests covering prototype pollution via `$where`/`$select`/`$exclude`/`$populate`, SQL injection in WHERE values and identifiers, `$skip`/`$limit` coercion edge cases, `$ne`/`$or`/`$in` operator safety, relation field safety, and field validation across all entity types.
18
+
19
+ ### [0.9.3] - 2026-06-26
20
+
21
+ ### Bug Fixes
22
+
23
+ - **`snakeCase` null pass-through**: Restored `null`/`undefined` passthrough (was collapsed to `''`). `upperFirst`/`lowerFirst` now also guard early on falsy input.
24
+
25
+ ### Improvements
26
+
27
+ - **`QueryPopulateRelationOptions` nullable fix**: Uses `NonNullable<E>` so nullable relations (`Profile | null`) correctly infer `QueryUnique<Profile>` rather than `QueryUnique<Profile | null>`.
28
+ - **`JsonFieldPaths` array support**: Now handles arrays of JSON (`Json<T>[]`) for MongoDB.
29
+
7
30
  ## [0.9.2] - 2026-06-10
8
31
 
9
32
  ### Bug Fixes
@@ -24,6 +24,6 @@ type RequestErrorNotification = {
24
24
  readonly phase: 'error';
25
25
  } & RequestErrorResponse & RequestBaseNotification;
26
26
  export type RequestNotification = RequestSuccessNotification | RequestErrorNotification;
27
- export type RequestCallback = (msg: RequestNotification) => any;
27
+ export type RequestCallback = (msg: RequestNotification) => void;
28
28
  export {};
29
29
  //# sourceMappingURL=request.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/browser/type/request.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;IACtC,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACvB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAClE,KAAK,0BAA0B,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAA;CAAE,GAAG,uBAAuB,CAAC;AACjH,KAAK,wBAAwB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,oBAAoB,GAAG,uBAAuB,CAAC;AAC7G,MAAM,MAAM,mBAAmB,GAAG,0BAA0B,GAAG,wBAAwB,CAAC;AACxF,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,mBAAmB,KAAK,GAAG,CAAC"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/browser/type/request.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;IACtC,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACvB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAClE,KAAK,0BAA0B,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAA;CAAE,GAAG,uBAAuB,CAAC;AACjH,KAAK,wBAAwB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,oBAAoB,GAAG,uBAAuB,CAAC;AAC7G,MAAM,MAAM,mBAAmB,GAAG,0BAA0B,GAAG,wBAAwB,CAAC;AACxF,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,mBAAmB,KAAK,IAAI,CAAC"}
@@ -958,6 +958,7 @@ function ensureMeta(entity) {
958
958
  }
959
959
  meta = {
960
960
  entity,
961
+ id: '',
961
962
  fields: {},
962
963
  relations: {}
963
964
  };