Commit Graph

2 Commits

Author SHA1 Message Date
Glen Whitney 58f0250ab4 issue: deepkit punts on complicated template instantions/intersections
The most troubling example is found in `src/complex/arithmetic.ts`,
  where (as one can see by carefully screening the output when you
  run src/index.ts) deepkit reports the type of

  ```
  Dependencies<'absquare', X> & Dependencies<'add', Returns<'absquare', X>>
  ```

  to be `any` (look for the line starting "Because { kind: 1," in the output;
  kind: 1 is deepkit's code for `any`. It doesn't even give a syntactic
  description of the type as say the intersection of two instances of the
  Dependencies generic type, which would be good enough (if we got the
  string parameters to the generics).
2023-08-16 12:57:48 -07:00
Glen Whitney cc1e66c054 Declare implementations and dependencies via standard interfaces for operations (#8)
Adds a new subdirectory `interfaces` where standard interfaces
  are defined. Additional interfaces for a given operation can
  be added with an `AliasOf` type operator. Provides type
  operators that give the return type, full function type, and
  the type of a dependency on, a given operator.

  Resolves #6.

Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
Reviewed-on: #8
2023-01-22 01:34:57 +00:00