@worknice/js-sdk 0.0.1
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/LICENSE +16 -0
- package/README.md +5 -0
- package/dist/_types-DsB4q143.d.ts +127 -0
- package/dist/api/ApiError.d.ts +12 -0
- package/dist/api/ApiError.js +27 -0
- package/dist/api/ApiError.js.map +1 -0
- package/dist/api/_generated.d.ts +5040 -0
- package/dist/api/_generated.js +386 -0
- package/dist/api/_generated.js.map +1 -0
- package/dist/api/_types.d.ts +2 -0
- package/dist/api/_types.js +1 -0
- package/dist/api/_types.js.map +1 -0
- package/dist/api/assertNotNull.d.ts +5 -0
- package/dist/api/assertNotNull.js +14 -0
- package/dist/api/assertNotNull.js.map +1 -0
- package/dist/api/createApiOperation.d.ts +11 -0
- package/dist/api/createApiOperation.js +6 -0
- package/dist/api/createApiOperation.js.map +1 -0
- package/dist/api/createWorkniceClient.d.ts +2 -0
- package/dist/api/createWorkniceClient.js +101 -0
- package/dist/api/createWorkniceClient.js.map +1 -0
- package/dist/api/operations/activateIntegration.d.ts +22 -0
- package/dist/api/operations/activateIntegration.js +29 -0
- package/dist/api/operations/activateIntegration.js.map +1 -0
- package/dist/api/operations/createApiToken.d.ts +14 -0
- package/dist/api/operations/createApiToken.js +31 -0
- package/dist/api/operations/createApiToken.js.map +1 -0
- package/dist/api/operations/deleteApiToken.d.ts +10 -0
- package/dist/api/operations/deleteApiToken.js +21 -0
- package/dist/api/operations/deleteApiToken.js.map +1 -0
- package/dist/api/operations/getApiTokens.d.ts +14 -0
- package/dist/api/operations/getApiTokens.js +33 -0
- package/dist/api/operations/getApiTokens.js.map +1 -0
- package/dist/api/operations/initializeIntegration.d.ts +20 -0
- package/dist/api/operations/initializeIntegration.js +23 -0
- package/dist/api/operations/initializeIntegration.js.map +1 -0
- package/dist/employee-records/EQUALITY_CHECKS.d.ts +9 -0
- package/dist/employee-records/EQUALITY_CHECKS.js +100 -0
- package/dist/employee-records/EQUALITY_CHECKS.js.map +1 -0
- package/dist/employee-records/_types.d.ts +171 -0
- package/dist/employee-records/_types.js +1 -0
- package/dist/employee-records/_types.js.map +1 -0
- package/dist/employee-records/comparePersonDataTransferLines.d.ts +5 -0
- package/dist/employee-records/comparePersonDataTransferLines.js +338 -0
- package/dist/employee-records/comparePersonDataTransferLines.js.map +1 -0
- package/dist/employee-records/index.d.ts +16 -0
- package/dist/employee-records/index.js +25 -0
- package/dist/employee-records/index.js.map +1 -0
- package/dist/employee-records/mergePersonDataTransferLines.d.ts +5 -0
- package/dist/employee-records/mergePersonDataTransferLines.js +27 -0
- package/dist/employee-records/mergePersonDataTransferLines.js.map +1 -0
- package/dist/employee-records/validatePersonDataTransferLine.d.ts +5 -0
- package/dist/employee-records/validatePersonDataTransferLine.js +23 -0
- package/dist/employee-records/validatePersonDataTransferLine.js.map +1 -0
- package/dist/employee-records/validatePersonDataTransferLineBankAccounts.d.ts +5 -0
- package/dist/employee-records/validatePersonDataTransferLineBankAccounts.js +240 -0
- package/dist/employee-records/validatePersonDataTransferLineBankAccounts.js.map +1 -0
- package/dist/employee-records/validatePersonDataTransferLineEmergencyContacts.d.ts +5 -0
- package/dist/employee-records/validatePersonDataTransferLineEmergencyContacts.js +6 -0
- package/dist/employee-records/validatePersonDataTransferLineEmergencyContacts.js.map +1 -0
- package/dist/employee-records/validatePersonDataTransferLinePersonalDetails.d.ts +5 -0
- package/dist/employee-records/validatePersonDataTransferLinePersonalDetails.js +40 -0
- package/dist/employee-records/validatePersonDataTransferLinePersonalDetails.js.map +1 -0
- package/dist/employee-records/validatePersonDataTransferLinePostalAddress.d.ts +5 -0
- package/dist/employee-records/validatePersonDataTransferLinePostalAddress.js +39 -0
- package/dist/employee-records/validatePersonDataTransferLinePostalAddress.js.map +1 -0
- package/dist/employee-records/validatePersonDataTransferLineResidentialAddress.d.ts +5 -0
- package/dist/employee-records/validatePersonDataTransferLineResidentialAddress.js +39 -0
- package/dist/employee-records/validatePersonDataTransferLineResidentialAddress.js.map +1 -0
- package/dist/employee-records/validatePersonDataTransferLineSuperFunds.d.ts +5 -0
- package/dist/employee-records/validatePersonDataTransferLineSuperFunds.js +46 -0
- package/dist/employee-records/validatePersonDataTransferLineSuperFunds.js.map +1 -0
- package/dist/employee-records/validatePersonDataTransferLineTaxDetails.d.ts +5 -0
- package/dist/employee-records/validatePersonDataTransferLineTaxDetails.js +46 -0
- package/dist/employee-records/validatePersonDataTransferLineTaxDetails.js.map +1 -0
- package/dist/employee-records/validatePersonDataTransferLineTenure.d.ts +5 -0
- package/dist/employee-records/validatePersonDataTransferLineTenure.js +20 -0
- package/dist/employee-records/validatePersonDataTransferLineTenure.js.map +1 -0
- package/dist/helpers/_types.d.ts +17 -0
- package/dist/helpers/_types.js +1 -0
- package/dist/helpers/_types.js.map +1 -0
- package/dist/helpers/handleCreateIntegrationWebhook.d.ts +11 -0
- package/dist/helpers/handleCreateIntegrationWebhook.js +20 -0
- package/dist/helpers/handleCreateIntegrationWebhook.js.map +1 -0
- package/dist/helpers/handleGetAuthorizationUrlWebhook.d.ts +11 -0
- package/dist/helpers/handleGetAuthorizationUrlWebhook.js +19 -0
- package/dist/helpers/handleGetAuthorizationUrlWebhook.js.map +1 -0
- package/dist/helpers/handleRequestWithWorknice.d.ts +19 -0
- package/dist/helpers/handleRequestWithWorknice.js +46 -0
- package/dist/helpers/handleRequestWithWorknice.js.map +1 -0
- package/dist/helpers/index.d.ts +5 -0
- package/dist/helpers/index.js +5 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/errorToString.d.ts +22 -0
- package/dist/utils/errorToString.js +28 -0
- package/dist/utils/errorToString.js.map +1 -0
- package/dist/utils/isAfter.d.ts +4 -0
- package/dist/utils/isAfter.js +5 -0
- package/dist/utils/isAfter.js.map +1 -0
- package/dist/utils/isSamePlainDate.d.ts +1 -0
- package/dist/utils/isSamePlainDate.js +5 -0
- package/dist/utils/isSamePlainDate.js.map +1 -0
- package/dist/utils/isValidPlainDate.d.ts +1 -0
- package/dist/utils/isValidPlainDate.js +5 -0
- package/dist/utils/isValidPlainDate.js.map +1 -0
- package/dist/utils/parsePlainDate.d.ts +1 -0
- package/dist/utils/parsePlainDate.js +5 -0
- package/dist/utils/parsePlainDate.js.map +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PartialPersonDataTransferLine } from './_types.js';
|
|
2
|
+
|
|
3
|
+
declare const mergePersonDataTransferLines: (primaryDataTransferLine: PartialPersonDataTransferLine, secondaryDataTransferLine: PartialPersonDataTransferLine) => PartialPersonDataTransferLine;
|
|
4
|
+
|
|
5
|
+
export { mergePersonDataTransferLines as default };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const mergePersonDataTransferLines = (primaryDataTransferLine, secondaryDataTransferLine) => ({
|
|
2
|
+
bankAccounts: primaryDataTransferLine.bankAccounts ?? secondaryDataTransferLine.bankAccounts ?? null,
|
|
3
|
+
emergencyContacts: primaryDataTransferLine.emergencyContacts ?? secondaryDataTransferLine.emergencyContacts ?? null,
|
|
4
|
+
personalDetails: {
|
|
5
|
+
dateOfBirth: primaryDataTransferLine.personalDetails?.dateOfBirth ?? secondaryDataTransferLine.personalDetails?.dateOfBirth ?? null,
|
|
6
|
+
employeeCode: primaryDataTransferLine.personalDetails?.employeeCode ?? secondaryDataTransferLine.personalDetails?.employeeCode ?? null,
|
|
7
|
+
familyName: primaryDataTransferLine.personalDetails?.familyName ?? secondaryDataTransferLine.personalDetails?.familyName ?? null,
|
|
8
|
+
gender: primaryDataTransferLine.personalDetails?.gender ?? secondaryDataTransferLine.personalDetails?.gender ?? null,
|
|
9
|
+
givenName: primaryDataTransferLine.personalDetails?.givenName ?? secondaryDataTransferLine.personalDetails?.givenName ?? null,
|
|
10
|
+
otherGivenNames: primaryDataTransferLine.personalDetails?.otherGivenNames ?? secondaryDataTransferLine.personalDetails?.otherGivenNames ?? null,
|
|
11
|
+
personalEmail: primaryDataTransferLine.personalDetails?.personalEmail ?? secondaryDataTransferLine.personalDetails?.personalEmail ?? null,
|
|
12
|
+
personalPhone: primaryDataTransferLine.personalDetails?.personalPhone ?? secondaryDataTransferLine.personalDetails?.personalPhone ?? null
|
|
13
|
+
},
|
|
14
|
+
postalAddress: primaryDataTransferLine.postalAddress ?? secondaryDataTransferLine.postalAddress ?? null,
|
|
15
|
+
residentialAddress: primaryDataTransferLine.residentialAddress ?? secondaryDataTransferLine.residentialAddress ?? null,
|
|
16
|
+
superFunds: primaryDataTransferLine.superFunds ?? secondaryDataTransferLine.superFunds ?? null,
|
|
17
|
+
taxDetails: primaryDataTransferLine.taxDetails ?? secondaryDataTransferLine.taxDetails ?? null,
|
|
18
|
+
tenure: {
|
|
19
|
+
endDate: primaryDataTransferLine.tenure?.endDate ?? secondaryDataTransferLine.tenure?.endDate ?? null,
|
|
20
|
+
startDate: primaryDataTransferLine.tenure?.startDate ?? secondaryDataTransferLine.tenure?.startDate ?? null
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
var mergePersonDataTransferLines_default = mergePersonDataTransferLines;
|
|
24
|
+
export {
|
|
25
|
+
mergePersonDataTransferLines_default as default
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=mergePersonDataTransferLines.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/employee-records/mergePersonDataTransferLines.ts"],"sourcesContent":["import type { PartialPersonDataTransferLine } from \"./_types.js\";\n\nconst mergePersonDataTransferLines = (\n primaryDataTransferLine: PartialPersonDataTransferLine,\n secondaryDataTransferLine: PartialPersonDataTransferLine,\n): PartialPersonDataTransferLine => ({\n bankAccounts:\n primaryDataTransferLine.bankAccounts ?? secondaryDataTransferLine.bankAccounts ?? null,\n emergencyContacts:\n primaryDataTransferLine.emergencyContacts ??\n secondaryDataTransferLine.emergencyContacts ??\n null,\n personalDetails: {\n dateOfBirth:\n primaryDataTransferLine.personalDetails?.dateOfBirth ??\n secondaryDataTransferLine.personalDetails?.dateOfBirth ??\n null,\n employeeCode:\n primaryDataTransferLine.personalDetails?.employeeCode ??\n secondaryDataTransferLine.personalDetails?.employeeCode ??\n null,\n familyName:\n primaryDataTransferLine.personalDetails?.familyName ??\n secondaryDataTransferLine.personalDetails?.familyName ??\n null,\n gender:\n primaryDataTransferLine.personalDetails?.gender ??\n secondaryDataTransferLine.personalDetails?.gender ??\n null,\n givenName:\n primaryDataTransferLine.personalDetails?.givenName ??\n secondaryDataTransferLine.personalDetails?.givenName ??\n null,\n otherGivenNames:\n primaryDataTransferLine.personalDetails?.otherGivenNames ??\n secondaryDataTransferLine.personalDetails?.otherGivenNames ??\n null,\n personalEmail:\n primaryDataTransferLine.personalDetails?.personalEmail ??\n secondaryDataTransferLine.personalDetails?.personalEmail ??\n null,\n personalPhone:\n primaryDataTransferLine.personalDetails?.personalPhone ??\n secondaryDataTransferLine.personalDetails?.personalPhone ??\n null,\n },\n postalAddress:\n primaryDataTransferLine.postalAddress ?? secondaryDataTransferLine.postalAddress ?? null,\n residentialAddress:\n primaryDataTransferLine.residentialAddress ??\n secondaryDataTransferLine.residentialAddress ??\n null,\n superFunds: primaryDataTransferLine.superFunds ?? secondaryDataTransferLine.superFunds ?? null,\n taxDetails: primaryDataTransferLine.taxDetails ?? secondaryDataTransferLine.taxDetails ?? null,\n tenure: {\n endDate:\n primaryDataTransferLine.tenure?.endDate ?? secondaryDataTransferLine.tenure?.endDate ?? null,\n startDate:\n primaryDataTransferLine.tenure?.startDate ??\n secondaryDataTransferLine.tenure?.startDate ??\n null,\n },\n});\n\nexport default mergePersonDataTransferLines;\n"],"mappings":"AAEA,MAAM,+BAA+B,CACnC,yBACA,+BACmC;AAAA,EACnC,cACE,wBAAwB,gBAAgB,0BAA0B,gBAAgB;AAAA,EACpF,mBACE,wBAAwB,qBACxB,0BAA0B,qBAC1B;AAAA,EACF,iBAAiB;AAAA,IACf,aACE,wBAAwB,iBAAiB,eACzC,0BAA0B,iBAAiB,eAC3C;AAAA,IACF,cACE,wBAAwB,iBAAiB,gBACzC,0BAA0B,iBAAiB,gBAC3C;AAAA,IACF,YACE,wBAAwB,iBAAiB,cACzC,0BAA0B,iBAAiB,cAC3C;AAAA,IACF,QACE,wBAAwB,iBAAiB,UACzC,0BAA0B,iBAAiB,UAC3C;AAAA,IACF,WACE,wBAAwB,iBAAiB,aACzC,0BAA0B,iBAAiB,aAC3C;AAAA,IACF,iBACE,wBAAwB,iBAAiB,mBACzC,0BAA0B,iBAAiB,mBAC3C;AAAA,IACF,eACE,wBAAwB,iBAAiB,iBACzC,0BAA0B,iBAAiB,iBAC3C;AAAA,IACF,eACE,wBAAwB,iBAAiB,iBACzC,0BAA0B,iBAAiB,iBAC3C;AAAA,EACJ;AAAA,EACA,eACE,wBAAwB,iBAAiB,0BAA0B,iBAAiB;AAAA,EACtF,oBACE,wBAAwB,sBACxB,0BAA0B,sBAC1B;AAAA,EACF,YAAY,wBAAwB,cAAc,0BAA0B,cAAc;AAAA,EAC1F,YAAY,wBAAwB,cAAc,0BAA0B,cAAc;AAAA,EAC1F,QAAQ;AAAA,IACN,SACE,wBAAwB,QAAQ,WAAW,0BAA0B,QAAQ,WAAW;AAAA,IAC1F,WACE,wBAAwB,QAAQ,aAChC,0BAA0B,QAAQ,aAClC;AAAA,EACJ;AACF;AAEA,IAAO,uCAAQ;","names":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import validatePersonDataTransferLineBankAccounts from "./validatePersonDataTransferLineBankAccounts.js";
|
|
2
|
+
import validatePersonDataTransferLineEmergencyContacts from "./validatePersonDataTransferLineEmergencyContacts.js";
|
|
3
|
+
import validatePersonDataTransferLinePersonalDetails from "./validatePersonDataTransferLinePersonalDetails.js";
|
|
4
|
+
import validatePersonDataTransferLinePostalAddress from "./validatePersonDataTransferLinePostalAddress.js";
|
|
5
|
+
import validatePersonDataTransferLineResidentialAddress from "./validatePersonDataTransferLineResidentialAddress.js";
|
|
6
|
+
import validatePersonDataTransferLineSuperFunds from "./validatePersonDataTransferLineSuperFunds.js";
|
|
7
|
+
import validatePersonDataTransferLineTaxDetails from "./validatePersonDataTransferLineTaxDetails.js";
|
|
8
|
+
import validatePersonDataTransferLineTenure from "./validatePersonDataTransferLineTenure.js";
|
|
9
|
+
const validatePersonDataTransferLine = (value) => ({
|
|
10
|
+
bankAccounts: validatePersonDataTransferLineBankAccounts(value.bankAccounts),
|
|
11
|
+
emergencyContacts: validatePersonDataTransferLineEmergencyContacts(value.emergencyContacts),
|
|
12
|
+
personalDetails: validatePersonDataTransferLinePersonalDetails(value.personalDetails),
|
|
13
|
+
postalAddress: validatePersonDataTransferLinePostalAddress(value.postalAddress),
|
|
14
|
+
residentialAddress: validatePersonDataTransferLineResidentialAddress(value.residentialAddress),
|
|
15
|
+
superFunds: validatePersonDataTransferLineSuperFunds(value.superFunds),
|
|
16
|
+
taxDetails: validatePersonDataTransferLineTaxDetails(value.taxDetails),
|
|
17
|
+
tenure: validatePersonDataTransferLineTenure(value.tenure)
|
|
18
|
+
});
|
|
19
|
+
var validatePersonDataTransferLine_default = validatePersonDataTransferLine;
|
|
20
|
+
export {
|
|
21
|
+
validatePersonDataTransferLine_default as default
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=validatePersonDataTransferLine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/employee-records/validatePersonDataTransferLine.ts"],"sourcesContent":["import type { PartialPersonDataTransferLine, PersonDataTransferLine } from \"./_types.js\";\nimport validatePersonDataTransferLineBankAccounts from \"./validatePersonDataTransferLineBankAccounts.js\";\nimport validatePersonDataTransferLineEmergencyContacts from \"./validatePersonDataTransferLineEmergencyContacts.js\";\nimport validatePersonDataTransferLinePersonalDetails from \"./validatePersonDataTransferLinePersonalDetails.js\";\nimport validatePersonDataTransferLinePostalAddress from \"./validatePersonDataTransferLinePostalAddress.js\";\nimport validatePersonDataTransferLineResidentialAddress from \"./validatePersonDataTransferLineResidentialAddress.js\";\nimport validatePersonDataTransferLineSuperFunds from \"./validatePersonDataTransferLineSuperFunds.js\";\nimport validatePersonDataTransferLineTaxDetails from \"./validatePersonDataTransferLineTaxDetails.js\";\nimport validatePersonDataTransferLineTenure from \"./validatePersonDataTransferLineTenure.js\";\n\nconst validatePersonDataTransferLine = (\n value: PartialPersonDataTransferLine,\n): PersonDataTransferLine => ({\n bankAccounts: validatePersonDataTransferLineBankAccounts(value.bankAccounts),\n emergencyContacts: validatePersonDataTransferLineEmergencyContacts(value.emergencyContacts),\n personalDetails: validatePersonDataTransferLinePersonalDetails(value.personalDetails),\n postalAddress: validatePersonDataTransferLinePostalAddress(value.postalAddress),\n residentialAddress: validatePersonDataTransferLineResidentialAddress(value.residentialAddress),\n superFunds: validatePersonDataTransferLineSuperFunds(value.superFunds),\n taxDetails: validatePersonDataTransferLineTaxDetails(value.taxDetails),\n tenure: validatePersonDataTransferLineTenure(value.tenure),\n});\n\nexport default validatePersonDataTransferLine;\n"],"mappings":"AACA,OAAO,gDAAgD;AACvD,OAAO,qDAAqD;AAC5D,OAAO,mDAAmD;AAC1D,OAAO,iDAAiD;AACxD,OAAO,sDAAsD;AAC7D,OAAO,8CAA8C;AACrD,OAAO,8CAA8C;AACrD,OAAO,0CAA0C;AAEjD,MAAM,iCAAiC,CACrC,WAC4B;AAAA,EAC5B,cAAc,2CAA2C,MAAM,YAAY;AAAA,EAC3E,mBAAmB,gDAAgD,MAAM,iBAAiB;AAAA,EAC1F,iBAAiB,8CAA8C,MAAM,eAAe;AAAA,EACpF,eAAe,4CAA4C,MAAM,aAAa;AAAA,EAC9E,oBAAoB,iDAAiD,MAAM,kBAAkB;AAAA,EAC7F,YAAY,yCAAyC,MAAM,UAAU;AAAA,EACrE,YAAY,yCAAyC,MAAM,UAAU;AAAA,EACrE,QAAQ,qCAAqC,MAAM,MAAM;AAC3D;AAEA,IAAO,yCAAQ;","names":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PartialPersonDataTransferLine, PersonDataTransferLine } from './_types.js';
|
|
2
|
+
|
|
3
|
+
declare const validatePersonDataTransferLineBankAccounts: (value: PartialPersonDataTransferLine["bankAccounts"]) => PersonDataTransferLine["bankAccounts"];
|
|
4
|
+
|
|
5
|
+
export { validatePersonDataTransferLineBankAccounts as default };
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import currency from "currency.js";
|
|
2
|
+
const validatePersonDataTransferLineBankAccounts = (value) => {
|
|
3
|
+
if (value === null) return null;
|
|
4
|
+
const bankAccount1 = assertBankAccount({
|
|
5
|
+
allocation: value.bankAccount1Allocation,
|
|
6
|
+
allocationMethod: value.bankAccount1AllocationMethod,
|
|
7
|
+
bsb: value.bankAccount1Bsb,
|
|
8
|
+
name: value.bankAccount1Name,
|
|
9
|
+
number: value.bankAccount1Number
|
|
10
|
+
});
|
|
11
|
+
const bankAccount2 = assertBankAccount({
|
|
12
|
+
allocation: value.bankAccount2Allocation,
|
|
13
|
+
allocationMethod: value.bankAccount2AllocationMethod,
|
|
14
|
+
bsb: value.bankAccount2Bsb,
|
|
15
|
+
name: value.bankAccount2Name,
|
|
16
|
+
number: value.bankAccount2Number
|
|
17
|
+
});
|
|
18
|
+
const bankAccount3 = assertBankAccount({
|
|
19
|
+
allocation: value.bankAccount3Allocation,
|
|
20
|
+
allocationMethod: value.bankAccount3AllocationMethod,
|
|
21
|
+
bsb: value.bankAccount3Bsb,
|
|
22
|
+
name: value.bankAccount3Name,
|
|
23
|
+
number: value.bankAccount3Number
|
|
24
|
+
});
|
|
25
|
+
const bankAccount4 = assertBankAccount({
|
|
26
|
+
allocation: value.bankAccount4Allocation,
|
|
27
|
+
allocationMethod: value.bankAccount4AllocationMethod,
|
|
28
|
+
bsb: value.bankAccount4Bsb,
|
|
29
|
+
name: value.bankAccount4Name,
|
|
30
|
+
number: value.bankAccount4Number
|
|
31
|
+
});
|
|
32
|
+
const bankAccount5 = assertBankAccount({
|
|
33
|
+
allocation: value.bankAccount5Allocation,
|
|
34
|
+
allocationMethod: value.bankAccount5AllocationMethod,
|
|
35
|
+
bsb: value.bankAccount5Bsb,
|
|
36
|
+
name: value.bankAccount5Name,
|
|
37
|
+
number: value.bankAccount5Number
|
|
38
|
+
});
|
|
39
|
+
if (bankAccount1.allocationMethod === null) {
|
|
40
|
+
throw Error("At least 1 bank account must be provided");
|
|
41
|
+
}
|
|
42
|
+
const numRemainderAccounts = [
|
|
43
|
+
bankAccount1.allocationMethod,
|
|
44
|
+
bankAccount2.allocationMethod,
|
|
45
|
+
bankAccount3.allocationMethod,
|
|
46
|
+
bankAccount4.allocationMethod,
|
|
47
|
+
bankAccount5.allocationMethod
|
|
48
|
+
].filter((x) => x === "REMAINDER").length;
|
|
49
|
+
if (numRemainderAccounts > 1) {
|
|
50
|
+
throw Error('Cannot have more than 1 bank account with an allocation method of "REMAINDER"');
|
|
51
|
+
}
|
|
52
|
+
const hasFixedAmountAccounts = [
|
|
53
|
+
bankAccount1.allocationMethod,
|
|
54
|
+
bankAccount2.allocationMethod,
|
|
55
|
+
bankAccount3.allocationMethod,
|
|
56
|
+
bankAccount4.allocationMethod,
|
|
57
|
+
bankAccount5.allocationMethod
|
|
58
|
+
].some((x) => x === "FIXED_AMOUNT");
|
|
59
|
+
const totalPerLongHundredAllocation = [
|
|
60
|
+
{ allocationMethod: bankAccount1.allocationMethod, allocation: bankAccount1.allocation },
|
|
61
|
+
{ allocationMethod: bankAccount2.allocationMethod, allocation: bankAccount2.allocation },
|
|
62
|
+
{ allocationMethod: bankAccount3.allocationMethod, allocation: bankAccount3.allocation },
|
|
63
|
+
{ allocationMethod: bankAccount4.allocationMethod, allocation: bankAccount4.allocation },
|
|
64
|
+
{ allocationMethod: bankAccount5.allocationMethod, allocation: bankAccount5.allocation }
|
|
65
|
+
].filter(({ allocationMethod }) => allocationMethod === "PER_LONG_HUNDRED").reduce((result, { allocation }) => result.add(currency(allocation ?? "0")), currency(0));
|
|
66
|
+
if (numRemainderAccounts === 0 && (hasFixedAmountAccounts || totalPerLongHundredAllocation.value !== 120)) {
|
|
67
|
+
if (hasFixedAmountAccounts) {
|
|
68
|
+
throw Error(
|
|
69
|
+
'There must be a bank account with a allocation method of "REMAINDER" if there are any bank accounts with a "FIXED_AMOUNT" allocation method.'
|
|
70
|
+
);
|
|
71
|
+
} else {
|
|
72
|
+
throw Error('The sum of "PER_LONG_HUNDRED" allocations must equal exactly 120.');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
...bankAccount1.allocationMethod === "REMAINDER" ? {
|
|
77
|
+
bankAccount1Allocation: bankAccount1.allocation,
|
|
78
|
+
bankAccount1AllocationMethod: bankAccount1.allocationMethod,
|
|
79
|
+
bankAccount1Bsb: bankAccount1.bsb.trim(),
|
|
80
|
+
bankAccount1Name: bankAccount1.name.trim(),
|
|
81
|
+
bankAccount1Number: bankAccount1.number.trim()
|
|
82
|
+
} : {
|
|
83
|
+
bankAccount1Allocation: bankAccount1.allocation,
|
|
84
|
+
bankAccount1AllocationMethod: bankAccount1.allocationMethod,
|
|
85
|
+
bankAccount1Bsb: bankAccount1.bsb.trim(),
|
|
86
|
+
bankAccount1Name: bankAccount1.name.trim(),
|
|
87
|
+
bankAccount1Number: bankAccount1.number.trim()
|
|
88
|
+
},
|
|
89
|
+
...bankAccount2.allocationMethod === null ? {
|
|
90
|
+
bankAccount2Allocation: bankAccount2.allocation,
|
|
91
|
+
bankAccount2AllocationMethod: bankAccount2.allocationMethod,
|
|
92
|
+
bankAccount2Bsb: bankAccount2.bsb,
|
|
93
|
+
bankAccount2Name: bankAccount2.name,
|
|
94
|
+
bankAccount2Number: bankAccount2.number
|
|
95
|
+
} : bankAccount2.allocationMethod === "REMAINDER" ? {
|
|
96
|
+
bankAccount2Allocation: bankAccount2.allocation,
|
|
97
|
+
bankAccount2AllocationMethod: bankAccount2.allocationMethod,
|
|
98
|
+
bankAccount2Bsb: bankAccount2.bsb.trim(),
|
|
99
|
+
bankAccount2Name: bankAccount2.name.trim(),
|
|
100
|
+
bankAccount2Number: bankAccount2.number.trim()
|
|
101
|
+
} : {
|
|
102
|
+
bankAccount2Allocation: bankAccount2.allocation,
|
|
103
|
+
bankAccount2AllocationMethod: bankAccount2.allocationMethod,
|
|
104
|
+
bankAccount2Bsb: bankAccount2.bsb.trim(),
|
|
105
|
+
bankAccount2Name: bankAccount2.name.trim(),
|
|
106
|
+
bankAccount2Number: bankAccount2.number.trim()
|
|
107
|
+
},
|
|
108
|
+
...bankAccount3.allocationMethod === null ? {
|
|
109
|
+
bankAccount3Allocation: bankAccount3.allocation,
|
|
110
|
+
bankAccount3AllocationMethod: bankAccount3.allocationMethod,
|
|
111
|
+
bankAccount3Bsb: bankAccount3.bsb,
|
|
112
|
+
bankAccount3Name: bankAccount3.name,
|
|
113
|
+
bankAccount3Number: bankAccount3.number
|
|
114
|
+
} : bankAccount3.allocationMethod === "REMAINDER" ? {
|
|
115
|
+
bankAccount3Allocation: bankAccount3.allocation,
|
|
116
|
+
bankAccount3AllocationMethod: bankAccount3.allocationMethod,
|
|
117
|
+
bankAccount3Bsb: bankAccount3.bsb.trim(),
|
|
118
|
+
bankAccount3Name: bankAccount3.name.trim(),
|
|
119
|
+
bankAccount3Number: bankAccount3.number.trim()
|
|
120
|
+
} : {
|
|
121
|
+
bankAccount3Allocation: bankAccount3.allocation,
|
|
122
|
+
bankAccount3AllocationMethod: bankAccount3.allocationMethod,
|
|
123
|
+
bankAccount3Bsb: bankAccount3.bsb.trim(),
|
|
124
|
+
bankAccount3Name: bankAccount3.name.trim(),
|
|
125
|
+
bankAccount3Number: bankAccount3.number.trim()
|
|
126
|
+
},
|
|
127
|
+
...bankAccount4.allocationMethod === null ? {
|
|
128
|
+
bankAccount4Allocation: bankAccount4.allocation,
|
|
129
|
+
bankAccount4AllocationMethod: bankAccount4.allocationMethod,
|
|
130
|
+
bankAccount4Bsb: bankAccount4.bsb,
|
|
131
|
+
bankAccount4Name: bankAccount4.name,
|
|
132
|
+
bankAccount4Number: bankAccount4.number
|
|
133
|
+
} : bankAccount4.allocationMethod === "REMAINDER" ? {
|
|
134
|
+
bankAccount4Allocation: bankAccount4.allocation,
|
|
135
|
+
bankAccount4AllocationMethod: bankAccount4.allocationMethod,
|
|
136
|
+
bankAccount4Bsb: bankAccount4.bsb.trim(),
|
|
137
|
+
bankAccount4Name: bankAccount4.name.trim(),
|
|
138
|
+
bankAccount4Number: bankAccount4.number.trim()
|
|
139
|
+
} : {
|
|
140
|
+
bankAccount4Allocation: bankAccount4.allocation,
|
|
141
|
+
bankAccount4AllocationMethod: bankAccount4.allocationMethod,
|
|
142
|
+
bankAccount4Bsb: bankAccount4.bsb.trim(),
|
|
143
|
+
bankAccount4Name: bankAccount4.name.trim(),
|
|
144
|
+
bankAccount4Number: bankAccount4.number.trim()
|
|
145
|
+
},
|
|
146
|
+
...bankAccount5.allocationMethod === null ? {
|
|
147
|
+
bankAccount5Allocation: bankAccount5.allocation,
|
|
148
|
+
bankAccount5AllocationMethod: bankAccount5.allocationMethod,
|
|
149
|
+
bankAccount5Bsb: bankAccount5.bsb,
|
|
150
|
+
bankAccount5Name: bankAccount5.name,
|
|
151
|
+
bankAccount5Number: bankAccount5.number
|
|
152
|
+
} : bankAccount5.allocationMethod === "REMAINDER" ? {
|
|
153
|
+
bankAccount5Allocation: bankAccount5.allocation,
|
|
154
|
+
bankAccount5AllocationMethod: bankAccount5.allocationMethod,
|
|
155
|
+
bankAccount5Bsb: bankAccount5.bsb.trim(),
|
|
156
|
+
bankAccount5Name: bankAccount5.name.trim(),
|
|
157
|
+
bankAccount5Number: bankAccount5.number.trim()
|
|
158
|
+
} : {
|
|
159
|
+
bankAccount5Allocation: bankAccount5.allocation,
|
|
160
|
+
bankAccount5AllocationMethod: bankAccount5.allocationMethod,
|
|
161
|
+
bankAccount5Bsb: bankAccount5.bsb.trim(),
|
|
162
|
+
bankAccount5Name: bankAccount5.name.trim(),
|
|
163
|
+
bankAccount5Number: bankAccount5.number.trim()
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
const assertBankAccount = (details) => {
|
|
168
|
+
const { allocation, allocationMethod, bsb, name, number } = details;
|
|
169
|
+
if (allocationMethod === null) {
|
|
170
|
+
if (allocation !== null) {
|
|
171
|
+
throw Error(
|
|
172
|
+
`Allocation must be null if allocation method is null: ${JSON.stringify(details)}`
|
|
173
|
+
);
|
|
174
|
+
}
|
|
175
|
+
if (bsb !== null) {
|
|
176
|
+
throw Error(`BSB must be null if allocation method is null: ${JSON.stringify(details)}`);
|
|
177
|
+
}
|
|
178
|
+
if (name !== null) {
|
|
179
|
+
throw Error(`Name must be null if allocation method is null: ${JSON.stringify(details)}`);
|
|
180
|
+
}
|
|
181
|
+
if (number !== null) {
|
|
182
|
+
throw Error(`Number must be null if allocation method is null: ${JSON.stringify(details)}`);
|
|
183
|
+
}
|
|
184
|
+
return {
|
|
185
|
+
allocation,
|
|
186
|
+
allocationMethod,
|
|
187
|
+
bsb,
|
|
188
|
+
name,
|
|
189
|
+
number
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
if (bsb === null) {
|
|
193
|
+
throw Error(
|
|
194
|
+
`BSB must be provided if allocation method is provided: ${JSON.stringify(details)}`
|
|
195
|
+
);
|
|
196
|
+
}
|
|
197
|
+
if (name === null) {
|
|
198
|
+
throw Error(
|
|
199
|
+
`Name must be provided if allocation method is provided: ${JSON.stringify(details)}`
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
if (number === null) {
|
|
203
|
+
throw Error(
|
|
204
|
+
`Number must be provided if allocation method is provided: ${JSON.stringify(details)}`
|
|
205
|
+
);
|
|
206
|
+
}
|
|
207
|
+
if (allocationMethod === "FIXED_AMOUNT" || allocationMethod === "PER_LONG_HUNDRED") {
|
|
208
|
+
if (allocation === null) {
|
|
209
|
+
throw Error(
|
|
210
|
+
`Allocation must be provided if allocation method is FIXED_AMOUNT or PER_LONG_HUNDRED: ${JSON.stringify(
|
|
211
|
+
details
|
|
212
|
+
)}`
|
|
213
|
+
);
|
|
214
|
+
}
|
|
215
|
+
return {
|
|
216
|
+
allocation,
|
|
217
|
+
allocationMethod,
|
|
218
|
+
bsb,
|
|
219
|
+
name,
|
|
220
|
+
number
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
if (allocation !== null) {
|
|
224
|
+
throw Error(
|
|
225
|
+
`Allocation must be null if allocation method is REMAINDER: ${JSON.stringify(details)}`
|
|
226
|
+
);
|
|
227
|
+
}
|
|
228
|
+
return {
|
|
229
|
+
allocation,
|
|
230
|
+
allocationMethod,
|
|
231
|
+
bsb,
|
|
232
|
+
name,
|
|
233
|
+
number
|
|
234
|
+
};
|
|
235
|
+
};
|
|
236
|
+
var validatePersonDataTransferLineBankAccounts_default = validatePersonDataTransferLineBankAccounts;
|
|
237
|
+
export {
|
|
238
|
+
validatePersonDataTransferLineBankAccounts_default as default
|
|
239
|
+
};
|
|
240
|
+
//# sourceMappingURL=validatePersonDataTransferLineBankAccounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/employee-records/validatePersonDataTransferLineBankAccounts.ts"],"sourcesContent":["import currency from \"currency.js\";\nimport type { PartialPersonDataTransferLine, PersonDataTransferLine } from \"./_types.js\";\n\nconst validatePersonDataTransferLineBankAccounts = (\n value: PartialPersonDataTransferLine[\"bankAccounts\"],\n): PersonDataTransferLine[\"bankAccounts\"] => {\n if (value === null) return null;\n\n const bankAccount1 = assertBankAccount({\n allocation: value.bankAccount1Allocation,\n allocationMethod: value.bankAccount1AllocationMethod,\n bsb: value.bankAccount1Bsb,\n name: value.bankAccount1Name,\n number: value.bankAccount1Number,\n });\n\n const bankAccount2 = assertBankAccount({\n allocation: value.bankAccount2Allocation,\n allocationMethod: value.bankAccount2AllocationMethod,\n bsb: value.bankAccount2Bsb,\n name: value.bankAccount2Name,\n number: value.bankAccount2Number,\n });\n\n const bankAccount3 = assertBankAccount({\n allocation: value.bankAccount3Allocation,\n allocationMethod: value.bankAccount3AllocationMethod,\n bsb: value.bankAccount3Bsb,\n name: value.bankAccount3Name,\n number: value.bankAccount3Number,\n });\n\n const bankAccount4 = assertBankAccount({\n allocation: value.bankAccount4Allocation,\n allocationMethod: value.bankAccount4AllocationMethod,\n bsb: value.bankAccount4Bsb,\n name: value.bankAccount4Name,\n number: value.bankAccount4Number,\n });\n\n const bankAccount5 = assertBankAccount({\n allocation: value.bankAccount5Allocation,\n allocationMethod: value.bankAccount5AllocationMethod,\n bsb: value.bankAccount5Bsb,\n name: value.bankAccount5Name,\n number: value.bankAccount5Number,\n });\n\n if (bankAccount1.allocationMethod === null) {\n throw Error(\"At least 1 bank account must be provided\");\n }\n\n const numRemainderAccounts = [\n bankAccount1.allocationMethod,\n bankAccount2.allocationMethod,\n bankAccount3.allocationMethod,\n bankAccount4.allocationMethod,\n bankAccount5.allocationMethod,\n ].filter((x) => x === \"REMAINDER\").length;\n\n if (numRemainderAccounts > 1) {\n throw Error('Cannot have more than 1 bank account with an allocation method of \"REMAINDER\"');\n }\n\n const hasFixedAmountAccounts = [\n bankAccount1.allocationMethod,\n bankAccount2.allocationMethod,\n bankAccount3.allocationMethod,\n bankAccount4.allocationMethod,\n bankAccount5.allocationMethod,\n ].some((x) => x === \"FIXED_AMOUNT\");\n\n const totalPerLongHundredAllocation = [\n { allocationMethod: bankAccount1.allocationMethod, allocation: bankAccount1.allocation },\n { allocationMethod: bankAccount2.allocationMethod, allocation: bankAccount2.allocation },\n { allocationMethod: bankAccount3.allocationMethod, allocation: bankAccount3.allocation },\n { allocationMethod: bankAccount4.allocationMethod, allocation: bankAccount4.allocation },\n { allocationMethod: bankAccount5.allocationMethod, allocation: bankAccount5.allocation },\n ]\n .filter(({ allocationMethod }) => allocationMethod === \"PER_LONG_HUNDRED\")\n .reduce((result, { allocation }) => result.add(currency(allocation ?? \"0\")), currency(0));\n\n if (\n numRemainderAccounts === 0 &&\n (hasFixedAmountAccounts || totalPerLongHundredAllocation.value !== 120)\n ) {\n if (hasFixedAmountAccounts) {\n throw Error(\n 'There must be a bank account with a allocation method of \"REMAINDER\" if there are any bank accounts with a \"FIXED_AMOUNT\" allocation method.',\n );\n } else {\n throw Error('The sum of \"PER_LONG_HUNDRED\" allocations must equal exactly 120.');\n }\n }\n\n return {\n ...(bankAccount1.allocationMethod === \"REMAINDER\"\n ? {\n bankAccount1Allocation: bankAccount1.allocation,\n bankAccount1AllocationMethod: bankAccount1.allocationMethod,\n bankAccount1Bsb: bankAccount1.bsb.trim(),\n bankAccount1Name: bankAccount1.name.trim(),\n bankAccount1Number: bankAccount1.number.trim(),\n }\n : {\n bankAccount1Allocation: bankAccount1.allocation,\n bankAccount1AllocationMethod: bankAccount1.allocationMethod,\n bankAccount1Bsb: bankAccount1.bsb.trim(),\n bankAccount1Name: bankAccount1.name.trim(),\n bankAccount1Number: bankAccount1.number.trim(),\n }),\n ...(bankAccount2.allocationMethod === null\n ? {\n bankAccount2Allocation: bankAccount2.allocation,\n bankAccount2AllocationMethod: bankAccount2.allocationMethod,\n bankAccount2Bsb: bankAccount2.bsb,\n bankAccount2Name: bankAccount2.name,\n bankAccount2Number: bankAccount2.number,\n }\n : bankAccount2.allocationMethod === \"REMAINDER\"\n ? {\n bankAccount2Allocation: bankAccount2.allocation,\n bankAccount2AllocationMethod: bankAccount2.allocationMethod,\n bankAccount2Bsb: bankAccount2.bsb.trim(),\n bankAccount2Name: bankAccount2.name.trim(),\n bankAccount2Number: bankAccount2.number.trim(),\n }\n : {\n bankAccount2Allocation: bankAccount2.allocation,\n bankAccount2AllocationMethod: bankAccount2.allocationMethod,\n bankAccount2Bsb: bankAccount2.bsb.trim(),\n bankAccount2Name: bankAccount2.name.trim(),\n bankAccount2Number: bankAccount2.number.trim(),\n }),\n ...(bankAccount3.allocationMethod === null\n ? {\n bankAccount3Allocation: bankAccount3.allocation,\n bankAccount3AllocationMethod: bankAccount3.allocationMethod,\n bankAccount3Bsb: bankAccount3.bsb,\n bankAccount3Name: bankAccount3.name,\n bankAccount3Number: bankAccount3.number,\n }\n : bankAccount3.allocationMethod === \"REMAINDER\"\n ? {\n bankAccount3Allocation: bankAccount3.allocation,\n bankAccount3AllocationMethod: bankAccount3.allocationMethod,\n bankAccount3Bsb: bankAccount3.bsb.trim(),\n bankAccount3Name: bankAccount3.name.trim(),\n bankAccount3Number: bankAccount3.number.trim(),\n }\n : {\n bankAccount3Allocation: bankAccount3.allocation,\n bankAccount3AllocationMethod: bankAccount3.allocationMethod,\n bankAccount3Bsb: bankAccount3.bsb.trim(),\n bankAccount3Name: bankAccount3.name.trim(),\n bankAccount3Number: bankAccount3.number.trim(),\n }),\n ...(bankAccount4.allocationMethod === null\n ? {\n bankAccount4Allocation: bankAccount4.allocation,\n bankAccount4AllocationMethod: bankAccount4.allocationMethod,\n bankAccount4Bsb: bankAccount4.bsb,\n bankAccount4Name: bankAccount4.name,\n bankAccount4Number: bankAccount4.number,\n }\n : bankAccount4.allocationMethod === \"REMAINDER\"\n ? {\n bankAccount4Allocation: bankAccount4.allocation,\n bankAccount4AllocationMethod: bankAccount4.allocationMethod,\n bankAccount4Bsb: bankAccount4.bsb.trim(),\n bankAccount4Name: bankAccount4.name.trim(),\n bankAccount4Number: bankAccount4.number.trim(),\n }\n : {\n bankAccount4Allocation: bankAccount4.allocation,\n bankAccount4AllocationMethod: bankAccount4.allocationMethod,\n bankAccount4Bsb: bankAccount4.bsb.trim(),\n bankAccount4Name: bankAccount4.name.trim(),\n bankAccount4Number: bankAccount4.number.trim(),\n }),\n ...(bankAccount5.allocationMethod === null\n ? {\n bankAccount5Allocation: bankAccount5.allocation,\n bankAccount5AllocationMethod: bankAccount5.allocationMethod,\n bankAccount5Bsb: bankAccount5.bsb,\n bankAccount5Name: bankAccount5.name,\n bankAccount5Number: bankAccount5.number,\n }\n : bankAccount5.allocationMethod === \"REMAINDER\"\n ? {\n bankAccount5Allocation: bankAccount5.allocation,\n bankAccount5AllocationMethod: bankAccount5.allocationMethod,\n bankAccount5Bsb: bankAccount5.bsb.trim(),\n bankAccount5Name: bankAccount5.name.trim(),\n bankAccount5Number: bankAccount5.number.trim(),\n }\n : {\n bankAccount5Allocation: bankAccount5.allocation,\n bankAccount5AllocationMethod: bankAccount5.allocationMethod,\n bankAccount5Bsb: bankAccount5.bsb.trim(),\n bankAccount5Name: bankAccount5.name.trim(),\n bankAccount5Number: bankAccount5.number.trim(),\n }),\n };\n};\n\nconst assertBankAccount = (details: {\n allocation: string | null;\n allocationMethod: \"FIXED_AMOUNT\" | \"PER_LONG_HUNDRED\" | \"REMAINDER\" | null;\n bsb: string | null;\n name: string | null;\n number: string | null;\n}):\n | ((\n | {\n allocation: null;\n allocationMethod: \"REMAINDER\";\n }\n | {\n allocation: string;\n allocationMethod: \"FIXED_AMOUNT\" | \"PER_LONG_HUNDRED\";\n }\n ) & {\n bsb: string;\n name: string;\n number: string;\n })\n | {\n allocation: null;\n allocationMethod: null;\n bsb: null;\n name: null;\n number: null;\n } => {\n const { allocation, allocationMethod, bsb, name, number } = details;\n\n if (allocationMethod === null) {\n if (allocation !== null) {\n throw Error(\n `Allocation must be null if allocation method is null: ${JSON.stringify(details)}`,\n );\n }\n if (bsb !== null) {\n throw Error(`BSB must be null if allocation method is null: ${JSON.stringify(details)}`);\n }\n if (name !== null) {\n throw Error(`Name must be null if allocation method is null: ${JSON.stringify(details)}`);\n }\n if (number !== null) {\n throw Error(`Number must be null if allocation method is null: ${JSON.stringify(details)}`);\n }\n return {\n allocation,\n allocationMethod,\n bsb,\n name,\n number,\n };\n }\n\n if (bsb === null) {\n throw Error(\n `BSB must be provided if allocation method is provided: ${JSON.stringify(details)}`,\n );\n }\n if (name === null) {\n throw Error(\n `Name must be provided if allocation method is provided: ${JSON.stringify(details)}`,\n );\n }\n if (number === null) {\n throw Error(\n `Number must be provided if allocation method is provided: ${JSON.stringify(details)}`,\n );\n }\n\n if (allocationMethod === \"FIXED_AMOUNT\" || allocationMethod === \"PER_LONG_HUNDRED\") {\n if (allocation === null) {\n throw Error(\n `Allocation must be provided if allocation method is FIXED_AMOUNT or PER_LONG_HUNDRED: ${JSON.stringify(\n details,\n )}`,\n );\n }\n return {\n allocation,\n allocationMethod,\n bsb,\n name,\n number,\n };\n }\n\n if (allocation !== null) {\n throw Error(\n `Allocation must be null if allocation method is REMAINDER: ${JSON.stringify(details)}`,\n );\n }\n\n return {\n allocation,\n allocationMethod,\n bsb,\n name,\n number,\n };\n};\n\nexport default validatePersonDataTransferLineBankAccounts;\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
const validatePersonDataTransferLineEmergencyContacts = (value) => null;
|
|
2
|
+
var validatePersonDataTransferLineEmergencyContacts_default = validatePersonDataTransferLineEmergencyContacts;
|
|
3
|
+
export {
|
|
4
|
+
validatePersonDataTransferLineEmergencyContacts_default as default
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=validatePersonDataTransferLineEmergencyContacts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/employee-records/validatePersonDataTransferLineEmergencyContacts.ts"],"sourcesContent":["import type { PartialPersonDataTransferLine } from \"./_types.js\";\n\n// TODO: Implement this function. See PROD-2214.\nconst validatePersonDataTransferLineEmergencyContacts = (\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n value: PartialPersonDataTransferLine[\"emergencyContacts\"],\n) => null;\n\nexport default validatePersonDataTransferLineEmergencyContacts;\n"],"mappings":"AAGA,MAAM,kDAAkD,CAEtD,UACG;AAEL,IAAO,0DAAQ;","names":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PartialPersonDataTransferLine, PersonDataTransferLine } from './_types.js';
|
|
2
|
+
|
|
3
|
+
declare const validatePersonDataTransferLinePersonalDetails: (value: PartialPersonDataTransferLine["personalDetails"]) => PersonDataTransferLine["personalDetails"];
|
|
4
|
+
|
|
5
|
+
export { validatePersonDataTransferLinePersonalDetails as default };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import isValidPlainDate from "@worknice/shared/utils/isValidPlainDate";
|
|
2
|
+
const validatePersonDataTransferLinePersonalDetails = (value) => {
|
|
3
|
+
if (value === null) return null;
|
|
4
|
+
const {
|
|
5
|
+
dateOfBirth,
|
|
6
|
+
employeeCode,
|
|
7
|
+
familyName,
|
|
8
|
+
gender,
|
|
9
|
+
givenName,
|
|
10
|
+
otherGivenNames,
|
|
11
|
+
personalEmail,
|
|
12
|
+
personalPhone
|
|
13
|
+
} = value;
|
|
14
|
+
if (dateOfBirth !== null && dateOfBirth !== void 0 && isValidPlainDate(dateOfBirth) === false) {
|
|
15
|
+
throw Error("Invalid date of birth");
|
|
16
|
+
}
|
|
17
|
+
if (familyName !== null && familyName.trim() !== "" || givenName !== null && givenName.trim() !== "" || otherGivenNames !== null && otherGivenNames.trim() !== "") {
|
|
18
|
+
if (familyName === null || familyName.trim() === "") {
|
|
19
|
+
throw Error("Missing family name");
|
|
20
|
+
}
|
|
21
|
+
if (givenName === null || givenName.trim() === "") {
|
|
22
|
+
throw Error("Missing given name");
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
dateOfBirth,
|
|
27
|
+
employeeCode,
|
|
28
|
+
familyName: familyName?.trim(),
|
|
29
|
+
gender,
|
|
30
|
+
givenName: givenName?.trim(),
|
|
31
|
+
otherGivenNames: typeof otherGivenNames === "string" ? otherGivenNames.trim() : null,
|
|
32
|
+
personalEmail: personalEmail?.trim(),
|
|
33
|
+
personalPhone: personalPhone?.trim()
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
var validatePersonDataTransferLinePersonalDetails_default = validatePersonDataTransferLinePersonalDetails;
|
|
37
|
+
export {
|
|
38
|
+
validatePersonDataTransferLinePersonalDetails_default as default
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=validatePersonDataTransferLinePersonalDetails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/employee-records/validatePersonDataTransferLinePersonalDetails.ts"],"sourcesContent":["import isValidPlainDate from \"@worknice/shared/utils/isValidPlainDate\";\nimport type { PartialPersonDataTransferLine, PersonDataTransferLine } from \"./_types.js\";\n\nconst validatePersonDataTransferLinePersonalDetails = (\n value: PartialPersonDataTransferLine[\"personalDetails\"],\n): PersonDataTransferLine[\"personalDetails\"] => {\n if (value === null) return null;\n\n const {\n dateOfBirth,\n employeeCode,\n familyName,\n gender,\n givenName,\n otherGivenNames,\n personalEmail,\n personalPhone,\n } = value;\n\n if (\n dateOfBirth !== null &&\n dateOfBirth !== undefined &&\n isValidPlainDate(dateOfBirth) === false\n ) {\n throw Error(\"Invalid date of birth\");\n }\n\n if (\n (familyName !== null && familyName.trim() !== \"\") ||\n (givenName !== null && givenName.trim() !== \"\") ||\n (otherGivenNames !== null && otherGivenNames.trim() !== \"\")\n ) {\n if (familyName === null || familyName.trim() === \"\") {\n throw Error(\"Missing family name\");\n }\n if (givenName === null || givenName.trim() === \"\") {\n throw Error(\"Missing given name\");\n }\n }\n\n // if (gender === null) {\n // throw Error(\"Missing gender\");\n // }\n\n // if (personalEmail === null || personalEmail.trim() === \"\") {\n // throw Error(\"Missing personal email\");\n // }\n\n // if (personalPhone === null || personalPhone.trim() === \"\") {\n // throw Error(\"Missing personal phone\");\n // }\n\n // FIXME: The return type has been cast to `PersonDataTransferLine[\"personalDetails\"]` in anticipation of\n // the personal details being split into separate fields. See PROD-2371.\n return {\n dateOfBirth,\n employeeCode,\n familyName: familyName?.trim(),\n gender,\n givenName: givenName?.trim(),\n otherGivenNames: typeof otherGivenNames === \"string\" ? otherGivenNames.trim() : null,\n personalEmail: personalEmail?.trim(),\n personalPhone: personalPhone?.trim(),\n } as PersonDataTransferLine[\"personalDetails\"];\n};\n\nexport default validatePersonDataTransferLinePersonalDetails;\n"],"mappings":"AAAA,OAAO,sBAAsB;AAG7B,MAAM,gDAAgD,CACpD,UAC8C;AAC9C,MAAI,UAAU,KAAM,QAAO;AAE3B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,MACE,gBAAgB,QAChB,gBAAgB,UAChB,iBAAiB,WAAW,MAAM,OAClC;AACA,UAAM,MAAM,uBAAuB;AAAA,EACrC;AAEA,MACG,eAAe,QAAQ,WAAW,KAAK,MAAM,MAC7C,cAAc,QAAQ,UAAU,KAAK,MAAM,MAC3C,oBAAoB,QAAQ,gBAAgB,KAAK,MAAM,IACxD;AACA,QAAI,eAAe,QAAQ,WAAW,KAAK,MAAM,IAAI;AACnD,YAAM,MAAM,qBAAqB;AAAA,IACnC;AACA,QAAI,cAAc,QAAQ,UAAU,KAAK,MAAM,IAAI;AACjD,YAAM,MAAM,oBAAoB;AAAA,IAClC;AAAA,EACF;AAgBA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,YAAY,YAAY,KAAK;AAAA,IAC7B;AAAA,IACA,WAAW,WAAW,KAAK;AAAA,IAC3B,iBAAiB,OAAO,oBAAoB,WAAW,gBAAgB,KAAK,IAAI;AAAA,IAChF,eAAe,eAAe,KAAK;AAAA,IACnC,eAAe,eAAe,KAAK;AAAA,EACrC;AACF;AAEA,IAAO,wDAAQ;","names":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PartialPersonDataTransferLine, PersonDataTransferLine } from './_types.js';
|
|
2
|
+
|
|
3
|
+
declare const validatePersonDataTransferLinePostalAddress: (value: PartialPersonDataTransferLine["postalAddress"]) => PersonDataTransferLine["postalAddress"];
|
|
4
|
+
|
|
5
|
+
export { validatePersonDataTransferLinePostalAddress as default };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const validatePersonDataTransferLinePostalAddress = (value) => {
|
|
2
|
+
if (value === null) return null;
|
|
3
|
+
const {
|
|
4
|
+
postalAddressCity,
|
|
5
|
+
postalAddressCountry,
|
|
6
|
+
postalAddressLine1,
|
|
7
|
+
postalAddressLine2,
|
|
8
|
+
postalAddressPostcode,
|
|
9
|
+
postalAddressState
|
|
10
|
+
} = value;
|
|
11
|
+
if (postalAddressCity === null || postalAddressCity.trim() === "") {
|
|
12
|
+
throw Error("Invalid postal address city");
|
|
13
|
+
}
|
|
14
|
+
if (postalAddressCountry === null || postalAddressCountry.trim() === "") {
|
|
15
|
+
throw Error("Invalid postal address country");
|
|
16
|
+
}
|
|
17
|
+
if (postalAddressLine1 === null || postalAddressLine1.trim() === "") {
|
|
18
|
+
throw Error("Invalid postal address line 1");
|
|
19
|
+
}
|
|
20
|
+
if (postalAddressPostcode === null || postalAddressPostcode.trim() === "") {
|
|
21
|
+
throw Error("Invalid postal address postcode");
|
|
22
|
+
}
|
|
23
|
+
if (postalAddressState === null || postalAddressState.trim() === "") {
|
|
24
|
+
throw Error("Invalid postal address state");
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
postalAddressCity: postalAddressCity.trim(),
|
|
28
|
+
postalAddressCountry: postalAddressCountry.trim(),
|
|
29
|
+
postalAddressLine1: postalAddressLine1.trim(),
|
|
30
|
+
postalAddressLine2: typeof postalAddressLine2 === "string" ? postalAddressLine2.trim() : null,
|
|
31
|
+
postalAddressPostcode: postalAddressPostcode.trim(),
|
|
32
|
+
postalAddressState: postalAddressState.trim()
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
var validatePersonDataTransferLinePostalAddress_default = validatePersonDataTransferLinePostalAddress;
|
|
36
|
+
export {
|
|
37
|
+
validatePersonDataTransferLinePostalAddress_default as default
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=validatePersonDataTransferLinePostalAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/employee-records/validatePersonDataTransferLinePostalAddress.ts"],"sourcesContent":["import type { PartialPersonDataTransferLine, PersonDataTransferLine } from \"./_types.js\";\n\nconst validatePersonDataTransferLinePostalAddress = (\n value: PartialPersonDataTransferLine[\"postalAddress\"],\n): PersonDataTransferLine[\"postalAddress\"] => {\n if (value === null) return null;\n\n const {\n postalAddressCity,\n postalAddressCountry,\n postalAddressLine1,\n postalAddressLine2,\n postalAddressPostcode,\n postalAddressState,\n } = value;\n\n if (postalAddressCity === null || postalAddressCity.trim() === \"\") {\n throw Error(\"Invalid postal address city\");\n }\n\n if (postalAddressCountry === null || postalAddressCountry.trim() === \"\") {\n throw Error(\"Invalid postal address country\");\n }\n\n if (postalAddressLine1 === null || postalAddressLine1.trim() === \"\") {\n throw Error(\"Invalid postal address line 1\");\n }\n\n if (postalAddressPostcode === null || postalAddressPostcode.trim() === \"\") {\n throw Error(\"Invalid postal address postcode\");\n }\n\n if (postalAddressState === null || postalAddressState.trim() === \"\") {\n throw Error(\"Invalid postal address state\");\n }\n\n return {\n postalAddressCity: postalAddressCity.trim(),\n postalAddressCountry: postalAddressCountry.trim(),\n postalAddressLine1: postalAddressLine1.trim(),\n postalAddressLine2: typeof postalAddressLine2 === \"string\" ? postalAddressLine2.trim() : null,\n postalAddressPostcode: postalAddressPostcode.trim(),\n postalAddressState: postalAddressState.trim(),\n };\n};\n\nexport default validatePersonDataTransferLinePostalAddress;\n"],"mappings":"AAEA,MAAM,8CAA8C,CAClD,UAC4C;AAC5C,MAAI,UAAU,KAAM,QAAO;AAE3B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,MAAI,sBAAsB,QAAQ,kBAAkB,KAAK,MAAM,IAAI;AACjE,UAAM,MAAM,6BAA6B;AAAA,EAC3C;AAEA,MAAI,yBAAyB,QAAQ,qBAAqB,KAAK,MAAM,IAAI;AACvE,UAAM,MAAM,gCAAgC;AAAA,EAC9C;AAEA,MAAI,uBAAuB,QAAQ,mBAAmB,KAAK,MAAM,IAAI;AACnE,UAAM,MAAM,+BAA+B;AAAA,EAC7C;AAEA,MAAI,0BAA0B,QAAQ,sBAAsB,KAAK,MAAM,IAAI;AACzE,UAAM,MAAM,iCAAiC;AAAA,EAC/C;AAEA,MAAI,uBAAuB,QAAQ,mBAAmB,KAAK,MAAM,IAAI;AACnE,UAAM,MAAM,8BAA8B;AAAA,EAC5C;AAEA,SAAO;AAAA,IACL,mBAAmB,kBAAkB,KAAK;AAAA,IAC1C,sBAAsB,qBAAqB,KAAK;AAAA,IAChD,oBAAoB,mBAAmB,KAAK;AAAA,IAC5C,oBAAoB,OAAO,uBAAuB,WAAW,mBAAmB,KAAK,IAAI;AAAA,IACzF,uBAAuB,sBAAsB,KAAK;AAAA,IAClD,oBAAoB,mBAAmB,KAAK;AAAA,EAC9C;AACF;AAEA,IAAO,sDAAQ;","names":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PartialPersonDataTransferLine, PersonDataTransferLine } from './_types.js';
|
|
2
|
+
|
|
3
|
+
declare const validatePersonDataTransferLineResidentialAddress: (value: PartialPersonDataTransferLine["residentialAddress"]) => PersonDataTransferLine["residentialAddress"];
|
|
4
|
+
|
|
5
|
+
export { validatePersonDataTransferLineResidentialAddress as default };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const validatePersonDataTransferLineResidentialAddress = (value) => {
|
|
2
|
+
if (value === null) return null;
|
|
3
|
+
const {
|
|
4
|
+
residentialAddressCity,
|
|
5
|
+
residentialAddressCountry,
|
|
6
|
+
residentialAddressLine1,
|
|
7
|
+
residentialAddressLine2,
|
|
8
|
+
residentialAddressPostcode,
|
|
9
|
+
residentialAddressState
|
|
10
|
+
} = value;
|
|
11
|
+
if (residentialAddressCity === null || residentialAddressCity.trim() === "") {
|
|
12
|
+
throw Error("Missing city for residential address");
|
|
13
|
+
}
|
|
14
|
+
if (residentialAddressCountry === null || residentialAddressCountry.trim() === "") {
|
|
15
|
+
throw Error("Missing country for residential address");
|
|
16
|
+
}
|
|
17
|
+
if (residentialAddressLine1 === null || residentialAddressLine1.trim() === "") {
|
|
18
|
+
throw Error("Missing line 1 for residential address");
|
|
19
|
+
}
|
|
20
|
+
if (residentialAddressPostcode === null || residentialAddressPostcode.trim() === "") {
|
|
21
|
+
throw Error("Missing postcode for residential address");
|
|
22
|
+
}
|
|
23
|
+
if (residentialAddressState === null || residentialAddressState.trim() === "") {
|
|
24
|
+
throw Error("Missing state for residential address");
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
residentialAddressCity: residentialAddressCity.trim(),
|
|
28
|
+
residentialAddressCountry: residentialAddressCountry.trim(),
|
|
29
|
+
residentialAddressLine1: residentialAddressLine1.trim(),
|
|
30
|
+
residentialAddressLine2: typeof residentialAddressLine2 === "string" && residentialAddressLine2.trim() !== "" ? residentialAddressLine2.trim() : null,
|
|
31
|
+
residentialAddressPostcode: residentialAddressPostcode.trim(),
|
|
32
|
+
residentialAddressState: residentialAddressState.trim()
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
var validatePersonDataTransferLineResidentialAddress_default = validatePersonDataTransferLineResidentialAddress;
|
|
36
|
+
export {
|
|
37
|
+
validatePersonDataTransferLineResidentialAddress_default as default
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=validatePersonDataTransferLineResidentialAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/employee-records/validatePersonDataTransferLineResidentialAddress.ts"],"sourcesContent":["import type { PartialPersonDataTransferLine, PersonDataTransferLine } from \"./_types.js\";\n\nconst validatePersonDataTransferLineResidentialAddress = (\n value: PartialPersonDataTransferLine[\"residentialAddress\"],\n): PersonDataTransferLine[\"residentialAddress\"] => {\n if (value === null) return null;\n\n const {\n residentialAddressCity,\n residentialAddressCountry,\n residentialAddressLine1,\n residentialAddressLine2,\n residentialAddressPostcode,\n residentialAddressState,\n } = value;\n\n if (residentialAddressCity === null || residentialAddressCity.trim() === \"\") {\n throw Error(\"Missing city for residential address\");\n }\n\n if (residentialAddressCountry === null || residentialAddressCountry.trim() === \"\") {\n throw Error(\"Missing country for residential address\");\n }\n\n if (residentialAddressLine1 === null || residentialAddressLine1.trim() === \"\") {\n throw Error(\"Missing line 1 for residential address\");\n }\n\n if (residentialAddressPostcode === null || residentialAddressPostcode.trim() === \"\") {\n throw Error(\"Missing postcode for residential address\");\n }\n\n if (residentialAddressState === null || residentialAddressState.trim() === \"\") {\n throw Error(\"Missing state for residential address\");\n }\n\n return {\n residentialAddressCity: residentialAddressCity.trim(),\n residentialAddressCountry: residentialAddressCountry.trim(),\n residentialAddressLine1: residentialAddressLine1.trim(),\n residentialAddressLine2:\n typeof residentialAddressLine2 === \"string\" && residentialAddressLine2.trim() !== \"\"\n ? residentialAddressLine2.trim()\n : null,\n residentialAddressPostcode: residentialAddressPostcode.trim(),\n residentialAddressState: residentialAddressState.trim(),\n };\n};\n\nexport default validatePersonDataTransferLineResidentialAddress;\n"],"mappings":"AAEA,MAAM,mDAAmD,CACvD,UACiD;AACjD,MAAI,UAAU,KAAM,QAAO;AAE3B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,MAAI,2BAA2B,QAAQ,uBAAuB,KAAK,MAAM,IAAI;AAC3E,UAAM,MAAM,sCAAsC;AAAA,EACpD;AAEA,MAAI,8BAA8B,QAAQ,0BAA0B,KAAK,MAAM,IAAI;AACjF,UAAM,MAAM,yCAAyC;AAAA,EACvD;AAEA,MAAI,4BAA4B,QAAQ,wBAAwB,KAAK,MAAM,IAAI;AAC7E,UAAM,MAAM,wCAAwC;AAAA,EACtD;AAEA,MAAI,+BAA+B,QAAQ,2BAA2B,KAAK,MAAM,IAAI;AACnF,UAAM,MAAM,0CAA0C;AAAA,EACxD;AAEA,MAAI,4BAA4B,QAAQ,wBAAwB,KAAK,MAAM,IAAI;AAC7E,UAAM,MAAM,uCAAuC;AAAA,EACrD;AAEA,SAAO;AAAA,IACL,wBAAwB,uBAAuB,KAAK;AAAA,IACpD,2BAA2B,0BAA0B,KAAK;AAAA,IAC1D,yBAAyB,wBAAwB,KAAK;AAAA,IACtD,yBACE,OAAO,4BAA4B,YAAY,wBAAwB,KAAK,MAAM,KAC9E,wBAAwB,KAAK,IAC7B;AAAA,IACN,4BAA4B,2BAA2B,KAAK;AAAA,IAC5D,yBAAyB,wBAAwB,KAAK;AAAA,EACxD;AACF;AAEA,IAAO,2DAAQ;","names":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PartialPersonDataTransferLine, PersonDataTransferLine } from './_types.js';
|
|
2
|
+
|
|
3
|
+
declare const validatePersonDataTransferLineSuperFunds: (value: PartialPersonDataTransferLine["superFunds"]) => PersonDataTransferLine["superFunds"];
|
|
4
|
+
|
|
5
|
+
export { validatePersonDataTransferLineSuperFunds as default };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
const validatePersonDataTransferLineSuperFunds = (value) => {
|
|
2
|
+
if (value === null) return null;
|
|
3
|
+
const { superFund1MemberName, superFund1MemberNumber, superFund1Nomination, superFund1Usi } = value;
|
|
4
|
+
if (superFund1Nomination === null) {
|
|
5
|
+
throw Error("Invalid super fund 1 nomination");
|
|
6
|
+
}
|
|
7
|
+
if (superFund1Nomination === "REGULATED") {
|
|
8
|
+
if (superFund1MemberName === null || superFund1MemberName.trim() === "") {
|
|
9
|
+
throw Error("Invalid super fund 1 member name");
|
|
10
|
+
}
|
|
11
|
+
if (superFund1MemberNumber === null || superFund1MemberNumber.trim() === "") {
|
|
12
|
+
throw Error("Invalid super fund 1 member number");
|
|
13
|
+
}
|
|
14
|
+
if (superFund1Usi === null || superFund1Usi.trim() === "") {
|
|
15
|
+
throw Error("Invalid super fund 1 USI");
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
superFund1MemberName,
|
|
19
|
+
superFund1MemberNumber,
|
|
20
|
+
superFund1Nomination: "REGULATED",
|
|
21
|
+
superFund1Usi
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
if (superFund1MemberName !== null) {
|
|
25
|
+
throw Error("Invalid super fund 1 member name (only REGULATED funds require a member name)");
|
|
26
|
+
}
|
|
27
|
+
if (superFund1MemberNumber !== null) {
|
|
28
|
+
throw Error(
|
|
29
|
+
"Invalid super fund 1 member number (only REGULATED funds require a member number)"
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
if (superFund1Usi !== null) {
|
|
33
|
+
throw Error("Invalid super fund 1 USI (only REGULATED funds require a USI)");
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
superFund1MemberName,
|
|
37
|
+
superFund1MemberNumber,
|
|
38
|
+
superFund1Nomination,
|
|
39
|
+
superFund1Usi
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
var validatePersonDataTransferLineSuperFunds_default = validatePersonDataTransferLineSuperFunds;
|
|
43
|
+
export {
|
|
44
|
+
validatePersonDataTransferLineSuperFunds_default as default
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=validatePersonDataTransferLineSuperFunds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/employee-records/validatePersonDataTransferLineSuperFunds.ts"],"sourcesContent":["import type { PartialPersonDataTransferLine, PersonDataTransferLine } from \"./_types.js\";\n\nconst validatePersonDataTransferLineSuperFunds = (\n value: PartialPersonDataTransferLine[\"superFunds\"],\n): PersonDataTransferLine[\"superFunds\"] => {\n if (value === null) return null;\n const { superFund1MemberName, superFund1MemberNumber, superFund1Nomination, superFund1Usi } =\n value;\n\n if (superFund1Nomination === null) {\n throw Error(\"Invalid super fund 1 nomination\");\n }\n\n if (superFund1Nomination === \"REGULATED\") {\n if (superFund1MemberName === null || superFund1MemberName.trim() === \"\") {\n throw Error(\"Invalid super fund 1 member name\");\n }\n if (superFund1MemberNumber === null || superFund1MemberNumber.trim() === \"\") {\n throw Error(\"Invalid super fund 1 member number\");\n }\n if (superFund1Usi === null || superFund1Usi.trim() === \"\") {\n throw Error(\"Invalid super fund 1 USI\");\n }\n return {\n superFund1MemberName,\n superFund1MemberNumber,\n superFund1Nomination: \"REGULATED\",\n superFund1Usi,\n };\n }\n\n if (superFund1MemberName !== null) {\n throw Error(\"Invalid super fund 1 member name (only REGULATED funds require a member name)\");\n }\n\n if (superFund1MemberNumber !== null) {\n throw Error(\n \"Invalid super fund 1 member number (only REGULATED funds require a member number)\",\n );\n }\n\n if (superFund1Usi !== null) {\n throw Error(\"Invalid super fund 1 USI (only REGULATED funds require a USI)\");\n }\n\n return {\n superFund1MemberName,\n superFund1MemberNumber,\n superFund1Nomination,\n superFund1Usi,\n };\n};\n\nexport default validatePersonDataTransferLineSuperFunds;\n"],"mappings":"AAEA,MAAM,2CAA2C,CAC/C,UACyC;AACzC,MAAI,UAAU,KAAM,QAAO;AAC3B,QAAM,EAAE,sBAAsB,wBAAwB,sBAAsB,cAAc,IACxF;AAEF,MAAI,yBAAyB,MAAM;AACjC,UAAM,MAAM,iCAAiC;AAAA,EAC/C;AAEA,MAAI,yBAAyB,aAAa;AACxC,QAAI,yBAAyB,QAAQ,qBAAqB,KAAK,MAAM,IAAI;AACvE,YAAM,MAAM,kCAAkC;AAAA,IAChD;AACA,QAAI,2BAA2B,QAAQ,uBAAuB,KAAK,MAAM,IAAI;AAC3E,YAAM,MAAM,oCAAoC;AAAA,IAClD;AACA,QAAI,kBAAkB,QAAQ,cAAc,KAAK,MAAM,IAAI;AACzD,YAAM,MAAM,0BAA0B;AAAA,IACxC;AACA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,sBAAsB;AAAA,MACtB;AAAA,IACF;AAAA,EACF;AAEA,MAAI,yBAAyB,MAAM;AACjC,UAAM,MAAM,+EAA+E;AAAA,EAC7F;AAEA,MAAI,2BAA2B,MAAM;AACnC,UAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF;AAEA,MAAI,kBAAkB,MAAM;AAC1B,UAAM,MAAM,+DAA+D;AAAA,EAC7E;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEA,IAAO,mDAAQ;","names":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PartialPersonDataTransferLine, PersonDataTransferLine } from './_types.js';
|
|
2
|
+
|
|
3
|
+
declare const validatePersonDataTransferLineTaxDetails: (value: PartialPersonDataTransferLine["taxDetails"]) => PersonDataTransferLine["taxDetails"];
|
|
4
|
+
|
|
5
|
+
export { validatePersonDataTransferLineTaxDetails as default };
|