jostraca 0.20.1 → 0.22.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/build/BuildContext.d.ts +1 -0
- package/dist/build/BuildContext.js.map +1 -1
- package/dist/build/FileHandler.d.ts +3 -0
- package/dist/build/FileHandler.js +121 -47
- package/dist/build/FileHandler.js.map +1 -1
- package/dist/jostraca.d.ts +9 -6
- package/dist/jostraca.js +37 -21
- package/dist/jostraca.js.map +1 -1
- package/dist/op/CopyOp.js +21 -26
- package/dist/op/CopyOp.js.map +1 -1
- package/dist/op/FileOp.js +1 -1
- package/dist/op/FileOp.js.map +1 -1
- package/dist/op/FolderOp.d.ts +2 -2
- package/dist/op/FolderOp.js +3 -2
- package/dist/op/FolderOp.js.map +1 -1
- package/dist/op/InjectOp.d.ts +3 -3
- package/dist/op/InjectOp.js +22 -16
- package/dist/op/InjectOp.js.map +1 -1
- package/dist/op/ProjectOp.js +4 -2
- package/dist/op/ProjectOp.js.map +1 -1
- package/dist/op/SlotOp.d.ts +3 -3
- package/dist/op/SlotOp.js +1 -1
- package/dist/op/SlotOp.js.map +1 -1
- package/dist/types.d.ts +3 -18
- package/dist/util/basic.js +0 -3
- package/dist/util/basic.js.map +1 -1
- package/package.json +4 -4
- package/src/build/BuildContext.ts +1 -0
- package/src/build/FileHandler.ts +166 -50
- package/src/jostraca.ts +47 -24
- package/src/op/CopyOp.ts +26 -30
- package/src/op/FileOp.ts +1 -1
- package/src/op/FolderOp.ts +5 -4
- package/src/op/InjectOp.ts +14 -7
- package/src/op/ProjectOp.ts +4 -2
- package/src/op/SlotOp.ts +3 -3
- package/src/types.ts +10 -2
- package/src/util/basic.ts +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildContext.js","sourceRoot":"","sources":["../../src/build/BuildContext.ts"],"names":[],"mappings":";;;;;;AACA,0DAA4B;AAS5B,+CAEsB;AAEtB,2CAEoB;AAapB,MAAM,EAAE,GAAG,eAAe,CAAA;AAG1B,4DAA4D;AAC5D,MAAM,YAAY;IA6BhB,YACE,MAAc,EACd,QAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"BuildContext.js","sourceRoot":"","sources":["../../src/build/BuildContext.ts"],"names":[],"mappings":";;;;;;AACA,0DAA4B;AAS5B,+CAEsB;AAEtB,2CAEoB;AAapB,MAAM,EAAE,GAAG,eAAe,CAAA;AAG1B,4DAA4D;AAC5D,MAAM,YAAY;IA6BhB,YACE,MAAc,EACd,QAAkB,EAClB,OAIC,EACD,EAAa,EACb,GAAiB;QAGjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAEd,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,EAAE,GAAG,iCAAiC,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QACrE,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAA;QAEjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG;YACb,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS,EAAE;aAClB;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS,EAAE;gBACjB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,EAAE;aACT;YACD,4BAA4B;YAC5B,IAAI,EAAE,SAAS,EAAE;YACjB,OAAO,EAAE,SAAS;SACnB,CAAA;QACD,IAAI,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;QAEpC,IAAI,CAAC,EAAE,GAAG,IAAI,yBAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACrC,CAAC;IAGD,OAAO,CAAC,IAAY,EAAE,IAAS;QAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC5B,CAAC;IAGD,eAAe;QACb,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO;gBACV,mBAAI,CAAC,SAAS,CACZ,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;QACtE,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF;AAUC,oCAAY;AAPd,SAAS,SAAS;IAChB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;AAC1D,CAAC"}
|
|
@@ -12,6 +12,7 @@ declare class FileHandler {
|
|
|
12
12
|
bin: any;
|
|
13
13
|
};
|
|
14
14
|
control: {
|
|
15
|
+
dryrun: boolean;
|
|
15
16
|
duplicate: boolean;
|
|
16
17
|
version: boolean;
|
|
17
18
|
};
|
|
@@ -32,6 +33,7 @@ declare class FileHandler {
|
|
|
32
33
|
txt: any;
|
|
33
34
|
bin: any;
|
|
34
35
|
}, control: {
|
|
36
|
+
dryrun: boolean;
|
|
35
37
|
duplicate: boolean;
|
|
36
38
|
version: boolean;
|
|
37
39
|
});
|
|
@@ -48,6 +50,7 @@ declare class FileHandler {
|
|
|
48
50
|
loadJSON(path: string, opts?: any | string, whence?: string): any;
|
|
49
51
|
saveJSON(path: string, json: any, opts?: any | string, whence?: string): any;
|
|
50
52
|
loadFile(path: string, opts?: any | string, whence?: string): string | Buffer;
|
|
53
|
+
ensureFolder(path: string): void;
|
|
51
54
|
saveFile(path: string, content: string | Buffer, opts?: any | string, whence?: string): void;
|
|
52
55
|
}
|
|
53
56
|
declare function validPath(path: string, maxdepth: number, errmark: string): void;
|
|
@@ -54,6 +54,7 @@ class FileHandler {
|
|
|
54
54
|
const wstr = null == whence ? '' : whence + ':';
|
|
55
55
|
const fs = this.fs();
|
|
56
56
|
const FN = 'save:';
|
|
57
|
+
let why = [];
|
|
57
58
|
if ('string' === typeof write) {
|
|
58
59
|
whence = write;
|
|
59
60
|
write = false;
|
|
@@ -65,10 +66,11 @@ class FileHandler {
|
|
|
65
66
|
const existing = 'string' === typeof content ? this.existing.txt : this.existing.bin;
|
|
66
67
|
path = node_path_1.default.normalize(path);
|
|
67
68
|
const folder = node_path_1.default.dirname(path);
|
|
68
|
-
const withinFolder = path.startsWith(this.folder);
|
|
69
|
+
const withinFolder = path.startsWith(this.folder) || ('.' === this.folder && !node_path_1.default.isAbsolute(path));
|
|
69
70
|
const rpath = this.relative(path, FN + wstr);
|
|
70
71
|
const exists = fs.existsSync(path);
|
|
71
72
|
write = write || !exists;
|
|
73
|
+
why.push(`start<${write ? 'w' : 'W'}${exists ? 'x' : 'X'}>`);
|
|
72
74
|
const meta = {
|
|
73
75
|
action: 'init',
|
|
74
76
|
path: rpath,
|
|
@@ -78,15 +80,18 @@ class FileHandler {
|
|
|
78
80
|
conflict: false,
|
|
79
81
|
};
|
|
80
82
|
if (exists) {
|
|
81
|
-
|
|
83
|
+
why.push('exists-0');
|
|
82
84
|
let oldcontent = this.loadFile(path);
|
|
83
85
|
const protect = 0 <= oldcontent.indexOf(JOSTRACA_PROTECT);
|
|
84
86
|
meta.protect = protect;
|
|
85
87
|
if (existing.preserve) {
|
|
88
|
+
why.push('preserve-0');
|
|
86
89
|
if (protect) {
|
|
90
|
+
why.push('protect-0');
|
|
87
91
|
write = false;
|
|
88
92
|
}
|
|
89
93
|
else if (oldcontent.length !== content.length || oldcontent !== content) {
|
|
94
|
+
why.push('content-0');
|
|
90
95
|
let oldpath = node_path_1.default.join(folder, node_path_1.default.basename(path).replace(/\.[^.]+$/, '') +
|
|
91
96
|
'.old' + node_path_1.default.extname(path));
|
|
92
97
|
this.copyFile(path, oldpath, whence + 'preserve:');
|
|
@@ -95,14 +100,17 @@ class FileHandler {
|
|
|
95
100
|
whenify(meta, this.now());
|
|
96
101
|
meta.actions.push(meta.action);
|
|
97
102
|
this.audit.push([CN + FN + wstr + meta.action,
|
|
98
|
-
{ ...meta, action: meta.action, path }]);
|
|
103
|
+
{ ...meta, why, action: meta.action, path }]);
|
|
99
104
|
}
|
|
100
105
|
}
|
|
101
106
|
if (existing.write && !protect) {
|
|
107
|
+
why.push('write-0');
|
|
102
108
|
write = true;
|
|
103
109
|
}
|
|
104
110
|
else if (existing.present) {
|
|
111
|
+
why.push('present-0');
|
|
105
112
|
if (oldcontent.length !== content.length || oldcontent !== content) {
|
|
113
|
+
why.push('content-1');
|
|
106
114
|
let newpath = node_path_1.default.join(folder, node_path_1.default.basename(path).replace(/\.[^.]+$/, '') +
|
|
107
115
|
'.new' + node_path_1.default.extname(path));
|
|
108
116
|
this.saveFile(newpath, content, { flush: true }, whence + 'present:');
|
|
@@ -111,13 +119,16 @@ class FileHandler {
|
|
|
111
119
|
whenify(meta, this.now());
|
|
112
120
|
meta.actions.push(meta.action);
|
|
113
121
|
this.audit.push([CN + FN + wstr + meta.action,
|
|
114
|
-
{ ...meta, action: meta.action, path }]);
|
|
122
|
+
{ ...meta, why, action: meta.action, path }]);
|
|
115
123
|
}
|
|
116
124
|
}
|
|
117
125
|
if (!protect) {
|
|
126
|
+
why.push('not-protect-1');
|
|
118
127
|
if (existing.diff) {
|
|
128
|
+
why.push('diff-0');
|
|
119
129
|
write = false;
|
|
120
130
|
if (oldcontent.length !== content.length || oldcontent !== content) {
|
|
131
|
+
why.push('content-2');
|
|
121
132
|
meta.action = 'diff';
|
|
122
133
|
const cstr = 'string' === typeof content ? content : content.toString('utf8');
|
|
123
134
|
const diffcontent = this.diff(cstr, oldcontent.toString());
|
|
@@ -131,20 +142,26 @@ class FileHandler {
|
|
|
131
142
|
meta.actions.push(meta.action);
|
|
132
143
|
meta.conflict = conflict;
|
|
133
144
|
this.audit.push([CN + FN + wstr + meta.action,
|
|
134
|
-
{ ...meta, action: meta.action, path }]);
|
|
145
|
+
{ ...meta, why, action: meta.action, path }]);
|
|
135
146
|
}
|
|
136
147
|
else {
|
|
137
148
|
this.files.unchanged.push(path);
|
|
138
149
|
}
|
|
139
150
|
}
|
|
140
151
|
else if (existing.merge) {
|
|
152
|
+
why.push('merge-0');
|
|
141
153
|
if (oldcontent.length !== content.length || oldcontent !== content) {
|
|
154
|
+
why.push('content-3');
|
|
142
155
|
const cstr = 'string' === typeof content ? content : content.toString('utf8');
|
|
143
156
|
if (this.control.duplicate) {
|
|
157
|
+
why.push('duplicate-0');
|
|
144
158
|
const dfolder = this.duplicateFolder();
|
|
145
159
|
const dpath = node_path_1.default.join(dfolder, rpath);
|
|
146
|
-
|
|
160
|
+
if (rpath.includes('LICENSE')) {
|
|
161
|
+
console.log('DPATH', dfolder, dpath);
|
|
162
|
+
}
|
|
147
163
|
if (this.existsFile(dpath)) {
|
|
164
|
+
why.push('dupexists-0');
|
|
148
165
|
write = false;
|
|
149
166
|
meta.action = 'merge';
|
|
150
167
|
const origcontent = this.loadFile(dpath, { encoding: 'utf8' });
|
|
@@ -160,11 +177,12 @@ class FileHandler {
|
|
|
160
177
|
meta.actions.push(meta.action);
|
|
161
178
|
meta.conflict = conflict;
|
|
162
179
|
this.audit.push([CN + FN + wstr + meta.action,
|
|
163
|
-
{ ...meta, action: meta.action, path }]);
|
|
180
|
+
{ ...meta, why, action: meta.action, path }]);
|
|
164
181
|
}
|
|
165
182
|
}
|
|
166
183
|
}
|
|
167
184
|
else {
|
|
185
|
+
why.push('unchanged-0');
|
|
168
186
|
write = false;
|
|
169
187
|
this.files.unchanged.push(path);
|
|
170
188
|
}
|
|
@@ -172,21 +190,36 @@ class FileHandler {
|
|
|
172
190
|
}
|
|
173
191
|
}
|
|
174
192
|
if (write) {
|
|
193
|
+
why.push('write-1');
|
|
175
194
|
meta.action = 'write';
|
|
176
195
|
this.saveFile(path, content, whence + meta.action);
|
|
177
196
|
this.files.written.push(path);
|
|
178
197
|
meta.actions.push(meta.action);
|
|
179
198
|
whenify(meta, this.now());
|
|
180
199
|
this.audit.push([CN + FN + wstr + meta.action,
|
|
181
|
-
{ ...meta, action: meta.action, path }]);
|
|
200
|
+
{ ...meta, why, action: meta.action, path }]);
|
|
201
|
+
}
|
|
202
|
+
else if (0 === meta.actions.length) {
|
|
203
|
+
why.push('skip-0');
|
|
204
|
+
meta.action = 'skip';
|
|
205
|
+
meta.actions.push(meta.action);
|
|
206
|
+
this.audit.push([CN + FN + wstr + meta.action,
|
|
207
|
+
{ ...meta, why, action: meta.action, path }]);
|
|
182
208
|
}
|
|
183
209
|
if (this.control.duplicate) {
|
|
210
|
+
why.push('duplicate-1');
|
|
211
|
+
if (rpath.includes('LICENSE')) {
|
|
212
|
+
console.log('DUP', this.control, path, this.folder, withinFolder, node_path_1.default.basename(path), this.metafile());
|
|
213
|
+
}
|
|
184
214
|
if (withinFolder && (node_path_1.default.basename(path) !== this.metafile())) {
|
|
215
|
+
why.push('within-0');
|
|
185
216
|
const dfolder = this.duplicateFolder();
|
|
186
217
|
const dpath = node_path_1.default.join(dfolder, rpath);
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
218
|
+
if (!this.control.dryrun) {
|
|
219
|
+
fs.mkdirSync(node_path_1.default.dirname(dpath), { recursive: true });
|
|
220
|
+
const dopts = { flush: true };
|
|
221
|
+
fs.writeFileSync(dpath, content, dopts);
|
|
222
|
+
}
|
|
190
223
|
if (null == meta.when) {
|
|
191
224
|
whenify(meta, this.now());
|
|
192
225
|
}
|
|
@@ -209,42 +242,73 @@ class FileHandler {
|
|
|
209
242
|
const content = this.loadFile(frompath, { encoding: isBinary ? null : 'utf8' }, whence);
|
|
210
243
|
this.save(topath, content, whence);
|
|
211
244
|
}
|
|
212
|
-
// TODO: need to record if diffed, merged
|
|
213
245
|
merge(newcontent, oldcontent, origcontent) {
|
|
214
|
-
const
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
//
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
+
const out = { content: oldcontent, conflict: false };
|
|
247
|
+
let done = false;
|
|
248
|
+
let why = 'same';
|
|
249
|
+
// Only merge if needed
|
|
250
|
+
if (origcontent.length === newcontent.length &&
|
|
251
|
+
origcontent === newcontent) {
|
|
252
|
+
done = true;
|
|
253
|
+
}
|
|
254
|
+
// Don't stack conflicts
|
|
255
|
+
if (oldcontent.includes('<<<<<<< EXISTING:')
|
|
256
|
+
|| oldcontent.includes('<<<<<<< GENERATED:')) {
|
|
257
|
+
why = 'unresolved';
|
|
258
|
+
done = true;
|
|
259
|
+
// TODO: should this be a error, or collected?
|
|
260
|
+
}
|
|
261
|
+
if (!done) {
|
|
262
|
+
why = 'merge';
|
|
263
|
+
const isowhen = new Date(this.when).toISOString();
|
|
264
|
+
const isolast = new Date(this.last()).toISOString();
|
|
265
|
+
// Consider the previously generated pure version, stored in
|
|
266
|
+
// .jostraca/generated to be the "original". That preserves
|
|
267
|
+
// manual edits in the main generated output.
|
|
268
|
+
const diffres = Diff3.merge(oldcontent, origcontent, newcontent, {
|
|
269
|
+
// stringSeparator: '\n',
|
|
270
|
+
stringSeparator: /\r?\n/,
|
|
271
|
+
excludeFalseConflicts: true,
|
|
272
|
+
label: {
|
|
273
|
+
a: 'EXISTING: ' + isolast + '/merge',
|
|
274
|
+
b: 'GENERATED: ' + isowhen + '/merge',
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
// if (oldcontent.includes('foo js')) {
|
|
278
|
+
// console.log(
|
|
279
|
+
// 'DIFF======',
|
|
280
|
+
// '\no=', JSON.stringify(oldcontent),
|
|
281
|
+
// '\ng=', JSON.stringify(origcontent),
|
|
282
|
+
// '\nn=', JSON.stringify(newcontent),
|
|
283
|
+
// diffres
|
|
284
|
+
// )
|
|
285
|
+
// }
|
|
286
|
+
// console.log('%%%%%%%%%%%', {
|
|
287
|
+
// oldcontent,
|
|
288
|
+
// origcontent,
|
|
289
|
+
// newcontent,
|
|
290
|
+
// })
|
|
291
|
+
// console.log(diffres)
|
|
292
|
+
const conflict = diffres.conflict;
|
|
293
|
+
const content = diffres.result.join('\n');
|
|
294
|
+
out.content = content;
|
|
295
|
+
out.conflict = conflict;
|
|
296
|
+
}
|
|
297
|
+
// console.log(
|
|
298
|
+
// 'MERGE: ', why, '\n',
|
|
299
|
+
// 'OLD:', oldcontent,
|
|
300
|
+
// 'RIG:', origcontent,
|
|
301
|
+
// 'NEW:', newcontent,
|
|
302
|
+
// 'OUT:', out.content,
|
|
303
|
+
// )
|
|
304
|
+
return out;
|
|
246
305
|
}
|
|
247
306
|
diff(oldcontent, newcontent) {
|
|
307
|
+
// Only diff if needed
|
|
308
|
+
if (oldcontent.length === newcontent.length &&
|
|
309
|
+
oldcontent === newcontent) {
|
|
310
|
+
return newcontent;
|
|
311
|
+
}
|
|
248
312
|
const isowhen = new Date(this.when).toISOString();
|
|
249
313
|
const isolast = new Date(this.last()).toISOString();
|
|
250
314
|
const difflines = Diff.diffLines(newcontent, oldcontent);
|
|
@@ -302,7 +366,9 @@ class FileHandler {
|
|
|
302
366
|
const existed = fs.existsSync(fulltopath);
|
|
303
367
|
fs.mkdirSync(node_path_1.default.dirname(fulltopath), { recursive: true });
|
|
304
368
|
const content = fs.readFileSync(fullfrompath, isBinary ? undefined : 'utf8');
|
|
305
|
-
|
|
369
|
+
if (!this.control.dryrun) {
|
|
370
|
+
fs.writeFileSync(topath, content, { flush: true });
|
|
371
|
+
}
|
|
306
372
|
this.audit.push([CN + FN + wstr,
|
|
307
373
|
{ topath, frompath, when, existed, size: content.length }]);
|
|
308
374
|
}
|
|
@@ -395,6 +461,12 @@ class FileHandler {
|
|
|
395
461
|
throw err;
|
|
396
462
|
}
|
|
397
463
|
}
|
|
464
|
+
ensureFolder(path) {
|
|
465
|
+
const fs = this.fs();
|
|
466
|
+
if (!this.control.dryrun) {
|
|
467
|
+
fs.mkdirSync(path, { recursive: true });
|
|
468
|
+
}
|
|
469
|
+
}
|
|
398
470
|
saveFile(path, content, opts, whence) {
|
|
399
471
|
const when = this.now();
|
|
400
472
|
const wstr = null == whence ? '' : whence + ':';
|
|
@@ -419,8 +491,10 @@ class FileHandler {
|
|
|
419
491
|
const fullpath = isAbsolute ? path : node_path_1.default.join(this.folder, path);
|
|
420
492
|
const parentfolder = node_path_1.default.dirname(fullpath);
|
|
421
493
|
const existed = fs.existsSync(fullpath);
|
|
422
|
-
|
|
423
|
-
|
|
494
|
+
if (!this.control.dryrun) {
|
|
495
|
+
fs.mkdirSync(parentfolder, { recursive: true });
|
|
496
|
+
fs.writeFileSync(fullpath, content, opts);
|
|
497
|
+
}
|
|
424
498
|
this.audit.push([CN + FN + wstr,
|
|
425
499
|
{ path, when, existed, size: content.length }]);
|
|
426
500
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileHandler.js","sourceRoot":"","sources":["../../src/build/FileHandler.ts"],"names":[],"mappings":";;;;;;AAsmBE,8BAAS;AArmBX,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AAEnC,0DAA4B;AAO5B,yCAGsB;AAGtB,MAAM,EAAE,GAAG,cAAc,CAAA;AAEzB,MAAM,gBAAgB,GAAG,kBAAkB,CAAA;AAE3C,wDAAwD;AAGxD,MAAM,WAAW;IA4Bf,YACE,IAAkB,EAClB,QAAgC,EAChC,OAGC;QAED,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;QACjB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QAEnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,mBAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAEtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA,CAAC,iCAAiC;QAEpD,IAAI,CAAC,KAAK,GAAG;YACX,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;SACd,CAAA;QAED,SAAS;QACT,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtD,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAA;QAE9C,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,EAAE,GAAG,iCAAiC,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAGD,QAAQ,CAAC,IAAY,EAAE,MAAe;QACpC,MAAM,EAAE,GAAG,WAAW,CAAA;QACtB,MAAM,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAA;QAE/C,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,sBAAsB,GAAG,IAAI,CAAC,CAAA;QAEjE,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAE1F,OAAO,KAAK,CAAA;IACd,CAAC;IAGD,IAAI,CAAC,IAAY,EAAE,OAAwB,EAAE,KAAwB,EAAE,MAAe;QACpF,MAAM,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAA;QAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;QACpB,MAAM,EAAE,GAAG,OAAO,CAAA;QAElB,IAAI,QAAQ,KAAK,OAAO,KAAK,EAAE,CAAC;YAC9B,MAAM,GAAG,KAAK,CAAA;YACd,KAAK,GAAG,KAAK,CAAA;QACf,CAAC;aACI,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,KAAK,GAAG,KAAK,CAAA;QACf,CAAC;QAED,MAAM,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;QAErC,MAAM,QAAQ,GAAG,QAAQ,KAAK,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAA;QACpF,IAAI,GAAG,mBAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC3B,MAAM,MAAM,GAAG,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAEjC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;QAE5C,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAClC,KAAK,GAAG,KAAK,IAAI,CAAC,MAAM,CAAA;QAExB,MAAM,IAAI,GAAQ;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK;YACX,MAAM;YACN,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;SAChB,CAAA;QAED,IAAI,MAAM,EAAE,CAAC;YACX,4DAA4D;YAC5D,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAEpC,MAAM,OAAO,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;YACzD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;YAEtB,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,IAAI,OAAO,EAAE,CAAC;oBACZ,KAAK,GAAG,KAAK,CAAA;gBACf,CAAC;qBACI,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;oBACxE,IAAI,OAAO,GACT,mBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;wBAC3D,MAAM,GAAG,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;oBAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,CAAA;oBAClD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBAE/B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAA;oBACxB,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;oBACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;oBAE9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM;wBAC7C,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;gBAC1C,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,KAAK,GAAG,IAAI,CAAA;YACd,CAAC;iBACI,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC1B,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;oBACnE,IAAI,OAAO,GACT,mBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;wBAC3D,MAAM,GAAG,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;oBAChC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,CAAA;oBACrE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBAE/B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;oBACvB,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;oBACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;oBAE9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM;wBAC7C,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;gBAC1C,CAAC;YACH,CAAC;YAED,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAClB,KAAK,GAAG,KAAK,CAAA;oBAEb,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;wBACnE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;wBAEpB,MAAM,IAAI,GAAG,QAAQ,KAAK,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;wBAC7E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;wBAE1D,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;wBAE5E,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBAC5B,MAAM,QAAQ,GAAG,IAAI,KAAK,WAAW,CAAA;wBACrC,IAAI,QAAQ,EAAE,CAAC;4BACb,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBAClC,CAAC;wBAED,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;wBACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;wBAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;wBAExB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM;4BAC7C,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;oBAC1C,CAAC;yBACI,CAAC;wBACJ,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACjC,CAAC;gBACH,CAAC;qBACI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACxB,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;wBACnE,MAAM,IAAI,GAAG,QAAQ,KAAK,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;wBAE7E,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;4BAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;4BAEtC,MAAM,KAAK,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;4BACvC,oCAAoC;4BAEpC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gCAC3B,KAAK,GAAG,KAAK,CAAA;gCACb,IAAI,CAAC,MAAM,GAAG,OAAO,CAAA;gCAErB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAW,CAAA;gCACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAA;gCACrE,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAA;gCACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAA;gCAElC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EACnD,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;gCAEvB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gCAC5B,IAAI,QAAQ,EAAE,CAAC;oCACb,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gCAClC,CAAC;gCAED,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;gCACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gCAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;gCAExB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM;oCAC7C,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;4BAC1C,CAAC;wBACH,CAAC;oBACH,CAAC;yBACI,CAAC;wBACJ,KAAK,GAAG,KAAK,CAAA;wBACb,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,OAAO,CAAA;YACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;YAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC9B,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;YACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM;gBAC7C,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC1C,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC3B,IAAI,YAAY,IAAI,CAAC,mBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtC,MAAM,KAAK,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;gBACvC,EAAE,CAAC,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;gBACtD,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;gBAC7B,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;gBAEvC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACtB,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC1B,CAAC;IAGD,IAAI,CAAC,QAAgB,EAAE,MAAc,EAAE,KAAwB,EAAE,MAAe;QAC9E,MAAM,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAA;QAC/C,MAAM,EAAE,GAAG,OAAO,CAAA;QAElB,IAAI,QAAQ,KAAK,OAAO,KAAK,EAAE,CAAC;YAC9B,MAAM,GAAG,KAAK,CAAA;YACd,KAAK,GAAG,KAAK,CAAA;QACf,CAAC;aACI,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,KAAK,GAAG,KAAK,CAAA;QACf,CAAC;QAED,MAAM,GAAG,IAAI,GAAG,EAAE,CAAA;QAElB,MAAM,QAAQ,GAAG,IAAA,gBAAQ,EAAC,QAAQ,CAAC,CAAA;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAA;QACvF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;IAGD,yCAAyC;IAEzC,KAAK,CACH,UAAkB,EAClB,UAAkB,EAClB,WAAmB;QAInB,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAA;QACjD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;QAEnD,4DAA4D;QAC5D,2DAA2D;QAC3D,6CAA6C;QAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE;YAC/D,yBAAyB;YACzB,eAAe,EAAE,OAAO;YACxB,qBAAqB,EAAE,IAAI;YAC3B,KAAK,EAAE;gBACL,CAAC,EAAE,YAAY,GAAG,OAAO,GAAG,QAAQ;gBACpC,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,QAAQ;aACtC;SACF,CAAC,CAAA;QAEF,uCAAuC;QACvC,iBAAiB;QACjB,oBAAoB;QACpB,0CAA0C;QAC1C,2CAA2C;QAC3C,0CAA0C;QAC1C,cAAc;QACd,MAAM;QACN,IAAI;QAEJ,+BAA+B;QAC/B,gBAAgB;QAChB,iBAAiB;QACjB,gBAAgB;QAChB,KAAK;QACL,uBAAuB;QAEvB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;IAC9B,CAAC;IAGD,IAAI,CAAC,UAAkB,EAAE,UAAkB;QACzC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAA;QACjD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;QAEnD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;QAExD,MAAM,GAAG,GAAa,EAAE,CAAA;QAExB,SAAS,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YAC9B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;gBACrD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACpB,GAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;YACvD,CAAC;iBACI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACtB,GAAG,CAAC,IAAI,CAAC,oBAAoB,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;gBACpD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACpB,GAAG,CAAC,IAAI,CAAC,oBAAoB,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;YACtD,CAAC;iBACI,CAAC;gBACJ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACtB,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC5B,OAAO,OAAO,CAAA;IAChB,CAAC;IAID,UAAU,CAAC,IAAY,EAAE,MAAe;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAA;QAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;QACpB,MAAM,EAAE,GAAG,aAAa,CAAA;QAExB,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAA;QAExD,MAAM,QAAQ,GAAG,mBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAE5E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;YACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI;gBAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;YACxB,OAAO,MAAM,CAAA;QACf,CAAC;QACD,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;gBAC1C,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;YACrB,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI;gBAC5C,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;YACvB,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAGD,QAAQ,CAAC,QAAgB,EAAE,MAAc,EAAE,MAAe;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAA;QAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;QACpB,MAAM,EAAE,GAAG,WAAW,CAAA;QAEtB,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAA;QAC5D,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,CAAA;QAExD,MAAM,QAAQ,GAAG,IAAA,gBAAQ,EAAC,QAAQ,CAAC,CAAA;QACnC,MAAM,UAAU,GAAG,mBAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACpF,MAAM,YAAY,GAAG,mBAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAE5F,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;YACzC,EAAE,CAAC,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC3D,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAC5E,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAClD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI;gBAC/B,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC7D,CAAC;QACD,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;gBAC1C,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;YACjC,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ;gBAC1E,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;YACvB,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAGD,QAAQ,CAAC,IAAY,EAAE,IAAmB,EAAE,MAAe;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAA;QAC/C,MAAM,EAAE,GAAG,WAAW,CAAA;QAEtB,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC;YAC7B,MAAM,GAAG,IAAI,CAAA;YACb,IAAI,GAAG,EAAE,CAAA;QACX,CAAC;aACI,CAAC;YACJ,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;QACnB,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAA;QAEvC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;YACjD,MAAM,IAAI,GAAG,QAAQ,KAAK,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACpF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI;gBAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACtC,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;gBAC1C,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;YACrB,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;YACtE,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAGD,QAAQ,CAAC,IAAY,EAAE,IAAS,EAAE,IAAmB,EAAE,MAAe;QACpE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAA;QAC/C,MAAM,EAAE,GAAG,WAAW,CAAA;QAEtB,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC;YAC7B,MAAM,GAAG,IAAI,CAAA;YACb,IAAI,GAAG,EAAE,CAAA;QACX,CAAC;aACI,CAAC;YACJ,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;QACnB,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAA;QAEvC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAC5E,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;YACvC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI;gBAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACnC,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;gBAC1C,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;YACrB,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;YACtE,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAGD,QAAQ,CAAC,IAAY,EAAE,IAAmB,EAAE,MAAe;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAA;QAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;QACpB,MAAM,EAAE,GAAG,WAAW,CAAA;QAEtB,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC;YAC7B,MAAM,GAAG,IAAI,CAAA;YACb,IAAI,GAAG,EAAE,CAAA;QACX,CAAC;aACI,CAAC;YACJ,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;QACnB,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,SAAS,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAA;QAEpE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAE9C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,mBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAC5E,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI;gBAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACtC,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;gBAC1C,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;YACrB,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;YACtE,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAGD,QAAQ,CACN,IAAY,EACZ,OAAwB,EACxB,IAAmB,EACnB,MAAe;QAEf,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAA;QAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;QACpB,MAAM,EAAE,GAAG,WAAW,CAAA;QAEtB,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC;YAC7B,MAAM,GAAG,IAAI,CAAA;YACb,IAAI,GAAG,EAAE,CAAA;QACX,CAAC;aACI,CAAC;YACJ,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;QACnB,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,KAAK,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAEnF,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QAElC,IAAI,QAAQ,KAAK,OAAO,OAAO,IAAI,CAAC,CAAC,OAAc,YAAY,MAAM,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,yBAAyB,GAAG,IAAI;gBAC/D,WAAW,GAAG,OAAO,CAAC,CAAA;QAC1B,CAAC;QAED,IAAI,CAAC;YACH,IAAI,GAAG,mBAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC3B,MAAM,UAAU,GAAG,mBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACjE,MAAM,YAAY,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YAC3C,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;YACvC,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC/C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;YACzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI;gBAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACjD,CAAC;QACD,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;gBAC1C,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;YAC3C,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,CAAA;YAClE,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;CACF;AA0BC,kCAAW;AAvBb,SAAS,OAAO,CAAC,IAAS,EAAE,GAAW;IACrC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;IACf,IAAI,CAAC,KAAK,GAAG,IAAA,gBAAQ,EAAC,GAAG,CAAC,CAAA;AAC5B,CAAC;AAGD,SAAS,SAAS,CAAC,IAAY,EAAE,QAAgB,EAAE,OAAe;IAChE,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,OAAO,GAAG,sBAAsB,GAAG,IAAI,CAAC,CAAA;IACrE,CAAC;IAED,MAAM,KAAK,GAAG,mBAAI,CAAC,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA;IAEvF,IAAI,QAAQ,GAAG,KAAK,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,uBAAuB,GAAG,IAAI,CAAC,CAAA;IAC3D,CAAC;AAEH,CAAC"}
|
|
1
|
+
{"version":3,"file":"FileHandler.js","sourceRoot":"","sources":["../../src/build/FileHandler.ts"],"names":[],"mappings":"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"}
|
package/dist/jostraca.d.ts
CHANGED
|
@@ -40,14 +40,15 @@ declare const OptionsShape: {
|
|
|
40
40
|
};
|
|
41
41
|
model: any;
|
|
42
42
|
build: boolean;
|
|
43
|
-
mem:
|
|
44
|
-
vol:
|
|
43
|
+
mem: any;
|
|
44
|
+
vol: any;
|
|
45
45
|
cmp: {
|
|
46
46
|
Copy: {
|
|
47
47
|
ignore: any[];
|
|
48
48
|
};
|
|
49
49
|
};
|
|
50
50
|
control: {
|
|
51
|
+
dryrun: boolean;
|
|
51
52
|
duplicate: boolean;
|
|
52
53
|
version: boolean;
|
|
53
54
|
};
|
|
@@ -77,14 +78,15 @@ declare const OptionsShape: {
|
|
|
77
78
|
};
|
|
78
79
|
model: any;
|
|
79
80
|
build: boolean;
|
|
80
|
-
mem:
|
|
81
|
-
vol: {}
|
|
81
|
+
mem: import("gubu").Node<BooleanConstructor>;
|
|
82
|
+
vol: import("gubu").Node<{}>;
|
|
82
83
|
cmp: {
|
|
83
84
|
Copy: {
|
|
84
85
|
ignore: any[];
|
|
85
86
|
};
|
|
86
87
|
};
|
|
87
88
|
control: {
|
|
89
|
+
dryrun: boolean;
|
|
88
90
|
duplicate: boolean;
|
|
89
91
|
version: boolean;
|
|
90
92
|
};
|
|
@@ -152,14 +154,15 @@ declare const OptionsShape: {
|
|
|
152
154
|
};
|
|
153
155
|
model: any;
|
|
154
156
|
build: boolean;
|
|
155
|
-
mem:
|
|
156
|
-
vol: {}
|
|
157
|
+
mem: import("gubu").Node<BooleanConstructor>;
|
|
158
|
+
vol: import("gubu").Node<{}>;
|
|
157
159
|
cmp: {
|
|
158
160
|
Copy: {
|
|
159
161
|
ignore: any[];
|
|
160
162
|
};
|
|
161
163
|
};
|
|
162
164
|
control: {
|
|
165
|
+
dryrun: boolean;
|
|
163
166
|
duplicate: boolean;
|
|
164
167
|
version: boolean;
|
|
165
168
|
};
|
package/dist/jostraca.js
CHANGED
|
@@ -137,8 +137,8 @@ const OptionsShape = (0, gubu_1.Gubu)({
|
|
|
137
137
|
existing: { txt: {}, bin: {} },
|
|
138
138
|
model: (0, gubu_1.Skip)({}),
|
|
139
139
|
build: true,
|
|
140
|
-
mem:
|
|
141
|
-
vol: {},
|
|
140
|
+
mem: (0, gubu_1.Skip)(Boolean),
|
|
141
|
+
vol: (0, gubu_1.Skip)({}),
|
|
142
142
|
// Component specific options.
|
|
143
143
|
cmp: {
|
|
144
144
|
Copy: {
|
|
@@ -146,7 +146,11 @@ const OptionsShape = (0, gubu_1.Gubu)({
|
|
|
146
146
|
}
|
|
147
147
|
},
|
|
148
148
|
control: {
|
|
149
|
+
// Do not modify any files or folders.
|
|
150
|
+
dryrun: false,
|
|
151
|
+
// Create duplicate of generated output (for 3diff).
|
|
149
152
|
duplicate: true,
|
|
153
|
+
// Allow .jostraca files to be added to git.
|
|
150
154
|
version: false,
|
|
151
155
|
},
|
|
152
156
|
}, { name: 'Jostraca Options' });
|
|
@@ -166,39 +170,49 @@ const ExistingShape = (0, gubu_1.Gubu)({
|
|
|
166
170
|
// No merge of binary files
|
|
167
171
|
}
|
|
168
172
|
}, { name: 'Jostraca Options (`existing` property)' });
|
|
173
|
+
const sysFs = () => Fs;
|
|
169
174
|
function Jostraca(gopts_in) {
|
|
170
175
|
GLOBAL.jostraca = new node_async_hooks_1.AsyncLocalStorage();
|
|
171
|
-
|
|
176
|
+
// Global options are shared by calls to `generate`.
|
|
177
|
+
const gOpts = OptionsShape(gopts_in || {});
|
|
178
|
+
const gUseMemFs = !!gOpts.mem;
|
|
179
|
+
const gVol = deep({}, gOpts.vol);
|
|
180
|
+
const gMemFs = gUseMemFs ? (0, memfs_1.memfs)(gVol) : undefined;
|
|
181
|
+
function get_gMemFs() { return gMemFs ? gMemFs.fs : undefined; }
|
|
182
|
+
const gGetFs = gOpts.fs || get_gMemFs || undefined;
|
|
172
183
|
async function generate(opts_in, root) {
|
|
173
184
|
const opts = OptionsShape(opts_in);
|
|
174
|
-
|
|
175
|
-
const
|
|
176
|
-
const
|
|
177
|
-
const
|
|
178
|
-
const
|
|
185
|
+
// Parameters to `generate` override any global options.
|
|
186
|
+
const useMemFS = null == opts.mem ? gUseMemFs : !!opts.mem;
|
|
187
|
+
const vol = null == opts.vol ? gVol : deep({}, gVol, opts.vol);
|
|
188
|
+
const memfs = useMemFS ? (null == opts.vol ? gMemFs : (0, memfs_1.memfs)(vol)) : undefined;
|
|
189
|
+
const fs = (opts.fs || (memfs && (() => memfs.fs)) || gGetFs || sysFs)();
|
|
190
|
+
const now = opts.now || gOpts.now || Date.now;
|
|
179
191
|
const meta = {
|
|
180
|
-
...(
|
|
192
|
+
...(gOpts?.meta || {}),
|
|
181
193
|
...(opts.meta || {}),
|
|
182
194
|
};
|
|
183
|
-
const folder = opts.folder
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
195
|
+
const folder = null == opts.folder ? (null == gOpts.folder ? '.' : gOpts.folder) :
|
|
196
|
+
opts.folder;
|
|
197
|
+
const log = null == opts.log ? (null == gOpts.log ? DEFAULT_LOGGER : gOpts.log) :
|
|
198
|
+
opts.log;
|
|
199
|
+
const debug = null == opts.debug ? (null == gOpts.debug ? '.' : gOpts.debug) :
|
|
200
|
+
opts.debug;
|
|
201
|
+
// build=true unless explicitly false
|
|
202
|
+
const doBuild = null == opts.build ? false !== gOpts.build : false !== opts.build;
|
|
203
|
+
const model = null == opts.model ? null == gOpts.model ? {} : gOpts.model : opts.model;
|
|
187
204
|
const existing = ExistingShape({
|
|
188
205
|
// FIX: this does not work as generate opts get defaults from OptionsShape
|
|
189
|
-
txt: deep({},
|
|
190
|
-
bin: deep({},
|
|
206
|
+
txt: deep({}, gOpts.existing.txt, opts.existing.txt),
|
|
207
|
+
bin: deep({}, gOpts.existing.bin, opts.existing.bin),
|
|
191
208
|
});
|
|
192
|
-
const control = opts.control;
|
|
193
|
-
const doBuild = null == gopts?.build ? false !== opts.build : false !== gopts?.build;
|
|
194
|
-
// const model = deep({}, gopts.model, opts.model)
|
|
195
|
-
const model = opts.model || gopts.model || {};
|
|
209
|
+
const control = deep({}, opts.control, gOpts.control);
|
|
196
210
|
// Component defaults.
|
|
197
211
|
opts.cmp = deep({
|
|
198
212
|
Copy: {
|
|
199
213
|
ignore: [/~$/]
|
|
200
214
|
}
|
|
201
|
-
},
|
|
215
|
+
}, gOpts?.cmp, opts.cmp);
|
|
202
216
|
const ctx$ = {
|
|
203
217
|
fs: () => fs,
|
|
204
218
|
now: () => now(),
|
|
@@ -222,10 +236,12 @@ function Jostraca(gopts_in) {
|
|
|
222
236
|
}
|
|
223
237
|
const res = {
|
|
224
238
|
when: buildctx.when,
|
|
225
|
-
files: buildctx.fh.files
|
|
239
|
+
files: buildctx.fh.files,
|
|
240
|
+
audit: () => buildctx.audit,
|
|
226
241
|
};
|
|
227
242
|
if (memfs) {
|
|
228
243
|
res.vol = () => memfs.vol;
|
|
244
|
+
res.fs = () => fs;
|
|
229
245
|
}
|
|
230
246
|
return res;
|
|
231
247
|
});
|