A final (?) prototype for a refactor of mathjs, culminating the picomath, pocomath, typomath series. Provides an extensible core with "fuzzy" types for its operations, that can at any time generate exact .d.ts file for its current state.
Glen Whitney
58f0250ab4
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). |
||
---|---|---|
src | ||
.gitignore | ||
LICENSE | ||
package.json5 | ||
pnpm-lock.yaml | ||
README.md | ||
tsconfig.json |
typocomath
A final (?) prototype for a refactor of mathjs, culminating the picomath, pocomath, typomath series. Provides an extensible core with "fuzzy" types for its operations, that can at any time generate exact .d.ts file for its current state.
To build and run the prototype, run:
npx tsc
echo '{"type": "module"}' > obj/package.json
node obj
Installation note: after doing pnpm install
if the above compilation/run commands don't seem to work, execute npx deepkit-type-install
and try again.