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 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
- return typeof filterParameter === 'function'
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
- return typeof filterParameter === 'function'
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codify-plugin-lib",
3
- "version": "1.0.182-beta71",
3
+ "version": "1.0.182-beta73",
4
4
  "description": "Library plugin library",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
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
- return typeof filterParameter === 'function'
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
- return typeof filterParameter === 'function'
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({