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 Parameter | Description |
|---|---|
T | A Model interface (e.g. Models.Credential). |
Properties
| Property | Type | Defined in |
|---|---|---|
encrypted | ModelPropertyNames<T>[] | packages/lib/sdk/src/pluto/types.ts:203 |
indexes? | string[] | packages/lib/sdk/src/pluto/types.ts:207 |
primaryKey | string | packages/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 |
type | string | packages/lib/sdk/src/pluto/types.ts:206 |
version | number | packages/lib/sdk/src/pluto/types.ts:204 |