INNER CODE UNIT · TypeScript

charStorage

prisma/prisma · packages/1-framework/2-authoring/ids/src/index.ts:24

function charStorage(length: number): GeneratedStorage {
  return { type: GENERATED_CHAR_TYPE, typeParams: { length } };
}

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);
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…