ustaxlib.git
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.