PageSourceSearch

https://sabanciuniv.edu.tr/libraries/twbs/js/dist/util/config.js

js sabanciuniv.edu.tr collected 2026-09-25 05:40:52 UTC 2,566 bytes, 68 lines download raw bytes

vendor: 2,566 bytes, lines 1-68
1/*!
2  * Bootstrap config.js v5.3.8 (https://getbootstrap.com/)
3  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5  */
6(function (global, factory) {
7  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../dom/manipulator.js'), require('./index.js')) :
8  typeof define === 'function' && define.amd ? define(['../dom/manipulator', './index'], factory) :
9  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Config = factory(global.Manipulator, global.Index));
10})(this, (function (Manipulator, index_js) { 'use strict';
11
12  /**
13   * --------------------------------------------------------------------------
14   * Bootstrap util/config.js
15   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
16   * --------------------------------------------------------------------------
17   */
18
19
20  /**
21   * Class definition
22   */
23
24  class Config {
25    // Getters
26    static get Default() {
27      return {};
28    }
29    static get DefaultType() {
30      return {};
31    }
32    static get NAME() {
33      throw new Error('You have to implement the static method "NAME", for each component!');
34    }
35    _getConfig(config) {
36      config = this._mergeConfigObj(config);
37      config = this._configAfterMerge(config);
38      this._typeCheckConfig(config);
39      return config;
40    }
41    _configAfterMerge(config) {
42      return config;
43    }
44    _mergeConfigObj(config, element) {
45      const jsonConfig = index_js.isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse
46
47      return {
48        ...this.constructor.Default,
49        ...(typeof jsonConfig === 'object' ? jsonConfig : {}),
50        ...(index_js.isElement(element) ? Manipulator.getDataAttributes(element) : {}),
51        ...(typeof config === 'object' ? config : {})
52      };
53    }
54    _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {
55      for (const [property, expectedTypes] of Object.entries(configTypes)) {
56        const value = config[property];
57        const valueType = index_js.isElement(value) ? 'element' : index_js.toType(value);
58        if (!new RegExp(expectedTypes).test(valueType)) {
59          throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`);
60        }
61      }
62    }
63  }
64
65  return Config;
66
67}));
68//# sourceMappingURL=config.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.