@cranberry-money/shared-constants 8.9.1 → 8.9.2

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 (214) hide show
  1. package/dist/api/auth.d.ts +21 -0
  2. package/dist/api/auth.d.ts.map +1 -0
  3. package/dist/api/auth.js +24 -0
  4. package/dist/api/auth.js.map +1 -0
  5. package/dist/api/config.d.ts +36 -0
  6. package/dist/api/config.d.ts.map +1 -0
  7. package/dist/api/config.js +45 -0
  8. package/dist/api/config.js.map +1 -0
  9. package/dist/api/endpoints.d.ts +157 -0
  10. package/dist/api/endpoints.d.ts.map +1 -0
  11. package/dist/api/endpoints.js +185 -0
  12. package/dist/api/endpoints.js.map +1 -0
  13. package/dist/api/http.d.ts +57 -0
  14. package/dist/api/http.d.ts.map +1 -0
  15. package/dist/api/http.js +63 -0
  16. package/dist/api/http.js.map +1 -0
  17. package/dist/api/index.d.ts +9 -0
  18. package/dist/api/index.d.ts.map +1 -0
  19. package/dist/api/index.js +9 -0
  20. package/dist/api/index.js.map +1 -0
  21. package/dist/api/services.d.ts +9 -0
  22. package/dist/api/services.d.ts.map +1 -0
  23. package/dist/api/services.js +9 -0
  24. package/dist/api/services.js.map +1 -0
  25. package/dist/business/accounts.d.ts +38 -0
  26. package/dist/business/accounts.d.ts.map +1 -0
  27. package/dist/business/accounts.js +54 -0
  28. package/dist/business/accounts.js.map +1 -0
  29. package/dist/business/bank-accounts.d.ts +71 -0
  30. package/dist/business/bank-accounts.d.ts.map +1 -0
  31. package/dist/business/bank-accounts.js +70 -0
  32. package/dist/business/bank-accounts.js.map +1 -0
  33. package/dist/business/banking.d.ts +44 -0
  34. package/dist/business/banking.d.ts.map +1 -0
  35. package/dist/business/banking.js +70 -0
  36. package/dist/business/banking.js.map +1 -0
  37. package/dist/business/cache.d.ts +9 -0
  38. package/dist/business/cache.d.ts.map +1 -0
  39. package/dist/business/cache.js +9 -0
  40. package/dist/business/cache.js.map +1 -0
  41. package/dist/business/countries.d.ts +11 -0
  42. package/dist/business/countries.d.ts.map +1 -0
  43. package/dist/business/countries.js +12 -0
  44. package/dist/business/countries.js.map +1 -0
  45. package/dist/business/documents.d.ts +48 -0
  46. package/dist/business/documents.d.ts.map +1 -0
  47. package/dist/business/documents.js +76 -0
  48. package/dist/business/documents.js.map +1 -0
  49. package/dist/business/holdings.d.ts +34 -0
  50. package/dist/business/holdings.d.ts.map +1 -0
  51. package/dist/business/holdings.js +35 -0
  52. package/dist/business/holdings.js.map +1 -0
  53. package/dist/business/index.d.ts +16 -0
  54. package/dist/business/index.d.ts.map +1 -0
  55. package/dist/business/index.js +28 -0
  56. package/dist/business/index.js.map +1 -0
  57. package/dist/business/industries.d.ts +9 -0
  58. package/dist/business/industries.d.ts.map +1 -0
  59. package/dist/business/industries.js +10 -0
  60. package/dist/business/industries.js.map +1 -0
  61. package/dist/business/investments.d.ts +87 -0
  62. package/dist/business/investments.d.ts.map +1 -0
  63. package/dist/business/investments.js +94 -0
  64. package/dist/business/investments.js.map +1 -0
  65. package/dist/business/status/banks.d.ts +29 -0
  66. package/dist/business/status/banks.d.ts.map +1 -0
  67. package/dist/business/status/banks.js +36 -0
  68. package/dist/business/status/banks.js.map +1 -0
  69. package/dist/business/status/cash-accounts.d.ts +56 -0
  70. package/dist/business/status/cash-accounts.d.ts.map +1 -0
  71. package/dist/business/status/cash-accounts.js +63 -0
  72. package/dist/business/status/cash-accounts.js.map +1 -0
  73. package/dist/business/status/documents.d.ts +25 -0
  74. package/dist/business/status/documents.d.ts.map +1 -0
  75. package/dist/business/status/documents.js +35 -0
  76. package/dist/business/status/documents.js.map +1 -0
  77. package/dist/business/status/index.d.ts +11 -0
  78. package/dist/business/status/index.d.ts.map +1 -0
  79. package/dist/business/status/index.js +11 -0
  80. package/dist/business/status/index.js.map +1 -0
  81. package/dist/business/status/instruments.d.ts +42 -0
  82. package/dist/business/status/instruments.d.ts.map +1 -0
  83. package/dist/business/status/instruments.js +56 -0
  84. package/dist/business/status/instruments.js.map +1 -0
  85. package/dist/business/status/portfolios.d.ts +18 -0
  86. package/dist/business/status/portfolios.d.ts.map +1 -0
  87. package/dist/business/status/portfolios.js +22 -0
  88. package/dist/business/status/portfolios.js.map +1 -0
  89. package/dist/business/status/trades.d.ts +89 -0
  90. package/dist/business/status/trades.d.ts.map +1 -0
  91. package/dist/business/status/trades.js +131 -0
  92. package/dist/business/status/trades.js.map +1 -0
  93. package/dist/business/status/withdrawals.d.ts +104 -0
  94. package/dist/business/status/withdrawals.d.ts.map +1 -0
  95. package/dist/business/status/withdrawals.js +154 -0
  96. package/dist/business/status/withdrawals.js.map +1 -0
  97. package/dist/business/trading.d.ts +52 -0
  98. package/dist/business/trading.d.ts.map +1 -0
  99. package/dist/business/trading.js +69 -0
  100. package/dist/business/trading.js.map +1 -0
  101. package/dist/common/index.d.ts +2 -0
  102. package/dist/common/index.d.ts.map +1 -0
  103. package/dist/common/index.js +2 -0
  104. package/dist/common/index.js.map +1 -0
  105. package/dist/common/statuses.d.ts +18 -0
  106. package/dist/common/statuses.d.ts.map +1 -0
  107. package/dist/common/statuses.js +18 -0
  108. package/dist/common/statuses.js.map +1 -0
  109. package/dist/config/defaults.d.ts +68 -0
  110. package/dist/config/defaults.d.ts.map +1 -0
  111. package/dist/config/defaults.js +67 -0
  112. package/dist/config/defaults.js.map +1 -0
  113. package/dist/config/index.d.ts +8 -0
  114. package/dist/config/index.d.ts.map +1 -0
  115. package/dist/config/index.js +8 -0
  116. package/dist/config/index.js.map +1 -0
  117. package/dist/config/pagination.d.ts +28 -0
  118. package/dist/config/pagination.d.ts.map +1 -0
  119. package/dist/config/pagination.js +41 -0
  120. package/dist/config/pagination.js.map +1 -0
  121. package/dist/config/thresholds.d.ts +65 -0
  122. package/dist/config/thresholds.d.ts.map +1 -0
  123. package/dist/config/thresholds.js +83 -0
  124. package/dist/config/thresholds.js.map +1 -0
  125. package/dist/financial/currency.d.ts +38 -0
  126. package/dist/financial/currency.d.ts.map +1 -0
  127. package/dist/financial/currency.js +76 -0
  128. package/dist/financial/currency.js.map +1 -0
  129. package/dist/financial/formatting.d.ts +52 -0
  130. package/dist/financial/formatting.d.ts.map +1 -0
  131. package/dist/financial/formatting.js +50 -0
  132. package/dist/financial/formatting.js.map +1 -0
  133. package/dist/financial/index.d.ts +7 -0
  134. package/dist/financial/index.d.ts.map +1 -0
  135. package/dist/financial/index.js +7 -0
  136. package/dist/financial/index.js.map +1 -0
  137. package/dist/financial/instruments.d.ts +51 -0
  138. package/dist/financial/instruments.d.ts.map +1 -0
  139. package/dist/financial/instruments.js +69 -0
  140. package/dist/financial/instruments.js.map +1 -0
  141. package/dist/index.d.ts +15 -0
  142. package/dist/index.d.ts.map +1 -0
  143. package/dist/index.js +23 -0
  144. package/dist/index.js.map +1 -0
  145. package/dist/ui/cache.d.ts +47 -0
  146. package/dist/ui/cache.d.ts.map +1 -0
  147. package/dist/ui/cache.js +46 -0
  148. package/dist/ui/cache.js.map +1 -0
  149. package/dist/ui/chart-config.d.ts +35 -0
  150. package/dist/ui/chart-config.d.ts.map +1 -0
  151. package/dist/ui/chart-config.js +34 -0
  152. package/dist/ui/chart-config.js.map +1 -0
  153. package/dist/ui/colors.d.ts +53 -0
  154. package/dist/ui/colors.d.ts.map +1 -0
  155. package/dist/ui/colors.js +95 -0
  156. package/dist/ui/colors.js.map +1 -0
  157. package/dist/ui/display.d.ts +69 -0
  158. package/dist/ui/display.d.ts.map +1 -0
  159. package/dist/ui/display.js +81 -0
  160. package/dist/ui/display.js.map +1 -0
  161. package/dist/ui/index.d.ts +13 -0
  162. package/dist/ui/index.d.ts.map +1 -0
  163. package/dist/ui/index.js +13 -0
  164. package/dist/ui/index.js.map +1 -0
  165. package/dist/ui/labels/index.d.ts +20 -0
  166. package/dist/ui/labels/index.d.ts.map +1 -0
  167. package/dist/ui/labels/index.js +24 -0
  168. package/dist/ui/labels/index.js.map +1 -0
  169. package/dist/ui/navigation.d.ts +45 -0
  170. package/dist/ui/navigation.d.ts.map +1 -0
  171. package/dist/ui/navigation.js +48 -0
  172. package/dist/ui/navigation.js.map +1 -0
  173. package/dist/ui/status-colors-unified.d.ts +91 -0
  174. package/dist/ui/status-colors-unified.d.ts.map +1 -0
  175. package/dist/ui/status-colors-unified.js +107 -0
  176. package/dist/ui/status-colors-unified.js.map +1 -0
  177. package/dist/ui/timing.d.ts +26 -0
  178. package/dist/ui/timing.d.ts.map +1 -0
  179. package/dist/ui/timing.js +25 -0
  180. package/dist/ui/timing.js.map +1 -0
  181. package/dist/ui/zIndex.d.ts +80 -0
  182. package/dist/ui/zIndex.d.ts.map +1 -0
  183. package/dist/ui/zIndex.js +78 -0
  184. package/dist/ui/zIndex.js.map +1 -0
  185. package/dist/utilities/common.d.ts +29 -0
  186. package/dist/utilities/common.d.ts.map +1 -0
  187. package/dist/utilities/common.js +29 -0
  188. package/dist/utilities/common.js.map +1 -0
  189. package/dist/utilities/defaults.d.ts +52 -0
  190. package/dist/utilities/defaults.d.ts.map +1 -0
  191. package/dist/utilities/defaults.js +69 -0
  192. package/dist/utilities/defaults.js.map +1 -0
  193. package/dist/utilities/index.d.ts +9 -0
  194. package/dist/utilities/index.d.ts.map +1 -0
  195. package/dist/utilities/index.js +9 -0
  196. package/dist/utilities/index.js.map +1 -0
  197. package/dist/utilities/sorting.d.ts +45 -0
  198. package/dist/utilities/sorting.d.ts.map +1 -0
  199. package/dist/utilities/sorting.js +52 -0
  200. package/dist/utilities/sorting.js.map +1 -0
  201. package/dist/utilities/time.d.ts +53 -0
  202. package/dist/utilities/time.d.ts.map +1 -0
  203. package/dist/utilities/time.js +66 -0
  204. package/dist/utilities/time.js.map +1 -0
  205. package/dist/utilities/validation.d.ts +57 -0
  206. package/dist/utilities/validation.d.ts.map +1 -0
  207. package/dist/utilities/validation.js +66 -0
  208. package/dist/utilities/validation.js.map +1 -0
  209. package/dist/validation/index.d.ts +27 -0
  210. package/dist/validation/index.d.ts.map +1 -0
  211. package/dist/validation/index.js +27 -0
  212. package/dist/validation/index.js.map +1 -0
  213. package/package.json +17 -15
  214. package/README.md +0 -146
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Unified threshold and limit constants
3
+ * Consolidates numeric thresholds, limits, and common values
4
+ */
5
+ /**
6
+ * Common numeric thresholds used across the application
7
+ */
8
+ export declare const COMMON_THRESHOLDS: {
9
+ readonly THOUSAND: 1000;
10
+ readonly MILLION: 1000000;
11
+ readonly BILLION: 1000000000;
12
+ readonly DEFAULT_DECIMALS: 2;
13
+ readonly CURRENCY_DECIMALS: 2;
14
+ readonly PERCENTAGE_DECIMALS: 2;
15
+ readonly QUANTITY_DECIMALS: 6;
16
+ readonly PRICE_DECIMALS: 4;
17
+ readonly MAX_NAME_LENGTH: 100;
18
+ readonly MAX_DESCRIPTION_LENGTH: 500;
19
+ readonly MAX_NOTES_LENGTH: 1000;
20
+ readonly MIN_PASSWORD_LENGTH: 8;
21
+ readonly MAX_FILE_SIZE_MB: 10;
22
+ readonly MAX_FILE_NAME_LENGTH: 255;
23
+ readonly MIN_PORTFOLIO_VALUE: 1000;
24
+ readonly MIN_TRADE_AMOUNT: 10;
25
+ readonly MIN_WITHDRAWAL_AMOUNT: 100;
26
+ readonly MAX_PORTFOLIOS_PER_USER: 10;
27
+ readonly MAX_TRADES_PER_DAY: 100;
28
+ readonly MIN_DISPLAY_AMOUNT: 0.01;
29
+ readonly MIN_DISPLAY_PERCENTAGE: 0.01;
30
+ readonly DEFAULT_TIMEOUT_MS: 30000;
31
+ readonly DEFAULT_RETRY_ATTEMPTS: 3;
32
+ readonly DEFAULT_RETRY_DELAY_MS: 1000;
33
+ readonly MAX_RETRY_DELAY_MS: 10000;
34
+ readonly REQUEST_DEBOUNCE_MS: 300;
35
+ };
36
+ /**
37
+ * Numeric ranges for validation
38
+ */
39
+ export declare const NUMERIC_RANGES: {
40
+ readonly AMOUNT: {
41
+ readonly MIN: 0;
42
+ readonly MAX: 999999999.99;
43
+ };
44
+ readonly PERCENTAGE: {
45
+ readonly MIN: 0;
46
+ readonly MAX: 100;
47
+ };
48
+ readonly QUANTITY: {
49
+ readonly MIN: 0;
50
+ readonly MAX: 999999999.999999;
51
+ };
52
+ };
53
+ /**
54
+ * Format a number with thousand separators
55
+ */
56
+ export declare const formatWithThousandSeparator: (value: number) => string;
57
+ /**
58
+ * Abbreviation suffixes for large numbers
59
+ */
60
+ export declare const NUMBER_ABBREVIATIONS: {
61
+ readonly THOUSAND: "K";
62
+ readonly MILLION: "M";
63
+ readonly BILLION: "B";
64
+ };
65
+ //# sourceMappingURL=thresholds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thresholds.d.ts","sourceRoot":"","sources":["../../src/config/thresholds.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;CAajB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,2BAA2B,GAAI,OAAO,MAAM,KAAG,MAW3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;CAIvB,CAAC"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Unified threshold and limit constants
3
+ * Consolidates numeric thresholds, limits, and common values
4
+ */
5
+ /**
6
+ * Common numeric thresholds used across the application
7
+ */
8
+ export const COMMON_THRESHOLDS = {
9
+ // Base units
10
+ THOUSAND: 1000,
11
+ MILLION: 1000000,
12
+ BILLION: 1000000000,
13
+ // Decimal places
14
+ DEFAULT_DECIMALS: 2,
15
+ CURRENCY_DECIMALS: 2,
16
+ PERCENTAGE_DECIMALS: 2,
17
+ QUANTITY_DECIMALS: 6,
18
+ PRICE_DECIMALS: 4,
19
+ // String lengths
20
+ MAX_NAME_LENGTH: 100,
21
+ MAX_DESCRIPTION_LENGTH: 500,
22
+ MAX_NOTES_LENGTH: 1000,
23
+ MIN_PASSWORD_LENGTH: 8,
24
+ // File limits
25
+ MAX_FILE_SIZE_MB: 10,
26
+ MAX_FILE_NAME_LENGTH: 255,
27
+ // Business limits
28
+ MIN_PORTFOLIO_VALUE: 1000,
29
+ MIN_TRADE_AMOUNT: 10,
30
+ MIN_WITHDRAWAL_AMOUNT: 100,
31
+ MAX_PORTFOLIOS_PER_USER: 10,
32
+ MAX_TRADES_PER_DAY: 100,
33
+ // Display thresholds
34
+ MIN_DISPLAY_AMOUNT: 0.01,
35
+ MIN_DISPLAY_PERCENTAGE: 0.01,
36
+ // API/Network
37
+ DEFAULT_TIMEOUT_MS: 30000, // 30 seconds
38
+ DEFAULT_RETRY_ATTEMPTS: 3,
39
+ DEFAULT_RETRY_DELAY_MS: 1000, // 1 second
40
+ MAX_RETRY_DELAY_MS: 10000, // 10 seconds
41
+ REQUEST_DEBOUNCE_MS: 300,
42
+ };
43
+ /**
44
+ * Numeric ranges for validation
45
+ */
46
+ export const NUMERIC_RANGES = {
47
+ AMOUNT: {
48
+ MIN: 0,
49
+ MAX: 999999999.99,
50
+ },
51
+ PERCENTAGE: {
52
+ MIN: 0,
53
+ MAX: 100,
54
+ },
55
+ QUANTITY: {
56
+ MIN: 0,
57
+ MAX: 999999999.999999,
58
+ },
59
+ };
60
+ /**
61
+ * Format a number with thousand separators
62
+ */
63
+ export const formatWithThousandSeparator = (value) => {
64
+ if (value >= COMMON_THRESHOLDS.BILLION) {
65
+ return `${(value / COMMON_THRESHOLDS.BILLION).toFixed(1)}B`;
66
+ }
67
+ if (value >= COMMON_THRESHOLDS.MILLION) {
68
+ return `${(value / COMMON_THRESHOLDS.MILLION).toFixed(1)}M`;
69
+ }
70
+ if (value >= COMMON_THRESHOLDS.THOUSAND) {
71
+ return `${(value / COMMON_THRESHOLDS.THOUSAND).toFixed(1)}K`;
72
+ }
73
+ return value.toString();
74
+ };
75
+ /**
76
+ * Abbreviation suffixes for large numbers
77
+ */
78
+ export const NUMBER_ABBREVIATIONS = {
79
+ THOUSAND: 'K',
80
+ MILLION: 'M',
81
+ BILLION: 'B',
82
+ };
83
+ //# sourceMappingURL=thresholds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thresholds.js","sourceRoot":"","sources":["../../src/config/thresholds.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,aAAa;IACb,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,UAAU;IAEnB,iBAAiB;IACjB,gBAAgB,EAAE,CAAC;IACnB,iBAAiB,EAAE,CAAC;IACpB,mBAAmB,EAAE,CAAC;IACtB,iBAAiB,EAAE,CAAC;IACpB,cAAc,EAAE,CAAC;IAEjB,iBAAiB;IACjB,eAAe,EAAE,GAAG;IACpB,sBAAsB,EAAE,GAAG;IAC3B,gBAAgB,EAAE,IAAI;IACtB,mBAAmB,EAAE,CAAC;IAEtB,cAAc;IACd,gBAAgB,EAAE,EAAE;IACpB,oBAAoB,EAAE,GAAG;IAEzB,kBAAkB;IAClB,mBAAmB,EAAE,IAAI;IACzB,gBAAgB,EAAE,EAAE;IACpB,qBAAqB,EAAE,GAAG;IAC1B,uBAAuB,EAAE,EAAE;IAC3B,kBAAkB,EAAE,GAAG;IAEvB,qBAAqB;IACrB,kBAAkB,EAAE,IAAI;IACxB,sBAAsB,EAAE,IAAI;IAE5B,cAAc;IACd,kBAAkB,EAAE,KAAK,EAAE,aAAa;IACxC,sBAAsB,EAAE,CAAC;IACzB,sBAAsB,EAAE,IAAI,EAAE,WAAW;IACzC,kBAAkB,EAAE,KAAK,EAAE,aAAa;IACxC,mBAAmB,EAAE,GAAG;CAChB,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE;QACN,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,YAAY;KAClB;IACD,UAAU,EAAE;QACV,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,GAAG;KACT;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,gBAAgB;KACtB;CACO,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,KAAa,EAAU,EAAE;IACnE,IAAI,KAAK,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9D,CAAC;IACD,IAAI,KAAK,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9D,CAAC;IACD,IAAI,KAAK,IAAI,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QACxC,OAAO,GAAG,CAAC,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/D,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;CACJ,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Currency-related constants
3
+ */
4
+ export declare const CURRENCY_CODES: {
5
+ readonly AUD: "AUD";
6
+ readonly USD: "USD";
7
+ readonly EUR: "EUR";
8
+ readonly GBP: "GBP";
9
+ readonly JPY: "JPY";
10
+ readonly CAD: "CAD";
11
+ readonly CHF: "CHF";
12
+ readonly NZD: "NZD";
13
+ readonly SGD: "SGD";
14
+ readonly HKD: "HKD";
15
+ };
16
+ export type CurrencyCode = (typeof CURRENCY_CODES)[keyof typeof CURRENCY_CODES];
17
+ export declare const CURRENCY_SYMBOLS: Record<CurrencyCode, string>;
18
+ export declare const CURRENCY_NAMES: Record<CurrencyCode, string>;
19
+ export declare const CURRENCY_DECIMALS: Record<CurrencyCode, number>;
20
+ /**
21
+ * Default currency for the platform
22
+ * @intentional-duplicate AUD value appears in multiple places
23
+ * @reason Different semantic purposes - DEFAULT_CURRENCY sets platform default,
24
+ * CURRENCY_AUD defines the currency code constant
25
+ * @see INTENTIONAL-DUPLICATES.md
26
+ */
27
+ export declare const DEFAULT_CURRENCY: "AUD";
28
+ export declare const CURRENCY_OPTIONS: {
29
+ value: string;
30
+ label: string;
31
+ }[];
32
+ export declare const CURRENCY_AUD: "AUD";
33
+ export declare const CURRENCY_USD: "USD";
34
+ export declare const CURRENCY_EUR: "EUR";
35
+ export declare const CURRENCY_GBP: "GBP";
36
+ export declare const CURRENCY_LABEL_AUD: string;
37
+ export declare const CURRENCY_LABEL_USD: string;
38
+ //# sourceMappingURL=currency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../src/financial/currency.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,cAAc;;;;;;;;;;;CAWjB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAGhF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAWhD,CAAC;AAGX,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAW9C,CAAC;AAGX,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAWjD,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,OAAqB,CAAC;AAGnD,eAAO,MAAM,gBAAgB;;;GAG1B,CAAC;AAGJ,eAAO,MAAM,YAAY,OAAqB,CAAC;AAC/C,eAAO,MAAM,YAAY,OAAqB,CAAC;AAC/C,eAAO,MAAM,YAAY,OAAqB,CAAC;AAC/C,eAAO,MAAM,YAAY,OAAqB,CAAC;AAC/C,eAAO,MAAM,kBAAkB,QAAqC,CAAC;AACrE,eAAO,MAAM,kBAAkB,QAAqC,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Currency-related constants
3
+ */
4
+ // Currency codes (ISO 4217)
5
+ export const CURRENCY_CODES = {
6
+ AUD: 'AUD',
7
+ USD: 'USD',
8
+ EUR: 'EUR',
9
+ GBP: 'GBP',
10
+ JPY: 'JPY',
11
+ CAD: 'CAD',
12
+ CHF: 'CHF',
13
+ NZD: 'NZD',
14
+ SGD: 'SGD',
15
+ HKD: 'HKD',
16
+ };
17
+ // Currency symbols
18
+ export const CURRENCY_SYMBOLS = {
19
+ [CURRENCY_CODES.AUD]: '$',
20
+ [CURRENCY_CODES.USD]: '$',
21
+ [CURRENCY_CODES.EUR]: '€',
22
+ [CURRENCY_CODES.GBP]: '£',
23
+ [CURRENCY_CODES.JPY]: '¥',
24
+ [CURRENCY_CODES.CAD]: '$',
25
+ [CURRENCY_CODES.CHF]: 'CHF',
26
+ [CURRENCY_CODES.NZD]: '$',
27
+ [CURRENCY_CODES.SGD]: '$',
28
+ [CURRENCY_CODES.HKD]: '$',
29
+ };
30
+ // Currency names
31
+ export const CURRENCY_NAMES = {
32
+ [CURRENCY_CODES.AUD]: 'Australian Dollar',
33
+ [CURRENCY_CODES.USD]: 'US Dollar',
34
+ [CURRENCY_CODES.EUR]: 'Euro',
35
+ [CURRENCY_CODES.GBP]: 'British Pound',
36
+ [CURRENCY_CODES.JPY]: 'Japanese Yen',
37
+ [CURRENCY_CODES.CAD]: 'Canadian Dollar',
38
+ [CURRENCY_CODES.CHF]: 'Swiss Franc',
39
+ [CURRENCY_CODES.NZD]: 'New Zealand Dollar',
40
+ [CURRENCY_CODES.SGD]: 'Singapore Dollar',
41
+ [CURRENCY_CODES.HKD]: 'Hong Kong Dollar',
42
+ };
43
+ // Currency decimal places
44
+ export const CURRENCY_DECIMALS = {
45
+ [CURRENCY_CODES.AUD]: 2,
46
+ [CURRENCY_CODES.USD]: 2,
47
+ [CURRENCY_CODES.EUR]: 2,
48
+ [CURRENCY_CODES.GBP]: 2,
49
+ [CURRENCY_CODES.JPY]: 0, // Japanese Yen doesn't use decimal places
50
+ [CURRENCY_CODES.CAD]: 2,
51
+ [CURRENCY_CODES.CHF]: 2,
52
+ [CURRENCY_CODES.NZD]: 2,
53
+ [CURRENCY_CODES.SGD]: 2,
54
+ [CURRENCY_CODES.HKD]: 2,
55
+ };
56
+ /**
57
+ * Default currency for the platform
58
+ * @intentional-duplicate AUD value appears in multiple places
59
+ * @reason Different semantic purposes - DEFAULT_CURRENCY sets platform default,
60
+ * CURRENCY_AUD defines the currency code constant
61
+ * @see INTENTIONAL-DUPLICATES.md
62
+ */
63
+ export const DEFAULT_CURRENCY = CURRENCY_CODES.AUD;
64
+ // Currency options for forms
65
+ export const CURRENCY_OPTIONS = Object.entries(CURRENCY_NAMES).map(([code, name]) => ({
66
+ value: code,
67
+ label: `${code} - ${name}`,
68
+ }));
69
+ // Blueberry compatibility exports
70
+ export const CURRENCY_AUD = CURRENCY_CODES.AUD;
71
+ export const CURRENCY_USD = CURRENCY_CODES.USD;
72
+ export const CURRENCY_EUR = CURRENCY_CODES.EUR;
73
+ export const CURRENCY_GBP = CURRENCY_CODES.GBP;
74
+ export const CURRENCY_LABEL_AUD = CURRENCY_NAMES[CURRENCY_CODES.AUD];
75
+ export const CURRENCY_LABEL_USD = CURRENCY_NAMES[CURRENCY_CODES.USD];
76
+ //# sourceMappingURL=currency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../src/financial/currency.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Financial formatting constants
3
+ */
4
+ export declare const NUMBER_FORMATS: {
5
+ readonly CURRENCY_DECIMALS: 2;
6
+ readonly PERCENTAGE_DECIMALS: 2;
7
+ readonly QUANTITY_DECIMALS: 6;
8
+ readonly PRICE_DECIMALS: 4;
9
+ readonly MIN_CURRENCY_DECIMALS: 2;
10
+ readonly MIN_PERCENTAGE_DECIMALS: 0;
11
+ readonly MIN_QUANTITY_DECIMALS: 0;
12
+ readonly MIN_PRICE_DECIMALS: 2;
13
+ readonly MAX_CURRENCY_DECIMALS: 2;
14
+ readonly MAX_PERCENTAGE_DECIMALS: 4;
15
+ readonly MAX_QUANTITY_DECIMALS: 8;
16
+ readonly MAX_PRICE_DECIMALS: 6;
17
+ };
18
+ export declare const LOCALE_SETTINGS: {
19
+ readonly DEFAULT: "en-AU";
20
+ readonly FALLBACK: "en-US";
21
+ readonly SUPPORTED: readonly ["en-AU", "en-US", "en-GB"];
22
+ };
23
+ export declare const FORMATTING_OPTIONS: {
24
+ readonly CURRENCY: {
25
+ readonly style: "currency";
26
+ readonly minimumFractionDigits: 2;
27
+ readonly maximumFractionDigits: 2;
28
+ };
29
+ readonly PERCENTAGE: {
30
+ readonly style: "percent";
31
+ readonly minimumFractionDigits: 0;
32
+ readonly maximumFractionDigits: 2;
33
+ };
34
+ readonly DECIMAL: {
35
+ readonly style: "decimal";
36
+ readonly minimumFractionDigits: 0;
37
+ readonly maximumFractionDigits: 8;
38
+ };
39
+ };
40
+ export declare const DISPLAY_THRESHOLDS: {
41
+ readonly MIN_DISPLAY_AMOUNT: 0.01;
42
+ readonly MIN_DISPLAY_PERCENTAGE: 0.01;
43
+ readonly THOUSAND: 1000;
44
+ readonly MILLION: 1000000;
45
+ readonly BILLION: 1000000000;
46
+ };
47
+ export declare const ABBREVIATION_SUFFIXES: {
48
+ readonly THOUSAND: "K";
49
+ readonly MILLION: "M";
50
+ readonly BILLION: "B";
51
+ };
52
+ //# sourceMappingURL=formatting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/financial/formatting.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,cAAc;;;;;;;;;;;;;CAkBjB,CAAC;AAIX,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAIX,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;CAIrB,CAAC;AAGX,eAAO,MAAM,kBAAkB;;;;;;CASrB,CAAC;AAIX,eAAO,MAAM,qBAAqB;;;;CAAuB,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Financial formatting constants
3
+ */
4
+ import { COMMON_THRESHOLDS, LOCALE_CONFIG, DEFAULT_FORMAT_OPTIONS, NUMBER_ABBREVIATIONS } from '../config';
5
+ // Number formatting
6
+ export const NUMBER_FORMATS = {
7
+ // Decimal places
8
+ CURRENCY_DECIMALS: COMMON_THRESHOLDS.CURRENCY_DECIMALS,
9
+ PERCENTAGE_DECIMALS: COMMON_THRESHOLDS.PERCENTAGE_DECIMALS,
10
+ QUANTITY_DECIMALS: COMMON_THRESHOLDS.QUANTITY_DECIMALS,
11
+ PRICE_DECIMALS: COMMON_THRESHOLDS.PRICE_DECIMALS,
12
+ // Minimum decimal places
13
+ MIN_CURRENCY_DECIMALS: 2,
14
+ MIN_PERCENTAGE_DECIMALS: 0,
15
+ MIN_QUANTITY_DECIMALS: 0,
16
+ MIN_PRICE_DECIMALS: 2,
17
+ // Maximum decimal places
18
+ MAX_CURRENCY_DECIMALS: 2,
19
+ MAX_PERCENTAGE_DECIMALS: 4,
20
+ MAX_QUANTITY_DECIMALS: 8,
21
+ MAX_PRICE_DECIMALS: 6,
22
+ };
23
+ // Locale settings
24
+ // Now references consolidated locale config
25
+ export const LOCALE_SETTINGS = {
26
+ DEFAULT: LOCALE_CONFIG.DEFAULT,
27
+ FALLBACK: LOCALE_CONFIG.FALLBACK,
28
+ SUPPORTED: LOCALE_CONFIG.SUPPORTED,
29
+ };
30
+ // Formatting options
31
+ // Partially references consolidated options
32
+ export const FORMATTING_OPTIONS = {
33
+ CURRENCY: DEFAULT_FORMAT_OPTIONS.CURRENCY,
34
+ PERCENTAGE: DEFAULT_FORMAT_OPTIONS.PERCENTAGE,
35
+ DECIMAL: DEFAULT_FORMAT_OPTIONS.DECIMAL,
36
+ };
37
+ // Display thresholds
38
+ export const DISPLAY_THRESHOLDS = {
39
+ // Values below these thresholds show as "< threshold"
40
+ MIN_DISPLAY_AMOUNT: COMMON_THRESHOLDS.MIN_DISPLAY_AMOUNT,
41
+ MIN_DISPLAY_PERCENTAGE: COMMON_THRESHOLDS.MIN_DISPLAY_PERCENTAGE,
42
+ // Large number abbreviations
43
+ THOUSAND: COMMON_THRESHOLDS.THOUSAND,
44
+ MILLION: COMMON_THRESHOLDS.MILLION,
45
+ BILLION: COMMON_THRESHOLDS.BILLION,
46
+ };
47
+ // Abbreviation suffixes
48
+ // @deprecated Use NUMBER_ABBREVIATIONS from config/thresholds instead
49
+ export const ABBREVIATION_SUFFIXES = NUMBER_ABBREVIATIONS;
50
+ //# sourceMappingURL=formatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/financial/formatting.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAE3G,oBAAoB;AACpB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,iBAAiB;IACjB,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB;IACtD,mBAAmB,EAAE,iBAAiB,CAAC,mBAAmB;IAC1D,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB;IACtD,cAAc,EAAE,iBAAiB,CAAC,cAAc;IAEhD,yBAAyB;IACzB,qBAAqB,EAAE,CAAC;IACxB,uBAAuB,EAAE,CAAC;IAC1B,qBAAqB,EAAE,CAAC;IACxB,kBAAkB,EAAE,CAAC;IAErB,yBAAyB;IACzB,qBAAqB,EAAE,CAAC;IACxB,uBAAuB,EAAE,CAAC;IAC1B,qBAAqB,EAAE,CAAC;IACxB,kBAAkB,EAAE,CAAC;CACb,CAAC;AAEX,kBAAkB;AAClB,4CAA4C;AAC5C,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,aAAa,CAAC,OAAO;IAC9B,QAAQ,EAAE,aAAa,CAAC,QAAQ;IAChC,SAAS,EAAE,aAAa,CAAC,SAAS;CAC1B,CAAC;AAEX,qBAAqB;AACrB,4CAA4C;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,QAAQ,EAAE,sBAAsB,CAAC,QAAQ;IACzC,UAAU,EAAE,sBAAsB,CAAC,UAAU;IAC7C,OAAO,EAAE,sBAAsB,CAAC,OAAO;CAC/B,CAAC;AAEX,qBAAqB;AACrB,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,sDAAsD;IACtD,kBAAkB,EAAE,iBAAiB,CAAC,kBAAkB;IACxD,sBAAsB,EAAE,iBAAiB,CAAC,sBAAsB;IAEhE,6BAA6B;IAC7B,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;IACpC,OAAO,EAAE,iBAAiB,CAAC,OAAO;IAClC,OAAO,EAAE,iBAAiB,CAAC,OAAO;CAC1B,CAAC;AAEX,wBAAwB;AACxB,sEAAsE;AACtE,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Financial constants
3
+ */
4
+ export * from './currency';
5
+ export * from './instruments';
6
+ export * from './formatting';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/financial/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Financial constants
3
+ */
4
+ export * from './currency';
5
+ export * from './instruments';
6
+ export * from './formatting';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/financial/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Financial instrument constants
3
+ */
4
+ export declare const INSTRUMENT_TYPE: {
5
+ readonly ETF: "ETF";
6
+ readonly FUND: "FUND";
7
+ readonly STOCK: "STOCK";
8
+ readonly BOND: "BOND";
9
+ readonly COMMODITY: "COMMODITY";
10
+ readonly CRYPTO: "CRYPTO";
11
+ readonly INDEX: "INDEX";
12
+ };
13
+ export declare const INSTRUMENT_TYPE_VALUES: {
14
+ readonly ETF: "etf";
15
+ readonly FUND: "fund";
16
+ readonly STOCK: "stock";
17
+ readonly BOND: "bond";
18
+ readonly COMMODITY: "commodity";
19
+ readonly CRYPTO: "crypto";
20
+ readonly INDEX: "index";
21
+ };
22
+ export type InstrumentType = (typeof INSTRUMENT_TYPE)[keyof typeof INSTRUMENT_TYPE];
23
+ export declare const INSTRUMENT_TYPE_LABELS: {
24
+ readonly etf: "ETF";
25
+ readonly fund: "Fund";
26
+ readonly stock: "Stock";
27
+ };
28
+ export declare const ASSET_CLASS: {
29
+ readonly EQUITY: "EQUITY";
30
+ readonly FIXED_INCOME: "FIXED_INCOME";
31
+ readonly CASH: "CASH";
32
+ readonly COMMODITY: "COMMODITY";
33
+ readonly REAL_ESTATE: "REAL_ESTATE";
34
+ readonly ALTERNATIVE: "ALTERNATIVE";
35
+ };
36
+ export type AssetClass = (typeof ASSET_CLASS)[keyof typeof ASSET_CLASS];
37
+ export declare const ASSET_CLASS_LABELS: Record<AssetClass, string>;
38
+ export declare const MARKET_IDENTIFIER: {
39
+ readonly NYSE: "NYSE";
40
+ readonly NASDAQ: "NASDAQ";
41
+ readonly ASX: "ASX";
42
+ readonly LSE: "LSE";
43
+ readonly TSX: "TSX";
44
+ readonly HKEX: "HKEX";
45
+ };
46
+ export type MarketIdentifier = (typeof MARKET_IDENTIFIER)[keyof typeof MARKET_IDENTIFIER];
47
+ export declare const EXCHANGE_SUFFIX: Record<MarketIdentifier, string>;
48
+ export declare const INSTRUMENT_TYPE_ETF: "etf";
49
+ export declare const INSTRUMENT_TYPE_FUND: "fund";
50
+ export declare const INSTRUMENT_TYPE_STOCK: "stock";
51
+ //# sourceMappingURL=instruments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instruments.d.ts","sourceRoot":"","sources":["../../src/financial/instruments.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,eAAe;;;;;;;;CAQlB,CAAC;AAGX,eAAO,MAAM,sBAAsB;;;;;;;;CAQzB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAGpF,eAAO,MAAM,sBAAsB;;;;CAIzB,CAAC;AAGX,eAAO,MAAM,WAAW;;;;;;;CAOd,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAExE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAOhD,CAAC;AAGX,eAAO,MAAM,iBAAiB;;;;;;;CAOpB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAG1F,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAOnD,CAAC;AAGX,eAAO,MAAM,mBAAmB,OAA6B,CAAC;AAC9D,eAAO,MAAM,oBAAoB,QAA8B,CAAC;AAChE,eAAO,MAAM,qBAAqB,SAA+B,CAAC"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Financial instrument constants
3
+ */
4
+ // Instrument types
5
+ export const INSTRUMENT_TYPE = {
6
+ ETF: 'ETF',
7
+ FUND: 'FUND',
8
+ STOCK: 'STOCK',
9
+ BOND: 'BOND',
10
+ COMMODITY: 'COMMODITY',
11
+ CRYPTO: 'CRYPTO',
12
+ INDEX: 'INDEX',
13
+ };
14
+ // Lowercase values for Blueberry compatibility
15
+ export const INSTRUMENT_TYPE_VALUES = {
16
+ ETF: 'etf',
17
+ FUND: 'fund',
18
+ STOCK: 'stock',
19
+ BOND: 'bond',
20
+ COMMODITY: 'commodity',
21
+ CRYPTO: 'crypto',
22
+ INDEX: 'index',
23
+ };
24
+ // Instrument type labels (using lowercase keys for Blueberry compatibility)
25
+ export const INSTRUMENT_TYPE_LABELS = {
26
+ [INSTRUMENT_TYPE_VALUES.ETF]: 'ETF',
27
+ [INSTRUMENT_TYPE_VALUES.FUND]: 'Fund',
28
+ [INSTRUMENT_TYPE_VALUES.STOCK]: 'Stock',
29
+ };
30
+ // Asset classes
31
+ export const ASSET_CLASS = {
32
+ EQUITY: 'EQUITY',
33
+ FIXED_INCOME: 'FIXED_INCOME',
34
+ CASH: 'CASH',
35
+ COMMODITY: 'COMMODITY',
36
+ REAL_ESTATE: 'REAL_ESTATE',
37
+ ALTERNATIVE: 'ALTERNATIVE',
38
+ };
39
+ export const ASSET_CLASS_LABELS = {
40
+ [ASSET_CLASS.EQUITY]: 'Equity',
41
+ [ASSET_CLASS.FIXED_INCOME]: 'Fixed Income',
42
+ [ASSET_CLASS.CASH]: 'Cash',
43
+ [ASSET_CLASS.COMMODITY]: 'Commodity',
44
+ [ASSET_CLASS.REAL_ESTATE]: 'Real Estate',
45
+ [ASSET_CLASS.ALTERNATIVE]: 'Alternative',
46
+ };
47
+ // Market identifiers
48
+ export const MARKET_IDENTIFIER = {
49
+ NYSE: 'NYSE',
50
+ NASDAQ: 'NASDAQ',
51
+ ASX: 'ASX',
52
+ LSE: 'LSE',
53
+ TSX: 'TSX',
54
+ HKEX: 'HKEX',
55
+ };
56
+ // Exchange suffixes
57
+ export const EXCHANGE_SUFFIX = {
58
+ [MARKET_IDENTIFIER.NYSE]: '',
59
+ [MARKET_IDENTIFIER.NASDAQ]: '',
60
+ [MARKET_IDENTIFIER.ASX]: '.AX',
61
+ [MARKET_IDENTIFIER.LSE]: '.L',
62
+ [MARKET_IDENTIFIER.TSX]: '.TO',
63
+ [MARKET_IDENTIFIER.HKEX]: '.HK',
64
+ };
65
+ // Blueberry compatibility exports (lowercase values)
66
+ export const INSTRUMENT_TYPE_ETF = INSTRUMENT_TYPE_VALUES.ETF;
67
+ export const INSTRUMENT_TYPE_FUND = INSTRUMENT_TYPE_VALUES.FUND;
68
+ export const INSTRUMENT_TYPE_STOCK = INSTRUMENT_TYPE_VALUES.STOCK;
69
+ //# sourceMappingURL=instruments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instruments.js","sourceRoot":"","sources":["../../src/financial/instruments.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,mBAAmB;AACnB,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,+CAA+C;AAC/C,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAIX,4EAA4E;AAC5E,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,KAAK;IACnC,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,MAAM;IACrC,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,OAAO;CAC/B,CAAC;AAEX,gBAAgB;AAChB,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,cAAc;IAC5B,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;CAClB,CAAC;AAIX,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC5D,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ;IAC9B,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,cAAc;IAC1C,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM;IAC1B,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,WAAW;IACpC,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,aAAa;IACxC,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,aAAa;CAChC,CAAC;AAEX,qBAAqB;AACrB,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACJ,CAAC;AAIX,oBAAoB;AACpB,MAAM,CAAC,MAAM,eAAe,GAAqC;IAC/D,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE;IAC5B,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE;IAC9B,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,KAAK;IAC9B,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI;IAC7B,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,KAAK;IAC9B,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK;CACvB,CAAC;AAEX,qDAAqD;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,GAAG,CAAC;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,IAAI,CAAC;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,KAAK,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @cranberry-money/shared-constants
3
+ *
4
+ * Shared constants for the Blueberry platform.
5
+ * This package provides all constant values used across frontend applications.
6
+ */
7
+ export * from './api';
8
+ export * from './business';
9
+ export * from './financial';
10
+ export * from './ui';
11
+ export * from './utilities';
12
+ export * from './common';
13
+ export * from './config';
14
+ export * from './validation';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,OAAO,CAAC;AAGtB,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,cAAc,MAAM,CAAC;AAGrB,cAAc,aAAa,CAAC;AAG5B,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,cAAc,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @cranberry-money/shared-constants
3
+ *
4
+ * Shared constants for the Blueberry platform.
5
+ * This package provides all constant values used across frontend applications.
6
+ */
7
+ // API-related constants
8
+ export * from './api';
9
+ // Business domain constants
10
+ export * from './business';
11
+ // Financial constants
12
+ export * from './financial';
13
+ // UI/Display constants
14
+ export * from './ui';
15
+ // Utility constants
16
+ export * from './utilities';
17
+ // Common shared constants
18
+ export * from './common';
19
+ // Configuration constants
20
+ export * from './config';
21
+ // Validation constants
22
+ export * from './validation';
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wBAAwB;AACxB,cAAc,OAAO,CAAC;AAEtB,4BAA4B;AAC5B,cAAc,YAAY,CAAC;AAE3B,sBAAsB;AACtB,cAAc,aAAa,CAAC;AAE5B,uBAAuB;AACvB,cAAc,MAAM,CAAC;AAErB,oBAAoB;AACpB,cAAc,aAAa,CAAC;AAE5B,0BAA0B;AAC1B,cAAc,UAAU,CAAC;AAEzB,0BAA0B;AAC1B,cAAc,UAAU,CAAC;AAEzB,uBAAuB;AACvB,cAAc,cAAc,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Cache timing constants for React Query and other caching mechanisms
3
+ */
4
+ export declare const CACHE_TIMING: {
5
+ /**
6
+ * Very short cache - 30 seconds
7
+ */
8
+ readonly VERY_SHORT_STALE_TIME: number;
9
+ /**
10
+ * Trades data stale time - 2 minutes
11
+ */
12
+ readonly TRADES_STALE_TIME: number;
13
+ /**
14
+ * Auth data stale time - 5 minutes
15
+ */
16
+ readonly AUTH_STALE_TIME: number;
17
+ /**
18
+ * Default stale time for general data - 5 minutes
19
+ */
20
+ readonly DEFAULT_STALE_TIME: number;
21
+ /**
22
+ * Asset allocation data stale time - 10 minutes
23
+ */
24
+ readonly ASSET_ALLOCATION_STALE_TIME: number;
25
+ /**
26
+ * Long cache time - 30 minutes
27
+ */
28
+ readonly LONG_STALE_TIME: number;
29
+ /**
30
+ * Default garbage collection time - 2 minutes
31
+ */
32
+ readonly DEFAULT_GC_TIME: number;
33
+ /**
34
+ * Medium garbage collection time - 5 minutes
35
+ */
36
+ readonly MEDIUM_GC_TIME: number;
37
+ /**
38
+ * Long garbage collection time - 10 minutes
39
+ */
40
+ readonly LONG_GC_TIME: number;
41
+ /**
42
+ * Very long garbage collection time - 30 minutes
43
+ */
44
+ readonly VERY_LONG_GC_TIME: number;
45
+ };
46
+ export type CacheTiming = typeof CACHE_TIMING;
47
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/ui/cache.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,YAAY;IACvB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEK,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,OAAO,YAAY,CAAC"}