@ez4/database 0.42.0 → 0.43.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.
package/dist/library.cjs CHANGED
@@ -121,12 +121,13 @@ r.file));return}if(!yt(e)){a.push(new re(e.name,e.file));return}return Ve(e,r,(0
121
121
  e),t,a)},"getTypeStream"),Ve=n((e,r,t,a,o)=>{let i={},s=new Set(["handler"]);for(let c of t)
122
122
  if(!(!(0,w.isModelProperty)(c)||c.inherited))switch(c.name){default:{o.push(new l.InvalidServicePropertyError(
123
123
  r.name,c.name,e.file));break}case"handler":{i.handler=$e(c.value,a,o);break}case"\
124
- memory":case"logRetention":case"timeout":{i[c.name]=(0,l.getPropertyNumber)(c);break}case"\
125
- architecture":{i[c.name]=(0,l.getServiceArchitecture)(c);break}case"runtime":{i[c.
126
- name]=(0,l.getServiceRuntime)(c);break}case"vpc":{i[c.name]=(0,l.getPropertyBoolean)(
127
- c);break}case"listener":{i.listener=(0,l.getServiceListener)(c.value,o);break}case"\
128
- variables":{i.variables=(0,l.getLinkedVariableList)(c,o);break}}if(!Tt(i)){o.push(
129
- new ee([...s],e.file));return}return i},"getTypeFromMembers");var Je=n(e=>(0,f.hasHeritageType)(e,"Database.Table"),"isDatabaseTableDeclaratio\
124
+ memory":case"timeout":case"logRetention":{i[c.name]=(0,l.getPropertyNumber)(c);break}case"\
125
+ logLevel":{i[c.name]=(0,l.getServiceLogLevel)(c);break}case"architecture":{i[c.name]=
126
+ (0,l.getServiceArchitecture)(c);break}case"runtime":{i[c.name]=(0,l.getServiceRuntime)(
127
+ c);break}case"vpc":{i[c.name]=(0,l.getPropertyBoolean)(c);break}case"files":{i[c.
128
+ name]=(0,l.getPropertyStringList)(c);break}case"listener":{i.listener=(0,l.getServiceListener)(
129
+ c.value,o);break}case"variables":{i.variables=(0,l.getLinkedVariableList)(c,o);break}}
130
+ if(!Tt(i)){o.push(new ee([...s],e.file));return}return i},"getTypeFromMembers");var Je=n(e=>(0,f.hasHeritageType)(e,"Database.Table"),"isDatabaseTableDeclaratio\
130
131
  n"),ue=n((e,r,t,a)=>{if(!(0,j.isTypeReference)(e))return Be(e,r,t,a);let o=(0,f.getReferenceType)(
131
132
  e,t);if(o)return Be(o,r,t,a)},"getDatabaseTableMetadata"),gt=n(e=>(0,Ge.isObjectWith)(
132
133
  e,["name","schema","indexes"]),"isCompleteTable"),Be=n((e,r,t,a)=>{if((0,j.isTypeObject)(
package/dist/library.mjs CHANGED
@@ -1,8 +1,8 @@
1
- var Me=Object.defineProperty;var n=(e,r)=>Me(e,"name",{value:r,configurable:!0});import{registerTriggers as Wr}from"@ez4/common/library";import{registerTriggers as Vr}from"@ez4/schema/library";
2
- import{tryCreateTrigger as Ur}from"@ez4/project/library";import{DuplicateServiceError as Dr,InvalidServicePropertyError as Er,isExternalDeclaration as Rr,
3
- isClassDeclaration as kr,getLinkedServiceList as Or,getLinkedVariableList as wr,
4
- getPropertyTuple as jr,getModelMembers as Pr,hasHeritageType as Ar}from"@ez4/common/library";
5
- import{isModelProperty as Cr}from"@ez4/reflection";import{isObjectWith as zr}from"@ez4/utils";import{IncompleteTypeError as xe}from"@ez4/common/library";var u=class extends xe{static{n(this,"IncompleteServiceError")}constructor(r,t){
1
+ var Me=Object.defineProperty;var n=(e,r)=>Me(e,"name",{value:r,configurable:!0});import{registerTriggers as Ur}from"@ez4/common/library";import{registerTriggers as qr}from"@ez4/schema/library";
2
+ import{tryCreateTrigger as Br}from"@ez4/project/library";import{DuplicateServiceError as Rr,InvalidServicePropertyError as kr,isExternalDeclaration as Or,
3
+ isClassDeclaration as wr,getLinkedServiceList as jr,getLinkedVariableList as Pr,
4
+ getPropertyTuple as Ar,getModelMembers as Cr,hasHeritageType as zr}from"@ez4/common/library";
5
+ import{isModelProperty as Hr}from"@ez4/reflection";import{isObjectWith as Fr}from"@ez4/utils";import{IncompleteTypeError as xe}from"@ez4/common/library";var u=class extends xe{static{n(this,"IncompleteServiceError")}constructor(r,t){
6
6
  super("Incomplete database service",r,t)}};import{IncorrectTypeError as he,InvalidTypeError as Se,TypeError as x}from"@ez4/common/library";var f=class extends Se{static{n(this,"InvalidRelationsTypeError")}constructor(r){
7
7
  super("Invalid table relations type",void 0,"Database.Relations",r)}},y=class extends he{constructor(t,a){
8
8
  super("Incorrect table relations type",t,"Database.Relations",a);this.relationType=
@@ -55,10 +55,10 @@ m(s,["unsupported","enabled"]))&&i.delete(s.name);break}case"paginationMode":{(o
55
55
  paginationMode=m(s,["cursor","offset"]))&&i.delete(s.name);break}case"orderMode":{
56
56
  (o.orderMode=m(s,["any","index"]))&&i.delete(s.name);break}case"lockMode":{(o.lockMode=
57
57
  m(s,["unsupported","supported"]))&&i.delete(s.name);break}}if(!tt(o)){a.push(new I(
58
- [...i],e.file));return}return o},"getTypeFromMembers");import{InvalidServicePropertyError as pr,isModelDeclaration as mr,getModelMembers as dr,
59
- getObjectMembers as br,getPropertyString as ur,getReferenceType as fr,hasHeritageType as yr}from"@ez4/common/library";
60
- import{isModelProperty as Tr,isTypeObject as gr,isTypeReference as Mr}from"@ez4/reflection";
61
- import{isObjectWith as xr}from"@ez4/utils";import{IncompleteTypeError as rt,IncorrectTypeError as at,InvalidTypeError as nt}from"@ez4/common/library";var R=class extends rt{static{n(this,"IncompleteTableError")}constructor(r,t){super(
58
+ [...i],e.file));return}return o},"getTypeFromMembers");import{InvalidServicePropertyError as dr,isModelDeclaration as br,getModelMembers as ur,
59
+ getObjectMembers as fr,getPropertyString as yr,getReferenceType as Tr,hasHeritageType as gr}from"@ez4/common/library";
60
+ import{isModelProperty as Mr,isTypeObject as xr,isTypeReference as hr}from"@ez4/reflection";
61
+ import{isObjectWith as Sr}from"@ez4/utils";import{IncompleteTypeError as rt,IncorrectTypeError as at,InvalidTypeError as nt}from"@ez4/common/library";var R=class extends rt{static{n(this,"IncompleteTableError")}constructor(r,t){super(
62
62
  "Incomplete database table",r,t)}},k=class extends nt{static{n(this,"InvalidTabl\
63
63
  eTypeError")}constructor(r){super("Invalid database table type",void 0,"Database\
64
64
  .Table",r)}},O=class extends at{constructor(t,a){super("Incorrect database table\
@@ -99,10 +99,11 @@ emaMetadata"),ae=n((e,r,t,a)=>{if(Ot(e))return ne(e,t);if(!At(e)){a.push(new C(r
99
99
  file));return}if(!Ft(e)){a.push(new z(e.name,e.file));return}return ne(e,t)},"ge\
100
100
  tTypeSchema"),ne=n((e,r)=>{let t=Ht(e,r,Ct({nullish:!0}));if(t&&zt(t))return t},
101
101
  "getSchema");import{InvalidServicePropertyError as Gt,isModelDeclaration as Jt,getLinkedVariableList as Kt,
102
- getModelMembers as Qt,getObjectMembers as Xt,getPropertyNumber as Yt,getServiceListener as Zt,
103
- getServiceArchitecture as Lt,getServiceRuntime as er,getPropertyBoolean as tr,getReferenceType as rr,
104
- hasHeritageType as ar}from"@ez4/common/library";import{isModelProperty as nr,isTypeObject as or,
105
- isTypeReference as ir}from"@ez4/reflection";import{isObjectWith as sr}from"@ez4/utils";import{IncompleteTypeError as Nt,IncorrectTypeError as $t,InvalidTypeError as Wt}from"@ez4/common/library";var H=class extends Nt{static{n(this,"IncompleteStreamError")}constructor(r,t){super(
102
+ getModelMembers as Qt,getObjectMembers as Xt,getPropertyNumber as Yt,getPropertyStringList as Zt,
103
+ getPropertyBoolean as Lt,getReferenceType as er,getServiceListener as tr,getServiceArchitecture as rr,
104
+ getServiceLogLevel as ar,getServiceRuntime as nr,hasHeritageType as or}from"@ez4/common/library";
105
+ import{isModelProperty as ir,isTypeObject as sr,isTypeReference as cr}from"@ez4/reflection";
106
+ import{isObjectWith as lr}from"@ez4/utils";import{IncompleteTypeError as Nt,IncorrectTypeError as $t,InvalidTypeError as Wt}from"@ez4/common/library";var H=class extends Nt{static{n(this,"IncompleteStreamError")}constructor(r,t){super(
106
107
  "Incomplete table stream",r,t)}},F=class extends Wt{static{n(this,"InvalidStream\
107
108
  TypeError")}constructor(r){super("Invalid table stream type",void 0,"Database.St\
108
109
  ream",r)}},N=class extends $t{constructor(t,a){super("Incorrect table stream typ\
@@ -110,52 +111,53 @@ e",t,"Database.Stream",a);this.streamType=t}static{n(this,"IncorrectStreamTypeEr
110
111
  ror")}};import{isTypeCallback as Ut,isTypeFunction as qt}from"@ez4/reflection";import{getFunctionSignature as Bt}from"@ez4/common/library";import{IncompleteTypeError as Vt}from"@ez4/common/library";var $=class extends Vt{static{n(this,"IncompleteHandlerError")}constructor(r,t){
111
112
  super("Incomplete stream handler",r,t)}};var _t=n(e=>Ut(e)||qt(e),"isStreamHandlerDeclaration"),ie=n((e,r,t)=>{if(!_t(e))
112
113
  return;let a=Bt(e),o=new Set(["change"]);if(e.parameters&&o.delete("change"),!a||
113
- o.size){t.push(new $([...o],e.file));return}return a},"getStreamHandlerMetadata");var cr=n(e=>ar(e,"Database.Stream"),"isTableStreamDeclaration"),le=n((e,r,t,a)=>{
114
- if(!ir(e))return se(e,r,t,a);let o=rr(e,t);if(o)return se(o,r,t,a)},"getTableStr\
115
- eamMetadata"),lr=n(e=>sr(e,["handler"]),"isCompleteStream"),se=n((e,r,t,a)=>{if(or(
116
- e))return ce(e,r,Xt(e),t,a);if(!Jt(e)){a.push(new F(r.file));return}if(!cr(e)){a.
114
+ o.size){t.push(new $([...o],e.file));return}return a},"getStreamHandlerMetadata");var pr=n(e=>or(e,"Database.Stream"),"isTableStreamDeclaration"),le=n((e,r,t,a)=>{
115
+ if(!cr(e))return se(e,r,t,a);let o=er(e,t);if(o)return se(o,r,t,a)},"getTableStr\
116
+ eamMetadata"),mr=n(e=>lr(e,["handler"]),"isCompleteStream"),se=n((e,r,t,a)=>{if(sr(
117
+ e))return ce(e,r,Xt(e),t,a);if(!Jt(e)){a.push(new F(r.file));return}if(!pr(e)){a.
117
118
  push(new N(e.name,e.file));return}return ce(e,r,Qt(e),t,a)},"getTypeStream"),ce=n(
118
- (e,r,t,a,o)=>{let i={},s=new Set(["handler"]);for(let c of t)if(!(!nr(c)||c.inherited))
119
+ (e,r,t,a,o)=>{let i={},s=new Set(["handler"]);for(let c of t)if(!(!ir(c)||c.inherited))
119
120
  switch(c.name){default:{o.push(new Gt(r.name,c.name,e.file));break}case"handler":{
120
- i.handler=ie(c.value,a,o);break}case"memory":case"logRetention":case"timeout":{i[c.
121
- name]=Yt(c);break}case"architecture":{i[c.name]=Lt(c);break}case"runtime":{i[c.name]=
122
- er(c);break}case"vpc":{i[c.name]=tr(c);break}case"listener":{i.listener=Zt(c.value,
123
- o);break}case"variables":{i.variables=Kt(c,o);break}}if(!lr(i)){o.push(new H([...s],
124
- e.file));return}return i},"getTypeFromMembers");var hr=n(e=>yr(e,"Database.Table"),"isDatabaseTableDeclaration"),de=n((e,r,t,a)=>{
125
- if(!Mr(e))return pe(e,r,t,a);let o=fr(e,t);if(o)return pe(o,r,t,a)},"getDatabase\
126
- TableMetadata"),Sr=n(e=>xr(e,["name","schema","indexes"]),"isCompleteTable"),pe=n(
127
- (e,r,t,a)=>{if(gr(e))return me(e,r,br(e),t,a);if(!mr(e)){a.push(new k(r.file));return}
128
- if(!hr(e)){a.push(new O(e.name,e.file));return}return me(e,r,dr(e),t,a)},"getTyp\
121
+ i.handler=ie(c.value,a,o);break}case"memory":case"timeout":case"logRetention":{i[c.
122
+ name]=Yt(c);break}case"logLevel":{i[c.name]=ar(c);break}case"architecture":{i[c.
123
+ name]=rr(c);break}case"runtime":{i[c.name]=nr(c);break}case"vpc":{i[c.name]=Lt(c);
124
+ break}case"files":{i[c.name]=Zt(c);break}case"listener":{i.listener=tr(c.value,o);
125
+ break}case"variables":{i.variables=Kt(c,o);break}}if(!mr(i)){o.push(new H([...s],
126
+ e.file));return}return i},"getTypeFromMembers");var vr=n(e=>gr(e,"Database.Table"),"isDatabaseTableDeclaration"),de=n((e,r,t,a)=>{
127
+ if(!hr(e))return pe(e,r,t,a);let o=Tr(e,t);if(o)return pe(o,r,t,a)},"getDatabase\
128
+ TableMetadata"),Ir=n(e=>Sr(e,["name","schema","indexes"]),"isCompleteTable"),pe=n(
129
+ (e,r,t,a)=>{if(xr(e))return me(e,r,fr(e),t,a);if(!br(e)){a.push(new k(r.file));return}
130
+ if(!vr(e)){a.push(new O(e.name,e.file));return}return me(e,r,ur(e),t,a)},"getTyp\
129
131
  eTable"),me=n((e,r,t,a,o)=>{let i={},s=new Set(["name","schema","indexes"]);for(let l of t)
130
- if(!(!Tr(l)||l.inherited))switch(l.name){default:{o.push(new pr(r.name,l.name,e.
131
- file));break}case"name":{(i.name=ur(l))&&s.delete(l.name);break}case"schema":{(i.
132
+ if(!(!Mr(l)||l.inherited))switch(l.name){default:{o.push(new dr(r.name,l.name,e.
133
+ file));break}case"name":{(i.name=yr(l))&&s.delete(l.name);break}case"schema":{(i.
132
134
  schema=oe(l.value,e,a,o))&&s.delete(l.name);break}case"indexes":{(i.indexes=re(l.
133
135
  value,e,a,o))&&s.delete(l.name);break}case"relations":{i.relations=L(l.value,e,a,
134
- o);break}case"stream":{i.stream=le(l.value,r,a,o);break}}if(!Sr(i)){o.push(new R(
135
- [...s],e.file));return}let c=vr(e,i.indexes,i.schema);if(c.length){o.push(...c);
136
- return}return i},"getTypeFromMembers"),vr=n((e,r,t)=>{let a=t.properties,o=[];for(let{
136
+ o);break}case"stream":{i.stream=le(l.value,r,a,o);break}}if(!Ir(i)){o.push(new R(
137
+ [...s],e.file));return}let c=Dr(e,i.indexes,i.schema);if(c.length){o.push(...c);
138
+ return}return i},"getTypeFromMembers"),Dr=n((e,r,t)=>{let a=t.properties,o=[];for(let{
137
139
  name:i,columns:s}of r)s.some(l=>!a[l])&&o.push(new A(i,e.file));return o},"valid\
138
- ateIndexes");import{createServiceMetadata as Ir}from"@ez4/project/library";var be="@ez4/database",Tn=n(e=>e.type===be,"isDatabaseService"),ue=n(e=>({...Ir(
139
- be,e),variables:{},services:{}}),"createDatabaseService");var U=n(e=>kr(e)&&Ar(e,"Database.Service"),"isDatabaseServiceDeclaration"),ye=n(
140
- e=>{let r={},t=[];for(let a in e){let o=e[a];if(!U(o)||Rr(o))continue;let i=ue(o.
141
- name),s=new Set(["engine","tables"]),c=o.file;for(let p of Pr(o))if(!(!Cr(p)||p.
142
- inherited))switch(p.name){default:{t.push(new Er(i.name,p.name,c));break}case"cl\
140
+ ateIndexes");import{createServiceMetadata as Er}from"@ez4/project/library";var be="@ez4/database",Mn=n(e=>e.type===be,"isDatabaseService"),ue=n(e=>({...Er(
141
+ be,e),variables:{},services:{}}),"createDatabaseService");var U=n(e=>wr(e)&&zr(e,"Database.Service"),"isDatabaseServiceDeclaration"),ye=n(
142
+ e=>{let r={},t=[];for(let a in e){let o=e[a];if(!U(o)||Or(o))continue;let i=ue(o.
143
+ name),s=new Set(["engine","tables"]),c=o.file;for(let p of Cr(o))if(!(!Hr(p)||p.
144
+ inherited))switch(p.name){default:{t.push(new kr(i.name,p.name,c));break}case"cl\
143
145
  ient":break;case"scalability":{i.scalability=G(p.value,o,e,t);break}case"engine":{
144
- (i.engine=Q(p.value,o,e,t))&&s.delete(p.name);break}case"tables":{(i.tables=Fr(p,
145
- o,e,t))&&s.delete(p.name);break}case"variables":{i.variables=wr(p,t);break}case"\
146
- services":{i.services=Or(p,e,t);break}}if(!Hr(i)){t.push(new u([...s],c));continue}
147
- let l=Nr(o,i.tables);if(l.length){t.push(...l);continue}if(r[o.name]){t.push(new Dr(
146
+ (i.engine=Q(p.value,o,e,t))&&s.delete(p.name);break}case"tables":{(i.tables=$r(p,
147
+ o,e,t))&&s.delete(p.name);break}case"variables":{i.variables=Pr(p,t);break}case"\
148
+ services":{i.services=jr(p,e,t);break}}if(!Nr(i)){t.push(new u([...s],c));continue}
149
+ let l=Wr(o,i.tables);if(l.length){t.push(...l);continue}if(r[o.name]){t.push(new Rr(
148
150
  o.name,c));continue}r[o.name]=i}return{services:r,errors:t}},"getDatabaseService\
149
- sMetadata"),Hr=n(e=>zr(e,["engine","tables","variables","services"]),"isComplete\
150
- Service"),Fr=n((e,r,t,a)=>{let o=jr(e)??[],i=[];for(let s of o){let c=de(s,r,t,a);
151
- c&&i.push(c)}return i},"getAllTables"),Nr=n((e,r)=>{let t=$r(r),a=[];for(let{relations:o,
151
+ sMetadata"),Nr=n(e=>Fr(e,["engine","tables","variables","services"]),"isComplete\
152
+ Service"),$r=n((e,r,t,a)=>{let o=Ar(e)??[],i=[];for(let s of o){let c=de(s,r,t,a);
153
+ c&&i.push(c)}return i},"getAllTables"),Wr=n((e,r)=>{let t=Vr(r),a=[];for(let{relations:o,
152
154
  schema:i,indexes:s}of r){if(!o)continue;let c=i.properties;for(let l of o){let{sourceTable:p,
153
155
  sourceColumn:d,targetColumn:W,targetAlias:q}=l;c[W]||a.push(new b(W,e.file)),c[q]&&
154
156
  a.push(new M(q,e.file));let V=t[p]?.schema.properties;V||a.push(new g(p,e.file)),
155
157
  V&&!V[d]&&a.push(new b(d,e.file));let ge=t[p]?.indexes??[];l.sourceIndex=fe(ge,d),
156
158
  l.targetIndex=fe(s,W)}}return a},"validateRelations"),fe=n((e,r)=>e.find(({name:t})=>t===
157
- r)?.type,"getIndexType"),$r=n(e=>e.reduce((r,t)=>({...r,[t.name]:t}),{}),"getTab\
158
- leMap");var Te=n(e=>U(e)?e.name:null,"getLinkedService");var $n=n(()=>{Wr(),Vr(),Ur("@ez4/database",{"metadata:getServices":ye,"metadata:\
159
+ r)?.type,"getIndexType"),Vr=n(e=>e.reduce((r,t)=>({...r,[t.name]:t}),{}),"getTab\
160
+ leMap");var Te=n(e=>U(e)?e.name:null,"getLinkedService");var Vn=n(()=>{Ur(),qr(),Br("@ez4/database",{"metadata:getServices":ye,"metadata:\
159
161
  getLinkedService":Te})},"registerTriggers");export{I as IncompleteEngineError,$ as IncompleteHandlerError,h as IncompleteScalabilityError,
160
162
  u as IncompleteServiceError,H as IncompleteStreamError,R as IncompleteTableError,
161
163
  E as IncorrectEngineTypeError,j as IncorrectIndexesTypeError,y as IncorrectRelationsTypeError,
@@ -166,6 +168,6 @@ b as InvalidRelationColumnError,g as InvalidRelationTableError,T as InvalidRelat
166
168
  f as InvalidRelationsTypeError,S as InvalidScalabilityTypeError,C as InvalidSchemaTypeError,
167
169
  F as InvalidStreamTypeError,k as InvalidTableTypeError,be as ServiceType,ue as createDatabaseService,
168
170
  ye as getDatabaseServicesMetadata,de as getDatabaseTableMetadata,oe as getTableSchemaMetadata,
169
- Tn as isDatabaseService,U as isDatabaseServiceDeclaration,hr as isDatabaseTableDeclaration,
170
- Ft as isTableSchemaDeclaration,$n as registerTriggers};
171
+ Mn as isDatabaseService,U as isDatabaseServiceDeclaration,vr as isDatabaseTableDeclaration,
172
+ Ft as isTableSchemaDeclaration,Vn as registerTriggers};
171
173
  //# sourceMappingURL=library.mjs.map
package/dist/main.cjs CHANGED
@@ -1,8 +1,8 @@
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&&
1
+ "use strict";var n=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var f=(a,r)=>{for(var e in r)n(a,e,{get:r[e],enumerable:!0})},h=(a,r,e,o)=>{if(r&&
2
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,
3
+ n(a,t,{get:()=>r[t],enumerable:!(o=x(r,t))||o.enumerable});return a};var g=a=>h(n({},"__esModule",{value:!0}),a);var C={};f(C,{Database:()=>p,Index:()=>l,InsensitiveMode:()=>c,LockMode:()=>b,Order:()=>i,
4
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="\
5
+ TransactionMode:()=>y});module.exports=g(C);var m=(o=>(o.Insert="insert",o.Update="update",o.Delete="delete",o))(m||{});var p;(a=>{})(p||={});var l=(t=>(t.Primary="primary",t.Secondary="secondary",t.Unique="unique",t.TTL="\
6
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
7
  "interactive",e.Static="static",e))(y||{}),c=(e=>(e.Unsupported="unsupported",e.
8
8
  Enabled="enabled",e))(c||{}),T=(e=>(e.Cursor="cursor",e.Offset="offset",e))(T||{}),
package/dist/main.mjs CHANGED
@@ -1,8 +1,8 @@
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=
1
+ var a=(r=>(r.Insert="insert",r.Update="update",r.Delete="delete",r))(a||{});var o;(T=>{})(o||={});var n=(t=>(t.Primary="primary",t.Secondary="secondary",t.Unique="unique",t.TTL="\
2
+ ttl",t))(n||{});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
3
  "interactive",e.Static="static",e))(l||{}),i=(e=>(e.Unsupported="unsupported",e.
4
4
  Enabled="enabled",e))(i||{}),s=(e=>(e.Cursor="cursor",e.Offset="offset",e))(s||{}),
5
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,
6
+ "unsupported",e.Supported="supported",e))(c||{});export{o as Database,n as Index,i as InsensitiveMode,c as LockMode,m as Order,y as OrderMode,
7
7
  s as PaginationMode,p as ParametersMode,a as StreamChangeType,l as TransactionMode};
8
8
  //# sourceMappingURL=main.mjs.map
@@ -1,6 +1,6 @@
1
1
  import type { FunctionSignature, ServiceListener } from '@ez4/common/library';
2
2
  import type { LinkedVariables, ServiceMetadata } from '@ez4/project/library';
3
- import type { ArchitectureType, RuntimeType } from '@ez4/project';
3
+ import type { ArchitectureType, LogLevel, RuntimeType } from '@ez4/project';
4
4
  import type { ObjectSchema } from '@ez4/schema';
5
5
  import type { ParametersMode, TransactionMode, InsensitiveMode, PaginationMode, OrderMode, LockMode } from '../types/mode';
6
6
  import type { Index } from '../types/index';
@@ -54,9 +54,11 @@ export type TableStream = {
54
54
  architecture?: ArchitectureType;
55
55
  runtime?: RuntimeType;
56
56
  logRetention?: number;
57
+ logLevel?: LogLevel;
57
58
  timeout?: number;
58
59
  memory?: number;
59
60
  vpc?: boolean;
61
+ files?: string[];
60
62
  };
61
63
  export declare const isDatabaseService: (service: ServiceMetadata) => service is DatabaseService;
62
64
  export declare const createDatabaseService: (name: string) => {
@@ -7,7 +7,7 @@ import type { OrderModeUtils } from './order';
7
7
  import type { LockModeUtils } from './lock';
8
8
  import type { TableMetadata } from './table';
9
9
  import type { Database } from './contract';
10
- import type { AnyObject, PartialProperties, PartialObject, FlatObject, OptionalObject, StrictObject, IsNullable, IsUndefined, IsObjectEmpty, IsObject, Prettify } from '@ez4/utils';
10
+ import type { AnyObject, PartialProperties, PartialObject, OptionalObject, StrictObject, IsNullable, IsUndefined, IsObjectEmpty, IsObject, Prettify } from '@ez4/utils';
11
11
  /**
12
12
  * Query builder types.
13
13
  */
@@ -90,7 +90,7 @@ export declare namespace Query {
90
90
  export type SelectInput<T extends TableMetadata> = PartialProperties<SelectInputFields<T['schema'], T['relations']>>;
91
91
  export type StrictSelectInput<S extends AnyObject, T extends TableMetadata> = StrictObject<S, SelectInputFields<T['schema'], T['relations']>>;
92
92
  export type InsertDataInput<T extends TableMetadata> = IsObjectEmpty<T['relations']['inserts']> extends false ? Omit<T['schema'], T['relations']['indexes']> & T['relations']['inserts'] : T['schema'];
93
- export type UpdateDataInput<T extends TableMetadata> = IsObjectEmpty<T['relations']['updates']> extends false ? AtomicDataInput<Omit<T['schema'], T['relations']['indexes']> & FlatObject<T['relations']['updates']>> : AtomicDataInput<T['schema']>;
93
+ export type UpdateDataInput<T extends TableMetadata> = IsObjectEmpty<T['relations']['updates']> extends false ? AtomicDataInput<Omit<T['schema'], T['relations']['indexes']> & T['relations']['updates']> : AtomicDataInput<T['schema']>;
94
94
  export type OrderInput<T extends TableMetadata> = OrderModeUtils.Input<T>;
95
95
  export type StrictIncludeInput<S extends AnyObject, T extends TableMetadata> = IsObjectEmpty<T['relations']['filters']> extends true ? never : {
96
96
  [P in keyof T['relations']['filters']]?: P extends keyof S ? StrictIncludeRelation<NonNullable<T['relations']['filters'][P]>, T['engine']> : never;
@@ -1,8 +1,8 @@
1
- import type { AnyObject, ArrayRest, PropertyType, Exclusive, IsArrayEmpty, IsUndefined, MergeObject, Prettify } from '@ez4/utils';
2
1
  import type { TableIndexes, IndexedTables, PrimaryIndexes, UniqueIndexes } from './indexes';
3
2
  import type { DatabaseTable, DatabaseTables } from './table';
4
3
  import type { TableSchema, TableSchemas } from './schemas';
5
4
  import type { Database } from './contract';
5
+ import type { AnyObject, ArrayRest, PropertyType, Exclusive, IsArrayEmpty, IsUndefined, MergeObject, Prettify, TryArrayType } from '@ez4/utils';
6
6
  /**
7
7
  * Database table relations.
8
8
  */
@@ -114,7 +114,7 @@ type FilterableRelationSchemas<S extends Record<string, TableSchema>, R extends
114
114
  * Produce an object containing relation schemas for updates.
115
115
  */
116
116
  type UpdateRelationSchemas<N, S extends Record<string, TableSchema>, I extends Record<string, TableIndexes>, R extends AnyObject> = {
117
- [P in keyof R as RelationTargetAlias<P>]?: ChangeRelationSchema<N, R[P], P, S, I>;
117
+ [P in keyof R as RelationTargetAlias<P>]?: TryArrayType<ChangeRelationSchema<N, R[P], P, S, I>>;
118
118
  };
119
119
  /**
120
120
  * Produce an object containing relation schemas for inserts.
@@ -1,4 +1,4 @@
1
- import type { ArchitectureType, RuntimeType } from '@ez4/project';
1
+ import type { ArchitectureType, LogLevel, RuntimeType } from '@ez4/project';
2
2
  import type { LinkedVariables } from '@ez4/project/library';
3
3
  import type { TableStreamListener } from './listener';
4
4
  import type { TableStreamHandler } from './handler';
@@ -19,6 +19,14 @@ export interface TableStream<T extends TableSchema> {
19
19
  * Variables associated to the handler.
20
20
  */
21
21
  readonly variables?: LinkedVariables;
22
+ /**
23
+ * Log retention (in days) for the handler.
24
+ */
25
+ readonly logRetention?: number;
26
+ /**
27
+ * Log level for the handler.
28
+ */
29
+ readonly logLevel?: LogLevel;
22
30
  /**
23
31
  * Architecture for the stream function.
24
32
  */
@@ -27,10 +35,6 @@ export interface TableStream<T extends TableSchema> {
27
35
  * Runtime for the stream function.
28
36
  */
29
37
  readonly runtime?: RuntimeType;
30
- /**
31
- * Log retention (in days) for the handler.
32
- */
33
- readonly logRetention?: number;
34
38
  /**
35
39
  * Max execution time (in seconds) for the handler.
36
40
  */
@@ -39,6 +43,10 @@ export interface TableStream<T extends TableSchema> {
39
43
  * Amount of memory available (in megabytes) for the handler.
40
44
  */
41
45
  readonly memory?: number;
46
+ /**
47
+ * Additional resources files for the bundler.
48
+ */
49
+ readonly files?: string[];
42
50
  /**
43
51
  * Determines whether or not VPC is enabled for the stream.
44
52
  */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ez4/database",
3
3
  "description": "EZ4: Components to build database services",
4
- "version": "0.42.0",
4
+ "version": "0.43.0",
5
5
  "author": "Silas B.",
6
6
  "license": "MIT",
7
7
  "type": "module",
@@ -46,10 +46,10 @@
46
46
  "live:publish": "npm run build && npm publish --access public"
47
47
  },
48
48
  "dependencies": {
49
- "@ez4/common": "^0.42.0",
50
- "@ez4/project": "^0.42.0",
51
- "@ez4/reflection": "^0.42.0",
52
- "@ez4/schema": "^0.42.0",
53
- "@ez4/utils": "^0.42.0"
49
+ "@ez4/common": "^0.43.0",
50
+ "@ez4/project": "^0.43.0",
51
+ "@ez4/reflection": "^0.43.0",
52
+ "@ez4/schema": "^0.43.0",
53
+ "@ez4/utils": "^0.43.0"
54
54
  }
55
55
  }