@dsqlbase/core 0.0.1 → 0.1.1

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 (142) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +18 -0
  3. package/dist/definition/base.d.ts +0 -1
  4. package/dist/definition/base.d.ts.map +1 -1
  5. package/dist/definition/base.js +1 -3
  6. package/dist/definition/base.js.map +1 -1
  7. package/dist/definition/column.d.ts +44 -8
  8. package/dist/definition/column.d.ts.map +1 -1
  9. package/dist/definition/column.js +35 -2
  10. package/dist/definition/column.js.map +1 -1
  11. package/dist/definition/constraint.d.ts +7 -7
  12. package/dist/definition/constraint.d.ts.map +1 -1
  13. package/dist/definition/constraint.js.map +1 -1
  14. package/dist/definition/domain.d.ts +31 -18
  15. package/dist/definition/domain.d.ts.map +1 -1
  16. package/dist/definition/domain.js +26 -4
  17. package/dist/definition/domain.js.map +1 -1
  18. package/dist/definition/index.d.ts +2 -2
  19. package/dist/definition/index.d.ts.map +1 -1
  20. package/dist/definition/index.js.map +1 -1
  21. package/dist/definition/namespace.d.ts +5 -2
  22. package/dist/definition/namespace.d.ts.map +1 -1
  23. package/dist/definition/namespace.js +10 -2
  24. package/dist/definition/namespace.js.map +1 -1
  25. package/dist/definition/sequence.d.ts +31 -18
  26. package/dist/definition/sequence.d.ts.map +1 -1
  27. package/dist/definition/sequence.js +31 -25
  28. package/dist/definition/sequence.js.map +1 -1
  29. package/dist/definition/table.d.ts +10 -13
  30. package/dist/definition/table.d.ts.map +1 -1
  31. package/dist/definition/table.js +2 -2
  32. package/dist/definition/table.js.map +1 -1
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +1 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/runtime/base.d.ts +1 -1
  38. package/dist/runtime/base.d.ts.map +1 -1
  39. package/dist/runtime/column.d.ts +5 -1
  40. package/dist/runtime/column.d.ts.map +1 -1
  41. package/dist/runtime/column.js +37 -1
  42. package/dist/runtime/column.js.map +1 -1
  43. package/dist/runtime/operation.d.ts +4 -4
  44. package/dist/runtime/operation.d.ts.map +1 -1
  45. package/dist/runtime/operation.js +41 -41
  46. package/dist/runtime/operation.js.map +1 -1
  47. package/dist/runtime/registry.d.ts +2 -2
  48. package/dist/runtime/registry.d.ts.map +1 -1
  49. package/dist/runtime/registry.js.map +1 -1
  50. package/dist/runtime/table.d.ts +1 -0
  51. package/dist/runtime/table.d.ts.map +1 -1
  52. package/dist/runtime/table.js +3 -0
  53. package/dist/runtime/table.js.map +1 -1
  54. package/dist/sql/tag.d.ts +22 -0
  55. package/dist/sql/tag.d.ts.map +1 -1
  56. package/dist/sql/tag.js +75 -1
  57. package/dist/sql/tag.js.map +1 -1
  58. package/dist/utils/index.d.ts +1 -1
  59. package/dist/utils/index.d.ts.map +1 -1
  60. package/dist/utils/types.d.ts +13 -1
  61. package/dist/utils/types.d.ts.map +1 -1
  62. package/package.json +1 -1
  63. package/dist/client/base.d.ts +0 -9
  64. package/dist/client/base.d.ts.map +0 -1
  65. package/dist/client/base.js +0 -13
  66. package/dist/client/base.js.map +0 -1
  67. package/dist/client/database.d.ts +0 -5
  68. package/dist/client/database.d.ts.map +0 -1
  69. package/dist/client/database.js +0 -8
  70. package/dist/client/database.js.map +0 -1
  71. package/dist/client/model.d.ts +0 -19
  72. package/dist/client/model.d.ts.map +0 -1
  73. package/dist/client/model.js +0 -12
  74. package/dist/client/model.js.map +0 -1
  75. package/dist/definition/schema.d.ts +0 -14
  76. package/dist/definition/schema.d.ts.map +0 -1
  77. package/dist/definition/schema.js +0 -15
  78. package/dist/definition/schema.js.map +0 -1
  79. package/dist/driver/codec.d.ts +0 -13
  80. package/dist/driver/codec.d.ts.map +0 -1
  81. package/dist/driver/codec.js +0 -15
  82. package/dist/driver/codec.js.map +0 -1
  83. package/dist/driver/index.d.ts +0 -3
  84. package/dist/driver/index.d.ts.map +0 -1
  85. package/dist/driver/index.js +0 -2
  86. package/dist/driver/index.js.map +0 -1
  87. package/dist/driver/session.d.ts +0 -23
  88. package/dist/driver/session.d.ts.map +0 -1
  89. package/dist/driver/session.js +0 -2
  90. package/dist/driver/session.js.map +0 -1
  91. package/dist/execution/column.d.ts +0 -17
  92. package/dist/execution/column.d.ts.map +0 -1
  93. package/dist/execution/column.js +0 -23
  94. package/dist/execution/column.js.map +0 -1
  95. package/dist/execution/context.d.ts +0 -19
  96. package/dist/execution/context.d.ts.map +0 -1
  97. package/dist/execution/context.js +0 -14
  98. package/dist/execution/context.js.map +0 -1
  99. package/dist/execution/dialect.d.ts +0 -75
  100. package/dist/execution/dialect.d.ts.map +0 -1
  101. package/dist/execution/dialect.js +0 -123
  102. package/dist/execution/dialect.js.map +0 -1
  103. package/dist/execution/index.d.ts +0 -8
  104. package/dist/execution/index.d.ts.map +0 -1
  105. package/dist/execution/index.js +0 -7
  106. package/dist/execution/index.js.map +0 -1
  107. package/dist/execution/operation.d.ts +0 -140
  108. package/dist/execution/operation.d.ts.map +0 -1
  109. package/dist/execution/operation.js +0 -303
  110. package/dist/execution/operation.js.map +0 -1
  111. package/dist/execution/schema.d.ts +0 -38
  112. package/dist/execution/schema.d.ts.map +0 -1
  113. package/dist/execution/schema.js +0 -104
  114. package/dist/execution/schema.js.map +0 -1
  115. package/dist/execution/table.d.ts +0 -107
  116. package/dist/execution/table.d.ts.map +0 -1
  117. package/dist/execution/table.js +0 -46
  118. package/dist/execution/table.js.map +0 -1
  119. package/dist/execution/thenable.d.ts +0 -7
  120. package/dist/execution/thenable.d.ts.map +0 -1
  121. package/dist/execution/thenable.js +0 -12
  122. package/dist/execution/thenable.js.map +0 -1
  123. package/dist/execution/types.d.ts +0 -42
  124. package/dist/execution/types.d.ts.map +0 -1
  125. package/dist/execution/types.js +0 -2
  126. package/dist/execution/types.js.map +0 -1
  127. package/dist/runtime/dialect.d.ts +0 -42
  128. package/dist/runtime/dialect.d.ts.map +0 -1
  129. package/dist/runtime/dialect.js +0 -2
  130. package/dist/runtime/dialect.js.map +0 -1
  131. package/dist/types/index.d.ts +0 -3
  132. package/dist/types/index.d.ts.map +0 -1
  133. package/dist/types/index.js +0 -2
  134. package/dist/types/index.js.map +0 -1
  135. package/dist/types/object.d.ts +0 -29
  136. package/dist/types/object.d.ts.map +0 -1
  137. package/dist/types/object.js +0 -2
  138. package/dist/types/object.js.map +0 -1
  139. package/dist/types/prettify.d.ts +0 -5
  140. package/dist/types/prettify.d.ts.map +0 -1
  141. package/dist/types/prettify.js +0 -3
  142. package/dist/types/prettify.js.map +0 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ # @dsqlbase/core
2
+
3
+ ## 0.1.1
4
+
5
+ ## 0.1.0
package/README.md ADDED
@@ -0,0 +1,18 @@
1
+ # @dsqlbase/core
2
+
3
+ Core primitives for the dsqlbase toolkit — abstract schema model, runtime types, and the `sql` tagged-template builder.
4
+
5
+ > [!NOTE]
6
+ > This is an internal package within the [dsqlbase](https://github.com/slsdotdev/dsqlbase) monorepo. Most users should depend on [`dsqlbase`](https://www.npmjs.com/package/dsqlbase) instead — it re-exports the public surface. Depend on `@dsqlbase/core` directly only if you're building tooling that needs the underlying primitives.
7
+
8
+ ## Install
9
+
10
+ ```bash
11
+ npm install @dsqlbase/core
12
+ ```
13
+
14
+ For typical application use, `npm install dsqlbase` instead — it re-exports `sql`, `Session`, `SQLStatement`, and `SQLQuery` directly.
15
+
16
+ ## License
17
+
18
+ MIT.
@@ -40,7 +40,6 @@ export declare abstract class DefinitionNode<TName extends string = string, TCon
40
40
  };
41
41
  }
42
42
  export declare class NodeRef<TNode extends DefinitionNode> extends SQLIdentifier implements TypedObject<TNode["__type"]> {
43
- readonly target: TNode;
44
43
  readonly kind: "REFERENCE";
45
44
  readonly __type: TNode["__type"];
46
45
  constructor(target: TNode);
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/definition/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;EAeN,CAAC;AAEZ,eAAO,MAAM,QAAQ;;;;EAIV,CAAC;AAEZ,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,OAAO,IAAI,CAAC,CAAC;AACxD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEpE,MAAM,WAAW,WAAW,CAAC,IAAI,EAAE,MAAM;IACvC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,CAOtD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE9D,8BAAsB,cAAc,CAClC,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,OAAO,SAAS,MAAM,GAAG,MAAM,CAC/B,YAAW,WAAW,CAAC,OAAO,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAEjC,SAAiB,MAAM,EAAE,OAAO,CAAC;IAEjC,SAAgB,IAAI,EAAE,KAAK,CAAC;gBAEhB,IAAI,EAAE,KAAK;IAIhB,MAAM;;;;CAMd;AAED,qBAAa,OAAO,CAAC,KAAK,SAAS,cAAc,CAC/C,SAAQ,aACR,YAAW,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAMX,MAAM,EAAE,KAAK;IAJzC,SAAgB,IAAI,cAAkB;IAEtC,SAAiB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAEb,MAAM,EAAE,KAAK;IAIzC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;CAGxB"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/definition/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;EAeN,CAAC;AAEZ,eAAO,MAAM,QAAQ;;;;EAIV,CAAC;AAEZ,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,OAAO,IAAI,CAAC,CAAC;AACxD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEpE,MAAM,WAAW,WAAW,CAAC,IAAI,EAAE,MAAM;IACvC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,CAOtD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE9D,8BAAsB,cAAc,CAClC,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,OAAO,SAAS,MAAM,GAAG,MAAM,CAC/B,YAAW,WAAW,CAAC,OAAO,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAEjC,SAAiB,MAAM,EAAE,OAAO,CAAC;IAEjC,SAAgB,IAAI,EAAE,KAAK,CAAC;gBAEhB,IAAI,EAAE,KAAK;IAIhB,MAAM;;;;CAMd;AAED,qBAAa,OAAO,CAAC,KAAK,SAAS,cAAc,CAC/C,SAAQ,aACR,YAAW,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEvC,SAAgB,IAAI,cAAkB;IAEtC,SAAiB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAE7B,MAAM,EAAE,KAAK;IAIzB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;CAGxB"}
@@ -41,14 +41,12 @@ export class DefinitionNode {
41
41
  }
42
42
  }
43
43
  export class NodeRef extends SQLIdentifier {
44
- target;
45
44
  kind = Kind.REFERENCE;
46
45
  constructor(target) {
47
46
  super(target.name);
48
- this.target = target;
49
47
  }
50
48
  toJSON() {
51
- return this.target.name;
49
+ return this.name;
52
50
  }
53
51
  }
54
52
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/definition/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,WAAW;IACtB,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,sBAAsB,EAAE,wBAAwB;CACxC,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;CAChB,CAAC,CAAC;AAUZ,MAAM,CAAC,MAAM,YAAY,GAAkC;IACzD,MAAM,CAAC,KAAK;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,CAAC,GAAG;QACR,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAC;AAIF,MAAM,OAAgB,cAAc;IAQlB,IAAI,CAAQ;IAE5B,YAAY,IAAW;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,OACX,SAAQ,aAAa;IAOO;IAJZ,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;IAItC,YAA4B,MAAa;QACvC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QADO,WAAM,GAAN,MAAM,CAAO;IAEzC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/definition/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,WAAW;IACtB,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,sBAAsB,EAAE,wBAAwB;CACxC,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;CAChB,CAAC,CAAC;AAUZ,MAAM,CAAC,MAAM,YAAY,GAAkC;IACzD,MAAM,CAAC,KAAK;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,CAAC,GAAG;QACR,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAC;AAIF,MAAM,OAAgB,cAAc;IAQlB,IAAI,CAAQ;IAE5B,YAAY,IAAW;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,OACX,SAAQ,aAAa;IAGL,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;IAItC,YAAY,MAAa;QACvB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -1,11 +1,23 @@
1
1
  import { SQLIdentifier, SQLNode } from "../sql/nodes.js";
2
- import { HasDefault, NotNull, PrimaryKey, TypedObject, Unique, WithValueType } from "../utils/index.js";
2
+ import { HasDefault, NotNull, PrimaryKey, TypedObject, Unique, ValueType } from "../utils/index.js";
3
3
  import { ColumnCodec, DefinitionNode, NodeRef } from "./base.js";
4
4
  import { AnyCheckConstraintDefinition } from "./constraint.js";
5
5
  import { AnyDomainDefinition } from "./domain.js";
6
+ import { SequenceOptions } from "./sequence.js";
6
7
  export type UpdateGuard<T extends TypedObject> = T["__type"] extends {
7
8
  primaryKey: true;
8
9
  } ? never : T;
10
+ export type ColumnGeneratedType = "ALWAYS" | "BY DEFAULT";
11
+ export interface ColumnGeneratedConfig {
12
+ type: "ALWAYS";
13
+ expression: SQLNode;
14
+ mode: "STORED";
15
+ }
16
+ export interface ColumnIdentityConfig {
17
+ type: ColumnGeneratedType;
18
+ options: SequenceOptions;
19
+ sequenceName?: string;
20
+ }
9
21
  export interface ColumnConfig<TValueType = unknown, TRawType = unknown> {
10
22
  dataType: string;
11
23
  valueType: TValueType;
@@ -14,9 +26,12 @@ export interface ColumnConfig<TValueType = unknown, TRawType = unknown> {
14
26
  primaryKey: boolean;
15
27
  unique: boolean;
16
28
  codec: ColumnCodec<TRawType, TValueType>;
17
- domain: AnyDomainDefinition;
29
+ defaultValue?: SQLNode;
30
+ domain?: NodeRef<AnyDomainDefinition>;
31
+ generated?: ColumnGeneratedConfig;
32
+ identity?: ColumnIdentityConfig;
18
33
  }
19
- export type AnyColumnDefinition = ColumnDefinition<any, any>;
34
+ export type AnyColumnDefinition = ColumnDefinition<string, ColumnConfig>;
20
35
  export declare class ColumnDefinition<TName extends string, TConfig extends ColumnConfig> extends DefinitionNode<TName, TConfig> {
21
36
  readonly kind: "COLUMN";
22
37
  protected _dataType: string;
@@ -24,8 +39,10 @@ export declare class ColumnDefinition<TName extends string, TConfig extends Colu
24
39
  protected _primaryKey: boolean;
25
40
  protected _unique: boolean;
26
41
  protected _defaultValue?: SQLNode;
27
- protected _domain?: NodeRef<TConfig["domain"]>;
42
+ protected _domain?: NodeRef<AnyDomainDefinition>;
28
43
  protected _check?: AnyCheckConstraintDefinition;
44
+ protected _generated?: ColumnGeneratedConfig;
45
+ protected _identity?: ColumnIdentityConfig;
29
46
  protected _codec: ColumnCodec<this["__type"]["rawType"], this["__type"]["valueType"]>;
30
47
  protected _onCreate?: () => this["__type"]["valueType"];
31
48
  protected _onUpdate?: () => this["__type"]["valueType"];
@@ -52,7 +69,7 @@ export declare class ColumnDefinition<TName extends string, TConfig extends Colu
52
69
  * @returns
53
70
  */
54
71
  check(cb: (self: SQLIdentifier) => SQLNode, name?: string): this;
55
- $type<T>(): WithValueType<this, T>;
72
+ $type<T>(): ValueType<this, T>;
56
73
  $onCreate(cb: () => this["__type"]["valueType"]): this;
57
74
  $onUpdate(cb: () => this["__type"]["valueType"]): UpdateGuard<this>;
58
75
  toJSON(): {
@@ -64,11 +81,30 @@ export declare class ColumnDefinition<TName extends string, TConfig extends Colu
64
81
  readonly unique: boolean;
65
82
  readonly defaultValue: string | null;
66
83
  readonly check: {
67
- kind: "CHECK_CONSTRAINT";
68
- name: any;
84
+ readonly kind: "CHECK_CONSTRAINT";
85
+ readonly name: string;
86
+ readonly expression: string;
87
+ } | null;
88
+ readonly domain: string | null;
89
+ readonly generated: {
90
+ type: "ALWAYS";
69
91
  expression: string;
92
+ mode: "STORED";
93
+ } | null;
94
+ readonly identity: {
95
+ type: ColumnGeneratedType;
96
+ sequenceName: string | undefined;
97
+ options: {
98
+ dataType: string | undefined;
99
+ cache: number | undefined;
100
+ cycle: boolean | undefined;
101
+ increment: number | undefined;
102
+ minValue: number | undefined;
103
+ maxValue: number | undefined;
104
+ startValue: number | undefined;
105
+ ownedBy: string | undefined;
106
+ } | null;
70
107
  } | null;
71
- readonly domain: NonNullable<TConfig["domain"]["name"]> | null;
72
108
  };
73
109
  }
74
110
  //# sourceMappingURL=column.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../../src/definition/column.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../../src/definition/column.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { SQLIdentifier, SQLParam, SQLQuery } from "../sql/nodes.js";
2
- import { defaultCodec, DefinitionNode, Kind, NodeRef } from "./base.js";
2
+ import { defaultCodec, DefinitionNode, Kind } from "./base.js";
3
3
  import { CheckConstraintDefinition } from "./constraint.js";
4
4
  export class ColumnDefinition extends DefinitionNode {
5
5
  kind = Kind.COLUMN;
@@ -10,6 +10,8 @@ export class ColumnDefinition extends DefinitionNode {
10
10
  _defaultValue;
11
11
  _domain;
12
12
  _check;
13
+ _generated;
14
+ _identity;
13
15
  _codec;
14
16
  _onCreate;
15
17
  _onUpdate;
@@ -19,8 +21,11 @@ export class ColumnDefinition extends DefinitionNode {
19
21
  this._notNull = config.notNull ?? false;
20
22
  this._primaryKey = config.primaryKey ?? false;
21
23
  this._unique = config.unique ?? false;
24
+ this._defaultValue = config.defaultValue;
22
25
  this._codec = config.codec ?? defaultCodec;
23
- this._domain = config.domain ? new NodeRef(config.domain) : undefined;
26
+ this._domain = config.domain;
27
+ this._generated = config.generated;
28
+ this._identity = config.identity;
24
29
  }
25
30
  /**
26
31
  * Marks the column as `NOT NULL`. This means that the column cannot contain null values.
@@ -88,6 +93,34 @@ export class ColumnDefinition extends DefinitionNode {
88
93
  : null,
89
94
  check: this._check?.toJSON() ?? null,
90
95
  domain: this._domain?.toJSON() ?? null,
96
+ generated: this._generated
97
+ ? {
98
+ type: this._generated.type,
99
+ expression: new SQLQuery(this._generated.expression).toQuery({ inlineParams: true })
100
+ .text,
101
+ mode: this._generated.mode,
102
+ }
103
+ : null,
104
+ identity: this._identity
105
+ ? {
106
+ type: this._identity.type,
107
+ sequenceName: this._identity.sequenceName,
108
+ options: this._identity.options
109
+ ? {
110
+ dataType: this._identity.options.dataType,
111
+ cache: this._identity.options.cache,
112
+ cycle: this._identity.options.cycle,
113
+ increment: this._identity.options.increment,
114
+ minValue: this._identity.options.minValue,
115
+ maxValue: this._identity.options.maxValue,
116
+ startValue: this._identity.options.startValue,
117
+ ownedBy: this._identity.options.ownedBy
118
+ ? new SQLQuery(this._identity.options.ownedBy).toQuery().text
119
+ : undefined,
120
+ }
121
+ : null,
122
+ }
123
+ : null,
91
124
  };
92
125
  }
93
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"column.js","sourceRoot":"","sources":["../../src/definition/column.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"column.js","sourceRoot":"","sources":["../../src/definition/column.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export type JoinColumnNames<T extends ColumnRef[]> = T extends [
7
7
  infer I extends ColumnRef,
8
8
  ...infer R extends ColumnRef[]
9
9
  ] ? R extends [] ? I["name"] : `${I["name"]}_${JoinColumnNames<R>}` : "";
10
- export type InferConstraintName<TName extends string | undefined, TSource extends NodeRef<DefinitionNode>, TColumns extends ColumnRef[], TSuffix extends string> = TName extends string ? TName : `${TSource["target"]["name"]}_${JoinColumnNames<TColumns>}_${TSuffix}`;
10
+ export type InferConstraintName<TName extends string | undefined, TSource extends NodeRef<DefinitionNode>, TColumns extends ColumnRef[], TSuffix extends string> = TName extends string ? TName : `${TSource["name"]}_${JoinColumnNames<TColumns>}_${TSuffix}`;
11
11
  export interface CheckConstraintConfig {
12
12
  expression: SQLQuery;
13
13
  }
@@ -20,18 +20,18 @@ export interface PrimaryKeyConstraintConfig<TTable extends AnyTableDefinition> {
20
20
  columns: ColumnRefs<TTable["columns"]>[keyof TTable["columns"]][];
21
21
  }
22
22
  export declare const extractConstrainName: <TName extends string, TSource extends DefinitionNode, TColumns extends ColumnRef[], TSuffix extends string>(name: TName | undefined, source: NodeRef<TSource>, columns: TColumns, suffix: TSuffix) => InferConstraintName<TName, NodeRef<TSource>, TColumns, TSuffix>;
23
- export type AnyCheckConstraintDefinition = CheckConstraintDefinition<any>;
24
- export type AnyUniqueConstraintDefinition = UniqueConstraintDefinition<any, any>;
25
- export type AnyPrimaryKeyConstraintDefinition = PrimaryKeyConstraintDefinition<any, any>;
23
+ export type AnyCheckConstraintDefinition = CheckConstraintDefinition<string>;
24
+ export type AnyUniqueConstraintDefinition = UniqueConstraintDefinition<string, any>;
25
+ export type AnyPrimaryKeyConstraintDefinition = PrimaryKeyConstraintDefinition<string, any>;
26
26
  export type AnyConstraintDefinition = AnyCheckConstraintDefinition | AnyUniqueConstraintDefinition | AnyPrimaryKeyConstraintDefinition;
27
27
  export declare class CheckConstraintDefinition<TName extends string> extends DefinitionNode<TName, CheckConstraintConfig> {
28
28
  readonly kind: "CHECK_CONSTRAINT";
29
29
  protected _expression: CheckConstraintConfig["expression"];
30
30
  constructor(name: TName, config: CheckConstraintConfig);
31
31
  toJSON(): {
32
- kind: "CHECK_CONSTRAINT";
33
- name: TName;
34
- expression: string;
32
+ readonly kind: "CHECK_CONSTRAINT";
33
+ readonly name: TName;
34
+ readonly expression: string;
35
35
  };
36
36
  }
37
37
  export declare class UniqueConstraintDefinition<TName extends string, TTable extends AnyTableDefinition> extends DefinitionNode<TName, UniqueConstraintConfig<TTable>> {
@@ -1 +1 @@
1
- {"version":3,"file":"constraint.d.ts","sourceRoot":"","sources":["../../src/definition/constraint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constraint.d.ts","sourceRoot":"","sources":["../../src/definition/constraint.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constraint.js","sourceRoot":"","sources":["../../src/definition/constraint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constraint.js","sourceRoot":"","sources":["../../src/definition/constraint.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,51 @@
1
- import { SQLNode } from "../sql/nodes.js";
2
- import { HasDefault, NotNull, WithValueType } from "../utils/index.js";
3
- import { ColumnCodec, DefinitionNode } from "./base.js";
1
+ import { SQLNode, SQLQuery } from "../sql/nodes.js";
2
+ import { HasDefault, NotNull, WithDomain, ValueType } from "../utils/index.js";
3
+ import { ColumnCodec, DefinitionNode, NodeRef } from "./base.js";
4
+ import { ColumnConfig, ColumnDefinition } from "./column.js";
4
5
  import { AnyCheckConstraintDefinition } from "./constraint.js";
5
- export interface DomainConfig<TValueType = unknown, TRawType = unknown> {
6
+ import { AnyNamespaceDefinition } from "./namespace.js";
7
+ export interface DomainConfig<TValueType = unknown, TRawType = unknown, TNamespace extends AnyNamespaceDefinition = AnyNamespaceDefinition> {
8
+ namespace?: NodeRef<TNamespace>;
6
9
  valueType: TValueType;
7
10
  rawType: TRawType;
8
11
  dataType: string;
9
12
  notNull: boolean;
13
+ defaultValue?: SQLNode;
10
14
  codec: ColumnCodec<TRawType, TValueType>;
11
15
  }
12
- export type AnyDomainDefinition = DomainDefinition<any, any>;
13
- export declare class DomainDefinition<TName extends string, TConfig extends DomainConfig> extends DefinitionNode<TName, TConfig> {
16
+ export type AnyDomainDefinition = DomainDefinition<string, any, any, any>;
17
+ export declare class DomainDefinition<TName extends string, TValueType, TRawType, TNamespace extends AnyNamespaceDefinition> extends DefinitionNode<TName, DomainConfig<TValueType, TRawType, TNamespace>> {
14
18
  readonly kind: "DOMAIN";
15
- readonly __type: TConfig;
16
- protected _dataType: TConfig["dataType"];
17
- protected _notNull: TConfig["notNull"];
18
- protected _defaultValue?: SQLNode;
19
+ readonly __type: DomainConfig<TValueType, TRawType, TNamespace>;
20
+ protected _namespace?: NodeRef<TNamespace>;
21
+ protected _dataType: DomainConfig<TValueType, TRawType>["dataType"];
22
+ protected _notNull: DomainConfig<TValueType, TRawType>["notNull"];
23
+ protected _defaultValue?: DomainConfig<TValueType, TRawType>["defaultValue"];
19
24
  protected _check?: AnyCheckConstraintDefinition;
20
25
  protected _codec: ColumnCodec<this["__type"]["rawType"], this["__type"]["valueType"]>;
21
- constructor(name: TName, config: Partial<TConfig>);
26
+ constructor(name: TName, config?: Partial<DomainConfig<TValueType, TRawType, TNamespace>>);
22
27
  notNull(): NotNull<this>;
23
28
  default(value: this["__type"]["valueType"]): HasDefault<this>;
24
- check<T extends string>(cb: (value: SQLNode) => SQLNode, name?: T): this;
25
- $type<T>(): WithValueType<this, T>;
29
+ check<T extends string>(cb: (value: SQLNode) => SQLQuery, name?: T): this;
30
+ $type<T>(): ValueType<this, T>;
31
+ /**
32
+ * Creates a new column with the the domain as its data type. The column inherits the properties of the domain, such as `NOT NULL` and `DEFAULT` values.
33
+ *
34
+ * @param name The name of the column.
35
+ * @returns A new column definition with the domain applied.
36
+ */
37
+ column<TColumnName extends string>(name: TColumnName): WithDomain<ColumnDefinition<TColumnName, ColumnConfig<this["__type"]["valueType"], this["__type"]["rawType"]>>, this>;
26
38
  toJSON(): {
27
39
  readonly kind: "DOMAIN";
28
40
  readonly name: TName;
29
- readonly dataType: TConfig["dataType"];
30
- readonly notNull: TConfig["notNull"];
41
+ readonly namespace: string;
42
+ readonly dataType: string;
43
+ readonly notNull: boolean;
31
44
  readonly defaultValue: string | undefined;
32
45
  readonly check: {
33
- kind: "CHECK_CONSTRAINT";
34
- name: any;
35
- expression: string;
46
+ readonly kind: "CHECK_CONSTRAINT";
47
+ readonly name: string;
48
+ readonly expression: string;
36
49
  } | undefined;
37
50
  };
38
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../src/definition/domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA8B,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAgB,cAAc,EAAQ,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAA6B,MAAM,iBAAiB,CAAC;AAE1F,MAAM,WAAW,YAAY,CAAC,UAAU,GAAG,OAAO,EAAE,QAAQ,GAAG,OAAO;IACpE,SAAS,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;CAC1C;AAGD,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAE7D,qBAAa,gBAAgB,CAC3B,KAAK,SAAS,MAAM,EACpB,OAAO,SAAS,YAAY,CAC5B,SAAQ,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,IAAI,WAAe;IAE5B,SAAiB,MAAM,EAAE,OAAO,CAAC;IAEjC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACzC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,SAAS,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,MAAM,CAAC,EAAE,4BAA4B,CAAC;IAEhD,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;gBAE1E,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC;IAQ1C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC;IAK7D,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI;IASxE,KAAK,CAAC,CAAC,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;IAIzC,MAAM;;;;;;;;;;;;CAYP"}
1
+ {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../src/definition/domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,QAAQ,EAAU,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAgB,cAAc,EAAQ,OAAO,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAA6B,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,WAAW,YAAY,CAC3B,UAAU,GAAG,OAAO,EACpB,QAAQ,GAAG,OAAO,EAClB,UAAU,SAAS,sBAAsB,GAAG,sBAAsB;IAElE,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAChC,SAAS,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;CAC1C;AAGD,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE1E,qBAAa,gBAAgB,CAC3B,KAAK,SAAS,MAAM,EACpB,UAAU,EACV,QAAQ,EACR,UAAU,SAAS,sBAAsB,CACzC,SAAQ,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7E,QAAQ,CAAC,IAAI,WAAe;IAE5B,SAAiB,MAAM,EAAE,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAExE,SAAS,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;IACpE,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;IAClE,SAAS,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC;IAC7E,SAAS,CAAC,MAAM,CAAC,EAAE,4BAA4B,CAAC;IAEhD,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;gBAE1E,IAAI,EAAE,KAAK,EAAE,MAAM,GAAE,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAM;IAYtF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC;IAK7D,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI;IASzE,KAAK,CAAC,CAAC,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAIrC;;;;;OAKG;IAEI,MAAM,CAAC,WAAW,SAAS,MAAM,EACtC,IAAI,EAAE,WAAW,GAChB,UAAU,CACX,gBAAgB,CACd,WAAW,EACX,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CACrE,EACD,IAAI,CACL;IAgBD,MAAM;;;;;;;;;;;;;CAaP"}
@@ -1,18 +1,24 @@
1
1
  import { SQLParam, SQLQuery, SQLRaw } from "../sql/nodes.js";
2
- import { defaultCodec, DefinitionNode, Kind } from "./base.js";
2
+ import { defaultCodec, DefinitionNode, Kind, NodeRef } from "./base.js";
3
+ import { ColumnDefinition } from "./column.js";
3
4
  import { CheckConstraintDefinition } from "./constraint.js";
4
5
  export class DomainDefinition extends DefinitionNode {
5
6
  kind = Kind.DOMAIN;
7
+ _namespace;
6
8
  _dataType;
7
9
  _notNull;
8
10
  _defaultValue;
9
11
  _check;
10
12
  _codec;
11
- constructor(name, config) {
13
+ constructor(name, config = {}) {
12
14
  super(name);
13
15
  this._dataType = config.dataType ?? "text";
14
16
  this._notNull = config.notNull ?? false;
15
- this._codec = config.codec ?? defaultCodec;
17
+ this._defaultValue = config.defaultValue;
18
+ this._namespace = config.namespace;
19
+ this._codec =
20
+ config.codec ??
21
+ defaultCodec;
16
22
  }
17
23
  notNull() {
18
24
  this._notNull = true;
@@ -23,7 +29,7 @@ export class DomainDefinition extends DefinitionNode {
23
29
  return this;
24
30
  }
25
31
  check(cb, name) {
26
- const expression = new SQLQuery(cb(new SQLRaw("VALUE")));
32
+ const expression = cb(new SQLRaw("VALUE"));
27
33
  this._check = new CheckConstraintDefinition(name ?? `${this.name}_check`, {
28
34
  expression,
29
35
  });
@@ -32,10 +38,26 @@ export class DomainDefinition extends DefinitionNode {
32
38
  $type() {
33
39
  return this;
34
40
  }
41
+ /**
42
+ * Creates a new column with the the domain as its data type. The column inherits the properties of the domain, such as `NOT NULL` and `DEFAULT` values.
43
+ *
44
+ * @param name The name of the column.
45
+ * @returns A new column definition with the domain applied.
46
+ */
47
+ column(name) {
48
+ return new ColumnDefinition(name, {
49
+ dataType: this.name,
50
+ notNull: this._notNull,
51
+ defaultValue: this._defaultValue,
52
+ codec: this._codec,
53
+ domain: new NodeRef(this),
54
+ });
55
+ }
35
56
  toJSON() {
36
57
  return {
37
58
  kind: this.kind,
38
59
  name: this.name,
60
+ namespace: this._namespace?.name ?? "public",
39
61
  dataType: this._dataType,
40
62
  notNull: this._notNull,
41
63
  defaultValue: this._defaultValue
@@ -1 +1 @@
1
- {"version":3,"file":"domain.js","sourceRoot":"","sources":["../../src/definition/domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAe,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAgC,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAa1F,MAAM,OAAO,gBAGX,SAAQ,cAA8B;IAC7B,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IAIlB,SAAS,CAAsB;IAC/B,QAAQ,CAAqB;IAC7B,aAAa,CAAW;IACxB,MAAM,CAAgC;IAEtC,MAAM,CAAsE;IAEtF,YAAY,IAAW,EAAE,MAAwB;QAC/C,KAAK,CAAC,IAAI,CAAC,CAAC;QAEZ,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,YAAY,CAAC;IAC7C,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,IAAqB,CAAC;IAC/B,CAAC;IAEM,OAAO,CAAC,KAAkC;QAC/C,IAAI,CAAC,aAAa,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,IAAwB,CAAC;IAClC,CAAC;IAEM,KAAK,CAAmB,EAA+B,EAAE,IAAQ;QACtE,MAAM,UAAU,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,IAAI,yBAAyB,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,QAAQ,EAAE;YACxE,UAAU;SACX,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK;QACV,OAAO,IAA8B,CAAC;IACxC,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,YAAY,EAAE,IAAI,CAAC,aAAa;gBAC9B,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;gBACvE,CAAC,CAAC,SAAS;YACb,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;SACpB,CAAC;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"domain.js","sourceRoot":"","sources":["../../src/definition/domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAe,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAgB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAgC,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAoB1F,MAAM,OAAO,gBAKX,SAAQ,cAAqE;IACpE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IAIlB,UAAU,CAAuB;IACjC,SAAS,CAAiD;IAC1D,QAAQ,CAAgD;IACxD,aAAa,CAAsD;IACnE,MAAM,CAAgC;IAEtC,MAAM,CAAsE;IAEtF,YAAY,IAAW,EAAE,SAAkE,EAAE;QAC3F,KAAK,CAAC,IAAI,CAAC,CAAC;QAEZ,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM;YACT,MAAM,CAAC,KAAK;gBACX,YAAoF,CAAC;IAC1F,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,IAAqB,CAAC;IAC/B,CAAC;IAEM,OAAO,CAAC,KAAkC;QAC/C,IAAI,CAAC,aAAa,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,IAAwB,CAAC;IAClC,CAAC;IAEM,KAAK,CAAmB,EAAgC,EAAE,IAAQ;QACvE,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,yBAAyB,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,QAAQ,EAAE;YACxE,UAAU;SACX,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK;QACV,OAAO,IAA0B,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IAEI,MAAM,CACX,IAAiB;QAQjB,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE;YAChC,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,MAAM,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;SAC1B,CAMA,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,QAAQ;YAC5C,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,YAAY,EAAE,IAAI,CAAC,aAAa;gBAC9B,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;gBACvE,CAAC,CAAC,SAAS;YACb,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;SACpB,CAAC;IACb,CAAC;CACF"}
@@ -1,9 +1,9 @@
1
1
  export { DefinitionNode, NodeRef, Kind, Relation, defaultCodec, type NodeKind, type RelationType, type ColumnCodec, type DefinitionSchema, } from "./base.js";
2
- export { ColumnDefinition, type ColumnConfig, type AnyColumnDefinition, type UpdateGuard, } from "./column.js";
2
+ export { ColumnDefinition, type ColumnConfig, type AnyColumnDefinition, type UpdateGuard, type ColumnGeneratedConfig, type ColumnGeneratedType, type ColumnIdentityConfig, } from "./column.js";
3
3
  export { DomainDefinition, type DomainConfig, type AnyDomainDefinition } from "./domain.js";
4
4
  export { IndexDefinition, IndexColumnDefinition, type IndexConfig, type AnyIndexDefinition, type ColumnConfigRefs, type ColumnConfigType, } from "./indexes.js";
5
5
  export { NamespaceDefinition, type AnyNamespaceDefinition } from "./namespace.js";
6
- export { SequenceDefinition } from "./sequence.js";
6
+ export { SequenceDefinition, type SequenceConfig, type AnySequenceDefinition } from "./sequence.js";
7
7
  export { TableDefinition, type TableConfig, type AnyTableDefinition, type ColumnRefs, } from "./table.js";
8
8
  export { ViewDefinition } from "./view.js";
9
9
  export { CheckConstraintDefinition, PrimaryKeyConstraintDefinition, UniqueConstraintDefinition, type AnyConstraintDefinition, type AnyCheckConstraintDefinition, type AnyUniqueConstraintDefinition, type AnyPrimaryKeyConstraintDefinition, type CheckConstraintConfig, type UniqueConstraintConfig, type PrimaryKeyConstraintConfig, } from "./constraint.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/definition/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,KAAK,iCAAiC,EACtC,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,GAChC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/definition/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EACL,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,KAAK,iCAAiC,EACtC,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,GAChC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/definition/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,YAAY,GAKb,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,gBAAgB,GAIjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAA+C,MAAM,aAAa,CAAC;AAC5F,OAAO,EACL,eAAe,EACf,qBAAqB,GAKtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAA+B,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,eAAe,GAIhB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,GAQ3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,mBAAmB,GAMpB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/definition/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,YAAY,GAKb,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,gBAAgB,GAOjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAA+C,MAAM,aAAa,CAAC;AAC5F,OAAO,EACL,eAAe,EACf,qBAAqB,GAKtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAA+B,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAmD,MAAM,eAAe,CAAC;AACpG,OAAO,EACL,eAAe,GAIhB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,GAQ3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,mBAAmB,GAMpB,MAAM,gBAAgB,CAAC"}
@@ -1,11 +1,14 @@
1
- import { WithNamespace } from "../utils/index.js";
2
1
  import { DefinitionNode } from "./base.js";
3
2
  import { AnyColumnDefinition } from "./column.js";
3
+ import { DomainDefinition } from "./domain.js";
4
+ import { SequenceDefinition } from "./sequence.js";
4
5
  import { TableDefinition } from "./table.js";
5
6
  export type AnyNamespaceDefinition = NamespaceDefinition<any>;
6
7
  export declare class NamespaceDefinition<TName extends string> extends DefinitionNode<TName> {
7
8
  readonly kind: "SCHEMA";
8
- table<TName extends string, TColumns extends Record<string, AnyColumnDefinition>>(name: TName, columns: TColumns): WithNamespace<TableDefinition<TName, TColumns, this>, this>;
9
+ table<TName extends string, TColumns extends Record<string, AnyColumnDefinition>>(name: TName, columns: TColumns): TableDefinition<TName, TColumns, this>;
10
+ domain<TName extends string>(name: TName): DomainDefinition<TName, unknown, unknown, this>;
11
+ sequence<TName extends string>(name: TName): SequenceDefinition<TName, this>;
9
12
  toJSON(): {
10
13
  readonly kind: "SCHEMA";
11
14
  readonly name: TName;
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/definition/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAQ,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;AAE9D,qBAAa,mBAAmB,CAAC,KAAK,SAAS,MAAM,CAAE,SAAQ,cAAc,CAAC,KAAK,CAAC;IAClF,SAAgB,IAAI,WAAe;IAE5B,KAAK,CAAC,KAAK,SAAS,MAAM,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACrF,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,QAAQ,GAChB,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;IAOvD,MAAM;;;;CAMd"}
1
+ {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/definition/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiB,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;AAE9D,qBAAa,mBAAmB,CAAC,KAAK,SAAS,MAAM,CAAE,SAAQ,cAAc,CAAC,KAAK,CAAC;IAClF,SAAgB,IAAI,WAAe;IAE5B,KAAK,CAAC,KAAK,SAAS,MAAM,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACrF,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,QAAQ,GAChB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC;IAIlC,MAAM,CAAC,KAAK,SAAS,MAAM,EAChC,IAAI,EAAE,KAAK,GACV,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;IAI3C,QAAQ,CAAC,KAAK,SAAS,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC;IAI5E,MAAM;;;;CAMd"}
@@ -1,9 +1,17 @@
1
- import { DefinitionNode, Kind } from "./base.js";
1
+ import { DefinitionNode, Kind, NodeRef } from "./base.js";
2
+ import { DomainDefinition } from "./domain.js";
3
+ import { SequenceDefinition } from "./sequence.js";
2
4
  import { TableDefinition } from "./table.js";
3
5
  export class NamespaceDefinition extends DefinitionNode {
4
6
  kind = Kind.SCHEMA;
5
7
  table(name, columns) {
6
- return new TableDefinition(name, { columns, schema: this });
8
+ return new TableDefinition(name, { columns, namespace: new NodeRef(this) });
9
+ }
10
+ domain(name) {
11
+ return new DomainDefinition(name, { namespace: new NodeRef(this) });
12
+ }
13
+ sequence(name) {
14
+ return new SequenceDefinition(name, { namespace: new NodeRef(this) });
7
15
  }
8
16
  toJSON() {
9
17
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/definition/namespace.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAK7C,MAAM,OAAO,mBAA0C,SAAQ,cAAqB;IAClE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IAE5B,KAAK,CACV,IAAW,EACX,OAAiB;QAEjB,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAGzD,CAAC;IACJ,CAAC;IAEM,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SACP,CAAC;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/definition/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAK7C,MAAM,OAAO,mBAA0C,SAAQ,cAAqB;IAClE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IAE5B,KAAK,CACV,IAAW,EACX,OAAiB;QAEjB,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAEM,MAAM,CACX,IAAW;QAEX,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IAEM,QAAQ,CAAuB,IAAW;QAC/C,OAAO,IAAI,kBAAkB,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAEM,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SACP,CAAC;IACb,CAAC;CACF"}