@ez4/database 0.36.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 +4 -3
  13. package/dist/metadata/handler.d.ts +3 -3
  14. package/dist/metadata/indexes.d.ts +4 -3
  15. package/dist/metadata/relations.d.ts +4 -3
  16. package/dist/metadata/scalability.d.ts +4 -3
  17. package/dist/metadata/schema.d.ts +3 -2
  18. package/dist/metadata/service.d.ts +4 -3
  19. package/dist/metadata/stream.d.ts +4 -3
  20. package/dist/metadata/table.d.ts +4 -3
  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 -6
  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 -13
  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 Ie=Object.defineProperty;var n=(e,t)=>Ie(e,"name",{value:t,configurable:!0});import{registerTriggers as mt}from"@ez4/common/library";import{registerTriggers as ct}from"@ez4/schema/library";
2
- import{tryCreateTrigger as lt}from"@ez4/project/library";import{DuplicateServiceError as Yr,InvalidServicePropertyError as Zr,isExternalDeclaration as Lr,
3
- getLinkedServiceList as et,getLinkedVariableList as rt,getPropertyTuple as tt,getModelMembers as ot}from"@ez4/common/library";
4
- import{isModelProperty as nt}from"@ez4/reflection";var U="@ez4/database",ft=n(e=>e.type===U,"isDatabaseService");import{IncompleteTypeError as he}from"@ez4/common/library";var u=class extends he{static{n(this,"IncompleteServiceError")}constructor(t,r){
5
- super("Incomplete database service",t,r)}};import{IncorrectTypeError as De,InvalidTypeError as ve,TypeError as S}from"@ez4/common/library";var T=class extends ve{static{n(this,"InvalidRelationsTypeError")}constructor(t){
6
- super("Invalid table relations type",void 0,"Database.Relations",t)}},y=class extends De{constructor(r,a){
7
- super("Incorrect table relations type",r,"Database.Relations",a);this.schemaType=
8
- r}static{n(this,"IncorrectRelationsTypeError")}},x=class extends S{constructor(r,a){
9
- super(`Target ${r} must follow the pattern 'column@alias'.`,a);this.relationSource=
10
- r}static{n(this,"InvalidRelationTargetError")}},g=class extends S{constructor(r,a){
11
- super(`Relation table ${r} don't exists.`,a);this.relationTable=r}static{n(this,
12
- "InvalidRelationTableError")}},b=class extends S{constructor(r,a){super(`Relatio\
13
- n column ${r} don't exists.`,a);this.relationColumn=r}static{n(this,"InvalidRela\
14
- tionColumnError")}},M=class extends S{constructor(r,a){super(`Relation alias ${r}\
15
- can't override table columns.`,a);this.relationAlias=r}static{n(this,"InvalidRe\
16
- lationAliasError")}};import{InvalidServicePropertyError as Oe,getModelMembers as je,getPropertyNumber as Ae,
17
- getObjectMembers as Re,getReferenceType as ze}from"@ez4/common/library";import{isModelProperty as Ce,
18
- isTypeObject as Ne,isTypeReference as He}from"@ez4/reflection";import{isAnyNumber as V}from"@ez4/utils";import{IncompleteTypeError as Ee}from"@ez4/common/library";var I=class extends Ee{static{n(this,"IncompleteScalabilityError")}constructor(t,r){
19
- super("Incomplete database scalability",t,r)}};import{hasHeritageType as l,isClassDeclaration as Pe,isModelDeclaration as q}from"@ez4/common/library";
20
- import{isTypeCallback as ke,isTypeFunction as we}from"@ez4/reflection";var h=n(e=>Pe(e)&&l(e,"Database.Service"),"isDatabaseService"),D=n(e=>q(e)&&l(e,
21
- "Database.Engine"),"isDatabaseEngine"),_=n(e=>q(e)&&l(e,"Database.Table"),"isDat\
22
- abaseTable"),B=n(e=>ke(e)||we(e),"isStreamHandler"),G=n(e=>l(e,"Database.Relatio\
23
- ns"),"isTableRelations"),J=n(e=>l(e,"Database.Indexes"),"isTableIndexes"),K=n(e=>l(
24
- e,"Database.Schema"),"isTableSchema"),Q=n(e=>l(e,"Database.Stream"),"isTableStre\
25
- am");var Y=n((e,t,r,a)=>{if(!He(e))return W(e,t,a);let o=ze(e,r);if(o)return W(o,t,a)},
26
- "getDatabaseScalability"),Fe=n(e=>V(e.minCapacity)&&V(e.maxCapacity),"isValidSca\
27
- lability"),W=n((e,t,r)=>{if(D(e))return X(e,t,je(e),r);if(Ne(e))return X(e,t,Re(
28
- e),r)},"getTypeScalability"),X=n((e,t,r,a)=>{let o={},s=new Set(["minCapacity","\
29
- maxCapacity"]);for(let i of r)if(!(!Ce(i)||i.inherited))switch(i.name){default:a.
30
- push(new Oe(t.name,i.name,e.file));break;case"minCapacity":case"maxCapacity":let p=Ae(
31
- i);V(p)&&(o[i.name]=p,s.delete(i.name));break}if(!Fe(o)){a.push(new I([...s],e.file));
32
- return}return o},"getTypeFromMembers");import{isModelProperty as Ve,isTypeObject as $e,isTypeReference as qe}from"@ez4/reflection";
33
- import{InvalidServicePropertyError as _e,getModelMembers as Be,getObjectMembers as Ge,
34
- getPropertyString as Je,getPropertyStringIn as d,getReferenceType as Ke}from"@ez4/common/library";import{IncompleteTypeError as Ue}from"@ez4/common/library";var v=class extends Ue{static{n(this,"IncompleteEngineError")}constructor(t,r){super(
35
- "Incomplete database engine",t,r)}};var ee=n((e,t,r,a)=>{if(!qe(e))return Z(e,t,a);let o=Ke(e,r);if(o)return Z(o,t,a)},
36
- "getDatabaseEngine"),Qe=n(e=>!!e.name&&!!e.parametersMode&&!!e.transactionMode&&
37
- !!e.insensitiveMode&&!!e.paginationMode&&!!e.orderMode,"isValidEngine"),Z=n((e,t,r)=>{
38
- if(D(e))return L(e,t,Be(e),r);if($e(e))return L(e,t,Ge(e),r)},"getTypeEngine"),L=n(
39
- (e,t,r,a)=>{let o={},s=new Set(["name","parametersMode","transactionMode","insen\
40
- sitiveMode","paginationMode","orderMode"]);for(let i of r)if(!(!Ve(i)||i.inherited))
41
- switch(i.name){default:a.push(new _e(t.name,i.name,e.file));break;case"name":(o.
42
- name=Je(i))&&s.delete(i.name);break;case"parametersMode":(o.parametersMode=d(i,[
43
- "index","both"]))&&s.delete(i.name);break;case"transactionMode":(o.transactionMode=
44
- d(i,["static","interactive"]))&&s.delete(i.name);break;case"insensitiveMode":(o.
45
- insensitiveMode=d(i,["unsupported","enabled"]))&&s.delete(i.name);break;case"pag\
46
- inationMode":(o.paginationMode=d(i,["cursor","offset"]))&&s.delete(i.name);break;case"\
47
- orderMode":(o.orderMode=d(i,["any","index"]))&&s.delete(i.name);break;case"lockM\
48
- ode":(o.lockMode=d(i,["unsupported","supported"]))&&s.delete(i.name);break}if(!Qe(
49
- o)){a.push(new v([...s],e.file));return}return o},"getTypeFromMembers");import{InvalidServicePropertyError as $r,getModelMembers as qr,getObjectMembers as _r,
50
- getPropertyString as Br,getReferenceType as Gr}from"@ez4/common/library";import{
51
- isModelProperty as Jr,isTypeObject as Kr,isTypeReference as Qr}from"@ez4/reflection";import{IncompleteTypeError as We}from"@ez4/common/library";var E=class extends We{static{n(this,"IncompleteTableError")}constructor(t,r){super(
52
- "Incomplete database table",t,r)}};import{IncorrectTypeError as Xe,InvalidTypeError as Ye,TypeError as re}from"@ez4/common/library";var P=class extends Ye{static{n(this,"InvalidIndexesTypeError")}constructor(t){super(
53
- "Invalid table indexes type",void 0,"Database.Indexes",t)}},k=class extends Xe{constructor(r,a){
54
- super("Incorrect table indexes type",r,"Database.Indexes",a);this.schemaType=r}static{
55
- n(this,"IncorrectIndexesTypeError")}},w=class extends re{constructor(r,a){super(
56
- `Invalid index type, ${r} must follow one of the Index options.`,a);this.indexName=
57
- r}static{n(this,"InvalidIndexTypeError")}},O=class extends re{constructor(r,a){super(
58
- `Invalid index reference, ${r} must be valid column.`,a);this.indexName=r}static{
59
- n(this,"InvalidIndexReferenceError")}};import{isModelDeclaration as Ze,getModelMembers as Le,getObjectMembers as er,getPropertyString as rr,
60
- getReferenceType as tr}from"@ez4/common/library";import{isModelProperty as or,isTypeObject as nr,
61
- isTypeReference as ar}from"@ez4/reflection";var ne=n((e,t,r,a)=>{if(!ar(e))return te(e,t,a);let o=tr(e,r);if(o)return te(o,t,
62
- a)},"getTableRelations"),te=n((e,t,r)=>{if(nr(e))return oe(e,er(e),r);if(!Ze(e)){
63
- r.push(new T(t.file));return}if(!G(e)){r.push(new y(e.name,e.file));return}return oe(
64
- e,Le(e),r)},"getTypeRelations"),oe=n((e,t,r)=>{let a=[];for(let o of t){if(!or(o)||
65
- o.inherited)continue;let s=rr(o),i=o.name;if(!s){r.push(new x(i,e.file));return}
66
- let[p,m]=i.split("@",2),[c,f]=s.split(":",2);a.push({sourceTable:c,sourceColumn:f,
67
- targetColumn:p,targetAlias:m})}return a},"getTypeFromMembers");import{isModelDeclaration as ir,getModelMembers as pr,getObjectMembers as mr,getPropertyString as cr,
68
- getReferenceType as lr}from"@ez4/common/library";import{isModelProperty as dr,isTypeObject as fr,
69
- isTypeReference as br}from"@ez4/reflection";var sr=(o=>(o.Primary="primary",o.Secondary="secondary",o.Unique="unique",o.TTL=
70
- "ttl",o))(sr||{});var ie=n((e,t,r,a)=>{if(!br(e))return ae(e,t,a);let o=lr(e,r);if(o)return ae(o,t,
71
- a)},"getTableIndexes"),ae=n((e,t,r)=>{if(fr(e))return se(e,mr(e),r);if(!ir(e)){r.
72
- push(new P(t.file));return}if(!J(e)){r.push(new k(e.name,e.file));return}return se(
73
- e,pr(e),r)},"getTypeIndexes"),se=n((e,t,r)=>{let a=[];for(let o of t){if(!dr(o)||
74
- o.inherited)continue;let s=o.name,i=cr(o);switch(i){case"primary":case"secondary":case"\
75
- unique":case"ttl":a.push({name:s,columns:s.split(":"),type:i});break;default:r.push(
76
- new w(s,e.file));return}}return a},"getTypeFromMembers");import{createSchemaContext as yr,getObjectSchema as xr,isObjectSchema as gr}from"@ez4/schema/library";
77
- import{getReferenceType as Mr,isModelDeclaration as Sr}from"@ez4/common/library";
78
- import{isTypeObject as Ir,isTypeReference as hr}from"@ez4/reflection";import{IncorrectTypeError as ur,InvalidTypeError as Tr}from"@ez4/common/library";var j=class extends Tr{static{n(this,"InvalidSchemaTypeError")}constructor(t){super(
79
- "Invalid table schema type",void 0,"Database.Schema",t)}},A=class extends ur{constructor(r,a){
80
- super("Incorrect table schema type",r,"Database.Schema",a);this.schemaType=r}static{
81
- n(this,"IncorrectSchemaTypeError")}};var ce=n((e,t,r,a)=>{if(!hr(e))return pe(e,t,r,a);let o=Mr(e,r);if(o)return pe(o,
82
- t,r,a)},"getTableSchema"),pe=n((e,t,r,a)=>{if(Ir(e))return me(e,r);if(!Sr(e)){a.
83
- push(new j(t.file));return}if(!K(e)){a.push(new A(e.name,e.file));return}return me(
84
- e,r)},"getTypeSchema"),me=n((e,t)=>{let r=xr(e,t,yr({nullish:!0}));if(r&&gr(r))return r},
85
- "getSchema");import{InvalidServicePropertyError as wr,isModelDeclaration as Or,getLinkedVariableList as jr,
86
- getModelMembers as Ar,getObjectMembers as Rr,getPropertyNumber as zr,getServiceListener as Cr,
87
- getReferenceType as Nr}from"@ez4/common/library";import{isModelProperty as Hr,isTypeObject as Fr,
88
- isTypeReference as Ur}from"@ez4/reflection";import{IncompleteTypeError as Dr,IncorrectTypeError as vr,InvalidTypeError as Er}from"@ez4/common/library";var R=class extends Dr{static{n(this,"IncompleteStreamError")}constructor(t,r){super(
89
- "Incomplete table stream",t,r)}},z=class extends Er{static{n(this,"InvalidStream\
90
- TypeError")}constructor(t){super("Invalid table stream type",void 0,"Database.St\
91
- ream",t)}},C=class extends vr{constructor(r,a){super("Incorrect table stream typ\
92
- e",r,"Database.Stream",a);this.streamType=r}static{n(this,"IncorrectStreamTypeEr\
93
- ror")}};import{IncompleteTypeError as Pr}from"@ez4/common/library";var N=class extends Pr{static{n(this,"IncompleteHandlerError")}constructor(t,r){
94
- super("Incomplete stream handler",t,r)}};var le=n((e,t,r)=>{if(!B(e))return;let{description:a,module:o}=e,s={...a&&{description:a},
95
- ...o&&{module:o}},i=new Set(["name","file","change"]);if((s.name=e.name)&&i.delete(
96
- "name"),(s.file=e.file)&&i.delete("file"),e.parameters&&i.delete("change"),i.size===
97
- 0&&kr(s))return s;r.push(new N([...i],e.file))},"getStreamHandler"),kr=n(e=>!!e.
98
- name&&!!e.file,"isValidHandler");var be=n((e,t,r,a)=>{if(!Ur(e))return de(e,t,r,a);let o=Nr(e,r);if(o)return de(o,
99
- t,r,a)},"getTableStream"),Vr=n(e=>!!e.handler,"isValidStream"),de=n((e,t,r,a)=>{
100
- if(Fr(e))return fe(e,t,Rr(e),r,a);if(!Or(e)){a.push(new z(t.file));return}if(!Q(
101
- e)){a.push(new C(e.name,e.file));return}return fe(e,t,Ar(e),r,a)},"getTypeStream"),
102
- fe=n((e,t,r,a,o)=>{let s={},i=new Set(["handler"]);for(let p of r)if(!(!Hr(p)||p.
103
- inherited))switch(p.name){default:o.push(new wr(t.name,p.name,e.file));break;case"\
104
- handler":s.handler=le(p.value,a,o);break;case"listener":s.listener=Cr(p.value,o);
105
- break;case"memory":case"logRetention":case"timeout":s[p.name]=zr(p);break;case"v\
106
- ariables":s.variables=jr(p,o);break}if(Vr(s))return s;o.push(new R([...i],e.file))},
107
- "getTypeFromMembers");var ye=n((e,t,r,a)=>{if(!Qr(e))return ue(e,t,r,a);let o=Gr(e,r);if(o)return ue(o,
108
- t,r,a)},"getDatabaseTable"),Wr=n(e=>!!e.name&&!!e.schema&&!!e.indexes,"isValidTa\
109
- ble"),ue=n((e,t,r,a)=>{if(_(e))return Te(e,t,qr(e),r,a);if(Kr(e))return Te(e,t,_r(
110
- e),r,a)},"getTypeTable"),Te=n((e,t,r,a,o)=>{let s={},i=new Set(["name","schema",
111
- "indexes"]);for(let m of r)if(!(!Jr(m)||m.inherited))switch(m.name){default:o.push(
112
- new $r(t.name,m.name,e.file));break;case"name":(s.name=Br(m))&&i.delete(m.name);
113
- break;case"schema":(s.schema=ce(m.value,e,a,o))&&i.delete(m.name);break;case"ind\
114
- exes":(s.indexes=ie(m.value,e,a,o))&&i.delete(m.name);break;case"relations":s.relations=
115
- ne(m.value,e,a,o);break;case"stream":s.stream=be(m.value,t,a,o);break}if(!Wr(s)){
116
- o.push(new E([...i],e.file));return}let p=Xr(e,s.indexes,s.schema);if(p.length){
117
- o.push(...p);return}return s},"getTypeFromMembers"),Xr=n((e,t,r)=>{let a=r.properties,
118
- o=[];for(let{name:s,columns:i}of t)i.some(m=>!a[m])&&o.push(new O(s,e.file));return o},
119
- "validateIndexes");var ge=n(e=>{let t={},r=[];for(let a in e){let o=e[a];if(!h(o)||Lr(o))continue;let s={
120
- type:U,context:{}},i=new Set(["engine","tables"]),p=o.file;s.name=o.name;for(let c of ot(
121
- o))if(!(!nt(c)||c.inherited))switch(c.name){default:r.push(new Zr(s.name,c.name,
122
- p));break;case"client":break;case"scalability":(s.scalability=Y(c.value,o,e,r))&&
123
- i.delete(c.name);break;case"engine":(s.engine=ee(c.value,o,e,r))&&i.delete(c.name);
124
- break;case"tables":(s.tables=st(c,o,e,r))&&i.delete(c.name);break;case"variables":
125
- s.variables=rt(c,r);break;case"services":s.services=et(c,e,r);break}if(!at(s)){r.
126
- push(new u([...i],p));continue}let m=it(o,s.tables);if(m.length){r.push(...m);continue}
127
- if(t[o.name]){r.push(new Yr(o.name,p));continue}t[o.name]=s}return{services:t,errors:r}},
128
- "getDatabaseServices"),at=n(e=>!!e.name&&!!e.tables&&!!e.context,"isValidService"),
129
- st=n((e,t,r,a)=>{let o=tt(e)??[],s=[];for(let i of o){let p=ye(i,t,r,a);p&&s.push(
130
- p)}return s},"getAllTables"),it=n((e,t)=>{let r=pt(t),a=[];for(let{relations:o,schema:s,
131
- indexes:i}of t){if(!o)continue;let p=s.properties;for(let m of o){let{sourceTable:c,
132
- sourceColumn:f,targetColumn:H,targetAlias:$}=m;p[H]||a.push(new b(H,e.file)),p[$]&&
133
- a.push(new M($,e.file));let F=r[c]?.schema.properties;F||a.push(new g(c,e.file)),
134
- F&&!F[f]&&a.push(new b(f,e.file));let Se=r[c]?.indexes??[];m.sourceIndex=xe(Se,f),
135
- m.targetIndex=xe(i,H)}}return a},"validateRelations"),xe=n((e,t)=>e.find(({name:r})=>r===
136
- t)?.type,"getIndexType"),pt=n(e=>e.reduce((t,r)=>({...t,[r.name]:r}),{}),"getTab\
137
- leMap");var Me=n(e=>h(e)?e.name:null,"getLinkedService");var un=n(()=>{mt(),ct(),lt("@ez4/database",{"metadata:getServices":ge,"metadata:\
138
- getLinkedService":Me})},"registerTriggers");export{v as IncompleteEngineError,N as IncompleteHandlerError,I as IncompleteScalabilityError,
139
- u as IncompleteServiceError,R as IncompleteStreamError,E as IncompleteTableError,
140
- k as IncorrectIndexesTypeError,y as IncorrectRelationsTypeError,A as IncorrectSchemaTypeError,
141
- C as IncorrectStreamTypeError,sr as Index,O as InvalidIndexReferenceError,w as InvalidIndexTypeError,
142
- P as InvalidIndexesTypeError,M as InvalidRelationAliasError,b as InvalidRelationColumnError,
143
- g as InvalidRelationTableError,x as InvalidRelationTargetError,T as InvalidRelationsTypeError,
144
- j as InvalidSchemaTypeError,z as InvalidStreamTypeError,U as ServiceType,ge as getDatabaseServices,
145
- ye as getDatabaseTable,ce as getTableSchema,ft as isDatabaseService,un 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
- import type { AllType, SourceMap, TypeModel } from '@ez4/reflection';
2
- import type { DatabaseEngine } from '../types/engine';
3
- export declare const getDatabaseEngine: (type: AllType, parent: TypeModel, reflection: SourceMap, errorList: Error[]) => DatabaseEngine | undefined;
1
+ import type { AllType, ReflectionTypes, TypeModel } from '@ez4/reflection';
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,3 +1,3 @@
1
- import type { AllType, SourceMap } from '@ez4/reflection';
2
- import type { StreamHandler } from '../types/handler';
3
- export declare const getStreamHandler: (type: AllType, _reflection: SourceMap, errorList: Error[]) => StreamHandler | 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
- import type { AllType, SourceMap, TypeModel, TypeObject } from '@ez4/reflection';
2
- import type { TableIndex } from '../types/indexes';
1
+ import type { AllType, ReflectionTypes, TypeModel, TypeObject } from '@ez4/reflection';
2
+ import type { TableIndex } from './types';
3
3
  type TypeParent = TypeModel | TypeObject;
4
- export declare const getTableIndexes: (type: AllType, parent: TypeParent, reflection: SourceMap, 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
- import type { AllType, SourceMap, TypeModel, TypeObject } from '@ez4/reflection';
2
- import type { TableRelation } from '../types/relations';
1
+ import type { AllType, ReflectionTypes, TypeModel, TypeObject } from '@ez4/reflection';
2
+ import type { TableRelation } from './types';
3
3
  type TypeParent = TypeModel | TypeObject;
4
- export declare const getTableRelations: (type: AllType, parent: TypeParent, reflection: SourceMap, 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
- import type { AllType, SourceMap, TypeModel } from '@ez4/reflection';
2
- import type { DatabaseScalability } from '../types/scalability';
3
- export declare const getDatabaseScalability: (type: AllType, parent: TypeModel, reflection: SourceMap, errorList: Error[]) => DatabaseScalability | undefined;
1
+ import type { AllType, ReflectionTypes, TypeModel } from '@ez4/reflection';
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
- import type { AllType, SourceMap, TypeModel, TypeObject } from '@ez4/reflection';
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: SourceMap, 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 { SourceMap } from '@ez4/reflection';
2
- import type { DatabaseService } from '../types/service';
3
- export declare const getDatabaseServices: (reflection: SourceMap) => {
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
- import type { AllType, SourceMap, TypeModel } from '@ez4/reflection';
2
- import type { TableStream } from '../types/stream';
3
- export declare const getTableStream: (type: AllType, parent: TypeModel, reflection: SourceMap, errorList: Error[]) => TableStream | undefined;
1
+ import type { AllType, ReflectionTypes, TypeModel } from '@ez4/reflection';
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
- import type { AllType, SourceMap, TypeModel } from '@ez4/reflection';
2
- import type { DatabaseTable } from '../types/table';
3
- export declare const getDatabaseTable: (type: AllType, parent: TypeModel, reflection: SourceMap, errorList: Error[]) => DatabaseTable | undefined;
1
+ import type { AllType, ReflectionTypes, TypeModel } from '@ez4/reflection';
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;