Commit Graph

13 Commits

Author SHA1 Message Date
Glen Whitney 9abea5c484 issue: deepkit doesn't reflect types imported via `import type` 2023-08-16 21:46:10 -07:00
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 eff68e5ac2 doc: note possible need for extra installation step 2023-08-15 17:04:30 -07:00
Glen Whitney 479a484011 feat: Deepkit provides type info for case that typescript-rtti failed 2023-08-15 16:50:24 -07:00
Glen Whitney 16da30d865 doc: add command to create package.json in obj directory 2023-08-15 11:05:11 -07:00
Glen Whitney 7243277546 chore: update typescript to latest 2023-08-15 10:58:58 -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
Glen Whitney 3fa216d1f4 refactor: Major simplification in providing implementation types (#2)
This PR is an effort to address #1. It removes all boilerplate
  from individual implementation files, and moves it into
  a small, fixed section in the single `all.ts` module for each
  type that collects up all of the implementations relating
  to that type.

Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Reviewed-on: #2
2022-12-19 23:50:24 +00:00
Glen Whitney 29bcab1639 style: whitespace fixes 2022-12-19 17:14:26 -05:00
Glen Whitney ccc6153786 feat: TypeScript typings for Dispatcher implementations
A first pass at specifying some implementations in TypeScript
  that actually compiles. It doesn't do anything, as installing
  types and operation specifications are currently dummy operations,
  but they are all invoked.
2022-12-06 20:21:05 -05:00
Glen Whitney 2a9039ac67 experiment: Can't put code in declare sections :-) 2022-12-06 12:10:18 -05:00
Glen Whitney 78f3975d54 chore: pnpm init and add TypeScript 2022-12-02 09:15:25 -05:00
Glen Whitney 215a36a847 Initial commit 2022-12-02 14:04:53 +00:00