@vibeorm/generator 2.0.0-alpha.1 → 2.0.0-alpha.10

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.
@@ -6,10 +6,21 @@
6
6
  * on the target model using the v1 pairing rule: same model pair, symmetric
7
7
  * relation name (both unnamed or same name), self-pair excluded by field name.
8
8
  */
9
- import type { RelationType, ScalarType, SchemaIR } from "@vibeorm/schema";
9
+ import type { EnumStorage, RelationType, ScalarType, SchemaIR } from "@vibeorm/schema";
10
+ /** A `/// @type(Name from "specifier")` annotation on a Json field's doc comment. */
11
+ export type JsonTypeAnnotation = {
12
+ readonly name: string;
13
+ readonly from: string;
14
+ };
15
+ /** Extract the typed-JSON annotation from a doc comment; null when absent. */
16
+ export declare function parseJsonTypeAnnotation(params: {
17
+ comment: string | undefined;
18
+ }): JsonTypeAnnotation | null;
10
19
  export type EnumView = {
11
20
  readonly name: string;
12
21
  readonly values: readonly string[];
22
+ /** Effective physical storage (`"database"` when the IR omits it). */
23
+ readonly storage: EnumStorage;
13
24
  };
14
25
  /** A scalar/enum column, resolved for type emission. */
15
26
  export type FieldView = {
@@ -24,6 +35,8 @@ export type FieldView = {
24
35
  readonly isUnique: boolean;
25
36
  readonly hasDefault: boolean;
26
37
  readonly isUpdatedAt: boolean;
38
+ /** Typed-JSON annotation (Json fields only) — replaces JsonValue/InputJsonValue in the emitted types. */
39
+ readonly jsonType?: JsonTypeAnnotation;
27
40
  };
28
41
  /** A relation field, resolved to its inverse on the target model. */
29
42
  export type RelationView = {
@@ -44,9 +57,17 @@ export type RelationView = {
44
57
  };
45
58
  /** One way to identify a single row: a unique field, or a composite unique/PK. */
46
59
  export type UniqueMemberView = {
47
- /** Property key in WhereUniqueInput — the field name, or fields joined by `_`. */
60
+ /**
61
+ * Property key in WhereUniqueInput — the field name, the declared client
62
+ * selector (`@@unique`/`@@id` `name:`), or fields joined by `_`.
63
+ */
48
64
  readonly key: string;
49
65
  readonly fields: readonly FieldView[];
66
+ /**
67
+ * NULLS NOT DISTINCT group: optional members are null-addressable and widen
68
+ * to `| null` in WhereUniqueInput (mirrors the runtime's rule).
69
+ */
70
+ readonly nullsNotDistinct: boolean;
50
71
  };
51
72
  export type ModelView = {
52
73
  readonly name: string;
@@ -58,6 +79,11 @@ export type ModelView = {
58
79
  /** Every scalar field name that backs some relation's FK. */
59
80
  readonly fkFieldNames: ReadonlySet<string>;
60
81
  readonly isView: boolean;
82
+ /** Row-scoping policy (@@policy) — drives the $withPolicy client surface. */
83
+ readonly policy?: {
84
+ readonly field: string;
85
+ readonly context: string;
86
+ };
61
87
  };
62
88
  export type SchemaView = {
63
89
  /** The normalized IR (models/enums/extensions sorted by name) — embedded as data in index.js. */
@@ -1 +1 @@
1
- {"version":3,"file":"schema-view.d.ts","sourceRoot":"","sources":["../src/schema-view.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAgC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAKxG,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,qEAAqE;AACrE,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,YAAY,EAAE,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,iGAAiG;IACjG,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACtD,CAAC;AA4GF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GAAG,UAAU,CAoBxE"}
1
+ {"version":3,"file":"schema-view.d.ts","sourceRoot":"","sources":["../src/schema-view.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-names.d.ts","sourceRoot":"","sources":["../src/type-names.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA2ClD,wFAAwF;AACxF,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,UAAU,CAAkD,CAAC;AAEvG,0EAA0E;AAC1E,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,UAAU,CAOjD,CAAC;AAIH,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,MAAM,CAGpE;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,MAAM,CAGlE;AAED,mGAAmG;AACnG,wBAAgB,UAAU,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,MAAM,CAK/D;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAKzE"}
1
+ {"version":3,"file":"type-names.d.ts","sourceRoot":"","sources":["../src/type-names.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA+ClD,wFAAwF;AACxF,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,UAAU,CAAkD,CAAC;AAEvG,0EAA0E;AAC1E,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,UAAU,CAOjD,CAAC;AAIH,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,MAAM,CAKpE;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,MAAM,CAKlE;AAED,mGAAmG;AACnG,wBAAgB,UAAU,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,MAAM,CAK/D;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAKzE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibeorm/generator",
3
- "version": "2.0.0-alpha.1",
3
+ "version": "2.0.0-alpha.10",
4
4
  "description": "Client generator for VibeORM v2 — emits .js + directly-written .d.ts from the Schema IR",
5
5
  "keywords": [
6
6
  "orm",
@@ -37,10 +37,12 @@
37
37
  "README.md"
38
38
  ],
39
39
  "engines": {
40
+ "node": ">=18",
40
41
  "bun": ">=1.2.0"
41
42
  },
42
43
  "dependencies": {
43
- "@vibeorm/schema": "2.0.0-alpha.1"
44
+ "@vibeorm/schema": "2.0.0-alpha.8",
45
+ "@vibeorm/sql": "2.0.0-alpha.8"
44
46
  },
45
47
  "publishConfig": {
46
48
  "access": "public"