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.
Files changed (44) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/README.md +36 -7
  3. package/dist/browser/cc-BVTDOeZ_.js.map +1 -1
  4. package/dist/browser/uql-browser.min.js +125 -1
  5. package/dist/browser/uql-browser.min.js.map +1 -1
  6. package/dist/entity/decorator/entity.d.ts +1 -1
  7. package/dist/entity/decorator/entity.d.ts.map +1 -1
  8. package/dist/entity/decorator/entity.js +1 -1
  9. package/dist/entity/decorator/entity.js.map +1 -1
  10. package/dist/entity/decorator/field.js +1 -1
  11. package/dist/entity/decorator/field.js.map +1 -1
  12. package/dist/entity/decorator/hook.js +1 -1
  13. package/dist/entity/decorator/hook.js.map +1 -1
  14. package/dist/entity/decorator/id.js +1 -1
  15. package/dist/entity/decorator/id.js.map +1 -1
  16. package/dist/entity/decorator/index-decorator.d.ts.map +1 -1
  17. package/dist/entity/decorator/index-decorator.js +2 -6
  18. package/dist/entity/decorator/index-decorator.js.map +1 -1
  19. package/dist/entity/decorator/index.d.ts +1 -1
  20. package/dist/entity/decorator/index.d.ts.map +1 -1
  21. package/dist/entity/decorator/index.js +1 -1
  22. package/dist/entity/decorator/index.js.map +1 -1
  23. package/dist/entity/decorator/relation.js +1 -1
  24. package/dist/entity/decorator/relation.js.map +1 -1
  25. package/dist/entity/{decorator → metadata}/definition.d.ts +8 -4
  26. package/dist/entity/metadata/definition.d.ts.map +1 -0
  27. package/dist/entity/{decorator → metadata}/definition.js +81 -29
  28. package/dist/entity/metadata/definition.js.map +1 -0
  29. package/dist/entity/test-helpers.d.ts +4 -0
  30. package/dist/entity/test-helpers.d.ts.map +1 -0
  31. package/dist/entity/test-helpers.js +15 -0
  32. package/dist/entity/test-helpers.js.map +1 -0
  33. package/dist/querier/abstractSqlQuerier.d.ts +2 -0
  34. package/dist/querier/abstractSqlQuerier.d.ts.map +1 -1
  35. package/dist/querier/abstractSqlQuerier.js +47 -2
  36. package/dist/querier/abstractSqlQuerier.js.map +1 -1
  37. package/dist/schema/schemaASTBuilder.js +1 -1
  38. package/dist/schema/schemaASTBuilder.js.map +1 -1
  39. package/dist/type/config.d.ts +1 -1
  40. package/dist/type/entity.d.ts +39 -30
  41. package/dist/type/entity.d.ts.map +1 -1
  42. package/package.json +2 -2
  43. package/dist/entity/decorator/definition.d.ts.map +0 -1
  44. 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.8] - 2026-03-31
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 (no driver needed)_ |
95
+ | **Bun SQL Native** (Incl. Postgres, MySQL, SQLite) | _Native (via `bun:sql`)_ |
95
96
 
96
97
  ### TypeScript Configuration
97
98
 
98
- Ensure your `tsconfig.json` is configured to support decorators and metadata:
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
- Annotate your classes with decorators. UQL's engine uses this metadata for both type-safe querying and precise DDL generation.
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 drops or type alterations). Blocked actions are logged so you can migrate them manually.
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/decorator');
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()