codify-plugin-lib 1.0.182-beta71 → 1.0.182-beta73
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/plan/plan.js +6 -7
- package/package.json +1 -1
- package/src/plan/plan.ts +10 -12
- package/src/pty/sequential-pty.test.ts +1 -1
package/dist/plan/plan.js
CHANGED
|
@@ -187,7 +187,6 @@ export class Plan {
|
|
|
187
187
|
* or wants to set. If a parameter is not specified then it's not managed by Codify.
|
|
188
188
|
*/
|
|
189
189
|
static filterCurrentParams(params) {
|
|
190
|
-
console.log('Filter current params', params.desired, params.current, params.state, params.settings, params.isStateful);
|
|
191
190
|
const { desired, current, state, settings, isStateful } = params;
|
|
192
191
|
if (!current) {
|
|
193
192
|
return null;
|
|
@@ -196,7 +195,6 @@ export class Plan {
|
|
|
196
195
|
if (!filteredCurrent) {
|
|
197
196
|
return null;
|
|
198
197
|
}
|
|
199
|
-
console.log('Before exit', isStateful, desired);
|
|
200
198
|
// For stateful mode, we're done after filtering by the keys of desired + state. Stateless mode
|
|
201
199
|
// requires additional filtering for stateful parameter arrays and objects.
|
|
202
200
|
if (isStateful && desired) {
|
|
@@ -210,7 +208,6 @@ export class Plan {
|
|
|
210
208
|
.map(([k, v]) => [k, filterArrayParameterForDeletes(k, v)]));
|
|
211
209
|
return { ...filteredCurrent, ...arrayStatefulParameters };
|
|
212
210
|
}
|
|
213
|
-
console.log('Post exit', isStateful, desired);
|
|
214
211
|
// TODO: Add object handling here in addition to arrays in the future
|
|
215
212
|
const arrayStatefulParameters = Object.fromEntries(Object.entries(filteredCurrent)
|
|
216
213
|
.filter(([k, v]) => isArrayParameterWithFiltering(k, v))
|
|
@@ -257,7 +254,7 @@ export class Plan {
|
|
|
257
254
|
}
|
|
258
255
|
// For stateless mode, we must filter the current array so that the diff algorithm will not detect any deletes
|
|
259
256
|
function filterArrayParameterForStatelessMode(k, v) {
|
|
260
|
-
console.log('Attempting to filter (key, value)', k, v);
|
|
257
|
+
console.log('Attempting to filter stateless (key, value)', k, v);
|
|
261
258
|
const desiredArray = desired[k];
|
|
262
259
|
const matcher = settings.parameterSettings[k].type === 'stateful'
|
|
263
260
|
? settings.parameterSettings[k]
|
|
@@ -281,12 +278,13 @@ export class Plan {
|
|
|
281
278
|
return result;
|
|
282
279
|
});
|
|
283
280
|
const filterParameter = getFilterParameter(k);
|
|
284
|
-
|
|
281
|
+
const result = typeof filterParameter === 'function'
|
|
285
282
|
? filterParameter(desiredCopy, currentCopy)
|
|
286
283
|
: defaultFilterMethod(desiredCopy, currentCopy);
|
|
284
|
+
return result.length === 0 ? null : result;
|
|
287
285
|
}
|
|
288
286
|
function filterArrayParameterForDeletes(k, v) {
|
|
289
|
-
console.log('Attempting to filter (key, value)', k, v);
|
|
287
|
+
console.log('Attempting to filter deletes (key, value)', k, v);
|
|
290
288
|
const stateArray = state[k];
|
|
291
289
|
const matcher = settings.parameterSettings[k].type === 'stateful'
|
|
292
290
|
? settings.parameterSettings[k]
|
|
@@ -310,9 +308,10 @@ export class Plan {
|
|
|
310
308
|
return result;
|
|
311
309
|
});
|
|
312
310
|
const filterParameter = getFilterParameter(k);
|
|
313
|
-
|
|
311
|
+
const result = typeof filterParameter === 'function'
|
|
314
312
|
? filterParameter(stateCopy, currentCopy)
|
|
315
313
|
: defaultFilterMethod(stateCopy, currentCopy);
|
|
314
|
+
return result.length === 0 ? null : result;
|
|
316
315
|
}
|
|
317
316
|
}
|
|
318
317
|
// TODO: This needs to be revisited. I don't think this is valid anymore.
|
package/package.json
CHANGED
package/src/plan/plan.ts
CHANGED
|
@@ -307,8 +307,6 @@ export class Plan<T extends StringIndexedObject> {
|
|
|
307
307
|
settings: ResourceSettings<T>,
|
|
308
308
|
isStateful: boolean,
|
|
309
309
|
}): Partial<T> | null {
|
|
310
|
-
console.log('Filter current params', params.desired, params.current, params.state, params.settings, params.isStateful)
|
|
311
|
-
|
|
312
310
|
const {
|
|
313
311
|
desired,
|
|
314
312
|
current,
|
|
@@ -326,8 +324,6 @@ export class Plan<T extends StringIndexedObject> {
|
|
|
326
324
|
return null
|
|
327
325
|
}
|
|
328
326
|
|
|
329
|
-
console.log('Before exit', isStateful, desired);
|
|
330
|
-
|
|
331
327
|
// For stateful mode, we're done after filtering by the keys of desired + state. Stateless mode
|
|
332
328
|
// requires additional filtering for stateful parameter arrays and objects.
|
|
333
329
|
if (isStateful && desired) {
|
|
@@ -346,8 +342,6 @@ export class Plan<T extends StringIndexedObject> {
|
|
|
346
342
|
return { ...filteredCurrent, ...arrayStatefulParameters }
|
|
347
343
|
}
|
|
348
344
|
|
|
349
|
-
console.log('Post exit', isStateful, desired);
|
|
350
|
-
|
|
351
345
|
// TODO: Add object handling here in addition to arrays in the future
|
|
352
346
|
const arrayStatefulParameters = Object.fromEntries(
|
|
353
347
|
Object.entries(filteredCurrent)
|
|
@@ -412,8 +406,8 @@ export class Plan<T extends StringIndexedObject> {
|
|
|
412
406
|
}
|
|
413
407
|
|
|
414
408
|
// For stateless mode, we must filter the current array so that the diff algorithm will not detect any deletes
|
|
415
|
-
function filterArrayParameterForStatelessMode(k: string, v: unknown[]): unknown[] {
|
|
416
|
-
console.log('Attempting to filter (key, value)', k, v);
|
|
409
|
+
function filterArrayParameterForStatelessMode(k: string, v: unknown[]): unknown[] | null {
|
|
410
|
+
console.log('Attempting to filter stateless (key, value)', k, v);
|
|
417
411
|
|
|
418
412
|
const desiredArray = desired![k] as unknown[];
|
|
419
413
|
const matcher = settings.parameterSettings![k]!.type === 'stateful'
|
|
@@ -445,13 +439,15 @@ export class Plan<T extends StringIndexedObject> {
|
|
|
445
439
|
})
|
|
446
440
|
|
|
447
441
|
const filterParameter = getFilterParameter(k);
|
|
448
|
-
|
|
442
|
+
const result = typeof filterParameter === 'function'
|
|
449
443
|
? filterParameter(desiredCopy, currentCopy)
|
|
450
444
|
: defaultFilterMethod(desiredCopy, currentCopy);
|
|
445
|
+
|
|
446
|
+
return result.length === 0 ? null : result;
|
|
451
447
|
}
|
|
452
448
|
|
|
453
|
-
function filterArrayParameterForDeletes(k: string, v: unknown[]): unknown[] {
|
|
454
|
-
console.log('Attempting to filter (key, value)', k, v);
|
|
449
|
+
function filterArrayParameterForDeletes(k: string, v: unknown[]): unknown[] | null {
|
|
450
|
+
console.log('Attempting to filter deletes (key, value)', k, v);
|
|
455
451
|
|
|
456
452
|
const stateArray = state![k] as unknown[];
|
|
457
453
|
const matcher = settings.parameterSettings![k]!.type === 'stateful'
|
|
@@ -484,9 +480,11 @@ export class Plan<T extends StringIndexedObject> {
|
|
|
484
480
|
|
|
485
481
|
|
|
486
482
|
const filterParameter = getFilterParameter(k);
|
|
487
|
-
|
|
483
|
+
const result = typeof filterParameter === 'function'
|
|
488
484
|
? filterParameter(stateCopy, currentCopy)
|
|
489
485
|
: defaultFilterMethod(stateCopy, currentCopy);
|
|
486
|
+
|
|
487
|
+
return result.length === 0 ? null : result;
|
|
490
488
|
}
|
|
491
489
|
}
|
|
492
490
|
|
|
@@ -66,7 +66,7 @@ describe('SequentialPty tests', () => {
|
|
|
66
66
|
});
|
|
67
67
|
|
|
68
68
|
|
|
69
|
-
it('It can launch a command in interactive mode', async () => {
|
|
69
|
+
it('It can launch a command in interactive mode', { timeout: 30_000}, async () => {
|
|
70
70
|
const originalSend = process.send;
|
|
71
71
|
process.send = (req: IpcMessageV2) => {
|
|
72
72
|
expect(req).toMatchObject({
|