codex-team/editor.js

BlockTunes API should remove "undefined" tune data

開放

#1,683 建立於 2021年5月14日

 (0 則留言) (0 個反應) (0 位負責人)TypeScript (1,985 個分叉)batch import
good first issue

倉庫指標

星標
 (26,602 顆星)
PR 合併指標
 (30 天內沒有已合併 PR)

描述

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;
}

貢獻者指南