prorm API Reference
    Preparing search index...

    Variable DataTypesConst

    DataTypes: {
        STRING: (...args: any[]) => STRING & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        VARCHAR: (...args: any[]) => VARCHAR & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        CHAR: (...args: any[]) => CHAR & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        TEXT: (...args: any[]) => TEXT & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        TINYTEXT: (...args: any[]) => TINYTEXT & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        MEDIUMTEXT: (...args: any[]) => MEDIUMTEXT & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        LONGTEXT: (...args: any[]) => LONGTEXT & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        INTEGER: (...args: any[]) => INTEGER & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        TINYINT: (...args: any[]) => TINYINT & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        SMALLINT: (...args: any[]) => SMALLINT & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        MEDIUMINT: (...args: any[]) => MEDIUMINT & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        BIGINT: (...args: any[]) => BIGINT & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        FLOAT: (...args: any[]) => FLOAT & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        DOUBLE: (...args: any[]) => DOUBLE & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        DECIMAL: (...args: any[]) => DECIMAL & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        REAL: (...args: any[]) => REAL & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        BOOLEAN: (...args: any[]) => BOOLEAN & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        DATE: (...args: any[]) => DATE & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        DATEONLY: (...args: any[]) => DATEONLY & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        DATETIME: (...args: any[]) => DATETIME & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        TIMESTAMP: (...args: any[]) => TIMESTAMP & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        NOW: (...args: any[]) => NOW & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        TIME: (...args: any[]) => TIME & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        UUID: (...args: any[]) => UUID & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        UUIDV1: (...args: any[]) => UUIDV1 & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        UUIDV4: (...args: any[]) => UUIDV4 & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        JSON: (...args: any[]) => JSON & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        JSONB: (...args: any[]) => JSONB & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        HSTORE: (...args: any[]) => HSTORE & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        RANGE: (...args: any[]) => RANGE & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        INET: (...args: any[]) => INET & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        INET6: (...args: any[]) => INET & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        CIDR: (...args: any[]) => CIDR & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        MACADDR: (...args: any[]) => MACADDR & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        BLOB: (...args: any[]) => BLOB & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        TINYBLOB: (...args: any[]) => TINYBLOB & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        MEDIUMBLOB: (...args: any[]) => MEDIUMBLOB & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        LONGBLOB: (...args: any[]) => LONGBLOB & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        BINARY: (...args: any[]) => BINARY & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        VARBINARY: (...args: any[]) => VARBINARY & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        ENUM: (...args: any[]) => ENUM & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        ARRAY: (...args: any[]) => ARRAY & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        LIST: (...args: any[]) => LIST & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        STRUCT: (...args: any[]) => STRUCT & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        MAP: (...args: any[]) => MAP & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        UNION: (...args: any[]) => DUCKDB_UNION & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        GEOMETRY: (...args: any[]) => GEOMETRY & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        GEOGRAPHY: (...args: any[]) => GEOGRAPHY & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        POINT: (...args: any[]) => POINT & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        LINESTRING: (...args: any[]) => LINESTRING & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        POLYGON: (...args: any[]) => POLYGON & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        MULTIPOINT: (...args: any[]) => MULTIPOINT & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        MULTILINESTRING: (...args: any[]) => MULTILINESTRING & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        MULTIPOLYGON: (...args: any[]) => MULTIPOLYGON & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        GEOMETRYCOLLECTION: (...args: any[]) => GEOMETRYCOLLECTION & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        SET: (...args: any[]) => SET & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        JSONCOLUMN: (...args: any[]) => JSONColumn & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        VIRTUAL: (...args: any[]) => VIRTUAL & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        VIRTUALSTRING: (...args: any[]) => VIRTUALSTRING & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
        ALGORITHM: (...args: any[]) => ALGORITHM & {
            toSql: () => string;
            equals: (other: any) => boolean;
            serialize: (value: unknown) => unknown;
            key: string;
        };
    } = ...

    Type Declaration

    • STRING: (...args: any[]) => STRING & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • VARCHAR: (...args: any[]) => VARCHAR & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • CHAR: (...args: any[]) => CHAR & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • TEXT: (...args: any[]) => TEXT & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • TINYTEXT: (...args: any[]) => TINYTEXT & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • MEDIUMTEXT: (...args: any[]) => MEDIUMTEXT & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • LONGTEXT: (...args: any[]) => LONGTEXT & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • INTEGER: (...args: any[]) => INTEGER & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • TINYINT: (...args: any[]) => TINYINT & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • SMALLINT: (...args: any[]) => SMALLINT & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • MEDIUMINT: (...args: any[]) => MEDIUMINT & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • BIGINT: (...args: any[]) => BIGINT & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • FLOAT: (...args: any[]) => FLOAT & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • DOUBLE: (...args: any[]) => DOUBLE & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • DECIMAL: (...args: any[]) => DECIMAL & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • REAL: (...args: any[]) => REAL & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • BOOLEAN: (...args: any[]) => BOOLEAN & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • DATE: (...args: any[]) => DATE & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • DATEONLY: (...args: any[]) => DATEONLY & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • DATETIME: (...args: any[]) => DATETIME & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • TIMESTAMP: (...args: any[]) => TIMESTAMP & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • NOW: (...args: any[]) => NOW & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • TIME: (...args: any[]) => TIME & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • UUID: (...args: any[]) => UUID & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • UUIDV1: (...args: any[]) => UUIDV1 & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • UUIDV4: (...args: any[]) => UUIDV4 & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • JSON: (...args: any[]) => JSON & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • JSONB: (...args: any[]) => JSONB & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • HSTORE: (...args: any[]) => HSTORE & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • RANGE: (...args: any[]) => RANGE & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • INET: (...args: any[]) => INET & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • INET6: (...args: any[]) => INET & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • CIDR: (...args: any[]) => CIDR & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • MACADDR: (...args: any[]) => MACADDR & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • BLOB: (...args: any[]) => BLOB & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • TINYBLOB: (...args: any[]) => TINYBLOB & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • MEDIUMBLOB: (...args: any[]) => MEDIUMBLOB & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • LONGBLOB: (...args: any[]) => LONGBLOB & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • BINARY: (...args: any[]) => BINARY & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • VARBINARY: (...args: any[]) => VARBINARY & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • ENUM: (...args: any[]) => ENUM & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }

      ENUM data type

      Either an array of values or individual string values

      // Array of values
      status: { type: DataTypes.ENUM(['active', 'inactive', 'pending']) }
      // Individual values
      role: DataTypes.ENUM('admin', 'user', 'guest')
    • ARRAY: (...args: any[]) => ARRAY & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • LIST: (...args: any[]) => LIST & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }

      LIST data type - DuckDB native variable-length list (elementType[])

      The data type of list elements

      tags: DataTypes.LIST(DataTypes.INTEGER)
      
    • STRUCT: (...args: any[]) => STRUCT & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }

      STRUCT data type - DuckDB native nested record (STRUCT(field TYPE, ...))

      A map of field name -> field data type

      point: DataTypes.STRUCT({ x: DataTypes.INTEGER, y: DataTypes.INTEGER })
      
    • MAP: (...args: any[]) => MAP & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }

      MAP data type - DuckDB native key/value map (MAP(keyType, valueType))

      The data type of map keys

      The data type of map values

      scores: DataTypes.MAP(DataTypes.STRING, DataTypes.INTEGER)
      
    • UNION: (...args: any[]) => DUCKDB_UNION & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }

      UNION data type - DuckDB native tagged union (UNION(tag TYPE, ...))

      A map of tag name -> alternative data type

      value: DataTypes.UNION({ num: DataTypes.INTEGER, str: DataTypes.STRING })
      
    • GEOMETRY: (...args: any[]) => GEOMETRY & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • GEOGRAPHY: (...args: any[]) => GEOGRAPHY & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • POINT: (...args: any[]) => POINT & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • LINESTRING: (...args: any[]) => LINESTRING & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • POLYGON: (...args: any[]) => POLYGON & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • MULTIPOINT: (...args: any[]) => MULTIPOINT & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • MULTILINESTRING: (...args: any[]) => MULTILINESTRING & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • MULTIPOLYGON: (...args: any[]) => MULTIPOLYGON & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • GEOMETRYCOLLECTION: (...args: any[]) => GEOMETRYCOLLECTION & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • SET: (...args: any[]) => SET & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • JSONCOLUMN: (...args: any[]) => JSONColumn & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • VIRTUAL: (...args: any[]) => VIRTUAL & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • VIRTUALSTRING: (...args: any[]) => VIRTUALSTRING & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }
    • ALGORITHM: (...args: any[]) => ALGORITHM & {
          toSql: () => string;
          equals: (other: any) => boolean;
          serialize: (value: unknown) => unknown;
          key: string;
      }

      ALGORITHM data type for hash algorithms Used for storing hashed values (passwords, checksums, etc.) Supports BCRYPT, MD5, SHA1, SHA256, SHA384, SHA512, ARGON2, PBKDF2, SCRYPT, etc.

      // Store password hash using BCRYPT (recommended for passwords)
      password: DataTypes.ALGORITHM({ algorithm: 'BCRYPT', cost: 12 })

      // Store checksum using SHA256
      fileChecksum: DataTypes.ALGORITHM({ algorithm: 'SHA256' })

      // Use with VIRTUAL for computed hash fields
      passwordHash: DataTypes.VIRTUAL({
      returnType: DataTypes.ALGORITHM({ algorithm: 'BCRYPT' }),
      set(value: string) {
      this.password = hashPassword(value);
      }
      })