UNPKG

4.07 kBPlain TextView Raw
1{"code":"function defineName$__(cls,name){\n\tObject.defineProperty(cls,\"name\",{value:name,configurable:true});\n};;\nfunction inheritClass$__(cls){\n\tObject.getPrototypeOf(cls.prototype).constructor?.inherited?.(cls);\n};;\nfunction extend$__(target,ext){\n\t// @ts-ignore\n\tconst descriptors = Object.getOwnPropertyDescriptors(ext);\n\tdelete descriptors.constructor;\n\tif(target.extend__ instanceof Function){\n\t\ttarget.extend__(descriptors,ext);\n\t} else {\n\t\t// @ts-ignore\n\t\tObject.defineProperties(target,descriptors);\n\t}\n\treturn target;\n};\nconst $extendType$ = Symbol.for('#extendType'), $options$ = Symbol.for('#options');\n\n/*body*/\n// imba$imbaPath=global\nimport {Event,CustomEvent,Element} from '../dom/core';\nimport * as helpers from './helpers';\n\nexport function use_events_mutate(){\n\t\n\tglobalThis.imba.uses_events_mutate = true;\n\treturn true;\n};\n\nclass MutationEvent extends CustomEvent {\nstatic {\n\tdefineName$__(this,'MutationEvent');inheritClass$__(this);}};\n\nclass ΩElement {\n\t\n\t\n\ton$mutate(mods,context,handler,opts){\n\t\tvar self = this;\n\t\t\n\t\t// only one observer per element?\n\t\thandler.observer ||= new MutationObserver(function(mutations) {\n\t\t\t\n\t\t\tlet e = new CustomEvent('mutate',{bubbles: false,detail: mutations});\n\t\t\te[$extendType$](MutationEvent);\n\t\t\treturn self.dispatchEvent(e);\n\t\t});\n\t\t\n\t\tlet o = handler[$options$] = {};\n\t\t\n\t\tif (mods.subtree) {\n\t\t\t\n\t\t\to.subtree = true;\n\t\t};\n\t\t\n\t\tif (mods.childList) {\n\t\t\t\n\t\t\to.childList = true;\n\t\t};\n\t\t\n\t\tif (!(o.attributes) && !(o.childList)) {\n\t\t\t\n\t\t\to.childList = true;\n\t\t};\n\t\t\n\t\thandler.observer.observe(this,o);\n\t\t\n\t\tthis.addEventListener('mutate',handler,opts);\n\t\treturn handler;\n\t}\n\tstatic {\n\t\tdefineName$__(this,'Element');}\n};\nextend$__(Element.prototype,ΩElement.prototype);\n;\n","map":{"version":3,"file":"mutate.js","sourceRoot":"","sources":["/Users/abdellah/workspace/scrimba/imba/packages/imba/src/imba/events/mutate.imba"],"sourcesContent":["# imba$imbaPath=global\nimport {Event,CustomEvent,Element} from '../dom/core'\nimport * as helpers from './helpers'\n\nexport def use_events_mutate\n\tglobal.imba.uses_events_mutate = yes\n\tyes\n\nclass MutationEvent < CustomEvent\n\nextend class Element\n\n\tdef on$mutate(mods, context, handler, opts)\n\t\t# only one observer per element?\n\t\thandler.observer ||= new MutationObserver do(mutations)\n\t\t\tlet e = new CustomEvent('mutate', bubbles: false, detail: mutations)\n\t\t\te.#extendType(MutationEvent)\n\t\t\tself.dispatchEvent(e)\n\n\t\tlet o = handler.#options = {}\n\n\t\tif mods.subtree\n\t\t\to.subtree = true\n\n\t\tif mods.childList\n\t\t\to.childList = true\n\n\t\tif !o.attributes and !o.childList\n\t\t\to.childList = true\n\n\t\thandler.observer.observe(self,o)\n\n\t\tself.addEventListener('mutate',handler,opts)\n\t\treturn handler"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,OAAO,aAAa;AACrD,MAAM,CAAC,CAAC,IAAI,OAAO,MAAM,WAAW;;AAEpC,MAAM,CAAC,QAAG,CAAC,iBAAiB,EAAA;;CAC3B,UAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,IAAG;CACpC,OAAA,IAAG;CAAA;;AAEJ,KAAK,CAAC,aAAa,SAAG,WAAW;;;;AAE1B,KAAK,CAAC,QAAO,EAAA;;;CAEf,SAAS,CAAC,IAAI,CAAE,OAAO,CAAE,OAAO,CAAE,IAAI,CAAC;;;;EAE1C,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC,gBAAgB,CAAC,QAAE,CAAC,SAAS,EAAC;;OAClD,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAE,MAAM,EAAE,SAAS,EAAC;GACpE,CAAC,cAAY,CAAC,aAAa,CAAC;GAC5B,OAAA,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;GAAA,CAHmB;;MAKrC,CAAC,GAAG,OAAO,WAAS,GAAG,EAAE;;EAE7B,EAAE,EAAC,IAAI,CAAC,OAAO,EAAA;;GACd,CAAC,CAAC,OAAO,GAAG,IAAI;GAAA;;EAEjB,EAAE,EAAC,IAAI,CAAC,SAAS,EAAA;;GAChB,CAAC,CAAC,SAAS,GAAG,IAAI;GAAA;;EAEnB,EAAE,EAAC,EAAC,CAAC,CAAC,UAAU,CAAA,CAAC,EAAG,CAAC,EAAC,CAAC,CAAC,SAAS,CAAA,EAAA;;GAChC,CAAC,CAAC,SAAS,GAAG,IAAI;GAAA;;EAEnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;;EAEhC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;EAC5C,MAAM,CAAC,OAAO;EAAA;;;AAAA;UAvBH,OAAO;AAuBJ;AAAA;"},"dependencies":[],"meta":{"vite":{"lang":"js"}}}
\No newline at end of file