UNPKG

7.49 kBPlain TextView Raw
1{"code":"function defineName$__(cls,name){\n\tObject.defineProperty(cls,\"name\",{value:name,configurable:true});\n};\nconst $toStringDeopt$ = Symbol.for('#toStringDeopt'), $__initor__$ = Symbol.for('#__initor__'), $__inited__$ = Symbol.for('#__inited__'), $__hooks__$ = Symbol.for('#__hooks__'), $symbols$ = Symbol.for('#symbols'), $batches$ = Symbol.for('#batches'), $extras$ = Symbol.for('#extras'), $stacks$ = Symbol.for('#stacks');\n\n/*body*/\nexport class Flags {\n\t\n\t\n\tconstructor(dom){\n\t\t\n\t\tthis.dom = dom;\n\t\tthis.string = \"\";\n\t}\n\t\n\tcontains(ref){\n\t\t\n\t\treturn this.dom.classList.contains(ref);\n\t}\n\t\n\tadd(ref){\n\t\t\n\t\tif (this.contains(ref)) { return this };\n\t\tthis.string += (this.string ? ' ' : '') + ref;\n\t\tthis.dom.classList.add(ref);\n\t\treturn this;\n\t}\n\t\n\tremove(ref){\n\t\t\n\t\tif (!(this.contains(ref))) { return this };\n\t\t\n\t\tlet regex = new RegExp('(^|\\\\s)' + ref + '(?=\\\\s|$)','g');\n\t\tthis.string = this.string.replace(regex,'');\n\t\tthis.dom.classList.remove(ref);\n\t\treturn this;\n\t}\n\t\n\ttoggle(ref,bool){\n\t\t\n\t\tif (bool === undefined) { bool = !(this.contains(ref)) };\n\t\treturn bool ? this.add(ref) : this.remove(ref);\n\t}\n\t\n\tincr(ref,duration = 0){\n\t\tvar self = this;\n\t\t\n\t\tlet m = this.stacks;\n\t\tlet c = m[ref] || 0;\n\t\tif (c < 1) { this.add(ref) };\n\t\t\n\t\tif (duration > 0) {\n\t\t\t\n\t\t\tsetTimeout(function() { return self.decr(ref); },duration);\n\t\t};\n\t\t\n\t\treturn m[ref] = Math.max(c,0) + 1;\n\t}\n\t\n\tdecr(ref){\n\t\t\n\t\tlet m = this.stacks;\n\t\tlet c = m[ref] || 0;\n\t\tif (c == 1) { this.remove(ref) };\n\t\treturn m[ref] = Math.max(c,1) - 1;\n\t}\n\t\n\treconcile(sym,str){\n\t\t\n\t\tlet syms = this[$symbols$];\n\t\tlet vals = this[$batches$];\n\t\tlet dirty = true;\n\t\tif (!(syms)) {\n\t\t\t\n\t\t\tsyms = this[$symbols$] = [sym];\n\t\t\tvals = this[$batches$] = [str || ''];\n\t\t\tthis.toString = this.valueOf = this[$toStringDeopt$];\n\t\t} else {\n\t\t\t\n\t\t\tlet idx = syms.indexOf(sym);\n\t\t\tlet val = str || '';\n\t\t\tif (idx == -1) {\n\t\t\t\t\n\t\t\t\tsyms.push(sym);\n\t\t\t\tvals.push(val);\n\t\t\t} else if (vals[idx] != val) {\n\t\t\t\t\n\t\t\t\tvals[idx] = val;\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tdirty = false;\n\t\t\t};\n\t\t};\n\t\t\n\t\tif (dirty) {\n\t\t\t\n\t\t\tthis[$extras$] = ' ' + vals.join(' ');\n\t\t\tthis.sync();\n\t\t};\n\t\treturn;\n\t}\n\t\n\tvalueOf(){\n\t\t\n\t\treturn this.string;\n\t}\n\t\n\ttoString(){\n\t\t\n\t\treturn this.string;\n\t}\n\t\n\t[$toStringDeopt$](){\n\t\t\n\t\treturn this.string + (this[$extras$] || '');\n\t}\n\t\n\tsync(){\n\t\t\n\t\treturn this.dom.flagSync$();\n\t}\n\t\n\tget stacks(){\n\t\t\n\t\treturn this[$stacks$] ||= {};\n\t}\n\tstatic {\n\t\tdefineName$__(this,'Flags');}\n};\n","map":{"version":3,"file":"flags.js","sourceRoot":"","sources":["/Users/abdellah/workspace/scrimba/imba/packages/imba/src/imba/dom/flags.imba"],"sourcesContent":["export class Flags\n\n\tdef constructor dom\n\t\tdom = dom\n\t\tstring = \"\"\n\n\tdef contains ref\n\t\treturn dom.classList.contains(ref)\n\n\tdef add ref\n\t\treturn self if contains(ref)\n\t\tstring += (string ? ' ' : '') + ref\n\t\tdom.classList.add(ref)\n\t\treturn self\n\n\tdef remove ref\n\t\treturn self unless contains(ref)\n\n\t\tlet regex = new RegExp('(^|\\\\s)' + ref + '(?=\\\\s|$)', 'g')\n\t\tstring = string.replace(regex, '')\n\t\tdom.classList.remove(ref)\n\t\treturn self\n\n\tdef toggle ref, bool\n\t\tbool = !contains(ref) if bool === undefined\n\t\tbool ? add(ref) : remove(ref)\n\n\tdef incr ref, duration = 0\n\t\tlet m = stacks\n\t\tlet c = m[ref] or 0\n\t\tadd(ref) if c < 1\n\n\t\tif duration > 0\n\t\t\tsetTimeout(&,duration) do decr(ref)\n\n\t\treturn m[ref] = Math.max(c,0) + 1\n\n\tdef decr ref\n\t\tlet m = stacks\n\t\tlet c = m[ref] or 0\n\t\tremove(ref) if c == 1\n\t\treturn m[ref] = Math.max(c,1) - 1\n\n\tdef reconcile sym, str\n\t\tlet syms = #symbols\n\t\tlet vals = #batches\n\t\tlet dirty = yes\n\t\tunless syms\n\t\t\tsyms = #symbols = [sym]\n\t\t\tvals = #batches = [str or '']\n\t\t\tself.toString = self.valueOf = self.#toStringDeopt\n\t\telse\n\t\t\tlet idx = syms.indexOf(sym)\n\t\t\tlet val = str or ''\n\t\t\tif idx == -1\n\t\t\t\tsyms.push(sym)\n\t\t\t\tvals.push(val)\n\t\t\telif vals[idx] != val\n\t\t\t\tvals[idx] = val\n\t\t\telse\n\t\t\t\tdirty = no\n\n\t\tif dirty\n\t\t\t#extras = ' ' + vals.join(' ')\n\t\t\tsync!\n\t\treturn\n\n\tdef valueOf\n\t\tstring\n\n\tdef toString\n\t\tstring\n\n\tdef #toStringDeopt\n\t\tstring + (#extras or '')\n\n\tdef sync\n\t\tdom.flagSync$!\n\n\tget stacks\n\t\t#stacks ||= {}"],"names":[],"mappings":"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"},"dependencies":[],"meta":{"vite":{"lang":"js"}}}
\No newline at end of file