Commit b770c5c9d81b30d9d3c2c578251509f4322cf1b7
1 parent
b051b4cb
add converter from
- DB_id -> Maybe(Int) - String -> Maybe(DB_id) - Maybe(String) -> Maybe(DB_id)
Showing
1 changed file
with
38 additions
and
0 deletions
Show diff stats
database/db_types.anubis
| @@ -5,6 +5,7 @@ | @@ -5,6 +5,7 @@ | ||
| 5 | * Time: 22:41 | 5 | * Time: 22:41 |
| 6 | * | 6 | * |
| 7 | */ | 7 | */ |
| 8 | +transmit system/convert.anubis | ||
| 8 | transmit tools/basis.anubis | 9 | transmit tools/basis.anubis |
| 9 | transmit tools/ISO-8601.anubis | 10 | transmit tools/ISO-8601.anubis |
| 10 | 11 | ||
| @@ -35,6 +36,17 @@ public define String | @@ -35,6 +36,17 @@ public define String | ||
| 35 | db_id(_idx) then abs_to_decimal(_idx) | 36 | db_id(_idx) then abs_to_decimal(_idx) |
| 36 | }. | 37 | }. |
| 37 | 38 | ||
| 39 | +public define Maybe(Int) | ||
| 40 | + to_mb_Int | ||
| 41 | + ( | ||
| 42 | + DB_id idx | ||
| 43 | + )= | ||
| 44 | + if idx is | ||
| 45 | + { | ||
| 46 | + none then failure, | ||
| 47 | + db_id(_idx) then success(_idx) | ||
| 48 | + }. | ||
| 49 | + | ||
| 38 | public define JsonValue | 50 | public define JsonValue |
| 39 | to_JsonValue | 51 | to_JsonValue |
| 40 | ( | 52 | ( |
| @@ -90,6 +102,32 @@ public define DB_id | @@ -90,6 +102,32 @@ public define DB_id | ||
| 90 | db_id(value) | 102 | db_id(value) |
| 91 | . | 103 | . |
| 92 | 104 | ||
| 105 | +public define Maybe(DB_id) | ||
| 106 | + to_mb_DB_id | ||
| 107 | + ( | ||
| 108 | + String db_id_str | ||
| 109 | + )= | ||
| 110 | + if decimal_scan(db_id_str) is | ||
| 111 | + { | ||
| 112 | + failure then failure, | ||
| 113 | + success(db_id_int) then success(to_DB_id(db_id_int)) | ||
| 114 | + } | ||
| 115 | +. | ||
| 116 | + | ||
| 117 | +public define Maybe(DB_id) | ||
| 118 | + to_mb_DB_id | ||
| 119 | + ( | ||
| 120 | + Maybe(String) mb_db_id_str | ||
| 121 | + )= | ||
| 122 | + if mb_db_id_str is | ||
| 123 | + { | ||
| 124 | + failure then failure, | ||
| 125 | + success(db_id_str) then to_mb_DB_id(db_id_str) | ||
| 126 | + } | ||
| 127 | +. | ||
| 128 | + | ||
| 129 | + | ||
| 130 | + | ||
| 93 | /** | 131 | /** |
| 94 | * produce path from db_id to optimize fs access and never have more than 100 folders | 132 | * produce path from db_id to optimize fs access and never have more than 100 folders |
| 95 | */ | 133 | */ |