Skip to main content

TypedSchema<T>

@hyperledger/identus-sdk v8.1.3


@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