INNER CODE UNIT · TypeScript
nanoidStorage
prisma/prisma · packages/1-framework/2-authoring/ids/src/index.ts:28
function nanoidStorage(params?: Record<string, unknown>): GeneratedStorage {
const rawSize = params?.['size'];
if (rawSize === undefined) {
return charStorage(21);
}
if (typeof rawSize !== 'number' || !Number.isInteger(rawSize) || rawSize < 2 || rawSize > 255) {
throw contractError(
'CONTRACT.ARGUMENT_INVALID',
'nanoid size must be an integer between 2 and 255',
{ meta: { helperPath: 'nanoid', paramName: 'size', received: rawSize } },
);
}
return charStorage(rawSize);
}
type BuiltinGeneratorMetadata = {
readonly applicableCodecIds: readonly string[];
/** The single source of the {@link GeneratedStorage} this generator's TS spec helper bundles. */