@ottoai/documents 1.5.14 → 1.5.16

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,68 @@
1
+ export declare class AddressDto {
2
+ city: string | null;
3
+ state: string | null;
4
+ postal_code: string | null;
5
+ address_line_1: string | null;
6
+ address_line_2?: string | null;
7
+ country?: string | null;
8
+ }
9
+ export declare enum FilingStatus {
10
+ Single = "single",
11
+ Married = "married_jointly",
12
+ HeadOfHousehold = "head_of_household"
13
+ }
14
+ export declare enum MultipleJobsOption {
15
+ UseWorksheet = "use_worksheet",
16
+ UseEstimator = "use_estimator",
17
+ TwoJobsOnly = "two_jobs_only"
18
+ }
19
+ export declare class W4FormDataDto {
20
+ firstName: string;
21
+ lastName: string;
22
+ ssn: string;
23
+ address: AddressDto;
24
+ filingStatus: string[];
25
+ multipleJobsOption?: string;
26
+ qualifyingChildrenAmount?: number;
27
+ otherDependentsAmount?: number;
28
+ totalDependentsAmount?: number;
29
+ otherIncome?: number;
30
+ deductions?: number;
31
+ extraWithholding?: number;
32
+ signature: string;
33
+ signatureDate: string;
34
+ employerName?: string;
35
+ employerAddress?: AddressDto;
36
+ firstDateOfEmployment?: string;
37
+ ein?: string;
38
+ hasCapacityToSign?: boolean;
39
+ twoJobsAmount?: number;
40
+ threeJobsLine2a?: number;
41
+ threeJobsLine2b?: number;
42
+ threeJobsLine2c?: number;
43
+ payPeriodsPerYear?: number;
44
+ additionalWithholdingPerPayPeriod?: number;
45
+ line1aQualifiedTips?: number;
46
+ line1bOvertimeCompensation?: number;
47
+ line1cVehicleLoanInterest?: number;
48
+ line2Total?: number;
49
+ line3aSeniorSelf?: number;
50
+ line3bSeniorSpouse?: number;
51
+ line4SeniorTotal?: number;
52
+ line5StudentLoanIRA?: number;
53
+ line6aMedicalExpenses?: number;
54
+ line6bStateTaxes?: number;
55
+ line6cMortgageInterest?: number;
56
+ line6dCasualtyLosses?: number;
57
+ line6eOtherItemized?: number;
58
+ line7ItemizedTotal?: number;
59
+ line8aTotalIncome?: number;
60
+ line8bIncomeMinusSenior?: number;
61
+ line9FilingThreshold?: number;
62
+ line10ItemizedResult?: number;
63
+ line11StandardDeduction?: number;
64
+ line12CharityGifts?: number;
65
+ line13StandardPlusCharity?: number;
66
+ line14DeductionsDifference?: number;
67
+ line15TotalDeductions?: number;
68
+ }
@@ -0,0 +1,338 @@
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 = exports.AddressDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class AddressDto {
15
+ }
16
+ exports.AddressDto = AddressDto;
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ (0, class_validator_1.IsNotEmpty)(),
20
+ __metadata("design:type", Object)
21
+ ], AddressDto.prototype, "city", void 0);
22
+ __decorate([
23
+ (0, class_validator_1.IsString)(),
24
+ (0, class_validator_1.IsNotEmpty)(),
25
+ __metadata("design:type", Object)
26
+ ], AddressDto.prototype, "state", void 0);
27
+ __decorate([
28
+ (0, class_validator_1.IsString)(),
29
+ (0, class_validator_1.IsNotEmpty)(),
30
+ __metadata("design:type", Object)
31
+ ], AddressDto.prototype, "postal_code", void 0);
32
+ __decorate([
33
+ (0, class_validator_1.IsString)(),
34
+ (0, class_validator_1.IsNotEmpty)(),
35
+ __metadata("design:type", Object)
36
+ ], AddressDto.prototype, "address_line_1", void 0);
37
+ __decorate([
38
+ (0, class_validator_1.IsOptional)(),
39
+ (0, class_validator_1.IsString)(),
40
+ __metadata("design:type", Object)
41
+ ], AddressDto.prototype, "address_line_2", void 0);
42
+ __decorate([
43
+ (0, class_validator_1.IsOptional)(),
44
+ (0, class_validator_1.IsString)(),
45
+ __metadata("design:type", Object)
46
+ ], AddressDto.prototype, "country", void 0);
47
+ var FilingStatus;
48
+ (function (FilingStatus) {
49
+ FilingStatus["Single"] = "single";
50
+ FilingStatus["Married"] = "married_jointly";
51
+ FilingStatus["HeadOfHousehold"] = "head_of_household";
52
+ })(FilingStatus || (exports.FilingStatus = FilingStatus = {}));
53
+ var MultipleJobsOption;
54
+ (function (MultipleJobsOption) {
55
+ MultipleJobsOption["UseWorksheet"] = "use_worksheet";
56
+ MultipleJobsOption["UseEstimator"] = "use_estimator";
57
+ MultipleJobsOption["TwoJobsOnly"] = "two_jobs_only";
58
+ })(MultipleJobsOption || (exports.MultipleJobsOption = MultipleJobsOption = {}));
59
+ class W4FormDataDto {
60
+ }
61
+ exports.W4FormDataDto = W4FormDataDto;
62
+ __decorate([
63
+ (0, class_validator_1.IsString)(),
64
+ (0, class_validator_1.IsNotEmpty)(),
65
+ __metadata("design:type", String)
66
+ ], W4FormDataDto.prototype, "firstName", void 0);
67
+ __decorate([
68
+ (0, class_validator_1.IsString)(),
69
+ (0, class_validator_1.IsNotEmpty)(),
70
+ __metadata("design:type", String)
71
+ ], W4FormDataDto.prototype, "lastName", void 0);
72
+ __decorate([
73
+ (0, class_validator_1.IsString)(),
74
+ (0, class_validator_1.IsNotEmpty)(),
75
+ __metadata("design:type", String)
76
+ ], W4FormDataDto.prototype, "ssn", void 0);
77
+ __decorate([
78
+ (0, class_validator_1.IsObject)(),
79
+ (0, class_validator_1.IsNotEmpty)(),
80
+ (0, class_validator_1.ValidateIf)((o) => !(0, class_validator_1.isEmpty)(o.address)),
81
+ __metadata("design:type", AddressDto)
82
+ ], W4FormDataDto.prototype, "address", void 0);
83
+ __decorate([
84
+ (0, class_validator_1.IsArray)(),
85
+ (0, class_validator_1.IsNotEmpty)(),
86
+ __metadata("design:type", Array)
87
+ ], W4FormDataDto.prototype, "filingStatus", void 0);
88
+ __decorate([
89
+ (0, class_validator_1.IsOptional)(),
90
+ (0, class_validator_1.IsString)(),
91
+ __metadata("design:type", String)
92
+ ], W4FormDataDto.prototype, "multipleJobsOption", void 0);
93
+ __decorate([
94
+ (0, class_validator_1.IsOptional)(),
95
+ (0, class_validator_1.IsNumber)(),
96
+ (0, class_validator_1.Min)(0),
97
+ __metadata("design:type", Number)
98
+ ], W4FormDataDto.prototype, "qualifyingChildrenAmount", void 0);
99
+ __decorate([
100
+ (0, class_validator_1.IsOptional)(),
101
+ (0, class_validator_1.IsNumber)(),
102
+ (0, class_validator_1.Min)(0),
103
+ __metadata("design:type", Number)
104
+ ], W4FormDataDto.prototype, "otherDependentsAmount", void 0);
105
+ __decorate([
106
+ (0, class_validator_1.IsOptional)(),
107
+ (0, class_validator_1.IsNumber)(),
108
+ (0, class_validator_1.Min)(0),
109
+ __metadata("design:type", Number)
110
+ ], W4FormDataDto.prototype, "totalDependentsAmount", void 0);
111
+ __decorate([
112
+ (0, class_validator_1.IsOptional)(),
113
+ (0, class_validator_1.IsNumber)(),
114
+ (0, class_validator_1.Min)(0),
115
+ __metadata("design:type", Number)
116
+ ], W4FormDataDto.prototype, "otherIncome", void 0);
117
+ __decorate([
118
+ (0, class_validator_1.IsOptional)(),
119
+ (0, class_validator_1.IsNumber)(),
120
+ (0, class_validator_1.Min)(0),
121
+ __metadata("design:type", Number)
122
+ ], W4FormDataDto.prototype, "deductions", void 0);
123
+ __decorate([
124
+ (0, class_validator_1.IsOptional)(),
125
+ (0, class_validator_1.IsNumber)(),
126
+ (0, class_validator_1.Min)(0),
127
+ __metadata("design:type", Number)
128
+ ], W4FormDataDto.prototype, "extraWithholding", void 0);
129
+ __decorate([
130
+ (0, class_validator_1.IsString)(),
131
+ (0, class_validator_1.IsNotEmpty)(),
132
+ __metadata("design:type", String)
133
+ ], W4FormDataDto.prototype, "signature", void 0);
134
+ __decorate([
135
+ (0, class_validator_1.IsDateString)(),
136
+ (0, class_validator_1.IsNotEmpty)(),
137
+ __metadata("design:type", String)
138
+ ], W4FormDataDto.prototype, "signatureDate", void 0);
139
+ __decorate([
140
+ (0, class_validator_1.IsOptional)(),
141
+ (0, class_validator_1.IsString)(),
142
+ __metadata("design:type", String)
143
+ ], W4FormDataDto.prototype, "employerName", void 0);
144
+ __decorate([
145
+ (0, class_validator_1.IsOptional)(),
146
+ (0, class_validator_1.IsObject)(),
147
+ __metadata("design:type", AddressDto)
148
+ ], W4FormDataDto.prototype, "employerAddress", void 0);
149
+ __decorate([
150
+ (0, class_validator_1.IsOptional)(),
151
+ (0, class_validator_1.IsDateString)(),
152
+ __metadata("design:type", String)
153
+ ], W4FormDataDto.prototype, "firstDateOfEmployment", void 0);
154
+ __decorate([
155
+ (0, class_validator_1.IsOptional)(),
156
+ (0, class_validator_1.IsString)(),
157
+ __metadata("design:type", String)
158
+ ], W4FormDataDto.prototype, "ein", void 0);
159
+ __decorate([
160
+ (0, class_validator_1.IsOptional)(),
161
+ (0, class_validator_1.IsBoolean)(),
162
+ __metadata("design:type", Boolean)
163
+ ], W4FormDataDto.prototype, "hasCapacityToSign", void 0);
164
+ __decorate([
165
+ (0, class_validator_1.IsOptional)(),
166
+ (0, class_validator_1.IsNumber)(),
167
+ (0, class_validator_1.Min)(0),
168
+ __metadata("design:type", Number)
169
+ ], W4FormDataDto.prototype, "twoJobsAmount", void 0);
170
+ __decorate([
171
+ (0, class_validator_1.IsOptional)(),
172
+ (0, class_validator_1.IsNumber)(),
173
+ (0, class_validator_1.Min)(0),
174
+ __metadata("design:type", Number)
175
+ ], W4FormDataDto.prototype, "threeJobsLine2a", void 0);
176
+ __decorate([
177
+ (0, class_validator_1.IsOptional)(),
178
+ (0, class_validator_1.IsNumber)(),
179
+ (0, class_validator_1.Min)(0),
180
+ __metadata("design:type", Number)
181
+ ], W4FormDataDto.prototype, "threeJobsLine2b", void 0);
182
+ __decorate([
183
+ (0, class_validator_1.IsOptional)(),
184
+ (0, class_validator_1.IsNumber)(),
185
+ (0, class_validator_1.Min)(0),
186
+ __metadata("design:type", Number)
187
+ ], W4FormDataDto.prototype, "threeJobsLine2c", void 0);
188
+ __decorate([
189
+ (0, class_validator_1.IsOptional)(),
190
+ (0, class_validator_1.IsNumber)(),
191
+ (0, class_validator_1.Min)(0),
192
+ __metadata("design:type", Number)
193
+ ], W4FormDataDto.prototype, "payPeriodsPerYear", void 0);
194
+ __decorate([
195
+ (0, class_validator_1.IsOptional)(),
196
+ (0, class_validator_1.IsNumber)(),
197
+ (0, class_validator_1.Min)(0),
198
+ __metadata("design:type", Number)
199
+ ], W4FormDataDto.prototype, "additionalWithholdingPerPayPeriod", void 0);
200
+ __decorate([
201
+ (0, class_validator_1.IsOptional)(),
202
+ (0, class_validator_1.IsNumber)(),
203
+ (0, class_validator_1.Min)(0),
204
+ __metadata("design:type", Number)
205
+ ], W4FormDataDto.prototype, "line1aQualifiedTips", void 0);
206
+ __decorate([
207
+ (0, class_validator_1.IsOptional)(),
208
+ (0, class_validator_1.IsNumber)(),
209
+ (0, class_validator_1.Min)(0),
210
+ __metadata("design:type", Number)
211
+ ], W4FormDataDto.prototype, "line1bOvertimeCompensation", void 0);
212
+ __decorate([
213
+ (0, class_validator_1.IsOptional)(),
214
+ (0, class_validator_1.IsNumber)(),
215
+ (0, class_validator_1.Min)(0),
216
+ __metadata("design:type", Number)
217
+ ], W4FormDataDto.prototype, "line1cVehicleLoanInterest", void 0);
218
+ __decorate([
219
+ (0, class_validator_1.IsOptional)(),
220
+ (0, class_validator_1.IsNumber)(),
221
+ (0, class_validator_1.Min)(0),
222
+ __metadata("design:type", Number)
223
+ ], W4FormDataDto.prototype, "line2Total", void 0);
224
+ __decorate([
225
+ (0, class_validator_1.IsOptional)(),
226
+ (0, class_validator_1.IsNumber)(),
227
+ (0, class_validator_1.Min)(0),
228
+ __metadata("design:type", Number)
229
+ ], W4FormDataDto.prototype, "line3aSeniorSelf", void 0);
230
+ __decorate([
231
+ (0, class_validator_1.IsOptional)(),
232
+ (0, class_validator_1.IsNumber)(),
233
+ (0, class_validator_1.Min)(0),
234
+ __metadata("design:type", Number)
235
+ ], W4FormDataDto.prototype, "line3bSeniorSpouse", void 0);
236
+ __decorate([
237
+ (0, class_validator_1.IsOptional)(),
238
+ (0, class_validator_1.IsNumber)(),
239
+ (0, class_validator_1.Min)(0),
240
+ __metadata("design:type", Number)
241
+ ], W4FormDataDto.prototype, "line4SeniorTotal", void 0);
242
+ __decorate([
243
+ (0, class_validator_1.IsOptional)(),
244
+ (0, class_validator_1.IsNumber)(),
245
+ (0, class_validator_1.Min)(0),
246
+ __metadata("design:type", Number)
247
+ ], W4FormDataDto.prototype, "line5StudentLoanIRA", void 0);
248
+ __decorate([
249
+ (0, class_validator_1.IsOptional)(),
250
+ (0, class_validator_1.IsNumber)(),
251
+ (0, class_validator_1.Min)(0),
252
+ __metadata("design:type", Number)
253
+ ], W4FormDataDto.prototype, "line6aMedicalExpenses", void 0);
254
+ __decorate([
255
+ (0, class_validator_1.IsOptional)(),
256
+ (0, class_validator_1.IsNumber)(),
257
+ (0, class_validator_1.Min)(0),
258
+ __metadata("design:type", Number)
259
+ ], W4FormDataDto.prototype, "line6bStateTaxes", void 0);
260
+ __decorate([
261
+ (0, class_validator_1.IsOptional)(),
262
+ (0, class_validator_1.IsNumber)(),
263
+ (0, class_validator_1.Min)(0),
264
+ __metadata("design:type", Number)
265
+ ], W4FormDataDto.prototype, "line6cMortgageInterest", void 0);
266
+ __decorate([
267
+ (0, class_validator_1.IsOptional)(),
268
+ (0, class_validator_1.IsNumber)(),
269
+ (0, class_validator_1.Min)(0),
270
+ __metadata("design:type", Number)
271
+ ], W4FormDataDto.prototype, "line6dCasualtyLosses", void 0);
272
+ __decorate([
273
+ (0, class_validator_1.IsOptional)(),
274
+ (0, class_validator_1.IsNumber)(),
275
+ (0, class_validator_1.Min)(0),
276
+ __metadata("design:type", Number)
277
+ ], W4FormDataDto.prototype, "line6eOtherItemized", void 0);
278
+ __decorate([
279
+ (0, class_validator_1.IsOptional)(),
280
+ (0, class_validator_1.IsNumber)(),
281
+ (0, class_validator_1.Min)(0),
282
+ __metadata("design:type", Number)
283
+ ], W4FormDataDto.prototype, "line7ItemizedTotal", void 0);
284
+ __decorate([
285
+ (0, class_validator_1.IsOptional)(),
286
+ (0, class_validator_1.IsNumber)(),
287
+ (0, class_validator_1.Min)(0),
288
+ __metadata("design:type", Number)
289
+ ], W4FormDataDto.prototype, "line8aTotalIncome", void 0);
290
+ __decorate([
291
+ (0, class_validator_1.IsOptional)(),
292
+ (0, class_validator_1.IsNumber)(),
293
+ (0, class_validator_1.Min)(0),
294
+ __metadata("design:type", Number)
295
+ ], W4FormDataDto.prototype, "line8bIncomeMinusSenior", void 0);
296
+ __decorate([
297
+ (0, class_validator_1.IsOptional)(),
298
+ (0, class_validator_1.IsNumber)(),
299
+ (0, class_validator_1.Min)(0),
300
+ __metadata("design:type", Number)
301
+ ], W4FormDataDto.prototype, "line9FilingThreshold", void 0);
302
+ __decorate([
303
+ (0, class_validator_1.IsOptional)(),
304
+ (0, class_validator_1.IsNumber)(),
305
+ (0, class_validator_1.Min)(0),
306
+ __metadata("design:type", Number)
307
+ ], W4FormDataDto.prototype, "line10ItemizedResult", void 0);
308
+ __decorate([
309
+ (0, class_validator_1.IsOptional)(),
310
+ (0, class_validator_1.IsNumber)(),
311
+ (0, class_validator_1.Min)(0),
312
+ __metadata("design:type", Number)
313
+ ], W4FormDataDto.prototype, "line11StandardDeduction", void 0);
314
+ __decorate([
315
+ (0, class_validator_1.IsOptional)(),
316
+ (0, class_validator_1.IsNumber)(),
317
+ (0, class_validator_1.Min)(0),
318
+ __metadata("design:type", Number)
319
+ ], W4FormDataDto.prototype, "line12CharityGifts", void 0);
320
+ __decorate([
321
+ (0, class_validator_1.IsOptional)(),
322
+ (0, class_validator_1.IsNumber)(),
323
+ (0, class_validator_1.Min)(0),
324
+ __metadata("design:type", Number)
325
+ ], W4FormDataDto.prototype, "line13StandardPlusCharity", void 0);
326
+ __decorate([
327
+ (0, class_validator_1.IsOptional)(),
328
+ (0, class_validator_1.IsNumber)(),
329
+ (0, class_validator_1.Min)(0),
330
+ __metadata("design:type", Number)
331
+ ], W4FormDataDto.prototype, "line14DeductionsDifference", void 0);
332
+ __decorate([
333
+ (0, class_validator_1.IsOptional)(),
334
+ (0, class_validator_1.IsNumber)(),
335
+ (0, class_validator_1.Min)(0),
336
+ __metadata("design:type", Number)
337
+ ], W4FormDataDto.prototype, "line15TotalDeductions", void 0);
338
+ //# 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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"}