]> src.bluestatic.org Git - ustaxlib.git/log
ustaxlib.git
4 years agoMake core/TaxReturn an abstract class.
Robert Sesek [Fri, 13 Mar 2020 04:32:37 +0000 (00:32 -0400)]
Make core/TaxReturn an abstract class.

A tax year model will provide the concrete implementation.

4 years agoRemove type test code for TaxReturn.
Robert Sesek [Fri, 13 Mar 2020 04:15:52 +0000 (00:15 -0400)]
Remove type test code for TaxReturn.

4 years agoUse Math helpers in more forms.
Robert Sesek [Tue, 10 Mar 2020 05:17:44 +0000 (01:17 -0400)]
Use Math helpers in more forms.

4 years agoRewrite Form1040.computeTax based off of Revenue Procedure 2018-57.
Robert Sesek [Tue, 10 Mar 2020 04:54:13 +0000 (00:54 -0400)]
Rewrite Form1040.computeTax based off of Revenue Procedure 2018-57.

4 years agoRename FormW2 to just W2.
Robert Sesek [Tue, 10 Mar 2020 04:07:41 +0000 (00:07 -0400)]
Rename FormW2 to just W2.

This matches Schedules.

4 years agoSimplify core imports.
Robert Sesek [Tue, 10 Mar 2020 04:02:54 +0000 (00:02 -0400)]
Simplify core imports.

4 years agoCreate a cheap "build" script.
Robert Sesek [Tue, 10 Mar 2020 03:42:47 +0000 (23:42 -0400)]
Create a cheap "build" script.

4 years agoRestructuring in prep for being a usable package.
Robert Sesek [Mon, 9 Mar 2020 21:55:46 +0000 (17:55 -0400)]
Restructuring in prep for being a usable package.

Moves file modules out of src/*.ts and into src/core, which is now peer
to src/fed2019.

This also adds index.ts re-exports for the modules.

4 years agoAdd a forms accessor to TaxReturn.
Robert Sesek [Sun, 8 Mar 2020 23:07:13 +0000 (19:07 -0400)]
Add a forms accessor to TaxReturn.

4 years agoDo not use the whole Form to describe a ReferenceLine.
Robert Sesek [Sun, 8 Mar 2020 22:27:34 +0000 (18:27 -0400)]
Do not use the whole Form to describe a ReferenceLine.

4 years agoPrepare build as module.
Robert Sesek [Sun, 8 Mar 2020 18:27:01 +0000 (14:27 -0400)]
Prepare build as module.

4 years agoFix bad import for Schedule 2.
Robert Sesek [Sun, 8 Mar 2020 18:26:39 +0000 (14:26 -0400)]
Fix bad import for Schedule 2.

4 years agoAdd Form 8960.
Robert Sesek [Sun, 8 Mar 2020 17:20:18 +0000 (13:20 -0400)]
Add Form 8960.

4 years agoAdd Schedule 3.
Robert Sesek [Sun, 8 Mar 2020 16:07:50 +0000 (12:07 -0400)]
Add Schedule 3.

4 years agoAdd Schedule 1.
Robert Sesek [Sun, 8 Mar 2020 14:25:50 +0000 (10:25 -0400)]
Add Schedule 1.

4 years agoSplit Schedule2 into its own file.
Robert Sesek [Sun, 8 Mar 2020 06:17:52 +0000 (01:17 -0500)]
Split Schedule2 into its own file.

4 years agoAdd Form 1116.
Robert Sesek [Sun, 8 Mar 2020 06:08:29 +0000 (01:08 -0500)]
Add Form 1116.

4 years agoAllow InputLine to specify a fallback value.
Robert Sesek [Sun, 8 Mar 2020 06:02:52 +0000 (01:02 -0500)]
Allow InputLine to specify a fallback value.

4 years agoRemove reduceBySum() to Math.
Robert Sesek [Sun, 8 Mar 2020 02:00:44 +0000 (21:00 -0500)]
Remove reduceBySum() to Math.

4 years agoAdd Form1099R and 8606.
Robert Sesek [Sat, 7 Mar 2020 22:59:52 +0000 (17:59 -0500)]
Add Form1099R and 8606.

4 years agoAdd a test for Form8959.
Robert Sesek [Fri, 28 Feb 2020 04:28:05 +0000 (23:28 -0500)]
Add a test for Form8959.

4 years agoDelete experimental Form2 that was adopted.
Robert Sesek [Sun, 23 Feb 2020 07:31:09 +0000 (02:31 -0500)]
Delete experimental Form2 that was adopted.

4 years agoSimplify uses of ComputedLine to not type the |tr| argument.
Robert Sesek [Sun, 23 Feb 2020 07:29:54 +0000 (02:29 -0500)]
Simplify uses of ComputedLine to not type the |tr| argument.

4 years agoImplement the Schedule D Tax Worksheet.
Robert Sesek [Sun, 23 Feb 2020 07:21:12 +0000 (02:21 -0500)]
Implement the Schedule D Tax Worksheet.

4 years agoUse the original idea for Form8949, which is simpler.
Robert Sesek [Sun, 23 Feb 2020 05:50:23 +0000 (00:50 -0500)]
Use the original idea for Form8949, which is simpler.

4 years agoInitial work on Schedule D, Form 8949, and 1099-B.
Robert Sesek [Sun, 23 Feb 2020 05:02:26 +0000 (00:02 -0500)]
Initial work on Schedule D, Form 8949, and 1099-B.

4 years agoAdd command to run the Node debugger and interactive tests.
Robert Sesek [Sun, 23 Feb 2020 04:43:48 +0000 (23:43 -0500)]
Add command to run the Node debugger and interactive tests.

4 years agoUpgrade Typescript and compiler targets.
Robert Sesek [Sat, 22 Feb 2020 19:36:01 +0000 (14:36 -0500)]
Upgrade Typescript and compiler targets.

4 years agoStrongly type Forms on TaxReturn.
Robert Sesek [Sat, 22 Feb 2020 19:34:12 +0000 (14:34 -0500)]
Strongly type Forms on TaxReturn.

This lets type information be propagated for checking using
ReferenceLine and AccumulatorLine.

Two side effects of this change:

- The lines type is now exposed on Form, so that Line subclasses can use
  the type information.
- ReferenceLines to the same form have to erase the FormClass type.

4 years agoUse the computations from Form 8959 on Schedule 2.
Robert Sesek [Sat, 22 Feb 2020 16:23:08 +0000 (11:23 -0500)]
Use the computations from Form 8959 on Schedule 2.

4 years agoAdd Form 8959.
Robert Sesek [Sat, 22 Feb 2020 06:11:28 +0000 (01:11 -0500)]
Add Form 8959.

4 years agoAdd Form 1040 Schedule 2.
Robert Sesek [Sat, 22 Feb 2020 05:40:11 +0000 (00:40 -0500)]
Add Form 1040 Schedule 2.

4 years agoDrop explicit type parameter in ComputedLine, since it can be inferred.
Robert Sesek [Sat, 22 Feb 2020 05:08:42 +0000 (00:08 -0500)]
Drop explicit type parameter in ComputedLine, since it can be inferred.

4 years agoAdd Form 1099-DIV.
Robert Sesek [Sat, 22 Feb 2020 04:12:34 +0000 (23:12 -0500)]
Add Form 1099-DIV.

4 years agoStart implementing Form 1040 tax calculation.
Robert Sesek [Sat, 22 Feb 2020 03:58:50 +0000 (22:58 -0500)]
Start implementing Form 1040 tax calculation.

4 years agoAdd Form 1099-INT.
Robert Sesek [Fri, 21 Feb 2020 19:23:39 +0000 (14:23 -0500)]
Add Form 1099-INT.

4 years agoRemove id from Line constructor.
Robert Sesek [Fri, 21 Feb 2020 18:28:07 +0000 (13:28 -0500)]
Remove id from Line constructor.

Instead, have the Form set it via its key in _lines.

4 years agoStrongly type Form lines.
Robert Sesek [Fri, 21 Feb 2020 18:15:48 +0000 (13:15 -0500)]
Strongly type Form lines.

This completely rewrites Form so that getLine and getValue are fully
type-checked.

4 years agoAdd more computations for form 1040.
Robert Sesek [Fri, 21 Feb 2020 15:59:16 +0000 (10:59 -0500)]
Add more computations for form 1040.

4 years agoAdd TaxReturn.maybeGetForm<T>()
Robert Sesek [Fri, 21 Feb 2020 15:51:12 +0000 (10:51 -0500)]
Add TaxReturn.maybeGetForm<T>()

4 years agoRevert "Make SupportsMultipleCopies an interface."
Robert Sesek [Fri, 21 Feb 2020 13:34:08 +0000 (08:34 -0500)]
Revert "Make SupportsMultipleCopies an interface."

This reverts commit 26177f7e25370d27e6e2f04857269129a74d1f44.

4 years agoModel most of the first page of 1040.
Robert Sesek [Fri, 21 Feb 2020 13:28:09 +0000 (08:28 -0500)]
Model most of the first page of 1040.

4 years agoAllow ReferenceLine to take a custom description.
Robert Sesek [Fri, 21 Feb 2020 13:27:48 +0000 (08:27 -0500)]
Allow ReferenceLine to take a custom description.

4 years agoFurther improve the typing of InputLine to not require the `as any` cast.
Robert Sesek [Thu, 20 Feb 2020 23:49:58 +0000 (18:49 -0500)]
Further improve the typing of InputLine to not require the `as any` cast.

4 years agoComplete Form W-2 and first few lines of 1040.
Robert Sesek [Thu, 20 Feb 2020 06:23:39 +0000 (01:23 -0500)]
Complete Form W-2 and first few lines of 1040.

4 years agoAdd AccumulatorLine class.
Robert Sesek [Thu, 20 Feb 2020 06:18:51 +0000 (01:18 -0500)]
Add AccumulatorLine class.

4 years agoInputLine needs to take the Form's generic.
Robert Sesek [Thu, 20 Feb 2020 06:08:19 +0000 (01:08 -0500)]
InputLine needs to take the Form's generic.

The refactor in b51c88b40714d3b7183fd593c9e4496ff5dc7162 had failing
tests that was hidden by Jest's cache.

4 years agoStrongly type TaxReturn.getForm{,s}()
Robert Sesek [Thu, 20 Feb 2020 05:08:57 +0000 (00:08 -0500)]
Strongly type TaxReturn.getForm{,s}()

4 years agoAdd Form.getValue()
Robert Sesek [Thu, 20 Feb 2020 04:53:02 +0000 (23:53 -0500)]
Add Form.getValue()

4 years agoMake Person the default export.
Robert Sesek [Thu, 20 Feb 2020 04:52:09 +0000 (23:52 -0500)]
Make Person the default export.

4 years agoMake SupportsMultipleCopies an interface.
Robert Sesek [Thu, 20 Feb 2020 02:29:09 +0000 (21:29 -0500)]
Make SupportsMultipleCopies an interface.

4 years agoMake Form input strongly typed with generics.
Robert Sesek [Wed, 19 Feb 2020 01:32:53 +0000 (20:32 -0500)]
Make Form input strongly typed with generics.

4 years agoMove input from a TaxReturn to a Form.
Robert Sesek [Tue, 18 Feb 2020 05:18:16 +0000 (00:18 -0500)]
Move input from a TaxReturn to a Form.

This also associates every Line to a Form.

4 years agoIntroduce InputLine and the ability to acquire inputs from a TaxReturn.
Robert Sesek [Tue, 18 Feb 2020 05:03:18 +0000 (00:03 -0500)]
Introduce InputLine and the ability to acquire inputs from a TaxReturn.

4 years agoAdd Line.test.ts.
Robert Sesek [Tue, 18 Feb 2020 04:28:34 +0000 (23:28 -0500)]
Add Line.test.ts.

4 years agoRestructure adding Lines to Forms.
Robert Sesek [Tue, 18 Feb 2020 04:05:38 +0000 (23:05 -0500)]
Restructure adding Lines to Forms.

4 years agoStart modeling Line, Form and their relation to TaxReturn.
Robert Sesek [Tue, 18 Feb 2020 03:57:49 +0000 (22:57 -0500)]
Start modeling Line, Form and their relation to TaxReturn.

4 years agoEnable Jest code coverage and use ES7 compiler.
Robert Sesek [Tue, 18 Feb 2020 03:57:20 +0000 (22:57 -0500)]
Enable Jest code coverage and use ES7 compiler.

4 years agoBegin defining a TaxReturn and Person model.
Robert Sesek [Mon, 17 Feb 2020 22:17:10 +0000 (17:17 -0500)]
Begin defining a TaxReturn and Person model.

4 years agoSkeleton project with Jest and TypeScript.
Robert Sesek [Mon, 17 Feb 2020 20:56:12 +0000 (15:56 -0500)]
Skeleton project with Jest and TypeScript.