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

@orpc/shared

Package Overview
Dependencies
Maintainers
0
Versions
235
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@orpc/shared - npm Package Compare versions

Comparing version 0.0.0-next.bc564a6 to 0.0.0-next.bc9d3dd

dist/src/interceptor.d.ts

117

dist/index.js

@@ -25,59 +25,68 @@ // src/constants.ts

// src/hook.ts
async function executeWithHooks(options) {
const interceptors = convertToArray(options.hooks?.interceptor);
const onStarts = convertToArray(options.hooks?.onStart);
const onSuccesses = convertToArray(options.hooks?.onSuccess);
const onErrors = convertToArray(options.hooks?.onError);
const onFinishes = convertToArray(options.hooks?.onFinish);
let currentExecuteIndex = 0;
const next = async () => {
const execute = interceptors[currentExecuteIndex];
if (execute) {
currentExecuteIndex++;
return await execute(options.input, options.context, {
...options.meta,
next
});
// src/function.ts
function once(fn) {
let cached;
return () => {
if (cached) {
return cached.result;
}
let state = { status: "pending", input: options.input, output: void 0, error: void 0 };
const result = fn();
cached = { result };
return result;
};
}
// src/interceptor.ts
function onStart(callback) {
return async (options, ...rest) => {
await callback(options, ...rest);
return await options.next();
};
}
function onSuccess(callback) {
return async (options, ...rest) => {
const result = await options.next();
await callback(result, options, ...rest);
return result;
};
}
function onError(callback) {
return async (options, ...rest) => {
try {
for (const onStart of onStarts) {
await onStart(state, options.context, options.meta);
}
const output = await options.execute();
state = { status: "success", input: options.input, output, error: void 0 };
for (let i = onSuccesses.length - 1; i >= 0; i--) {
await onSuccesses[i](state, options.context, options.meta);
}
} catch (e) {
state = { status: "error", input: options.input, error: toError(e), output: void 0 };
for (let i = onErrors.length - 1; i >= 0; i--) {
try {
await onErrors[i](state, options.context, options.meta);
} catch (e2) {
state = { status: "error", input: options.input, error: toError(e2), output: void 0 };
}
}
return await options.next();
} catch (error) {
await callback(error, options, ...rest);
throw error;
}
for (let i = onFinishes.length - 1; i >= 0; i--) {
try {
await onFinishes[i](state, options.context, options.meta);
} catch (e) {
state = { status: "error", input: options.input, error: toError(e), output: void 0 };
}
};
}
function onFinish(callback) {
let state;
return async (options, ...rest) => {
try {
const result = await options.next();
state = [result, void 0, "success"];
return result;
} catch (error) {
state = [void 0, error, "error"];
throw error;
} finally {
await callback(state, options, ...rest);
}
if (state.status === "error") {
throw state.error;
};
}
async function intercept(interceptors, options, main) {
let index = 0;
const next = async (options2) => {
const interceptor = interceptors[index++];
if (!interceptor) {
return await main(options2);
}
return state.output;
return await interceptor({
...options2,
next: (newOptions = options2) => next(newOptions)
});
};
return await next();
return await next(options);
}
function convertToArray(value2) {
if (value2 === void 0) {
return [];
}
return Array.isArray(value2) ? value2 : [value2];
}

@@ -182,5 +191,3 @@ // src/json.ts

ORPC_HANDLER_VALUE,
convertToArray,
createCallableObject,
executeWithHooks,
findDeepMatches,

@@ -190,2 +197,3 @@ get,

guard,
intercept,
isPlainObject3 as isPlainObject,

@@ -195,2 +203,7 @@ mapEntries,

omit,
onError,
onFinish,
onStart,
onSuccess,
once,
parseJSONSafely,

@@ -197,0 +210,0 @@ set,

export type AnyFunction = (...args: any[]) => any;
export declare function once<T extends () => any>(fn: T): () => ReturnType<T>;
//# sourceMappingURL=function.d.ts.map

@@ -5,3 +5,3 @@ export * from './chain';

export * from './function';
export * from './hook';
export * from './interceptor';
export * from './json';

@@ -8,0 +8,0 @@ export * from './object';

export type Segment = string | number;
export declare function set(root: Readonly<Record<string, unknown> | unknown[]>, segments: Readonly<Segment[]>, value: unknown): unknown;
export declare function set(root: unknown, segments: Readonly<Segment[]>, value: unknown): unknown;
export declare function get(root: Readonly<Record<string, unknown> | unknown[]>, segments: Readonly<Segment[]>): unknown;

@@ -4,0 +4,0 @@ export declare function findDeepMatches(check: (value: unknown) => boolean, payload: unknown, segments?: Segment[], maps?: Segment[][], values?: unknown[]): {

{
"name": "@orpc/shared",
"type": "module",
"version": "0.0.0-next.bc564a6",
"version": "0.0.0-next.bc9d3dd",
"license": "MIT",

@@ -32,3 +32,2 @@ "homepage": "https://orpc.unnoq.com",

"dependencies": {
"@standard-schema/spec": "1.0.0-beta.4",
"is-what": "^5.0.2",

@@ -35,0 +34,0 @@ "radash": "^12.1.0",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc