inferred-types 0.50.7 → 0.50.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/constants/Markers.d.ts +82 -0
  2. package/dist/constants/Markers.d.ts.map +1 -0
  3. package/dist/constants/Markers.js +22 -0
  4. package/dist/constants/Metrics.d.ts +374 -0
  5. package/dist/constants/Metrics.d.ts.map +1 -0
  6. package/dist/constants/Metrics.js +151 -0
  7. package/dist/constants/index.d.ts +2 -0
  8. package/dist/constants/index.d.ts.map +1 -1
  9. package/dist/constants/index.js +2 -0
  10. package/dist/constants/tsconfig.tsbuildinfo +1 -1
  11. package/dist/index.cjs +431 -18
  12. package/dist/index.js +376 -18
  13. package/dist/inferred-types/tsconfig.tsbuildinfo +1 -1
  14. package/dist/runtime/tsconfig.tsbuildinfo +1 -1
  15. package/dist/runtime/type-conversion/index.d.ts +1 -1
  16. package/dist/runtime/type-conversion/index.d.ts.map +1 -1
  17. package/dist/runtime/type-conversion/index.js +1 -1
  18. package/dist/runtime/type-conversion/lookupCountry.d.ts +32 -0
  19. package/dist/runtime/type-conversion/lookupCountry.d.ts.map +1 -0
  20. package/dist/runtime/type-conversion/lookupCountry.js +97 -0
  21. package/dist/runtime/type-guards/countries/isIso3166Alpha2.d.ts +5 -1
  22. package/dist/runtime/type-guards/countries/isIso3166Alpha2.d.ts.map +1 -1
  23. package/dist/runtime/type-guards/countries/isIso3166Alpha2.js +7 -0
  24. package/dist/runtime/type-guards/index.d.ts +1 -0
  25. package/dist/runtime/type-guards/index.d.ts.map +1 -1
  26. package/dist/runtime/type-guards/index.js +1 -0
  27. package/dist/runtime/type-guards/metrics/index.d.ts +3 -0
  28. package/dist/runtime/type-guards/metrics/index.d.ts.map +1 -0
  29. package/dist/runtime/type-guards/metrics/index.js +2 -0
  30. package/dist/runtime/type-guards/metrics/isMetric.d.ts +23 -0
  31. package/dist/runtime/type-guards/metrics/isMetric.d.ts.map +1 -0
  32. package/dist/runtime/type-guards/metrics/isMetric.js +71 -0
  33. package/dist/runtime/type-guards/metrics/isUom.d.ts +23 -0
  34. package/dist/runtime/type-guards/metrics/isUom.d.ts.map +1 -0
  35. package/dist/runtime/type-guards/metrics/isUom.js +71 -0
  36. package/dist/types/string-literals/character-sets/Country.d.ts +40 -7
  37. package/dist/types/string-literals/character-sets/Country.d.ts.map +1 -1
  38. package/dist/types/string-literals/index.d.ts +1 -0
  39. package/dist/types/string-literals/index.d.ts.map +1 -1
  40. package/dist/types/string-literals/index.js +1 -0
  41. package/dist/types/string-literals/metrics/acceleration.d.ts +26 -0
  42. package/dist/types/string-literals/metrics/acceleration.d.ts.map +1 -0
  43. package/dist/types/string-literals/metrics/acceleration.js +1 -0
  44. package/dist/types/string-literals/metrics/area.d.ts +26 -0
  45. package/dist/types/string-literals/metrics/area.d.ts.map +1 -0
  46. package/dist/types/string-literals/metrics/area.js +1 -0
  47. package/dist/types/string-literals/metrics/current.d.ts +26 -0
  48. package/dist/types/string-literals/metrics/current.d.ts.map +1 -0
  49. package/dist/types/string-literals/metrics/current.js +1 -0
  50. package/dist/types/string-literals/metrics/distance.d.ts +26 -0
  51. package/dist/types/string-literals/metrics/distance.d.ts.map +1 -0
  52. package/dist/types/string-literals/metrics/distance.js +1 -0
  53. package/dist/types/string-literals/metrics/energy.d.ts +26 -0
  54. package/dist/types/string-literals/metrics/energy.d.ts.map +1 -0
  55. package/dist/types/string-literals/metrics/energy.js +1 -0
  56. package/dist/types/string-literals/metrics/frequency.d.ts +26 -0
  57. package/dist/types/string-literals/metrics/frequency.d.ts.map +1 -0
  58. package/dist/types/string-literals/metrics/frequency.js +1 -0
  59. package/dist/types/string-literals/metrics/global.d.ts +30 -0
  60. package/dist/types/string-literals/metrics/global.d.ts.map +1 -0
  61. package/dist/types/string-literals/metrics/global.js +1 -0
  62. package/dist/types/string-literals/metrics/index.d.ts +18 -0
  63. package/dist/types/string-literals/metrics/index.d.ts.map +1 -0
  64. package/dist/types/string-literals/metrics/index.js +17 -0
  65. package/dist/types/string-literals/metrics/luminosity.d.ts +26 -0
  66. package/dist/types/string-literals/metrics/luminosity.d.ts.map +1 -0
  67. package/dist/types/string-literals/metrics/luminosity.js +1 -0
  68. package/dist/types/string-literals/metrics/mass.d.ts +26 -0
  69. package/dist/types/string-literals/metrics/mass.d.ts.map +1 -0
  70. package/dist/types/string-literals/metrics/mass.js +1 -0
  71. package/dist/types/string-literals/metrics/power.d.ts +26 -0
  72. package/dist/types/string-literals/metrics/power.d.ts.map +1 -0
  73. package/dist/types/string-literals/metrics/power.js +1 -0
  74. package/dist/types/string-literals/metrics/pressure.d.ts +26 -0
  75. package/dist/types/string-literals/metrics/pressure.d.ts.map +1 -0
  76. package/dist/types/string-literals/metrics/pressure.js +1 -0
  77. package/dist/types/string-literals/metrics/resistance.d.ts +26 -0
  78. package/dist/types/string-literals/metrics/resistance.d.ts.map +1 -0
  79. package/dist/types/string-literals/metrics/resistance.js +1 -0
  80. package/dist/types/string-literals/metrics/speed.d.ts +24 -0
  81. package/dist/types/string-literals/metrics/speed.d.ts.map +1 -0
  82. package/dist/types/string-literals/metrics/speed.js +1 -0
  83. package/dist/types/string-literals/metrics/temperature.d.ts +26 -0
  84. package/dist/types/string-literals/metrics/temperature.d.ts.map +1 -0
  85. package/dist/types/string-literals/metrics/temperature.js +1 -0
  86. package/dist/types/string-literals/metrics/time.d.ts +26 -0
  87. package/dist/types/string-literals/metrics/time.d.ts.map +1 -0
  88. package/dist/types/string-literals/metrics/time.js +1 -0
  89. package/dist/types/string-literals/metrics/voltage.d.ts +26 -0
  90. package/dist/types/string-literals/metrics/voltage.d.ts.map +1 -0
  91. package/dist/types/string-literals/metrics/voltage.js +1 -0
  92. package/dist/types/string-literals/metrics/volume.d.ts +26 -0
  93. package/dist/types/string-literals/metrics/volume.d.ts.map +1 -0
  94. package/dist/types/string-literals/metrics/volume.js +1 -0
  95. package/dist/types/tsconfig.tsbuildinfo +1 -1
  96. package/package.json +1 -1
  97. package/dist/runtime/type-conversion/lookupCountryName.d.ts +0 -15
  98. package/dist/runtime/type-conversion/lookupCountryName.d.ts.map +0 -1
  99. package/dist/runtime/type-conversion/lookupCountryName.js +0 -40
@@ -12,6 +12,6 @@ export * from "./asString";
12
12
  export * from "./asChars";
13
13
  export * from "./ip6GroupExpansion";
14
14
  export * from "./csv";
15
+ export * from "./lookupCountry";
15
16
  export * from "./json";
16
- export * from "./lookupCountryName";
17
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/type-conversion/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/type-conversion/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC"}
@@ -12,5 +12,5 @@ export * from "./asString";
12
12
  export * from "./asChars";
13
13
  export * from "./ip6GroupExpansion";
14
14
  export * from "./csv";
15
+ export * from "./lookupCountry";
15
16
  export * from "./json";
16
- export * from "./lookupCountryName";
@@ -0,0 +1,32 @@
1
+ import { Iso3166_1_Alpha2, Iso3166_1_Alpha3, Iso3166_1_CountryCode, Iso3166_1_CountryName, Iso3166Alpha2Lookup, Iso3166Alpha3Lookup, Iso3166CodeLookup, Iso3166CountryLookup, Suggest } from "src/types/string-literals";
2
+ import { AsString } from "src/types/type-conversion";
3
+ /**
4
+ * **lookupCountryName**`(code)`
5
+ *
6
+ * Looks up a country name by either the alpha-2, alpha-3, or country code
7
+ * as defined by the [ISO3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) standard.
8
+ *
9
+ * - the ISO standard uses uppercase characters for Alpha2 and Alpha3 codes but
10
+ * this utility will handle upper or lowercase
11
+ * - it will correctly type the country name if the code passed in is a literal
12
+ * string (and a valid code)
13
+ *
14
+ * **Related:** `lookupCountryAlpha2()`, `lookupCountryAlpha3()`
15
+ */
16
+ export declare const lookupCountryName: <T extends Suggest<Iso3166_1_Alpha2 | Iso3166_1_Alpha3 | Iso3166_1_CountryCode>>(code: T) => Iso3166CountryLookup<Uppercase<AsString<T>>>;
17
+ /**
18
+ * Looks up the Alpha2 component of a [ISO3166-1](https://en.wikipedia.org/wiki/ISO_3166-1)
19
+ * standard.
20
+ */
21
+ export declare const lookupCountryAlpha2: <T extends Suggest<Iso3166_1_Alpha3 | Iso3166_1_CountryCode | Iso3166_1_CountryName>>(code: T) => T extends Iso3166_1_CountryName ? Iso3166Alpha2Lookup<T> : Iso3166Alpha2Lookup<Uppercase<AsString<T>>>;
22
+ /**
23
+ * Looks up the Alpha3 component of a [ISO3166-1](https://en.wikipedia.org/wiki/ISO_3166-1)
24
+ * standard.
25
+ */
26
+ export declare const lookupCountryAlpha3: <T extends Suggest<Iso3166_1_Alpha2 | Iso3166_1_CountryCode | Iso3166_1_CountryName>>(token: T) => T extends Iso3166_1_CountryName ? Iso3166Alpha3Lookup<T> : Iso3166Alpha3Lookup<Uppercase<AsString<T>>>;
27
+ /**
28
+ * Looks up the Alpha3 component of a [ISO3166-1](https://en.wikipedia.org/wiki/ISO_3166-1)
29
+ * standard.
30
+ */
31
+ export declare const lookupCountryCode: <T extends Suggest<Iso3166_1_Alpha2 | Iso3166_1_Alpha3 | Iso3166_1_CountryName>>(token: T) => T extends Iso3166_1_CountryName ? Iso3166CodeLookup<T> : Iso3166CodeLookup<Uppercase<AsString<T>>>;
32
+ //# sourceMappingURL=lookupCountry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookupCountry.d.ts","sourceRoot":"","sources":["../../../src/runtime/type-conversion/lookupCountry.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,OAAO,EACR,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAiHrD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,GAAG,qBAAqB,CAAC,QACxG,CAAC,KAYS,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,CAAC,SAAS,OAAO,CAAC,gBAAgB,GAClC,qBAAqB,GACrB,qBAAqB,CACtB,QACO,CAAC,KAcS,CAAC,SAAS,qBAAqB,GAC7C,mBAAmB,CAAC,CAAC,CAAC,GACtB,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC7C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,CAAC,SAAS,OAAO,CACf,gBAAgB,GAChB,qBAAqB,GACrB,qBAAqB,CACxB,SACQ,CAAC,KAcQ,CAAC,SAAS,qBAAqB,GAC7C,mBAAmB,CAAC,CAAC,CAAC,GACtB,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC7C,CAAA;AAGD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,CAAC,SAAS,OAAO,CACf,gBAAgB,GAChB,gBAAgB,GAChB,qBAAqB,CACxB,SACQ,CAAC,KAcQ,CAAC,SAAS,qBAAqB,GAC7C,iBAAiB,CAAC,CAAC,CAAC,GACpB,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC3C,CAAA"}
@@ -0,0 +1,97 @@
1
+ import { isIso3166Alpha2, isIso3166Alpha3, isIso3166CountryName, isNumber, isNumberLike } from "../type-guards";
2
+ import { ISO3166_1 } from "src/constants/index";
3
+ import { uppercase } from "../literals";
4
+ const lookupAlpha2Code = (code, prop) => {
5
+ const found = ISO3166_1.find(i => i["alpha2"] === code);
6
+ return (found ? found[prop] : undefined);
7
+ };
8
+ const lookupAlpha3Code = (code, prop) => {
9
+ const found = ISO3166_1.find(i => i["alpha3"] === code);
10
+ return (found ? found[prop] : undefined);
11
+ };
12
+ const lookupName = (name, prop) => {
13
+ const found = ISO3166_1.find(i => i["name"] === name);
14
+ return (found ? found[prop] : undefined);
15
+ };
16
+ const lookupNumericCode = (code, prop) => {
17
+ let num = isNumber(code) ? `${code}` : code;
18
+ if (num.length === 1) {
19
+ num = `00${num}`;
20
+ }
21
+ else if (num.length === 2) {
22
+ num = `0${num}`;
23
+ }
24
+ const found = ISO3166_1.find(i => i["countryCode"] === num);
25
+ return found ? found[prop] : undefined;
26
+ };
27
+ /**
28
+ * **lookupCountryName**`(code)`
29
+ *
30
+ * Looks up a country name by either the alpha-2, alpha-3, or country code
31
+ * as defined by the [ISO3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) standard.
32
+ *
33
+ * - the ISO standard uses uppercase characters for Alpha2 and Alpha3 codes but
34
+ * this utility will handle upper or lowercase
35
+ * - it will correctly type the country name if the code passed in is a literal
36
+ * string (and a valid code)
37
+ *
38
+ * **Related:** `lookupCountryAlpha2()`, `lookupCountryAlpha3()`
39
+ */
40
+ export const lookupCountryName = (code) => {
41
+ const uc = uppercase(code);
42
+ return (isNumberLike(code)
43
+ ? lookupNumericCode(code, "name")
44
+ : isIso3166Alpha2(uc)
45
+ ? lookupAlpha2Code(uc, "name")
46
+ : isIso3166Alpha3(uc)
47
+ ? lookupAlpha3Code(uc, "name")
48
+ : undefined);
49
+ };
50
+ /**
51
+ * Looks up the Alpha2 component of a [ISO3166-1](https://en.wikipedia.org/wiki/ISO_3166-1)
52
+ * standard.
53
+ */
54
+ export const lookupCountryAlpha2 = (code) => {
55
+ const uc = uppercase(code);
56
+ return (isNumberLike(code)
57
+ ? lookupNumericCode(code, "alpha2")
58
+ : isIso3166Alpha2(uc)
59
+ ? lookupAlpha2Code(uc, "alpha2")
60
+ : isIso3166Alpha3(uc)
61
+ ? lookupAlpha3Code(uc, "alpha2")
62
+ : isIso3166CountryName(code)
63
+ ? lookupName(code, "alpha2")
64
+ : undefined);
65
+ };
66
+ /**
67
+ * Looks up the Alpha3 component of a [ISO3166-1](https://en.wikipedia.org/wiki/ISO_3166-1)
68
+ * standard.
69
+ */
70
+ export const lookupCountryAlpha3 = (token) => {
71
+ const uc = uppercase(token);
72
+ return (isNumberLike(token)
73
+ ? lookupNumericCode(token, "alpha3")
74
+ : isIso3166Alpha2(uc)
75
+ ? lookupAlpha2Code(uc, "alpha3")
76
+ : isIso3166Alpha3(uc)
77
+ ? lookupAlpha3Code(uc, "alpha3")
78
+ : isIso3166CountryName(token)
79
+ ? lookupName(token, "alpha3")
80
+ : undefined);
81
+ };
82
+ /**
83
+ * Looks up the Alpha3 component of a [ISO3166-1](https://en.wikipedia.org/wiki/ISO_3166-1)
84
+ * standard.
85
+ */
86
+ export const lookupCountryCode = (token) => {
87
+ const uc = uppercase(token);
88
+ return (isNumberLike(token)
89
+ ? lookupNumericCode(token, "countryCode")
90
+ : isIso3166Alpha2(uc)
91
+ ? lookupAlpha2Code(uc, "countryCode")
92
+ : isIso3166Alpha3(uc)
93
+ ? lookupAlpha3Code(uc, "countryCode")
94
+ : isIso3166CountryName(token)
95
+ ? lookupName(token, "countryCode")
96
+ : undefined);
97
+ };
@@ -1,4 +1,4 @@
1
- import { Iso3166_1_Alpha2, Iso3166_1_Alpha3, Iso3166_1_CountryCode } from "src/types/index";
1
+ import { Iso3166_1_Alpha2, Iso3166_1_Alpha3, Iso3166_1_CountryCode, Iso3166_1_CountryName } from "src/types/index";
2
2
  /**
3
3
  * Type guard which checks whether `val` is a 2 character country
4
4
  * representation found in the ISO3166-1 standard.
@@ -14,4 +14,8 @@ export declare const isIso3166Alpha3: (val: unknown) => val is Iso3166_1_Alpha3;
14
14
  * representation found in the ISO3166-1 standard.
15
15
  */
16
16
  export declare const isIso3166CountryCode: (val: unknown) => val is Iso3166_1_CountryCode;
17
+ /**
18
+ * Type guard which checks whether `val` is a valid ISO3166-1 country name.
19
+ */
20
+ export declare const isIso3166CountryName: (val: unknown) => val is Iso3166_1_CountryName;
17
21
  //# sourceMappingURL=isIso3166Alpha2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isIso3166Alpha2.d.ts","sourceRoot":"","sources":["../../../../src/runtime/type-guards/countries/isIso3166Alpha2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAI5F;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAS,OAAO,KAAG,GAAG,IAAI,gBAGrD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAS,OAAO,KAAG,GAAG,IAAI,gBAGrD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAS,OAAO,KAAG,GAAG,IAAI,qBAG1D,CAAA"}
1
+ {"version":3,"file":"isIso3166Alpha2.d.ts","sourceRoot":"","sources":["../../../../src/runtime/type-guards/countries/isIso3166Alpha2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAInH;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAS,OAAO,KAAG,GAAG,IAAI,gBAGrD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAS,OAAO,KAAG,GAAG,IAAI,gBAGrD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAS,OAAO,KAAG,GAAG,IAAI,qBAG1D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAS,OAAO,KAAG,GAAG,IAAI,qBAG1D,CAAA"}
@@ -24,3 +24,10 @@ export const isIso3166CountryCode = (val) => {
24
24
  const codes = ISO3166_1.map(i => i["countryCode"]);
25
25
  return isString(val) && codes.includes(val);
26
26
  };
27
+ /**
28
+ * Type guard which checks whether `val` is a valid ISO3166-1 country name.
29
+ */
30
+ export const isIso3166CountryName = (val) => {
31
+ const codes = ISO3166_1.map(i => i["name"]);
32
+ return isString(val) && codes.includes(val);
33
+ };
@@ -56,4 +56,5 @@ export * from "./higher-order/index";
56
56
  export * from "./tokens/index";
57
57
  export * from "./html/index";
58
58
  export * from "./countries/index";
59
+ export * from "./metrics/index";
59
60
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/type-guards/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AAEzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/type-guards/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AAEzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
@@ -56,3 +56,4 @@ export * from "./higher-order/index";
56
56
  export * from "./tokens/index";
57
57
  export * from "./html/index";
58
58
  export * from "./countries/index";
59
+ export * from "./metrics/index";
@@ -0,0 +1,3 @@
1
+ export * from "./isUom";
2
+ export * from "./isMetric";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/type-guards/metrics/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./isUom";
2
+ export * from "./isMetric";
@@ -0,0 +1,23 @@
1
+ import { Acceleration, Area, Current, Distance, Energy, Frequency, Luminosity, Mass, Metric, Power, Pressure, Resistance, Speed, Temperature, TimeMetric, Voltage, Volume } from "src/types/string-literals";
2
+ export declare const isAreaMetric: (val: unknown) => val is Area;
3
+ export declare const isLuminosityMetric: (val: unknown) => val is Luminosity;
4
+ export declare const isResistance: (val: unknown) => val is Resistance;
5
+ export declare const isCurrentMetric: (val: unknown) => val is Current;
6
+ export declare const isVoltageMetric: (val: unknown) => val is Voltage;
7
+ export declare const isFrequencyMetric: (val: unknown) => val is Frequency;
8
+ export declare const isPowerMetric: (val: unknown) => val is Power;
9
+ export declare const isTimeMetric: (val: unknown) => val is TimeMetric;
10
+ export declare const isEnergyMetric: (val: unknown) => val is Energy;
11
+ export declare const isPressureMetric: (val: unknown) => val is Pressure;
12
+ export declare const isTemperatureMetric: (val: unknown) => val is Temperature;
13
+ export declare const isVolumeMetric: (val: unknown) => val is Volume;
14
+ export declare const isAccelerationMetric: (val: unknown) => val is Acceleration;
15
+ export declare const isSpeedMetric: (val: unknown) => val is Speed;
16
+ export declare const isMassMetric: (val: unknown) => val is Mass;
17
+ export declare const isDistanceMetric: (val: unknown) => val is Distance;
18
+ /**
19
+ * Type guard which validates the passed in `val` is a `Metric` (unit
20
+ * of measure).
21
+ */
22
+ export declare const isMetric: (val: unknown) => val is Metric;
23
+ //# sourceMappingURL=isMetric.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isMetric.d.ts","sourceRoot":"","sources":["../../../../src/runtime/type-guards/metrics/isMetric.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,UAAU,EACV,IAAI,EACJ,MAAM,EACN,KAAK,EACL,QAAQ,EACR,UAAU,EACV,KAAK,EACL,WAAW,EACX,UAAU,EACV,OAAO,EACP,MAAM,EACP,MAAM,2BAA2B,CAAC;AAsBnC,eAAO,MAAM,YAAY,QAAS,OAAO,KAAG,GAAG,IAAI,IAElD,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAS,OAAO,KAAG,GAAG,IAAI,UAExD,CAAA;AAED,eAAO,MAAM,YAAY,QAAS,OAAO,KAAG,GAAG,IAAI,UAElD,CAAA;AAED,eAAO,MAAM,eAAe,QAAS,OAAO,KAAG,GAAG,IAAI,OAErD,CAAA;AAED,eAAO,MAAM,eAAe,QAAS,OAAO,KAAG,GAAG,IAAI,OAErD,CAAA;AAED,eAAO,MAAM,iBAAiB,QAAS,OAAO,KAAG,GAAG,IAAI,SAEvD,CAAA;AAED,eAAO,MAAM,aAAa,QAAS,OAAO,KAAG,GAAG,IAAI,KAEnD,CAAA;AAED,eAAO,MAAM,YAAY,QAAS,OAAO,KAAG,GAAG,IAAI,UAElD,CAAA;AAED,eAAO,MAAM,cAAc,QAAS,OAAO,KAAG,GAAG,IAAI,MAEpD,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAS,OAAO,KAAG,GAAG,IAAI,QAEtD,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAS,OAAO,KAAG,GAAG,IAAI,WAEzD,CAAA;AAED,eAAO,MAAM,cAAc,QAAS,OAAO,KAAG,GAAG,IAAI,MAEpD,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAS,OAAO,KAAG,GAAG,IAAI,YAE1D,CAAA;AAED,eAAO,MAAM,aAAa,QAAS,OAAO,KAAG,GAAG,IAAI,KAEnD,CAAA;AAED,eAAO,MAAM,YAAY,QAAS,OAAO,KAAG,GAAG,IAAI,IAElD,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAS,OAAO,KAAG,GAAG,IAAI,QAEtD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,QAAS,OAAO,KAAG,GAAG,IAAI,MAgB9C,CAAA"}
@@ -0,0 +1,71 @@
1
+ import { isString } from "../isString";
2
+ import { ACCELERATION_METRICS_LOOKUP, AREA_METRICS_LOOKUP, CURRENT_METRICS_LOOKUP, ENERGY_METRICS_LOOKUP, FREQUENCY_METRICS_LOOKUP, LUMINOSITY_METRICS_LOOKUP, MASS_METRICS_LOOKUP, POWER_METRICS_LOOKUP, PRESSURE_METRICS_LOOKUP, RESISTANCE_METRICS_LOOKUP, SPEED_METRICS_LOOKUP, TEMPERATURE_METRICS_LOOKUP, TIME_METRICS_LOOKUP, VOLTAGE_METRICS_LOOKUP, VOLUME_METRICS_LOOKUP, } from "src/constants/index";
3
+ export const isAreaMetric = (val) => {
4
+ return isString(val) && AREA_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
5
+ };
6
+ export const isLuminosityMetric = (val) => {
7
+ return isString(val) && LUMINOSITY_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
8
+ };
9
+ export const isResistance = (val) => {
10
+ return isString(val) && RESISTANCE_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
11
+ };
12
+ export const isCurrentMetric = (val) => {
13
+ return isString(val) && CURRENT_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
14
+ };
15
+ export const isVoltageMetric = (val) => {
16
+ return isString(val) && VOLTAGE_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
17
+ };
18
+ export const isFrequencyMetric = (val) => {
19
+ return isString(val) && FREQUENCY_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
20
+ };
21
+ export const isPowerMetric = (val) => {
22
+ return isString(val) && POWER_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
23
+ };
24
+ export const isTimeMetric = (val) => {
25
+ return isString(val) && TIME_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
26
+ };
27
+ export const isEnergyMetric = (val) => {
28
+ return isString(val) && ENERGY_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
29
+ };
30
+ export const isPressureMetric = (val) => {
31
+ return isString(val) && PRESSURE_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
32
+ };
33
+ export const isTemperatureMetric = (val) => {
34
+ return isString(val) && TEMPERATURE_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
35
+ };
36
+ export const isVolumeMetric = (val) => {
37
+ return isString(val) && VOLUME_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
38
+ };
39
+ export const isAccelerationMetric = (val) => {
40
+ return isString(val) && ACCELERATION_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
41
+ };
42
+ export const isSpeedMetric = (val) => {
43
+ return isString(val) && SPEED_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
44
+ };
45
+ export const isMassMetric = (val) => {
46
+ return isString(val) && MASS_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
47
+ };
48
+ export const isDistanceMetric = (val) => {
49
+ return isString(val) && ENERGY_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
50
+ };
51
+ /**
52
+ * Type guard which validates the passed in `val` is a `Metric` (unit
53
+ * of measure).
54
+ */
55
+ export const isMetric = (val) => {
56
+ return isDistanceMetric(val)
57
+ || isMassMetric(val)
58
+ || isSpeedMetric(val)
59
+ || isAccelerationMetric(val)
60
+ || isVoltageMetric(val)
61
+ || isTemperatureMetric(val)
62
+ || isPressureMetric(val)
63
+ || isEnergyMetric(val)
64
+ || isTimeMetric(val)
65
+ || isPowerMetric(val)
66
+ || isFrequencyMetric(val)
67
+ || isVoltageMetric(val)
68
+ || isCurrentMetric(val)
69
+ || isLuminosityMetric(val)
70
+ || isAreaMetric(val);
71
+ };
@@ -0,0 +1,23 @@
1
+ import { AccelerationUom, AreaUom, CurrentUom, DistanceUom, EnergyUom, FrequencyUom, LuminosityUom, MassUom, PowerUom, PressureUom, ResistanceUom, SpeedUom, TemperatureUom, TimeUom, Uom, VoltageUom, VolumeUom } from "src/types/string-literals";
2
+ export declare const isAreaUom: (val: unknown) => val is AreaUom;
3
+ export declare const isLuminosityUom: (val: unknown) => val is LuminosityUom;
4
+ export declare const isResistanceUom: (val: unknown) => val is ResistanceUom;
5
+ export declare const isCurrentUom: (val: unknown) => val is CurrentUom;
6
+ export declare const isVoltageUom: (val: unknown) => val is VoltageUom;
7
+ export declare const isFrequencyUom: (val: unknown) => val is FrequencyUom;
8
+ export declare const isPowerUom: (val: unknown) => val is PowerUom;
9
+ export declare const isTimeUom: (val: unknown) => val is TimeUom;
10
+ export declare const isEnergyUom: (val: unknown) => val is EnergyUom;
11
+ export declare const isPressureUom: (val: unknown) => val is PressureUom;
12
+ export declare const isTemperatureUom: (val: unknown) => val is TemperatureUom;
13
+ export declare const isVolumeUom: (val: unknown) => val is VolumeUom;
14
+ export declare const isAccelerationUom: (val: unknown) => val is AccelerationUom;
15
+ export declare const isSpeedUom: (val: unknown) => val is SpeedUom;
16
+ export declare const isMassUom: (val: unknown) => val is MassUom;
17
+ export declare const isDistanceUom: (val: unknown) => val is DistanceUom;
18
+ /**
19
+ * Type guard which validates the passed in `val` is a `Uom` (unit
20
+ * of measure).
21
+ */
22
+ export declare const isUom: (val: unknown) => val is Uom;
23
+ //# sourceMappingURL=isUom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isUom.d.ts","sourceRoot":"","sources":["../../../../src/runtime/type-guards/metrics/isUom.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,OAAO,EACP,UAAU,EACV,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,OAAO,EACP,QAAQ,EACR,WAAW,EACX,aAAa,EACb,QAAQ,EACR,cAAc,EACd,OAAO,EACP,GAAG,EACH,UAAU,EACV,SAAS,EACV,MAAM,2BAA2B,CAAC;AAsBnC,eAAO,MAAM,SAAS,QAAS,OAAO,KAAG,GAAG,IAAI,OAE/C,CAAA;AAED,eAAO,MAAM,eAAe,QAAS,OAAO,KAAG,GAAG,IAAI,aAErD,CAAA;AAED,eAAO,MAAM,eAAe,QAAS,OAAO,KAAG,GAAG,IAAI,aAErD,CAAA;AAED,eAAO,MAAM,YAAY,QAAS,OAAO,KAAG,GAAG,IAAI,UAElD,CAAA;AAED,eAAO,MAAM,YAAY,QAAS,OAAO,KAAG,GAAG,IAAI,UAElD,CAAA;AAED,eAAO,MAAM,cAAc,QAAS,OAAO,KAAG,GAAG,IAAI,YAEpD,CAAA;AAED,eAAO,MAAM,UAAU,QAAS,OAAO,KAAG,GAAG,IAAI,QAEhD,CAAA;AAED,eAAO,MAAM,SAAS,QAAS,OAAO,KAAG,GAAG,IAAI,OAE/C,CAAA;AAED,eAAO,MAAM,WAAW,QAAS,OAAO,KAAG,GAAG,IAAI,SAEjD,CAAA;AAED,eAAO,MAAM,aAAa,QAAS,OAAO,KAAG,GAAG,IAAI,WAEnD,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAS,OAAO,KAAG,GAAG,IAAI,cAEtD,CAAA;AAED,eAAO,MAAM,WAAW,QAAS,OAAO,KAAG,GAAG,IAAI,SAEjD,CAAA;AAED,eAAO,MAAM,iBAAiB,QAAS,OAAO,KAAG,GAAG,IAAI,eAEvD,CAAA;AAED,eAAO,MAAM,UAAU,QAAS,OAAO,KAAG,GAAG,IAAI,QAEhD,CAAA;AAED,eAAO,MAAM,SAAS,QAAS,OAAO,KAAG,GAAG,IAAI,OAE/C,CAAA;AAED,eAAO,MAAM,aAAa,QAAS,OAAO,KAAG,GAAG,IAAI,WAEnD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,QAAS,OAAO,KAAG,GAAG,IAAI,GAgB3C,CAAA"}
@@ -0,0 +1,71 @@
1
+ import { isString } from "../isString";
2
+ import { ACCELERATION_METRICS_LOOKUP, AREA_METRICS_LOOKUP, CURRENT_METRICS_LOOKUP, ENERGY_METRICS_LOOKUP, FREQUENCY_METRICS_LOOKUP, LUMINOSITY_METRICS_LOOKUP, MASS_METRICS_LOOKUP, POWER_METRICS_LOOKUP, PRESSURE_METRICS_LOOKUP, RESISTANCE_METRICS_LOOKUP, SPEED_METRICS_LOOKUP, TEMPERATURE_METRICS_LOOKUP, TIME_METRICS_LOOKUP, VOLTAGE_METRICS_LOOKUP, VOLUME_METRICS_LOOKUP, } from "src/constants/index";
3
+ export const isAreaUom = (val) => {
4
+ return isString(val) && AREA_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
5
+ };
6
+ export const isLuminosityUom = (val) => {
7
+ return isString(val) && LUMINOSITY_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
8
+ };
9
+ export const isResistanceUom = (val) => {
10
+ return isString(val) && RESISTANCE_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
11
+ };
12
+ export const isCurrentUom = (val) => {
13
+ return isString(val) && CURRENT_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
14
+ };
15
+ export const isVoltageUom = (val) => {
16
+ return isString(val) && VOLTAGE_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
17
+ };
18
+ export const isFrequencyUom = (val) => {
19
+ return isString(val) && FREQUENCY_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
20
+ };
21
+ export const isPowerUom = (val) => {
22
+ return isString(val) && POWER_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
23
+ };
24
+ export const isTimeUom = (val) => {
25
+ return isString(val) && TIME_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
26
+ };
27
+ export const isEnergyUom = (val) => {
28
+ return isString(val) && ENERGY_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
29
+ };
30
+ export const isPressureUom = (val) => {
31
+ return isString(val) && PRESSURE_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
32
+ };
33
+ export const isTemperatureUom = (val) => {
34
+ return isString(val) && TEMPERATURE_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
35
+ };
36
+ export const isVolumeUom = (val) => {
37
+ return isString(val) && VOLUME_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
38
+ };
39
+ export const isAccelerationUom = (val) => {
40
+ return isString(val) && ACCELERATION_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
41
+ };
42
+ export const isSpeedUom = (val) => {
43
+ return isString(val) && SPEED_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
44
+ };
45
+ export const isMassUom = (val) => {
46
+ return isString(val) && MASS_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
47
+ };
48
+ export const isDistanceUom = (val) => {
49
+ return isString(val) && ENERGY_METRICS_LOOKUP.map(i => i.abbrev).includes(val);
50
+ };
51
+ /**
52
+ * Type guard which validates the passed in `val` is a `Uom` (unit
53
+ * of measure).
54
+ */
55
+ export const isUom = (val) => {
56
+ return isDistanceUom(val)
57
+ || isMassUom(val)
58
+ || isSpeedUom(val)
59
+ || isAccelerationUom(val)
60
+ || isVoltageUom(val)
61
+ || isTemperatureUom(val)
62
+ || isPressureUom(val)
63
+ || isEnergyUom(val)
64
+ || isTimeUom(val)
65
+ || isPowerUom(val)
66
+ || isFrequencyUom(val)
67
+ || isVoltageUom(val)
68
+ || isCurrentUom(val)
69
+ || isLuminosityUom(val)
70
+ || isAreaUom(val);
71
+ };
@@ -2,6 +2,7 @@ import { ISO3166_1 } from "src/constants/index";
2
2
  import { If, IsEqual, IsStringLiteral } from "src/types/boolean-logic";
3
3
  import { AfterFirst, First } from "src/types/lists";
4
4
  export type Iso3166_1_Lookup = typeof ISO3166_1;
5
+ type Props = "alpha2" | "alpha3" | "countryCode" | "name";
5
6
  /**
6
7
  * **Iso3166_1_Alpha2**
7
8
  *
@@ -30,37 +31,69 @@ export type Iso3166_1_CountryCode = {
30
31
  [K in keyof Iso3166_1_Lookup]: "countryCode" extends keyof Iso3166_1_Lookup[K] ? Iso3166_1_Lookup[K]["countryCode"] : never;
31
32
  }[number];
32
33
  /**
33
- * **CountryName**
34
+ * **Iso3166_1_Alpha3**
34
35
  *
35
- * A union of all country names found in the ISO3166-1 standard.
36
+ * A union of all 2 character country codes defined by the ISO3166-1
37
+ * standard.
36
38
  */
37
- export type CountryName = {
39
+ export type Iso3166_1_CountryName = {
38
40
  [K in keyof Iso3166_1_Lookup]: "name" extends keyof Iso3166_1_Lookup[K] ? Iso3166_1_Lookup[K]["name"] : never;
39
41
  }[number];
42
+ /**
43
+ * Any identifying aspect of an ISO3166-1 country (alpha2, alpha3, code, name)
44
+ */
45
+ export type Iso3166_1_Token = Iso3166_1_Alpha2 | Iso3166_1_Alpha3 | Iso3166_1_CountryCode | Iso3166_1_CountryName;
40
46
  type LookupAlpha2<T extends Iso3166_1_Alpha2, Lookup extends readonly {
41
47
  name: string;
42
48
  alpha2: string;
43
49
  alpha3: string;
44
50
  countryCode: string;
45
- }[], Match extends Iso3166_1_CountryCode | undefined = undefined> = [] extends Lookup ? Match : T extends First<Lookup>["alpha2"] ? First<Lookup>["name"] : LookupAlpha2<T, AfterFirst<Lookup>, Match>;
51
+ }[], Prop extends Props> = [] extends Lookup ? undefined : T extends First<Lookup>["alpha2"] ? First<Lookup>[`${Prop}`] : LookupAlpha2<T, AfterFirst<Lookup>, Prop>;
46
52
  type LookupAlpha3<T extends Iso3166_1_Alpha3, Lookup extends readonly {
47
53
  name: string;
48
54
  alpha2: string;
49
55
  alpha3: string;
50
56
  countryCode: string;
51
- }[], Match extends Iso3166_1_CountryCode | undefined = undefined> = [] extends Lookup ? Match : T extends First<Lookup>["alpha3"] ? First<Lookup>["name"] : LookupAlpha3<T, AfterFirst<Lookup>, Match>;
57
+ }[], Prop extends Props> = [] extends Lookup ? undefined : T extends First<Lookup>["alpha3"] ? First<Lookup>[`${Prop}`] : LookupAlpha3<T, AfterFirst<Lookup>, Prop>;
52
58
  type LookupCountryCode<T extends Iso3166_1_CountryCode, Lookup extends readonly {
53
59
  name: string;
54
60
  alpha2: string;
55
61
  alpha3: string;
56
62
  countryCode: string;
57
- }[], Match extends Iso3166_1_CountryCode | undefined = undefined> = [] extends Lookup ? Match : T extends First<Lookup>["countryCode"] ? First<Lookup>["name"] : LookupCountryCode<T, AfterFirst<Lookup>, Match>;
63
+ }[], Prop extends Props> = [] extends Lookup ? undefined : T extends First<Lookup>["countryCode"] ? First<Lookup>[`${Prop}`] : LookupCountryCode<T, AfterFirst<Lookup>, Prop>;
64
+ type LookupCountryName<T extends Iso3166_1_CountryName, Lookup extends readonly {
65
+ name: string;
66
+ alpha2: string;
67
+ alpha3: string;
68
+ countryCode: string;
69
+ }[], Prop extends Props> = [] extends Lookup ? undefined : T extends First<Lookup>["name"] ? First<Lookup>[`${Prop}`] : LookupCountryName<T, AfterFirst<Lookup>, Prop>;
58
70
  /**
59
71
  * **Iso3166Country**`<T>`
60
72
  *
61
73
  * Provides the ISO3166-1 **country name** if provided a valid lookup value (
62
74
  * aka, a alpha-2, alpha-3, or country code). If not valid returns _undefined_.
63
75
  */
64
- export type Iso3166Country<T> = T extends number ? Iso3166Country<`${T}`> : T extends string ? IsStringLiteral<T> extends true ? T extends Iso3166_1_Alpha2 ? LookupAlpha2<T, Iso3166_1_Lookup> : T extends Iso3166_1_Alpha3 ? LookupAlpha3<T, Iso3166_1_Lookup> : T extends Iso3166_1_CountryCode ? LookupCountryCode<T, Iso3166_1_Lookup> : IsStringLiteral<T> extends true ? undefined : If<IsEqual<T, string>, Iso3166_1_CountryCode | undefined, undefined> : undefined : undefined;
76
+ export type Iso3166CountryLookup<T> = T extends number ? Iso3166CountryLookup<`${T}`> : T extends string ? IsStringLiteral<T> extends true ? T extends Iso3166_1_Alpha2 ? LookupAlpha2<T, Iso3166_1_Lookup, "name"> : T extends Iso3166_1_Alpha3 ? LookupAlpha3<T, Iso3166_1_Lookup, "name"> : T extends Iso3166_1_CountryCode ? LookupCountryCode<T, Iso3166_1_Lookup, "name"> : T extends Iso3166_1_CountryName ? LookupCountryName<T, Iso3166_1_Lookup, "name"> : IsStringLiteral<T> extends true ? undefined : If<IsEqual<T, string>, Iso3166_1_CountryCode | undefined, undefined> : undefined : undefined;
77
+ /**
78
+ * **Iso3166Alpha2Lookup**`<T>`
79
+ *
80
+ * Provides the ISO3166-1 **Alpha 2** code if provided a valid lookup value (
81
+ * aka, a alpha-3, country code, or country name). If not valid returns _undefined_.
82
+ */
83
+ export type Iso3166Alpha2Lookup<T> = T extends number ? Iso3166CountryLookup<`${T}`> : T extends string ? IsStringLiteral<T> extends true ? T extends Iso3166_1_Alpha2 ? LookupAlpha2<T, Iso3166_1_Lookup, "alpha2"> : T extends Iso3166_1_Alpha3 ? LookupAlpha3<T, Iso3166_1_Lookup, "alpha2"> : T extends Iso3166_1_CountryCode ? LookupCountryCode<T, Iso3166_1_Lookup, "alpha2"> : T extends Iso3166_1_CountryName ? LookupCountryName<T, Iso3166_1_Lookup, "alpha2"> : IsStringLiteral<T> extends true ? undefined : If<IsEqual<T, string>, Iso3166_1_Alpha2 | undefined, undefined> : undefined : undefined;
84
+ /**
85
+ * **Iso3166Alpha33Lookup**`<T>`
86
+ *
87
+ * Provides the ISO3166-1 **Alpha 3** code if provided a valid lookup value (
88
+ * aka, a alpha-3, country code, or country name). If not valid returns _undefined_.
89
+ */
90
+ export type Iso3166Alpha3Lookup<T> = T extends number ? Iso3166CountryLookup<`${T}`> : T extends string ? IsStringLiteral<T> extends true ? T extends Iso3166_1_Alpha2 ? LookupAlpha2<T, Iso3166_1_Lookup, "alpha3"> : T extends Iso3166_1_Alpha3 ? LookupAlpha3<T, Iso3166_1_Lookup, "alpha3"> : T extends Iso3166_1_CountryCode ? LookupCountryCode<T, Iso3166_1_Lookup, "alpha3"> : T extends Iso3166_1_CountryName ? LookupCountryName<T, Iso3166_1_Lookup, "alpha3"> : IsStringLiteral<T> extends true ? undefined : If<IsEqual<T, string>, Iso3166_1_Alpha3 | undefined, undefined> : undefined : undefined;
91
+ /**
92
+ * **Iso3166Alpha33Lookup**`<T>`
93
+ *
94
+ * Provides the ISO3166-1 **Alpha 3** code if provided a valid lookup value (
95
+ * aka, a alpha-3, country code, or country name). If not valid returns _undefined_.
96
+ */
97
+ export type Iso3166CodeLookup<T> = T extends number ? Iso3166CountryLookup<`${T}`> : T extends string ? IsStringLiteral<T> extends true ? T extends Iso3166_1_Alpha2 ? LookupAlpha2<T, Iso3166_1_Lookup, "countryCode"> : T extends Iso3166_1_Alpha3 ? LookupAlpha3<T, Iso3166_1_Lookup, "countryCode"> : T extends Iso3166_1_CountryCode ? LookupCountryCode<T, Iso3166_1_Lookup, "countryCode"> : T extends Iso3166_1_CountryName ? LookupCountryName<T, Iso3166_1_Lookup, "countryCode"> : IsStringLiteral<T> extends true ? undefined : If<IsEqual<T, string>, Iso3166_1_CountryCode | undefined, undefined> : undefined : undefined;
65
98
  export {};
66
99
  //# sourceMappingURL=Country.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Country.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/Country.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Country.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/Country.ts"],"names":[],"mappings":"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"}
@@ -40,4 +40,5 @@ export * from "./character-sets/index";
40
40
  export * from "./casing/index";
41
41
  export * from "./options/index";
42
42
  export * from "./geo/index";
43
+ export * from "./metrics/index";
43
44
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/index.ts"],"names":[],"mappings":"AAMA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/index.ts"],"names":[],"mappings":"AAMA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
@@ -45,6 +45,7 @@ export * from "./character-sets/index";
45
45
  export * from "./casing/index";
46
46
  export * from "./options/index";
47
47
  export * from "./geo/index";
48
+ export * from "./metrics/index";
48
49
  // #endregion auto-indexed files
49
50
  // see https://github.com/inocan-group/do-devops/docs/autoindex.md
50
51
  // for more info
@@ -0,0 +1,26 @@
1
+ import { ACCELERATION_METRICS_LOOKUP } from "src/constants/index";
2
+ import { OptSpace } from "../character-sets/OptionalSpace";
3
+ type AccelerationMetricsLookup = typeof ACCELERATION_METRICS_LOOKUP;
4
+ /**
5
+ * The singular name for metrics associated with **distance**.
6
+ */
7
+ export type AccelerationMetrics = {
8
+ [K in keyof AccelerationMetricsLookup]: "name" extends keyof AccelerationMetricsLookup[K] ? AccelerationMetricsLookup[K]["name"] : never;
9
+ }[number];
10
+ /**
11
+ * Unit of measure for metrics associated with **Acceleration**.
12
+ */
13
+ export type AccelerationUom = {
14
+ [K in keyof AccelerationMetricsLookup]: "abbrev" extends keyof AccelerationMetricsLookup[K] ? AccelerationMetricsLookup[K]["abbrev"] : never;
15
+ }[number];
16
+ /***
17
+ * **Acceleration**
18
+ *
19
+ * A _acceleration_ based measurement which leads with a number and follows with
20
+ * a metric name.
21
+ *
22
+ * **Related:** `AccelerationAbbrev`
23
+ */
24
+ export type Acceleration = `${number}${OptSpace}${AccelerationUom}`;
25
+ export {};
26
+ //# sourceMappingURL=acceleration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acceleration.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/metrics/acceleration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,KAAK,yBAAyB,GAAG,OAAO,2BAA2B,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;KAC/B,CAAC,IAAI,MAAM,yBAAyB,GAAG,MAAM,SAAS,MAAM,yBAAyB,CAAC,CAAC,CAAC,GACrF,yBAAyB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GACpC,KAAK;CACV,CAAC,MAAM,CAAC,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;KAC3B,CAAC,IAAI,MAAM,yBAAyB,GAAG,QAAQ,SAAS,MAAM,yBAAyB,CAAC,CAAC,CAAC,GACvF,yBAAyB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GACtC,KAAK;CACV,CAAC,MAAM,CAAC,CAAC;AAGV;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,GAAG,MAAM,GAAG,QAAQ,GAAG,eAAe,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ export {};