@layerzerolabs/dw-model 0.2.15 → 0.2.18
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/.turbo/turbo-build.log +49 -48
- package/.turbo/turbo-lint.log +1 -1
- package/.turbo/turbo-test.log +2 -2
- package/dist/HW27MZCG.js +61 -0
- package/dist/HW27MZCG.js.map +1 -0
- package/dist/{WR5OHKNE.js → RLVC22JB.js} +4 -13
- package/dist/RLVC22JB.js.map +1 -0
- package/dist/{FI3AZVUW.cjs → SRUGZSZY.cjs} +4 -13
- package/dist/SRUGZSZY.cjs.map +1 -0
- package/dist/WP2E3P7I.cjs +80 -0
- package/dist/WP2E3P7I.cjs.map +1 -0
- package/dist/deploy/index.cjs +27 -27
- package/dist/deploy/index.js +2 -2
- package/dist/deploy/resourceBuilder.cjs +2 -2
- package/dist/deploy/resourceBuilder.d.ts +3 -3
- package/dist/deploy/resourceBuilder.d.ts.map +1 -1
- package/dist/deploy/resourceBuilder.js +1 -1
- package/dist/deploy/resources.cjs +25 -25
- package/dist/deploy/resources.d.ts +26 -28
- package/dist/deploy/resources.d.ts.map +1 -1
- package/dist/deploy/resources.js +1 -1
- package/dist/index.cjs +27 -27
- package/dist/index.js +2 -2
- package/package.json +9 -8
- package/src/deploy/resourceBuilder.ts +6 -15
- package/src/deploy/resources.ts +94 -76
- package/dist/FI3AZVUW.cjs.map +0 -1
- package/dist/MIREQZRR.cjs +0 -59
- package/dist/MIREQZRR.cjs.map +0 -1
- package/dist/NYPXCJOJ.js +0 -40
- package/dist/NYPXCJOJ.js.map +0 -1
- package/dist/WR5OHKNE.js.map +0 -1
package/src/deploy/resources.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import z from 'zod';
|
|
2
2
|
|
|
3
3
|
import type { NormalizedHexString } from '@layerzerolabs/common-chain-model';
|
|
4
|
+
import { throwError } from '@layerzerolabs/common-error-utils';
|
|
4
5
|
import { ChainName } from '@layerzerolabs/layerzero-definitions';
|
|
5
6
|
import type { IsAny } from '@layerzerolabs/typescript-utils';
|
|
6
7
|
|
|
@@ -31,82 +32,104 @@ export type BaseResource = z.infer<typeof baseResourceSchema>;
|
|
|
31
32
|
export type BaseMeshResource = z.infer<typeof baseMeshResourceSchema>;
|
|
32
33
|
export type BaseContractResource = z.infer<typeof baseContractResourceSchema>;
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
/** WARNING:
|
|
37
|
-
|
|
38
|
-
['
|
|
35
|
+
// the actual expected runtime value for this type is #C_REF:${id}
|
|
36
|
+
export type ContractResourceReference<T extends BaseContractResource = BaseContractResource> = {
|
|
37
|
+
/** WARNING: these fields are not present at runtime */
|
|
38
|
+
__resourceReferenceType: T;
|
|
39
|
+
['__CONTRACT_RESOURCE_REFERENCE']: true;
|
|
39
40
|
};
|
|
40
41
|
|
|
41
|
-
export const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
(
|
|
42
|
+
export const extractIdFromContractResourceReference = (ref: ContractResourceReference) =>
|
|
43
|
+
((ref as unknown as string).startsWith('#C_REF:') &&
|
|
44
|
+
(ref as unknown as string).slice('#C_REF:'.length)) ||
|
|
45
|
+
throwError(`Ref ${JSON.stringify(ref)} is not a contract resource ref`);
|
|
45
46
|
|
|
46
|
-
export type
|
|
47
|
-
z.ZodType<
|
|
47
|
+
export type ContractResourceReferenceSchema<T extends typeof baseContractResourceSchema> =
|
|
48
|
+
z.ZodType<ContractResourceReference<z.infer<T>>>;
|
|
48
49
|
|
|
49
|
-
export const
|
|
50
|
+
export const contractResourceReferenceSchema: ContractResourceReferenceSchema<
|
|
50
51
|
typeof baseContractResourceSchema
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
// at runtime, we expect a string
|
|
53
|
+
> = z.string().meta({
|
|
54
|
+
id: 'contract-resource-dependency',
|
|
55
|
+
title: 'Contract dependency to any',
|
|
56
|
+
description: 'A reference to another contract resource (any)',
|
|
57
|
+
}) as unknown as z.ZodType<ContractResourceReference>;
|
|
58
|
+
|
|
59
|
+
let contractResourceDependencyForSchemaZodMetaIdIdx = 0;
|
|
60
|
+
export const contractResourceReferenceSchemaFor = <T extends typeof baseContractResourceSchema>(
|
|
54
61
|
// FIXME use this to generate a real schema
|
|
55
62
|
_resource: T,
|
|
56
|
-
):
|
|
57
|
-
z.
|
|
58
|
-
|
|
59
|
-
|
|
63
|
+
): ContractResourceReferenceSchema<T> =>
|
|
64
|
+
z.string().meta({
|
|
65
|
+
id: `contract-resource-dependency-for-${++contractResourceDependencyForSchemaZodMetaIdIdx}`,
|
|
66
|
+
// we can't generate this properly yet because this function needs more information
|
|
67
|
+
// will be fixed when we clean up the runtime of dependencies id
|
|
68
|
+
title: 'Contract dependency to (unknown)',
|
|
69
|
+
description: 'A reference to another contract resource (unknown)',
|
|
70
|
+
}) as unknown as z.ZodType<ContractResourceReference<z.infer<T>>>;
|
|
71
|
+
|
|
72
|
+
export type ResolvedContractResourceReference<T extends BaseContractResource> = {
|
|
60
73
|
id: string;
|
|
61
74
|
resource: T;
|
|
62
75
|
address: NormalizedHexString;
|
|
63
76
|
};
|
|
64
77
|
|
|
65
|
-
export type
|
|
66
|
-
z.ZodType<
|
|
78
|
+
export type ResolvedContractResourceReferenceSchema<T extends typeof baseContractResourceSchema> =
|
|
79
|
+
z.ZodType<ResolvedContractResourceReference<z.infer<T>>>;
|
|
67
80
|
|
|
68
|
-
export const
|
|
81
|
+
export const resolvedContractResourceReferenceSchema: ResolvedContractResourceReferenceSchema<any> =
|
|
69
82
|
// FIXME could be a real schema
|
|
70
|
-
z.custom<
|
|
83
|
+
z.custom<ResolvedContractResourceReference<any>>();
|
|
71
84
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
/** WARNING:
|
|
75
|
-
|
|
76
|
-
['
|
|
85
|
+
// the actual expected runtime value for this type is #M_REF:${id}
|
|
86
|
+
export type MeshResourceReference<T extends BaseMeshResource = BaseMeshResource> = {
|
|
87
|
+
/** WARNING: these fields are not present at runtime */
|
|
88
|
+
__resourceReferenceType: T;
|
|
89
|
+
['__MESH_RESOURCE_REFERENCE']: true;
|
|
77
90
|
};
|
|
78
91
|
|
|
79
|
-
export
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
export type MeshResourceDependencySchema<T extends typeof baseMeshResourceSchema> = z.ZodType<
|
|
83
|
-
MeshResourceDependency<z.infer<T>>
|
|
92
|
+
export type MeshResourceReferenceSchema<T extends typeof baseMeshResourceSchema> = z.ZodType<
|
|
93
|
+
MeshResourceReference<z.infer<T>>
|
|
84
94
|
>;
|
|
85
95
|
|
|
86
|
-
export const
|
|
96
|
+
export const meshResourceReferenceSchema: MeshResourceReferenceSchema<
|
|
87
97
|
typeof baseMeshResourceSchema
|
|
88
|
-
> = z.
|
|
89
|
-
|
|
90
|
-
|
|
98
|
+
> = z.string().meta({
|
|
99
|
+
id: 'mesh-resource-dependency',
|
|
100
|
+
title: 'Mesh dependency to any',
|
|
101
|
+
description: 'A reference to another mesh resource (any)',
|
|
102
|
+
}) as unknown as z.ZodType<MeshResourceReference>;
|
|
103
|
+
|
|
104
|
+
let meshResourceDependencyForSchemaZodMetaIdIdx = 0;
|
|
105
|
+
export const meshResourceReferenceSchemaFor = <T extends typeof baseMeshResourceSchema>(
|
|
91
106
|
// FIXME use this to generate a real schema
|
|
92
107
|
_resource: T,
|
|
93
|
-
):
|
|
94
|
-
z.
|
|
95
|
-
|
|
96
|
-
|
|
108
|
+
): MeshResourceReferenceSchema<T> =>
|
|
109
|
+
z.string().meta({
|
|
110
|
+
id: `mesh-resource-dependency-for-${++meshResourceDependencyForSchemaZodMetaIdIdx}`,
|
|
111
|
+
title: 'Mesh dependency to (unknown)',
|
|
112
|
+
description: 'A reference to another mesh resource (unknown)',
|
|
113
|
+
}) as unknown as z.ZodType<MeshResourceReference<z.infer<T>>>;
|
|
114
|
+
|
|
115
|
+
export type ResolvedMeshResourceReference<T extends BaseMeshResource> = {
|
|
97
116
|
id: string;
|
|
98
117
|
resource: T;
|
|
99
118
|
// TODO: is there any other resolved information we want to inject here?
|
|
100
119
|
};
|
|
101
120
|
|
|
102
|
-
export
|
|
121
|
+
export const extractIdFromMeshResourceReference = (ref: MeshResourceReference) =>
|
|
122
|
+
((ref as unknown as string).startsWith('#M_REF:') &&
|
|
123
|
+
(ref as unknown as string).slice('#M_REF:'.length)) ||
|
|
124
|
+
throwError(`Ref ${JSON.stringify(ref)} is not a mesh resource ref`);
|
|
125
|
+
|
|
126
|
+
export type ResolvedMeshResourceReferenceSchema<T extends typeof baseMeshResourceSchema> =
|
|
103
127
|
// FIXME could be a real schema
|
|
104
|
-
z.ZodType<
|
|
128
|
+
z.ZodType<ResolvedMeshResourceReference<z.infer<T>>>;
|
|
105
129
|
|
|
106
|
-
export const
|
|
107
|
-
z.custom<
|
|
130
|
+
export const resolvedMeshResourceReferenceSchema: ResolvedMeshResourceReferenceSchema<any> =
|
|
131
|
+
z.custom<ResolvedMeshResourceReference<any>>();
|
|
108
132
|
|
|
109
|
-
// FIXME this could be recursive, probably overkill
|
|
110
133
|
export type ResolvedResourceSchema<Resource extends typeof baseResourceSchema> = z.ZodObject<
|
|
111
134
|
{
|
|
112
135
|
[K in keyof Resource['shape']]: Resource['shape'][K] extends infer R extends z.ZodType
|
|
@@ -114,21 +137,20 @@ export type ResolvedResourceSchema<Resource extends typeof baseResourceSchema> =
|
|
|
114
137
|
? R
|
|
115
138
|
: R extends z.ZodOptional<z.ZodAny>
|
|
116
139
|
? R
|
|
117
|
-
: R extends
|
|
118
|
-
?
|
|
119
|
-
: R extends z.ZodOptional<
|
|
120
|
-
? z.ZodOptional<
|
|
121
|
-
: R extends
|
|
122
|
-
?
|
|
123
|
-
: R extends z.ZodOptional<
|
|
124
|
-
? z.ZodOptional<
|
|
140
|
+
: R extends ContractResourceReferenceSchema<infer I>
|
|
141
|
+
? ResolvedContractResourceReferenceSchema<I>
|
|
142
|
+
: R extends z.ZodOptional<ContractResourceReferenceSchema<infer I>>
|
|
143
|
+
? z.ZodOptional<ResolvedContractResourceReferenceSchema<I>>
|
|
144
|
+
: R extends MeshResourceReferenceSchema<infer I>
|
|
145
|
+
? ResolvedMeshResourceReferenceSchema<I>
|
|
146
|
+
: R extends z.ZodOptional<MeshResourceReferenceSchema<infer I>>
|
|
147
|
+
? z.ZodOptional<ResolvedMeshResourceReferenceSchema<I>>
|
|
125
148
|
: R
|
|
126
149
|
: never;
|
|
127
150
|
},
|
|
128
151
|
z.core.$strip
|
|
129
152
|
>;
|
|
130
153
|
|
|
131
|
-
// FIXME this could be recursive, probably overkill
|
|
132
154
|
export type ResolvedResource<Resource extends BaseResource> = {
|
|
133
155
|
[K in keyof Resource]: Resource[K] extends infer R
|
|
134
156
|
? R extends undefined
|
|
@@ -137,33 +159,29 @@ export type ResolvedResource<Resource extends BaseResource> = {
|
|
|
137
159
|
? R
|
|
138
160
|
: IsAny<Exclude<R, undefined>> extends true
|
|
139
161
|
? R
|
|
140
|
-
: R extends
|
|
141
|
-
?
|
|
142
|
-
: R extends
|
|
143
|
-
?
|
|
144
|
-
: R extends
|
|
145
|
-
?
|
|
146
|
-
: R extends
|
|
147
|
-
?
|
|
162
|
+
: R extends ContractResourceReference<infer I>
|
|
163
|
+
? ResolvedContractResourceReference<I>
|
|
164
|
+
: R extends ContractResourceReference<infer I> | undefined
|
|
165
|
+
? ResolvedContractResourceReference<I> | undefined
|
|
166
|
+
: R extends MeshResourceReference<infer I>
|
|
167
|
+
? ResolvedMeshResourceReference<I>
|
|
168
|
+
: R extends MeshResourceReference<infer I> | undefined
|
|
169
|
+
? ResolvedMeshResourceReference<I> | undefined
|
|
148
170
|
: R
|
|
149
171
|
: never;
|
|
150
172
|
};
|
|
151
173
|
|
|
152
|
-
export const
|
|
153
|
-
resource: Resource,
|
|
154
|
-
) =>
|
|
155
|
-
Object.entries(resource).filter(([, id]) => isContractResourceDependency(id)) as unknown as [
|
|
156
|
-
prop: string,
|
|
157
|
-
id: ContractResourceDependency,
|
|
158
|
-
][];
|
|
159
|
-
|
|
160
|
-
export const extractMeshResourceDependencyIds = <Resource extends BaseResource>(
|
|
174
|
+
export const extractContractResourceReferences = <Resource extends BaseResource>(
|
|
161
175
|
resource: Resource,
|
|
162
176
|
) =>
|
|
163
|
-
Object.entries(resource).filter(
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
177
|
+
Object.entries(resource).filter(
|
|
178
|
+
([, id]) => typeof id === 'string' && id.startsWith('#C_REF:'),
|
|
179
|
+
) as unknown as [prop: string, id: ContractResourceReference][];
|
|
180
|
+
|
|
181
|
+
export const extractMeshResourceReferences = <Resource extends BaseResource>(resource: Resource) =>
|
|
182
|
+
Object.entries(resource).filter(
|
|
183
|
+
([, id]) => typeof id === 'string' && id.startsWith('#M_REF:'),
|
|
184
|
+
) as unknown as [prop: string, id: MeshResourceReference][];
|
|
167
185
|
|
|
168
186
|
// FIXME implement runtime
|
|
169
187
|
export const createResolvedResourceSchema = <Resource extends typeof baseResourceSchema>(
|
package/dist/FI3AZVUW.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/deploy/resourceBuilder.ts"],"names":["createResourceBuilder","_resourceSchema","resourceBaseType","type","resource","id","__CONTRACT_RESOURCE_DEPENDENCY","__dependencyType","build","__name","__MESH_RESOURCE_DEPENDENCY","Error"],"mappings":";;;;;AAoBO,IAAMA,qBAAAA,wCAELC,eAAAA,EACA,EACIC,kBACAC,IAAAA,EAAI,KAMZ,CACIC,QAAAA,KAAAA;AAMA,EAAA,IAAIF,qBAAqB,UAAA,EAAY;AACjC,IAAA,OAAO;MACHG,EAAAA,EAAI;QACAC,8BAAAA,EAAgC,IAAA;QAChCC,gBAAAA,EAAkB,IAAA;AAClBF,QAAAA,EAAAA,EAAID,QAAAA,CAASC;AACjB,OAAA;AACAG,MAAAA,KAAAA,kBAAOC,mBAAA,CAAA,OAAO;QAAE,GAAGL,QAAAA;AAAUD,QAAAA,IAAAA;AAAMD,QAAAA;OAAiB,CAAA,EAA7C,OAAA;AACX,KAAA;AACJ,EAAA;AACA,EAAA,IAAIA,qBAAqB,MAAA,EAAQ;AAC7B,IAAA,OAAO;MACHG,EAAAA,EAAI;QACAK,0BAAAA,EAA4B,IAAA;;QAE5BH,gBAAAA,EAAkB,IAAA;AAClBF,QAAAA,EAAAA,EAAID,QAAAA,CAASC;AACjB,OAAA;AACAG,MAAAA,KAAAA,kBAAOC,mBAAA,CAAA,OAAO;QAAE,GAAGL,QAAAA;AAAUD,QAAAA,IAAAA;AAAMD,QAAAA;OAAiB,CAAA,EAA7C,OAAA;AACX,KAAA;AACJ,EAAA;AAEA,EAAA,MAAM,IAAIS,KAAAA,CAAM,CAAA,8BAAA,EAAiCT,gBAAAA,CAAAA,CAAAA,CAAmB,CAAA;AACxE,CAAA,EAxCA,uBAAA","file":"FI3AZVUW.cjs","sourcesContent":["import type { z } from 'zod';\n\nimport type {\n BaseContractResource,\n BaseMeshResource,\n baseResourceSchema,\n ContractResourceDependency,\n MeshResourceDependency,\n} from './resources';\n\nexport type ContractResourceBuilderResult<Resource extends BaseContractResource> = {\n id: ContractResourceDependency<Resource>;\n build: () => Resource;\n};\n\nexport type MeshResourceBuilderResult<Resource extends BaseMeshResource> = {\n id: MeshResourceDependency<Resource>;\n build: () => Resource;\n};\n\nexport const createResourceBuilder =\n <T extends typeof baseResourceSchema, U extends Omit<z.infer<T>, 'type' | 'resourceBaseType'>>(\n _resourceSchema: T,\n {\n resourceBaseType,\n type,\n }: {\n resourceBaseType: 'CONTRACT' | 'MESH';\n type: T['shape'] extends { type: z.ZodType<infer Type> } ? Type : undefined;\n },\n ) =>\n (\n resource: U,\n ): z.infer<T> extends BaseContractResource\n ? ContractResourceBuilderResult<z.infer<T>>\n : z.infer<T> extends BaseMeshResource\n ? MeshResourceBuilderResult<z.infer<T>>\n : never => {\n if (resourceBaseType === 'CONTRACT') {\n return {\n id: {\n __CONTRACT_RESOURCE_DEPENDENCY: true,\n __dependencyType: null as any,\n id: resource.id,\n },\n build: () => ({ ...resource, type, resourceBaseType }),\n } satisfies ContractResourceBuilderResult<any> as any;\n }\n if (resourceBaseType === 'MESH') {\n return {\n id: {\n __MESH_RESOURCE_DEPENDENCY: true,\n // this is just a type brand, doesnt need to exist\n __dependencyType: null as any,\n id: resource.id,\n },\n build: () => ({ ...resource, type, resourceBaseType }),\n } satisfies MeshResourceBuilderResult<any> as any;\n }\n\n throw new Error(`Can't handle resouceBaseType \"${resourceBaseType}\"`);\n };\n"]}
|
package/dist/MIREQZRR.cjs
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var WYAGX6NX_cjs = require('./WYAGX6NX.cjs');
|
|
4
|
-
var YJF4D23A_cjs = require('./YJF4D23A.cjs');
|
|
5
|
-
var z = require('zod');
|
|
6
|
-
var layerzeroDefinitions = require('@layerzerolabs/layerzero-definitions');
|
|
7
|
-
|
|
8
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
-
|
|
10
|
-
var z__default = /*#__PURE__*/_interopDefault(z);
|
|
11
|
-
|
|
12
|
-
var baseResourceSchema = z__default.default.object({
|
|
13
|
-
id: z__default.default.string(),
|
|
14
|
-
name: z__default.default.string().optional(),
|
|
15
|
-
resourceBaseType: z__default.default.string()
|
|
16
|
-
});
|
|
17
|
-
var baseMeshResourceSchema = z__default.default.object({
|
|
18
|
-
...baseResourceSchema.shape,
|
|
19
|
-
resourceBaseType: z__default.default.literal("MESH")
|
|
20
|
-
});
|
|
21
|
-
var baseContractResourceSchema = z__default.default.object({
|
|
22
|
-
...baseResourceSchema.shape,
|
|
23
|
-
resourceBaseType: z__default.default.literal("CONTRACT"),
|
|
24
|
-
chainName: z__default.default.enum(layerzeroDefinitions.ChainName),
|
|
25
|
-
upgradeConfig: WYAGX6NX_cjs.upgradeableConfigSchema.optional(),
|
|
26
|
-
verifyContract: z__default.default.boolean().optional(),
|
|
27
|
-
chainConfig: z__default.default.any().optional()
|
|
28
|
-
});
|
|
29
|
-
var isContractResourceDependency = /* @__PURE__ */ YJF4D23A_cjs.__name((o) => o != null && typeof o === "object" && o.__CONTRACT_RESOURCE_DEPENDENCY, "isContractResourceDependency");
|
|
30
|
-
var contractResourceDependencySchema = z__default.default.custom(isContractResourceDependency);
|
|
31
|
-
var contractResourceDependencySchemaFor = /* @__PURE__ */ YJF4D23A_cjs.__name((_resource) => z__default.default.custom(isContractResourceDependency), "contractResourceDependencySchemaFor");
|
|
32
|
-
var resolvedContractResourceDependencySchema = (
|
|
33
|
-
// FIXME could be a real schema
|
|
34
|
-
z__default.default.custom()
|
|
35
|
-
);
|
|
36
|
-
var isMeshResourceDependency = /* @__PURE__ */ YJF4D23A_cjs.__name((o) => o != null && typeof o === "object" && o.__MESH_RESOURCE_DEPENDENCY, "isMeshResourceDependency");
|
|
37
|
-
var meshResourceDependencySchema = z__default.default.custom(isMeshResourceDependency);
|
|
38
|
-
var meshResourceDependencySchemaFor = /* @__PURE__ */ YJF4D23A_cjs.__name((_resource) => z__default.default.custom(isMeshResourceDependency), "meshResourceDependencySchemaFor");
|
|
39
|
-
var resolvedMeshResourceDependencySchema = z__default.default.custom();
|
|
40
|
-
var extractContractResourceDependencyIds = /* @__PURE__ */ YJF4D23A_cjs.__name((resource) => Object.entries(resource).filter(([, id]) => isContractResourceDependency(id)), "extractContractResourceDependencyIds");
|
|
41
|
-
var extractMeshResourceDependencyIds = /* @__PURE__ */ YJF4D23A_cjs.__name((resource) => Object.entries(resource).filter(([, id]) => isMeshResourceDependency(id)), "extractMeshResourceDependencyIds");
|
|
42
|
-
var createResolvedResourceSchema = /* @__PURE__ */ YJF4D23A_cjs.__name((resource) => resource, "createResolvedResourceSchema");
|
|
43
|
-
|
|
44
|
-
exports.baseContractResourceSchema = baseContractResourceSchema;
|
|
45
|
-
exports.baseMeshResourceSchema = baseMeshResourceSchema;
|
|
46
|
-
exports.baseResourceSchema = baseResourceSchema;
|
|
47
|
-
exports.contractResourceDependencySchema = contractResourceDependencySchema;
|
|
48
|
-
exports.contractResourceDependencySchemaFor = contractResourceDependencySchemaFor;
|
|
49
|
-
exports.createResolvedResourceSchema = createResolvedResourceSchema;
|
|
50
|
-
exports.extractContractResourceDependencyIds = extractContractResourceDependencyIds;
|
|
51
|
-
exports.extractMeshResourceDependencyIds = extractMeshResourceDependencyIds;
|
|
52
|
-
exports.isContractResourceDependency = isContractResourceDependency;
|
|
53
|
-
exports.isMeshResourceDependency = isMeshResourceDependency;
|
|
54
|
-
exports.meshResourceDependencySchema = meshResourceDependencySchema;
|
|
55
|
-
exports.meshResourceDependencySchemaFor = meshResourceDependencySchemaFor;
|
|
56
|
-
exports.resolvedContractResourceDependencySchema = resolvedContractResourceDependencySchema;
|
|
57
|
-
exports.resolvedMeshResourceDependencySchema = resolvedMeshResourceDependencySchema;
|
|
58
|
-
//# sourceMappingURL=MIREQZRR.cjs.map
|
|
59
|
-
//# sourceMappingURL=MIREQZRR.cjs.map
|
package/dist/MIREQZRR.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/deploy/resources.ts"],"names":["baseResourceSchema","z","object","id","string","name","optional","resourceBaseType","baseMeshResourceSchema","shape","literal","baseContractResourceSchema","chainName","enum","ChainName","upgradeConfig","upgradeableConfigSchema","verifyContract","boolean","chainConfig","any","isContractResourceDependency","o","__CONTRACT_RESOURCE_DEPENDENCY","contractResourceDependencySchema","custom","contractResourceDependencySchemaFor","__name","_resource","resolvedContractResourceDependencySchema","isMeshResourceDependency","__MESH_RESOURCE_DEPENDENCY","meshResourceDependencySchema","meshResourceDependencySchemaFor","resolvedMeshResourceDependencySchema","extractContractResourceDependencyIds","resource","Object","entries","filter","extractMeshResourceDependencyIds","createResolvedResourceSchema"],"mappings":";;;;;;;;;;;AAQO,IAAMA,kBAAAA,GAAqBC,mBAAEC,MAAAA,CAAO;AACvCC,EAAAA,EAAAA,EAAIF,mBAAEG,MAAAA,EAAM;EACZC,IAAAA,EAAMJ,kBAAAA,CAAEG,MAAAA,EAAM,CAAGE,QAAAA,EAAQ;AACzBC,EAAAA,gBAAAA,EAAkBN,mBAAEG,MAAAA;AACxB,CAAA;AAEO,IAAMI,sBAAAA,GAAyBP,mBAAEC,MAAAA,CAAO;AAC3C,EAAA,GAAGF,kBAAAA,CAAmBS,KAAAA;EACtBF,gBAAAA,EAAkBN,kBAAAA,CAAES,QAAQ,MAAA;AAChC,CAAA;AAEO,IAAMC,0BAAAA,GAA6BV,mBAAEC,MAAAA,CAAO;AAC/C,EAAA,GAAGF,kBAAAA,CAAmBS,KAAAA;EACtBF,gBAAAA,EAAkBN,kBAAAA,CAAES,QAAQ,UAAA,CAAA;EAC5BE,SAAAA,EAAWX,kBAAAA,CAAEY,KAAKC,8BAAAA,CAAAA;AAClBC,EAAAA,aAAAA,EAAeC,qCAAwBV,QAAAA,EAAQ;EAC/CW,cAAAA,EAAgBhB,kBAAAA,CAAEiB,OAAAA,EAAO,CAAGZ,QAAAA,EAAQ;EAEpCa,WAAAA,EAAalB,kBAAAA,CAAEmB,GAAAA,EAAG,CAAGd,QAAAA;AACzB,CAAA;AAaO,IAAMe,4BAAAA,wCAAgCC,CAAAA,KACzCA,CAAAA,IAAK,QACL,OAAOA,CAAAA,KAAM,QAAA,IACZA,CAAAA,CAAiCC,8BAAAA,EAHM,8BAAA;AAQrC,IAAMC,gCAAAA,GAETvB,kBAAAA,CAAEwB,MAAAA,CAAmCJ,4BAAAA;AAElC,IAAMK,sDAAsCC,mBAAA,CAAA,CAE/CC,SAAAA,KAEA3B,kBAAAA,CAAEwB,MAAAA,CAA+CJ,4BAAAA,CAAAA,EAJF,qCAAA;AAe5C,IAAMQ,wCAAAA;;AAET5B,EAAAA,kBAAAA,CAAEwB,MAAAA;;AASC,IAAMK,wBAAAA,wCAA4BR,CAAAA,KACrCA,CAAAA,IAAK,QAAQ,OAAOA,CAAAA,KAAM,QAAA,IAAaA,CAAAA,CAA6BS,0BAAAA,EADhC,0BAAA;AAOjC,IAAMC,4BAAAA,GAET/B,kBAAAA,CAAEwB,MAAAA,CAA+BK,wBAAAA;AAE9B,IAAMG,kDAAkCN,mBAAA,CAAA,CAE3CC,SAAAA,KAEA3B,kBAAAA,CAAEwB,MAAAA,CAA2CK,wBAAAA,CAAAA,EAJF,iCAAA;AAgBxC,IAAMI,oCAAAA,GACTjC,mBAAEwB,MAAAA;AA6CC,IAAMU,uDAAuCR,mBAAA,CAAA,CAChDS,QAAAA,KAEAC,MAAAA,CAAOC,OAAAA,CAAQF,QAAAA,CAAAA,CAAUG,MAAAA,CAAO,CAAC,GAAGpC,EAAAA,CAAAA,KAAQkB,4BAAAA,CAA6BlB,EAAAA,CAAAA,CAAAA,EAHzB,sCAAA;AAQ7C,IAAMqC,mDAAmCb,mBAAA,CAAA,CAC5CS,QAAAA,KAEAC,MAAAA,CAAOC,OAAAA,CAAQF,QAAAA,CAAAA,CAAUG,MAAAA,CAAO,CAAC,GAAGpC,EAAAA,CAAAA,KAAQ2B,wBAAAA,CAAyB3B,EAAAA,CAAAA,CAAAA,EAHzB,kCAAA;AASzC,IAAMsC,4BAAAA,mBAA+Bd,mBAAA,CAAA,CACxCS,QAAAA,KACCA,QAAAA,EAFuC,8BAAA","file":"MIREQZRR.cjs","sourcesContent":["import z from 'zod';\n\nimport type { NormalizedHexString } from '@layerzerolabs/common-chain-model';\nimport { ChainName } from '@layerzerolabs/layerzero-definitions';\nimport type { IsAny } from '@layerzerolabs/typescript-utils';\n\nimport { upgradeableConfigSchema } from '../upgrade';\n\nexport const baseResourceSchema = z.object({\n id: z.string(), // account-unique ID for this resource\n name: z.string().optional(), // display name for this resource\n resourceBaseType: z.string() as z.ZodString | z.ZodLiteral,\n});\n\nexport const baseMeshResourceSchema = z.object({\n ...baseResourceSchema.shape,\n resourceBaseType: z.literal('MESH'),\n});\n\nexport const baseContractResourceSchema = z.object({\n ...baseResourceSchema.shape,\n resourceBaseType: z.literal('CONTRACT'),\n chainName: z.enum(ChainName),\n upgradeConfig: upgradeableConfigSchema.optional(),\n verifyContract: z.boolean().optional(),\n\n chainConfig: z.any().optional(),\n});\n\nexport type BaseResource = z.infer<typeof baseResourceSchema>;\nexport type BaseMeshResource = z.infer<typeof baseMeshResourceSchema>;\nexport type BaseContractResource = z.infer<typeof baseContractResourceSchema>;\n\nexport type ContractResourceDependency<T extends BaseContractResource = BaseContractResource> = {\n id: string;\n /** WARNING: this field is not present at runtime */\n __dependencyType: T;\n ['__CONTRACT_RESOURCE_DEPENDENCY']: true;\n};\n\nexport const isContractResourceDependency = (o: any): o is ContractResourceDependency =>\n o != null &&\n typeof o === 'object' &&\n (o as ContractResourceDependency).__CONTRACT_RESOURCE_DEPENDENCY;\n\nexport type ContractResourceDependencySchema<T extends typeof baseContractResourceSchema> =\n z.ZodType<ContractResourceDependency<z.infer<T>>>;\n\nexport const contractResourceDependencySchema: ContractResourceDependencySchema<\n typeof baseContractResourceSchema\n> = z.custom<ContractResourceDependency>(isContractResourceDependency);\n\nexport const contractResourceDependencySchemaFor = <T extends typeof baseContractResourceSchema>(\n // FIXME use this to generate a real schema\n _resource: T,\n): ContractResourceDependencySchema<T> =>\n z.custom<ContractResourceDependency<z.infer<T>>>(isContractResourceDependency);\n\nexport type ResolvedContractResourceDependency<T extends BaseContractResource> = {\n id: string;\n resource: T;\n address: NormalizedHexString;\n};\n\nexport type ResolvedContractResourceDependencySchema<T extends typeof baseContractResourceSchema> =\n z.ZodType<ResolvedContractResourceDependency<z.infer<T>>>;\n\nexport const resolvedContractResourceDependencySchema: ResolvedContractResourceDependencySchema<any> =\n // FIXME could be a real schema\n z.custom<ResolvedContractResourceDependency<any>>();\n\nexport type MeshResourceDependency<T extends BaseMeshResource = BaseMeshResource> = {\n id: string;\n /** WARNING: this field is not present at runtime */\n __dependencyType: T;\n ['__MESH_RESOURCE_DEPENDENCY']: true;\n};\n\nexport const isMeshResourceDependency = (o: any): o is MeshResourceDependency =>\n o != null && typeof o === 'object' && (o as MeshResourceDependency).__MESH_RESOURCE_DEPENDENCY;\n\nexport type MeshResourceDependencySchema<T extends typeof baseMeshResourceSchema> = z.ZodType<\n MeshResourceDependency<z.infer<T>>\n>;\n\nexport const meshResourceDependencySchema: MeshResourceDependencySchema<\n typeof baseMeshResourceSchema\n> = z.custom<MeshResourceDependency>(isMeshResourceDependency);\n\nexport const meshResourceDependencySchemaFor = <T extends typeof baseMeshResourceSchema>(\n // FIXME use this to generate a real schema\n _resource: T,\n): MeshResourceDependencySchema<T> =>\n z.custom<MeshResourceDependency<z.infer<T>>>(isMeshResourceDependency);\n\nexport type ResolvedMeshResourceDependency<T extends BaseMeshResource> = {\n id: string;\n resource: T;\n // TODO: is there any other resolved information we want to inject here?\n};\n\nexport type ResolvedMeshResourceDependencySchema<T extends typeof baseMeshResourceSchema> =\n // FIXME could be a real schema\n z.ZodType<ResolvedMeshResourceDependency<z.infer<T>>>;\n\nexport const resolvedMeshResourceDependencySchema: ResolvedMeshResourceDependencySchema<any> =\n z.custom<ResolvedMeshResourceDependency<any>>();\n\n// FIXME this could be recursive, probably overkill\nexport type ResolvedResourceSchema<Resource extends typeof baseResourceSchema> = z.ZodObject<\n {\n [K in keyof Resource['shape']]: Resource['shape'][K] extends infer R extends z.ZodType\n ? R extends z.ZodAny\n ? R\n : R extends z.ZodOptional<z.ZodAny>\n ? R\n : R extends ContractResourceDependencySchema<infer I>\n ? ResolvedContractResourceDependencySchema<I>\n : R extends z.ZodOptional<ContractResourceDependencySchema<infer I>>\n ? z.ZodOptional<ResolvedContractResourceDependencySchema<I>>\n : R extends MeshResourceDependencySchema<infer I>\n ? ResolvedMeshResourceDependencySchema<I>\n : R extends z.ZodOptional<MeshResourceDependencySchema<infer I>>\n ? z.ZodOptional<ResolvedMeshResourceDependencySchema<I>>\n : R\n : never;\n },\n z.core.$strip\n>;\n\n// FIXME this could be recursive, probably overkill\nexport type ResolvedResource<Resource extends BaseResource> = {\n [K in keyof Resource]: Resource[K] extends infer R\n ? R extends undefined\n ? R\n : IsAny<R> extends true\n ? R\n : IsAny<Exclude<R, undefined>> extends true\n ? R\n : R extends ContractResourceDependency<infer I>\n ? ResolvedContractResourceDependency<I>\n : R extends ContractResourceDependency<infer I> | undefined\n ? ResolvedContractResourceDependency<I> | undefined\n : R extends MeshResourceDependency<infer I>\n ? ResolvedMeshResourceDependency<I>\n : R extends MeshResourceDependency<infer I> | undefined\n ? ResolvedMeshResourceDependency<I> | undefined\n : R\n : never;\n};\n\nexport const extractContractResourceDependencyIds = <Resource extends BaseResource>(\n resource: Resource,\n) =>\n Object.entries(resource).filter(([, id]) => isContractResourceDependency(id)) as unknown as [\n prop: string,\n id: ContractResourceDependency,\n ][];\n\nexport const extractMeshResourceDependencyIds = <Resource extends BaseResource>(\n resource: Resource,\n) =>\n Object.entries(resource).filter(([, id]) => isMeshResourceDependency(id)) as unknown as [\n prop: string,\n id: MeshResourceDependency,\n ][];\n\n// FIXME implement runtime\nexport const createResolvedResourceSchema = <Resource extends typeof baseResourceSchema>(\n resource: Resource,\n) => resource as ResolvedResourceSchema<Resource>;\n"]}
|
package/dist/NYPXCJOJ.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { upgradeableConfigSchema } from './RDYET6CZ.js';
|
|
2
|
-
import { __name } from './VUOMXK5T.js';
|
|
3
|
-
import z from 'zod';
|
|
4
|
-
import { ChainName } from '@layerzerolabs/layerzero-definitions';
|
|
5
|
-
|
|
6
|
-
var baseResourceSchema = z.object({
|
|
7
|
-
id: z.string(),
|
|
8
|
-
name: z.string().optional(),
|
|
9
|
-
resourceBaseType: z.string()
|
|
10
|
-
});
|
|
11
|
-
var baseMeshResourceSchema = z.object({
|
|
12
|
-
...baseResourceSchema.shape,
|
|
13
|
-
resourceBaseType: z.literal("MESH")
|
|
14
|
-
});
|
|
15
|
-
var baseContractResourceSchema = z.object({
|
|
16
|
-
...baseResourceSchema.shape,
|
|
17
|
-
resourceBaseType: z.literal("CONTRACT"),
|
|
18
|
-
chainName: z.enum(ChainName),
|
|
19
|
-
upgradeConfig: upgradeableConfigSchema.optional(),
|
|
20
|
-
verifyContract: z.boolean().optional(),
|
|
21
|
-
chainConfig: z.any().optional()
|
|
22
|
-
});
|
|
23
|
-
var isContractResourceDependency = /* @__PURE__ */ __name((o) => o != null && typeof o === "object" && o.__CONTRACT_RESOURCE_DEPENDENCY, "isContractResourceDependency");
|
|
24
|
-
var contractResourceDependencySchema = z.custom(isContractResourceDependency);
|
|
25
|
-
var contractResourceDependencySchemaFor = /* @__PURE__ */ __name((_resource) => z.custom(isContractResourceDependency), "contractResourceDependencySchemaFor");
|
|
26
|
-
var resolvedContractResourceDependencySchema = (
|
|
27
|
-
// FIXME could be a real schema
|
|
28
|
-
z.custom()
|
|
29
|
-
);
|
|
30
|
-
var isMeshResourceDependency = /* @__PURE__ */ __name((o) => o != null && typeof o === "object" && o.__MESH_RESOURCE_DEPENDENCY, "isMeshResourceDependency");
|
|
31
|
-
var meshResourceDependencySchema = z.custom(isMeshResourceDependency);
|
|
32
|
-
var meshResourceDependencySchemaFor = /* @__PURE__ */ __name((_resource) => z.custom(isMeshResourceDependency), "meshResourceDependencySchemaFor");
|
|
33
|
-
var resolvedMeshResourceDependencySchema = z.custom();
|
|
34
|
-
var extractContractResourceDependencyIds = /* @__PURE__ */ __name((resource) => Object.entries(resource).filter(([, id]) => isContractResourceDependency(id)), "extractContractResourceDependencyIds");
|
|
35
|
-
var extractMeshResourceDependencyIds = /* @__PURE__ */ __name((resource) => Object.entries(resource).filter(([, id]) => isMeshResourceDependency(id)), "extractMeshResourceDependencyIds");
|
|
36
|
-
var createResolvedResourceSchema = /* @__PURE__ */ __name((resource) => resource, "createResolvedResourceSchema");
|
|
37
|
-
|
|
38
|
-
export { baseContractResourceSchema, baseMeshResourceSchema, baseResourceSchema, contractResourceDependencySchema, contractResourceDependencySchemaFor, createResolvedResourceSchema, extractContractResourceDependencyIds, extractMeshResourceDependencyIds, isContractResourceDependency, isMeshResourceDependency, meshResourceDependencySchema, meshResourceDependencySchemaFor, resolvedContractResourceDependencySchema, resolvedMeshResourceDependencySchema };
|
|
39
|
-
//# sourceMappingURL=NYPXCJOJ.js.map
|
|
40
|
-
//# sourceMappingURL=NYPXCJOJ.js.map
|
package/dist/NYPXCJOJ.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/deploy/resources.ts"],"names":["baseResourceSchema","z","object","id","string","name","optional","resourceBaseType","baseMeshResourceSchema","shape","literal","baseContractResourceSchema","chainName","enum","ChainName","upgradeConfig","upgradeableConfigSchema","verifyContract","boolean","chainConfig","any","isContractResourceDependency","o","__CONTRACT_RESOURCE_DEPENDENCY","contractResourceDependencySchema","custom","contractResourceDependencySchemaFor","_resource","resolvedContractResourceDependencySchema","isMeshResourceDependency","__MESH_RESOURCE_DEPENDENCY","meshResourceDependencySchema","meshResourceDependencySchemaFor","resolvedMeshResourceDependencySchema","extractContractResourceDependencyIds","resource","Object","entries","filter","extractMeshResourceDependencyIds","createResolvedResourceSchema"],"mappings":";;;;;AAQO,IAAMA,kBAAAA,GAAqBC,EAAEC,MAAAA,CAAO;AACvCC,EAAAA,EAAAA,EAAIF,EAAEG,MAAAA,EAAM;EACZC,IAAAA,EAAMJ,CAAAA,CAAEG,MAAAA,EAAM,CAAGE,QAAAA,EAAQ;AACzBC,EAAAA,gBAAAA,EAAkBN,EAAEG,MAAAA;AACxB,CAAA;AAEO,IAAMI,sBAAAA,GAAyBP,EAAEC,MAAAA,CAAO;AAC3C,EAAA,GAAGF,kBAAAA,CAAmBS,KAAAA;EACtBF,gBAAAA,EAAkBN,CAAAA,CAAES,QAAQ,MAAA;AAChC,CAAA;AAEO,IAAMC,0BAAAA,GAA6BV,EAAEC,MAAAA,CAAO;AAC/C,EAAA,GAAGF,kBAAAA,CAAmBS,KAAAA;EACtBF,gBAAAA,EAAkBN,CAAAA,CAAES,QAAQ,UAAA,CAAA;EAC5BE,SAAAA,EAAWX,CAAAA,CAAEY,KAAKC,SAAAA,CAAAA;AAClBC,EAAAA,aAAAA,EAAeC,wBAAwBV,QAAAA,EAAQ;EAC/CW,cAAAA,EAAgBhB,CAAAA,CAAEiB,OAAAA,EAAO,CAAGZ,QAAAA,EAAQ;EAEpCa,WAAAA,EAAalB,CAAAA,CAAEmB,GAAAA,EAAG,CAAGd,QAAAA;AACzB,CAAA;AAaO,IAAMe,4BAAAA,2BAAgCC,CAAAA,KACzCA,CAAAA,IAAK,QACL,OAAOA,CAAAA,KAAM,QAAA,IACZA,CAAAA,CAAiCC,8BAAAA,EAHM,8BAAA;AAQrC,IAAMC,gCAAAA,GAETvB,CAAAA,CAAEwB,MAAAA,CAAmCJ,4BAAAA;AAElC,IAAMK,sDAAsC,MAAA,CAAA,CAE/CC,SAAAA,KAEA1B,CAAAA,CAAEwB,MAAAA,CAA+CJ,4BAAAA,CAAAA,EAJF,qCAAA;AAe5C,IAAMO,wCAAAA;;AAET3B,EAAAA,CAAAA,CAAEwB,MAAAA;;AASC,IAAMI,wBAAAA,2BAA4BP,CAAAA,KACrCA,CAAAA,IAAK,QAAQ,OAAOA,CAAAA,KAAM,QAAA,IAAaA,CAAAA,CAA6BQ,0BAAAA,EADhC,0BAAA;AAOjC,IAAMC,4BAAAA,GAET9B,CAAAA,CAAEwB,MAAAA,CAA+BI,wBAAAA;AAE9B,IAAMG,kDAAkC,MAAA,CAAA,CAE3CL,SAAAA,KAEA1B,CAAAA,CAAEwB,MAAAA,CAA2CI,wBAAAA,CAAAA,EAJF,iCAAA;AAgBxC,IAAMI,oCAAAA,GACThC,EAAEwB,MAAAA;AA6CC,IAAMS,uDAAuC,MAAA,CAAA,CAChDC,QAAAA,KAEAC,MAAAA,CAAOC,OAAAA,CAAQF,QAAAA,CAAAA,CAAUG,MAAAA,CAAO,CAAC,GAAGnC,EAAAA,CAAAA,KAAQkB,4BAAAA,CAA6BlB,EAAAA,CAAAA,CAAAA,EAHzB,sCAAA;AAQ7C,IAAMoC,mDAAmC,MAAA,CAAA,CAC5CJ,QAAAA,KAEAC,MAAAA,CAAOC,OAAAA,CAAQF,QAAAA,CAAAA,CAAUG,MAAAA,CAAO,CAAC,GAAGnC,EAAAA,CAAAA,KAAQ0B,wBAAAA,CAAyB1B,EAAAA,CAAAA,CAAAA,EAHzB,kCAAA;AASzC,IAAMqC,4BAAAA,mBAA+B,MAAA,CAAA,CACxCL,QAAAA,KACCA,QAAAA,EAFuC,8BAAA","file":"NYPXCJOJ.js","sourcesContent":["import z from 'zod';\n\nimport type { NormalizedHexString } from '@layerzerolabs/common-chain-model';\nimport { ChainName } from '@layerzerolabs/layerzero-definitions';\nimport type { IsAny } from '@layerzerolabs/typescript-utils';\n\nimport { upgradeableConfigSchema } from '../upgrade';\n\nexport const baseResourceSchema = z.object({\n id: z.string(), // account-unique ID for this resource\n name: z.string().optional(), // display name for this resource\n resourceBaseType: z.string() as z.ZodString | z.ZodLiteral,\n});\n\nexport const baseMeshResourceSchema = z.object({\n ...baseResourceSchema.shape,\n resourceBaseType: z.literal('MESH'),\n});\n\nexport const baseContractResourceSchema = z.object({\n ...baseResourceSchema.shape,\n resourceBaseType: z.literal('CONTRACT'),\n chainName: z.enum(ChainName),\n upgradeConfig: upgradeableConfigSchema.optional(),\n verifyContract: z.boolean().optional(),\n\n chainConfig: z.any().optional(),\n});\n\nexport type BaseResource = z.infer<typeof baseResourceSchema>;\nexport type BaseMeshResource = z.infer<typeof baseMeshResourceSchema>;\nexport type BaseContractResource = z.infer<typeof baseContractResourceSchema>;\n\nexport type ContractResourceDependency<T extends BaseContractResource = BaseContractResource> = {\n id: string;\n /** WARNING: this field is not present at runtime */\n __dependencyType: T;\n ['__CONTRACT_RESOURCE_DEPENDENCY']: true;\n};\n\nexport const isContractResourceDependency = (o: any): o is ContractResourceDependency =>\n o != null &&\n typeof o === 'object' &&\n (o as ContractResourceDependency).__CONTRACT_RESOURCE_DEPENDENCY;\n\nexport type ContractResourceDependencySchema<T extends typeof baseContractResourceSchema> =\n z.ZodType<ContractResourceDependency<z.infer<T>>>;\n\nexport const contractResourceDependencySchema: ContractResourceDependencySchema<\n typeof baseContractResourceSchema\n> = z.custom<ContractResourceDependency>(isContractResourceDependency);\n\nexport const contractResourceDependencySchemaFor = <T extends typeof baseContractResourceSchema>(\n // FIXME use this to generate a real schema\n _resource: T,\n): ContractResourceDependencySchema<T> =>\n z.custom<ContractResourceDependency<z.infer<T>>>(isContractResourceDependency);\n\nexport type ResolvedContractResourceDependency<T extends BaseContractResource> = {\n id: string;\n resource: T;\n address: NormalizedHexString;\n};\n\nexport type ResolvedContractResourceDependencySchema<T extends typeof baseContractResourceSchema> =\n z.ZodType<ResolvedContractResourceDependency<z.infer<T>>>;\n\nexport const resolvedContractResourceDependencySchema: ResolvedContractResourceDependencySchema<any> =\n // FIXME could be a real schema\n z.custom<ResolvedContractResourceDependency<any>>();\n\nexport type MeshResourceDependency<T extends BaseMeshResource = BaseMeshResource> = {\n id: string;\n /** WARNING: this field is not present at runtime */\n __dependencyType: T;\n ['__MESH_RESOURCE_DEPENDENCY']: true;\n};\n\nexport const isMeshResourceDependency = (o: any): o is MeshResourceDependency =>\n o != null && typeof o === 'object' && (o as MeshResourceDependency).__MESH_RESOURCE_DEPENDENCY;\n\nexport type MeshResourceDependencySchema<T extends typeof baseMeshResourceSchema> = z.ZodType<\n MeshResourceDependency<z.infer<T>>\n>;\n\nexport const meshResourceDependencySchema: MeshResourceDependencySchema<\n typeof baseMeshResourceSchema\n> = z.custom<MeshResourceDependency>(isMeshResourceDependency);\n\nexport const meshResourceDependencySchemaFor = <T extends typeof baseMeshResourceSchema>(\n // FIXME use this to generate a real schema\n _resource: T,\n): MeshResourceDependencySchema<T> =>\n z.custom<MeshResourceDependency<z.infer<T>>>(isMeshResourceDependency);\n\nexport type ResolvedMeshResourceDependency<T extends BaseMeshResource> = {\n id: string;\n resource: T;\n // TODO: is there any other resolved information we want to inject here?\n};\n\nexport type ResolvedMeshResourceDependencySchema<T extends typeof baseMeshResourceSchema> =\n // FIXME could be a real schema\n z.ZodType<ResolvedMeshResourceDependency<z.infer<T>>>;\n\nexport const resolvedMeshResourceDependencySchema: ResolvedMeshResourceDependencySchema<any> =\n z.custom<ResolvedMeshResourceDependency<any>>();\n\n// FIXME this could be recursive, probably overkill\nexport type ResolvedResourceSchema<Resource extends typeof baseResourceSchema> = z.ZodObject<\n {\n [K in keyof Resource['shape']]: Resource['shape'][K] extends infer R extends z.ZodType\n ? R extends z.ZodAny\n ? R\n : R extends z.ZodOptional<z.ZodAny>\n ? R\n : R extends ContractResourceDependencySchema<infer I>\n ? ResolvedContractResourceDependencySchema<I>\n : R extends z.ZodOptional<ContractResourceDependencySchema<infer I>>\n ? z.ZodOptional<ResolvedContractResourceDependencySchema<I>>\n : R extends MeshResourceDependencySchema<infer I>\n ? ResolvedMeshResourceDependencySchema<I>\n : R extends z.ZodOptional<MeshResourceDependencySchema<infer I>>\n ? z.ZodOptional<ResolvedMeshResourceDependencySchema<I>>\n : R\n : never;\n },\n z.core.$strip\n>;\n\n// FIXME this could be recursive, probably overkill\nexport type ResolvedResource<Resource extends BaseResource> = {\n [K in keyof Resource]: Resource[K] extends infer R\n ? R extends undefined\n ? R\n : IsAny<R> extends true\n ? R\n : IsAny<Exclude<R, undefined>> extends true\n ? R\n : R extends ContractResourceDependency<infer I>\n ? ResolvedContractResourceDependency<I>\n : R extends ContractResourceDependency<infer I> | undefined\n ? ResolvedContractResourceDependency<I> | undefined\n : R extends MeshResourceDependency<infer I>\n ? ResolvedMeshResourceDependency<I>\n : R extends MeshResourceDependency<infer I> | undefined\n ? ResolvedMeshResourceDependency<I> | undefined\n : R\n : never;\n};\n\nexport const extractContractResourceDependencyIds = <Resource extends BaseResource>(\n resource: Resource,\n) =>\n Object.entries(resource).filter(([, id]) => isContractResourceDependency(id)) as unknown as [\n prop: string,\n id: ContractResourceDependency,\n ][];\n\nexport const extractMeshResourceDependencyIds = <Resource extends BaseResource>(\n resource: Resource,\n) =>\n Object.entries(resource).filter(([, id]) => isMeshResourceDependency(id)) as unknown as [\n prop: string,\n id: MeshResourceDependency,\n ][];\n\n// FIXME implement runtime\nexport const createResolvedResourceSchema = <Resource extends typeof baseResourceSchema>(\n resource: Resource,\n) => resource as ResolvedResourceSchema<Resource>;\n"]}
|
package/dist/WR5OHKNE.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/deploy/resourceBuilder.ts"],"names":["createResourceBuilder","_resourceSchema","resourceBaseType","type","resource","id","__CONTRACT_RESOURCE_DEPENDENCY","__dependencyType","build","__MESH_RESOURCE_DEPENDENCY","Error"],"mappings":";;;AAoBO,IAAMA,qBAAAA,2BAELC,eAAAA,EACA,EACIC,kBACAC,IAAAA,EAAI,KAMZ,CACIC,QAAAA,KAAAA;AAMA,EAAA,IAAIF,qBAAqB,UAAA,EAAY;AACjC,IAAA,OAAO;MACHG,EAAAA,EAAI;QACAC,8BAAAA,EAAgC,IAAA;QAChCC,gBAAAA,EAAkB,IAAA;AAClBF,QAAAA,EAAAA,EAAID,QAAAA,CAASC;AACjB,OAAA;AACAG,MAAAA,KAAAA,kBAAO,MAAA,CAAA,OAAO;QAAE,GAAGJ,QAAAA;AAAUD,QAAAA,IAAAA;AAAMD,QAAAA;OAAiB,CAAA,EAA7C,OAAA;AACX,KAAA;AACJ,EAAA;AACA,EAAA,IAAIA,qBAAqB,MAAA,EAAQ;AAC7B,IAAA,OAAO;MACHG,EAAAA,EAAI;QACAI,0BAAAA,EAA4B,IAAA;;QAE5BF,gBAAAA,EAAkB,IAAA;AAClBF,QAAAA,EAAAA,EAAID,QAAAA,CAASC;AACjB,OAAA;AACAG,MAAAA,KAAAA,kBAAO,MAAA,CAAA,OAAO;QAAE,GAAGJ,QAAAA;AAAUD,QAAAA,IAAAA;AAAMD,QAAAA;OAAiB,CAAA,EAA7C,OAAA;AACX,KAAA;AACJ,EAAA;AAEA,EAAA,MAAM,IAAIQ,KAAAA,CAAM,CAAA,8BAAA,EAAiCR,gBAAAA,CAAAA,CAAAA,CAAmB,CAAA;AACxE,CAAA,EAxCA,uBAAA","file":"WR5OHKNE.js","sourcesContent":["import type { z } from 'zod';\n\nimport type {\n BaseContractResource,\n BaseMeshResource,\n baseResourceSchema,\n ContractResourceDependency,\n MeshResourceDependency,\n} from './resources';\n\nexport type ContractResourceBuilderResult<Resource extends BaseContractResource> = {\n id: ContractResourceDependency<Resource>;\n build: () => Resource;\n};\n\nexport type MeshResourceBuilderResult<Resource extends BaseMeshResource> = {\n id: MeshResourceDependency<Resource>;\n build: () => Resource;\n};\n\nexport const createResourceBuilder =\n <T extends typeof baseResourceSchema, U extends Omit<z.infer<T>, 'type' | 'resourceBaseType'>>(\n _resourceSchema: T,\n {\n resourceBaseType,\n type,\n }: {\n resourceBaseType: 'CONTRACT' | 'MESH';\n type: T['shape'] extends { type: z.ZodType<infer Type> } ? Type : undefined;\n },\n ) =>\n (\n resource: U,\n ): z.infer<T> extends BaseContractResource\n ? ContractResourceBuilderResult<z.infer<T>>\n : z.infer<T> extends BaseMeshResource\n ? MeshResourceBuilderResult<z.infer<T>>\n : never => {\n if (resourceBaseType === 'CONTRACT') {\n return {\n id: {\n __CONTRACT_RESOURCE_DEPENDENCY: true,\n __dependencyType: null as any,\n id: resource.id,\n },\n build: () => ({ ...resource, type, resourceBaseType }),\n } satisfies ContractResourceBuilderResult<any> as any;\n }\n if (resourceBaseType === 'MESH') {\n return {\n id: {\n __MESH_RESOURCE_DEPENDENCY: true,\n // this is just a type brand, doesnt need to exist\n __dependencyType: null as any,\n id: resource.id,\n },\n build: () => ({ ...resource, type, resourceBaseType }),\n } satisfies MeshResourceBuilderResult<any> as any;\n }\n\n throw new Error(`Can't handle resouceBaseType \"${resourceBaseType}\"`);\n };\n"]}
|