@cranberry-money/shared-utils 8.23.33 → 8.23.36
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/dashboard.js
CHANGED
|
@@ -6,8 +6,8 @@ export const combineTargetAndActualAllocations = (allocations, holdings) => {
|
|
|
6
6
|
const instrumentMap = new Map();
|
|
7
7
|
allocations.forEach((allocation) => {
|
|
8
8
|
instrumentMap.set(allocation.instrument, {
|
|
9
|
-
symbol: allocation.instrumentSymbol,
|
|
10
|
-
name: allocation.instrumentName,
|
|
9
|
+
symbol: allocation.instrumentSymbol || '',
|
|
10
|
+
name: allocation.instrumentName || '',
|
|
11
11
|
targetPercentage: parseFloat(allocation.percentage),
|
|
12
12
|
});
|
|
13
13
|
});
|
package/dist/dashboard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAC/C,WAAuC,EACvC,QAAiC,EACR,EAAE;IAC3B,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAEhE,MAAM,aAAa,GAAG,IAAI,GAAG,EAW1B,CAAC;IAEJ,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACjC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE;YACvC,MAAM,EAAE,UAAU,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,5 +24,5 @@ export declare const getAvailablePortfoliosForAccount: (accountUuid: string, all
|
|
|
24
24
|
}[];
|
|
25
25
|
export declare const isValidUserPreferencesUpdate: (currentPreferences: UserPreferences | null, updates: Partial<UserPreferences>) => boolean;
|
|
26
26
|
export declare const getUserPreferencesCacheKey: (userProfileUuid: string) => string;
|
|
27
|
-
export declare const sanitizeUserPreferencesInput: (input:
|
|
27
|
+
export declare const sanitizeUserPreferencesInput: (input: unknown) => Partial<UserPreferences>;
|
|
28
28
|
//# sourceMappingURL=user-preferences.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-preferences.d.ts","sourceRoot":"","sources":["../src/user-preferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"user-preferences.d.ts","sourceRoot":"","sources":["../src/user-preferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAGrG,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,OAAO,KAAG,OAAO,CAAC,eAAe,CAsBpF,CAAC"}
|
package/dist/user-preferences.js
CHANGED
|
@@ -8,12 +8,12 @@ export const validateUserPreferences = (preferences, userAccounts = [], userPort
|
|
|
8
8
|
errors.favoriteAccount = USER_PREFERENCES_ERROR_MESSAGES.FAVORITE_ACCOUNT_NOT_OWNED;
|
|
9
9
|
}
|
|
10
10
|
if (preferences.favoritePortfolio) {
|
|
11
|
-
const portfolioExists = userPortfolios.some(p => p.uuid === preferences.favoritePortfolio);
|
|
11
|
+
const portfolioExists = userPortfolios.some((p) => p.uuid === preferences.favoritePortfolio);
|
|
12
12
|
if (!portfolioExists) {
|
|
13
13
|
errors.favoritePortfolio = USER_PREFERENCES_ERROR_MESSAGES.FAVORITE_PORTFOLIO_NOT_OWNED;
|
|
14
14
|
}
|
|
15
15
|
else {
|
|
16
|
-
const portfolio = userPortfolios.find(p => p.uuid === preferences.favoritePortfolio);
|
|
16
|
+
const portfolio = userPortfolios.find((p) => p.uuid === preferences.favoritePortfolio);
|
|
17
17
|
if (portfolio && preferences.favoriteAccount && portfolio.accountUuid !== preferences.favoriteAccount) {
|
|
18
18
|
errors.favoritePortfolio = USER_PREFERENCES_ERROR_MESSAGES.FAVORITE_PORTFOLIO_ACCOUNT_MISMATCH;
|
|
19
19
|
}
|
|
@@ -51,7 +51,7 @@ export const formatUserPreferencesForDisplay = (preferences) => {
|
|
|
51
51
|
};
|
|
52
52
|
export const getAvailablePortfoliosForAccount = (accountUuid, allPortfolios) => {
|
|
53
53
|
return allPortfolios
|
|
54
|
-
.filter(portfolio => portfolio.accountUuid === accountUuid)
|
|
54
|
+
.filter((portfolio) => portfolio.accountUuid === accountUuid)
|
|
55
55
|
.map(({ uuid, name }) => ({ uuid, name }));
|
|
56
56
|
};
|
|
57
57
|
export const isValidUserPreferencesUpdate = (currentPreferences, updates) => {
|
|
@@ -68,16 +68,20 @@ export const getUserPreferencesCacheKey = (userProfileUuid) => {
|
|
|
68
68
|
};
|
|
69
69
|
export const sanitizeUserPreferencesInput = (input) => {
|
|
70
70
|
const sanitized = {};
|
|
71
|
-
if (typeof input
|
|
72
|
-
sanitized
|
|
71
|
+
if (!input || typeof input !== 'object') {
|
|
72
|
+
return sanitized;
|
|
73
73
|
}
|
|
74
|
-
|
|
74
|
+
const inputObj = input;
|
|
75
|
+
if (typeof inputObj.favoriteAccount === 'string' && inputObj.favoriteAccount.trim()) {
|
|
76
|
+
sanitized.favoriteAccount = inputObj.favoriteAccount.trim();
|
|
77
|
+
}
|
|
78
|
+
else if (inputObj.favoriteAccount === null || inputObj.favoriteAccount === '') {
|
|
75
79
|
sanitized.favoriteAccount = null;
|
|
76
80
|
}
|
|
77
|
-
if (typeof
|
|
78
|
-
sanitized.favoritePortfolio =
|
|
81
|
+
if (typeof inputObj.favoritePortfolio === 'string' && inputObj.favoritePortfolio.trim()) {
|
|
82
|
+
sanitized.favoritePortfolio = inputObj.favoritePortfolio.trim();
|
|
79
83
|
}
|
|
80
|
-
else if (
|
|
84
|
+
else if (inputObj.favoritePortfolio === null || inputObj.favoritePortfolio === '') {
|
|
81
85
|
sanitized.favoritePortfolio = null;
|
|
82
86
|
}
|
|
83
87
|
return sanitized;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-preferences.js","sourceRoot":"","sources":["../src/user-preferences.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"user-preferences.js","sourceRoot":"","sources":["../src/user-preferences.ts"],"names":[],"mappings":"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"}
|