josdejong/mathjs

Easier types when working with "create"

Open

#2,322 opened on Sep 21, 2021

View on GitHub
 (1 comment) (0 reactions) (0 assignees)JavaScript (1,298 forks)batch import
bughelp wantedtypescript

Repository metrics

Stars
 (13,832 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

I followed the custom bundling docs and created my own instance of math.js, like this:

const math = create({ addDependencies, bignumberDependencies, divideDependencies, meanDependencies }, config);
const mbn = this.math.bignumber!;

What I don't like is that I have to use the ! non-null assertion operator, even if it is clear that the bignumber property should be non-null (as per the bignumberDependencies object passed to create).

I further had to disable the @typescript-eslint/no-non-null-assertion ESLint rule, because the lint task was failing.

My feature request: let the compiler know that the objects returned by create are non-null, based on the inputs provided.

Contributor guide