Sha256: 3a09a8f1a7eaf948072dad61c7719bc29cea3b7bcb70c8bd8ef9b3577529cb0b

Contents?: true

Size: 1.52 KB

Versions: 1

Compression:

Stored size: 1.52 KB

Contents

/**
 * --------------------------------------------------------------------------
 * Bootstrap (v5.0.0-beta2): dom/data.js
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

/**
 * ------------------------------------------------------------------------
 * Constants
 * ------------------------------------------------------------------------
 */

const mapData = (() => {
  const storeData = {};
  let id = 1;
  return {
    set(element, key, data) {
      if (typeof element[key] === 'undefined') {
        element[key] = {
          key,
          id,
        };
        id++;
      }

      storeData[element[key].id] = data;
    },
    get(element, key) {
      if (!element || typeof element[key] === 'undefined') {
        return null;
      }

      const keyProperties = element[key];
      if (keyProperties.key === key) {
        return storeData[keyProperties.id];
      }

      return null;
    },
    delete(element, key) {
      if (typeof element[key] === 'undefined') {
        return;
      }

      const keyProperties = element[key];
      if (keyProperties.key === key) {
        delete storeData[keyProperties.id];
        delete element[key];
      }
    },
  };
})();

const Data = {
  setData(instance, key, data) {
    mapData.set(instance, key, data);
  },
  getData(instance, key) {
    return mapData.get(instance, key);
  },
  removeData(instance, key) {
    mapData.delete(instance, key);
  },
};

export default Data;

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jekyll-rubin-collab-theme-0.1.1 _third_party/mdb-ui-kit/src/js/mdb/dom/data.js