{"_id":"4sale","name":"4sale","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"4sale","version":"0.0.1","scripts":{"status-monitor":"vitest","status":"vitest run"},"devDependencies":{"vitest":"^0.34.4"},"license":"ISC","dependencies":{"lodash":"^4.17.21"},"_id":"4sale@0.0.1","gitHead":"996a8f9277206771ad216bef3730c721128ea3b1","description":"******","_nodeVersion":"20.11.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-eAJHd9Jr52s4HDAdIRb4uUaDBhA4xCTU8vhjayyledGVoGVW3xIW/GhsBs9woi3oSj8qh1LGnmsP1uiQjc0UsQ==","shasum":"14f1d23bb5bc1dc8ef59e64bcc8324deda7203a9","tarball":"https://registry.npmjs.org/4sale/-/4sale-0.0.1.tgz","fileCount":17,"unpackedSize":18238,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA4AU/MficXTd1/a3Jr0UUIG5F65vOdT1bBHkG0Udx0EAiEAsYMYvQ2pf767ggECC0wv33VT2dlTBHC1c0hVhdqnj20="}]},"_npmUser":{"name":"bgraceful","email":"graceful.bryonics@proton.me"},"directories":{},"maintainers":[{"name":"bgraceful","email":"graceful.bryonics@proton.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/4sale_0.0.1_1707712080674_0.26127255831489227"},"_hasShrinkwrap":false}},"time":{"created":"2024-02-12T04:28:00.606Z","0.0.1":"2024-02-12T04:28:00.808Z","modified":"2024-02-12T04:28:01.094Z"},"maintainers":[{"name":"bgraceful","email":"graceful.bryonics@proton.me"}],"description":"******","license":"ISC","readme":"\n\n******\n\nThis module is provided on behalf of the\\\nRhetorically Elloquent Advanced Development Moves Ensemble\\\nfor the pursuit of intergalactic mercantile diplomas.\n\n******\n\n# 4sale\n\n\n\n**literature**\n```literature\nThis is a database that exists while a browser page is open.\nIt doesn't interface with cookies, localStorage, etc. \n```\n\n******\n\n```tcsh\n[tcsh] yarn add 4sale\n```\n\n******\n\n**javascript**\n```javascript\n\nimport { make_system } from '4sale'\n\nfunction is_equal (v1, v2) {\n\tif (v1 === v2) {\n\t\treturn true;\n\t}\n\tthrow new Error (`v1 '${ v1 }' does not equal v2 '${ v2 }'`)\n}\n\n\n/*\n\tThese functions are called only once,\n\tin this sequence, after \"make_system\" is called:\n\t\n\t\twarehouse\n\t\tonce_at.start\n*/\nconst system = await make_system ({\n\twarehouse: async function () {\n\t\tconsole.log (\"warehouse function called\")\n\t\t\n\t\treturn {\n\t\t\tstatus: 7\n\t\t}\n\t},\n\n\tactivities: {\n\t\tasync activity_1 (\n\t\t\t{ change, warehouse }, \n\t\t\t{ numeral }\n\t\t) {\n\t\t\tlet status = (await warehouse ()).status\t\t\t\n\t\t\tawait change (\"status\", status * numeral)\n\t\t\t\n\t\t\treturn \"good\";\n\t\t}\n\t},\n\t\n\tonce_at: {\n\t\tasync start ({ activities, warehouse }) {\n\t\t\tconsole.log (\"start function called\")\t\t\t\t\t\n\t\t}\n\t}\t\t\t\n})\t\n\n/*\n\tsystem monitoring:\n\t\n\tnotes:\n\t\tThe monitor function is called once when\n\t\tsetup, with \"inaugural\" == true.\n\t\n\t\tThe monitor function is called every time\n\t\tan activity calls \"change\", such as:\n\t\t\n\t\t\tawait change (\"status\", 998)\n*/\t\t\nconst monitor = system.monitor (({ inaugural, field }) => {\n\tconst warehouse = system.warehouse ()\n\n\tconsole.log ('monitor function', { inaugural, field, warehouse })\n})\n\n\n//\n// After subscribing, the subscriber count is 1\nis_equal (system.monitor_count (), 1)\n\n\n//\n// activities\nconst activity_1_proceeds = await system.activities.activity_1 ({ numeral: 10 })\nis_equal (activity_1_proceeds, \"good\") \nis_equal (system.warehouse ().status, 70) \n\n\nmonitor.stop ()\nis_equal (system.monitor_count (), 0)\n```\n\n******\n\n## vue 3 (with vite) usage\n### '@/warehouses/palette/index.js'\n```javascript\n\nimport { make_system } from '4sale'\n\nexport let palette_system;\nexport const create_palette_system = async function () {\n\tpalette_system = await make_system ({\n\t\twarehouse: async function () {\t\n\t\t\tconst name = \"1\"\n\t\t\tconst palettes = Object.freeze ({\n\t\t\t\t\"dark\": Object.freeze ({\n\t\t\t\t\t1: \"#111\",\n\t\t\t\t\t2: \"#eee\"\n\t\t\t\t}),\n\t\t\t\t\"light\": Object.freeze ({\n\t\t\t\t\t1: \"#eee\",\n\t\t\t\t\t2: \"#111\"\n\t\t\t\t})\n\t\t\t})\n\t\t\t\n\t\t\treturn {\n\t\t\t\tname,\n\t\t\t\tpalette: palettes [ name ],\n\t\t\t\tpalettes\n\t\t\t}\n\t\t},\n\t\t\n\t\tactivities: {\n\t\t\t/*\n\t\t\t\tawait palette_system.activities.change_palette (\"light\")\n\t\t\t*/\n\t\t\tasync change_palette ({ change, warehouse }, name) {\t\t\n\t\t\t\tlet palettes = (await warehouse ()).palettes\n\t\t\t\t\n\t\t\t\tawait change (\"palette\", palettes [ name ])\n\t\t\t\tawait change (\"name\", name)\t\t\n\t\t\t}\n\t\t},\n\t\t\n\t\tonce_at: {\n\t\t\tasync start () {}\n\t\t}\t\t\t\n\t})\n})\n```\n\n******\n\n### '@/src/main.js'\n```javascript\nimport { createApp } from 'vue'\nimport { create_palette_system } from '@/warehouses/palette'\n\nawait Promise.all ([\n\tcreate_palette_system ()\n])\n\n// const app = createApp ()\n// app.mount ('#app')\n\n```\n******\n\n### '@/decor/item 1.vue'\n```javascript\nimport { palette_system } from '@/warehouses/palette'\n\t\n\t\n/*\n\tSEQUENCE:\n\t\tbeforeCreate\n\t\tdata\n\t\tcreated\n\t\tbeforeMount\n\t\tmounted\n\t\t\n\t\tbeforeUnmount\n\t\tunmounted\n*/\nexport default {\n\tdata () {\n\t\treturn {\n\t\t\tpalette: palette_system.warehouse (\"palette\")\n\t\t}\n\t},\n\tcreated () {\t\t\n\t\tthis.palette_system_monitor = palette_system.monitor (({ inaugeral, field }) => {\n\t\t\tthis.palette = palette_system.warehouse (\"palette\")\n\t\t\t\n\t\t\t\n\t\t})\t\t\n\t},\n\tbeforeUnmount () {\n\t\tthis.palette_system_monitor.stop ()\n\t}\n}\n```\n\n******\n","readmeFilename":"README.md"}