@solana/codecs-data-structures 2.0.0-experimental.fb51adb → 2.0.0-experimental.fb655dd

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.
@@ -43,21 +43,6 @@ export type GetDataEnumKind<T extends DataEnum, K extends T['__kind']> = Extract
43
43
  export type GetDataEnumKindContent<T extends DataEnum, K extends T['__kind']> = Omit<Extract<T, {
44
44
  __kind: K;
45
45
  }>, '__kind'>;
46
- /** Get the name and encoder of each variant in a data enum. */
47
- export type DataEnumToEncoderTuple<TFrom extends DataEnum> = Array<TFrom extends never ? never : [
48
- TFrom['__kind'],
49
- keyof Omit<TFrom, '__kind'> extends never ? Encoder<Omit<TFrom, '__kind'>> | Encoder<void> : Encoder<Omit<TFrom, '__kind'>>
50
- ]>;
51
- /** Get the name and decoder of each variant in a data enum. */
52
- export type DataEnumToDecoderTuple<TTo extends DataEnum> = Array<TTo extends never ? never : [
53
- TTo['__kind'],
54
- keyof Omit<TTo, '__kind'> extends never ? Decoder<Omit<TTo, '__kind'>> | Decoder<void> : Decoder<Omit<TTo, '__kind'>>
55
- ]>;
56
- /** Get the name and codec of each variant in a data enum. */
57
- export type DataEnumToCodecTuple<TFrom extends DataEnum, TTo extends TFrom = TFrom> = Array<TFrom extends never ? never : [
58
- TFrom['__kind'],
59
- keyof Omit<TFrom, '__kind'> extends never ? Codec<Omit<TFrom, '__kind'>, Omit<TTo, '__kind'>> | Codec<void> : Codec<Omit<TFrom, '__kind'>, Omit<TTo, '__kind'>>
60
- ]>;
61
46
  /** Defines the config for data enum codecs. */
62
47
  export type DataEnumCodecConfig<TDiscriminator = NumberCodec | NumberEncoder | NumberDecoder> = {
63
48
  /**
@@ -66,25 +51,38 @@ export type DataEnumCodecConfig<TDiscriminator = NumberCodec | NumberEncoder | N
66
51
  */
67
52
  size?: TDiscriminator;
68
53
  };
54
+ type Variants<T> = readonly (readonly [string, T])[];
55
+ type ArrayIndices<T extends readonly unknown[]> = Exclude<Partial<T>['length'], T['length']> & number;
56
+ type GetEncoderTypeFromVariants<TVariants extends Variants<Encoder<any>>> = {
57
+ [I in ArrayIndices<TVariants>]: {
58
+ __kind: TVariants[I][0];
59
+ } & (TVariants[I][1] extends Encoder<infer TFrom> ? TFrom extends object ? TFrom : object : never);
60
+ }[ArrayIndices<TVariants>];
61
+ type GetDecoderTypeFromVariants<TVariants extends Variants<Decoder<any>>> = {
62
+ [I in ArrayIndices<TVariants>]: {
63
+ __kind: TVariants[I][0];
64
+ } & (TVariants[I][1] extends Decoder<infer TTo> ? TTo extends object ? TTo : object : never);
65
+ }[ArrayIndices<TVariants>];
69
66
  /**
70
67
  * Creates a data enum encoder.
71
68
  *
72
69
  * @param variants - The variant encoders of the data enum.
73
70
  * @param config - A set of config for the encoder.
74
71
  */
75
- export declare function getDataEnumEncoder<TFrom extends DataEnum>(variants: DataEnumToEncoderTuple<TFrom>, config?: DataEnumCodecConfig<NumberEncoder>): Encoder<TFrom>;
72
+ export declare function getDataEnumEncoder<const TVariants extends Variants<Encoder<any>>>(variants: TVariants, config?: DataEnumCodecConfig<NumberEncoder>): Encoder<GetEncoderTypeFromVariants<TVariants>>;
76
73
  /**
77
74
  * Creates a data enum decoder.
78
75
  *
79
76
  * @param variants - The variant decoders of the data enum.
80
77
  * @param config - A set of config for the decoder.
81
78
  */
82
- export declare function getDataEnumDecoder<T extends DataEnum>(variants: DataEnumToDecoderTuple<T>, config?: DataEnumCodecConfig<NumberDecoder>): Decoder<T>;
79
+ export declare function getDataEnumDecoder<const TVariants extends Variants<Decoder<any>>>(variants: TVariants, config?: DataEnumCodecConfig<NumberDecoder>): Decoder<GetDecoderTypeFromVariants<TVariants>>;
83
80
  /**
84
81
  * Creates a data enum codec.
85
82
  *
86
83
  * @param variants - The variant codecs of the data enum.
87
84
  * @param config - A set of config for the codec.
88
85
  */
89
- export declare function getDataEnumCodec<T extends DataEnum, U extends T = T>(variants: DataEnumToCodecTuple<T, U>, config?: DataEnumCodecConfig<NumberCodec>): Codec<T, U>;
86
+ export declare function getDataEnumCodec<const TVariants extends Variants<Codec<any, any>>>(variants: TVariants, config?: DataEnumCodecConfig<NumberCodec>): Codec<GetEncoderTypeFromVariants<TVariants>, GetDecoderTypeFromVariants<TVariants> & GetEncoderTypeFromVariants<TVariants>>;
87
+ export {};
90
88
  //# sourceMappingURL=data-enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-enum.d.ts","sourceRoot":"","sources":["../../src/data-enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,EAIL,OAAO,EACP,OAAO,EAGV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAA8B,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI/G;;;;;;;;;GASG;AACH,MAAM,MAAM,QAAQ,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAEnG;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAChF,OAAO,CAAC,CAAC,EAAE;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC,EACzB,QAAQ,CACX,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,sBAAsB,CAAC,KAAK,SAAS,QAAQ,IAAI,KAAK,CAC9D,KAAK,SAAS,KAAK,GACb,KAAK,GACL;IACI,KAAK,CAAC,QAAQ,CAAC;IACf,MAAM,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,KAAK,GACnC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAC9C,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;CACvC,CACV,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,sBAAsB,CAAC,GAAG,SAAS,QAAQ,IAAI,KAAK,CAC5D,GAAG,SAAS,KAAK,GACX,KAAK,GACL;IACI,GAAG,CAAC,QAAQ,CAAC;IACb,MAAM,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,KAAK,GACjC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAC5C,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;CACrC,CACV,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,oBAAoB,CAAC,KAAK,SAAS,QAAQ,EAAE,GAAG,SAAS,KAAK,GAAG,KAAK,IAAI,KAAK,CACvF,KAAK,SAAS,KAAK,GACb,KAAK,GACL;IACI,KAAK,CAAC,QAAQ,CAAC;IACf,MAAM,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,KAAK,GACnC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAC/D,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;CAC1D,CACV,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,mBAAmB,CAAC,cAAc,GAAG,WAAW,GAAG,aAAa,GAAG,aAAa,IAAI;IAC5F;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,QAAQ,EACrD,QAAQ,EAAE,sBAAsB,CAAC,KAAK,CAAC,EACvC,MAAM,GAAE,mBAAmB,CAAC,aAAa,CAAM,GAChD,OAAO,CAAC,KAAK,CAAC,CAwBhB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EACjD,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,EACnC,MAAM,GAAE,mBAAmB,CAAC,aAAa,CAAM,GAChD,OAAO,CAAC,CAAC,CAAC,CAsBZ;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAChE,QAAQ,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EACpC,MAAM,GAAE,mBAAmB,CAAC,WAAW,CAAM,GAC9C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAEb"}
1
+ {"version":3,"file":"data-enum.d.ts","sourceRoot":"","sources":["../../src/data-enum.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nullable.d.ts","sourceRoot":"","sources":["../../src/nullable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nullable.d.ts","sourceRoot":"","sources":["../../src/nullable.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scalar-enum.d.ts","sourceRoot":"","sources":["../../src/scalar-enum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scalar-enum.d.ts","sourceRoot":"","sources":["../../src/scalar-enum.ts"],"names":[],"mappings":"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"}
@@ -1,47 +1,32 @@
1
1
  import { Codec, Decoder, Encoder, FixedSizeCodec, FixedSizeDecoder, FixedSizeEncoder, VariableSizeCodec, VariableSizeDecoder, VariableSizeEncoder } from '@solana/codecs-core';
2
- /** Get the name and encoder of each field in a struct. */
3
- export type StructToEncoderTuple<TFrom extends object> = Array<{
4
- [K in keyof TFrom]: [K, Encoder<TFrom[K]>];
5
- }[keyof TFrom]>;
6
- /** Get the name and fixed-size encoder of each field in a struct. */
7
- export type StructToFixedSizeEncoderTuple<TFrom extends object> = Array<{
8
- [K in keyof TFrom]: [K, FixedSizeEncoder<TFrom[K]>];
9
- }[keyof TFrom]>;
10
- /** Get the name and decoder of each field in a struct. */
11
- export type StructToDecoderTuple<TTo extends object> = Array<{
12
- [K in keyof TTo]: [K, Decoder<TTo[K]>];
13
- }[keyof TTo]>;
14
- /** Get the name and fixed-size decoder of each field in a struct. */
15
- export type StructToFixedSizeDecoderTuple<TTo extends object> = Array<{
16
- [K in keyof TTo]: [K, FixedSizeDecoder<TTo[K]>];
17
- }[keyof TTo]>;
18
- /** Get the name and codec of each field in a struct. */
19
- export type StructToCodecTuple<TFrom extends object, TTo extends TFrom> = Array<{
20
- [K in keyof TFrom]: [K, Codec<TFrom[K], TTo[K]>];
21
- }[keyof TFrom]>;
22
- /** Get the name and fixed-size codec of each field in a struct. */
23
- export type StructToFixedSizeCodecTuple<TFrom extends object, TTo extends TFrom> = Array<{
24
- [K in keyof TFrom]: [K, FixedSizeCodec<TFrom[K], TTo[K]>];
25
- }[keyof TFrom]>;
2
+ type Fields<T> = readonly (readonly [string, T])[];
3
+ type ArrayIndices<T extends readonly unknown[]> = Exclude<Partial<T>['length'], T['length']> & number;
4
+ type GetEncoderTypeFromFields<TFields extends Fields<Encoder<any>>> = {
5
+ [I in ArrayIndices<TFields> as TFields[I][0]]: TFields[I][1] extends Encoder<infer TFrom> ? TFrom : never;
6
+ };
7
+ type GetDecoderTypeFromFields<TFields extends Fields<Decoder<any>>> = {
8
+ [I in ArrayIndices<TFields> as TFields[I][0]]: TFields[I][1] extends Decoder<infer TTo> ? TTo : never;
9
+ };
26
10
  /**
27
11
  * Creates a encoder for a custom object.
28
12
  *
29
13
  * @param fields - The name and encoder of each field.
30
14
  */
31
- export declare function getStructEncoder<TFrom extends object>(fields: StructToFixedSizeEncoderTuple<TFrom>): FixedSizeEncoder<TFrom>;
32
- export declare function getStructEncoder<TFrom extends object>(fields: StructToEncoderTuple<TFrom>): VariableSizeEncoder<TFrom>;
15
+ export declare function getStructEncoder<const TFields extends Fields<FixedSizeEncoder<any>>>(fields: TFields): FixedSizeEncoder<GetEncoderTypeFromFields<TFields>>;
16
+ export declare function getStructEncoder<const TFields extends Fields<Encoder<any>>>(fields: TFields): VariableSizeEncoder<GetEncoderTypeFromFields<TFields>>;
33
17
  /**
34
18
  * Creates a decoder for a custom object.
35
19
  *
36
20
  * @param fields - The name and decoder of each field.
37
21
  */
38
- export declare function getStructDecoder<TTo extends object>(fields: StructToFixedSizeDecoderTuple<TTo>): FixedSizeDecoder<TTo>;
39
- export declare function getStructDecoder<TTo extends object>(fields: StructToDecoderTuple<TTo>): VariableSizeDecoder<TTo>;
22
+ export declare function getStructDecoder<const TFields extends Fields<FixedSizeDecoder<any>>>(fields: TFields): FixedSizeDecoder<GetDecoderTypeFromFields<TFields>>;
23
+ export declare function getStructDecoder<const TFields extends Fields<Decoder<any>>>(fields: TFields): VariableSizeDecoder<GetDecoderTypeFromFields<TFields>>;
40
24
  /**
41
25
  * Creates a codec for a custom object.
42
26
  *
43
27
  * @param fields - The name and codec of each field.
44
28
  */
45
- export declare function getStructCodec<TFrom extends object, TTo extends TFrom = TFrom>(fields: StructToFixedSizeCodecTuple<TFrom, TTo>): FixedSizeCodec<TFrom, TTo>;
46
- export declare function getStructCodec<TFrom extends object, TTo extends TFrom = TFrom>(fields: StructToCodecTuple<TFrom, TTo>): VariableSizeCodec<TFrom, TTo>;
29
+ export declare function getStructCodec<const TFields extends Fields<FixedSizeCodec<any>>>(fields: TFields): FixedSizeCodec<GetEncoderTypeFromFields<TFields>, GetDecoderTypeFromFields<TFields> & GetEncoderTypeFromFields<TFields>>;
30
+ export declare function getStructCodec<const TFields extends Fields<Codec<any>>>(fields: TFields): VariableSizeCodec<GetEncoderTypeFromFields<TFields>, GetDecoderTypeFromFields<TFields> & GetEncoderTypeFromFields<TFields>>;
31
+ export {};
47
32
  //# sourceMappingURL=struct.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../../src/struct.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../../src/struct.ts"],"names":[],"mappings":"AACA,OAAO,EACH,KAAK,EAIL,OAAO,EACP,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAEhB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACtB,MAAM,qBAAqB,CAAC;AAI7B,KAAK,MAAM,CAAC,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,KAAK,YAAY,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC;AAEtG,KAAK,wBAAwB,CAAC,OAAO,SAAS,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI;KACjE,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK;CAC5G,CAAC;AAEF,KAAK,wBAAwB,CAAC,OAAO,SAAS,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI;KACjE,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK;CACxG,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,OAAO,SAAS,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAChF,MAAM,EAAE,OAAO,GAChB,gBAAgB,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;AACvD,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,OAAO,SAAS,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EACvE,MAAM,EAAE,OAAO,GAChB,mBAAmB,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;AA4B1D;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,OAAO,SAAS,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAChF,MAAM,EAAE,OAAO,GAChB,gBAAgB,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;AACvD,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,OAAO,SAAS,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EACvE,MAAM,EAAE,OAAO,GAChB,mBAAmB,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;AAuB1D;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,CAAC,OAAO,SAAS,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAC5E,MAAM,EAAE,OAAO,GAChB,cAAc,CACb,wBAAwB,CAAC,OAAO,CAAC,EACjC,wBAAwB,CAAC,OAAO,CAAC,GAAG,wBAAwB,CAAC,OAAO,CAAC,CACxE,CAAC;AACF,wBAAgB,cAAc,CAAC,KAAK,CAAC,OAAO,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EACnE,MAAM,EAAE,OAAO,GAChB,iBAAiB,CAChB,wBAAwB,CAAC,OAAO,CAAC,EACjC,wBAAwB,CAAC,OAAO,CAAC,GAAG,wBAAwB,CAAC,OAAO,CAAC,CACxE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solana/codecs-data-structures",
3
- "version": "2.0.0-experimental.fb51adb",
3
+ "version": "2.0.0-experimental.fb655dd",
4
4
  "description": "Codecs for various data structures",
5
5
  "exports": {
6
6
  "browser": {
@@ -49,8 +49,9 @@
49
49
  "node": ">=17.4"
50
50
  },
51
51
  "dependencies": {
52
- "@solana/codecs-core": "2.0.0-experimental.fb51adb",
53
- "@solana/codecs-numbers": "2.0.0-experimental.fb51adb"
52
+ "@solana/codecs-core": "2.0.0-experimental.fb655dd",
53
+ "@solana/errors": "2.0.0-experimental.fb655dd",
54
+ "@solana/codecs-numbers": "2.0.0-experimental.fb655dd"
54
55
  },
55
56
  "bundlewatch": {
56
57
  "defaultCompression": "gzip",