@visulima/crud 2.0.46 → 3.0.0-alpha.10

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 (137) hide show
  1. package/CHANGELOG.md +162 -0
  2. package/LICENSE.md +22 -1
  3. package/README.md +29 -18
  4. package/dist/adapter/prisma/index.d.cts +39 -0
  5. package/dist/adapter/prisma/index.d.mts +39 -0
  6. package/dist/adapter/prisma/index.d.ts +39 -0
  7. package/dist/adapter/prisma/types.d.cts +31 -0
  8. package/dist/adapter/prisma/types.d.mts +31 -0
  9. package/dist/adapter/prisma/types.d.ts +31 -0
  10. package/dist/adapter/prisma/utils/models-to-route-names.d.cts +5 -0
  11. package/dist/adapter/prisma/utils/models-to-route-names.d.mts +5 -0
  12. package/dist/adapter/prisma/utils/models-to-route-names.d.ts +5 -0
  13. package/dist/adapter/prisma/utils/parse-cursor.d.cts +3 -0
  14. package/dist/adapter/prisma/utils/parse-cursor.d.mts +3 -0
  15. package/dist/adapter/prisma/utils/parse-cursor.d.ts +3 -0
  16. package/dist/adapter/prisma/utils/parse-order-by.d.cts +4 -0
  17. package/dist/adapter/prisma/utils/parse-order-by.d.mts +4 -0
  18. package/dist/adapter/prisma/utils/parse-order-by.d.ts +4 -0
  19. package/dist/adapter/prisma/utils/parse-recursive.d.cts +4 -0
  20. package/dist/adapter/prisma/utils/parse-recursive.d.mts +4 -0
  21. package/dist/adapter/prisma/utils/parse-recursive.d.ts +4 -0
  22. package/dist/adapter/prisma/utils/parse-where.d.cts +4 -0
  23. package/dist/adapter/prisma/utils/parse-where.d.mts +4 -0
  24. package/dist/adapter/prisma/utils/parse-where.d.ts +4 -0
  25. package/dist/base-crud-handler.d.cts +9 -0
  26. package/dist/base-crud-handler.d.mts +9 -0
  27. package/dist/base-crud-handler.d.ts +9 -0
  28. package/dist/handler/create.d.cts +11 -0
  29. package/dist/handler/create.d.mts +11 -0
  30. package/dist/handler/create.d.ts +11 -0
  31. package/dist/handler/delete.d.cts +7 -0
  32. package/dist/handler/delete.d.mts +7 -0
  33. package/dist/handler/delete.d.ts +7 -0
  34. package/dist/handler/list.d.cts +9 -0
  35. package/dist/handler/list.d.mts +9 -0
  36. package/dist/handler/list.d.ts +9 -0
  37. package/dist/handler/read.d.cts +7 -0
  38. package/dist/handler/read.d.mts +7 -0
  39. package/dist/handler/read.d.ts +7 -0
  40. package/dist/handler/update.d.cts +11 -0
  41. package/dist/handler/update.d.mts +11 -0
  42. package/dist/handler/update.d.ts +11 -0
  43. package/dist/index.cjs +13 -0
  44. package/dist/index.d.cts +6 -0
  45. package/dist/index.d.mts +6 -127
  46. package/dist/index.d.ts +6 -127
  47. package/dist/index.mjs +3 -1085
  48. package/dist/next/api/edge/index.d.cts +3 -0
  49. package/dist/next/api/edge/index.d.mts +3 -0
  50. package/dist/next/api/edge/index.d.ts +3 -0
  51. package/dist/next/api/node/index.d.cts +4 -0
  52. package/dist/next/api/node/index.d.mts +4 -0
  53. package/dist/next/api/node/index.d.ts +4 -0
  54. package/dist/next/index.cjs +11 -0
  55. package/dist/next/index.d.cts +2 -0
  56. package/dist/next/index.d.mts +2 -8
  57. package/dist/next/index.d.ts +2 -8
  58. package/dist/next/index.mjs +2 -4832
  59. package/dist/packem_shared/PrismaAdapter-BTCwgMow.cjs +324 -0
  60. package/dist/packem_shared/PrismaAdapter-dVBZvBOv.mjs +318 -0
  61. package/dist/packem_shared/RouteType-Bk3uAK0x.cjs +14 -0
  62. package/dist/packem_shared/RouteType-CB2xrWdf.mjs +10 -0
  63. package/dist/packem_shared/base-crud-handler-B3eCO4up.cjs +572 -0
  64. package/dist/packem_shared/base-crud-handler-DgrOMhoH.mjs +587 -0
  65. package/dist/packem_shared/edgeHandler-B4JJXPUI.mjs +16 -0
  66. package/dist/packem_shared/edgeHandler-CDFgDdrG.cjs +18 -0
  67. package/dist/packem_shared/get-accessible-routes-C6NF9Iry.cjs +16 -0
  68. package/dist/packem_shared/get-accessible-routes-sV5SDdFn.mjs +14 -0
  69. package/dist/packem_shared/models-to-route-names-CdwsK0V1.mjs +9 -0
  70. package/dist/packem_shared/models-to-route-names-Dv94PzhE.cjs +11 -0
  71. package/dist/{index.js → packem_shared/modelsToOpenApi-BuGL_l3R.cjs} +66 -453
  72. package/dist/packem_shared/modelsToOpenApi-Bux3khmh.mjs +706 -0
  73. package/dist/packem_shared/nodeHandler-BUWSKNyo.cjs +16 -0
  74. package/dist/packem_shared/nodeHandler-DSq7vHzv.mjs +14 -0
  75. package/dist/query-parser.d.cts +3 -0
  76. package/dist/query-parser.d.mts +3 -0
  77. package/dist/query-parser.d.ts +3 -0
  78. package/dist/swagger/adapter/prisma/index.d.cts +22 -0
  79. package/dist/swagger/adapter/prisma/index.d.mts +22 -0
  80. package/dist/swagger/adapter/prisma/index.d.ts +22 -0
  81. package/dist/swagger/json-schema-parser.d.cts +18 -0
  82. package/dist/swagger/json-schema-parser.d.mts +18 -0
  83. package/dist/swagger/json-schema-parser.d.ts +18 -0
  84. package/dist/swagger/parameters.d.cts +5 -0
  85. package/dist/swagger/parameters.d.mts +5 -0
  86. package/dist/swagger/parameters.d.ts +5 -0
  87. package/dist/swagger/types.d.cts +39 -0
  88. package/dist/swagger/types.d.mts +39 -0
  89. package/dist/swagger/types.d.ts +39 -0
  90. package/dist/swagger/utils/format-example-ref.d.cts +2 -0
  91. package/dist/swagger/utils/format-example-ref.d.mts +2 -0
  92. package/dist/swagger/utils/format-example-ref.d.ts +2 -0
  93. package/dist/swagger/utils/format-schema-ref.d.cts +2 -0
  94. package/dist/swagger/utils/format-schema-ref.d.mts +2 -0
  95. package/dist/swagger/utils/format-schema-ref.d.ts +2 -0
  96. package/dist/swagger/utils/get-models-accessible-routes.d.cts +4 -0
  97. package/dist/swagger/utils/get-models-accessible-routes.d.mts +4 -0
  98. package/dist/swagger/utils/get-models-accessible-routes.d.ts +4 -0
  99. package/dist/swagger/utils/get-swagger-paths.d.cts +12 -0
  100. package/dist/swagger/utils/get-swagger-paths.d.mts +12 -0
  101. package/dist/swagger/utils/get-swagger-paths.d.ts +12 -0
  102. package/dist/swagger/utils/get-swagger-tags.d.cts +4 -0
  103. package/dist/swagger/utils/get-swagger-tags.d.mts +4 -0
  104. package/dist/swagger/utils/get-swagger-tags.d.ts +4 -0
  105. package/dist/types.d.cts +106 -0
  106. package/dist/types.d.mts +106 -0
  107. package/dist/types.d.ts +106 -0
  108. package/dist/utils/format-resource-id.d.cts +2 -0
  109. package/dist/utils/format-resource-id.d.mts +2 -0
  110. package/dist/utils/format-resource-id.d.ts +2 -0
  111. package/dist/utils/get-accessible-routes.d.cts +3 -0
  112. package/dist/utils/get-accessible-routes.d.mts +3 -0
  113. package/dist/utils/get-accessible-routes.d.ts +3 -0
  114. package/dist/utils/get-resource-name-from-url.d.cts +5 -0
  115. package/dist/utils/get-resource-name-from-url.d.mts +5 -0
  116. package/dist/utils/get-resource-name-from-url.d.ts +5 -0
  117. package/dist/utils/get-route-type.d.cts +7 -0
  118. package/dist/utils/get-route-type.d.mts +7 -0
  119. package/dist/utils/get-route-type.d.ts +7 -0
  120. package/dist/utils/is-primitive.d.cts +2 -0
  121. package/dist/utils/is-primitive.d.mts +2 -0
  122. package/dist/utils/is-primitive.d.ts +2 -0
  123. package/dist/utils/validate-adapter-methods.d.cts +3 -0
  124. package/dist/utils/validate-adapter-methods.d.mts +3 -0
  125. package/dist/utils/validate-adapter-methods.d.ts +3 -0
  126. package/package.json +38 -19
  127. package/dist/chunk-5I2B5KQG.js +0 -77
  128. package/dist/chunk-5I2B5KQG.js.map +0 -1
  129. package/dist/chunk-LBXJKEOF.mjs +0 -73
  130. package/dist/chunk-LBXJKEOF.mjs.map +0 -1
  131. package/dist/index.js.map +0 -1
  132. package/dist/index.mjs.map +0 -1
  133. package/dist/next/index.js +0 -4839
  134. package/dist/next/index.js.map +0 -1
  135. package/dist/next/index.mjs.map +0 -1
  136. package/dist/types-C5c2M01-.d.mts +0 -138
  137. package/dist/types-C5c2M01-.d.ts +0 -138
@@ -0,0 +1,106 @@
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
+ export declare enum RouteType {
7
+ CREATE = "CREATE",
8
+ DELETE = "DELETE",
9
+ READ_ALL = "READ_ALL",
10
+ READ_ONE = "READ_ONE",
11
+ UPDATE = "UPDATE"
12
+ }
13
+ export interface ModelOption {
14
+ exclude?: RouteType[];
15
+ formatResourceId?: (resourceId: string) => number | string;
16
+ name?: string;
17
+ only?: RouteType[];
18
+ }
19
+ export type ModelsOptions<M extends string = string> = {
20
+ [key in M]?: ModelOption;
21
+ };
22
+ export interface HandlerOptions<M extends string = string> {
23
+ exposeStrategy?: "all" | "none";
24
+ formatResourceId?: (resourceId: string) => number | string;
25
+ handlers?: {
26
+ create?: CreateHandler;
27
+ delete?: DeleteHandler;
28
+ get?: GetHandler;
29
+ list?: ListHandler;
30
+ update?: UpdateHandler;
31
+ };
32
+ models?: ModelsOptions<M>;
33
+ pagination?: PaginationConfig;
34
+ }
35
+ export interface PaginationConfig {
36
+ perPage: number;
37
+ }
38
+ export interface HandlerParameters<T, Q> {
39
+ adapter: Adapter<T, Q>;
40
+ query: Q;
41
+ resourceName: string;
42
+ }
43
+ export interface UniqueResourceHandlerParameters<T, Q> {
44
+ adapter: Adapter<T, Q>;
45
+ query: Q;
46
+ resourceId: number | string;
47
+ resourceName: string;
48
+ }
49
+ export interface Adapter<T, Q, M extends string = string> {
50
+ connect?: () => Promise<void>;
51
+ create: (resourceName: M, data: any, query: Q) => Promise<T>;
52
+ delete: (resourceName: M, resourceId: number | string, query: Q) => Promise<T>;
53
+ disconnect?: () => Promise<void>;
54
+ getAll: (resourceName: M, query: Q) => Promise<T[]>;
55
+ getModels: () => M[];
56
+ getOne: (resourceName: M, resourceId: number | string, query: Q) => Promise<T>;
57
+ getPaginationData: (resourceName: M, query: Q) => Promise<PaginationData>;
58
+ handleError?: (error: Error) => void;
59
+ init?: () => Promise<void>;
60
+ mapModelsToRouteNames?: () => Promise<{
61
+ [key in M]?: string;
62
+ }>;
63
+ models?: M[];
64
+ parseQuery: (resourceName: M, query: ParsedQueryParameters) => Q;
65
+ update: (resourceName: M, resourceId: number | string, data: any, query: Q) => Promise<T>;
66
+ }
67
+ export interface PaginationData {
68
+ page: number;
69
+ pageCount: number;
70
+ total: number;
71
+ }
72
+ export type RecursiveField = Record<string, Record<string, boolean> | boolean>;
73
+ export type WhereOperator = "$cont" | "$ends" | "$eq" | "$gt" | "$gte" | "$in" | "$isnull" | "$lt" | "$lte" | "$neq" | "$notin" | "$starts";
74
+ export type SearchCondition = Date | boolean | number | string | null;
75
+ export type WhereCondition = {
76
+ [key in WhereOperator]?: SearchCondition;
77
+ };
78
+ export type Condition = {
79
+ [key: string]: Condition | SearchCondition | WhereCondition;
80
+ };
81
+ export type WhereField = Condition & {
82
+ $and?: Condition | Condition[];
83
+ $not?: Condition | Condition[];
84
+ $or?: Condition | Condition[];
85
+ };
86
+ export type OrderByOperator = "$asc" | "$desc";
87
+ export type OrderByField = Record<string, OrderByOperator>;
88
+ export interface ParsedQueryParameters {
89
+ distinct?: string;
90
+ include?: RecursiveField;
91
+ limit?: number | undefined;
92
+ orderBy?: OrderByField;
93
+ originalQuery?: Record<string, any>;
94
+ page?: number | undefined;
95
+ select?: RecursiveField;
96
+ skip?: number | undefined;
97
+ where?: WhereField;
98
+ }
99
+ export type ExecuteHandler<Request, Response> = (request: Request, response: Response) => Promise<void>;
100
+ export interface FakePrismaClient {
101
+ $connect: () => void;
102
+ $disconnect: () => Promise<void>;
103
+ [key: string]: any;
104
+ _dmmf?: any;
105
+ _getDmmf?: () => any;
106
+ }
@@ -0,0 +1,2 @@
1
+ declare const formatResourceId: (resourceId: string) => number | string;
2
+ export = formatResourceId;
@@ -0,0 +1,2 @@
1
+ declare const formatResourceId: (resourceId: string) => number | string;
2
+ export default formatResourceId;
@@ -0,0 +1,2 @@
1
+ declare const formatResourceId: (resourceId: string) => number | string;
2
+ export = formatResourceId;
@@ -0,0 +1,3 @@
1
+ import { RouteType } from "../types.d.cts";
2
+ declare const getAccessibleRoutes: (only?: RouteType[], exclude?: RouteType[], defaultExposeStrategy?: "all" | "none") => RouteType[];
3
+ export = getAccessibleRoutes;
@@ -0,0 +1,3 @@
1
+ import { RouteType } from "../types.d.mts";
2
+ declare const getAccessibleRoutes: (only?: RouteType[], exclude?: RouteType[], defaultExposeStrategy?: "all" | "none") => RouteType[];
3
+ export default getAccessibleRoutes;
@@ -0,0 +1,3 @@
1
+ import { RouteType } from "../types.d.ts";
2
+ declare const getAccessibleRoutes: (only?: RouteType[], exclude?: RouteType[], defaultExposeStrategy?: "all" | "none") => RouteType[];
3
+ export = getAccessibleRoutes;
@@ -0,0 +1,5 @@
1
+ export declare const ensureCamelCase: (string_: string) => string;
2
+ export declare const getResourceNameFromUrl: <M extends string = string>(url: string, models: { [key in M]: string; }) => {
3
+ modelName: string;
4
+ resourceName: string;
5
+ };
@@ -0,0 +1,5 @@
1
+ export declare const ensureCamelCase: (string_: string) => string;
2
+ export declare const getResourceNameFromUrl: <M extends string = string>(url: string, models: { [key in M]: string; }) => {
3
+ modelName: string;
4
+ resourceName: string;
5
+ };
@@ -0,0 +1,5 @@
1
+ export declare const ensureCamelCase: (string_: string) => string;
2
+ export declare const getResourceNameFromUrl: <M extends string = string>(url: string, models: { [key in M]: string; }) => {
3
+ modelName: string;
4
+ resourceName: string;
5
+ };
@@ -0,0 +1,7 @@
1
+ import { RouteType } from "../types.d.cts";
2
+ declare const getRouteType: (method: string, url: string, resourceName: string) => GetRouteType;
3
+ export interface GetRouteType {
4
+ resourceId?: string;
5
+ routeType: RouteType | null;
6
+ }
7
+ export = getRouteType;
@@ -0,0 +1,7 @@
1
+ import { RouteType } from "../types.d.mts";
2
+ declare const getRouteType: (method: string, url: string, resourceName: string) => GetRouteType;
3
+ export interface GetRouteType {
4
+ resourceId?: string;
5
+ routeType: RouteType | null;
6
+ }
7
+ export default getRouteType;
@@ -0,0 +1,7 @@
1
+ import { RouteType } from "../types.d.ts";
2
+ declare const getRouteType: (method: string, url: string, resourceName: string) => GetRouteType;
3
+ export interface GetRouteType {
4
+ resourceId?: string;
5
+ routeType: RouteType | null;
6
+ }
7
+ export = getRouteType;
@@ -0,0 +1,2 @@
1
+ declare const isPrimitive: (value: unknown) => boolean;
2
+ export = isPrimitive;
@@ -0,0 +1,2 @@
1
+ declare const isPrimitive: (value: unknown) => boolean;
2
+ export default isPrimitive;
@@ -0,0 +1,2 @@
1
+ declare const isPrimitive: (value: unknown) => boolean;
2
+ export = isPrimitive;
@@ -0,0 +1,3 @@
1
+ import type { Adapter } from "../types.d.cts";
2
+ declare const validateAdapterMethods: <T, Q>(adapter: Adapter<T, Q>) => void;
3
+ export = validateAdapterMethods;
@@ -0,0 +1,3 @@
1
+ import type { Adapter } from "../types.d.mts";
2
+ declare const validateAdapterMethods: <T, Q>(adapter: Adapter<T, Q>) => void;
3
+ export default validateAdapterMethods;
@@ -0,0 +1,3 @@
1
+ import type { Adapter } from "../types.d.ts";
2
+ declare const validateAdapterMethods: <T, Q>(adapter: Adapter<T, Q>) => void;
3
+ export = validateAdapterMethods;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@visulima/crud",
3
- "version": "2.0.46",
4
- "description": "visulima crud",
3
+ "version": "3.0.0-alpha.10",
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",
7
7
  "visulima",
@@ -10,11 +10,11 @@
10
10
  "crud",
11
11
  "prisma"
12
12
  ],
13
- "homepage": "https://www.visulima.com/docs/package/crud",
13
+ "homepage": "https://visulima.com/packages/crud/",
14
14
  "repository": {
15
15
  "type": "git",
16
16
  "url": "https://github.com/visulima/visulima.git",
17
- "directory": "packages/crud"
17
+ "directory": "packages/api/crud"
18
18
  },
19
19
  "funding": [
20
20
  {
@@ -34,30 +34,40 @@
34
34
  "sideEffects": false,
35
35
  "exports": {
36
36
  ".": {
37
- "require": {
38
- "types": "./dist/index.d.ts",
39
- "default": "./dist/index.js"
40
- },
41
37
  "import": {
42
38
  "types": "./dist/index.d.mts",
43
39
  "default": "./dist/index.mjs"
40
+ },
41
+ "require": {
42
+ "types": "./dist/index.d.cts",
43
+ "default": "./dist/index.cjs"
44
44
  }
45
45
  },
46
46
  "./next": {
47
- "require": {
48
- "types": "./dist/next/index.d.ts",
49
- "default": "./dist/next/index.js"
50
- },
51
47
  "import": {
52
48
  "types": "./dist/next/index.d.mts",
53
49
  "default": "./dist/next/index.mjs"
50
+ },
51
+ "require": {
52
+ "types": "./dist/next/index.d.cts",
53
+ "default": "./dist/next/index.cjs"
54
54
  }
55
55
  },
56
56
  "./package.json": "./package.json"
57
57
  },
58
- "main": "dist/index.js",
58
+ "main": "dist/index.cjs",
59
59
  "module": "dist/index.mjs",
60
- "types": "dist/index.d.ts",
60
+ "types": "dist/index.d.cts",
61
+ "typesVersions": {
62
+ ">=5.0": {
63
+ ".": [
64
+ "./dist/index.d.ts"
65
+ ],
66
+ "next": [
67
+ "./dist/next/index.d.ts"
68
+ ]
69
+ }
70
+ },
61
71
  "files": [
62
72
  "dist/**",
63
73
  "README.md",
@@ -65,13 +75,22 @@
65
75
  "LICENSE.md"
66
76
  ],
67
77
  "dependencies": {
68
- "@visulima/pagination": "4.0.5",
69
- "@visulima/prisma-dmmf-transformer": "2.0.37",
70
- "http-errors": "^2.0.0",
71
- "path-to-regexp": "^8.3.0"
78
+ "@visulima/pagination": "5.0.0-alpha.10",
79
+ "@visulima/prisma-dmmf-transformer": "3.0.0-alpha.9",
80
+ "http-errors": "^2.0.1",
81
+ "path-to-regexp": "8.4.2"
82
+ },
83
+ "peerDependencies": {
84
+ "@prisma/client": "^3.0.0 || ^4.0.0",
85
+ "next": ">=12.0 || >=13.0 || >=14.0 || >=15.0"
86
+ },
87
+ "peerDependenciesMeta": {
88
+ "next": {
89
+ "optional": true
90
+ }
72
91
  },
73
92
  "engines": {
74
- "node": ">=18.0.0 <=25.x"
93
+ "node": ">=22.13 <=25.x"
75
94
  },
76
95
  "os": [
77
96
  "darwin",
@@ -1,77 +0,0 @@
1
- 'use strict';
2
-
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __esm = (fn, res) => function __init() {
10
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
11
- };
12
- var __commonJS = (cb, mod) => function __require() {
13
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
14
- };
15
- var __export = (target, all) => {
16
- for (var name in all)
17
- __defProp(target, name, { get: all[name], enumerable: true });
18
- };
19
- var __copyProps = (to, from, except, desc) => {
20
- if (from && typeof from === "object" || typeof from === "function") {
21
- for (let key of __getOwnPropNames(from))
22
- if (!__hasOwnProp.call(to, key) && key !== except)
23
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
24
- }
25
- return to;
26
- };
27
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
28
- // If the importer is in node compatibility mode or this is not an ESM
29
- // file that has been converted to a CommonJS file using a Babel-
30
- // compatible transform (i.e. "__esModule" has not been set), then set
31
- // "default" to the CommonJS "module.exports" for node compatibility.
32
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
33
- mod
34
- ));
35
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
-
37
- // ../../node_modules/.pnpm/tsup@8.5.0_@swc+core@1.13.5_jiti@2.6.1_postcss@8.5.6_tsx@4.20.6_typescript@5.9.3_yaml@2.8.1/node_modules/tsup/assets/cjs_shims.js
38
- var init_cjs_shims = __esm({
39
- "../../node_modules/.pnpm/tsup@8.5.0_@swc+core@1.13.5_jiti@2.6.1_postcss@8.5.6_tsx@4.20.6_typescript@5.9.3_yaml@2.8.1/node_modules/tsup/assets/cjs_shims.js"() {
40
- }
41
- });
42
-
43
- // src/types.ts
44
- init_cjs_shims();
45
- var RouteType = /* @__PURE__ */ ((RouteType2) => {
46
- RouteType2["CREATE"] = "CREATE";
47
- RouteType2["DELETE"] = "DELETE";
48
- RouteType2["READ_ALL"] = "READ_ALL";
49
- RouteType2["READ_ONE"] = "READ_ONE";
50
- RouteType2["UPDATE"] = "UPDATE";
51
- return RouteType2;
52
- })(RouteType || {});
53
-
54
- // src/utils/get-accessible-routes.ts
55
- init_cjs_shims();
56
- var getAccessibleRoutes = (only, exclude, defaultExposeStrategy = "all") => {
57
- let accessibleRoutes = defaultExposeStrategy === "none" ? [] : ["READ_ALL" /* READ_ALL */, "READ_ONE" /* READ_ONE */, "UPDATE" /* UPDATE */, "DELETE" /* DELETE */, "CREATE" /* CREATE */];
58
- if (Array.isArray(only)) {
59
- accessibleRoutes = only;
60
- }
61
- if (exclude?.length) {
62
- accessibleRoutes = accessibleRoutes.filter((element) => !exclude.includes(element));
63
- }
64
- return accessibleRoutes;
65
- };
66
- var get_accessible_routes_default = getAccessibleRoutes;
67
-
68
- exports.RouteType = RouteType;
69
- exports.__commonJS = __commonJS;
70
- exports.__esm = __esm;
71
- exports.__export = __export;
72
- exports.__toCommonJS = __toCommonJS;
73
- exports.__toESM = __toESM;
74
- exports.get_accessible_routes_default = get_accessible_routes_default;
75
- exports.init_cjs_shims = init_cjs_shims;
76
- //# sourceMappingURL=chunk-5I2B5KQG.js.map
77
- //# sourceMappingURL=chunk-5I2B5KQG.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/.pnpm/tsup@8.5.0_@swc+core@1.13.5_jiti@2.6.1_postcss@8.5.6_tsx@4.20.6_typescript@5.9.3_yaml@2.8.1/node_modules/tsup/assets/cjs_shims.js","../src/types.ts","../src/utils/get-accessible-routes.ts"],"names":["RouteType"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,cAAA,GAAA,KAAA,CAAA;AAAA,EAAA,4JAAA,GAAA;AAAA,EAAA;AAAA,CAAA;;;ACAA,cAAA,EAAA;AAMO,IAAK,SAAA,qBAAAA,UAAAA,KAAL;AACH,EAAAA,WAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,WAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,WAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,WAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,WAAA,QAAA,CAAA,GAAS,QAAA;AALD,EAAA,OAAAA,UAAAA;AAAA,CAAA,EAAA,SAAA,IAAA,EAAA;;;ACNZ,cAAA,EAAA;AAEA,IAAM,mBAAA,GAAsB,CAAC,IAAA,EAAoB,OAAA,EAAuB,wBAAwC,KAAA,KAAuB;AACnI,EAAA,IAAI,gBAAA,GACE,qBAAA,KAA0B,MAAA,GAAS,KAAK,CAAA,UAAA,iBAAA,UAAA,iBAAA,QAAA,eAAA,QAAA,eAAA,QAAA,cAA6F;AAE3I,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,EAAG;AACrB,IAAA,gBAAA,GAAmB,IAAA;AAAA,EACvB;AAEA,EAAA,IAAI,SAAS,MAAA,EAAQ;AACjB,IAAA,gBAAA,GAAmB,gBAAA,CAAiB,OAAO,CAAC,OAAA,KAAY,CAAC,OAAA,CAAQ,QAAA,CAAS,OAAO,CAAC,CAAA;AAAA,EACtF;AAEA,EAAA,OAAO,gBAAA;AACX,CAAA;AAEA,IAAO,6BAAA,GAAQ","file":"chunk-5I2B5KQG.js","sourcesContent":["// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () =>\n typeof document === 'undefined'\n ? new URL(`file:${__filename}`).href\n : (document.currentScript && document.currentScript.src) ||\n new URL('main.js', document.baseURI).href\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n","import type { Handler as CreateHandler } from \"./handler/create\";\nimport type { Handler as DeleteHandler } from \"./handler/delete\";\nimport type { Handler as ListHandler } from \"./handler/list\";\nimport type { Handler as GetHandler } from \"./handler/read\";\nimport type { Handler as UpdateHandler } from \"./handler/update\";\n\nexport enum RouteType {\n CREATE = \"CREATE\",\n DELETE = \"DELETE\",\n READ_ALL = \"READ_ALL\",\n READ_ONE = \"READ_ONE\",\n UPDATE = \"UPDATE\",\n}\n\nexport interface ModelOption {\n exclude?: RouteType[];\n formatResourceId?: (resourceId: string) => number | string;\n name?: string;\n only?: RouteType[];\n}\n\nexport type ModelsOptions<M extends string = string> = {\n [key in M]?: ModelOption;\n};\n\nexport interface HandlerOptions<M extends string = string> {\n exposeStrategy?: \"all\" | \"none\";\n formatResourceId?: (resourceId: string) => number | string;\n handlers?: {\n create?: CreateHandler;\n delete?: DeleteHandler;\n get?: GetHandler;\n list?: ListHandler;\n update?: UpdateHandler;\n };\n models?: ModelsOptions<M>;\n pagination?: PaginationConfig;\n}\n\nexport interface PaginationConfig {\n perPage: number;\n}\n\nexport interface HandlerParameters<T, Q> {\n adapter: Adapter<T, Q>;\n query: Q;\n resourceName: string;\n}\n\nexport interface UniqueResourceHandlerParameters<T, Q> {\n adapter: Adapter<T, Q>;\n query: Q;\n resourceId: number | string;\n resourceName: string;\n}\n\nexport interface Adapter<T, Q, M extends string = string> {\n connect?: () => Promise<void>;\n create: (resourceName: M, data: any, query: Q) => Promise<T>;\n delete: (resourceName: M, resourceId: number | string, query: Q) => Promise<T>;\n disconnect?: () => Promise<void>;\n getAll: (resourceName: M, query: Q) => Promise<T[]>;\n getModels: () => M[];\n getOne: (resourceName: M, resourceId: number | string, query: Q) => Promise<T>;\n getPaginationData: (resourceName: M, query: Q) => Promise<PaginationData>;\n handleError?: (error: Error) => void;\n init?: () => Promise<void>;\n mapModelsToRouteNames?: () => Promise<{ [key in M]?: string }>;\n models?: M[];\n parseQuery: (resourceName: M, query: ParsedQueryParameters) => Q;\n update: (resourceName: M, resourceId: number | string, data: any, query: Q) => Promise<T>;\n}\n\nexport interface PaginationData {\n page: number;\n pageCount: number;\n total: number;\n}\n\nexport type RecursiveField = Record<string, Record<string, boolean> | boolean>;\n\nexport type WhereOperator = \"$cont\" | \"$ends\" | \"$eq\" | \"$gt\" | \"$gte\" | \"$in\" | \"$isnull\" | \"$lt\" | \"$lte\" | \"$neq\" | \"$notin\" | \"$starts\";\n\nexport type SearchCondition = Date | boolean | number | string | null;\n\nexport type WhereCondition = {\n [key in WhereOperator]?: SearchCondition;\n};\n\nexport type Condition = { [key: string]: Condition | SearchCondition | WhereCondition };\n\nexport type WhereField = Condition & {\n $and?: Condition | Condition[];\n $not?: Condition | Condition[];\n $or?: Condition | Condition[];\n};\n\nexport type OrderByOperator = \"$asc\" | \"$desc\";\n\nexport type OrderByField = Record<string, OrderByOperator>;\n\nexport interface ParsedQueryParameters {\n distinct?: string;\n include?: RecursiveField;\n limit?: number | undefined;\n orderBy?: OrderByField;\n originalQuery?: Record<string, any>;\n page?: number | undefined;\n select?: RecursiveField;\n skip?: number | undefined;\n where?: WhereField;\n}\n\nexport type ExecuteHandler<Request, Response> = (request: Request, response: Response) => Promise<void>;\n\nexport interface FakePrismaClient {\n $connect: () => void;\n $disconnect: () => Promise<void>;\n [key: string]: any;\n _dmmf?: any;\n\n _getDmmf?: () => any;\n}\n","import { RouteType } from \"../types\";\n\nconst getAccessibleRoutes = (only?: RouteType[], exclude?: RouteType[], defaultExposeStrategy: \"all\" | \"none\" = \"all\"): RouteType[] => {\n let accessibleRoutes: RouteType[]\n = defaultExposeStrategy === \"none\" ? [] : [RouteType.READ_ALL, RouteType.READ_ONE, RouteType.UPDATE, RouteType.DELETE, RouteType.CREATE];\n\n if (Array.isArray(only)) {\n accessibleRoutes = only;\n }\n\n if (exclude?.length) {\n accessibleRoutes = accessibleRoutes.filter((element) => !exclude.includes(element));\n }\n\n return accessibleRoutes;\n};\n\nexport default getAccessibleRoutes;\n"]}
@@ -1,73 +0,0 @@
1
- import path from 'path';
2
- import { fileURLToPath } from 'url';
3
-
4
- var __create = Object.create;
5
- var __defProp = Object.defineProperty;
6
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
- var __getOwnPropNames = Object.getOwnPropertyNames;
8
- var __getProtoOf = Object.getPrototypeOf;
9
- var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __esm = (fn, res) => function __init() {
11
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
12
- };
13
- var __commonJS = (cb, mod) => function __require() {
14
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
15
- };
16
- var __export = (target, all) => {
17
- for (var name in all)
18
- __defProp(target, name, { get: all[name], enumerable: true });
19
- };
20
- var __copyProps = (to, from, except, desc) => {
21
- if (from && typeof from === "object" || typeof from === "function") {
22
- for (let key of __getOwnPropNames(from))
23
- if (!__hasOwnProp.call(to, key) && key !== except)
24
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
25
- }
26
- return to;
27
- };
28
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
29
- // If the importer is in node compatibility mode or this is not an ESM
30
- // file that has been converted to a CommonJS file using a Babel-
31
- // compatible transform (i.e. "__esModule" has not been set), then set
32
- // "default" to the CommonJS "module.exports" for node compatibility.
33
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
34
- mod
35
- ));
36
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
37
- var getFilename, getDirname, __dirname$1;
38
- var init_esm_shims = __esm({
39
- "../../node_modules/.pnpm/tsup@8.5.0_@swc+core@1.13.5_jiti@2.6.1_postcss@8.5.6_tsx@4.20.6_typescript@5.9.3_yaml@2.8.1/node_modules/tsup/assets/esm_shims.js"() {
40
- getFilename = () => fileURLToPath(import.meta.url);
41
- getDirname = () => path.dirname(getFilename());
42
- __dirname$1 = /* @__PURE__ */ getDirname();
43
- }
44
- });
45
-
46
- // src/types.ts
47
- init_esm_shims();
48
- var RouteType = /* @__PURE__ */ ((RouteType2) => {
49
- RouteType2["CREATE"] = "CREATE";
50
- RouteType2["DELETE"] = "DELETE";
51
- RouteType2["READ_ALL"] = "READ_ALL";
52
- RouteType2["READ_ONE"] = "READ_ONE";
53
- RouteType2["UPDATE"] = "UPDATE";
54
- return RouteType2;
55
- })(RouteType || {});
56
-
57
- // src/utils/get-accessible-routes.ts
58
- init_esm_shims();
59
- var getAccessibleRoutes = (only, exclude, defaultExposeStrategy = "all") => {
60
- let accessibleRoutes = defaultExposeStrategy === "none" ? [] : ["READ_ALL" /* READ_ALL */, "READ_ONE" /* READ_ONE */, "UPDATE" /* UPDATE */, "DELETE" /* DELETE */, "CREATE" /* CREATE */];
61
- if (Array.isArray(only)) {
62
- accessibleRoutes = only;
63
- }
64
- if (exclude?.length) {
65
- accessibleRoutes = accessibleRoutes.filter((element) => !exclude.includes(element));
66
- }
67
- return accessibleRoutes;
68
- };
69
- var get_accessible_routes_default = getAccessibleRoutes;
70
-
71
- export { RouteType, __commonJS, __dirname$1 as __dirname, __esm, __export, __toCommonJS, __toESM, get_accessible_routes_default, init_esm_shims };
72
- //# sourceMappingURL=chunk-LBXJKEOF.mjs.map
73
- //# sourceMappingURL=chunk-LBXJKEOF.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/.pnpm/tsup@8.5.0_@swc+core@1.13.5_jiti@2.6.1_postcss@8.5.6_tsx@4.20.6_typescript@5.9.3_yaml@2.8.1/node_modules/tsup/assets/esm_shims.js","../src/types.ts","../src/utils/get-accessible-routes.ts"],"names":["__dirname","RouteType"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAIM,aACA,UAAA,CAAA,CAEOA;AAPb,IAAA,cAAA,GAAA,KAAA,CAAA;AAAA,EAAA,4JAAA,GAAA;AAIA,IAAM,WAAA,GAAc,MAAM,aAAA,CAAc,MAAA,CAAA,IAAA,CAAY,GAAG,CAAA;AACvD,IAAM,UAAA,GAAa,MAAM,IAAA,CAAK,OAAA,CAAQ,aAAa,CAAA;AAE5C,IAAMA,8BAA4B,UAAA,EAAW;AAAA,EAAA;AAAA,CAAA;;;ACPpD,cAAA,EAAA;AAMO,IAAK,SAAA,qBAAAC,UAAAA,KAAL;AACH,EAAAA,WAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,WAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,WAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,WAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,WAAA,QAAA,CAAA,GAAS,QAAA;AALD,EAAA,OAAAA,UAAAA;AAAA,CAAA,EAAA,SAAA,IAAA,EAAA;;;ACNZ,cAAA,EAAA;AAEA,IAAM,mBAAA,GAAsB,CAAC,IAAA,EAAoB,OAAA,EAAuB,wBAAwC,KAAA,KAAuB;AACnI,EAAA,IAAI,gBAAA,GACE,qBAAA,KAA0B,MAAA,GAAS,KAAK,CAAA,UAAA,iBAAA,UAAA,iBAAA,QAAA,eAAA,QAAA,eAAA,QAAA,cAA6F;AAE3I,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,EAAG;AACrB,IAAA,gBAAA,GAAmB,IAAA;AAAA,EACvB;AAEA,EAAA,IAAI,SAAS,MAAA,EAAQ;AACjB,IAAA,gBAAA,GAAmB,gBAAA,CAAiB,OAAO,CAAC,OAAA,KAAY,CAAC,OAAA,CAAQ,QAAA,CAAS,OAAO,CAAC,CAAA;AAAA,EACtF;AAEA,EAAA,OAAO,gBAAA;AACX,CAAA;AAEA,IAAO,6BAAA,GAAQ","file":"chunk-LBXJKEOF.mjs","sourcesContent":["// Shim globals in esm bundle\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\n\nconst getFilename = () => fileURLToPath(import.meta.url)\nconst getDirname = () => path.dirname(getFilename())\n\nexport const __dirname = /* @__PURE__ */ getDirname()\nexport const __filename = /* @__PURE__ */ getFilename()\n","import type { Handler as CreateHandler } from \"./handler/create\";\nimport type { Handler as DeleteHandler } from \"./handler/delete\";\nimport type { Handler as ListHandler } from \"./handler/list\";\nimport type { Handler as GetHandler } from \"./handler/read\";\nimport type { Handler as UpdateHandler } from \"./handler/update\";\n\nexport enum RouteType {\n CREATE = \"CREATE\",\n DELETE = \"DELETE\",\n READ_ALL = \"READ_ALL\",\n READ_ONE = \"READ_ONE\",\n UPDATE = \"UPDATE\",\n}\n\nexport interface ModelOption {\n exclude?: RouteType[];\n formatResourceId?: (resourceId: string) => number | string;\n name?: string;\n only?: RouteType[];\n}\n\nexport type ModelsOptions<M extends string = string> = {\n [key in M]?: ModelOption;\n};\n\nexport interface HandlerOptions<M extends string = string> {\n exposeStrategy?: \"all\" | \"none\";\n formatResourceId?: (resourceId: string) => number | string;\n handlers?: {\n create?: CreateHandler;\n delete?: DeleteHandler;\n get?: GetHandler;\n list?: ListHandler;\n update?: UpdateHandler;\n };\n models?: ModelsOptions<M>;\n pagination?: PaginationConfig;\n}\n\nexport interface PaginationConfig {\n perPage: number;\n}\n\nexport interface HandlerParameters<T, Q> {\n adapter: Adapter<T, Q>;\n query: Q;\n resourceName: string;\n}\n\nexport interface UniqueResourceHandlerParameters<T, Q> {\n adapter: Adapter<T, Q>;\n query: Q;\n resourceId: number | string;\n resourceName: string;\n}\n\nexport interface Adapter<T, Q, M extends string = string> {\n connect?: () => Promise<void>;\n create: (resourceName: M, data: any, query: Q) => Promise<T>;\n delete: (resourceName: M, resourceId: number | string, query: Q) => Promise<T>;\n disconnect?: () => Promise<void>;\n getAll: (resourceName: M, query: Q) => Promise<T[]>;\n getModels: () => M[];\n getOne: (resourceName: M, resourceId: number | string, query: Q) => Promise<T>;\n getPaginationData: (resourceName: M, query: Q) => Promise<PaginationData>;\n handleError?: (error: Error) => void;\n init?: () => Promise<void>;\n mapModelsToRouteNames?: () => Promise<{ [key in M]?: string }>;\n models?: M[];\n parseQuery: (resourceName: M, query: ParsedQueryParameters) => Q;\n update: (resourceName: M, resourceId: number | string, data: any, query: Q) => Promise<T>;\n}\n\nexport interface PaginationData {\n page: number;\n pageCount: number;\n total: number;\n}\n\nexport type RecursiveField = Record<string, Record<string, boolean> | boolean>;\n\nexport type WhereOperator = \"$cont\" | \"$ends\" | \"$eq\" | \"$gt\" | \"$gte\" | \"$in\" | \"$isnull\" | \"$lt\" | \"$lte\" | \"$neq\" | \"$notin\" | \"$starts\";\n\nexport type SearchCondition = Date | boolean | number | string | null;\n\nexport type WhereCondition = {\n [key in WhereOperator]?: SearchCondition;\n};\n\nexport type Condition = { [key: string]: Condition | SearchCondition | WhereCondition };\n\nexport type WhereField = Condition & {\n $and?: Condition | Condition[];\n $not?: Condition | Condition[];\n $or?: Condition | Condition[];\n};\n\nexport type OrderByOperator = \"$asc\" | \"$desc\";\n\nexport type OrderByField = Record<string, OrderByOperator>;\n\nexport interface ParsedQueryParameters {\n distinct?: string;\n include?: RecursiveField;\n limit?: number | undefined;\n orderBy?: OrderByField;\n originalQuery?: Record<string, any>;\n page?: number | undefined;\n select?: RecursiveField;\n skip?: number | undefined;\n where?: WhereField;\n}\n\nexport type ExecuteHandler<Request, Response> = (request: Request, response: Response) => Promise<void>;\n\nexport interface FakePrismaClient {\n $connect: () => void;\n $disconnect: () => Promise<void>;\n [key: string]: any;\n _dmmf?: any;\n\n _getDmmf?: () => any;\n}\n","import { RouteType } from \"../types\";\n\nconst getAccessibleRoutes = (only?: RouteType[], exclude?: RouteType[], defaultExposeStrategy: \"all\" | \"none\" = \"all\"): RouteType[] => {\n let accessibleRoutes: RouteType[]\n = defaultExposeStrategy === \"none\" ? [] : [RouteType.READ_ALL, RouteType.READ_ONE, RouteType.UPDATE, RouteType.DELETE, RouteType.CREATE];\n\n if (Array.isArray(only)) {\n accessibleRoutes = only;\n }\n\n if (exclude?.length) {\n accessibleRoutes = accessibleRoutes.filter((element) => !exclude.includes(element));\n }\n\n return accessibleRoutes;\n};\n\nexport default getAccessibleRoutes;\n"]}