prisma-generator-accel-record
Advanced tools
Comparing version 1.9.1 to 1.10.0
@@ -51,3 +51,3 @@ "use strict"; | ||
const outputDir = (_a = options.generator.output) === null || _a === void 0 ? void 0 : _a.value; | ||
await (0, writeFileSafely_1.writeFileSafely)(path_1.default.join(outputDir, `_types.ts`), (0, index_1.generateIndex)(options)); | ||
await (0, writeFileSafely_1.writeFileSafely)(path_1.default.join(outputDir, `_types.ts`), await (0, index_1.generateIndex)(options)); | ||
const indexFile = path_1.default.join(outputDir, `index.ts`); | ||
@@ -54,0 +54,0 @@ if (!fs.existsSync(indexFile)) { |
@@ -5,7 +5,7 @@ "use strict"; | ||
const type_1 = require("./type"); | ||
const generateIndex = (options) => { | ||
const generateIndex = async (options) => { | ||
return [ | ||
cautionComment, | ||
(0, exports.generateExportAllModels)(options.dmmf.datamodel.models), | ||
(0, type_1.generateTypes)(options), | ||
await (0, type_1.generateTypes)(options), | ||
].join("\n"); | ||
@@ -12,0 +12,0 @@ }; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.generateTypes = void 0; | ||
const index_js_1 = require("./index.js"); | ||
const relation_js_1 = require("./relation.js"); | ||
const wrapper_js_1 = require("./wrapper.js"); | ||
const getFilterType = (type) => { | ||
@@ -16,78 +17,3 @@ switch (type) { | ||
}; | ||
class FieldWrapper { | ||
constructor(field, datamodel) { | ||
this.field = field; | ||
this.datamodel = datamodel; | ||
this.name = field.name; | ||
this.relationFromFields = field.relationFromFields; | ||
this.hasDefaultValue = field.hasDefaultValue; | ||
this.isRequired = field.isRequired; | ||
this.isList = field.isList; | ||
this.isUpdatedAt = field.isUpdatedAt; | ||
this.type = field.type; | ||
this.relationName = field.relationName; | ||
} | ||
get hasScalarDefault() { | ||
if (typeof this.field.default === "object" && | ||
"name" in this.field.default) { | ||
return ["uuid", "cuid"].includes(this.field.default.name); | ||
} | ||
return (this.field.default != undefined && typeof this.field.default !== "object"); | ||
} | ||
get model() { | ||
const model = this.datamodel.models.find((m) => m.name == this.field.type); | ||
if (model) | ||
return new ModelWrapper(model, this.datamodel); | ||
return undefined; | ||
} | ||
get typeName() { | ||
var _a, _b; | ||
switch (this.field.type) { | ||
case "BigInt": | ||
case "Decimal": | ||
case "Float": | ||
case "Int": | ||
return "number"; | ||
case "Bytes": | ||
case "String": | ||
return "string"; | ||
case "Boolean": | ||
return "boolean"; | ||
case "DateTime": | ||
return "Date"; | ||
case "Json": | ||
return "any"; | ||
default: | ||
return (_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.baseModel) !== null && _b !== void 0 ? _b : this.field.type; | ||
} | ||
} | ||
} | ||
class ModelWrapper { | ||
constructor(model, datamodel) { | ||
this.model = model; | ||
this.datamodel = datamodel; | ||
} | ||
get baseModel() { | ||
return `${this.model.name}Model`; | ||
} | ||
get newModel() { | ||
return `New${this.model.name}`; | ||
} | ||
get persistedModel() { | ||
return `${this.model.name}`; | ||
} | ||
get collection() { | ||
return `${this.model.name}Collection`; | ||
} | ||
get meta() { | ||
return `${this.model.name}Meta`; | ||
} | ||
get fileName() { | ||
return (0, index_js_1.toCamelCase)(this.model.name); | ||
} | ||
get fields() { | ||
return this.model.fields.map((f) => new FieldWrapper(f, this.datamodel)); | ||
} | ||
} | ||
const generateTypes = (options) => { | ||
const generateTypes = async (options) => { | ||
let data = `import { | ||
@@ -102,2 +28,4 @@ registerModel, | ||
function meta<T>(model: T): Meta<T>; | ||
interface Relation<T, M> {${await (0, relation_js_1.relationMethods)(options)}} | ||
} | ||
@@ -107,3 +35,3 @@ | ||
const meta = options.dmmf.datamodel.models | ||
.map((model) => new ModelWrapper(model, options.dmmf.datamodel)) | ||
.map((model) => new wrapper_js_1.ModelWrapper(model, options.dmmf.datamodel)) | ||
.map((model) => `T extends typeof ${model.baseModel} | ${model.baseModel} ? ${model.meta} :`) | ||
@@ -114,3 +42,3 @@ .join("\n "); | ||
for (const _model of options.dmmf.datamodel.models) { | ||
const model = new ModelWrapper(_model, options.dmmf.datamodel); | ||
const model = new wrapper_js_1.ModelWrapper(_model, options.dmmf.datamodel); | ||
const associationColumns = model.fields | ||
@@ -117,0 +45,0 @@ .filter((f) => { var _a, _b; return f.relationName && ((_b = (_a = f.relationFromFields) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0; }) |
{ | ||
"name": "prisma-generator-accel-record", | ||
"version": "1.9.1", | ||
"version": "1.10.0", | ||
"description": "", | ||
@@ -34,2 +34,3 @@ "main": "dist/generator.js", | ||
"@prisma/generator-helper": "^5.0.0", | ||
"esbuild": ">=0.21.0", | ||
"prettier": "^3.0.0" | ||
@@ -36,0 +37,0 @@ }, |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
121428
30
2340
4
4
2
+ Addedesbuild@>=0.21.0
+ Added@esbuild/aix-ppc64@0.25.0(transitive)
+ Added@esbuild/android-arm@0.25.0(transitive)
+ Added@esbuild/android-arm64@0.25.0(transitive)
+ Added@esbuild/android-x64@0.25.0(transitive)
+ Added@esbuild/darwin-arm64@0.25.0(transitive)
+ Added@esbuild/darwin-x64@0.25.0(transitive)
+ Added@esbuild/freebsd-arm64@0.25.0(transitive)
+ Added@esbuild/freebsd-x64@0.25.0(transitive)
+ Added@esbuild/linux-arm@0.25.0(transitive)
+ Added@esbuild/linux-arm64@0.25.0(transitive)
+ Added@esbuild/linux-ia32@0.25.0(transitive)
+ Added@esbuild/linux-loong64@0.25.0(transitive)
+ Added@esbuild/linux-mips64el@0.25.0(transitive)
+ Added@esbuild/linux-ppc64@0.25.0(transitive)
+ Added@esbuild/linux-riscv64@0.25.0(transitive)
+ Added@esbuild/linux-s390x@0.25.0(transitive)
+ Added@esbuild/linux-x64@0.25.0(transitive)
+ Added@esbuild/netbsd-arm64@0.25.0(transitive)
+ Added@esbuild/netbsd-x64@0.25.0(transitive)
+ Added@esbuild/openbsd-arm64@0.25.0(transitive)
+ Added@esbuild/openbsd-x64@0.25.0(transitive)
+ Added@esbuild/sunos-x64@0.25.0(transitive)
+ Added@esbuild/win32-arm64@0.25.0(transitive)
+ Added@esbuild/win32-ia32@0.25.0(transitive)
+ Added@esbuild/win32-x64@0.25.0(transitive)
+ Addedesbuild@0.25.0(transitive)