Skip to content

Properties with with default value are not been serialized when the current value is equal to its default value #129

Closed
@antmendoza

Description

@antmendoza

What would you like to be added:


 
    const workflow: Specification.Workflow = workflowBuilder()
      .id('helloworld')
      .version('1.0')
      .specVersion('0.7')
      .name('Hello World Workflow')
      .description('Inject Hello World')
      .start('Hello State')
      .states([
        injectstateBuilder()
          .name('Hello State')
          .data({
            'result': 'Hello World!'
          })
          .usedForCompensation(false) // <-- this is not been serialized
          .build()
      ])
      .build();
    
    //Actual behaviour
    expect(Workflow.toYaml(workflow)).toBe('id: helloworld\n' +
      'version: \'1.0\'\n' +
      'specVersion: \'0.7\'\n' +
      'name: Hello World Workflow\n' +
      'description: Inject Hello World\n' +
      'start: Hello State\n' +
      'states:\n' +
      '  - type: inject\n' +
      '    name: Hello State\n' +
      '    data:\n' +
      '      result: Hello World!\n' +
      '    end: true\n');
    
    //Expected behaviour
    expect(Workflow.toYaml(workflow)).toBe('id: helloworld\n' +
      'version: \'1.0\'\n' +
      'specVersion: \'0.7\'\n' +
      'name: Hello World Workflow\n' +
      'description: Inject Hello World\n' +
      'start: Hello State\n' +
      'states:\n' +
      '  - type: inject\n' +
      '    usedForCompensation: false' + // <-- here
      '    name: Hello State\n' +
      '    data:\n' +
      '      result: Hello World!\n' +
      '    end: true\n');

Why is this needed:

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions