@visulima/crud 2.0.45 → 3.0.0-alpha.1

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/CHANGELOG.md CHANGED
@@ -1,3 +1,30 @@
1
+ ## @visulima/crud [3.0.0-alpha.1](https://github.com/visulima/visulima/compare/@visulima/crud@2.0.46...@visulima/crud@3.0.0-alpha.1) (2025-12-05)
2
+
3
+ ### ⚠ BREAKING CHANGES
4
+
5
+ * change min node version to 22.13
6
+
7
+ ### Bug Fixes
8
+
9
+ * update Node.js engine version requirement to >=22.13 in multiple package.json files for improved compatibility ([b828e9a](https://github.com/visulima/visulima/commit/b828e9aeaebfc798eecddccd90e6ec7560c6d36a))
10
+
11
+ ### Miscellaneous Chores
12
+
13
+ * moved all packages into groups ([0615e9d](https://github.com/visulima/visulima/commit/0615e9d14a8a886e11da529ce150cf31ca973c10))
14
+ * update dependencies across multiple packages to improve compatibility and performance, including upgrading `@anolilab/semantic-release-pnpm` and `@anolilab/semantic-release-preset` to versions 3.2.0 and 12.1.0 respectively, and updating `react`, `react-dom`, and `next` versions to 19.2.1 and 16.0.7 in various package.json files ([aee8fcd](https://github.com/visulima/visulima/commit/aee8fcd796ae9b8d055903260e7150996ea9f53d))
15
+
16
+ ## @visulima/crud [2.0.46](https://github.com/visulima/visulima/compare/@visulima/crud@2.0.45...@visulima/crud@2.0.46) (2025-11-13)
17
+
18
+ ### Bug Fixes
19
+
20
+ * bump packem, to fix minified version of the code ([2a36ceb](https://github.com/visulima/visulima/commit/2a36ceb09251b0ca1178701a26547a871ed717a7))
21
+
22
+
23
+ ### Dependencies
24
+
25
+ * **@visulima/pagination:** upgraded to 4.0.5
26
+ * **@visulima/prisma-dmmf-transformer:** upgraded to 2.0.37
27
+
1
28
  ## @visulima/crud [2.0.45](https://github.com/visulima/visulima/compare/@visulima/crud@2.0.44...@visulima/crud@2.0.45) (2025-11-12)
2
29
 
3
30
  ### Bug Fixes
@@ -36,7 +36,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
36
36
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
37
37
  var getFilename, getDirname, __dirname$1;
38
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"() {
39
+ "../../../node_modules/.pnpm/tsup@8.5.1_@swc+core@1.13.5_jiti@2.6.1_postcss@8.5.6_tsx@4.21.0_typescript@5.9.3_yaml@2.8.2/node_modules/tsup/assets/esm_shims.js"() {
40
40
  getFilename = () => fileURLToPath(import.meta.url);
41
41
  getDirname = () => path.dirname(getFilename());
42
42
  __dirname$1 = /* @__PURE__ */ getDirname();
@@ -69,5 +69,5 @@ var getAccessibleRoutes = (only, exclude, defaultExposeStrategy = "all") => {
69
69
  var get_accessible_routes_default = getAccessibleRoutes;
70
70
 
71
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
72
+ //# sourceMappingURL=chunk-542OFGDD.mjs.map
73
+ //# sourceMappingURL=chunk-542OFGDD.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../node_modules/.pnpm/tsup@8.5.1_@swc+core@1.13.5_jiti@2.6.1_postcss@8.5.6_tsx@4.21.0_typescript@5.9.3_yaml@2.8.2/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,+JAAA,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-542OFGDD.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"]}
@@ -34,9 +34,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
34
34
  ));
35
35
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
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
37
+ // ../../../node_modules/.pnpm/tsup@8.5.1_@swc+core@1.13.5_jiti@2.6.1_postcss@8.5.6_tsx@4.21.0_typescript@5.9.3_yaml@2.8.2/node_modules/tsup/assets/cjs_shims.js
38
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"() {
39
+ "../../../node_modules/.pnpm/tsup@8.5.1_@swc+core@1.13.5_jiti@2.6.1_postcss@8.5.6_tsx@4.21.0_typescript@5.9.3_yaml@2.8.2/node_modules/tsup/assets/cjs_shims.js"() {
40
40
  }
41
41
  });
42
42
 
@@ -73,5 +73,5 @@ exports.__toCommonJS = __toCommonJS;
73
73
  exports.__toESM = __toESM;
74
74
  exports.get_accessible_routes_default = get_accessible_routes_default;
75
75
  exports.init_cjs_shims = init_cjs_shims;
76
- //# sourceMappingURL=chunk-5I2B5KQG.js.map
77
- //# sourceMappingURL=chunk-5I2B5KQG.js.map
76
+ //# sourceMappingURL=chunk-AW3MPEJW.js.map
77
+ //# sourceMappingURL=chunk-AW3MPEJW.js.map
@@ -1 +1 @@
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"]}
1
+ {"version":3,"sources":["../../../../node_modules/.pnpm/tsup@8.5.1_@swc+core@1.13.5_jiti@2.6.1_postcss@8.5.6_tsx@4.21.0_typescript@5.9.3_yaml@2.8.2/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,+JAAA,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-AW3MPEJW.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.tagName.toUpperCase() === 'SCRIPT') \n ? 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"]}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk5I2B5KQG_js = require('./chunk-5I2B5KQG.js');
3
+ var chunkAW3MPEJW_js = require('./chunk-AW3MPEJW.js');
4
4
  var createHttpError = require('http-errors');
5
5
  var pagination = require('@visulima/pagination');
6
6
  var prismaDmmfTransformer = require('@visulima/prisma-dmmf-transformer');
@@ -10,13 +10,13 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
10
  var createHttpError__default = /*#__PURE__*/_interopDefault(createHttpError);
11
11
 
12
12
  // src/index.ts
13
- chunk5I2B5KQG_js.init_cjs_shims();
13
+ chunkAW3MPEJW_js.init_cjs_shims();
14
14
 
15
15
  // src/adapter/prisma/index.ts
16
- chunk5I2B5KQG_js.init_cjs_shims();
16
+ chunkAW3MPEJW_js.init_cjs_shims();
17
17
 
18
18
  // src/adapter/prisma/utils/models-to-route-names.ts
19
- chunk5I2B5KQG_js.init_cjs_shims();
19
+ chunkAW3MPEJW_js.init_cjs_shims();
20
20
  var modelsToRouteNames = (mappingsMap, models) => {
21
21
  const routesMap = {};
22
22
  models.forEach((model) => {
@@ -27,10 +27,10 @@ var modelsToRouteNames = (mappingsMap, models) => {
27
27
  var models_to_route_names_default = modelsToRouteNames;
28
28
 
29
29
  // src/adapter/prisma/utils/parse-cursor.ts
30
- chunk5I2B5KQG_js.init_cjs_shims();
30
+ chunkAW3MPEJW_js.init_cjs_shims();
31
31
 
32
32
  // src/utils/is-primitive.ts
33
- chunk5I2B5KQG_js.init_cjs_shims();
33
+ chunkAW3MPEJW_js.init_cjs_shims();
34
34
  var primitiveTypes = /* @__PURE__ */ new Set(["boolean", "number", "string"]);
35
35
  var isPrimitive = (value) => primitiveTypes.has(typeof value);
36
36
  var is_primitive_default = isPrimitive;
@@ -52,7 +52,7 @@ var parsePrismaCursor = (cursor) => {
52
52
  var parse_cursor_default = parsePrismaCursor;
53
53
 
54
54
  // src/adapter/prisma/utils/parse-order-by.ts
55
- chunk5I2B5KQG_js.init_cjs_shims();
55
+ chunkAW3MPEJW_js.init_cjs_shims();
56
56
  var operatorsAssociation = {
57
57
  $asc: "asc",
58
58
  $desc: "desc"
@@ -68,7 +68,7 @@ var parsePrismaOrderBy = (orderBy) => {
68
68
  var parse_order_by_default = parsePrismaOrderBy;
69
69
 
70
70
  // src/adapter/prisma/utils/parse-recursive.ts
71
- chunk5I2B5KQG_js.init_cjs_shims();
71
+ chunkAW3MPEJW_js.init_cjs_shims();
72
72
  var parsePrismaRecursiveField = (select, fieldName) => {
73
73
  const parsed = {};
74
74
  Object.keys(select).forEach((field) => {
@@ -81,7 +81,7 @@ var parsePrismaRecursiveField = (select, fieldName) => {
81
81
  var parse_recursive_default = parsePrismaRecursiveField;
82
82
 
83
83
  // src/adapter/prisma/utils/parse-where.ts
84
- chunk5I2B5KQG_js.init_cjs_shims();
84
+ chunkAW3MPEJW_js.init_cjs_shims();
85
85
  var isObject = (a) => a instanceof Object;
86
86
  var operatorsAssociation2 = {
87
87
  $cont: "contains",
@@ -359,13 +359,13 @@ var PrismaAdapter = class {
359
359
  };
360
360
 
361
361
  // src/swagger/adapter/prisma/index.ts
362
- chunk5I2B5KQG_js.init_cjs_shims();
362
+ chunkAW3MPEJW_js.init_cjs_shims();
363
363
 
364
364
  // src/swagger/json-schema-parser.ts
365
- chunk5I2B5KQG_js.init_cjs_shims();
365
+ chunkAW3MPEJW_js.init_cjs_shims();
366
366
 
367
367
  // src/swagger/utils/format-schema-ref.ts
368
- chunk5I2B5KQG_js.init_cjs_shims();
368
+ chunkAW3MPEJW_js.init_cjs_shims();
369
369
  var formatSchemaReference = (schemaName) => `#/components/schemas/${schemaName}`;
370
370
  var format_schema_ref_default = formatSchemaReference;
371
371
 
@@ -682,29 +682,29 @@ var PrismaJsonSchemaParser = class {
682
682
  var json_schema_parser_default = PrismaJsonSchemaParser;
683
683
 
684
684
  // src/swagger/utils/get-models-accessible-routes.ts
685
- chunk5I2B5KQG_js.init_cjs_shims();
685
+ chunkAW3MPEJW_js.init_cjs_shims();
686
686
  var getModelsAccessibleRoutes = (modelNames, models, defaultExposeStrategy = "all") => (
687
687
  // eslint-disable-next-line unicorn/no-array-reduce
688
688
  modelNames.reduce((accumulator, modelName) => {
689
689
  if (models?.[modelName]) {
690
690
  return {
691
691
  ...accumulator,
692
- [modelName]: chunk5I2B5KQG_js.get_accessible_routes_default(models[modelName].only, models[modelName].exclude, defaultExposeStrategy)
692
+ [modelName]: chunkAW3MPEJW_js.get_accessible_routes_default(models[modelName].only, models[modelName].exclude, defaultExposeStrategy)
693
693
  };
694
694
  }
695
695
  return {
696
696
  ...accumulator,
697
- [modelName]: chunk5I2B5KQG_js.get_accessible_routes_default(void 0, void 0, defaultExposeStrategy)
697
+ [modelName]: chunkAW3MPEJW_js.get_accessible_routes_default(void 0, void 0, defaultExposeStrategy)
698
698
  };
699
699
  }, {})
700
700
  );
701
701
  var get_models_accessible_routes_default = getModelsAccessibleRoutes;
702
702
 
703
703
  // src/swagger/utils/get-swagger-paths.ts
704
- chunk5I2B5KQG_js.init_cjs_shims();
704
+ chunkAW3MPEJW_js.init_cjs_shims();
705
705
 
706
706
  // src/swagger/parameters.ts
707
- chunk5I2B5KQG_js.init_cjs_shims();
707
+ chunkAW3MPEJW_js.init_cjs_shims();
708
708
  var queryParameters = {
709
709
  distinct: {
710
710
  description: "Fields to distinctively retrieve",
@@ -784,7 +784,7 @@ var getQueryParameters = (routeType, additionalQueryParameters = []) => {
784
784
  };
785
785
 
786
786
  // src/swagger/utils/format-example-ref.ts
787
- chunk5I2B5KQG_js.init_cjs_shims();
787
+ chunkAW3MPEJW_js.init_cjs_shims();
788
788
  var formatExampleReference = (schemaName) => `#/components/examples/${schemaName}`;
789
789
  var format_example_ref_default = formatExampleReference;
790
790
 
@@ -995,7 +995,7 @@ var getSwaggerPaths = ({ models, modelsConfig, routes, routesMap }) => (
995
995
  var get_swagger_paths_default = getSwaggerPaths;
996
996
 
997
997
  // src/swagger/utils/get-swagger-tags.ts
998
- chunk5I2B5KQG_js.init_cjs_shims();
998
+ chunkAW3MPEJW_js.init_cjs_shims();
999
999
  var getSwaggerTags = (modelNames, modelsConfig) => modelNames.map((modelName) => {
1000
1000
  if (modelsConfig?.[modelName]?.tag) {
1001
1001
  return modelsConfig[modelName].tag;
@@ -1087,7 +1087,7 @@ var prisma_default = modelsToOpenApi;
1087
1087
 
1088
1088
  Object.defineProperty(exports, "RouteType", {
1089
1089
  enumerable: true,
1090
- get: function () { return chunk5I2B5KQG_js.RouteType; }
1090
+ get: function () { return chunkAW3MPEJW_js.RouteType; }
1091
1091
  });
1092
1092
  exports.PrismaAdapter = PrismaAdapter;
1093
1093
  exports.modelsToOpenApi = prisma_default;
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { init_esm_shims, get_accessible_routes_default } from './chunk-LBXJKEOF.mjs';
2
- export { RouteType } from './chunk-LBXJKEOF.mjs';
1
+ import { init_esm_shims, get_accessible_routes_default } from './chunk-542OFGDD.mjs';
2
+ export { RouteType } from './chunk-542OFGDD.mjs';
3
3
  import createHttpError from 'http-errors';
4
4
  import { createPaginationMetaSchemaObject } from '@visulima/pagination';
5
5
  import { getJSONSchemaProperty, transformDMMF } from '@visulima/prisma-dmmf-transformer';