Skip to content

Type Alias: ResourcefulModelSerializableAttributes<Model>

ts
type ResourcefulModelSerializableAttributes<Model> =
  Model["$columns"] extends undefined
    ? {
        [P in keyof Model as P extends keyof LucidRow | "serializeExtras"
          ? never
          : Model[P] extends Function | ModelRelationTypes
            ? never
            : Model extends { $columnsDefinitions: Map<infer K, infer V> }
              ? P extends K
                ? V extends { serializeAs: null }
                  ? never
                  : V extends { serializeAs: infer S }
                    ? S extends string
                      ? S
                      : P
                    : P
                : P
              : P]: Model[P];
      }
    : Model["$columns"];

Type Parameters

Type Parameter
Model extends LucidRow