A promise helper tool to inline them and reduce indentation-complexity.
npm install @coniface/trial_"I promise before Almighty God that the evidence which I shall give shall be the truth, the whole truth, and nothing
but the truth."_
A great tool to ensure your code keeps its promise!
Use your favorite packet manager:
``shell`
pnpm i @coniface/trial
`shell`
yarn add @coniface/trial
`shell`
npm i @coniface/trial
It could not be simpler than that!
- Reduces promise declaration indentation
`typescriptLet's get to work!
// Instead of
const promise = new Promise((resolve, reject) => {
console.log();`
});
`typescript
import { getTrial } from '@coniface/trial';
// Inline your promise
const [promise, resolve, reject] = getTrial
console.log(Let's get to work!);`
> ℹ Since early 2024, it became part of the Promise API
> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/withResolvers
- Encourages the use of strong typings instead of try/catch blocks
`typescriptLet's get to work!
// Instead of
async function somewhereInYourCode
try {
const result = await promise;
console.log();`
} catch (error) {
console.error('An error occured', error);
}
}
`typescript
import { trial } from '@coniface/trial';
// Use typings and inline your code
async function somewhereInYourCode
const [data, error] = await trial(promise);
if (error) {
// error exists in this context
// data type is never
console.error('An error occured', error);
return;
}
// error does not exist in this context
// data type is T
console.log(Let's get to work!);`
}
- trial` is a concise 5-letter word to use as a function.
- The reference to the promise in tribunal.
- The result (guilty / not guilty) that matches with a promise state (resolved / rejected).