uql-orm 0.7.9 → 0.8.0
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 +21 -1
- package/README.md +36 -7
- package/dist/browser/cc-BVTDOeZ_.js.map +1 -1
- package/dist/browser/uql-browser.min.js +125 -1
- package/dist/browser/uql-browser.min.js.map +1 -1
- package/dist/entity/decorator/entity.d.ts +1 -1
- package/dist/entity/decorator/entity.d.ts.map +1 -1
- package/dist/entity/decorator/entity.js +1 -1
- package/dist/entity/decorator/entity.js.map +1 -1
- package/dist/entity/decorator/field.js +1 -1
- package/dist/entity/decorator/field.js.map +1 -1
- package/dist/entity/decorator/hook.js +1 -1
- package/dist/entity/decorator/hook.js.map +1 -1
- package/dist/entity/decorator/id.js +1 -1
- package/dist/entity/decorator/id.js.map +1 -1
- package/dist/entity/decorator/index-decorator.d.ts.map +1 -1
- package/dist/entity/decorator/index-decorator.js +2 -6
- package/dist/entity/decorator/index-decorator.js.map +1 -1
- package/dist/entity/decorator/index.d.ts +1 -1
- package/dist/entity/decorator/index.d.ts.map +1 -1
- package/dist/entity/decorator/index.js +1 -1
- package/dist/entity/decorator/index.js.map +1 -1
- package/dist/entity/decorator/relation.js +1 -1
- package/dist/entity/decorator/relation.js.map +1 -1
- package/dist/entity/{decorator → metadata}/definition.d.ts +8 -4
- package/dist/entity/metadata/definition.d.ts.map +1 -0
- package/dist/entity/{decorator → metadata}/definition.js +81 -29
- package/dist/entity/metadata/definition.js.map +1 -0
- package/dist/entity/test-helpers.d.ts +4 -0
- package/dist/entity/test-helpers.d.ts.map +1 -0
- package/dist/entity/test-helpers.js +15 -0
- package/dist/entity/test-helpers.js.map +1 -0
- package/dist/querier/abstractSqlQuerier.d.ts +2 -0
- package/dist/querier/abstractSqlQuerier.d.ts.map +1 -1
- package/dist/querier/abstractSqlQuerier.js +47 -2
- package/dist/querier/abstractSqlQuerier.js.map +1 -1
- package/dist/schema/schemaASTBuilder.js +1 -1
- package/dist/schema/schemaASTBuilder.js.map +1 -1
- package/dist/type/config.d.ts +1 -1
- package/dist/type/entity.d.ts +39 -30
- package/dist/type/entity.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/entity/decorator/definition.d.ts.map +0 -1
- package/dist/entity/decorator/definition.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,27 @@ 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
|
+
## [0.8.0] - 2026-04-03
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
- **Decorator-free entities**: `defineEntity` accepts optional bulk `fields`, `relations`, `indexes`, and `hooks` on `EntityOptions` (same shapes as `@Field` / relations / `@Index` / hook decorators). Exported `defineEntity`, `defineField`, `defineId`, and `defineRelation` from `uql-orm` for imperative registration. Clarified `Config.entities` discovery comment and README guidance for non-decorator usage. **`EntityIndexMeta.unique`** is optional (omit = non-unique); schema building still normalizes with `?? false` where a strict boolean is required.
|
|
12
|
+
|
|
13
|
+
### Breaking Changes (Internal API)
|
|
14
|
+
|
|
15
|
+
- **Entity metadata registry**: Runtime storage uses `Symbol.for('uql-orm/entity/metadata')` (replaces `uql-orm/entity/decorator`). Code that reached into `globalThis` with the old symbol will not see entities registered under the new key. Deep imports of `.../entity/decorator/definition.js` should use `.../entity/metadata/definition.js`. **`getOrCreateMeta` removed** — use **`ensureMeta`** from the same module if you need imperative “get or init” behavior.
|
|
16
|
+
|
|
17
|
+
## [0.7.10] - 2026-04-02
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
- **SQL JSON / JSONB read hydration**: `AbstractSqlQuerier` now parses string values for fields declared as `json` or `jsonb` after `find` results are unflattened, so drivers that return JSON columns as text (e.g. SQLite, some Bun SQL stacks) yield plain objects again. Already-parsed values are left unchanged; invalid JSON strings are kept as-is. Hydration runs for `findMany` / `findOne` paths and for streamed rows, and recurses into loaded relation objects with cycle protection (`WeakSet`).
|
|
22
|
+
|
|
23
|
+
### Tests
|
|
24
|
+
|
|
25
|
+
- **Regression**: JSONB `$merge` with boolean `true` and `false` on `Company.kind` (integration suite); Postgres dialect expectation for `$merge` with `isArchived: false`.
|
|
26
|
+
|
|
27
|
+
## [0.7.9] - 2026-03-31
|
|
8
28
|
|
|
9
29
|
### Breaking Changes
|
|
10
30
|
- **Dialect barrel**: **`MongoDialect`** is no longer re-exported from **`uql-orm/dialect`** or the root **`uql-orm`** package (it previously pulled the Mongo dialect graph into SQL-only apps). Import it from **`uql-orm/mongo`**.
|
package/README.md
CHANGED
|
@@ -20,6 +20,7 @@ const results = await querier.findMany(User, {
|
|
|
20
20
|
```sh
|
|
21
21
|
npm install uql-orm pg
|
|
22
22
|
```
|
|
23
|
+
_(Example using PostgreSQL; see [Install](#1-install) for other databases)_
|
|
23
24
|
|
|
24
25
|
```ts
|
|
25
26
|
import { PgQuerierPool } from 'uql-orm/postgres';
|
|
@@ -91,11 +92,12 @@ npm install uql-orm # or bun add / pnpm add
|
|
|
91
92
|
| **LibSQL** (incl. Turso) | `npm install @libsql/client` |
|
|
92
93
|
| **MongoDB** | `npm install mongodb` |
|
|
93
94
|
| **Cloudflare D1** | _Native (no driver needed)_ |
|
|
94
|
-
| **Bun SQL Native** (Incl. Postgres, MySQL, SQLite) | _Native (
|
|
95
|
+
| **Bun SQL Native** (Incl. Postgres, MySQL, SQLite) | _Native (via `bun:sql`)_ |
|
|
95
96
|
|
|
96
97
|
### TypeScript Configuration
|
|
97
98
|
|
|
98
|
-
|
|
99
|
+
If you use the **decorator-based approach**, make sure your `tsconfig.json` is configured to support decorators and metadata:
|
|
100
|
+
|
|
99
101
|
|
|
100
102
|
```json
|
|
101
103
|
{
|
|
@@ -110,7 +112,7 @@ Ensure your `tsconfig.json` is configured to support decorators and metadata:
|
|
|
110
112
|
|
|
111
113
|
## 2. Define your Entities
|
|
112
114
|
|
|
113
|
-
|
|
115
|
+
[Declare](https://uql-orm.dev/entities/basic) your classes with decorators, or use the [imperative](https://uql-orm.dev/entities/imperative) approach for decorator-free registration. UQL's engine uses this metadata for both type-safe querying and precise DDL generation. This includes the new **`defineEntity`** API which works without requiring `experimentalDecorators` in your `tsconfig.json`.
|
|
114
116
|
|
|
115
117
|
### Core Decorators
|
|
116
118
|
|
|
@@ -162,6 +164,8 @@ price?: number;
|
|
|
162
164
|
statusCode?: number;
|
|
163
165
|
```
|
|
164
166
|
|
|
167
|
+
> **Note:** Use the `Relation<T>` utility type for relationship properties. It prevents TypeScript circular dependency errors while maintaining full type-safety throughout your app.
|
|
168
|
+
|
|
165
169
|
```ts
|
|
166
170
|
import { v7 as uuidv7 } from 'uuid';
|
|
167
171
|
import { Entity, Id, Field, OneToOne, OneToMany, ManyToOne, ManyToMany, type Relation, type Json } from 'uql-orm';
|
|
@@ -252,9 +256,34 @@ export class PostTag {
|
|
|
252
256
|
@Field({ references: () => Tag })
|
|
253
257
|
tagId?: string;
|
|
254
258
|
}
|
|
259
|
+
|
|
260
|
+
### Alternative: Imperative (Decorator-free) Definition
|
|
261
|
+
|
|
262
|
+
If you prefer a functional approach or are in an environment where decorators are disabled (e.g., some edge runtimes or specific build pipelines), you can register entities imperatively using `defineEntity`. **Crucially, this approach works without requiring `experimentalDecorators` or `emitDecoratorMetadata` in your `tsconfig.json`.**
|
|
263
|
+
|
|
264
|
+
This API supports bulk configuration of `fields`, `relations`, `indexes`, and `hooks` directly within the options object. UQL also exports helper functions like `defineField`, `defineId`, and `defineRelation` to assist with type-safe imperative setup.
|
|
265
|
+
|
|
266
|
+
```ts
|
|
267
|
+
import { defineEntity } from 'uql-orm';
|
|
268
|
+
|
|
269
|
+
class User {}
|
|
270
|
+
|
|
271
|
+
defineEntity(User, {
|
|
272
|
+
name: 'users',
|
|
273
|
+
fields: {
|
|
274
|
+
id: { type: 'uuid', isId: true },
|
|
275
|
+
name: { type: 'string' },
|
|
276
|
+
email: { type: 'string', unique: true },
|
|
277
|
+
},
|
|
278
|
+
|
|
279
|
+
indexes: [
|
|
280
|
+
{ columns: ['email'], unique: true },
|
|
281
|
+
],
|
|
282
|
+
// You can also define hooks and relations here
|
|
283
|
+
});
|
|
284
|
+
```
|
|
255
285
|
```
|
|
256
286
|
|
|
257
|
-
> **Note:** Use the `Relation<T>` utility type for relationship properties. It prevents TypeScript circular dependency errors while maintaining full type-safety throughout your app.
|
|
258
287
|
|
|
259
288
|
## 3. Set up a pool
|
|
260
289
|
|
|
@@ -591,7 +620,7 @@ npx uql-migrate generate seed_default_roles
|
|
|
591
620
|
|
|
592
621
|
### 3. AutoSync (Development)
|
|
593
622
|
|
|
594
|
-
Keep your schema in sync without manual migrations. It is **safe by default**: in safe mode (default), it adds new tables/columns and blocks destructive changes (column
|
|
623
|
+
Keep your schema in sync without manual migrations. It is **safe by default**: in safe mode (default), it adds new tables/columns and blocks destructive changes (e.g., dropping a column or changing a `VARCHAR` to an `INTEGER`). Blocked actions are logged so you can migrate them manually.
|
|
595
624
|
|
|
596
625
|
**New Capabilities (v3.8+):**
|
|
597
626
|
|
|
@@ -631,9 +660,9 @@ await migrator.autoSync({ logging: true });
|
|
|
631
660
|
|
|
632
661
|
> **Note:** In development, `autoSync` accelerates iteration while still protecting data by blocking destructive schema changes.
|
|
633
662
|
|
|
634
|
-
## Operations
|
|
663
|
+
## 6. Operations
|
|
635
664
|
|
|
636
|
-
### 6. Logging & Monitoring
|
|
665
|
+
### 6.1 Logging & Monitoring
|
|
637
666
|
|
|
638
667
|
UQL includes a structured logging system for query visibility and performance monitoring.
|
|
639
668
|
|
|
@@ -1 +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
|
+
{"version":3,"file":"cc-BVTDOeZ_.js","sources":["../../../../node_modules/.bun/@swc+helpers@0.5.21/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]}
|
|
@@ -809,10 +809,134 @@ class VectorItem {
|
|
|
809
809
|
}
|
|
810
810
|
}
|
|
811
811
|
|
|
812
|
+
const DEFAULT_LOG_LEVELS = [
|
|
813
|
+
'query',
|
|
814
|
+
'info',
|
|
815
|
+
'warn',
|
|
816
|
+
'error',
|
|
817
|
+
'schema',
|
|
818
|
+
'migration',
|
|
819
|
+
'skippedMigration'
|
|
820
|
+
];
|
|
821
|
+
/**
|
|
822
|
+
* Default implementation of the Logger interface using console methods.
|
|
823
|
+
*/ class DefaultLogger {
|
|
824
|
+
logQuery(query, values, duration) {
|
|
825
|
+
const time = duration !== undefined ? ` [${duration}ms]` : '';
|
|
826
|
+
const params = values?.length ? ` -- ${JSON.stringify(values)}` : '';
|
|
827
|
+
console.log(`\x1b[36mquery:\x1b[0m ${query}${params}\x1b[32m${time}\x1b[0m`);
|
|
828
|
+
}
|
|
829
|
+
logSlowQuery(query, values, duration, logParams = true) {
|
|
830
|
+
const time = duration !== undefined ? ` [${duration}ms]` : '';
|
|
831
|
+
const params = logParams && values?.length ? ` -- ${JSON.stringify(values)}` : '';
|
|
832
|
+
console.warn(`\x1b[33mslow query:\x1b[0m ${query}${params}\x1b[31m${time}\x1b[0m`);
|
|
833
|
+
}
|
|
834
|
+
logWarn(message) {
|
|
835
|
+
console.warn(`\x1b[33mwarn:\x1b[0m ${message}`);
|
|
836
|
+
}
|
|
837
|
+
logError(message, error) {
|
|
838
|
+
console.error(`\x1b[31merror:\x1b[0m ${message}`, error);
|
|
839
|
+
}
|
|
840
|
+
logInfo(message) {
|
|
841
|
+
console.info(`\x1b[34minfo:\x1b[0m ${message}`);
|
|
842
|
+
}
|
|
843
|
+
logSchema(message) {
|
|
844
|
+
console.log(`\x1b[35mschema:\x1b[0m ${message}`);
|
|
845
|
+
}
|
|
846
|
+
logMigration(message) {
|
|
847
|
+
console.log(`\x1b[32mmigration:\x1b[0m ${message}`);
|
|
848
|
+
}
|
|
849
|
+
logSkippedMigration(message) {
|
|
850
|
+
console.info(`\x1b[33mskipped migration:\x1b[0m ${message}`);
|
|
851
|
+
}
|
|
852
|
+
}
|
|
853
|
+
/**
|
|
854
|
+
* A wrapper class that implements the Logger interface and handles different logging options.
|
|
855
|
+
*/ class LoggerWrapper {
|
|
856
|
+
constructor(options, slowQuery){
|
|
857
|
+
this.slowQuery = slowQuery;
|
|
858
|
+
this.levels = new Set();
|
|
859
|
+
if (options === true) {
|
|
860
|
+
this.levels = new Set(DEFAULT_LOG_LEVELS);
|
|
861
|
+
this.logger = new DefaultLogger();
|
|
862
|
+
} else if (Array.isArray(options)) {
|
|
863
|
+
this.levels = new Set(options);
|
|
864
|
+
this.logger = new DefaultLogger();
|
|
865
|
+
} else if (typeof options === 'function') {
|
|
866
|
+
this.levels = new Set(DEFAULT_LOG_LEVELS);
|
|
867
|
+
this.loggerFunction = options;
|
|
868
|
+
} else if (options && typeof options === 'object') {
|
|
869
|
+
this.levels = new Set(DEFAULT_LOG_LEVELS);
|
|
870
|
+
this.logger = options;
|
|
871
|
+
}
|
|
872
|
+
if (slowQuery !== undefined && !this.logger && !this.loggerFunction) {
|
|
873
|
+
this.logger = new DefaultLogger();
|
|
874
|
+
}
|
|
875
|
+
}
|
|
876
|
+
logQuery(query, values, duration) {
|
|
877
|
+
if (this.slowQuery !== undefined && duration !== undefined && duration >= this.slowQuery.threshold) {
|
|
878
|
+
const logParams = this.slowQuery.logParams !== false;
|
|
879
|
+
if (this.logger?.logSlowQuery) {
|
|
880
|
+
this.logger.logSlowQuery(query, values, duration, logParams);
|
|
881
|
+
return;
|
|
882
|
+
}
|
|
883
|
+
if (this.loggerFunction) {
|
|
884
|
+
this.loggerFunction(query, logParams ? values : undefined, duration);
|
|
885
|
+
return;
|
|
886
|
+
}
|
|
887
|
+
// If slowQuery threshold is met but no specific slowQuery logger exists,
|
|
888
|
+
// it falls through to the standard logQuery below.
|
|
889
|
+
}
|
|
890
|
+
if (this.levels.has('query')) {
|
|
891
|
+
if (this.logger?.logQuery) {
|
|
892
|
+
this.logger.logQuery(query, values, duration);
|
|
893
|
+
} else if (this.loggerFunction) {
|
|
894
|
+
this.loggerFunction(query, values, duration);
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
}
|
|
898
|
+
logWarn(message) {
|
|
899
|
+
this.log('warn', message);
|
|
900
|
+
}
|
|
901
|
+
logError(message, error) {
|
|
902
|
+
this.log('error', message, error);
|
|
903
|
+
}
|
|
904
|
+
logInfo(message) {
|
|
905
|
+
this.log('info', message);
|
|
906
|
+
}
|
|
907
|
+
logSchema(message) {
|
|
908
|
+
this.log('schema', message);
|
|
909
|
+
}
|
|
910
|
+
logMigration(message) {
|
|
911
|
+
this.log('migration', message);
|
|
912
|
+
}
|
|
913
|
+
logSkippedMigration(message) {
|
|
914
|
+
this.log('skippedMigration', message);
|
|
915
|
+
}
|
|
916
|
+
log(level, message, error) {
|
|
917
|
+
if (this.levels.has(level)) {
|
|
918
|
+
const method = `log${level.charAt(0).toUpperCase()}${level.slice(1)}`;
|
|
919
|
+
const args = error !== undefined ? [
|
|
920
|
+
message,
|
|
921
|
+
error
|
|
922
|
+
] : [
|
|
923
|
+
message
|
|
924
|
+
];
|
|
925
|
+
if (this.logger?.[method]) {
|
|
926
|
+
const logFn = this.logger[method];
|
|
927
|
+
logFn(...args);
|
|
928
|
+
} else if (this.loggerFunction) {
|
|
929
|
+
this.loggerFunction(...args);
|
|
930
|
+
}
|
|
931
|
+
}
|
|
932
|
+
}
|
|
933
|
+
}
|
|
934
|
+
|
|
812
935
|
const holder = globalThis;
|
|
813
|
-
const metaKey = Symbol.for('uql-orm/entity/
|
|
936
|
+
const metaKey = Symbol.for('uql-orm/entity/metadata');
|
|
814
937
|
const metas = holder[metaKey] ?? new Map();
|
|
815
938
|
holder[metaKey] = metas;
|
|
939
|
+
new LoggerWrapper(true);
|
|
816
940
|
function getEntities() {
|
|
817
941
|
return [
|
|
818
942
|
...metas.entries()
|