Skip to content

validateTableSchema

validateTableSchema(source, options?): Promise<{ errors: ({ resourceName: string; type: "resource/missing"; } | { expectedResourceType: "table" | "data"; type: "resource/type"; } | { columnName: string; type: "column/missing"; } | { actualColumnType: "string" | "number" | "boolean" | "object" | "unknown" | "date" | "array" | "integer" | "categorical" | "list" | "date-time" | "time" | "base64" | "hex" | "email" | "url" | "duration" | "wkt" | "wkb" | "decimal" | "geojson" | "topojson"; columnName: string; expectedColumnType: "string" | "number" | "boolean" | "object" | "unknown" | "date" | "array" | "integer" | "categorical" | "list" | "date-time" | "time" | "base64" | "hex" | "email" | "url" | "duration" | "wkt" | "wkb" | "decimal" | "geojson" | "topojson"; type: "column/type"; } | { columnNames: string[]; rowNumber: number; type: "row/primaryKey"; } | { columnNames: string[]; rowNumber: number; type: "row/uniqueKey"; } | { cell: string; columnName: string; columnType: "string" | "number" | "boolean" | "object" | "unknown" | "date" | "array" | "integer" | "categorical" | "list" | "date-time" | "time" | "base64" | "hex" | "email" | "url" | "duration" | "wkt" | "wkb" | "decimal" | "geojson" | "topojson"; rowNumber: number; type: "cell/type"; } | { cell: string; columnName: string; rowNumber: number; type: "cell/required"; } | { cell: string; columnName: string; minimum: string; rowNumber: number; type: "cell/minimum"; } | { cell: string; columnName: string; maximum: string; rowNumber: number; type: "cell/maximum"; } | { cell: string; columnName: string; minimum: string; rowNumber: number; type: "cell/exclusiveMinimum"; } | { cell: string; columnName: string; maximum: string; rowNumber: number; type: "cell/exclusiveMaximum"; } | { cell: string; columnName: string; multipleOf: number; rowNumber: number; type: "cell/multipleOf"; } | { cell: string; columnName: string; minLength: number; rowNumber: number; type: "cell/minLength"; } | { cell: string; columnName: string; maxLength: number; rowNumber: number; type: "cell/maxLength"; } | { cell: string; columnName: string; minItems: number; rowNumber: number; type: "cell/minItems"; } | { cell: string; columnName: string; maxItems: number; rowNumber: number; type: "cell/maxItems"; } | { cell: string; columnName: string; pattern: string; rowNumber: number; type: "cell/pattern"; } | { cell: string; columnName: string; rowNumber: number; type: "cell/unique"; } | { cell: string; columnName: string; const: string; rowNumber: number; type: "cell/const"; } | { cell: string; columnName: string; enum: string[]; rowNumber: number; type: "cell/enum"; } | { cell: string; columnName: string; jsonPointer: string; message: string; rowNumber: number; type: "cell/json"; } | { actualEncoding?: string; type: "file/textual"; } | { actualHash: string; expectedHash: string; hashType: string; type: "file/integrity"; } | { jsonPointer: string; message: string; type: "metadata"; } | { cells: string[]; foreignKey: { columns: string[]; reference: { columns: string[]; resource?: string; }; }; type: "foreignKey"; } | { jsonPointer: string; message: string; type: "data"; } | ({ type: “resource/missing”; resourceName: string; } | { type: “resource/type”; expectedResourceType: “table” | “data”; } | { type: “column/missing”; columnName: string; } | { type: “column/type”; columnName: string; expectedColumnType: “string” | … 20 more … | “topojson”; actualColumnType: “string” | … 20 mor…)[]; tableSchema: undefined | { $schema?: string; description?: string; foreignKeys?: object[]; missingValues?: (string | number | { label: string; value: string | number; })[]; primaryKey?: string[]; properties?: Record<string, { const?: number; default?: number[]; description?: string; enum?: number[]; examples?: number[]; exclusiveMaximum?: number; exclusiveMinimum?: number; format?: undefined; groupChar?: string; maximum?: number; minimum?: number; missingValues?: (… | … | …)[]; multipleOf?: number; rdfType?: string; title?: string; type: "integer"; withText?: boolean; } | { categories?: (… | …)[]; const?: number; default?: number[]; description?: string; enum?: number[]; examples?: number[]; exclusiveMaximum?: number; exclusiveMinimum?: number; format: "categorical"; groupChar?: string; maximum?: number; minimum?: number; missingValues?: (… | … | …)[]; multipleOf?: number; rdfType?: string; title?: string; type: "integer"; withOrder?: boolean; withText?: boolean; } | { const?: string; default?: string[]; delimiter?: string; description?: string; enum?: string[]; examples?: string[]; format: "list"; itemType?: "string" | "number" | "boolean" | "date" | "integer" | "date-time" | "time"; maxItems?: number; maxLength?: number; minItems?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "base64"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "hex"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "email"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "url"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "date-time"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; temporalFormat?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "date"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; temporalFormat?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "time"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; temporalFormat?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "duration"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "wkt"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "wkb"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format?: undefined; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { categories?: (… | …)[]; const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "categorical"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; withOrder?: boolean; } | { const?: string; decimalChar?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; exclusiveMaximum?: number; exclusiveMinimum?: number; format: "decimal"; groupChar?: string; maximum?: number; maxLength?: number; minimum?: number; minLength?: number; missingValues?: (… | …)[]; multipleOf?: number; pattern?: string; rdfType?: string; title?: string; type: "string"; withText?: boolean; } | { additionalProperties?: unknown; allOf?: unknown; anyOf?: unknown; const?: Record<string, unknown>; default?: Record<…, …>[]; dependencies?: unknown; dependentRequired?: unknown; dependentSchemas?: unknown; description?: string; else?: unknown; enum?: Record<…, …>[]; examples?: Record<…, …>[]; format: "geojson"; if?: unknown; maxProperties?: number; minProperties?: number; missingValues?: (… | …)[]; not?: unknown; oneOf?: unknown; patternProperties?: unknown; properties?: unknown; propertyNames?: unknown; rdfType?: string; required?: unknown; then?: unknown; title?: string; type: "object"; } | { additionalProperties?: unknown; allOf?: unknown; anyOf?: unknown; const?: Record<string, unknown>; default?: Record<…, …>[]; dependencies?: unknown; dependentRequired?: unknown; dependentSchemas?: unknown; description?: string; else?: unknown; enum?: Record<…, …>[]; examples?: Record<…, …>[]; format: "topojson"; if?: unknown; maxProperties?: number; minProperties?: number; missingValues?: (… | …)[]; not?: unknown; oneOf?: unknown; patternProperties?: unknown; properties?: unknown; propertyNames?: unknown; rdfType?: string; required?: unknown; then?: unknown; title?: string; type: "object"; } | { additionalProperties?: unknown; allOf?: unknown; anyOf?: unknown; const?: Record<string, unknown>; default?: Record<…, …>[]; dependencies?: unknown; dependentRequired?: unknown; dependentSchemas?: unknown; description?: string; else?: unknown; enum?: Record<…, …>[]; examples?: Record<…, …>[]; format?: undefined; if?: unknown; maxProperties?: number; minProperties?: number; missingValues?: (… | …)[]; not?: unknown; oneOf?: unknown; patternProperties?: unknown; properties?: unknown; propertyNames?: unknown; rdfType?: string; required?: unknown; then?: unknown; title?: string; type: "object"; } | { const?: boolean; default?: boolean[]; description?: string; enum?: boolean[]; examples?: boolean[]; falseValues?: string[]; format?: undefined; missingValues?: (… | … | …)[]; rdfType?: string; title?: string; trueValues?: string[]; type: "boolean"; } | { const?: number; decimalChar?: string; default?: number[]; description?: string; enum?: number[]; examples?: number[]; exclusiveMaximum?: number; exclusiveMinimum?: number; format?: undefined; groupChar?: string; maximum?: number; minimum?: number; missingValues?: (… | … | …)[]; multipleOf?: number; rdfType?: string; title?: string; type: "number"; withText?: boolean; } | { additionalItems?: unknown; allOf?: unknown; anyOf?: unknown; const?: unknown[]; contains?: unknown; default?: …[][]; description?: string; else?: unknown; enum?: unknown[]; examples?: …[][]; format?: undefined; if?: unknown; items?: unknown; maxContains?: number; maxItems?: number; minContains?: number; minItems?: number; missingValues?: (… | …)[]; not?: unknown; oneOf?: unknown; prefixItems?: unknown; rdfType?: string; then?: unknown; title?: string; type: "array"; uniqueItems?: boolean; } | { const?: unknown[]; default?: unknown[]; description?: string; enum?: …[][]; examples?: …[][]; format?: undefined; missingValues?: (… | …)[]; rdfType?: string; title?: string; type?: "null"; }>; required?: string[]; title?: string; uniqueKeys?: string[][]; }; valid: boolean; }>

Defined in: metadata/actions/tableSchema/validate.ts:7

string | Record<string, unknown> | { $schema?: string; description?: string; foreignKeys?: object[]; missingValues?: (string | number | { label: string; value: string | number; })[]; primaryKey?: string[]; properties?: Record<string, { const?: number; default?: number[]; description?: string; enum?: number[]; examples?: number[]; exclusiveMaximum?: number; exclusiveMinimum?: number; format?: undefined; groupChar?: string; maximum?: number; minimum?: number; missingValues?: (string | number | { label: string; value: … | …; })[]; multipleOf?: number; rdfType?: string; title?: string; type: "integer"; withText?: boolean; } | { categories?: (number | { label: string; value: number; })[]; const?: number; default?: number[]; description?: string; enum?: number[]; examples?: number[]; exclusiveMaximum?: number; exclusiveMinimum?: number; format: "categorical"; groupChar?: string; maximum?: number; minimum?: number; missingValues?: (string | number | { label: string; value: … | …; })[]; multipleOf?: number; rdfType?: string; title?: string; type: "integer"; withOrder?: boolean; withText?: boolean; } | { const?: string; default?: string[]; delimiter?: string; description?: string; enum?: string[]; examples?: string[]; format: "list"; itemType?: "string" | "number" | "boolean" | "date" | "integer" | "date-time" | "time"; maxItems?: number; maxLength?: number; minItems?: number; minLength?: number; missingValues?: (string | { label: string; value: string; })[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "base64"; maxLength?: number; minLength?: number; missingValues?: (string | { label: string; value: string; })[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "hex"; maxLength?: number; minLength?: number; missingValues?: (string | { label: string; value: string; })[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "email"; maxLength?: number; minLength?: number; missingValues?: (string | { label: string; value: string; })[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "url"; maxLength?: number; minLength?: number; missingValues?: (string | { label: string; value: string; })[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "date-time"; maxLength?: number; minLength?: number; missingValues?: (string | { label: string; value: string; })[]; pattern?: string; rdfType?: string; temporalFormat?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "date"; maxLength?: number; minLength?: number; missingValues?: (string | { label: string; value: string; })[]; pattern?: string; rdfType?: string; temporalFormat?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "time"; maxLength?: number; minLength?: number; missingValues?: (string | { label: string; value: string; })[]; pattern?: string; rdfType?: string; temporalFormat?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "duration"; maxLength?: number; minLength?: number; missingValues?: (string | { label: string; value: string; })[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "wkt"; maxLength?: number; minLength?: number; missingValues?: (string | { label: string; value: string; })[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "wkb"; maxLength?: number; minLength?: number; missingValues?: (string | { label: string; value: string; })[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format?: undefined; maxLength?: number; minLength?: number; missingValues?: (string | { label: string; value: string; })[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { categories?: (string | { label: string; value: string; })[]; const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "categorical"; maxLength?: number; minLength?: number; missingValues?: (string | { label: string; value: string; })[]; pattern?: string; rdfType?: string; title?: string; type: "string"; withOrder?: boolean; } | { const?: string; decimalChar?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; exclusiveMaximum?: number; exclusiveMinimum?: number; format: "decimal"; groupChar?: string; maximum?: number; maxLength?: number; minimum?: number; minLength?: number; missingValues?: (string | { label: string; value: string; })[]; multipleOf?: number; pattern?: string; rdfType?: string; title?: string; type: "string"; withText?: boolean; } | { additionalProperties?: unknown; allOf?: unknown; anyOf?: unknown; const?: Record<string, unknown>; default?: Record<string, unknown>[]; dependencies?: unknown; dependentRequired?: unknown; dependentSchemas?: unknown; description?: string; else?: unknown; enum?: Record<string, unknown>[]; examples?: Record<string, unknown>[]; format: "geojson"; if?: unknown; maxProperties?: number; minProperties?: number; missingValues?: (string | { label: string; value: string; })[]; not?: unknown; oneOf?: unknown; patternProperties?: unknown; properties?: unknown; propertyNames?: unknown; rdfType?: string; required?: unknown; then?: unknown; title?: string; type: "object"; } | { additionalProperties?: unknown; allOf?: unknown; anyOf?: unknown; const?: Record<string, unknown>; default?: Record<string, unknown>[]; dependencies?: unknown; dependentRequired?: unknown; dependentSchemas?: unknown; description?: string; else?: unknown; enum?: Record<string, unknown>[]; examples?: Record<string, unknown>[]; format: "topojson"; if?: unknown; maxProperties?: number; minProperties?: number; missingValues?: (string | { label: string; value: string; })[]; not?: unknown; oneOf?: unknown; patternProperties?: unknown; properties?: unknown; propertyNames?: unknown; rdfType?: string; required?: unknown; then?: unknown; title?: string; type: "object"; } | { additionalProperties?: unknown; allOf?: unknown; anyOf?: unknown; const?: Record<string, unknown>; default?: Record<string, unknown>[]; dependencies?: unknown; dependentRequired?: unknown; dependentSchemas?: unknown; description?: string; else?: unknown; enum?: Record<string, unknown>[]; examples?: Record<string, unknown>[]; format?: undefined; if?: unknown; maxProperties?: number; minProperties?: number; missingValues?: (string | { label: string; value: string; })[]; not?: unknown; oneOf?: unknown; patternProperties?: unknown; properties?: unknown; propertyNames?: unknown; rdfType?: string; required?: unknown; then?: unknown; title?: string; type: "object"; } | { const?: boolean; default?: boolean[]; description?: string; enum?: boolean[]; examples?: boolean[]; falseValues?: string[]; format?: undefined; missingValues?: (string | number | { label: string; value: … | …; })[]; rdfType?: string; title?: string; trueValues?: string[]; type: "boolean"; } | { const?: number; decimalChar?: string; default?: number[]; description?: string; enum?: number[]; examples?: number[]; exclusiveMaximum?: number; exclusiveMinimum?: number; format?: undefined; groupChar?: string; maximum?: number; minimum?: number; missingValues?: (string | number | { label: string; value: … | …; })[]; multipleOf?: number; rdfType?: string; title?: string; type: "number"; withText?: boolean; } | { additionalItems?: unknown; allOf?: unknown; anyOf?: unknown; const?: unknown[]; contains?: unknown; default?: unknown[][]; description?: string; else?: unknown; enum?: unknown[]; examples?: unknown[][]; format?: undefined; if?: unknown; items?: unknown; maxContains?: number; maxItems?: number; minContains?: number; minItems?: number; missingValues?: (string | { label: string; value: string; })[]; not?: unknown; oneOf?: unknown; prefixItems?: unknown; rdfType?: string; then?: unknown; title?: string; type: "array"; uniqueItems?: boolean; } | { const?: unknown[]; default?: unknown[]; description?: string; enum?: unknown[][]; examples?: unknown[][]; format?: undefined; missingValues?: (string | { label: string; value: string; })[]; rdfType?: string; title?: string; type?: "null"; }>; required?: string[]; title?: string; uniqueKeys?: string[][]; }

string

Promise<{ errors: ({ resourceName: string; type: "resource/missing"; } | { expectedResourceType: "table" | "data"; type: "resource/type"; } | { columnName: string; type: "column/missing"; } | { actualColumnType: "string" | "number" | "boolean" | "object" | "unknown" | "date" | "array" | "integer" | "categorical" | "list" | "date-time" | "time" | "base64" | "hex" | "email" | "url" | "duration" | "wkt" | "wkb" | "decimal" | "geojson" | "topojson"; columnName: string; expectedColumnType: "string" | "number" | "boolean" | "object" | "unknown" | "date" | "array" | "integer" | "categorical" | "list" | "date-time" | "time" | "base64" | "hex" | "email" | "url" | "duration" | "wkt" | "wkb" | "decimal" | "geojson" | "topojson"; type: "column/type"; } | { columnNames: string[]; rowNumber: number; type: "row/primaryKey"; } | { columnNames: string[]; rowNumber: number; type: "row/uniqueKey"; } | { cell: string; columnName: string; columnType: "string" | "number" | "boolean" | "object" | "unknown" | "date" | "array" | "integer" | "categorical" | "list" | "date-time" | "time" | "base64" | "hex" | "email" | "url" | "duration" | "wkt" | "wkb" | "decimal" | "geojson" | "topojson"; rowNumber: number; type: "cell/type"; } | { cell: string; columnName: string; rowNumber: number; type: "cell/required"; } | { cell: string; columnName: string; minimum: string; rowNumber: number; type: "cell/minimum"; } | { cell: string; columnName: string; maximum: string; rowNumber: number; type: "cell/maximum"; } | { cell: string; columnName: string; minimum: string; rowNumber: number; type: "cell/exclusiveMinimum"; } | { cell: string; columnName: string; maximum: string; rowNumber: number; type: "cell/exclusiveMaximum"; } | { cell: string; columnName: string; multipleOf: number; rowNumber: number; type: "cell/multipleOf"; } | { cell: string; columnName: string; minLength: number; rowNumber: number; type: "cell/minLength"; } | { cell: string; columnName: string; maxLength: number; rowNumber: number; type: "cell/maxLength"; } | { cell: string; columnName: string; minItems: number; rowNumber: number; type: "cell/minItems"; } | { cell: string; columnName: string; maxItems: number; rowNumber: number; type: "cell/maxItems"; } | { cell: string; columnName: string; pattern: string; rowNumber: number; type: "cell/pattern"; } | { cell: string; columnName: string; rowNumber: number; type: "cell/unique"; } | { cell: string; columnName: string; const: string; rowNumber: number; type: "cell/const"; } | { cell: string; columnName: string; enum: string[]; rowNumber: number; type: "cell/enum"; } | { cell: string; columnName: string; jsonPointer: string; message: string; rowNumber: number; type: "cell/json"; } | { actualEncoding?: string; type: "file/textual"; } | { actualHash: string; expectedHash: string; hashType: string; type: "file/integrity"; } | { jsonPointer: string; message: string; type: "metadata"; } | { cells: string[]; foreignKey: { columns: string[]; reference: { columns: string[]; resource?: string; }; }; type: "foreignKey"; } | { jsonPointer: string; message: string; type: "data"; } | ({ type: “resource/missing”; resourceName: string; } | { type: “resource/type”; expectedResourceType: “table” | “data”; } | { type: “column/missing”; columnName: string; } | { type: “column/type”; columnName: string; expectedColumnType: “string” | … 20 more … | “topojson”; actualColumnType: “string” | … 20 mor…)[]; tableSchema: undefined | { $schema?: string; description?: string; foreignKeys?: object[]; missingValues?: (string | number | { label: string; value: string | number; })[]; primaryKey?: string[]; properties?: Record<string, { const?: number; default?: number[]; description?: string; enum?: number[]; examples?: number[]; exclusiveMaximum?: number; exclusiveMinimum?: number; format?: undefined; groupChar?: string; maximum?: number; minimum?: number; missingValues?: (… | … | …)[]; multipleOf?: number; rdfType?: string; title?: string; type: "integer"; withText?: boolean; } | { categories?: (… | …)[]; const?: number; default?: number[]; description?: string; enum?: number[]; examples?: number[]; exclusiveMaximum?: number; exclusiveMinimum?: number; format: "categorical"; groupChar?: string; maximum?: number; minimum?: number; missingValues?: (… | … | …)[]; multipleOf?: number; rdfType?: string; title?: string; type: "integer"; withOrder?: boolean; withText?: boolean; } | { const?: string; default?: string[]; delimiter?: string; description?: string; enum?: string[]; examples?: string[]; format: "list"; itemType?: "string" | "number" | "boolean" | "date" | "integer" | "date-time" | "time"; maxItems?: number; maxLength?: number; minItems?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "base64"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "hex"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "email"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "url"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "date-time"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; temporalFormat?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "date"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; temporalFormat?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "time"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; temporalFormat?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "duration"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "wkt"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "wkb"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format?: undefined; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; } | { categories?: (… | …)[]; const?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; format: "categorical"; maxLength?: number; minLength?: number; missingValues?: (… | …)[]; pattern?: string; rdfType?: string; title?: string; type: "string"; withOrder?: boolean; } | { const?: string; decimalChar?: string; default?: string[]; description?: string; enum?: string[]; examples?: string[]; exclusiveMaximum?: number; exclusiveMinimum?: number; format: "decimal"; groupChar?: string; maximum?: number; maxLength?: number; minimum?: number; minLength?: number; missingValues?: (… | …)[]; multipleOf?: number; pattern?: string; rdfType?: string; title?: string; type: "string"; withText?: boolean; } | { additionalProperties?: unknown; allOf?: unknown; anyOf?: unknown; const?: Record<string, unknown>; default?: Record<…, …>[]; dependencies?: unknown; dependentRequired?: unknown; dependentSchemas?: unknown; description?: string; else?: unknown; enum?: Record<…, …>[]; examples?: Record<…, …>[]; format: "geojson"; if?: unknown; maxProperties?: number; minProperties?: number; missingValues?: (… | …)[]; not?: unknown; oneOf?: unknown; patternProperties?: unknown; properties?: unknown; propertyNames?: unknown; rdfType?: string; required?: unknown; then?: unknown; title?: string; type: "object"; } | { additionalProperties?: unknown; allOf?: unknown; anyOf?: unknown; const?: Record<string, unknown>; default?: Record<…, …>[]; dependencies?: unknown; dependentRequired?: unknown; dependentSchemas?: unknown; description?: string; else?: unknown; enum?: Record<…, …>[]; examples?: Record<…, …>[]; format: "topojson"; if?: unknown; maxProperties?: number; minProperties?: number; missingValues?: (… | …)[]; not?: unknown; oneOf?: unknown; patternProperties?: unknown; properties?: unknown; propertyNames?: unknown; rdfType?: string; required?: unknown; then?: unknown; title?: string; type: "object"; } | { additionalProperties?: unknown; allOf?: unknown; anyOf?: unknown; const?: Record<string, unknown>; default?: Record<…, …>[]; dependencies?: unknown; dependentRequired?: unknown; dependentSchemas?: unknown; description?: string; else?: unknown; enum?: Record<…, …>[]; examples?: Record<…, …>[]; format?: undefined; if?: unknown; maxProperties?: number; minProperties?: number; missingValues?: (… | …)[]; not?: unknown; oneOf?: unknown; patternProperties?: unknown; properties?: unknown; propertyNames?: unknown; rdfType?: string; required?: unknown; then?: unknown; title?: string; type: "object"; } | { const?: boolean; default?: boolean[]; description?: string; enum?: boolean[]; examples?: boolean[]; falseValues?: string[]; format?: undefined; missingValues?: (… | … | …)[]; rdfType?: string; title?: string; trueValues?: string[]; type: "boolean"; } | { const?: number; decimalChar?: string; default?: number[]; description?: string; enum?: number[]; examples?: number[]; exclusiveMaximum?: number; exclusiveMinimum?: number; format?: undefined; groupChar?: string; maximum?: number; minimum?: number; missingValues?: (… | … | …)[]; multipleOf?: number; rdfType?: string; title?: string; type: "number"; withText?: boolean; } | { additionalItems?: unknown; allOf?: unknown; anyOf?: unknown; const?: unknown[]; contains?: unknown; default?: …[][]; description?: string; else?: unknown; enum?: unknown[]; examples?: …[][]; format?: undefined; if?: unknown; items?: unknown; maxContains?: number; maxItems?: number; minContains?: number; minItems?: number; missingValues?: (… | …)[]; not?: unknown; oneOf?: unknown; prefixItems?: unknown; rdfType?: string; then?: unknown; title?: string; type: "array"; uniqueItems?: boolean; } | { const?: unknown[]; default?: unknown[]; description?: string; enum?: …[][]; examples?: …[][]; format?: undefined; missingValues?: (… | …)[]; rdfType?: string; title?: string; type?: "null"; }>; required?: string[]; title?: string; uniqueKeys?: string[][]; }; valid: boolean; }>