Skip to main content

TypedSchema<T>

@hyperledger/identus-sdk v8.0.0


@hyperledger/identus-sdk / overview / TypedSchema

Type Alias: TypedSchema<T>

TypedSchema<T> = { encrypted: ModelPropertyNames<T>[]; indexes?: string[]; primaryKey: string; properties: { [K in "uuid" | ModelRequiredKeys<T> | ModelOptionalKeys<T>]: K extends "uuid" ? { required: true; type: "string" } : K extends ModelRequiredKeys<T> ? RequiredTypeToSchemaType<T[K]> : K extends ModelOptionalKeys<T> ? OptionalTypeToSchemaType<T[K]> : never }; type: string; version: number; }

Defined in: packages/lib/sdk/src/pluto/types.ts:202

Fully-typed RIDB schema derived from a Model interface T.

Used by schemaFactory to produce schemas whose properties object mirrors the Model's fields with correct type and required flags.

Type Parameters

Type ParameterDescription
TA Model interface (e.g. Models.Credential).

Properties

PropertyTypeDefined in
encryptedModelPropertyNames<T>[]packages/lib/sdk/src/pluto/types.ts:203
indexes?string[]packages/lib/sdk/src/pluto/types.ts:207
primaryKeystringpackages/lib/sdk/src/pluto/types.ts:205
properties{ [K in "uuid" | ModelRequiredKeys<T> | ModelOptionalKeys<T>]: K extends "uuid" ? { required: true; type: "string" } : K extends ModelRequiredKeys<T> ? RequiredTypeToSchemaType<T[K]> : K extends ModelOptionalKeys<T> ? OptionalTypeToSchemaType<T[K]> : never }packages/lib/sdk/src/pluto/types.ts:208
typestringpackages/lib/sdk/src/pluto/types.ts:206
versionnumberpackages/lib/sdk/src/pluto/types.ts:204