@visulima/crud 3.0.0-alpha.10 → 3.0.0-alpha.12

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.
Files changed (34) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/handler/create.d.cts +2 -10
  3. package/dist/handler/create.d.mts +2 -10
  4. package/dist/handler/create.d.ts +2 -10
  5. package/dist/handler/delete.d.cts +2 -6
  6. package/dist/handler/delete.d.mts +2 -6
  7. package/dist/handler/delete.d.ts +2 -6
  8. package/dist/handler/list.d.cts +2 -8
  9. package/dist/handler/list.d.mts +2 -8
  10. package/dist/handler/list.d.ts +2 -8
  11. package/dist/handler/read.d.cts +2 -6
  12. package/dist/handler/read.d.mts +2 -6
  13. package/dist/handler/read.d.ts +2 -6
  14. package/dist/handler/update.d.cts +2 -10
  15. package/dist/handler/update.d.mts +2 -10
  16. package/dist/handler/update.d.ts +2 -10
  17. package/dist/index.cjs +2 -2
  18. package/dist/index.mjs +2 -2
  19. package/dist/next/index.cjs +2 -2
  20. package/dist/next/index.mjs +2 -2
  21. package/dist/packem_shared/{PrismaAdapter-dVBZvBOv.mjs → PrismaAdapter-Bd2bxZfN.mjs} +2 -2
  22. package/dist/packem_shared/{PrismaAdapter-BTCwgMow.cjs → PrismaAdapter-BondygJ8.cjs} +2 -2
  23. package/dist/packem_shared/{base-crud-handler-DgrOMhoH.mjs → base-crud-handler-Cg8r7S9C.mjs} +2 -2
  24. package/dist/packem_shared/{base-crud-handler-B3eCO4up.cjs → base-crud-handler-DSlkMYL6.cjs} +2 -2
  25. package/dist/packem_shared/{edgeHandler-CDFgDdrG.cjs → edgeHandler-DFuv_tsd.cjs} +1 -1
  26. package/dist/packem_shared/{edgeHandler-B4JJXPUI.mjs → edgeHandler-l0sBgF0s.mjs} +1 -1
  27. package/dist/packem_shared/{modelsToOpenApi-BuGL_l3R.cjs → modelsToOpenApi-DypKlIy4.cjs} +1 -1
  28. package/dist/packem_shared/{modelsToOpenApi-Bux3khmh.mjs → modelsToOpenApi-qs_cqTsd.mjs} +1 -1
  29. package/dist/packem_shared/{nodeHandler-BUWSKNyo.cjs → nodeHandler-BlXQahKv.cjs} +1 -1
  30. package/dist/packem_shared/{nodeHandler-DSq7vHzv.mjs → nodeHandler-R76tfOc6.mjs} +1 -1
  31. package/dist/types.d.cts +30 -5
  32. package/dist/types.d.mts +30 -5
  33. package/dist/types.d.ts +30 -5
  34. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,3 +1,32 @@
1
+ ## @visulima/crud [3.0.0-alpha.12](https://github.com/visulima/visulima/compare/@visulima/crud@3.0.0-alpha.11...@visulima/crud@3.0.0-alpha.12) (2026-04-21)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * update the jsr.json ([864ab7e](https://github.com/visulima/visulima/commit/864ab7e71c4b5ae82f64792d1ae8debfea2c539b))
6
+
7
+
8
+ ### Dependencies
9
+
10
+ * **@visulima/prisma-dmmf-transformer:** upgraded to 3.0.0-alpha.11
11
+
12
+ ## @visulima/crud [3.0.0-alpha.11](https://github.com/visulima/visulima/compare/@visulima/crud@3.0.0-alpha.10...@visulima/crud@3.0.0-alpha.11) (2026-04-21)
13
+
14
+ ### Miscellaneous Chores
15
+
16
+ * bump engines.node to ^22.14.0 || >=24.10.0 ([c3d0931](https://github.com/visulima/visulima/commit/c3d0931d1504e4f21ebf50ea680cfa7ce4ba15ce))
17
+ * **crud:** apply pending changes ([f109452](https://github.com/visulima/visulima/commit/f109452a3b00355f305835edf8a9e46dcac8d3c8))
18
+ * **crud:** apply pending lint and source updates ([45ec62a](https://github.com/visulima/visulima/commit/45ec62a0fcfc6b20b810f7821b59a8ca2e814b6d))
19
+ * fixed jsr.json ([5d85e51](https://github.com/visulima/visulima/commit/5d85e5179de38e284ec433b14d77c71a1619c8d6))
20
+
21
+ ### Code Refactoring
22
+
23
+ * **crud:** break handler <-> types circular imports ([#613](https://github.com/visulima/visulima/issues/613)) ([a3c7692](https://github.com/visulima/visulima/commit/a3c7692a5c47cb6ce2284cef7507f4fb992ad3a3))
24
+
25
+
26
+ ### Dependencies
27
+
28
+ * **@visulima/prisma-dmmf-transformer:** upgraded to 3.0.0-alpha.10
29
+
1
30
  ## @visulima/crud [3.0.0-alpha.10](https://github.com/visulima/visulima/compare/@visulima/crud@3.0.0-alpha.9...@visulima/crud@3.0.0-alpha.10) (2026-04-15)
2
31
 
3
32
  ### Bug Fixes
@@ -1,11 +1,3 @@
1
- import type { HandlerParameters } from "../types.d.cts";
2
- declare const createHandler: Handler;
3
- export type Handler = <T, Q, Request>(parameters: HandlerParameters<T, Q> & {
4
- request: Request & {
5
- body: Record<string, any>;
6
- };
7
- }) => Promise<{
8
- data: any;
9
- status: number;
10
- }>;
1
+ import type { CreateHandler } from "../types.d.cts";
2
+ declare const createHandler: CreateHandler;
11
3
  export = createHandler;
@@ -1,11 +1,3 @@
1
- import type { HandlerParameters } from "../types.d.mts";
2
- declare const createHandler: Handler;
3
- export type Handler = <T, Q, Request>(parameters: HandlerParameters<T, Q> & {
4
- request: Request & {
5
- body: Record<string, any>;
6
- };
7
- }) => Promise<{
8
- data: any;
9
- status: number;
10
- }>;
1
+ import type { CreateHandler } from "../types.d.mts";
2
+ declare const createHandler: CreateHandler;
11
3
  export default createHandler;
@@ -1,11 +1,3 @@
1
- import type { HandlerParameters } from "../types.d.ts";
2
- declare const createHandler: Handler;
3
- export type Handler = <T, Q, Request>(parameters: HandlerParameters<T, Q> & {
4
- request: Request & {
5
- body: Record<string, any>;
6
- };
7
- }) => Promise<{
8
- data: any;
9
- status: number;
10
- }>;
1
+ import type { CreateHandler } from "../types.d.ts";
2
+ declare const createHandler: CreateHandler;
11
3
  export = createHandler;
@@ -1,7 +1,3 @@
1
- import type { UniqueResourceHandlerParameters } from "../types.d.cts";
2
- declare const deleteHandler: Handler;
3
- export type Handler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
4
- data: any;
5
- status: number;
6
- }>;
1
+ import type { DeleteHandler } from "../types.d.cts";
2
+ declare const deleteHandler: DeleteHandler;
7
3
  export = deleteHandler;
@@ -1,7 +1,3 @@
1
- import type { UniqueResourceHandlerParameters } from "../types.d.mts";
2
- declare const deleteHandler: Handler;
3
- export type Handler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
4
- data: any;
5
- status: number;
6
- }>;
1
+ import type { DeleteHandler } from "../types.d.mts";
2
+ declare const deleteHandler: DeleteHandler;
7
3
  export default deleteHandler;
@@ -1,7 +1,3 @@
1
- import type { UniqueResourceHandlerParameters } from "../types.d.ts";
2
- declare const deleteHandler: Handler;
3
- export type Handler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
4
- data: any;
5
- status: number;
6
- }>;
1
+ import type { DeleteHandler } from "../types.d.ts";
2
+ declare const deleteHandler: DeleteHandler;
7
3
  export = deleteHandler;
@@ -1,9 +1,3 @@
1
- import type { HandlerParameters, PaginationConfig, ParsedQueryParameters } from "../types.d.cts";
2
- declare const listHandler: Handler;
3
- export type Handler = <T, Q extends ParsedQueryParameters>(parameters: HandlerParameters<T, Q> & {
4
- pagination: PaginationConfig;
5
- }) => Promise<{
6
- data: any;
7
- status: number;
8
- }>;
1
+ import type { ListHandler } from "../types.d.cts";
2
+ declare const listHandler: ListHandler;
9
3
  export = listHandler;
@@ -1,9 +1,3 @@
1
- import type { HandlerParameters, PaginationConfig, ParsedQueryParameters } from "../types.d.mts";
2
- declare const listHandler: Handler;
3
- export type Handler = <T, Q extends ParsedQueryParameters>(parameters: HandlerParameters<T, Q> & {
4
- pagination: PaginationConfig;
5
- }) => Promise<{
6
- data: any;
7
- status: number;
8
- }>;
1
+ import type { ListHandler } from "../types.d.mts";
2
+ declare const listHandler: ListHandler;
9
3
  export default listHandler;
@@ -1,9 +1,3 @@
1
- import type { HandlerParameters, PaginationConfig, ParsedQueryParameters } from "../types.d.ts";
2
- declare const listHandler: Handler;
3
- export type Handler = <T, Q extends ParsedQueryParameters>(parameters: HandlerParameters<T, Q> & {
4
- pagination: PaginationConfig;
5
- }) => Promise<{
6
- data: any;
7
- status: number;
8
- }>;
1
+ import type { ListHandler } from "../types.d.ts";
2
+ declare const listHandler: ListHandler;
9
3
  export = listHandler;
@@ -1,7 +1,3 @@
1
- import type { UniqueResourceHandlerParameters } from "../types.d.cts";
2
- declare const readHandler: Handler;
3
- export type Handler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
4
- data: any;
5
- status: number;
6
- }>;
1
+ import type { GetHandler } from "../types.d.cts";
2
+ declare const readHandler: GetHandler;
7
3
  export = readHandler;
@@ -1,7 +1,3 @@
1
- import type { UniqueResourceHandlerParameters } from "../types.d.mts";
2
- declare const readHandler: Handler;
3
- export type Handler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
4
- data: any;
5
- status: number;
6
- }>;
1
+ import type { GetHandler } from "../types.d.mts";
2
+ declare const readHandler: GetHandler;
7
3
  export default readHandler;
@@ -1,7 +1,3 @@
1
- import type { UniqueResourceHandlerParameters } from "../types.d.ts";
2
- declare const readHandler: Handler;
3
- export type Handler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
4
- data: any;
5
- status: number;
6
- }>;
1
+ import type { GetHandler } from "../types.d.ts";
2
+ declare const readHandler: GetHandler;
7
3
  export = readHandler;
@@ -1,11 +1,3 @@
1
- import type { UniqueResourceHandlerParameters } from "../types.d.cts";
2
- declare const updateHandler: Handler;
3
- export type Handler = <T, Q, Request>(parameters: UniqueResourceHandlerParameters<T, Q> & {
4
- request: Request & {
5
- body: Partial<T>;
6
- };
7
- }) => Promise<{
8
- data: any;
9
- status: number;
10
- }>;
1
+ import type { UpdateHandler } from "../types.d.cts";
2
+ declare const updateHandler: UpdateHandler;
11
3
  export = updateHandler;
@@ -1,11 +1,3 @@
1
- import type { UniqueResourceHandlerParameters } from "../types.d.mts";
2
- declare const updateHandler: Handler;
3
- export type Handler = <T, Q, Request>(parameters: UniqueResourceHandlerParameters<T, Q> & {
4
- request: Request & {
5
- body: Partial<T>;
6
- };
7
- }) => Promise<{
8
- data: any;
9
- status: number;
10
- }>;
1
+ import type { UpdateHandler } from "../types.d.mts";
2
+ declare const updateHandler: UpdateHandler;
11
3
  export default updateHandler;
@@ -1,11 +1,3 @@
1
- import type { UniqueResourceHandlerParameters } from "../types.d.ts";
2
- declare const updateHandler: Handler;
3
- export type Handler = <T, Q, Request>(parameters: UniqueResourceHandlerParameters<T, Q> & {
4
- request: Request & {
5
- body: Partial<T>;
6
- };
7
- }) => Promise<{
8
- data: any;
9
- status: number;
10
- }>;
1
+ import type { UpdateHandler } from "../types.d.ts";
2
+ declare const updateHandler: UpdateHandler;
11
3
  export = updateHandler;
package/dist/index.cjs CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
4
 
5
- const PrismaAdapter = require('./packem_shared/PrismaAdapter-BTCwgMow.cjs');
6
- const modelsToOpenApi = require('./packem_shared/modelsToOpenApi-BuGL_l3R.cjs');
5
+ const PrismaAdapter = require('./packem_shared/PrismaAdapter-BondygJ8.cjs');
6
+ const modelsToOpenApi = require('./packem_shared/modelsToOpenApi-DypKlIy4.cjs');
7
7
  const RouteType = require('./packem_shared/RouteType-Bk3uAK0x.cjs');
8
8
 
9
9
 
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
- export { default as PrismaAdapter } from './packem_shared/PrismaAdapter-dVBZvBOv.mjs';
2
- export { default as modelsToOpenApi } from './packem_shared/modelsToOpenApi-Bux3khmh.mjs';
1
+ export { default as PrismaAdapter } from './packem_shared/PrismaAdapter-Bd2bxZfN.mjs';
2
+ export { default as modelsToOpenApi } from './packem_shared/modelsToOpenApi-qs_cqTsd.mjs';
3
3
  export { RouteType } from './packem_shared/RouteType-CB2xrWdf.mjs';
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
4
 
5
- const edgeHandler = require('../packem_shared/edgeHandler-CDFgDdrG.cjs');
6
- const nodeHandler = require('../packem_shared/nodeHandler-BUWSKNyo.cjs');
5
+ const edgeHandler = require('../packem_shared/edgeHandler-DFuv_tsd.cjs');
6
+ const nodeHandler = require('../packem_shared/nodeHandler-BlXQahKv.cjs');
7
7
 
8
8
 
9
9
 
@@ -1,2 +1,2 @@
1
- export { default as edgeHandler } from '../packem_shared/edgeHandler-B4JJXPUI.mjs';
2
- export { default as nodeHandler } from '../packem_shared/nodeHandler-DSq7vHzv.mjs';
1
+ export { default as edgeHandler } from '../packem_shared/edgeHandler-l0sBgF0s.mjs';
2
+ export { default as nodeHandler } from '../packem_shared/nodeHandler-R76tfOc6.mjs';
@@ -81,7 +81,7 @@ const parseSimpleField = (value) => {
81
81
  return void 0;
82
82
  };
83
83
  const parseRelation = (value, key, parsed, manyRelations) => {
84
- const fields = key.split(".").reverse();
84
+ const fields = key.split(".").toReversed();
85
85
  let formatFields = {};
86
86
  fields.forEach((field, index) => {
87
87
  if (index === 0) {
@@ -94,7 +94,7 @@ const parseRelation = (value, key, parsed, manyRelations) => {
94
94
  };
95
95
  }
96
96
  });
97
- const initialFieldKey = fields.reverse()[0];
97
+ const initialFieldKey = fields.toReversed()[0];
98
98
  const oldParsed = parsed[initialFieldKey];
99
99
  parsed[initialFieldKey] = {
100
100
  some: {
@@ -87,7 +87,7 @@ const parseSimpleField = (value) => {
87
87
  return void 0;
88
88
  };
89
89
  const parseRelation = (value, key, parsed, manyRelations) => {
90
- const fields = key.split(".").reverse();
90
+ const fields = key.split(".").toReversed();
91
91
  let formatFields = {};
92
92
  fields.forEach((field, index) => {
93
93
  if (index === 0) {
@@ -100,7 +100,7 @@ const parseRelation = (value, key, parsed, manyRelations) => {
100
100
  };
101
101
  }
102
102
  });
103
- const initialFieldKey = fields.reverse()[0];
103
+ const initialFieldKey = fields.toReversed()[0];
104
104
  const oldParsed = parsed[initialFieldKey];
105
105
  parsed[initialFieldKey] = {
106
106
  some: {
@@ -541,8 +541,8 @@ async function baseHandler(responseExecutor, finalExecutor, adapter, options) {
541
541
  pagination: config.pagination,
542
542
  query: {
543
543
  ...parameters.query,
544
- limit: parsedQuery.limit ? Number(parsedQuery.limit) : void 0,
545
- page: parsedQuery.page ? Number(parsedQuery.page) : void 0
544
+ limit: parsedQuery.limit ?? void 0,
545
+ page: parsedQuery.page ?? void 0
546
546
  }
547
547
  });
548
548
  break;
@@ -526,8 +526,8 @@ async function baseHandler(responseExecutor, finalExecutor, adapter, options) {
526
526
  pagination: config.pagination,
527
527
  query: {
528
528
  ...parameters.query,
529
- limit: parsedQuery.limit ? Number(parsedQuery.limit) : void 0,
530
- page: parsedQuery.page ? Number(parsedQuery.page) : void 0
529
+ limit: parsedQuery.limit ?? void 0,
530
+ page: parsedQuery.page ?? void 0
531
531
  }
532
532
  });
533
533
  break;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const baseCrudHandler = require('./base-crud-handler-B3eCO4up.cjs');
3
+ const baseCrudHandler = require('./base-crud-handler-DSlkMYL6.cjs');
4
4
 
5
5
  const handler = async (adapter, options) => await baseCrudHandler.baseHandler(
6
6
  async (_, responseConfig) => Response.json(responseConfig.data, {
@@ -1,4 +1,4 @@
1
- import { b as baseHandler } from './base-crud-handler-DgrOMhoH.mjs';
1
+ import { b as baseHandler } from './base-crud-handler-Cg8r7S9C.mjs';
2
2
 
3
3
  const handler = async (adapter, options) => await baseHandler(
4
4
  async (_, responseConfig) => Response.json(responseConfig.data, {
@@ -592,7 +592,7 @@ const getSwaggerPaths = ({ models, modelsConfig, routes, routesMap }) => (
592
592
  // eslint-disable-next-line unicorn/no-array-reduce
593
593
  Object.keys(routes).reduce((accumulator, value) => {
594
594
  const routeTypes = routes[value];
595
- const resourceName = models?.[value]?.name ? models[value].name : routesMap?.[value] ?? value;
595
+ const resourceName = models?.[value]?.name ?? routesMap?.[value] ?? value;
596
596
  const tag = modelsConfig?.[value]?.tag.name ?? value;
597
597
  if (routeTypes.includes(RouteType.RouteType.CREATE) || routeTypes.includes(RouteType.RouteType.READ_ALL)) {
598
598
  const path = `/${resourceName}`;
@@ -590,7 +590,7 @@ const getSwaggerPaths = ({ models, modelsConfig, routes, routesMap }) => (
590
590
  // eslint-disable-next-line unicorn/no-array-reduce
591
591
  Object.keys(routes).reduce((accumulator, value) => {
592
592
  const routeTypes = routes[value];
593
- const resourceName = models?.[value]?.name ? models[value].name : routesMap?.[value] ?? value;
593
+ const resourceName = models?.[value]?.name ?? routesMap?.[value] ?? value;
594
594
  const tag = modelsConfig?.[value]?.tag.name ?? value;
595
595
  if (routeTypes.includes(RouteType.CREATE) || routeTypes.includes(RouteType.READ_ALL)) {
596
596
  const path = `/${resourceName}`;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const baseCrudHandler = require('./base-crud-handler-B3eCO4up.cjs');
3
+ const baseCrudHandler = require('./base-crud-handler-DSlkMYL6.cjs');
4
4
 
5
5
  const handler = async (adapter, options) => await baseCrudHandler.baseHandler(
6
6
  async (response, responseConfig) => {
@@ -1,4 +1,4 @@
1
- import { b as baseHandler } from './base-crud-handler-DgrOMhoH.mjs';
1
+ import { b as baseHandler } from './base-crud-handler-Cg8r7S9C.mjs';
2
2
 
3
3
  const handler = async (adapter, options) => await baseHandler(
4
4
  async (response, responseConfig) => {
package/dist/types.d.cts CHANGED
@@ -1,8 +1,3 @@
1
- import type { Handler as CreateHandler } from "./handler/create.d.cts";
2
- import type { Handler as DeleteHandler } from "./handler/delete.d.cts";
3
- import type { Handler as ListHandler } from "./handler/list.d.cts";
4
- import type { Handler as GetHandler } from "./handler/read.d.cts";
5
- import type { Handler as UpdateHandler } from "./handler/update.d.cts";
6
1
  export declare enum RouteType {
7
2
  CREATE = "CREATE",
8
3
  DELETE = "DELETE",
@@ -19,6 +14,36 @@ export interface ModelOption {
19
14
  export type ModelsOptions<M extends string = string> = {
20
15
  [key in M]?: ModelOption;
21
16
  };
17
+ export type CreateHandler = <T, Q, Request>(parameters: HandlerParameters<T, Q> & {
18
+ request: Request & {
19
+ body: Record<string, any>;
20
+ };
21
+ }) => Promise<{
22
+ data: any;
23
+ status: number;
24
+ }>;
25
+ export type DeleteHandler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
26
+ data: any;
27
+ status: number;
28
+ }>;
29
+ export type GetHandler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
30
+ data: any;
31
+ status: number;
32
+ }>;
33
+ export type ListHandler = <T, Q extends ParsedQueryParameters>(parameters: HandlerParameters<T, Q> & {
34
+ pagination: PaginationConfig;
35
+ }) => Promise<{
36
+ data: any;
37
+ status: number;
38
+ }>;
39
+ export type UpdateHandler = <T, Q, Request>(parameters: UniqueResourceHandlerParameters<T, Q> & {
40
+ request: Request & {
41
+ body: Partial<T>;
42
+ };
43
+ }) => Promise<{
44
+ data: any;
45
+ status: number;
46
+ }>;
22
47
  export interface HandlerOptions<M extends string = string> {
23
48
  exposeStrategy?: "all" | "none";
24
49
  formatResourceId?: (resourceId: string) => number | string;
package/dist/types.d.mts CHANGED
@@ -1,8 +1,3 @@
1
- import type { Handler as CreateHandler } from "./handler/create.d.mts";
2
- import type { Handler as DeleteHandler } from "./handler/delete.d.mts";
3
- import type { Handler as ListHandler } from "./handler/list.d.mts";
4
- import type { Handler as GetHandler } from "./handler/read.d.mts";
5
- import type { Handler as UpdateHandler } from "./handler/update.d.mts";
6
1
  export declare enum RouteType {
7
2
  CREATE = "CREATE",
8
3
  DELETE = "DELETE",
@@ -19,6 +14,36 @@ export interface ModelOption {
19
14
  export type ModelsOptions<M extends string = string> = {
20
15
  [key in M]?: ModelOption;
21
16
  };
17
+ export type CreateHandler = <T, Q, Request>(parameters: HandlerParameters<T, Q> & {
18
+ request: Request & {
19
+ body: Record<string, any>;
20
+ };
21
+ }) => Promise<{
22
+ data: any;
23
+ status: number;
24
+ }>;
25
+ export type DeleteHandler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
26
+ data: any;
27
+ status: number;
28
+ }>;
29
+ export type GetHandler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
30
+ data: any;
31
+ status: number;
32
+ }>;
33
+ export type ListHandler = <T, Q extends ParsedQueryParameters>(parameters: HandlerParameters<T, Q> & {
34
+ pagination: PaginationConfig;
35
+ }) => Promise<{
36
+ data: any;
37
+ status: number;
38
+ }>;
39
+ export type UpdateHandler = <T, Q, Request>(parameters: UniqueResourceHandlerParameters<T, Q> & {
40
+ request: Request & {
41
+ body: Partial<T>;
42
+ };
43
+ }) => Promise<{
44
+ data: any;
45
+ status: number;
46
+ }>;
22
47
  export interface HandlerOptions<M extends string = string> {
23
48
  exposeStrategy?: "all" | "none";
24
49
  formatResourceId?: (resourceId: string) => number | string;
package/dist/types.d.ts CHANGED
@@ -1,8 +1,3 @@
1
- import type { Handler as CreateHandler } from "./handler/create.d.ts";
2
- import type { Handler as DeleteHandler } from "./handler/delete.d.ts";
3
- import type { Handler as ListHandler } from "./handler/list.d.ts";
4
- import type { Handler as GetHandler } from "./handler/read.d.ts";
5
- import type { Handler as UpdateHandler } from "./handler/update.d.ts";
6
1
  export declare enum RouteType {
7
2
  CREATE = "CREATE",
8
3
  DELETE = "DELETE",
@@ -19,6 +14,36 @@ export interface ModelOption {
19
14
  export type ModelsOptions<M extends string = string> = {
20
15
  [key in M]?: ModelOption;
21
16
  };
17
+ export type CreateHandler = <T, Q, Request>(parameters: HandlerParameters<T, Q> & {
18
+ request: Request & {
19
+ body: Record<string, any>;
20
+ };
21
+ }) => Promise<{
22
+ data: any;
23
+ status: number;
24
+ }>;
25
+ export type DeleteHandler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
26
+ data: any;
27
+ status: number;
28
+ }>;
29
+ export type GetHandler = <T, Q>(parameters: UniqueResourceHandlerParameters<T, Q>) => Promise<{
30
+ data: any;
31
+ status: number;
32
+ }>;
33
+ export type ListHandler = <T, Q extends ParsedQueryParameters>(parameters: HandlerParameters<T, Q> & {
34
+ pagination: PaginationConfig;
35
+ }) => Promise<{
36
+ data: any;
37
+ status: number;
38
+ }>;
39
+ export type UpdateHandler = <T, Q, Request>(parameters: UniqueResourceHandlerParameters<T, Q> & {
40
+ request: Request & {
41
+ body: Partial<T>;
42
+ };
43
+ }) => Promise<{
44
+ data: any;
45
+ status: number;
46
+ }>;
22
47
  export interface HandlerOptions<M extends string = string> {
23
48
  exposeStrategy?: "all" | "none";
24
49
  formatResourceId?: (resourceId: string) => number | string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/crud",
3
- "version": "3.0.0-alpha.10",
3
+ "version": "3.0.0-alpha.12",
4
4
  "description": "A comprehensive CRUD library for building RESTful APIs with Prisma, providing automatic CRUD operations, filtering, sorting, and pagination.",
5
5
  "keywords": [
6
6
  "anolilab",
@@ -76,7 +76,7 @@
76
76
  ],
77
77
  "dependencies": {
78
78
  "@visulima/pagination": "5.0.0-alpha.10",
79
- "@visulima/prisma-dmmf-transformer": "3.0.0-alpha.9",
79
+ "@visulima/prisma-dmmf-transformer": "3.0.0-alpha.11",
80
80
  "http-errors": "^2.0.1",
81
81
  "path-to-regexp": "8.4.2"
82
82
  },
@@ -90,7 +90,7 @@
90
90
  }
91
91
  },
92
92
  "engines": {
93
- "node": ">=22.13 <=25.x"
93
+ "node": "^22.14.0 || >=24.10.0"
94
94
  },
95
95
  "os": [
96
96
  "darwin",