MCPcopy
hub / github.com/deepnote/deepnote / createFormatValidator

Function createFormatValidator

packages/cli/src/utils/format-validator.ts:33–51  ·  view source on GitHub ↗
(
  allowedFormats: readonly T[],
  aliases?: Record<string, T>
)

Source from the content-addressed store, hash-verified

31 aliases?: Record<string, T>
32): (value: string) => T
33export function createFormatValidator<T extends string>(
34 allowedFormats: readonly T[],
35 aliases?: Record<string, T>
36): (value: string) => T {
37 return (value: string): T => {
38 const resolved = aliases?.[value] ?? value
39
40 if (!allowedFormats.includes(resolved as T)) {
41 const aliasesForAllowed = aliases
42 ? Object.entries(aliases)
43 .filter(([_, canonical]) => allowedFormats.includes(canonical as T))
44 .map(([alias]) => alias)
45 : []
46 const validValues = [...allowedFormats, ...aliasesForAllowed].join(', ')
47 throw new Error(`Invalid output format: ${value}. Valid formats: ${validValues}`)
48 }
49 return resolved as T
50 }
51}

Callers 2

registerCommandsFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected