@xyo-network/xl1-protocol 1.13.6 → 1.13.7
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/dist/neutral/block/AllowedBlockPayload.d.ts +16 -9
- package/dist/neutral/block/AllowedBlockPayload.d.ts.map +1 -1
- package/dist/neutral/index.mjs +165 -147
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/model/BlockNumber/BlockNumber.d.ts +2 -2
- package/dist/neutral/model/BlockNumber/BlockNumber.d.ts.map +1 -1
- package/dist/neutral/model/BlockNumber/EthBlockNumber.d.ts +2 -2
- package/dist/neutral/model/BlockNumber/EthBlockNumber.d.ts.map +1 -1
- package/dist/neutral/model/BlockNumber/XL1BlockNumber.d.ts +2 -2
- package/dist/neutral/model/BlockNumber/XL1BlockNumber.d.ts.map +1 -1
- package/dist/neutral/model/BlockRange/BlockRange.d.ts +2 -2
- package/dist/neutral/model/BlockRange/BlockRange.d.ts.map +1 -1
- package/dist/neutral/model/BlockRange/EthBlockRange.d.ts +2 -2
- package/dist/neutral/model/BlockRange/EthBlockRange.d.ts.map +1 -1
- package/dist/neutral/model/BlockRange/Range.d.ts +2 -2
- package/dist/neutral/model/BlockRange/Range.d.ts.map +1 -1
- package/dist/neutral/model/BlockRange/XL1BlockRange.d.ts +2 -2
- package/dist/neutral/model/BlockRange/XL1BlockRange.d.ts.map +1 -1
- package/dist/neutral/model/zod/Config.d.ts +6 -0
- package/dist/neutral/model/zod/Config.d.ts.map +1 -0
- package/dist/neutral/model/zod/index.d.ts +1 -0
- package/dist/neutral/model/zod/index.d.ts.map +1 -1
- package/dist/neutral/model/zod/zodAsFactory.d.ts +3 -3
- package/dist/neutral/model/zod/zodAsFactory.d.ts.map +1 -1
- package/dist/neutral/model/zod/zodToFactory.d.ts +2 -2
- package/dist/neutral/model/zod/zodToFactory.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/block/AllowedBlockPayload.ts +7 -10
- package/src/model/BlockNumber/BlockNumber.ts +2 -2
- package/src/model/BlockNumber/EthBlockNumber.ts +2 -2
- package/src/model/BlockNumber/XL1BlockNumber.ts +2 -2
- package/src/model/BlockRange/BlockRange.ts +2 -2
- package/src/model/BlockRange/EthBlockRange.ts +2 -2
- package/src/model/BlockRange/Range.ts +2 -2
- package/src/model/BlockRange/XL1BlockRange.ts +2 -2
- package/src/model/zod/Config.ts +7 -0
- package/src/model/zod/index.ts +1 -0
- package/src/model/zod/zodAsFactory.ts +28 -4
- package/src/model/zod/zodToFactory.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EthBlockRange.d.ts","sourceRoot":"","sources":["../../../../src/model/BlockRange/EthBlockRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,gBAAgB,CAAA;AACtD,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAQ7D,MAAM,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;AAC5D,MAAM,MAAM,sBAAsB,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;AAErE,eAAO,MAAM,gBAAgB,oJAAkD,CAAA;AAC/E,eAAO,MAAM,yBAAyB,0qBAAoE,CAAA;AAE1G,eAAO,MAAM,eAAe;;;
|
|
1
|
+
{"version":3,"file":"EthBlockRange.d.ts","sourceRoot":"","sources":["../../../../src/model/BlockRange/EthBlockRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,gBAAgB,CAAA;AACtD,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAQ7D,MAAM,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;AAC5D,MAAM,MAAM,sBAAsB,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;AAErE,eAAO,MAAM,gBAAgB,oJAAkD,CAAA;AAC/E,eAAO,MAAM,yBAAyB,0qBAAoE,CAAA;AAE1G,eAAO,MAAM,eAAe;;;CAAiE,CAAA;AAC7F,eAAO,MAAM,eAAe;;;CAA0E,CAAA;AAEtG,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAA;CAAE,CAAC,CAAA;AACnF,eAAO,MAAM,mBAAmB,GAAI,OAAO,aAAa,KAAkC,gBAAgB,CAAA;AAE1G,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa,GAAG,SAAS,CAAA;AACvF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,GAAG,aAAa,CAAA"}
|
|
@@ -4,10 +4,10 @@ export type Range = z.infer<typeof RangeZod>;
|
|
|
4
4
|
export declare const isRange: (value: unknown) => value is [number, number];
|
|
5
5
|
export declare const asRange: {
|
|
6
6
|
(value: unknown): [number, number] | undefined;
|
|
7
|
-
(value: unknown, assert: import("
|
|
7
|
+
(value: unknown, assert: import("../zod/Config.ts").ZodFactoryConfig): [number, number];
|
|
8
8
|
};
|
|
9
9
|
export declare const toRange: {
|
|
10
10
|
(value: unknown): [number, number] | undefined;
|
|
11
|
-
(value: unknown, assert: import("
|
|
11
|
+
(value: unknown, assert: import("../zod/Config.ts").ZodFactoryConfig): [number, number];
|
|
12
12
|
};
|
|
13
13
|
//# sourceMappingURL=Range.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Range.d.ts","sourceRoot":"","sources":["../../../../src/model/BlockRange/Range.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAMnB,eAAO,MAAM,QAAQ,8CAAoC,CAAA;AAEzD,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAA;AAE5C,eAAO,MAAM,OAAO,+CAAgC,CAAA;AACpD,eAAO,MAAM,OAAO;;;
|
|
1
|
+
{"version":3,"file":"Range.d.ts","sourceRoot":"","sources":["../../../../src/model/BlockRange/Range.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAMnB,eAAO,MAAM,QAAQ,8CAAoC,CAAA;AAEzD,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAA;AAE5C,eAAO,MAAM,OAAO,+CAAgC,CAAA;AACpD,eAAO,MAAM,OAAO;;;CAAyC,CAAA;AAC7D,eAAO,MAAM,OAAO;;;CAAyC,CAAA"}
|
|
@@ -8,11 +8,11 @@ export declare const XL1BlockRangeZod: z.ZodTuple<[z.ZodPipe<z.ZodNumber, z.ZodT
|
|
|
8
8
|
export declare const NumberishXL1BlockRangeZod: z.ZodTuple<[z.ZodPipe<z.ZodPipe<z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBigInt]>, z.ZodTransform<number, string | number | bigint>>, z.ZodNumber>, z.ZodTransform<import("../BlockNumber/BlockNumber.ts").BlockNumber, number>>, z.ZodTransform<XL1BlockNumber, import("../BlockNumber/BlockNumber.ts").BlockNumber>>, z.ZodPipe<z.ZodPipe<z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBigInt]>, z.ZodTransform<number, string | number | bigint>>, z.ZodNumber>, z.ZodTransform<import("../BlockNumber/BlockNumber.ts").BlockNumber, number>>, z.ZodTransform<XL1BlockNumber, import("../BlockNumber/BlockNumber.ts").BlockNumber>>], null>;
|
|
9
9
|
export declare const asXL1BlockRange: {
|
|
10
10
|
(value: unknown): XL1BlockRange | undefined;
|
|
11
|
-
(value: unknown, assert:
|
|
11
|
+
(value: unknown, assert: import("../zod/Config.ts").ZodFactoryConfig): XL1BlockRange;
|
|
12
12
|
};
|
|
13
13
|
export declare const toXL1BlockRange: {
|
|
14
14
|
(value: unknown): XL1BlockRange | undefined;
|
|
15
|
-
(value: unknown, assert:
|
|
15
|
+
(value: unknown, assert: import("../zod/Config.ts").ZodFactoryConfig): XL1BlockRange;
|
|
16
16
|
};
|
|
17
17
|
export type XL1BlockRangeKey = Brand<string, {
|
|
18
18
|
readonly __xl1BlockRangeKey: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XL1BlockRange.d.ts","sourceRoot":"","sources":["../../../../src/model/BlockRange/XL1BlockRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,gBAAgB,CAAA;AACtD,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAQ7D,MAAM,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;AAC5D,MAAM,MAAM,sBAAsB,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;AAErE,eAAO,MAAM,gBAAgB,oJAAkD,CAAA;AAC/E,eAAO,MAAM,yBAAyB,0qBAAoE,CAAA;AAE1G,eAAO,MAAM,eAAe;;;
|
|
1
|
+
{"version":3,"file":"XL1BlockRange.d.ts","sourceRoot":"","sources":["../../../../src/model/BlockRange/XL1BlockRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,gBAAgB,CAAA;AACtD,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAQ7D,MAAM,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;AAC5D,MAAM,MAAM,sBAAsB,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;AAErE,eAAO,MAAM,gBAAgB,oJAAkD,CAAA;AAC/E,eAAO,MAAM,yBAAyB,0qBAAoE,CAAA;AAE1G,eAAO,MAAM,eAAe;;;CAAiE,CAAA;AAC7F,eAAO,MAAM,eAAe;;;CAA0E,CAAA;AAEtG,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAA;CAAE,CAAC,CAAA;AACnF,eAAO,MAAM,mBAAmB,GAAI,OAAO,aAAa,KAAkC,gBAAgB,CAAA;AAE1G,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa,GAAG,SAAS,CAAA;AACvF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,GAAG,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../../src/model/zod/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,sBAAsB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/model/zod/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/model/zod/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { AssertConfig } from '@xylabs/hex';
|
|
2
1
|
import type z from 'zod';
|
|
3
|
-
|
|
2
|
+
import type { ZodFactoryConfig } from './Config.ts';
|
|
3
|
+
export declare function zodAsFactory<T>(zod: z.ZodType<T>, name: string): {
|
|
4
4
|
(value: unknown): T | undefined;
|
|
5
|
-
(value: unknown, assert:
|
|
5
|
+
(value: unknown, assert: ZodFactoryConfig): T;
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=zodAsFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zodAsFactory.d.ts","sourceRoot":"","sources":["../../../../src/model/zod/zodAsFactory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"zodAsFactory.d.ts","sourceRoot":"","sources":["../../../../src/model/zod/zodAsFactory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM;YACtC,OAAO,GAAG,CAAC,GAAG,SAAS;YACvB,OAAO,UAAU,gBAAgB,GAAG,CAAC;EAgC7D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type z from 'zod';
|
|
2
|
-
export declare function zodToFactory<T>(zod: z.ZodType<T
|
|
2
|
+
export declare function zodToFactory<T>(zod: z.ZodType<T>, name: string): {
|
|
3
3
|
(value: unknown): T | undefined;
|
|
4
|
-
(value: unknown, assert: import("
|
|
4
|
+
(value: unknown, assert: import("./Config.ts").ZodFactoryConfig): T;
|
|
5
5
|
};
|
|
6
6
|
//# sourceMappingURL=zodToFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zodToFactory.d.ts","sourceRoot":"","sources":["../../../../src/model/zod/zodToFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAIxB,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;;
|
|
1
|
+
{"version":3,"file":"zodToFactory.d.ts","sourceRoot":"","sources":["../../../../src/model/zod/zodToFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAIxB,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM;;;EAE9D"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { BoundWitnessSchema } from '@xyo-network/boundwitness-model'
|
|
2
2
|
import type { Schema, WithStorageMeta } from '@xyo-network/payload-model'
|
|
3
|
-
import { isHashMeta
|
|
3
|
+
import { isHashMeta } from '@xyo-network/payload-model'
|
|
4
4
|
import type { SchemaPayload } from '@xyo-network/schema-payload-plugin'
|
|
5
5
|
import { isSchemaPayload, SchemaSchema } from '@xyo-network/schema-payload-plugin'
|
|
6
6
|
import z from 'zod'
|
|
7
7
|
|
|
8
|
+
import { zodIsFactory } from '../model/index.ts'
|
|
8
9
|
import type {
|
|
9
10
|
BridgeDestinationObservation, BridgeIntent, BridgeSourceObservation, ChainStakeIntent, HashPayload, StepComplete, TimePayload, Transfer,
|
|
10
11
|
} from '../payload/index.ts'
|
|
@@ -27,7 +28,7 @@ export type AllowedBlockPayload
|
|
|
27
28
|
| TimePayload
|
|
28
29
|
| TransactionBoundWitness
|
|
29
30
|
|
|
30
|
-
export const AllowedBlockPayloadSchemas
|
|
31
|
+
export const AllowedBlockPayloadSchemas = [
|
|
31
32
|
BoundWitnessSchema,
|
|
32
33
|
BridgeDestinationObservationSchema,
|
|
33
34
|
BridgeIntentSchema,
|
|
@@ -38,13 +39,11 @@ export const AllowedBlockPayloadSchemas: Schema[] = [
|
|
|
38
39
|
StepCompleteSchema,
|
|
39
40
|
TimeSchema,
|
|
40
41
|
TransferSchema,
|
|
41
|
-
]
|
|
42
|
+
] satisfies Schema[]
|
|
42
43
|
|
|
43
|
-
export
|
|
44
|
-
|
|
45
|
-
export const isAllowedBlockPayloadSchema = (
|
|
46
|
-
return isSchema(value) && AllowedBlockPayloadSchemas.includes(value)
|
|
47
|
-
}
|
|
44
|
+
export const AllowedBlockPayloadSchemaZod = z.enum(AllowedBlockPayloadSchemas)
|
|
45
|
+
export type AllowedBlockPayloadSchema = z.infer<typeof AllowedBlockPayloadSchemaZod>
|
|
46
|
+
export const isAllowedBlockPayloadSchema = zodIsFactory<AllowedBlockPayloadSchema>(AllowedBlockPayloadSchemaZod)
|
|
48
47
|
|
|
49
48
|
export const isAllowedBlockPayload = (value: unknown): value is AllowedBlockPayload => {
|
|
50
49
|
return isTransfer(value)
|
|
@@ -61,5 +60,3 @@ export const isAllowedBlockPayload = (value: unknown): value is AllowedBlockPayl
|
|
|
61
60
|
export const isAllowedBlockPayloadWithHashMeta = (value: unknown): value is WithStorageMeta<AllowedBlockPayload> => {
|
|
62
61
|
return isAllowedBlockPayload(value) && isHashMeta(value)
|
|
63
62
|
}
|
|
64
|
-
|
|
65
|
-
export const AllowedBlockPayloadZod = z.object({ schema: z.enum(AllowedBlockPayloadSchemas) })
|
|
@@ -9,7 +9,7 @@ export type BlockNumber = Brand<number, { readonly __blockNumber: true }>
|
|
|
9
9
|
export const BlockNumberZod = z.number().transform(v => v as BlockNumber)
|
|
10
10
|
export const NumberishBlockNumberZod = NumberishZod.transform(v => v as BlockNumber)
|
|
11
11
|
|
|
12
|
-
export const asBlockNumber = zodAsFactory<BlockNumber>(BlockNumberZod)
|
|
13
|
-
export const toBlockNumber = zodToFactory<BlockNumber>(NumberishBlockNumberZod)
|
|
12
|
+
export const asBlockNumber = zodAsFactory<BlockNumber>(BlockNumberZod, 'asBlockNumber')
|
|
13
|
+
export const toBlockNumber = zodToFactory<BlockNumber>(NumberishBlockNumberZod, 'toBlockNumber')
|
|
14
14
|
|
|
15
15
|
export const BLOCK_NUMBER_ZERO = asBlockNumber(0)
|
|
@@ -10,7 +10,7 @@ export type EthBlockNumber = Brand<BlockNumber, { readonly __ethBlockNumber: tru
|
|
|
10
10
|
export const EthBlockNumberZod = z.number().transform(v => v as EthBlockNumber)
|
|
11
11
|
export const NumberishEthBlockNumberZod = NumberishBlockNumberZod.transform(v => v as EthBlockNumber)
|
|
12
12
|
|
|
13
|
-
export const asEthBlockNumber = zodAsFactory<EthBlockNumber>(EthBlockNumberZod)
|
|
14
|
-
export const toEthBlockNumber = zodToFactory<EthBlockNumber>(NumberishEthBlockNumberZod)
|
|
13
|
+
export const asEthBlockNumber = zodAsFactory<EthBlockNumber>(EthBlockNumberZod, 'asEthBlockNumber')
|
|
14
|
+
export const toEthBlockNumber = zodToFactory<EthBlockNumber>(NumberishEthBlockNumberZod, 'toEthBlockNumber')
|
|
15
15
|
|
|
16
16
|
export const ETH_BLOCK_NUMBER_ZERO = asEthBlockNumber(0)
|
|
@@ -10,7 +10,7 @@ export type XL1BlockNumber = Brand<BlockNumber, { readonly __xl1BlockNumber: tru
|
|
|
10
10
|
export const XL1BlockNumberZod = z.number().transform(v => v as XL1BlockNumber)
|
|
11
11
|
export const NumberishXL1BlockNumberZod = NumberishBlockNumberZod.transform(v => v as XL1BlockNumber)
|
|
12
12
|
|
|
13
|
-
export const asXL1BlockNumber = zodAsFactory<XL1BlockNumber>(XL1BlockNumberZod)
|
|
14
|
-
export const toXL1BlockNumber = zodToFactory<XL1BlockNumber>(NumberishXL1BlockNumberZod)
|
|
13
|
+
export const asXL1BlockNumber = zodAsFactory<XL1BlockNumber>(XL1BlockNumberZod, 'asXL1BlockNumber')
|
|
14
|
+
export const toXL1BlockNumber = zodToFactory<XL1BlockNumber>(NumberishXL1BlockNumberZod, 'toXL1BlockNumber')
|
|
15
15
|
|
|
16
16
|
export const XL1_BLOCK_NUMBER_ZERO = asXL1BlockNumber(0)
|
|
@@ -15,8 +15,8 @@ export type NumberishBlockRange = [BlockNumber, BlockNumber]
|
|
|
15
15
|
export const BlockRangeZod = z.tuple([BlockNumberZod, BlockNumberZod])
|
|
16
16
|
export const NumberishBlockRangeZod = z.tuple([NumberishBlockNumberZod, NumberishBlockNumberZod])
|
|
17
17
|
|
|
18
|
-
export const asBlockRange = zodAsFactory<BlockRange>(BlockRangeZod)
|
|
19
|
-
export const toBlockRange = zodToFactory<BlockRange>(NumberishBlockRangeZod)
|
|
18
|
+
export const asBlockRange = zodAsFactory<BlockRange>(BlockRangeZod, 'BlockRange')
|
|
19
|
+
export const toBlockRange = zodToFactory<BlockRange>(NumberishBlockRangeZod, 'BlockRange')
|
|
20
20
|
|
|
21
21
|
export type BlockRangeKey = Brand<string, { readonly __blockRangeKey: true }>
|
|
22
22
|
export const toBlockNumberKey = (range: BlockRange) => `${range[0]}|${range[1]}` as BlockRangeKey
|
|
@@ -17,8 +17,8 @@ export type NumberishEthBlockRange = [EthBlockNumber, EthBlockNumber]
|
|
|
17
17
|
export const EthBlockRangeZod = z.tuple([EthBlockNumberZod, EthBlockNumberZod])
|
|
18
18
|
export const NumberishEthBlockRangeZod = z.tuple([NumberishEthBlockNumberZod, NumberishEthBlockNumberZod])
|
|
19
19
|
|
|
20
|
-
export const asEthBlockRange = zodAsFactory<EthBlockRange>(EthBlockRangeZod)
|
|
21
|
-
export const toEthBlockRange = zodToFactory<EthBlockRange>(NumberishEthBlockRangeZod)
|
|
20
|
+
export const asEthBlockRange = zodAsFactory<EthBlockRange>(EthBlockRangeZod, 'EthBlockRange')
|
|
21
|
+
export const toEthBlockRange = zodToFactory<EthBlockRange>(NumberishEthBlockRangeZod, 'EthBlockRange')
|
|
22
22
|
|
|
23
23
|
export type EthBlockRangeKey = Brand<string, { readonly __ethBlockRangeKey: true }>
|
|
24
24
|
export const toEthBlockNumberKey = (range: EthBlockRange) => `${range[0]}|${range[1]}` as EthBlockRangeKey
|
|
@@ -9,5 +9,5 @@ export const RangeZod = z.tuple([z.number(), z.number()])
|
|
|
9
9
|
export type Range = z.infer<typeof RangeZod>
|
|
10
10
|
|
|
11
11
|
export const isRange = zodIsFactory<Range>(RangeZod)
|
|
12
|
-
export const asRange = zodAsFactory<Range>(RangeZod)
|
|
13
|
-
export const toRange = zodToFactory<Range>(RangeZod)
|
|
12
|
+
export const asRange = zodAsFactory<Range>(RangeZod, 'Range')
|
|
13
|
+
export const toRange = zodToFactory<Range>(RangeZod, 'Range')
|
|
@@ -17,8 +17,8 @@ export type NumberishXL1BlockRange = [XL1BlockNumber, XL1BlockNumber]
|
|
|
17
17
|
export const XL1BlockRangeZod = z.tuple([XL1BlockNumberZod, XL1BlockNumberZod])
|
|
18
18
|
export const NumberishXL1BlockRangeZod = z.tuple([NumberishXL1BlockNumberZod, NumberishXL1BlockNumberZod])
|
|
19
19
|
|
|
20
|
-
export const asXL1BlockRange = zodAsFactory<XL1BlockRange>(XL1BlockRangeZod)
|
|
21
|
-
export const toXL1BlockRange = zodToFactory<XL1BlockRange>(NumberishXL1BlockRangeZod)
|
|
20
|
+
export const asXL1BlockRange = zodAsFactory<XL1BlockRange>(XL1BlockRangeZod, 'XL1BlockRange')
|
|
21
|
+
export const toXL1BlockRange = zodToFactory<XL1BlockRange>(NumberishXL1BlockRangeZod, 'XL1BlockRange')
|
|
22
22
|
|
|
23
23
|
export type XL1BlockRangeKey = Brand<string, { readonly __xl1BlockRangeKey: true }>
|
|
24
24
|
export const toXL1BlockNumberKey = (range: XL1BlockRange) => `${range[0]}|${range[1]}` as XL1BlockRangeKey
|
package/src/model/zod/index.ts
CHANGED
|
@@ -2,15 +2,39 @@ import type { AssertConfig } from '@xylabs/hex'
|
|
|
2
2
|
import { assertError } from '@xylabs/hex'
|
|
3
3
|
import type z from 'zod'
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
import type { ZodFactoryConfig } from './Config.ts'
|
|
6
|
+
|
|
7
|
+
export function zodAsFactory<T>(zod: z.ZodType<T>, name: string) {
|
|
6
8
|
function asFunc(value: unknown): T | undefined
|
|
7
|
-
function asFunc(value: unknown, assert:
|
|
8
|
-
function asFunc(value: unknown, assert?:
|
|
9
|
+
function asFunc(value: unknown, assert: ZodFactoryConfig): T
|
|
10
|
+
function asFunc(value: unknown, assert?: ZodFactoryConfig): T | undefined {
|
|
9
11
|
const result = zod.safeParse(value)
|
|
10
12
|
if (result.success) {
|
|
11
13
|
return result.data
|
|
12
14
|
}
|
|
13
|
-
|
|
15
|
+
let assertConfig: AssertConfig
|
|
16
|
+
switch (typeof assert) {
|
|
17
|
+
case 'string': {
|
|
18
|
+
assertConfig = `[${name}][${value}] ${assert}`
|
|
19
|
+
break
|
|
20
|
+
}
|
|
21
|
+
case 'object': {
|
|
22
|
+
assertConfig = `[${name}][${assert.name}][${value}] ${result.error.message}`
|
|
23
|
+
break
|
|
24
|
+
}
|
|
25
|
+
case 'boolean': {
|
|
26
|
+
assertConfig = `[${name}][${value}] ${result.error.message}`
|
|
27
|
+
break
|
|
28
|
+
}
|
|
29
|
+
case 'function': {
|
|
30
|
+
assertConfig = assert(value, result.error.message)
|
|
31
|
+
break
|
|
32
|
+
}
|
|
33
|
+
default: {
|
|
34
|
+
assertConfig = true
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return assertError(value, assertConfig, result.error.message)
|
|
14
38
|
}
|
|
15
39
|
|
|
16
40
|
return asFunc
|
|
@@ -2,6 +2,6 @@ import type z from 'zod'
|
|
|
2
2
|
|
|
3
3
|
import { zodAsFactory } from './zodAsFactory.ts'
|
|
4
4
|
|
|
5
|
-
export function zodToFactory<T>(zod: z.ZodType<T
|
|
6
|
-
return zodAsFactory<T>(zod)
|
|
5
|
+
export function zodToFactory<T>(zod: z.ZodType<T>, name: string) {
|
|
6
|
+
return zodAsFactory<T>(zod, name)
|
|
7
7
|
}
|