64 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
/*!
 | 
						|
  * Bootstrap data.js v5.3.2 (https://getbootstrap.com/)
 | 
						|
  * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
 | 
						|
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 | 
						|
  */
 | 
						|
(function (global, factory) {
 | 
						|
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
 | 
						|
  typeof define === 'function' && define.amd ? define(factory) :
 | 
						|
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Data = factory());
 | 
						|
})(this, (function () { 'use strict';
 | 
						|
 | 
						|
  /**
 | 
						|
   * --------------------------------------------------------------------------
 | 
						|
   * Bootstrap dom/data.js
 | 
						|
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 | 
						|
   * --------------------------------------------------------------------------
 | 
						|
   */
 | 
						|
 | 
						|
  /**
 | 
						|
   * Constants
 | 
						|
   */
 | 
						|
 | 
						|
  const elementMap = new Map();
 | 
						|
  const data = {
 | 
						|
    set(element, key, instance) {
 | 
						|
      if (!elementMap.has(element)) {
 | 
						|
        elementMap.set(element, new Map());
 | 
						|
      }
 | 
						|
      const instanceMap = elementMap.get(element);
 | 
						|
 | 
						|
      // make it clear we only want one instance per element
 | 
						|
      // can be removed later when multiple key/instances are fine to be used
 | 
						|
      if (!instanceMap.has(key) && instanceMap.size !== 0) {
 | 
						|
        // eslint-disable-next-line no-console
 | 
						|
        console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
 | 
						|
        return;
 | 
						|
      }
 | 
						|
      instanceMap.set(key, instance);
 | 
						|
    },
 | 
						|
    get(element, key) {
 | 
						|
      if (elementMap.has(element)) {
 | 
						|
        return elementMap.get(element).get(key) || null;
 | 
						|
      }
 | 
						|
      return null;
 | 
						|
    },
 | 
						|
    remove(element, key) {
 | 
						|
      if (!elementMap.has(element)) {
 | 
						|
        return;
 | 
						|
      }
 | 
						|
      const instanceMap = elementMap.get(element);
 | 
						|
      instanceMap.delete(key);
 | 
						|
 | 
						|
      // free up element references if there are no instances left for an element
 | 
						|
      if (instanceMap.size === 0) {
 | 
						|
        elementMap.delete(element);
 | 
						|
      }
 | 
						|
    }
 | 
						|
  };
 | 
						|
 | 
						|
  return data;
 | 
						|
 | 
						|
}));
 | 
						|
//# sourceMappingURL=data.js.map
 |