Interface: JsonSchema
Defined in: src/Mnemonic/json-schema.ts:38
A subset of JSON Schema sufficient for localStorage state management.
Supported keywords: type, enum, const, minimum, maximum, exclusiveMinimum, exclusiveMaximum, minLength, maxLength, properties, required, additionalProperties, items, minItems, maxItems
Deliberately omitted: $ref, $id, $schema, $defs, allOf, anyOf, oneOf, not, pattern, format, patternProperties, if/then/else, dependencies, uniqueItems, multipleOf, propertyNames.
An empty schema {} accepts any value.
Properties
additionalProperties?
optionaladditionalProperties:boolean|JsonSchema
Defined in: src/Mnemonic/json-schema.ts:77
Controls extra properties not listed in properties.
false disallows them. A schema validates their values.
true (or omitted) allows anything.
const?
optionalconst:unknown
Defined in: src/Mnemonic/json-schema.ts:46
The value must be deeply equal to this exact value.
enum?
optionalenum: readonlyunknown[]
Defined in: src/Mnemonic/json-schema.ts:43
The value must be deeply equal to one of these entries.
exclusiveMaximum?
optionalexclusiveMaximum:number
Defined in: src/Mnemonic/json-schema.ts:58
Exclusive upper bound for numbers.
exclusiveMinimum?
optionalexclusiveMinimum:number
Defined in: src/Mnemonic/json-schema.ts:55
Exclusive lower bound for numbers.
items?
optionalitems:JsonSchema
Defined in: src/Mnemonic/json-schema.ts:80
Schema applied to every element of an array.
maximum?
optionalmaximum:number
Defined in: src/Mnemonic/json-schema.ts:52
Inclusive upper bound for numbers.
maxItems?
optionalmaxItems:number
Defined in: src/Mnemonic/json-schema.ts:86
Maximum array length (inclusive).
maxLength?
optionalmaxLength:number
Defined in: src/Mnemonic/json-schema.ts:64
Maximum string length (inclusive).
minimum?
optionalminimum:number
Defined in: src/Mnemonic/json-schema.ts:49
Inclusive lower bound for numbers.
minItems?
optionalminItems:number
Defined in: src/Mnemonic/json-schema.ts:83
Minimum array length (inclusive).
minLength?
optionalminLength:number
Defined in: src/Mnemonic/json-schema.ts:61
Minimum string length (inclusive).
properties?
optionalproperties:Record<string,JsonSchema>
Defined in: src/Mnemonic/json-schema.ts:67
Property name to sub-schema mapping for objects.
required?
optionalrequired: readonlystring[]
Defined in: src/Mnemonic/json-schema.ts:70
Properties that must be present on the object.
type?
optionaltype:JsonSchemaType|JsonSchemaType[]
Defined in: src/Mnemonic/json-schema.ts:40
The expected JSON type(s). An array form like ["string", "null"] accepts either type.