deepgram-js-sdk icon indicating copy to clipboard operation
deepgram-js-sdk copied to clipboard

Use type instead of interface

Open ryanleecode opened this issue 1 year ago • 1 comments

Proposed changes

Using interface for base types causes a lot of bullshit when it comes to generics trying to consume this type because of index signatures.

All the interface signatures should be converted to type

Context

https://www.totaltypescript.com/type-vs-interface-which-should-you-use

For example the current type signatues cause a lot of problems when trying to make it a deserialization JSON type

type JsonPrimitive = string | number | boolean | null | undefined | Date | symbol;
type JsonArray = Json[];
type JsonRecord<T> = {
    [Property in keyof T]: Json;
};
type Json<T = any> = JsonPrimitive | JsonArray | JsonRecord<T>;

ryanleecode avatar Apr 28 '24 23:04 ryanleecode

@ryanleecode can you spell out exactly what it is that is not working?

lukeocodes avatar May 07 '24 14:05 lukeocodes