uql-orm 0.6.1 → 0.7.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.
- package/CHANGELOG.md +28 -0
- package/README.md +2 -1
- package/dist/browser/{cc-BEf4wTUm.js → cc-BVTDOeZ_.js} +54 -23
- package/dist/browser/cc-BVTDOeZ_.js.map +1 -0
- package/dist/browser/uql-browser.min.js +124 -139
- package/dist/browser/uql-browser.min.js.map +1 -1
- package/dist/bunSql/bunSql.util.d.ts +30 -0
- package/dist/bunSql/bunSql.util.d.ts.map +1 -0
- package/dist/bunSql/bunSql.util.js +98 -0
- package/dist/bunSql/bunSql.util.js.map +1 -0
- package/dist/bunSql/bunSqlQuerier.d.ts +14 -0
- package/dist/bunSql/bunSqlQuerier.d.ts.map +1 -0
- package/dist/bunSql/bunSqlQuerier.js +37 -0
- package/dist/bunSql/bunSqlQuerier.js.map +1 -0
- package/dist/bunSql/bunSqlQuerierPool.d.ts +19 -0
- package/dist/bunSql/bunSqlQuerierPool.d.ts.map +1 -0
- package/dist/bunSql/bunSqlQuerierPool.js +58 -0
- package/dist/bunSql/bunSqlQuerierPool.js.map +1 -0
- package/dist/bunSql/index.d.ts +3 -0
- package/dist/bunSql/index.d.ts.map +1 -0
- package/dist/bunSql/index.js +3 -0
- package/dist/bunSql/index.js.map +1 -0
- package/dist/cockroachdb/crdbQuerier.d.ts +3 -8
- package/dist/cockroachdb/crdbQuerier.d.ts.map +1 -1
- package/dist/cockroachdb/crdbQuerier.js +2 -30
- package/dist/cockroachdb/crdbQuerier.js.map +1 -1
- package/dist/cockroachdb/crdbQuerierPool.d.ts +4 -4
- package/dist/cockroachdb/crdbQuerierPool.d.ts.map +1 -1
- package/dist/cockroachdb/crdbQuerierPool.js +5 -7
- package/dist/cockroachdb/crdbQuerierPool.js.map +1 -1
- package/dist/d1/d1Querier.d.ts +2 -1
- package/dist/d1/d1Querier.d.ts.map +1 -1
- package/dist/d1/d1Querier.js +3 -4
- package/dist/d1/d1Querier.js.map +1 -1
- package/dist/d1/d1QuerierPool.d.ts +2 -1
- package/dist/d1/d1QuerierPool.d.ts.map +1 -1
- package/dist/d1/d1QuerierPool.js +3 -2
- package/dist/d1/d1QuerierPool.js.map +1 -1
- package/dist/dialect/abstractDialect.d.ts +1 -0
- package/dist/dialect/abstractDialect.d.ts.map +1 -1
- package/dist/dialect/abstractDialect.js +3 -0
- package/dist/dialect/abstractDialect.js.map +1 -1
- package/dist/dialect/abstractSqlDialect.d.ts +57 -52
- package/dist/dialect/abstractSqlDialect.d.ts.map +1 -1
- package/dist/dialect/abstractSqlDialect.js +194 -142
- package/dist/dialect/abstractSqlDialect.js.map +1 -1
- package/dist/dialect/dialectConfig.d.ts +19 -8
- package/dist/dialect/dialectConfig.d.ts.map +1 -1
- package/dist/dialect/dialectConfig.js +6 -0
- package/dist/dialect/dialectConfig.js.map +1 -1
- package/dist/dialect/mysqlLikeSqlDialect.d.ts +3 -5
- package/dist/dialect/mysqlLikeSqlDialect.d.ts.map +1 -1
- package/dist/dialect/mysqlLikeSqlDialect.js +12 -24
- package/dist/dialect/mysqlLikeSqlDialect.js.map +1 -1
- package/dist/dialect/queryContext.js +1 -1
- package/dist/dialect/queryContext.js.map +1 -1
- package/dist/express/querierMiddleware.d.ts.map +1 -1
- package/dist/express/querierMiddleware.js +13 -20
- package/dist/express/querierMiddleware.js.map +1 -1
- package/dist/libsql/libsqlQuerier.d.ts +2 -1
- package/dist/libsql/libsqlQuerier.d.ts.map +1 -1
- package/dist/libsql/libsqlQuerier.js +3 -4
- package/dist/libsql/libsqlQuerier.js.map +1 -1
- package/dist/libsql/libsqlQuerierPool.d.ts +2 -1
- package/dist/libsql/libsqlQuerierPool.d.ts.map +1 -1
- package/dist/libsql/libsqlQuerierPool.js +3 -2
- package/dist/libsql/libsqlQuerierPool.js.map +1 -1
- package/dist/maria/mariaDialect.d.ts +2 -4
- package/dist/maria/mariaDialect.d.ts.map +1 -1
- package/dist/maria/mariaDialect.js +1 -5
- package/dist/maria/mariaDialect.js.map +1 -1
- package/dist/maria/mariadbQuerier.d.ts +2 -1
- package/dist/maria/mariadbQuerier.d.ts.map +1 -1
- package/dist/maria/mariadbQuerier.js +4 -6
- package/dist/maria/mariadbQuerier.js.map +1 -1
- package/dist/maria/mariadbQuerierPool.d.ts +2 -1
- package/dist/maria/mariadbQuerierPool.d.ts.map +1 -1
- package/dist/maria/mariadbQuerierPool.js +3 -2
- package/dist/maria/mariadbQuerierPool.js.map +1 -1
- package/dist/migrate/sync/schemaSync.js +1 -1
- package/dist/migrate/sync/schemaSync.js.map +1 -1
- package/dist/mongo/mongodbQuerierPool.d.ts +2 -1
- package/dist/mongo/mongodbQuerierPool.d.ts.map +1 -1
- package/dist/mongo/mongodbQuerierPool.js +2 -3
- package/dist/mongo/mongodbQuerierPool.js.map +1 -1
- package/dist/mysql/mysql2Querier.d.ts +2 -1
- package/dist/mysql/mysql2Querier.d.ts.map +1 -1
- package/dist/mysql/mysql2Querier.js +7 -11
- package/dist/mysql/mysql2Querier.js.map +1 -1
- package/dist/mysql/mysql2QuerierPool.d.ts +2 -1
- package/dist/mysql/mysql2QuerierPool.d.ts.map +1 -1
- package/dist/mysql/mysql2QuerierPool.js +3 -2
- package/dist/mysql/mysql2QuerierPool.js.map +1 -1
- package/dist/neon/neonQuerier.d.ts +3 -7
- package/dist/neon/neonQuerier.d.ts.map +1 -1
- package/dist/neon/neonQuerier.js +2 -18
- package/dist/neon/neonQuerier.js.map +1 -1
- package/dist/neon/neonQuerierPool.d.ts +4 -4
- package/dist/neon/neonQuerierPool.d.ts.map +1 -1
- package/dist/neon/neonQuerierPool.js +5 -7
- package/dist/neon/neonQuerierPool.js.map +1 -1
- package/dist/postgres/abstractPgQuerier.d.ts +18 -0
- package/dist/postgres/abstractPgQuerier.d.ts.map +1 -0
- package/dist/postgres/abstractPgQuerier.js +33 -0
- package/dist/postgres/abstractPgQuerier.js.map +1 -0
- package/dist/postgres/abstractPgQuerierPool.d.ts +15 -0
- package/dist/postgres/abstractPgQuerierPool.d.ts.map +1 -0
- package/dist/postgres/abstractPgQuerierPool.js +10 -0
- package/dist/postgres/abstractPgQuerierPool.js.map +1 -0
- package/dist/postgres/pgQuerier.d.ts +3 -8
- package/dist/postgres/pgQuerier.d.ts.map +1 -1
- package/dist/postgres/pgQuerier.js +2 -30
- package/dist/postgres/pgQuerier.js.map +1 -1
- package/dist/postgres/pgQuerierPool.d.ts +6 -6
- package/dist/postgres/pgQuerierPool.d.ts.map +1 -1
- package/dist/postgres/pgQuerierPool.js +7 -9
- package/dist/postgres/pgQuerierPool.js.map +1 -1
- package/dist/postgres/postgresDialect.d.ts +6 -16
- package/dist/postgres/postgresDialect.d.ts.map +1 -1
- package/dist/postgres/postgresDialect.js +49 -72
- package/dist/postgres/postgresDialect.js.map +1 -1
- package/dist/querier/abstractQuerierPool.d.ts +5 -3
- package/dist/querier/abstractQuerierPool.d.ts.map +1 -1
- package/dist/querier/abstractQuerierPool.js +6 -3
- package/dist/querier/abstractQuerierPool.js.map +1 -1
- package/dist/querier/abstractSqlQuerier.d.ts +5 -0
- package/dist/querier/abstractSqlQuerier.d.ts.map +1 -1
- package/dist/querier/abstractSqlQuerier.js +15 -5
- package/dist/querier/abstractSqlQuerier.js.map +1 -1
- package/dist/sqlite/abstractSqliteQuerier.d.ts +0 -2
- package/dist/sqlite/abstractSqliteQuerier.d.ts.map +1 -1
- package/dist/sqlite/abstractSqliteQuerier.js +0 -9
- package/dist/sqlite/abstractSqliteQuerier.js.map +1 -1
- package/dist/sqlite/sqliteDialect.d.ts +6 -20
- package/dist/sqlite/sqliteDialect.d.ts.map +1 -1
- package/dist/sqlite/sqliteDialect.js +20 -33
- package/dist/sqlite/sqliteDialect.js.map +1 -1
- package/dist/sqlite/sqliteQuerier.d.ts +2 -1
- package/dist/sqlite/sqliteQuerier.d.ts.map +1 -1
- package/dist/sqlite/sqliteQuerier.js +3 -4
- package/dist/sqlite/sqliteQuerier.js.map +1 -1
- package/dist/sqlite/sqliteQuerierPool.d.ts +2 -1
- package/dist/sqlite/sqliteQuerierPool.d.ts.map +1 -1
- package/dist/sqlite/sqliteQuerierPool.js +3 -2
- package/dist/sqlite/sqliteQuerierPool.js.map +1 -1
- package/dist/type/querierPool.d.ts +16 -0
- package/dist/type/querierPool.d.ts.map +1 -1
- package/dist/type/query.d.ts +8 -3
- package/dist/type/query.d.ts.map +1 -1
- package/dist/type/utility.d.ts +4 -0
- package/dist/type/utility.d.ts.map +1 -1
- package/dist/util/sql.util.d.ts +26 -3
- package/dist/util/sql.util.d.ts.map +1 -1
- package/dist/util/sql.util.js +51 -9
- package/dist/util/sql.util.js.map +1 -1
- package/package.json +7 -6
- package/dist/browser/cc-BEf4wTUm.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,34 @@ 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.7.3] - 2026-03-26
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
- **Bun SQL Dialect Inference**: Improved logic for detecting `sqlite` from URLs and handling custom schemes in `SQL.Options`.
|
|
10
|
+
- **Schema Synchronization**: Added null-safety check in `formatType` to prevent crashes when encountering specific user-defined column types.
|
|
11
|
+
|
|
12
|
+
## [0.7.2] - 2026-03-22
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
- **MySQL/MariaDB Upsert Detection**: Fine-tuned the `created` flag detection by correctly interpreting the MySQL `affectedRows` convention (1 for insert, 2 for update, 0 for no-op).
|
|
15
|
+
- **Express Route ID Resolution**: Removed rigid `req.params.id` string-bindings in autogenerated API endpoints. Routes now correctly infer and map dynamic parameters utilizing the `meta.id` schema definition, increasing type-safety drastically.
|
|
16
|
+
|
|
17
|
+
## [0.7.1] - 2026-03-21
|
|
18
|
+
### Improvements
|
|
19
|
+
- **Standardized Architecture**: Unified `PrimaryKey` type and improved `buildUpdateResult` for precise batch-insert ID mapping.
|
|
20
|
+
- **Dialect parameter normalization**: `QueryDialect.normalizeValue` / `normalizeValues` centralize bound-parameter shaping (e.g. Postgres array literals and booleans, JSON stringify for text-JSON columns on SQLite/MySQL-like dialects, `Date` preserved for driver binding). Applied at the querier boundary and in `SqlQueryContext.pushValue` for consistency with Bun SQL and other drivers.
|
|
21
|
+
- **SQL dialect simplification**: Consolidated `$in` / `$nin` formatting via `formatIn` (including empty-array `IN (NULL)` handling), streamlined JSON field conditions (removed redundant config indirection), and unified null-safe `$ne` through `neExpr` / `havingCondition`.
|
|
22
|
+
- **Bun SQL Resilience**: SQLite uses an unpooled handle when Bun does not support `reserve()`; reserved connections use `await release()` where required.
|
|
23
|
+
- **Dialect inference**: Improved Bun URL handling (`:memory:`, `mysql2://`, `sqlite3://`, `postgresql://`, etc.).
|
|
24
|
+
|
|
25
|
+
## [0.7.0] - 2026-03-19
|
|
26
|
+
### New Features
|
|
27
|
+
- **Bun SQL Support**: Added a first-class adapter for Bun's unified `sql` driver (`uql-orm/bunSql`). A single `BunSqlQuerierPool` infers the UQL dialect from `SQL.Options` (URL, `adapter`, or `filename`) and routes SQL generation to PostgreSQL, MySQL, MariaDB, SQLite, or CockroachDB ASTs. Includes dialect-aware option normalization (`inferDialect`, `normalizeBunOpts`), row/insert-id normalization for Bun result shapes, and a minimal `pool.query` shim for pg-compatible consumers.
|
|
28
|
+
|
|
29
|
+
### Breaking Changes
|
|
30
|
+
- **`$ne` is null-safe everywhere**: Non-null `$ne` now uses dialect-native null-safe inequality so rows with `NULL` in the compared column are included when they differ from the bound value (PostgreSQL/CockroachDB: `IS DISTINCT FROM`; SQLite: `IS NOT`; MySQL/MariaDB: `NOT (col <=> ?)`). This matches typical ORM expectations and fixes subtle “missing rows” bugs versus plain `<>` SQL. Queries that relied on SQL’s three-valued logic excluding `NULL` from `$ne` matches may return more rows; use `{$ne: null}` / `$isNull` / `$isNotNull` explicitly for null-only filters.
|
|
31
|
+
|
|
32
|
+
### Security
|
|
33
|
+
- **SQL Injection Prevention for JSON**: Hardened JSON-path operators across all SQL dialects with strict identifier and key escaping.
|
|
34
|
+
|
|
7
35
|
## [0.6.1] - 2026-03-18
|
|
8
36
|
### Chore
|
|
9
37
|
- **Documentation**: Improve intro of readme.md
|
package/README.md
CHANGED
|
@@ -91,6 +91,7 @@ npm install uql-orm # or bun add / pnpm add
|
|
|
91
91
|
| **LibSQL** (incl. Turso) | `npm install @libsql/client` |
|
|
92
92
|
| **MongoDB** | `npm install mongodb` |
|
|
93
93
|
| **Cloudflare D1** | _Native (no driver needed)_ |
|
|
94
|
+
| **Bun SQL Native** (Incl. Postgres, MySQL, SQLite) | _Native (no driver needed)_ |
|
|
94
95
|
|
|
95
96
|
### TypeScript Configuration
|
|
96
97
|
|
|
@@ -261,7 +262,7 @@ A pool manages connections (queriers). Initialize it once at application bootstr
|
|
|
261
262
|
|
|
262
263
|
```ts
|
|
263
264
|
import { SnakeCaseNamingStrategy, type Config } from 'uql-orm';
|
|
264
|
-
import { PgQuerierPool } from 'uql-orm/postgres'; // or mysql2, sqlite, etc.
|
|
265
|
+
import { PgQuerierPool } from 'uql-orm/postgres'; // or mysql2, sqlite, bunSql, etc.
|
|
265
266
|
import { User, Profile, Post } from './entities';
|
|
266
267
|
|
|
267
268
|
export const pool = new PgQuerierPool(
|
|
@@ -81,19 +81,53 @@
|
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
84
|
+
if (get) {
|
|
85
|
+
var originalGet = get;
|
|
86
|
+
get = function(target) {
|
|
87
|
+
if (arguments.length === 0) {
|
|
88
|
+
target = this;
|
|
89
|
+
}
|
|
90
|
+
return originalGet.call(target);
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
if (set) {
|
|
94
|
+
var originalSet = set;
|
|
95
|
+
set = function(target, value) {
|
|
96
|
+
if (arguments.length === 1) {
|
|
97
|
+
value = target;
|
|
98
|
+
target = this;
|
|
99
|
+
}
|
|
100
|
+
return originalSet.call(target, value);
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
if (isPrivate) {
|
|
104
|
+
ctx.access = get && set ? {
|
|
105
|
+
get: get,
|
|
106
|
+
set: set
|
|
107
|
+
} : get ? {
|
|
108
|
+
get: get
|
|
109
|
+
} : {
|
|
110
|
+
set: set
|
|
111
|
+
};
|
|
112
|
+
} else {
|
|
113
|
+
var has = function(target) {
|
|
114
|
+
return name in target;
|
|
115
|
+
};
|
|
116
|
+
ctx.access = get && set ? {
|
|
117
|
+
has: has,
|
|
118
|
+
get: get,
|
|
119
|
+
set: set
|
|
120
|
+
} : get ? {
|
|
121
|
+
has: has,
|
|
122
|
+
get: get
|
|
123
|
+
} : {
|
|
124
|
+
has: has,
|
|
125
|
+
set: set
|
|
126
|
+
};
|
|
96
127
|
}
|
|
128
|
+
var newValue = dec(value, ctx);
|
|
129
|
+
decoratorFinishedRef.v = true;
|
|
130
|
+
return newValue;
|
|
97
131
|
}
|
|
98
132
|
function assertNotFinished(decoratorFinishedRef, fnName) {
|
|
99
133
|
if (decoratorFinishedRef.v) {
|
|
@@ -337,16 +371,13 @@
|
|
|
337
371
|
var decoratorFinishedRef = {
|
|
338
372
|
v: false
|
|
339
373
|
};
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
} finally{
|
|
348
|
-
decoratorFinishedRef.v = true;
|
|
349
|
-
}
|
|
374
|
+
var nextNewClass = classDecs[i](newClass, {
|
|
375
|
+
kind: "class",
|
|
376
|
+
name: name,
|
|
377
|
+
addInitializer: createAddInitializerMethod(initializers, decoratorFinishedRef),
|
|
378
|
+
metadata
|
|
379
|
+
});
|
|
380
|
+
decoratorFinishedRef.v = true;
|
|
350
381
|
if (nextNewClass !== undefined) {
|
|
351
382
|
assertValidReturnValue(10, /* CLASS */ nextNewClass);
|
|
352
383
|
newClass = nextNewClass;
|
|
@@ -532,4 +563,4 @@
|
|
|
532
563
|
}
|
|
533
564
|
|
|
534
565
|
export { _apply_decs_2203_r as _ };
|
|
535
|
-
//# sourceMappingURL=cc-
|
|
566
|
+
//# sourceMappingURL=cc-BVTDOeZ_.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-BVTDOeZ_.js","sources":["../../../../node_modules/.bun/@swc+helpers@0.5.20/node_modules/@swc/helpers/esm/_apply_decs_2203_r.js"],"sourcesContent":["/* @minVersion 7.20.0 */\n\n/**\n Enums are used in this file, but not assigned to vars to avoid non-hoistable values\n\n CONSTRUCTOR = 0;\n PUBLIC = 1;\n PRIVATE = 2;\n\n FIELD = 0;\n ACCESSOR = 1;\n METHOD = 2;\n GETTER = 3;\n SETTER = 4;\n\n STATIC = 5;\n\n CLASS = 10; // only used in assertValidReturnValue\n*/\n\nfunction _apply_decs_2203_r(targetClass, memberDecs, classDecs, parentClass) {\n function createAddInitializerMethod(initializers, decoratorFinishedRef) {\n return function addInitializer(initializer) {\n assertNotFinished(decoratorFinishedRef, \"addInitializer\");\n assertCallable(initializer, \"An initializer\");\n initializers.push(initializer);\n };\n }\n\n function memberDec(dec, name, desc, initializers, kind, isStatic, isPrivate, metadata, value) {\n var kindStr;\n\n switch (kind) {\n case 1 /* ACCESSOR */:\n kindStr = \"accessor\";\n break;\n case 2 /* METHOD */:\n kindStr = \"method\";\n break;\n case 3 /* GETTER */:\n kindStr = \"getter\";\n break;\n case 4 /* SETTER */:\n kindStr = \"setter\";\n break;\n default:\n kindStr = \"field\";\n }\n\n var ctx = { kind: kindStr, name: isPrivate ? \"#\" + name : name, static: isStatic, private: isPrivate, metadata: metadata };\n\n var decoratorFinishedRef = { v: false };\n\n ctx.addInitializer = createAddInitializerMethod(initializers, decoratorFinishedRef);\n\n var get, set;\n if (kind === 0 /* FIELD */) {\n if (isPrivate) {\n get = desc.get;\n set = desc.set;\n } else {\n get = function() {\n return this[name];\n };\n set = function(v) {\n this[name] = v;\n };\n }\n } else if (kind === 2 /* METHOD */) {\n get = function() {\n return desc.value;\n };\n } else {\n // replace with values that will go through the final getter and setter\n if (kind === 1 /* ACCESSOR */ || kind === 3 /* GETTER */) {\n get = function() {\n return desc.get.call(this);\n };\n }\n\n if (kind === 1 /* ACCESSOR */ || kind === 4 /* SETTER */) {\n set = function(v) {\n desc.set.call(this, v);\n };\n }\n }\n\n if (get) {\n var originalGet = get;\n get = function(target) {\n if (arguments.length === 0) {\n target = this;\n }\n return originalGet.call(target);\n };\n }\n\n if (set) {\n var originalSet = set;\n set = function(target, value) {\n if (arguments.length === 1) {\n value = target;\n target = this;\n }\n return originalSet.call(target, value);\n };\n }\n\n if (isPrivate) {\n ctx.access = get && set ? { get: get, set: set } : get ? { get: get } : { set: set };\n } else {\n var has = function(target) {\n return name in target;\n };\n ctx.access = get && set ? { has: has, get: get, set: set } : get ? { has: has, get: get } : { has: has, set: set };\n }\n\n var newValue = dec(value, ctx);\n decoratorFinishedRef.v = true;\n return newValue;\n }\n\n function assertNotFinished(decoratorFinishedRef, fnName) {\n if (decoratorFinishedRef.v) {\n throw new Error(\"attempted to call \" + fnName + \" after decoration was finished\");\n }\n }\n\n function assertCallable(fn, hint) {\n if (typeof fn !== \"function\") {\n throw new TypeError(hint + \" must be a function\");\n }\n }\n\n function assertValidReturnValue(kind, value) {\n var type = typeof value;\n\n if (kind === 1 /* ACCESSOR */) {\n if (type !== \"object\" || value === null) {\n throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or void 0\");\n }\n if (value.get !== undefined) {\n assertCallable(value.get, \"accessor.get\");\n }\n if (value.set !== undefined) {\n assertCallable(value.set, \"accessor.set\");\n }\n if (value.init !== undefined) {\n assertCallable(value.init, \"accessor.init\");\n }\n } else if (type !== \"function\") {\n var hint;\n if (kind === 0 /* FIELD */) {\n hint = \"field\";\n } else if (kind === 10 /* CLASS */) {\n hint = \"class\";\n } else {\n hint = \"method\";\n }\n throw new TypeError(hint + \" decorators must return a function or void 0\");\n }\n }\n\n function applyMemberDec(ret, base, decInfo, name, kind, isStatic, isPrivate, initializers, metadata) {\n var decs = decInfo[0];\n\n var desc, init, value;\n\n if (isPrivate) {\n if (kind === 0 /* FIELD */ || kind === 1 /* ACCESSOR */) {\n desc = { get: decInfo[3], set: decInfo[4] };\n } else if (kind === 3 /* GETTER */) {\n desc = { get: decInfo[3] };\n } else if (kind === 4 /* SETTER */) {\n desc = { set: decInfo[3] };\n } else {\n desc = { value: decInfo[3] };\n }\n } else if (kind !== 0 /* FIELD */) {\n desc = Object.getOwnPropertyDescriptor(base, name);\n }\n\n if (kind === 1 /* ACCESSOR */) {\n value = { get: desc.get, set: desc.set };\n } else if (kind === 2 /* METHOD */) {\n value = desc.value;\n } else if (kind === 3 /* GETTER */) {\n value = desc.get;\n } else if (kind === 4 /* SETTER */) {\n value = desc.set;\n }\n\n var newValue, get, set;\n\n if (typeof decs === \"function\") {\n newValue = memberDec(decs, name, desc, initializers, kind, isStatic, isPrivate, metadata, value);\n\n if (newValue !== void 0) {\n assertValidReturnValue(kind, newValue);\n\n if (kind === 0 /* FIELD */) {\n init = newValue;\n } else if (kind === 1 /* ACCESSOR */) {\n init = newValue.init;\n get = newValue.get || value.get;\n set = newValue.set || value.set;\n\n value = { get: get, set: set };\n } else {\n value = newValue;\n }\n }\n } else {\n for (var i = decs.length - 1; i >= 0; i--) {\n var dec = decs[i];\n\n newValue = memberDec(dec, name, desc, initializers, kind, isStatic, isPrivate, metadata, value);\n\n if (newValue !== void 0) {\n assertValidReturnValue(kind, newValue);\n var newInit;\n\n if (kind === 0 /* FIELD */) {\n newInit = newValue;\n } else if (kind === 1 /* ACCESSOR */) {\n newInit = newValue.init;\n get = newValue.get || value.get;\n set = newValue.set || value.set;\n\n value = { get: get, set: set };\n } else {\n value = newValue;\n }\n\n if (newInit !== void 0) {\n if (init === void 0) {\n init = newInit;\n } else if (typeof init === \"function\") {\n init = [init, newInit];\n } else {\n init.push(newInit);\n }\n }\n }\n }\n }\n\n if (kind === 0 /* FIELD */ || kind === 1 /* ACCESSOR */) {\n if (init === void 0) {\n // If the initializer was void 0, sub in a dummy initializer\n init = function(instance, init) {\n return init;\n };\n } else if (typeof init !== \"function\") {\n var ownInitializers = init;\n\n init = function(instance, init) {\n var value = init;\n\n for (var i = 0; i < ownInitializers.length; i++) value = ownInitializers[i].call(instance, value);\n\n return value;\n };\n } else {\n var originalInitializer = init;\n\n init = function(instance, init) {\n return originalInitializer.call(instance, init);\n };\n }\n\n ret.push(init);\n }\n\n if (kind !== 0 /* FIELD */) {\n if (kind === 1 /* ACCESSOR */) {\n desc.get = value.get;\n desc.set = value.set;\n } else if (kind === 2 /* METHOD */) {\n desc.value = value;\n } else if (kind === 3 /* GETTER */) {\n desc.get = value;\n } else if (kind === 4 /* SETTER */) {\n desc.set = value;\n }\n\n if (isPrivate) {\n if (kind === 1 /* ACCESSOR */) {\n ret.push(function(instance, args) {\n return value.get.call(instance, args);\n });\n ret.push(function(instance, args) {\n return value.set.call(instance, args);\n });\n } else if (kind === 2 /* METHOD */) {\n ret.push(value);\n } else {\n ret.push(function(instance, args) {\n return value.call(instance, args);\n });\n }\n } else {\n Object.defineProperty(base, name, desc);\n }\n }\n }\n\n function applyMemberDecs(Class, decInfos, metadata) {\n var ret = [];\n var protoInitializers;\n var staticInitializers;\n\n var existingProtoNonFields = new Map();\n var existingStaticNonFields = new Map();\n\n for (var i = 0; i < decInfos.length; i++) {\n var decInfo = decInfos[i];\n\n // skip computed property names\n if (!Array.isArray(decInfo)) continue;\n\n var kind = decInfo[1];\n var name = decInfo[2];\n var isPrivate = decInfo.length > 3;\n\n var isStatic = kind >= 5; /* STATIC */\n var base;\n var initializers;\n\n if (isStatic) {\n base = Class;\n kind = kind - 5 /* STATIC */;\n // initialize staticInitializers when we see a non-field static member\n staticInitializers = staticInitializers || [];\n initializers = staticInitializers;\n } else {\n base = Class.prototype;\n // initialize protoInitializers when we see a non-field member\n protoInitializers = protoInitializers || [];\n initializers = protoInitializers;\n }\n\n if (kind !== 0 /* FIELD */ && !isPrivate) {\n var existingNonFields = isStatic ? existingStaticNonFields : existingProtoNonFields;\n\n var existingKind = existingNonFields.get(name) || 0;\n\n if (existingKind === true || (existingKind === 3 /* GETTER */ && kind !== 4) /* SETTER */ || (existingKind === 4 /* SETTER */ && kind !== 3) /* GETTER */) {\n throw new Error(\n \"Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: \"\n + name\n );\n } else if (!existingKind && kind > 2 /* METHOD */) {\n existingNonFields.set(name, kind);\n } else {\n existingNonFields.set(name, true);\n }\n }\n\n applyMemberDec(ret, base, decInfo, name, kind, isStatic, isPrivate, initializers, metadata);\n }\n\n pushInitializers(ret, protoInitializers);\n pushInitializers(ret, staticInitializers);\n return ret;\n }\n\n function pushInitializers(ret, initializers) {\n if (initializers) {\n ret.push(function(instance) {\n for (var i = 0; i < initializers.length; i++) initializers[i].call(instance);\n return instance;\n });\n }\n }\n\n function applyClassDecs(targetClass, classDecs, metadata) {\n if (classDecs.length > 0) {\n var initializers = [];\n var newClass = targetClass;\n var name = targetClass.name;\n\n for (var i = classDecs.length - 1; i >= 0; i--) {\n var decoratorFinishedRef = { v: false };\n\n var nextNewClass = classDecs[i](newClass, { kind: \"class\", name: name, addInitializer: createAddInitializerMethod(initializers, decoratorFinishedRef), metadata });\n decoratorFinishedRef.v = true;\n\n if (nextNewClass !== undefined) {\n assertValidReturnValue(10, /* CLASS */ nextNewClass);\n newClass = nextNewClass;\n }\n }\n\n return [defineMetadata(newClass, metadata), function() {\n for (var i = 0; i < initializers.length; i++) initializers[i].call(newClass);\n }];\n }\n // The transformer will not emit assignment when there are no class decorators,\n // so we don't have to return an empty array here.\n }\n\n function defineMetadata(Class, metadata) {\n return Object.defineProperty(Class, Symbol.metadata || Symbol.for(\"Symbol.metadata\"), { configurable: true, enumerable: true, value: metadata });\n }\n\n /**\n Basic usage:\n\n applyDecs(\n Class,\n [\n // member decorators\n [\n dec, // dec or array of decs\n 0, // kind of value being decorated\n 'prop', // name of public prop on class containing the value being decorated,\n '#p', // the name of the private property (if is private, void 0 otherwise),\n ]\n ],\n [\n // class decorators\n dec1, dec2\n ]\n )\n ```\n\n Fully transpiled example:\n\n ```js\n @dec\n class Class {\n @dec\n a = 123;\n\n @dec\n #a = 123;\n\n @dec\n @dec2\n accessor b = 123;\n\n @dec\n accessor #b = 123;\n\n @dec\n c() { console.log('c'); }\n\n @dec\n #c() { console.log('privC'); }\n\n @dec\n get d() { console.log('d'); }\n\n @dec\n get #d() { console.log('privD'); }\n\n @dec\n set e(v) { console.log('e'); }\n\n @dec\n set #e(v) { console.log('privE'); }\n }\n\n\n // becomes\n let initializeInstance;\n let initializeClass;\n\n let initA;\n let initPrivA;\n\n let initB;\n let initPrivB, getPrivB, setPrivB;\n\n let privC;\n let privD;\n let privE;\n\n let Class;\n class _Class {\n static {\n let ret = applyDecs(\n this,\n [\n [dec, 0, 'a'],\n [dec, 0, 'a', (i) => i.#a, (i, v) => i.#a = v],\n [[dec, dec2], 1, 'b'],\n [dec, 1, 'b', (i) => i.#privBData, (i, v) => i.#privBData = v],\n [dec, 2, 'c'],\n [dec, 2, 'c', () => console.log('privC')],\n [dec, 3, 'd'],\n [dec, 3, 'd', () => console.log('privD')],\n [dec, 4, 'e'],\n [dec, 4, 'e', () => console.log('privE')],\n ],\n [\n dec\n ]\n )\n\n initA = ret[0];\n\n initPrivA = ret[1];\n\n initB = ret[2];\n\n initPrivB = ret[3];\n getPrivB = ret[4];\n setPrivB = ret[5];\n\n privC = ret[6];\n\n privD = ret[7];\n\n privE = ret[8];\n\n initializeInstance = ret[9];\n\n Class = ret[10]\n\n initializeClass = ret[11];\n }\n\n a = (initializeInstance(this), initA(this, 123));\n\n #a = initPrivA(this, 123);\n\n #bData = initB(this, 123);\n get b() { return this.#bData }\n set b(v) { this.#bData = v }\n\n #privBData = initPrivB(this, 123);\n get #b() { return getPrivB(this); }\n set #b(v) { setPrivB(this, v); }\n\n c() { console.log('c'); }\n\n #c(...args) { return privC(this, ...args) }\n\n get d() { console.log('d'); }\n\n get #d() { return privD(this); }\n\n set e(v) { console.log('e'); }\n\n set #e(v) { privE(this, v); }\n }\n\n initializeClass(Class);\n */\n\n _apply_decs_2203_r = function(targetClass, memberDecs, classDecs, parentClass) {\n if (parentClass !== void 0) {\n var parentMetadata = parentClass[Symbol.metadata || Symbol.for(\"Symbol.metadata\")];\n }\n var metadata = Object.create(parentMetadata === void 0 ? null : parentMetadata);\n var e = applyMemberDecs(targetClass, memberDecs, metadata);\n if (!classDecs.length) defineMetadata(targetClass, metadata);\n return {\n e: e,\n // Lazily apply class decorations so that member init locals can be properly bound.\n get c() {\n return applyClassDecs(targetClass, classDecs, metadata);\n }\n };\n };\n\n return _apply_decs_2203_r(targetClass, memberDecs, classDecs, parentClass);\n}\n\nexport { _apply_decs_2203_r as _ };\n"],"names":["_apply_decs_2203_r","targetClass","memberDecs","classDecs","parentClass","createAddInitializerMethod","initializers","decoratorFinishedRef","addInitializer","initializer","assertNotFinished","assertCallable","push","memberDec","dec","name","desc","kind","isStatic","isPrivate","metadata","value","kindStr","ctx","static","private","v","get","set","call","originalGet","target","arguments","length","originalSet","access","has","newValue","fnName","Error","fn","hint","TypeError","assertValidReturnValue","type","undefined","init","applyMemberDec","ret","base","decInfo","decs","Object","getOwnPropertyDescriptor","i","newInit","instance","ownInitializers","originalInitializer","args","defineProperty","applyMemberDecs","Class","decInfos","protoInitializers","staticInitializers","existingProtoNonFields","Map","existingStaticNonFields","Array","isArray","prototype","existingNonFields","existingKind","pushInitializers","applyClassDecs","newClass","nextNewClass","defineMetadata","Symbol","for","configurable","enumerable","parentMetadata","create","e","c"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as _apply_decs_2203_r } from './cc-
|
|
1
|
+
import { _ as _apply_decs_2203_r } from './cc-BVTDOeZ_.js';
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
3
|
import { Id, Field, ManyToOne, Entity, OneToOne, OneToMany, ManyToMany } from '../entity/index.js';
|
|
4
4
|
import '../type/index.js';
|
|
@@ -2160,15 +2160,30 @@ function findPlugin(plugins, val) {
|
|
|
2160
2160
|
return null;
|
|
2161
2161
|
}
|
|
2162
2162
|
function printer(val, config, indentation, depth, refs, hasCalledToJSON) {
|
|
2163
|
+
let result;
|
|
2163
2164
|
const plugin = findPlugin(config.plugins, val);
|
|
2164
2165
|
if (plugin !== null) {
|
|
2165
|
-
|
|
2166
|
+
result = printPlugin(plugin, val, config, indentation, depth, refs);
|
|
2167
|
+
} else {
|
|
2168
|
+
const basicResult = printBasicValue(val, config.printFunctionName, config.escapeRegex, config.escapeString);
|
|
2169
|
+
if (basicResult !== null) {
|
|
2170
|
+
result = basicResult;
|
|
2171
|
+
} else {
|
|
2172
|
+
result = printComplexValue(val, config, indentation, depth, refs, hasCalledToJSON);
|
|
2173
|
+
}
|
|
2166
2174
|
}
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2175
|
+
// Per-depth output budget (inspired by Node's util.inspect).
|
|
2176
|
+
// Each depth level tracks output independently, so nested results
|
|
2177
|
+
// don't inflate a single counter (which would undercount by ~Nx for
|
|
2178
|
+
// N levels of nesting). Nodes at the same depth produce disjoint spans
|
|
2179
|
+
// in the output string, so each bucket accurately reflects output at
|
|
2180
|
+
// that level. Total output is bounded by maxDepth × maxOutputLength.
|
|
2181
|
+
config._outputLengthPerDepth[depth] ??= 0;
|
|
2182
|
+
config._outputLengthPerDepth[depth] += result.length;
|
|
2183
|
+
if (config._outputLengthPerDepth[depth] > config.maxOutputLength) {
|
|
2184
|
+
config.maxDepth = 0;
|
|
2170
2185
|
}
|
|
2171
|
-
return
|
|
2186
|
+
return result;
|
|
2172
2187
|
}
|
|
2173
2188
|
const DEFAULT_THEME = {
|
|
2174
2189
|
comment: "gray",
|
|
@@ -2186,6 +2201,7 @@ const DEFAULT_OPTIONS = {
|
|
|
2186
2201
|
highlight: false,
|
|
2187
2202
|
indent: 2,
|
|
2188
2203
|
maxDepth: Number.POSITIVE_INFINITY,
|
|
2204
|
+
maxOutputLength: 1e6,
|
|
2189
2205
|
maxWidth: Number.POSITIVE_INFINITY,
|
|
2190
2206
|
min: false,
|
|
2191
2207
|
plugins: [],
|
|
@@ -2250,7 +2266,9 @@ function getConfig(options) {
|
|
|
2250
2266
|
printFunctionName: getPrintFunctionName(options),
|
|
2251
2267
|
printShadowRoot: options?.printShadowRoot ?? true,
|
|
2252
2268
|
spacingInner: options?.min ? " " : "\n",
|
|
2253
|
-
spacingOuter: options?.min ? "" : "\n"
|
|
2269
|
+
spacingOuter: options?.min ? "" : "\n",
|
|
2270
|
+
maxOutputLength: options?.maxOutputLength ?? DEFAULT_OPTIONS.maxOutputLength,
|
|
2271
|
+
_outputLengthPerDepth: []
|
|
2254
2272
|
};
|
|
2255
2273
|
}
|
|
2256
2274
|
function createIndent(indent) {
|
|
@@ -3479,79 +3497,6 @@ function parseSingleV8Stack(raw) {
|
|
|
3479
3497
|
};
|
|
3480
3498
|
}
|
|
3481
3499
|
|
|
3482
|
-
const kChainableContext = Symbol("kChainableContext");
|
|
3483
|
-
function getChainableContext(chainable) {
|
|
3484
|
-
return chainable?.[kChainableContext];
|
|
3485
|
-
}
|
|
3486
|
-
function createChainable(keys, fn, context) {
|
|
3487
|
-
function create(context) {
|
|
3488
|
-
const chain = function(...args) {
|
|
3489
|
-
return fn.apply(context, args);
|
|
3490
|
-
};
|
|
3491
|
-
Object.assign(chain, fn);
|
|
3492
|
-
Object.defineProperty(chain, kChainableContext, {
|
|
3493
|
-
value: {
|
|
3494
|
-
withContext: ()=>chain.bind(context),
|
|
3495
|
-
getFixtures: ()=>context.fixtures,
|
|
3496
|
-
setContext: (key, value)=>{
|
|
3497
|
-
context[key] = value;
|
|
3498
|
-
},
|
|
3499
|
-
mergeContext: (ctx)=>{
|
|
3500
|
-
Object.assign(context, ctx);
|
|
3501
|
-
}
|
|
3502
|
-
},
|
|
3503
|
-
enumerable: false
|
|
3504
|
-
});
|
|
3505
|
-
for (const key of keys){
|
|
3506
|
-
Object.defineProperty(chain, key, {
|
|
3507
|
-
get () {
|
|
3508
|
-
return create({
|
|
3509
|
-
...context,
|
|
3510
|
-
[key]: true
|
|
3511
|
-
});
|
|
3512
|
-
}
|
|
3513
|
-
});
|
|
3514
|
-
}
|
|
3515
|
-
return chain;
|
|
3516
|
-
}
|
|
3517
|
-
const chain = create(context ?? {});
|
|
3518
|
-
Object.defineProperty(chain, "fn", {
|
|
3519
|
-
value: fn,
|
|
3520
|
-
enumerable: false
|
|
3521
|
-
});
|
|
3522
|
-
return chain;
|
|
3523
|
-
}
|
|
3524
|
-
function findTestFileStackTrace(testFilePath, error) {
|
|
3525
|
-
// first line is the error message
|
|
3526
|
-
const lines = error.split("\n").slice(1);
|
|
3527
|
-
for (const line of lines){
|
|
3528
|
-
const stack = parseSingleStack(line);
|
|
3529
|
-
if (stack && stack.file === testFilePath) {
|
|
3530
|
-
return stack;
|
|
3531
|
-
}
|
|
3532
|
-
}
|
|
3533
|
-
}
|
|
3534
|
-
function validateTags(config, tags) {
|
|
3535
|
-
if (!config.strictTags) {
|
|
3536
|
-
return;
|
|
3537
|
-
}
|
|
3538
|
-
const availableTags = new Set(config.tags.map((tag)=>tag.name));
|
|
3539
|
-
for (const tag of tags){
|
|
3540
|
-
if (!availableTags.has(tag)) {
|
|
3541
|
-
throw createNoTagsError(config.tags, tag);
|
|
3542
|
-
}
|
|
3543
|
-
}
|
|
3544
|
-
}
|
|
3545
|
-
function createNoTagsError(availableTags, tag, prefix = "tag") {
|
|
3546
|
-
if (!availableTags.length) {
|
|
3547
|
-
throw new Error(`The Vitest config does't define any "tags", cannot apply "${tag}" ${prefix} for this test. See: https://vitest.dev/guide/test-tags`);
|
|
3548
|
-
}
|
|
3549
|
-
throw new Error(`The ${prefix} "${tag}" is not defined in the configuration. Available tags are:\n${availableTags.map((t)=>`- ${t.name}${t.description ? `: ${t.description}` : ""}`).join("\n")}`);
|
|
3550
|
-
}
|
|
3551
|
-
function createTaskName(names, separator = " > ") {
|
|
3552
|
-
return names.filter((name)=>name !== undefined).join(separator);
|
|
3553
|
-
}
|
|
3554
|
-
|
|
3555
3500
|
class PendingError extends Error {
|
|
3556
3501
|
constructor(message, task, note){
|
|
3557
3502
|
super(message), this.code = "VITEST_PENDING";
|
|
@@ -3594,6 +3539,7 @@ function setHooks(key, hooks) {
|
|
|
3594
3539
|
function getHooks(key) {
|
|
3595
3540
|
return hooksMap.get(key);
|
|
3596
3541
|
}
|
|
3542
|
+
const FIXTURE_STACK_TRACE_KEY = Symbol.for("VITEST_FIXTURE_STACK_TRACE");
|
|
3597
3543
|
class TestFixtures {
|
|
3598
3544
|
static{
|
|
3599
3545
|
this._definitions = [];
|
|
@@ -3636,6 +3582,9 @@ class TestFixtures {
|
|
|
3636
3582
|
static getFileContexts(file) {
|
|
3637
3583
|
return TestFixtures._definitions.map((f)=>f.getFileContext(file));
|
|
3638
3584
|
}
|
|
3585
|
+
static isFixtureOptions(obj) {
|
|
3586
|
+
return isObject(obj) && Object.keys(obj).some((key)=>TestFixtures._fixtureOptionKeys.includes(key));
|
|
3587
|
+
}
|
|
3639
3588
|
constructor(registrations){
|
|
3640
3589
|
this._overrides = new WeakMap();
|
|
3641
3590
|
this._registrations = registrations ?? new Map();
|
|
@@ -3697,7 +3646,7 @@ class TestFixtures {
|
|
|
3697
3646
|
let options;
|
|
3698
3647
|
let value;
|
|
3699
3648
|
let _options;
|
|
3700
|
-
if (Array.isArray(fn) && fn.length >= 2 &&
|
|
3649
|
+
if (Array.isArray(fn) && fn.length >= 2 && TestFixtures.isFixtureOptions(fn[1])) {
|
|
3701
3650
|
_options = fn[1];
|
|
3702
3651
|
options = {
|
|
3703
3652
|
auto: _options.auto ?? false,
|
|
@@ -3745,6 +3694,11 @@ class TestFixtures {
|
|
|
3745
3694
|
deps,
|
|
3746
3695
|
parent
|
|
3747
3696
|
};
|
|
3697
|
+
if (isFixtureFunction(value)) {
|
|
3698
|
+
Object.assign(value, {
|
|
3699
|
+
[FIXTURE_STACK_TRACE_KEY]: new Error("STACK_TRACE_ERROR")
|
|
3700
|
+
});
|
|
3701
|
+
}
|
|
3748
3702
|
registrations.set(name, item);
|
|
3749
3703
|
if (item.scope === "worker" && (runner.pool === "vmThreads" || runner.pool === "vmForks")) {
|
|
3750
3704
|
item.scope = "file";
|
|
@@ -3870,7 +3824,7 @@ function resolveTestFixtureValue(fixture, context, cleanupFnArray) {
|
|
|
3870
3824
|
if (!isFixtureFunction(fixture.value)) {
|
|
3871
3825
|
return fixture.value;
|
|
3872
3826
|
}
|
|
3873
|
-
return resolveFixtureFunction(fixture.value, context, cleanupFnArray);
|
|
3827
|
+
return resolveFixtureFunction(fixture.value, fixture.name, context, cleanupFnArray);
|
|
3874
3828
|
}
|
|
3875
3829
|
const scopedFixturePromiseCache = new WeakMap();
|
|
3876
3830
|
async function resolveScopeFixtureValue(fixtures, suite, fixture) {
|
|
@@ -3891,7 +3845,7 @@ async function resolveScopeFixtureValue(fixtures, suite, fixture) {
|
|
|
3891
3845
|
cleanupFnArrayMap.set(fixtureContext, []);
|
|
3892
3846
|
}
|
|
3893
3847
|
const cleanupFnFileArray = cleanupFnArrayMap.get(fixtureContext);
|
|
3894
|
-
const promise = resolveFixtureFunction(fixture.value, fixture.scope === "file" ? {
|
|
3848
|
+
const promise = resolveFixtureFunction(fixture.value, fixture.name, fixture.scope === "file" ? {
|
|
3895
3849
|
...workerContext,
|
|
3896
3850
|
...fileContext
|
|
3897
3851
|
} : fixtureContext, cleanupFnFileArray).then((value)=>{
|
|
@@ -3902,9 +3856,10 @@ async function resolveScopeFixtureValue(fixtures, suite, fixture) {
|
|
|
3902
3856
|
scopedFixturePromiseCache.set(fixture, promise);
|
|
3903
3857
|
return promise;
|
|
3904
3858
|
}
|
|
3905
|
-
async function resolveFixtureFunction(fixtureFn, context, cleanupFnArray) {
|
|
3859
|
+
async function resolveFixtureFunction(fixtureFn, fixtureName, context, cleanupFnArray) {
|
|
3906
3860
|
// wait for `use` call to extract fixture value
|
|
3907
3861
|
const useFnArgPromise = createDefer();
|
|
3862
|
+
const stackTraceError = FIXTURE_STACK_TRACE_KEY in fixtureFn && fixtureFn[FIXTURE_STACK_TRACE_KEY] instanceof Error ? fixtureFn[FIXTURE_STACK_TRACE_KEY] : undefined;
|
|
3908
3863
|
let isUseFnArgResolved = false;
|
|
3909
3864
|
const fixtureReturn = fixtureFn(context, async (useFnArg)=>{
|
|
3910
3865
|
// extract `use` argument
|
|
@@ -3919,6 +3874,15 @@ async function resolveFixtureFunction(fixtureFn, context, cleanupFnArray) {
|
|
|
3919
3874
|
await fixtureReturn;
|
|
3920
3875
|
});
|
|
3921
3876
|
await useReturnPromise;
|
|
3877
|
+
}).then(()=>{
|
|
3878
|
+
// fixture returned without calling use()
|
|
3879
|
+
if (!isUseFnArgResolved) {
|
|
3880
|
+
const error = new Error(`Fixture "${fixtureName}" returned without calling "use". Make sure to call "use" in every code path of the fixture function.`);
|
|
3881
|
+
if (stackTraceError?.stack) {
|
|
3882
|
+
error.stack = error.message + stackTraceError.stack.replace(stackTraceError.message, "");
|
|
3883
|
+
}
|
|
3884
|
+
useFnArgPromise.reject(error);
|
|
3885
|
+
}
|
|
3922
3886
|
}).catch((e)=>{
|
|
3923
3887
|
// treat fixture setup error as test failure
|
|
3924
3888
|
if (!isUseFnArgResolved) {
|
|
@@ -4055,6 +4019,48 @@ function splitByComma(s) {
|
|
|
4055
4019
|
}
|
|
4056
4020
|
return result;
|
|
4057
4021
|
}
|
|
4022
|
+
const kChainableContext = Symbol("kChainableContext");
|
|
4023
|
+
function getChainableContext(chainable) {
|
|
4024
|
+
return chainable?.[kChainableContext];
|
|
4025
|
+
}
|
|
4026
|
+
function createChainable(keys, fn, context) {
|
|
4027
|
+
function create(context) {
|
|
4028
|
+
const chain = function(...args) {
|
|
4029
|
+
return fn.apply(context, args);
|
|
4030
|
+
};
|
|
4031
|
+
Object.assign(chain, fn);
|
|
4032
|
+
Object.defineProperty(chain, kChainableContext, {
|
|
4033
|
+
value: {
|
|
4034
|
+
withContext: ()=>chain.bind(context),
|
|
4035
|
+
getFixtures: ()=>context.fixtures,
|
|
4036
|
+
setContext: (key, value)=>{
|
|
4037
|
+
context[key] = value;
|
|
4038
|
+
},
|
|
4039
|
+
mergeContext: (ctx)=>{
|
|
4040
|
+
Object.assign(context, ctx);
|
|
4041
|
+
}
|
|
4042
|
+
},
|
|
4043
|
+
enumerable: false
|
|
4044
|
+
});
|
|
4045
|
+
for (const key of keys){
|
|
4046
|
+
Object.defineProperty(chain, key, {
|
|
4047
|
+
get () {
|
|
4048
|
+
return create({
|
|
4049
|
+
...context,
|
|
4050
|
+
[key]: true
|
|
4051
|
+
});
|
|
4052
|
+
}
|
|
4053
|
+
});
|
|
4054
|
+
}
|
|
4055
|
+
return chain;
|
|
4056
|
+
}
|
|
4057
|
+
const chain = create(context ?? {});
|
|
4058
|
+
Object.defineProperty(chain, "fn", {
|
|
4059
|
+
value: fn,
|
|
4060
|
+
enumerable: false
|
|
4061
|
+
});
|
|
4062
|
+
return chain;
|
|
4063
|
+
}
|
|
4058
4064
|
function getDefaultHookTimeout() {
|
|
4059
4065
|
return getRunner().config.hookTimeout;
|
|
4060
4066
|
}
|
|
@@ -4278,6 +4284,36 @@ function withSuiteFixtures(suiteHook, fn, context, stackTraceError, contextIndex
|
|
|
4278
4284
|
return fixtured();
|
|
4279
4285
|
};
|
|
4280
4286
|
}
|
|
4287
|
+
function findTestFileStackTrace(testFilePath, error) {
|
|
4288
|
+
// first line is the error message
|
|
4289
|
+
const lines = error.split("\n").slice(1);
|
|
4290
|
+
for (const line of lines){
|
|
4291
|
+
const stack = parseSingleStack(line);
|
|
4292
|
+
if (stack && stack.file === testFilePath) {
|
|
4293
|
+
return stack;
|
|
4294
|
+
}
|
|
4295
|
+
}
|
|
4296
|
+
}
|
|
4297
|
+
function validateTags(config, tags) {
|
|
4298
|
+
if (!config.strictTags) {
|
|
4299
|
+
return;
|
|
4300
|
+
}
|
|
4301
|
+
const availableTags = new Set(config.tags.map((tag)=>tag.name));
|
|
4302
|
+
for (const tag of tags){
|
|
4303
|
+
if (!availableTags.has(tag)) {
|
|
4304
|
+
throw createNoTagsError(config.tags, tag);
|
|
4305
|
+
}
|
|
4306
|
+
}
|
|
4307
|
+
}
|
|
4308
|
+
function createNoTagsError(availableTags, tag, prefix = "tag") {
|
|
4309
|
+
if (!availableTags.length) {
|
|
4310
|
+
throw new Error(`The Vitest config does't define any "tags", cannot apply "${tag}" ${prefix} for this test. See: https://vitest.dev/guide/test-tags`);
|
|
4311
|
+
}
|
|
4312
|
+
throw new Error(`The ${prefix} "${tag}" is not defined in the configuration. Available tags are:\n${availableTags.map((t)=>`- ${t.name}${t.description ? `: ${t.description}` : ""}`).join("\n")}`);
|
|
4313
|
+
}
|
|
4314
|
+
function createTaskName(names, separator = " > ") {
|
|
4315
|
+
return names.filter((name)=>name !== undefined).join(separator);
|
|
4316
|
+
}
|
|
4281
4317
|
/**
|
|
4282
4318
|
* Creates a suite of tests, allowing for grouping and hierarchical organization of tests.
|
|
4283
4319
|
* Suites can contain both tests and other suites, enabling complex test structures.
|
|
@@ -4846,7 +4882,7 @@ function createTaskCollector(fn) {
|
|
|
4846
4882
|
} else {
|
|
4847
4883
|
// (name, value) or (name, fn)
|
|
4848
4884
|
// Check if optionsOrFn looks like fixture options (has scope or auto)
|
|
4849
|
-
if (optionsOrFn !== null && typeof optionsOrFn === "object" && !Array.isArray(optionsOrFn) && (
|
|
4885
|
+
if (optionsOrFn !== null && typeof optionsOrFn === "object" && !Array.isArray(optionsOrFn) && TestFixtures.isFixtureOptions(optionsOrFn)) {
|
|
4850
4886
|
// (name, options) with no value - treat as empty object fixture
|
|
4851
4887
|
fixtureOptions = optionsOrFn;
|
|
4852
4888
|
fixtureValue = {};
|
|
@@ -5207,7 +5243,7 @@ function sendTasksUpdate(runner) {
|
|
|
5207
5243
|
const p = runner.onTaskUpdate?.(taskPacks, eventsPacks);
|
|
5208
5244
|
if (p) {
|
|
5209
5245
|
pendingTasksUpdates.push(p);
|
|
5210
|
-
// remove successful promise to not grow array
|
|
5246
|
+
// remove successful promise to not grow array indefinitely,
|
|
5211
5247
|
// but keep rejections so finishSendTasksUpdate can handle them
|
|
5212
5248
|
p.then(()=>pendingTasksUpdates.splice(pendingTasksUpdates.indexOf(p), 1), ()=>{});
|
|
5213
5249
|
}
|
|
@@ -5418,58 +5454,7 @@ const hooks = {
|
|
|
5418
5454
|
|
|
5419
5455
|
export { BaseEntity, _Company as Company, _InventoryAdjustment as InventoryAdjustment, _Item as Item, _ItemAdjustment as ItemAdjustment, _ItemTag as ItemTag, _LedgerAccount as LedgerAccount, _MeasureUnit as MeasureUnit, _MeasureUnitCategory as MeasureUnitCategory, _Profile as Profile, _Storehouse as Storehouse, _Tag as Tag, _Tax as Tax, _TaxCategory as TaxCategory, _User as User, _UserWithNonUpdatableId as UserWithNonUpdatableId, _VectorItem as VectorItem, clearTables, createSpec, createTables, dropTables };
|
|
5420
5456
|
//# sourceMappingURL=uql-browser.min.js.map
|
|
5421
|
-
|
|
5422
|
-
return this.mapIndexesResult(querier, tableName, results);
|
|
5423
|
-
}
|
|
5424
|
-
async getForeignKeys(querier, tableName) {
|
|
5425
|
-
const sql = this.getForeignKeysQuery(tableName);
|
|
5426
|
-
const params = this.getForeignKeysParams(tableName);
|
|
5427
|
-
const results = await querier.all(sql, params);
|
|
5428
|
-
return this.mapForeignKeysResult(querier, tableName, results);
|
|
5429
|
-
}
|
|
5430
|
-
async getPrimaryKey(querier, tableName) {
|
|
5431
|
-
const sql = this.getPrimaryKeyQuery(tableName);
|
|
5432
|
-
const params = this.getPrimaryKeyParams(tableName);
|
|
5433
|
-
const results = await querier.all(sql, params);
|
|
5434
|
-
return this.mapPrimaryKeyResult(results);
|
|
5435
|
-
}
|
|
5436
|
-
// ============================================================================
|
|
5437
|
-
// Parameter Methods (can be overridden by dialects)
|
|
5438
|
-
// ============================================================================
|
|
5439
|
-
tableExistsParams(tableName) {
|
|
5440
|
-
return [
|
|
5441
|
-
tableName
|
|
5442
|
-
];
|
|
5443
|
-
}
|
|
5444
|
-
getColumnsParams(tableName) {
|
|
5445
|
-
return [
|
|
5446
|
-
tableName
|
|
5447
|
-
];
|
|
5448
|
-
}
|
|
5449
|
-
getIndexesParams(tableName) {
|
|
5450
|
-
return [
|
|
5451
|
-
tableName
|
|
5452
|
-
];
|
|
5453
|
-
}
|
|
5454
|
-
getForeignKeysParams(tableName) {
|
|
5455
|
-
return [
|
|
5456
|
-
tableName
|
|
5457
|
-
];
|
|
5458
|
-
}
|
|
5459
|
-
getPrimaryKeyParams(tableName) {
|
|
5460
|
-
return [
|
|
5461
|
-
tableName
|
|
5462
|
-
];
|
|
5463
|
-
}
|
|
5464
|
-
// ============================================================================
|
|
5465
|
-
// Shared Utilities
|
|
5466
|
-
// ============================================================================
|
|
5467
|
-
/**
|
|
5468
|
-
* Normalize referential action string to standard type.
|
|
5469
|
-
*/ normalizeReferentialAction(action) {
|
|
5470
|
-
switch(action.toUpperCase()){
|
|
5471
|
-
case 'CASCADE':
|
|
5472
|
-
return 'CASCADE';
|
|
5457
|
+
ADE';
|
|
5473
5458
|
case 'SET NULL':
|
|
5474
5459
|
return 'SET NULL';
|
|
5475
5460
|
case 'RESTRICT':
|
|
@@ -7101,7 +7086,7 @@ ${downSql}
|
|
|
7101
7086
|
/**
|
|
7102
7087
|
* Format type for display.
|
|
7103
7088
|
*/ formatType(type) {
|
|
7104
|
-
if (!type
|
|
7089
|
+
if (!type?.category) return 'unknown';
|
|
7105
7090
|
return type.length ? `${type.category}(${type.length})` : type.category;
|
|
7106
7091
|
}
|
|
7107
7092
|
}
|