@develit-io/backend-sdk 5.37.0 → 5.38.0
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.d.mts +12 -11
- package/dist/index.d.ts +12 -11
- package/dist/index.mjs +147 -105
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -2,7 +2,7 @@ import * as drizzle_orm from 'drizzle-orm';
|
|
|
2
2
|
import { ExtractTablesWithRelations, DBQueryConfig, BuildQueryResult } from 'drizzle-orm';
|
|
3
3
|
import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
|
|
4
4
|
import { AnySQLiteTable } from 'drizzle-orm/sqlite-core';
|
|
5
|
-
import
|
|
5
|
+
import { MiddlewareHandler } from 'hono/types';
|
|
6
6
|
import { z as z$1 } from 'zod';
|
|
7
7
|
import * as z from 'zod/v4/core';
|
|
8
8
|
import { StatusCodes, ReasonPhrases } from 'http-status-codes';
|
|
@@ -59,14 +59,9 @@ declare const composeWranglerBase: ({ project, name, }: {
|
|
|
59
59
|
|
|
60
60
|
declare const idempotency: <T extends {
|
|
61
61
|
IDEMPOTENCY_KV: KVNamespace;
|
|
62
|
-
}>() =>
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
key: string;
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
Bindings: T;
|
|
69
|
-
}, string, {}, Response>;
|
|
62
|
+
}>() => MiddlewareHandler;
|
|
63
|
+
|
|
64
|
+
declare const logger: () => MiddlewareHandler;
|
|
70
65
|
|
|
71
66
|
declare const ENVIRONMENT: string[];
|
|
72
67
|
|
|
@@ -173,6 +168,12 @@ type InferResultType<Tables extends Record<string, unknown>, TableName extends k
|
|
|
173
168
|
with: With;
|
|
174
169
|
}>;
|
|
175
170
|
|
|
171
|
+
interface IdempotencyVariables {
|
|
172
|
+
idempotency: {
|
|
173
|
+
key: string;
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
|
|
176
177
|
declare const paginationQuerySchema: z.$ZodObject<Readonly<Readonly<{
|
|
177
178
|
[k: string]: z.$ZodType<unknown, unknown, z.$ZodTypeInternals<unknown, unknown>>;
|
|
178
179
|
}>>, z.$ZodObjectConfig>;
|
|
@@ -506,5 +507,5 @@ interface WithRetryCounterOptions {
|
|
|
506
507
|
type AsyncMethod<TArgs extends unknown[] = unknown[], TResult = unknown> = (...args: TArgs) => Promise<TResult>;
|
|
507
508
|
declare function cloudflareQueue<TArgs extends unknown[] = unknown[], TResult = unknown>(options: WithRetryCounterOptions): (target: unknown, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<AsyncMethod<TArgs, TResult>>) => void;
|
|
508
509
|
|
|
509
|
-
export { DatabaseTransaction, ENVIRONMENT, RPCResponse, action, bankAccount, bankAccountMetadataSchema, base, bicSchema, calculateExponentialBackoff, cloudflareQueue, composeWranglerBase, createAuditLogWriter, createInternalError, defineCommand, derivePortFromId, develitWorker, durableObjectNamespaceIdFromName, first, firstOrError, getD1Credentials, getD1DatabaseIdFromWrangler, getDrizzleD1Config, getSecret, handleAction, handleActionResponse, ibanSchema, idempotency, isInternalError, paginationQuerySchema, paginationSchema, service, useFetch, useResult, useResultSync, uuidv4 };
|
|
510
|
-
export type { ActionExecution, ActionHandlerOptions, AuditLogWriter, BankAccountMetadata, BaseEvent, Command, CommandLogPayload, DevelitWorkerMethods, Environment, GatewayResponse, IRPCResponse, IncludeRelation, InferResultType, InternalError, InternalErrorResponseStatus, Project, ValidatedInput };
|
|
510
|
+
export { DatabaseTransaction, ENVIRONMENT, RPCResponse, action, bankAccount, bankAccountMetadataSchema, base, bicSchema, calculateExponentialBackoff, cloudflareQueue, composeWranglerBase, createAuditLogWriter, createInternalError, defineCommand, derivePortFromId, develitWorker, durableObjectNamespaceIdFromName, first, firstOrError, getD1Credentials, getD1DatabaseIdFromWrangler, getDrizzleD1Config, getSecret, handleAction, handleActionResponse, ibanSchema, idempotency, isInternalError, logger, paginationQuerySchema, paginationSchema, service, useFetch, useResult, useResultSync, uuidv4 };
|
|
511
|
+
export type { ActionExecution, ActionHandlerOptions, AuditLogWriter, BankAccountMetadata, BaseEvent, Command, CommandLogPayload, DevelitWorkerMethods, Environment, GatewayResponse, IRPCResponse, IdempotencyVariables, IncludeRelation, InferResultType, InternalError, InternalErrorResponseStatus, Project, ValidatedInput };
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import * as drizzle_orm from 'drizzle-orm';
|
|
|
2
2
|
import { ExtractTablesWithRelations, DBQueryConfig, BuildQueryResult } from 'drizzle-orm';
|
|
3
3
|
import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
|
|
4
4
|
import { AnySQLiteTable } from 'drizzle-orm/sqlite-core';
|
|
5
|
-
import
|
|
5
|
+
import { MiddlewareHandler } from 'hono/types';
|
|
6
6
|
import { z as z$1 } from 'zod';
|
|
7
7
|
import * as z from 'zod/v4/core';
|
|
8
8
|
import { StatusCodes, ReasonPhrases } from 'http-status-codes';
|
|
@@ -59,14 +59,9 @@ declare const composeWranglerBase: ({ project, name, }: {
|
|
|
59
59
|
|
|
60
60
|
declare const idempotency: <T extends {
|
|
61
61
|
IDEMPOTENCY_KV: KVNamespace;
|
|
62
|
-
}>() =>
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
key: string;
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
Bindings: T;
|
|
69
|
-
}, string, {}, Response>;
|
|
62
|
+
}>() => MiddlewareHandler;
|
|
63
|
+
|
|
64
|
+
declare const logger: () => MiddlewareHandler;
|
|
70
65
|
|
|
71
66
|
declare const ENVIRONMENT: string[];
|
|
72
67
|
|
|
@@ -173,6 +168,12 @@ type InferResultType<Tables extends Record<string, unknown>, TableName extends k
|
|
|
173
168
|
with: With;
|
|
174
169
|
}>;
|
|
175
170
|
|
|
171
|
+
interface IdempotencyVariables {
|
|
172
|
+
idempotency: {
|
|
173
|
+
key: string;
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
|
|
176
177
|
declare const paginationQuerySchema: z.$ZodObject<Readonly<Readonly<{
|
|
177
178
|
[k: string]: z.$ZodType<unknown, unknown, z.$ZodTypeInternals<unknown, unknown>>;
|
|
178
179
|
}>>, z.$ZodObjectConfig>;
|
|
@@ -506,5 +507,5 @@ interface WithRetryCounterOptions {
|
|
|
506
507
|
type AsyncMethod<TArgs extends unknown[] = unknown[], TResult = unknown> = (...args: TArgs) => Promise<TResult>;
|
|
507
508
|
declare function cloudflareQueue<TArgs extends unknown[] = unknown[], TResult = unknown>(options: WithRetryCounterOptions): (target: unknown, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<AsyncMethod<TArgs, TResult>>) => void;
|
|
508
509
|
|
|
509
|
-
export { DatabaseTransaction, ENVIRONMENT, RPCResponse, action, bankAccount, bankAccountMetadataSchema, base, bicSchema, calculateExponentialBackoff, cloudflareQueue, composeWranglerBase, createAuditLogWriter, createInternalError, defineCommand, derivePortFromId, develitWorker, durableObjectNamespaceIdFromName, first, firstOrError, getD1Credentials, getD1DatabaseIdFromWrangler, getDrizzleD1Config, getSecret, handleAction, handleActionResponse, ibanSchema, idempotency, isInternalError, paginationQuerySchema, paginationSchema, service, useFetch, useResult, useResultSync, uuidv4 };
|
|
510
|
-
export type { ActionExecution, ActionHandlerOptions, AuditLogWriter, BankAccountMetadata, BaseEvent, Command, CommandLogPayload, DevelitWorkerMethods, Environment, GatewayResponse, IRPCResponse, IncludeRelation, InferResultType, InternalError, InternalErrorResponseStatus, Project, ValidatedInput };
|
|
510
|
+
export { DatabaseTransaction, ENVIRONMENT, RPCResponse, action, bankAccount, bankAccountMetadataSchema, base, bicSchema, calculateExponentialBackoff, cloudflareQueue, composeWranglerBase, createAuditLogWriter, createInternalError, defineCommand, derivePortFromId, develitWorker, durableObjectNamespaceIdFromName, first, firstOrError, getD1Credentials, getD1DatabaseIdFromWrangler, getDrizzleD1Config, getSecret, handleAction, handleActionResponse, ibanSchema, idempotency, isInternalError, logger, paginationQuerySchema, paginationSchema, service, useFetch, useResult, useResultSync, uuidv4 };
|
|
511
|
+
export type { ActionExecution, ActionHandlerOptions, AuditLogWriter, BankAccountMetadata, BaseEvent, Command, CommandLogPayload, DevelitWorkerMethods, Environment, GatewayResponse, IRPCResponse, IdempotencyVariables, IncludeRelation, InferResultType, InternalError, InternalErrorResponseStatus, Project, ValidatedInput };
|
package/dist/index.mjs
CHANGED
|
@@ -2,15 +2,15 @@ import { sql } from 'drizzle-orm';
|
|
|
2
2
|
import { integer, text } from 'drizzle-orm/sqlite-core';
|
|
3
3
|
import { COUNTRY_CODES_2, CURRENCY_CODES, BANK_CODES } from '@develit-io/general-codes';
|
|
4
4
|
import { createMiddleware } from 'hono/factory';
|
|
5
|
-
import { z as z$1 } from 'zod';
|
|
6
|
-
import * as z from 'zod/v4/core';
|
|
7
|
-
import 'http-status-codes';
|
|
8
5
|
import { createError } from 'h3';
|
|
9
6
|
import 'cloudflare';
|
|
10
7
|
import fs from 'node:fs';
|
|
11
8
|
import crypto$1 from 'node:crypto';
|
|
12
9
|
import path from 'node:path';
|
|
13
10
|
import { parse } from 'comment-json';
|
|
11
|
+
import { z as z$1 } from 'zod';
|
|
12
|
+
import * as z from 'zod/v4/core';
|
|
13
|
+
import 'http-status-codes';
|
|
14
14
|
import superjson from 'superjson';
|
|
15
15
|
|
|
16
16
|
const uuidv4 = () => crypto.randomUUID();
|
|
@@ -98,107 +98,25 @@ const idempotency = () => {
|
|
|
98
98
|
});
|
|
99
99
|
};
|
|
100
100
|
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
shape: {
|
|
121
|
-
page: new z.$ZodDefault({
|
|
122
|
-
type: "default",
|
|
123
|
-
innerType: new z.$ZodNumber({
|
|
124
|
-
type: "number",
|
|
125
|
-
coerce: true
|
|
126
|
-
}),
|
|
127
|
-
defaultValue: () => 1
|
|
128
|
-
}),
|
|
129
|
-
limit: new z.$ZodDefault({
|
|
130
|
-
type: "default",
|
|
131
|
-
innerType: new z.$ZodNumber({
|
|
132
|
-
type: "number",
|
|
133
|
-
coerce: true
|
|
134
|
-
}),
|
|
135
|
-
defaultValue: () => 20
|
|
136
|
-
}),
|
|
137
|
-
sort: new z.$ZodDefault({
|
|
138
|
-
type: "default",
|
|
139
|
-
innerType: new z.$ZodObject({
|
|
140
|
-
type: "object",
|
|
141
|
-
shape: {
|
|
142
|
-
column: new z.$ZodDefault({
|
|
143
|
-
type: "default",
|
|
144
|
-
innerType: new z.$ZodEnum({
|
|
145
|
-
type: "enum",
|
|
146
|
-
entries: {
|
|
147
|
-
createdAt: "createdAt",
|
|
148
|
-
updatedAt: "updatedAt",
|
|
149
|
-
deletedAt: "deletedAt"
|
|
150
|
-
}
|
|
151
|
-
}),
|
|
152
|
-
defaultValue: () => "updatedAt"
|
|
153
|
-
}),
|
|
154
|
-
direction: new z.$ZodDefault({
|
|
155
|
-
type: "default",
|
|
156
|
-
innerType: new z.$ZodEnum({
|
|
157
|
-
type: "enum",
|
|
158
|
-
entries: {
|
|
159
|
-
asc: "asc",
|
|
160
|
-
desc: "desc"
|
|
161
|
-
}
|
|
162
|
-
}),
|
|
163
|
-
defaultValue: () => "desc"
|
|
164
|
-
})
|
|
165
|
-
}
|
|
166
|
-
}),
|
|
167
|
-
defaultValue: () => ({ column: "updatedAt", direction: "desc" })
|
|
168
|
-
})
|
|
169
|
-
}
|
|
170
|
-
});
|
|
171
|
-
const paginationSchema = new z.$ZodObject({
|
|
172
|
-
type: "object",
|
|
173
|
-
shape: {
|
|
174
|
-
page: new z.$ZodNumber({
|
|
175
|
-
type: "number"
|
|
176
|
-
}),
|
|
177
|
-
limit: new z.$ZodNumber({
|
|
178
|
-
type: "number"
|
|
179
|
-
}),
|
|
180
|
-
sort: new z.$ZodObject({
|
|
181
|
-
type: "object",
|
|
182
|
-
shape: {
|
|
183
|
-
column: new z.$ZodEnum({
|
|
184
|
-
type: "enum",
|
|
185
|
-
entries: {
|
|
186
|
-
createdAt: "createdAt",
|
|
187
|
-
updatedAt: "updatedAt",
|
|
188
|
-
deletedAt: "deletedAt"
|
|
189
|
-
}
|
|
190
|
-
}),
|
|
191
|
-
direction: new z.$ZodEnum({
|
|
192
|
-
type: "enum",
|
|
193
|
-
entries: {
|
|
194
|
-
asc: "asc",
|
|
195
|
-
desc: "desc"
|
|
196
|
-
}
|
|
197
|
-
})
|
|
198
|
-
}
|
|
199
|
-
})
|
|
200
|
-
}
|
|
201
|
-
});
|
|
101
|
+
const composeRequestLog = async (request) => {
|
|
102
|
+
return {
|
|
103
|
+
method: request.method,
|
|
104
|
+
path: request.path,
|
|
105
|
+
query: request.query(),
|
|
106
|
+
headers: request.header(),
|
|
107
|
+
body: await request.json().catch(() => null)
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
const composeResponseLog = async (response, method, path) => {
|
|
111
|
+
return {
|
|
112
|
+
method,
|
|
113
|
+
path,
|
|
114
|
+
status: response.status,
|
|
115
|
+
statusText: response.statusText,
|
|
116
|
+
headers: Object.fromEntries(response.headers.entries()),
|
|
117
|
+
body: await response.json().catch(() => null)
|
|
118
|
+
};
|
|
119
|
+
};
|
|
202
120
|
|
|
203
121
|
const handleActionResponse = ({
|
|
204
122
|
error,
|
|
@@ -560,6 +478,13 @@ async function useFetch(url, { parseAs = "json", ...options } = {}) {
|
|
|
560
478
|
return [body, null];
|
|
561
479
|
}
|
|
562
480
|
|
|
481
|
+
const logRequest = (log) => {
|
|
482
|
+
console.log("REQUEST | An incoming request has been recorded.", log);
|
|
483
|
+
};
|
|
484
|
+
const logResponse = (log) => {
|
|
485
|
+
console.log(`RESPONSE | An outgoing response has been recorded.`, log);
|
|
486
|
+
};
|
|
487
|
+
|
|
563
488
|
const calculateExponentialBackoff = (attempts, baseDelaySeconds) => {
|
|
564
489
|
return baseDelaySeconds ** attempts;
|
|
565
490
|
};
|
|
@@ -576,6 +501,123 @@ const getSecret = async (secretName, env) => {
|
|
|
576
501
|
return await secret.get();
|
|
577
502
|
};
|
|
578
503
|
|
|
504
|
+
const logger = () => {
|
|
505
|
+
return createMiddleware(async (context, next) => {
|
|
506
|
+
const requestLog = await composeRequestLog(context.req);
|
|
507
|
+
logRequest(requestLog);
|
|
508
|
+
await next();
|
|
509
|
+
const response = context.res.clone();
|
|
510
|
+
const responseLog = await composeResponseLog(
|
|
511
|
+
response,
|
|
512
|
+
context.req.method,
|
|
513
|
+
context.req.url
|
|
514
|
+
);
|
|
515
|
+
logResponse(responseLog);
|
|
516
|
+
});
|
|
517
|
+
};
|
|
518
|
+
|
|
519
|
+
const ibanSchema = z$1.string().min(1).regex(/^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$/, {
|
|
520
|
+
message: "Invalid IBAN format"
|
|
521
|
+
});
|
|
522
|
+
const bicSchema = z$1.string().min(1).regex(/^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$/, {
|
|
523
|
+
message: "Invalid SWIFT/BIC format"
|
|
524
|
+
});
|
|
525
|
+
const bankAccountMetadataSchema = z$1.object({
|
|
526
|
+
id: z$1.string().optional(),
|
|
527
|
+
number: z$1.string().optional(),
|
|
528
|
+
bankCode: z$1.enum(BANK_CODES).optional(),
|
|
529
|
+
holderName: z$1.string().optional(),
|
|
530
|
+
iban: ibanSchema.optional(),
|
|
531
|
+
address: z$1.string().optional(),
|
|
532
|
+
swiftBic: bicSchema.optional(),
|
|
533
|
+
bicCor: bicSchema.optional()
|
|
534
|
+
});
|
|
535
|
+
|
|
536
|
+
const paginationQuerySchema = new z.$ZodObject({
|
|
537
|
+
type: "object",
|
|
538
|
+
shape: {
|
|
539
|
+
page: new z.$ZodDefault({
|
|
540
|
+
type: "default",
|
|
541
|
+
innerType: new z.$ZodNumber({
|
|
542
|
+
type: "number",
|
|
543
|
+
coerce: true
|
|
544
|
+
}),
|
|
545
|
+
defaultValue: () => 1
|
|
546
|
+
}),
|
|
547
|
+
limit: new z.$ZodDefault({
|
|
548
|
+
type: "default",
|
|
549
|
+
innerType: new z.$ZodNumber({
|
|
550
|
+
type: "number",
|
|
551
|
+
coerce: true
|
|
552
|
+
}),
|
|
553
|
+
defaultValue: () => 20
|
|
554
|
+
}),
|
|
555
|
+
sort: new z.$ZodDefault({
|
|
556
|
+
type: "default",
|
|
557
|
+
innerType: new z.$ZodObject({
|
|
558
|
+
type: "object",
|
|
559
|
+
shape: {
|
|
560
|
+
column: new z.$ZodDefault({
|
|
561
|
+
type: "default",
|
|
562
|
+
innerType: new z.$ZodEnum({
|
|
563
|
+
type: "enum",
|
|
564
|
+
entries: {
|
|
565
|
+
createdAt: "createdAt",
|
|
566
|
+
updatedAt: "updatedAt",
|
|
567
|
+
deletedAt: "deletedAt"
|
|
568
|
+
}
|
|
569
|
+
}),
|
|
570
|
+
defaultValue: () => "updatedAt"
|
|
571
|
+
}),
|
|
572
|
+
direction: new z.$ZodDefault({
|
|
573
|
+
type: "default",
|
|
574
|
+
innerType: new z.$ZodEnum({
|
|
575
|
+
type: "enum",
|
|
576
|
+
entries: {
|
|
577
|
+
asc: "asc",
|
|
578
|
+
desc: "desc"
|
|
579
|
+
}
|
|
580
|
+
}),
|
|
581
|
+
defaultValue: () => "desc"
|
|
582
|
+
})
|
|
583
|
+
}
|
|
584
|
+
}),
|
|
585
|
+
defaultValue: () => ({ column: "updatedAt", direction: "desc" })
|
|
586
|
+
})
|
|
587
|
+
}
|
|
588
|
+
});
|
|
589
|
+
const paginationSchema = new z.$ZodObject({
|
|
590
|
+
type: "object",
|
|
591
|
+
shape: {
|
|
592
|
+
page: new z.$ZodNumber({
|
|
593
|
+
type: "number"
|
|
594
|
+
}),
|
|
595
|
+
limit: new z.$ZodNumber({
|
|
596
|
+
type: "number"
|
|
597
|
+
}),
|
|
598
|
+
sort: new z.$ZodObject({
|
|
599
|
+
type: "object",
|
|
600
|
+
shape: {
|
|
601
|
+
column: new z.$ZodEnum({
|
|
602
|
+
type: "enum",
|
|
603
|
+
entries: {
|
|
604
|
+
createdAt: "createdAt",
|
|
605
|
+
updatedAt: "updatedAt",
|
|
606
|
+
deletedAt: "deletedAt"
|
|
607
|
+
}
|
|
608
|
+
}),
|
|
609
|
+
direction: new z.$ZodEnum({
|
|
610
|
+
type: "enum",
|
|
611
|
+
entries: {
|
|
612
|
+
asc: "asc",
|
|
613
|
+
desc: "desc"
|
|
614
|
+
}
|
|
615
|
+
})
|
|
616
|
+
}
|
|
617
|
+
})
|
|
618
|
+
}
|
|
619
|
+
});
|
|
620
|
+
|
|
579
621
|
const service = (serviceName) => {
|
|
580
622
|
return function(constructor) {
|
|
581
623
|
return class extends constructor {
|
|
@@ -716,4 +758,4 @@ function develitWorker(Worker) {
|
|
|
716
758
|
return DevelitWorker;
|
|
717
759
|
}
|
|
718
760
|
|
|
719
|
-
export { DatabaseTransaction, ENVIRONMENT, RPCResponse, action, bankAccount, bankAccountMetadataSchema, base, bicSchema, calculateExponentialBackoff, cloudflareQueue, composeWranglerBase, createAuditLogWriter, createInternalError, defineCommand, derivePortFromId, develitWorker, durableObjectNamespaceIdFromName, first, firstOrError, getD1Credentials, getD1DatabaseIdFromWrangler, getDrizzleD1Config, getSecret, handleAction, handleActionResponse, ibanSchema, idempotency, isInternalError, paginationQuerySchema, paginationSchema, service, useFetch, useResult, useResultSync, uuidv4 };
|
|
761
|
+
export { DatabaseTransaction, ENVIRONMENT, RPCResponse, action, bankAccount, bankAccountMetadataSchema, base, bicSchema, calculateExponentialBackoff, cloudflareQueue, composeWranglerBase, createAuditLogWriter, createInternalError, defineCommand, derivePortFromId, develitWorker, durableObjectNamespaceIdFromName, first, firstOrError, getD1Credentials, getD1DatabaseIdFromWrangler, getDrizzleD1Config, getSecret, handleAction, handleActionResponse, ibanSchema, idempotency, isInternalError, logger, paginationQuerySchema, paginationSchema, service, useFetch, useResult, useResultSync, uuidv4 };
|