UNPKG

memserver

Version:

in-memory database/ORM and http mock server you can run in-browser and node environments. Built for large frontend teams, fast tests and rapid prototyping

22 lines (16 loc) 902 B
import chalk from 'chalk'; export function generateUUID() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => { const r = Math.random()*16|0, v = c === 'x' ? r : (r&0x3|0x8); return v.toString(16); }); } export function primaryKeyTypeSafetyCheck(targetPrimaryKeyType, primaryKey, modelName) { const primaryKeyType = typeof primaryKey; if (targetPrimaryKeyType === 'id' && (primaryKeyType !== 'number')) { throw new Error(chalk.red(`[MemServer] ${modelName} model primaryKey type is 'id'. Instead you've tried to enter id: ${primaryKey} with ${primaryKeyType} type`)); } else if (targetPrimaryKeyType === 'uuid' && (primaryKeyType !== 'string')) { throw new Error(chalk.red(`[MemServer] ${modelName} model primaryKey type is 'uuid'. Instead you've tried to enter uuid: ${primaryKey} with ${primaryKeyType} type`)); } return targetPrimaryKeyType; }