soda-material
Version:
A React(>=18) component library that may follow [Material Design 3](https://m3.material.io/components) (a.k.a. Material You)
34 lines (30 loc) • 992 B
text/typescript
declare global {
interface Array<T> {
toReversed(): T[]
toSpliced(start: number, deleteCount?: number): T[]
toSpliced(start: number, deleteCount: number, ...items: T[]): T[]
}
interface PromiseConstructor {
withResolvers<T>(): {
promise: Promise<T>
resolve: (value: T | PromiseLike<T>) => void
// eslint-disable-next-line @typescript-eslint/no-explicit-any
reject: (reason?: any) => void
}
}
}
if (!Promise.withResolvers) {
// for chrome<119
Promise.withResolvers = <T>() => {
let resolve: (value: T | PromiseLike<T>) => void
// eslint-disable-next-line @typescript-eslint/no-explicit-any
let reject: (reason?: any) => void
const promise = new Promise<T>((res, rej) => {
resolve = res
reject = rej
})
//@ts-expect-error - this is just correct
return { promise, resolve, reject }
}
}
export {}