@visulima/prisma-dmmf-transformer 2.0.0 → 2.0.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 +9 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -5
- package/dist/index.mjs +3 -3
- package/package.json +11 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
## @visulima/prisma-dmmf-transformer [2.0.1](https://github.com/visulima/visulima/compare/@visulima/prisma-dmmf-transformer@2.0.0...@visulima/prisma-dmmf-transformer@2.0.1) (2023-08-29)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* fixed wrong settings for node 18+ in typescript ([ac6711f](https://github.com/visulima/visulima/commit/ac6711fd2b4fdc5506b03e3a6ae25bb983aa6ea3))
|
|
7
|
+
* remove unused files and refactor imports and typings ([ba2ab03](https://github.com/visulima/visulima/commit/ba2ab03d2d7aff5f49c4d6714a61b99706778f19))
|
|
8
|
+
* updated various package dependencies and optimized code formatting. ([5d71d91](https://github.com/visulima/visulima/commit/5d71d913e857b71a7b741abe848780aaa22d679f))
|
|
9
|
+
|
|
1
10
|
## @visulima/prisma-dmmf-transformer [2.0.0](https://github.com/visulima/visulima/compare/@visulima/prisma-dmmf-transformer@1.0.9...@visulima/prisma-dmmf-transformer@2.0.0) (2023-08-28)
|
|
2
11
|
|
|
3
12
|
|
package/dist/index.d.mts
CHANGED
|
@@ -22,7 +22,7 @@ interface TransformOptions {
|
|
|
22
22
|
schemaId?: string;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
declare const getJSONSchemaProperty: (modelMetaData: ModelMetaData, transformOptions: TransformOptions) => (field: DMMF.Field) => [string, json_schema.JSONSchema7Definition, PropertyMetaData];
|
|
25
|
+
declare const getJSONSchemaProperty: (modelMetaData: ModelMetaData, transformOptions: TransformOptions) => (field: DMMF.Field) => [name: string, definition: json_schema.JSONSchema7Definition, PropertyMetaData];
|
|
26
26
|
|
|
27
27
|
declare const transformDmmf: (dmmf: DMMF.Document, transformOptions?: TransformOptions) => JSONSchema7;
|
|
28
28
|
|
package/dist/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ interface TransformOptions {
|
|
|
22
22
|
schemaId?: string;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
declare const getJSONSchemaProperty: (modelMetaData: ModelMetaData, transformOptions: TransformOptions) => (field: DMMF.Field) => [string, json_schema.JSONSchema7Definition, PropertyMetaData];
|
|
25
|
+
declare const getJSONSchemaProperty: (modelMetaData: ModelMetaData, transformOptions: TransformOptions) => (field: DMMF.Field) => [name: string, definition: json_schema.JSONSchema7Definition, PropertyMetaData];
|
|
26
26
|
|
|
27
27
|
declare const transformDmmf: (dmmf: DMMF.Document, transformOptions?: TransformOptions) => JSONSchema7;
|
|
28
28
|
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var D = require('assert');
|
|
4
4
|
|
|
5
5
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var D__default = /*#__PURE__*/_interopDefault(D);
|
|
8
8
|
|
|
9
|
-
var l=e=>e!=null,
|
|
9
|
+
var l=e=>e!=null,d=e=>{switch(e){case"Int":case"BigInt":return "integer";case"DateTime":case"Bytes":case"String":return "string";case"Float":case"Decimal":return "number";case"Json":return ["number","string","boolean","object","array","null"];case"Boolean":return "boolean";default:throw new Error(`Unhandled discriminated union member: ${JSON.stringify(e)}`)}},h=e=>{let{isList:t,isRequired:r,kind:n,type:i}=e,a="object";return n==="scalar"&&!t?a=d(i):t?a="array":n==="enum"&&(a="string"),r||t?a:Array.isArray(a)?[...new Set([...a,"null"])]:[a,"null"]},g=e=>{let t=e.default;if(!e.hasDefaultValue)return null;if(e.kind==="enum")return typeof t=="string"?t:null;if(e.kind!=="scalar")return null;switch(e.type){case"String":case"BigInt":case"DateTime":return typeof t=="string"?t:null;case"Int":case"Float":case"Decimal":return typeof t=="number"?t:null;case"Boolean":return typeof t=="boolean"?t:null;case"Json":case"Bytes":return null;default:throw new Error(`Unhandled discriminated union member: ${JSON.stringify(e.type)}`)}},F=e=>{if(e==="DateTime")return "date-time"},S=(e,{persistOriginalType:t,schemaId:r})=>{let n=e.isRequired||e.isList;D__default.default.equal(typeof e.type,"string");let i=`#/definitions/${e.type}`,a={$ref:r?`${r}${i}`:i};return n?a:{anyOf:[a,{type:"null"}],...t&&{originalType:e.type}}},O=(e,t)=>{if(!(e.kind==="scalar"&&!e.isList||e.kind==="enum"))return e.kind==="scalar"&&e.isList?{type:d(e.type)}:S(e,t)},N=e=>e.kind!=="scalar"&&!e.isList&&e.kind!=="enum",J=e=>t=>{let r=e.enums.find(({name:n})=>n===t.type);if(r)return r.values.map(n=>n.name)},T=e=>e.documentation,P=(e,t,r)=>{let n=h(r),i=F(r.type),a=O(r,t),o=J(e)(r),p=g(r),c=T(r);return {type:n,...t.persistOriginalType&&{originalType:r.type},...l(p)&&{default:p},...l(i)&&{format:i},...l(a)&&{items:a},...l(o)&&{enum:o},...l(c)&&{description:c}}},b=(e,t)=>r=>{let n={hasDefaultValue:r.hasDefaultValue,isScalar:r.kind==="scalar"||r.kind==="enum",required:r.isRequired},i=N(r)?S(r,t):P(e,t,r);return [r.name,i,n]},M=b;var $=e=>e.fields.flatMap(t=>t.relationFromFields??[]),j=(e,t)=>r=>{let n=r.fields.map(M(e,t)),i=n.map(([s,m])=>[s,m]),a=$(r),o=i.filter(s=>!a.includes(s[0])),c={properties:Object.fromEntries(t.keepRelationScalarFields==="true"?i:o),type:"object"};return t.includeRequiredFields&&(c.required=n.reduce((s,[m,,u])=>(u.required&&u.isScalar&&!u.hasDefaultValue&&s.push(m),s),[])),[r.name,c]},f=j;var k=e=>e.slice(0,1).toLowerCase()+e.slice(1),R=({schemaId:e})=>t=>{let r=`#/definitions/${t.name}`;return [k(t.name),{$ref:e?`${e}${r}`:r}]},B=(e,t={})=>{let{enums:r=[],models:n=[],types:i=[]}=e.datamodel,a={$schema:"http://json-schema.org/draft-07/schema#",definitions:{},type:"object"},{schemaId:o}=t,p=n.map(f({enums:r},t)),c=i.map(f({enums:r},t)),s=n.map(R(t)),m=Object.fromEntries([...p,...c]),u=Object.fromEntries(s);return {...o?{$id:o}:null,...a,definitions:m,properties:u}},q=B;
|
|
10
10
|
|
|
11
|
-
exports.getJSONSchemaProperty =
|
|
12
|
-
exports.transformDMMF =
|
|
11
|
+
exports.getJSONSchemaProperty = M;
|
|
12
|
+
exports.transformDMMF = q;
|
|
13
13
|
//# sourceMappingURL=out.js.map
|
|
14
14
|
//# sourceMappingURL=index.js.map
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import h from 'assert';
|
|
2
2
|
|
|
3
|
-
var l=e=>e!=null,
|
|
3
|
+
var l=e=>e!=null,S=e=>{switch(e){case"Int":case"BigInt":return "integer";case"DateTime":case"Bytes":case"String":return "string";case"Float":case"Decimal":return "number";case"Json":return ["number","string","boolean","object","array","null"];case"Boolean":return "boolean";default:throw new Error(`Unhandled discriminated union member: ${JSON.stringify(e)}`)}},g=e=>{let{isList:t,isRequired:r,kind:n,type:i}=e,a="object";return n==="scalar"&&!t?a=S(i):t?a="array":n==="enum"&&(a="string"),r||t?a:Array.isArray(a)?[...new Set([...a,"null"])]:[a,"null"]},F=e=>{let t=e.default;if(!e.hasDefaultValue)return null;if(e.kind==="enum")return typeof t=="string"?t:null;if(e.kind!=="scalar")return null;switch(e.type){case"String":case"BigInt":case"DateTime":return typeof t=="string"?t:null;case"Int":case"Float":case"Decimal":return typeof t=="number"?t:null;case"Boolean":return typeof t=="boolean"?t:null;case"Json":case"Bytes":return null;default:throw new Error(`Unhandled discriminated union member: ${JSON.stringify(e.type)}`)}},O=e=>{if(e==="DateTime")return "date-time"},D=(e,{persistOriginalType:t,schemaId:r})=>{let n=e.isRequired||e.isList;h.equal(typeof e.type,"string");let i=`#/definitions/${e.type}`,a={$ref:r?`${r}${i}`:i};return n?a:{anyOf:[a,{type:"null"}],...t&&{originalType:e.type}}},N=(e,t)=>{if(!(e.kind==="scalar"&&!e.isList||e.kind==="enum"))return e.kind==="scalar"&&e.isList?{type:S(e.type)}:D(e,t)},J=e=>e.kind!=="scalar"&&!e.isList&&e.kind!=="enum",T=e=>t=>{let r=e.enums.find(({name:n})=>n===t.type);if(r)return r.values.map(n=>n.name)},P=e=>e.documentation,b=(e,t,r)=>{let n=g(r),i=O(r.type),a=N(r,t),o=T(e)(r),p=F(r),c=P(r);return {type:n,...t.persistOriginalType&&{originalType:r.type},...l(p)&&{default:p},...l(i)&&{format:i},...l(a)&&{items:a},...l(o)&&{enum:o},...l(c)&&{description:c}}},$=(e,t)=>r=>{let n={hasDefaultValue:r.hasDefaultValue,isScalar:r.kind==="scalar"||r.kind==="enum",required:r.isRequired},i=J(r)?D(r,t):b(e,t,r);return [r.name,i,n]},f=$;var j=e=>e.fields.flatMap(t=>t.relationFromFields??[]),k=(e,t)=>r=>{let n=r.fields.map(f(e,t)),i=n.map(([s,m])=>[s,m]),a=j(r),o=i.filter(s=>!a.includes(s[0])),c={properties:Object.fromEntries(t.keepRelationScalarFields==="true"?i:o),type:"object"};return t.includeRequiredFields&&(c.required=n.reduce((s,[m,,u])=>(u.required&&u.isScalar&&!u.hasDefaultValue&&s.push(m),s),[])),[r.name,c]},d=k;var R=e=>e.slice(0,1).toLowerCase()+e.slice(1),B=({schemaId:e})=>t=>{let r=`#/definitions/${t.name}`;return [R(t.name),{$ref:e?`${e}${r}`:r}]},q=(e,t={})=>{let{enums:r=[],models:n=[],types:i=[]}=e.datamodel,a={$schema:"http://json-schema.org/draft-07/schema#",definitions:{},type:"object"},{schemaId:o}=t,p=n.map(d({enums:r},t)),c=i.map(d({enums:r},t)),s=n.map(B(t)),m=Object.fromEntries([...p,...c]),u=Object.fromEntries(s);return {...o?{$id:o}:null,...a,definitions:m,properties:u}},w=q;
|
|
4
4
|
|
|
5
|
-
export {
|
|
5
|
+
export { f as getJSONSchemaProperty, w as transformDMMF };
|
|
6
6
|
//# sourceMappingURL=out.js.map
|
|
7
7
|
//# sourceMappingURL=index.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visulima/prisma-dmmf-transformer",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "A generator for Prisma to generate a valid JSON Schema v7.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"anolilab",
|
|
@@ -39,8 +39,14 @@
|
|
|
39
39
|
"exports": {
|
|
40
40
|
".": {
|
|
41
41
|
"types": "./dist/index.d.ts",
|
|
42
|
-
"require":
|
|
43
|
-
|
|
42
|
+
"require": {
|
|
43
|
+
"types": "./dist/index.d.ts",
|
|
44
|
+
"default": "./dist/index.js"
|
|
45
|
+
},
|
|
46
|
+
"import": {
|
|
47
|
+
"types": "./dist/index.d.mts",
|
|
48
|
+
"default": "./dist/index.mjs"
|
|
49
|
+
}
|
|
44
50
|
},
|
|
45
51
|
"./package.json": "./package.json"
|
|
46
52
|
},
|
|
@@ -60,7 +66,7 @@
|
|
|
60
66
|
"clean": "rimraf node_modules dist .eslintcache",
|
|
61
67
|
"coverage": "vitest run --coverage",
|
|
62
68
|
"dev": "pnpm run build --watch",
|
|
63
|
-
"lint:eslint": "eslint . --ext js,jsx,ts,tsx --max-warnings=0 --config .eslintrc.js
|
|
69
|
+
"lint:eslint": "eslint . --ext js,cjs,mjs,jsx,ts,tsx,json,yaml,yml,md,mdx --max-warnings=0 --config .eslintrc.js",
|
|
64
70
|
"lint:eslint:fix": "pnpm run lint:eslint --fix",
|
|
65
71
|
"lint:prettier": "prettier --config=.prettierrc.js --check .",
|
|
66
72
|
"lint:prettier:fix": "prettier --config=.prettierrc.js --write .",
|
|
@@ -94,6 +100,7 @@
|
|
|
94
100
|
"prisma": "4.16.2",
|
|
95
101
|
"rimraf": "5.0.1",
|
|
96
102
|
"semantic-release": "21.1.1",
|
|
103
|
+
"sort-package-json": "^2.5.1",
|
|
97
104
|
"tsup": "7.2.0",
|
|
98
105
|
"typescript": "5.2.2",
|
|
99
106
|
"vitest": "0.34.3"
|