Skip to content

Commit f6811a0

Browse files
committed
feat: implement MarshalText() on all enums and bitmasks
Signed-off-by: Pierre-Henri Symoneaux <[email protected]>
1 parent 481ba0f commit f6811a0

File tree

3 files changed

+148
-6
lines changed

3 files changed

+148
-6
lines changed

bitmasks.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ const (
5656
TranslateUnwrap
5757
)
5858

59-
// func (mask CryptographicUsageMask) MarshalText() ([]byte, error) {
60-
// return []byte(ttlv.BitmaskString(mask)), nil
61-
// }
59+
func (mask CryptographicUsageMask) MarshalText() ([]byte, error) {
60+
return []byte(ttlv.BitmaskStr(mask, " | ")), nil
61+
}
6262

6363
type StorageStatusMask int32
6464

@@ -67,6 +67,6 @@ const (
6767
ArchivalStorage
6868
)
6969

70-
// func (mask StorageStatusMask) MarshalText() ([]byte, error) {
71-
// return []byte(ttlv.BitmaskString(mask)), nil
72-
// }
70+
func (mask StorageStatusMask) MarshalText() ([]byte, error) {
71+
return []byte(ttlv.BitmaskStr(mask, " | ")), nil
72+
}

enums.go

+138
Original file line numberDiff line numberDiff line change
@@ -1587,3 +1587,141 @@ type MaskGenerator uint32
15871587
const (
15881588
MGF1 MaskGenerator = 0x00000001
15891589
)
1590+
1591+
// Text Marshalling for better display in json outputs
1592+
1593+
func (enum ResultStatus) MarshalText() ([]byte, error) {
1594+
return []byte(ttlv.EnumStr(enum)), nil
1595+
}
1596+
func (enum ResultReason) MarshalText() ([]byte, error) {
1597+
return []byte(ttlv.EnumStr(enum)), nil
1598+
}
1599+
func (enum CredentialType) MarshalText() ([]byte, error) {
1600+
return []byte(ttlv.EnumStr(enum)), nil
1601+
}
1602+
func (enum RevocationReasonCode) MarshalText() ([]byte, error) {
1603+
return []byte(ttlv.EnumStr(enum)), nil
1604+
}
1605+
func (enum BatchErrorContinuationOption) MarshalText() ([]byte, error) {
1606+
return []byte(ttlv.EnumStr(enum)), nil
1607+
}
1608+
func (enum NameType) MarshalText() ([]byte, error) {
1609+
return []byte(ttlv.EnumStr(enum)), nil
1610+
}
1611+
func (enum ObjectType) MarshalText() ([]byte, error) {
1612+
return []byte(ttlv.EnumStr(enum)), nil
1613+
}
1614+
func (enum OpaqueDataType) MarshalText() ([]byte, error) {
1615+
return []byte(ttlv.EnumStr(enum)), nil
1616+
}
1617+
func (enum State) MarshalText() ([]byte, error) {
1618+
return []byte(ttlv.EnumStr(enum)), nil
1619+
}
1620+
func (enum CryptographicAlgorithm) MarshalText() ([]byte, error) {
1621+
return []byte(ttlv.EnumStr(enum)), nil
1622+
}
1623+
func (enum BlockCipherMode) MarshalText() ([]byte, error) {
1624+
return []byte(ttlv.EnumStr(enum)), nil
1625+
}
1626+
func (enum PaddingMethod) MarshalText() ([]byte, error) {
1627+
return []byte(ttlv.EnumStr(enum)), nil
1628+
}
1629+
func (enum HashingAlgorithm) MarshalText() ([]byte, error) {
1630+
return []byte(ttlv.EnumStr(enum)), nil
1631+
}
1632+
func (enum KeyRoleType) MarshalText() ([]byte, error) {
1633+
return []byte(ttlv.EnumStr(enum)), nil
1634+
}
1635+
func (enum RecommendedCurve) MarshalText() ([]byte, error) {
1636+
return []byte(ttlv.EnumStr(enum)), nil
1637+
}
1638+
func (enum SecretDataType) MarshalText() ([]byte, error) {
1639+
return []byte(ttlv.EnumStr(enum)), nil
1640+
}
1641+
func (enum KeyFormatType) MarshalText() ([]byte, error) {
1642+
return []byte(ttlv.EnumStr(enum)), nil
1643+
}
1644+
func (enum KeyCompressionType) MarshalText() ([]byte, error) {
1645+
return []byte(ttlv.EnumStr(enum)), nil
1646+
}
1647+
func (enum WrappingMethod) MarshalText() ([]byte, error) {
1648+
return []byte(ttlv.EnumStr(enum)), nil
1649+
}
1650+
func (enum CertificateType) MarshalText() ([]byte, error) {
1651+
return []byte(ttlv.EnumStr(enum)), nil
1652+
}
1653+
func (enum LinkType) MarshalText() ([]byte, error) {
1654+
return []byte(ttlv.EnumStr(enum)), nil
1655+
}
1656+
func (enum QueryFunction) MarshalText() ([]byte, error) {
1657+
return []byte(ttlv.EnumStr(enum)), nil
1658+
}
1659+
func (enum UsageLimitsUnit) MarshalText() ([]byte, error) {
1660+
return []byte(ttlv.EnumStr(enum)), nil
1661+
}
1662+
func (enum CancellationResult) MarshalText() ([]byte, error) {
1663+
return []byte(ttlv.EnumStr(enum)), nil
1664+
}
1665+
func (enum PutFunction) MarshalText() ([]byte, error) {
1666+
return []byte(ttlv.EnumStr(enum)), nil
1667+
}
1668+
func (enum CertificateRequestType) MarshalText() ([]byte, error) {
1669+
return []byte(ttlv.EnumStr(enum)), nil
1670+
}
1671+
func (enum SplitKeyMethod) MarshalText() ([]byte, error) {
1672+
return []byte(ttlv.EnumStr(enum)), nil
1673+
}
1674+
func (enum ObjectGroupMember) MarshalText() ([]byte, error) {
1675+
return []byte(ttlv.EnumStr(enum)), nil
1676+
}
1677+
func (enum EncodingOption) MarshalText() ([]byte, error) {
1678+
return []byte(ttlv.EnumStr(enum)), nil
1679+
}
1680+
func (enum DigitalSignatureAlgorithm) MarshalText() ([]byte, error) {
1681+
return []byte(ttlv.EnumStr(enum)), nil
1682+
}
1683+
func (enum AttestationType) MarshalText() ([]byte, error) {
1684+
return []byte(ttlv.EnumStr(enum)), nil
1685+
}
1686+
func (enum AlternativeNameType) MarshalText() ([]byte, error) {
1687+
return []byte(ttlv.EnumStr(enum)), nil
1688+
}
1689+
func (enum KeyValueLocationType) MarshalText() ([]byte, error) {
1690+
return []byte(ttlv.EnumStr(enum)), nil
1691+
}
1692+
func (enum RNGAlgorithm) MarshalText() ([]byte, error) {
1693+
return []byte(ttlv.EnumStr(enum)), nil
1694+
}
1695+
func (enum DRBGAlgorithm) MarshalText() ([]byte, error) {
1696+
return []byte(ttlv.EnumStr(enum)), nil
1697+
}
1698+
func (enum FIPS186Variation) MarshalText() ([]byte, error) {
1699+
return []byte(ttlv.EnumStr(enum)), nil
1700+
}
1701+
func (enum ProfileName) MarshalText() ([]byte, error) {
1702+
return []byte(ttlv.EnumStr(enum)), nil
1703+
}
1704+
func (enum ValidationAuthorityType) MarshalText() ([]byte, error) {
1705+
return []byte(ttlv.EnumStr(enum)), nil
1706+
}
1707+
func (enum ValidationType) MarshalText() ([]byte, error) {
1708+
return []byte(ttlv.EnumStr(enum)), nil
1709+
}
1710+
func (enum UnwrapMode) MarshalText() ([]byte, error) {
1711+
return []byte(ttlv.EnumStr(enum)), nil
1712+
}
1713+
func (enum DestroyAction) MarshalText() ([]byte, error) {
1714+
return []byte(ttlv.EnumStr(enum)), nil
1715+
}
1716+
func (enum ShreddingAlgorithm) MarshalText() ([]byte, error) {
1717+
return []byte(ttlv.EnumStr(enum)), nil
1718+
}
1719+
func (enum RNGMode) MarshalText() ([]byte, error) {
1720+
return []byte(ttlv.EnumStr(enum)), nil
1721+
}
1722+
func (enum ClientRegistrationMethod) MarshalText() ([]byte, error) {
1723+
return []byte(ttlv.EnumStr(enum)), nil
1724+
}
1725+
func (enum MaskGenerator) MarshalText() ([]byte, error) {
1726+
return []byte(ttlv.EnumStr(enum)), nil
1727+
}

operations.go

+4
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,10 @@ const (
114114
OperationExport Operation = 0x0000002B
115115
)
116116

117+
func (enum Operation) MarshalText() ([]byte, error) {
118+
return []byte(ttlv.EnumStr(enum)), nil
119+
}
120+
117121
type operationPayloadTypes struct {
118122
request reflect.Type
119123
response reflect.Type

0 commit comments

Comments
 (0)