{"code":"function iter$__(a){ let v; return a ? ((v=a.toIterable) ? v.call(a) : a) : a; };;\nfunction defineName$__(cls,name){\n\tObject.defineProperty(cls,\"name\",{value:name,configurable:true});\n};;\nfunction decorate$__(decorators,target,key,desc){\n\tvar c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n\tif (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n\telse for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n\treturn c > 3 && r && Object.defineProperty(target, key, r), r;\n};;\nfunction inheritClass$__(cls){\n\tObject.getPrototypeOf(cls.prototype).constructor?.inherited?.(cls);\n};\nimport {αlazy as imba_αlazy, use_hooks as imba_use_hooks, hooks as imba_hooks, get_document as imba_get_document} from 'imba';\n(imba_use_hooks());\nconst $__initor__$ = Symbol.for('#__initor__'), $__inited__$ = Symbol.for('#__inited__'), $__hooks__$ = Symbol.for('#__hooks__'), $w$ = Symbol.for('#w'), $h$ = Symbol.for('#h');\nvar $1 = Symbol();\n\n/*body*/\nimport {Index} from '../core/iterable';\nimport sharp from '../util/sharp';\nimport downscale from '../util/downscale.js';\n\nimport * as mp from '../msgpack';\nimport * as os from '../util/os';\n\nconst renderer = false && new class {\n\t\n\tconstructor(){\n\t\t\n\t\tthis.outel = imba_get_document().createElement(\"canvas\");\n\t\tthis.outel.width = 16;\n\t\tthis.outel.height = 16;\n\t\tthis.scale = 4;\n\t\tthis.ctxout = this.outel.getContext('2d');\n\t}\n\t\n\tsize(w,h,scale = 4){\n\t\t\n\t\tif (this[$w$] != w || this[$h$] != h) {\n\t\t\t\n\t\t\tthis.canvas = imba_get_document().createElement(\"canvas\");\n\t\t\tthis.canvas.width = this[$w$] = w;\n\t\t\tthis.canvas.height = this[$h$] = h;\n\t\t\tthis.ctx = this.canvas.getContext('2d');\n\t\t};\n\t\tscale = 4;\n\t\treturn this;\n\t}\n\t\n\trender(){\n\t\t\n\t\tthis.ctxout.drawImage(this.canvas,0,0,this[$w$],this[$h$],0,0,this[$w$] * this.scale,this[$h$] * this.scale);\n\t\treturn this.outel.toDataURL();\n\t}\n};\n\n/*\nThis should be called stream, not blob? Or just binary\nShould just be a value, no?\n*/\n\n\nexport class OPImage extends OPAsset {\n\tconstructor(){\n\t\tsuper(...arguments);\n\t\tthis[$__initor__$]===$1 && (this[$__hooks__$]&&this[$__hooks__$].inited(this),this[$__inited__$] && this[$__inited__$]());\n\t}\n\tget width(){\n\t\treturn this.params[4];\n\t}\n\tget height(){\n\t\treturn this.params[5];\n\t}\n\tget mask(){\n\t\treturn this.params[6];\n\t}\n\tget samples(){\n\t\treturn this.params[7];\n\t}\n\t\n\tget aspectRatio(){\n\t\treturn this.width / this.height;\n\t}\n\t\n\tstatic async _for(blob,parameters = {}){\n\t\tvar $2, $3, $4;\n\t\t\n\t\tif (!(blob)) { return };\n\t\t\n\t\tif (false) {};\n\t\t\n\t\t\n\t\t\n\t\tlet meta = await sharp(blob).metadata();\n\t\tlet hash = os.hash(blob);\n\t\t\n\t\t((($2 = meta.exif),delete meta.exif, $2));\n\t\t((($3 = meta.icc),delete meta.icc, $3));\n\t\t((($4 = meta.xmp),delete meta.xmp, $4));\n\t\tmeta.hash = hash;\n\t\t\n\t\tlet mask = 0;\n\t\tif (meta.hasAlpha) { mask |= 1 };\n\t\t\n\t\tlet mini = await sharp(blob).resize(4,4,{fit: sharp.fit.fill}).removeAlpha().raw().toBuffer({resolveWithObject: true});\n\t\t\n\t\tlet params = [\n\t\t\thash,\n\t\t\tparameters.mime,\n\t\t\tmeta.size,\n\t\t\tmeta.width,\n\t\t\tmeta.height,\n\t\t\tmask,\n\t\t\tmini.data\n\t\t];\n\t\t\n\t\treturn this.get(this.encodeKey(params));\n\t\t;\n\t}\n\t\n\tasync saveToDisk(blob){\n\t\t\n\t\tawait os.fs.mkdir(this.baseDir,{recursive: true});\n\t\treturn await sharp(blob).webp({nearLossless: true}).toFile(this.originalPath);\n\t}\n\t\n\tget extension(){\n\t\t\n\t\treturn \"webp\";\n\t}\n\t\n\tget placeholder(){\n\t\t\n\t\treturn (\"\" + (false ? true : '') + `/op/fs/` + this.id + `.` + this.extension + `.mini.` + this.extension);\n\t}\n\t\n\tget params(){\n\t\t\n\t\treturn OPKey.decode(this.id)?.payload;\n\t}\n\t\n\tget minisize(){\n\t\t\n\t\treturn this.samples ? Math.sqrt(this.samples.length / 3) : 0;\n\t}\n\t\n\tget minigrid(){\n\t\t\n\t\tif (!(this.samples)) { return };\n\t\tlet i = 0;\n\t\tlet buf = this.samples;\n\t\tlet l = buf.length;\n\t\tlet out = '';\n\t\twhile (i < l){\n\t\t\t\n\t\t\tlet r = buf[i++];\n\t\t\tlet g = buf[i++];\n\t\t\tlet b = buf[i++];\n\t\t\tout += (\"\");\n\t\t};\n\t\treturn (\"
\" + out + \"
\");\n\t}\n\t\n\tget pixels(){\n\t\t\n\t\tlet i = 0;\n\t\tlet width = this.minisize;\n\t\tlet buf = this.samples;\n\t\tlet l = buf.length;\n\t\tlet row;\n\t\tlet out = [];\n\t\twhile (i < l){\n\t\t\t\n\t\t\tlet r = buf[i++];\n\t\t\tlet g = buf[i++];\n\t\t\tlet b = buf[i++];\n\t\t\tout.push([r,g,b,255]);\n\t\t};\n\t\treturn out;\n\t}\n\t\n\tget minipreview(){\n\t\t\n\t\t// TODO share canvas between images?\n\t\tlet sw = this.minisize;\n\t\tlet sh = this.minisize;\n\t\tlet scale = 1;\n\t\tlet w = sw * scale;\n\t\tlet h = sh * scale;\n\t\t\n\t\tlet c = renderer.size(w,h);\n\t\tlet img = c.ctx.createImageData(sw,sh);\n\t\t\n\t\tfor (let i = 0, $5 = iter$__(this.pixels), $6 = $5.length; i < $6; i++) {\n\t\t\tlet px = $5[i];\n\t\t\timg.data[i * 4] = px[0];\n\t\t\timg.data[i * 4 + 1] = px[1];\n\t\t\timg.data[i * 4 + 2] = px[2];\n\t\t\timg.data[i * 4 + 3] = px[3];\n\t\t};\n\t\tc.ctx.putImageData(img,0,0);\n\t\treturn c.render();\n\t}\n\tstatic {\n\t\tthis.prototype[$__initor__$] = $1;this.prototype[$__hooks__$] = imba_hooks;\n\t\tdefineName$__(this,'OPImage');this.alias = 'I';\n\t\tdecorate$__([imba_αlazy.bind([])],this.prototype,'params',null);\n\t\tdecorate$__([imba_αlazy.bind([])],this.prototype,'minipreview',null);\n\t\tinheritClass$__(this);}\n}; globalThis.OPImage = OPImage;\n\n// For legacy\nOPObjectRegistry.oI = OPImage;\n","map":{"version":3,"file":"image.js","sourceRoot":"","sources":["/Users/abdellah/workspace/scrimba/op/src/types/image.imba"],"sourcesContent":["import {Index} from '../core/iterable'\nimport sharp from '../util/sharp'\nimport downscale from '../util/downscale.js'\n\nimport * as mp from '../msgpack'\nimport * as os from '../util/os'\n\nconst renderer = $web$ and new class\n\tdef constructor\n\t\toutel = document.createElement(\"canvas\")\n\t\toutel.width = 16\n\t\toutel.height = 16\n\t\tscale = 4\n\t\tctxout = outel.getContext('2d')\n\n\tdef size w,h,scale = 4\n\t\tif #w != w or #h != h\n\t\t\tcanvas = document.createElement(\"canvas\")\n\t\t\tcanvas.width = #w = w\n\t\t\tcanvas.height = #h = h\n\t\t\tctx = canvas.getContext('2d')\n\t\tscale = 4\n\t\treturn self\n\n\tdef render\n\t\tctxout.drawImage(canvas,0,0,#w,#h,0,0,#w * scale,#h * scale)\n\t\treturn outel.toDataURL()\n\n###\nThis should be called stream, not blob? Or just binary\nShould just be a value, no?\n###\n\nexport global class OPImage < OPAsset\n\tstatic alias = 'I'\n\n\tget width do params[4]\n\tget height do params[5]\n\tget mask do params[6]\n\tget samples do params[7]\n\n\tget aspectRatio do width / height\n\n\tstatic def _for blob, parameters = {}\n\t\treturn unless blob\n\n\t\tif $web$\n\t\t\tlet imgdata = await blob.arrayBuffer!\n\n\t\t\tlet [width,height,mini] = await new Promise do(resolve)\n\t\t\t\tlet img = new global.window.Image\n\t\t\t\timg.onload = do\n\t\t\t\t\tlet canvas = await downscale(this,4, 4,returnCanvas:yes)\n\t\t\t\t\tlet ctx = canvas.getContext '2d'\n\t\t\t\t\tlet mini = ctx.getImageData 0, 0, 4, 4\n\t\t\t\t\tresolve [this.naturalWidth, this.naturalHeight, mini]\n\t\t\t\timg.src = parameters.blob-url\n\n\t\t\tlet hash = os.hash imgdata\n\t\t\tlet mask = 0\n\n\t\t\tlet minidata = mini.data.filter do(v,i) i % 4 != 3\n\n\t\t\tlet params = [hash, blob.type,blob.size , width, height, mask, minidata]\n\n\t\t\treturn self.get encodeKey(params)\n\n\t\tif $node$\n\t\t\tlet meta = await sharp(blob).metadata()\n\t\t\tlet hash = os.hash(blob)\n\n\t\t\tdelete meta.exif\n\t\t\tdelete meta.icc\n\t\t\tdelete meta.xmp\n\t\t\tmeta.hash = hash\n\n\t\t\tlet mask = 0\n\t\t\tmask |= 1 if meta.hasAlpha\n\n\t\t\tlet mini = await sharp(blob).resize(4,4,{fit: sharp.fit.fill}).removeAlpha().raw().toBuffer({ resolveWithObject: true })\n\n\t\t\tlet params = [\n\t\t\t\thash\n\t\t\t\tparameters.mime\n\t\t\t\tmeta.size\n\t\t\t\tmeta.width\n\t\t\t\tmeta.height\n\t\t\t\tmask\n\t\t\t\tmini.data\n\t\t\t]\n\n\t\t\tself.get encodeKey(params)\n\n\tdef saveToDisk(blob)\n\t\tawait os.fs.mkdir(baseDir, recursive: yes)\n\t\tawait sharp(blob).webp(nearLossless: true).toFile(originalPath)\n\n\tget extension\n\t\t\"webp\"\n\n\tget placeholder\n\t\t`{$web$ ? global.location.origin : ''}/op/fs/{id}.{extension}.mini.{extension}`\n\n\t@lazy get params\n\t\tOPKey.decode(id)..payload\n\n\tget minisize\n\t\tsamples ? Math.sqrt(samples.length / 3) : 0\n\n\tget minigrid\n\t\treturn unless samples\n\t\tlet i = 0\n\t\tlet buf = samples\n\t\tlet l = buf.length\n\t\tlet out = ''\n\t\twhile i < l\n\t\t\tlet r = buf[i++]\n\t\t\tlet g = buf[i++]\n\t\t\tlet b = buf[i++]\n\t\t\tout += \"\"\n\t\treturn \"
{out}
\"\n\n\tget pixels\n\t\tlet i = 0\n\t\tlet width = minisize\n\t\tlet buf = samples\n\t\tlet l = buf.length\n\t\tlet row\n\t\tlet out = []\n\t\twhile i < l\n\t\t\tlet r = buf[i++]\n\t\t\tlet g = buf[i++]\n\t\t\tlet b = buf[i++]\n\t\t\tout.push [r,g,b,255]\n\t\treturn out\n\n\t@lazy get minipreview\n\t\t# TODO share canvas between images?\n\t\tlet sw = minisize\n\t\tlet sh = minisize\n\t\tlet scale = 1\n\t\tlet w = sw * scale\n\t\tlet h = sh * scale\n\n\t\tlet c = renderer.size(w,h)\n\t\tlet img = c.ctx.createImageData(sw, sh)\n\n\t\tfor px,i in pixels\n\t\t\timg.data[i * 4] = px[0]\n\t\t\timg.data[i * 4 + 1] = px[1]\n\t\t\timg.data[i * 4 + 2] = px[2]\n\t\t\timg.data[i * 4 + 3] = px[3]\n\t\tc.ctx.putImageData(img, 0, 0)\n\t\tc.render!\n\n# For legacy\nOPObjectRegistry.oI = OPImage"],"names":[],"mappings":"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"},"dependencies":[],"meta":{"vite":{"lang":"js"}}}