@orpc/shared
Advanced tools
Comparing version 0.0.0-next.a055cad to 0.0.0-next.a2e4a58
@@ -1,8 +0,28 @@ | ||
import { | ||
convertToStandardError | ||
} from "./chunk-4KZEIATV.js"; | ||
// src/constants.ts | ||
var ORPC_HANDLER_HEADER = "x-orpc-handler"; | ||
var ORPC_HANDLER_VALUE = "orpc"; | ||
// src/error.ts | ||
import { isPlainObject } from "is-what"; | ||
function toError(error) { | ||
if (error instanceof Error) { | ||
return error; | ||
} | ||
if (typeof error === "string") { | ||
return new Error(error, { cause: error }); | ||
} | ||
if (isPlainObject(error)) { | ||
if ("message" in error && typeof error.message === "string") { | ||
return new Error(error.message, { cause: error }); | ||
} | ||
if ("name" in error && typeof error.name === "string") { | ||
return new Error(error.name, { cause: error }); | ||
} | ||
} | ||
return new Error("Unknown error", { cause: error }); | ||
} | ||
// src/hook.ts | ||
async function executeWithHooks(options) { | ||
const executes = convertToArray(options.hooks?.execute); | ||
const interceptors = convertToArray(options.hooks?.interceptor); | ||
const onStarts = convertToArray(options.hooks?.onStart); | ||
@@ -14,3 +34,3 @@ const onSuccesses = convertToArray(options.hooks?.onSuccess); | ||
const next = async () => { | ||
const execute = executes[currentExecuteIndex]; | ||
const execute = interceptors[currentExecuteIndex]; | ||
if (execute) { | ||
@@ -34,3 +54,3 @@ currentExecuteIndex++; | ||
} catch (e) { | ||
state = { status: "error", input: options.input, error: convertToStandardError(e), output: void 0 }; | ||
state = { status: "error", input: options.input, error: toError(e), output: void 0 }; | ||
for (let i = onErrors.length - 1; i >= 0; i--) { | ||
@@ -40,3 +60,3 @@ try { | ||
} catch (e2) { | ||
state = { status: "error", input: options.input, error: convertToStandardError(e2), output: void 0 }; | ||
state = { status: "error", input: options.input, error: toError(e2), output: void 0 }; | ||
} | ||
@@ -49,3 +69,3 @@ } | ||
} catch (e) { | ||
state = { status: "error", input: options.input, error: convertToStandardError(e), output: void 0 }; | ||
state = { status: "error", input: options.input, error: toError(e), output: void 0 }; | ||
} | ||
@@ -79,3 +99,3 @@ } | ||
// src/object.ts | ||
import { isPlainObject } from "is-what"; | ||
import { isPlainObject as isPlainObject2 } from "is-what"; | ||
function set(root, segments, value2) { | ||
@@ -116,3 +136,3 @@ const ref = { root }; | ||
}); | ||
} else if (isPlainObject(payload)) { | ||
} else if (isPlainObject2(payload)) { | ||
for (const key in payload) { | ||
@@ -125,6 +145,34 @@ findDeepMatches(check, payload[key], [...segments, key], maps, values); | ||
// src/proxy.ts | ||
function createCallableObject(obj, handler) { | ||
const proxy = new Proxy(handler, { | ||
has(target, key) { | ||
return Reflect.has(obj, key) || Reflect.has(target, key); | ||
}, | ||
ownKeys(target) { | ||
return Array.from(new Set(Reflect.ownKeys(obj).concat(...Reflect.ownKeys(target)))); | ||
}, | ||
get(target, key) { | ||
if (!Reflect.has(target, key) || Reflect.has(obj, key)) { | ||
return Reflect.get(obj, key); | ||
} | ||
return Reflect.get(target, key); | ||
}, | ||
defineProperty(_, key, descriptor) { | ||
return Reflect.defineProperty(obj, key, descriptor); | ||
}, | ||
set(_, key, value2) { | ||
return Reflect.set(obj, key, value2); | ||
}, | ||
deleteProperty(target, key) { | ||
return Reflect.deleteProperty(target, key) && Reflect.deleteProperty(obj, key); | ||
} | ||
}); | ||
return proxy; | ||
} | ||
// src/value.ts | ||
function value(value2) { | ||
function value(value2, ...args) { | ||
if (typeof value2 === "function") { | ||
return value2(); | ||
return value2(...args); | ||
} | ||
@@ -135,11 +183,15 @@ return value2; | ||
// src/index.ts | ||
import { isPlainObject as isPlainObject2 } from "is-what"; | ||
import { guard, mapEntries, mapValues, omit, trim } from "radash"; | ||
import { isPlainObject as isPlainObject3 } from "is-what"; | ||
import { group, guard, mapEntries, mapValues, omit, trim } from "radash"; | ||
export { | ||
ORPC_HANDLER_HEADER, | ||
ORPC_HANDLER_VALUE, | ||
convertToArray, | ||
createCallableObject, | ||
executeWithHooks, | ||
findDeepMatches, | ||
get, | ||
group, | ||
guard, | ||
isPlainObject2 as isPlainObject, | ||
isPlainObject3 as isPlainObject, | ||
mapEntries, | ||
@@ -150,2 +202,3 @@ mapValues, | ||
set, | ||
toError, | ||
trim, | ||
@@ -152,0 +205,0 @@ value |
@@ -1,63 +0,2 @@ | ||
import { type ZodIssue } from 'zod'; | ||
export declare const ORPC_ERROR_CODE_STATUSES: { | ||
readonly BAD_REQUEST: 400; | ||
readonly UNAUTHORIZED: 401; | ||
readonly FORBIDDEN: 403; | ||
readonly NOT_FOUND: 404; | ||
readonly METHOD_NOT_SUPPORTED: 405; | ||
readonly NOT_ACCEPTABLE: 406; | ||
readonly TIMEOUT: 408; | ||
readonly CONFLICT: 409; | ||
readonly PRECONDITION_FAILED: 412; | ||
readonly PAYLOAD_TOO_LARGE: 413; | ||
readonly UNSUPPORTED_MEDIA_TYPE: 415; | ||
readonly UNPROCESSABLE_CONTENT: 422; | ||
readonly TOO_MANY_REQUESTS: 429; | ||
readonly CLIENT_CLOSED_REQUEST: 499; | ||
readonly INTERNAL_SERVER_ERROR: 500; | ||
readonly NOT_IMPLEMENTED: 501; | ||
readonly BAD_GATEWAY: 502; | ||
readonly SERVICE_UNAVAILABLE: 503; | ||
readonly GATEWAY_TIMEOUT: 504; | ||
}; | ||
export type ORPCErrorCode = keyof typeof ORPC_ERROR_CODE_STATUSES; | ||
export interface ORPCErrorJSON<TCode extends ORPCErrorCode, TData> { | ||
code: TCode; | ||
status: number; | ||
message: string; | ||
data: TData; | ||
issues?: ZodIssue[]; | ||
} | ||
export type ANY_ORPC_ERROR_JSON = ORPCErrorJSON<any, any>; | ||
export type WELL_ORPC_ERROR_JSON = ORPCErrorJSON<ORPCErrorCode, unknown>; | ||
export declare class ORPCError<TCode extends ORPCErrorCode, TData> extends Error { | ||
zz$oe: { | ||
code: TCode; | ||
status?: number; | ||
message?: string; | ||
cause?: unknown; | ||
} & (undefined extends TData ? { | ||
data?: TData; | ||
} : { | ||
data: TData; | ||
}); | ||
constructor(zz$oe: { | ||
code: TCode; | ||
status?: number; | ||
message?: string; | ||
cause?: unknown; | ||
} & (undefined extends TData ? { | ||
data?: TData; | ||
} : { | ||
data: TData; | ||
})); | ||
get code(): TCode; | ||
get status(): number; | ||
get data(): TData; | ||
get issues(): ZodIssue[] | undefined; | ||
toJSON(): ORPCErrorJSON<TCode, TData>; | ||
static fromJSON(json: unknown): ORPCError<ORPCErrorCode, any> | undefined; | ||
} | ||
export type WELL_ORPC_ERROR = ORPCError<ORPCErrorCode, unknown>; | ||
export declare function convertToStandardError(error: unknown): Error; | ||
export declare function toError(error: unknown): Error; | ||
//# sourceMappingURL=error.d.ts.map |
@@ -1,2 +0,2 @@ | ||
import type { Arrayable, Merge, Promisable } from 'type-fest'; | ||
import type { Arrayable, Promisable } from 'type-fest'; | ||
export type OnStartState<TInput> = { | ||
@@ -23,6 +23,6 @@ status: 'pending'; | ||
} | ||
export interface Hooks<TInput, TOutput, TContext, TMeta extends (Record<string, unknown> & { | ||
export interface Hooks<TInput, TOutput, TContext, TMeta extends (Record<string, any> & { | ||
next?: never; | ||
}) | undefined> { | ||
execute?: Arrayable<(input: TInput, context: TContext, meta: Merge<BaseHookMeta<TOutput>, TMeta>) => Promise<TOutput>>; | ||
interceptor?: Arrayable<(input: TInput, context: TContext, meta: (TMeta extends undefined ? unknown : TMeta) & BaseHookMeta<TOutput>) => Promise<TOutput>>; | ||
onStart?: Arrayable<(state: OnStartState<TInput>, context: TContext, meta: TMeta) => Promisable<void>>; | ||
@@ -33,3 +33,3 @@ onSuccess?: Arrayable<(state: OnSuccessState<TInput, TOutput>, context: TContext, meta: TMeta) => Promisable<void>>; | ||
} | ||
export declare function executeWithHooks<TInput, TOutput, TContext, TMeta extends (Record<string, unknown> & { | ||
export declare function executeWithHooks<TInput, TOutput, TContext, TMeta extends (Record<string, any> & { | ||
next?: never; | ||
@@ -36,0 +36,0 @@ }) | undefined>(options: { |
@@ -0,8 +1,12 @@ | ||
export * from './constants'; | ||
export * from './error'; | ||
export * from './function'; | ||
export * from './hook'; | ||
export * from './json'; | ||
export * from './object'; | ||
export * from './proxy'; | ||
export * from './value'; | ||
export { isPlainObject } from 'is-what'; | ||
export { guard, mapEntries, mapValues, omit, trim } from 'radash'; | ||
export { group, guard, mapEntries, mapValues, omit, trim } from 'radash'; | ||
export type * from 'type-fest'; | ||
//# sourceMappingURL=index.d.ts.map |
import type { Promisable } from 'type-fest'; | ||
export type Value<T> = T | (() => Promisable<T>); | ||
export declare function value<T extends Value<any>>(value: T): Promise<T extends Value<infer U> ? U : never>; | ||
export type Value<T, TArgs extends any[] = []> = T | ((...args: TArgs) => Promisable<T>); | ||
export declare function value<T extends Value<any, TArgs>, TArgs extends any[] = []>(value: T, ...args: TArgs): Promise<T extends Value<infer U, any> ? U : never>; | ||
//# sourceMappingURL=value.d.ts.map |
{ | ||
"name": "@orpc/shared", | ||
"type": "module", | ||
"version": "0.0.0-next.a055cad", | ||
"version": "0.0.0-next.a2e4a58", | ||
"license": "MIT", | ||
@@ -22,7 +22,2 @@ "homepage": "https://orpc.unnoq.com", | ||
}, | ||
"./error": { | ||
"types": "./dist/src/error.d.ts", | ||
"import": "./dist/error.js", | ||
"default": "./dist/error.js" | ||
}, | ||
"./🔒/*": { | ||
@@ -38,9 +33,9 @@ "types": "./dist/src/*.d.ts" | ||
"dependencies": { | ||
"@standard-schema/spec": "1.0.0-beta.4", | ||
"is-what": "^5.0.2", | ||
"radash": "^12.1.0", | ||
"type-fest": "^4.26.1", | ||
"zod": "^3.23.8" | ||
"type-fest": "^4.26.1" | ||
}, | ||
"scripts": { | ||
"build": "tsup --clean --sourcemap --entry.index=src/index.ts --entry.error=src/error.ts --format=esm --onSuccess='tsc -b --noCheck'", | ||
"build": "tsup --clean --sourcemap --entry.index=src/index.ts --format=esm --onSuccess='tsc -b --noCheck'", | ||
"build:watch": "pnpm run build --watch", | ||
@@ -47,0 +42,0 @@ "type:check": "tsc -b" |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
12
0
11306
259
+ Added@standard-schema/spec@1.0.0-beta.4(transitive)
- Removedzod@^3.23.8
- Removedzod@3.24.2(transitive)