FieldDefinitions Module
Field definition DSL for parsing fixed-length JV-Data records.
JV-Link returns data as fixed-length byte arrays where each field occupies a specific byte range. This module provides a DSL to define field specifications declaratively.
Usage Example:
let raFields = [
text "RecordType" 0 2 // Bytes 0-1: "RA"
date "RaceDate" 2 8 "yyyyMMdd"
int "RaceNumber" 10 2
text "RaceName" 12 60
]
val raFields: obj list
Multiple items
val int: value: 'T -> int (requires member op_Explicit)
--------------------
type int = int32
--------------------
type int<'Measure> = int
val int: value: 'T -> int (requires member op_Explicit)
--------------------
type int = int32
--------------------
type int<'Measure> = int
Types
| Type | Description |
|
Represents how a field value should be encoded/decoded. |
|
|
Represents a field position in a fixed-length record. |
Functions and values
| Function or value |
Description
|
Full Usage:
bytes name offset length
Parameters:
string
offset : int
length : int
Returns: FieldSpec
|
|
Full Usage:
code name offset length table
Parameters:
string
offset : int
length : int
table : string
Returns: FieldSpec
|
|
Full Usage:
date name offset length format
Parameters:
string
offset : int
length : int
format : string
Returns: FieldSpec
|
|
Full Usage:
decimal name offset length precision
Parameters:
string
offset : int
length : int
precision : int
Returns: FieldSpec
|
Define a decimal field with precision
|
Full Usage:
flag name offset length
Parameters:
string
offset : int
length : int
Returns: FieldSpec
|
|
Full Usage:
int name offset length
Parameters:
string
offset : int
length : int
Returns: FieldSpec
|
|
Full Usage:
text name offset length
Parameters:
string
offset : int
length : int
Returns: FieldSpec
|
|
Full Usage:
textRaw name offset length
Parameters:
string
offset : int
length : int
Returns: FieldSpec
|
Define a raw text field (without normalization)
|
Xanthos