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

@defer.run/client

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@defer.run/client - npm Package Compare versions

Comparing version

to
1.0.0-alpha-20230224174742-0a3a02b

@@ -55,3 +55,4 @@ "use strict";

console.log(`[defer.run][${fn.name}] defer ignore, no token found.`);
return fn(...functionArguments);
await fn(...functionArguments);
return { id: "00000000000000000000000000000000" };
};

@@ -68,20 +69,45 @@ ret.__fn = fn;

ret.await = async (...args) => {
const response0 = (await (0, exports.defer)(fn)(...args));
if (!__httpClient)
return Promise.resolve(response0);
const response1 = await (0, client_js_1.waitExecutionResult)(__httpClient, {
id: response0.id,
});
if (response1.state === "failed") {
let error = new Error("Defer execution failed");
if (response1.result?.message) {
error = new Error(response1.result.message);
error.stack = response1.result.stack;
let functionArguments;
try {
functionArguments = JSON.parse(JSON.stringify(args));
}
catch (error) {
const e = error;
throw new errors_js_1.DeferError(`cannot serialize argument: ${e.message}`);
}
if (__httpClient) {
const { id } = await (0, client_js_1.enqueueExecution)(__httpClient, {
name: fn.name,
arguments: functionArguments,
scheduleFor: new Date(),
});
const response = await (0, client_js_1.waitExecutionResult)(__httpClient, { id: id });
if (response.state === "failed") {
let error = new Error("Defer execution failed");
if (response.result?.message) {
error = new Error(response.result.message);
error.stack = response.result.stack;
}
else if (response.result) {
error = response.result;
}
throw error;
}
else if (response1.result) {
error = response1.result;
return response.result;
}
try {
return Promise.resolve(await fn(...functionArguments));
}
catch (error) {
// const e = error as Error;
let deferError = new Error("Defer execution failed");
if (error instanceof Error) {
deferError = new Error(error.message);
deferError.stack = error.stack || "";
}
else {
deferError = error;
}
throw error;
}
return Promise.resolve(response1.result);
};

@@ -88,0 +114,0 @@ return ret;

@@ -48,3 +48,4 @@ /* eslint-disable @typescript-eslint/no-explicit-any */

console.log(`[defer.run][${fn.name}] defer ignore, no token found.`);
return fn(...functionArguments);
await fn(...functionArguments);
return { id: "00000000000000000000000000000000" };
};

@@ -61,20 +62,45 @@ ret.__fn = fn;

ret.await = async (...args) => {
const response0 = (await defer(fn)(...args));
if (!__httpClient)
return Promise.resolve(response0);
const response1 = await waitExecutionResult(__httpClient, {
id: response0.id,
});
if (response1.state === "failed") {
let error = new Error("Defer execution failed");
if (response1.result?.message) {
error = new Error(response1.result.message);
error.stack = response1.result.stack;
let functionArguments;
try {
functionArguments = JSON.parse(JSON.stringify(args));
}
catch (error) {
const e = error;
throw new DeferError(`cannot serialize argument: ${e.message}`);
}
if (__httpClient) {
const { id } = await enqueueExecution(__httpClient, {
name: fn.name,
arguments: functionArguments,
scheduleFor: new Date(),
});
const response = await waitExecutionResult(__httpClient, { id: id });
if (response.state === "failed") {
let error = new Error("Defer execution failed");
if (response.result?.message) {
error = new Error(response.result.message);
error.stack = response.result.stack;
}
else if (response.result) {
error = response.result;
}
throw error;
}
else if (response1.result) {
error = response1.result;
return response.result;
}
try {
return Promise.resolve(await fn(...functionArguments));
}
catch (error) {
// const e = error as Error;
let deferError = new Error("Defer execution failed");
if (error instanceof Error) {
deferError = new Error(error.message);
deferError.stack = error.stack || "";
}
else {
deferError = error;
}
throw error;
}
return Promise.resolve(response1.result);
};

@@ -81,0 +107,0 @@ return ret;

{
"name": "@defer.run/client",
"version": "1.0.0-alpha-20230224163353-d791d79",
"version": "1.0.0-alpha-20230224174742-0a3a02b",
"description": "Zero infrastructure NodeJS background jobs",

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

@@ -24,3 +24,3 @@ import { Units } from "parse-duration";

export interface DeferRetFn<F extends (...args: any | undefined) => Promise<any>> extends HasDeferMetadata {
(...args: Parameters<F>): ReturnType<F> | Promise<EnqueueExecutionResponse>;
(...args: Parameters<F>): Promise<EnqueueExecutionResponse>;
__fn: F;

@@ -34,3 +34,3 @@ await: DeferAwaitRetFn<F>;

export interface DeferAwaitRetFn<F extends (...args: any | undefined) => Promise<any>> {
(...args: Parameters<F>): Promise<UnPromise<ReturnType<F>> | EnqueueExecutionResponse>;
(...args: Parameters<F>): Promise<UnPromise<ReturnType<F>>>;
}

@@ -37,0 +37,0 @@ export interface Defer {

Sorry, the diff of this file is not supported yet