JsonSchema
import type { JsonSchema } from "https://googleapis.deno.dev/v1/connectors:v2.ts";
JsonSchema representation of schema metadata
interface JsonSchema {
additionalDetails?: {};
[key: string]: any;
default?: any;
description?: string;
enum?: any[];
format?: string;
items?: JsonSchema;
jdbcType?:
| "DATA_TYPE_UNSPECIFIED"
| "INT"
| "SMALLINT"
| "DOUBLE"
| "DATE"
| "DATETIME"
| "TIME"
| "STRING"
| "LONG"
| "BOOLEAN"
| "DECIMAL"
| "UUID"
| "BLOB"
| "BIT"
| "TINYINT"
| "INTEGER"
| "BIGINT"
| "FLOAT"
| "REAL"
| "NUMERIC"
| "CHAR"
| "VARCHAR"
| "LONGVARCHAR"
| "TIMESTAMP"
| "NCHAR"
| "NVARCHAR"
| "LONGNVARCHAR"
| "NULL"
| "OTHER"
| "JAVA_OBJECT"
| "DISTINCT"
| "STRUCT"
| "ARRAY"
| "CLOB"
| "REF"
| "DATALINK"
| "ROWID"
| "BINARY"
| "VARBINARY"
| "LONGVARBINARY"
| "NCLOB"
| "SQLXML"
| "REF_CURSOR"
| "TIME_WITH_TIMEZONE"
| "TIMESTAMP_WITH_TIMEZONE";
properties?: {};
[key: string]: JsonSchema;
required?: string[];
type?: string[];
}§Properties
§
additionalDetails?: {}
[src][key: string]: any;
Additional details apart from standard json schema fields, this gives flexibility to store metadata about the schema
§
enum?: any[]
[src]Possible values for an enumeration. This works in conjunction with type
to represent types with a fixed set of legal values
§
format?: string
[src]Format of the value as per https://json-schema.org/understanding-json-schema/reference/string.html#format
§
items?: JsonSchema
[src]Schema that applies to array values, applicable only if this is of type
array
.
§
jdbcType?: "DATA_TYPE_UNSPECIFIED" | "INT" | "SMALLINT" | "DOUBLE" | "DATE" | "DATETIME" | "TIME" | "STRING" | "LONG" | "BOOLEAN" | "DECIMAL" | "UUID" | "BLOB" | "BIT" | "TINYINT" | "INTEGER" | "BIGINT" | "FLOAT" | "REAL" | "NUMERIC" | "CHAR" | "VARCHAR" | "LONGVARCHAR" | "TIMESTAMP" | "NCHAR" | "NVARCHAR" | "LONGNVARCHAR" | "NULL" | "OTHER" | "JAVA_OBJECT" | "DISTINCT" | "STRUCT" | "ARRAY" | "CLOB" | "REF" | "DATALINK" | "ROWID" | "BINARY" | "VARBINARY" | "LONGVARBINARY" | "NCLOB" | "SQLXML" | "REF_CURSOR" | "TIME_WITH_TIMEZONE" | "TIMESTAMP_WITH_TIMEZONE"
[src]JDBC datatype of the field.
§
properties?: {}
[src][key: string]: JsonSchema;
The child schemas, applicable only if this is of type object
. The key is
the name of the property and the value is the json schema that describes
that property