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
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Converts a string of superscript digits to regular integer string.
3
+ * @param {string} superscriptString - String containing superscript digits.
4
+ * @returns {string} - String of regular digits.
5
+ */
6
+ export declare function toRegularInteger(superscriptString: string): string;
@@ -0,0 +1,2 @@
1
+ /** * Converts an exponent integer to its spoken word representation, * optionally using "squared" and "cubed" for exponents 2 and 3. * @param exponent The exponent value as an integer. * @param onlyUsePowerOf A boolean flag. If false, uses "squared" for 2 and "cubed" for 3. * If true, uses "to the power of two", "to the power of three", etc. * @returns The spoken word representation of the exponent. */
2
+ export declare function exponentSpokenWord(exponent: string, onlyUsePowerOf?: boolean): string;
@@ -0,0 +1 @@
1
+ export declare const negative: (bool: boolean) => string;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Converts each digit in a number to words, and returns them as a joined string.
3
+ * @param num The number to convert, as a string.
4
+ * @returns A string of space-separated words, where each word is a digit in the original number.
5
+ * @example convertPerDigit("123") => "one two three"
6
+ */
7
+ export declare function perDigit(num: string): string;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Converts a non-negative integer into its full English word representation.
3
+ * @param num The integer to convert.
4
+ * @returns The word representation of the number, or an error message for invalid input.
5
+ */
6
+ export declare function positiveInteger(num: number): string;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Converts a given number of cents to words, provided it is a valid number between 0 and 99.
3
+ * @param num The number of cents to convert, as a string.
4
+ * @returns The word representation of the number of cents, or an empty string if the conversion failed.
5
+ */
6
+ export declare function twoDigit(num: string): string;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Converts a number less than 1000 into words.
3
+ * @param num The number to convert (0-999).
4
+ * @returns The word representation of the number.
5
+ */
6
+ export declare function zeroTo999(num: number): string;
@@ -0,0 +1,12 @@
1
+ import { ExtractionResult } from "../interfaces/definitions";
2
+ /**
3
+ * Validates an ExtractionResult object.
4
+ *
5
+ * Checks that the object is present, contains the required properties, and that
6
+ * the values of those properties are of the correct type.
7
+ *
8
+ * If the object is invalid, throws an Error with a description of the problem.
9
+ *
10
+ * @param {ExtractionResult} extractionResult - The object to validate.
11
+ */
12
+ export declare function validateExtractionResult(extractionResult: ExtractionResult): void;
package/package.json ADDED
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "quantible",
3
+ "version": "0.1.0-alpha",
4
+ "description": "A versatile library for converting numerical values, units, currency, and mathematical expressions into their spoken word equivalents.",
5
+ "main": "dist/cjs/index.js",
6
+ "module": "dist/esm/index.js",
7
+ "types": "dist/types/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "require": "./dist/cjs/index.js",
11
+ "import": "./dist/esm/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist",
16
+ "!memlog"
17
+ ],
18
+ "scripts": {
19
+ "test": "jest _tests_",
20
+ "build:cjs": "tsc --project tsconfig.cjs.json",
21
+ "build:esm": "tsc --project tsconfig.esm.json",
22
+ "build": "npm run build:cjs && npm run build:esm",
23
+ "compile": "tsc && node dist/index.js",
24
+ "lint": "eslint . --ext .ts",
25
+ "format": "prettier --write ."
26
+ },
27
+ "keywords": [
28
+ "number",
29
+ "unit",
30
+ "converter",
31
+ "natural language",
32
+ "spoken word",
33
+ "quantity",
34
+ "expression",
35
+ "spoken words",
36
+ "currency",
37
+ "math",
38
+ "text-to-speech",
39
+ "tts",
40
+ "numerical values"
41
+ ],
42
+ "author": "rinaldowouterson",
43
+ "license": "ISC",
44
+ "repository": "https://github.com/rinaldowouterson/quantible",
45
+ "homepage": "https://github.com/rinaldowouterson/quantible#readme",
46
+ "publishConfig": {
47
+ "access": "public"
48
+ },
49
+ "devDependencies": {
50
+ "@types/jest": "^29.5.14",
51
+ "@typescript-eslint/eslint-plugin": "^8.29.1",
52
+ "@typescript-eslint/parser": "^8.29.1",
53
+ "eslint": "^9.24.0",
54
+ "eslint-config-prettier": "^10.1.2",
55
+ "eslint-plugin-prettier": "^5.2.6",
56
+ "jest": "^29.7.0",
57
+ "prettier": "^3.5.3",
58
+ "ts-jest": "^29.3.1",
59
+ "typescript": "^5.8.2"
60
+ }
61
+ }