formula-parser-payroll 2.1.0
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/README.md +202 -0
- package/dist/database/database-connector.d.ts +60 -0
- package/dist/database/database-connector.d.ts.map +1 -0
- package/dist/database/database-connector.js +9 -0
- package/dist/database/database-connector.js.map +1 -0
- package/dist/database/helpers.d.ts +44 -0
- package/dist/database/helpers.d.ts.map +1 -0
- package/dist/database/helpers.js +120 -0
- package/dist/database/helpers.js.map +1 -0
- package/dist/database/index.d.ts +11 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +29 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/payroll-formula.service.d.ts +118 -0
- package/dist/database/payroll-formula.service.d.ts.map +1 -0
- package/dist/database/payroll-formula.service.js +794 -0
- package/dist/database/payroll-formula.service.js.map +1 -0
- package/dist/database/types.d.ts +117 -0
- package/dist/database/types.d.ts.map +1 -0
- package/dist/database/types.js +9 -0
- package/dist/database/types.js.map +1 -0
- package/dist/formula-engine.d.ts +18 -0
- package/dist/formula-engine.d.ts.map +1 -0
- package/dist/formula-engine.js +356 -0
- package/dist/formula-engine.js.map +1 -0
- package/dist/formula-parser.d.ts +60 -0
- package/dist/formula-parser.d.ts.map +1 -0
- package/dist/formula-parser.js +366 -0
- package/dist/formula-parser.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/nestjs/database-connector.d.ts +60 -0
- package/dist/nestjs/database-connector.d.ts.map +1 -0
- package/dist/nestjs/database-connector.js +9 -0
- package/dist/nestjs/database-connector.js.map +1 -0
- package/dist/nestjs/helpers.d.ts +44 -0
- package/dist/nestjs/helpers.d.ts.map +1 -0
- package/dist/nestjs/helpers.js +120 -0
- package/dist/nestjs/helpers.js.map +1 -0
- package/dist/nestjs/index.d.ts +11 -0
- package/dist/nestjs/index.d.ts.map +1 -0
- package/dist/nestjs/index.js +29 -0
- package/dist/nestjs/index.js.map +1 -0
- package/dist/nestjs/payroll-formula.service.d.ts +91 -0
- package/dist/nestjs/payroll-formula.service.d.ts.map +1 -0
- package/dist/nestjs/payroll-formula.service.js +640 -0
- package/dist/nestjs/payroll-formula.service.js.map +1 -0
- package/dist/nestjs/types.d.ts +117 -0
- package/dist/nestjs/types.d.ts.map +1 -0
- package/dist/nestjs/types.js +9 -0
- package/dist/nestjs/types.js.map +1 -0
- package/dist/types.d.ts +168 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -0
- package/package.json +39 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NestJS Module Types for Payroll Formula Parser
|
|
3
|
+
*
|
|
4
|
+
* This module provides type definitions for database-integrated formula parsing.
|
|
5
|
+
* The types are now generic and work with any database client.
|
|
6
|
+
*/
|
|
7
|
+
import { FormulaContext, IDatabaseConnection, CompanyContext, EncryptionConfig } from './database-connector';
|
|
8
|
+
export { FormulaContext, IDatabaseConnection, CompanyContext, EncryptionConfig };
|
|
9
|
+
/**
|
|
10
|
+
* Database connection interface
|
|
11
|
+
* @deprecated Use IDatabaseConnection from database-connector instead
|
|
12
|
+
* Kept for backward compatibility
|
|
13
|
+
*/
|
|
14
|
+
export interface DatabaseConnection {
|
|
15
|
+
query: (sql: string, params?: any[]) => Promise<any>;
|
|
16
|
+
getRepository?: (entity: any) => any;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* User data from authentication
|
|
20
|
+
* @deprecated Use CompanyContext from database-connector instead
|
|
21
|
+
* Kept for backward compatibility
|
|
22
|
+
*/
|
|
23
|
+
export interface UserData {
|
|
24
|
+
companyId: string | number;
|
|
25
|
+
companyCode?: string;
|
|
26
|
+
currentCompanyCode?: string;
|
|
27
|
+
taxCountry?: string;
|
|
28
|
+
[key: string]: any;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Access token configuration for encryption/decryption
|
|
32
|
+
* @deprecated Use EncryptionConfig from database-connector instead
|
|
33
|
+
* Kept for backward compatibility
|
|
34
|
+
*/
|
|
35
|
+
export interface AccessTokenConfig {
|
|
36
|
+
confParse: {
|
|
37
|
+
PNUMBER: string;
|
|
38
|
+
LNUMBER: string;
|
|
39
|
+
[key: string]: any;
|
|
40
|
+
};
|
|
41
|
+
[key: string]: any;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Authentication context interface (Legacy)
|
|
45
|
+
* @deprecated Use FormulaContext from database-connector instead
|
|
46
|
+
* Kept for backward compatibility with existing payroll-server code
|
|
47
|
+
*/
|
|
48
|
+
export interface AuthContext {
|
|
49
|
+
/** Main database connection (for employee/organization data) */
|
|
50
|
+
conn: DatabaseConnection | any;
|
|
51
|
+
/** Finance database connection (for payroll data) */
|
|
52
|
+
connFin: DatabaseConnection | any;
|
|
53
|
+
/** User data from authentication */
|
|
54
|
+
userData: UserData | any;
|
|
55
|
+
/** Access token with encryption config */
|
|
56
|
+
accessToken: AccessTokenConfig | any;
|
|
57
|
+
/** Allow additional properties */
|
|
58
|
+
[key: string]: any;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Module configuration options
|
|
62
|
+
*/
|
|
63
|
+
export interface PayrollFormulaModuleOptions {
|
|
64
|
+
/** Whether to enable debug logging */
|
|
65
|
+
debug?: boolean;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Input for parsing formula by employee ID
|
|
69
|
+
*/
|
|
70
|
+
export interface ParseByEmpIdInput {
|
|
71
|
+
/** The formula to parse */
|
|
72
|
+
formula: string;
|
|
73
|
+
/** Employee ID (for single employee) */
|
|
74
|
+
empId?: string;
|
|
75
|
+
/** List of Employee IDs (for multiple employees) */
|
|
76
|
+
listEmpId?: string[];
|
|
77
|
+
/** Authentication context with database connections */
|
|
78
|
+
auth: AuthContext;
|
|
79
|
+
/** Optional: for claim-specific processing */
|
|
80
|
+
checkType?: 'claimSetting' | 'payroll';
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Cached data for formula processing
|
|
84
|
+
*/
|
|
85
|
+
export interface FormulaDataCache {
|
|
86
|
+
position?: any;
|
|
87
|
+
costCenter?: any;
|
|
88
|
+
grade?: any;
|
|
89
|
+
workLocation?: any;
|
|
90
|
+
employmentStatus?: string;
|
|
91
|
+
customField?: any;
|
|
92
|
+
childDependents?: number;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Reserved word list result
|
|
96
|
+
*/
|
|
97
|
+
export interface ReservedWordResult {
|
|
98
|
+
words2: string[];
|
|
99
|
+
arrayAcr: string[];
|
|
100
|
+
claimTypes2: string[];
|
|
101
|
+
attStatuses: any[];
|
|
102
|
+
leaveTypes: any[];
|
|
103
|
+
payvarMaster: any[];
|
|
104
|
+
arrayDiscp: string[];
|
|
105
|
+
attintfWord: any[];
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Result format compatible with payroll-server
|
|
109
|
+
* Uses 'hasil' instead of 'result' to match existing API
|
|
110
|
+
*/
|
|
111
|
+
export interface FormulaParseResultLegacy {
|
|
112
|
+
/** The calculated result (matches payroll-server format) */
|
|
113
|
+
hasil: number | string | boolean;
|
|
114
|
+
/** Success or error message */
|
|
115
|
+
message: string;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/nestjs/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* NestJS Module Types for Payroll Formula Parser
|
|
4
|
+
*
|
|
5
|
+
* This module provides type definitions for database-integrated formula parsing.
|
|
6
|
+
* The types are now generic and work with any database client.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/nestjs/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Payroll Formula Parser - Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* This module contains all interfaces and types needed for formula parsing.
|
|
5
|
+
* Users of this package need to provide data conforming to these interfaces.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Employee personal data for formula parsing
|
|
9
|
+
*/
|
|
10
|
+
export interface EmployeePersonalData {
|
|
11
|
+
birthdate?: Date | string | null;
|
|
12
|
+
maritalstatus?: number | string | null;
|
|
13
|
+
religionCode?: string | null;
|
|
14
|
+
gender?: number | 'MALE' | 'FEMALE';
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Employee company data for formula parsing
|
|
18
|
+
*/
|
|
19
|
+
export interface EmployeeCompanyData {
|
|
20
|
+
empId: string;
|
|
21
|
+
empNo?: string;
|
|
22
|
+
startDate?: Date | string | null;
|
|
23
|
+
endDate?: Date | string | null;
|
|
24
|
+
positionId?: string | null;
|
|
25
|
+
costCode?: string | null;
|
|
26
|
+
gradeCode?: string | null;
|
|
27
|
+
workLocationCode?: string | null;
|
|
28
|
+
jobStatusCode?: string | null;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Employee company group data
|
|
32
|
+
*/
|
|
33
|
+
export interface EmployeeCompanyGroupData {
|
|
34
|
+
joinDate?: Date | string | null;
|
|
35
|
+
fulljoinDate?: Date | string | null;
|
|
36
|
+
permanentDate?: Date | string | null;
|
|
37
|
+
pensionDate?: Date | string | null;
|
|
38
|
+
terminateDate?: Date | string | null;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Employee job status data
|
|
42
|
+
*/
|
|
43
|
+
export interface EmployeeJobStatusData {
|
|
44
|
+
jobstatusnameEn?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Combined employee data structure
|
|
48
|
+
*/
|
|
49
|
+
export interface EmployeeData {
|
|
50
|
+
empId: string;
|
|
51
|
+
empNo?: string;
|
|
52
|
+
startDate?: Date | string | null;
|
|
53
|
+
endDate?: Date | string | null;
|
|
54
|
+
positionId?: string | null;
|
|
55
|
+
costCode?: string | null;
|
|
56
|
+
gradeCode?: string | null;
|
|
57
|
+
workLocationCode?: string | null;
|
|
58
|
+
jobStatusCode?: string | null;
|
|
59
|
+
personal?: EmployeePersonalData;
|
|
60
|
+
companyGroup?: EmployeeCompanyGroupData;
|
|
61
|
+
jobStatus?: EmployeeJobStatusData;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Position data for organizational lookups
|
|
65
|
+
*/
|
|
66
|
+
export interface PositionData {
|
|
67
|
+
positionId?: string;
|
|
68
|
+
posNameEn?: string;
|
|
69
|
+
posCode?: string;
|
|
70
|
+
deptId?: string;
|
|
71
|
+
dept?: {
|
|
72
|
+
positionId?: string;
|
|
73
|
+
posNameEn?: string;
|
|
74
|
+
posCode?: string;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Cost center data
|
|
79
|
+
*/
|
|
80
|
+
export interface CostCenterData {
|
|
81
|
+
costcenterCode?: string;
|
|
82
|
+
costcenterNameEn?: string;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Grade data
|
|
86
|
+
*/
|
|
87
|
+
export interface GradeData {
|
|
88
|
+
gradeCode?: string;
|
|
89
|
+
gradeName?: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Work location data
|
|
93
|
+
*/
|
|
94
|
+
export interface WorkLocationData {
|
|
95
|
+
worklocationCode?: string;
|
|
96
|
+
worklocationName?: string;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Custom field data (1-10)
|
|
100
|
+
*/
|
|
101
|
+
export interface CustomFieldData {
|
|
102
|
+
customfield1?: string;
|
|
103
|
+
customfield2?: string;
|
|
104
|
+
customfield3?: string;
|
|
105
|
+
customfield4?: string;
|
|
106
|
+
customfield5?: string;
|
|
107
|
+
customfield6?: string;
|
|
108
|
+
customfield7?: string;
|
|
109
|
+
customfield8?: string;
|
|
110
|
+
customfield9?: string;
|
|
111
|
+
customfield10?: string;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Organizational data cache for formula processing
|
|
115
|
+
*/
|
|
116
|
+
export interface OrganizationalData {
|
|
117
|
+
position?: PositionData;
|
|
118
|
+
costCenter?: CostCenterData;
|
|
119
|
+
grade?: GradeData;
|
|
120
|
+
workLocation?: WorkLocationData;
|
|
121
|
+
customField?: CustomFieldData;
|
|
122
|
+
employmentStatus?: string;
|
|
123
|
+
childDependents?: number;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Component value (allowance/deduction)
|
|
127
|
+
*/
|
|
128
|
+
export interface ComponentValue {
|
|
129
|
+
code: string;
|
|
130
|
+
value: number | string;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Main input for formula parsing
|
|
134
|
+
*/
|
|
135
|
+
export interface FormulaParseInput {
|
|
136
|
+
/** The formula to parse and evaluate */
|
|
137
|
+
formula: string;
|
|
138
|
+
/** Employee data for personal field replacements */
|
|
139
|
+
employeeData: EmployeeData;
|
|
140
|
+
/** Organizational data for organizational field replacements */
|
|
141
|
+
organizationalData?: OrganizationalData;
|
|
142
|
+
/** Component values (allowances, deductions) as key-value pairs */
|
|
143
|
+
componentValues?: Record<string, number | string>;
|
|
144
|
+
/** List of reserved words to look for in formula (optional - uses defaults if not provided) */
|
|
145
|
+
reservedWords?: string[];
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Result of formula parsing
|
|
149
|
+
*/
|
|
150
|
+
export interface FormulaParseResult {
|
|
151
|
+
/** The calculated result */
|
|
152
|
+
result: number | string | boolean;
|
|
153
|
+
/** Success or error message */
|
|
154
|
+
message: string;
|
|
155
|
+
/** Whether parsing was successful */
|
|
156
|
+
success: boolean;
|
|
157
|
+
/** The final formula after variable substitution (for debugging) */
|
|
158
|
+
processedFormula?: string;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Tax country codes supported
|
|
162
|
+
*/
|
|
163
|
+
export type TaxCountry = 'ID' | 'TH' | 'MY' | 'PH';
|
|
164
|
+
/**
|
|
165
|
+
* Currency codes supported
|
|
166
|
+
*/
|
|
167
|
+
export type CurrencyCode = 'IDR' | 'THB' | 'MYR' | 'PHP';
|
|
168
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,WAAW,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,YAAY,CAAC,EAAE,wBAAwB,CAAC;IACxC,SAAS,CAAC,EAAE,qBAAqB,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QACL,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAEhB,oDAAoD;IACpD,YAAY,EAAE,YAAY,CAAC;IAE3B,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAExC,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAElD,+FAA+F;IAC/F,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAElC,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAEhB,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IAEjB,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Payroll Formula Parser - Type Definitions
|
|
4
|
+
*
|
|
5
|
+
* This module contains all interfaces and types needed for formula parsing.
|
|
6
|
+
* Users of this package need to provide data conforming to these interfaces.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "formula-parser-payroll",
|
|
3
|
+
"version": "2.1.0",
|
|
4
|
+
"description": "A lightweight, high-performance payroll formula parser for GreatDay HR. Parse and evaluate payroll formulas with employee data variables. Features parallel processing, smart caching, and works with any database client (MySQL2, Knex, TypeORM, etc.).",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist/**/*",
|
|
9
|
+
"README.md",
|
|
10
|
+
"LICENSE",
|
|
11
|
+
"CHANGELOG.md",
|
|
12
|
+
"DATABASE_CONNECTOR.md"
|
|
13
|
+
],
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsc",
|
|
16
|
+
"prepublishOnly": "npm run build",
|
|
17
|
+
"test": "jest",
|
|
18
|
+
"lint": "eslint src/**/*.ts"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [],
|
|
21
|
+
"author": "Joel Legifani Manisali",
|
|
22
|
+
"license": "MIT",
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"hot-formula-parser": "^4.0.0",
|
|
25
|
+
"moment": "^2.29.4",
|
|
26
|
+
"moment-timezone": "^0.5.43"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@types/node": "^18.0.0",
|
|
30
|
+
"typescript": "^5.0.0"
|
|
31
|
+
},
|
|
32
|
+
"engines": {
|
|
33
|
+
"node": ">=14.0.0"
|
|
34
|
+
},
|
|
35
|
+
"repository": {
|
|
36
|
+
"type": "git",
|
|
37
|
+
"url": "https://github.com/greatdayhr/payroll-formula-parser.git"
|
|
38
|
+
}
|
|
39
|
+
}
|