private fromDifferentProperties()

in packages/@aws-c2a/engine/lib/model-diffing/property-diff.ts [252:288]


  private fromDifferentProperties(
    p1: ComponentPropertyValue,
    p2: ComponentPropertyValue,
    pathP1: Array<string | number>,
    pathP2: Array<string | number>,
  ) {
    let operation;
    if(p1 === undefined && p2 !== undefined){
      operation = new InsertPropertyComponentOperation(
        {},
        {
          pathTransition: new Transition({v2: pathP2}),
          propertyTransition: new Transition({v2: p2}),
          componentTransition: this.componentTransition,
        });
    } else if (p1 !== undefined && p2 === undefined){
      operation = new RemovePropertyComponentOperation(
        {},
        {
          pathTransition: new Transition({v1: pathP1}),
          propertyTransition: new Transition({v1: p1}),
          componentTransition: this.componentTransition,
        });
    } else {
      operation = new UpdatePropertyComponentOperation({}, {
        pathTransition: new Transition({v1: pathP1, v2: pathP2}),
        propertyTransition: new Transition({v1: p1, v2: p2}),
        componentTransition: this.componentTransition,
      });
    }

    return {
      similarity: 0,
      weight: (this.calcPropertyWeight(p1) + this.calcPropertyWeight(p2)),
      operation,
    };
  }