@ottoai/documents 1.5.32 → 1.5.33

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.
@@ -0,0 +1,306 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.W4FormDataDto = exports.MultipleJobsOption = exports.FilingStatus = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const common_dto_1 = require("../../types/common.dto");
15
+ var FilingStatus;
16
+ (function (FilingStatus) {
17
+ FilingStatus["Single"] = "single";
18
+ FilingStatus["Married"] = "married_jointly";
19
+ FilingStatus["HeadOfHousehold"] = "head_of_household";
20
+ })(FilingStatus || (exports.FilingStatus = FilingStatus = {}));
21
+ var MultipleJobsOption;
22
+ (function (MultipleJobsOption) {
23
+ MultipleJobsOption["UseWorksheet"] = "use_worksheet";
24
+ MultipleJobsOption["UseEstimator"] = "use_estimator";
25
+ MultipleJobsOption["TwoJobsOnly"] = "two_jobs_only";
26
+ })(MultipleJobsOption || (exports.MultipleJobsOption = MultipleJobsOption = {}));
27
+ class W4FormDataDto {
28
+ }
29
+ exports.W4FormDataDto = W4FormDataDto;
30
+ __decorate([
31
+ (0, class_validator_1.IsString)(),
32
+ (0, class_validator_1.IsNotEmpty)(),
33
+ __metadata("design:type", String)
34
+ ], W4FormDataDto.prototype, "firstName", void 0);
35
+ __decorate([
36
+ (0, class_validator_1.IsString)(),
37
+ (0, class_validator_1.IsNotEmpty)(),
38
+ __metadata("design:type", String)
39
+ ], W4FormDataDto.prototype, "lastName", void 0);
40
+ __decorate([
41
+ (0, class_validator_1.IsString)(),
42
+ (0, class_validator_1.IsNotEmpty)(),
43
+ __metadata("design:type", String)
44
+ ], W4FormDataDto.prototype, "ssn", void 0);
45
+ __decorate([
46
+ (0, class_validator_1.IsObject)(),
47
+ (0, class_validator_1.IsNotEmpty)(),
48
+ (0, class_validator_1.ValidateIf)((o) => !(0, class_validator_1.isEmpty)(o.address)),
49
+ __metadata("design:type", common_dto_1.AddressDto)
50
+ ], W4FormDataDto.prototype, "address", void 0);
51
+ __decorate([
52
+ (0, class_validator_1.IsArray)(),
53
+ (0, class_validator_1.IsNotEmpty)(),
54
+ __metadata("design:type", Array)
55
+ ], W4FormDataDto.prototype, "filingStatus", void 0);
56
+ __decorate([
57
+ (0, class_validator_1.IsOptional)(),
58
+ (0, class_validator_1.IsString)(),
59
+ __metadata("design:type", String)
60
+ ], W4FormDataDto.prototype, "multipleJobsOption", void 0);
61
+ __decorate([
62
+ (0, class_validator_1.IsOptional)(),
63
+ (0, class_validator_1.IsNumber)(),
64
+ (0, class_validator_1.Min)(0),
65
+ __metadata("design:type", Number)
66
+ ], W4FormDataDto.prototype, "qualifyingChildrenAmount", void 0);
67
+ __decorate([
68
+ (0, class_validator_1.IsOptional)(),
69
+ (0, class_validator_1.IsNumber)(),
70
+ (0, class_validator_1.Min)(0),
71
+ __metadata("design:type", Number)
72
+ ], W4FormDataDto.prototype, "otherDependentsAmount", void 0);
73
+ __decorate([
74
+ (0, class_validator_1.IsOptional)(),
75
+ (0, class_validator_1.IsNumber)(),
76
+ (0, class_validator_1.Min)(0),
77
+ __metadata("design:type", Number)
78
+ ], W4FormDataDto.prototype, "totalDependentsAmount", void 0);
79
+ __decorate([
80
+ (0, class_validator_1.IsOptional)(),
81
+ (0, class_validator_1.IsNumber)(),
82
+ (0, class_validator_1.Min)(0),
83
+ __metadata("design:type", Number)
84
+ ], W4FormDataDto.prototype, "otherIncome", void 0);
85
+ __decorate([
86
+ (0, class_validator_1.IsOptional)(),
87
+ (0, class_validator_1.IsNumber)(),
88
+ (0, class_validator_1.Min)(0),
89
+ __metadata("design:type", Number)
90
+ ], W4FormDataDto.prototype, "deductions", void 0);
91
+ __decorate([
92
+ (0, class_validator_1.IsOptional)(),
93
+ (0, class_validator_1.IsNumber)(),
94
+ (0, class_validator_1.Min)(0),
95
+ __metadata("design:type", Number)
96
+ ], W4FormDataDto.prototype, "extraWithholding", void 0);
97
+ __decorate([
98
+ (0, class_validator_1.IsString)(),
99
+ (0, class_validator_1.IsNotEmpty)(),
100
+ __metadata("design:type", String)
101
+ ], W4FormDataDto.prototype, "signature", void 0);
102
+ __decorate([
103
+ (0, class_validator_1.IsDateString)(),
104
+ (0, class_validator_1.IsNotEmpty)(),
105
+ __metadata("design:type", String)
106
+ ], W4FormDataDto.prototype, "signatureDate", void 0);
107
+ __decorate([
108
+ (0, class_validator_1.IsOptional)(),
109
+ (0, class_validator_1.IsString)(),
110
+ __metadata("design:type", String)
111
+ ], W4FormDataDto.prototype, "employerName", void 0);
112
+ __decorate([
113
+ (0, class_validator_1.IsOptional)(),
114
+ (0, class_validator_1.IsObject)(),
115
+ __metadata("design:type", common_dto_1.AddressDto)
116
+ ], W4FormDataDto.prototype, "employerAddress", void 0);
117
+ __decorate([
118
+ (0, class_validator_1.IsOptional)(),
119
+ (0, class_validator_1.IsDateString)(),
120
+ __metadata("design:type", String)
121
+ ], W4FormDataDto.prototype, "firstDateOfEmployment", void 0);
122
+ __decorate([
123
+ (0, class_validator_1.IsOptional)(),
124
+ (0, class_validator_1.IsString)(),
125
+ __metadata("design:type", String)
126
+ ], W4FormDataDto.prototype, "ein", void 0);
127
+ __decorate([
128
+ (0, class_validator_1.IsOptional)(),
129
+ (0, class_validator_1.IsBoolean)(),
130
+ __metadata("design:type", Boolean)
131
+ ], W4FormDataDto.prototype, "hasCapacityToSign", void 0);
132
+ __decorate([
133
+ (0, class_validator_1.IsOptional)(),
134
+ (0, class_validator_1.IsNumber)(),
135
+ (0, class_validator_1.Min)(0),
136
+ __metadata("design:type", Number)
137
+ ], W4FormDataDto.prototype, "twoJobsAmount", void 0);
138
+ __decorate([
139
+ (0, class_validator_1.IsOptional)(),
140
+ (0, class_validator_1.IsNumber)(),
141
+ (0, class_validator_1.Min)(0),
142
+ __metadata("design:type", Number)
143
+ ], W4FormDataDto.prototype, "threeJobsLine2a", void 0);
144
+ __decorate([
145
+ (0, class_validator_1.IsOptional)(),
146
+ (0, class_validator_1.IsNumber)(),
147
+ (0, class_validator_1.Min)(0),
148
+ __metadata("design:type", Number)
149
+ ], W4FormDataDto.prototype, "threeJobsLine2b", void 0);
150
+ __decorate([
151
+ (0, class_validator_1.IsOptional)(),
152
+ (0, class_validator_1.IsNumber)(),
153
+ (0, class_validator_1.Min)(0),
154
+ __metadata("design:type", Number)
155
+ ], W4FormDataDto.prototype, "threeJobsLine2c", void 0);
156
+ __decorate([
157
+ (0, class_validator_1.IsOptional)(),
158
+ (0, class_validator_1.IsNumber)(),
159
+ (0, class_validator_1.Min)(0),
160
+ __metadata("design:type", Number)
161
+ ], W4FormDataDto.prototype, "payPeriodsPerYear", void 0);
162
+ __decorate([
163
+ (0, class_validator_1.IsOptional)(),
164
+ (0, class_validator_1.IsNumber)(),
165
+ (0, class_validator_1.Min)(0),
166
+ __metadata("design:type", Number)
167
+ ], W4FormDataDto.prototype, "additionalWithholdingPerPayPeriod", void 0);
168
+ __decorate([
169
+ (0, class_validator_1.IsOptional)(),
170
+ (0, class_validator_1.IsNumber)(),
171
+ (0, class_validator_1.Min)(0),
172
+ __metadata("design:type", Number)
173
+ ], W4FormDataDto.prototype, "line1aQualifiedTips", void 0);
174
+ __decorate([
175
+ (0, class_validator_1.IsOptional)(),
176
+ (0, class_validator_1.IsNumber)(),
177
+ (0, class_validator_1.Min)(0),
178
+ __metadata("design:type", Number)
179
+ ], W4FormDataDto.prototype, "line1bOvertimeCompensation", void 0);
180
+ __decorate([
181
+ (0, class_validator_1.IsOptional)(),
182
+ (0, class_validator_1.IsNumber)(),
183
+ (0, class_validator_1.Min)(0),
184
+ __metadata("design:type", Number)
185
+ ], W4FormDataDto.prototype, "line1cVehicleLoanInterest", void 0);
186
+ __decorate([
187
+ (0, class_validator_1.IsOptional)(),
188
+ (0, class_validator_1.IsNumber)(),
189
+ (0, class_validator_1.Min)(0),
190
+ __metadata("design:type", Number)
191
+ ], W4FormDataDto.prototype, "line2Total", void 0);
192
+ __decorate([
193
+ (0, class_validator_1.IsOptional)(),
194
+ (0, class_validator_1.IsNumber)(),
195
+ (0, class_validator_1.Min)(0),
196
+ __metadata("design:type", Number)
197
+ ], W4FormDataDto.prototype, "line3aSeniorSelf", void 0);
198
+ __decorate([
199
+ (0, class_validator_1.IsOptional)(),
200
+ (0, class_validator_1.IsNumber)(),
201
+ (0, class_validator_1.Min)(0),
202
+ __metadata("design:type", Number)
203
+ ], W4FormDataDto.prototype, "line3bSeniorSpouse", void 0);
204
+ __decorate([
205
+ (0, class_validator_1.IsOptional)(),
206
+ (0, class_validator_1.IsNumber)(),
207
+ (0, class_validator_1.Min)(0),
208
+ __metadata("design:type", Number)
209
+ ], W4FormDataDto.prototype, "line4SeniorTotal", void 0);
210
+ __decorate([
211
+ (0, class_validator_1.IsOptional)(),
212
+ (0, class_validator_1.IsNumber)(),
213
+ (0, class_validator_1.Min)(0),
214
+ __metadata("design:type", Number)
215
+ ], W4FormDataDto.prototype, "line5StudentLoanIRA", void 0);
216
+ __decorate([
217
+ (0, class_validator_1.IsOptional)(),
218
+ (0, class_validator_1.IsNumber)(),
219
+ (0, class_validator_1.Min)(0),
220
+ __metadata("design:type", Number)
221
+ ], W4FormDataDto.prototype, "line6aMedicalExpenses", void 0);
222
+ __decorate([
223
+ (0, class_validator_1.IsOptional)(),
224
+ (0, class_validator_1.IsNumber)(),
225
+ (0, class_validator_1.Min)(0),
226
+ __metadata("design:type", Number)
227
+ ], W4FormDataDto.prototype, "line6bStateTaxes", void 0);
228
+ __decorate([
229
+ (0, class_validator_1.IsOptional)(),
230
+ (0, class_validator_1.IsNumber)(),
231
+ (0, class_validator_1.Min)(0),
232
+ __metadata("design:type", Number)
233
+ ], W4FormDataDto.prototype, "line6cMortgageInterest", void 0);
234
+ __decorate([
235
+ (0, class_validator_1.IsOptional)(),
236
+ (0, class_validator_1.IsNumber)(),
237
+ (0, class_validator_1.Min)(0),
238
+ __metadata("design:type", Number)
239
+ ], W4FormDataDto.prototype, "line6dCasualtyLosses", void 0);
240
+ __decorate([
241
+ (0, class_validator_1.IsOptional)(),
242
+ (0, class_validator_1.IsNumber)(),
243
+ (0, class_validator_1.Min)(0),
244
+ __metadata("design:type", Number)
245
+ ], W4FormDataDto.prototype, "line6eOtherItemized", void 0);
246
+ __decorate([
247
+ (0, class_validator_1.IsOptional)(),
248
+ (0, class_validator_1.IsNumber)(),
249
+ (0, class_validator_1.Min)(0),
250
+ __metadata("design:type", Number)
251
+ ], W4FormDataDto.prototype, "line7ItemizedTotal", void 0);
252
+ __decorate([
253
+ (0, class_validator_1.IsOptional)(),
254
+ (0, class_validator_1.IsNumber)(),
255
+ (0, class_validator_1.Min)(0),
256
+ __metadata("design:type", Number)
257
+ ], W4FormDataDto.prototype, "line8aTotalIncome", void 0);
258
+ __decorate([
259
+ (0, class_validator_1.IsOptional)(),
260
+ (0, class_validator_1.IsNumber)(),
261
+ (0, class_validator_1.Min)(0),
262
+ __metadata("design:type", Number)
263
+ ], W4FormDataDto.prototype, "line8bIncomeMinusSenior", void 0);
264
+ __decorate([
265
+ (0, class_validator_1.IsOptional)(),
266
+ (0, class_validator_1.IsNumber)(),
267
+ (0, class_validator_1.Min)(0),
268
+ __metadata("design:type", Number)
269
+ ], W4FormDataDto.prototype, "line9FilingThreshold", void 0);
270
+ __decorate([
271
+ (0, class_validator_1.IsOptional)(),
272
+ (0, class_validator_1.IsNumber)(),
273
+ (0, class_validator_1.Min)(0),
274
+ __metadata("design:type", Number)
275
+ ], W4FormDataDto.prototype, "line10ItemizedResult", void 0);
276
+ __decorate([
277
+ (0, class_validator_1.IsOptional)(),
278
+ (0, class_validator_1.IsNumber)(),
279
+ (0, class_validator_1.Min)(0),
280
+ __metadata("design:type", Number)
281
+ ], W4FormDataDto.prototype, "line11StandardDeduction", void 0);
282
+ __decorate([
283
+ (0, class_validator_1.IsOptional)(),
284
+ (0, class_validator_1.IsNumber)(),
285
+ (0, class_validator_1.Min)(0),
286
+ __metadata("design:type", Number)
287
+ ], W4FormDataDto.prototype, "line12CharityGifts", void 0);
288
+ __decorate([
289
+ (0, class_validator_1.IsOptional)(),
290
+ (0, class_validator_1.IsNumber)(),
291
+ (0, class_validator_1.Min)(0),
292
+ __metadata("design:type", Number)
293
+ ], W4FormDataDto.prototype, "line13StandardPlusCharity", void 0);
294
+ __decorate([
295
+ (0, class_validator_1.IsOptional)(),
296
+ (0, class_validator_1.IsNumber)(),
297
+ (0, class_validator_1.Min)(0),
298
+ __metadata("design:type", Number)
299
+ ], W4FormDataDto.prototype, "line14DeductionsDifference", void 0);
300
+ __decorate([
301
+ (0, class_validator_1.IsOptional)(),
302
+ (0, class_validator_1.IsNumber)(),
303
+ (0, class_validator_1.Min)(0),
304
+ __metadata("design:type", Number)
305
+ ], W4FormDataDto.prototype, "line15TotalDeductions", void 0);
306
+ //# sourceMappingURL=form.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.dto.js","sourceRoot":"","sources":["../../../../../src/create/pdf/united-states/form-w4/form.dto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { W4FormDataDto } from "./form.dto";
2
+ export declare const formW4: (data: W4FormDataDto) => Promise<Buffer>;
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.formW4 = void 0;
7
+ const fs_1 = require("fs");
8
+ const util_1 = require("util");
9
+ const path_1 = require("path");
10
+ const date_fns_1 = require("date-fns");
11
+ const is_base64_1 = __importDefault(require("is-base64"));
12
+ const util_2 = require("../../util");
13
+ const schema_json_1 = __importDefault(require("./schema.json"));
14
+ const custom_generate_1 = require("../../custom-generate");
15
+ const readFilePromise = (0, util_1.promisify)(fs_1.readFile);
16
+ const filingStatusFieldMap = {
17
+ single: "single",
18
+ married_jointly: "married",
19
+ head_of_household: "headHouse",
20
+ };
21
+ const multipleJobsFieldMap = {
22
+ use_worksheet: "use_worksheet",
23
+ use_estimator: "use_estimator",
24
+ two_jobs_only: "two_jobs_only",
25
+ };
26
+ const formatAmount = (amount) => {
27
+ if (amount === undefined || amount === null)
28
+ return "";
29
+ return amount.toString();
30
+ };
31
+ const w4FormCoordinates = (data) => {
32
+ const today = (0, date_fns_1.format)(new Date(), util_2.DOCUMENTS_DATE_FORMAT);
33
+ const page0 = {
34
+ firstName: data.firstName,
35
+ lastName: data.lastName,
36
+ ssn: data.ssn,
37
+ };
38
+ if (data.address) {
39
+ page0.address = data.address.address_line_1 || "";
40
+ page0.address_city_state_zip = `${data.address.city || ""}, ${data.address.state || ""} ${data.address.postal_code || ""}`.trim();
41
+ }
42
+ if (data.filingStatus && data.filingStatus.length > 0) {
43
+ data.filingStatus.forEach((status) => {
44
+ const fieldName = filingStatusFieldMap[status];
45
+ if (fieldName) {
46
+ page0[fieldName] = util_2.CHECKED_IMAGE;
47
+ }
48
+ });
49
+ }
50
+ if (data.multipleJobsOption) {
51
+ const fieldName = multipleJobsFieldMap[data.multipleJobsOption];
52
+ if (fieldName) {
53
+ page0[fieldName] = util_2.CHECKED_IMAGE;
54
+ }
55
+ }
56
+ if (data.qualifyingChildrenAmount !== undefined) {
57
+ page0.qualifyingChildrenAmount = formatAmount(data.qualifyingChildrenAmount);
58
+ }
59
+ if (data.otherDependentsAmount !== undefined) {
60
+ page0.otherDependentsAmount = formatAmount(data.otherDependentsAmount);
61
+ }
62
+ if (data.totalDependentsAmount !== undefined) {
63
+ page0.totalDependentsAmount = formatAmount(data.totalDependentsAmount);
64
+ }
65
+ if (data.otherIncome !== undefined) {
66
+ page0.otherIncome = formatAmount(data.otherIncome);
67
+ }
68
+ if (data.deductions !== undefined) {
69
+ page0.deductions = formatAmount(data.deductions);
70
+ }
71
+ if (data.extraWithholding !== undefined) {
72
+ page0.extraWithholding = formatAmount(data.extraWithholding);
73
+ }
74
+ page0.signature = data.signature;
75
+ page0.signatureDate = data.signatureDate
76
+ ? (0, date_fns_1.format)(new Date(data.signatureDate), util_2.DOCUMENTS_DATE_FORMAT)
77
+ : today;
78
+ if (data.hasCapacityToSign) {
79
+ page0.hasCapacityToSign = util_2.CHECKED_IMAGE;
80
+ }
81
+ if (data.employerName) {
82
+ page0.employerName = data.employerName;
83
+ }
84
+ if (data.employerAddress) {
85
+ page0.employerAdress = `${data.employerAddress.address_line_1 || ""}, ${data.employerAddress.city || ""}, ${data.employerAddress.state || ""} ${data.employerAddress.postal_code || ""}`.trim();
86
+ }
87
+ if (data.ein) {
88
+ page0.ein = data.ein;
89
+ }
90
+ if (data.firstDateOfEmployment) {
91
+ page0.firstDateOfEmployment = (0, date_fns_1.format)(new Date(data.firstDateOfEmployment), util_2.DOCUMENTS_DATE_FORMAT);
92
+ }
93
+ const page1 = {};
94
+ const page2 = {};
95
+ if (data.twoJobsAmount !== undefined) {
96
+ page2.twoJobsAmount = formatAmount(data.twoJobsAmount);
97
+ }
98
+ if (data.threeJobsLine2a !== undefined) {
99
+ page2.threeJobsLine2a = formatAmount(data.threeJobsLine2a);
100
+ }
101
+ if (data.threeJobsLine2b !== undefined) {
102
+ page2.threeJobsLine2b = formatAmount(data.threeJobsLine2b);
103
+ }
104
+ if (data.threeJobsLine2c !== undefined) {
105
+ page2.threeJobsLine2c = formatAmount(data.threeJobsLine2c);
106
+ }
107
+ if (data.payPeriodsPerYear !== undefined) {
108
+ page2.payPeriodsPerYear = formatAmount(data.payPeriodsPerYear);
109
+ }
110
+ if (data.additionalWithholdingPerPayPeriod !== undefined) {
111
+ page2.additionalWithholdingPerPayPeriod = formatAmount(data.additionalWithholdingPerPayPeriod);
112
+ }
113
+ const page3 = {};
114
+ if (data.line1aQualifiedTips !== undefined) {
115
+ page3.line1aQualifiedTips = formatAmount(data.line1aQualifiedTips);
116
+ }
117
+ if (data.line1bOvertimeCompensation !== undefined) {
118
+ page3.line1bOvertimeCompensation = formatAmount(data.line1bOvertimeCompensation);
119
+ }
120
+ if (data.line1cVehicleLoanInterest !== undefined) {
121
+ page3.line1cVehicleLoanInterest = formatAmount(data.line1cVehicleLoanInterest);
122
+ }
123
+ if (data.line2Total !== undefined) {
124
+ page3.line2Total = formatAmount(data.line2Total);
125
+ }
126
+ if (data.line3aSeniorSelf !== undefined) {
127
+ page3.line3aSeniorSelf = formatAmount(data.line3aSeniorSelf);
128
+ }
129
+ if (data.line3bSeniorSpouse !== undefined) {
130
+ page3.line3bSeniorSpouse = formatAmount(data.line3bSeniorSpouse);
131
+ }
132
+ if (data.line4SeniorTotal !== undefined) {
133
+ page3.line4SeniorTotal = formatAmount(data.line4SeniorTotal);
134
+ }
135
+ if (data.line5StudentLoanIRA !== undefined) {
136
+ page3.line5StudentLoanIRA = formatAmount(data.line5StudentLoanIRA);
137
+ }
138
+ if (data.line6aMedicalExpenses !== undefined) {
139
+ page3.line6aMedicalExpenses = formatAmount(data.line6aMedicalExpenses);
140
+ }
141
+ if (data.line6bStateTaxes !== undefined) {
142
+ page3.line6bStateTaxes = formatAmount(data.line6bStateTaxes);
143
+ }
144
+ if (data.line6cMortgageInterest !== undefined) {
145
+ page3.line6cMortgageInterest = formatAmount(data.line6cMortgageInterest);
146
+ }
147
+ if (data.line6dCasualtyLosses !== undefined) {
148
+ page3.line6dCasualtyLosses = formatAmount(data.line6dCasualtyLosses);
149
+ }
150
+ if (data.line6eOtherItemized !== undefined) {
151
+ page3.line6eOtherItemized = formatAmount(data.line6eOtherItemized);
152
+ }
153
+ if (data.line7ItemizedTotal !== undefined) {
154
+ page3.line7ItemizedTotal = formatAmount(data.line7ItemizedTotal);
155
+ }
156
+ if (data.line8aTotalIncome !== undefined) {
157
+ page3.line8aTotalIncome = formatAmount(data.line8aTotalIncome);
158
+ }
159
+ if (data.line8bIncomeMinusSenior !== undefined) {
160
+ page3.line8bIncomeMinusSenior = formatAmount(data.line8bIncomeMinusSenior);
161
+ }
162
+ if (data.line9FilingThreshold !== undefined) {
163
+ page3.line9FilingThreshold = formatAmount(data.line9FilingThreshold);
164
+ }
165
+ if (data.line10ItemizedResult !== undefined) {
166
+ page3.line10ItemizedResult = formatAmount(data.line10ItemizedResult);
167
+ }
168
+ if (data.line11StandardDeduction !== undefined) {
169
+ page3.line11StandardDeduction = formatAmount(data.line11StandardDeduction);
170
+ }
171
+ if (data.line12CharityGifts !== undefined) {
172
+ page3.line12CharityGifts = formatAmount(data.line12CharityGifts);
173
+ }
174
+ if (data.line13StandardPlusCharity !== undefined) {
175
+ page3.line13StandardPlusCharity = formatAmount(data.line13StandardPlusCharity);
176
+ }
177
+ if (data.line14DeductionsDifference !== undefined) {
178
+ page3.line14DeductionsDifference = formatAmount(data.line14DeductionsDifference);
179
+ }
180
+ if (data.line15TotalDeductions !== undefined) {
181
+ page3.line15TotalDeductions = formatAmount(data.line15TotalDeductions);
182
+ }
183
+ const page4 = {};
184
+ return [{ ...page0, ...page1, ...page2, ...page3, ...page4 }];
185
+ };
186
+ let pdfBufferInstance;
187
+ const getPDFInstance = async () => {
188
+ if (!pdfBufferInstance) {
189
+ pdfBufferInstance = await readFilePromise((0, path_1.resolve)(__dirname, "./template.pdf"));
190
+ }
191
+ return pdfBufferInstance;
192
+ };
193
+ const formW4 = async (data) => {
194
+ if (!(0, is_base64_1.default)(data.signature, { mimeRequired: true })) {
195
+ throw new Error("Invalid signature");
196
+ }
197
+ const pdfBuffer = await getPDFInstance();
198
+ return (0, custom_generate_1.generatePdf)(data, pdfBuffer, schema_json_1.default, w4FormCoordinates);
199
+ };
200
+ exports.formW4 = formW4;
201
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/create/pdf/united-states/form-w4/index.ts"],"names":[],"mappings":"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"}