// Copyright 2015 The Vanadium Authors. All rights reserved. | |
// Use of this source code is governed by a BSD-style | |
// license that can be found in the LICENSE file. | |
package demodb | |
import "time" | |
type AddressInfo struct { | |
Street string | |
City string | |
State string | |
Zip string | |
} | |
type CreditAgency enum { | |
Equifax | |
Experian | |
TransUnion | |
} | |
type ExperianRating enum { | |
Good | |
Bad | |
} | |
type EquifaxCreditReport struct { | |
Rating byte | |
} | |
type ExperianCreditReport struct { | |
Rating ExperianRating | |
} | |
type TransUnionCreditReport struct { | |
Rating int16 | |
} | |
type AgencyReport union { | |
EquifaxReport EquifaxCreditReport | |
ExperianReport ExperianCreditReport | |
TransUnionReport TransUnionCreditReport | |
} | |
type CreditReport struct { | |
Agency CreditAgency | |
Report AgencyReport | |
} | |
type Customer struct { | |
Name string | |
Id int64 | |
Active bool | |
Address AddressInfo | |
Credit CreditReport | |
} | |
type Invoice struct { | |
CustId int64 | |
InvoiceNum int64 | |
Amount int64 | |
ShipTo AddressInfo | |
} | |
type Numbers struct { | |
B byte | |
Ui16 uint16 | |
Ui32 uint32 | |
Ui64 uint64 | |
I16 int16 | |
I32 int32 | |
I64 int64 | |
F32 float32 | |
F64 float64 | |
C64 complex64 | |
C128 complex128 | |
} | |
type FooType struct { | |
Bar BarType | |
} | |
type BarType struct { | |
Baz BazType | |
} | |
type TitleOrValueType union { | |
Title string | |
Value int64 | |
} | |
type BazType struct { | |
Name string | |
TitleOrValue TitleOrValueType | |
} | |
type Array2String [2]string | |
type Composite struct { | |
Arr Array2String | |
ListInt []int32 | |
MySet set[int32] | |
Map map[string]int32 | |
} | |
type Times struct { | |
Stamp time.Time | |
Interval time.Duration | |
} | |
type Recursive struct { | |
Any any | |
Maybe ?Times | |
Rec map[Array2String]Recursive | |
} |