in table/requirements.go [297:365]
func ParseRequirementBytes(b []byte) (Requirement, error) {
var base baseRequirement
if err := json.Unmarshal(b, &base); err != nil {
return nil, err
}
switch base.Type {
case reqAssertCreate:
return AssertCreate(), nil
case reqAssertTableUUID:
var req assertTableUuid
if err := json.Unmarshal(b, &req); err != nil {
return nil, err
}
return AssertTableUUID(req.UUID), nil
case reqAssertRefSnapshotID:
var req assertRefSnapshotID
if err := json.Unmarshal(b, &req); err != nil {
return nil, err
}
return AssertRefSnapshotID(req.Ref, req.SnapshotID), nil
case reqAssertDefaultSpecID:
var req assertDefaultSpecId
if err := json.Unmarshal(b, &req); err != nil {
return nil, err
}
return AssertDefaultSpecID(req.DefaultSpecID), nil
case reqAssertCurrentSchemaID:
var req assertCurrentSchemaId
if err := json.Unmarshal(b, &req); err != nil {
return nil, err
}
return AssertCurrentSchemaID(req.CurrentSchemaID), nil
case reqAssertDefaultSortOrderID:
var req assertDefaultSortOrderId
if err := json.Unmarshal(b, &req); err != nil {
return nil, err
}
return AssertDefaultSortOrderID(req.DefaultSortOrderID), nil
case reqAssertLastAssignedFieldID:
var req assertLastAssignedFieldId
if err := json.Unmarshal(b, &req); err != nil {
return nil, err
}
return AssertLastAssignedFieldID(req.LastAssignedFieldID), nil
case reqAssertLastAssignedPartitionID:
var req assertLastAssignedPartitionId
if err := json.Unmarshal(b, &req); err != nil {
return nil, err
}
return AssertLastAssignedPartitionID(req.LastAssignedPartitionID), nil
}
return nil, ErrInvalidRequirement
}