Add abortThunk, bump versions

This commit is contained in:
Jon Staab
2025-01-29 10:08:58 -08:00
parent 5522d7d2a0
commit 369a89dc60
6 changed files with 20 additions and 8 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
{ {
"name": "@welshman/app", "name": "@welshman/app",
"version": "0.0.41", "version": "0.0.42",
"author": "hodlbod", "author": "hodlbod",
"license": "MIT", "license": "MIT",
"description": "A collection of svelte stores for use in building nostr client applications.", "description": "A collection of svelte stores for use in building nostr client applications.",
@@ -29,7 +29,7 @@
"@types/throttle-debounce": "^5.0.2", "@types/throttle-debounce": "^5.0.2",
"@welshman/dvm": "~0.0.13", "@welshman/dvm": "~0.0.13",
"@welshman/feeds": "~0.0.30", "@welshman/feeds": "~0.0.30",
"@welshman/lib": "~0.0.37", "@welshman/lib": "~0.0.39",
"@welshman/net": "~0.0.46", "@welshman/net": "~0.0.46",
"@welshman/signer": "~0.0.19", "@welshman/signer": "~0.0.19",
"@welshman/store": "~0.0.15", "@welshman/store": "~0.0.15",
+7 -1
View File
@@ -1,6 +1,6 @@
import {writable, derived, get} from "svelte/store" import {writable, derived, get} from "svelte/store"
import type {Writable, Readable} from "svelte/store" import type {Writable, Readable} from "svelte/store"
import {Worker, identity, uniq, defer, sleep, assoc} from "@welshman/lib" import {Worker, dissoc, identity, uniq, defer, sleep, assoc} from "@welshman/lib"
import type {Deferred} from "@welshman/lib" import type {Deferred} from "@welshman/lib"
import {stamp, own, hash} from "@welshman/signer" import {stamp, own, hash} from "@welshman/signer"
import type { import type {
@@ -164,6 +164,12 @@ export const publishThunks = (requests: ThunkRequest[]) => {
return mergedThunk return mergedThunk
} }
export const abortThunk = (thunk: Thunk) => {
thunk.controller.abort()
thunks.update(dissoc(thunk.event.id))
repository.removeEvent(thunk.event.id)
}
export const thunkWorker = new Worker<Thunk>() export const thunkWorker = new Worker<Thunk>()
thunkWorker.addGlobalHandler((thunk: Thunk) => { thunkWorker.addGlobalHandler((thunk: Thunk) => {
+2 -2
View File
@@ -1,6 +1,6 @@
{ {
"name": "@welshman/lib", "name": "@welshman/lib",
"version": "0.0.38", "version": "0.0.39",
"author": "hodlbod", "author": "hodlbod",
"license": "MIT", "license": "MIT",
"description": "A collection of utilities.", "description": "A collection of utilities.",
@@ -30,4 +30,4 @@
"@types/events": "^3.0.3", "@types/events": "^3.0.3",
"events": "^3.3.0" "events": "^3.3.0"
} }
} }
+7 -1
View File
@@ -622,12 +622,18 @@ export const prop =
(x: Record<string, unknown>) => (x: Record<string, unknown>) =>
x[k] as T x[k] as T
/** Returns a function that adds/updates property on object */ /** Returns a function that adds/updates a property on object */
export const assoc = export const assoc =
<K extends string, T, U>(k: K, v: T) => <K extends string, T, U>(k: K, v: T) =>
(o: U) => (o: U) =>
({...o, [k as K]: v}) as U & Record<K, T> ({...o, [k as K]: v}) as U & Record<K, T>
/** Returns a function that removes a property on object */
export const dissoc =
<K extends string, T extends Obj>(k: K) =>
(o: T) =>
omit([k], o)
/** Generates a hash string from input string */ /** Generates a hash string from input string */
export const hash = (s: string) => export const hash = (s: string) =>
Math.abs(s.split("").reduce((a, b) => ((a << 5) - a + b.charCodeAt(0)) | 0, 0)).toString() Math.abs(s.split("").reduce((a, b) => ((a << 5) - a + b.charCodeAt(0)) | 0, 0)).toString()
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@welshman/store", "name": "@welshman/store",
"version": "0.0.15", "version": "0.0.16",
"author": "hodlbod", "author": "hodlbod",
"license": "MIT", "license": "MIT",
"description": "A collection of utilities based on svelte/store for use with welshman", "description": "A collection of utilities based on svelte/store for use with welshman",
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@welshman/util", "name": "@welshman/util",
"version": "0.0.59", "version": "0.0.60",
"author": "hodlbod", "author": "hodlbod",
"license": "MIT", "license": "MIT",
"description": "A collection of nostr-related utilities.", "description": "A collection of nostr-related utilities.",