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

Function define

index.js:233–278  ·  view source on GitHub ↗
(selector, definition)

Source from the content-addressed store, hash-verified

231 return (config[selector] || attributes).o;
232 };
233 var define = function define(selector, definition) {
234 if (-1 < query.indexOf(selector)) throw new Error('duplicated: ' + selector);
235 flush();
236 var listeners = [];
237 var retype = create(null);
238
239 for (var k = keys(definition), i = 0, length = k.length; i < length; i++) {
240 var key = k[i];
241
242 if (/^on/.test(key) && !/Options$/.test(key)) {
243 var options = definition[key + 'Options'] || false;
244 var lower = key.toLowerCase();
245 var type = lower.slice(2);
246 listeners.push({
247 t: type,
248 o: options
249 });
250 retype[type] = key;
251
252 if (lower !== key) {
253 type = key.slice(2, 3).toLowerCase() + key.slice(3);
254 retype[type] = key;
255 listeners.push({
256 t: type,
257 o: options
258 });
259 }
260 }
261 }
262
263 if (listeners.length) {
264 definition.handleEvent = function (event) {
265 this[retype[event.type]](event);
266 };
267 }
268
269 query.push(selector);
270 config[selector] = {
271 m: new WeakMap(),
272 l: listeners,
273 o: definition
274 };
275 parse(document.querySelectorAll(selector));
276 whenDefined(selector);
277 if (!lazy.has(selector)) defined[selector]._();
278 };
279 var defineAsync = function defineAsync(selector, callback, _) {
280 lazy.add(selector);
281 define(selector, {

Callers 1

defineAsyncFunction · 0.70

Calls 3

flushFunction · 0.85
parseFunction · 0.85
whenDefinedFunction · 0.70

Tested by

no test coverage detected