@welshman/editor 0.10.9 → 0.10.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,7 @@ export type TaskQueueOptions<Item> = {
2
2
  batchSize: number;
3
3
  batchDelay: number;
4
4
  processItem: (item: Item) => unknown;
5
+ getPriority?: (item: Item) => number;
5
6
  };
6
7
  export declare class TaskQueue<Item> {
7
8
  readonly options: TaskQueueOptions<Item>;
@@ -1 +1 @@
1
- {"version":3,"file":"TaskQueue.d.ts","sourceRoot":"","sources":["../../../../lib/src/TaskQueue.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,CAAC,IAAI,IAAI;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAA;CACrC,CAAA;AAED,qBAAa,SAAS,CAAC,IAAI;IAMb,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC;IALpD,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAK;IACpC,KAAK,EAAE,IAAI,EAAE,CAAK;IAClB,QAAQ,UAAQ;IAChB,YAAY,UAAQ;gBAEC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAEpD,IAAI,CAAC,IAAI,EAAE,IAAI;IAKf,MAAM,CAAC,IAAI,EAAE,IAAI;IAIjB,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;IAQ1C,OAAO;IAgCP,IAAI;IAIJ,KAAK;IAKL,KAAK;CAGN"}
1
+ {"version":3,"file":"TaskQueue.d.ts","sourceRoot":"","sources":["../../../../lib/src/TaskQueue.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,CAAC,IAAI,IAAI;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAA;IACpC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAA;CACrC,CAAA;AAED,qBAAa,SAAS,CAAC,IAAI;IAMb,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC;IALpD,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAK;IACpC,KAAK,EAAE,IAAI,EAAE,CAAK;IAClB,QAAQ,UAAQ;IAChB,YAAY,UAAQ;gBAEC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAEpD,IAAI,CAAC,IAAI,EAAE,IAAI;IA+Bf,MAAM,CAAC,IAAI,EAAE,IAAI;IAIjB,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;IAQ1C,OAAO;IAgCP,IAAI;IAIJ,KAAK;IAKL,KAAK;CAGN"}
@@ -9,7 +9,29 @@ export class TaskQueue {
9
9
  this.options = options;
10
10
  }
11
11
  push(item) {
12
- this.items.push(item);
12
+ const { getPriority } = this.options;
13
+ if (getPriority) {
14
+ const priority = getPriority(item);
15
+ // Items are kept in descending priority order, so binary search for the first one we
16
+ // outrank. A queue that isn't draining — a socket that can't connect, say — grows without
17
+ // bound, and scanning it on every push would make filling it quadratic.
18
+ let lo = 0;
19
+ let hi = this.items.length;
20
+ while (lo < hi) {
21
+ const mid = (lo + hi) >> 1;
22
+ if (getPriority(this.items[mid]) < priority) {
23
+ hi = mid;
24
+ }
25
+ else {
26
+ lo = mid + 1;
27
+ }
28
+ }
29
+ // Inserting after the items we tie with keeps equal priorities in fifo order
30
+ this.items.splice(lo, 0, item);
31
+ }
32
+ else {
33
+ this.items.push(item);
34
+ }
13
35
  this.process();
14
36
  }
15
37
  remove(item) {
@@ -1 +1 @@
1
- {"version":3,"file":"TaskQueue.js","sourceRoot":"","sources":["../../../../lib/src/TaskQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,YAAY,CAAA;AAQjC,MAAM,OAAO,SAAS;IAMC;IALrB,KAAK,GAA6B,EAAE,CAAA;IACpC,KAAK,GAAW,EAAE,CAAA;IAClB,QAAQ,GAAG,KAAK,CAAA;IAChB,YAAY,GAAG,KAAK,CAAA;IAEpB,YAAqB,OAA+B;QAA/B,YAAO,GAAP,OAAO,CAAwB;IAAG,CAAC;IAExD,IAAI,CAAC,IAAU;QACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACvC,CAAC;IAED,SAAS,CAAC,UAAgC;QACxC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAE3B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7C,CAAC,CAAA;IACH,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClE,OAAM;QACR,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QAExB,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;YAC3B,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChE,IAAI,CAAC;wBACH,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;4BACpC,UAAU,CAAC,IAAI,CAAC,CAAA;wBAClB,CAAC;wBAED,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;oBACtC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAClB,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;gBAEzB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,OAAO,EAAE,CAAA;gBAChB,CAAC;YACH,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAC7B,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QACrB,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"TaskQueue.js","sourceRoot":"","sources":["../../../../lib/src/TaskQueue.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,7 @@ export type ProofOfWork = {
7
7
  result: Promise<HashedEvent>;
8
8
  };
9
9
  export declare const makePow: (event: OwnedEvent, difficulty: number) => ProofOfWork;
10
+ export declare const countLeadingZeroes: (id: string) => number;
10
11
  export declare const getPow: (event: HashedEvent) => number;
12
+ export declare const minePow: (event: OwnedEvent, difficulty: number, signal?: AbortSignal) => Promise<HashedEvent>;
11
13
  //# sourceMappingURL=Pow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pow.d.ts","sourceRoot":"","sources":["../../../../util/src/Pow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,UAAU,EAAE,WAAW,EAAC,MAAM,aAAa,CAAA;AAE9D,eAAO,IAAI,SAAS,QAAI,CAAA;AAExB,eAAO,MAAM,mBAAmB,KAAK,CAAA;AAErC,eAAO,MAAM,YAAY,GAAI,YAAY,MAAM,WACuB,CAAA;AA0EtE,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,OAAO,GAAI,OAAO,UAAU,EAAE,YAAY,MAAM,KAAG,WAyB/D,CAAA;AAED,eAAO,MAAM,MAAM,GAAI,OAAO,WAAW,KAAG,MAmB3C,CAAA"}
1
+ {"version":3,"file":"Pow.d.ts","sourceRoot":"","sources":["../../../../util/src/Pow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,UAAU,EAAE,WAAW,EAAC,MAAM,aAAa,CAAA;AAE9D,eAAO,IAAI,SAAS,QAAI,CAAA;AAExB,eAAO,MAAM,mBAAmB,KAAK,CAAA;AAErC,eAAO,MAAM,YAAY,GAAI,YAAY,MAAM,WACuB,CAAA;AA0EtE,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,OAAO,GAAI,OAAO,UAAU,EAAE,YAAY,MAAM,KAAG,WAyB/D,CAAA;AAID,eAAO,MAAM,kBAAkB,GAAI,IAAI,MAAM,KAAG,MAe/C,CAAA;AAED,eAAO,MAAM,MAAM,GAAI,OAAO,WAAW,KAAG,MAM3C,CAAA;AAeD,eAAO,MAAM,OAAO,GAClB,OAAO,UAAU,EACjB,YAAY,MAAM,EAClB,SAAS,WAAW,KACnB,OAAO,CAAC,WAAW,CAqBrB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { call } from "@welshman/lib";
2
2
  import { matchTag, tagSpec } from "./Tags.js";
3
- import { makeSecret, own, getPubkey } from "./Keys.js";
3
+ import { makeSecret, own, getPubkey, hash } from "./Keys.js";
4
4
  import { makeEvent } from "./Events.js";
5
5
  export let benchmark = 0;
6
6
  export const benchmarkDifficulty = 15;
@@ -94,14 +94,12 @@ export const makePow = (event, difficulty) => {
94
94
  });
95
95
  return { worker, result };
96
96
  };
97
- export const getPow = (event) => {
98
- const difficulty = parseInt(matchTag(tagSpec("nonce"), event.tags)?.[2] || "");
99
- if (isNaN(difficulty))
100
- return 0;
97
+ // How many leading zero bits an event id opens with, which is NIP-13's measure
98
+ // of the work behind it.
99
+ export const countLeadingZeroes = (id) => {
101
100
  let count = 0;
102
- // Convert hex string to array of bytes
103
- for (let i = 0; i < event.id.length; i += 2) {
104
- const byte = parseInt(event.id.slice(i, i + 2), 16);
101
+ for (let i = 0; i < id.length; i += 2) {
102
+ const byte = parseInt(id.slice(i, i + 2), 16);
105
103
  if (byte === 0) {
106
104
  count += 8;
107
105
  }
@@ -110,7 +108,41 @@ export const getPow = (event) => {
110
108
  break;
111
109
  }
112
110
  }
113
- return count >= difficulty ? difficulty : 0;
111
+ return count;
112
+ };
113
+ export const getPow = (event) => {
114
+ const difficulty = parseInt(matchTag(tagSpec("nonce"), event.tags)?.[2] || "");
115
+ if (isNaN(difficulty))
116
+ return 0;
117
+ return countLeadingZeroes(event.id) >= difficulty ? difficulty : 0;
118
+ };
119
+ // How many attempts to make between yields. Long enough that the yield is a
120
+ // rounding error, short enough that a browser tab stays interactive.
121
+ const BATCH = 4096;
122
+ const yieldToCaller = () => new Promise(resolve => setTimeout(resolve, 0));
123
+ // The search `makePow` runs, in whatever is already running it. `makePow` needs
124
+ // a `Worker`, which node does not have, so nothing outside a browser can mine.
125
+ // Attempts go in batches with a yield between them, so the caller's event loop
126
+ // keeps turning through a long search.
127
+ //
128
+ // A difficulty of zero is no proof of work rather than an easy one, so the
129
+ // event comes back hashed and untagged.
130
+ export const minePow = async (event, difficulty, signal) => {
131
+ if (difficulty < 1)
132
+ return hash(event);
133
+ const tag = ["nonce", "0", difficulty.toString()];
134
+ const candidate = { ...event, tags: [...event.tags, tag] };
135
+ let count = 0;
136
+ while (true) {
137
+ for (let i = 0; i < BATCH; i++) {
138
+ signal?.throwIfAborted();
139
+ tag[1] = (count++).toString();
140
+ const hashed = hash(candidate);
141
+ if (countLeadingZeroes(hashed.id) >= difficulty)
142
+ return hashed;
143
+ }
144
+ await yieldToCaller();
145
+ }
114
146
  };
115
147
  // Generate a simple pow to estimate the device capacities
116
148
  call(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"Pow.js","sourceRoot":"","sources":["../../../../util/src/Pow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pow.js","sourceRoot":"","sources":["../../../../util/src/Pow.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@welshman/editor",
3
- "version": "0.10.9",
3
+ "version": "0.10.10",
4
4
  "author": "hodlbod",
5
5
  "license": "MIT",
6
6
  "description": "A batteries-included nostr editor.",
@@ -41,8 +41,8 @@
41
41
  "@tiptap/suggestion": "^2.11.7",
42
42
  "nostr-tools": "^2.22.0",
43
43
  "nostr-editor": "^1.1.2",
44
- "@welshman/lib": "0.10.9",
45
- "@welshman/util": "0.10.9"
44
+ "@welshman/lib": "0.10.10",
45
+ "@welshman/util": "0.10.10"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@tiptap/core": "^2.27.2",
@@ -62,8 +62,8 @@
62
62
  "typescript": "~5.8.0",
63
63
  "nostr-tools": "^2.22.0",
64
64
  "nostr-editor": "^1.1.2",
65
- "@welshman/util": "0.10.9",
66
- "@welshman/lib": "0.10.9"
65
+ "@welshman/lib": "0.10.10",
66
+ "@welshman/util": "0.10.10"
67
67
  },
68
68
  "scripts": {
69
69
  "build": "pnpm run clean && pnpm run compile --force",