constructor({ data }) {
    super({ name: 'tEXt', data });
    Object.defineProperty(this, 'key', {
      enumerable: true,
      get() {
        return String.fromCharCode(...new Uint8Array(this.data)).split(`\0`, 2)[0];
      },
      set(key) {
        const str = `${key}\0${this.value}`;
        const from = Uint8Array.from(str.split('').map(s => s.charCodeAt(0)));
        this.data = from.buffer;
      },
    });
    Object.defineProperty(this, 'value', {
      enumerable: true,
      get() {
        return String.fromCharCode(...new Uint8Array(this.data)).split(`\0`, 2)[1];
      },
      set(value) {
        const str = `${this.key}\0${value}`;
        const from = Uint8Array.from(str.split('').map(s => s.charCodeAt(0)));
        this.data = from.buffer;
      },
    });
  }
A text chunk containing arbitrary string data.