![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
A dependable promises and async utility belt.
ExtensiblePromise
: a safe to extend promise class.CancellablePromise
: a cancellable promise.
DeferredPromise
: an externally actionable promise.
LazyPromise
: a promise that will not execute until awaited.
SyncPromise
: a promise with values synchronously available and operable.
control
: for async flow control via generators.isPromise
: a type guard for promises.isPromiseLike
: a type guard for thenable objects.control(test: Function, generator: Function): Function
Used to control async flow. It returns a promise returning function taking the same arguments as generator
.
test
: a test function (can be async
) that will be run before calling each next()
on generator
, with signature () => Promise<boolean | Error> | boolean | Error
. It can return:
false
: generator
will not continue execution (it will never resolve).true
: generator
will continue execution until the next yield
.Error
: generator
call will return a rejected promise. The same behavior can be expected if the error is thrown instead of returned.generator
: must be a generator function. Within it, you'd use yield
as you would await
for an async
function.import { control } from 'promist';
function* gen(n) {
// You can use yield as you'd use await
let res = yield Promise.resolve(n * 2);
// test() will be called here,
// if it returns falsy or throws an error this next line won't execute
res = yield Promise.resolve(res * 5);
return res;
}
const willContinue = control(() => true, gen);
const willNotContinue = control(() => false, gen);
const willReject = control(() => new Error('An error ocurred'), gen);
willContinue(1).then(console.log); // 10
willNotContinue(2).then(console.log); // Will not resolve
willReject(3).then(console.log).catch(console.error); // Error: An error occurred
isPromise(value: any): boolean
Returns true
if value
is a thenable and catchable, false
otherwise.
value
: object to test.import { isPromise } from 'promist';
if (isPromise(promise)) {
promise.then(() => { /* ... */ }).catch(() => { /* ... */ });
}
isPromiseLike(value: any): boolean
Returns true
if value
is a thenable, false
otherwise.
value
: object to test.import { isPromiseLike } from 'promist';
if (isPromiseLike(promise)) {
promise.then(() => { /* ... */ });
}
FAQs
A dependable promises and async utility belt
The npm package promist receives a total of 734 weekly downloads. As such, promist popularity was classified as not popular.
We found that promist demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.