New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@graphql-tools/executor

Package Overview
Dependencies
Maintainers
4
Versions
451
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@graphql-tools/executor - npm Package Compare versions

Comparing version

to
1.4.4-alpha-20250305140525-be6757720f8c1bdc8c5108faa54cdde7d6592986

2

cjs/execution/execute.js

@@ -893,3 +893,3 @@ "use strict";

// "ExecuteQuery" algorithm, for which `execute` is also used.
return (0, flattenAsyncIterable_js_1.flattenAsyncIterable)((0, utils_1.mapAsyncIterator)(resultOrStream, async (payload) => ensureAsyncIterable(await executeImpl(buildPerEventExecutionContext(exeContext, payload))), (error) => {
return (0, flattenAsyncIterable_js_1.flattenAsyncIterable)((0, utils_1.mapAsyncIterator)(resultOrStream, (payload) => (0, promise_helpers_1.handleMaybePromise)(() => executeImpl(buildPerEventExecutionContext(exeContext, payload)), ensureAsyncIterable), (error) => {
if (error instanceof AggregateError) {

@@ -896,0 +896,0 @@ throw new AggregateError(error.errors.map(e => wrapError(e, exeContext.operation)), error.message);

@@ -5,2 +5,3 @@ "use strict";

const utils_1 = require("@graphql-tools/utils");
const promise_helpers_1 = require("@whatwg-node/promise-helpers");
/**

@@ -13,12 +14,22 @@ * This function transforms a JS object `Record<string, Promise<T>>` into

*/
async function promiseForObject(object, signal) {
function promiseForObject(object, signal) {
const resolvedObject = Object.create(null);
const promises = Promise.all(Object.entries(object).map(async ([key, value]) => {
resolvedObject[key] = await value;
}));
const promises = [];
for (const key in object) {
const valueSet$ = (0, promise_helpers_1.handleMaybePromise)(() => object[key], resolvedValue => {
resolvedObject[key] = resolvedValue;
});
if ((0, utils_1.isPromise)(valueSet$)) {
promises.push(valueSet$);
}
}
if (!promises.length) {
return resolvedObject;
}
const promiseAll = promises.length === 1 ? promises[0] : Promise.all(promises);
if (signal) {
const abortPromise = (0, utils_1.getAbortPromise)(signal);
return Promise.race([abortPromise, promises]).then(() => resolvedObject);
return Promise.race([abortPromise, promiseAll]).then(() => resolvedObject);
}
return promises.then(() => resolvedObject);
return promiseAll.then(() => resolvedObject);
}

@@ -878,3 +878,3 @@ import { assertValidSchema, getDirectiveValues, GraphQLError, isAbstractType, isLeafType, isListType, isNonNullType, isObjectType, Kind, locatedError, SchemaMetaFieldDef, TypeMetaFieldDef, TypeNameMetaFieldDef, versionInfo, } from 'graphql';

// "ExecuteQuery" algorithm, for which `execute` is also used.
return flattenAsyncIterable(mapAsyncIterator(resultOrStream, async (payload) => ensureAsyncIterable(await executeImpl(buildPerEventExecutionContext(exeContext, payload))), (error) => {
return flattenAsyncIterable(mapAsyncIterator(resultOrStream, (payload) => handleMaybePromise(() => executeImpl(buildPerEventExecutionContext(exeContext, payload)), ensureAsyncIterable), (error) => {
if (error instanceof AggregateError) {

@@ -881,0 +881,0 @@ throw new AggregateError(error.errors.map(e => wrapError(e, exeContext.operation)), error.message);

@@ -1,2 +0,3 @@

import { getAbortPromise } from '@graphql-tools/utils';
import { getAbortPromise, isPromise } from '@graphql-tools/utils';
import { handleMaybePromise } from '@whatwg-node/promise-helpers';
/**

@@ -9,12 +10,22 @@ * This function transforms a JS object `Record<string, Promise<T>>` into

*/
export async function promiseForObject(object, signal) {
export function promiseForObject(object, signal) {
const resolvedObject = Object.create(null);
const promises = Promise.all(Object.entries(object).map(async ([key, value]) => {
resolvedObject[key] = await value;
}));
const promises = [];
for (const key in object) {
const valueSet$ = handleMaybePromise(() => object[key], resolvedValue => {
resolvedObject[key] = resolvedValue;
});
if (isPromise(valueSet$)) {
promises.push(valueSet$);
}
}
if (!promises.length) {
return resolvedObject;
}
const promiseAll = promises.length === 1 ? promises[0] : Promise.all(promises);
if (signal) {
const abortPromise = getAbortPromise(signal);
return Promise.race([abortPromise, promises]).then(() => resolvedObject);
return Promise.race([abortPromise, promiseAll]).then(() => resolvedObject);
}
return promises.then(() => resolvedObject);
return promiseAll.then(() => resolvedObject);
}
{
"name": "@graphql-tools/executor",
"version": "1.4.3",
"version": "1.4.4-alpha-20250305140525-be6757720f8c1bdc8c5108faa54cdde7d6592986",
"sideEffects": false,

@@ -5,0 +5,0 @@ "peerDependencies": {

@@ -0,1 +1,2 @@

import { MaybePromise } from '@graphql-tools/utils';
type ResolvedObject<TData> = {

@@ -11,3 +12,3 @@ [TKey in keyof TData]: TData[TKey] extends Promise<infer TValue> ? TValue : TData[TKey];

*/
export declare function promiseForObject<TData>(object: TData, signal?: AbortSignal): Promise<ResolvedObject<TData>>;
export declare function promiseForObject<TData>(object: TData, signal?: AbortSignal): MaybePromise<ResolvedObject<TData>>;
export {};

Sorry, the diff of this file is not supported yet