@novha/calc-engines 6.3.0 → 7.0.1
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/all-commits.bundle +0 -0
- package/dist/capital-gains/brazil/BrazilCapitalGainsService.js +3 -0
- package/dist/capital-gains/brazil/BrazilCapitalGainsServiceImpl.js +56 -0
- package/dist/capital-gains/brazil/domain/types.js +3 -0
- package/dist/capital-gains/canada/CanadaCapitalGainsServiceImpl.js +29 -17
- package/dist/capital-gains/index.js +17 -2
- package/dist/capital-gains/india/IndiaCapitalGainsService.js +3 -0
- package/dist/capital-gains/india/IndiaCapitalGainsServiceImpl.js +58 -0
- package/dist/capital-gains/india/domain/types.js +3 -0
- package/dist/capital-gains/israel/IsraelCapitalGainsService.js +3 -0
- package/dist/capital-gains/israel/IsraelCapitalGainsServiceImpl.js +56 -0
- package/dist/capital-gains/israel/domain/types.js +3 -0
- package/dist/capital-gains/japan/JapanCapitalGainsService.js +3 -0
- package/dist/capital-gains/japan/JapanCapitalGainsServiceImpl.js +41 -0
- package/dist/capital-gains/japan/domain/types.js +3 -0
- package/dist/capital-gains/spain/SpainCapitalGainsService.js +3 -0
- package/dist/capital-gains/spain/SpainCapitalGainsServiceImpl.js +56 -0
- package/dist/capital-gains/spain/domain/types.js +3 -0
- package/dist/corporate/brazil/BrazilCorporateTaxService.js +3 -0
- package/dist/corporate/brazil/BrazilCorporateTaxServiceImpl.js +33 -0
- package/dist/corporate/brazil/domain/types.js +3 -0
- package/dist/corporate/index.js +19 -2
- package/dist/corporate/india/IndiaCorporateTaxService.js +3 -0
- package/dist/corporate/india/IndiaCorporateTaxServiceImpl.js +29 -0
- package/dist/corporate/india/domain/types.js +3 -0
- package/dist/corporate/israel/IsraelCorporateTaxService.js +3 -0
- package/dist/corporate/israel/IsraelCorporateTaxServiceImpl.js +29 -0
- package/dist/corporate/israel/domain/types.js +3 -0
- package/dist/corporate/japan/JapanCorporateTaxService.js +3 -0
- package/dist/corporate/japan/JapanCorporateTaxServiceImpl.js +29 -0
- package/dist/corporate/japan/domain/types.js +3 -0
- package/dist/corporate/netherlands/NetherlandsCorporateTaxService.js +3 -0
- package/dist/corporate/netherlands/NetherlandsCorporateTaxServiceImpl.js +40 -0
- package/dist/corporate/netherlands/domain/types.js +3 -0
- package/dist/corporate/spain/SpainCorporateTaxService.js +3 -0
- package/dist/corporate/spain/SpainCorporateTaxServiceImpl.js +29 -0
- package/dist/corporate/spain/domain/types.js +3 -0
- package/dist/corporate/switzerland/SwitzerlandCorporateTaxService.js +3 -0
- package/dist/corporate/switzerland/SwitzerlandCorporateTaxServiceImpl.js +29 -0
- package/dist/corporate/switzerland/domain/types.js +3 -0
- package/dist/income-tax/brazil/BrazilIncomeTaxService.js +3 -0
- package/dist/income-tax/brazil/BrazilIncomeTaxServiceImpl.js +78 -0
- package/dist/income-tax/brazil/domain/types.js +3 -0
- package/dist/income-tax/index.js +23 -2
- package/dist/income-tax/india/IndiaIncomeTaxService.js +3 -0
- package/dist/income-tax/india/IndiaIncomeTaxServiceImpl.js +75 -0
- package/dist/income-tax/india/domain/types.js +3 -0
- package/dist/income-tax/israel/IsraelIncomeTaxService.js +3 -0
- package/dist/income-tax/israel/IsraelIncomeTaxServiceImpl.js +62 -0
- package/dist/income-tax/israel/domain/types.js +3 -0
- package/dist/income-tax/japan/JapanIncomeTaxService.js +3 -0
- package/dist/income-tax/japan/JapanIncomeTaxServiceImpl.js +75 -0
- package/dist/income-tax/japan/domain/types.js +3 -0
- package/dist/income-tax/netherlands/NetherlandsIncomeTaxService.js +3 -0
- package/dist/income-tax/netherlands/NetherlandsIncomeTaxServiceImpl.js +62 -0
- package/dist/income-tax/netherlands/domain/types.js +3 -0
- package/dist/income-tax/spain/SpainIncomeTaxService.js +3 -0
- package/dist/income-tax/spain/SpainIncomeTaxServiceImpl.js +62 -0
- package/dist/income-tax/spain/domain/types.js +3 -0
- package/dist/income-tax/switzerland/SwitzerlandIncomeTaxService.js +3 -0
- package/dist/income-tax/switzerland/SwitzerlandIncomeTaxServiceImpl.js +62 -0
- package/dist/income-tax/switzerland/domain/types.js +3 -0
- package/dist/index.js +3 -2
- package/dist/inheritance-tax/australia/AustraliaInheritanceTaxService.js +3 -0
- package/dist/inheritance-tax/australia/AustraliaInheritanceTaxServiceImpl.js +19 -0
- package/dist/inheritance-tax/australia/domain/types.js +3 -0
- package/dist/inheritance-tax/canada/CanadaInheritanceTaxService.js +3 -0
- package/dist/inheritance-tax/canada/CanadaInheritanceTaxServiceImpl.js +51 -0
- package/dist/inheritance-tax/canada/domain/types.js +3 -0
- package/dist/inheritance-tax/domain/types.js +3 -0
- package/dist/inheritance-tax/france/FranceInheritanceTaxService.js +3 -0
- package/dist/inheritance-tax/france/FranceInheritanceTaxServiceImpl.js +52 -0
- package/dist/inheritance-tax/france/domain/types.js +3 -0
- package/dist/inheritance-tax/germany/GermanyInheritanceTaxService.js +3 -0
- package/dist/inheritance-tax/germany/GermanyInheritanceTaxServiceImpl.js +52 -0
- package/dist/inheritance-tax/germany/domain/types.js +3 -0
- package/dist/inheritance-tax/index.js +34 -0
- package/dist/inheritance-tax/japan/JapanInheritanceTaxService.js +3 -0
- package/dist/inheritance-tax/japan/JapanInheritanceTaxServiceImpl.js +53 -0
- package/dist/inheritance-tax/japan/domain/types.js +3 -0
- package/dist/inheritance-tax/netherlands/NetherlandsInheritanceTaxService.js +3 -0
- package/dist/inheritance-tax/netherlands/NetherlandsInheritanceTaxServiceImpl.js +52 -0
- package/dist/inheritance-tax/netherlands/domain/types.js +3 -0
- package/dist/inheritance-tax/south-africa/SouthAfricaInheritanceTaxService.js +3 -0
- package/dist/inheritance-tax/south-africa/SouthAfricaInheritanceTaxServiceImpl.js +52 -0
- package/dist/inheritance-tax/south-africa/domain/types.js +3 -0
- package/dist/inheritance-tax/spain/SpainInheritanceTaxService.js +3 -0
- package/dist/inheritance-tax/spain/SpainInheritanceTaxServiceImpl.js +51 -0
- package/dist/inheritance-tax/spain/domain/types.js +3 -0
- package/dist/inheritance-tax/uk/UKInheritanceTaxService.js +3 -0
- package/dist/inheritance-tax/uk/UKInheritanceTaxServiceImpl.js +39 -0
- package/dist/inheritance-tax/uk/domain/types.js +3 -0
- package/dist/inheritance-tax/usa/USAInheritanceTaxService.js +3 -0
- package/dist/inheritance-tax/usa/USAInheritanceTaxServiceImpl.js +51 -0
- package/dist/inheritance-tax/usa/domain/types.js +3 -0
- package/dist/mortgage/brazil/BrazilMortgageService.js +3 -0
- package/dist/mortgage/brazil/BrazilMortgageServiceImpl.js +76 -0
- package/dist/mortgage/brazil/domain/types.js +3 -0
- package/dist/mortgage/index.js +23 -2
- package/dist/mortgage/india/IndiaMortgageService.js +3 -0
- package/dist/mortgage/india/IndiaMortgageServiceImpl.js +76 -0
- package/dist/mortgage/india/domain/types.js +3 -0
- package/dist/mortgage/israel/IsraelMortgageService.js +3 -0
- package/dist/mortgage/israel/IsraelMortgageServiceImpl.js +100 -0
- package/dist/mortgage/israel/domain/types.js +3 -0
- package/dist/mortgage/japan/JapanMortgageService.js +3 -0
- package/dist/mortgage/japan/JapanMortgageServiceImpl.js +76 -0
- package/dist/mortgage/japan/domain/types.js +3 -0
- package/dist/mortgage/netherlands/NetherlandsMortgageService.js +3 -0
- package/dist/mortgage/netherlands/NetherlandsMortgageServiceImpl.js +83 -0
- package/dist/mortgage/netherlands/domain/types.js +3 -0
- package/dist/mortgage/spain/SpainMortgageService.js +3 -0
- package/dist/mortgage/spain/SpainMortgageServiceImpl.js +96 -0
- package/dist/mortgage/spain/domain/types.js +3 -0
- package/dist/mortgage/switzerland/SwitzerlandMortgageService.js +3 -0
- package/dist/mortgage/switzerland/SwitzerlandMortgageServiceImpl.js +80 -0
- package/dist/mortgage/switzerland/domain/types.js +3 -0
- package/dist/shared/domain/types.js +2 -1
- package/dist/types/capital-gains/brazil/BrazilCapitalGainsService.d.ts +4 -0
- package/dist/types/capital-gains/brazil/BrazilCapitalGainsServiceImpl.d.ts +10 -0
- package/dist/types/capital-gains/brazil/domain/types.d.ts +11 -0
- package/dist/types/capital-gains/canada/CanadaCapitalGainsServiceImpl.d.ts +1 -1
- package/dist/types/capital-gains/index.d.ts +11 -1
- package/dist/types/capital-gains/india/IndiaCapitalGainsService.d.ts +4 -0
- package/dist/types/capital-gains/india/IndiaCapitalGainsServiceImpl.d.ts +9 -0
- package/dist/types/capital-gains/india/domain/types.d.ts +9 -0
- package/dist/types/capital-gains/israel/IsraelCapitalGainsService.d.ts +4 -0
- package/dist/types/capital-gains/israel/IsraelCapitalGainsServiceImpl.d.ts +10 -0
- package/dist/types/capital-gains/israel/domain/types.d.ts +11 -0
- package/dist/types/capital-gains/japan/JapanCapitalGainsService.d.ts +4 -0
- package/dist/types/capital-gains/japan/JapanCapitalGainsServiceImpl.d.ts +9 -0
- package/dist/types/capital-gains/japan/domain/types.d.ts +6 -0
- package/dist/types/capital-gains/spain/SpainCapitalGainsService.d.ts +4 -0
- package/dist/types/capital-gains/spain/SpainCapitalGainsServiceImpl.d.ts +10 -0
- package/dist/types/capital-gains/spain/domain/types.d.ts +11 -0
- package/dist/types/corporate/brazil/BrazilCorporateTaxService.d.ts +4 -0
- package/dist/types/corporate/brazil/BrazilCorporateTaxServiceImpl.d.ts +8 -0
- package/dist/types/corporate/brazil/domain/types.d.ts +19 -0
- package/dist/types/corporate/index.d.ts +15 -1
- package/dist/types/corporate/india/IndiaCorporateTaxService.d.ts +4 -0
- package/dist/types/corporate/india/IndiaCorporateTaxServiceImpl.d.ts +8 -0
- package/dist/types/corporate/india/domain/types.d.ts +15 -0
- package/dist/types/corporate/israel/IsraelCorporateTaxService.d.ts +4 -0
- package/dist/types/corporate/israel/IsraelCorporateTaxServiceImpl.d.ts +8 -0
- package/dist/types/corporate/israel/domain/types.d.ts +15 -0
- package/dist/types/corporate/japan/JapanCorporateTaxService.d.ts +4 -0
- package/dist/types/corporate/japan/JapanCorporateTaxServiceImpl.d.ts +8 -0
- package/dist/types/corporate/japan/domain/types.d.ts +15 -0
- package/dist/types/corporate/netherlands/NetherlandsCorporateTaxService.d.ts +4 -0
- package/dist/types/corporate/netherlands/NetherlandsCorporateTaxServiceImpl.d.ts +8 -0
- package/dist/types/corporate/netherlands/domain/types.d.ts +17 -0
- package/dist/types/corporate/spain/SpainCorporateTaxService.d.ts +4 -0
- package/dist/types/corporate/spain/SpainCorporateTaxServiceImpl.d.ts +8 -0
- package/dist/types/corporate/spain/domain/types.d.ts +15 -0
- package/dist/types/corporate/switzerland/SwitzerlandCorporateTaxService.d.ts +4 -0
- package/dist/types/corporate/switzerland/SwitzerlandCorporateTaxServiceImpl.d.ts +8 -0
- package/dist/types/corporate/switzerland/domain/types.d.ts +15 -0
- package/dist/types/income-tax/brazil/BrazilIncomeTaxService.d.ts +4 -0
- package/dist/types/income-tax/brazil/BrazilIncomeTaxServiceImpl.d.ts +11 -0
- package/dist/types/income-tax/brazil/domain/types.d.ts +18 -0
- package/dist/types/income-tax/index.d.ts +15 -1
- package/dist/types/income-tax/india/IndiaIncomeTaxService.d.ts +4 -0
- package/dist/types/income-tax/india/IndiaIncomeTaxServiceImpl.d.ts +10 -0
- package/dist/types/income-tax/india/domain/types.d.ts +16 -0
- package/dist/types/income-tax/israel/IsraelIncomeTaxService.d.ts +4 -0
- package/dist/types/income-tax/israel/IsraelIncomeTaxServiceImpl.d.ts +10 -0
- package/dist/types/income-tax/israel/domain/types.d.ts +16 -0
- package/dist/types/income-tax/japan/JapanIncomeTaxService.d.ts +4 -0
- package/dist/types/income-tax/japan/JapanIncomeTaxServiceImpl.d.ts +10 -0
- package/dist/types/income-tax/japan/domain/types.d.ts +16 -0
- package/dist/types/income-tax/netherlands/NetherlandsIncomeTaxService.d.ts +4 -0
- package/dist/types/income-tax/netherlands/NetherlandsIncomeTaxServiceImpl.d.ts +10 -0
- package/dist/types/income-tax/netherlands/domain/types.d.ts +16 -0
- package/dist/types/income-tax/spain/SpainIncomeTaxService.d.ts +4 -0
- package/dist/types/income-tax/spain/SpainIncomeTaxServiceImpl.d.ts +10 -0
- package/dist/types/income-tax/spain/domain/types.d.ts +16 -0
- package/dist/types/income-tax/switzerland/SwitzerlandIncomeTaxService.d.ts +4 -0
- package/dist/types/income-tax/switzerland/SwitzerlandIncomeTaxServiceImpl.d.ts +10 -0
- package/dist/types/income-tax/switzerland/domain/types.d.ts +16 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/inheritance-tax/australia/AustraliaInheritanceTaxService.d.ts +4 -0
- package/dist/types/inheritance-tax/australia/AustraliaInheritanceTaxServiceImpl.d.ts +8 -0
- package/dist/types/inheritance-tax/australia/domain/types.d.ts +13 -0
- package/dist/types/inheritance-tax/canada/CanadaInheritanceTaxService.d.ts +4 -0
- package/dist/types/inheritance-tax/canada/CanadaInheritanceTaxServiceImpl.d.ts +9 -0
- package/dist/types/inheritance-tax/canada/domain/types.d.ts +20 -0
- package/dist/types/inheritance-tax/domain/types.d.ts +17 -0
- package/dist/types/inheritance-tax/france/FranceInheritanceTaxService.d.ts +4 -0
- package/dist/types/inheritance-tax/france/FranceInheritanceTaxServiceImpl.d.ts +9 -0
- package/dist/types/inheritance-tax/france/domain/types.d.ts +29 -0
- package/dist/types/inheritance-tax/germany/GermanyInheritanceTaxService.d.ts +4 -0
- package/dist/types/inheritance-tax/germany/GermanyInheritanceTaxServiceImpl.d.ts +9 -0
- package/dist/types/inheritance-tax/germany/domain/types.d.ts +28 -0
- package/dist/types/inheritance-tax/index.d.ts +21 -0
- package/dist/types/inheritance-tax/japan/JapanInheritanceTaxService.d.ts +4 -0
- package/dist/types/inheritance-tax/japan/JapanInheritanceTaxServiceImpl.d.ts +9 -0
- package/dist/types/inheritance-tax/japan/domain/types.d.ts +21 -0
- package/dist/types/inheritance-tax/netherlands/NetherlandsInheritanceTaxService.d.ts +4 -0
- package/dist/types/inheritance-tax/netherlands/NetherlandsInheritanceTaxServiceImpl.d.ts +9 -0
- package/dist/types/inheritance-tax/netherlands/domain/types.d.ts +28 -0
- package/dist/types/inheritance-tax/south-africa/SouthAfricaInheritanceTaxService.d.ts +4 -0
- package/dist/types/inheritance-tax/south-africa/SouthAfricaInheritanceTaxServiceImpl.d.ts +9 -0
- package/dist/types/inheritance-tax/south-africa/domain/types.d.ts +20 -0
- package/dist/types/inheritance-tax/spain/SpainInheritanceTaxService.d.ts +4 -0
- package/dist/types/inheritance-tax/spain/SpainInheritanceTaxServiceImpl.d.ts +9 -0
- package/dist/types/inheritance-tax/spain/domain/types.d.ts +19 -0
- package/dist/types/inheritance-tax/uk/UKInheritanceTaxService.d.ts +4 -0
- package/dist/types/inheritance-tax/uk/UKInheritanceTaxServiceImpl.d.ts +8 -0
- package/dist/types/inheritance-tax/uk/domain/types.d.ts +17 -0
- package/dist/types/inheritance-tax/usa/USAInheritanceTaxService.d.ts +4 -0
- package/dist/types/inheritance-tax/usa/USAInheritanceTaxServiceImpl.d.ts +9 -0
- package/dist/types/inheritance-tax/usa/domain/types.d.ts +19 -0
- package/dist/types/mortgage/brazil/BrazilMortgageService.d.ts +4 -0
- package/dist/types/mortgage/brazil/BrazilMortgageServiceImpl.d.ts +7 -0
- package/dist/types/mortgage/brazil/domain/types.d.ts +39 -0
- package/dist/types/mortgage/index.d.ts +15 -1
- package/dist/types/mortgage/india/IndiaMortgageService.d.ts +4 -0
- package/dist/types/mortgage/india/IndiaMortgageServiceImpl.d.ts +7 -0
- package/dist/types/mortgage/india/domain/types.d.ts +39 -0
- package/dist/types/mortgage/israel/IsraelMortgageService.d.ts +4 -0
- package/dist/types/mortgage/israel/IsraelMortgageServiceImpl.d.ts +8 -0
- package/dist/types/mortgage/israel/domain/types.d.ts +43 -0
- package/dist/types/mortgage/japan/JapanMortgageService.d.ts +4 -0
- package/dist/types/mortgage/japan/JapanMortgageServiceImpl.d.ts +7 -0
- package/dist/types/mortgage/japan/domain/types.d.ts +39 -0
- package/dist/types/mortgage/netherlands/NetherlandsMortgageService.d.ts +4 -0
- package/dist/types/mortgage/netherlands/NetherlandsMortgageServiceImpl.d.ts +7 -0
- package/dist/types/mortgage/netherlands/domain/types.d.ts +41 -0
- package/dist/types/mortgage/spain/SpainMortgageService.d.ts +4 -0
- package/dist/types/mortgage/spain/SpainMortgageServiceImpl.d.ts +8 -0
- package/dist/types/mortgage/spain/domain/types.d.ts +44 -0
- package/dist/types/mortgage/switzerland/SwitzerlandMortgageService.d.ts +4 -0
- package/dist/types/mortgage/switzerland/SwitzerlandMortgageServiceImpl.d.ts +7 -0
- package/dist/types/mortgage/switzerland/domain/types.d.ts +37 -0
- package/dist/types/shared/domain/types.d.ts +2 -1
- package/package.json +1 -1
- package/src/capital-gains/brazil/BrazilCapitalGainsService.ts +5 -0
- package/src/capital-gains/brazil/BrazilCapitalGainsServiceImpl.ts +69 -0
- package/src/capital-gains/brazil/domain/types.ts +15 -0
- package/src/capital-gains/canada/CanadaCapitalGainsServiceImpl.ts +34 -21
- package/src/capital-gains/index.ts +50 -0
- package/src/capital-gains/india/IndiaCapitalGainsService.ts +5 -0
- package/src/capital-gains/india/IndiaCapitalGainsServiceImpl.ts +64 -0
- package/src/capital-gains/india/domain/types.ts +12 -0
- package/src/capital-gains/israel/IsraelCapitalGainsService.ts +5 -0
- package/src/capital-gains/israel/IsraelCapitalGainsServiceImpl.ts +69 -0
- package/src/capital-gains/israel/domain/types.ts +15 -0
- package/src/capital-gains/japan/JapanCapitalGainsService.ts +5 -0
- package/src/capital-gains/japan/JapanCapitalGainsServiceImpl.ts +47 -0
- package/src/capital-gains/japan/domain/types.ts +9 -0
- package/src/capital-gains/spain/SpainCapitalGainsService.ts +5 -0
- package/src/capital-gains/spain/SpainCapitalGainsServiceImpl.ts +69 -0
- package/src/capital-gains/spain/domain/types.ts +15 -0
- package/src/corporate/brazil/BrazilCorporateTaxService.ts +5 -0
- package/src/corporate/brazil/BrazilCorporateTaxServiceImpl.ts +40 -0
- package/src/corporate/brazil/domain/types.ts +16 -0
- package/src/corporate/index.ts +81 -1
- package/src/corporate/india/IndiaCorporateTaxService.ts +5 -0
- package/src/corporate/india/IndiaCorporateTaxServiceImpl.ts +35 -0
- package/src/corporate/india/domain/types.ts +15 -0
- package/src/corporate/israel/IsraelCorporateTaxService.ts +5 -0
- package/src/corporate/israel/IsraelCorporateTaxServiceImpl.ts +35 -0
- package/src/corporate/israel/domain/types.ts +15 -0
- package/src/corporate/japan/JapanCorporateTaxService.ts +5 -0
- package/src/corporate/japan/JapanCorporateTaxServiceImpl.ts +35 -0
- package/src/corporate/japan/domain/types.ts +15 -0
- package/src/corporate/netherlands/NetherlandsCorporateTaxService.ts +5 -0
- package/src/corporate/netherlands/NetherlandsCorporateTaxServiceImpl.ts +48 -0
- package/src/corporate/netherlands/domain/types.ts +21 -0
- package/src/corporate/spain/SpainCorporateTaxService.ts +5 -0
- package/src/corporate/spain/SpainCorporateTaxServiceImpl.ts +35 -0
- package/src/corporate/spain/domain/types.ts +15 -0
- package/src/corporate/switzerland/SwitzerlandCorporateTaxService.ts +5 -0
- package/src/corporate/switzerland/SwitzerlandCorporateTaxServiceImpl.ts +35 -0
- package/src/corporate/switzerland/domain/types.ts +15 -0
- package/src/income-tax/brazil/BrazilIncomeTaxService.ts +5 -0
- package/src/income-tax/brazil/BrazilIncomeTaxServiceImpl.ts +91 -0
- package/src/income-tax/brazil/domain/types.ts +21 -0
- package/src/income-tax/index.ts +70 -0
- package/src/income-tax/india/IndiaIncomeTaxService.ts +5 -0
- package/src/income-tax/india/IndiaIncomeTaxServiceImpl.ts +87 -0
- package/src/income-tax/india/domain/types.ts +16 -0
- package/src/income-tax/israel/IsraelIncomeTaxService.ts +5 -0
- package/src/income-tax/israel/IsraelIncomeTaxServiceImpl.ts +75 -0
- package/src/income-tax/israel/domain/types.ts +16 -0
- package/src/income-tax/japan/JapanIncomeTaxService.ts +5 -0
- package/src/income-tax/japan/JapanIncomeTaxServiceImpl.ts +87 -0
- package/src/income-tax/japan/domain/types.ts +16 -0
- package/src/income-tax/netherlands/NetherlandsIncomeTaxService.ts +5 -0
- package/src/income-tax/netherlands/NetherlandsIncomeTaxServiceImpl.ts +75 -0
- package/src/income-tax/netherlands/domain/types.ts +16 -0
- package/src/income-tax/spain/SpainIncomeTaxService.ts +5 -0
- package/src/income-tax/spain/SpainIncomeTaxServiceImpl.ts +75 -0
- package/src/income-tax/spain/domain/types.ts +16 -0
- package/src/income-tax/switzerland/SwitzerlandIncomeTaxService.ts +5 -0
- package/src/income-tax/switzerland/SwitzerlandIncomeTaxServiceImpl.ts +75 -0
- package/src/income-tax/switzerland/domain/types.ts +16 -0
- package/src/index.ts +1 -0
- package/src/inheritance-tax/australia/AustraliaInheritanceTaxService.ts +5 -0
- package/src/inheritance-tax/australia/AustraliaInheritanceTaxServiceImpl.ts +21 -0
- package/src/inheritance-tax/australia/domain/types.ts +16 -0
- package/src/inheritance-tax/canada/CanadaInheritanceTaxService.ts +5 -0
- package/src/inheritance-tax/canada/CanadaInheritanceTaxServiceImpl.ts +65 -0
- package/src/inheritance-tax/canada/domain/types.ts +24 -0
- package/src/inheritance-tax/domain/types.ts +19 -0
- package/src/inheritance-tax/france/FranceInheritanceTaxService.ts +5 -0
- package/src/inheritance-tax/france/FranceInheritanceTaxServiceImpl.ts +66 -0
- package/src/inheritance-tax/france/domain/types.ts +35 -0
- package/src/inheritance-tax/germany/GermanyInheritanceTaxService.ts +5 -0
- package/src/inheritance-tax/germany/GermanyInheritanceTaxServiceImpl.ts +66 -0
- package/src/inheritance-tax/germany/domain/types.ts +34 -0
- package/src/inheritance-tax/index.ts +122 -0
- package/src/inheritance-tax/japan/JapanInheritanceTaxService.ts +5 -0
- package/src/inheritance-tax/japan/JapanInheritanceTaxServiceImpl.ts +67 -0
- package/src/inheritance-tax/japan/domain/types.ts +25 -0
- package/src/inheritance-tax/netherlands/NetherlandsInheritanceTaxService.ts +5 -0
- package/src/inheritance-tax/netherlands/NetherlandsInheritanceTaxServiceImpl.ts +66 -0
- package/src/inheritance-tax/netherlands/domain/types.ts +34 -0
- package/src/inheritance-tax/south-africa/SouthAfricaInheritanceTaxService.ts +5 -0
- package/src/inheritance-tax/south-africa/SouthAfricaInheritanceTaxServiceImpl.ts +66 -0
- package/src/inheritance-tax/south-africa/domain/types.ts +24 -0
- package/src/inheritance-tax/spain/SpainInheritanceTaxService.ts +5 -0
- package/src/inheritance-tax/spain/SpainInheritanceTaxServiceImpl.ts +65 -0
- package/src/inheritance-tax/spain/domain/types.ts +23 -0
- package/src/inheritance-tax/uk/UKInheritanceTaxService.ts +5 -0
- package/src/inheritance-tax/uk/UKInheritanceTaxServiceImpl.ts +46 -0
- package/src/inheritance-tax/uk/domain/types.ts +20 -0
- package/src/inheritance-tax/usa/USAInheritanceTaxService.ts +5 -0
- package/src/inheritance-tax/usa/USAInheritanceTaxServiceImpl.ts +65 -0
- package/src/inheritance-tax/usa/domain/types.ts +23 -0
- package/src/mortgage/brazil/BrazilMortgageService.ts +5 -0
- package/src/mortgage/brazil/BrazilMortgageServiceImpl.ts +101 -0
- package/src/mortgage/brazil/domain/types.ts +46 -0
- package/src/mortgage/index.ts +85 -1
- package/src/mortgage/india/IndiaMortgageService.ts +5 -0
- package/src/mortgage/india/IndiaMortgageServiceImpl.ts +101 -0
- package/src/mortgage/india/domain/types.ts +46 -0
- package/src/mortgage/israel/IsraelMortgageService.ts +5 -0
- package/src/mortgage/israel/IsraelMortgageServiceImpl.ts +132 -0
- package/src/mortgage/israel/domain/types.ts +41 -0
- package/src/mortgage/japan/JapanMortgageService.ts +5 -0
- package/src/mortgage/japan/JapanMortgageServiceImpl.ts +101 -0
- package/src/mortgage/japan/domain/types.ts +46 -0
- package/src/mortgage/netherlands/NetherlandsMortgageService.ts +5 -0
- package/src/mortgage/netherlands/NetherlandsMortgageServiceImpl.ts +109 -0
- package/src/mortgage/netherlands/domain/types.ts +37 -0
- package/src/mortgage/spain/SpainMortgageService.ts +5 -0
- package/src/mortgage/spain/SpainMortgageServiceImpl.ts +130 -0
- package/src/mortgage/spain/domain/types.ts +52 -0
- package/src/mortgage/switzerland/SwitzerlandMortgageService.ts +5 -0
- package/src/mortgage/switzerland/SwitzerlandMortgageServiceImpl.ts +106 -0
- package/src/mortgage/switzerland/domain/types.ts +36 -0
- package/src/shared/domain/types.ts +1 -0
- package/test/australia-inheritance-tax.test.ts +35 -0
- package/test/brazil-capital-gains.test.ts +65 -0
- package/test/brazil-corporate-tax.test.ts +63 -0
- package/test/brazil-income-tax.test.ts +85 -0
- package/test/brazil-mortgage.test.ts +70 -0
- package/test/canada-inheritance-tax.test.ts +62 -0
- package/test/france-inheritance-tax.test.ts +101 -0
- package/test/germany-inheritance-tax.test.ts +100 -0
- package/test/india-capital-gains.test.ts +71 -0
- package/test/india-corporate-tax.test.ts +54 -0
- package/test/india-income-tax.test.ts +78 -0
- package/test/india-mortgage.test.ts +70 -0
- package/test/israel-capital-gains.test.ts +45 -0
- package/test/israel-corporate-tax.test.ts +49 -0
- package/test/israel-income-tax.test.ts +76 -0
- package/test/israel-mortgage.test.ts +80 -0
- package/test/japan-capital-gains.test.ts +55 -0
- package/test/japan-corporate-tax.test.ts +54 -0
- package/test/japan-income-tax.test.ts +76 -0
- package/test/japan-inheritance-tax.test.ts +74 -0
- package/test/japan-mortgage.test.ts +69 -0
- package/test/netherlands-corporate-tax.test.ts +54 -0
- package/test/netherlands-income-tax.test.ts +54 -0
- package/test/netherlands-inheritance-tax.test.ts +79 -0
- package/test/netherlands-mortgage.test.ts +79 -0
- package/test/south-africa-inheritance-tax.test.ts +81 -0
- package/test/spain-capital-gains.test.ts +66 -0
- package/test/spain-corporate-tax.test.ts +54 -0
- package/test/spain-income-tax.test.ts +84 -0
- package/test/spain-inheritance-tax.test.ts +78 -0
- package/test/spain-mortgage.test.ts +70 -0
- package/test/switzerland-corporate-tax.test.ts +39 -0
- package/test/switzerland-income-tax.test.ts +66 -0
- package/test/switzerland-mortgage.test.ts +70 -0
- package/test/uk-inheritance-tax.test.ts +72 -0
- package/test/usa-inheritance-tax.test.ts +90 -0
- package/dist/domain/types.js +0 -10
- package/dist/types/domain/types.d.ts +0 -41
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface TaxBracket {
|
|
2
|
+
from: number;
|
|
3
|
+
to: number | null;
|
|
4
|
+
rate: number;
|
|
5
|
+
}
|
|
6
|
+
export interface Breakdown {
|
|
7
|
+
from: string;
|
|
8
|
+
to: string;
|
|
9
|
+
rate: number;
|
|
10
|
+
amount: number;
|
|
11
|
+
}
|
|
12
|
+
export interface Result {
|
|
13
|
+
taxableEstate: number;
|
|
14
|
+
inheritanceTax: number;
|
|
15
|
+
effectiveRate: number;
|
|
16
|
+
breakdowns: Breakdown[];
|
|
17
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FranceInheritanceTaxService } from "./FranceInheritanceTaxService";
|
|
2
|
+
import { Input, Result, Rules } from "./domain/types";
|
|
3
|
+
export declare class FranceInheritanceTaxServiceImpl implements FranceInheritanceTaxService {
|
|
4
|
+
private _input;
|
|
5
|
+
private _rules;
|
|
6
|
+
constructor(input: Input, rules: Rules);
|
|
7
|
+
calculate(): Result;
|
|
8
|
+
private applyBrackets;
|
|
9
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Breakdown } from "../../domain/types";
|
|
2
|
+
export interface TaxBracket {
|
|
3
|
+
from: number;
|
|
4
|
+
to: number | null;
|
|
5
|
+
rate: number;
|
|
6
|
+
}
|
|
7
|
+
export interface RelationshipClass {
|
|
8
|
+
exemption: number;
|
|
9
|
+
brackets: TaxBracket[];
|
|
10
|
+
}
|
|
11
|
+
export interface Rules {
|
|
12
|
+
relationships: {
|
|
13
|
+
spouse: RelationshipClass;
|
|
14
|
+
child: RelationshipClass;
|
|
15
|
+
sibling: RelationshipClass;
|
|
16
|
+
other: RelationshipClass;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export type RelationshipType = 'spouse' | 'child' | 'sibling' | 'other';
|
|
20
|
+
export interface Input {
|
|
21
|
+
estateValue: number;
|
|
22
|
+
relationship: RelationshipType;
|
|
23
|
+
}
|
|
24
|
+
export interface Result {
|
|
25
|
+
taxableEstate: number;
|
|
26
|
+
inheritanceTax: number;
|
|
27
|
+
effectiveRate: number;
|
|
28
|
+
breakdowns: Breakdown[];
|
|
29
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { GermanyInheritanceTaxService } from "./GermanyInheritanceTaxService";
|
|
2
|
+
import { Input, Result, Rules } from "./domain/types";
|
|
3
|
+
export declare class GermanyInheritanceTaxServiceImpl implements GermanyInheritanceTaxService {
|
|
4
|
+
private _input;
|
|
5
|
+
private _rules;
|
|
6
|
+
constructor(input: Input, rules: Rules);
|
|
7
|
+
calculate(): Result;
|
|
8
|
+
private applyBrackets;
|
|
9
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Breakdown } from "../../domain/types";
|
|
2
|
+
export interface TaxBracket {
|
|
3
|
+
from: number;
|
|
4
|
+
to: number | null;
|
|
5
|
+
rate: number;
|
|
6
|
+
}
|
|
7
|
+
export interface TaxClass {
|
|
8
|
+
exemption: number;
|
|
9
|
+
brackets: TaxBracket[];
|
|
10
|
+
}
|
|
11
|
+
export interface Rules {
|
|
12
|
+
taxClasses: {
|
|
13
|
+
I: TaxClass;
|
|
14
|
+
II: TaxClass;
|
|
15
|
+
III: TaxClass;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export type TaxClassName = 'I' | 'II' | 'III';
|
|
19
|
+
export interface Input {
|
|
20
|
+
estateValue: number;
|
|
21
|
+
taxClass: TaxClassName;
|
|
22
|
+
}
|
|
23
|
+
export interface Result {
|
|
24
|
+
taxableEstate: number;
|
|
25
|
+
inheritanceTax: number;
|
|
26
|
+
effectiveRate: number;
|
|
27
|
+
breakdowns: Breakdown[];
|
|
28
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CanadaInheritanceTaxServiceImpl as CanadaInheritanceTaxService } from './canada/CanadaInheritanceTaxServiceImpl';
|
|
2
|
+
import { Input as CanadaInheritanceTaxInput, Rules as CanadaInheritanceTaxRules, Result as CanadaInheritanceTaxResult } from './canada/domain/types';
|
|
3
|
+
import { FranceInheritanceTaxServiceImpl as FranceInheritanceTaxService } from './france/FranceInheritanceTaxServiceImpl';
|
|
4
|
+
import { Input as FranceInheritanceTaxInput, Rules as FranceInheritanceTaxRules, Result as FranceInheritanceTaxResult } from './france/domain/types';
|
|
5
|
+
import { SouthAfricaInheritanceTaxServiceImpl as SouthAfricaInheritanceTaxService } from './south-africa/SouthAfricaInheritanceTaxServiceImpl';
|
|
6
|
+
import { Input as SouthAfricaInheritanceTaxInput, Rules as SouthAfricaInheritanceTaxRules, Result as SouthAfricaInheritanceTaxResult } from './south-africa/domain/types';
|
|
7
|
+
import { AustraliaInheritanceTaxServiceImpl as AustraliaInheritanceTaxService } from './australia/AustraliaInheritanceTaxServiceImpl';
|
|
8
|
+
import { Input as AustraliaInheritanceTaxInput, Rules as AustraliaInheritanceTaxRules, Result as AustraliaInheritanceTaxResult } from './australia/domain/types';
|
|
9
|
+
import { UKInheritanceTaxServiceImpl as UKInheritanceTaxService } from './uk/UKInheritanceTaxServiceImpl';
|
|
10
|
+
import { Input as UKInheritanceTaxInput, Rules as UKInheritanceTaxRules, Result as UKInheritanceTaxResult } from './uk/domain/types';
|
|
11
|
+
import { USAInheritanceTaxServiceImpl as USAInheritanceTaxService } from './usa/USAInheritanceTaxServiceImpl';
|
|
12
|
+
import { Input as USAInheritanceTaxInput, Rules as USAInheritanceTaxRules, Result as USAInheritanceTaxResult } from './usa/domain/types';
|
|
13
|
+
import { GermanyInheritanceTaxServiceImpl as GermanyInheritanceTaxService } from './germany/GermanyInheritanceTaxServiceImpl';
|
|
14
|
+
import { Input as GermanyInheritanceTaxInput, Rules as GermanyInheritanceTaxRules, Result as GermanyInheritanceTaxResult } from './germany/domain/types';
|
|
15
|
+
import { SpainInheritanceTaxServiceImpl as SpainInheritanceTaxService } from './spain/SpainInheritanceTaxServiceImpl';
|
|
16
|
+
import { Input as SpainInheritanceTaxInput, Rules as SpainInheritanceTaxRules, Result as SpainInheritanceTaxResult } from './spain/domain/types';
|
|
17
|
+
import { JapanInheritanceTaxServiceImpl as JapanInheritanceTaxService } from './japan/JapanInheritanceTaxServiceImpl';
|
|
18
|
+
import { Input as JapanInheritanceTaxInput, Rules as JapanInheritanceTaxRules, Result as JapanInheritanceTaxResult } from './japan/domain/types';
|
|
19
|
+
import { NetherlandsInheritanceTaxServiceImpl as NetherlandsInheritanceTaxService } from './netherlands/NetherlandsInheritanceTaxServiceImpl';
|
|
20
|
+
import { Input as NetherlandsInheritanceTaxInput, Rules as NetherlandsInheritanceTaxRules, Result as NetherlandsInheritanceTaxResult } from './netherlands/domain/types';
|
|
21
|
+
export { CanadaInheritanceTaxService, CanadaInheritanceTaxInput, CanadaInheritanceTaxRules, CanadaInheritanceTaxResult, FranceInheritanceTaxService, FranceInheritanceTaxInput, FranceInheritanceTaxRules, FranceInheritanceTaxResult, SouthAfricaInheritanceTaxService, SouthAfricaInheritanceTaxInput, SouthAfricaInheritanceTaxRules, SouthAfricaInheritanceTaxResult, AustraliaInheritanceTaxService, AustraliaInheritanceTaxInput, AustraliaInheritanceTaxRules, AustraliaInheritanceTaxResult, UKInheritanceTaxService, UKInheritanceTaxInput, UKInheritanceTaxRules, UKInheritanceTaxResult, USAInheritanceTaxService, USAInheritanceTaxInput, USAInheritanceTaxRules, USAInheritanceTaxResult, GermanyInheritanceTaxService, GermanyInheritanceTaxInput, GermanyInheritanceTaxRules, GermanyInheritanceTaxResult, SpainInheritanceTaxService, SpainInheritanceTaxInput, SpainInheritanceTaxRules, SpainInheritanceTaxResult, JapanInheritanceTaxService, JapanInheritanceTaxInput, JapanInheritanceTaxRules, JapanInheritanceTaxResult, NetherlandsInheritanceTaxService, NetherlandsInheritanceTaxInput, NetherlandsInheritanceTaxRules, NetherlandsInheritanceTaxResult, };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { JapanInheritanceTaxService } from "./JapanInheritanceTaxService";
|
|
2
|
+
import { Input, Result, Rules } from "./domain/types";
|
|
3
|
+
export declare class JapanInheritanceTaxServiceImpl implements JapanInheritanceTaxService {
|
|
4
|
+
private _input;
|
|
5
|
+
private _rules;
|
|
6
|
+
constructor(input: Input, rules: Rules);
|
|
7
|
+
calculate(): Result;
|
|
8
|
+
private applyBrackets;
|
|
9
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Breakdown } from "../../domain/types";
|
|
2
|
+
export interface TaxBracket {
|
|
3
|
+
from: number;
|
|
4
|
+
to: number | null;
|
|
5
|
+
rate: number;
|
|
6
|
+
}
|
|
7
|
+
export interface Rules {
|
|
8
|
+
baseExemption: number;
|
|
9
|
+
perHeirExemption: number;
|
|
10
|
+
taxBrackets: TaxBracket[];
|
|
11
|
+
}
|
|
12
|
+
export interface Input {
|
|
13
|
+
estateValue: number;
|
|
14
|
+
numberOfStatutoryHeirs: number;
|
|
15
|
+
}
|
|
16
|
+
export interface Result {
|
|
17
|
+
taxableEstate: number;
|
|
18
|
+
inheritanceTax: number;
|
|
19
|
+
effectiveRate: number;
|
|
20
|
+
breakdowns: Breakdown[];
|
|
21
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NetherlandsInheritanceTaxService } from "./NetherlandsInheritanceTaxService";
|
|
2
|
+
import { Input, Result, Rules } from "./domain/types";
|
|
3
|
+
export declare class NetherlandsInheritanceTaxServiceImpl implements NetherlandsInheritanceTaxService {
|
|
4
|
+
private _input;
|
|
5
|
+
private _rules;
|
|
6
|
+
constructor(input: Input, rules: Rules);
|
|
7
|
+
calculate(): Result;
|
|
8
|
+
private applyBrackets;
|
|
9
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Breakdown } from "../../domain/types";
|
|
2
|
+
export interface TaxBracket {
|
|
3
|
+
from: number;
|
|
4
|
+
to: number | null;
|
|
5
|
+
rate: number;
|
|
6
|
+
}
|
|
7
|
+
export interface TaxClass {
|
|
8
|
+
exemption: number;
|
|
9
|
+
brackets: TaxBracket[];
|
|
10
|
+
}
|
|
11
|
+
export type TaxClassName = 'Partner' | 'Child' | 'Other';
|
|
12
|
+
export interface Rules {
|
|
13
|
+
taxClasses: {
|
|
14
|
+
Partner: TaxClass;
|
|
15
|
+
Child: TaxClass;
|
|
16
|
+
Other: TaxClass;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export interface Input {
|
|
20
|
+
estateValue: number;
|
|
21
|
+
taxClass: TaxClassName;
|
|
22
|
+
}
|
|
23
|
+
export interface Result {
|
|
24
|
+
taxableEstate: number;
|
|
25
|
+
inheritanceTax: number;
|
|
26
|
+
effectiveRate: number;
|
|
27
|
+
breakdowns: Breakdown[];
|
|
28
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SouthAfricaInheritanceTaxService } from "./SouthAfricaInheritanceTaxService";
|
|
2
|
+
import { Input, Result, Rules } from "./domain/types";
|
|
3
|
+
export declare class SouthAfricaInheritanceTaxServiceImpl implements SouthAfricaInheritanceTaxService {
|
|
4
|
+
private _input;
|
|
5
|
+
private _rules;
|
|
6
|
+
constructor(input: Input, rules: Rules);
|
|
7
|
+
calculate(): Result;
|
|
8
|
+
private applyBrackets;
|
|
9
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Breakdown } from "../../domain/types";
|
|
2
|
+
export interface TaxBracket {
|
|
3
|
+
from: number;
|
|
4
|
+
to: number | null;
|
|
5
|
+
rate: number;
|
|
6
|
+
}
|
|
7
|
+
export interface Rules {
|
|
8
|
+
primaryAbatement: number;
|
|
9
|
+
taxBrackets: TaxBracket[];
|
|
10
|
+
}
|
|
11
|
+
export interface Input {
|
|
12
|
+
estateValue: number;
|
|
13
|
+
deductions: number;
|
|
14
|
+
}
|
|
15
|
+
export interface Result {
|
|
16
|
+
taxableEstate: number;
|
|
17
|
+
inheritanceTax: number;
|
|
18
|
+
effectiveRate: number;
|
|
19
|
+
breakdowns: Breakdown[];
|
|
20
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SpainInheritanceTaxService } from "./SpainInheritanceTaxService";
|
|
2
|
+
import { Input, Result, Rules } from "./domain/types";
|
|
3
|
+
export declare class SpainInheritanceTaxServiceImpl implements SpainInheritanceTaxService {
|
|
4
|
+
private _input;
|
|
5
|
+
private _rules;
|
|
6
|
+
constructor(input: Input, rules: Rules);
|
|
7
|
+
calculate(): Result;
|
|
8
|
+
private applyBrackets;
|
|
9
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Breakdown } from "../../domain/types";
|
|
2
|
+
export interface TaxBracket {
|
|
3
|
+
from: number;
|
|
4
|
+
to: number | null;
|
|
5
|
+
rate: number;
|
|
6
|
+
}
|
|
7
|
+
export interface Rules {
|
|
8
|
+
exemption: number;
|
|
9
|
+
taxBrackets: TaxBracket[];
|
|
10
|
+
}
|
|
11
|
+
export interface Input {
|
|
12
|
+
estateValue: number;
|
|
13
|
+
}
|
|
14
|
+
export interface Result {
|
|
15
|
+
taxableEstate: number;
|
|
16
|
+
inheritanceTax: number;
|
|
17
|
+
effectiveRate: number;
|
|
18
|
+
breakdowns: Breakdown[];
|
|
19
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { UKInheritanceTaxService } from "./UKInheritanceTaxService";
|
|
2
|
+
import { Input, Result, Rules } from "./domain/types";
|
|
3
|
+
export declare class UKInheritanceTaxServiceImpl implements UKInheritanceTaxService {
|
|
4
|
+
private _input;
|
|
5
|
+
private _rules;
|
|
6
|
+
constructor(input: Input, rules: Rules);
|
|
7
|
+
calculate(): Result;
|
|
8
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Breakdown } from "../../domain/types";
|
|
2
|
+
export interface Rules {
|
|
3
|
+
nilRateBand: number;
|
|
4
|
+
standardRate: number;
|
|
5
|
+
charityRate: number;
|
|
6
|
+
charityThreshold: number;
|
|
7
|
+
}
|
|
8
|
+
export interface Input {
|
|
9
|
+
estateValue: number;
|
|
10
|
+
charitableGivingPercent: number;
|
|
11
|
+
}
|
|
12
|
+
export interface Result {
|
|
13
|
+
taxableEstate: number;
|
|
14
|
+
inheritanceTax: number;
|
|
15
|
+
effectiveRate: number;
|
|
16
|
+
breakdowns: Breakdown[];
|
|
17
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { USAInheritanceTaxService } from "./USAInheritanceTaxService";
|
|
2
|
+
import { Input, Result, Rules } from "./domain/types";
|
|
3
|
+
export declare class USAInheritanceTaxServiceImpl implements USAInheritanceTaxService {
|
|
4
|
+
private _input;
|
|
5
|
+
private _rules;
|
|
6
|
+
constructor(input: Input, rules: Rules);
|
|
7
|
+
calculate(): Result;
|
|
8
|
+
private applyBrackets;
|
|
9
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Breakdown } from "../../domain/types";
|
|
2
|
+
export interface TaxBracket {
|
|
3
|
+
from: number;
|
|
4
|
+
to: number | null;
|
|
5
|
+
rate: number;
|
|
6
|
+
}
|
|
7
|
+
export interface Rules {
|
|
8
|
+
exemption: number;
|
|
9
|
+
taxBrackets: TaxBracket[];
|
|
10
|
+
}
|
|
11
|
+
export interface Input {
|
|
12
|
+
estateValue: number;
|
|
13
|
+
}
|
|
14
|
+
export interface Result {
|
|
15
|
+
taxableEstate: number;
|
|
16
|
+
inheritanceTax: number;
|
|
17
|
+
effectiveRate: number;
|
|
18
|
+
breakdowns: Breakdown[];
|
|
19
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BrazilMortgageService } from "./BrazilMortgageService";
|
|
2
|
+
import { MortgageInput, MortgageOutput, MortgageRules } from "./domain/types";
|
|
3
|
+
export declare class BrazilMortgageServiceImpl implements BrazilMortgageService {
|
|
4
|
+
calculate(input: MortgageInput, rules: MortgageRules): MortgageOutput;
|
|
5
|
+
private calculateAmortizationSchedule;
|
|
6
|
+
private calculatePayment;
|
|
7
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { OtherFees } from "../../domain/types";
|
|
2
|
+
export interface MortgageRules {
|
|
3
|
+
loanConstraints: LoanConstraints;
|
|
4
|
+
interest: InterestRules;
|
|
5
|
+
itbi: ITBIRules;
|
|
6
|
+
}
|
|
7
|
+
export interface LoanConstraints {
|
|
8
|
+
maxLtvPercent: number;
|
|
9
|
+
maxAmortizationYears: number;
|
|
10
|
+
}
|
|
11
|
+
export interface InterestRules {
|
|
12
|
+
compounding: 'MONTHLY';
|
|
13
|
+
}
|
|
14
|
+
export interface ITBIRules {
|
|
15
|
+
rate: number;
|
|
16
|
+
}
|
|
17
|
+
export interface AmortizationScheduleItem {
|
|
18
|
+
year: number;
|
|
19
|
+
principal: number;
|
|
20
|
+
interest: number;
|
|
21
|
+
balance: number;
|
|
22
|
+
}
|
|
23
|
+
export interface MortgageInput {
|
|
24
|
+
propertyPrice: number;
|
|
25
|
+
downPayment: number;
|
|
26
|
+
annualInterestRate: number;
|
|
27
|
+
amortizationYears: number;
|
|
28
|
+
isFirstTimeBuyer: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface MortgageOutput {
|
|
31
|
+
loanAmount: number;
|
|
32
|
+
totalMortgage: number;
|
|
33
|
+
monthlyPayment: number;
|
|
34
|
+
totalInterestPaid: number;
|
|
35
|
+
totalPaid: number;
|
|
36
|
+
itbi: number;
|
|
37
|
+
amortizationSchedule: AmortizationScheduleItem[];
|
|
38
|
+
otherFees: OtherFees;
|
|
39
|
+
}
|
|
@@ -12,4 +12,18 @@ import { USAMortgageServiceImpl as USAMortgageService } from './usa/USAMortgageS
|
|
|
12
12
|
import { MortgageRules as USAMortgageRules, MortgageInput as USAMortgageInput, MortgageOutput as USAMortgageOutput } from './usa/domain/types';
|
|
13
13
|
import { GermanyMortgageServiceImpl as GermanyMortgageService } from './germany/GermanyMortgageServiceImpl';
|
|
14
14
|
import { MortgageRules as GermanyMortgageRules, MortgageInput as GermanyMortgageInput, MortgageOutput as GermanyMortgageOutput } from './germany/domain/types';
|
|
15
|
-
|
|
15
|
+
import { BrazilMortgageServiceImpl as BrazilMortgageService } from './brazil/BrazilMortgageServiceImpl';
|
|
16
|
+
import { MortgageRules as BrazilMortgageRules, MortgageInput as BrazilMortgageInput, MortgageOutput as BrazilMortgageOutput } from './brazil/domain/types';
|
|
17
|
+
import { SpainMortgageServiceImpl as SpainMortgageService } from './spain/SpainMortgageServiceImpl';
|
|
18
|
+
import { MortgageRules as SpainMortgageRules, MortgageInput as SpainMortgageInput, MortgageOutput as SpainMortgageOutput } from './spain/domain/types';
|
|
19
|
+
import { IndiaMortgageServiceImpl as IndiaMortgageService } from './india/IndiaMortgageServiceImpl';
|
|
20
|
+
import { MortgageRules as IndiaMortgageRules, MortgageInput as IndiaMortgageInput, MortgageOutput as IndiaMortgageOutput } from './india/domain/types';
|
|
21
|
+
import { JapanMortgageServiceImpl as JapanMortgageService } from './japan/JapanMortgageServiceImpl';
|
|
22
|
+
import { MortgageRules as JapanMortgageRules, MortgageInput as JapanMortgageInput, MortgageOutput as JapanMortgageOutput } from './japan/domain/types';
|
|
23
|
+
import { IsraelMortgageServiceImpl as IsraelMortgageService } from './israel/IsraelMortgageServiceImpl';
|
|
24
|
+
import { MortgageRules as IsraelMortgageRules, MortgageInput as IsraelMortgageInput, MortgageOutput as IsraelMortgageOutput } from './israel/domain/types';
|
|
25
|
+
import { SwitzerlandMortgageServiceImpl as SwitzerlandMortgageService } from './switzerland/SwitzerlandMortgageServiceImpl';
|
|
26
|
+
import { MortgageRules as SwitzerlandMortgageRules, MortgageInput as SwitzerlandMortgageInput, MortgageOutput as SwitzerlandMortgageOutput } from './switzerland/domain/types';
|
|
27
|
+
import { NetherlandsMortgageServiceImpl as NetherlandsMortgageService } from './netherlands/NetherlandsMortgageServiceImpl';
|
|
28
|
+
import { MortgageRules as NetherlandsMortgageRules, MortgageInput as NetherlandsMortgageInput, MortgageOutput as NetherlandsMortgageOutput } from './netherlands/domain/types';
|
|
29
|
+
export { CanadaMortgageService, CanadaMortgageRules, CanadaMortgageCalculationInput, CanadaMortgageCalculationResult, FranceMortgageService, FranceMortgageRules, FranceMortgageInput, FranceMortgageCalculationResult, SouthAfricaMortgageService, SouthAfricaMortgageRules, SouthAfricaMortgageInput, SouthAfricaMortgageOutput, AustraliaMortgageService, AustraliaMortgageRules, AustraliaMortgageInput, AustraliaMortgageOutput, UKMortgageService, UKMortgageRules, UKMortgageInput, UKMortgageOutput, USAMortgageService, USAMortgageRules, USAMortgageInput, USAMortgageOutput, GermanyMortgageService, GermanyMortgageRules, GermanyMortgageInput, GermanyMortgageOutput, BrazilMortgageService, BrazilMortgageRules, BrazilMortgageInput, BrazilMortgageOutput, SpainMortgageService, SpainMortgageRules, SpainMortgageInput, SpainMortgageOutput, IndiaMortgageService, IndiaMortgageRules, IndiaMortgageInput, IndiaMortgageOutput, JapanMortgageService, JapanMortgageRules, JapanMortgageInput, JapanMortgageOutput, IsraelMortgageService, IsraelMortgageRules, IsraelMortgageInput, IsraelMortgageOutput, SwitzerlandMortgageService, SwitzerlandMortgageRules, SwitzerlandMortgageInput, SwitzerlandMortgageOutput, NetherlandsMortgageService, NetherlandsMortgageRules, NetherlandsMortgageInput, NetherlandsMortgageOutput, };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IndiaMortgageService } from "./IndiaMortgageService";
|
|
2
|
+
import { MortgageInput, MortgageOutput, MortgageRules } from "./domain/types";
|
|
3
|
+
export declare class IndiaMortgageServiceImpl implements IndiaMortgageService {
|
|
4
|
+
calculate(input: MortgageInput, rules: MortgageRules): MortgageOutput;
|
|
5
|
+
private calculateAmortizationSchedule;
|
|
6
|
+
private calculatePayment;
|
|
7
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { OtherFees } from "../../domain/types";
|
|
2
|
+
export interface MortgageRules {
|
|
3
|
+
loanConstraints: LoanConstraints;
|
|
4
|
+
interest: InterestRules;
|
|
5
|
+
stampDuty: StampDutyRules;
|
|
6
|
+
}
|
|
7
|
+
export interface LoanConstraints {
|
|
8
|
+
maxLtvPercent: number;
|
|
9
|
+
maxAmortizationYears: number;
|
|
10
|
+
}
|
|
11
|
+
export interface InterestRules {
|
|
12
|
+
compounding: 'MONTHLY';
|
|
13
|
+
}
|
|
14
|
+
export interface StampDutyRules {
|
|
15
|
+
rate: number;
|
|
16
|
+
}
|
|
17
|
+
export interface AmortizationScheduleItem {
|
|
18
|
+
year: number;
|
|
19
|
+
principal: number;
|
|
20
|
+
interest: number;
|
|
21
|
+
balance: number;
|
|
22
|
+
}
|
|
23
|
+
export interface MortgageInput {
|
|
24
|
+
propertyPrice: number;
|
|
25
|
+
downPayment: number;
|
|
26
|
+
annualInterestRate: number;
|
|
27
|
+
amortizationYears: number;
|
|
28
|
+
isFirstTimeBuyer: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface MortgageOutput {
|
|
31
|
+
loanAmount: number;
|
|
32
|
+
totalMortgage: number;
|
|
33
|
+
monthlyPayment: number;
|
|
34
|
+
totalInterestPaid: number;
|
|
35
|
+
totalPaid: number;
|
|
36
|
+
stampDuty: number;
|
|
37
|
+
amortizationSchedule: AmortizationScheduleItem[];
|
|
38
|
+
otherFees: OtherFees;
|
|
39
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IsraelMortgageService } from "./IsraelMortgageService";
|
|
2
|
+
import { MortgageInput, MortgageOutput, MortgageRules } from "./domain/types";
|
|
3
|
+
export declare class IsraelMortgageServiceImpl implements IsraelMortgageService {
|
|
4
|
+
calculate(input: MortgageInput, rules: MortgageRules): MortgageOutput;
|
|
5
|
+
private calculatePurchaseTax;
|
|
6
|
+
private calculateAmortizationSchedule;
|
|
7
|
+
private calculatePayment;
|
|
8
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { OtherFees } from "../../domain/types";
|
|
2
|
+
export interface PurchaseTaxBracket {
|
|
3
|
+
upTo?: number;
|
|
4
|
+
above?: number;
|
|
5
|
+
rate: number;
|
|
6
|
+
}
|
|
7
|
+
export interface MortgageRules {
|
|
8
|
+
loanConstraints: {
|
|
9
|
+
maxLtvPercent: number;
|
|
10
|
+
maxAmortizationYears: number;
|
|
11
|
+
};
|
|
12
|
+
interest: {
|
|
13
|
+
compounding: 'MONTHLY';
|
|
14
|
+
};
|
|
15
|
+
purchaseTax: {
|
|
16
|
+
brackets: PurchaseTaxBracket[];
|
|
17
|
+
};
|
|
18
|
+
landRegistrationFeeRate: number;
|
|
19
|
+
}
|
|
20
|
+
export interface AmortizationScheduleItem {
|
|
21
|
+
year: number;
|
|
22
|
+
principal: number;
|
|
23
|
+
interest: number;
|
|
24
|
+
balance: number;
|
|
25
|
+
}
|
|
26
|
+
export interface MortgageInput {
|
|
27
|
+
propertyPrice: number;
|
|
28
|
+
downPayment: number;
|
|
29
|
+
annualInterestRate: number;
|
|
30
|
+
amortizationYears: number;
|
|
31
|
+
isFirstTimeBuyer: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface MortgageOutput {
|
|
34
|
+
loanAmount: number;
|
|
35
|
+
totalMortgage: number;
|
|
36
|
+
monthlyPayment: number;
|
|
37
|
+
totalInterestPaid: number;
|
|
38
|
+
totalPaid: number;
|
|
39
|
+
purchaseTax: number;
|
|
40
|
+
landRegistrationFee: number;
|
|
41
|
+
amortizationSchedule: AmortizationScheduleItem[];
|
|
42
|
+
otherFees: OtherFees;
|
|
43
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { JapanMortgageService } from "./JapanMortgageService";
|
|
2
|
+
import { MortgageInput, MortgageOutput, MortgageRules } from "./domain/types";
|
|
3
|
+
export declare class JapanMortgageServiceImpl implements JapanMortgageService {
|
|
4
|
+
calculate(input: MortgageInput, rules: MortgageRules): MortgageOutput;
|
|
5
|
+
private calculateAmortizationSchedule;
|
|
6
|
+
private calculatePayment;
|
|
7
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { OtherFees } from "../../domain/types";
|
|
2
|
+
export interface MortgageRules {
|
|
3
|
+
loanConstraints: LoanConstraints;
|
|
4
|
+
interest: InterestRules;
|
|
5
|
+
acquisitionTax: AcquisitionTaxRules;
|
|
6
|
+
}
|
|
7
|
+
export interface LoanConstraints {
|
|
8
|
+
maxLtvPercent: number;
|
|
9
|
+
maxAmortizationYears: number;
|
|
10
|
+
}
|
|
11
|
+
export interface InterestRules {
|
|
12
|
+
compounding: 'MONTHLY';
|
|
13
|
+
}
|
|
14
|
+
export interface AcquisitionTaxRules {
|
|
15
|
+
rate: number;
|
|
16
|
+
}
|
|
17
|
+
export interface AmortizationScheduleItem {
|
|
18
|
+
year: number;
|
|
19
|
+
principal: number;
|
|
20
|
+
interest: number;
|
|
21
|
+
balance: number;
|
|
22
|
+
}
|
|
23
|
+
export interface MortgageInput {
|
|
24
|
+
propertyPrice: number;
|
|
25
|
+
downPayment: number;
|
|
26
|
+
annualInterestRate: number;
|
|
27
|
+
amortizationYears: number;
|
|
28
|
+
isFirstTimeBuyer: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface MortgageOutput {
|
|
31
|
+
loanAmount: number;
|
|
32
|
+
totalMortgage: number;
|
|
33
|
+
monthlyPayment: number;
|
|
34
|
+
totalInterestPaid: number;
|
|
35
|
+
totalPaid: number;
|
|
36
|
+
acquisitionTax: number;
|
|
37
|
+
amortizationSchedule: AmortizationScheduleItem[];
|
|
38
|
+
otherFees: OtherFees;
|
|
39
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { NetherlandsMortgageService } from "./NetherlandsMortgageService";
|
|
2
|
+
import { MortgageInput, MortgageOutput, MortgageRules } from "./domain/types";
|
|
3
|
+
export declare class NetherlandsMortgageServiceImpl implements NetherlandsMortgageService {
|
|
4
|
+
calculate(input: MortgageInput, rules: MortgageRules): MortgageOutput;
|
|
5
|
+
private calculateAmortizationSchedule;
|
|
6
|
+
private calculatePayment;
|
|
7
|
+
}
|