@uql/core 3.7.3 → 3.7.5

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 CHANGED
@@ -3,9 +3,13 @@
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.7.3](https://github.com/rogerpadilla/uql/compare/@uql/core@3.7.2...@uql/core@3.7.3) (2026-01-04)
6
+ ## [3.7.5](https://github.com/rogerpadilla/uql/compare/@uql/core@3.7.4...@uql/core@3.7.5) (2026-01-04)
7
7
 
8
- **Note:** Version bump only for package @uql/core
8
+
9
+ ### Features
10
+
11
+ * enhance type inference for field definitions, improve default value comparison, and standardize field type safety ([1fc8203](https://github.com/rogerpadilla/uql/commit/1fc820393d7d65fcc9e12a127243a46cff83875e))
12
+ * Standardize field type inference with explicit `FieldType` and enhance default value comparison for schema generation. ([5a6bbbd](https://github.com/rogerpadilla/uql/commit/5a6bbbd1ae2e97708df580b89efeb51be41f1649))
9
13
 
10
14
 
11
15
 
@@ -17,7 +21,23 @@ All notable changes to this project will be documented in this file. Please add
17
21
 
18
22
  date format is [yyyy-mm-dd]
19
23
 
20
- ## [3.7.3] - 2026-01-04
24
+ ## [3.7.5] - 2026-01-04
25
+ ### Enhanced Type Inference & Default Value Comparison
26
+ - **Strict Field Type Safety**: Standardized the `type` property in `@Field` and `@Id` to use a strict union of global constructors (`String`, `Number`, etc.) and verified `ColumnType` strings.
27
+ - **Removed String Aliases**: Deprecated and removed support for informal string aliases like `'string'`, `'number'`, `'boolean'`, and `'date'` in the `type` property. Developers should use the corresponding TypeScript constructors for logical mapping.
28
+ - **Semantic Type Inference**: Added robust support for `'uuid'`, `'json'`, `'jsonb'`, and `'vector'` as valid semantic values for the `type` property. This ensures correct cross-database SQL mapping even when specified as semantic strings.
29
+
30
+ ## [3.7.4] - 2026-01-04
31
+ ### Enhanced Schema Generation & Type Safety
32
+ - **Fixed Foreign Key Type Mismatch**: Resolved an issue where foreign key columns could default to incompatible types (e.g., `TEXT`) when referencing primary keys of a different type (e.g., `UUID`). Foreign keys now automatically inherit the exact SQL type of the column they reference.
33
+ - **Improved Default Value Comparison**: Standardized default value normalization to handle complex PostgreSQL type casts (e.g., `'[]'::jsonb[]`) and accurately compare object/array defaults using `JSON.stringify`, effectively eliminating "phantom diffs."
34
+ - **Improved Primary Key Inference**: String-based primary keys (including UUIDs) no longer incorrectly default to `BIGINT` auto-incrementing serials. The ORM now only applies auto-increment logic to numeric types (`number`, `BigInt`) unless explicitly configured via `@Id({ autoIncrement: true })`.
35
+ - **Architectural Refactor**: Consolidated schema generation to use a unified `fieldToColumnSchema` path for both initial creation and synchronization, ensuring perfect structural consistency and eliminating "phantom diffs".
36
+ - **Reusable Field Utilities**: Created `field.util.ts` for centralized logic regarding auto-increment and numeric type checks, improving maintainability across the ORM.
37
+ - **Safety Fix**: Refined `generateColumnDefinitionFromSchema` to safely strip redundant `PRIMARY KEY` constraints during `ALTER TABLE` operations, avoiding "Duplicate Primary Key" errors while maintaining auto-incrementing properties.
38
+ - **Expanded Unit Tests**: Added comprehensive branch testing for field properties and type inference to ensure long-term stability across all 8 supported databases.
39
+
40
+ ## [3.7.3] - 2026-01-04
21
41
  ### Robust Schema Synchronization
22
42
  - **Safe AutoSync**: Primary keys are now immune to automated alterations, preventing dangerous schema changes and ensuring database stability.
23
43
  - **Modern Primary Keys**: Standardized on **64-bit** auto-increment primary keys across all SQL dialects to align with TypeScript's `number` type:
package/README.md CHANGED
@@ -37,7 +37,7 @@ const users = await querier.findMany(User, {
37
37
 
38
38
  | Feature | Description |
39
39
  | :----------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------ |
40
- | **[Context-Aware Queries](https://uql.app/querying/relations)** | Deep type-safety for operators and [relations](https://uql.app/querying/relations) at any depth. |
40
+ | **[Context-Aware Queries](https://uql.app/querying/relations)** | Deep type-safety for operators and [relations](https://uql.app/querying/relations) at any depth. |
41
41
  | **Serializable JSON** | 100% valid JSON queries for easy transport over HTTP/Websockets. |
42
42
  | **Unified Dialects** | Write once, run anywhere: PostgreSQL, MySQL, SQLite, MongoDB, and more. |
43
43
  | **Naming Strategies** | Pluggable system to translate between TypeScript `camelCase` and database `snake_case`. |
@@ -93,15 +93,37 @@ Annotate your classes with decorators. UQL's engine uses this metadata for both
93
93
 
94
94
  ### Core Decorators
95
95
 
96
- | Decorator | Purpose |
97
- | :--------------- | :----------------------------------------------------------------------------- |
98
- | `@Entity()` | Marks a class as a database table/collection. |
99
- | `@Id()` | Defines the Primary Key with support for `onInsert` generators (UUIDs, etc). |
100
- | `@Field()` | Standard column. Use `{ reference: ... }` for Foreign Keys. |
101
- | `@OneToOne` | Defines a one-to-one relationship. |
102
- | `@OneToMany` | Defines a one-to-many relationship. |
103
- | `@ManyToOne` | Defines a many-to-one relationship. |
104
- | `@ManyToMany` | Defines a many-to-many relationship. |
96
+ | Decorator | Purpose |
97
+ | :-------------- | :----------------------------------------------------------------------------- |
98
+ | `@Entity()` | Marks a class as a database table/collection. |
99
+ | `@Id()` | Defines the Primary Key with support for `onInsert` generators (UUIDs, etc). |
100
+ | `@Field()` | Standard column. Use `{ reference: ... }` for Foreign Keys. |
101
+ | `@OneToOne` | Defines a one-to-one relationship. |
102
+ | `@OneToMany` | Defines a one-to-many relationship. |
103
+ | `@ManyToOne` | Defines a many-to-one relationship. |
104
+ | `@ManyToMany` | Defines a many-to-many relationship. |
105
+ | `@Virtual()` | Defines a read-only field calculated via SQL (see Advanced). |
106
+
107
+ ### Type Abstraction: Logical vs. Physical
108
+
109
+ UQL separates the **intent** of your data from its **storage**. Both properties are **optional**; if omitted, UQL performs a *best-effort inference* using the TypeScript types from your class (provided `emitDecoratorMetadata` is enabled).
110
+
111
+ | Property | Purpose | Values |
112
+ | :--- | :--- | :--- |
113
+ | **`type`** | **Logical Type** (Abstraction). Used for runtime behavior and automatic SQL mapping. | `String`, `Number`, `Boolean`, `Date`, `BigInt`, or semantic strings: `'uuid'`, `'json'`, `'vector'`. |
114
+ | **`columnType`** | **Physical Type** (Implementation). **Highest Priority**. Bypasses UQL's inference for exact SQL control. | Raw SQL types: `'varchar(100)'`, `'decimal(10,2)'`, `'smallint'`, etc. |
115
+
116
+ ```ts
117
+ @Field() // Inference: Maps to TEXT (Postgres) or VARCHAR(255) (MySQL) automatically.
118
+ name?: string;
119
+
120
+ @Field({ type: 'uuid' }) // Recommended: Cross-database abstraction for UUIDs.
121
+ id?: string;
122
+
123
+ @Field({ columnType: 'varchar(500)' }) // Control: Explicitly forces a specific SQL type.
124
+ bio?: string;
125
+ ```
126
+
105
127
 
106
128
   
107
129
 
@@ -213,8 +235,8 @@ import { User, Profile, Post } from './entities';
213
235
  export const pool = new PgQuerierPool(
214
236
  { host: 'localhost', database: 'uql_app', max: 10 },
215
237
  {
216
- logger: true,
217
- slowQueryThreshold: 200,
238
+ logger: ['error', 'warn', 'migration'],
239
+ slowQueryThreshold: 1000,
218
240
  namingStrategy: new SnakeCaseNamingStrategy()
219
241
  }
220
242
  );
@@ -1 +1 @@
1
- {"version":3,"file":"schemaGenerator.d.ts","sourceRoot":"","sources":["../../src/migrate/schemaGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemaGenerator.d.ts","sourceRoot":"","sources":["../../src/migrate/schemaGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { AbstractDialect } from '../dialect/index.js';
2
2
  import { getMeta } from '../entity/index.js';
3
- import { escapeSqlId, getKeys } from '../util/index.js';
3
+ import { escapeSqlId, getKeys, isAutoIncrement, isNumericType } from '../util/index.js';
4
4
  /**
5
5
  * Abstract base class for SQL schema generation
6
6
  */
@@ -114,41 +114,28 @@ export class AbstractSchemaGenerator extends AbstractDialect {
114
114
  * Generate a single column definition
115
115
  */
116
116
  generateColumnDefinition(fieldKey, field, meta) {
117
- const columnName = this.escapeId(this.resolveColumnName(fieldKey, field));
118
- const isId = field.isId === true;
119
- const isPrimaryKey = isId && meta.id === fieldKey;
120
- // Determine SQL type
121
- let sqlType;
122
- if (isPrimaryKey && field.autoIncrement !== false && !field.onInsert) {
123
- // Auto-increment primary key
124
- sqlType = this.serialPrimaryKeyType;
125
- }
126
- else {
127
- sqlType = this.getSqlType(field, field.type);
128
- }
129
- let definition = `${columnName} ${sqlType}`;
117
+ const column = this.fieldToColumnSchema(fieldKey, field, meta);
118
+ const tableName = this.resolveTableName(meta.entity, meta);
119
+ const sqlType = column.isAutoIncrement ? this.serialPrimaryKeyType : column.type;
120
+ let definition = `${this.escapeId(column.name)} ${sqlType}`;
130
121
  // PRIMARY KEY constraint (for non-serial types)
131
- if (isPrimaryKey && !sqlType.includes('PRIMARY KEY')) {
122
+ if (column.isPrimaryKey && !sqlType.includes('PRIMARY KEY')) {
132
123
  definition += ' PRIMARY KEY';
133
124
  }
134
- // NULL/NOT NULL
135
- if (!isPrimaryKey) {
136
- const nullable = field.nullable ?? true;
137
- if (!nullable) {
125
+ // NULL/NOT NULL and UNIQUE
126
+ if (!column.isPrimaryKey) {
127
+ if (!column.nullable)
138
128
  definition += ' NOT NULL';
139
- }
140
- }
141
- // UNIQUE constraint
142
- if (field.unique && !isPrimaryKey) {
143
- definition += ' UNIQUE';
129
+ if (column.isUnique)
130
+ definition += ' UNIQUE';
144
131
  }
145
132
  // DEFAULT value
146
- if (field.defaultValue !== undefined) {
147
- definition += ` DEFAULT ${this.formatDefaultValue(field.defaultValue)}`;
133
+ if (column.defaultValue !== undefined) {
134
+ definition += ` DEFAULT ${this.formatDefaultValue(column.defaultValue)}`;
148
135
  }
149
136
  // COMMENT (if supported)
150
- if (field.comment) {
151
- definition += this.generateColumnComment(this.resolveTableName(meta.entity, meta), this.resolveColumnName(fieldKey, field), field.comment);
137
+ if (column.comment) {
138
+ definition += this.generateColumnComment(tableName, column.name, column.comment);
152
139
  }
153
140
  return definition;
154
141
  }
@@ -157,8 +144,13 @@ export class AbstractSchemaGenerator extends AbstractDialect {
157
144
  */
158
145
  generateColumnDefinitionFromSchema(column, options = {}) {
159
146
  const { includePrimaryKey = true, includeUnique = true } = options;
160
- const columnName = this.escapeId(column.name);
161
- let type = column.type;
147
+ const isAutoIncrement = column.isAutoIncrement && !column.type.includes('IDENTITY');
148
+ let type = isAutoIncrement && this.serialPrimaryKeyType ? this.serialPrimaryKeyType : column.type;
149
+ // Some serial types (e.g. Postgres IDENTITY or MySQL AUTO_INCREMENT) include "PRIMARY KEY"
150
+ // in their definition string. We strip it if includePrimaryKey is false to avoid double PK errors.
151
+ if (!includePrimaryKey) {
152
+ type = type.replace(/\s+PRIMARY\s+KEY/i, '');
153
+ }
162
154
  if (column.length && !type.includes('(')) {
163
155
  type = `${type}(${column.length})`;
164
156
  }
@@ -170,8 +162,8 @@ export class AbstractSchemaGenerator extends AbstractDialect {
170
162
  type = `${type}(${column.precision})`;
171
163
  }
172
164
  }
173
- let definition = `${columnName} ${type}`;
174
- if (includePrimaryKey && column.isPrimaryKey) {
165
+ let definition = `${this.escapeId(column.name)} ${type}`;
166
+ if (includePrimaryKey && column.isPrimaryKey && !type.includes('PRIMARY KEY')) {
175
167
  definition += ' PRIMARY KEY';
176
168
  }
177
169
  if (!column.nullable && !column.isPrimaryKey) {
@@ -223,31 +215,38 @@ export class AbstractSchemaGenerator extends AbstractDialect {
223
215
  if (field.columnType) {
224
216
  return this.mapColumnType(field.columnType, field);
225
217
  }
226
- // Handle special types
227
- if (field.type === 'json' || field.type === 'jsonb') {
228
- return this.mapColumnType(field.type, field);
229
- }
230
- if (field.type === 'vector') {
231
- return this.mapColumnType('vector', field);
218
+ // Inherit type from referenced field if applicable
219
+ if (field.reference) {
220
+ const refEntity = field.reference();
221
+ const refMeta = getMeta(refEntity);
222
+ const refIdField = refMeta.fields[refMeta.id];
223
+ return this.getSqlType({ ...refIdField, reference: undefined }, refIdField.type);
232
224
  }
233
225
  // Infer from TypeScript type
234
226
  const type = fieldType ?? field.type;
235
- if (type === Number || type === 'number') {
227
+ // Handle special types first
228
+ if (type === 'uuid' || field.type === 'uuid') {
229
+ return this.mapColumnType('uuid', field);
230
+ }
231
+ if (type === 'json' || type === 'jsonb' || field.type === 'json' || field.type === 'jsonb') {
232
+ const columnType = (type === 'json' || type === 'jsonb' ? type : field.type);
233
+ return this.mapColumnType(columnType, field);
234
+ }
235
+ if (type === 'vector' || field.type === 'vector') {
236
+ return this.mapColumnType('vector', field);
237
+ }
238
+ if (isNumericType(type)) {
236
239
  return field.precision ? this.mapColumnType('decimal', field) : this.mapColumnType('bigint', field);
237
240
  }
238
- if (type === String || type === 'string') {
241
+ if (type === String) {
239
242
  return this.mapColumnType('varchar', field);
240
243
  }
241
- if (type === Boolean || type === 'boolean') {
244
+ if (type === Boolean) {
242
245
  return this.getBooleanType();
243
246
  }
244
- if (type === Date || type === 'date') {
247
+ if (type === Date) {
245
248
  return this.mapColumnType('timestamp', field);
246
249
  }
247
- if (type === BigInt || type === 'bigint') {
248
- return this.mapColumnType('bigint', field);
249
- }
250
- // Default to varchar
251
250
  return this.mapColumnType('varchar', field);
252
251
  }
253
252
  /**
@@ -333,15 +332,14 @@ export class AbstractSchemaGenerator extends AbstractDialect {
333
332
  * Convert field options to ColumnSchema
334
333
  */
335
334
  fieldToColumnSchema(fieldKey, field, meta) {
336
- const isId = field.isId === true;
337
- const isPrimaryKey = isId && meta.id === fieldKey;
335
+ const isPrimaryKey = field.isId === true && meta.id === fieldKey;
338
336
  return {
339
337
  name: this.resolveColumnName(fieldKey, field),
340
338
  type: this.getSqlType(field, field.type),
341
339
  nullable: field.nullable ?? !isPrimaryKey,
342
340
  defaultValue: field.defaultValue,
343
341
  isPrimaryKey,
344
- isAutoIncrement: isPrimaryKey && field.autoIncrement !== false && !field.onInsert,
342
+ isAutoIncrement: isAutoIncrement(field, isPrimaryKey),
345
343
  isUnique: field.unique ?? false,
346
344
  length: field.length,
347
345
  precision: field.precision,
@@ -433,7 +431,7 @@ export class AbstractSchemaGenerator extends AbstractDialect {
433
431
  return 'null';
434
432
  return s;
435
433
  }
436
- return String(val);
434
+ return typeof val === 'object' ? JSON.stringify(val) : String(val);
437
435
  };
438
436
  return normalize(current) === normalize(desired);
439
437
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schemaGenerator.js","sourceRoot":"","sources":["../../src/migrate/schemaGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemaGenerator.js","sourceRoot":"","sources":["../../src/migrate/schemaGenerator.ts"],"names":[],"mappings":"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"}
@@ -55,13 +55,17 @@ export type EntityOptions = {
55
55
  * SQL column types supported by uql migrations
56
56
  */
57
57
  export type ColumnType = 'int' | 'smallint' | 'bigint' | 'float' | 'double' | 'decimal' | 'numeric' | 'real' | 'boolean' | 'char' | 'varchar' | 'text' | 'uuid' | 'date' | 'time' | 'timestamp' | 'timestamptz' | 'json' | 'jsonb' | 'blob' | 'bytea' | 'vector' | 'serial' | 'bigserial';
58
+ /**
59
+ * Logical types for a field
60
+ */
61
+ export type FieldType = StringConstructor | NumberConstructor | BooleanConstructor | DateConstructor | BigIntConstructor | ColumnType;
58
62
  /**
59
63
  * Configurable options for a field
60
64
  */
61
65
  export type FieldOptions = {
62
66
  readonly name?: string;
63
67
  readonly isId?: true;
64
- readonly type?: any;
68
+ readonly type?: FieldType;
65
69
  readonly reference?: EntityGetter;
66
70
  readonly virtual?: QueryRaw;
67
71
  readonly updatable?: boolean;
@@ -74,29 +78,29 @@ export type FieldOptions = {
74
78
  */
75
79
  readonly columnType?: ColumnType;
76
80
  /**
77
- * Column length (e.g., VARCHAR(100)). Defaults to 255 for varchar.
81
+ * Field length (e.g. for varchar)
78
82
  */
79
83
  readonly length?: number;
80
84
  /**
81
- * Precision for decimal/numeric types.
85
+ * Field precision (e.g. for decimal)
82
86
  */
83
87
  readonly precision?: number;
84
88
  /**
85
- * Scale for decimal/numeric types.
89
+ * Field scale (e.g. for decimal)
86
90
  */
87
91
  readonly scale?: number;
88
92
  /**
89
- * Whether the column allows NULL values. Defaults to true except for ID fields.
93
+ * Whether the field is nullable
90
94
  */
91
95
  readonly nullable?: boolean;
92
96
  /**
93
- * Whether the column has a UNIQUE constraint.
97
+ * Whether the field is unique
94
98
  */
95
99
  readonly unique?: boolean;
96
100
  /**
97
- * Default value for the column.
101
+ * Default value for the column
98
102
  */
99
- readonly defaultValue?: Scalar | null;
103
+ readonly defaultValue?: any;
100
104
  /**
101
105
  * Whether the column is auto-incrementing (for integer IDs).
102
106
  */
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/type/entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/type/entity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { FieldOptions } from '../type/index.js';
2
+ /**
3
+ * Checks if a field type is numeric (Number or BigInt)
4
+ */
5
+ export declare function isNumericType(type: any): boolean;
6
+ /**
7
+ * Checks if a field should be treated as auto-incrementing.
8
+ * By default, only numeric primary keys without custom handlers or explicit column types are auto-incremented.
9
+ */
10
+ export declare function isAutoIncrement(field: FieldOptions, isPrimaryKey: boolean): boolean;
11
+ //# sourceMappingURL=field.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.util.d.ts","sourceRoot":"","sources":["../../src/util/field.util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAEhD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAGnF"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Checks if a field type is numeric (Number or BigInt)
3
+ */
4
+ export function isNumericType(type) {
5
+ return type === Number || type === BigInt;
6
+ }
7
+ /**
8
+ * Checks if a field should be treated as auto-incrementing.
9
+ * By default, only numeric primary keys without custom handlers or explicit column types are auto-incremented.
10
+ */
11
+ export function isAutoIncrement(field, isPrimaryKey) {
12
+ const isNumeric = isNumericType(field.type);
13
+ return isPrimaryKey && isNumeric && field.autoIncrement !== false && !field.onInsert && !field.columnType;
14
+ }
15
+ //# sourceMappingURL=field.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.util.js","sourceRoot":"","sources":["../../src/util/field.util.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAS;IACrC,OAAO,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAmB,EAAE,YAAqB;IACxE,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,YAAY,IAAI,SAAS,IAAI,KAAK,CAAC,aAAa,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;AAC5G,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './dialect.util.js';
2
+ export * from './field.util.js';
2
3
  export * from './logger.js';
3
4
  export * from './object.util.js';
4
5
  export * from './raw.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './dialect.util.js';
2
+ export * from './field.util.js';
2
3
  export * from './logger.js';
3
4
  export * from './object.util.js';
4
5
  export * from './raw.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "homepage": "https://uql.app",
4
4
  "description": "One Language. Frontend to Backend.",
5
5
  "license": "MIT",
6
- "version": "3.7.3",
6
+ "version": "3.7.5",
7
7
  "type": "module",
8
8
  "main": "./dist/index.js",
9
9
  "types": "./dist/index.d.ts",
@@ -143,5 +143,5 @@
143
143
  "publishConfig": {
144
144
  "access": "public"
145
145
  },
146
- "gitHead": "c649584d8ad330dbe57cced1c2c6c02dd9bafc2f"
146
+ "gitHead": "7963ec83b831f12d7041f78a5a7b0c9df14ef288"
147
147
  }