@churchapps/helpers 1.11.1 → 2.0.0

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.
@@ -1,21 +1,24 @@
1
1
  export declare class CurrencyHelper {
2
2
  static CACHE_KEY: string;
3
3
  static CACHE_EXPIRATION: number;
4
+ static rates: Record<string, number>;
5
+ static currentBase: string;
4
6
  static loadCurrency: () => Promise<any>;
5
7
  static formatCurrency(amount: number): string;
6
8
  static formatCurrencyWithLocale(amount: number, currency?: string, fractionDigits?: number): string;
7
9
  static getCurrencySymbol(currency?: string): any;
8
10
  private static getLocaleForCurrency;
11
+ static initializeExchangeRates(): Promise<void>;
9
12
  static getExchangeRates(baseCurrency: string): Promise<Record<string, number>>;
10
13
  static convertDonation(donation: {
11
14
  currency: string;
12
15
  amount: number;
13
- }, rates: Record<string, number>, targetCurrency: string): string;
16
+ }, targetCurrency: string, withCurrencyLabel?: boolean): string;
14
17
  static convertDonationTotals(donations: {
15
18
  currency: string;
16
19
  amount: number;
17
- }[], rates: Record<string, number>, targetCurrency: string): string;
18
- static convertAmount(amount: number, fromCurrency: string, toCurrency: string, rates: Record<string, number>): number;
19
- static convertAmountWithLocale(amount: number, donationCurrency: string, selectedCurrency: string, rates: Record<string, number>): Promise<string>;
20
+ }[], targetCurrency: string): string;
21
+ static convertAmount(amount: number, fromCurrency: string, toCurrency: string): number;
22
+ static convertAmountWithLocale(amount: number, donationCurrency: string, selectedCurrency: string): string;
20
23
  }
21
24
  //# sourceMappingURL=CurrencyHelper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CurrencyHelper.d.ts","sourceRoot":"","sources":["../src/CurrencyHelper.ts"],"names":[],"mappings":"AAQA,qBAAa,cAAc;IACzB,MAAM,CAAC,SAAS,SAA0B;IAC1C,MAAM,CAAC,gBAAgB,SAAuB;IAE9C,MAAM,CAAC,YAAY,qBAIjB;IAEF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM;IASpC,MAAM,CAAC,wBAAwB,CAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAc,EACxB,cAAc,GAAE,MAAU;IAoB5B,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM;IAsB1C,OAAO,CAAC,MAAM,CAAC,oBAAoB;WAsBtB,gBAAgB,CAC3B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IA4BlC,MAAM,CAAC,eAAe,CACpB,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAC9C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,cAAc,EAAE,MAAM;IAYxB,MAAM,CAAC,qBAAqB,CAC1B,SAAS,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,EACjD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,cAAc,EAAE,MAAM;IAuBxB,MAAM,CAAC,aAAa,CAClB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,MAAM;WAkBI,uBAAuB,CAClC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAWhC"}
1
+ {"version":3,"file":"CurrencyHelper.d.ts","sourceRoot":"","sources":["../src/CurrencyHelper.ts"],"names":[],"mappings":"AAQA,qBAAa,cAAc;IACzB,MAAM,CAAC,SAAS,SAA0B;IAC1C,MAAM,CAAC,gBAAgB,SAAuB;IAG9C,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAC1C,MAAM,CAAC,WAAW,SAAM;IAExB,MAAM,CAAC,YAAY,qBAIjB;IAEF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM;IASpC,MAAM,CAAC,wBAAwB,CAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAc,EACxB,cAAc,GAAE,MAAU;IAoB5B,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM;IAsB1C,OAAO,CAAC,MAAM,CAAC,oBAAoB;WAwBtB,uBAAuB;WAOvB,gBAAgB,CAC3B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IA8BlC,MAAM,CAAC,eAAe,CACpB,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAC9C,cAAc,EAAE,MAAM,EACtB,iBAAiB,GAAE,OAAc;IAanC,MAAM,CAAC,qBAAqB,CAC1B,SAAS,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,EACjD,cAAc,EAAE,MAAM;IAkBxB,MAAM,CAAC,aAAa,CAClB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,MAAM;IAiBT,MAAM,CAAC,uBAAuB,CAC5B,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM;CAU3B"}
@@ -2,6 +2,10 @@ import { ApiHelper } from "./ApiHelper.js";
2
2
  export class CurrencyHelper {
3
3
  static CACHE_KEY = "exchange_rates_cache";
4
4
  static CACHE_EXPIRATION = 12 * 60 * 60 * 1000; // 12 hours
5
+ // Rates for the church's base currency, cached in memory by initializeExchangeRates()
6
+ // so conversions don't each have to fetch or be handed a rates map.
7
+ static rates = {};
8
+ static currentBase = "";
5
9
  static loadCurrency = async () => {
6
10
  const gateways = await ApiHelper.get("/gateways", "GivingApi");
7
11
  if (gateways.length === 0)
@@ -72,8 +76,19 @@ export class CurrencyHelper {
72
76
  };
73
77
  return currencyLocaleMap[currency] || "en-US";
74
78
  }
79
+ // Populate the in-memory rate cache for the church's base currency. Call once at app start;
80
+ // it no-ops when the base currency is unchanged and rates are already loaded.
81
+ static async initializeExchangeRates() {
82
+ const baseCurrency = await this.loadCurrency();
83
+ if (baseCurrency === this.currentBase && Object.keys(this.rates).length > 0)
84
+ return;
85
+ this.currentBase = baseCurrency;
86
+ this.rates = await this.getExchangeRates(baseCurrency);
87
+ }
75
88
  static async getExchangeRates(baseCurrency) {
76
- const cached = localStorage.getItem(this.CACHE_KEY);
89
+ // Keyed per base currency so switching bases doesn't return the wrong cached rates.
90
+ const cacheKey = `${this.CACHE_KEY}_${baseCurrency}`;
91
+ const cached = localStorage.getItem(cacheKey);
77
92
  if (cached) {
78
93
  const parsed = JSON.parse(cached);
79
94
  const expired = Date.now() - parsed.timestamp > this.CACHE_EXPIRATION;
@@ -88,43 +103,41 @@ export class CurrencyHelper {
88
103
  rates: data.rates,
89
104
  timestamp: Date.now()
90
105
  };
91
- localStorage.setItem(this.CACHE_KEY, JSON.stringify(cache));
106
+ localStorage.setItem(cacheKey, JSON.stringify(cache));
92
107
  return data.rates;
93
108
  }
94
- static convertDonation(donation, rates, targetCurrency) {
95
- const converted = this.convertAmount(Number(donation.amount || 0), donation.currency?.toUpperCase() || "USD", targetCurrency, rates);
109
+ static convertDonation(donation, targetCurrency, withCurrencyLabel = true) {
110
+ const converted = this.convertAmount(Number(donation.amount || 0), donation.currency?.toUpperCase() || "USD", targetCurrency);
111
+ if (!withCurrencyLabel)
112
+ return Number(converted).toFixed(2);
96
113
  return this.formatCurrencyWithLocale(converted, targetCurrency);
97
114
  }
98
- static convertDonationTotals(donations, rates, targetCurrency) {
115
+ static convertDonationTotals(donations, targetCurrency) {
99
116
  const grouped = {};
100
117
  donations.forEach((donation) => {
101
118
  const currency = donation.currency?.toUpperCase() || "USD";
102
- if (!grouped[currency]) {
103
- grouped[currency] = 0;
104
- }
105
- grouped[currency] += Number(donation.amount || 0);
119
+ grouped[currency] = (grouped[currency] || 0) + Number(donation.amount || 0);
106
120
  });
107
121
  let total = 0;
108
122
  Object.entries(grouped).forEach(([currency, amount]) => {
109
- total += this.convertAmount(amount, currency, targetCurrency, rates);
123
+ total += this.convertAmount(amount, currency, targetCurrency);
110
124
  });
111
125
  return this.formatCurrencyWithLocale(total, targetCurrency);
112
126
  }
113
- static convertAmount(amount, fromCurrency, toCurrency, rates) {
114
- const from = fromCurrency.toUpperCase();
115
- const to = toCurrency.toUpperCase();
127
+ static convertAmount(amount, fromCurrency, toCurrency) {
128
+ const from = (fromCurrency || "USD").toUpperCase();
129
+ const to = (toCurrency || "USD").toUpperCase();
116
130
  if (from === to) {
117
131
  return amount;
118
132
  }
119
- const rate = rates[from];
133
+ const rate = this.rates[from];
120
134
  if (!rate) {
121
135
  return amount;
122
136
  }
123
- return amount / rate;
137
+ return Number((amount / rate).toFixed(2));
124
138
  }
125
- //this is just temporary, we can remove this later
126
- static async convertAmountWithLocale(amount, donationCurrency, selectedCurrency, rates) {
127
- const converted = this.convertAmount(amount, donationCurrency, selectedCurrency, rates);
139
+ static convertAmountWithLocale(amount, donationCurrency, selectedCurrency) {
140
+ const converted = this.convertAmount(amount, donationCurrency, selectedCurrency);
128
141
  return this.formatCurrencyWithLocale(converted, selectedCurrency);
129
142
  }
130
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CurrencyHelper.js","sourceRoot":"","sources":["../src/CurrencyHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CurrencyHelper.js","sourceRoot":"","sources":["../src/CurrencyHelper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@churchapps/helpers",
3
- "version": "1.11.1",
3
+ "version": "2.0.0",
4
4
  "type": "module",
5
5
  "description": "Library of helper functions not specific to any one ChurchApps project or framework.",
6
6
  "main": "dist/index.js",