dyna-record
    Preparing search index...

    Variable TableMetadataTransformConst

    TableMetadataTransform: ZodObject<
        {
            defaultAttributes: ZodRecord<
                ZodString,
                ZodDiscriminatedUnion<
                    [
                        ZodObject<
                            {
                                alias: ZodString;
                                kind: ZodLiteral<"string">;
                                name: ZodString;
                                nullable: ZodBoolean;
                            },
                            $strip,
                        >,
                        ZodObject<
                            {
                                alias: ZodString;
                                kind: ZodLiteral<"number">;
                                name: ZodString;
                                nullable: ZodBoolean;
                            },
                            $strip,
                        >,
                        ZodObject<
                            {
                                alias: ZodString;
                                kind: ZodLiteral<"boolean">;
                                name: ZodString;
                                nullable: ZodBoolean;
                            },
                            $strip,
                        >,
                    ],
                    "kind",
                >,
            >;
            defaultTableAttributes: ZodRecord<
                ZodString,
                ZodDiscriminatedUnion<
                    [
                        ZodObject<
                            {
                                alias: ZodString;
                                kind: ZodLiteral<"string">;
                                name: ZodString;
                                nullable: ZodBoolean;
                            },
                            $strip,
                        >,
                        ZodObject<
                            {
                                alias: ZodString;
                                kind: ZodLiteral<"number">;
                                name: ZodString;
                                nullable: ZodBoolean;
                            },
                            $strip,
                        >,
                        ZodObject<
                            {
                                alias: ZodString;
                                kind: ZodLiteral<"boolean">;
                                name: ZodString;
                                nullable: ZodBoolean;
                            },
                            $strip,
                        >,
                    ],
                    "kind",
                >,
            >;
            delimiter: ZodString;
            entities: ZodRecord<
                ZodString,
                ZodPipe<
                    ZodObject<
                        {
                            attributes: ZodRecord<
                                ZodString,
                                ZodDiscriminatedUnion<
                                    [
                                        ZodObject<
                                            { alias: ...; kind: ...; name: ...; nullable: ... },
                                            $strip,
                                        >,
                                        ZodObject<
                                            { alias: ...; kind: ...; name: ...; nullable: ... },
                                            $strip,
                                        >,
                                        ZodObject<
                                            { alias: ...; kind: ...; name: ...; nullable: ... },
                                            $strip,
                                        >,
                                    ],
                                    "kind",
                                >,
                            >;
                            idField: ZodOptional<ZodString>;
                            relationships: ZodRecord<
                                ZodString,
                                ZodPipe<
                                    ZodObject<
                                        {
                                            foreignKey: ZodOptional<(...)>;
                                            joinTableName: ZodOptional<(...)>;
                                            propertyName: ZodString;
                                            target: ZodOptional<(...)>;
                                            type: ZodString;
                                            uniDirectional: ZodOptional<(...)>;
                                        },
                                        $strip,
                                    >,
                                    ZodTransform<
                                        {
                                            foreignKey?: (...)
                                            | (...);
                                            joinTableName?: (...) | (...);
                                            propertyName: string;
                                            target?: (...) | (...);
                                            type: string;
                                            uniDirectional?: (...) | (...) | (...);
                                        },
                                        {
                                            foreignKey?: (...)
                                            | (...);
                                            joinTableName?: (...) | (...);
                                            propertyName: string;
                                            target?: (...) | (...);
                                            type: string;
                                            uniDirectional?: (...) | (...) | (...);
                                        },
                                    >,
                                >,
                            >;
                            tableAttributes: ZodRecord<
                                ZodString,
                                ZodDiscriminatedUnion<
                                    [
                                        ZodObject<
                                            { alias: ...; kind: ...; name: ...; nullable: ... },
                                            $strip,
                                        >,
                                        ZodObject<
                                            { alias: ...; kind: ...; name: ...; nullable: ... },
                                            $strip,
                                        >,
                                        ZodObject<
                                            { alias: ...; kind: ...; name: ...; nullable: ... },
                                            $strip,
                                        >,
                                    ],
                                    "kind",
                                >,
                            >;
                            tableClassName: ZodString;
                        },
                        $strip,
                    >,
                    ZodTransform<
                        {
                            attributes: Record<
                                string,
                                | {
                                    alias: string;
                                    kind: "enum";
                                    name: string;
                                    nullable: boolean;
                                    values: string[];
                                }
                                | {
                                    alias: string;
                                    kind: "object";
                                    name: string;
                                    nullable: boolean;
                                    schema: ObjectSchema;
                                }
                                | {
                                    alias: string;
                                    foreignKeyTarget: string;
                                    kind: "foreignKey";
                                    name: string;
                                    nullable: boolean;
                                }
                                | { alias: string; kind: "string"; name: string; nullable: boolean }
                                | { alias: string; kind: "number"; name: string; nullable: boolean }
                                | { alias: string; kind: "boolean"; name: string; nullable: boolean }
                                | { alias: string; kind: "date"; name: string; nullable: boolean },
                            >;
                            idField?: string;
                            relationships: Record<
                                string,
                                {
                                    foreignKey?: string;
                                    joinTableName?: string;
                                    propertyName: string;
                                    target?: string;
                                    type: string;
                                    uniDirectional?: boolean;
                                },
                            >;
                            tableAttributes: Record<
                                string,
                                | {
                                    alias: string;
                                    kind: "enum";
                                    name: string;
                                    nullable: boolean;
                                    values: string[];
                                }
                                | {
                                    alias: string;
                                    kind: "object";
                                    name: string;
                                    nullable: boolean;
                                    schema: ObjectSchema;
                                }
                                | {
                                    alias: string;
                                    foreignKeyTarget: string;
                                    kind: "foreignKey";
                                    name: string;
                                    nullable: boolean;
                                }
                                | { alias: string; kind: "string"; name: string; nullable: boolean }
                                | { alias: string; kind: "number"; name: string; nullable: boolean }
                                | { alias: string; kind: "boolean"; name: string; nullable: boolean }
                                | { alias: string; kind: "date"; name: string; nullable: boolean },
                            >;
                            tableClassName: string;
                        },
                        {
                            attributes: Record<
                                string,
                                | {
                                    alias: string;
                                    kind: "enum";
                                    name: string;
                                    nullable: boolean;
                                    values: string[];
                                }
                                | {
                                    alias: string;
                                    kind: "object";
                                    name: string;
                                    nullable: boolean;
                                    schema: ObjectSchema;
                                }
                                | {
                                    alias: string;
                                    foreignKeyTarget: string;
                                    kind: "foreignKey";
                                    name: string;
                                    nullable: boolean;
                                }
                                | { alias: string; kind: "string"; name: string; nullable: boolean }
                                | { alias: string; kind: "number"; name: string; nullable: boolean }
                                | { alias: string; kind: "boolean"; name: string; nullable: boolean }
                                | { alias: string; kind: "date"; name: string; nullable: boolean },
                            >;
                            idField?: string;
                            relationships: Record<
                                string,
                                {
                                    foreignKey?: string;
                                    joinTableName?: string;
                                    propertyName: string;
                                    target?: string;
                                    type: string;
                                    uniDirectional?: boolean;
                                },
                            >;
                            tableAttributes: Record<
                                string,
                                | {
                                    alias: string;
                                    kind: "enum";
                                    name: string;
                                    nullable: boolean;
                                    values: string[];
                                }
                                | {
                                    alias: string;
                                    kind: "object";
                                    name: string;
                                    nullable: boolean;
                                    schema: ObjectSchema;
                                }
                                | {
                                    alias: string;
                                    foreignKeyTarget: string;
                                    kind: "foreignKey";
                                    name: string;
                                    nullable: boolean;
                                }
                                | { alias: string; kind: "string"; name: string; nullable: boolean }
                                | { alias: string; kind: "number"; name: string; nullable: boolean }
                                | { alias: string; kind: "boolean"; name: string; nullable: boolean }
                                | { alias: string; kind: "date"; name: string; nullable: boolean },
                            >;
                            tableClassName: string;
                        },
                    >,
                >,
            >;
            name: ZodString;
            partitionKeyAttribute: ZodDiscriminatedUnion<
                [
                    ZodObject<
                        {
                            alias: ZodString;
                            kind: ZodLiteral<"string">;
                            name: ZodString;
                            nullable: ZodBoolean;
                        },
                        $strip,
                    >,
                    ZodObject<
                        {
                            alias: ZodString;
                            kind: ZodLiteral<"number">;
                            name: ZodString;
                            nullable: ZodBoolean;
                        },
                        $strip,
                    >,
                    ZodObject<
                        {
                            alias: ZodString;
                            kind: ZodLiteral<"boolean">;
                            name: ZodString;
                            nullable: ZodBoolean;
                        },
                        $strip,
                    >,
                ],
                "kind",
            >;
            sortKeyAttribute: ZodDiscriminatedUnion<
                [
                    ZodObject<
                        {
                            alias: ZodString;
                            kind: ZodLiteral<"string">;
                            name: ZodString;
                            nullable: ZodBoolean;
                        },
                        $strip,
                    >,
                    ZodObject<
                        {
                            alias: ZodString;
                            kind: ZodLiteral<"number">;
                            name: ZodString;
                            nullable: ZodBoolean;
                        },
                        $strip,
                    >,
                    ZodObject<
                        {
                            alias: ZodString;
                            kind: ZodLiteral<"boolean">;
                            name: ZodString;
                            nullable: ZodBoolean;
                        },
                        $strip,
                    >,
                ],
                "kind",
            >;
        },
        $strip,
    > = ...

    Zod schema that transforms table metadata to a serializable format. This is the main schema used to serialize TableMetadata instances, extracting only serializable values and converting EntityClass references to strings.

    A serialized table metadata object containing only serializable values

    const metadata = TableMetadataTransform.parse(tableMetadataInstance);
    // Returns a plain object with all EntityClass references converted to strings