@layerzerolabs/base-definitions 0.0.44 → 0.0.45

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.
@@ -10,45 +10,45 @@
10
10
  CLI Cleaning output folder
11
11
  CJS Build start
12
12
  ESM Build start
13
- CJS dist/definitions.cjs 594.00 B
14
- CJS dist/index.cjs 1.12 KB
15
- CJS dist/lzyringe.cjs 302.00 B
16
- CJS dist/registrarBuilder.cjs 320.00 B
17
- CJS dist/utils.cjs 341.00 B
18
- CJS dist/JKTGUQY4.cjs 1.70 KB
19
- CJS dist/OLE2MTBK.cjs 4.11 KB
20
- CJS dist/BJOVDE43.cjs 812.00 B
21
- CJS dist/YJF4D23A.cjs 245.00 B
22
- CJS dist/GD77KZDY.cjs 1.28 KB
23
- CJS dist/definitions.cjs.map 76.00 B
24
- CJS dist/index.cjs.map 70.00 B
25
- CJS dist/registrarBuilder.cjs.map 81.00 B
26
- CJS dist/utils.cjs.map 70.00 B
27
- CJS dist/BJOVDE43.cjs.map 1.83 KB
28
- CJS dist/JKTGUQY4.cjs.map 3.78 KB
29
- CJS dist/YJF4D23A.cjs.map 73.00 B
30
- CJS dist/OLE2MTBK.cjs.map 11.41 KB
31
- CJS dist/GD77KZDY.cjs.map 12.18 KB
32
- CJS dist/lzyringe.cjs.map 73.00 B
33
- CJS ⚡️ Build success in 218ms
34
13
  ESM dist/definitions.js 193.00 B
35
14
  ESM dist/index.js 338.00 B
36
15
  ESM dist/lzyringe.js 146.00 B
37
16
  ESM dist/JJBD65HU.js 1.65 KB
38
17
  ESM dist/registrarBuilder.js 163.00 B
39
- ESM dist/RGGHMCTO.js 4.01 KB
40
18
  ESM dist/utils.js 173.00 B
41
- ESM dist/P5NNX2LK.js 733.00 B
19
+ ESM dist/RGGHMCTO.js 4.01 KB
20
+ ESM dist/TATWOZXS.js 733.00 B
21
+ ESM dist/JEI24WXY.js 1.12 KB
42
22
  ESM dist/VUOMXK5T.js 222.00 B
43
- ESM dist/3GFGHSFN.js 1.12 KB
44
- ESM dist/index.js.map 69.00 B
45
23
  ESM dist/definitions.js.map 75.00 B
24
+ ESM dist/index.js.map 69.00 B
46
25
  ESM dist/lzyringe.js.map 72.00 B
47
- ESM dist/registrarBuilder.js.map 80.00 B
48
26
  ESM dist/JJBD65HU.js.map 3.78 KB
27
+ ESM dist/registrarBuilder.js.map 80.00 B
49
28
  ESM dist/utils.js.map 69.00 B
50
- ESM dist/P5NNX2LK.js.map 1.82 KB
51
29
  ESM dist/RGGHMCTO.js.map 11.39 KB
30
+ ESM dist/TATWOZXS.js.map 1.82 KB
31
+ ESM dist/JEI24WXY.js.map 12.34 KB
52
32
  ESM dist/VUOMXK5T.js.map 72.00 B
53
- ESM dist/3GFGHSFN.js.map 12.16 KB
54
- ESM ⚡️ Build success in 219ms
33
+ ESM ⚡️ Build success in 259ms
34
+ CJS dist/definitions.cjs 598.00 B
35
+ CJS dist/index.cjs 1.13 KB
36
+ CJS dist/lzyringe.cjs 302.00 B
37
+ CJS dist/registrarBuilder.cjs 320.00 B
38
+ CJS dist/JKTGUQY4.cjs 1.70 KB
39
+ CJS dist/utils.cjs 341.00 B
40
+ CJS dist/OLE2MTBK.cjs 4.11 KB
41
+ CJS dist/US7PO75F.cjs 815.00 B
42
+ CJS dist/4PH4IUIJ.cjs 1.28 KB
43
+ CJS dist/YJF4D23A.cjs 245.00 B
44
+ CJS dist/definitions.cjs.map 76.00 B
45
+ CJS dist/index.cjs.map 70.00 B
46
+ CJS dist/JKTGUQY4.cjs.map 3.78 KB
47
+ CJS dist/utils.cjs.map 70.00 B
48
+ CJS dist/OLE2MTBK.cjs.map 11.41 KB
49
+ CJS dist/US7PO75F.cjs.map 1.83 KB
50
+ CJS dist/4PH4IUIJ.cjs.map 12.35 KB
51
+ CJS dist/YJF4D23A.cjs.map 73.00 B
52
+ CJS dist/lzyringe.cjs.map 73.00 B
53
+ CJS dist/registrarBuilder.cjs.map 81.00 B
54
+ CJS ⚡️ Build success in 260ms
@@ -5,10 +5,10 @@
5
5
 
6
6
   RUN  v3.2.3 /home/runner/work/monorepo-internal/monorepo-internal/packages/framework/definitions/base-definitions
7
7
 
8
- ✓ test/registrarBuilder.test.ts (4 tests) 8ms
8
+ ✓ test/registrarBuilder.test.ts (4 tests) 9ms
9
9
 
10
10
   Test Files  1 passed (1)
11
11
   Tests  4 passed (4)
12
-  Start at  16:11:14
13
-  Duration  726ms (transform 141ms, setup 0ms, collect 103ms, tests 8ms, environment 0ms, prepare 232ms)
12
+  Start at  00:11:32
13
+  Duration  641ms (transform 126ms, setup 0ms, collect 110ms, tests 9ms, environment 0ms, prepare 228ms)
14
14
 
@@ -36,5 +36,5 @@ var serializeDimensions = /* @__PURE__ */ YJF4D23A_cjs.__name((dim = {}) => {
36
36
  exports.FactoryDefinition = FactoryDefinition;
37
37
  exports.ObjectDefinition = ObjectDefinition;
38
38
  exports.serializeDimensions = serializeDimensions;
39
- //# sourceMappingURL=GD77KZDY.cjs.map
40
- //# sourceMappingURL=GD77KZDY.cjs.map
39
+ //# sourceMappingURL=4PH4IUIJ.cjs.map
40
+ //# sourceMappingURL=4PH4IUIJ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/definitions.ts"],"names":["FactoryDefinition","DependencyNode","dimensions","specialization","dimensionToSchemaMap","getFactory","args","ObjectDefinition","schema","serializeDimensions","__name","dim","Object","keys","length","entries","sort","map","dimName","dimVal","join"],"mappings":";;;;;AA+HO,IAAMA,iBAAAA,GAAN,cAMGC,8BAAAA,CAAAA;EAjIV;;;AAkIoBC,EAAAA,UAAAA;AACAC,EAAAA,cAAAA;AACAC,EAAAA,oBAAAA;AACAC,EAAAA,UAAAA;AAChB,EAAA,WAAA,CAAY,EACRH,UAAAA,EACAC,cAAAA,EACAC,sBACAC,UAAAA,EACA,GAAGC,MAAAA,EAMmE;AACtE,IAAA,KAAA,CAAMA,IAAAA,CAAAA;AACN,IAAA,IAAA,CAAKJ,UAAAA,GAAaA,UAAAA;AAClB,IAAA,IAAA,CAAKC,cAAAA,GAAiBA,cAAAA;AACtB,IAAA,IAAA,CAAKC,oBAAAA,GAAuBA,oBAAAA;AAC5B,IAAA,IAAA,CAAKC,UAAAA,GAAaA,UAAAA;AACtB,EAAA;AACJ;AAaO,IAAeE,gBAAAA,GAAf,cAIGN,8BAAAA,CAAAA;EAzKV;;;AA0KoBO,EAAAA,MAAAA;AAEhB,EAAA,WAAA,CAAY,EACRA,MAAAA,EACA,GAAGF,IAAAA,EAAAA,EAGmE;AACtE,IAAA,KAAA,CAAMA,IAAAA,CAAAA;AACN,IAAA,IAAA,CAAKE,MAAAA,GAASA,MAAAA;AAClB,EAAA;AACJ;AAuFO,IAAMC,mBAAAA,mBAAsBC,mBAAA,CAAA,CAACC,GAAAA,GAAc,EAAC,KAAC;AAChD,EAAA,OAAOC,MAAAA,CAAOC,IAAAA,CAAKF,GAAAA,CAAAA,CAAKG,MAAAA,GAClBF,MAAAA,CAAOG,OAAAA,CAAQJ,GAAAA,CAAAA,CACVK,IAAAA,EAAI,CACJC,GAAAA,CAAI,CAAC,CAACC,OAAAA,EAASC,MAAAA,CAAAA,KAAY,CAAA,EAAGD,OAAAA,CAAAA,CAAAA,EAAWC,MAAAA,CAAAA,CAAAA,EAAU,EAAA,CAAA,CACnDC,IAAAA,CAAK,GAAA,CAAA,GACV,OAAA;AACV,CAAA,EAPmC,qBAAA","file":"GD77KZDY.cjs","sourcesContent":["import type { z } from 'zod/v4';\n\nimport type { FunctionPointer } from '@layerzerolabs/common-utils';\nimport type { Dependencies } from '@layerzerolabs/dependency-graph';\nimport { DependencyNode } from '@layerzerolabs/dependency-graph';\nimport type {\n AdvancedRecord,\n AdvancedRecordLookup,\n Merge,\n MethodNameOf,\n RemoveNever,\n UnionToIntersection,\n} from '@layerzerolabs/typescript-utils';\n\nexport type DimensionToSchemaMap<DimConstraint extends object = object> = {\n byDimension?: AdvancedRecord<DimConstraint, z.ZodType>;\n base: z.ZodType;\n};\n\nexport type FactorySpecialization<DMap extends DimensionToSchemaMap = DimensionToSchemaMap> = {\n spec: z.ZodObject<any>;\n exempt: readonly (keyof GetSupersetOfModelsFromSchema<DMap>)[];\n};\n\nexport type WithInjectedSpecialization<T, Specialization extends FactorySpecialization<any>> = [\n {},\n] extends [z.infer<Specialization['spec']>]\n ? T\n : {\n [K in keyof T]: K extends Specialization['exempt'][number]\n ? T[K]\n : T[K] extends (...args: infer A) => infer R\n ? (specialization: z.infer<Specialization['spec']>, ...args: A) => R\n : T[K];\n };\n\nexport type WithSpecializeMethod<WithInjection, WithoutInjection, S> = {} extends S\n ? WithoutInjection\n : WithInjection extends (...args: infer Args) => infer Ret\n ? (...args: Args) => Ret\n : WithInjection & {\n specialize: (specialization: S) => WithoutInjection;\n };\n\nexport type GetModelFromSchema<DMap extends DimensionToSchemaMap, Dim> =\n AdvancedRecordLookup<DMap['byDimension'], Dim> extends never\n ? z.infer<DMap['base']>\n : Merge<z.infer<DMap['base']>, z.infer<AdvancedRecordLookup<DMap['byDimension'], Dim>>>;\n\nexport type GetSupersetOfModelsFromSchema<DMap extends DimensionToSchemaMap> = UnionToIntersection<\n {\n [Key in keyof DMap['byDimension']]: DMap['byDimension'][Key] extends [any, any]\n ? z.infer<DMap['byDimension'][Key][1]>\n : never;\n }[keyof DMap['byDimension']]\n> &\n z.infer<DMap['base']>;\n\ntype GetImplFunctionWithConditionalOptionalDim<Dim, Return> = {} extends Dim\n ? (dim?: Dim) => Return\n : (dim: Dim) => Return;\n\ntype GetImplOverloads<\n Dim extends z.ZodObject<any>,\n Specialization extends FactorySpecialization<DMap>,\n DMap extends DimensionToSchemaMap<z.infer<Dim>>,\n> = UnionToIntersection<\n | {\n [I in keyof DMap['byDimension']]: DMap['byDimension'][I] extends readonly [infer K, any]\n ? {\n getImpl: GetImplFunctionWithConditionalOptionalDim<\n K,\n WithSpecializeMethod<\n WithInjectedSpecialization<GetModelFromSchema<DMap, K>, Specialization>,\n GetModelFromSchema<DMap, K>,\n z.infer<Specialization['spec']>\n >\n >;\n }\n : never;\n }[keyof DMap['byDimension']]\n | {\n getImpl: GetImplFunctionWithConditionalOptionalDim<\n z.infer<Dim>,\n WithSpecializeMethod<\n WithInjectedSpecialization<z.infer<DMap['base']>, Specialization>,\n z.infer<DMap['base']>,\n z.infer<Specialization['spec']>\n >\n >;\n }\n>;\n\nexport type Factory<\n _Dependencies extends Dependencies,\n Dim extends z.ZodObject<any>,\n Specialization extends FactorySpecialization<DMap>,\n DMap extends DimensionToSchemaMap<z.infer<Dim>>,\n> = {\n name: string;\n implKeys: string[];\n dimensionToSchemaMap: DMap;\n} & GetImplOverloads<Dim, Specialization, DMap>;\n\nexport type GetFactory<\n _Dependencies extends Dependencies,\n Dim extends z.ZodObject<any>,\n Specialization extends FactorySpecialization<DMap>,\n DMap extends DimensionToSchemaMap<z.infer<Dim>>,\n> = () =>\n | Factory<_Dependencies, Dim, Specialization, DMap>\n | Promise<Factory<_Dependencies, Dim, Specialization, DMap>>;\n\n/**\n * <!-- anchor:FactoryDefinition -->\n * Factory definitions are a type of dependency node that shall be resolved to a *factory*.\n * A factory is an object that provides a getImpl method which accepts some parameters `dim`,\n * and returns some object `getImplMetadata.getModel(dim)`.\n * That is, a factory definition is given by the set of parameters it uses to get its implementations,\n * and a function defining the schema it will return for each set of parameters.\n * @param name inherited from {@link DependencyNode}\n * @param dependencies inherited from {@link DependencyNode}\n * @param dimensions a Zod schema for the parameters this factory operates on.\n * @param dimensionToSchemaMap A map from dimension objects to the Zod schema for the implementation.\n * @param getFactory a method that should return an object with a `getImpl` method that returns\n * entities adhering to the schema for the corresponding `getModel` call\n */\nexport class FactoryDefinition<\n Name extends string,\n Dim extends z.ZodObject<any>,\n const Specialization extends FactorySpecialization<DMap>,\n DMap extends DimensionToSchemaMap<z.infer<Dim>>,\n _Dependencies extends Dependencies,\n> extends DependencyNode<Name, _Dependencies> {\n public readonly dimensions: Dim;\n public readonly specialization: Specialization;\n public readonly dimensionToSchemaMap: DMap;\n public readonly getFactory: GetFactory<_Dependencies, Dim, Specialization, DMap>;\n constructor({\n dimensions,\n specialization,\n dimensionToSchemaMap,\n getFactory,\n ...args\n }: {\n dimensions: Dim;\n specialization: Specialization;\n dimensionToSchemaMap: DMap;\n getFactory: GetFactory<_Dependencies, Dim, Specialization, DMap>;\n } & ConstructorParameters<typeof DependencyNode<Name, _Dependencies>>[0]) {\n super(args);\n this.dimensions = dimensions;\n this.specialization = specialization;\n this.dimensionToSchemaMap = dimensionToSchemaMap;\n this.getFactory = getFactory;\n }\n}\n\n/**\n * <!-- anchor:ObjectDefinition -->\n * An object definition is a dependency node that refers to some entity\n * matching a given schema. That is, it may be resolved to any entity\n * that adheres to the {@link schema}.\n * The object definition is abstract, as it cannot be meaningfully resolved without\n * additional information. For an example of an object definition, see ReflexiveObjectDefinition or ContextDefinition\n * @param name inherited from {@link DependencyNode}\n * @param dependencies inherited from {@link DependencyNode}\n * @param schema a Zod schema defining the expected resolution for this definition\n */\nexport abstract class ObjectDefinition<\n Name extends string,\n Schema extends z.ZodSchema,\n _Dependencies extends Dependencies,\n> extends DependencyNode<Name, _Dependencies> {\n public readonly schema: Schema;\n\n constructor({\n schema,\n ...args\n }: {\n schema: Schema;\n } & ConstructorParameters<typeof DependencyNode<Name, _Dependencies>>[0]) {\n super(args);\n this.schema = schema;\n }\n}\n\nexport type Definition<Name extends string> =\n | FactoryDefinition<Name, any, any, any, any>\n | ObjectDefinition<Name, any, any>;\n\n/**\n * Infers the expected type of a definition once it has been resolved\n */\nexport type ResolvedDefinition<Definition extends DependencyNode<any, any>> =\n Definition extends ObjectDefinition<any, infer Schema, any>\n ? z.infer<Schema>\n : Definition extends FactoryDefinition<\n any,\n infer Dim,\n infer Specialization,\n infer DMap,\n any\n >\n ? Factory<Definition['dependencies'], Dim, Specialization, DMap>\n : Definition extends FactoryDefinition<any, any, any, any, any>\n ? Factory<\n Definition['dependencies'],\n Definition['dimensions'],\n Definition['specialization'],\n Definition['dimensionToSchemaMap']\n >\n : unknown;\n\n/**\n * Given a record from string to definition, maps each definition T to ResolvedDefinition<T>\n */\nexport type ResolvedDefinitionMap<Deps extends Dependencies> = {\n [Key in keyof Deps]: ResolvedDefinition<Deps[Key]>;\n};\n\n/**\n * For some factory definition F and some dimension D s.t. D ⊇ F.dimensions, infers the expected return type of\n * ResolvedDefinition<F>.getImpl(D)\n */\nexport type ResolvedFactoryImplementation<Definition extends DependencyNode<any, any>, Dim> =\n Definition extends FactoryDefinition<any, any, any, any, any>\n ? WithSpecializeMethod<\n WithInjectedSpecialization<\n GetModelFromSchema<Definition['dimensionToSchemaMap'], Dim>,\n Definition['specialization']\n >,\n GetModelFromSchema<Definition['dimensionToSchemaMap'], Dim>,\n z.infer<Definition['specialization']['spec']>\n >\n : never;\n\n/**\n * Given a record from string to definition and some dimension D, maps each definition T to ResolvedFactoryImplementation<T, D>\n */\nexport type ResolvedFactoryImplementationMap<Deps extends Dependencies, Dim> = RemoveNever<{\n [Key in keyof Deps]: ResolvedFactoryImplementation<Deps[Key], Dim>;\n}>;\n\ntype ActivityFactoryContext<\n _FactoryDefinition extends FactoryDefinition<any, any, any, any, any>,\n Dim,\n> = {\n getFunctionPointer: <\n MethodName extends MethodNameOf<ResolvedFactoryImplementation<_FactoryDefinition, Dim>>,\n >(\n methodName: MethodName,\n ) => FunctionPointer<ResolvedFactoryImplementation<_FactoryDefinition, Dim>[MethodName]>;\n};\n\n/**\n * The parameters that shall be received by a factory's implementation getter\n */\nexport type Context<_FactoryDefinition extends FactoryDefinition<any, any, any, any, any>, Dim> = {\n name: _FactoryDefinition extends FactoryDefinition<infer Name, any, any, any, any>\n ? Name\n : never;\n dependencies: _FactoryDefinition extends FactoryDefinition<any, any, any, any, infer Deps>\n ? ResolvedDefinitionMap<Deps>\n : never;\n dim: Dim;\n impls: _FactoryDefinition extends FactoryDefinition<any, any, any, any, infer Deps>\n ? ResolvedFactoryImplementationMap<Deps, Dim>\n : never;\n self: ResolvedFactoryImplementation<_FactoryDefinition, Dim>;\n} & ActivityFactoryContext<_FactoryDefinition, Dim>;\n\nexport const serializeDimensions = (dim: object = {}) => {\n return Object.keys(dim).length\n ? Object.entries(dim)\n .sort()\n .map(([dimName, dimVal]) => `${dimName}_${dimVal}`, '')\n .join('&')\n : '_base';\n};\n"]}
1
+ {"version":3,"sources":["../src/definitions.ts"],"names":["FactoryDefinition","DependencyNode","dimensions","specialization","dimensionToSchemaMap","getFactory","args","ObjectDefinition","schema","serializeDimensions","__name","dim","Object","keys","length","entries","sort","map","dimName","dimVal","join"],"mappings":";;;;;AA+HO,IAAMA,iBAAAA,GAAN,cAMGC,8BAAAA,CAAAA;EAjIV;;;AAkIoBC,EAAAA,UAAAA;AACAC,EAAAA,cAAAA;AACAC,EAAAA,oBAAAA;AACAC,EAAAA,UAAAA;AAChB,EAAA,WAAA,CAAY,EACRH,UAAAA,EACAC,cAAAA,EACAC,sBACAC,UAAAA,EACA,GAAGC,MAAAA,EAMmE;AACtE,IAAA,KAAA,CAAMA,IAAAA,CAAAA;AACN,IAAA,IAAA,CAAKJ,UAAAA,GAAaA,UAAAA;AAClB,IAAA,IAAA,CAAKC,cAAAA,GAAiBA,cAAAA;AACtB,IAAA,IAAA,CAAKC,oBAAAA,GAAuBA,oBAAAA;AAC5B,IAAA,IAAA,CAAKC,UAAAA,GAAaA,UAAAA;AACtB,EAAA;AACJ;AAaO,IAAeE,gBAAAA,GAAf,cAIGN,8BAAAA,CAAAA;EAzKV;;;AA0KoBO,EAAAA,MAAAA;AAEhB,EAAA,WAAA,CAAY,EACRA,MAAAA,EACA,GAAGF,IAAAA,EAAAA,EAGmE;AACtE,IAAA,KAAA,CAAMA,IAAAA,CAAAA;AACN,IAAA,IAAA,CAAKE,MAAAA,GAASA,MAAAA;AAClB,EAAA;AACJ;AA2FO,IAAMC,mBAAAA,mBAAsBC,mBAAA,CAAA,CAACC,GAAAA,GAAc,EAAC,KAAC;AAChD,EAAA,OAAOC,MAAAA,CAAOC,IAAAA,CAAKF,GAAAA,CAAAA,CAAKG,MAAAA,GAClBF,MAAAA,CAAOG,OAAAA,CAAQJ,GAAAA,CAAAA,CACVK,IAAAA,EAAI,CACJC,GAAAA,CAAI,CAAC,CAACC,OAAAA,EAASC,MAAAA,CAAAA,KAAY,CAAA,EAAGD,OAAAA,CAAAA,CAAAA,EAAWC,MAAAA,CAAAA,CAAAA,EAAU,EAAA,CAAA,CACnDC,IAAAA,CAAK,GAAA,CAAA,GACV,OAAA;AACV,CAAA,EAPmC,qBAAA","file":"4PH4IUIJ.cjs","sourcesContent":["import type { z } from 'zod/v4';\n\nimport type { FunctionPointer } from '@layerzerolabs/common-utils';\nimport type { Dependencies } from '@layerzerolabs/dependency-graph';\nimport { DependencyNode } from '@layerzerolabs/dependency-graph';\nimport type {\n AdvancedRecord,\n AdvancedRecordLookup,\n Merge,\n MethodNameOf,\n RemoveNever,\n UnionToIntersection,\n} from '@layerzerolabs/typescript-utils';\n\nexport type DimensionToSchemaMap<DimConstraint extends object = object> = {\n byDimension?: AdvancedRecord<DimConstraint, z.ZodType>;\n base: z.ZodType;\n};\n\nexport type FactorySpecialization<DMap extends DimensionToSchemaMap = DimensionToSchemaMap> = {\n spec: z.ZodObject<any>;\n exempt: readonly (keyof GetSupersetOfModelsFromSchema<DMap>)[];\n};\n\nexport type WithInjectedSpecialization<T, Specialization extends FactorySpecialization<any>> = [\n {},\n] extends [z.infer<Specialization['spec']>]\n ? T\n : {\n [K in keyof T]: K extends Specialization['exempt'][number]\n ? T[K]\n : T[K] extends (...args: infer A) => infer R\n ? (specialization: z.infer<Specialization['spec']>, ...args: A) => R\n : T[K];\n };\n\nexport type WithSpecializeMethod<WithInjection, WithoutInjection, S> = {} extends S\n ? WithoutInjection\n : WithInjection extends (...args: infer Args) => infer Ret\n ? (...args: Args) => Ret\n : WithInjection & {\n specialize: (specialization: S) => WithoutInjection;\n };\n\nexport type GetModelFromSchema<DMap extends DimensionToSchemaMap, Dim> =\n AdvancedRecordLookup<DMap['byDimension'], Dim> extends never\n ? z.infer<DMap['base']>\n : Merge<z.infer<DMap['base']>, z.infer<AdvancedRecordLookup<DMap['byDimension'], Dim>>>;\n\nexport type GetSupersetOfModelsFromSchema<DMap extends DimensionToSchemaMap> = UnionToIntersection<\n {\n [Key in keyof DMap['byDimension']]: DMap['byDimension'][Key] extends [any, any]\n ? z.infer<DMap['byDimension'][Key][1]>\n : never;\n }[keyof DMap['byDimension']]\n> &\n z.infer<DMap['base']>;\n\ntype GetImplFunctionWithConditionalOptionalDim<Dim, Return> = {} extends Dim\n ? (dim?: Dim) => Return\n : (dim: Dim) => Return;\n\ntype GetImplOverloads<\n Dim extends z.ZodObject<any>,\n Specialization extends FactorySpecialization<DMap>,\n DMap extends DimensionToSchemaMap<z.infer<Dim>>,\n> = UnionToIntersection<\n | {\n [I in keyof DMap['byDimension']]: DMap['byDimension'][I] extends readonly [infer K, any]\n ? {\n getImpl: GetImplFunctionWithConditionalOptionalDim<\n K,\n WithSpecializeMethod<\n WithInjectedSpecialization<GetModelFromSchema<DMap, K>, Specialization>,\n GetModelFromSchema<DMap, K>,\n z.infer<Specialization['spec']>\n >\n >;\n }\n : never;\n }[keyof DMap['byDimension']]\n | {\n getImpl: GetImplFunctionWithConditionalOptionalDim<\n z.infer<Dim>,\n WithSpecializeMethod<\n WithInjectedSpecialization<z.infer<DMap['base']>, Specialization>,\n z.infer<DMap['base']>,\n z.infer<Specialization['spec']>\n >\n >;\n }\n>;\n\nexport type Factory<\n _Dependencies extends Dependencies,\n Dim extends z.ZodObject<any>,\n Specialization extends FactorySpecialization<DMap>,\n DMap extends DimensionToSchemaMap<z.infer<Dim>>,\n> = {\n name: string;\n implKeys: string[];\n dimensionToSchemaMap: DMap;\n} & GetImplOverloads<Dim, Specialization, DMap>;\n\nexport type GetFactory<\n _Dependencies extends Dependencies,\n Dim extends z.ZodObject<any>,\n Specialization extends FactorySpecialization<DMap>,\n DMap extends DimensionToSchemaMap<z.infer<Dim>>,\n> = () =>\n | Factory<_Dependencies, Dim, Specialization, DMap>\n | Promise<Factory<_Dependencies, Dim, Specialization, DMap>>;\n\n/**\n * <!-- anchor:FactoryDefinition -->\n * Factory definitions are a type of dependency node that shall be resolved to a *factory*.\n * A factory is an object that provides a getImpl method which accepts some parameters `dim`,\n * and returns some object `getImplMetadata.getModel(dim)`.\n * That is, a factory definition is given by the set of parameters it uses to get its implementations,\n * and a function defining the schema it will return for each set of parameters.\n * @param name inherited from {@link DependencyNode}\n * @param dependencies inherited from {@link DependencyNode}\n * @param dimensions a Zod schema for the parameters this factory operates on.\n * @param dimensionToSchemaMap A map from dimension objects to the Zod schema for the implementation.\n * @param getFactory a method that should return an object with a `getImpl` method that returns\n * entities adhering to the schema for the corresponding `getModel` call\n */\nexport class FactoryDefinition<\n Name extends string,\n Dim extends z.ZodObject<any>,\n const Specialization extends FactorySpecialization<DMap>,\n DMap extends DimensionToSchemaMap<z.infer<Dim>>,\n _Dependencies extends Dependencies,\n> extends DependencyNode<Name, _Dependencies> {\n public readonly dimensions: Dim;\n public readonly specialization: Specialization;\n public readonly dimensionToSchemaMap: DMap;\n public readonly getFactory: GetFactory<_Dependencies, Dim, Specialization, DMap>;\n constructor({\n dimensions,\n specialization,\n dimensionToSchemaMap,\n getFactory,\n ...args\n }: {\n dimensions: Dim;\n specialization: Specialization;\n dimensionToSchemaMap: DMap;\n getFactory: GetFactory<_Dependencies, Dim, Specialization, DMap>;\n } & ConstructorParameters<typeof DependencyNode<Name, _Dependencies>>[0]) {\n super(args);\n this.dimensions = dimensions;\n this.specialization = specialization;\n this.dimensionToSchemaMap = dimensionToSchemaMap;\n this.getFactory = getFactory;\n }\n}\n\n/**\n * <!-- anchor:ObjectDefinition -->\n * An object definition is a dependency node that refers to some entity\n * matching a given schema. That is, it may be resolved to any entity\n * that adheres to the {@link schema}.\n * The object definition is abstract, as it cannot be meaningfully resolved without\n * additional information. For an example of an object definition, see ReflexiveObjectDefinition or ContextDefinition\n * @param name inherited from {@link DependencyNode}\n * @param dependencies inherited from {@link DependencyNode}\n * @param schema a Zod schema defining the expected resolution for this definition\n */\nexport abstract class ObjectDefinition<\n Name extends string,\n Schema extends z.ZodSchema,\n _Dependencies extends Dependencies,\n> extends DependencyNode<Name, _Dependencies> {\n public readonly schema: Schema;\n\n constructor({\n schema,\n ...args\n }: {\n schema: Schema;\n } & ConstructorParameters<typeof DependencyNode<Name, _Dependencies>>[0]) {\n super(args);\n this.schema = schema;\n }\n}\n\nexport type Definition<Name extends string> =\n | FactoryDefinition<Name, any, any, any, any>\n | ObjectDefinition<Name, any, any>;\n\n/**\n * Infers the expected type of a definition once it has been resolved\n */\nexport type ResolvedDefinition<Definition extends DependencyNode<any, any>> =\n Definition extends ObjectDefinition<any, infer Schema, any>\n ? z.infer<Schema>\n : Definition extends FactoryDefinition<\n any,\n infer Dim,\n infer Specialization,\n infer DMap,\n any\n >\n ? Factory<Definition['dependencies'], Dim, Specialization, DMap>\n : Definition extends FactoryDefinition<any, any, any, any, any>\n ? Factory<\n Definition['dependencies'],\n Definition['dimensions'],\n Definition['specialization'],\n Definition['dimensionToSchemaMap']\n >\n : unknown;\n\n/**\n * Given a record from string to definition, maps each definition T to ResolvedDefinition<T>. Removes `definition` suffix from name\n */\nexport type ResolvedDefinitionMap<Deps extends Dependencies> = {\n [Key in keyof Deps as Key extends `${infer Name}Definition` ? Name : Key]: ResolvedDefinition<\n Deps[Key]\n >;\n};\n\n/**\n * For some factory definition F and some dimension D s.t. D ⊇ F.dimensions, infers the expected return type of\n * ResolvedDefinition<F>.getImpl(D)\n */\nexport type ResolvedFactoryImplementation<Definition extends DependencyNode<any, any>, Dim> =\n Definition extends FactoryDefinition<any, any, any, any, any>\n ? WithSpecializeMethod<\n WithInjectedSpecialization<\n GetModelFromSchema<Definition['dimensionToSchemaMap'], Dim>,\n Definition['specialization']\n >,\n GetModelFromSchema<Definition['dimensionToSchemaMap'], Dim>,\n z.infer<Definition['specialization']['spec']>\n >\n : never;\n\n/**\n * Given a record from string to definition and some dimension D, maps each definition T to ResolvedFactoryImplementation<T, D>\n */\nexport type ResolvedFactoryImplementationMap<Deps extends Dependencies, Dim> = RemoveNever<{\n [Key in keyof Deps as Key extends `${infer Name}Definition`\n ? Name\n : Key]: ResolvedFactoryImplementation<Deps[Key], Dim>;\n}>;\n\ntype ActivityFactoryContext<\n _FactoryDefinition extends FactoryDefinition<any, any, any, any, any>,\n Dim,\n> = {\n getFunctionPointer: <\n MethodName extends MethodNameOf<ResolvedFactoryImplementation<_FactoryDefinition, Dim>>,\n >(\n methodName: MethodName,\n ) => FunctionPointer<ResolvedFactoryImplementation<_FactoryDefinition, Dim>[MethodName]>;\n};\n\n/**\n * The parameters that shall be received by a factory's implementation getter\n */\nexport type Context<_FactoryDefinition extends FactoryDefinition<any, any, any, any, any>, Dim> = {\n name: _FactoryDefinition extends FactoryDefinition<infer Name, any, any, any, any>\n ? Name\n : never;\n dependencies: _FactoryDefinition extends FactoryDefinition<any, any, any, any, infer Deps>\n ? ResolvedDefinitionMap<Deps>\n : never;\n dim: Dim;\n impls: _FactoryDefinition extends FactoryDefinition<any, any, any, any, infer Deps>\n ? ResolvedFactoryImplementationMap<Deps, Dim>\n : never;\n self: ResolvedFactoryImplementation<_FactoryDefinition, Dim>;\n} & ActivityFactoryContext<_FactoryDefinition, Dim>;\n\nexport const serializeDimensions = (dim: object = {}) => {\n return Object.keys(dim).length\n ? Object.entries(dim)\n .sort()\n .map(([dimName, dimVal]) => `${dimName}_${dimVal}`, '')\n .join('&')\n : '_base';\n};\n"]}
@@ -32,5 +32,5 @@ var serializeDimensions = /* @__PURE__ */ __name((dim = {}) => {
32
32
  }, "serializeDimensions");
33
33
 
34
34
  export { FactoryDefinition, ObjectDefinition, serializeDimensions };
35
- //# sourceMappingURL=3GFGHSFN.js.map
36
- //# sourceMappingURL=3GFGHSFN.js.map
35
+ //# sourceMappingURL=JEI24WXY.js.map
36
+ //# sourceMappingURL=JEI24WXY.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/definitions.ts"],"names":["FactoryDefinition","DependencyNode","dimensions","specialization","dimensionToSchemaMap","getFactory","args","ObjectDefinition","schema","serializeDimensions","dim","Object","keys","length","entries","sort","map","dimName","dimVal","join"],"mappings":";;;AA+HO,IAAMA,iBAAAA,GAAN,cAMGC,cAAAA,CAAAA;EAjIV;;;AAkIoBC,EAAAA,UAAAA;AACAC,EAAAA,cAAAA;AACAC,EAAAA,oBAAAA;AACAC,EAAAA,UAAAA;AAChB,EAAA,WAAA,CAAY,EACRH,UAAAA,EACAC,cAAAA,EACAC,sBACAC,UAAAA,EACA,GAAGC,MAAAA,EAMmE;AACtE,IAAA,KAAA,CAAMA,IAAAA,CAAAA;AACN,IAAA,IAAA,CAAKJ,UAAAA,GAAaA,UAAAA;AAClB,IAAA,IAAA,CAAKC,cAAAA,GAAiBA,cAAAA;AACtB,IAAA,IAAA,CAAKC,oBAAAA,GAAuBA,oBAAAA;AAC5B,IAAA,IAAA,CAAKC,UAAAA,GAAaA,UAAAA;AACtB,EAAA;AACJ;AAaO,IAAeE,gBAAAA,GAAf,cAIGN,cAAAA,CAAAA;EAzKV;;;AA0KoBO,EAAAA,MAAAA;AAEhB,EAAA,WAAA,CAAY,EACRA,MAAAA,EACA,GAAGF,IAAAA,EAAAA,EAGmE;AACtE,IAAA,KAAA,CAAMA,IAAAA,CAAAA;AACN,IAAA,IAAA,CAAKE,MAAAA,GAASA,MAAAA;AAClB,EAAA;AACJ;AAuFO,IAAMC,mBAAAA,mBAAsB,MAAA,CAAA,CAACC,GAAAA,GAAc,EAAC,KAAC;AAChD,EAAA,OAAOC,MAAAA,CAAOC,IAAAA,CAAKF,GAAAA,CAAAA,CAAKG,MAAAA,GAClBF,MAAAA,CAAOG,OAAAA,CAAQJ,GAAAA,CAAAA,CACVK,IAAAA,EAAI,CACJC,GAAAA,CAAI,CAAC,CAACC,OAAAA,EAASC,MAAAA,CAAAA,KAAY,CAAA,EAAGD,OAAAA,CAAAA,CAAAA,EAAWC,MAAAA,CAAAA,CAAAA,EAAU,EAAA,CAAA,CACnDC,IAAAA,CAAK,GAAA,CAAA,GACV,OAAA;AACV,CAAA,EAPmC,qBAAA","file":"3GFGHSFN.js","sourcesContent":["import type { z } from 'zod/v4';\n\nimport type { FunctionPointer } from '@layerzerolabs/common-utils';\nimport type { Dependencies } from '@layerzerolabs/dependency-graph';\nimport { DependencyNode } from '@layerzerolabs/dependency-graph';\nimport type {\n AdvancedRecord,\n AdvancedRecordLookup,\n Merge,\n MethodNameOf,\n RemoveNever,\n UnionToIntersection,\n} from '@layerzerolabs/typescript-utils';\n\nexport type DimensionToSchemaMap<DimConstraint extends object = object> = {\n byDimension?: AdvancedRecord<DimConstraint, z.ZodType>;\n base: z.ZodType;\n};\n\nexport type FactorySpecialization<DMap extends DimensionToSchemaMap = DimensionToSchemaMap> = {\n spec: z.ZodObject<any>;\n exempt: readonly (keyof GetSupersetOfModelsFromSchema<DMap>)[];\n};\n\nexport type WithInjectedSpecialization<T, Specialization extends FactorySpecialization<any>> = [\n {},\n] extends [z.infer<Specialization['spec']>]\n ? T\n : {\n [K in keyof T]: K extends Specialization['exempt'][number]\n ? T[K]\n : T[K] extends (...args: infer A) => infer R\n ? (specialization: z.infer<Specialization['spec']>, ...args: A) => R\n : T[K];\n };\n\nexport type WithSpecializeMethod<WithInjection, WithoutInjection, S> = {} extends S\n ? WithoutInjection\n : WithInjection extends (...args: infer Args) => infer Ret\n ? (...args: Args) => Ret\n : WithInjection & {\n specialize: (specialization: S) => WithoutInjection;\n };\n\nexport type GetModelFromSchema<DMap extends DimensionToSchemaMap, Dim> =\n AdvancedRecordLookup<DMap['byDimension'], Dim> extends never\n ? z.infer<DMap['base']>\n : Merge<z.infer<DMap['base']>, z.infer<AdvancedRecordLookup<DMap['byDimension'], Dim>>>;\n\nexport type GetSupersetOfModelsFromSchema<DMap extends DimensionToSchemaMap> = UnionToIntersection<\n {\n [Key in keyof DMap['byDimension']]: DMap['byDimension'][Key] extends [any, any]\n ? z.infer<DMap['byDimension'][Key][1]>\n : never;\n }[keyof DMap['byDimension']]\n> &\n z.infer<DMap['base']>;\n\ntype GetImplFunctionWithConditionalOptionalDim<Dim, Return> = {} extends Dim\n ? (dim?: Dim) => Return\n : (dim: Dim) => Return;\n\ntype GetImplOverloads<\n Dim extends z.ZodObject<any>,\n Specialization extends FactorySpecialization<DMap>,\n DMap extends DimensionToSchemaMap<z.infer<Dim>>,\n> = UnionToIntersection<\n | {\n [I in keyof DMap['byDimension']]: DMap['byDimension'][I] extends readonly [infer K, any]\n ? {\n getImpl: GetImplFunctionWithConditionalOptionalDim<\n K,\n WithSpecializeMethod<\n WithInjectedSpecialization<GetModelFromSchema<DMap, K>, Specialization>,\n GetModelFromSchema<DMap, K>,\n z.infer<Specialization['spec']>\n >\n >;\n }\n : never;\n }[keyof DMap['byDimension']]\n | {\n getImpl: GetImplFunctionWithConditionalOptionalDim<\n z.infer<Dim>,\n WithSpecializeMethod<\n WithInjectedSpecialization<z.infer<DMap['base']>, Specialization>,\n z.infer<DMap['base']>,\n z.infer<Specialization['spec']>\n >\n >;\n }\n>;\n\nexport type Factory<\n _Dependencies extends Dependencies,\n Dim extends z.ZodObject<any>,\n Specialization extends FactorySpecialization<DMap>,\n DMap extends DimensionToSchemaMap<z.infer<Dim>>,\n> = {\n name: string;\n implKeys: string[];\n dimensionToSchemaMap: DMap;\n} & GetImplOverloads<Dim, Specialization, DMap>;\n\nexport type GetFactory<\n _Dependencies extends Dependencies,\n Dim extends z.ZodObject<any>,\n Specialization extends FactorySpecialization<DMap>,\n DMap extends DimensionToSchemaMap<z.infer<Dim>>,\n> = () =>\n | Factory<_Dependencies, Dim, Specialization, DMap>\n | Promise<Factory<_Dependencies, Dim, Specialization, DMap>>;\n\n/**\n * <!-- anchor:FactoryDefinition -->\n * Factory definitions are a type of dependency node that shall be resolved to a *factory*.\n * A factory is an object that provides a getImpl method which accepts some parameters `dim`,\n * and returns some object `getImplMetadata.getModel(dim)`.\n * That is, a factory definition is given by the set of parameters it uses to get its implementations,\n * and a function defining the schema it will return for each set of parameters.\n * @param name inherited from {@link DependencyNode}\n * @param dependencies inherited from {@link DependencyNode}\n * @param dimensions a Zod schema for the parameters this factory operates on.\n * @param dimensionToSchemaMap A map from dimension objects to the Zod schema for the implementation.\n * @param getFactory a method that should return an object with a `getImpl` method that returns\n * entities adhering to the schema for the corresponding `getModel` call\n */\nexport class FactoryDefinition<\n Name extends string,\n Dim extends z.ZodObject<any>,\n const Specialization extends FactorySpecialization<DMap>,\n DMap extends DimensionToSchemaMap<z.infer<Dim>>,\n _Dependencies extends Dependencies,\n> extends DependencyNode<Name, _Dependencies> {\n public readonly dimensions: Dim;\n public readonly specialization: Specialization;\n public readonly dimensionToSchemaMap: DMap;\n public readonly getFactory: GetFactory<_Dependencies, Dim, Specialization, DMap>;\n constructor({\n dimensions,\n specialization,\n dimensionToSchemaMap,\n getFactory,\n ...args\n }: {\n dimensions: Dim;\n specialization: Specialization;\n dimensionToSchemaMap: DMap;\n getFactory: GetFactory<_Dependencies, Dim, Specialization, DMap>;\n } & ConstructorParameters<typeof DependencyNode<Name, _Dependencies>>[0]) {\n super(args);\n this.dimensions = dimensions;\n this.specialization = specialization;\n this.dimensionToSchemaMap = dimensionToSchemaMap;\n this.getFactory = getFactory;\n }\n}\n\n/**\n * <!-- anchor:ObjectDefinition -->\n * An object definition is a dependency node that refers to some entity\n * matching a given schema. That is, it may be resolved to any entity\n * that adheres to the {@link schema}.\n * The object definition is abstract, as it cannot be meaningfully resolved without\n * additional information. For an example of an object definition, see ReflexiveObjectDefinition or ContextDefinition\n * @param name inherited from {@link DependencyNode}\n * @param dependencies inherited from {@link DependencyNode}\n * @param schema a Zod schema defining the expected resolution for this definition\n */\nexport abstract class ObjectDefinition<\n Name extends string,\n Schema extends z.ZodSchema,\n _Dependencies extends Dependencies,\n> extends DependencyNode<Name, _Dependencies> {\n public readonly schema: Schema;\n\n constructor({\n schema,\n ...args\n }: {\n schema: Schema;\n } & ConstructorParameters<typeof DependencyNode<Name, _Dependencies>>[0]) {\n super(args);\n this.schema = schema;\n }\n}\n\nexport type Definition<Name extends string> =\n | FactoryDefinition<Name, any, any, any, any>\n | ObjectDefinition<Name, any, any>;\n\n/**\n * Infers the expected type of a definition once it has been resolved\n */\nexport type ResolvedDefinition<Definition extends DependencyNode<any, any>> =\n Definition extends ObjectDefinition<any, infer Schema, any>\n ? z.infer<Schema>\n : Definition extends FactoryDefinition<\n any,\n infer Dim,\n infer Specialization,\n infer DMap,\n any\n >\n ? Factory<Definition['dependencies'], Dim, Specialization, DMap>\n : Definition extends FactoryDefinition<any, any, any, any, any>\n ? Factory<\n Definition['dependencies'],\n Definition['dimensions'],\n Definition['specialization'],\n Definition['dimensionToSchemaMap']\n >\n : unknown;\n\n/**\n * Given a record from string to definition, maps each definition T to ResolvedDefinition<T>\n */\nexport type ResolvedDefinitionMap<Deps extends Dependencies> = {\n [Key in keyof Deps]: ResolvedDefinition<Deps[Key]>;\n};\n\n/**\n * For some factory definition F and some dimension D s.t. D ⊇ F.dimensions, infers the expected return type of\n * ResolvedDefinition<F>.getImpl(D)\n */\nexport type ResolvedFactoryImplementation<Definition extends DependencyNode<any, any>, Dim> =\n Definition extends FactoryDefinition<any, any, any, any, any>\n ? WithSpecializeMethod<\n WithInjectedSpecialization<\n GetModelFromSchema<Definition['dimensionToSchemaMap'], Dim>,\n Definition['specialization']\n >,\n GetModelFromSchema<Definition['dimensionToSchemaMap'], Dim>,\n z.infer<Definition['specialization']['spec']>\n >\n : never;\n\n/**\n * Given a record from string to definition and some dimension D, maps each definition T to ResolvedFactoryImplementation<T, D>\n */\nexport type ResolvedFactoryImplementationMap<Deps extends Dependencies, Dim> = RemoveNever<{\n [Key in keyof Deps]: ResolvedFactoryImplementation<Deps[Key], Dim>;\n}>;\n\ntype ActivityFactoryContext<\n _FactoryDefinition extends FactoryDefinition<any, any, any, any, any>,\n Dim,\n> = {\n getFunctionPointer: <\n MethodName extends MethodNameOf<ResolvedFactoryImplementation<_FactoryDefinition, Dim>>,\n >(\n methodName: MethodName,\n ) => FunctionPointer<ResolvedFactoryImplementation<_FactoryDefinition, Dim>[MethodName]>;\n};\n\n/**\n * The parameters that shall be received by a factory's implementation getter\n */\nexport type Context<_FactoryDefinition extends FactoryDefinition<any, any, any, any, any>, Dim> = {\n name: _FactoryDefinition extends FactoryDefinition<infer Name, any, any, any, any>\n ? Name\n : never;\n dependencies: _FactoryDefinition extends FactoryDefinition<any, any, any, any, infer Deps>\n ? ResolvedDefinitionMap<Deps>\n : never;\n dim: Dim;\n impls: _FactoryDefinition extends FactoryDefinition<any, any, any, any, infer Deps>\n ? ResolvedFactoryImplementationMap<Deps, Dim>\n : never;\n self: ResolvedFactoryImplementation<_FactoryDefinition, Dim>;\n} & ActivityFactoryContext<_FactoryDefinition, Dim>;\n\nexport const serializeDimensions = (dim: object = {}) => {\n return Object.keys(dim).length\n ? Object.entries(dim)\n .sort()\n .map(([dimName, dimVal]) => `${dimName}_${dimVal}`, '')\n .join('&')\n : '_base';\n};\n"]}
1
+ {"version":3,"sources":["../src/definitions.ts"],"names":["FactoryDefinition","DependencyNode","dimensions","specialization","dimensionToSchemaMap","getFactory","args","ObjectDefinition","schema","serializeDimensions","dim","Object","keys","length","entries","sort","map","dimName","dimVal","join"],"mappings":";;;AA+HO,IAAMA,iBAAAA,GAAN,cAMGC,cAAAA,CAAAA;EAjIV;;;AAkIoBC,EAAAA,UAAAA;AACAC,EAAAA,cAAAA;AACAC,EAAAA,oBAAAA;AACAC,EAAAA,UAAAA;AAChB,EAAA,WAAA,CAAY,EACRH,UAAAA,EACAC,cAAAA,EACAC,sBACAC,UAAAA,EACA,GAAGC,MAAAA,EAMmE;AACtE,IAAA,KAAA,CAAMA,IAAAA,CAAAA;AACN,IAAA,IAAA,CAAKJ,UAAAA,GAAaA,UAAAA;AAClB,IAAA,IAAA,CAAKC,cAAAA,GAAiBA,cAAAA;AACtB,IAAA,IAAA,CAAKC,oBAAAA,GAAuBA,oBAAAA;AAC5B,IAAA,IAAA,CAAKC,UAAAA,GAAaA,UAAAA;AACtB,EAAA;AACJ;AAaO,IAAeE,gBAAAA,GAAf,cAIGN,cAAAA,CAAAA;EAzKV;;;AA0KoBO,EAAAA,MAAAA;AAEhB,EAAA,WAAA,CAAY,EACRA,MAAAA,EACA,GAAGF,IAAAA,EAAAA,EAGmE;AACtE,IAAA,KAAA,CAAMA,IAAAA,CAAAA;AACN,IAAA,IAAA,CAAKE,MAAAA,GAASA,MAAAA;AAClB,EAAA;AACJ;AA2FO,IAAMC,mBAAAA,mBAAsB,MAAA,CAAA,CAACC,GAAAA,GAAc,EAAC,KAAC;AAChD,EAAA,OAAOC,MAAAA,CAAOC,IAAAA,CAAKF,GAAAA,CAAAA,CAAKG,MAAAA,GAClBF,MAAAA,CAAOG,OAAAA,CAAQJ,GAAAA,CAAAA,CACVK,IAAAA,EAAI,CACJC,GAAAA,CAAI,CAAC,CAACC,OAAAA,EAASC,MAAAA,CAAAA,KAAY,CAAA,EAAGD,OAAAA,CAAAA,CAAAA,EAAWC,MAAAA,CAAAA,CAAAA,EAAU,EAAA,CAAA,CACnDC,IAAAA,CAAK,GAAA,CAAA,GACV,OAAA;AACV,CAAA,EAPmC,qBAAA","file":"JEI24WXY.js","sourcesContent":["import type { z } from 'zod/v4';\n\nimport type { FunctionPointer } from '@layerzerolabs/common-utils';\nimport type { Dependencies } from '@layerzerolabs/dependency-graph';\nimport { DependencyNode } from '@layerzerolabs/dependency-graph';\nimport type {\n AdvancedRecord,\n AdvancedRecordLookup,\n Merge,\n MethodNameOf,\n RemoveNever,\n UnionToIntersection,\n} from '@layerzerolabs/typescript-utils';\n\nexport type DimensionToSchemaMap<DimConstraint extends object = object> = {\n byDimension?: AdvancedRecord<DimConstraint, z.ZodType>;\n base: z.ZodType;\n};\n\nexport type FactorySpecialization<DMap extends DimensionToSchemaMap = DimensionToSchemaMap> = {\n spec: z.ZodObject<any>;\n exempt: readonly (keyof GetSupersetOfModelsFromSchema<DMap>)[];\n};\n\nexport type WithInjectedSpecialization<T, Specialization extends FactorySpecialization<any>> = [\n {},\n] extends [z.infer<Specialization['spec']>]\n ? T\n : {\n [K in keyof T]: K extends Specialization['exempt'][number]\n ? T[K]\n : T[K] extends (...args: infer A) => infer R\n ? (specialization: z.infer<Specialization['spec']>, ...args: A) => R\n : T[K];\n };\n\nexport type WithSpecializeMethod<WithInjection, WithoutInjection, S> = {} extends S\n ? WithoutInjection\n : WithInjection extends (...args: infer Args) => infer Ret\n ? (...args: Args) => Ret\n : WithInjection & {\n specialize: (specialization: S) => WithoutInjection;\n };\n\nexport type GetModelFromSchema<DMap extends DimensionToSchemaMap, Dim> =\n AdvancedRecordLookup<DMap['byDimension'], Dim> extends never\n ? z.infer<DMap['base']>\n : Merge<z.infer<DMap['base']>, z.infer<AdvancedRecordLookup<DMap['byDimension'], Dim>>>;\n\nexport type GetSupersetOfModelsFromSchema<DMap extends DimensionToSchemaMap> = UnionToIntersection<\n {\n [Key in keyof DMap['byDimension']]: DMap['byDimension'][Key] extends [any, any]\n ? z.infer<DMap['byDimension'][Key][1]>\n : never;\n }[keyof DMap['byDimension']]\n> &\n z.infer<DMap['base']>;\n\ntype GetImplFunctionWithConditionalOptionalDim<Dim, Return> = {} extends Dim\n ? (dim?: Dim) => Return\n : (dim: Dim) => Return;\n\ntype GetImplOverloads<\n Dim extends z.ZodObject<any>,\n Specialization extends FactorySpecialization<DMap>,\n DMap extends DimensionToSchemaMap<z.infer<Dim>>,\n> = UnionToIntersection<\n | {\n [I in keyof DMap['byDimension']]: DMap['byDimension'][I] extends readonly [infer K, any]\n ? {\n getImpl: GetImplFunctionWithConditionalOptionalDim<\n K,\n WithSpecializeMethod<\n WithInjectedSpecialization<GetModelFromSchema<DMap, K>, Specialization>,\n GetModelFromSchema<DMap, K>,\n z.infer<Specialization['spec']>\n >\n >;\n }\n : never;\n }[keyof DMap['byDimension']]\n | {\n getImpl: GetImplFunctionWithConditionalOptionalDim<\n z.infer<Dim>,\n WithSpecializeMethod<\n WithInjectedSpecialization<z.infer<DMap['base']>, Specialization>,\n z.infer<DMap['base']>,\n z.infer<Specialization['spec']>\n >\n >;\n }\n>;\n\nexport type Factory<\n _Dependencies extends Dependencies,\n Dim extends z.ZodObject<any>,\n Specialization extends FactorySpecialization<DMap>,\n DMap extends DimensionToSchemaMap<z.infer<Dim>>,\n> = {\n name: string;\n implKeys: string[];\n dimensionToSchemaMap: DMap;\n} & GetImplOverloads<Dim, Specialization, DMap>;\n\nexport type GetFactory<\n _Dependencies extends Dependencies,\n Dim extends z.ZodObject<any>,\n Specialization extends FactorySpecialization<DMap>,\n DMap extends DimensionToSchemaMap<z.infer<Dim>>,\n> = () =>\n | Factory<_Dependencies, Dim, Specialization, DMap>\n | Promise<Factory<_Dependencies, Dim, Specialization, DMap>>;\n\n/**\n * <!-- anchor:FactoryDefinition -->\n * Factory definitions are a type of dependency node that shall be resolved to a *factory*.\n * A factory is an object that provides a getImpl method which accepts some parameters `dim`,\n * and returns some object `getImplMetadata.getModel(dim)`.\n * That is, a factory definition is given by the set of parameters it uses to get its implementations,\n * and a function defining the schema it will return for each set of parameters.\n * @param name inherited from {@link DependencyNode}\n * @param dependencies inherited from {@link DependencyNode}\n * @param dimensions a Zod schema for the parameters this factory operates on.\n * @param dimensionToSchemaMap A map from dimension objects to the Zod schema for the implementation.\n * @param getFactory a method that should return an object with a `getImpl` method that returns\n * entities adhering to the schema for the corresponding `getModel` call\n */\nexport class FactoryDefinition<\n Name extends string,\n Dim extends z.ZodObject<any>,\n const Specialization extends FactorySpecialization<DMap>,\n DMap extends DimensionToSchemaMap<z.infer<Dim>>,\n _Dependencies extends Dependencies,\n> extends DependencyNode<Name, _Dependencies> {\n public readonly dimensions: Dim;\n public readonly specialization: Specialization;\n public readonly dimensionToSchemaMap: DMap;\n public readonly getFactory: GetFactory<_Dependencies, Dim, Specialization, DMap>;\n constructor({\n dimensions,\n specialization,\n dimensionToSchemaMap,\n getFactory,\n ...args\n }: {\n dimensions: Dim;\n specialization: Specialization;\n dimensionToSchemaMap: DMap;\n getFactory: GetFactory<_Dependencies, Dim, Specialization, DMap>;\n } & ConstructorParameters<typeof DependencyNode<Name, _Dependencies>>[0]) {\n super(args);\n this.dimensions = dimensions;\n this.specialization = specialization;\n this.dimensionToSchemaMap = dimensionToSchemaMap;\n this.getFactory = getFactory;\n }\n}\n\n/**\n * <!-- anchor:ObjectDefinition -->\n * An object definition is a dependency node that refers to some entity\n * matching a given schema. That is, it may be resolved to any entity\n * that adheres to the {@link schema}.\n * The object definition is abstract, as it cannot be meaningfully resolved without\n * additional information. For an example of an object definition, see ReflexiveObjectDefinition or ContextDefinition\n * @param name inherited from {@link DependencyNode}\n * @param dependencies inherited from {@link DependencyNode}\n * @param schema a Zod schema defining the expected resolution for this definition\n */\nexport abstract class ObjectDefinition<\n Name extends string,\n Schema extends z.ZodSchema,\n _Dependencies extends Dependencies,\n> extends DependencyNode<Name, _Dependencies> {\n public readonly schema: Schema;\n\n constructor({\n schema,\n ...args\n }: {\n schema: Schema;\n } & ConstructorParameters<typeof DependencyNode<Name, _Dependencies>>[0]) {\n super(args);\n this.schema = schema;\n }\n}\n\nexport type Definition<Name extends string> =\n | FactoryDefinition<Name, any, any, any, any>\n | ObjectDefinition<Name, any, any>;\n\n/**\n * Infers the expected type of a definition once it has been resolved\n */\nexport type ResolvedDefinition<Definition extends DependencyNode<any, any>> =\n Definition extends ObjectDefinition<any, infer Schema, any>\n ? z.infer<Schema>\n : Definition extends FactoryDefinition<\n any,\n infer Dim,\n infer Specialization,\n infer DMap,\n any\n >\n ? Factory<Definition['dependencies'], Dim, Specialization, DMap>\n : Definition extends FactoryDefinition<any, any, any, any, any>\n ? Factory<\n Definition['dependencies'],\n Definition['dimensions'],\n Definition['specialization'],\n Definition['dimensionToSchemaMap']\n >\n : unknown;\n\n/**\n * Given a record from string to definition, maps each definition T to ResolvedDefinition<T>. Removes `definition` suffix from name\n */\nexport type ResolvedDefinitionMap<Deps extends Dependencies> = {\n [Key in keyof Deps as Key extends `${infer Name}Definition` ? Name : Key]: ResolvedDefinition<\n Deps[Key]\n >;\n};\n\n/**\n * For some factory definition F and some dimension D s.t. D ⊇ F.dimensions, infers the expected return type of\n * ResolvedDefinition<F>.getImpl(D)\n */\nexport type ResolvedFactoryImplementation<Definition extends DependencyNode<any, any>, Dim> =\n Definition extends FactoryDefinition<any, any, any, any, any>\n ? WithSpecializeMethod<\n WithInjectedSpecialization<\n GetModelFromSchema<Definition['dimensionToSchemaMap'], Dim>,\n Definition['specialization']\n >,\n GetModelFromSchema<Definition['dimensionToSchemaMap'], Dim>,\n z.infer<Definition['specialization']['spec']>\n >\n : never;\n\n/**\n * Given a record from string to definition and some dimension D, maps each definition T to ResolvedFactoryImplementation<T, D>\n */\nexport type ResolvedFactoryImplementationMap<Deps extends Dependencies, Dim> = RemoveNever<{\n [Key in keyof Deps as Key extends `${infer Name}Definition`\n ? Name\n : Key]: ResolvedFactoryImplementation<Deps[Key], Dim>;\n}>;\n\ntype ActivityFactoryContext<\n _FactoryDefinition extends FactoryDefinition<any, any, any, any, any>,\n Dim,\n> = {\n getFunctionPointer: <\n MethodName extends MethodNameOf<ResolvedFactoryImplementation<_FactoryDefinition, Dim>>,\n >(\n methodName: MethodName,\n ) => FunctionPointer<ResolvedFactoryImplementation<_FactoryDefinition, Dim>[MethodName]>;\n};\n\n/**\n * The parameters that shall be received by a factory's implementation getter\n */\nexport type Context<_FactoryDefinition extends FactoryDefinition<any, any, any, any, any>, Dim> = {\n name: _FactoryDefinition extends FactoryDefinition<infer Name, any, any, any, any>\n ? Name\n : never;\n dependencies: _FactoryDefinition extends FactoryDefinition<any, any, any, any, infer Deps>\n ? ResolvedDefinitionMap<Deps>\n : never;\n dim: Dim;\n impls: _FactoryDefinition extends FactoryDefinition<any, any, any, any, infer Deps>\n ? ResolvedFactoryImplementationMap<Deps, Dim>\n : never;\n self: ResolvedFactoryImplementation<_FactoryDefinition, Dim>;\n} & ActivityFactoryContext<_FactoryDefinition, Dim>;\n\nexport const serializeDimensions = (dim: object = {}) => {\n return Object.keys(dim).length\n ? Object.entries(dim)\n .sort()\n .map(([dimName, dimVal]) => `${dimName}_${dimVal}`, '')\n .join('&')\n : '_base';\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { serializeDimensions } from './3GFGHSFN.js';
1
+ import { serializeDimensions } from './JEI24WXY.js';
2
2
  import { __name } from './VUOMXK5T.js';
3
3
 
4
4
  // src/utils.ts
@@ -11,5 +11,5 @@ var extractSchemaFromFactory = /* @__PURE__ */ __name((factory, dimension) => {
11
11
  }, "extractSchemaFromFactory");
12
12
 
13
13
  export { extractSchemaFromFactory };
14
- //# sourceMappingURL=P5NNX2LK.js.map
15
- //# sourceMappingURL=P5NNX2LK.js.map
14
+ //# sourceMappingURL=TATWOZXS.js.map
15
+ //# sourceMappingURL=TATWOZXS.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils.ts"],"names":["extractSchemaFromFactory","factory","dimension","schema","dimensionToSchemaMap","byDimension","Object","values","find","dim","serializeDimensions","base","shape","Error","name","JSON","stringify"],"mappings":";;;;AAOO,IAAMA,wBAAAA,mBAA2B,MAAA,CAAA,CACpCC,OAAAA,EACAC,SAAAA,KAAAA;AAEA,EAAA,MAAMC,MAAAA,GAAAA,CACDF,OAAAA,CAAQG,oBAAAA,CAAqBC,WAAAA,IAC1BC,MAAAA,CAAOC,OAAON,OAAAA,CAAQG,oBAAAA,CAAqBC,WAAW,CAAA,CAAoBG,IAAAA,CACtE,CAAC,CAACC,GAAAA,CAAAA,KAASC,mBAAAA,CAAoBD,GAAAA,CAAAA,KAASC,mBAAAA,CAAoBR,SAAAA,CAAAA,CAAAA,GAC5D,CAAA,CAAA,KACRD,OAAAA,CAAQG,oBAAAA,CAAqBO,IAAAA;AACjC,EAAA,IAAI,CAACR,QAAQS,KAAAA,EAAO;AAChB,IAAA,MAAM,IAAIC,KAAAA,CACN,CAAA,uCAAA,EAA0CZ,OAAAA,CAAQa,IAAI,YAAYC,IAAAA,CAAKC,SAAAA,CAAUd,SAAAA,CAAAA,CAAAA,CAAY,CAAA;AAErG,EAAA;AAEA,EAAA,OAAOC,MAAAA;AACX,CAAA,EAjBwC,0BAAA","file":"P5NNX2LK.js","sourcesContent":["import type z from 'zod/v4';\n\nimport type { AdvancedRecord } from '@layerzerolabs/typescript-utils';\n\nimport type { Factory } from './definitions';\nimport { type FactoryDefinition, serializeDimensions } from './definitions';\n\nexport const extractSchemaFromFactory = <Dim extends z.ZodObject>(\n factory: FactoryDefinition<any, Dim, any, any, any> | Factory<any, any, any, any>,\n dimension: z.infer<Dim>,\n): z.ZodObject => {\n const schema =\n (factory.dimensionToSchemaMap.byDimension &&\n Object.values(factory.dimensionToSchemaMap.byDimension as AdvancedRecord).find(\n ([dim]) => serializeDimensions(dim) === serializeDimensions(dimension),\n )?.[1]) ??\n factory.dimensionToSchemaMap.base;\n if (!schema?.shape) {\n throw new Error(\n `Couldn't resolve the schema of factory ${factory.name} for dim ${JSON.stringify(dimension)}`,\n );\n }\n\n return schema;\n};\n"]}
1
+ {"version":3,"sources":["../src/utils.ts"],"names":["extractSchemaFromFactory","factory","dimension","schema","dimensionToSchemaMap","byDimension","Object","values","find","dim","serializeDimensions","base","shape","Error","name","JSON","stringify"],"mappings":";;;;AAOO,IAAMA,wBAAAA,mBAA2B,MAAA,CAAA,CACpCC,OAAAA,EACAC,SAAAA,KAAAA;AAEA,EAAA,MAAMC,MAAAA,GAAAA,CACDF,OAAAA,CAAQG,oBAAAA,CAAqBC,WAAAA,IAC1BC,MAAAA,CAAOC,OAAON,OAAAA,CAAQG,oBAAAA,CAAqBC,WAAW,CAAA,CAAoBG,IAAAA,CACtE,CAAC,CAACC,GAAAA,CAAAA,KAASC,mBAAAA,CAAoBD,GAAAA,CAAAA,KAASC,mBAAAA,CAAoBR,SAAAA,CAAAA,CAAAA,GAC5D,CAAA,CAAA,KACRD,OAAAA,CAAQG,oBAAAA,CAAqBO,IAAAA;AACjC,EAAA,IAAI,CAACR,QAAQS,KAAAA,EAAO;AAChB,IAAA,MAAM,IAAIC,KAAAA,CACN,CAAA,uCAAA,EAA0CZ,OAAAA,CAAQa,IAAI,YAAYC,IAAAA,CAAKC,SAAAA,CAAUd,SAAAA,CAAAA,CAAAA,CAAY,CAAA;AAErG,EAAA;AAEA,EAAA,OAAOC,MAAAA;AACX,CAAA,EAjBwC,0BAAA","file":"TATWOZXS.js","sourcesContent":["import type z from 'zod/v4';\n\nimport type { AdvancedRecord } from '@layerzerolabs/typescript-utils';\n\nimport type { Factory } from './definitions';\nimport { type FactoryDefinition, serializeDimensions } from './definitions';\n\nexport const extractSchemaFromFactory = <Dim extends z.ZodObject>(\n factory: FactoryDefinition<any, Dim, any, any, any> | Factory<any, any, any, any>,\n dimension: z.infer<Dim>,\n): z.ZodObject => {\n const schema =\n (factory.dimensionToSchemaMap.byDimension &&\n Object.values(factory.dimensionToSchemaMap.byDimension as AdvancedRecord).find(\n ([dim]) => serializeDimensions(dim) === serializeDimensions(dimension),\n )?.[1]) ??\n factory.dimensionToSchemaMap.base;\n if (!schema?.shape) {\n throw new Error(\n `Couldn't resolve the schema of factory ${factory.name} for dim ${JSON.stringify(dimension)}`,\n );\n }\n\n return schema;\n};\n"]}
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var GD77KZDY_cjs = require('./GD77KZDY.cjs');
3
+ var _4PH4IUIJ_cjs = require('./4PH4IUIJ.cjs');
4
4
  var YJF4D23A_cjs = require('./YJF4D23A.cjs');
5
5
 
6
6
  // src/utils.ts
7
7
  var extractSchemaFromFactory = /* @__PURE__ */ YJF4D23A_cjs.__name((factory, dimension) => {
8
- const schema = (factory.dimensionToSchemaMap.byDimension && Object.values(factory.dimensionToSchemaMap.byDimension).find(([dim]) => GD77KZDY_cjs.serializeDimensions(dim) === GD77KZDY_cjs.serializeDimensions(dimension))?.[1]) ?? factory.dimensionToSchemaMap.base;
8
+ const schema = (factory.dimensionToSchemaMap.byDimension && Object.values(factory.dimensionToSchemaMap.byDimension).find(([dim]) => _4PH4IUIJ_cjs.serializeDimensions(dim) === _4PH4IUIJ_cjs.serializeDimensions(dimension))?.[1]) ?? factory.dimensionToSchemaMap.base;
9
9
  if (!schema?.shape) {
10
10
  throw new Error(`Couldn't resolve the schema of factory ${factory.name} for dim ${JSON.stringify(dimension)}`);
11
11
  }
@@ -13,5 +13,5 @@ var extractSchemaFromFactory = /* @__PURE__ */ YJF4D23A_cjs.__name((factory, dim
13
13
  }, "extractSchemaFromFactory");
14
14
 
15
15
  exports.extractSchemaFromFactory = extractSchemaFromFactory;
16
- //# sourceMappingURL=BJOVDE43.cjs.map
17
- //# sourceMappingURL=BJOVDE43.cjs.map
16
+ //# sourceMappingURL=US7PO75F.cjs.map
17
+ //# sourceMappingURL=US7PO75F.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils.ts"],"names":["extractSchemaFromFactory","__name","factory","dimension","schema","dimensionToSchemaMap","byDimension","Object","values","find","dim","serializeDimensions","base","shape","Error","name","JSON","stringify"],"mappings":";;;;;;AAOO,IAAMA,wBAAAA,mBAA2BC,mBAAA,CAAA,CACpCC,OAAAA,EACAC,SAAAA,KAAAA;AAEA,EAAA,MAAMC,MAAAA,GAAAA,CACDF,OAAAA,CAAQG,oBAAAA,CAAqBC,WAAAA,IAC1BC,MAAAA,CAAOC,OAAON,OAAAA,CAAQG,oBAAAA,CAAqBC,WAAW,CAAA,CAAoBG,IAAAA,CACtE,CAAC,CAACC,GAAAA,CAAAA,KAASC,gCAAAA,CAAoBD,GAAAA,CAAAA,KAASC,gCAAAA,CAAoBR,SAAAA,CAAAA,CAAAA,GAC5D,CAAA,CAAA,KACRD,OAAAA,CAAQG,oBAAAA,CAAqBO,IAAAA;AACjC,EAAA,IAAI,CAACR,QAAQS,KAAAA,EAAO;AAChB,IAAA,MAAM,IAAIC,KAAAA,CACN,CAAA,uCAAA,EAA0CZ,OAAAA,CAAQa,IAAI,YAAYC,IAAAA,CAAKC,SAAAA,CAAUd,SAAAA,CAAAA,CAAAA,CAAY,CAAA;AAErG,EAAA;AAEA,EAAA,OAAOC,MAAAA;AACX,CAAA,EAjBwC,0BAAA","file":"BJOVDE43.cjs","sourcesContent":["import type z from 'zod/v4';\n\nimport type { AdvancedRecord } from '@layerzerolabs/typescript-utils';\n\nimport type { Factory } from './definitions';\nimport { type FactoryDefinition, serializeDimensions } from './definitions';\n\nexport const extractSchemaFromFactory = <Dim extends z.ZodObject>(\n factory: FactoryDefinition<any, Dim, any, any, any> | Factory<any, any, any, any>,\n dimension: z.infer<Dim>,\n): z.ZodObject => {\n const schema =\n (factory.dimensionToSchemaMap.byDimension &&\n Object.values(factory.dimensionToSchemaMap.byDimension as AdvancedRecord).find(\n ([dim]) => serializeDimensions(dim) === serializeDimensions(dimension),\n )?.[1]) ??\n factory.dimensionToSchemaMap.base;\n if (!schema?.shape) {\n throw new Error(\n `Couldn't resolve the schema of factory ${factory.name} for dim ${JSON.stringify(dimension)}`,\n );\n }\n\n return schema;\n};\n"]}
1
+ {"version":3,"sources":["../src/utils.ts"],"names":["extractSchemaFromFactory","__name","factory","dimension","schema","dimensionToSchemaMap","byDimension","Object","values","find","dim","serializeDimensions","base","shape","Error","name","JSON","stringify"],"mappings":";;;;;;AAOO,IAAMA,wBAAAA,mBAA2BC,mBAAA,CAAA,CACpCC,OAAAA,EACAC,SAAAA,KAAAA;AAEA,EAAA,MAAMC,MAAAA,GAAAA,CACDF,OAAAA,CAAQG,oBAAAA,CAAqBC,WAAAA,IAC1BC,MAAAA,CAAOC,OAAON,OAAAA,CAAQG,oBAAAA,CAAqBC,WAAW,CAAA,CAAoBG,IAAAA,CACtE,CAAC,CAACC,GAAAA,CAAAA,KAASC,iCAAAA,CAAoBD,GAAAA,CAAAA,KAASC,iCAAAA,CAAoBR,SAAAA,CAAAA,CAAAA,GAC5D,CAAA,CAAA,KACRD,OAAAA,CAAQG,oBAAAA,CAAqBO,IAAAA;AACjC,EAAA,IAAI,CAACR,QAAQS,KAAAA,EAAO;AAChB,IAAA,MAAM,IAAIC,KAAAA,CACN,CAAA,uCAAA,EAA0CZ,OAAAA,CAAQa,IAAI,YAAYC,IAAAA,CAAKC,SAAAA,CAAUd,SAAAA,CAAAA,CAAAA,CAAY,CAAA;AAErG,EAAA;AAEA,EAAA,OAAOC,MAAAA;AACX,CAAA,EAjBwC,0BAAA","file":"US7PO75F.cjs","sourcesContent":["import type z from 'zod/v4';\n\nimport type { AdvancedRecord } from '@layerzerolabs/typescript-utils';\n\nimport type { Factory } from './definitions';\nimport { type FactoryDefinition, serializeDimensions } from './definitions';\n\nexport const extractSchemaFromFactory = <Dim extends z.ZodObject>(\n factory: FactoryDefinition<any, Dim, any, any, any> | Factory<any, any, any, any>,\n dimension: z.infer<Dim>,\n): z.ZodObject => {\n const schema =\n (factory.dimensionToSchemaMap.byDimension &&\n Object.values(factory.dimensionToSchemaMap.byDimension as AdvancedRecord).find(\n ([dim]) => serializeDimensions(dim) === serializeDimensions(dimension),\n )?.[1]) ??\n factory.dimensionToSchemaMap.base;\n if (!schema?.shape) {\n throw new Error(\n `Couldn't resolve the schema of factory ${factory.name} for dim ${JSON.stringify(dimension)}`,\n );\n }\n\n return schema;\n};\n"]}
@@ -1,21 +1,21 @@
1
1
  'use strict';
2
2
 
3
- var GD77KZDY_cjs = require('./GD77KZDY.cjs');
3
+ var _4PH4IUIJ_cjs = require('./4PH4IUIJ.cjs');
4
4
  require('./YJF4D23A.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "FactoryDefinition", {
9
9
  enumerable: true,
10
- get: function () { return GD77KZDY_cjs.FactoryDefinition; }
10
+ get: function () { return _4PH4IUIJ_cjs.FactoryDefinition; }
11
11
  });
12
12
  Object.defineProperty(exports, "ObjectDefinition", {
13
13
  enumerable: true,
14
- get: function () { return GD77KZDY_cjs.ObjectDefinition; }
14
+ get: function () { return _4PH4IUIJ_cjs.ObjectDefinition; }
15
15
  });
16
16
  Object.defineProperty(exports, "serializeDimensions", {
17
17
  enumerable: true,
18
- get: function () { return GD77KZDY_cjs.serializeDimensions; }
18
+ get: function () { return _4PH4IUIJ_cjs.serializeDimensions; }
19
19
  });
20
20
  //# sourceMappingURL=definitions.cjs.map
21
21
  //# sourceMappingURL=definitions.cjs.map
@@ -86,10 +86,10 @@ export type Definition<Name extends string> = FactoryDefinition<Name, any, any,
86
86
  */
87
87
  export type ResolvedDefinition<Definition extends DependencyNode<any, any>> = Definition extends ObjectDefinition<any, infer Schema, any> ? z.infer<Schema> : Definition extends FactoryDefinition<any, infer Dim, infer Specialization, infer DMap, any> ? Factory<Definition['dependencies'], Dim, Specialization, DMap> : Definition extends FactoryDefinition<any, any, any, any, any> ? Factory<Definition['dependencies'], Definition['dimensions'], Definition['specialization'], Definition['dimensionToSchemaMap']> : unknown;
88
88
  /**
89
- * Given a record from string to definition, maps each definition T to ResolvedDefinition<T>
89
+ * Given a record from string to definition, maps each definition T to ResolvedDefinition<T>. Removes `definition` suffix from name
90
90
  */
91
91
  export type ResolvedDefinitionMap<Deps extends Dependencies> = {
92
- [Key in keyof Deps]: ResolvedDefinition<Deps[Key]>;
92
+ [Key in keyof Deps as Key extends `${infer Name}Definition` ? Name : Key]: ResolvedDefinition<Deps[Key]>;
93
93
  };
94
94
  /**
95
95
  * For some factory definition F and some dimension D s.t. D ⊇ F.dimensions, infers the expected return type of
@@ -100,7 +100,7 @@ export type ResolvedFactoryImplementation<Definition extends DependencyNode<any,
100
100
  * Given a record from string to definition and some dimension D, maps each definition T to ResolvedFactoryImplementation<T, D>
101
101
  */
102
102
  export type ResolvedFactoryImplementationMap<Deps extends Dependencies, Dim> = RemoveNever<{
103
- [Key in keyof Deps]: ResolvedFactoryImplementation<Deps[Key], Dim>;
103
+ [Key in keyof Deps as Key extends `${infer Name}Definition` ? Name : Key]: ResolvedFactoryImplementation<Deps[Key], Dim>;
104
104
  }>;
105
105
  type ActivityFactoryContext<_FactoryDefinition extends FactoryDefinition<any, any, any, any, any>, Dim> = {
106
106
  getFunctionPointer: <MethodName extends MethodNameOf<ResolvedFactoryImplementation<_FactoryDefinition, Dim>>>(methodName: MethodName) => FunctionPointer<ResolvedFactoryImplementation<_FactoryDefinition, Dim>[MethodName]>;
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { FactoryDefinition, ObjectDefinition, serializeDimensions } from './3GFGHSFN.js';
1
+ export { FactoryDefinition, ObjectDefinition, serializeDimensions } from './JEI24WXY.js';
2
2
  import './VUOMXK5T.js';
3
3
  //# sourceMappingURL=definitions.js.map
4
4
  //# sourceMappingURL=definitions.js.map
package/dist/index.cjs CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  var JKTGUQY4_cjs = require('./JKTGUQY4.cjs');
4
4
  var OLE2MTBK_cjs = require('./OLE2MTBK.cjs');
5
- var BJOVDE43_cjs = require('./BJOVDE43.cjs');
6
- var GD77KZDY_cjs = require('./GD77KZDY.cjs');
5
+ var US7PO75F_cjs = require('./US7PO75F.cjs');
6
+ var _4PH4IUIJ_cjs = require('./4PH4IUIJ.cjs');
7
7
  require('./YJF4D23A.cjs');
8
8
 
9
9
 
@@ -18,19 +18,19 @@ Object.defineProperty(exports, "RegistrarBuilder", {
18
18
  });
19
19
  Object.defineProperty(exports, "extractSchemaFromFactory", {
20
20
  enumerable: true,
21
- get: function () { return BJOVDE43_cjs.extractSchemaFromFactory; }
21
+ get: function () { return US7PO75F_cjs.extractSchemaFromFactory; }
22
22
  });
23
23
  Object.defineProperty(exports, "FactoryDefinition", {
24
24
  enumerable: true,
25
- get: function () { return GD77KZDY_cjs.FactoryDefinition; }
25
+ get: function () { return _4PH4IUIJ_cjs.FactoryDefinition; }
26
26
  });
27
27
  Object.defineProperty(exports, "ObjectDefinition", {
28
28
  enumerable: true,
29
- get: function () { return GD77KZDY_cjs.ObjectDefinition; }
29
+ get: function () { return _4PH4IUIJ_cjs.ObjectDefinition; }
30
30
  });
31
31
  Object.defineProperty(exports, "serializeDimensions", {
32
32
  enumerable: true,
33
- get: function () { return GD77KZDY_cjs.serializeDimensions; }
33
+ get: function () { return _4PH4IUIJ_cjs.serializeDimensions; }
34
34
  });
35
35
  //# sourceMappingURL=index.cjs.map
36
36
  //# sourceMappingURL=index.cjs.map
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export { DependencyStore } from './JJBD65HU.js';
2
2
  export { RegistrarBuilder } from './RGGHMCTO.js';
3
- export { extractSchemaFromFactory } from './P5NNX2LK.js';
4
- export { FactoryDefinition, ObjectDefinition, serializeDimensions } from './3GFGHSFN.js';
3
+ export { extractSchemaFromFactory } from './TATWOZXS.js';
4
+ export { FactoryDefinition, ObjectDefinition, serializeDimensions } from './JEI24WXY.js';
5
5
  import './VUOMXK5T.js';
6
6
  //# sourceMappingURL=index.js.map
7
7
  //# sourceMappingURL=index.js.map
package/dist/utils.cjs CHANGED
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var BJOVDE43_cjs = require('./BJOVDE43.cjs');
4
- require('./GD77KZDY.cjs');
3
+ var US7PO75F_cjs = require('./US7PO75F.cjs');
4
+ require('./4PH4IUIJ.cjs');
5
5
  require('./YJF4D23A.cjs');
6
6
 
7
7
 
8
8
 
9
9
  Object.defineProperty(exports, "extractSchemaFromFactory", {
10
10
  enumerable: true,
11
- get: function () { return BJOVDE43_cjs.extractSchemaFromFactory; }
11
+ get: function () { return US7PO75F_cjs.extractSchemaFromFactory; }
12
12
  });
13
13
  //# sourceMappingURL=utils.cjs.map
14
14
  //# sourceMappingURL=utils.cjs.map
package/dist/utils.js CHANGED
@@ -1,5 +1,5 @@
1
- export { extractSchemaFromFactory } from './P5NNX2LK.js';
2
- import './3GFGHSFN.js';
1
+ export { extractSchemaFromFactory } from './TATWOZXS.js';
2
+ import './JEI24WXY.js';
3
3
  import './VUOMXK5T.js';
4
4
  //# sourceMappingURL=utils.js.map
5
5
  //# sourceMappingURL=utils.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@layerzerolabs/base-definitions",
3
- "version": "0.0.44",
3
+ "version": "0.0.45",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -15,16 +15,16 @@
15
15
  "types": "./dist/index.d.ts",
16
16
  "dependencies": {
17
17
  "zod": "^3.23.8",
18
- "@layerzerolabs/common-utils": "0.0.44",
19
- "@layerzerolabs/dependency-graph": "0.0.44",
20
- "@layerzerolabs/dfs": "0.0.44",
21
- "@layerzerolabs/typescript-utils": "0.0.44"
18
+ "@layerzerolabs/common-utils": "0.0.45",
19
+ "@layerzerolabs/dependency-graph": "0.0.45",
20
+ "@layerzerolabs/dfs": "0.0.45",
21
+ "@layerzerolabs/typescript-utils": "0.0.45"
22
22
  },
23
23
  "devDependencies": {
24
24
  "tsup": "^8.4.0",
25
25
  "vitest": "^3.2.3",
26
- "@layerzerolabs/tsup-configuration": "0.0.44",
27
- "@layerzerolabs/typescript-configuration": "0.0.44"
26
+ "@layerzerolabs/tsup-configuration": "0.0.45",
27
+ "@layerzerolabs/typescript-configuration": "0.0.45"
28
28
  },
29
29
  "publishConfig": {
30
30
  "access": "restricted",
@@ -213,10 +213,12 @@ export type ResolvedDefinition<Definition extends DependencyNode<any, any>> =
213
213
  : unknown;
214
214
 
215
215
  /**
216
- * Given a record from string to definition, maps each definition T to ResolvedDefinition<T>
216
+ * Given a record from string to definition, maps each definition T to ResolvedDefinition<T>. Removes `definition` suffix from name
217
217
  */
218
218
  export type ResolvedDefinitionMap<Deps extends Dependencies> = {
219
- [Key in keyof Deps]: ResolvedDefinition<Deps[Key]>;
219
+ [Key in keyof Deps as Key extends `${infer Name}Definition` ? Name : Key]: ResolvedDefinition<
220
+ Deps[Key]
221
+ >;
220
222
  };
221
223
 
222
224
  /**
@@ -239,7 +241,9 @@ export type ResolvedFactoryImplementation<Definition extends DependencyNode<any,
239
241
  * Given a record from string to definition and some dimension D, maps each definition T to ResolvedFactoryImplementation<T, D>
240
242
  */
241
243
  export type ResolvedFactoryImplementationMap<Deps extends Dependencies, Dim> = RemoveNever<{
242
- [Key in keyof Deps]: ResolvedFactoryImplementation<Deps[Key], Dim>;
244
+ [Key in keyof Deps as Key extends `${infer Name}Definition`
245
+ ? Name
246
+ : Key]: ResolvedFactoryImplementation<Deps[Key], Dim>;
243
247
  }>;
244
248
 
245
249
  type ActivityFactoryContext<