MCPcopy Index your code
hub / github.com/WebReflection/wicked-elements / define

Function define

cjs/index.js:64–96  ·  view source on GitHub ↗
(selector, definition)

Source from the content-addressed store, hash-verified

62exports.get = get;
63
64const define = (selector, definition) => {
65 if (-1 < query.indexOf(selector))
66 throw new Error('duplicated: ' + selector);
67 flush();
68 const listeners = [];
69 const retype = create(null);
70 for (let k = keys(definition), i = 0, {length} = k; i < length; i++) {
71 const key = k[i];
72 if (/^on/.test(key) && !/Options$/.test(key)) {
73 const options = definition[key + 'Options'] || false;
74 const lower = key.toLowerCase();
75 let type = lower.slice(2);
76 listeners.push({t: type, o: options});
77 retype[type] = key;
78 if (lower !== key) {
79 type = key.slice(2, 3).toLowerCase() + key.slice(3);
80 retype[type] = key;
81 listeners.push({t: type, o: options});
82 }
83 }
84 }
85 if (listeners.length) {
86 definition.handleEvent = function (event) {
87 this[retype[event.type]](event);
88 };
89 }
90 query.push(selector);
91 config[selector] = {m: new WeakMap, l: listeners, o: definition};
92 parse(document.querySelectorAll(selector));
93 whenDefined(selector);
94 if (!lazy.has(selector))
95 defined[selector]._();
96};
97exports.define = define;
98
99const defineAsync = (selector, callback, _) => {

Callers 1

defineAsyncFunction · 0.70

Calls 3

flushFunction · 0.85
parseFunction · 0.85
whenDefinedFunction · 0.70

Tested by

no test coverage detected