@ez4/database 0.37.0 → 0.38.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
package/dist/library.mjs CHANGED
@@ -1,146 +1,171 @@
1
- var he=Object.defineProperty;var o=(e,t)=>he(e,"name",{value:t,configurable:!0});import{registerTriggers as dt}from"@ez4/common/library";import{registerTriggers as ft}from"@ez4/schema/library";
2
- import{tryCreateTrigger as bt}from"@ez4/project/library";import{DuplicateServiceError as Lr,InvalidServicePropertyError as et,isExternalDeclaration as rt,
3
- getLinkedServiceList as tt,getLinkedVariableList as nt,getPropertyTuple as ot,getModelMembers as at}from"@ez4/common/library";
4
- import{isModelProperty as st}from"@ez4/reflection";import{isObjectWith as it}from"@ez4/utils";import{createServiceMetadata as ve}from"@ez4/project/library";var V="@ez4/database",yt=o(e=>e.type===V,"isDatabaseService"),H=o(e=>({...ve(V,e),
5
- variables:{},services:{}}),"createDatabaseService");import{IncompleteTypeError as De}from"@ez4/common/library";var T=class extends De{static{o(this,"IncompleteServiceError")}constructor(t,r){
6
- super("Incomplete database service",t,r)}};import{IncorrectTypeError as Ee,InvalidTypeError as Re,TypeError as I}from"@ez4/common/library";var u=class extends Re{static{o(this,"InvalidRelationsTypeError")}constructor(t){
7
- super("Invalid table relations type",void 0,"Database.Relations",t)}},y=class extends Ee{constructor(r,a){
8
- super("Incorrect table relations type",r,"Database.Relations",a);this.schemaType=
9
- r}static{o(this,"IncorrectRelationsTypeError")}},x=class extends I{constructor(r,a){
10
- super(`Target ${r} must follow the pattern 'column@alias'.`,a);this.relationSource=
11
- r}static{o(this,"InvalidRelationTargetError")}},g=class extends I{constructor(r,a){
12
- super(`Relation table ${r} don't exists.`,a);this.relationTable=r}static{o(this,
13
- "InvalidRelationTableError")}},b=class extends I{constructor(r,a){super(`Relatio\
14
- n column ${r} don't exists.`,a);this.relationColumn=r}static{o(this,"InvalidRela\
15
- tionColumnError")}},M=class extends I{constructor(r,a){super(`Relation alias ${r}\
16
- can't override table columns.`,a);this.relationAlias=r}static{o(this,"InvalidRe\
17
- lationAliasError")}};import{InvalidServicePropertyError as je,getModelMembers as Ae,getPropertyNumber as ze,
18
- getObjectMembers as Ce,getReferenceType as Ne}from"@ez4/common/library";import{isModelProperty as Fe,
19
- isTypeObject as qe,isTypeReference as Ue}from"@ez4/reflection";import{isAnyNumber as U}from"@ez4/utils";import{IncompleteTypeError as Pe}from"@ez4/common/library";var S=class extends Pe{static{o(this,"IncompleteScalabilityError")}constructor(t,r){
20
- super("Incomplete database scalability",t,r)}};import{hasHeritageType as m,isClassDeclaration as ke,isModelDeclaration as W}from"@ez4/common/library";
21
- import{isTypeCallback as Oe,isTypeFunction as we}from"@ez4/reflection";var h=o(e=>ke(e)&&m(e,"Database.Service"),"isDatabaseService"),v=o(e=>W(e)&&m(e,
22
- "Database.Engine"),"isDatabaseEngine"),_=o(e=>W(e)&&m(e,"Database.Table"),"isDat\
23
- abaseTable"),B=o(e=>Oe(e)||we(e),"isStreamHandler"),G=o(e=>m(e,"Database.Relatio\
24
- ns"),"isTableRelations"),J=o(e=>m(e,"Database.Indexes"),"isTableIndexes"),K=o(e=>m(
25
- e,"Database.Schema"),"isTableSchema"),Q=o(e=>m(e,"Database.Stream"),"isTableStre\
26
- am");var Z=o((e,t,r,a)=>{if(!Ue(e))return X(e,t,a);let n=Ne(e,r);if(n)return X(n,t,a)},
27
- "getDatabaseScalability"),$e=o(e=>U(e.minCapacity)&&U(e.maxCapacity),"isValidSca\
28
- lability"),X=o((e,t,r)=>{if(v(e))return Y(e,t,Ae(e),r);if(qe(e))return Y(e,t,Ce(
29
- e),r)},"getTypeScalability"),Y=o((e,t,r,a)=>{let n={},s=new Set(["minCapacity","\
30
- maxCapacity"]);for(let i of r)if(!(!Fe(i)||i.inherited))switch(i.name){default:a.
31
- push(new je(t.name,i.name,e.file));break;case"minCapacity":case"maxCapacity":let p=ze(
32
- i);U(p)&&(n[i.name]=p,s.delete(i.name));break}if(!$e(n)){a.push(new S([...s],e.file));
33
- return}return n},"getTypeFromMembers");import{isModelProperty as He,isTypeObject as We,isTypeReference as _e}from"@ez4/reflection";
34
- import{InvalidServicePropertyError as Be,getModelMembers as Ge,getObjectMembers as Je,
35
- getPropertyString as Ke,getPropertyStringIn as d,getReferenceType as Qe}from"@ez4/common/library";import{IncompleteTypeError as Ve}from"@ez4/common/library";var D=class extends Ve{static{o(this,"IncompleteEngineError")}constructor(t,r){super(
36
- "Incomplete database engine",t,r)}};var re=o((e,t,r,a)=>{if(!_e(e))return L(e,t,a);let n=Qe(e,r);if(n)return L(n,t,a)},
37
- "getDatabaseEngine"),Xe=o(e=>!!e.name&&!!e.parametersMode&&!!e.transactionMode&&
38
- !!e.insensitiveMode&&!!e.paginationMode&&!!e.orderMode,"isValidEngine"),L=o((e,t,r)=>{
39
- if(v(e))return ee(e,t,Ge(e),r);if(We(e))return ee(e,t,Je(e),r)},"getTypeEngine"),
40
- ee=o((e,t,r,a)=>{let n={},s=new Set(["name","parametersMode","transactionMode","\
41
- insensitiveMode","paginationMode","orderMode"]);for(let i of r)if(!(!He(i)||i.inherited))
42
- switch(i.name){default:a.push(new Be(t.name,i.name,e.file));break;case"name":(n.
43
- name=Ke(i))&&s.delete(i.name);break;case"parametersMode":(n.parametersMode=d(i,[
44
- "index","both"]))&&s.delete(i.name);break;case"transactionMode":(n.transactionMode=
45
- d(i,["static","interactive"]))&&s.delete(i.name);break;case"insensitiveMode":(n.
46
- insensitiveMode=d(i,["unsupported","enabled"]))&&s.delete(i.name);break;case"pag\
47
- inationMode":(n.paginationMode=d(i,["cursor","offset"]))&&s.delete(i.name);break;case"\
48
- orderMode":(n.orderMode=d(i,["any","index"]))&&s.delete(i.name);break;case"lockM\
49
- ode":(n.lockMode=d(i,["unsupported","supported"]))&&s.delete(i.name);break}if(!Xe(
50
- n)){a.push(new D([...s],e.file));return}return n},"getTypeFromMembers");import{InvalidServicePropertyError as Wr,getModelMembers as _r,getObjectMembers as Br,
51
- getPropertyString as Gr,getReferenceType as Jr}from"@ez4/common/library";import{
52
- isModelProperty as Kr,isTypeObject as Qr,isTypeReference as Xr}from"@ez4/reflection";import{IncompleteTypeError as Ye}from"@ez4/common/library";var E=class extends Ye{static{o(this,"IncompleteTableError")}constructor(t,r){super(
53
- "Incomplete database table",t,r)}};import{IncorrectTypeError as Ze,InvalidTypeError as Le,TypeError as te}from"@ez4/common/library";var R=class extends Le{static{o(this,"InvalidIndexesTypeError")}constructor(t){super(
54
- "Invalid table indexes type",void 0,"Database.Indexes",t)}},P=class extends Ze{constructor(r,a){
55
- super("Incorrect table indexes type",r,"Database.Indexes",a);this.schemaType=r}static{
56
- o(this,"IncorrectIndexesTypeError")}},k=class extends te{constructor(r,a){super(
57
- `Invalid index type, ${r} must follow one of the Index options.`,a);this.indexName=
58
- r}static{o(this,"InvalidIndexTypeError")}},O=class extends te{constructor(r,a){super(
59
- `Invalid index reference, ${r} must be valid column.`,a);this.indexName=r}static{
60
- o(this,"InvalidIndexReferenceError")}};import{isModelDeclaration as er,getModelMembers as rr,getObjectMembers as tr,getPropertyString as nr,
61
- getReferenceType as or}from"@ez4/common/library";import{isModelProperty as ar,isTypeObject as sr,
62
- isTypeReference as ir}from"@ez4/reflection";var ae=o((e,t,r,a)=>{if(!ir(e))return ne(e,t,a);let n=or(e,r);if(n)return ne(n,t,
63
- a)},"getTableRelations"),ne=o((e,t,r)=>{if(sr(e))return oe(e,tr(e),r);if(!er(e)){
64
- r.push(new u(t.file));return}if(!G(e)){r.push(new y(e.name,e.file));return}return oe(
65
- e,rr(e),r)},"getTypeRelations"),oe=o((e,t,r)=>{let a=[];for(let n of t){if(!ar(n)||
66
- n.inherited)continue;let s=nr(n),i=n.name;if(!s){r.push(new x(i,e.file));return}
67
- let[p,l]=i.split("@",2),[c,f]=s.split(":",2);a.push({sourceTable:c,sourceColumn:f,
68
- targetColumn:p,targetAlias:l})}return a},"getTypeFromMembers");import{isModelDeclaration as lr,getModelMembers as cr,getObjectMembers as mr,getPropertyString as dr,
69
- getReferenceType as fr}from"@ez4/common/library";import{isModelProperty as br,isTypeObject as Tr,
70
- isTypeReference as ur}from"@ez4/reflection";var pr=(n=>(n.Primary="primary",n.Secondary="secondary",n.Unique="unique",n.TTL=
71
- "ttl",n))(pr||{});var pe=o((e,t,r,a)=>{if(!ur(e))return se(e,t,a);let n=fr(e,r);if(n)return se(n,t,
72
- a)},"getTableIndexes"),se=o((e,t,r)=>{if(Tr(e))return ie(e,mr(e),r);if(!lr(e)){r.
73
- push(new R(t.file));return}if(!J(e)){r.push(new P(e.name,e.file));return}return ie(
74
- e,cr(e),r)},"getTypeIndexes"),ie=o((e,t,r)=>{let a=[];for(let n of t){if(!br(n)||
75
- n.inherited)continue;let s=n.name,i=dr(n);switch(i){case"primary":case"secondary":case"\
76
- unique":case"ttl":a.push({name:s,columns:s.split(":"),type:i});break;default:r.push(
77
- new k(s,e.file));return}}return a},"getTypeFromMembers");import{isTypeObject as gr,isTypeReference as Mr}from"@ez4/reflection";import{getReferenceType as Ir,
78
- isModelDeclaration as Sr}from"@ez4/common/library";import{createSchemaContext as hr,
79
- isObjectSchema as vr}from"@ez4/schema";import{getObjectSchema as Dr}from"@ez4/schema/library";import{IncorrectTypeError as yr,InvalidTypeError as xr}from"@ez4/common/library";var w=class extends xr{static{o(this,"InvalidSchemaTypeError")}constructor(t){super(
80
- "Invalid table schema type",void 0,"Database.Schema",t)}},j=class extends yr{constructor(r,a){
81
- super("Incorrect table schema type",r,"Database.Schema",a);this.schemaType=r}static{
82
- o(this,"IncorrectSchemaTypeError")}};var me=o((e,t,r,a)=>{if(!Mr(e))return le(e,t,r,a);let n=Ir(e,r);if(n)return le(n,
83
- t,r,a)},"getTableSchema"),le=o((e,t,r,a)=>{if(gr(e))return ce(e,r);if(!Sr(e)){a.
84
- push(new w(t.file));return}if(!K(e)){a.push(new j(e.name,e.file));return}return ce(
85
- e,r)},"getTypeSchema"),ce=o((e,t)=>{let r=Dr(e,t,hr({nullish:!0}));if(r&&vr(r))return r},
86
- "getSchema");import{InvalidServicePropertyError as wr,isModelDeclaration as jr,getLinkedVariableList as Ar,
87
- getModelMembers as zr,getObjectMembers as Cr,getPropertyNumber as Nr,getServiceListener as Fr,
88
- getReferenceType as qr}from"@ez4/common/library";import{isModelProperty as Ur,isTypeObject as $r,
89
- isTypeReference as Vr}from"@ez4/reflection";import{IncompleteTypeError as Er,IncorrectTypeError as Rr,InvalidTypeError as Pr}from"@ez4/common/library";var A=class extends Er{static{o(this,"IncompleteStreamError")}constructor(t,r){super(
90
- "Incomplete table stream",t,r)}},z=class extends Pr{static{o(this,"InvalidStream\
91
- TypeError")}constructor(t){super("Invalid table stream type",void 0,"Database.St\
92
- ream",t)}},C=class extends Rr{constructor(r,a){super("Incorrect table stream typ\
93
- e",r,"Database.Stream",a);this.streamType=r}static{o(this,"IncorrectStreamTypeEr\
94
- ror")}};import{getFunctionSignature as Or}from"@ez4/common/library";import{IncompleteTypeError as kr}from"@ez4/common/library";var N=class extends kr{static{o(this,"IncompleteHandlerError")}constructor(t,r){
95
- super("Incomplete stream handler",t,r)}};var de=o((e,t,r)=>{if(!B(e))return;let a=Or(e),n=new Set(["change"]);if(e.parameters&&
96
- n.delete("change"),!a||n.size){r.push(new N([...n],e.file));return}return a},"ge\
97
- tStreamHandler");var Te=o((e,t,r,a)=>{if(!Vr(e))return fe(e,t,r,a);let n=qr(e,r);if(n)return fe(n,
98
- t,r,a)},"getTableStream"),Hr=o(e=>!!e.handler,"isValidStream"),fe=o((e,t,r,a)=>{
99
- if($r(e))return be(e,t,Cr(e),r,a);if(!jr(e)){a.push(new z(t.file));return}if(!Q(
100
- e)){a.push(new C(e.name,e.file));return}return be(e,t,zr(e),r,a)},"getTypeStream"),
101
- be=o((e,t,r,a,n)=>{let s={},i=new Set(["handler"]);for(let p of r)if(!(!Ur(p)||p.
102
- inherited))switch(p.name){default:n.push(new wr(t.name,p.name,e.file));break;case"\
103
- handler":s.handler=de(p.value,a,n);break;case"listener":s.listener=Fr(p.value,n);
104
- break;case"memory":case"logRetention":case"timeout":s[p.name]=Nr(p);break;case"v\
105
- ariables":s.variables=Ar(p,n);break}if(Hr(s))return s;n.push(new A([...i],e.file))},
106
- "getTypeFromMembers");var xe=o((e,t,r,a)=>{if(!Xr(e))return ue(e,t,r,a);let n=Jr(e,r);if(n)return ue(n,
107
- t,r,a)},"getDatabaseTable"),Yr=o(e=>!!e.name&&!!e.schema&&!!e.indexes,"isValidTa\
108
- ble"),ue=o((e,t,r,a)=>{if(_(e))return ye(e,t,_r(e),r,a);if(Qr(e))return ye(e,t,Br(
109
- e),r,a)},"getTypeTable"),ye=o((e,t,r,a,n)=>{let s={},i=new Set(["name","schema",
110
- "indexes"]);for(let l of r)if(!(!Kr(l)||l.inherited))switch(l.name){default:n.push(
111
- new Wr(t.name,l.name,e.file));break;case"name":(s.name=Gr(l))&&i.delete(l.name);
112
- break;case"schema":(s.schema=me(l.value,e,a,n))&&i.delete(l.name);break;case"ind\
113
- exes":(s.indexes=pe(l.value,e,a,n))&&i.delete(l.name);break;case"relations":s.relations=
114
- ae(l.value,e,a,n);break;case"stream":s.stream=Te(l.value,t,a,n);break}if(!Yr(s)){
115
- n.push(new E([...i],e.file));return}let p=Zr(e,s.indexes,s.schema);if(p.length){
116
- n.push(...p);return}return s},"getTypeFromMembers"),Zr=o((e,t,r)=>{let a=r.properties,
117
- n=[];for(let{name:s,columns:i}of t)i.some(l=>!a[l])&&n.push(new O(s,e.file));return n},
118
- "validateIndexes");var Me=o(e=>{let t={},r=[];for(let a in e){let n=e[a];if(!h(n)||rt(n))continue;let s=H(
119
- n.name),i=new Set(["engine","tables"]),p=n.file;for(let c of at(n))if(!(!st(c)||
120
- c.inherited))switch(c.name){default:r.push(new et(s.name,c.name,p));break;case"c\
121
- lient":break;case"scalability":s.scalability=Z(c.value,n,e,r);break;case"engine":
122
- (s.engine=re(c.value,n,e,r))&&i.delete(c.name);break;case"tables":(s.tables=lt(c,
123
- n,e,r))&&i.delete(c.name);break;case"variables":s.variables=nt(c,r);break;case"s\
124
- ervices":s.services=tt(c,e,r);break}if(!pt(s)){r.push(new T([...i],p));continue}
125
- let l=ct(n,s.tables);if(l.length){r.push(...l);continue}if(t[n.name]){r.push(new Lr(
126
- n.name,p));continue}t[n.name]=s}return{services:t,errors:r}},"getDatabaseService\
127
- s"),pt=o(e=>it(e,["engine","tables","variables","services"]),"isCompleteService"),
128
- lt=o((e,t,r,a)=>{let n=ot(e)??[],s=[];for(let i of n){let p=xe(i,t,r,a);p&&s.push(
129
- p)}return s},"getAllTables"),ct=o((e,t)=>{let r=mt(t),a=[];for(let{relations:n,schema:s,
130
- indexes:i}of t){if(!n)continue;let p=s.properties;for(let l of n){let{sourceTable:c,
131
- sourceColumn:f,targetColumn:F,targetAlias:$}=l;p[F]||a.push(new b(F,e.file)),p[$]&&
132
- a.push(new M($,e.file));let q=r[c]?.schema.properties;q||a.push(new g(c,e.file)),
133
- q&&!q[f]&&a.push(new b(f,e.file));let Se=r[c]?.indexes??[];l.sourceIndex=ge(Se,f),
134
- l.targetIndex=ge(i,F)}}return a},"validateRelations"),ge=o((e,t)=>e.find(({name:r})=>r===
135
- t)?.type,"getIndexType"),mt=o(e=>e.reduce((t,r)=>({...t,[r.name]:r}),{}),"getTab\
136
- leMap");var Ie=o(e=>h(e)?e.name:null,"getLinkedService");var So=o(()=>{dt(),ft(),bt("@ez4/database",{"metadata:getServices":Me,"metadata:\
137
- getLinkedService":Ie})},"registerTriggers");export{D as IncompleteEngineError,N as IncompleteHandlerError,S as IncompleteScalabilityError,
138
- T as IncompleteServiceError,A as IncompleteStreamError,E as IncompleteTableError,
139
- P as IncorrectIndexesTypeError,y as IncorrectRelationsTypeError,j as IncorrectSchemaTypeError,
140
- C as IncorrectStreamTypeError,pr as Index,O as InvalidIndexReferenceError,k as InvalidIndexTypeError,
141
- R as InvalidIndexesTypeError,M as InvalidRelationAliasError,b as InvalidRelationColumnError,
142
- g as InvalidRelationTableError,x as InvalidRelationTargetError,u as InvalidRelationsTypeError,
143
- w as InvalidSchemaTypeError,z as InvalidStreamTypeError,V as ServiceType,H as createDatabaseService,
144
- Me as getDatabaseServices,xe as getDatabaseTable,me as getTableSchema,yt as isDatabaseService,
145
- So as registerTriggers};
1
+ var Me=Object.defineProperty;var n=(e,r)=>Me(e,"name",{value:r,configurable:!0});import{registerTriggers as $r}from"@ez4/common/library";import{registerTriggers as Wr}from"@ez4/schema/library";
2
+ import{tryCreateTrigger as Vr}from"@ez4/project/library";import{DuplicateServiceError as Ir,InvalidServicePropertyError as Dr,isExternalDeclaration as Er,
3
+ isClassDeclaration as Rr,getLinkedServiceList as Or,getLinkedVariableList as kr,
4
+ getPropertyTuple as wr,getModelMembers as jr,hasHeritageType as Pr}from"@ez4/common/library";
5
+ import{isModelProperty as Ar}from"@ez4/reflection";import{isObjectWith as Cr}from"@ez4/utils";import{createServiceMetadata as xe}from"@ez4/project/library";var _="@ez4/database",_r=n(e=>e.type===_,"isDatabaseService"),B=n(e=>({...xe(_,e),
6
+ variables:{},services:{}}),"createDatabaseService");import{IncompleteTypeError as he}from"@ez4/common/library";var u=class extends he{static{n(this,"IncompleteServiceError")}constructor(r,t){
7
+ super("Incomplete database service",r,t)}};import{IncorrectTypeError as Se,InvalidTypeError as ve,TypeError as x}from"@ez4/common/library";var f=class extends ve{static{n(this,"InvalidRelationsTypeError")}constructor(r){
8
+ super("Invalid table relations type",void 0,"Database.Relations",r)}},y=class extends Se{constructor(t,a){
9
+ super("Incorrect table relations type",t,"Database.Relations",a);this.relationType=
10
+ t}static{n(this,"IncorrectRelationsTypeError")}},T=class extends x{constructor(t,a){
11
+ super(`Target ${t} must follow the pattern 'column@alias'.`,a);this.relationSource=
12
+ t}static{n(this,"InvalidRelationTargetError")}},g=class extends x{constructor(t,a){
13
+ super(`Relation table ${t} don't exists.`,a);this.relationTable=t}static{n(this,
14
+ "InvalidRelationTableError")}},b=class extends x{constructor(t,a){super(`Relatio\
15
+ n column ${t} don't exists.`,a);this.relationColumn=t}static{n(this,"InvalidRela\
16
+ tionColumnError")}},M=class extends x{constructor(t,a){super(`Relation alias ${t}\
17
+ can't override table columns.`,a);this.relationAlias=t}static{n(this,"InvalidRe\
18
+ lationAliasError")}};import{InvalidServicePropertyError as Re,isModelDeclaration as Oe,getModelMembers as ke,
19
+ getPropertyNumber as we,getObjectMembers as je,getReferenceType as Pe,hasHeritageType as Ae}from"@ez4/common/library";
20
+ import{isModelProperty as Ce,isTypeObject as ze,isTypeReference as He}from"@ez4/reflection";
21
+ import{isAnyNumber as Fe,isObjectWith as Ne}from"@ez4/utils";import{IncompleteTypeError as Ie,IncorrectTypeError as De,InvalidTypeError as Ee}from"@ez4/common/library";var h=class extends Ie{static{n(this,"IncompleteScalabilityError")}constructor(r,t){
22
+ super("Incomplete database scalability",r,t)}},S=class extends Ee{static{n(this,
23
+ "InvalidScalabilityTypeError")}constructor(r){super("Invalid database scalabilit\
24
+ y type",void 0,"Database.Scalability",r)}},v=class extends De{constructor(t,a){super(
25
+ "Incorrect database scalability type",t,"Database.Scalability",a);this.scalabilityType=
26
+ t}static{n(this,"IncorrectScalabilityTypeError")}};var $e=n(e=>Ae(e,"Database.Scalability"),"isDatabaseScalabilityDeclaration"),K=n(
27
+ (e,r,t,a)=>{if(!He(e))return G(e,r,a);let o=Pe(e,t);if(o)return G(o,r,a)},"getDa\
28
+ tabaseScalabilityMetadata"),We=n(e=>Ne(e,["minCapacity","maxCapacity"]),"isCompl\
29
+ eteScalability"),G=n((e,r,t)=>{if(ze(e))return J(e,r,je(e),t);if(!Oe(e)){t.push(
30
+ new S(r.file));return}if(!$e(e)){t.push(new v(e.name,e.file));return}return J(e,
31
+ r,ke(e),t)},"getTypeScalability"),J=n((e,r,t,a)=>{let o={},i=new Set(["minCapaci\
32
+ ty","maxCapacity"]);for(let s of t)if(!(!Ce(s)||s.inherited))switch(s.name){default:{
33
+ a.push(new Re(r.name,s.name,e.file));break}case"minCapacity":case"maxCapacity":{
34
+ let c=we(s);Fe(c)&&(o[s.name]=c,i.delete(s.name));break}}if(!We(o)){a.push(new h(
35
+ [...i],e.file));return}return o},"getTypeFromMembers");import{isModelProperty as _e,isTypeObject as Be,isTypeReference as Ge}from"@ez4/reflection";
36
+ import{isObjectWith as Je}from"@ez4/utils";import{InvalidServicePropertyError as Ke,
37
+ isModelDeclaration as Qe,getModelMembers as Xe,getObjectMembers as Ye,getPropertyString as Ze,
38
+ getPropertyStringIn as m,getReferenceType as Le,hasHeritageType as et}from"@ez4/common/library";import{IncompleteTypeError as Ve,IncorrectTypeError as Ue,InvalidTypeError as qe}from"@ez4/common/library";var I=class extends Ve{static{n(this,"IncompleteEngineError")}constructor(r,t){super(
39
+ "Incomplete database engine",r,t)}},D=class extends qe{static{n(this,"InvalidEng\
40
+ ineTypeError")}constructor(r){super("Invalid database engine type",void 0,"Datab\
41
+ ase.Engine",r)}},E=class extends Ue{constructor(t,a){super("Incorrect database e\
42
+ ngine type",t,"Database.Engine",a);this.engineType=t}static{n(this,"IncorrectEng\
43
+ ineTypeError")}};var tt=n(e=>et(e,"Database.Engine"),"isDatabaseEngineDeclaration"),Y=n((e,r,t,a)=>{
44
+ if(!Ge(e))return Q(e,r,a);let o=Le(e,t);if(o)return Q(o,r,a)},"getDatabaseEngine\
45
+ Metadata"),rt=n(e=>Je(e,["name","parametersMode","transactionMode","insensitiveM\
46
+ ode","paginationMode","orderMode"]),"isCompleteEngine"),Q=n((e,r,t)=>{if(Be(e))return X(
47
+ e,r,Ye(e),t);if(!Qe(e)){t.push(new D(r.file));return}if(!tt(e)){t.push(new E(e.name,
48
+ e.file));return}return X(e,r,Xe(e),t)},"getTypeEngine"),X=n((e,r,t,a)=>{let o={},
49
+ i=new Set(["name","parametersMode","transactionMode","insensitiveMode","paginati\
50
+ onMode","orderMode"]);for(let s of t)if(!(!_e(s)||s.inherited))switch(s.name){default:{
51
+ a.push(new Ke(r.name,s.name,e.file));break}case"name":{(o.name=Ze(s))&&i.delete(
52
+ s.name);break}case"parametersMode":{(o.parametersMode=m(s,["index","both"]))&&i.
53
+ delete(s.name);break}case"transactionMode":{(o.transactionMode=m(s,["static","in\
54
+ teractive"]))&&i.delete(s.name);break}case"insensitiveMode":{(o.insensitiveMode=
55
+ m(s,["unsupported","enabled"]))&&i.delete(s.name);break}case"paginationMode":{(o.
56
+ paginationMode=m(s,["cursor","offset"]))&&i.delete(s.name);break}case"orderMode":{
57
+ (o.orderMode=m(s,["any","index"]))&&i.delete(s.name);break}case"lockMode":{(o.lockMode=
58
+ m(s,["unsupported","supported"]))&&i.delete(s.name);break}}if(!rt(o)){a.push(new I(
59
+ [...i],e.file));return}return o},"getTypeFromMembers");import{InvalidServicePropertyError as pr,isModelDeclaration as mr,getModelMembers as dr,
60
+ getObjectMembers as br,getPropertyString as ur,getReferenceType as fr,hasHeritageType as yr}from"@ez4/common/library";
61
+ import{isModelProperty as Tr,isTypeObject as gr,isTypeReference as Mr}from"@ez4/reflection";
62
+ import{isObjectWith as xr}from"@ez4/utils";import{IncompleteTypeError as at,IncorrectTypeError as nt,InvalidTypeError as ot}from"@ez4/common/library";var R=class extends at{static{n(this,"IncompleteTableError")}constructor(r,t){super(
63
+ "Incomplete database table",r,t)}},O=class extends ot{static{n(this,"InvalidTabl\
64
+ eTypeError")}constructor(r){super("Invalid database table type",void 0,"Database\
65
+ .Table",r)}},k=class extends nt{constructor(t,a){super("Incorrect database table\
66
+ type",t,"Database.Table",a);this.tableType=t}static{n(this,"IncorrectTableTypeE\
67
+ rror")}};import{IncorrectTypeError as it,InvalidTypeError as st,TypeError as Z}from"@ez4/common/library";var w=class extends st{static{n(this,"InvalidIndexesTypeError")}constructor(r){super(
68
+ "Invalid table indexes type",void 0,"Database.Indexes",r)}},j=class extends it{constructor(t,a){
69
+ super("Incorrect table indexes type",t,"Database.Indexes",a);this.indexType=t}static{
70
+ n(this,"IncorrectIndexesTypeError")}},P=class extends Z{constructor(t,a){super(`\
71
+ Invalid index type, ${t} must follow one of the Index options.`,a);this.indexName=
72
+ t}static{n(this,"InvalidIndexTypeError")}},A=class extends Z{constructor(t,a){super(
73
+ `Invalid index reference, ${t} must be valid column.`,a);this.indexName=t}static{
74
+ n(this,"InvalidIndexReferenceError")}};import{isModelDeclaration as ct,getModelMembers as lt,getObjectMembers as pt,getPropertyString as mt,
75
+ getReferenceType as dt,hasHeritageType as bt}from"@ez4/common/library";import{isModelProperty as ut,
76
+ isTypeObject as ft,isTypeReference as yt}from"@ez4/reflection";var Tt=n(e=>bt(e,"Database.Relations"),"isTableRelationsDeclaration"),te=n((e,r,t,a)=>{
77
+ if(!yt(e))return L(e,r,a);let o=dt(e,t);if(o)return L(o,r,a)},"getTableRelations\
78
+ Metadata"),L=n((e,r,t)=>{if(ft(e))return ee(e,pt(e),t);if(!ct(e)){t.push(new f(r.
79
+ file));return}if(!Tt(e)){t.push(new y(e.name,e.file));return}return ee(e,lt(e),t)},
80
+ "getTypeRelations"),ee=n((e,r,t)=>{let a=[];for(let o of r){if(!ut(o)||o.inherited)
81
+ continue;let i=mt(o),s=o.name;if(!i){t.push(new T(s,e.file));return}let[c,l]=s.split(
82
+ "@",2),[p,d]=i.split(":",2);a.push({sourceTable:p,sourceColumn:d,targetColumn:c,
83
+ targetAlias:l})}return a},"getTypeFromMembers");import{isModelDeclaration as gt,getModelMembers as Mt,getObjectMembers as xt,getPropertyString as ht,
84
+ getReferenceType as St,hasHeritageType as vt}from"@ez4/common/library";import{isModelProperty as It,
85
+ isTypeObject as Dt,isTypeReference as Et}from"@ez4/reflection";var Rt=n(e=>vt(e,"Database.Indexes"),"isTableIndexesDeclaration"),ne=n((e,r,t,a)=>{
86
+ if(!Et(e))return re(e,r,a);let o=St(e,t);if(o)return re(o,r,a)},"getTableIndexes\
87
+ Metadata"),re=n((e,r,t)=>{if(Dt(e))return ae(e,xt(e),t);if(!gt(e)){t.push(new w(
88
+ r.file));return}if(!Rt(e)){t.push(new j(e.name,e.file));return}return ae(e,Mt(e),
89
+ t)},"getTypeIndexes"),ae=n((e,r,t)=>{let a=[];for(let o of r){if(!It(o)||o.inherited)
90
+ continue;let i=o.name,s=ht(o);switch(s){case"primary":case"secondary":case"uniqu\
91
+ e":case"ttl":{a.push({name:i,columns:i.split(":"),type:s});break}default:{t.push(
92
+ new P(i,e.file));return}}}return a},"getTypeFromMembers");import{isTypeObject as wt,isTypeReference as jt}from"@ez4/reflection";import{getReferenceType as Pt,
93
+ hasHeritageType as At,isModelDeclaration as Ct}from"@ez4/common/library";import{
94
+ createSchemaContext as zt,isObjectSchema as Ht}from"@ez4/schema";import{getObjectSchema as Ft}from"@ez4/schema/library";import{IncorrectTypeError as Ot,InvalidTypeError as kt}from"@ez4/common/library";var C=class extends kt{static{n(this,"InvalidSchemaTypeError")}constructor(r){super(
95
+ "Invalid table schema type",void 0,"Database.Schema",r)}},z=class extends Ot{constructor(t,a){
96
+ super("Incorrect table schema type",t,"Database.Schema",a);this.schemaType=t}static{
97
+ n(this,"IncorrectSchemaTypeError")}};var Nt=n(e=>At(e,"Database.Schema"),"isTableSchemaDeclaration"),se=n((e,r,t,a)=>{
98
+ if(!jt(e))return oe(e,r,t,a);let o=Pt(e,t);if(o)return oe(o,r,t,a)},"getTableSch\
99
+ emaMetadata"),oe=n((e,r,t,a)=>{if(wt(e))return ie(e,t);if(!Ct(e)){a.push(new C(r.
100
+ file));return}if(!Nt(e)){a.push(new z(e.name,e.file));return}return ie(e,t)},"ge\
101
+ tTypeSchema"),ie=n((e,r)=>{let t=Ft(e,r,zt({nullish:!0}));if(t&&Ht(t))return t},
102
+ "getSchema");import{InvalidServicePropertyError as Jt,isModelDeclaration as Kt,getLinkedVariableList as Qt,
103
+ getModelMembers as Xt,getObjectMembers as Yt,getPropertyNumber as Zt,getServiceListener as Lt,
104
+ getServiceArchitecture as er,getServiceRuntime as tr,getReferenceType as rr,hasHeritageType as ar}from"@ez4/common/library";
105
+ import{isModelProperty as nr,isTypeObject as or,isTypeReference as ir}from"@ez4/reflection";
106
+ import{isObjectWith as sr}from"@ez4/utils";import{IncompleteTypeError as $t,IncorrectTypeError as Wt,InvalidTypeError as Vt}from"@ez4/common/library";var H=class extends $t{static{n(this,"IncompleteStreamError")}constructor(r,t){super(
107
+ "Incomplete table stream",r,t)}},F=class extends Vt{static{n(this,"InvalidStream\
108
+ TypeError")}constructor(r){super("Invalid table stream type",void 0,"Database.St\
109
+ ream",r)}},N=class extends Wt{constructor(t,a){super("Incorrect table stream typ\
110
+ e",t,"Database.Stream",a);this.streamType=t}static{n(this,"IncorrectStreamTypeEr\
111
+ ror")}};import{isTypeCallback as qt,isTypeFunction as _t}from"@ez4/reflection";import{getFunctionSignature as Bt}from"@ez4/common/library";import{IncompleteTypeError as Ut}from"@ez4/common/library";var $=class extends Ut{static{n(this,"IncompleteHandlerError")}constructor(r,t){
112
+ super("Incomplete stream handler",r,t)}};var Gt=n(e=>qt(e)||_t(e),"isStreamHandlerDeclaration"),ce=n((e,r,t)=>{if(!Gt(e))
113
+ return;let a=Bt(e),o=new Set(["change"]);if(e.parameters&&o.delete("change"),!a||
114
+ o.size){t.push(new $([...o],e.file));return}return a},"getStreamHandlerMetadata");var cr=n(e=>ar(e,"Database.Stream"),"isTableStreamDeclaration"),me=n((e,r,t,a)=>{
115
+ if(!ir(e))return le(e,r,t,a);let o=rr(e,t);if(o)return le(o,r,t,a)},"getTableStr\
116
+ eamMetadata"),lr=n(e=>sr(e,["handler"]),"isCompleteStream"),le=n((e,r,t,a)=>{if(or(
117
+ e))return pe(e,r,Yt(e),t,a);if(!Kt(e)){a.push(new F(r.file));return}if(!cr(e)){a.
118
+ push(new N(e.name,e.file));return}return pe(e,r,Xt(e),t,a)},"getTypeStream"),pe=n(
119
+ (e,r,t,a,o)=>{let i={},s=new Set(["handler"]);for(let c of t)if(!(!nr(c)||c.inherited))
120
+ switch(c.name){default:{o.push(new Jt(r.name,c.name,e.file));break}case"handler":{
121
+ i.handler=ce(c.value,a,o);break}case"listener":{i.listener=Lt(c.value,o);break}case"\
122
+ memory":case"logRetention":case"timeout":{i[c.name]=Zt(c);break}case"architectur\
123
+ e":{i[c.name]=er(c);break}case"runtime":{i[c.name]=tr(c);break}case"variables":{
124
+ i.variables=Qt(c,o);break}}if(!lr(i)){o.push(new H([...s],e.file));return}return i},
125
+ "getTypeFromMembers");var hr=n(e=>yr(e,"Database.Table"),"isDatabaseTableDeclaration"),ue=n((e,r,t,a)=>{
126
+ if(!Mr(e))return de(e,r,t,a);let o=fr(e,t);if(o)return de(o,r,t,a)},"getDatabase\
127
+ TableMetadata"),Sr=n(e=>xr(e,["name","schema","indexes"]),"isCompleteTable"),de=n(
128
+ (e,r,t,a)=>{if(gr(e))return be(e,r,br(e),t,a);if(!mr(e)){a.push(new O(r.file));return}
129
+ if(!hr(e)){a.push(new k(e.name,e.file));return}return be(e,r,dr(e),t,a)},"getTyp\
130
+ eTable"),be=n((e,r,t,a,o)=>{let i={},s=new Set(["name","schema","indexes"]);for(let l of t)
131
+ if(!(!Tr(l)||l.inherited))switch(l.name){default:{o.push(new pr(r.name,l.name,e.
132
+ file));break}case"name":{(i.name=ur(l))&&s.delete(l.name);break}case"schema":{(i.
133
+ schema=se(l.value,e,a,o))&&s.delete(l.name);break}case"indexes":{(i.indexes=ne(l.
134
+ value,e,a,o))&&s.delete(l.name);break}case"relations":{i.relations=te(l.value,e,
135
+ a,o);break}case"stream":{i.stream=me(l.value,r,a,o);break}}if(!Sr(i)){o.push(new R(
136
+ [...s],e.file));return}let c=vr(e,i.indexes,i.schema);if(c.length){o.push(...c);
137
+ return}return i},"getTypeFromMembers"),vr=n((e,r,t)=>{let a=t.properties,o=[];for(let{
138
+ name:i,columns:s}of r)s.some(l=>!a[l])&&o.push(new A(i,e.file));return o},"valid\
139
+ ateIndexes");var U=n(e=>Rr(e)&&Pr(e,"Database.Service"),"isDatabaseServiceDeclaration"),ye=n(
140
+ e=>{let r={},t=[];for(let a in e){let o=e[a];if(!U(o)||Er(o))continue;let i=B(o.
141
+ name),s=new Set(["engine","tables"]),c=o.file;for(let p of jr(o))if(!(!Ar(p)||p.
142
+ inherited))switch(p.name){default:{t.push(new Dr(i.name,p.name,c));break}case"cl\
143
+ ient":break;case"scalability":{i.scalability=K(p.value,o,e,t);break}case"engine":{
144
+ (i.engine=Y(p.value,o,e,t))&&s.delete(p.name);break}case"tables":{(i.tables=Hr(p,
145
+ o,e,t))&&s.delete(p.name);break}case"variables":{i.variables=kr(p,t);break}case"\
146
+ services":{i.services=Or(p,e,t);break}}if(!zr(i)){t.push(new u([...s],c));continue}
147
+ let l=Fr(o,i.tables);if(l.length){t.push(...l);continue}if(r[o.name]){t.push(new Ir(
148
+ o.name,c));continue}r[o.name]=i}return{services:r,errors:t}},"getDatabaseService\
149
+ sMetadata"),zr=n(e=>Cr(e,["engine","tables","variables","services"]),"isComplete\
150
+ Service"),Hr=n((e,r,t,a)=>{let o=wr(e)??[],i=[];for(let s of o){let c=ue(s,r,t,a);
151
+ c&&i.push(c)}return i},"getAllTables"),Fr=n((e,r)=>{let t=Nr(r),a=[];for(let{relations:o,
152
+ schema:i,indexes:s}of r){if(!o)continue;let c=i.properties;for(let l of o){let{sourceTable:p,
153
+ sourceColumn:d,targetColumn:W,targetAlias:q}=l;c[W]||a.push(new b(W,e.file)),c[q]&&
154
+ a.push(new M(q,e.file));let V=t[p]?.schema.properties;V||a.push(new g(p,e.file)),
155
+ V&&!V[d]&&a.push(new b(d,e.file));let ge=t[p]?.indexes??[];l.sourceIndex=fe(ge,d),
156
+ l.targetIndex=fe(s,W)}}return a},"validateRelations"),fe=n((e,r)=>e.find(({name:t})=>t===
157
+ r)?.type,"getIndexType"),Nr=n(e=>e.reduce((r,t)=>({...r,[t.name]:t}),{}),"getTab\
158
+ leMap");var Te=n(e=>U(e)?e.name:null,"getLinkedService");var Nn=n(()=>{$r(),Wr(),Vr("@ez4/database",{"metadata:getServices":ye,"metadata:\
159
+ getLinkedService":Te})},"registerTriggers");export{I as IncompleteEngineError,$ as IncompleteHandlerError,h as IncompleteScalabilityError,
160
+ u as IncompleteServiceError,H as IncompleteStreamError,R as IncompleteTableError,
161
+ E as IncorrectEngineTypeError,j as IncorrectIndexesTypeError,y as IncorrectRelationsTypeError,
162
+ v as IncorrectScalabilityTypeError,z as IncorrectSchemaTypeError,N as IncorrectStreamTypeError,
163
+ k as IncorrectTableTypeError,D as InvalidEngineTypeError,A as InvalidIndexReferenceError,
164
+ P as InvalidIndexTypeError,w as InvalidIndexesTypeError,M as InvalidRelationAliasError,
165
+ b as InvalidRelationColumnError,g as InvalidRelationTableError,T as InvalidRelationTargetError,
166
+ f as InvalidRelationsTypeError,S as InvalidScalabilityTypeError,C as InvalidSchemaTypeError,
167
+ F as InvalidStreamTypeError,O as InvalidTableTypeError,_ as ServiceType,B as createDatabaseService,
168
+ ye as getDatabaseServicesMetadata,ue as getDatabaseTableMetadata,se as getTableSchemaMetadata,
169
+ _r as isDatabaseService,U as isDatabaseServiceDeclaration,hr as isDatabaseTableDeclaration,
170
+ Nt as isTableSchemaDeclaration,Nn as registerTriggers};
146
171
  //# sourceMappingURL=library.mjs.map
package/dist/main.cjs CHANGED
@@ -1,9 +1,12 @@
1
- "use strict";var o=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var u=(n,a)=>{for(var e in a)o(n,e,{get:a[e],enumerable:!0})},g=(n,a,e,r)=>{if(a&&
2
- typeof a=="object"||typeof a=="function")for(let t of I(a))!S.call(n,t)&&t!==e&&
3
- o(n,t,{get:()=>a[t],enumerable:!(r=b(a,t))||r.enumerable});return n};var f=n=>g(o({},"__esModule",{value:!0}),n);var D={};u(D,{Database:()=>y,Index:()=>c,InsensitiveMode:()=>m,LockMode:()=>x,Order:()=>l,
4
- OrderMode:()=>T,PaginationMode:()=>d,ParametersMode:()=>p,StreamChangeType:()=>s,
5
- TransactionMode:()=>i});module.exports=f(D);var s=(r=>(r.Insert="insert",r.Update="update",r.Delete="delete",r))(s||{});var p=(e=>(e.NameAndIndex="both",e.OnlyIndex="index",e))(p||{});var i=(e=>(e.Interactive="interactive",e.Static="static",e))(i||{});var m=(e=>(e.Unsupported="unsupported",e.Enabled="enabled",e))(m||{});var d=(e=>(e.Cursor="cursor",e.Offset="offset",e))(d||{});var l=(e=>(e.Asc="asc",e.Desc="desc",e))(l||{}),T=(e=>(e.IndexColumns="index",e.
6
- AnyColumns="any",e))(T||{});var x=(e=>(e.Unsupported="unsupported",e.Supported="supported",e))(x||{});var y;(n=>{})(y||={});var c=(t=>(t.Primary="primary",t.Secondary="secondary",t.Unique="unique",t.TTL="\
7
- ttl",t))(c||{});0&&(module.exports={Database,Index,InsensitiveMode,LockMode,Order,OrderMode,PaginationMode,
1
+ "use strict";var o=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var f=(a,r)=>{for(var e in r)o(a,e,{get:r[e],enumerable:!0})},h=(a,r,e,n)=>{if(r&&
2
+ typeof r=="object"||typeof r=="function")for(let t of S(r))!u.call(a,t)&&t!==e&&
3
+ o(a,t,{get:()=>r[t],enumerable:!(n=x(r,t))||n.enumerable});return a};var g=a=>h(o({},"__esModule",{value:!0}),a);var C={};f(C,{Database:()=>p,Index:()=>l,InsensitiveMode:()=>c,LockMode:()=>b,Order:()=>i,
4
+ OrderMode:()=>d,PaginationMode:()=>T,ParametersMode:()=>s,StreamChangeType:()=>m,
5
+ TransactionMode:()=>y});module.exports=g(C);var m=(n=>(n.Insert="insert",n.Update="update",n.Delete="delete",n))(m||{});var p;(a=>{})(p||={});var l=(t=>(t.Primary="primary",t.Secondary="secondary",t.Unique="unique",t.TTL="\
6
+ ttl",t))(l||{});var i=(e=>(e.Asc="asc",e.Desc="desc",e))(i||{});var s=(e=>(e.NameAndIndex="both",e.OnlyIndex="index",e))(s||{}),y=(e=>(e.Interactive=
7
+ "interactive",e.Static="static",e))(y||{}),c=(e=>(e.Unsupported="unsupported",e.
8
+ Enabled="enabled",e))(c||{}),T=(e=>(e.Cursor="cursor",e.Offset="offset",e))(T||{}),
9
+ d=(e=>(e.IndexColumns="index",e.AnyColumns="any",e))(d||{}),b=(e=>(e.Unsupported=
10
+ "unsupported",e.Supported="supported",e))(b||{});0&&(module.exports={Database,Index,InsensitiveMode,LockMode,Order,OrderMode,PaginationMode,
8
11
  ParametersMode,StreamChangeType,TransactionMode});
9
12
  //# sourceMappingURL=main.cjs.map
package/dist/main.d.ts CHANGED
@@ -2,13 +2,15 @@ export { StreamAnyChange, StreamDeleteChange, StreamInsertChange, StreamUpdateCh
2
2
  export { Client } from './services/client';
3
3
  export { RelationMetadata } from './services/relations';
4
4
  export { TableMetadata, Table } from './services/table';
5
- export { ParametersMode, ParametersModeUtils } from './services/parameters';
6
- export { TransactionMode, TransactionModeUtils } from './services/transaction';
7
- export { InsensitiveMode, InsensitiveModeUtils } from './services/insensitive';
8
- export { PaginationMode, PaginationModeUtils } from './services/pagination';
9
- export { Order, OrderMode, OrderModeUtils } from './services/order';
10
- export { LockMode, LockModeUtils } from './services/lock';
5
+ export { ParametersModeUtils } from './services/parameters';
6
+ export { TransactionModeUtils } from './services/transaction';
7
+ export { InsensitiveModeUtils } from './services/insensitive';
8
+ export { PaginationModeUtils } from './services/pagination';
9
+ export { OrderModeUtils } from './services/order';
10
+ export { LockModeUtils } from './services/lock';
11
11
  export { EngineUtils } from './services/engine';
12
12
  export { Database } from './services/contract';
13
- export { Index } from './services/indexes';
14
13
  export { Query } from './services/query';
14
+ export * from './types/index';
15
+ export * from './types/order';
16
+ export * from './types/mode';
package/dist/main.mjs CHANGED
@@ -1,5 +1,8 @@
1
- var n=(a=>(a.Insert="insert",a.Update="update",a.Delete="delete",a))(n||{});var r=(e=>(e.NameAndIndex="both",e.OnlyIndex="index",e))(r||{});var o=(e=>(e.Interactive="interactive",e.Static="static",e))(o||{});var s=(e=>(e.Unsupported="unsupported",e.Enabled="enabled",e))(s||{});var p=(e=>(e.Cursor="cursor",e.Offset="offset",e))(p||{});var i=(e=>(e.Asc="asc",e.Desc="desc",e))(i||{}),m=(e=>(e.IndexColumns="index",e.
2
- AnyColumns="any",e))(m||{});var d=(e=>(e.Unsupported="unsupported",e.Supported="supported",e))(d||{});var l;(x=>{})(l||={});var T=(t=>(t.Primary="primary",t.Secondary="secondary",t.Unique="unique",t.TTL="\
3
- ttl",t))(T||{});export{l as Database,T as Index,s as InsensitiveMode,d as LockMode,i as Order,m as OrderMode,
4
- p as PaginationMode,r as ParametersMode,n as StreamChangeType,o as TransactionMode};
1
+ var a=(r=>(r.Insert="insert",r.Update="update",r.Delete="delete",r))(a||{});var n;(T=>{})(n||={});var o=(t=>(t.Primary="primary",t.Secondary="secondary",t.Unique="unique",t.TTL="\
2
+ ttl",t))(o||{});var m=(e=>(e.Asc="asc",e.Desc="desc",e))(m||{});var p=(e=>(e.NameAndIndex="both",e.OnlyIndex="index",e))(p||{}),l=(e=>(e.Interactive=
3
+ "interactive",e.Static="static",e))(l||{}),i=(e=>(e.Unsupported="unsupported",e.
4
+ Enabled="enabled",e))(i||{}),s=(e=>(e.Cursor="cursor",e.Offset="offset",e))(s||{}),
5
+ y=(e=>(e.IndexColumns="index",e.AnyColumns="any",e))(y||{}),c=(e=>(e.Unsupported=
6
+ "unsupported",e.Supported="supported",e))(c||{});export{n as Database,o as Index,i as InsensitiveMode,c as LockMode,m as Order,y as OrderMode,
7
+ s as PaginationMode,p as ParametersMode,a as StreamChangeType,l as TransactionMode};
5
8
  //# sourceMappingURL=main.mjs.map
@@ -1,3 +1,4 @@
1
1
  import type { AllType, ReflectionTypes, TypeModel } from '@ez4/reflection';
2
- import type { DatabaseEngine } from '../types/engine';
3
- export declare const getDatabaseEngine: (type: AllType, parent: TypeModel, reflection: ReflectionTypes, errorList: Error[]) => DatabaseEngine | undefined;
2
+ import type { DatabaseEngine } from './types';
3
+ export declare const isDatabaseEngineDeclaration: (type: TypeModel) => boolean;
4
+ export declare const getDatabaseEngineMetadata: (type: AllType, parent: TypeModel, reflection: ReflectionTypes, errorList: Error[]) => DatabaseEngine | undefined;
@@ -1,2 +1,3 @@
1
- import type { AllType, ReflectionTypes } from '@ez4/reflection';
2
- export declare const getStreamHandler: (type: AllType, _reflection: ReflectionTypes, errorList: Error[]) => import("@ez4/common/library").FunctionSignature | undefined;
1
+ import type { AllType, ReflectionTypes, TypeCallback, TypeFunction } from '@ez4/reflection';
2
+ export declare const isStreamHandlerDeclaration: (type: AllType) => type is TypeCallback | TypeFunction;
3
+ export declare const getStreamHandlerMetadata: (type: AllType, _reflection: ReflectionTypes, errorList: Error[]) => import("@ez4/common/library").FunctionSignature | undefined;
@@ -1,5 +1,6 @@
1
1
  import type { AllType, ReflectionTypes, TypeModel, TypeObject } from '@ez4/reflection';
2
- import type { TableIndex } from '../types/indexes';
2
+ import type { TableIndex } from './types';
3
3
  type TypeParent = TypeModel | TypeObject;
4
- export declare const getTableIndexes: (type: AllType, parent: TypeParent, reflection: ReflectionTypes, errorList: Error[]) => TableIndex[] | undefined;
4
+ export declare const isTableIndexesDeclaration: (type: TypeModel) => boolean;
5
+ export declare const getTableIndexesMetadata: (type: AllType, parent: TypeParent, reflection: ReflectionTypes, errorList: Error[]) => TableIndex[] | undefined;
5
6
  export {};
@@ -1,5 +1,6 @@
1
1
  import type { AllType, ReflectionTypes, TypeModel, TypeObject } from '@ez4/reflection';
2
- import type { TableRelation } from '../types/relations';
2
+ import type { TableRelation } from './types';
3
3
  type TypeParent = TypeModel | TypeObject;
4
- export declare const getTableRelations: (type: AllType, parent: TypeParent, reflection: ReflectionTypes, errorList: Error[]) => TableRelation[] | undefined;
4
+ export declare const isTableRelationsDeclaration: (type: TypeModel) => boolean;
5
+ export declare const getTableRelationsMetadata: (type: AllType, parent: TypeParent, reflection: ReflectionTypes, errorList: Error[]) => TableRelation[] | undefined;
5
6
  export {};
@@ -1,3 +1,4 @@
1
1
  import type { AllType, ReflectionTypes, TypeModel } from '@ez4/reflection';
2
- import type { DatabaseScalability } from '../types/scalability';
3
- export declare const getDatabaseScalability: (type: AllType, parent: TypeModel, reflection: ReflectionTypes, errorList: Error[]) => DatabaseScalability | undefined;
2
+ import type { DatabaseScalability } from './types';
3
+ export declare const isDatabaseScalabilityDeclaration: (type: TypeModel) => boolean;
4
+ export declare const getDatabaseScalabilityMetadata: (type: AllType, parent: TypeModel, reflection: ReflectionTypes, errorList: Error[]) => DatabaseScalability | undefined;
@@ -1,4 +1,5 @@
1
1
  import type { AllType, ReflectionTypes, TypeModel, TypeObject } from '@ez4/reflection';
2
2
  type TypeParent = TypeModel | TypeObject;
3
- export declare const getTableSchema: (type: AllType, parent: TypeParent, reflection: ReflectionTypes, errorList: Error[]) => import("@ez4/schema").ObjectSchema | undefined;
3
+ export declare const isTableSchemaDeclaration: (type: TypeModel) => boolean;
4
+ export declare const getTableSchemaMetadata: (type: AllType, parent: TypeParent, reflection: ReflectionTypes, errorList: Error[]) => import("@ez4/schema").ObjectSchema | undefined;
4
5
  export {};
@@ -1,6 +1,7 @@
1
- import type { ReflectionTypes } from '@ez4/reflection';
2
- import type { DatabaseService } from '../types/service';
3
- export declare const getDatabaseServices: (reflection: ReflectionTypes) => {
1
+ import type { AllType, ReflectionTypes, TypeClass } from '@ez4/reflection';
2
+ import type { DatabaseService } from './types';
3
+ export declare const isDatabaseServiceDeclaration: (type: AllType) => type is TypeClass;
4
+ export declare const getDatabaseServicesMetadata: (reflection: ReflectionTypes) => {
4
5
  services: Record<string, DatabaseService>;
5
6
  errors: Error[];
6
7
  };
@@ -1,3 +1,4 @@
1
1
  import type { AllType, ReflectionTypes, TypeModel } from '@ez4/reflection';
2
- import type { TableStream } from '../types/stream';
3
- export declare const getTableStream: (type: AllType, parent: TypeModel, reflection: ReflectionTypes, errorList: Error[]) => TableStream | undefined;
2
+ import type { TableStream } from './types';
3
+ export declare const isTableStreamDeclaration: (type: TypeModel) => boolean;
4
+ export declare const getTableStreamMetadata: (type: AllType, parent: TypeModel, reflection: ReflectionTypes, errorList: Error[]) => TableStream | undefined;
@@ -1,3 +1,4 @@
1
1
  import type { AllType, ReflectionTypes, TypeModel } from '@ez4/reflection';
2
- import type { DatabaseTable } from '../types/table';
3
- export declare const getDatabaseTable: (type: AllType, parent: TypeModel, reflection: ReflectionTypes, errorList: Error[]) => DatabaseTable | undefined;
2
+ import type { DatabaseTable } from './types';
3
+ export declare const isDatabaseTableDeclaration: (type: TypeModel) => boolean;
4
+ export declare const getDatabaseTableMetadata: (type: AllType, parent: TypeModel, reflection: ReflectionTypes, errorList: Error[]) => DatabaseTable | undefined;