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