@lambdaorm/base 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +3 -0
  3. package/index.d.ts +8 -0
  4. package/index.js +25 -0
  5. package/index.js.map +1 -0
  6. package/jest-config.json +15 -0
  7. package/package.json +24 -0
  8. package/query/domain/data.d.ts +12 -0
  9. package/query/domain/data.js +63 -0
  10. package/query/domain/data.js.map +1 -0
  11. package/query/domain/index.d.ts +3 -0
  12. package/query/domain/index.js +20 -0
  13. package/query/domain/index.js.map +1 -0
  14. package/query/domain/query.d.ts +14 -0
  15. package/query/domain/query.js +3 -0
  16. package/query/domain/query.js.map +1 -0
  17. package/repository/application/index.d.ts +1 -0
  18. package/repository/application/index.js +18 -0
  19. package/repository/application/index.js.map +1 -0
  20. package/repository/application/repository.d.ts +35 -0
  21. package/repository/application/repository.js +3 -0
  22. package/repository/application/repository.js.map +1 -0
  23. package/repository/domain/actions.d.ts +11 -0
  24. package/repository/domain/actions.js +3 -0
  25. package/repository/domain/actions.js.map +1 -0
  26. package/repository/domain/index.d.ts +2 -0
  27. package/repository/domain/index.js +19 -0
  28. package/repository/domain/index.js.map +1 -0
  29. package/repository/domain/queryable.d.ts +320 -0
  30. package/repository/domain/queryable.js +226 -0
  31. package/repository/domain/queryable.js.map +1 -0
  32. package/schema/application/facade.d.ts +28 -0
  33. package/schema/application/facade.js +59 -0
  34. package/schema/application/facade.js.map +1 -0
  35. package/schema/application/index.d.ts +21 -0
  36. package/schema/application/index.js +38 -0
  37. package/schema/application/index.js.map +1 -0
  38. package/schema/application/services/config/dataSourceConfigService.d.ts +8 -0
  39. package/schema/application/services/config/dataSourceConfigService.js +38 -0
  40. package/schema/application/services/config/dataSourceConfigService.js.map +1 -0
  41. package/schema/application/services/config/domainConfigService.d.ts +7 -0
  42. package/schema/application/services/config/domainConfigService.js +13 -0
  43. package/schema/application/services/config/domainConfigService.js.map +1 -0
  44. package/schema/application/services/config/domainConfigServiceBase.d.ts +45 -0
  45. package/schema/application/services/config/domainConfigServiceBase.js +304 -0
  46. package/schema/application/services/config/domainConfigServiceBase.js.map +1 -0
  47. package/schema/application/services/config/mappingConfigService.d.ts +13 -0
  48. package/schema/application/services/config/mappingConfigService.js +32 -0
  49. package/schema/application/services/config/mappingConfigService.js.map +1 -0
  50. package/schema/application/services/config/mappingsConfigService.d.ts +10 -0
  51. package/schema/application/services/config/mappingsConfigService.js +43 -0
  52. package/schema/application/services/config/mappingsConfigService.js.map +1 -0
  53. package/schema/application/services/config/stageConfigService.d.ts +7 -0
  54. package/schema/application/services/config/stageConfigService.js +32 -0
  55. package/schema/application/services/config/stageConfigService.js.map +1 -0
  56. package/schema/application/services/config/viewConfigService.d.ts +12 -0
  57. package/schema/application/services/config/viewConfigService.js +36 -0
  58. package/schema/application/services/config/viewConfigService.js.map +1 -0
  59. package/schema/application/services/config/viewsConfigService.d.ts +9 -0
  60. package/schema/application/services/config/viewsConfigService.js +43 -0
  61. package/schema/application/services/config/viewsConfigService.js.map +1 -0
  62. package/schema/application/services/createEntitiesService.d.ts +10 -0
  63. package/schema/application/services/createEntitiesService.js +168 -0
  64. package/schema/application/services/createEntitiesService.js.map +1 -0
  65. package/schema/application/services/interpretSchemaDataService.d.ts +12 -0
  66. package/schema/application/services/interpretSchemaDataService.js +142 -0
  67. package/schema/application/services/interpretSchemaDataService.js.map +1 -0
  68. package/schema/application/services/routeService.d.ts +10 -0
  69. package/schema/application/services/routeService.js +35 -0
  70. package/schema/application/services/routeService.js.map +1 -0
  71. package/schema/application/services/schemaExtender.d.ts +37 -0
  72. package/schema/application/services/schemaExtender.js +472 -0
  73. package/schema/application/services/schemaExtender.js.map +1 -0
  74. package/schema/application/services/schemaService.d.ts +9 -0
  75. package/schema/application/services/schemaService.js +78 -0
  76. package/schema/application/services/schemaService.js.map +1 -0
  77. package/schema/application/state.d.ts +54 -0
  78. package/schema/application/state.js +176 -0
  79. package/schema/application/state.js.map +1 -0
  80. package/schema/application/useCases/clear.d.ts +9 -0
  81. package/schema/application/useCases/clear.js +149 -0
  82. package/schema/application/useCases/clear.js.map +1 -0
  83. package/schema/application/useCases/complete.d.ts +0 -0
  84. package/schema/application/useCases/complete.js +61 -0
  85. package/schema/application/useCases/complete.js.map +1 -0
  86. package/schema/application/useCases/create.d.ts +7 -0
  87. package/schema/application/useCases/create.js +21 -0
  88. package/schema/application/useCases/create.js.map +1 -0
  89. package/schema/application/useCases/getSchemaData.d.ts +8 -0
  90. package/schema/application/useCases/getSchemaData.js +16 -0
  91. package/schema/application/useCases/getSchemaData.js.map +1 -0
  92. package/schema/application/useCases/initialize.d.ts +8 -0
  93. package/schema/application/useCases/initialize.js +131 -0
  94. package/schema/application/useCases/initialize.js.map +1 -0
  95. package/schema/application/useCases/load.d.ts +17 -0
  96. package/schema/application/useCases/load.js +68 -0
  97. package/schema/application/useCases/load.js.map +1 -0
  98. package/schema/application/useCases/match.d.ts +21 -0
  99. package/schema/application/useCases/match.js +297 -0
  100. package/schema/application/useCases/match.js.map +1 -0
  101. package/schema/application/useCases/update.d.ts +9 -0
  102. package/schema/application/useCases/update.js +115 -0
  103. package/schema/application/useCases/update.js.map +1 -0
  104. package/schema/domain/dialect.d.ts +10 -0
  105. package/schema/domain/dialect.js +15 -0
  106. package/schema/domain/dialect.js.map +1 -0
  107. package/schema/domain/errors.d.ts +3 -0
  108. package/schema/domain/errors.js +11 -0
  109. package/schema/domain/errors.js.map +1 -0
  110. package/schema/domain/index.d.ts +6 -0
  111. package/schema/domain/index.js +23 -0
  112. package/schema/domain/index.js.map +1 -0
  113. package/schema/domain/ports/fileSchemaService.d.ts +5 -0
  114. package/schema/domain/ports/fileSchemaService.js +3 -0
  115. package/schema/domain/ports/fileSchemaService.js.map +1 -0
  116. package/schema/domain/schema.d.ts +207 -0
  117. package/schema/domain/schema.js +12 -0
  118. package/schema/domain/schema.js.map +1 -0
  119. package/schema/domain/sentence.d.ts +68 -0
  120. package/schema/domain/sentence.js +65 -0
  121. package/schema/domain/sentence.js.map +1 -0
  122. package/schema/domain/services.d.ts +20 -0
  123. package/schema/domain/services.js +3 -0
  124. package/schema/domain/services.js.map +1 -0
  125. package/schema/infrastructure/facadeBuilder.d.ts +9 -0
  126. package/schema/infrastructure/facadeBuilder.js +30 -0
  127. package/schema/infrastructure/facadeBuilder.js.map +1 -0
  128. package/schema/infrastructure/fileSchemaService.d.ts +11 -0
  129. package/schema/infrastructure/fileSchemaService.js +69 -0
  130. package/schema/infrastructure/fileSchemaService.js.map +1 -0
  131. package/schema/infrastructure/index.d.ts +3 -0
  132. package/schema/infrastructure/index.js +20 -0
  133. package/schema/infrastructure/index.js.map +1 -0
  134. package/schema/infrastructure/schemaFileHelper.d.ts +7 -0
  135. package/schema/infrastructure/schemaFileHelper.js +81 -0
  136. package/schema/infrastructure/schemaFileHelper.js.map +1 -0
  137. package/schema/infrastructure/schemaHelper.d.ts +23 -0
  138. package/schema/infrastructure/schemaHelper.js +132 -0
  139. package/schema/infrastructure/schemaHelper.js.map +1 -0
  140. package/schema/infrastructure/stateBuilder.d.ts +10 -0
  141. package/schema/infrastructure/stateBuilder.js +24 -0
  142. package/schema/infrastructure/stateBuilder.js.map +1 -0
  143. package/sentence/domain/index.d.ts +3 -0
  144. package/sentence/domain/index.js +20 -0
  145. package/sentence/domain/index.js.map +1 -0
  146. package/sentence/domain/metadata.d.ts +37 -0
  147. package/sentence/domain/metadata.js +3 -0
  148. package/sentence/domain/metadata.js.map +1 -0
  149. package/sentence/domain/sentence.d.ts +68 -0
  150. package/sentence/domain/sentence.js +128 -0
  151. package/sentence/domain/sentence.js.map +1 -0
  152. package/sentence/domain/services.d.ts +13 -0
  153. package/sentence/domain/services.js +3 -0
  154. package/sentence/domain/services.js.map +1 -0
  155. package/shared/domain/error.d.ts +9 -0
  156. package/shared/domain/error.js +25 -0
  157. package/shared/domain/error.js.map +1 -0
  158. package/shared/domain/ports/logger.d.ts +9 -0
  159. package/shared/domain/ports/logger.js +39 -0
  160. package/shared/domain/ports/logger.js.map +1 -0
  161. package/shared/index.d.ts +5 -0
  162. package/shared/index.js +22 -0
  163. package/shared/index.js.map +1 -0
  164. package/shared/infrastructure/consoleLogger.d.ts +6 -0
  165. package/shared/infrastructure/consoleLogger.js +41 -0
  166. package/shared/infrastructure/consoleLogger.js.map +1 -0
  167. package/shared/infrastructure/helper.d.ts +40 -0
  168. package/shared/infrastructure/helper.js +224 -0
  169. package/shared/infrastructure/helper.js.map +1 -0
  170. package/shared/infrastructure/loggerBuilder.d.ts +4 -0
  171. package/shared/infrastructure/loggerBuilder.js +15 -0
  172. package/shared/infrastructure/loggerBuilder.js.map +1 -0
  173. package/shared/infrastructure/winstonLogger.d.ts +7 -0
  174. package/shared/infrastructure/winstonLogger.js +57 -0
  175. package/shared/infrastructure/winstonLogger.js.map +1 -0
@@ -0,0 +1,320 @@
1
+ import { QueryActions } from './actions';
2
+ import { MetadataConstraint, MetadataModel, MetadataParameter, Metadata } from '../../sentence/domain';
3
+ import { QueryPlan } from '../../query/domain';
4
+ export declare class QueryAction {
5
+ protected actions: any;
6
+ protected query: any;
7
+ constructor(actions: QueryActions, query: string);
8
+ execute(data: any): Promise<any>;
9
+ normalize(): string;
10
+ model(): Promise<MetadataModel[]>;
11
+ constraints(): Promise<MetadataConstraint>;
12
+ parameters(): Promise<MetadataParameter[]>;
13
+ sentence(): Promise<QueryPlan>;
14
+ metadata(): Promise<Metadata>;
15
+ }
16
+ export declare class PageClauses extends QueryAction {
17
+ /** */
18
+ page(page: number, records: number): QueryAction;
19
+ }
20
+ export declare class MapClauses<T> extends PageClauses {
21
+ /** */
22
+ sort(predicate: (value: T, index: number, array: T[]) => unknown): PageClauses;
23
+ }
24
+ export declare class Map2Clauses<T> extends QueryAction {
25
+ /** */
26
+ sort(predicate: (value: T, index: number, array: T[]) => unknown): PageClauses;
27
+ }
28
+ export declare class HavingClauses<T> extends MapClauses<T> {
29
+ /** */
30
+ map<U>(predicate: (value: T, index: number, array: T[]) => U): MapClauses<U>;
31
+ /** */
32
+ first<U>(predicate: (value: T, index: number, array: T[]) => U): Map2Clauses<U>;
33
+ /** */
34
+ last<U>(predicate: (value: T, index: number, array: T[]) => U): Map2Clauses<U>;
35
+ /** */
36
+ distinct<U>(predicate: (value: T, index: number, array: T[]) => U): MapClauses<U>;
37
+ }
38
+ export declare class FilterIncludeClauses<T> extends HavingClauses<T> {
39
+ /** */
40
+ having(predicate: (value: T, index: number, array: T[]) => unknown): HavingClauses<T>;
41
+ }
42
+ export declare class IncludeClauses<T> extends HavingClauses<T> {
43
+ /** */
44
+ filter(predicate: (value: T, index: number, array: T[]) => unknown): FilterIncludeClauses<T>;
45
+ /** */
46
+ having(predicate: (value: T, index: number, array: T[]) => unknown): HavingClauses<T>;
47
+ }
48
+ export declare class FilterClauses<T> extends HavingClauses<T> {
49
+ /** */
50
+ include(predicate: (value: T, index: number, array: T[]) => unknown): IncludeClauses<T>;
51
+ /** */
52
+ having(predicate: (value: T, index: number, array: T[]) => unknown): HavingClauses<T>;
53
+ }
54
+ export declare class FilterAction<T> extends QueryAction {
55
+ /** */
56
+ filter(predicate: (value: T, index: number, array: T[]) => unknown): QueryAction;
57
+ }
58
+ export declare class IncludeAction<T> extends QueryAction {
59
+ /** */
60
+ include(predicate: (value: T, index: number, array: T[]) => unknown): QueryAction;
61
+ }
62
+ export declare class ModificableClauses<T> extends QueryAction {
63
+ /** */
64
+ filter(predicate: (value: T, index: number, array: T[]) => unknown): FilterClauses<T>;
65
+ /** */
66
+ include(predicate: (value: T, index: number, array: T[]) => unknown): FilterAction<T>;
67
+ }
68
+ export declare class Queryable<T> extends HavingClauses<T> {
69
+ /** */
70
+ filter(predicate: (value: T, index: number, array: T[]) => unknown): FilterClauses<T>;
71
+ /** */
72
+ include(predicate: (value: T, index: number, array: T[]) => unknown): IncludeClauses<T>;
73
+ /** */
74
+ having(predicate: (value: T, index: number, array: T[]) => unknown): HavingClauses<T>;
75
+ /** */
76
+ insert(predicate?: (value: T) => unknown | T): ModificableClauses<T>;
77
+ upsert(predicate?: (value: T) => unknown | T): ModificableClauses<T>;
78
+ /** */
79
+ bulkInsert(value?: T): ModificableClauses<T>;
80
+ /** */
81
+ update(predicate?: (value: T, index: number, array: T[]) => unknown): ModificableClauses<T>;
82
+ /** */
83
+ updateAll(predicate: (value: T, index: number, array: T[]) => unknown): IncludeAction<T>;
84
+ merge(predicate?: (value: T) => unknown | T): ModificableClauses<T>;
85
+ /** */
86
+ bulkMerge(value?: T): ModificableClauses<T>;
87
+ /** */
88
+ bulkDelete(value?: T): ModificableClauses<T>;
89
+ /** */
90
+ delete(predicate?: (value: T) => unknown): ModificableClauses<T>;
91
+ /** */
92
+ deleteAll(): IncludeAction<T>;
93
+ }
94
+ export interface ModifyFilterClauses<T> {
95
+ /** */
96
+ include(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): void;
97
+ }
98
+ export interface ModifyIncludeClauses<T> {
99
+ /** */
100
+ filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): ModifyFilterClauses<T>;
101
+ }
102
+ export interface ModifyClauses<T> {
103
+ /** */
104
+ filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): ModifyFilterClauses<T>;
105
+ /** */
106
+ include(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): ModifyIncludeClauses<T>;
107
+ }
108
+ export interface ModifyAllClauses<T> {
109
+ /** */
110
+ include(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): ModifyIncludeClauses<T>;
111
+ }
112
+ export interface RelationMapClauses<T> {
113
+ /** */
114
+ sort(predicate: (value: T, index: number, array: T[]) => unknown, ...args: any): void;
115
+ /** */
116
+ filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): FilterClauses<T>;
117
+ /** */
118
+ include(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): IncludeClauses<T>;
119
+ }
120
+ export interface RelationIncludeClauses<T> {
121
+ /** */
122
+ map<U>(predicate: (value: T, index: number, array: T[]) => U, thisArg?: any): RelationMapClauses<T>;
123
+ /** */
124
+ first<U>(predicate: (value: T, index: number, array: T[]) => U, thisArg?: any): RelationMapClauses<T>;
125
+ /** */
126
+ last<U>(predicate: (value: T, index: number, array: T[]) => U, thisArg?: any): RelationMapClauses<T>;
127
+ /** */
128
+ distinct<U>(predicate: (value: T, index: number, array: T[]) => U, thisArg?: any): RelationMapClauses<T>;
129
+ }
130
+ export interface IRelation<T> {
131
+ /** */
132
+ map<U>(predicate: (value: T, index: number, array: T[]) => U, thisArg?: any): RelationMapClauses<T>;
133
+ /** */
134
+ first<U>(predicate: (value: T, index: number, array: T[]) => U, thisArg?: any): RelationMapClauses<T>;
135
+ /** */
136
+ last<U>(predicate: (value: T, index: number, array: T[]) => U, thisArg?: any): RelationMapClauses<T>;
137
+ /** */
138
+ distinct<U>(predicate: (value: T, index: number, array: T[]) => U, thisArg?: any): RelationMapClauses<T>;
139
+ /** */
140
+ include(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): RelationIncludeClauses<T>;
141
+ /** */
142
+ update(predicate?: (value: T) => unknown): void;
143
+ /** */
144
+ insert(predicate?: (value: T) => unknown): void;
145
+ /** */
146
+ upsert(predicate?: (value: T) => unknown): void;
147
+ filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): FilterClauses<T>;
148
+ }
149
+ export type OneToMany<T> = IRelation<T>;
150
+ export type OneToOne<T> = IRelation<T>;
151
+ export type ManyToOne<T> = IRelation<T>;
152
+ /** */
153
+ export declare function as(value: any, name: any): any;
154
+ /** */
155
+ export declare function desc(value: any): void;
156
+ /** */
157
+ export declare function asc(value: any): void;
158
+ /** */
159
+ export declare function between(value: any, from: any, to: any): boolean;
160
+ /** */
161
+ export declare function includes(value: any, list: any[]): boolean;
162
+ /** */
163
+ export declare function distinct(value: any): any;
164
+ /** Get the absolute value */
165
+ export declare function abs(value: number): number;
166
+ /** Get the arc cosine */
167
+ export declare function acos(value: number): number;
168
+ /** Get the arc sine */
169
+ export declare function asin(value: number): number;
170
+ /** Get the arc tangent */
171
+ export declare function atan(value: number): number;
172
+ /** Get the arc tangent of x and y */
173
+ export declare function atan2(x: number, y: number): number;
174
+ /** Get the smallest following integer */
175
+ export declare function ceil(value: number): number;
176
+ /** Get the cosine */
177
+ export declare function cos(value: number): number;
178
+ /** Get hyperbolic cosine */
179
+ export declare function cosh(value: number): number;
180
+ /** Raise e to the nth power */
181
+ export declare function exp(value: number): number;
182
+ /** Get the largest preceding integer */
183
+ export declare function floor(value: number): number;
184
+ /** Get natural logarithm of num */
185
+ export declare function ln(value: number): number;
186
+ /** Get logarithm, base num1, of num2 */
187
+ export declare function log(num1: number, num2: number): number;
188
+ /** Get remainder */
189
+ export declare function remainder(n1: number, n2: number): number;
190
+ /** Get rounded value */
191
+ export declare function round(value: number, decimals: number): number;
192
+ /** Get sign of exp */
193
+ export declare function sign(value: number): number;
194
+ /** Get sine */
195
+ export declare function sin(value: number): number;
196
+ /** Get hyperbolic sine */
197
+ export declare function sinh(value: number): number;
198
+ /** Get tangent */
199
+ export declare function tan(value: number): number;
200
+ /** Get hyperbolic tangent */
201
+ export declare function tanh(value: number): number;
202
+ /** Truncate num */
203
+ export declare function trunc(value: number, decimals: number): number;
204
+ /** Get character from ASCII code */
205
+ export declare function chr(value: string): string;
206
+ /** Capitalize words */
207
+ /** Lowercase string */
208
+ export declare function lower(value: string): string;
209
+ /** Pad the left-side of string */
210
+ export declare function lpad(value: string, len: number, pad: string): string;
211
+ /** Remove leading chars */
212
+ export declare function ltrim(value: string): string;
213
+ /** The replace() method searches a string for a specified value and returns a new string where the specified values are replaced. */
214
+ export declare function replace(value: string, source: string, target: string): string;
215
+ /** Pad the right-side of string */
216
+ export declare function rpad(value: string, len: number, pad: string): string;
217
+ /** Remove trailing spaces */
218
+ export declare function rtrim(value: string): string;
219
+ /** Get a substring of string */
220
+ export declare function substr(value: string, from: number, count: number): string;
221
+ /** Get a substring of string */
222
+ export declare function substring(value: string, from: number, count: number): string;
223
+ /** Remove characters */
224
+ export declare function trim(value: string): string;
225
+ /** Uppercase string */
226
+ export declare function upper(value: string): string;
227
+ /** String concatenation */
228
+ export declare function concat(...values: string[]): string;
229
+ /** Get the position of the first occurrence of substring */
230
+ export declare function like(field: string, searchString: string): string;
231
+ /**
232
+ * Returns true if the sequence of elements of searchString converted to a String is the
233
+ * same as the corresponding elements of this object (converted to a String) starting at
234
+ * position. Otherwise returns false.
235
+ */
236
+ export declare function startsWith(field: string, searchString: string): string;
237
+ /** Returns true if searchString appears as a substring of the result of converting this */
238
+ export declare function includes(field: string, searchString: string): string;
239
+ /** Get the current time */
240
+ export declare function curTime(): Date;
241
+ /** Get the current date */
242
+ export declare function today(): Date;
243
+ /** Get the current dateTime */
244
+ export declare function now(): Date;
245
+ /** */
246
+ export declare function time(value: any): Date;
247
+ /** */
248
+ export declare function date(value: any): Date;
249
+ /** */
250
+ export declare function dateTime(value: any): Date;
251
+ /** */
252
+ export declare function year(value: Date): number;
253
+ /** */
254
+ export declare function month(value: Date): number;
255
+ /** */
256
+ export declare function day(value: Date): number;
257
+ /** */
258
+ export declare function weekday(value: Date): number;
259
+ /** */
260
+ export declare function hours(value: Date): number;
261
+ /** */
262
+ export declare function minutes(value: Date): number;
263
+ /** */
264
+ export declare function seconds(value: Date): number;
265
+ /** */
266
+ export declare function addYear(date: Date, value: number): Date;
267
+ /** */
268
+ export declare function addMonth(date: Date, value: number): Date;
269
+ /** */
270
+ export declare function addDay(date: Date, value: number): Date;
271
+ /** */
272
+ export declare function addHours(date: Date, value: number): Date;
273
+ /** */
274
+ export declare function addMinutes(date: Date, value: number): Date;
275
+ /** */
276
+ export declare function addSeconds(date: Date, value: number): Date;
277
+ /** */
278
+ export declare function addTime(date: Date, value: number): Date;
279
+ /** */
280
+ export declare function dateDiff(date: Date, date2: Date): Date;
281
+ /** */
282
+ export declare function timeDiff(time: Date, time2: Date): Date;
283
+ /** */
284
+ export declare function toString(value: any): string;
285
+ /** */
286
+ export declare function toDate(value: any): Date;
287
+ /** */
288
+ export declare function toDateTime(value: any): string;
289
+ /** */
290
+ export declare function toTime(value: any): string;
291
+ /** */
292
+ export declare function toJson(value: any): any;
293
+ /** */
294
+ export declare function toNumber(value: any): number;
295
+ /** */
296
+ export declare function user(): string;
297
+ /** */
298
+ export declare function source(): string;
299
+ /** */
300
+ export declare function nvl(value: any, _default: any): any;
301
+ /** */
302
+ export declare function nvl2(value: any, a: any, b: any): any;
303
+ /** */
304
+ export declare function isNull(value: any): boolean;
305
+ /** */
306
+ export declare function isNotNull(value: any): boolean;
307
+ /** */
308
+ export declare function avg(value: any): any;
309
+ /** */
310
+ export declare function count(value: any): any;
311
+ /** */
312
+ export declare function first(value: any): any;
313
+ /** */
314
+ export declare function last(value: any): any;
315
+ /** */
316
+ export declare function max(value: any): any;
317
+ /** */
318
+ export declare function min(value: any): any;
319
+ /** */
320
+ export declare function sum(value: any): any;
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Queryable = exports.ModificableClauses = exports.IncludeAction = exports.FilterAction = exports.FilterClauses = exports.IncludeClauses = exports.FilterIncludeClauses = exports.HavingClauses = exports.Map2Clauses = exports.MapClauses = exports.PageClauses = exports.QueryAction = void 0;
13
+ class QueryAction {
14
+ constructor(actions, query) {
15
+ this.actions = actions;
16
+ this.query = query;
17
+ }
18
+ execute(data) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ return this.actions.execute(this.query, data);
21
+ });
22
+ }
23
+ normalize() {
24
+ return this.actions.normalize(this.query);
25
+ }
26
+ model() {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ return this.actions.model(this.query);
29
+ });
30
+ }
31
+ constraints() {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ return this.actions.constraints(this.query);
34
+ });
35
+ }
36
+ parameters() {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ return this.actions.parameters(this.query);
39
+ });
40
+ }
41
+ sentence() {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ return this.actions.plan(this.query);
44
+ });
45
+ }
46
+ metadata() {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ return this.actions.metadata(this.query);
49
+ });
50
+ }
51
+ }
52
+ exports.QueryAction = QueryAction;
53
+ class PageClauses extends QueryAction {
54
+ /** */
55
+ page(page, records) {
56
+ return new QueryAction(this.actions, `${this.query}.page(${page},${records})`);
57
+ }
58
+ }
59
+ exports.PageClauses = PageClauses;
60
+ class MapClauses extends PageClauses {
61
+ /** */
62
+ sort(predicate) {
63
+ return new PageClauses(this.actions, `${this.query}.sort(${predicate.toString()})`);
64
+ }
65
+ }
66
+ exports.MapClauses = MapClauses;
67
+ class Map2Clauses extends QueryAction {
68
+ /** */
69
+ sort(predicate) {
70
+ return new PageClauses(this.actions, `${this.query}.sort(${predicate.toString()})`);
71
+ }
72
+ }
73
+ exports.Map2Clauses = Map2Clauses;
74
+ class HavingClauses extends MapClauses {
75
+ /** */
76
+ map(predicate) {
77
+ return new MapClauses(this.actions, `${this.query}.map(${predicate.toString()})`);
78
+ }
79
+ /** */
80
+ first(predicate) {
81
+ return new Map2Clauses(this.actions, `${this.query}.first(${predicate.toString()})`);
82
+ }
83
+ /** */
84
+ last(predicate) {
85
+ return new Map2Clauses(this.actions, `${this.query}.last(${predicate.toString()})`);
86
+ }
87
+ /** */
88
+ distinct(predicate) {
89
+ return new MapClauses(this.actions, `${this.query}.distinct(${predicate.toString()})`);
90
+ }
91
+ }
92
+ exports.HavingClauses = HavingClauses;
93
+ class FilterIncludeClauses extends HavingClauses {
94
+ /** */
95
+ having(predicate) {
96
+ return new HavingClauses(this.actions, `${this.query}.having(${predicate.toString()})`);
97
+ }
98
+ }
99
+ exports.FilterIncludeClauses = FilterIncludeClauses;
100
+ class IncludeClauses extends HavingClauses {
101
+ /** */
102
+ filter(predicate) {
103
+ return new FilterIncludeClauses(this.actions, `${this.query}.filter(${predicate.toString()})`);
104
+ }
105
+ /** */
106
+ having(predicate) {
107
+ return new HavingClauses(this.actions, `${this.query}.having(${predicate.toString()})`);
108
+ }
109
+ }
110
+ exports.IncludeClauses = IncludeClauses;
111
+ class FilterClauses extends HavingClauses {
112
+ /** */
113
+ include(predicate) {
114
+ return new IncludeClauses(this.actions, `${this.query}.include(${predicate.toString()})`);
115
+ }
116
+ /** */
117
+ having(predicate) {
118
+ return new HavingClauses(this.actions, `${this.query}.having(${predicate.toString()})`);
119
+ }
120
+ }
121
+ exports.FilterClauses = FilterClauses;
122
+ class FilterAction extends QueryAction {
123
+ /** */
124
+ filter(predicate) {
125
+ return new QueryAction(this.actions, `${this.query}.filter(${predicate.toString()})`);
126
+ }
127
+ }
128
+ exports.FilterAction = FilterAction;
129
+ class IncludeAction extends QueryAction {
130
+ /** */
131
+ include(predicate) {
132
+ return new QueryAction(this.actions, `${this.query}.include(${predicate.toString()})`);
133
+ }
134
+ }
135
+ exports.IncludeAction = IncludeAction;
136
+ class ModificableClauses extends QueryAction {
137
+ /** */
138
+ filter(predicate) {
139
+ return new FilterClauses(this.actions, `${this.query}.filter(${predicate.toString()})`);
140
+ }
141
+ /** */
142
+ include(predicate) {
143
+ return new IncludeClauses(this.actions, `${this.query}.include(${predicate.toString()})`);
144
+ }
145
+ }
146
+ exports.ModificableClauses = ModificableClauses;
147
+ class Queryable extends HavingClauses {
148
+ /** */
149
+ filter(predicate) {
150
+ return new FilterClauses(this.actions, `${this.query}.filter(${predicate.toString()})`);
151
+ }
152
+ /** */
153
+ include(predicate) {
154
+ return new IncludeClauses(this.actions, `${this.query}.include(${predicate.toString()})`);
155
+ }
156
+ /** */
157
+ having(predicate) {
158
+ return new HavingClauses(this.actions, `${this.query}.having(${predicate.toString()})`);
159
+ }
160
+ /** */
161
+ // insert (predicate?: T): ModificableClauses<T>
162
+ insert(predicate) {
163
+ if (predicate) {
164
+ return new ModificableClauses(this.actions, `${this.query}.insert(${predicate !== undefined ? JSON.stringify(predicate) : ''})`);
165
+ }
166
+ else {
167
+ return new ModificableClauses(this.actions, `${this.query}.insert()`);
168
+ }
169
+ }
170
+ upsert(predicate) {
171
+ if (predicate) {
172
+ return new ModificableClauses(this.actions, `${this.query}.upsert(${predicate !== undefined ? JSON.stringify(predicate) : ''})`);
173
+ }
174
+ else {
175
+ return new ModificableClauses(this.actions, `${this.query}.upsert()`);
176
+ }
177
+ }
178
+ /** */
179
+ bulkInsert(value) {
180
+ return new ModificableClauses(this.actions, `${this.query}.bulkInsert(${value !== undefined ? JSON.stringify(value) : ''})`);
181
+ }
182
+ /** */
183
+ update(predicate) {
184
+ if (predicate) {
185
+ return new ModificableClauses(this.actions, `${this.query}.update(${predicate.toString()})`);
186
+ }
187
+ else {
188
+ return new ModificableClauses(this.actions, `${this.query}.update()`);
189
+ }
190
+ }
191
+ /** */
192
+ updateAll(predicate) {
193
+ return new IncludeAction(this.actions, `${this.query}.updateAll(${predicate.toString()})`);
194
+ }
195
+ merge(predicate) {
196
+ if (predicate) {
197
+ return new ModificableClauses(this.actions, `${this.query}.merge(${predicate !== undefined ? JSON.stringify(predicate) : ''})`);
198
+ }
199
+ else {
200
+ return new ModificableClauses(this.actions, `${this.query}.merge()`);
201
+ }
202
+ }
203
+ /** */
204
+ bulkMerge(value) {
205
+ return new ModificableClauses(this.actions, `${this.query}.bulkMerge(${value !== undefined ? JSON.stringify(value) : ''})`);
206
+ }
207
+ /** */
208
+ bulkDelete(value) {
209
+ return new ModificableClauses(this.actions, `${this.query}.bulkDelete(${value !== undefined ? JSON.stringify(value) : ''})`);
210
+ }
211
+ /** */
212
+ delete(predicate) {
213
+ if (predicate) {
214
+ return new ModificableClauses(this.actions, `${this.query}.delete(${predicate.toString()})`);
215
+ }
216
+ else {
217
+ return new ModificableClauses(this.actions, `${this.query}.delete()`);
218
+ }
219
+ }
220
+ /** */
221
+ deleteAll() {
222
+ return new IncludeAction(this.actions, `${this.query}.deleteAll()`);
223
+ }
224
+ }
225
+ exports.Queryable = Queryable;
226
+ //# sourceMappingURL=queryable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryable.js","sourceRoot":"","sources":["../../../../src/lib/repository/domain/queryable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { Schema, SchemaData, Dialect, Mapping, MatchOptions, InitializeSchemaArgs, SchemaInfo, IFileSchemaService } from '../domain';
2
+ import { SchemaExtender } from './services/schemaExtender';
3
+ import { CreateSchema } from './useCases/create';
4
+ import { UpdateSchema } from './useCases/update';
5
+ import { SchemaService } from './services/schemaService';
6
+ import { GetSchemaSchema } from './useCases/getSchemaData';
7
+ import { Type } from 'typ3s';
8
+ import { MatchSchema } from './useCases/match';
9
+ import { InitializeSchema } from './useCases/initialize';
10
+ export declare class SchemaFacade {
11
+ readonly schemaService: SchemaService;
12
+ private readonly getSchemaData;
13
+ private readonly extender;
14
+ private readonly createSchema;
15
+ private readonly initializeSchema;
16
+ private readonly updateSchema;
17
+ private readonly matchSchema;
18
+ private readonly fileService;
19
+ constructor(schemaService: SchemaService, getSchemaData: GetSchemaSchema, extender: SchemaExtender, createSchema: CreateSchema, initializeSchema: InitializeSchema, updateSchema: UpdateSchema, matchSchema: MatchSchema, fileService: IFileSchemaService);
20
+ create(dialect?: Dialect, connection?: any): Schema;
21
+ initialize(schema: Schema, args: InitializeSchemaArgs): Schema;
22
+ introspect(schema: Schema, data: any | any[], name: string): SchemaData;
23
+ match(schema: Schema, mappings: Mapping[], options?: MatchOptions): void;
24
+ schemaData(source: any, name: string, type: Type): SchemaData;
25
+ complete(schema: Schema): void;
26
+ read(workspace: string): Promise<SchemaInfo | null>;
27
+ write(schema: Schema, path: string): Promise<void>;
28
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SchemaFacade = void 0;
13
+ class SchemaFacade {
14
+ // eslint-disable-next-line no-useless-constructor
15
+ constructor(schemaService, getSchemaData, extender, createSchema, initializeSchema, updateSchema, matchSchema, fileService) {
16
+ this.schemaService = schemaService;
17
+ this.getSchemaData = getSchemaData;
18
+ this.extender = extender;
19
+ this.createSchema = createSchema;
20
+ this.initializeSchema = initializeSchema;
21
+ this.updateSchema = updateSchema;
22
+ this.matchSchema = matchSchema;
23
+ this.fileService = fileService;
24
+ }
25
+ create(dialect, connection) {
26
+ return this.createSchema.create(dialect, connection);
27
+ }
28
+ initialize(schema, args) {
29
+ return this.initializeSchema.initialize(schema, args);
30
+ }
31
+ introspect(schema, data, name) {
32
+ const type = this.updateSchema.update(schema, data, name);
33
+ const schemaData = this.schemaData(data, name, type);
34
+ return schemaData;
35
+ }
36
+ match(schema, mappings, options = {}) {
37
+ this.matchSchema.match(schema, mappings, options);
38
+ }
39
+ schemaData(source, name, type) {
40
+ return this.getSchemaData.getData(source, name, type);
41
+ }
42
+ complete(schema) {
43
+ this.schemaService.complete(schema);
44
+ this.extender.complete(schema);
45
+ this.extender.extend(schema);
46
+ }
47
+ read(workspace) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ return yield this.fileService.read(workspace);
50
+ });
51
+ }
52
+ write(schema, path) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ yield this.fileService.write(schema, path);
55
+ });
56
+ }
57
+ }
58
+ exports.SchemaFacade = SchemaFacade;
59
+ //# sourceMappingURL=facade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facade.js","sourceRoot":"","sources":["../../../../src/lib/schema/application/facade.ts"],"names":[],"mappings":";;;;;;;;;;;;AASA,MAAa,YAAY;IACxB,kDAAkD;IAClD,YACiB,aAA2B,EAC1B,aAA8B,EAC9B,QAAuB,EACvB,YAA0B,EAC1B,gBAAkC,EAClC,YAA0B,EAC1B,WAAwB,EACxB,WAA8B;QAP/B,kBAAa,GAAb,aAAa,CAAc;QAC1B,kBAAa,GAAb,aAAa,CAAiB;QAC9B,aAAQ,GAAR,QAAQ,CAAe;QACvB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,gBAAW,GAAX,WAAW,CAAmB;IAC7C,CAAC;IAEG,MAAM,CAAE,OAAiB,EAAE,UAAgB;QACjD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IACrD,CAAC;IAEM,UAAU,CAAE,MAAc,EAAE,IAA0B;QAC5D,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACtD,CAAC;IAEM,UAAU,CAAE,MAAc,EAAE,IAAiB,EAAE,IAAW;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QACpD,OAAO,UAAU,CAAA;IAClB,CAAC;IAEM,KAAK,CAAE,MAAc,EAAE,QAAkB,EAAE,UAAuB,EAAE;QAC1E,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IAEM,UAAU,CAAE,MAAU,EAAE,IAAW,EAAE,IAAU;QACrD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACtD,CAAC;IAEM,QAAQ,CAAE,MAAc;QAC9B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAEY,IAAI,CAAE,SAAgB;;YAClC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9C,CAAC;KAAA;IAEY,KAAK,CAAE,MAAa,EAAE,IAAW;;YAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC3C,CAAC;KAAA;CACD;AAhDD,oCAgDC"}
@@ -0,0 +1,21 @@
1
+ export * from './services/schemaService';
2
+ export * from './services/interpretSchemaDataService';
3
+ export * from './services/config/dataSourceConfigService';
4
+ export * from './services/config/mappingsConfigService';
5
+ export * from './services/config/mappingConfigService';
6
+ export * from './services/config/domainConfigService';
7
+ export * from './services/config/stageConfigService';
8
+ export * from './services/config/viewsConfigService';
9
+ export * from './services/config/viewConfigService';
10
+ export * from './facade';
11
+ export * from './services/createEntitiesService';
12
+ export * from './services/routeService';
13
+ export * from './services/schemaExtender';
14
+ export * from './useCases/load';
15
+ export * from './useCases/create';
16
+ export * from './useCases/update';
17
+ export * from './useCases/getSchemaData';
18
+ export * from './useCases/match';
19
+ export * from './useCases/initialize';
20
+ export * from './useCases/getSchemaData';
21
+ export * from './state';