Skip to content

ResourcefulUnsignedIntegerType

The ResourcefulUnsignedIntegerType class provides validation for unsigned integers (positive whole numbers). It's ideal for counts, quantities, and other values that cannot be negative.

For complete API reference, see ResourcefulUnsignedIntegerType.

Basic Usage

typescript
import { ResourcefulUnsignedIntegerType } from '@nhtio/lucid-resourceful/definitions'

const countType = ResourcefulUnsignedIntegerType({
  minimum: 0,
  maximum: 4294967295, // Max 32-bit unsigned int
  exclusiveMinimum: false,
  exclusiveMaximum: false,
  multipleOf: 1
})

Common Patterns

typescript
class Product extends compose(BaseModel, withResourceful({ name: 'Product' })) {
  // Primary key (auto-increment)
  @resourcefulColumn({
    isPrimary: true,
    type: ResourcefulUnsignedIntegerType({
      minimum: 1,
      maximum: 4294967295,
      exclusiveMinimum: false,
      exclusiveMaximum: false,
      multipleOf: 1,
      readOnly: true
    })
  })
  declare id: number

  // Stock quantity
  @resourcefulColumn({
    type: ResourcefulUnsignedIntegerType({
      minimum: 0,
      maximum: 999999,
      exclusiveMinimum: false,
      exclusiveMaximum: false,
      multipleOf: 1
    })
  })
  declare stockQuantity: number
}

Best Practices

  • Use for values that are always positive
  • Common for primary keys and counts
  • No negative values allowed
  • Ideal for quantities and counters