@markless/serializer 0.1.0

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.
@@ -0,0 +1,55 @@
1
+ import { ProtocolStatePayload, ProtocolViewPayload } from "./protocol.js";
2
+
3
+ //#region src/protocol-validation.d.ts
4
+ type EncodedPayloadScripts = {
5
+ readonly stateScript: string;
6
+ readonly viewScript: string;
7
+ };
8
+ type DecodedPayloadScripts = {
9
+ readonly state: ProtocolStatePayload;
10
+ readonly view: ProtocolViewPayload;
11
+ };
12
+ type RuntimePayloadType = 'markless/state' | 'markless/view';
13
+ type RuntimePayloadErrorCode = 'MARKLESS_PAYLOAD_INVALID' | 'MARKLESS_PROTOCOL_VERSION_MISMATCH';
14
+ type RuntimePayloadDiagnostic = {
15
+ readonly code: RuntimePayloadErrorCode;
16
+ readonly severity: 'error';
17
+ readonly phase: 'payload';
18
+ readonly title: string;
19
+ readonly message: string;
20
+ readonly why: string;
21
+ readonly payloadType: RuntimePayloadType;
22
+ readonly payloadScript: string;
23
+ readonly expectedVersion?: number;
24
+ readonly actualVersion?: unknown;
25
+ readonly suggestions: ReadonlyArray<{
26
+ readonly message: string;
27
+ }>;
28
+ readonly docsUrl: string;
29
+ };
30
+ declare class RuntimePayloadError extends Error implements RuntimePayloadDiagnostic {
31
+ readonly code: RuntimePayloadErrorCode;
32
+ readonly severity: 'error';
33
+ readonly phase: 'payload';
34
+ readonly title: string;
35
+ readonly why: string;
36
+ readonly payloadType: RuntimePayloadType;
37
+ readonly payloadScript: string;
38
+ readonly expectedVersion?: number;
39
+ readonly actualVersion?: unknown;
40
+ readonly suggestions: ReadonlyArray<{
41
+ readonly message: string;
42
+ }>;
43
+ readonly docsUrl: string;
44
+ constructor(diagnostic: RuntimePayloadDiagnostic);
45
+ }
46
+ declare function decodePayloadScripts(input: EncodedPayloadScripts): DecodedPayloadScripts;
47
+ declare function assertProtocolStatePayload(payload: unknown): asserts payload is ProtocolStatePayload;
48
+ declare function assertProtocolStateCellPayload(cell: unknown, context: string): asserts cell is ProtocolStatePayload['cells'][number];
49
+ declare function assertProtocolViewPayload(payload: unknown): asserts payload is ProtocolViewPayload;
50
+ declare function payloadInvalidError(payloadType: RuntimePayloadType, message: string, why: string, suggestions: ReadonlyArray<{
51
+ readonly message: string;
52
+ }>): RuntimePayloadError;
53
+ declare function payloadScriptSelector(type: RuntimePayloadType): string;
54
+ //#endregion
55
+ export { DecodedPayloadScripts, EncodedPayloadScripts, RuntimePayloadDiagnostic, RuntimePayloadError, RuntimePayloadErrorCode, RuntimePayloadType, assertProtocolStateCellPayload, assertProtocolStatePayload, assertProtocolViewPayload, decodePayloadScripts, payloadInvalidError, payloadScriptSelector };