@envelop/core
Advanced tools
Comparing version 5.1.0 to 5.1.1-alpha-20250225133859-be37c1e5efe420ad0ac4035c242743020107d601
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.makeExecute = exports.makeSubscribe = exports.envelopIsIntrospectionSymbol = void 0; | ||
exports.isPromise = exports.mapMaybePromise = exports.makeExecute = exports.mapAsyncIterator = exports.makeSubscribe = exports.envelopIsIntrospectionSymbol = void 0; | ||
exports.isIntrospectionOperationString = isIntrospectionOperationString; | ||
exports.mapAsyncIterator = mapAsyncIterator; | ||
exports.isAsyncIterable = isAsyncIterable; | ||
@@ -10,4 +9,2 @@ exports.handleStreamOrSingleExecutionResult = handleStreamOrSingleExecutionResult; | ||
exports.errorAsyncIterator = errorAsyncIterator; | ||
exports.isPromise = isPromise; | ||
exports.mapMaybePromise = mapMaybePromise; | ||
exports.envelopIsIntrospectionSymbol = Symbol('ENVELOP_IS_INTROSPECTION'); | ||
@@ -36,45 +33,4 @@ function isIntrospectionOperationString(operation) { | ||
exports.makeSubscribe = makeSubscribe; | ||
function mapAsyncIterator(source, mapper) { | ||
const iterator = source[Symbol.asyncIterator](); | ||
async function mapResult(result) { | ||
if (result.done) { | ||
return result; | ||
} | ||
try { | ||
return { value: await mapper(result.value), done: false }; | ||
} | ||
catch (error) { | ||
try { | ||
await iterator.return?.(); | ||
// eslint-disable-next-line @typescript-eslint/no-unused-vars | ||
} | ||
catch (_error) { | ||
/* ignore error */ | ||
} | ||
throw error; | ||
} | ||
} | ||
const stream = { | ||
[Symbol.asyncIterator]() { | ||
return stream; | ||
}, | ||
async next() { | ||
return await mapResult(await iterator.next()); | ||
}, | ||
async return() { | ||
const promise = iterator.return?.(); | ||
return promise ? await mapResult(await promise) : { value: undefined, done: true }; | ||
}, | ||
async throw(error) { | ||
const promise = iterator.throw?.(); | ||
if (promise) { | ||
return await mapResult(await promise); | ||
} | ||
// if the source has no throw method we just re-throw error | ||
// usually throw is not called anyways | ||
throw error; | ||
}, | ||
}; | ||
return stream; | ||
} | ||
var promise_helpers_1 = require("@whatwg-node/promise-helpers"); | ||
Object.defineProperty(exports, "mapAsyncIterator", { enumerable: true, get: function () { return promise_helpers_1.mapAsyncIterator; } }); | ||
function getExecuteArgs(args) { | ||
@@ -194,26 +150,4 @@ return args.length === 1 | ||
} | ||
function isPromise(value) { | ||
return value?.then !== undefined; | ||
} | ||
function mapMaybePromise(value, mapper, errorMapper) { | ||
if (isPromise(value)) { | ||
if (errorMapper) { | ||
try { | ||
return value.then(mapper, errorMapper); | ||
} | ||
catch (e) { | ||
return errorMapper(e); | ||
} | ||
} | ||
return value.then(mapper); | ||
} | ||
if (errorMapper) { | ||
try { | ||
return mapper(value); | ||
} | ||
catch (e) { | ||
return errorMapper(e); | ||
} | ||
} | ||
return mapper(value); | ||
} | ||
var promise_helpers_2 = require("@whatwg-node/promise-helpers"); | ||
Object.defineProperty(exports, "mapMaybePromise", { enumerable: true, get: function () { return promise_helpers_2.mapMaybePromise; } }); | ||
Object.defineProperty(exports, "isPromise", { enumerable: true, get: function () { return promise_helpers_2.isPromise; } }); |
@@ -23,45 +23,3 @@ export const envelopIsIntrospectionSymbol = Symbol('ENVELOP_IS_INTROSPECTION'); | ||
export const makeSubscribe = (subscribeFn) => ((...polyArgs) => subscribeFn(getSubscribeArgs(polyArgs))); | ||
export function mapAsyncIterator(source, mapper) { | ||
const iterator = source[Symbol.asyncIterator](); | ||
async function mapResult(result) { | ||
if (result.done) { | ||
return result; | ||
} | ||
try { | ||
return { value: await mapper(result.value), done: false }; | ||
} | ||
catch (error) { | ||
try { | ||
await iterator.return?.(); | ||
// eslint-disable-next-line @typescript-eslint/no-unused-vars | ||
} | ||
catch (_error) { | ||
/* ignore error */ | ||
} | ||
throw error; | ||
} | ||
} | ||
const stream = { | ||
[Symbol.asyncIterator]() { | ||
return stream; | ||
}, | ||
async next() { | ||
return await mapResult(await iterator.next()); | ||
}, | ||
async return() { | ||
const promise = iterator.return?.(); | ||
return promise ? await mapResult(await promise) : { value: undefined, done: true }; | ||
}, | ||
async throw(error) { | ||
const promise = iterator.throw?.(); | ||
if (promise) { | ||
return await mapResult(await promise); | ||
} | ||
// if the source has no throw method we just re-throw error | ||
// usually throw is not called anyways | ||
throw error; | ||
}, | ||
}; | ||
return stream; | ||
} | ||
export { mapAsyncIterator } from '@whatwg-node/promise-helpers'; | ||
function getExecuteArgs(args) { | ||
@@ -180,26 +138,2 @@ return args.length === 1 | ||
} | ||
export function isPromise(value) { | ||
return value?.then !== undefined; | ||
} | ||
export function mapMaybePromise(value, mapper, errorMapper) { | ||
if (isPromise(value)) { | ||
if (errorMapper) { | ||
try { | ||
return value.then(mapper, errorMapper); | ||
} | ||
catch (e) { | ||
return errorMapper(e); | ||
} | ||
} | ||
return value.then(mapper); | ||
} | ||
if (errorMapper) { | ||
try { | ||
return mapper(value); | ||
} | ||
catch (e) { | ||
return errorMapper(e); | ||
} | ||
} | ||
return mapper(value); | ||
} | ||
export { mapMaybePromise, isPromise } from '@whatwg-node/promise-helpers'; |
{ | ||
"name": "@envelop/core", | ||
"version": "5.1.0", | ||
"version": "5.1.1-alpha-20250225133859-be37c1e5efe420ad0ac4035c242743020107d601", | ||
"sideEffects": false, | ||
"dependencies": { | ||
"@whatwg-node/promise-helpers": "^1.0.0", | ||
"tslib": "^2.5.0", | ||
"@envelop/types": "^5.1.0" | ||
"@envelop/types": "^5.1.1-alpha-20250225133859-be37c1e5efe420ad0ac4035c242743020107d601" | ||
}, | ||
@@ -9,0 +10,0 @@ "repository": { |
@@ -8,3 +8,3 @@ import { AsyncIterableIteratorOrValue, DefaultContext, ExecuteFunction, ExecutionArgs, OnExecuteDoneEventPayload, OnExecuteDoneHookResult, OnExecuteDoneHookResultOnNextHook, PromiseOrValue, SubscribeFunction } from '@envelop/types'; | ||
export declare const makeSubscribe: (subscribeFn: (args: ExecutionArgs) => any) => SubscribeFunction; | ||
export declare function mapAsyncIterator<T, O>(source: AsyncIterable<T>, mapper: (input: T) => Promise<O> | O): AsyncGenerator<O>; | ||
export { mapAsyncIterator } from '@whatwg-node/promise-helpers'; | ||
/** | ||
@@ -31,3 +31,2 @@ * Utility function for making a execute function that handles polymorphic arguments. | ||
export declare function errorAsyncIterator<TInput>(source: AsyncIterable<TInput>, onError: (err: unknown) => void): AsyncGenerator<TInput>; | ||
export declare function isPromise<T>(value: any): value is Promise<T>; | ||
export declare function mapMaybePromise<T, R>(value: PromiseOrValue<T>, mapper: (v: T) => PromiseOrValue<R>, errorMapper?: (e: any) => PromiseOrValue<R>): PromiseOrValue<R>; | ||
export { mapMaybePromise, isPromise } from '@whatwg-node/promise-helpers'; |
Sorry, the diff of this file is not supported yet
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
81
88
88393
3
2001
2