prisma-json-types-generator
Version:
Changes JsonValues to your custom typescript type
44 lines • 2.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isUpdateOneType = exports.createRegexForType = exports.LITERAL_REGEX = exports.JSON_REGEX = void 0;
/**
* A regex to match the JSON output of a field's comment type.
*
* @example `[TYPE] comment...`
*/
exports.JSON_REGEX = /^\s*!?\[(.*?)\]/m;
exports.LITERAL_REGEX = /^\s*!/m;
/**
* A list of regexes to match all types and subtypes generated by prisma for a specific
* model
*/
function createRegexForType(name) {
return [
new RegExp(`^${name}CountAggregate$`, 'm'),
// new RegExp(`^${name}CountAggregateOutputType$`, 'm'), `number` fields
// new RegExp(`^${name}CountOrderByAggregateInput$`, 'm'), `SortOrder` fields
// new RegExp(`^${name}CountAggregateInputType$`, 'm'), `true` fields
new RegExp(`^${name}Group$`, 'm'),
new RegExp(`^${name}GroupByOutputType$`, 'm'),
// new RegExp(`^${name}OrderByWithRelationInput$`, 'm'), `SortOrder` fields
// new RegExp(`^${name}OrderByWithAggregationInput$`, 'm'), `SortOrder` fields
new RegExp(`^${name}(?:Scalar)?Where$`, 'm'),
new RegExp(`^${name}(?:Scalar)?WhereInput$`, 'm'),
new RegExp(`^${name}(?:Scalar)?WhereWithAggregatesInput$`, 'm'),
new RegExp(`^${name}(?:Unchecked)?CreateInput$`, 'm'),
new RegExp(`^${name}(?:Unchecked)?CreateManyInput$`, 'm'),
new RegExp(`^${name}(?:Unchecked)?CreateWithout(?:\\w+?)Input$`, 'm'),
new RegExp(`^${name}(?:Unchecked)?CreateMany(?:\\w+?)Input$`, 'm'),
new RegExp(`^${name}(?:Unchecked)?UpdateInput$`, 'm'),
new RegExp(`^${name}(?:Unchecked)?UpdateManyInput$`, 'm'),
new RegExp(`^${name}(?:Unchecked)?UpdateManyMutationInput$`, 'm'),
new RegExp(`^${name}(?:Unchecked)?UpdateWithout(?:\\w+?)Input$`, 'm')
];
}
exports.createRegexForType = createRegexForType;
/** If the provided type is a update one variant */
function isUpdateOneType(type) {
return type.match(/UpdateInput$/m) || type.match(/UpdateWithout(?:\w+?)Input$/m);
}
exports.isUpdateOneType = isUpdateOneType;
//# sourceMappingURL=regex.js.map