@orpc/shared 0.0.0-next.7b4c812 → 0.0.0-next.7ea4bbf
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +39 -4
- package/dist/src/constants.d.ts +3 -0
- package/dist/src/hook.d.ts +2 -2
- package/dist/src/index.d.ts +2 -0
- package/dist/src/proxy.d.ts +3 -0
- package/dist/src/value.d.ts +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2,16 +2,20 @@ import {
|
|
|
2
2
|
convertToStandardError
|
|
3
3
|
} from "./chunk-CCTAECMC.js";
|
|
4
4
|
|
|
5
|
+
// src/constants.ts
|
|
6
|
+
var ORPC_HANDLER_HEADER = "x-orpc-handler";
|
|
7
|
+
var ORPC_HANDLER_VALUE = "orpc";
|
|
8
|
+
|
|
5
9
|
// src/hook.ts
|
|
6
10
|
async function executeWithHooks(options) {
|
|
7
|
-
const
|
|
11
|
+
const interceptors = convertToArray(options.hooks?.interceptor);
|
|
8
12
|
const onStarts = convertToArray(options.hooks?.onStart);
|
|
9
13
|
const onSuccesses = convertToArray(options.hooks?.onSuccess);
|
|
10
14
|
const onErrors = convertToArray(options.hooks?.onError);
|
|
11
15
|
const onFinishes = convertToArray(options.hooks?.onFinish);
|
|
12
16
|
let currentExecuteIndex = 0;
|
|
13
17
|
const next = async () => {
|
|
14
|
-
const execute =
|
|
18
|
+
const execute = interceptors[currentExecuteIndex];
|
|
15
19
|
if (execute) {
|
|
16
20
|
currentExecuteIndex++;
|
|
17
21
|
return await execute(options.input, options.context, {
|
|
@@ -116,10 +120,38 @@ function findDeepMatches(check, payload, segments = [], maps = [], values = [])
|
|
|
116
120
|
return { maps, values };
|
|
117
121
|
}
|
|
118
122
|
|
|
123
|
+
// src/proxy.ts
|
|
124
|
+
function createCallableObject(obj, handler) {
|
|
125
|
+
const proxy = new Proxy(handler, {
|
|
126
|
+
has(target, key) {
|
|
127
|
+
return Reflect.has(obj, key) || Reflect.has(target, key);
|
|
128
|
+
},
|
|
129
|
+
ownKeys(target) {
|
|
130
|
+
return Array.from(new Set(Reflect.ownKeys(obj).concat(...Reflect.ownKeys(target))));
|
|
131
|
+
},
|
|
132
|
+
get(target, key) {
|
|
133
|
+
if (!Reflect.has(target, key) || Reflect.has(obj, key)) {
|
|
134
|
+
return Reflect.get(obj, key);
|
|
135
|
+
}
|
|
136
|
+
return Reflect.get(target, key);
|
|
137
|
+
},
|
|
138
|
+
defineProperty(_, key, descriptor) {
|
|
139
|
+
return Reflect.defineProperty(obj, key, descriptor);
|
|
140
|
+
},
|
|
141
|
+
set(_, key, value2) {
|
|
142
|
+
return Reflect.set(obj, key, value2);
|
|
143
|
+
},
|
|
144
|
+
deleteProperty(target, key) {
|
|
145
|
+
return Reflect.deleteProperty(target, key) && Reflect.deleteProperty(obj, key);
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
return proxy;
|
|
149
|
+
}
|
|
150
|
+
|
|
119
151
|
// src/value.ts
|
|
120
|
-
function value(value2) {
|
|
152
|
+
function value(value2, ...args) {
|
|
121
153
|
if (typeof value2 === "function") {
|
|
122
|
-
return value2();
|
|
154
|
+
return value2(...args);
|
|
123
155
|
}
|
|
124
156
|
return value2;
|
|
125
157
|
}
|
|
@@ -128,7 +160,10 @@ function value(value2) {
|
|
|
128
160
|
import { isPlainObject as isPlainObject2 } from "is-what";
|
|
129
161
|
import { guard, mapEntries, mapValues, omit, trim } from "radash";
|
|
130
162
|
export {
|
|
163
|
+
ORPC_HANDLER_HEADER,
|
|
164
|
+
ORPC_HANDLER_VALUE,
|
|
131
165
|
convertToArray,
|
|
166
|
+
createCallableObject,
|
|
132
167
|
executeWithHooks,
|
|
133
168
|
findDeepMatches,
|
|
134
169
|
get,
|
package/dist/src/hook.d.ts
CHANGED
|
@@ -23,13 +23,13 @@ export interface BaseHookMeta<TOutput> {
|
|
|
23
23
|
export interface Hooks<TInput, TOutput, TContext, TMeta extends (Record<string, any> & {
|
|
24
24
|
next?: never;
|
|
25
25
|
}) | undefined> {
|
|
26
|
-
|
|
26
|
+
interceptor?: Arrayable<(input: TInput, context: TContext, meta: (TMeta extends undefined ? unknown : TMeta) & BaseHookMeta<TOutput>) => Promise<TOutput>>;
|
|
27
27
|
onStart?: Arrayable<(state: OnStartState<TInput>, context: TContext, meta: TMeta) => Promisable<void>>;
|
|
28
28
|
onSuccess?: Arrayable<(state: OnSuccessState<TInput, TOutput>, context: TContext, meta: TMeta) => Promisable<void>>;
|
|
29
29
|
onError?: Arrayable<(state: OnErrorState<TInput>, context: TContext, meta: TMeta) => Promisable<void>>;
|
|
30
30
|
onFinish?: Arrayable<(state: OnSuccessState<TInput, TOutput> | OnErrorState<TInput>, context: TContext, meta: TMeta) => Promisable<void>>;
|
|
31
31
|
}
|
|
32
|
-
export declare function executeWithHooks<TInput, TOutput, TContext, TMeta extends (Record<string,
|
|
32
|
+
export declare function executeWithHooks<TInput, TOutput, TContext, TMeta extends (Record<string, any> & {
|
|
33
33
|
next?: never;
|
|
34
34
|
}) | undefined>(options: {
|
|
35
35
|
hooks?: Hooks<TInput, TOutput, TContext, TMeta>;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
export * from './constants';
|
|
1
2
|
export * from './function';
|
|
2
3
|
export * from './hook';
|
|
3
4
|
export * from './json';
|
|
4
5
|
export * from './object';
|
|
6
|
+
export * from './proxy';
|
|
5
7
|
export * from './value';
|
|
6
8
|
export { isPlainObject } from 'is-what';
|
|
7
9
|
export { guard, mapEntries, mapValues, omit, trim } from 'radash';
|
package/dist/src/value.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Promisable } from 'type-fest';
|
|
2
|
-
export type Value<T> = T | (() => Promisable<T>);
|
|
3
|
-
export declare function value<T extends Value<any
|
|
2
|
+
export type Value<T, TArgs extends any[] = []> = T | ((...args: TArgs) => Promisable<T>);
|
|
3
|
+
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>;
|
|
4
4
|
//# sourceMappingURL=value.d.ts.map
|