quantible 0.1.0-alpha

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 (102) hide show
  1. package/README.md +97 -0
  2. package/dist/cjs/config/default.js +395 -0
  3. package/dist/cjs/config/default.js.map +1 -0
  4. package/dist/cjs/converters/convertCurrencyToSpokenWord.js +28 -0
  5. package/dist/cjs/converters/convertCurrencyToSpokenWord.js.map +1 -0
  6. package/dist/cjs/converters/convertNumberToSpokenWord.js +32 -0
  7. package/dist/cjs/converters/convertNumberToSpokenWord.js.map +1 -0
  8. package/dist/cjs/converters/convertNumericUnitToSpokenWord.js +48 -0
  9. package/dist/cjs/converters/convertNumericUnitToSpokenWord.js.map +1 -0
  10. package/dist/cjs/converters/convertOperatorToSpokenWord.js +17 -0
  11. package/dist/cjs/converters/convertOperatorToSpokenWord.js.map +1 -0
  12. package/dist/cjs/converters/convertScientificExpressionToSpokenWord.js +35 -0
  13. package/dist/cjs/converters/convertScientificExpressionToSpokenWord.js.map +1 -0
  14. package/dist/cjs/converters/convertUnitOnlyToSpokenWord.js +27 -0
  15. package/dist/cjs/converters/convertUnitOnlyToSpokenWord.js.map +1 -0
  16. package/dist/cjs/index.js +116 -0
  17. package/dist/cjs/index.js.map +1 -0
  18. package/dist/cjs/interfaces/configurations/default.js +3 -0
  19. package/dist/cjs/interfaces/configurations/default.js.map +1 -0
  20. package/dist/cjs/interfaces/definitions.js +3 -0
  21. package/dist/cjs/interfaces/definitions.js.map +1 -0
  22. package/dist/cjs/utils/extraction/patternExtractor.js +96 -0
  23. package/dist/cjs/utils/extraction/patternExtractor.js.map +1 -0
  24. package/dist/cjs/utils/extraction/regexPatterns.js +65 -0
  25. package/dist/cjs/utils/extraction/regexPatterns.js.map +1 -0
  26. package/dist/cjs/utils/parseSuperscript.js +33 -0
  27. package/dist/cjs/utils/parseSuperscript.js.map +1 -0
  28. package/dist/cjs/utils/stringBuilding/exponent.js +21 -0
  29. package/dist/cjs/utils/stringBuilding/exponent.js.map +1 -0
  30. package/dist/cjs/utils/stringBuilding/negative.js +8 -0
  31. package/dist/cjs/utils/stringBuilding/negative.js.map +1 -0
  32. package/dist/cjs/utils/stringBuilding/perDigit.js +18 -0
  33. package/dist/cjs/utils/stringBuilding/perDigit.js.map +1 -0
  34. package/dist/cjs/utils/stringBuilding/positiveInteger.js +31 -0
  35. package/dist/cjs/utils/stringBuilding/positiveInteger.js.map +1 -0
  36. package/dist/cjs/utils/stringBuilding/twoDigits.js +18 -0
  37. package/dist/cjs/utils/stringBuilding/twoDigits.js.map +1 -0
  38. package/dist/cjs/utils/stringBuilding/zeroTo999.js +37 -0
  39. package/dist/cjs/utils/stringBuilding/zeroTo999.js.map +1 -0
  40. package/dist/cjs/utils/validateExtractionResultObject.js +206 -0
  41. package/dist/cjs/utils/validateExtractionResultObject.js.map +1 -0
  42. package/dist/esm/config/default.js +392 -0
  43. package/dist/esm/config/default.js.map +1 -0
  44. package/dist/esm/converters/convertCurrencyToSpokenWord.js +25 -0
  45. package/dist/esm/converters/convertCurrencyToSpokenWord.js.map +1 -0
  46. package/dist/esm/converters/convertNumberToSpokenWord.js +29 -0
  47. package/dist/esm/converters/convertNumberToSpokenWord.js.map +1 -0
  48. package/dist/esm/converters/convertNumericUnitToSpokenWord.js +45 -0
  49. package/dist/esm/converters/convertNumericUnitToSpokenWord.js.map +1 -0
  50. package/dist/esm/converters/convertOperatorToSpokenWord.js +14 -0
  51. package/dist/esm/converters/convertOperatorToSpokenWord.js.map +1 -0
  52. package/dist/esm/converters/convertScientificExpressionToSpokenWord.js +32 -0
  53. package/dist/esm/converters/convertScientificExpressionToSpokenWord.js.map +1 -0
  54. package/dist/esm/converters/convertUnitOnlyToSpokenWord.js +24 -0
  55. package/dist/esm/converters/convertUnitOnlyToSpokenWord.js.map +1 -0
  56. package/dist/esm/index.js +111 -0
  57. package/dist/esm/index.js.map +1 -0
  58. package/dist/esm/interfaces/configurations/default.js +2 -0
  59. package/dist/esm/interfaces/configurations/default.js.map +1 -0
  60. package/dist/esm/interfaces/definitions.js +2 -0
  61. package/dist/esm/interfaces/definitions.js.map +1 -0
  62. package/dist/esm/utils/extraction/patternExtractor.js +92 -0
  63. package/dist/esm/utils/extraction/patternExtractor.js.map +1 -0
  64. package/dist/esm/utils/extraction/regexPatterns.js +62 -0
  65. package/dist/esm/utils/extraction/regexPatterns.js.map +1 -0
  66. package/dist/esm/utils/parseSuperscript.js +30 -0
  67. package/dist/esm/utils/parseSuperscript.js.map +1 -0
  68. package/dist/esm/utils/stringBuilding/exponent.js +18 -0
  69. package/dist/esm/utils/stringBuilding/exponent.js.map +1 -0
  70. package/dist/esm/utils/stringBuilding/negative.js +4 -0
  71. package/dist/esm/utils/stringBuilding/negative.js.map +1 -0
  72. package/dist/esm/utils/stringBuilding/perDigit.js +15 -0
  73. package/dist/esm/utils/stringBuilding/perDigit.js.map +1 -0
  74. package/dist/esm/utils/stringBuilding/positiveInteger.js +28 -0
  75. package/dist/esm/utils/stringBuilding/positiveInteger.js.map +1 -0
  76. package/dist/esm/utils/stringBuilding/twoDigits.js +15 -0
  77. package/dist/esm/utils/stringBuilding/twoDigits.js.map +1 -0
  78. package/dist/esm/utils/stringBuilding/zeroTo999.js +34 -0
  79. package/dist/esm/utils/stringBuilding/zeroTo999.js.map +1 -0
  80. package/dist/esm/utils/validateExtractionResultObject.js +203 -0
  81. package/dist/esm/utils/validateExtractionResultObject.js.map +1 -0
  82. package/dist/types/config/default.d.ts +39 -0
  83. package/dist/types/converters/convertCurrencyToSpokenWord.d.ts +7 -0
  84. package/dist/types/converters/convertNumberToSpokenWord.d.ts +7 -0
  85. package/dist/types/converters/convertNumericUnitToSpokenWord.d.ts +7 -0
  86. package/dist/types/converters/convertOperatorToSpokenWord.d.ts +7 -0
  87. package/dist/types/converters/convertScientificExpressionToSpokenWord.d.ts +7 -0
  88. package/dist/types/converters/convertUnitOnlyToSpokenWord.d.ts +7 -0
  89. package/dist/types/index.d.ts +58 -0
  90. package/dist/types/interfaces/configurations/default.d.ts +22 -0
  91. package/dist/types/interfaces/definitions.d.ts +100 -0
  92. package/dist/types/utils/extraction/patternExtractor.d.ts +21 -0
  93. package/dist/types/utils/extraction/regexPatterns.d.ts +2 -0
  94. package/dist/types/utils/parseSuperscript.d.ts +6 -0
  95. package/dist/types/utils/stringBuilding/exponent.d.ts +2 -0
  96. package/dist/types/utils/stringBuilding/negative.d.ts +1 -0
  97. package/dist/types/utils/stringBuilding/perDigit.d.ts +7 -0
  98. package/dist/types/utils/stringBuilding/positiveInteger.d.ts +6 -0
  99. package/dist/types/utils/stringBuilding/twoDigits.d.ts +6 -0
  100. package/dist/types/utils/stringBuilding/zeroTo999.d.ts +6 -0
  101. package/dist/types/utils/validateExtractionResultObject.d.ts +12 -0
  102. package/package.json +61 -0
package/README.md ADDED
@@ -0,0 +1,97 @@
1
+ # quantible
2
+
3
+ A library for converting quantities, numbers, and simple expressions to spoken words.
4
+
5
+ ## Examples:
6
+
7
+ - 5 - 10 = five minus ten
8
+ - -5 + 10 = negative five plus ten
9
+ - 10m/s = ten meters per second
10
+ - 15m/s² = fifteen meters per second squared
11
+ - 15² || 15^2 = fifteen to the power of two
12
+ - 2^2m^2 = two to the power of two meters squared
13
+ - 2^2m² = two to the power of two square meters
14
+ - 5E-10 = five times ten to the power of negative ten
15
+ - -5E10 = negative five times ten to the power of ten
16
+ - 5E10 = five times ten to the power of ten
17
+ - 5 USD = five dollars
18
+ - $5 = five dollars
19
+ - 5.25 USD = five dollars and twenty five cents
20
+ - $5.25 = five dollars and twenty five cents
21
+
22
+ When using the autoReplaceAllMatches function, it will convert all quantities in a string to spoken words. For example, it transformed this sentence:
23
+
24
+ ###### "We made $500 more this year than last years projections of 25%"
25
+
26
+ into this sentence:
27
+
28
+ ###### We made five hundred dollars more this year than last years projections of twenty five percent
29
+
30
+ ## Installation
31
+
32
+ ```bash
33
+ npm install quantible
34
+ ```
35
+
36
+ ## Example Usage
37
+
38
+ ### Extracting and translating a quantity
39
+
40
+ ```javascript
41
+ import { convertQuantities, extractQuantities } from "quantible";
42
+
43
+ const input = "123.45 USD";
44
+ const extractedData = extractQuantities.firstMatch(input);
45
+
46
+ console.log(extractedData);
47
+ // Output: {
48
+ // integer: '123',
49
+ // decimal: '45',
50
+ // negativeInt: false,
51
+ // currency: 'USD',
52
+ // matchType: 'codeCurrency',
53
+ // input: '123.45 USD',
54
+ // index: 0
55
+ // }
56
+
57
+ const spokenWord = convertQuantities.translateMatch(extractedData);
58
+
59
+ console.log(spokenWord);
60
+ // Output:
61
+ // one hundred twenty-three dollars and forty-five cents
62
+ ```
63
+
64
+ ### Extracting all quanities and do something with them
65
+
66
+ ```javascript
67
+ import { convertQuantities, extractQuantities } from "quantible";
68
+
69
+ const input = "The price is $5.25 and the quantity is 10.";
70
+ const extractedData2 = extractQuantities.allMatches(input);
71
+ extractedData2.forEach((match) => {
72
+ console.log(convertQuantities.translateMatch(match));
73
+ });
74
+ // Output: The price is five dollars and twenty five cents and the quantity is ten.
75
+ ```
76
+
77
+ ### Auto-replacing quantities in a string
78
+
79
+ ```javascript
80
+ // Auto-replacing the first match
81
+ const inputFirstMatch = "I have 5 USD and 10 EUR.";
82
+ const replacedString1 = convertQuantities.autoReplaceFirstMatch(inputFirstMatch);
83
+ console.log(replacedString1); // Output: I have five dollars and 10 EUR.
84
+
85
+ // Auto-replacing all matches
86
+ const inputReplaceAllMatches = "I have 5 USD and 10 EUR.";
87
+ const replacedString2 = convertQuantities.autoReplaceAllMatches(inputReplaceAllMatches);
88
+ console.log(replacedString2); // Output: I have five dollars and ten euros.
89
+ ```
90
+
91
+ ## Contributing
92
+
93
+ We welcome contributions to quantible! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute.
94
+
95
+ ## License
96
+
97
+ ISC
@@ -0,0 +1,395 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.math = exports.currencies = exports.currencyCodes = exports.currencySymbols = exports.numbers = exports.units = void 0;
4
+ exports.units = {
5
+ // Base units
6
+ m: { singular: "meter", plural: "meters" },
7
+ "%": { singular: "percent", plural: "percent" },
8
+ cm: { singular: "centimeter", plural: "centimeters" },
9
+ mm: { singular: "millimeter", plural: "millimeters" },
10
+ km: { singular: "kilometer", plural: "kilometers" },
11
+ in: { singular: "inch", plural: "inches" },
12
+ ft: { singular: "foot", plural: "feet" },
13
+ yd: { singular: "yard", plural: "yards" },
14
+ mi: { singular: "mile", plural: "miles" },
15
+ g: { singular: "gram", plural: "grams" },
16
+ mg: { singular: "milligram", plural: "milligrams" },
17
+ kg: { singular: "kilogram", plural: "kilograms" },
18
+ L: { singular: "liter", plural: "liters" },
19
+ mL: { singular: "milliliter", plural: "milliliters" },
20
+ s: { singular: "second", plural: "seconds" },
21
+ min: { singular: "minute", plural: "minutes" },
22
+ h: { singular: "hour", plural: "hours" },
23
+ // Additional Time Units
24
+ d: { singular: "day", plural: "days" },
25
+ wk: { singular: "week", plural: "weeks" },
26
+ mo: { singular: "month", plural: "months" },
27
+ yr: { singular: "year", plural: "years" },
28
+ // Additional Length Units
29
+ μm: { singular: "micrometer", plural: "micrometers" },
30
+ nm: { singular: "nanometer", plural: "nanometers" },
31
+ nmi: { singular: "nautical mile", plural: "nautical miles" },
32
+ // Additional Mass Units
33
+ μg: { singular: "microgram", plural: "micrograms" },
34
+ t: { singular: "tonne", plural: "tonnes" },
35
+ lb: { singular: "pound", plural: "pounds" },
36
+ oz: { singular: "ounce", plural: "ounces" },
37
+ st: { singular: "stone", plural: "stones" },
38
+ // Volume Units
39
+ "cm³": { singular: "cubic centimeter", plural: "cubic centimeters" },
40
+ gal: { singular: "gallon", plural: "gallons" },
41
+ pt: { singular: "pint", plural: "pints" },
42
+ qt: { singular: "quart", plural: "quarts" },
43
+ "fl oz": { singular: "fluid ounce", plural: "fluid ounces" },
44
+ "ft³": { singular: "cubic foot", plural: "cubic feet" },
45
+ "in³": { singular: "cubic inch", plural: "cubic inches" },
46
+ bbl: { singular: "barrel", plural: "barrels" },
47
+ // Area Units
48
+ "m²": { singular: "square meter", plural: "square meters" },
49
+ "km²": { singular: "square kilometer", plural: "square kilometers" },
50
+ "cm²": { singular: "square centimeter", plural: "square centimeters" },
51
+ "mm²": { singular: "square millimeter", plural: "square millimeters" },
52
+ ha: { singular: "hectare", plural: "hectares" },
53
+ "ft²": { singular: "square foot", plural: "square feet" },
54
+ "in²": { singular: "square inch", plural: "square inches" },
55
+ ac: { singular: "acre", plural: "acres" },
56
+ // Angle Units
57
+ rad: { singular: "radian", plural: "radians" },
58
+ deg: { singular: "degree", plural: "degrees" },
59
+ grad: { singular: "gradian", plural: "gradians" },
60
+ // Temperature Units
61
+ K: { singular: "kelvin", plural: "kelvins" },
62
+ "°C": { singular: "degree Celsius", plural: "degrees Celsius" },
63
+ "°F": { singular: "degree Fahrenheit", plural: "degrees Fahrenheit" },
64
+ // Speed Units
65
+ "m/s": { singular: "meter per second", plural: "meters per second" },
66
+ "m/s²": {
67
+ singular: "meter per second squared",
68
+ plural: "meters per second squared",
69
+ },
70
+ "km/h": { singular: "kilometer per hour", plural: "kilometers per hour" },
71
+ "km/L": { singular: "kilometer per liter", plural: "kilometers per liter" },
72
+ mph: { singular: "mile per hour", plural: "miles per hour" },
73
+ "ft/s": { singular: "foot per second", plural: "feet per second" },
74
+ kn: { singular: "knot", plural: "knots" },
75
+ mach: { singular: "mach", plural: "" },
76
+ c: { singular: "speed of light", plural: "" },
77
+ // Force Units
78
+ N: { singular: "newton", plural: "newtons" },
79
+ kgf: { singular: "kilogram-force", plural: "" },
80
+ lbf: { singular: "pound-force", plural: "" },
81
+ dyn: { singular: "dyne", plural: "dynes" },
82
+ // Pressure Units
83
+ Pa: { singular: "pascal", plural: "pascals" },
84
+ kPa: { singular: "kilopascal", plural: "kilopascals" },
85
+ MPa: { singular: "megapascal", plural: "megapascals" },
86
+ bar: { singular: "bar", plural: "bars" },
87
+ atm: { singular: "atmosphere", plural: "atmospheres" },
88
+ mmHg: { singular: "millimeter of mercury", plural: "millimeters of mercury" },
89
+ inHg: { singular: "inch of mercury", plural: "inches of mercury" },
90
+ psi: { singular: "pound per square inch", plural: "pounds per square inch" },
91
+ "N/m²": {
92
+ singular: "newton per square meter",
93
+ plural: "newtons per square meter",
94
+ },
95
+ "kg/m²": {
96
+ singular: "kilogram per square meter",
97
+ plural: "kilograms per square meter",
98
+ },
99
+ // Energy Units
100
+ J: { singular: "joule", plural: "joules" },
101
+ kJ: { singular: "kilojoule", plural: "kilojoules" },
102
+ MJ: { singular: "megajoule", plural: "megajoules" },
103
+ cal: { singular: "calorie", plural: "calories" },
104
+ kcal: { singular: "kilocalorie", plural: "kilocalories" },
105
+ eV: { singular: "electron volt", plural: "electron volts" },
106
+ BTU: { singular: "British thermal unit", plural: "British thermal units" },
107
+ kWh: { singular: "kilowatt hour", plural: "kilowatt hours" },
108
+ // Power Units
109
+ W: { singular: "watt", plural: "watts" },
110
+ kW: { singular: "kilowatt", plural: "kilowatts" },
111
+ MW: { singular: "megawatt", plural: "megawatts" },
112
+ hp: { singular: "horsepower", plural: "" },
113
+ // Frequency Units
114
+ Hz: { singular: "hertz", plural: "" },
115
+ kHz: { singular: "kilohertz", plural: "" },
116
+ MHz: { singular: "megahertz", plural: "" },
117
+ GHz: { singular: "gigahertz", plural: "" },
118
+ rpm: { singular: "revolution per minute", plural: "revolutions per minute" },
119
+ "rad/s": { singular: "radian per second", plural: "radians per second" },
120
+ "deg/s": { singular: "degree per second", plural: "degrees per second" },
121
+ // Electrical Units
122
+ V: { singular: "volt", plural: "volts" },
123
+ mV: { singular: "millivolt", plural: "millivolts" },
124
+ μV: { singular: "microvolt", plural: "microvolts" },
125
+ kV: { singular: "kilovolt", plural: "kilovolts" },
126
+ A: { singular: "ampere", plural: "amperes" },
127
+ mA: { singular: "milliampere", plural: "milliamperes" },
128
+ μA: { singular: "microampere", plural: "microamperes" },
129
+ Ω: { singular: "ohm", plural: "ohms" },
130
+ kΩ: { singular: "kilohm", plural: "kilohms" },
131
+ MΩ: { singular: "megohm", plural: "megohms" },
132
+ F: { singular: "farad", plural: "farads" },
133
+ μF: { singular: "microfarad", plural: "microfarads" },
134
+ nF: { singular: "nanofarad", plural: "nanofarads" },
135
+ pF: { singular: "picofarad", plural: "picofarads" },
136
+ H: { singular: "henry", plural: "henries" },
137
+ mH: { singular: "millihenry", plural: "millihenries" },
138
+ μH: { singular: "microhenry", plural: "microhenries" },
139
+ S: { singular: "siemens", plural: "" },
140
+ "S/m": { singular: "siemens per meter", plural: "" },
141
+ "F/m": { singular: "farad per meter", plural: "farads per meter" },
142
+ "Ω·m": { singular: "ohm meter", plural: "ohm meters" },
143
+ "V/m": { singular: "volt per meter", plural: "volts per meter" },
144
+ "A/m": { singular: "ampere per meter", plural: "amperes per meter" },
145
+ // Magnetic Units
146
+ T: { singular: "tesla", plural: "teslas" },
147
+ mT: { singular: "millitesla", plural: "milliteslas" },
148
+ μT: { singular: "microtesla", plural: "microteslas" },
149
+ G: { singular: "gauss", plural: "" },
150
+ Wb: { singular: "weber", plural: "webers" },
151
+ mWb: { singular: "milliweber", plural: "milliwebers" },
152
+ μWb: { singular: "microweber", plural: "microwebers" },
153
+ // Density Units
154
+ "kg/m³": {
155
+ singular: "kilogram per cubic meter",
156
+ plural: "kilograms per cubic meter",
157
+ },
158
+ "g/cm³": {
159
+ singular: "gram per cubic centimeter",
160
+ plural: "grams per cubic centimeter",
161
+ },
162
+ "g/mL": { singular: "gram per milliliter", plural: "grams per milliliter" },
163
+ "lb/ft³": {
164
+ singular: "pound per cubic foot",
165
+ plural: "pounds per cubic foot",
166
+ },
167
+ "lb/in³": {
168
+ singular: "pound per cubic inch",
169
+ plural: "pounds per cubic inch",
170
+ },
171
+ sg: { singular: "specific gravity", plural: "" },
172
+ // Volumetric Flow Units
173
+ "m³/s": {
174
+ singular: "cubic meter per second",
175
+ plural: "cubic meters per second",
176
+ },
177
+ "L/s": { singular: "liter per second", plural: "liters per second" },
178
+ "L/min": { singular: "liter per minute", plural: "liters per minute" },
179
+ "L/h": { singular: "liter per hour", plural: "liters per hour" },
180
+ "gal/min": { singular: "gallon per minute", plural: "gallons per minute" },
181
+ "ft³/s": {
182
+ singular: "cubic foot per second",
183
+ plural: "cubic feet per second",
184
+ },
185
+ "bbl/d": { singular: "barrel per day", plural: "barrels per day" },
186
+ // Fuel Economy Units
187
+ "L/100km": { singular: "liter per 100 kilometers", plural: "" },
188
+ mpg: { singular: "mile per gallon", plural: "miles per gallon" },
189
+ mpg_imp: {
190
+ singular: "mile per gallon imperial",
191
+ plural: "miles per gallon imperial",
192
+ },
193
+ "L/km": { singular: "liter per kilometer", plural: "liters per kilometer" },
194
+ "L/m": { singular: "liter per meter", plural: "liters per meter" },
195
+ // Concentration Units
196
+ ppm: { singular: "part per million", plural: "parts per million" },
197
+ ppb: { singular: "part per billion", plural: "parts per billion" },
198
+ ppt: { singular: "part per trillion", plural: "parts per trillion" },
199
+ "mol/L": { singular: "mole per liter", plural: "moles per liter" },
200
+ "mol/m³": {
201
+ singular: "mole per cubic meter",
202
+ plural: "moles per cubic meter",
203
+ },
204
+ "mg/L": { singular: "milligram per liter", plural: "milligrams per liter" },
205
+ "g/L": { singular: "gram per liter", plural: "grams per liter" },
206
+ "mg/kg": {
207
+ singular: "milligram per kilogram",
208
+ plural: "milligrams per kilogram",
209
+ },
210
+ // Illumination Units
211
+ lm: { singular: "lumen", plural: "lumens" },
212
+ cd: { singular: "candela", plural: "candelas" },
213
+ lx: { singular: "lux", plural: "" },
214
+ "ft-cd": { singular: "foot-candle", plural: "foot-candles" },
215
+ // Radiation Units
216
+ Bq: { singular: "becquerel", plural: "becquerels" },
217
+ Ci: { singular: "curie", plural: "curies" },
218
+ Sv: { singular: "sievert", plural: "sieverts" },
219
+ Gy: { singular: "gray", plural: "grays" },
220
+ // Catalytic Activity Units
221
+ kat: { singular: "katal", plural: "katals" },
222
+ U: { singular: "enzyme unit", plural: "enzyme units" },
223
+ // Viscosity and Fluid Properties Units
224
+ "Pa·s": { singular: "pascal second", plural: "pascal seconds" },
225
+ cP: { singular: "centipoise", plural: "" },
226
+ "kg/(m·s)": {
227
+ singular: "kilogram per meter second",
228
+ plural: "kilograms per meter second",
229
+ },
230
+ "lb/(ft·s)": {
231
+ singular: "pound per foot second",
232
+ plural: "pounds per foot second",
233
+ },
234
+ "m²/s": {
235
+ singular: "square meter per second",
236
+ plural: "square meters per second",
237
+ },
238
+ St: { singular: "stokes", plural: "" },
239
+ cSt: { singular: "centistokes", plural: "" },
240
+ "N/m": { singular: "newton per meter", plural: "newtons per meter" },
241
+ "dyn/cm": { singular: "dyne per centimeter", plural: "dynes per centimeter" },
242
+ // Thermal Properties Units
243
+ "W/(m·K)": {
244
+ singular: "watt per meter kelvin",
245
+ plural: "watts per meter kelvin",
246
+ },
247
+ "cal/(cm·s·°C)": {
248
+ singular: "calorie per centimeter second degree Celsius",
249
+ plural: "calories per centimeter second degree Celsius",
250
+ },
251
+ "J/(kg·K)": {
252
+ singular: "joule per kilogram kelvin",
253
+ plural: "joules per kilogram kelvin",
254
+ },
255
+ "cal/(g·°C)": {
256
+ singular: "calorie per gram degree Celsius",
257
+ plural: "calories per gram degree Celsius",
258
+ },
259
+ "1/K": { singular: "per kelvin", plural: "" },
260
+ "1/°C": { singular: "per degree Celsius", plural: "" },
261
+ "W/m²": {
262
+ singular: "watt per square meter",
263
+ plural: "watts per square meter",
264
+ },
265
+ "cal/(cm²·s)": {
266
+ singular: "calorie per square centimeter second",
267
+ plural: "calories per square centimeter second",
268
+ },
269
+ "W/(m²·K)": {
270
+ singular: "watt per square meter kelvin",
271
+ plural: "watts per square meter kelvin",
272
+ },
273
+ "cal/(cm²·s·°C)": {
274
+ singular: "calorie per square centimeter second degree Celsius",
275
+ plural: "calories per square centimeter second degree Celsius",
276
+ },
277
+ "K/W": { singular: "kelvin per watt", plural: "kelvins per watt" },
278
+ "°C/W": {
279
+ singular: "degree Celsius per watt",
280
+ plural: "degrees Celsius per watt",
281
+ },
282
+ // Data Transfer and Storage Units
283
+ b: { singular: "bit", plural: "bits" },
284
+ B: { singular: "byte", plural: "bytes" },
285
+ kb: { singular: "kilobit", plural: "kilobits" },
286
+ kB: { singular: "kilobyte", plural: "kilobytes" },
287
+ Mb: { singular: "megabit", plural: "megabits" },
288
+ MB: { singular: "megabyte", plural: "megabytes" },
289
+ Gb: { singular: "gigabit", plural: "gigabits" },
290
+ GB: { singular: "gigabyte", plural: "gigabytes" },
291
+ Tb: { singular: "terabit", plural: "terabits" },
292
+ TB: { singular: "terabyte", plural: "terabytes" },
293
+ bps: { singular: "bit per second", plural: "bits per second" },
294
+ kbps: { singular: "kilobit per second", plural: "kilobits per second" },
295
+ Mbps: { singular: "megabit per second", plural: "megabits per second" },
296
+ Gbps: { singular: "gigabit per second", plural: "gigabits per second" },
297
+ };
298
+ exports.numbers = {
299
+ ones: ["", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"],
300
+ teens: ["ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"],
301
+ tens: ["", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"],
302
+ scales: ["", "thousand", "million", "billion", "trillion", "quadrillion", "quintillion"],
303
+ ordinals: {
304
+ one: "first",
305
+ two: "second",
306
+ three: "third",
307
+ five: "fifth",
308
+ eight: "eighth",
309
+ nine: "ninth",
310
+ twelve: "twelfth",
311
+ },
312
+ };
313
+ exports.currencySymbols = {
314
+ $: {
315
+ singular: "dollar",
316
+ plural: "dollars",
317
+ fraction: { singular: "cent", plural: "cents" },
318
+ },
319
+ "€": {
320
+ singular: "euro",
321
+ plural: "euros",
322
+ fraction: { singular: "cent", plural: "cents" },
323
+ },
324
+ "£": {
325
+ singular: "pound",
326
+ plural: "pounds",
327
+ fraction: { singular: "penny", plural: "pence" },
328
+ },
329
+ "¥": {
330
+ singular: "yen",
331
+ plural: "yen",
332
+ fraction: null,
333
+ },
334
+ "₹": {
335
+ singular: "rupee",
336
+ plural: "rupees",
337
+ fraction: { singular: "paisa", plural: "paise" },
338
+ },
339
+ };
340
+ // Currency codes
341
+ exports.currencyCodes = {
342
+ USD: {
343
+ singular: "dollar",
344
+ plural: "dollars",
345
+ fraction: { singular: "cent", plural: "cents" },
346
+ },
347
+ EUR: {
348
+ singular: "euro",
349
+ plural: "euros",
350
+ fraction: { singular: "cent", plural: "cents" },
351
+ },
352
+ GBP: {
353
+ singular: "pound",
354
+ plural: "pounds",
355
+ fraction: { singular: "penny", plural: "pence" },
356
+ },
357
+ JPY: {
358
+ singular: "yen",
359
+ plural: "yen",
360
+ fraction: null,
361
+ },
362
+ INR: {
363
+ singular: "rupee",
364
+ plural: "rupees",
365
+ fraction: { singular: "paisa", plural: "paise" },
366
+ },
367
+ CHF: {
368
+ singular: "Swiss franc",
369
+ plural: "Swiss francs",
370
+ fraction: { singular: "rappen", plural: "rappen" },
371
+ },
372
+ AUD: {
373
+ singular: "Australian dollar",
374
+ plural: "Australian dollars",
375
+ fraction: { singular: "cent", plural: "cents" },
376
+ },
377
+ CAD: {
378
+ singular: "Canadian dollar",
379
+ plural: "Canadian dollars",
380
+ fraction: { singular: "cent", plural: "cents" },
381
+ },
382
+ };
383
+ exports.currencies = Object.assign(Object.assign({}, exports.currencySymbols), exports.currencyCodes);
384
+ exports.math = {
385
+ "+": "plus",
386
+ "-": "minus",
387
+ "*": "times",
388
+ "×": "times",
389
+ "·": "times",
390
+ "/": "divided by",
391
+ "÷": "divided by",
392
+ ":": "divided by",
393
+ "^": "to the power of",
394
+ };
395
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/config/default.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertCurrencyToSpokenWord = convertCurrencyToSpokenWord;
4
+ const default_1 = require("../config/default");
5
+ const positiveInteger_1 = require("../utils/stringBuilding/positiveInteger");
6
+ const twoDigits_1 = require("../utils/stringBuilding/twoDigits");
7
+ const negative_1 = require("../utils/stringBuilding/negative");
8
+ /**
9
+ * Converts a currency object into its spoken word representation.
10
+ * @param {baseCurrency} amount - The currency object to convert.
11
+ * @returns {string} The spoken word representation of the currency.
12
+ */
13
+ function convertCurrencyToSpokenWord(amount) {
14
+ let sentence = "";
15
+ const { integer, decimal, negativeInt, currency } = amount;
16
+ let currencyConfig = default_1.currencies[currency];
17
+ let parsedInteger = parseInt(integer);
18
+ sentence += (0, negative_1.negative)(negativeInt);
19
+ sentence += (0, positiveInteger_1.positiveInteger)(parsedInteger) + " ";
20
+ sentence += parsedInteger < 2 ? currencyConfig.singular : currencyConfig.plural + " ";
21
+ if (decimal !== undefined && currencyConfig.fraction !== null && currencyConfig.fraction !== undefined) {
22
+ sentence += "and ";
23
+ sentence += (0, twoDigits_1.twoDigit)(decimal) + " ";
24
+ sentence += parseInt(decimal) < 2 ? currencyConfig.fraction.singular : currencyConfig.fraction.plural;
25
+ }
26
+ return sentence.trim();
27
+ }
28
+ //# sourceMappingURL=convertCurrencyToSpokenWord.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertCurrencyToSpokenWord.js","sourceRoot":"","sources":["../../../src/converters/convertCurrencyToSpokenWord.ts"],"names":[],"mappings":";;AAYA,kEAiBC;AA7BD,+CAA+C;AAE/C,6EAA0E;AAC1E,iEAA6D;AAC7D,+DAA4D;AAG5D;;;;GAIG;AACH,SAAgB,2BAA2B,CAAC,MAAoB;IAC9D,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE3D,IAAI,cAAc,GAAa,oBAAU,CAAC,QAAQ,CAAC,CAAC;IAEpD,IAAI,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEtC,QAAQ,IAAI,IAAA,mBAAQ,EAAC,WAAW,CAAC,CAAC;IAClC,QAAQ,IAAI,IAAA,iCAAe,EAAC,aAAa,CAAC,GAAG,GAAG,CAAC;IACjD,QAAQ,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC;IACtF,IAAI,OAAO,KAAK,SAAS,IAAI,cAAc,CAAC,QAAQ,KAAK,IAAI,IAAI,cAAc,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACvG,QAAQ,IAAI,MAAM,CAAC;QACnB,QAAQ,IAAI,IAAA,oBAAQ,EAAC,OAAO,CAAC,GAAG,GAAG,CAAC;QACpC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxG,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertNumberToSpokenWord = convertNumberToSpokenWord;
4
+ const positiveInteger_1 = require("../utils/stringBuilding/positiveInteger");
5
+ const twoDigits_1 = require("../utils/stringBuilding/twoDigits");
6
+ const perDigit_1 = require("../utils/stringBuilding/perDigit");
7
+ const negative_1 = require("../utils/stringBuilding/negative");
8
+ const exponent_1 = require("../utils/stringBuilding/exponent");
9
+ /**
10
+ * Converts a number object into its spoken word representation.
11
+ * @param {baseNumber} num - The number object to convert.
12
+ * @returns {string} The spoken word representation of the number.
13
+ */
14
+ function convertNumberToSpokenWord(num) {
15
+ const { integer, decimal, negativeInt, exponent } = num;
16
+ let sentence = (0, negative_1.negative)(negativeInt);
17
+ sentence += (0, positiveInteger_1.positiveInteger)(parseInt(integer)) + " ";
18
+ if (decimal !== undefined) {
19
+ sentence += "point ";
20
+ if (decimal.length === 1 || decimal.length > 2) {
21
+ sentence += (0, perDigit_1.perDigit)(decimal) + " ";
22
+ }
23
+ else {
24
+ sentence += (0, twoDigits_1.twoDigit)(decimal) + " ";
25
+ }
26
+ }
27
+ if (exponent !== undefined) {
28
+ sentence += (0, exponent_1.exponentSpokenWord)(exponent, true);
29
+ }
30
+ return sentence.trim();
31
+ }
32
+ //# sourceMappingURL=convertNumberToSpokenWord.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertNumberToSpokenWord.js","sourceRoot":"","sources":["../../../src/converters/convertNumberToSpokenWord.ts"],"names":[],"mappings":";;AAYA,8DAoBC;AAhCD,6EAA0E;AAC1E,iEAA6D;AAC7D,+DAA4D;AAC5D,+DAA4D;AAE5D,+DAAsE;AAEtE;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,GAAe;IACvD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;IAExD,IAAI,QAAQ,GAAG,IAAA,mBAAQ,EAAC,WAAW,CAAC,CAAC;IAErC,QAAQ,IAAI,IAAA,iCAAe,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC;IAErD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,QAAQ,IAAI,QAAQ,CAAC;QACrB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,QAAQ,IAAI,IAAA,mBAAQ,EAAC,OAAO,CAAC,GAAG,GAAG,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,QAAQ,IAAI,IAAA,oBAAQ,EAAC,OAAO,CAAC,GAAG,GAAG,CAAC;QACtC,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,QAAQ,IAAI,IAAA,6BAAkB,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertNumericUnitToSpokenWord = convertNumericUnitToSpokenWord;
4
+ const default_1 = require("../config/default");
5
+ const exponent_1 = require("../utils/stringBuilding/exponent");
6
+ const convertNumberToSpokenWord_1 = require("./convertNumberToSpokenWord");
7
+ /**
8
+ * Converts a numeric unit object into its spoken word representation.
9
+ * @param {baseNumberUnit} numericUnit - The numeric unit object to convert.
10
+ * @returns {string} The spoken word representation of the numeric unit.
11
+ */
12
+ function convertNumericUnitToSpokenWord(numericUnit) {
13
+ const { integer, decimal, unit, negativeInt, exponent, unitExponent } = numericUnit;
14
+ let sentence = (0, convertNumberToSpokenWord_1.convertNumberToSpokenWord)({
15
+ integer,
16
+ decimal,
17
+ negativeInt,
18
+ matchType: "number",
19
+ input: "",
20
+ index: 0,
21
+ });
22
+ let spokenUnit;
23
+ let directUnitKey = unit + (unitExponent !== undefined ? unitExponent : "");
24
+ let directUnit = default_1.units[directUnitKey];
25
+ if (directUnit !== undefined) {
26
+ spokenUnit = directUnit;
27
+ }
28
+ else {
29
+ spokenUnit = default_1.units[unit];
30
+ }
31
+ if (spokenUnit === undefined) {
32
+ return "";
33
+ }
34
+ let isPlural = parseFloat(integer + "." + decimal) > 1 && spokenUnit.plural;
35
+ let spokenNumberExponent = "";
36
+ let spokenUnitExponent = "";
37
+ if (exponent !== undefined) {
38
+ spokenNumberExponent = (0, exponent_1.exponentSpokenWord)(exponent, true);
39
+ }
40
+ if (unitExponent !== undefined && directUnit === undefined) {
41
+ spokenUnitExponent = (0, exponent_1.exponentSpokenWord)(unitExponent);
42
+ }
43
+ sentence +=
44
+ " " + spokenNumberExponent + " " + (isPlural ? spokenUnit.plural : spokenUnit.singular) + " " + spokenUnitExponent;
45
+ sentence = sentence.trim().replace(/\s+/g, " ");
46
+ return sentence;
47
+ }
48
+ //# sourceMappingURL=convertNumericUnitToSpokenWord.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertNumericUnitToSpokenWord.js","sourceRoot":"","sources":["../../../src/converters/convertNumericUnitToSpokenWord.ts"],"names":[],"mappings":";;AAWA,wEA+CC;AA1DD,+CAA0C;AAG1C,+DAAsE;AACtE,2EAAwE;AAExE;;;;GAIG;AACH,SAAgB,8BAA8B,CAAC,WAA2B;IACxE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;IAEpF,IAAI,QAAQ,GAAG,IAAA,qDAAyB,EAAC;QACvC,OAAO;QACP,OAAO;QACP,WAAW;QACX,SAAS,EAAE,QAAQ;QACnB,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IAEH,IAAI,UAAgB,CAAC;IAErB,IAAI,aAAa,GAAG,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE5E,IAAI,UAAU,GAAG,eAAK,CAAC,aAAa,CAAC,CAAC;IAEtC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,GAAG,UAAU,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,eAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,QAAQ,GAAG,UAAU,CAAC,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC;IAE5E,IAAI,oBAAoB,GAAW,EAAE,CAAC;IACtC,IAAI,kBAAkB,GAAW,EAAE,CAAC;IAEpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,oBAAoB,GAAG,IAAA,6BAAkB,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,YAAY,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3D,kBAAkB,GAAG,IAAA,6BAAkB,EAAC,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,QAAQ;QACN,GAAG,GAAG,oBAAoB,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC;IAErH,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEhD,OAAO,QAAQ,CAAC;AAClB,CAAC"}