ResourcefulBigintType
The ResourcefulBigintType class provides 64-bit signed integer validation for large numeric values. It supports the same validation options as ResourcefulIntegerType but with bigint constraints for values beyond 32-bit limits.
For complete API reference, see ResourcefulBigintType.
Basic Usage
typescript
import { ResourcefulBigintType } from '@nhtio/lucid-resourceful/definitions'
const bigNumberType = ResourcefulBigintType({
minimum: 0n,
maximum: 9223372036854775807n, // Max 64-bit signed int
exclusiveMinimum: false,
exclusiveMaximum: false,
multipleOf: 1n
})Configuration
All options use bigint values:
minimum: bigintmaximum: bigintexclusiveMinimum: booleanexclusiveMaximum: booleanmultipleOf: bigint
Common Patterns
typescript
class Analytics extends compose(BaseModel, withResourceful({ name: 'Analytics' })) {
// Large user IDs
@resourcefulColumn.bigint({
type: ResourcefulBigintType({
minimum: 1n,
maximum: 9223372036854775807n,
exclusiveMinimum: false,
exclusiveMaximum: false,
multipleOf: 1n,
readOnly: true
})
})
declare userId: bigint
// View counts
@resourcefulColumn.bigint({
type: ResourcefulBigintType({
minimum: 0n,
maximum: 9223372036854775807n,
exclusiveMinimum: false,
exclusiveMaximum: false,
multipleOf: 1n
})
})
declare viewCount: bigint
}OpenAPI Schema
Generates "type": "integer", "format": "int64" in OpenAPI schemas.
Best Practices
- Use for values that exceed 32-bit integer limits
- Handle bigint conversion in JavaScript properly
- Consider database column types (BIGINT)
- Use ResourcefulIntegerType for smaller values