UNPKG

graphql

Version:

A Query Language and Runtime which can target any service.

1 lines 1.09 kB
{"version":3,"file":"promiseWithResolvers.js","sourceRoot":"","sources":["../../src/jsutils/promiseWithResolvers.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,oBAAoB;IAMlC,IAAI,OAAgD,CAAC;IACrD,IAAI,MAA+B,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1C,OAAO,GAAG,GAAG,CAAC;QACd,MAAM,GAAG,GAAG,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC","sourcesContent":["import type { PromiseOrValue } from './PromiseOrValue.ts';\n\n/**\n * Based on Promise.withResolvers proposal\n * https://github.com/tc39/proposal-promise-with-resolvers\n *\n * @internal\n */\nexport function promiseWithResolvers<T>(): {\n promise: Promise<T>;\n resolve: (value: T | PromiseOrValue<T>) => void;\n reject: (reason?: any) => void;\n} {\n // these are assigned synchronously within the Promise constructor\n let resolve!: (value: T | PromiseOrValue<T>) => void;\n let reject!: (reason?: any) => void;\n const promise = new Promise<T>((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { promise, resolve, reject };\n}\n"]}