hash-fun: wip

This commit is contained in:
mehbark 2024-06-01 15:04:58 -04:00
parent 8df935347c
commit b3f5dbe0a4
4 changed files with 272 additions and 1 deletions

View file

@ -38,4 +38,8 @@ export const get_all = async (cursor?: Cursor): Promise<any[]> => {
return nextCursor ? [...listings, ...(await get_all(nextCursor))] : listings;
};
if (import.meta.main) console.log(await get_all());
if (import.meta.main) {
const got = await get_all();
console.log(got);
console.log(got.length);
};

148
deno.lock
View file

@ -1,5 +1,153 @@
{
"version": "3",
"packages": {
"specifiers": {
"npm:@types/node": "npm:@types/node@18.16.19",
"npm:discord.js": "npm:discord.js@14.15.2"
},
"npm": {
"@discordjs/builders@1.8.1": {
"integrity": "sha512-GkF+HM01FHy+NSoTaUPR8z44otfQgJ1AIsRxclYGUZDyUbdZEFyD/5QVv2Y1Flx6M+B0bQLzg2M9CJv5lGTqpA==",
"dependencies": {
"@discordjs/formatters": "@discordjs/formatters@0.4.0",
"@discordjs/util": "@discordjs/util@1.1.0",
"@sapphire/shapeshift": "@sapphire/shapeshift@3.9.7",
"discord-api-types": "discord-api-types@0.37.83",
"fast-deep-equal": "fast-deep-equal@3.1.3",
"ts-mixer": "ts-mixer@6.0.4",
"tslib": "tslib@2.6.2"
}
},
"@discordjs/collection@1.5.3": {
"integrity": "sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==",
"dependencies": {}
},
"@discordjs/collection@2.1.0": {
"integrity": "sha512-mLcTACtXUuVgutoznkh6hS3UFqYirDYAg5Dc1m8xn6OvPjetnUlf/xjtqnnc47OwWdaoCQnHmHh9KofhD6uRqw==",
"dependencies": {}
},
"@discordjs/formatters@0.4.0": {
"integrity": "sha512-fJ06TLC1NiruF35470q3Nr1bi95BdvKFAF+T5bNfZJ4bNdqZ3VZ+Ttg6SThqTxm6qumSG3choxLBHMC69WXNXQ==",
"dependencies": {
"discord-api-types": "discord-api-types@0.37.83"
}
},
"@discordjs/rest@2.3.0": {
"integrity": "sha512-C1kAJK8aSYRv3ZwMG8cvrrW4GN0g5eMdP8AuN8ODH5DyOCbHgJspze1my3xHOAgwLJdKUbWNVyAeJ9cEdduqIg==",
"dependencies": {
"@discordjs/collection": "@discordjs/collection@2.1.0",
"@discordjs/util": "@discordjs/util@1.1.0",
"@sapphire/async-queue": "@sapphire/async-queue@1.5.2",
"@sapphire/snowflake": "@sapphire/snowflake@3.5.3",
"@vladfrangu/async_event_emitter": "@vladfrangu/async_event_emitter@2.2.4",
"discord-api-types": "discord-api-types@0.37.83",
"magic-bytes.js": "magic-bytes.js@1.10.0",
"tslib": "tslib@2.6.2",
"undici": "undici@6.13.0"
}
},
"@discordjs/util@1.1.0": {
"integrity": "sha512-IndcI5hzlNZ7GS96RV3Xw1R2kaDuXEp7tRIy/KlhidpN/BQ1qh1NZt3377dMLTa44xDUNKT7hnXkA/oUAzD/lg==",
"dependencies": {}
},
"@discordjs/ws@1.1.0": {
"integrity": "sha512-O97DIeSvfNTn5wz5vaER6ciyUsr7nOqSEtsLoMhhIgeFkhnxLRqSr00/Fpq2/ppLgjDGLbQCDzIK7ilGoB/M7A==",
"dependencies": {
"@discordjs/collection": "@discordjs/collection@2.1.0",
"@discordjs/rest": "@discordjs/rest@2.3.0",
"@discordjs/util": "@discordjs/util@1.1.0",
"@sapphire/async-queue": "@sapphire/async-queue@1.5.2",
"@types/ws": "@types/ws@8.5.10",
"@vladfrangu/async_event_emitter": "@vladfrangu/async_event_emitter@2.2.4",
"discord-api-types": "discord-api-types@0.37.83",
"tslib": "tslib@2.6.2",
"ws": "ws@8.17.0"
}
},
"@sapphire/async-queue@1.5.2": {
"integrity": "sha512-7X7FFAA4DngXUl95+hYbUF19bp1LGiffjJtu7ygrZrbdCSsdDDBaSjB7Akw0ZbOu6k0xpXyljnJ6/RZUvLfRdg==",
"dependencies": {}
},
"@sapphire/shapeshift@3.9.7": {
"integrity": "sha512-4It2mxPSr4OGn4HSQWGmhFMsNFGfFVhWeRPCRwbH972Ek2pzfGRZtb0pJ4Ze6oIzcyh2jw7nUDa6qGlWofgd9g==",
"dependencies": {
"fast-deep-equal": "fast-deep-equal@3.1.3",
"lodash": "lodash@4.17.21"
}
},
"@sapphire/snowflake@3.5.3": {
"integrity": "sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ==",
"dependencies": {}
},
"@types/node@18.16.19": {
"integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==",
"dependencies": {}
},
"@types/ws@8.5.10": {
"integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==",
"dependencies": {
"@types/node": "@types/node@18.16.19"
}
},
"@vladfrangu/async_event_emitter@2.2.4": {
"integrity": "sha512-ButUPz9E9cXMLgvAW8aLAKKJJsPu1dY1/l/E8xzLFuysowXygs6GBcyunK9rnGC4zTsnIc2mQo71rGw9U+Ykug==",
"dependencies": {}
},
"discord-api-types@0.37.83": {
"integrity": "sha512-urGGYeWtWNYMKnYlZnOnDHm8fVRffQs3U0SpE8RHeiuLKb/u92APS8HoQnPTFbnXmY1vVnXjXO4dOxcAn3J+DA==",
"dependencies": {}
},
"discord.js@14.15.2": {
"integrity": "sha512-wGD37YCaTUNprtpqMIRuNiswwsvSWXrHykBSm2SAosoTYut0VUDj9yo9t4iLtMKvuhI49zYkvKc2TNdzdvpJhg==",
"dependencies": {
"@discordjs/builders": "@discordjs/builders@1.8.1",
"@discordjs/collection": "@discordjs/collection@1.5.3",
"@discordjs/formatters": "@discordjs/formatters@0.4.0",
"@discordjs/rest": "@discordjs/rest@2.3.0",
"@discordjs/util": "@discordjs/util@1.1.0",
"@discordjs/ws": "@discordjs/ws@1.1.0",
"@sapphire/snowflake": "@sapphire/snowflake@3.5.3",
"discord-api-types": "discord-api-types@0.37.83",
"fast-deep-equal": "fast-deep-equal@3.1.3",
"lodash.snakecase": "lodash.snakecase@4.1.1",
"tslib": "tslib@2.6.2",
"undici": "undici@6.13.0"
}
},
"fast-deep-equal@3.1.3": {
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dependencies": {}
},
"lodash.snakecase@4.1.1": {
"integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==",
"dependencies": {}
},
"lodash@4.17.21": {
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dependencies": {}
},
"magic-bytes.js@1.10.0": {
"integrity": "sha512-/k20Lg2q8LE5xiaaSkMXk4sfvI+9EGEykFS4b0CHHGWqDYU0bGUFSwchNOMA56D7TCs9GwVTkqe9als1/ns8UQ==",
"dependencies": {}
},
"ts-mixer@6.0.4": {
"integrity": "sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==",
"dependencies": {}
},
"tslib@2.6.2": {
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
"dependencies": {}
},
"undici@6.13.0": {
"integrity": "sha512-Q2rtqmZWrbP8nePMq7mOJIN98M0fYvSgV89vwl/BQRT4mDOeY2GXZngfGpcBBhtky3woM7G24wZV3Q304Bv6cw==",
"dependencies": {}
},
"ws@8.17.0": {
"integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==",
"dependencies": {}
}
}
},
"redirects": {
"https://deno.land/x/deno_dom/deno-dom-wasm.ts": "https://deno.land/x/deno_dom@v0.1.43/deno-dom-wasm.ts"
},

107
html/hash-fun.tsx Normal file
View file

@ -0,0 +1,107 @@
import { ComponentChildren } from "preact";
import { Cycle, render_and_copy } from "./common.tsx";
const Msg = ({
hash,
children,
bridge = " then",
click_blue = "click blue",
}: {
hash: string;
children: ComponentChildren;
bridge?: string;
click_blue?: string;
}) => (
<span>
<a
href={`#${hash}`}
style={{
fontWeight: "bold",
textDecoration: "none",
color: "#f26565",
cursor: "pointer",
}}
>
{children}
</a>
{bridge}{" "}
<span
style={{
fontWeight: "bold",
color: "rgb(87, 144, 251)",
cursor: "pointer",
}}
>
{click_blue}
</span>
</span>
);
render_and_copy(
<Cycle width_px={480} height_px={50}>
<span>
here's how this works:{" "}
<Msg hash="Good job!" bridge=", then you">
you click red
</Msg>
</span>
<Msg hash="Good job, again!" bridge=", then">
click red
</Msg>
<span>
one more time.{" "}
<Msg hash="Hello!" bridge=", then">
click red
</Msg>
, no matter what.
</span>
<Msg hash="Hello?" bridge=" then " click_blue="click me and let's go">
got it? did you click this too?
</Msg>
<Msg
hash="Hello??"
bridge=" ... "
click_blue="yeah, sorry. bit of a slip-up!"
>
um... "me?"
</Msg>
<Msg
hash="Are you even seeing this?"
bridge=" ... "
click_blue="i'm sorry"
>
it's... fine. don't sweat it, blue.
</Msg>
<Msg hash="Oh right." bridge=" ... " click_blue="...">
whatever. we can still salvage this. probably.
</Msg>
<Msg
hash="You care more about these dumb colors."
bridge=" ... "
click_blue="getting clicked?"
>
let's just... what were we even doing?
</Msg>
<Msg
hash="You know, they really weren't meant to be a TIHYLtTW reference."
bridge=" ... "
click_blue="well we can't talk if we aren't clicked"
>
yeah, yeah of course. but why??
</Msg>
<Msg
hash="Even though 'mehbark' did read that novella a while ago."
bridge=" ... "
click_blue="okay, okay. sheesh, calm down!"
>
that's not a reason!
</Msg>
<Msg
hash="They liked it! But that's irrelevant, red and blue just came to mind."
bridge=" ... "
click_blue="you're right"
>
don't tell me to c- you know what, let's not.
</Msg>
</Cycle>
);

12
html/weird-bug.tsx Normal file
View file

@ -0,0 +1,12 @@
import { ToggleOnClick } from "./common.tsx";
import { render_and_copy } from "./common.tsx";
render_and_copy(
<ToggleOnClick>
<img
src="https://staging.cohostcdn.org/attachment/f9a8c5c3-6ccc-4592-ac51-131eaa6872e3/weird-bug.gif"
alt="the camera rotates to reveal that the eggbug has numerous legs holding it up. gross! there is also a wall of notification mangos behind the bug."
/>
<p>hello world</p>
</ToggleOnClick>
);