@cranberry-money/shared-utils 8.23.25 → 8.23.26

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/index.d.ts CHANGED
@@ -9,4 +9,5 @@ export { validateUserProfileField } from './user-validation';
9
9
  export { hasActiveFilters, countActiveFilters, hasActiveInstrumentFilters, countActiveInstrumentFilters, hasActiveTradeFilters, countActiveTradeFilters, hasActiveTransactionFilters, countActiveTransactionFilters, hasActiveTargetTradeFilters, countActiveTargetTradeFilters, } from './filters';
10
10
  export { combineTargetAndActualAllocations, calculateAllocationTotals, formatAllocationPercentage, formatCurrencyAmount, } from './dashboard';
11
11
  export { validatePortfolioSelection } from './portfolio-validation';
12
+ export { validateUserPreferences, hasUserPreferences, getUserPreferencesSummary, formatUserPreferencesForDisplay, getAvailablePortfoliosForAccount, isValidUserPreferencesUpdate, getUserPreferencesCacheKey, sanitizeUserPreferencesInput, } from './user-preferences';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -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,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAGjF,OAAO,EACL,8BAA8B,EAC9B,qCAAqC,EACrC,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAG1E,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,iCAAiC,EACjC,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC"}
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,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAGjF,OAAO,EACL,8BAA8B,EAC9B,qCAAqC,EACrC,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAG1E,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,iCAAiC,EACjC,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,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"}
package/dist/index.js CHANGED
@@ -20,5 +20,7 @@ export { hasActiveFilters, countActiveFilters, hasActiveInstrumentFilters, count
20
20
  export { combineTargetAndActualAllocations, calculateAllocationTotals, formatAllocationPercentage, formatCurrencyAmount, } from './dashboard';
21
21
  // Portfolio validation utilities
22
22
  export { validatePortfolioSelection } from './portfolio-validation';
23
+ // User preferences utilities
24
+ export { validateUserPreferences, hasUserPreferences, getUserPreferencesSummary, formatUserPreferencesForDisplay, getAvailablePortfoliosForAccount, isValidUserPreferencesUpdate, getUserPreferencesCacheKey, sanitizeUserPreferencesInput, } from './user-preferences';
23
25
  // No re-exports - consumers should import directly from @cranberry-money/shared-types
24
26
  //# 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,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEjF,2CAA2C;AAC3C,OAAO,EACL,8BAA8B,EAC9B,qCAAqC,EACrC,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,kBAAkB;AAClB,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAE1E,sBAAsB;AACtB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AAErB,uBAAuB;AACvB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,oCAAoC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,mBAAmB;AACnB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,WAAW,CAAC;AAEnB,sBAAsB;AACtB,OAAO,EACL,iCAAiC,EACjC,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,iCAAiC;AACjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpE,sFAAsF"}
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,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEjF,2CAA2C;AAC3C,OAAO,EACL,8BAA8B,EAC9B,qCAAqC,EACrC,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,kBAAkB;AAClB,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAE1E,sBAAsB;AACtB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AAErB,uBAAuB;AACvB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,oCAAoC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,mBAAmB;AACnB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,WAAW,CAAC;AAEnB,sBAAsB;AACtB,OAAO,EACL,iCAAiC,EACjC,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,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,sFAAsF"}
@@ -0,0 +1,28 @@
1
+ import type { UserPreferences, UserPreferencesValidationError } from '@cranberry-money/shared-types';
2
+ export declare const validateUserPreferences: (preferences: Partial<UserPreferences>, userAccounts?: string[], userPortfolios?: {
3
+ uuid: string;
4
+ accountUuid: string;
5
+ }[]) => {
6
+ isValid: boolean;
7
+ errors?: UserPreferencesValidationError;
8
+ };
9
+ export declare const hasUserPreferences: (preferences: UserPreferences | null) => boolean;
10
+ export declare const getUserPreferencesSummary: (preferences: UserPreferences | null) => string;
11
+ export declare const formatUserPreferencesForDisplay: (preferences: UserPreferences | null) => {
12
+ hasPreferences: boolean;
13
+ favoriteAccount: string | null;
14
+ favoritePortfolio: string | null;
15
+ summary: string;
16
+ };
17
+ export declare const getAvailablePortfoliosForAccount: (accountUuid: string, allPortfolios: {
18
+ uuid: string;
19
+ accountUuid: string;
20
+ name: string;
21
+ }[]) => {
22
+ uuid: string;
23
+ name: string;
24
+ }[];
25
+ export declare const isValidUserPreferencesUpdate: (currentPreferences: UserPreferences | null, updates: Partial<UserPreferences>) => boolean;
26
+ export declare const getUserPreferencesCacheKey: (userProfileUuid: string) => string;
27
+ export declare const sanitizeUserPreferencesInput: (input: any) => Partial<UserPreferences>;
28
+ //# sourceMappingURL=user-preferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-preferences.d.ts","sourceRoot":"","sources":["../src/user-preferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,8BAA8B,EAC/B,MAAM,+BAA+B,CAAC;AAGvC,eAAO,MAAM,uBAAuB,GAClC,aAAa,OAAO,CAAC,eAAe,CAAC,EACrC,eAAc,MAAM,EAAO,EAC3B,iBAAgB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAAO,KAC3D;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,8BAA8B,CAAA;CA2B7D,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,aAAa,eAAe,GAAG,IAAI,KAAG,OAGxE,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,aAAa,eAAe,GAAG,IAAI,KAAG,MAc/E,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAI,aAAa,eAAe,GAAG,IAAI;;;;;CAOlF,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,aAAa,MAAM,EACnB,eAAe;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,KACnE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAIhC,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,oBAAoB,eAAe,GAAG,IAAI,EAC1C,SAAS,OAAO,CAAC,eAAe,CAAC,KAChC,OAWF,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,iBAAiB,MAAM,KAAG,MAEpE,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,OAAO,GAAG,KAAG,OAAO,CAAC,eAAe,CAgBhF,CAAC"}
@@ -0,0 +1,85 @@
1
+ import { USER_PREFERENCES_ERROR_MESSAGES } from '@cranberry-money/shared-constants';
2
+ export const validateUserPreferences = (preferences, userAccounts = [], userPortfolios = []) => {
3
+ const errors = {};
4
+ if (preferences.favoritePortfolio && !preferences.favoriteAccount) {
5
+ errors.favoriteAccount = USER_PREFERENCES_ERROR_MESSAGES.FAVORITE_ACCOUNT_REQUIRED_FOR_PORTFOLIO;
6
+ }
7
+ if (preferences.favoriteAccount && !userAccounts.includes(preferences.favoriteAccount)) {
8
+ errors.favoriteAccount = USER_PREFERENCES_ERROR_MESSAGES.FAVORITE_ACCOUNT_NOT_OWNED;
9
+ }
10
+ if (preferences.favoritePortfolio) {
11
+ const portfolioExists = userPortfolios.some(p => p.uuid === preferences.favoritePortfolio);
12
+ if (!portfolioExists) {
13
+ errors.favoritePortfolio = USER_PREFERENCES_ERROR_MESSAGES.FAVORITE_PORTFOLIO_NOT_OWNED;
14
+ }
15
+ else {
16
+ const portfolio = userPortfolios.find(p => p.uuid === preferences.favoritePortfolio);
17
+ if (portfolio && preferences.favoriteAccount && portfolio.accountUuid !== preferences.favoriteAccount) {
18
+ errors.favoritePortfolio = USER_PREFERENCES_ERROR_MESSAGES.FAVORITE_PORTFOLIO_ACCOUNT_MISMATCH;
19
+ }
20
+ }
21
+ }
22
+ return {
23
+ isValid: Object.keys(errors).length === 0,
24
+ errors: Object.keys(errors).length > 0 ? errors : undefined,
25
+ };
26
+ };
27
+ export const hasUserPreferences = (preferences) => {
28
+ if (!preferences)
29
+ return false;
30
+ return Boolean(preferences.favoriteAccount || preferences.favoritePortfolio);
31
+ };
32
+ export const getUserPreferencesSummary = (preferences) => {
33
+ if (!preferences || !hasUserPreferences(preferences))
34
+ return 'No preferences set';
35
+ const parts = [];
36
+ if (preferences.favoriteAccount) {
37
+ parts.push(`Account: ${preferences.favoriteAccount}`);
38
+ }
39
+ if (preferences.favoritePortfolio) {
40
+ parts.push(`Portfolio: ${preferences.favoritePortfolio}`);
41
+ }
42
+ return parts.length > 0 ? parts.join(', ') : 'No preferences set';
43
+ };
44
+ export const formatUserPreferencesForDisplay = (preferences) => {
45
+ return {
46
+ hasPreferences: hasUserPreferences(preferences),
47
+ favoriteAccount: preferences?.favoriteAccount || null,
48
+ favoritePortfolio: preferences?.favoritePortfolio || null,
49
+ summary: getUserPreferencesSummary(preferences),
50
+ };
51
+ };
52
+ export const getAvailablePortfoliosForAccount = (accountUuid, allPortfolios) => {
53
+ return allPortfolios
54
+ .filter(portfolio => portfolio.accountUuid === accountUuid)
55
+ .map(({ uuid, name }) => ({ uuid, name }));
56
+ };
57
+ export const isValidUserPreferencesUpdate = (currentPreferences, updates) => {
58
+ if (!updates || Object.keys(updates).length === 0)
59
+ return false;
60
+ if (!currentPreferences) {
61
+ return Boolean(updates.favoriteAccount || updates.favoritePortfolio);
62
+ }
63
+ return (updates.favoriteAccount !== currentPreferences.favoriteAccount ||
64
+ updates.favoritePortfolio !== currentPreferences.favoritePortfolio);
65
+ };
66
+ export const getUserPreferencesCacheKey = (userProfileUuid) => {
67
+ return `user_preferences_${userProfileUuid}`;
68
+ };
69
+ export const sanitizeUserPreferencesInput = (input) => {
70
+ const sanitized = {};
71
+ if (typeof input.favoriteAccount === 'string' && input.favoriteAccount.trim()) {
72
+ sanitized.favoriteAccount = input.favoriteAccount.trim();
73
+ }
74
+ else if (input.favoriteAccount === null || input.favoriteAccount === '') {
75
+ sanitized.favoriteAccount = null;
76
+ }
77
+ if (typeof input.favoritePortfolio === 'string' && input.favoritePortfolio.trim()) {
78
+ sanitized.favoritePortfolio = input.favoritePortfolio.trim();
79
+ }
80
+ else if (input.favoritePortfolio === null || input.favoritePortfolio === '') {
81
+ sanitized.favoritePortfolio = null;
82
+ }
83
+ return sanitized;
84
+ };
85
+ //# sourceMappingURL=user-preferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-preferences.js","sourceRoot":"","sources":["../src/user-preferences.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cranberry-money/shared-utils",
3
- "version": "8.23.25",
3
+ "version": "8.23.26",
4
4
  "description": "Shared utility functions for Blueberry platform",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",