@jjlmoya/utils-finance 1.10.0 → 1.12.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.
- package/package.json +3 -2
- package/src/category/index.ts +12 -12
- package/src/entries.ts +38 -0
- package/src/tool/compoundInterest/entry.ts +30 -0
- package/src/tool/compoundInterest/index.ts +2 -32
- package/src/tool/courtFeeCalculator/entry.ts +29 -0
- package/src/tool/courtFeeCalculator/index.ts +2 -31
- package/src/tool/debtSnowball/entry.ts +31 -0
- package/src/tool/debtSnowball/index.ts +3 -33
- package/src/tool/fireCalculator/entry.ts +29 -0
- package/src/tool/fireCalculator/index.ts +2 -31
- package/src/tool/ibanBicSwiftConverter/entry.ts +29 -0
- package/src/tool/ibanBicSwiftConverter/index.ts +2 -31
- package/src/tool/inflation/entry.ts +30 -0
- package/src/tool/inflation/index.ts +2 -32
- package/src/tool/lateInterest/entry.ts +30 -0
- package/src/tool/lateInterest/index.ts +2 -32
- package/src/tool/legalInterestRate/entry.ts +29 -0
- package/src/tool/legalInterestRate/index.ts +2 -31
- package/src/tool/lotteryOptimizer/entry.ts +29 -0
- package/src/tool/lotteryOptimizer/index.ts +2 -31
- package/src/tool/mortgage/entry.ts +30 -0
- package/src/tool/mortgage/index.ts +2 -32
- package/src/tool/percentageCalculator/entry.ts +30 -0
- package/src/tool/percentageCalculator/index.ts +2 -32
- package/src/tool/rentIncreaseCalculator/entry.ts +29 -0
- package/src/tool/rentIncreaseCalculator/index.ts +2 -31
- package/src/tools.ts +1 -1
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jjlmoya/utils-finance",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./src/index.ts",
|
|
6
6
|
"types": "./src/index.ts",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": "./src/index.ts",
|
|
9
|
-
"./data": "./src/data.ts"
|
|
9
|
+
"./data": "./src/data.ts",
|
|
10
|
+
"./entries": "./src/entries.ts"
|
|
10
11
|
},
|
|
11
12
|
"files": [
|
|
12
13
|
"src"
|
package/src/category/index.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { FinanceCategoryEntry } from '../types';
|
|
2
|
-
import { compoundInterest } from '../tool/compoundInterest';
|
|
3
|
-
import { mortgage } from '../tool/mortgage';
|
|
4
|
-
import { inflation } from '../tool/inflation';
|
|
5
|
-
import { percentageCalculator } from '../tool/percentageCalculator';
|
|
6
|
-
import { lateInterest } from '../tool/lateInterest';
|
|
7
|
-
import { ibanBicSwift } from '../tool/ibanBicSwiftConverter';
|
|
8
|
-
import { rentIncrease } from '../tool/rentIncreaseCalculator';
|
|
9
|
-
import { lotteryOptimizer } from '../tool/lotteryOptimizer';
|
|
10
|
-
import { courtFeeCalculator } from '../tool/courtFeeCalculator';
|
|
11
|
-
import { legalInterestRate } from '../tool/legalInterestRate';
|
|
12
|
-
import { fireCalculator } from '../tool/fireCalculator';
|
|
13
|
-
import { debtSnowball } from '../tool/debtSnowball';
|
|
2
|
+
import { compoundInterest } from '../tool/compoundInterest/entry';
|
|
3
|
+
import { mortgage } from '../tool/mortgage/entry';
|
|
4
|
+
import { inflation } from '../tool/inflation/entry';
|
|
5
|
+
import { percentageCalculator } from '../tool/percentageCalculator/entry';
|
|
6
|
+
import { lateInterest } from '../tool/lateInterest/entry';
|
|
7
|
+
import { ibanBicSwift } from '../tool/ibanBicSwiftConverter/entry';
|
|
8
|
+
import { rentIncrease } from '../tool/rentIncreaseCalculator/entry';
|
|
9
|
+
import { lotteryOptimizer } from '../tool/lotteryOptimizer/entry';
|
|
10
|
+
import { courtFeeCalculator } from '../tool/courtFeeCalculator/entry';
|
|
11
|
+
import { legalInterestRate } from '../tool/legalInterestRate/entry';
|
|
12
|
+
import { fireCalculator } from '../tool/fireCalculator/entry';
|
|
13
|
+
import { debtSnowball } from '../tool/debtSnowball/entry';
|
|
14
14
|
|
|
15
15
|
export const financeCategory: FinanceCategoryEntry = {
|
|
16
16
|
icon: 'mdi:finance',
|
package/src/entries.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export { compoundInterest } from './tool/compoundInterest/entry';
|
|
2
|
+
export type { CompoundInterestLocaleContent } from './tool/compoundInterest/entry';
|
|
3
|
+
export { courtFeeCalculator } from './tool/courtFeeCalculator/entry';
|
|
4
|
+
export type { CourtFeeCalculatorLocaleContent } from './tool/courtFeeCalculator/entry';
|
|
5
|
+
export { debtSnowball } from './tool/debtSnowball/entry';
|
|
6
|
+
export type { DebtSnowballLocaleContent } from './tool/debtSnowball/entry';
|
|
7
|
+
export { fireCalculator } from './tool/fireCalculator/entry';
|
|
8
|
+
export type { FIRECalculatorLocaleContent } from './tool/fireCalculator/entry';
|
|
9
|
+
export { ibanBicSwift } from './tool/ibanBicSwiftConverter/entry';
|
|
10
|
+
export type { IBANBICSwiftLocaleContent } from './tool/ibanBicSwiftConverter/entry';
|
|
11
|
+
export { inflation } from './tool/inflation/entry';
|
|
12
|
+
export type { InflationLocaleContent } from './tool/inflation/entry';
|
|
13
|
+
export { lateInterest } from './tool/lateInterest/entry';
|
|
14
|
+
export type { LateInterestLocaleContent } from './tool/lateInterest/entry';
|
|
15
|
+
export { legalInterestRate } from './tool/legalInterestRate/entry';
|
|
16
|
+
export type { LegalInterestRateLocaleContent } from './tool/legalInterestRate/entry';
|
|
17
|
+
export { lotteryOptimizer } from './tool/lotteryOptimizer/entry';
|
|
18
|
+
export type { LotteryOptimizerLocaleContent } from './tool/lotteryOptimizer/entry';
|
|
19
|
+
export { mortgage } from './tool/mortgage/entry';
|
|
20
|
+
export type { MortgageLocaleContent } from './tool/mortgage/entry';
|
|
21
|
+
export { percentageCalculator } from './tool/percentageCalculator/entry';
|
|
22
|
+
export type { PercentageCalculatorLocaleContent } from './tool/percentageCalculator/entry';
|
|
23
|
+
export { rentIncrease } from './tool/rentIncreaseCalculator/entry';
|
|
24
|
+
export type { RentIncreaseLocaleContent } from './tool/rentIncreaseCalculator/entry';
|
|
25
|
+
export { financeCategory } from './category';
|
|
26
|
+
import { compoundInterest } from './tool/compoundInterest/entry';
|
|
27
|
+
import { courtFeeCalculator } from './tool/courtFeeCalculator/entry';
|
|
28
|
+
import { debtSnowball } from './tool/debtSnowball/entry';
|
|
29
|
+
import { fireCalculator } from './tool/fireCalculator/entry';
|
|
30
|
+
import { ibanBicSwift } from './tool/ibanBicSwiftConverter/entry';
|
|
31
|
+
import { inflation } from './tool/inflation/entry';
|
|
32
|
+
import { lateInterest } from './tool/lateInterest/entry';
|
|
33
|
+
import { legalInterestRate } from './tool/legalInterestRate/entry';
|
|
34
|
+
import { lotteryOptimizer } from './tool/lotteryOptimizer/entry';
|
|
35
|
+
import { mortgage } from './tool/mortgage/entry';
|
|
36
|
+
import { percentageCalculator } from './tool/percentageCalculator/entry';
|
|
37
|
+
import { rentIncrease } from './tool/rentIncreaseCalculator/entry';
|
|
38
|
+
export const ALL_ENTRIES = [compoundInterest, courtFeeCalculator, debtSnowball, fireCalculator, ibanBicSwift, inflation, lateInterest, legalInterestRate, lotteryOptimizer, mortgage, percentageCalculator, rentIncrease];
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { FinanceToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
import type { CompoundInterestUI } from './ui';
|
|
4
|
+
|
|
5
|
+
export type CompoundInterestLocaleContent = ToolLocaleContent<CompoundInterestUI>;
|
|
6
|
+
|
|
7
|
+
export const compoundInterest: FinanceToolEntry<CompoundInterestUI> = {
|
|
8
|
+
id: 'interes-compuesto',
|
|
9
|
+
icons: {
|
|
10
|
+
bg: 'mdi:chart-line',
|
|
11
|
+
fg: 'mdi:trending-up',
|
|
12
|
+
},
|
|
13
|
+
i18n: {
|
|
14
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
15
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
16
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
17
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
18
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
19
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
20
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
21
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
22
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
23
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
24
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
25
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
26
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
27
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
28
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
29
|
+
},
|
|
30
|
+
};
|
|
@@ -1,35 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import type { CompoundInterestUI } from './ui';
|
|
4
|
-
|
|
5
|
-
export type CompoundInterestLocaleContent = ToolLocaleContent<CompoundInterestUI>;
|
|
6
|
-
|
|
7
|
-
export const compoundInterest: FinanceToolEntry<CompoundInterestUI> = {
|
|
8
|
-
id: 'interes-compuesto',
|
|
9
|
-
icons: {
|
|
10
|
-
bg: 'mdi:chart-line',
|
|
11
|
-
fg: 'mdi:trending-up',
|
|
12
|
-
},
|
|
13
|
-
i18n: {
|
|
14
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
15
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
16
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
17
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
18
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
19
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
20
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
21
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
22
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
23
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
24
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
25
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
26
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
27
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
28
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
import { compoundInterest } from './entry';
|
|
2
|
+
export * from './entry';
|
|
33
3
|
export const COMPOUND_INTEREST_TOOL: ToolDefinition = {
|
|
34
4
|
entry: compoundInterest,
|
|
35
5
|
Component: () => import('./component.astro'),
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { FinanceToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
import type { CourtFeeCalculatorUI } from './ui';
|
|
3
|
+
|
|
4
|
+
export type CourtFeeCalculatorLocaleContent = ToolLocaleContent<CourtFeeCalculatorUI>;
|
|
5
|
+
|
|
6
|
+
export const courtFeeCalculator: FinanceToolEntry<CourtFeeCalculatorUI> = {
|
|
7
|
+
id: 'calculadora-tasas-judiciales',
|
|
8
|
+
icons: {
|
|
9
|
+
bg: 'mdi:gavel',
|
|
10
|
+
fg: 'mdi:scale-balance',
|
|
11
|
+
},
|
|
12
|
+
i18n: {
|
|
13
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
14
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
15
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
16
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
17
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
18
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
19
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
20
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
21
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
22
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
23
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
24
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
25
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
26
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
27
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
28
|
+
},
|
|
29
|
+
};
|
|
@@ -1,34 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export type CourtFeeCalculatorLocaleContent = ToolLocaleContent<CourtFeeCalculatorUI>;
|
|
5
|
-
|
|
6
|
-
export const courtFeeCalculator: FinanceToolEntry<CourtFeeCalculatorUI> = {
|
|
7
|
-
id: 'calculadora-tasas-judiciales',
|
|
8
|
-
icons: {
|
|
9
|
-
bg: 'mdi:gavel',
|
|
10
|
-
fg: 'mdi:scale-balance',
|
|
11
|
-
},
|
|
12
|
-
i18n: {
|
|
13
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
14
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
15
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
16
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
17
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
18
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
19
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
20
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
21
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
22
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
23
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
24
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
25
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
26
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
27
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
import { courtFeeCalculator } from './entry';
|
|
2
|
+
export * from './entry';
|
|
32
3
|
export const COURT_FEE_CALCULATOR_TOOL: ToolDefinition = {
|
|
33
4
|
entry: courtFeeCalculator,
|
|
34
5
|
Component: () => import('./component.astro'),
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { FinanceToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
import type { DebtSnowballUI } from './ui';
|
|
3
|
+
import type { Debt, SimulationResult, ProjectionMonth } from './logic';
|
|
4
|
+
|
|
5
|
+
export type DebtSnowballLocaleContent = ToolLocaleContent<DebtSnowballUI>;
|
|
6
|
+
export type { Debt, SimulationResult, ProjectionMonth };
|
|
7
|
+
|
|
8
|
+
export const debtSnowball: FinanceToolEntry<DebtSnowballUI> = {
|
|
9
|
+
id: 'bola-nieve-deuda',
|
|
10
|
+
icons: {
|
|
11
|
+
bg: 'mdi:snowflake',
|
|
12
|
+
fg: 'mdi:trending-down',
|
|
13
|
+
},
|
|
14
|
+
i18n: {
|
|
15
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
16
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
17
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
18
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
19
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
20
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
21
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
22
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
23
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
24
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
25
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
26
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
27
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
28
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
29
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
30
|
+
},
|
|
31
|
+
};
|
|
@@ -1,36 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export type DebtSnowballLocaleContent = ToolLocaleContent<DebtSnowballUI>;
|
|
6
|
-
export type { Debt, SimulationResult, ProjectionMonth };
|
|
7
|
-
|
|
8
|
-
export const debtSnowball: FinanceToolEntry<DebtSnowballUI> = {
|
|
9
|
-
id: 'bola-nieve-deuda',
|
|
10
|
-
icons: {
|
|
11
|
-
bg: 'mdi:snowflake',
|
|
12
|
-
fg: 'mdi:trending-down',
|
|
13
|
-
},
|
|
14
|
-
i18n: {
|
|
15
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
16
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
17
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
18
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
19
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
20
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
21
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
22
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
23
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
24
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
25
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
26
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
27
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
28
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
29
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
30
|
-
},
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
|
|
1
|
+
import { debtSnowball } from './entry';
|
|
2
|
+
import { DebtSnowballLogic } from './logic';
|
|
3
|
+
export * from './entry';
|
|
34
4
|
export const DEBT_SNOWBALL_TOOL: ToolDefinition = {
|
|
35
5
|
entry: debtSnowball,
|
|
36
6
|
Component: () => import('./component.astro'),
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { FinanceToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
import type { FIRECalculatorUI } from './ui';
|
|
3
|
+
|
|
4
|
+
export type FIRECalculatorLocaleContent = ToolLocaleContent<FIRECalculatorUI>;
|
|
5
|
+
|
|
6
|
+
export const fireCalculator: FinanceToolEntry<FIRECalculatorUI> = {
|
|
7
|
+
id: 'calculadora-regla-4-por-ciento-fire',
|
|
8
|
+
icons: {
|
|
9
|
+
bg: 'mdi:chart-line',
|
|
10
|
+
fg: 'mdi:trending-up',
|
|
11
|
+
},
|
|
12
|
+
i18n: {
|
|
13
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
14
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
15
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
16
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
17
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
18
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
19
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
20
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
21
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
22
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
23
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
24
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
25
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
26
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
27
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
28
|
+
},
|
|
29
|
+
};
|
|
@@ -1,34 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export type FIRECalculatorLocaleContent = ToolLocaleContent<FIRECalculatorUI>;
|
|
5
|
-
|
|
6
|
-
export const fireCalculator: FinanceToolEntry<FIRECalculatorUI> = {
|
|
7
|
-
id: 'calculadora-regla-4-por-ciento-fire',
|
|
8
|
-
icons: {
|
|
9
|
-
bg: 'mdi:chart-line',
|
|
10
|
-
fg: 'mdi:trending-up',
|
|
11
|
-
},
|
|
12
|
-
i18n: {
|
|
13
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
14
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
15
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
16
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
17
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
18
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
19
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
20
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
21
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
22
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
23
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
24
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
25
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
26
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
27
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
import { fireCalculator } from './entry';
|
|
2
|
+
export * from './entry';
|
|
32
3
|
export const FIRE_CALCULATOR_TOOL: ToolDefinition = {
|
|
33
4
|
entry: fireCalculator,
|
|
34
5
|
Component: () => import('./component.astro'),
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { FinanceToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
import type { IBANBICSwiftUI } from './ui';
|
|
3
|
+
|
|
4
|
+
export type IBANBICSwiftLocaleContent = ToolLocaleContent<IBANBICSwiftUI>;
|
|
5
|
+
|
|
6
|
+
export const ibanBicSwift: FinanceToolEntry<IBANBICSwiftUI> = {
|
|
7
|
+
id: 'conversor-iban-bic-swift',
|
|
8
|
+
icons: {
|
|
9
|
+
bg: 'mdi:bank-outline',
|
|
10
|
+
fg: 'mdi:credit-card-chip-outline',
|
|
11
|
+
},
|
|
12
|
+
i18n: {
|
|
13
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
14
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
15
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
16
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
17
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
18
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
19
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
20
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
21
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
22
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
23
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
24
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
25
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
26
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
27
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
28
|
+
},
|
|
29
|
+
};
|
|
@@ -1,34 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export type IBANBICSwiftLocaleContent = ToolLocaleContent<IBANBICSwiftUI>;
|
|
5
|
-
|
|
6
|
-
export const ibanBicSwift: FinanceToolEntry<IBANBICSwiftUI> = {
|
|
7
|
-
id: 'conversor-iban-bic-swift',
|
|
8
|
-
icons: {
|
|
9
|
-
bg: 'mdi:bank-outline',
|
|
10
|
-
fg: 'mdi:credit-card-chip-outline',
|
|
11
|
-
},
|
|
12
|
-
i18n: {
|
|
13
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
14
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
15
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
16
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
17
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
18
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
19
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
20
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
21
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
22
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
23
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
24
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
25
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
26
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
27
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
import { ibanBicSwift } from './entry';
|
|
2
|
+
export * from './entry';
|
|
32
3
|
export const IBAN_BIC_SWIFT_TOOL: ToolDefinition = {
|
|
33
4
|
entry: ibanBicSwift,
|
|
34
5
|
Component: () => import('./component.astro'),
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { FinanceToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
import type { InflationUI } from './ui';
|
|
4
|
+
|
|
5
|
+
export type InflationLocaleContent = ToolLocaleContent<InflationUI>;
|
|
6
|
+
|
|
7
|
+
export const inflation: FinanceToolEntry<InflationUI> = {
|
|
8
|
+
id: 'inflacion',
|
|
9
|
+
icons: {
|
|
10
|
+
bg: 'mdi:chart-timeline-variant',
|
|
11
|
+
fg: 'mdi:currency-eur-off',
|
|
12
|
+
},
|
|
13
|
+
i18n: {
|
|
14
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
15
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
16
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
17
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
18
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
19
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
20
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
21
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
22
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
23
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
24
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
25
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
26
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
27
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
28
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
29
|
+
},
|
|
30
|
+
};
|
|
@@ -1,35 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import type { InflationUI } from './ui';
|
|
4
|
-
|
|
5
|
-
export type InflationLocaleContent = ToolLocaleContent<InflationUI>;
|
|
6
|
-
|
|
7
|
-
export const inflation: FinanceToolEntry<InflationUI> = {
|
|
8
|
-
id: 'inflacion',
|
|
9
|
-
icons: {
|
|
10
|
-
bg: 'mdi:chart-timeline-variant',
|
|
11
|
-
fg: 'mdi:currency-eur-off',
|
|
12
|
-
},
|
|
13
|
-
i18n: {
|
|
14
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
15
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
16
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
17
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
18
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
19
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
20
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
21
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
22
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
23
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
24
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
25
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
26
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
27
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
28
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
import { inflation } from './entry';
|
|
2
|
+
export * from './entry';
|
|
33
3
|
export const INFLATION_TOOL: ToolDefinition = {
|
|
34
4
|
entry: inflation,
|
|
35
5
|
Component: () => import('./component.astro'),
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { FinanceToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
import type { LateInterestUI } from './ui';
|
|
4
|
+
|
|
5
|
+
export type LateInterestLocaleContent = ToolLocaleContent<LateInterestUI>;
|
|
6
|
+
|
|
7
|
+
export const lateInterest: FinanceToolEntry<LateInterestUI> = {
|
|
8
|
+
id: 'intereses-demora',
|
|
9
|
+
icons: {
|
|
10
|
+
bg: 'mdi:clock-alert-outline',
|
|
11
|
+
fg: 'mdi:cash-fast',
|
|
12
|
+
},
|
|
13
|
+
i18n: {
|
|
14
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
15
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
16
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
17
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
18
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
19
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
20
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
21
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
22
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
23
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
24
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
25
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
26
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
27
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
28
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
29
|
+
},
|
|
30
|
+
};
|
|
@@ -1,35 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import type { LateInterestUI } from './ui';
|
|
4
|
-
|
|
5
|
-
export type LateInterestLocaleContent = ToolLocaleContent<LateInterestUI>;
|
|
6
|
-
|
|
7
|
-
export const lateInterest: FinanceToolEntry<LateInterestUI> = {
|
|
8
|
-
id: 'intereses-demora',
|
|
9
|
-
icons: {
|
|
10
|
-
bg: 'mdi:clock-alert-outline',
|
|
11
|
-
fg: 'mdi:cash-fast',
|
|
12
|
-
},
|
|
13
|
-
i18n: {
|
|
14
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
15
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
16
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
17
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
18
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
19
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
20
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
21
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
22
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
23
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
24
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
25
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
26
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
27
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
28
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
import { lateInterest } from './entry';
|
|
2
|
+
export * from './entry';
|
|
33
3
|
export const LATE_INTEREST_TOOL: ToolDefinition = {
|
|
34
4
|
entry: lateInterest,
|
|
35
5
|
Component: () => import('./component.astro'),
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { FinanceToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
import type { LegalInterestRateUI } from './ui';
|
|
3
|
+
|
|
4
|
+
export type LegalInterestRateLocaleContent = ToolLocaleContent<LegalInterestRateUI>;
|
|
5
|
+
|
|
6
|
+
export const legalInterestRate: FinanceToolEntry<LegalInterestRateUI> = {
|
|
7
|
+
id: 'interes-legal-dinero-2026',
|
|
8
|
+
icons: {
|
|
9
|
+
bg: 'mdi:gavel',
|
|
10
|
+
fg: 'mdi:scale-balance',
|
|
11
|
+
},
|
|
12
|
+
i18n: {
|
|
13
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
14
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
15
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
16
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
17
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
18
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
19
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
20
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
21
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
22
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
23
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
24
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
25
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
26
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
27
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
28
|
+
},
|
|
29
|
+
};
|
|
@@ -1,34 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export type LegalInterestRateLocaleContent = ToolLocaleContent<LegalInterestRateUI>;
|
|
5
|
-
|
|
6
|
-
export const legalInterestRate: FinanceToolEntry<LegalInterestRateUI> = {
|
|
7
|
-
id: 'interes-legal-dinero-2026',
|
|
8
|
-
icons: {
|
|
9
|
-
bg: 'mdi:gavel',
|
|
10
|
-
fg: 'mdi:scale-balance',
|
|
11
|
-
},
|
|
12
|
-
i18n: {
|
|
13
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
14
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
15
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
16
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
17
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
18
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
19
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
20
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
21
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
22
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
23
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
24
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
25
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
26
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
27
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
import { legalInterestRate } from './entry';
|
|
2
|
+
export * from './entry';
|
|
32
3
|
export const LEGAL_INTEREST_RATE_TOOL: ToolDefinition = {
|
|
33
4
|
entry: legalInterestRate,
|
|
34
5
|
Component: () => import('./component.astro'),
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { FinanceToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
import type { LotteryOptimizerUI } from './ui';
|
|
3
|
+
|
|
4
|
+
export type LotteryOptimizerLocaleContent = ToolLocaleContent<LotteryOptimizerUI>;
|
|
5
|
+
|
|
6
|
+
export const lotteryOptimizer: FinanceToolEntry<LotteryOptimizerUI> = {
|
|
7
|
+
id: 'optimizador-loterias',
|
|
8
|
+
icons: {
|
|
9
|
+
bg: 'mdi:chart-scatter-plot',
|
|
10
|
+
fg: 'mdi:ticket-percent-outline',
|
|
11
|
+
},
|
|
12
|
+
i18n: {
|
|
13
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
14
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
15
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
16
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
17
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
18
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
19
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
20
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
21
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
22
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
23
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
24
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
25
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
26
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
27
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
28
|
+
},
|
|
29
|
+
};
|
|
@@ -1,34 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export type LotteryOptimizerLocaleContent = ToolLocaleContent<LotteryOptimizerUI>;
|
|
5
|
-
|
|
6
|
-
export const lotteryOptimizer: FinanceToolEntry<LotteryOptimizerUI> = {
|
|
7
|
-
id: 'optimizador-loterias',
|
|
8
|
-
icons: {
|
|
9
|
-
bg: 'mdi:chart-scatter-plot',
|
|
10
|
-
fg: 'mdi:ticket-percent-outline',
|
|
11
|
-
},
|
|
12
|
-
i18n: {
|
|
13
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
14
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
15
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
16
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
17
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
18
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
19
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
20
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
21
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
22
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
23
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
24
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
25
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
26
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
27
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
import { lotteryOptimizer } from './entry';
|
|
2
|
+
export * from './entry';
|
|
32
3
|
export const LOTTERY_OPTIMIZER_TOOL: ToolDefinition = {
|
|
33
4
|
entry: lotteryOptimizer,
|
|
34
5
|
Component: () => import('./component.astro'),
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { FinanceToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
import type { MortgageUI } from './ui';
|
|
4
|
+
|
|
5
|
+
export type MortgageLocaleContent = ToolLocaleContent<MortgageUI>;
|
|
6
|
+
|
|
7
|
+
export const mortgage: FinanceToolEntry<MortgageUI> = {
|
|
8
|
+
id: 'hipoteca',
|
|
9
|
+
icons: {
|
|
10
|
+
bg: 'mdi:home-percent',
|
|
11
|
+
fg: 'mdi:percent',
|
|
12
|
+
},
|
|
13
|
+
i18n: {
|
|
14
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
15
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
16
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
17
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
18
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
19
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
20
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
21
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
22
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
23
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
24
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
25
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
26
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
27
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
28
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
29
|
+
},
|
|
30
|
+
};
|
|
@@ -1,35 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import type { MortgageUI } from './ui';
|
|
4
|
-
|
|
5
|
-
export type MortgageLocaleContent = ToolLocaleContent<MortgageUI>;
|
|
6
|
-
|
|
7
|
-
export const mortgage: FinanceToolEntry<MortgageUI> = {
|
|
8
|
-
id: 'hipoteca',
|
|
9
|
-
icons: {
|
|
10
|
-
bg: 'mdi:home-percent',
|
|
11
|
-
fg: 'mdi:percent',
|
|
12
|
-
},
|
|
13
|
-
i18n: {
|
|
14
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
15
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
16
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
17
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
18
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
19
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
20
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
21
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
22
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
23
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
24
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
25
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
26
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
27
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
28
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
import { mortgage } from './entry';
|
|
2
|
+
export * from './entry';
|
|
33
3
|
export const MORTGAGE_TOOL: ToolDefinition = {
|
|
34
4
|
entry: mortgage,
|
|
35
5
|
Component: () => import('./component.astro'),
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { FinanceToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
import type { PercentageCalculatorUI } from './ui';
|
|
4
|
+
|
|
5
|
+
export type PercentageCalculatorLocaleContent = ToolLocaleContent<PercentageCalculatorUI>;
|
|
6
|
+
|
|
7
|
+
export const percentageCalculator: FinanceToolEntry<PercentageCalculatorUI> = {
|
|
8
|
+
id: 'calculadora-porcentajes',
|
|
9
|
+
icons: {
|
|
10
|
+
bg: 'mdi:percent',
|
|
11
|
+
fg: 'mdi:calculator',
|
|
12
|
+
},
|
|
13
|
+
i18n: {
|
|
14
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
15
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
16
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
17
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
18
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
19
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
20
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
21
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
22
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
23
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
24
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
25
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
26
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
27
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
28
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
29
|
+
},
|
|
30
|
+
};
|
|
@@ -1,35 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import type { PercentageCalculatorUI } from './ui';
|
|
4
|
-
|
|
5
|
-
export type PercentageCalculatorLocaleContent = ToolLocaleContent<PercentageCalculatorUI>;
|
|
6
|
-
|
|
7
|
-
export const percentageCalculator: FinanceToolEntry<PercentageCalculatorUI> = {
|
|
8
|
-
id: 'calculadora-porcentajes',
|
|
9
|
-
icons: {
|
|
10
|
-
bg: 'mdi:percent',
|
|
11
|
-
fg: 'mdi:calculator',
|
|
12
|
-
},
|
|
13
|
-
i18n: {
|
|
14
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
15
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
16
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
17
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
18
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
19
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
20
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
21
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
22
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
23
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
24
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
25
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
26
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
27
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
28
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
import { percentageCalculator } from './entry';
|
|
2
|
+
export * from './entry';
|
|
33
3
|
export const PERCENTAGE_CALCULATOR_TOOL: ToolDefinition = {
|
|
34
4
|
entry: percentageCalculator,
|
|
35
5
|
Component: () => import('./component.astro'),
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { FinanceToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
import type { RentIncreaseUI } from './ui';
|
|
3
|
+
|
|
4
|
+
export type RentIncreaseLocaleContent = ToolLocaleContent<RentIncreaseUI>;
|
|
5
|
+
|
|
6
|
+
export const rentIncrease: FinanceToolEntry<RentIncreaseUI> = {
|
|
7
|
+
id: 'calculadora-subida-alquiler-ipc',
|
|
8
|
+
icons: {
|
|
9
|
+
bg: 'mdi:home-city',
|
|
10
|
+
fg: 'mdi:chart-bell-curve-cumulative',
|
|
11
|
+
},
|
|
12
|
+
i18n: {
|
|
13
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
14
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
15
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
16
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
17
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
18
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
19
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
20
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
21
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
22
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
23
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
24
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
25
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
26
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
27
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
28
|
+
},
|
|
29
|
+
};
|
|
@@ -1,34 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export type RentIncreaseLocaleContent = ToolLocaleContent<RentIncreaseUI>;
|
|
5
|
-
|
|
6
|
-
export const rentIncrease: FinanceToolEntry<RentIncreaseUI> = {
|
|
7
|
-
id: 'calculadora-subida-alquiler-ipc',
|
|
8
|
-
icons: {
|
|
9
|
-
bg: 'mdi:home-city',
|
|
10
|
-
fg: 'mdi:chart-bell-curve-cumulative',
|
|
11
|
-
},
|
|
12
|
-
i18n: {
|
|
13
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
14
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
15
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
16
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
17
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
18
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
19
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
20
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
21
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
22
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
23
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
24
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
25
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
26
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
27
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
import { rentIncrease } from './entry';
|
|
2
|
+
export * from './entry';
|
|
32
3
|
export const RENT_INCREASE_TOOL: ToolDefinition = {
|
|
33
4
|
entry: rentIncrease,
|
|
34
5
|
Component: () => import('./component.astro'),
|
package/src/tools.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { ALL_ENTRIES } from './entries';
|
|
1
2
|
import type { ToolDefinition } from './types';
|
|
2
3
|
import { COMPOUND_INTEREST_TOOL } from './tool/compoundInterest';
|
|
3
4
|
import { MORTGAGE_TOOL } from './tool/mortgage';
|
|
@@ -15,4 +16,3 @@ import { DEBT_SNOWBALL_TOOL } from './tool/debtSnowball';
|
|
|
15
16
|
export const ALL_TOOLS: ToolDefinition[] = [COMPOUND_INTEREST_TOOL, MORTGAGE_TOOL, INFLATION_TOOL, PERCENTAGE_CALCULATOR_TOOL, LATE_INTEREST_TOOL, IBAN_BIC_SWIFT_TOOL, RENT_INCREASE_TOOL, LOTTERY_OPTIMIZER_TOOL, COURT_FEE_CALCULATOR_TOOL, LEGAL_INTEREST_RATE_TOOL, FIRE_CALCULATOR_TOOL, DEBT_SNOWBALL_TOOL];
|
|
16
17
|
|
|
17
18
|
|
|
18
|
-
export const ALL_ENTRIES = ALL_TOOLS.map(t => t.entry);
|