icydb_model/base/types/
geo.rs1use crate::prelude::*;
8
9#[newtype(
18 source_key = "crates/icydb/src/base/types/geo.rs::newtype::1",
19 primitive = "Text",
20 item(prim = "Text", unbounded),
21 ty(
22 normalizer(path = "base::normalizer::text::Trim"),
23 rule(
24 source_key = "icydb.base.rule.geo.address_line.length.v1",
25 kind = "length_range_inclusive",
26 args(1, 100)
27 ),
28 )
29)]
30pub struct AddressLine {}
31
32#[newtype(
42 source_key = "crates/icydb/src/base/types/geo.rs::newtype::2",
43 primitive = "Text",
44 item(prim = "Text", unbounded),
45 ty(
46 normalizer(path = "base::normalizer::text::Trim"),
47 normalizer(path = "base::normalizer::text::case::Title"),
48 rule(
49 source_key = "icydb.base.rule.geo.city_name.length.v1",
50 kind = "length_range_inclusive",
51 args(1, 100)
52 ),
53 )
54)]
55pub struct CityName {}
56
57#[newtype(
67 source_key = "crates/icydb/src/base/types/geo.rs::newtype::3",
68 primitive = "Text",
69 item(prim = "Text", unbounded),
70 ty(
71 normalizer(path = "base::normalizer::text::Trim"),
72 normalizer(path = "base::normalizer::text::case::Upper"),
73 rule(
74 source_key = "icydb.base.rule.geo.postal_code.length.v1",
75 kind = "length_range_inclusive",
76 args(3, 12)
77 ),
78 )
79)]
80pub struct PostalCode {}
81
82#[newtype(
93 source_key = "crates/icydb/src/base/types/geo.rs::newtype::4",
94 primitive = "Text",
95 item(prim = "Text", unbounded),
96 ty(
97 normalizer(path = "base::normalizer::text::Trim"),
98 normalizer(path = "base::normalizer::text::case::Upper"),
99 rule(
100 source_key = "icydb.base.rule.geo.region_name.length.v1",
101 kind = "length_range_inclusive",
102 args(2, 50)
103 ),
104 )
105)]
106pub struct RegionName {}