@cranberry-money/shared-utils 8.23.394 → 8.23.396
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.
- package/dist/documents.d.ts +16 -0
- package/dist/documents.d.ts.map +1 -0
- package/dist/documents.js +17 -0
- package/dist/documents.js.map +1 -0
- package/dist/formatting.d.ts +52 -0
- package/dist/formatting.d.ts.map +1 -1
- package/dist/formatting.js +78 -1
- package/dist/formatting.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Document category type for identity vs supporting documents
|
|
3
|
+
*/
|
|
4
|
+
export type DocumentCategoryType = 'identity' | 'supporting';
|
|
5
|
+
/**
|
|
6
|
+
* Check if a document type is an identity document
|
|
7
|
+
* Identity documents: passport, drivers_license, medicare
|
|
8
|
+
*/
|
|
9
|
+
export declare function isIdentityDocument(documentType: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Get the document category based on document type
|
|
12
|
+
* Returns 'identity' for passport, drivers_license, medicare
|
|
13
|
+
* Returns 'supporting' for all other document types
|
|
14
|
+
*/
|
|
15
|
+
export declare function getDocumentCategory(documentType: string): DocumentCategoryType;
|
|
16
|
+
//# sourceMappingURL=documents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../src/documents.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,YAAY,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,oBAAoB,CAE9E"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IDENTITY_DOCUMENT_TYPES } from '@cranberry-money/shared-constants';
|
|
2
|
+
/**
|
|
3
|
+
* Check if a document type is an identity document
|
|
4
|
+
* Identity documents: passport, drivers_license, medicare
|
|
5
|
+
*/
|
|
6
|
+
export function isIdentityDocument(documentType) {
|
|
7
|
+
return IDENTITY_DOCUMENT_TYPES.includes(documentType);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Get the document category based on document type
|
|
11
|
+
* Returns 'identity' for passport, drivers_license, medicare
|
|
12
|
+
* Returns 'supporting' for all other document types
|
|
13
|
+
*/
|
|
14
|
+
export function getDocumentCategory(documentType) {
|
|
15
|
+
return isIdentityDocument(documentType) ? 'identity' : 'supporting';
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=documents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../src/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAO5E;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACrD,OAAQ,uBAA6C,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC/E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,OAAO,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;AACtE,CAAC"}
|
package/dist/formatting.d.ts
CHANGED
|
@@ -87,4 +87,56 @@ export declare function formatCryptoBalance(balance: string | number, symbol: st
|
|
|
87
87
|
* getBlockchainShortName('arbitrum') // "ETH" (uses ETH as native token)
|
|
88
88
|
*/
|
|
89
89
|
export declare function getBlockchainShortName(chainName: string): string;
|
|
90
|
+
/**
|
|
91
|
+
* Formats source of funds codes into human-readable labels.
|
|
92
|
+
* Converts an array of source of funds codes (e.g., ['employment_income', 'savings'])
|
|
93
|
+
* into a comma-separated string of labels (e.g., "Employment income, Savings")
|
|
94
|
+
*
|
|
95
|
+
* @param funds - Array of source of funds codes
|
|
96
|
+
* @returns Comma-separated string of formatted labels
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* formatSourceOfFunds(['employment_income', 'savings']) // "Employment income, Savings"
|
|
100
|
+
* formatSourceOfFunds(['investment_income']) // "Investment income"
|
|
101
|
+
*/
|
|
102
|
+
export declare function formatSourceOfFunds(funds: string[]): string;
|
|
103
|
+
/**
|
|
104
|
+
* Formats an intended use code into a human-readable label.
|
|
105
|
+
* Converts a code (e.g., 'long_term') into a label (e.g., "Long-term investment")
|
|
106
|
+
*
|
|
107
|
+
* @param use - The intended use code
|
|
108
|
+
* @returns Human-readable label
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* formatIntendedUse('long_term') // "Long-term investment"
|
|
112
|
+
* formatIntendedUse('trading') // "Active trading"
|
|
113
|
+
*/
|
|
114
|
+
export declare function formatIntendedUse(use: string): string;
|
|
115
|
+
/**
|
|
116
|
+
* Formats a number as a percentage string.
|
|
117
|
+
*
|
|
118
|
+
* @param value - The numeric value to format (e.g., 45.5 for 45.5%)
|
|
119
|
+
* @param decimals - Number of decimal places (default: 2)
|
|
120
|
+
* @returns Formatted percentage string (e.g., "45.50%")
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* formatPercentage(45.5) // "45.50%"
|
|
124
|
+
* formatPercentage(100) // "100.00%"
|
|
125
|
+
* formatPercentage(33.333, 1) // "33.3%"
|
|
126
|
+
* formatPercentage(0) // "0.00%"
|
|
127
|
+
*/
|
|
128
|
+
export declare function formatPercentage(value: number, decimals?: number): string;
|
|
129
|
+
/**
|
|
130
|
+
* Formats a number as an allocation percentage (always shows 2 decimals, no negative).
|
|
131
|
+
* Specialized for asset allocation displays.
|
|
132
|
+
*
|
|
133
|
+
* @param value - The allocation percentage value
|
|
134
|
+
* @returns Formatted allocation string (e.g., "45.50%")
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* formatAllocationPercentage(45.5) // "45.50%"
|
|
138
|
+
* formatAllocationPercentage(-5) // "0.00%" (clamps to 0)
|
|
139
|
+
* formatAllocationPercentage(150) // "100.00%" (clamps to 100)
|
|
140
|
+
*/
|
|
141
|
+
export declare function formatAllocationPercentage(value: number): string;
|
|
90
142
|
//# sourceMappingURL=formatting.d.ts.map
|
package/dist/formatting.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,8BAA8B;;;;CAIjC,CAAC;AAEX,eAAO,MAAM,qCAAqC;;;;;CAGxC,CAAC;AAEX,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOxD;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yDAAyD;IACzD,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,MAAM,CAkB1F;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAavF;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,GAAG,MAAM,CAGzE;AAED,eAAO,MAAM,uBAAuB,GAAI,QAAQ,MAAM,GAAG,MAAM,KAAG,MAMjE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAahE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAapF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAM1G;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEhE;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAK3D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGrD;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAG5E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhE"}
|
package/dist/formatting.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AUD, DECIMAL_PLACES, getChainShortCode, LOCALE_AUSTRALIA } from '@cranberry-money/shared-constants';
|
|
1
|
+
import { AUD, DECIMAL_PLACES, getChainShortCode, LOCALE_AUSTRALIA, SOURCE_OF_FUNDS_LABELS, INTENDED_USE_LABELS, } from '@cranberry-money/shared-constants';
|
|
2
2
|
export const NUMBER_FORMAT_OPTIONS_CURRENCY = {
|
|
3
3
|
style: 'currency',
|
|
4
4
|
minimumFractionDigits: DECIMAL_PLACES,
|
|
@@ -143,4 +143,81 @@ export function formatCryptoBalance(balance, symbol, decimals = 4) {
|
|
|
143
143
|
export function getBlockchainShortName(chainName) {
|
|
144
144
|
return getChainShortCode(chainName);
|
|
145
145
|
}
|
|
146
|
+
// ============================================
|
|
147
|
+
// Label Formatting Utilities
|
|
148
|
+
// ============================================
|
|
149
|
+
/**
|
|
150
|
+
* Formats source of funds codes into human-readable labels.
|
|
151
|
+
* Converts an array of source of funds codes (e.g., ['employment_income', 'savings'])
|
|
152
|
+
* into a comma-separated string of labels (e.g., "Employment income, Savings")
|
|
153
|
+
*
|
|
154
|
+
* @param funds - Array of source of funds codes
|
|
155
|
+
* @returns Comma-separated string of formatted labels
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* formatSourceOfFunds(['employment_income', 'savings']) // "Employment income, Savings"
|
|
159
|
+
* formatSourceOfFunds(['investment_income']) // "Investment income"
|
|
160
|
+
*/
|
|
161
|
+
export function formatSourceOfFunds(funds) {
|
|
162
|
+
if (!funds || funds.length === 0)
|
|
163
|
+
return '';
|
|
164
|
+
return funds
|
|
165
|
+
.map((fund) => SOURCE_OF_FUNDS_LABELS[fund] || fund)
|
|
166
|
+
.join(', ');
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Formats an intended use code into a human-readable label.
|
|
170
|
+
* Converts a code (e.g., 'long_term') into a label (e.g., "Long-term investment")
|
|
171
|
+
*
|
|
172
|
+
* @param use - The intended use code
|
|
173
|
+
* @returns Human-readable label
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* formatIntendedUse('long_term') // "Long-term investment"
|
|
177
|
+
* formatIntendedUse('trading') // "Active trading"
|
|
178
|
+
*/
|
|
179
|
+
export function formatIntendedUse(use) {
|
|
180
|
+
if (!use)
|
|
181
|
+
return '';
|
|
182
|
+
return INTENDED_USE_LABELS[use] || use;
|
|
183
|
+
}
|
|
184
|
+
// ============================================
|
|
185
|
+
// Percentage Formatting
|
|
186
|
+
// ============================================
|
|
187
|
+
/**
|
|
188
|
+
* Formats a number as a percentage string.
|
|
189
|
+
*
|
|
190
|
+
* @param value - The numeric value to format (e.g., 45.5 for 45.5%)
|
|
191
|
+
* @param decimals - Number of decimal places (default: 2)
|
|
192
|
+
* @returns Formatted percentage string (e.g., "45.50%")
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* formatPercentage(45.5) // "45.50%"
|
|
196
|
+
* formatPercentage(100) // "100.00%"
|
|
197
|
+
* formatPercentage(33.333, 1) // "33.3%"
|
|
198
|
+
* formatPercentage(0) // "0.00%"
|
|
199
|
+
*/
|
|
200
|
+
export function formatPercentage(value, decimals = 2) {
|
|
201
|
+
if (value === undefined || value === null || isNaN(value))
|
|
202
|
+
return '—';
|
|
203
|
+
return `${value.toFixed(decimals)}%`;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Formats a number as an allocation percentage (always shows 2 decimals, no negative).
|
|
207
|
+
* Specialized for asset allocation displays.
|
|
208
|
+
*
|
|
209
|
+
* @param value - The allocation percentage value
|
|
210
|
+
* @returns Formatted allocation string (e.g., "45.50%")
|
|
211
|
+
*
|
|
212
|
+
* @example
|
|
213
|
+
* formatAllocationPercentage(45.5) // "45.50%"
|
|
214
|
+
* formatAllocationPercentage(-5) // "0.00%" (clamps to 0)
|
|
215
|
+
* formatAllocationPercentage(150) // "100.00%" (clamps to 100)
|
|
216
|
+
*/
|
|
217
|
+
export function formatAllocationPercentage(value) {
|
|
218
|
+
if (value === undefined || value === null || isNaN(value))
|
|
219
|
+
return '0.00%';
|
|
220
|
+
const clamped = Math.max(0, Math.min(100, value));
|
|
221
|
+
return `${clamped.toFixed(2)}%`;
|
|
222
|
+
}
|
|
146
223
|
//# sourceMappingURL=formatting.js.map
|
package/dist/formatting.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatting.js","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"formatting.js","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { truncateText } from './formatting';
|
|
2
2
|
export { parseAddress, getAddressDisplayLines } from './address';
|
|
3
3
|
export { formatDate, formatFullDate, formatShortDate, formatNumericDate, formatTime, formatDateTime, formatFullDateTime, formatMemberSince, getDateRange, type DateRange, } from './date';
|
|
4
|
-
export { NUMBER_FORMAT_OPTIONS_CURRENCY, NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED, parseCurrencyInput, formatCurrency, type FormatCurrencyOptions, formatQuantityWithSuffix, formatTransactionAmount, formatBSB, formatAccountNumber, formatCryptoBalance, getBlockchainShortName, } from './formatting';
|
|
4
|
+
export { NUMBER_FORMAT_OPTIONS_CURRENCY, NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED, parseCurrencyInput, formatCurrency, type FormatCurrencyOptions, formatQuantityWithSuffix, formatTransactionAmount, formatBSB, formatAccountNumber, formatCryptoBalance, getBlockchainShortName, formatSourceOfFunds, formatIntendedUse, formatPercentage, formatAllocationPercentage, } from './formatting';
|
|
5
5
|
export { formatPortfolioValue, calculateReturnPercentage, parseNumericValue, validateAllocations } from './portfolio';
|
|
6
6
|
export { isNumericOnly, validatePassword, formatVerificationToken, validateEmailConfirmation, isValidPhoneFormat, isValidFullName, formatPhoneNumber, isValidSourceOfFunds, isValidOccupation, } from './validation';
|
|
7
7
|
export { isValidEthereumAddress, isValidBitcoinAddress, validateWalletAddress, detectChainFromAddress, formatWalletAddress, formatWalletAddressShort, formatWalletAddressMedium, formatWalletAddressLong, getBlockchainExplorerUrl, getTransactionExplorerUrl, isEVMCompatible, isBitcoinBased, } from './validation/wallets';
|
|
@@ -12,4 +12,5 @@ export { validateUserPreferences, hasUserPreferences, getUserPreferencesSummary,
|
|
|
12
12
|
export { formatPhoneForDisplay, cleanPhoneNumber, getExpectedPhoneLength } from './phoneFormatting';
|
|
13
13
|
export { getAssetType, getAssetTypeVariant, ASSET_TYPE_NATIVE_CRYPTO, ASSET_TYPE_STABLECOIN, ASSET_TYPE_TOKENIZED_SECURITY, ASSET_TYPE_TOKENIZED_RWA, ASSET_TYPE_SYNTHETIC, type AllAssetTypes, } from './assets';
|
|
14
14
|
export { getUserVerificationStatus, isUserVerified, isVerificationPending, isVerificationRejected, type VerificationStatusType, type VerificationStatus, } from './user-verification';
|
|
15
|
+
export { isIdentityDocument, getDocumentCategory, type DocumentCategoryType } from './documents';
|
|
15
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAGjE,OAAO,EACL,UAAU,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,KAAK,SAAS,GACf,MAAM,QAAQ,CAAC;AAGhB,OAAO,EACL,8BAA8B,EAC9B,qCAAqC,EACrC,kBAAkB,EAClB,cAAc,EACd,KAAK,qBAAqB,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAGjE,OAAO,EACL,UAAU,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,KAAK,SAAS,GACf,MAAM,QAAQ,CAAC;AAGhB,OAAO,EACL,8BAA8B,EAC9B,qCAAqC,EACrC,kBAAkB,EAClB,cAAc,EACd,KAAK,qBAAqB,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EAEtB,mBAAmB,EACnB,iBAAiB,EAEjB,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGtH,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,EACf,cAAc,GACf,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAGpE,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,+BAA+B,EAC/B,gCAAgC,EAChC,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGpG,OAAO,EAEL,YAAY,EACZ,mBAAmB,EAEnB,wBAAwB,EACxB,qBAAqB,EACrB,6BAA6B,EAC7B,wBAAwB,EACxB,oBAAoB,EAEpB,KAAK,aAAa,GACnB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,11 @@ export { parseAddress, getAddressDisplayLines } from './address';
|
|
|
5
5
|
// Date formatting utilities
|
|
6
6
|
export { formatDate, formatFullDate, formatShortDate, formatNumericDate, formatTime, formatDateTime, formatFullDateTime, formatMemberSince, getDateRange, } from './date';
|
|
7
7
|
// Currency and number formatting utilities
|
|
8
|
-
export { NUMBER_FORMAT_OPTIONS_CURRENCY, NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED, parseCurrencyInput, formatCurrency, formatQuantityWithSuffix, formatTransactionAmount, formatBSB, formatAccountNumber, formatCryptoBalance, getBlockchainShortName,
|
|
8
|
+
export { NUMBER_FORMAT_OPTIONS_CURRENCY, NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED, parseCurrencyInput, formatCurrency, formatQuantityWithSuffix, formatTransactionAmount, formatBSB, formatAccountNumber, formatCryptoBalance, getBlockchainShortName,
|
|
9
|
+
// Label formatting
|
|
10
|
+
formatSourceOfFunds, formatIntendedUse,
|
|
11
|
+
// Percentage formatting
|
|
12
|
+
formatPercentage, formatAllocationPercentage, } from './formatting';
|
|
9
13
|
// Portfolio utilities
|
|
10
14
|
export { formatPortfolioValue, calculateReturnPercentage, parseNumericValue, validateAllocations } from './portfolio';
|
|
11
15
|
// Validation utilities
|
|
@@ -30,5 +34,7 @@ getAssetType, getAssetTypeVariant,
|
|
|
30
34
|
ASSET_TYPE_NATIVE_CRYPTO, ASSET_TYPE_STABLECOIN, ASSET_TYPE_TOKENIZED_SECURITY, ASSET_TYPE_TOKENIZED_RWA, ASSET_TYPE_SYNTHETIC, } from './assets';
|
|
31
35
|
// User verification utilities
|
|
32
36
|
export { getUserVerificationStatus, isUserVerified, isVerificationPending, isVerificationRejected, } from './user-verification';
|
|
37
|
+
// Document utilities
|
|
38
|
+
export { isIdentityDocument, getDocumentCategory } from './documents';
|
|
33
39
|
// No re-exports - consumers should import directly from @cranberry-money/shared-types
|
|
34
40
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,oBAAoB;AACpB,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEjE,4BAA4B;AAC5B,OAAO,EACL,UAAU,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,GAEb,MAAM,QAAQ,CAAC;AAEhB,2CAA2C;AAC3C,OAAO,EACL,8BAA8B,EAC9B,qCAAqC,EACrC,kBAAkB,EAClB,cAAc,EAEd,wBAAwB,EACxB,uBAAuB,EACvB,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,oBAAoB;AACpB,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEjE,4BAA4B;AAC5B,OAAO,EACL,UAAU,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,GAEb,MAAM,QAAQ,CAAC;AAEhB,2CAA2C;AAC3C,OAAO,EACL,8BAA8B,EAC9B,qCAAqC,EACrC,kBAAkB,EAClB,cAAc,EAEd,wBAAwB,EACxB,uBAAuB,EACvB,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB;AACtB,mBAAmB;AACnB,mBAAmB,EACnB,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AAEtB,sBAAsB;AACtB,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEtH,uBAAuB;AACvB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,8BAA8B;AAC9B,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,EACf,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,oCAAoC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,mBAAmB;AACnB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,WAAW,CAAC;AAEnB,iCAAiC;AACjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpE,6BAA6B;AAC7B,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,+BAA+B,EAC/B,gCAAgC,EAChC,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,6BAA6B;AAC7B,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEpG,4BAA4B;AAC5B,OAAO;AACL,kBAAkB;AAClB,YAAY,EACZ,mBAAmB;AACnB,oBAAoB;AACpB,wBAAwB,EACxB,qBAAqB,EACrB,6BAA6B,EAC7B,wBAAwB,EACxB,oBAAoB,GAGrB,MAAM,UAAU,CAAC;AAElB,8BAA8B;AAC9B,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,GAGvB,MAAM,qBAAqB,CAAC;AAE7B,qBAAqB;AACrB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAA6B,MAAM,aAAa,CAAC;AAEjG,sFAAsF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cranberry-money/shared-utils",
|
|
3
|
-
"version": "8.23.
|
|
3
|
+
"version": "8.23.396",
|
|
4
4
|
"description": "Shared utility functions for Blueberry platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"prepublishOnly": "npm run clean && npm run typecheck && npm test && npm run build"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@cranberry-money/shared-constants": "^8.15.
|
|
33
|
-
"@cranberry-money/shared-types": "^8.22.
|
|
32
|
+
"@cranberry-money/shared-constants": "^8.15.421",
|
|
33
|
+
"@cranberry-money/shared-types": "^8.22.396"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/jest": "^30.0.0",
|