lil meta update
This commit is contained in:
parent
ab623254b7
commit
5a1d3dde0f
1 changed files with 1 additions and 1 deletions
|
|
@ -1 +1 @@
|
||||||
{"protected":false,"mode":"f","metadata":{"name":"meta","author":"Luna Magdalena :3","version":[1],"dependencies":[],"paths":{"meta.js":"%B/meta.js"}},"content":"{\"meta.js\":{\"protected\":true,\"metadata\":{\"runner\":[]},\"mode\":\"f\",\"content\":\"const file = fs.getNode(args[1])\\nconst meta = file.metadata\\n\\nif (!file) {\\n display.print(\\\"File not found\\\", 0x1000)\\n quit()\\n}\\n\\nconst subcommand = args[0]\\nconst key = args[2]\\n\\nlet value\\n\\nlet listing = false\\nlet listIndex = 0\\n\\nswitch(subcommand) {\\n case \\\"get\\\":\\n if (!key) {\\n display.print(\\\"No variable specified\\\")\\n quit()\\n }\\n display.print(JSON.stringify(meta[key]), getStyle(typeof meta[key]))\\n quit()\\n break\\n case \\\"set\\\":\\n if (!key) {\\n display.print(\\\"No variable specified\\\")\\n quit()\\n }\\n await parseValue()\\n try {\\n fs.setMetadata(file, key, value)\\n } catch (e) {\\n display.print(\\\"Error setting metadata: \\\" + e[1], 0x1000)\\n }\\n quit()\\n break\\n case \\\"list\\\":\\n if (Object.keys(meta).length < itty.height - 4) {\\n for (let e in meta) {\\n display.buffer(e, getStyle(typeof meta[e]))\\n display.buffer(\\\" = \\\", 0xe000)\\n display.print(JSON.stringify(meta[e]).replaceAll(\\\"%\\\", \\\"%%\\\"))\\n }\\n display.render()\\n quit()\\n } else {\\n program.enterFullscreen()\\n listing = true\\n onInput(\\\"\\\", {})\\n }\\n}\\n\\nfunction onInput(k) {\\n if (!listing)\\n return\\n\\n switch (k) {\\n case \\\"%^\\\":\\n listIndex = Math.max(listIndex - 1, 0)\\n break\\n case \\\"%v\\\":\\n listIndex = Math.min(listIndex + 1, Object.keys(meta).length - 1)\\n break\\n case \\\"%e\\\":\\n display.clear()\\n quit()\\n }\\n\\n display.clear()\\n for (let i = listIndex; i < itty.height - 1 + listIndex; i++) {\\n const e = Object.keys(meta)[i]\\n if (!e)\\n break\\n\\n display.buffer(e, getStyle(typeof meta[e]))\\n display.buffer(\\\" = \\\", 0xe000)\\n display.buffer(JSON.stringify(meta[e]) + \\\"%n\\\")\\n }\\n itty.cursorY = itty.height - 1\\n display.write(\\\"Arrow Up/Down to scroll, Escape to quit\\\")\\n}\\n\\nasync function parseValue() {\\n let v = await io.read([[\\\"Value: \\\", 0xe000]])\\n v = v.replaceAll(\\\"%%\\\", \\\"%\\\")\\n\\n try {\\n v = JSON.parse(v)\\n } catch (e) {\\n try {\\n v = JSON.parse('\\\"' + v + '\\\"')\\n } catch (e) {\\n throw [1, \\\"Cannot parse value\\\"]\\n }\\n }\\n value = v\\n}\\n \\nfunction getStyle(type) {\\n let style = 0xf000\\n switch(type) {\\n case \\\"object\\\":\\n style = 0x4000\\n break\\n case \\\"string\\\":\\n style = 0x6000\\n break\\n case \\\"number\\\":\\n style = 0x5000\\n break\\n case \\\"boolean\\\":\\n style = 0xa000\\n break\\n }\\n return style\\n}\\n\\nquit()\"}}"}
|
{"protected":false,"mode":"f","metadata":{"name":"meta","author":"Luna Magdalena :3","version":[1],"dependencies":[],"paths":{"meta.js":"%B/meta.js"}},"content":"{\"meta.js\":{\"protected\":true,\"metadata\":{\"runner\":[]},\"mode\":\"f\",\"content\":\"const file = fs.getNode(args[1])\\nconst meta = file.metadata\\n\\nif (!file) {\\n display.print(\\\"File not found\\\", 0x1000)\\n quit()\\n}\\n\\nconst subcommand = args[0]\\nconst key = args[2]\\n\\nlet value\\n\\nlet listing = false\\nlet listIndex = 0\\n\\nswitch(subcommand) {\\n case \\\"get\\\":\\n if (!key) {\\n display.print(\\\"No variable specified\\\")\\n quit()\\n }\\n display.print(JSON.stringify(meta[key]), getStyle(typeof meta[key]))\\n quit()\\n break\\n case \\\"set\\\":\\n if (!key) {\\n display.print(\\\"No variable specified\\\")\\n quit()\\n }\\n await parseValue()\\n try {\\n fs.setMetadata(file, key, value)\\n } catch (e) {\\n display.print(\\\"Error setting metadata: \\\" + e[1], 0x1000)\\n }\\n quit()\\n break\\n case \\\"list\\\":\\n for (let e in meta) {\\n display.buffer(e, getStyle(typeof meta[e]))\\n display.buffer(\\\" = \\\", 0xe000)\\n display.print(JSON.stringify(meta[e]).replaceAll(\\\"%\\\", \\\"%%\\\"))\\n }\\n display.render()\\n quit()\\n}\\n \\nfunction getStyle(type) {\\n let style = 0xf000\\n switch(type) {\\n case \\\"object\\\":\\n style = 0x4000\\n break\\n case \\\"string\\\":\\n style = 0x6000\\n break\\n case \\\"number\\\":\\n style = 0x5000\\n break\\n case \\\"boolean\\\":\\n style = 0xa000\\n break\\n }\\n return style\\n}\\n\\nquit()\"}}"}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue