multiformats / multiformats/js-multiformats
Generated Typescript types fail to compile, are missing some generic arguments
Open
@Gozala is already working on this.
Since Nov 5, 2020.
status/ready
- Dominant language
- TypeScript
- Stars
- 268
- Forks
- 57
- PR merge metrics
- No merged PRs in 30d
Description
Hi, all. The generated .d.ts files are missing some generic arguments, making builds fail when using these type definitions. For instance, in base.d.ts:
declare class ComposedDecoder<Prefix extends string> implements MultibaseDecoder, CombobaseDecoder {
MultibaseDecoder and CombobaseDecoder both require a Prefix generic type argument, but none is supplied.
This is the full set of errors I encountered, but it may not be exhaustive, since I'm not importing all submodules:
../../node_modules/multiformats/dist/types/bases/base.d.ts:16:75 - error TS2314: Generic type 'MultibaseCodec' requires 1 type argument(s).
16 export class Codec<Base extends string, Prefix extends string> implements MultibaseCodec, MultibaseEncoder, MultibaseDecoder, BaseCodec, BaseEncoder, BaseDecoder {
~~~~~~~~~~~~~~
../../node_modules/multiformats/dist/types/bases/base.d.ts:16:91 - error TS2314: Generic type 'MultibaseEncoder' requires 1 type argument(s).
16 export class Codec<Base extends string, Prefix extends string> implements MultibaseCodec, MultibaseEncoder, MultibaseDecoder, BaseCodec, BaseEncoder, BaseDecoder {
~~~~~~~~~~~~~~~~
../../node_modules/multiformats/dist/types/bases/base.d.ts:16:109 - error TS2314: Generic type 'MultibaseDecoder' requires 1 type argument(s).
16 export class Codec<Base extends string, Prefix extends string> implements MultibaseCodec, MultibaseEncoder, MultibaseDecoder, BaseCodec, BaseEncoder, BaseDecoder {
~~~~~~~~~~~~~~~~
../../node_modules/multiformats/dist/types/bases/base.d.ts:94:78 - error TS2314: Generic type 'MultibaseEncoder' requires 1 type argument(s).
94 declare class Encoder<Base extends string, Prefix extends string> implements MultibaseEncoder, BaseEncoder {
~~~~~~~~~~~~~~~~
../../node_modules/multiformats/dist/types/bases/base.d.ts:132:78 - error TS2314: Generic type 'MultibaseDecoder' requires 1 type argument(s).
132 declare class Decoder<Base extends string, Prefix extends string> implements MultibaseDecoder, UnibaseDecoder, BaseDecoder {
~~~~~~~~~~~~~~~~
../../node_modules/multiformats/dist/types/bases/base.d.ts:132:96 - error TS2314: Generic type 'UnibaseDecoder' requires 1 type argument(s).
132 declare class Decoder<Base extends string, Prefix extends string> implements MultibaseDecoder, UnibaseDecoder, BaseDecoder {
~~~~~~~~~~~~~~
../../node_modules/multiformats/dist/types/bases/base.d.ts:166:65 - error TS2314: Generic type 'MultibaseDecoder' requires 1 type argument(s).
166 declare class ComposedDecoder<Prefix extends string> implements MultibaseDecoder, CombobaseDecoder {
~~~~~~~~~~~~~~~~
../../node_modules/multiformats/dist/types/bases/base.d.ts:166:83 - error TS2314: Generic type 'CombobaseDecoder' requires 1 type argument(s).
166 declare class ComposedDecoder<Prefix extends string> implements MultibaseDecoder, CombobaseDecoder {
~~~~~~~~~~~~~~~~
../../node_modules/multiformats/dist/types/codecs/codec.d.ts:19:78 - error TS2314: Generic type 'BlockEncoder' requires 2 type argument(s).
19 export class Encoder<T, Name extends string, Code extends number> implements BlockEncoder {
~~~~~~~~~~~~
../../node_modules/multiformats/dist/types/codecs/codec.d.ts:41:57 - error TS2314: Generic type 'BlockDecoder' requires 2 type argument(s).
41 export class Decoder<Code extends number, T> implements BlockDecoder {
~~~~~~~~~~~~
../../node_modules/multiformats/dist/types/codecs/codec.d.ts:64:76 - error TS2314: Generic type 'BlockCodec' requires 2 type argument(s).
64 export class Codec<Name extends string, Code extends number, T> implements BlockCodec {
~~~~~~~~~~
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.