@augment-vir/common
Version:
A collection of augments, helpers types, functions, and classes for any JavaScript environment.
30 lines (29 loc) • 1.16 kB
TypeScript
import type { BasePrismaClient } from './base-prisma-types.js';
import type { PrismaModelName } from './prisma-model-name.js';
/**
* A basic model entry with only its immediate properties.
*
* @category Prisma : Common
* @category Package : @augment-vir/common
* @example
*
* ```ts
* import type {PrismaClient} from '@prisma/client';
* import type {PrismaBasicModel} from '@augment-vir/common';
*
* function doThing(fullModel: PrismaBasicModel<PrismaClient, 'user'>) {}
* ```
*
* @package [`@augment-vir/common`](https://www.npmjs.com/package/@augment-vir/common)
*/
export type PrismaBasicModel<PrismaClient extends BasePrismaClient, Model extends PrismaModelName<PrismaClient>> = PrismaClient['model'][Model]['payload']['scalars'];
/**
* Basic model entries for all models in the database.
*
* @category Prisma : Common
* @category Package : @augment-vir/common
* @package [`@augment-vir/common`](https://www.npmjs.com/package/@augment-vir/common)
*/
export type PrismaAllBasicModels<PrismaClient extends BasePrismaClient> = Partial<{
[ModelName in PrismaModelName<PrismaClient>]: PrismaBasicModel<PrismaClient, ModelName>[];
}>;