nu_plugin_units 0.1.8

A Nushell plugin for easily converting between common units
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
use super::{Category, ConversionFunction, ConversionFunctionMap};
use std::{collections::HashMap, convert::identity};
use unit_conversions::volume::*;

const CUBIC_FEET: &str = "cubic-feet";
const CUBIC_INCHES: &str = "cubic-inches";
const CUBIC_METRES: &str = "cubic-metres";
const FLUID_OUNCES: &str = "fluid-ounces";
const GALLONS: &str = "gallons";
const KILOLITRES: &str = "kilolitres";
const LITRES: &str = "litres";
const MILLILITRES: &str = "millilitres";
const OIL_BARRELS: &str = "oil-barrels";
const PINTS: &str = "pints";
const QUARTS: &str = "quarts";
const TABLESPOONS: &str = "tablespoons";
const TEASPOONS: &str = "teaspoons";
const US_CUPS: &str = "us-cups";
const US_FLUID_OUNCES: &str = "us-fluid-ounces";
const US_GALLONS: &str = "us-gallons";
const US_PINTS: &str = "us-pints";
const US_QUARTS: &str = "us-quarts";
const US_TABLESPOONS: &str = "us-tablespoons";
const US_TEASPOONS: &str = "us-teaspoons";

pub struct Volume;

impl Category for Volume {
    fn name() -> &'static str {
        "volume"
    }
    fn conversion_function_map() -> ConversionFunctionMap {
        HashMap::from_iter([
            (
                CUBIC_FEET,
                HashMap::from_iter([
                    (CUBIC_FEET, identity as ConversionFunction),
                    (CUBIC_INCHES, cubic_feet::to_cubic_inches),
                    (CUBIC_METRES, cubic_feet::to_cubic_metres),
                    (FLUID_OUNCES, cubic_feet::to_fluid_ounces),
                    (GALLONS, cubic_feet::to_gallons),
                    (KILOLITRES, cubic_feet::to_kilolitres),
                    (LITRES, cubic_feet::to_litres),
                    (MILLILITRES, cubic_feet::to_millilitres),
                    (OIL_BARRELS, cubic_feet::to_oil_barrels),
                    (PINTS, cubic_feet::to_pints),
                    (QUARTS, cubic_feet::to_quarts),
                    (TABLESPOONS, cubic_feet::to_tablespoons),
                    (TEASPOONS, cubic_feet::to_teaspoons),
                    (US_CUPS, cubic_feet::to_u_s_cups),
                    (US_FLUID_OUNCES, cubic_feet::to_u_s_fluid_ounces),
                    (US_GALLONS, cubic_feet::to_u_s_gallons),
                    (US_PINTS, cubic_feet::to_u_s_pints),
                    (US_QUARTS, cubic_feet::to_u_s_quarts),
                    (US_TABLESPOONS, cubic_feet::to_u_s_tablespoons),
                    (US_TEASPOONS, cubic_feet::to_u_s_teaspoons),
                ]),
            ),
            (
                CUBIC_INCHES,
                HashMap::from_iter([
                    (
                        CUBIC_FEET,
                        cubic_inches::to_cubic_feet as ConversionFunction,
                    ),
                    (CUBIC_INCHES, identity),
                    (CUBIC_METRES, cubic_inches::to_cubic_metres),
                    (FLUID_OUNCES, cubic_inches::to_fluid_ounces),
                    (GALLONS, cubic_inches::to_gallons),
                    (KILOLITRES, cubic_inches::to_kilolitres),
                    (LITRES, cubic_inches::to_litres),
                    (MILLILITRES, cubic_inches::to_millilitres),
                    (OIL_BARRELS, cubic_inches::to_oil_barrels),
                    (PINTS, cubic_inches::to_pints),
                    (QUARTS, cubic_inches::to_quarts),
                    (TABLESPOONS, cubic_inches::to_tablespoons),
                    (TEASPOONS, cubic_inches::to_teaspoons),
                    (US_CUPS, cubic_inches::to_u_s_cups),
                    (US_FLUID_OUNCES, cubic_inches::to_u_s_fluid_ounces),
                    (US_GALLONS, cubic_inches::to_u_s_gallons),
                    (US_PINTS, cubic_inches::to_u_s_pints),
                    (US_QUARTS, cubic_inches::to_u_s_quarts),
                    (US_TABLESPOONS, cubic_inches::to_u_s_tablespoons),
                    (US_TEASPOONS, cubic_inches::to_u_s_teaspoons),
                ]),
            ),
            (
                CUBIC_METRES,
                HashMap::from_iter([
                    (
                        CUBIC_FEET,
                        cubic_metres::to_cubic_feet as ConversionFunction,
                    ),
                    (CUBIC_INCHES, cubic_metres::to_cubic_inches),
                    (CUBIC_METRES, identity),
                    (FLUID_OUNCES, cubic_metres::to_fluid_ounces),
                    (GALLONS, cubic_metres::to_gallons),
                    (KILOLITRES, cubic_metres::to_kilolitres),
                    (LITRES, cubic_metres::to_litres),
                    (MILLILITRES, cubic_metres::to_millilitres),
                    (OIL_BARRELS, cubic_metres::to_oil_barrels),
                    (PINTS, cubic_metres::to_pints),
                    (QUARTS, cubic_metres::to_quarts),
                    (TABLESPOONS, cubic_metres::to_tablespoons),
                    (TEASPOONS, cubic_metres::to_teaspoons),
                    (US_CUPS, cubic_metres::to_u_s_cups),
                    (US_FLUID_OUNCES, cubic_metres::to_u_s_fluid_ounces),
                    (US_GALLONS, cubic_metres::to_u_s_gallons),
                    (US_PINTS, cubic_metres::to_u_s_pints),
                    (US_QUARTS, cubic_metres::to_u_s_quarts),
                    (US_TABLESPOONS, cubic_metres::to_u_s_tablespoons),
                    (US_TEASPOONS, cubic_metres::to_u_s_teaspoons),
                ]),
            ),
            (
                FLUID_OUNCES,
                HashMap::from_iter([
                    (
                        CUBIC_FEET,
                        fluid_ounces::to_cubic_feet as ConversionFunction,
                    ),
                    (CUBIC_INCHES, fluid_ounces::to_cubic_inches),
                    (CUBIC_METRES, fluid_ounces::to_cubic_metres),
                    (FLUID_OUNCES, identity),
                    (GALLONS, fluid_ounces::to_gallons),
                    (KILOLITRES, fluid_ounces::to_kilolitres),
                    (LITRES, fluid_ounces::to_litres),
                    (MILLILITRES, fluid_ounces::to_millilitres),
                    (OIL_BARRELS, fluid_ounces::to_oil_barrels),
                    (PINTS, fluid_ounces::to_pints),
                    (QUARTS, fluid_ounces::to_quarts),
                    (TABLESPOONS, fluid_ounces::to_tablespoons),
                    (TEASPOONS, fluid_ounces::to_teaspoons),
                    (US_CUPS, fluid_ounces::to_u_s_cups),
                    (US_FLUID_OUNCES, fluid_ounces::to_u_s_fluid_ounces),
                    (US_GALLONS, fluid_ounces::to_u_s_gallons),
                    (US_PINTS, fluid_ounces::to_u_s_pints),
                    (US_QUARTS, fluid_ounces::to_u_s_quarts),
                    (US_TABLESPOONS, fluid_ounces::to_u_s_tablespoons),
                    (US_TEASPOONS, fluid_ounces::to_u_s_teaspoons),
                ]),
            ),
            (
                GALLONS,
                HashMap::from_iter([
                    (CUBIC_FEET, gallons::to_cubic_feet as ConversionFunction),
                    (CUBIC_INCHES, gallons::to_cubic_inches),
                    (CUBIC_METRES, gallons::to_cubic_metres),
                    (FLUID_OUNCES, gallons::to_fluid_ounces),
                    (GALLONS, identity),
                    (KILOLITRES, gallons::to_kilolitres),
                    (LITRES, gallons::to_litres),
                    (MILLILITRES, gallons::to_millilitres),
                    (OIL_BARRELS, gallons::to_oil_barrels),
                    (PINTS, gallons::to_pints),
                    (QUARTS, gallons::to_quarts),
                    (TABLESPOONS, gallons::to_tablespoons),
                    (TEASPOONS, gallons::to_teaspoons),
                    (US_CUPS, gallons::to_u_s_cups),
                    (US_FLUID_OUNCES, gallons::to_u_s_fluid_ounces),
                    (US_GALLONS, gallons::to_u_s_gallons),
                    (US_PINTS, gallons::to_u_s_pints),
                    (US_QUARTS, gallons::to_u_s_quarts),
                    (US_TABLESPOONS, gallons::to_u_s_tablespoons),
                    (US_TEASPOONS, gallons::to_u_s_teaspoons),
                ]),
            ),
            (
                KILOLITRES,
                HashMap::from_iter([
                    (CUBIC_FEET, kilolitres::to_cubic_feet as ConversionFunction),
                    (CUBIC_INCHES, kilolitres::to_cubic_inches),
                    (CUBIC_METRES, kilolitres::to_cubic_metres),
                    (FLUID_OUNCES, kilolitres::to_fluid_ounces),
                    (GALLONS, kilolitres::to_gallons),
                    (KILOLITRES, identity),
                    (LITRES, kilolitres::to_litres),
                    (MILLILITRES, kilolitres::to_millilitres),
                    (OIL_BARRELS, kilolitres::to_oil_barrels),
                    (PINTS, kilolitres::to_pints),
                    (QUARTS, kilolitres::to_quarts),
                    (TABLESPOONS, kilolitres::to_tablespoons),
                    (TEASPOONS, kilolitres::to_teaspoons),
                    (US_CUPS, kilolitres::to_u_s_cups),
                    (US_FLUID_OUNCES, kilolitres::to_u_s_fluid_ounces),
                    (US_GALLONS, kilolitres::to_u_s_gallons),
                    (US_PINTS, kilolitres::to_u_s_pints),
                    (US_QUARTS, kilolitres::to_u_s_quarts),
                    (US_TABLESPOONS, kilolitres::to_u_s_tablespoons),
                    (US_TEASPOONS, kilolitres::to_u_s_teaspoons),
                ]),
            ),
            (
                LITRES,
                HashMap::from_iter([
                    (CUBIC_FEET, litres::to_cubic_feet as ConversionFunction),
                    (CUBIC_INCHES, litres::to_cubic_inches),
                    (CUBIC_METRES, litres::to_cubic_metres),
                    (FLUID_OUNCES, litres::to_fluid_ounces),
                    (GALLONS, litres::to_gallons),
                    (KILOLITRES, litres::to_kilolitres),
                    (LITRES, identity),
                    (MILLILITRES, litres::to_millilitres),
                    (OIL_BARRELS, litres::to_oil_barrels),
                    (PINTS, litres::to_pints),
                    (QUARTS, litres::to_quarts),
                    (TABLESPOONS, litres::to_tablespoons),
                    (TEASPOONS, litres::to_teaspoons),
                    (US_CUPS, litres::to_u_s_cups),
                    (US_FLUID_OUNCES, litres::to_u_s_fluid_ounces),
                    (US_GALLONS, litres::to_u_s_gallons),
                    (US_PINTS, litres::to_u_s_pints),
                    (US_QUARTS, litres::to_u_s_quarts),
                    (US_TABLESPOONS, litres::to_u_s_tablespoons),
                    (US_TEASPOONS, litres::to_u_s_teaspoons),
                ]),
            ),
            (
                MILLILITRES,
                HashMap::from_iter([
                    (CUBIC_FEET, millilitres::to_cubic_feet as ConversionFunction),
                    (CUBIC_INCHES, millilitres::to_cubic_inches),
                    (CUBIC_METRES, millilitres::to_cubic_metres),
                    (FLUID_OUNCES, millilitres::to_fluid_ounces),
                    (GALLONS, millilitres::to_gallons),
                    (KILOLITRES, millilitres::to_kilolitres),
                    (LITRES, millilitres::to_litres),
                    (MILLILITRES, identity),
                    (OIL_BARRELS, millilitres::to_oil_barrels),
                    (PINTS, millilitres::to_pints),
                    (QUARTS, millilitres::to_quarts),
                    (TABLESPOONS, millilitres::to_tablespoons),
                    (TEASPOONS, millilitres::to_teaspoons),
                    (US_CUPS, millilitres::to_u_s_cups),
                    (US_FLUID_OUNCES, millilitres::to_u_s_fluid_ounces),
                    (US_GALLONS, millilitres::to_u_s_gallons),
                    (US_PINTS, millilitres::to_u_s_pints),
                    (US_QUARTS, millilitres::to_u_s_quarts),
                    (US_TABLESPOONS, millilitres::to_u_s_tablespoons),
                    (US_TEASPOONS, millilitres::to_u_s_teaspoons),
                ]),
            ),
            (
                OIL_BARRELS,
                HashMap::from_iter([
                    (CUBIC_FEET, oil_barrels::to_cubic_feet as ConversionFunction),
                    (CUBIC_INCHES, oil_barrels::to_cubic_inches),
                    (CUBIC_METRES, oil_barrels::to_cubic_metres),
                    (FLUID_OUNCES, oil_barrels::to_fluid_ounces),
                    (GALLONS, oil_barrels::to_gallons),
                    (KILOLITRES, oil_barrels::to_kilolitres),
                    (LITRES, oil_barrels::to_litres),
                    (MILLILITRES, oil_barrels::to_millilitres),
                    (OIL_BARRELS, identity),
                    (PINTS, oil_barrels::to_pints),
                    (QUARTS, oil_barrels::to_quarts),
                    (TABLESPOONS, oil_barrels::to_tablespoons),
                    (TEASPOONS, oil_barrels::to_teaspoons),
                    (US_CUPS, oil_barrels::to_u_s_cups),
                    (US_FLUID_OUNCES, oil_barrels::to_u_s_fluid_ounces),
                    (US_GALLONS, oil_barrels::to_u_s_gallons),
                    (US_PINTS, oil_barrels::to_u_s_pints),
                    (US_QUARTS, oil_barrels::to_u_s_quarts),
                    (US_TABLESPOONS, oil_barrels::to_u_s_tablespoons),
                    (US_TEASPOONS, oil_barrels::to_u_s_teaspoons),
                ]),
            ),
            (
                PINTS,
                HashMap::from_iter([
                    (CUBIC_FEET, pints::to_cubic_feet as ConversionFunction),
                    (CUBIC_INCHES, pints::to_cubic_inches),
                    (CUBIC_METRES, pints::to_cubic_metres),
                    (FLUID_OUNCES, pints::to_fluid_ounces),
                    (GALLONS, pints::to_gallons),
                    (KILOLITRES, pints::to_kilolitres),
                    (LITRES, pints::to_litres),
                    (MILLILITRES, pints::to_millilitres),
                    (OIL_BARRELS, pints::to_oil_barrels),
                    (PINTS, identity),
                    (QUARTS, pints::to_quarts),
                    (TABLESPOONS, pints::to_tablespoons),
                    (TEASPOONS, pints::to_teaspoons),
                    (US_CUPS, pints::to_u_s_cups),
                    (US_FLUID_OUNCES, pints::to_u_s_fluid_ounces),
                    (US_GALLONS, pints::to_u_s_gallons),
                    (US_PINTS, pints::to_u_s_pints),
                    (US_QUARTS, pints::to_u_s_quarts),
                    (US_TABLESPOONS, pints::to_u_s_tablespoons),
                    (US_TEASPOONS, pints::to_u_s_teaspoons),
                ]),
            ),
            (
                QUARTS,
                HashMap::from_iter([
                    (CUBIC_FEET, quarts::to_cubic_feet as ConversionFunction),
                    (CUBIC_INCHES, quarts::to_cubic_inches),
                    (CUBIC_METRES, quarts::to_cubic_metres),
                    (FLUID_OUNCES, quarts::to_fluid_ounces),
                    (GALLONS, quarts::to_gallons),
                    (KILOLITRES, quarts::to_kilolitres),
                    (LITRES, quarts::to_litres),
                    (MILLILITRES, quarts::to_millilitres),
                    (OIL_BARRELS, quarts::to_oil_barrels),
                    (PINTS, quarts::to_pints),
                    (QUARTS, identity),
                    (TABLESPOONS, quarts::to_tablespoons),
                    (TEASPOONS, quarts::to_teaspoons),
                    (US_CUPS, quarts::to_u_s_cups),
                    (US_FLUID_OUNCES, quarts::to_u_s_fluid_ounces),
                    (US_GALLONS, quarts::to_u_s_gallons),
                    (US_PINTS, quarts::to_u_s_pints),
                    (US_QUARTS, quarts::to_u_s_quarts),
                    (US_TABLESPOONS, quarts::to_u_s_tablespoons),
                    (US_TEASPOONS, quarts::to_u_s_teaspoons),
                ]),
            ),
            (
                TABLESPOONS,
                HashMap::from_iter([
                    (CUBIC_FEET, tablespoons::to_cubic_feet as ConversionFunction),
                    (CUBIC_INCHES, tablespoons::to_cubic_inches),
                    (CUBIC_METRES, tablespoons::to_cubic_metres),
                    (FLUID_OUNCES, tablespoons::to_fluid_ounces),
                    (GALLONS, tablespoons::to_gallons),
                    (KILOLITRES, tablespoons::to_kilolitres),
                    (LITRES, tablespoons::to_litres),
                    (MILLILITRES, tablespoons::to_millilitres),
                    (OIL_BARRELS, tablespoons::to_oil_barrels),
                    (PINTS, tablespoons::to_pints),
                    (QUARTS, tablespoons::to_quarts),
                    (TABLESPOONS, identity),
                    (TEASPOONS, tablespoons::to_teaspoons),
                    (US_CUPS, tablespoons::to_u_s_cups),
                    (US_FLUID_OUNCES, tablespoons::to_u_s_fluid_ounces),
                    (US_GALLONS, tablespoons::to_u_s_gallons),
                    (US_PINTS, tablespoons::to_u_s_pints),
                    (US_QUARTS, tablespoons::to_u_s_quarts),
                    (US_TABLESPOONS, tablespoons::to_u_s_tablespoons),
                    (US_TEASPOONS, tablespoons::to_u_s_teaspoons),
                ]),
            ),
            (
                TEASPOONS,
                HashMap::from_iter([
                    (CUBIC_FEET, teaspoons::to_cubic_feet as ConversionFunction),
                    (CUBIC_INCHES, teaspoons::to_cubic_inches),
                    (CUBIC_METRES, teaspoons::to_cubic_metres),
                    (FLUID_OUNCES, teaspoons::to_fluid_ounces),
                    (GALLONS, teaspoons::to_gallons),
                    (KILOLITRES, teaspoons::to_kilolitres),
                    (LITRES, teaspoons::to_litres),
                    (MILLILITRES, teaspoons::to_millilitres),
                    (OIL_BARRELS, teaspoons::to_oil_barrels),
                    (PINTS, teaspoons::to_pints),
                    (QUARTS, teaspoons::to_quarts),
                    (TABLESPOONS, teaspoons::to_tablespoons),
                    (TEASPOONS, identity),
                    (US_CUPS, teaspoons::to_u_s_cups),
                    (US_FLUID_OUNCES, teaspoons::to_u_s_fluid_ounces),
                    (US_GALLONS, teaspoons::to_u_s_gallons),
                    (US_PINTS, teaspoons::to_u_s_pints),
                    (US_QUARTS, teaspoons::to_u_s_quarts),
                    (US_TABLESPOONS, teaspoons::to_u_s_tablespoons),
                    (US_TEASPOONS, teaspoons::to_u_s_teaspoons),
                ]),
            ),
            (
                US_CUPS,
                HashMap::from_iter([
                    (CUBIC_FEET, u_s_cups::to_cubic_feet as ConversionFunction),
                    (CUBIC_INCHES, u_s_cups::to_cubic_inches),
                    (CUBIC_METRES, u_s_cups::to_cubic_metres),
                    (FLUID_OUNCES, u_s_cups::to_fluid_ounces),
                    (GALLONS, u_s_cups::to_gallons),
                    (KILOLITRES, u_s_cups::to_kilolitres),
                    (LITRES, u_s_cups::to_litres),
                    (MILLILITRES, u_s_cups::to_millilitres),
                    (OIL_BARRELS, u_s_cups::to_oil_barrels),
                    (PINTS, u_s_cups::to_pints),
                    (QUARTS, u_s_cups::to_quarts),
                    (TABLESPOONS, u_s_cups::to_tablespoons),
                    (TEASPOONS, u_s_cups::to_teaspoons),
                    (US_CUPS, identity),
                    (US_FLUID_OUNCES, u_s_cups::to_u_s_fluid_ounces),
                    (US_GALLONS, u_s_cups::to_u_s_gallons),
                    (US_PINTS, u_s_cups::to_u_s_pints),
                    (US_QUARTS, u_s_cups::to_u_s_quarts),
                    (US_TABLESPOONS, u_s_cups::to_u_s_tablespoons),
                    (US_TEASPOONS, u_s_cups::to_u_s_teaspoons),
                ]),
            ),
            (
                US_FLUID_OUNCES,
                HashMap::from_iter([
                    (
                        CUBIC_FEET,
                        u_s_fluid_ounces::to_cubic_feet as ConversionFunction,
                    ),
                    (CUBIC_INCHES, u_s_fluid_ounces::to_cubic_inches),
                    (CUBIC_METRES, u_s_fluid_ounces::to_cubic_metres),
                    (FLUID_OUNCES, u_s_fluid_ounces::to_fluid_ounces),
                    (GALLONS, u_s_fluid_ounces::to_gallons),
                    (KILOLITRES, u_s_fluid_ounces::to_kilolitres),
                    (LITRES, u_s_fluid_ounces::to_litres),
                    (MILLILITRES, u_s_fluid_ounces::to_millilitres),
                    (OIL_BARRELS, u_s_fluid_ounces::to_oil_barrels),
                    (PINTS, u_s_fluid_ounces::to_pints),
                    (QUARTS, u_s_fluid_ounces::to_quarts),
                    (TABLESPOONS, u_s_fluid_ounces::to_tablespoons),
                    (TEASPOONS, u_s_fluid_ounces::to_teaspoons),
                    (US_CUPS, u_s_fluid_ounces::to_u_s_cups),
                    (US_FLUID_OUNCES, identity),
                    (US_GALLONS, u_s_fluid_ounces::to_u_s_gallons),
                    (US_PINTS, u_s_fluid_ounces::to_u_s_pints),
                    (US_QUARTS, u_s_fluid_ounces::to_u_s_quarts),
                    (US_TABLESPOONS, u_s_fluid_ounces::to_u_s_tablespoons),
                    (US_TEASPOONS, u_s_fluid_ounces::to_u_s_teaspoons),
                ]),
            ),
            (
                US_GALLONS,
                HashMap::from_iter([
                    (CUBIC_FEET, u_s_gallons::to_cubic_feet as ConversionFunction),
                    (CUBIC_INCHES, u_s_gallons::to_cubic_inches),
                    (CUBIC_METRES, u_s_gallons::to_cubic_metres),
                    (FLUID_OUNCES, u_s_gallons::to_fluid_ounces),
                    (GALLONS, u_s_gallons::to_gallons),
                    (KILOLITRES, u_s_gallons::to_kilolitres),
                    (LITRES, u_s_gallons::to_litres),
                    (MILLILITRES, u_s_gallons::to_millilitres),
                    (OIL_BARRELS, u_s_gallons::to_oil_barrels),
                    (PINTS, u_s_gallons::to_pints),
                    (QUARTS, u_s_gallons::to_quarts),
                    (TABLESPOONS, u_s_gallons::to_tablespoons),
                    (TEASPOONS, u_s_gallons::to_teaspoons),
                    (US_CUPS, u_s_gallons::to_u_s_cups),
                    (US_FLUID_OUNCES, u_s_gallons::to_u_s_fluid_ounces),
                    (US_GALLONS, identity),
                    (US_PINTS, u_s_gallons::to_u_s_pints),
                    (US_QUARTS, u_s_gallons::to_u_s_quarts),
                    (US_TABLESPOONS, u_s_gallons::to_u_s_tablespoons),
                    (US_TEASPOONS, u_s_gallons::to_u_s_teaspoons),
                ]),
            ),
            (
                US_PINTS,
                HashMap::from_iter([
                    (CUBIC_FEET, u_s_pints::to_cubic_feet as ConversionFunction),
                    (CUBIC_INCHES, u_s_pints::to_cubic_inches),
                    (CUBIC_METRES, u_s_pints::to_cubic_metres),
                    (FLUID_OUNCES, u_s_pints::to_fluid_ounces),
                    (GALLONS, u_s_pints::to_gallons),
                    (KILOLITRES, u_s_pints::to_kilolitres),
                    (LITRES, u_s_pints::to_litres),
                    (MILLILITRES, u_s_pints::to_millilitres),
                    (OIL_BARRELS, u_s_pints::to_oil_barrels),
                    (PINTS, u_s_pints::to_pints),
                    (QUARTS, u_s_pints::to_quarts),
                    (TABLESPOONS, u_s_pints::to_tablespoons),
                    (TEASPOONS, u_s_pints::to_teaspoons),
                    (US_CUPS, u_s_pints::to_u_s_cups),
                    (US_FLUID_OUNCES, u_s_pints::to_u_s_fluid_ounces),
                    (US_GALLONS, u_s_pints::to_u_s_gallons),
                    (US_PINTS, identity),
                    (US_QUARTS, u_s_pints::to_u_s_quarts),
                    (US_TABLESPOONS, u_s_pints::to_u_s_tablespoons),
                    (US_TEASPOONS, u_s_pints::to_u_s_teaspoons),
                ]),
            ),
            (
                US_QUARTS,
                HashMap::from_iter([
                    (CUBIC_FEET, u_s_quarts::to_cubic_feet as ConversionFunction),
                    (CUBIC_INCHES, u_s_quarts::to_cubic_inches),
                    (CUBIC_METRES, u_s_quarts::to_cubic_metres),
                    (FLUID_OUNCES, u_s_quarts::to_fluid_ounces),
                    (GALLONS, u_s_quarts::to_gallons),
                    (KILOLITRES, u_s_quarts::to_kilolitres),
                    (LITRES, u_s_quarts::to_litres),
                    (MILLILITRES, u_s_quarts::to_millilitres),
                    (OIL_BARRELS, u_s_quarts::to_oil_barrels),
                    (PINTS, u_s_quarts::to_pints),
                    (QUARTS, u_s_quarts::to_quarts),
                    (TABLESPOONS, u_s_quarts::to_tablespoons),
                    (TEASPOONS, u_s_quarts::to_teaspoons),
                    (US_CUPS, u_s_quarts::to_u_s_cups),
                    (US_FLUID_OUNCES, u_s_quarts::to_u_s_fluid_ounces),
                    (US_GALLONS, u_s_quarts::to_u_s_gallons),
                    (US_PINTS, u_s_quarts::to_u_s_pints),
                    (US_QUARTS, identity),
                    (US_TABLESPOONS, u_s_quarts::to_u_s_tablespoons),
                    (US_TEASPOONS, u_s_quarts::to_u_s_teaspoons),
                ]),
            ),
            (
                US_TABLESPOONS,
                HashMap::from_iter([
                    (
                        CUBIC_FEET,
                        u_s_tablespoons::to_cubic_feet as ConversionFunction,
                    ),
                    (CUBIC_INCHES, u_s_tablespoons::to_cubic_inches),
                    (CUBIC_METRES, u_s_tablespoons::to_cubic_metres),
                    (FLUID_OUNCES, u_s_tablespoons::to_fluid_ounces),
                    (GALLONS, u_s_tablespoons::to_gallons),
                    (KILOLITRES, u_s_tablespoons::to_kilolitres),
                    (LITRES, u_s_tablespoons::to_litres),
                    (MILLILITRES, u_s_tablespoons::to_millilitres),
                    (OIL_BARRELS, u_s_tablespoons::to_oil_barrels),
                    (PINTS, u_s_tablespoons::to_pints),
                    (QUARTS, u_s_tablespoons::to_quarts),
                    (TABLESPOONS, u_s_tablespoons::to_tablespoons),
                    (TEASPOONS, u_s_tablespoons::to_teaspoons),
                    (US_CUPS, u_s_tablespoons::to_u_s_cups),
                    (US_FLUID_OUNCES, u_s_tablespoons::to_u_s_fluid_ounces),
                    (US_GALLONS, u_s_tablespoons::to_u_s_gallons),
                    (US_PINTS, u_s_tablespoons::to_u_s_pints),
                    (US_QUARTS, u_s_tablespoons::to_u_s_quarts),
                    (US_TABLESPOONS, identity),
                    (US_TEASPOONS, u_s_tablespoons::to_u_s_teaspoons),
                ]),
            ),
            (
                US_TEASPOONS,
                HashMap::from_iter([
                    (
                        CUBIC_FEET,
                        u_s_teaspoons::to_cubic_feet as ConversionFunction,
                    ),
                    (CUBIC_INCHES, u_s_teaspoons::to_cubic_inches),
                    (CUBIC_METRES, u_s_teaspoons::to_cubic_metres),
                    (FLUID_OUNCES, u_s_teaspoons::to_fluid_ounces),
                    (GALLONS, u_s_teaspoons::to_gallons),
                    (KILOLITRES, u_s_teaspoons::to_kilolitres),
                    (LITRES, u_s_teaspoons::to_litres),
                    (MILLILITRES, u_s_teaspoons::to_millilitres),
                    (OIL_BARRELS, u_s_teaspoons::to_oil_barrels),
                    (PINTS, u_s_teaspoons::to_pints),
                    (QUARTS, u_s_teaspoons::to_quarts),
                    (TABLESPOONS, u_s_teaspoons::to_tablespoons),
                    (TEASPOONS, u_s_teaspoons::to_teaspoons),
                    (US_CUPS, u_s_teaspoons::to_u_s_cups),
                    (US_FLUID_OUNCES, u_s_teaspoons::to_u_s_fluid_ounces),
                    (US_GALLONS, u_s_teaspoons::to_u_s_gallons),
                    (US_PINTS, u_s_teaspoons::to_u_s_pints),
                    (US_QUARTS, u_s_teaspoons::to_u_s_quarts),
                    (US_TABLESPOONS, u_s_teaspoons::to_u_s_tablespoons),
                    (US_TEASPOONS, identity),
                ]),
            ),
        ])
    }
}