@ez4/database 0.37.0 → 0.39.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 (51) hide show
  1. package/dist/errors/engine.d.ts +8 -1
  2. package/dist/errors/indexes.d.ts +2 -2
  3. package/dist/errors/relations.d.ts +2 -2
  4. package/dist/errors/scalability.d.ts +8 -1
  5. package/dist/errors/table.d.ts +8 -1
  6. package/dist/library.cjs +175 -150
  7. package/dist/library.d.ts +2 -6
  8. package/dist/library.mjs +170 -145
  9. package/dist/main.cjs +10 -7
  10. package/dist/main.d.ts +9 -7
  11. package/dist/main.mjs +7 -4
  12. package/dist/metadata/engine.d.ts +3 -2
  13. package/dist/metadata/handler.d.ts +3 -2
  14. package/dist/metadata/indexes.d.ts +3 -2
  15. package/dist/metadata/relations.d.ts +3 -2
  16. package/dist/metadata/scalability.d.ts +3 -2
  17. package/dist/metadata/schema.d.ts +2 -1
  18. package/dist/metadata/service.d.ts +4 -3
  19. package/dist/metadata/stream.d.ts +3 -2
  20. package/dist/metadata/table.d.ts +3 -2
  21. package/dist/metadata/types.d.ts +70 -0
  22. package/dist/services/contract.d.ts +4 -1
  23. package/dist/services/engine.d.ts +1 -6
  24. package/dist/services/handler.d.ts +8 -0
  25. package/dist/services/incoming.d.ts +7 -0
  26. package/dist/services/indexes.d.ts +1 -9
  27. package/dist/services/insensitive.d.ts +1 -7
  28. package/dist/services/listener.d.ts +8 -0
  29. package/dist/services/lock.d.ts +1 -7
  30. package/dist/services/order.d.ts +2 -14
  31. package/dist/services/pagination.d.ts +1 -7
  32. package/dist/services/parameters.d.ts +1 -7
  33. package/dist/services/request.d.ts +13 -0
  34. package/dist/services/scalability.d.ts +6 -0
  35. package/dist/services/streams.d.ts +11 -1
  36. package/dist/services/transaction.d.ts +1 -7
  37. package/dist/types/index.d.ts +9 -0
  38. package/dist/types/mode.d.ts +42 -0
  39. package/dist/types/order.d.ts +7 -0
  40. package/package.json +6 -6
  41. package/dist/metadata/utils.d.ts +0 -9
  42. package/dist/services/common.d.ts +0 -25
  43. package/dist/types/engine.d.ts +0 -15
  44. package/dist/types/handler.d.ts +0 -2
  45. package/dist/types/indexes.d.ts +0 -6
  46. package/dist/types/relations.d.ts +0 -9
  47. package/dist/types/scalability.d.ts +0 -4
  48. package/dist/types/schema.d.ts +0 -2
  49. package/dist/types/service.d.ts +0 -23
  50. package/dist/types/stream.d.ts +0 -11
  51. package/dist/types/table.d.ts +0 -11
@@ -1,4 +1,11 @@
1
- import { IncompleteTypeError } from '@ez4/common/library';
1
+ import { IncompleteTypeError, IncorrectTypeError, InvalidTypeError } from '@ez4/common/library';
2
2
  export declare class IncompleteEngineError extends IncompleteTypeError {
3
3
  constructor(properties: string[], fileName?: string);
4
4
  }
5
+ export declare class InvalidEngineTypeError extends InvalidTypeError {
6
+ constructor(fileName?: string);
7
+ }
8
+ export declare class IncorrectEngineTypeError extends IncorrectTypeError {
9
+ engineType: string;
10
+ constructor(engineType: string, fileName?: string);
11
+ }
@@ -3,8 +3,8 @@ export declare class InvalidIndexesTypeError extends InvalidTypeError {
3
3
  constructor(fileName?: string);
4
4
  }
5
5
  export declare class IncorrectIndexesTypeError extends IncorrectTypeError {
6
- schemaType: string;
7
- constructor(schemaType: string, fileName?: string);
6
+ indexType: string;
7
+ constructor(indexType: string, fileName?: string);
8
8
  }
9
9
  export declare class InvalidIndexTypeError extends TypeError {
10
10
  indexName: string;
@@ -3,8 +3,8 @@ export declare class InvalidRelationsTypeError extends InvalidTypeError {
3
3
  constructor(fileName?: string);
4
4
  }
5
5
  export declare class IncorrectRelationsTypeError extends IncorrectTypeError {
6
- schemaType: string;
7
- constructor(schemaType: string, fileName?: string);
6
+ relationType: string;
7
+ constructor(relationType: string, fileName?: string);
8
8
  }
9
9
  export declare class InvalidRelationTargetError extends TypeError {
10
10
  relationSource: string;
@@ -1,4 +1,11 @@
1
- import { IncompleteTypeError } from '@ez4/common/library';
1
+ import { IncompleteTypeError, IncorrectTypeError, InvalidTypeError } from '@ez4/common/library';
2
2
  export declare class IncompleteScalabilityError extends IncompleteTypeError {
3
3
  constructor(properties: string[], fileName?: string);
4
4
  }
5
+ export declare class InvalidScalabilityTypeError extends InvalidTypeError {
6
+ constructor(fileName?: string);
7
+ }
8
+ export declare class IncorrectScalabilityTypeError extends IncorrectTypeError {
9
+ scalabilityType: string;
10
+ constructor(scalabilityType: string, fileName?: string);
11
+ }
@@ -1,4 +1,11 @@
1
- import { IncompleteTypeError } from '@ez4/common/library';
1
+ import { IncompleteTypeError, IncorrectTypeError, InvalidTypeError } from '@ez4/common/library';
2
2
  export declare class IncompleteTableError extends IncompleteTypeError {
3
3
  constructor(properties: string[], fileName?: string);
4
4
  }
5
+ export declare class InvalidTableTypeError extends InvalidTypeError {
6
+ constructor(fileName?: string);
7
+ }
8
+ export declare class IncorrectTableTypeError extends IncorrectTypeError {
9
+ tableType: string;
10
+ constructor(tableType: string, fileName?: string);
11
+ }
package/dist/library.cjs CHANGED
@@ -1,154 +1,179 @@
1
- "use strict";var Q=Object.defineProperty;var rr=Object.getOwnPropertyDescriptor;var tr=Object.getOwnPropertyNames;var nr=Object.prototype.hasOwnProperty;var a=(e,t)=>Q(e,"name",{value:t,configurable:!0});var or=(e,t)=>{for(var r in t)Q(e,r,{get:t[r],enumerable:!0})},ar=(e,t,r,o)=>{if(t&&
2
- typeof t=="object"||typeof t=="function")for(let n of tr(t))!nr.call(e,n)&&n!==r&&
3
- Q(e,n,{get:()=>t[n],enumerable:!(o=rr(t,n))||o.enumerable});return e};var sr=e=>ar(Q({},"__esModule",{value:!0}),e);var xr={};or(xr,{IncompleteEngineError:()=>F,IncompleteHandlerError:()=>K,IncompleteScalabilityError:()=>N,
4
- IncompleteServiceError:()=>O,IncompleteStreamError:()=>B,IncompleteTableError:()=>q,
5
- IncorrectIndexesTypeError:()=>$,IncorrectRelationsTypeError:()=>j,IncorrectSchemaTypeError:()=>_,
6
- IncorrectStreamTypeError:()=>J,Index:()=>je,InvalidIndexReferenceError:()=>H,InvalidIndexTypeError:()=>V,
7
- InvalidIndexesTypeError:()=>U,InvalidRelationAliasError:()=>C,InvalidRelationColumnError:()=>I,
8
- InvalidRelationTableError:()=>z,InvalidRelationTargetError:()=>A,InvalidRelationsTypeError:()=>w,
9
- InvalidSchemaTypeError:()=>W,InvalidStreamTypeError:()=>G,ServiceType:()=>se,createDatabaseService:()=>ie,
10
- getDatabaseServices:()=>ce,getDatabaseTable:()=>le,getTableSchema:()=>pe,isDatabaseService:()=>ir,
11
- registerTriggers:()=>yr});module.exports=sr(xr);var Ye=require("@ez4/common/library"),Ze=require("@ez4/schema/library"),Le=require("@ez4/project/library");var f=require("@ez4/common/library"),Ke=require("@ez4/reflection"),Qe=require("@ez4/utils");var de=require("@ez4/project/library");var se="@ez4/database",ir=a(e=>e.type===se,"isDatabaseService"),ie=a(e=>({...(0,de.createServiceMetadata)(
12
- se,e),variables:{},services:{}}),"createDatabaseService");var fe=require("@ez4/common/library");var O=class extends fe.IncompleteTypeError{static{a(this,"IncompleteServiceError")}constructor(t,r){
13
- super("Incomplete database service",t,r)}};var g=require("@ez4/common/library");var w=class extends g.InvalidTypeError{static{a(this,"InvalidRelationsTypeError")}constructor(t){
14
- super("Invalid table relations type",void 0,"Database.Relations",t)}},j=class extends g.IncorrectTypeError{constructor(r,o){
15
- super("Incorrect table relations type",r,"Database.Relations",o);this.schemaType=
16
- r}static{a(this,"IncorrectRelationsTypeError")}},A=class extends g.TypeError{constructor(r,o){
17
- super(`Target ${r} must follow the pattern 'column@alias'.`,o);this.relationSource=
18
- r}static{a(this,"InvalidRelationTargetError")}},z=class extends g.TypeError{constructor(r,o){
19
- super(`Relation table ${r} don't exists.`,o);this.relationTable=r}static{a(this,
20
- "InvalidRelationTableError")}},I=class extends g.TypeError{constructor(r,o){super(
21
- `Relation column ${r} don't exists.`,o);this.relationColumn=r}static{a(this,"Inv\
22
- alidRelationColumnError")}},C=class extends g.TypeError{constructor(r,o){super(`\
23
- Relation alias ${r} can't override table columns.`,o);this.relationAlias=r}static{
24
- a(this,"InvalidRelationAliasError")}};var T=require("@ez4/common/library"),S=require("@ez4/reflection"),L=require("@ez4/utils");var be=require("@ez4/common/library");var N=class extends be.IncompleteTypeError{static{a(this,"IncompleteScalabilityE\
25
- rror")}constructor(t,r){super("Incomplete database scalability",t,r)}};var b=require("@ez4/common/library"),X=require("@ez4/reflection");var Y=a(e=>(0,b.isClassDeclaration)(e)&&(0,b.hasHeritageType)(e,"Database.Servic\
26
- e"),"isDatabaseService"),Z=a(e=>(0,b.isModelDeclaration)(e)&&(0,b.hasHeritageType)(
27
- e,"Database.Engine"),"isDatabaseEngine"),Te=a(e=>(0,b.isModelDeclaration)(e)&&(0,b.hasHeritageType)(
28
- e,"Database.Table"),"isDatabaseTable"),ue=a(e=>(0,X.isTypeCallback)(e)||(0,X.isTypeFunction)(
29
- e),"isStreamHandler"),ye=a(e=>(0,b.hasHeritageType)(e,"Database.Relations"),"isT\
30
- ableRelations"),xe=a(e=>(0,b.hasHeritageType)(e,"Database.Indexes"),"isTableInde\
31
- xes"),ge=a(e=>(0,b.hasHeritageType)(e,"Database.Schema"),"isTableSchema"),Me=a(e=>(0,b.hasHeritageType)(
32
- e,"Database.Stream"),"isTableStream");var he=a((e,t,r,o)=>{if(!(0,S.isTypeReference)(e))return Ie(e,t,o);let n=(0,T.getReferenceType)(
33
- e,r);if(n)return Ie(n,t,o)},"getDatabaseScalability"),pr=a(e=>(0,L.isAnyNumber)(
34
- e.minCapacity)&&(0,L.isAnyNumber)(e.maxCapacity),"isValidScalability"),Ie=a((e,t,r)=>{
35
- if(Z(e))return Se(e,t,(0,T.getModelMembers)(e),r);if((0,S.isTypeObject)(e))return Se(
36
- e,t,(0,T.getObjectMembers)(e),r)},"getTypeScalability"),Se=a((e,t,r,o)=>{let n={},
37
- s=new Set(["minCapacity","maxCapacity"]);for(let i of r)if(!(!(0,S.isModelProperty)(
38
- i)||i.inherited))switch(i.name){default:o.push(new T.InvalidServicePropertyError(
39
- t.name,i.name,e.file));break;case"minCapacity":case"maxCapacity":let p=(0,T.getPropertyNumber)(
40
- i);(0,L.isAnyNumber)(p)&&(n[i.name]=p,s.delete(i.name));break}if(!pr(n)){o.push(
41
- new N([...s],e.file));return}return n},"getTypeFromMembers");var h=require("@ez4/reflection"),m=require("@ez4/common/library");var ve=require("@ez4/common/library");var F=class extends ve.IncompleteTypeError{static{a(this,"IncompleteEngineError")}constructor(t,r){
42
- super("Incomplete database engine",t,r)}};var Re=a((e,t,r,o)=>{if(!(0,h.isTypeReference)(e))return De(e,t,o);let n=(0,m.getReferenceType)(
43
- e,r);if(n)return De(n,t,o)},"getDatabaseEngine"),lr=a(e=>!!e.name&&!!e.parametersMode&&
44
- !!e.transactionMode&&!!e.insensitiveMode&&!!e.paginationMode&&!!e.orderMode,"isV\
45
- alidEngine"),De=a((e,t,r)=>{if(Z(e))return Ee(e,t,(0,m.getModelMembers)(e),r);if((0,h.isTypeObject)(
46
- e))return Ee(e,t,(0,m.getObjectMembers)(e),r)},"getTypeEngine"),Ee=a((e,t,r,o)=>{
47
- let n={},s=new Set(["name","parametersMode","transactionMode","insensitiveMode",
48
- "paginationMode","orderMode"]);for(let i of r)if(!(!(0,h.isModelProperty)(i)||i.
49
- inherited))switch(i.name){default:o.push(new m.InvalidServicePropertyError(t.name,
50
- i.name,e.file));break;case"name":(n.name=(0,m.getPropertyString)(i))&&s.delete(i.
51
- name);break;case"parametersMode":(n.parametersMode=(0,m.getPropertyStringIn)(i,[
52
- "index","both"]))&&s.delete(i.name);break;case"transactionMode":(n.transactionMode=
53
- (0,m.getPropertyStringIn)(i,["static","interactive"]))&&s.delete(i.name);break;case"\
54
- insensitiveMode":(n.insensitiveMode=(0,m.getPropertyStringIn)(i,["unsupported","\
55
- enabled"]))&&s.delete(i.name);break;case"paginationMode":(n.paginationMode=(0,m.getPropertyStringIn)(
56
- i,["cursor","offset"]))&&s.delete(i.name);break;case"orderMode":(n.orderMode=(0,m.getPropertyStringIn)(
57
- i,["any","index"]))&&s.delete(i.name);break;case"lockMode":(n.lockMode=(0,m.getPropertyStringIn)(
58
- i,["unsupported","supported"]))&&s.delete(i.name);break}if(!lr(n)){o.push(new F(
59
- [...s],e.file));return}return n},"getTypeFromMembers");var x=require("@ez4/common/library"),P=require("@ez4/reflection");var Pe=require("@ez4/common/library");var q=class extends Pe.IncompleteTypeError{static{a(this,"IncompleteTableError")}constructor(t,r){
60
- super("Incomplete database table",t,r)}};var M=require("@ez4/common/library");var U=class extends M.InvalidTypeError{static{a(this,"InvalidIndexesTypeError")}constructor(t){
61
- super("Invalid table indexes type",void 0,"Database.Indexes",t)}},$=class extends M.IncorrectTypeError{constructor(r,o){
62
- super("Incorrect table indexes type",r,"Database.Indexes",o);this.schemaType=r}static{
63
- a(this,"IncorrectIndexesTypeError")}},V=class extends M.TypeError{constructor(r,o){
64
- super(`Invalid index type, ${r} must follow one of the Index options.`,o);this.indexName=
65
- r}static{a(this,"InvalidIndexTypeError")}},H=class extends M.TypeError{constructor(r,o){
66
- super(`Invalid index reference, ${r} must be valid column.`,o);this.indexName=r}static{
67
- a(this,"InvalidIndexReferenceError")}};var u=require("@ez4/common/library"),v=require("@ez4/reflection");var we=a((e,t,r,o)=>{if(!(0,v.isTypeReference)(e))return ke(e,t,o);let n=(0,u.getReferenceType)(
68
- e,r);if(n)return ke(n,t,o)},"getTableRelations"),ke=a((e,t,r)=>{if((0,v.isTypeObject)(
69
- e))return Oe(e,(0,u.getObjectMembers)(e),r);if(!(0,u.isModelDeclaration)(e)){r.push(
70
- new w(t.file));return}if(!ye(e)){r.push(new j(e.name,e.file));return}return Oe(e,
71
- (0,u.getModelMembers)(e),r)},"getTypeRelations"),Oe=a((e,t,r)=>{let o=[];for(let n of t){
72
- if(!(0,v.isModelProperty)(n)||n.inherited)continue;let s=(0,u.getPropertyString)(
73
- n),i=n.name;if(!s){r.push(new A(i,e.file));return}let[p,l]=i.split("@",2),[c,k]=s.
74
- split(":",2);o.push({sourceTable:c,sourceColumn:k,targetColumn:p,targetAlias:l})}
75
- return o},"getTypeFromMembers");var y=require("@ez4/common/library"),D=require("@ez4/reflection");var je=(n=>(n.Primary="primary",n.Secondary="secondary",n.Unique="unique",n.TTL=
76
- "ttl",n))(je||{});var Ce=a((e,t,r,o)=>{if(!(0,D.isTypeReference)(e))return Ae(e,t,o);let n=(0,y.getReferenceType)(
77
- e,r);if(n)return Ae(n,t,o)},"getTableIndexes"),Ae=a((e,t,r)=>{if((0,D.isTypeObject)(
78
- e))return ze(e,(0,y.getObjectMembers)(e),r);if(!(0,y.isModelDeclaration)(e)){r.push(
79
- new U(t.file));return}if(!xe(e)){r.push(new $(e.name,e.file));return}return ze(e,
80
- (0,y.getModelMembers)(e),r)},"getTypeIndexes"),ze=a((e,t,r)=>{let o=[];for(let n of t){
81
- if(!(0,D.isModelProperty)(n)||n.inherited)continue;let s=n.name,i=(0,y.getPropertyString)(
82
- n);switch(i){case"primary":case"secondary":case"unique":case"ttl":o.push({name:s,
83
- columns:s.split(":"),type:i});break;default:r.push(new V(s,e.file));return}}return o},
84
- "getTypeFromMembers");var re=require("@ez4/reflection"),te=require("@ez4/common/library"),ne=require("@ez4/schema"),
85
- qe=require("@ez4/schema/library");var ee=require("@ez4/common/library");var W=class extends ee.InvalidTypeError{static{a(this,"InvalidSchemaTypeError")}constructor(t){
86
- super("Invalid table schema type",void 0,"Database.Schema",t)}},_=class extends ee.IncorrectTypeError{constructor(r,o){
87
- super("Incorrect table schema type",r,"Database.Schema",o);this.schemaType=r}static{
88
- a(this,"IncorrectSchemaTypeError")}};var pe=a((e,t,r,o)=>{if(!(0,re.isTypeReference)(e))return Ne(e,t,r,o);let n=(0,te.getReferenceType)(
89
- e,r);if(n)return Ne(n,t,r,o)},"getTableSchema"),Ne=a((e,t,r,o)=>{if((0,re.isTypeObject)(
90
- e))return Fe(e,r);if(!(0,te.isModelDeclaration)(e)){o.push(new W(t.file));return}
91
- if(!ge(e)){o.push(new _(e.name,e.file));return}return Fe(e,r)},"getTypeSchema"),
92
- Fe=a((e,t)=>{let r=(0,qe.getObjectSchema)(e,t,(0,ne.createSchemaContext)({nullish:!0}));
93
- if(r&&(0,ne.isObjectSchema)(r))return r},"getSchema");var d=require("@ez4/common/library"),R=require("@ez4/reflection");var E=require("@ez4/common/library");var B=class extends E.IncompleteTypeError{static{a(this,"IncompleteStreamError")}constructor(t,r){
94
- super("Incomplete table stream",t,r)}},G=class extends E.InvalidTypeError{static{
95
- a(this,"InvalidStreamTypeError")}constructor(t){super("Invalid table stream type",
96
- void 0,"Database.Stream",t)}},J=class extends E.IncorrectTypeError{constructor(r,o){
97
- super("Incorrect table stream type",r,"Database.Stream",o);this.streamType=r}static{
98
- a(this,"IncorrectStreamTypeError")}};var $e=require("@ez4/common/library");var Ue=require("@ez4/common/library");var K=class extends Ue.IncompleteTypeError{static{a(this,"IncompleteHandlerError")}constructor(t,r){
99
- super("Incomplete stream handler",t,r)}};var Ve=a((e,t,r)=>{if(!ue(e))return;let o=(0,$e.getFunctionSignature)(e),n=new Set(
100
- ["change"]);if(e.parameters&&n.delete("change"),!o||n.size){r.push(new K([...n],
101
- e.file));return}return o},"getStreamHandler");var _e=a((e,t,r,o)=>{if(!(0,R.isTypeReference)(e))return He(e,t,r,o);let n=(0,d.getReferenceType)(
102
- e,r);if(n)return He(n,t,r,o)},"getTableStream"),cr=a(e=>!!e.handler,"isValidStre\
103
- am"),He=a((e,t,r,o)=>{if((0,R.isTypeObject)(e))return We(e,t,(0,d.getObjectMembers)(
104
- e),r,o);if(!(0,d.isModelDeclaration)(e)){o.push(new G(t.file));return}if(!Me(e)){
105
- o.push(new J(e.name,e.file));return}return We(e,t,(0,d.getModelMembers)(e),r,o)},
106
- "getTypeStream"),We=a((e,t,r,o,n)=>{let s={},i=new Set(["handler"]);for(let p of r)
107
- if(!(!(0,R.isModelProperty)(p)||p.inherited))switch(p.name){default:n.push(new d.InvalidServicePropertyError(
108
- t.name,p.name,e.file));break;case"handler":s.handler=Ve(p.value,o,n);break;case"\
109
- listener":s.listener=(0,d.getServiceListener)(p.value,n);break;case"memory":case"\
110
- logRetention":case"timeout":s[p.name]=(0,d.getPropertyNumber)(p);break;case"vari\
111
- ables":s.variables=(0,d.getLinkedVariableList)(p,n);break}if(cr(s))return s;n.push(
112
- new B([...i],e.file))},"getTypeFromMembers");var le=a((e,t,r,o)=>{if(!(0,P.isTypeReference)(e))return Be(e,t,r,o);let n=(0,x.getReferenceType)(
113
- e,r);if(n)return Be(n,t,r,o)},"getDatabaseTable"),mr=a(e=>!!e.name&&!!e.schema&&
114
- !!e.indexes,"isValidTable"),Be=a((e,t,r,o)=>{if(Te(e))return Ge(e,t,(0,x.getModelMembers)(
115
- e),r,o);if((0,P.isTypeObject)(e))return Ge(e,t,(0,x.getObjectMembers)(e),r,o)},"\
116
- getTypeTable"),Ge=a((e,t,r,o,n)=>{let s={},i=new Set(["name","schema","indexes"]);
117
- for(let l of r)if(!(!(0,P.isModelProperty)(l)||l.inherited))switch(l.name){default:
118
- n.push(new x.InvalidServicePropertyError(t.name,l.name,e.file));break;case"name":
119
- (s.name=(0,x.getPropertyString)(l))&&i.delete(l.name);break;case"schema":(s.schema=
120
- pe(l.value,e,o,n))&&i.delete(l.name);break;case"indexes":(s.indexes=Ce(l.value,e,
121
- o,n))&&i.delete(l.name);break;case"relations":s.relations=we(l.value,e,o,n);break;case"\
122
- stream":s.stream=_e(l.value,t,o,n);break}if(!mr(s)){n.push(new q([...i],e.file));
123
- return}let p=dr(e,s.indexes,s.schema);if(p.length){n.push(...p);return}return s},
124
- "getTypeFromMembers"),dr=a((e,t,r)=>{let o=r.properties,n=[];for(let{name:s,columns:i}of t)
125
- i.some(l=>!o[l])&&n.push(new H(s,e.file));return n},"validateIndexes");var ce=a(e=>{let t={},r=[];for(let o in e){let n=e[o];if(!Y(n)||(0,f.isExternalDeclaration)(
126
- n))continue;let s=ie(n.name),i=new Set(["engine","tables"]),p=n.file;for(let c of(0,f.getModelMembers)(
127
- n))if(!(!(0,Ke.isModelProperty)(c)||c.inherited))switch(c.name){default:r.push(new f.InvalidServicePropertyError(
128
- s.name,c.name,p));break;case"client":break;case"scalability":s.scalability=he(c.
129
- value,n,e,r);break;case"engine":(s.engine=Re(c.value,n,e,r))&&i.delete(c.name);break;case"\
130
- tables":(s.tables=br(c,n,e,r))&&i.delete(c.name);break;case"variables":s.variables=
131
- (0,f.getLinkedVariableList)(c,r);break;case"services":s.services=(0,f.getLinkedServiceList)(
132
- c,e,r);break}if(!fr(s)){r.push(new O([...i],p));continue}let l=Tr(n,s.tables);if(l.
133
- length){r.push(...l);continue}if(t[n.name]){r.push(new f.DuplicateServiceError(n.
134
- name,p));continue}t[n.name]=s}return{services:t,errors:r}},"getDatabaseServices"),
135
- fr=a(e=>(0,Qe.isObjectWith)(e,["engine","tables","variables","services"]),"isCom\
136
- pleteService"),br=a((e,t,r,o)=>{let n=(0,f.getPropertyTuple)(e)??[],s=[];for(let i of n){
137
- let p=le(i,t,r,o);p&&s.push(p)}return s},"getAllTables"),Tr=a((e,t)=>{let r=ur(t),
138
- o=[];for(let{relations:n,schema:s,indexes:i}of t){if(!n)continue;let p=s.properties;
139
- for(let l of n){let{sourceTable:c,sourceColumn:k,targetColumn:oe,targetAlias:me}=l;
140
- p[oe]||o.push(new I(oe,e.file)),p[me]&&o.push(new C(me,e.file));let ae=r[c]?.schema.
141
- properties;ae||o.push(new z(c,e.file)),ae&&!ae[k]&&o.push(new I(k,e.file));let er=r[c]?.
142
- indexes??[];l.sourceIndex=Je(er,k),l.targetIndex=Je(i,oe)}}return o},"validateRe\
143
- lations"),Je=a((e,t)=>e.find(({name:r})=>r===t)?.type,"getIndexType"),ur=a(e=>e.
144
- reduce((t,r)=>({...t,[r.name]:r}),{}),"getTableMap");var Xe=a(e=>Y(e)?e.name:null,"getLinkedService");var yr=a(()=>{(0,Ye.registerTriggers)(),(0,Ze.registerTriggers)(),(0,Le.tryCreateTrigger)(
145
- "@ez4/database",{"metadata:getServices":ce,"metadata:getLinkedService":Xe})},"re\
1
+ "use strict";var ne=Object.defineProperty;var at=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames;var ot=Object.prototype.hasOwnProperty;var n=(e,r)=>ne(e,"name",{value:r,configurable:!0});var it=(e,r)=>{for(var t in r)ne(e,t,{get:r[t],enumerable:!0})},st=(e,r,t,a)=>{if(r&&
2
+ typeof r=="object"||typeof r=="function")for(let o of nt(r))!ot.call(e,o)&&o!==t&&
3
+ ne(e,o,{get:()=>r[o],enumerable:!(a=at(r,o))||a.enumerable});return e};var ct=e=>st(ne({},"__esModule",{value:!0}),e);var Et={};it(Et,{IncompleteEngineError:()=>U,IncompleteHandlerError:()=>ae,IncompleteScalabilityError:()=>$,
4
+ IncompleteServiceError:()=>A,IncompleteStreamError:()=>ee,IncompleteTableError:()=>B,
5
+ IncorrectEngineTypeError:()=>_,IncorrectIndexesTypeError:()=>Q,IncorrectRelationsTypeError:()=>z,
6
+ IncorrectScalabilityTypeError:()=>V,IncorrectSchemaTypeError:()=>L,IncorrectStreamTypeError:()=>re,
7
+ IncorrectTableTypeError:()=>J,InvalidEngineTypeError:()=>q,InvalidIndexReferenceError:()=>Y,
8
+ InvalidIndexTypeError:()=>X,InvalidIndexesTypeError:()=>K,InvalidRelationAliasError:()=>N,
9
+ InvalidRelationColumnError:()=>x,InvalidRelationTableError:()=>F,InvalidRelationTargetError:()=>H,
10
+ InvalidRelationsTypeError:()=>C,InvalidScalabilityTypeError:()=>W,InvalidSchemaTypeError:()=>Z,
11
+ InvalidStreamTypeError:()=>te,InvalidTableTypeError:()=>G,ServiceType:()=>be,createDatabaseService:()=>ue,
12
+ getDatabaseServicesMetadata:()=>Te,getDatabaseTableMetadata:()=>ye,getTableSchemaMetadata:()=>fe,
13
+ isDatabaseService:()=>lt,isDatabaseServiceDeclaration:()=>pe,isDatabaseTableDeclaration:()=>Ke,
14
+ isTableSchemaDeclaration:()=>Fe,registerTriggers:()=>Dt});module.exports=ct(Et);var Le=require("@ez4/common/library"),et=require("@ez4/schema/library"),tt=require("@ez4/project/library");var d=require("@ez4/common/library"),Xe=require("@ez4/reflection"),Ye=require("@ez4/utils");var Me=require("@ez4/project/library");var be="@ez4/database",lt=n(e=>e.type===be,"isDatabaseService"),ue=n(e=>({...(0,Me.createServiceMetadata)(
15
+ be,e),variables:{},services:{}}),"createDatabaseService");var xe=require("@ez4/common/library");var A=class extends xe.IncompleteTypeError{static{n(this,"IncompleteServiceError")}constructor(r,t){
16
+ super("Incomplete database service",r,t)}};var g=require("@ez4/common/library");var C=class extends g.InvalidTypeError{static{n(this,"InvalidRelationsTypeError")}constructor(r){
17
+ super("Invalid table relations type",void 0,"Database.Relations",r)}},z=class extends g.IncorrectTypeError{constructor(t,a){
18
+ super("Incorrect table relations type",t,"Database.Relations",a);this.relationType=
19
+ t}static{n(this,"IncorrectRelationsTypeError")}},H=class extends g.TypeError{constructor(t,a){
20
+ super(`Target ${t} must follow the pattern 'column@alias'.`,a);this.relationSource=
21
+ t}static{n(this,"InvalidRelationTargetError")}},F=class extends g.TypeError{constructor(t,a){
22
+ super(`Relation table ${t} don't exists.`,a);this.relationTable=t}static{n(this,
23
+ "InvalidRelationTableError")}},x=class extends g.TypeError{constructor(t,a){super(
24
+ `Relation column ${t} don't exists.`,a);this.relationColumn=t}static{n(this,"Inv\
25
+ alidRelationColumnError")}},N=class extends g.TypeError{constructor(t,a){super(`\
26
+ Relation alias ${t} can't override table columns.`,a);this.relationAlias=t}static{
27
+ n(this,"InvalidRelationAliasError")}};var u=require("@ez4/common/library"),S=require("@ez4/reflection"),oe=require("@ez4/utils");var h=require("@ez4/common/library");var $=class extends h.IncompleteTypeError{static{n(this,"IncompleteScalabilityEr\
28
+ ror")}constructor(r,t){super("Incomplete database scalability",r,t)}},W=class extends h.InvalidTypeError{static{
29
+ n(this,"InvalidScalabilityTypeError")}constructor(r){super("Invalid database sca\
30
+ lability type",void 0,"Database.Scalability",r)}},V=class extends h.IncorrectTypeError{constructor(t,a){
31
+ super("Incorrect database scalability type",t,"Database.Scalability",a);this.scalabilityType=
32
+ t}static{n(this,"IncorrectScalabilityTypeError")}};var pt=n(e=>(0,u.hasHeritageType)(e,"Database.Scalability"),"isDatabaseScalabili\
33
+ tyDeclaration"),ve=n((e,r,t,a)=>{if(!(0,S.isTypeReference)(e))return he(e,r,a);let o=(0,u.getReferenceType)(
34
+ e,t);if(o)return he(o,r,a)},"getDatabaseScalabilityMetadata"),mt=n(e=>(0,oe.isObjectWith)(
35
+ e,["minCapacity","maxCapacity"]),"isCompleteScalability"),he=n((e,r,t)=>{if((0,S.isTypeObject)(
36
+ e))return Se(e,r,(0,u.getObjectMembers)(e),t);if(!(0,u.isModelDeclaration)(e)){t.
37
+ push(new W(r.file));return}if(!pt(e)){t.push(new V(e.name,e.file));return}return Se(
38
+ e,r,(0,u.getModelMembers)(e),t)},"getTypeScalability"),Se=n((e,r,t,a)=>{let o={},
39
+ i=new Set(["minCapacity","maxCapacity"]);for(let s of t)if(!(!(0,S.isModelProperty)(
40
+ s)||s.inherited))switch(s.name){default:{a.push(new u.InvalidServicePropertyError(
41
+ r.name,s.name,e.file));break}case"minCapacity":case"maxCapacity":{let c=(0,u.getPropertyNumber)(
42
+ s);(0,oe.isAnyNumber)(c)&&(o[s.name]=c,i.delete(s.name));break}}if(!mt(o)){a.push(
43
+ new $([...i],e.file));return}return o},"getTypeFromMembers");var I=require("@ez4/reflection"),Ee=require("@ez4/utils"),m=require("@ez4/common/library");var v=require("@ez4/common/library");var U=class extends v.IncompleteTypeError{static{n(this,"IncompleteEngineError")}constructor(r,t){
44
+ super("Incomplete database engine",r,t)}},q=class extends v.InvalidTypeError{static{
45
+ n(this,"InvalidEngineTypeError")}constructor(r){super("Invalid database engine t\
46
+ ype",void 0,"Database.Engine",r)}},_=class extends v.IncorrectTypeError{constructor(t,a){
47
+ super("Incorrect database engine type",t,"Database.Engine",a);this.engineType=t}static{
48
+ n(this,"IncorrectEngineTypeError")}};var dt=n(e=>(0,m.hasHeritageType)(e,"Database.Engine"),"isDatabaseEngineDeclarat\
49
+ ion"),Re=n((e,r,t,a)=>{if(!(0,I.isTypeReference)(e))return Ie(e,r,a);let o=(0,m.getReferenceType)(
50
+ e,t);if(o)return Ie(o,r,a)},"getDatabaseEngineMetadata"),bt=n(e=>(0,Ee.isObjectWith)(
51
+ e,["name","parametersMode","transactionMode","insensitiveMode","paginationMode",
52
+ "orderMode"]),"isCompleteEngine"),Ie=n((e,r,t)=>{if((0,I.isTypeObject)(e))return De(
53
+ e,r,(0,m.getObjectMembers)(e),t);if(!(0,m.isModelDeclaration)(e)){t.push(new q(r.
54
+ file));return}if(!dt(e)){t.push(new _(e.name,e.file));return}return De(e,r,(0,m.getModelMembers)(
55
+ e),t)},"getTypeEngine"),De=n((e,r,t,a)=>{let o={},i=new Set(["name","parametersM\
56
+ ode","transactionMode","insensitiveMode","paginationMode","orderMode"]);for(let s of t)
57
+ if(!(!(0,I.isModelProperty)(s)||s.inherited))switch(s.name){default:{a.push(new m.InvalidServicePropertyError(
58
+ r.name,s.name,e.file));break}case"name":{(o.name=(0,m.getPropertyString)(s))&&i.
59
+ delete(s.name);break}case"parametersMode":{(o.parametersMode=(0,m.getPropertyStringIn)(
60
+ s,["index","both"]))&&i.delete(s.name);break}case"transactionMode":{(o.transactionMode=
61
+ (0,m.getPropertyStringIn)(s,["static","interactive"]))&&i.delete(s.name);break}case"\
62
+ insensitiveMode":{(o.insensitiveMode=(0,m.getPropertyStringIn)(s,["unsupported",
63
+ "enabled"]))&&i.delete(s.name);break}case"paginationMode":{(o.paginationMode=(0,m.getPropertyStringIn)(
64
+ s,["cursor","offset"]))&&i.delete(s.name);break}case"orderMode":{(o.orderMode=(0,m.getPropertyStringIn)(
65
+ s,["any","index"]))&&i.delete(s.name);break}case"lockMode":{(o.lockMode=(0,m.getPropertyStringIn)(
66
+ s,["unsupported","supported"]))&&i.delete(s.name);break}}if(!bt(o)){a.push(new U(
67
+ [...i],e.file));return}return o},"getTypeFromMembers");var f=require("@ez4/common/library"),j=require("@ez4/reflection"),Je=require("@ez4/utils");var D=require("@ez4/common/library");var B=class extends D.IncompleteTypeError{static{n(this,"IncompleteTableError")}constructor(r,t){
68
+ super("Incomplete database table",r,t)}},G=class extends D.InvalidTypeError{static{
69
+ n(this,"InvalidTableTypeError")}constructor(r){super("Invalid database table typ\
70
+ e",void 0,"Database.Table",r)}},J=class extends D.IncorrectTypeError{constructor(t,a){
71
+ super("Incorrect database table type",t,"Database.Table",a);this.tableType=t}static{
72
+ n(this,"IncorrectTableTypeError")}};var M=require("@ez4/common/library");var K=class extends M.InvalidTypeError{static{n(this,"InvalidIndexesTypeError")}constructor(r){
73
+ super("Invalid table indexes type",void 0,"Database.Indexes",r)}},Q=class extends M.IncorrectTypeError{constructor(t,a){
74
+ super("Incorrect table indexes type",t,"Database.Indexes",a);this.indexType=t}static{
75
+ n(this,"IncorrectIndexesTypeError")}},X=class extends M.TypeError{constructor(t,a){
76
+ super(`Invalid index type, ${t} must follow one of the Index options.`,a);this.indexName=
77
+ t}static{n(this,"InvalidIndexTypeError")}},Y=class extends M.TypeError{constructor(t,a){
78
+ super(`Invalid index reference, ${t} must be valid column.`,a);this.indexName=t}static{
79
+ n(this,"InvalidIndexReferenceError")}};var y=require("@ez4/common/library"),E=require("@ez4/reflection");var ut=n(e=>(0,y.hasHeritageType)(e,"Database.Relations"),"isTableRelationsDecla\
80
+ ration"),we=n((e,r,t,a)=>{if(!(0,E.isTypeReference)(e))return Oe(e,r,a);let o=(0,y.getReferenceType)(
81
+ e,t);if(o)return Oe(o,r,a)},"getTableRelationsMetadata"),Oe=n((e,r,t)=>{if((0,E.isTypeObject)(
82
+ e))return ke(e,(0,y.getObjectMembers)(e),t);if(!(0,y.isModelDeclaration)(e)){t.push(
83
+ new C(r.file));return}if(!ut(e)){t.push(new z(e.name,e.file));return}return ke(e,
84
+ (0,y.getModelMembers)(e),t)},"getTypeRelations"),ke=n((e,r,t)=>{let a=[];for(let o of r){
85
+ if(!(0,E.isModelProperty)(o)||o.inherited)continue;let i=(0,y.getPropertyString)(
86
+ o),s=o.name;if(!i){t.push(new H(s,e.file));return}let[c,l]=s.split("@",2),[b,P]=i.
87
+ split(":",2);a.push({sourceTable:b,sourceColumn:P,targetColumn:c,targetAlias:l})}
88
+ return a},"getTypeFromMembers");var T=require("@ez4/common/library"),R=require("@ez4/reflection");var ft=n(e=>(0,T.hasHeritageType)(e,"Database.Indexes"),"isTableIndexesDeclarati\
89
+ on"),Ae=n((e,r,t,a)=>{if(!(0,R.isTypeReference)(e))return je(e,r,a);let o=(0,T.getReferenceType)(
90
+ e,t);if(o)return je(o,r,a)},"getTableIndexesMetadata"),je=n((e,r,t)=>{if((0,R.isTypeObject)(
91
+ e))return Pe(e,(0,T.getObjectMembers)(e),t);if(!(0,T.isModelDeclaration)(e)){t.push(
92
+ new K(r.file));return}if(!ft(e)){t.push(new Q(e.name,e.file));return}return Pe(e,
93
+ (0,T.getModelMembers)(e),t)},"getTypeIndexes"),Pe=n((e,r,t)=>{let a=[];for(let o of r){
94
+ if(!(0,R.isModelProperty)(o)||o.inherited)continue;let i=o.name,s=(0,T.getPropertyString)(
95
+ o);switch(s){case"primary":case"secondary":case"unique":case"ttl":{a.push({name:i,
96
+ columns:i.split(":"),type:s});break}default:{t.push(new X(i,e.file));return}}}return a},
97
+ "getTypeFromMembers");var se=require("@ez4/reflection"),O=require("@ez4/common/library"),ce=require("@ez4/schema"),
98
+ He=require("@ez4/schema/library");var ie=require("@ez4/common/library");var Z=class extends ie.InvalidTypeError{static{n(this,"InvalidSchemaTypeError")}constructor(r){
99
+ super("Invalid table schema type",void 0,"Database.Schema",r)}},L=class extends ie.IncorrectTypeError{constructor(t,a){
100
+ super("Incorrect table schema type",t,"Database.Schema",a);this.schemaType=t}static{
101
+ n(this,"IncorrectSchemaTypeError")}};var Fe=n(e=>(0,O.hasHeritageType)(e,"Database.Schema"),"isTableSchemaDeclaration"),
102
+ fe=n((e,r,t,a)=>{if(!(0,se.isTypeReference)(e))return Ce(e,r,t,a);let o=(0,O.getReferenceType)(
103
+ e,t);if(o)return Ce(o,r,t,a)},"getTableSchemaMetadata"),Ce=n((e,r,t,a)=>{if((0,se.isTypeObject)(
104
+ e))return ze(e,t);if(!(0,O.isModelDeclaration)(e)){a.push(new Z(r.file));return}
105
+ if(!Fe(e)){a.push(new L(e.name,e.file));return}return ze(e,t)},"getTypeSchema"),
106
+ ze=n((e,r)=>{let t=(0,He.getObjectSchema)(e,r,(0,ce.createSchemaContext)({nullish:!0}));
107
+ if(t&&(0,ce.isObjectSchema)(t))return t},"getSchema");var p=require("@ez4/common/library"),w=require("@ez4/reflection"),qe=require("@ez4/utils");var k=require("@ez4/common/library");var ee=class extends k.IncompleteTypeError{static{n(this,"IncompleteStreamError")}constructor(r,t){
108
+ super("Incomplete table stream",r,t)}},te=class extends k.InvalidTypeError{static{
109
+ n(this,"InvalidStreamTypeError")}constructor(r){super("Invalid table stream type",
110
+ void 0,"Database.Stream",r)}},re=class extends k.IncorrectTypeError{constructor(t,a){
111
+ super("Incorrect table stream type",t,"Database.Stream",a);this.streamType=t}static{
112
+ n(this,"IncorrectStreamTypeError")}};var le=require("@ez4/reflection"),$e=require("@ez4/common/library");var Ne=require("@ez4/common/library");var ae=class extends Ne.IncompleteTypeError{static{n(this,"IncompleteHandlerErro\
113
+ r")}constructor(r,t){super("Incomplete stream handler",r,t)}};var yt=n(e=>(0,le.isTypeCallback)(e)||(0,le.isTypeFunction)(e),"isStreamHandlerD\
114
+ eclaration"),We=n((e,r,t)=>{if(!yt(e))return;let a=(0,$e.getFunctionSignature)(e),
115
+ o=new Set(["change"]);if(e.parameters&&o.delete("change"),!a||o.size){t.push(new ae(
116
+ [...o],e.file));return}return a},"getStreamHandlerMetadata");var Tt=n(e=>(0,p.hasHeritageType)(e,"Database.Stream"),"isTableStreamDeclaration"),
117
+ _e=n((e,r,t,a)=>{if(!(0,w.isTypeReference)(e))return Ve(e,r,t,a);let o=(0,p.getReferenceType)(
118
+ e,t);if(o)return Ve(o,r,t,a)},"getTableStreamMetadata"),gt=n(e=>(0,qe.isObjectWith)(
119
+ e,["handler"]),"isCompleteStream"),Ve=n((e,r,t,a)=>{if((0,w.isTypeObject)(e))return Ue(
120
+ e,r,(0,p.getObjectMembers)(e),t,a);if(!(0,p.isModelDeclaration)(e)){a.push(new te(
121
+ r.file));return}if(!Tt(e)){a.push(new re(e.name,e.file));return}return Ue(e,r,(0,p.getModelMembers)(
122
+ e),t,a)},"getTypeStream"),Ue=n((e,r,t,a,o)=>{let i={},s=new Set(["handler"]);for(let c of t)
123
+ if(!(!(0,w.isModelProperty)(c)||c.inherited))switch(c.name){default:{o.push(new p.InvalidServicePropertyError(
124
+ r.name,c.name,e.file));break}case"handler":{i.handler=We(c.value,a,o);break}case"\
125
+ listener":{i.listener=(0,p.getServiceListener)(c.value,o);break}case"memory":case"\
126
+ logRetention":case"timeout":{i[c.name]=(0,p.getPropertyNumber)(c);break}case"arc\
127
+ hitecture":{i[c.name]=(0,p.getServiceArchitecture)(c);break}case"runtime":{i[c.name]=
128
+ (0,p.getServiceRuntime)(c);break}case"variables":{i.variables=(0,p.getLinkedVariableList)(
129
+ c,o);break}}if(!gt(i)){o.push(new ee([...s],e.file));return}return i},"getTypeFr\
130
+ omMembers");var Ke=n(e=>(0,f.hasHeritageType)(e,"Database.Table"),"isDatabaseTableDeclaratio\
131
+ n"),ye=n((e,r,t,a)=>{if(!(0,j.isTypeReference)(e))return Be(e,r,t,a);let o=(0,f.getReferenceType)(
132
+ e,t);if(o)return Be(o,r,t,a)},"getDatabaseTableMetadata"),Mt=n(e=>(0,Je.isObjectWith)(
133
+ e,["name","schema","indexes"]),"isCompleteTable"),Be=n((e,r,t,a)=>{if((0,j.isTypeObject)(
134
+ e))return Ge(e,r,(0,f.getObjectMembers)(e),t,a);if(!(0,f.isModelDeclaration)(e)){
135
+ a.push(new G(r.file));return}if(!Ke(e)){a.push(new J(e.name,e.file));return}return Ge(
136
+ e,r,(0,f.getModelMembers)(e),t,a)},"getTypeTable"),Ge=n((e,r,t,a,o)=>{let i={},s=new Set(
137
+ ["name","schema","indexes"]);for(let l of t)if(!(!(0,j.isModelProperty)(l)||l.inherited))
138
+ switch(l.name){default:{o.push(new f.InvalidServicePropertyError(r.name,l.name,e.
139
+ file));break}case"name":{(i.name=(0,f.getPropertyString)(l))&&s.delete(l.name);break}case"\
140
+ schema":{(i.schema=fe(l.value,e,a,o))&&s.delete(l.name);break}case"indexes":{(i.
141
+ indexes=Ae(l.value,e,a,o))&&s.delete(l.name);break}case"relations":{i.relations=
142
+ we(l.value,e,a,o);break}case"stream":{i.stream=_e(l.value,r,a,o);break}}if(!Mt(i)){
143
+ o.push(new B([...s],e.file));return}let c=xt(e,i.indexes,i.schema);if(c.length){
144
+ o.push(...c);return}return i},"getTypeFromMembers"),xt=n((e,r,t)=>{let a=t.properties,
145
+ o=[];for(let{name:i,columns:s}of r)s.some(l=>!a[l])&&o.push(new Y(i,e.file));return o},
146
+ "validateIndexes");var pe=n(e=>(0,d.isClassDeclaration)(e)&&(0,d.hasHeritageType)(e,"Database.Servi\
147
+ ce"),"isDatabaseServiceDeclaration"),Te=n(e=>{let r={},t=[];for(let a in e){let o=e[a];
148
+ if(!pe(o)||(0,d.isExternalDeclaration)(o))continue;let i=ue(o.name),s=new Set(["\
149
+ engine","tables"]),c=o.file;for(let b of(0,d.getModelMembers)(o))if(!(!(0,Xe.isModelProperty)(
150
+ b)||b.inherited))switch(b.name){default:{t.push(new d.InvalidServicePropertyError(
151
+ i.name,b.name,c));break}case"client":break;case"scalability":{i.scalability=ve(b.
152
+ value,o,e,t);break}case"engine":{(i.engine=Re(b.value,o,e,t))&&s.delete(b.name);
153
+ break}case"tables":{(i.tables=St(b,o,e,t))&&s.delete(b.name);break}case"variable\
154
+ s":{i.variables=(0,d.getLinkedVariableList)(b,t);break}case"services":{i.services=
155
+ (0,d.getLinkedServiceList)(b,e,t);break}}if(!ht(i)){t.push(new A([...s],c));continue}
156
+ let l=vt(o,i.tables);if(l.length){t.push(...l);continue}if(r[o.name]){t.push(new d.DuplicateServiceError(
157
+ o.name,c));continue}r[o.name]=i}return{services:r,errors:t}},"getDatabaseService\
158
+ sMetadata"),ht=n(e=>(0,Ye.isObjectWith)(e,["engine","tables","variables","servic\
159
+ es"]),"isCompleteService"),St=n((e,r,t,a)=>{let o=(0,d.getPropertyTuple)(e)??[],
160
+ i=[];for(let s of o){let c=ye(s,r,t,a);c&&i.push(c)}return i},"getAllTables"),vt=n(
161
+ (e,r)=>{let t=It(r),a=[];for(let{relations:o,schema:i,indexes:s}of r){if(!o)continue;
162
+ let c=i.properties;for(let l of o){let{sourceTable:b,sourceColumn:P,targetColumn:me,
163
+ targetAlias:ge}=l;c[me]||a.push(new x(me,e.file)),c[ge]&&a.push(new N(ge,e.file));
164
+ let de=t[b]?.schema.properties;de||a.push(new F(b,e.file)),de&&!de[P]&&a.push(new x(
165
+ P,e.file));let rt=t[b]?.indexes??[];l.sourceIndex=Qe(rt,P),l.targetIndex=Qe(s,me)}}
166
+ return a},"validateRelations"),Qe=n((e,r)=>e.find(({name:t})=>t===r)?.type,"getI\
167
+ ndexType"),It=n(e=>e.reduce((r,t)=>({...r,[t.name]:t}),{}),"getTableMap");var Ze=n(e=>pe(e)?e.name:null,"getLinkedService");var Dt=n(()=>{(0,Le.registerTriggers)(),(0,et.registerTriggers)(),(0,tt.tryCreateTrigger)(
168
+ "@ez4/database",{"metadata:getServices":Te,"metadata:getLinkedService":Ze})},"re\
146
169
  gisterTriggers");0&&(module.exports={IncompleteEngineError,IncompleteHandlerError,IncompleteScalabilityError,
147
- IncompleteServiceError,IncompleteStreamError,IncompleteTableError,IncorrectIndexesTypeError,
148
- IncorrectRelationsTypeError,IncorrectSchemaTypeError,IncorrectStreamTypeError,Index,
170
+ IncompleteServiceError,IncompleteStreamError,IncompleteTableError,IncorrectEngineTypeError,
171
+ IncorrectIndexesTypeError,IncorrectRelationsTypeError,IncorrectScalabilityTypeError,
172
+ IncorrectSchemaTypeError,IncorrectStreamTypeError,IncorrectTableTypeError,InvalidEngineTypeError,
149
173
  InvalidIndexReferenceError,InvalidIndexTypeError,InvalidIndexesTypeError,InvalidRelationAliasError,
150
174
  InvalidRelationColumnError,InvalidRelationTableError,InvalidRelationTargetError,
151
- InvalidRelationsTypeError,InvalidSchemaTypeError,InvalidStreamTypeError,ServiceType,
152
- createDatabaseService,getDatabaseServices,getDatabaseTable,getTableSchema,isDatabaseService,
153
- registerTriggers});
175
+ InvalidRelationsTypeError,InvalidScalabilityTypeError,InvalidSchemaTypeError,InvalidStreamTypeError,
176
+ InvalidTableTypeError,ServiceType,createDatabaseService,getDatabaseServicesMetadata,
177
+ getDatabaseTableMetadata,getTableSchemaMetadata,isDatabaseService,isDatabaseServiceDeclaration,
178
+ isDatabaseTableDeclaration,isTableSchemaDeclaration,registerTriggers});
154
179
  //# sourceMappingURL=library.cjs.map
package/dist/library.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  export * from './triggers/register';
2
2
  export * from './metadata/service';
3
- export * from './metadata/table';
4
3
  export * from './metadata/schema';
4
+ export * from './metadata/table';
5
+ export * from './metadata/types';
5
6
  export * from './errors/service';
6
7
  export * from './errors/scalability';
7
8
  export * from './errors/engine';
@@ -13,8 +14,3 @@ export * from './errors/stream';
13
14
  export * from './errors/handler';
14
15
  export * from './services/relations';
15
16
  export * from './services/indexes';
16
- export * from './types/service';
17
- export * from './types/relations';
18
- export * from './types/indexes';
19
- export * from './types/schema';
20
- export * from './types/table';