Skip to content

BlockTunes API should remove "undefined" tune data #1683

Description

@christoph-kluge

While upgrading from 2.18.1 to 2.21.0 I have discovered that tunes is always set and I could have tunes which are undefined or empty objects depending on their state. This can be easily reproduced with:

export default class DisableBlockTune {
  save() {
    if (this.isDefaultState) {
          return;
    }
    return this.data; // whatever this could be: boolean, string with min length of 1 or an abject with at least one property
  }
}

I think if a block-tune is in "default" state it should not be added to the tunes array. What do you think?

The relevant code-part is here: https://github.com/codex-team/editor.js/pull/1596/files#diff-3a2e107229dbebf0e0b7e00160e7faec0cf71e6baf51872078e031789692c8b5R559

My expectation would be:

tuneData = tune.save();
if (tuneData) {
    tunesData[name] = tuneData;
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions