@unconfirmed/sui-effect 0.1.0 → 0.1.1
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.
- package/AGENTS.md +16 -6
- package/CHANGELOG.md +40 -0
- package/LLMS.md +1609 -1098
- package/README.md +347 -3
- package/dist/domain/bcs.d.ts +44 -0
- package/dist/domain/bcs.d.ts.map +1 -1
- package/dist/domain/bcs.js +57 -0
- package/dist/domain/bcs.js.map +1 -1
- package/dist/domain/errors.d.ts +63 -21
- package/dist/domain/errors.d.ts.map +1 -1
- package/dist/domain/errors.js +35 -7
- package/dist/domain/errors.js.map +1 -1
- package/dist/domain/executed.d.ts +54 -18
- package/dist/domain/executed.d.ts.map +1 -1
- package/dist/domain/journal-entry.d.ts +6 -2
- package/dist/domain/journal-entry.d.ts.map +1 -1
- package/dist/domain/schemas.d.ts +207 -66
- package/dist/domain/schemas.d.ts.map +1 -1
- package/dist/domain/schemas.js +62 -2
- package/dist/domain/schemas.js.map +1 -1
- package/dist/domain/sui-schema.d.ts +3 -2
- package/dist/domain/sui-schema.d.ts.map +1 -1
- package/dist/domain/sui-schema.js +3 -2
- package/dist/domain/sui-schema.js.map +1 -1
- package/dist/extension.d.ts +1 -1
- package/dist/extension.d.ts.map +1 -1
- package/dist/extension.js +1 -1
- package/dist/extension.js.map +1 -1
- package/dist/services/SuiCore.d.ts +12 -0
- package/dist/services/SuiCore.d.ts.map +1 -1
- package/dist/services/SuiCore.js +124 -0
- package/dist/services/SuiCore.js.map +1 -1
- package/dist/services/SuiCoreFake.d.ts +12 -0
- package/dist/services/SuiCoreFake.d.ts.map +1 -1
- package/dist/services/SuiCoreFake.js +6 -1
- package/dist/services/SuiCoreFake.js.map +1 -1
- package/dist/services/SuiExtension.d.ts +127 -14
- package/dist/services/SuiExtension.d.ts.map +1 -1
- package/dist/services/SuiExtension.js +125 -28
- package/dist/services/SuiExtension.js.map +1 -1
- package/dist/services/SuiGraphQL.d.ts +13 -0
- package/dist/services/SuiGraphQL.d.ts.map +1 -1
- package/dist/services/SuiGraphQL.js +13 -0
- package/dist/services/SuiGraphQL.js.map +1 -1
- package/dist/services/Tx.d.ts +3 -1
- package/dist/services/Tx.d.ts.map +1 -1
- package/dist/testing.d.ts +21 -3
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +30 -3
- package/dist/testing.js.map +1 -1
- package/docs/extensions.md +338 -25
- package/examples/extension-template/test/escrow.test.ts +91 -2
- package/package.json +3 -2
|
@@ -798,7 +798,12 @@ const makeInternal = (script, state) => {
|
|
|
798
798
|
},
|
|
799
799
|
getCoinMetadata: async (options) => {
|
|
800
800
|
record("getCoinMetadata", options);
|
|
801
|
-
|
|
801
|
+
if (script.coinMetadata === undefined)
|
|
802
|
+
return unimplemented("getCoinMetadata");
|
|
803
|
+
const metadata = script.coinMetadata[options.coinType];
|
|
804
|
+
// A node answers `null` for a coin type with no metadata object, so the
|
|
805
|
+
// fake does too rather than dying: "there is none" is an answer.
|
|
806
|
+
return { coinMetadata: metadata ?? null };
|
|
802
807
|
},
|
|
803
808
|
getTransaction: async (options) => {
|
|
804
809
|
record("getTransaction", options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuiCoreFake.js","sourceRoot":"","sources":["../../src/services/SuiCoreFake.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SuiCoreFake.js","sourceRoot":"","sources":["../../src/services/SuiCoreFake.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,13 +19,80 @@ import type { Context } from "effect";
|
|
|
19
19
|
import { Effect, Layer, Stream } from "effect";
|
|
20
20
|
import type { Sui, SuiLayerOptions } from "./Sui.ts";
|
|
21
21
|
import { SuiCore } from "./SuiCore.ts";
|
|
22
|
+
/**
|
|
23
|
+
* A member the Promise face must pass through **whole**, however it is typed.
|
|
24
|
+
*
|
|
25
|
+
* The face recurses into object-typed members — that is what makes
|
|
26
|
+
* `client.miso.protocol.get(id)` work — and the recursion is by *type*, not by
|
|
27
|
+
* declaration style, because an interface-typed namespace is the common case
|
|
28
|
+
* and the old `Record<string, unknown>` bound skipped every one of them while
|
|
29
|
+
* the runtime mapped them anyway. `Uint8Array`, `Date`, `Promise`, arrays and
|
|
30
|
+
* BCS codecs (anything with both `parse` and `serialize`) are recognised
|
|
31
|
+
* leaves. Everything else that is a class instance — a `Schema.Class`, a
|
|
32
|
+
* domain object with Effect-returning methods — is marked by the extension
|
|
33
|
+
* with {@link leaf}, which is the one way to say "this is a value, not a
|
|
34
|
+
* namespace".
|
|
35
|
+
*
|
|
36
|
+
* @since 0.1.1
|
|
37
|
+
*/
|
|
38
|
+
export declare const LeafTypeId: unique symbol;
|
|
39
|
+
/** The marker {@link Leaf} carries. Not constructible; {@link leaf} applies it. */
|
|
40
|
+
export interface LeafBrand {
|
|
41
|
+
readonly [LeafTypeId]: true;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* `T`, marked as a leaf of the Promise face: it is handed to a Promise consumer
|
|
45
|
+
* exactly as the Effect service holds it.
|
|
46
|
+
*
|
|
47
|
+
* Declare the member as `Leaf<MyClass>` and build it with {@link leaf}. A
|
|
48
|
+
* `Leaf<T>` is still a `T` — every consumer of the Effect face is unaffected.
|
|
49
|
+
*
|
|
50
|
+
* @since 0.1.1
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```ts
|
|
54
|
+
* import { SuiExtension } from "@unconfirmed/sui-effect/extension"
|
|
55
|
+
*
|
|
56
|
+
* interface MyService {
|
|
57
|
+
* readonly policy: SuiExtension.Leaf<Policy>
|
|
58
|
+
* }
|
|
59
|
+
* // in the layer:
|
|
60
|
+
* const service: MyService = { policy: SuiExtension.leaf(new Policy()) }
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export type Leaf<T> = T & LeafBrand;
|
|
64
|
+
/**
|
|
65
|
+
* Marks a value as a {@link Leaf}: the Promise face passes it through untouched
|
|
66
|
+
* instead of walking into it.
|
|
67
|
+
*
|
|
68
|
+
* The registry is a `WeakSet`, so a frozen value can be marked and nothing is
|
|
69
|
+
* added to the value itself. Never fails.
|
|
70
|
+
*
|
|
71
|
+
* @since 0.1.1
|
|
72
|
+
*/
|
|
73
|
+
export declare const leaf: <T>(value: T) => Leaf<T>;
|
|
74
|
+
/**
|
|
75
|
+
* A BCS codec, recognised the way the runtime recognises one: both `parse` and
|
|
76
|
+
* `serialize`. `BcsType` is a class instance and has no other stable marker,
|
|
77
|
+
* and a namespace of members never has both of those names.
|
|
78
|
+
*/
|
|
79
|
+
interface CodecLike {
|
|
80
|
+
readonly parse: (...args: ReadonlyArray<never>) => unknown;
|
|
81
|
+
readonly serialize: (...args: ReadonlyArray<never>) => unknown;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* The object-typed members the face passes through instead of recursing into:
|
|
85
|
+
* a marked {@link Leaf}, a `Uint8Array`, a `Date`, a `Promise`, an array, and a
|
|
86
|
+
* BCS codec.
|
|
87
|
+
*/
|
|
88
|
+
type FaceLeaf = LeafBrand | Uint8Array | Date | Promise<unknown> | ReadonlyArray<unknown> | CodecLike;
|
|
22
89
|
/**
|
|
23
90
|
* The Promise face of a service interface.
|
|
24
91
|
*
|
|
25
92
|
* An `Effect` member becomes a zero-argument method returning a Promise, a
|
|
26
93
|
* function returning an `Effect` keeps its arguments and returns a Promise, a
|
|
27
|
-
* `Stream` member becomes an `AsyncIterable`, a nested
|
|
28
|
-
*
|
|
94
|
+
* `Stream` member becomes an `AsyncIterable`, a nested object of members is
|
|
95
|
+
* mapped the same way (platform SDKs namespace their surface as
|
|
29
96
|
* `client.miso.protocol.*`), and anything else passes through untouched.
|
|
30
97
|
*
|
|
31
98
|
* **A synchronous member stays synchronous**: a recipe builder
|
|
@@ -34,11 +101,22 @@ import { SuiCore } from "./SuiCore.ts";
|
|
|
34
101
|
* runtime agrees — see `warm` and `$ready` on {@link fromService} for the
|
|
35
102
|
* window before it does.
|
|
36
103
|
*
|
|
37
|
-
* **
|
|
38
|
-
*
|
|
39
|
-
* a `Date`,
|
|
40
|
-
*
|
|
41
|
-
*
|
|
104
|
+
* **The recursion is by type, not by declaration style.** Every object-typed
|
|
105
|
+
* member that is not a function, an array, an `Effect`, a `Stream`, a
|
|
106
|
+
* `Uint8Array`, a `Date`, a `Promise`, a BCS codec (both `parse` and
|
|
107
|
+
* `serialize`) or a {@link Leaf} is mapped as a namespace — an `interface`
|
|
108
|
+
* exactly like a type alias. Before 0.1.1 the bound was
|
|
109
|
+
* `Record<string, unknown>`, which an interface is not assignable to, so an
|
|
110
|
+
* interface-typed namespace (`readonly protocol: ProtocolService`) kept its
|
|
111
|
+
* `Effect` members **in the type** while the runtime mapped them to Promises.
|
|
112
|
+
* The type lied; it no longer does.
|
|
113
|
+
*
|
|
114
|
+
* **A class instance that is a value, not a namespace, is marked.** The runtime
|
|
115
|
+
* maps plain-prototype objects and passes class instances through, so a class
|
|
116
|
+
* whose methods return `Effect`s would be typed as mapped and arrive unmapped.
|
|
117
|
+
* Declare such a member `Leaf<T>` and build it with {@link leaf}: the type and
|
|
118
|
+
* the runtime then agree that it is a value. `Uint8Array`, `Date`, `Promise`,
|
|
119
|
+
* arrays and BCS codecs need no marker.
|
|
42
120
|
*
|
|
43
121
|
* **A plain-object *value* member is the one place the two faces cannot agree.**
|
|
44
122
|
* `{ packageId: "0x…" }` is indistinguishable from a namespace of members, so
|
|
@@ -51,7 +129,7 @@ import { SuiCore } from "./SuiCore.ts";
|
|
|
51
129
|
* through an `Effect` member instead.
|
|
52
130
|
*/
|
|
53
131
|
export type PromiseFace<S> = {
|
|
54
|
-
readonly [K in keyof S]: S[K] extends Stream.Stream<infer A, infer _E, infer _R> ? AsyncIterable<A> : S[K] extends Effect.Effect<infer A, infer _E2, infer _R2> ? () => Promise<A> : S[K] extends (...args: infer Args) => Stream.Stream<infer A, infer _E3, infer _R3> ? (...args: Args) => AsyncIterable<A> : S[K] extends (...args: infer Args) => Effect.Effect<infer A, infer _E4, infer _R4> ? (...args: Args) => Promise<A> : S[K] extends
|
|
132
|
+
readonly [K in keyof S]: S[K] extends Stream.Stream<infer A, infer _E, infer _R> ? AsyncIterable<A> : S[K] extends Effect.Effect<infer A, infer _E2, infer _R2> ? () => Promise<A> : S[K] extends (...args: infer Args) => Stream.Stream<infer A, infer _E3, infer _R3> ? (...args: Args) => AsyncIterable<A> : S[K] extends (...args: infer Args) => Effect.Effect<infer A, infer _E4, infer _R4> ? (...args: Args) => Promise<A> : S[K] extends FaceLeaf ? S[K] : S[K] extends (...args: ReadonlyArray<never>) => unknown ? S[K] : S[K] extends object ? PromiseFace<S[K]> : S[K];
|
|
55
133
|
};
|
|
56
134
|
/**
|
|
57
135
|
* What every registration carries besides the service's own members, under
|
|
@@ -117,6 +195,16 @@ export interface SuiExtensionOptions<Self, E, Name extends string = string> {
|
|
|
117
195
|
* registers. Every member is then the real thing immediately, and
|
|
118
196
|
* `$ready()` has nothing left to do.
|
|
119
197
|
*
|
|
198
|
+
* **Every failure of the layer becomes a synchronous throw.** The whole
|
|
199
|
+
* layer is built inside `register`, so a missing deployment, a bad
|
|
200
|
+
* configuration, a `NetworkMismatch` — anything the layer can fail with —
|
|
201
|
+
* comes out of `client.$extend(...)` as a thrown value rather than as the
|
|
202
|
+
* rejection of a first call. That is the trade `warm` makes, and a consumer
|
|
203
|
+
* has to catch it where it registers.
|
|
204
|
+
*
|
|
205
|
+
* After `$dispose()`, the next use re-runs this same build rather than
|
|
206
|
+
* degrading to a cold registration.
|
|
207
|
+
*
|
|
120
208
|
* Two conditions, both enforced:
|
|
121
209
|
*
|
|
122
210
|
* - **The layer must not perform an asynchronous step.** A layer that reads
|
|
@@ -184,7 +272,10 @@ export interface SuiExtensionOptions<Self, E, Name extends string = string> {
|
|
|
184
272
|
* Two lifetimes worth knowing:
|
|
185
273
|
*
|
|
186
274
|
* - **`$dispose()` is not final.** It releases everything the layer acquired
|
|
187
|
-
* and forgets the runtime; the next call builds a fresh one
|
|
275
|
+
* and forgets the runtime; the next call builds a fresh one — and a `warm`
|
|
276
|
+
* registration re-runs its **warm** build, with the same options, on the next
|
|
277
|
+
* use, so it does not silently degrade to cold with every synchronous member
|
|
278
|
+
* throwing `ExtensionNotReady`. That is what a
|
|
188
279
|
* long-lived page wants (a disposed extension is usable again after a
|
|
189
280
|
* reconnect) and it does mean a `$dispose()` that races an in-flight call can
|
|
190
281
|
* leave the caller's Promise rejected while a new runtime starts behind it.
|
|
@@ -195,14 +286,36 @@ export interface SuiExtensionOptions<Self, E, Name extends string = string> {
|
|
|
195
286
|
* copies of whatever the layer holds (a cache, a connection). Register once
|
|
196
287
|
* per client and keep the extended client.
|
|
197
288
|
*
|
|
198
|
-
*
|
|
199
|
-
*
|
|
200
|
-
*
|
|
201
|
-
*
|
|
289
|
+
* **A cold call is a real `Promise`.** The placeholder a member call returns
|
|
290
|
+
* before the runtime exists is a `Promise` subclass that also implements
|
|
291
|
+
* `Symbol.asyncIterator`, so `instanceof Promise` holds and `bun:test`'s
|
|
292
|
+
* `expect(...).rejects` recognises it. Its rejection is **pre-handled** (a
|
|
293
|
+
* no-op `catch` is attached at creation), so a cold call nobody awaits —
|
|
294
|
+
* `client.ext.doThing()` as a statement — cannot abort the process with an
|
|
295
|
+
* unhandled rejection; an `await` of it still throws `ExtensionNotReady`.
|
|
296
|
+
*
|
|
297
|
+
* Never fails, except a `warm` registration. A warm registration builds the
|
|
298
|
+
* **whole layer** synchronously inside `register`, so **any** failure of that
|
|
299
|
+
* layer — a missing deployment for the network, a configuration error, a
|
|
300
|
+
* `NetworkMismatch`, not only an asynchronous step or an unknown chain
|
|
301
|
+
* identifier — is thrown synchronously out of `register`, which means out of
|
|
302
|
+
* `client.$extend(...)`. Catch it where you register. A lazy registration has
|
|
303
|
+
* nowhere to put such a failure at registration time, so it surfaces as the
|
|
304
|
+
* rejection of the first call that needs the layer.
|
|
202
305
|
*/
|
|
203
306
|
export declare const fromService: <Self, Shape, E, const Name extends string>(service: Context.Key<Self, Shape>, options: SuiExtensionOptions<Self, E, Name>) => SuiClientRegistration<ClientWithCoreApi, Name, PromiseFace<Shape> & ExtensionFace>;
|
|
204
|
-
/**
|
|
307
|
+
/**
|
|
308
|
+
* The namespace the spec spells: `SuiExtension.fromService(...)`, plus the
|
|
309
|
+
* leaf marker a service uses to say "this member is a value, not a namespace"
|
|
310
|
+
* (`SuiExtension.leaf(value)`, typed `SuiExtension.Leaf<T>`).
|
|
311
|
+
*/
|
|
205
312
|
export declare const SuiExtension: {
|
|
206
313
|
readonly fromService: <Self, Shape, E, const Name extends string>(service: Context.Key<Self, Shape>, options: SuiExtensionOptions<Self, E, Name>) => SuiClientRegistration<ClientWithCoreApi, Name, PromiseFace<Shape> & ExtensionFace>;
|
|
314
|
+
readonly leaf: <T>(value: T) => Leaf<T>;
|
|
207
315
|
};
|
|
316
|
+
export declare namespace SuiExtension {
|
|
317
|
+
/** {@link Leaf} under the namespace the spec spells. */
|
|
318
|
+
type Leaf<T> = T & LeafBrand;
|
|
319
|
+
}
|
|
320
|
+
export {};
|
|
208
321
|
//# sourceMappingURL=SuiExtension.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuiExtension.d.ts","sourceRoot":"","sources":["../../src/services/SuiExtension.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAClF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAkB,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI9D,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAEpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC
|
|
1
|
+
{"version":3,"file":"SuiExtension.d.ts","sourceRoot":"","sources":["../../src/services/SuiExtension.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,22 @@ import { ExtensionNotReady, NetworkMismatch } from "../domain/errors.js";
|
|
|
3
3
|
import { KNOWN_CHAIN_IDS } from "../domain/schemas.js";
|
|
4
4
|
import { Sui as SuiService } from "./Sui.js";
|
|
5
5
|
import { SuiCore } from "./SuiCore.js";
|
|
6
|
+
const LEAVES = new WeakSet();
|
|
7
|
+
/**
|
|
8
|
+
* Marks a value as a {@link Leaf}: the Promise face passes it through untouched
|
|
9
|
+
* instead of walking into it.
|
|
10
|
+
*
|
|
11
|
+
* The registry is a `WeakSet`, so a frozen value can be marked and nothing is
|
|
12
|
+
* added to the value itself. Never fails.
|
|
13
|
+
*
|
|
14
|
+
* @since 0.1.1
|
|
15
|
+
*/
|
|
16
|
+
export const leaf = (value) => {
|
|
17
|
+
if (typeof value === "object" && value !== null)
|
|
18
|
+
LEAVES.add(value);
|
|
19
|
+
return value;
|
|
20
|
+
};
|
|
21
|
+
const isLeafValue = (value) => typeof value === "object" && value !== null && LEAVES.has(value);
|
|
6
22
|
/** The names the face adds to every service, which a member cannot shadow. */
|
|
7
23
|
const RESERVED = ["$ready", "$dispose", "dispose"];
|
|
8
24
|
const isEffect = (value) => typeof value === "object" && value !== null && Effect.isEffect(value);
|
|
@@ -74,7 +90,48 @@ const assertedBase = (entry, chainId) => {
|
|
|
74
90
|
}
|
|
75
91
|
return entry.asserted;
|
|
76
92
|
};
|
|
93
|
+
/**
|
|
94
|
+
* The placeholder a **cold** member call returns.
|
|
95
|
+
*
|
|
96
|
+
* It is a real `Promise` subclass — `instanceof Promise` holds, and `bun:test`'s
|
|
97
|
+
* `expect(...).rejects` recognises it — that also implements
|
|
98
|
+
* `Symbol.asyncIterator`, because until the runtime exists nothing knows
|
|
99
|
+
* whether the member was an `Effect` (a Promise) or a `Stream` (an
|
|
100
|
+
* `AsyncIterable`). `Symbol.species` is `Promise`, so `.then`, `.catch` and
|
|
101
|
+
* `.finally` produce plain Promises rather than more of these.
|
|
102
|
+
*/
|
|
103
|
+
class ColdCall extends Promise {
|
|
104
|
+
static get [Symbol.species]() {
|
|
105
|
+
return Promise;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* The cold placeholder, with its rejection **pre-handled**.
|
|
110
|
+
*
|
|
111
|
+
* A cold call that nobody awaits — `client.ext.doThing()` as a statement —
|
|
112
|
+
* still rejects with `ExtensionNotReady`, and an unhandled rejection aborts the
|
|
113
|
+
* process under Bun and Node. Attaching a no-op `catch` marks it handled
|
|
114
|
+
* without changing what `await` does: the caller's own `await` still throws.
|
|
115
|
+
* Never fails.
|
|
116
|
+
*/
|
|
117
|
+
const coldCall = (settled, iterate) => {
|
|
118
|
+
const placeholder = new ColdCall((resolve, reject) => {
|
|
119
|
+
settled.then(resolve, reject);
|
|
120
|
+
});
|
|
121
|
+
// Handled, so an un-awaited cold call is a no-op rather than a process abort.
|
|
122
|
+
void placeholder.catch(() => { });
|
|
123
|
+
Object.defineProperty(placeholder, Symbol.asyncIterator, {
|
|
124
|
+
value: iterate,
|
|
125
|
+
enumerable: false,
|
|
126
|
+
configurable: true
|
|
127
|
+
});
|
|
128
|
+
return placeholder;
|
|
129
|
+
};
|
|
77
130
|
const mapMember = (value, bridge) => {
|
|
131
|
+
// A marked leaf is a value, whatever it looks like: the one way an extension
|
|
132
|
+
// says "do not walk into this".
|
|
133
|
+
if (isLeafValue(value))
|
|
134
|
+
return value;
|
|
78
135
|
if (isStream(value))
|
|
79
136
|
return bridge.iterate(value);
|
|
80
137
|
if (isEffect(value))
|
|
@@ -133,7 +190,10 @@ const mapMember = (value, bridge) => {
|
|
|
133
190
|
* Two lifetimes worth knowing:
|
|
134
191
|
*
|
|
135
192
|
* - **`$dispose()` is not final.** It releases everything the layer acquired
|
|
136
|
-
* and forgets the runtime; the next call builds a fresh one
|
|
193
|
+
* and forgets the runtime; the next call builds a fresh one — and a `warm`
|
|
194
|
+
* registration re-runs its **warm** build, with the same options, on the next
|
|
195
|
+
* use, so it does not silently degrade to cold with every synchronous member
|
|
196
|
+
* throwing `ExtensionNotReady`. That is what a
|
|
137
197
|
* long-lived page wants (a disposed extension is usable again after a
|
|
138
198
|
* reconnect) and it does mean a `$dispose()` that races an in-flight call can
|
|
139
199
|
* leave the caller's Promise rejected while a new runtime starts behind it.
|
|
@@ -144,10 +204,22 @@ const mapMember = (value, bridge) => {
|
|
|
144
204
|
* copies of whatever the layer holds (a cache, a connection). Register once
|
|
145
205
|
* per client and keep the extended client.
|
|
146
206
|
*
|
|
147
|
-
*
|
|
148
|
-
*
|
|
149
|
-
*
|
|
150
|
-
*
|
|
207
|
+
* **A cold call is a real `Promise`.** The placeholder a member call returns
|
|
208
|
+
* before the runtime exists is a `Promise` subclass that also implements
|
|
209
|
+
* `Symbol.asyncIterator`, so `instanceof Promise` holds and `bun:test`'s
|
|
210
|
+
* `expect(...).rejects` recognises it. Its rejection is **pre-handled** (a
|
|
211
|
+
* no-op `catch` is attached at creation), so a cold call nobody awaits —
|
|
212
|
+
* `client.ext.doThing()` as a statement — cannot abort the process with an
|
|
213
|
+
* unhandled rejection; an `await` of it still throws `ExtensionNotReady`.
|
|
214
|
+
*
|
|
215
|
+
* Never fails, except a `warm` registration. A warm registration builds the
|
|
216
|
+
* **whole layer** synchronously inside `register`, so **any** failure of that
|
|
217
|
+
* layer — a missing deployment for the network, a configuration error, a
|
|
218
|
+
* `NetworkMismatch`, not only an asynchronous step or an unknown chain
|
|
219
|
+
* identifier — is thrown synchronously out of `register`, which means out of
|
|
220
|
+
* `client.$extend(...)`. Catch it where you register. A lazy registration has
|
|
221
|
+
* nowhere to put such a failure at registration time, so it surfaces as the
|
|
222
|
+
* rejection of the first call that needs the layer.
|
|
151
223
|
*/
|
|
152
224
|
export const fromService = (service, options) => ({
|
|
153
225
|
name: options.name,
|
|
@@ -265,21 +337,16 @@ export const fromService = (service, options) => ({
|
|
|
265
337
|
// method as `Promise` and a `Stream`-returning one as `AsyncIterable`;
|
|
266
338
|
// a bare Promise of an `AsyncIterable` satisfies neither `for await`
|
|
267
339
|
// nor the declared type, which is what a cold Stream call used to hand
|
|
268
|
-
// back. So the returned value is a
|
|
269
|
-
// awaited it is the Promise, iterated it awaits the runtime
|
|
270
|
-
// delegates to the real stream.
|
|
271
|
-
return {
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
[Symbol.asyncIterator]: async function* () {
|
|
276
|
-
const value = await settled;
|
|
277
|
-
if (typeof value !== "object" || value === null || !(Symbol.asyncIterator in value)) {
|
|
278
|
-
throw notReady(path);
|
|
279
|
-
}
|
|
280
|
-
yield* value;
|
|
340
|
+
// back. So the returned value is a **real `Promise`** and an async
|
|
341
|
+
// iterable: awaited it is the Promise, iterated it awaits the runtime
|
|
342
|
+
// and then delegates to the real stream.
|
|
343
|
+
return coldCall(settled, async function* () {
|
|
344
|
+
const value = await settled;
|
|
345
|
+
if (typeof value !== "object" || value === null || !(Symbol.asyncIterator in value)) {
|
|
346
|
+
throw notReady(path);
|
|
281
347
|
}
|
|
282
|
-
|
|
348
|
+
yield* value;
|
|
349
|
+
});
|
|
283
350
|
};
|
|
284
351
|
// Every synchronous use of a placeholder — a plain value read as a
|
|
285
352
|
// string, a number, a JSON payload — lands on one of these, and each one
|
|
@@ -319,6 +386,26 @@ export const fromService = (service, options) => ({
|
|
|
319
386
|
};
|
|
320
387
|
if (options.warm !== undefined)
|
|
321
388
|
warmUp(options.warm);
|
|
389
|
+
/**
|
|
390
|
+
* A warm registration stays warm across `$dispose()`.
|
|
391
|
+
*
|
|
392
|
+
* `$dispose()` releases the runtime and forgets the service; a lazy
|
|
393
|
+
* registration builds a fresh one on the next call, which is what it does
|
|
394
|
+
* from the start. A **warm** one used to degrade to cold instead — every
|
|
395
|
+
* synchronous member throwing `ExtensionNotReady` forever after, which is
|
|
396
|
+
* exactly what `warm` was chosen to avoid. So the next use re-runs the same
|
|
397
|
+
* warm build, with the same options: synchronous inside this read, over the
|
|
398
|
+
* shared base, taking the same pinned chain id.
|
|
399
|
+
*
|
|
400
|
+
* It throws what `register` would have thrown, at the property read rather
|
|
401
|
+
* than at registration, for the same two reasons (an asynchronous layer, an
|
|
402
|
+
* unknown chain id) — neither of which can appear here without having
|
|
403
|
+
* appeared at `register` already.
|
|
404
|
+
*/
|
|
405
|
+
const ensureWarm = () => {
|
|
406
|
+
if (instance === undefined && options.warm !== undefined)
|
|
407
|
+
warmUp(options.warm);
|
|
408
|
+
};
|
|
322
409
|
const own = (key) => {
|
|
323
410
|
if (key === "$ready")
|
|
324
411
|
return ready;
|
|
@@ -333,23 +420,33 @@ export const fromService = (service, options) => ({
|
|
|
333
420
|
const reserved = own(key);
|
|
334
421
|
if (reserved !== undefined)
|
|
335
422
|
return reserved;
|
|
423
|
+
ensureWarm();
|
|
336
424
|
if (instance !== undefined) {
|
|
337
425
|
const member = instance[key];
|
|
338
426
|
return member === undefined ? undefined : mapMember(member, bridge);
|
|
339
427
|
}
|
|
340
428
|
return lazy([key]);
|
|
341
429
|
},
|
|
342
|
-
has: (_target, key) =>
|
|
343
|
-
(
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
430
|
+
has: (_target, key) => {
|
|
431
|
+
if (key === "$ready" || key === "$dispose" || key === "dispose")
|
|
432
|
+
return true;
|
|
433
|
+
ensureWarm();
|
|
434
|
+
return instance !== undefined && typeof key === "string" && key in instance;
|
|
435
|
+
},
|
|
436
|
+
ownKeys: () => (ensureWarm(),
|
|
437
|
+
instance === undefined
|
|
438
|
+
? [...RESERVED]
|
|
439
|
+
// A `Proxy` refuses duplicate keys, so a service member that happens
|
|
440
|
+
// to be called `dispose` must not be listed twice.
|
|
441
|
+
: [...new Set([...Object.keys(instance), ...RESERVED])]),
|
|
349
442
|
getOwnPropertyDescriptor: () => ({ configurable: true, enumerable: true })
|
|
350
443
|
});
|
|
351
444
|
}
|
|
352
445
|
});
|
|
353
|
-
/**
|
|
354
|
-
|
|
446
|
+
/**
|
|
447
|
+
* The namespace the spec spells: `SuiExtension.fromService(...)`, plus the
|
|
448
|
+
* leaf marker a service uses to say "this member is a value, not a namespace"
|
|
449
|
+
* (`SuiExtension.leaf(value)`, typed `SuiExtension.Leaf<T>`).
|
|
450
|
+
*/
|
|
451
|
+
export const SuiExtension = { fromService, leaf };
|
|
355
452
|
//# sourceMappingURL=SuiExtension.js.map
|