@linkiez/boleto-sdk 1.0.0 → 1.1.2
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 +190 -190
- package/README.md +185 -168
- package/dist/adapters/IBankAdapter.d.ts +9 -0
- package/dist/adapters/IBankAdapter.d.ts.map +1 -0
- package/dist/adapters/IBankAdapter.js +3 -0
- package/dist/adapters/IBankAdapter.js.map +1 -0
- package/dist/adapters/bradesco/BradescoAdapter.d.ts +27 -0
- package/dist/adapters/bradesco/BradescoAdapter.d.ts.map +1 -0
- package/dist/adapters/bradesco/BradescoAdapter.js +130 -0
- package/dist/adapters/bradesco/BradescoAdapter.js.map +1 -0
- package/dist/adapters/bradesco/BradescoFieldParser.d.ts +4 -0
- package/dist/adapters/bradesco/BradescoFieldParser.d.ts.map +1 -0
- package/dist/adapters/bradesco/BradescoFieldParser.js +46 -0
- package/dist/adapters/bradesco/BradescoFieldParser.js.map +1 -0
- package/dist/adapters/bradesco/BradescoOccurrenceMapper.d.ts +5 -0
- package/dist/adapters/bradesco/BradescoOccurrenceMapper.d.ts.map +1 -0
- package/dist/adapters/bradesco/BradescoOccurrenceMapper.js +47 -0
- package/dist/adapters/bradesco/BradescoOccurrenceMapper.js.map +1 -0
- package/dist/adapters/bradesco/BradescoOurNumberCalculator.d.ts +5 -0
- package/dist/adapters/bradesco/BradescoOurNumberCalculator.d.ts.map +1 -0
- package/dist/adapters/bradesco/BradescoOurNumberCalculator.js +40 -0
- package/dist/adapters/bradesco/BradescoOurNumberCalculator.js.map +1 -0
- package/dist/adapters/bradesco/BradescoValidator.d.ts +7 -0
- package/dist/adapters/bradesco/BradescoValidator.d.ts.map +1 -0
- package/dist/adapters/bradesco/BradescoValidator.js +103 -0
- package/dist/adapters/bradesco/BradescoValidator.js.map +1 -0
- package/dist/adapters/bradesco/BradescoWalletValidator.d.ts +8 -0
- package/dist/adapters/bradesco/BradescoWalletValidator.d.ts.map +1 -0
- package/dist/adapters/bradesco/BradescoWalletValidator.js +55 -0
- package/dist/adapters/bradesco/BradescoWalletValidator.js.map +1 -0
- package/dist/adapters/bradesco/index.d.ts +7 -0
- package/dist/adapters/bradesco/index.d.ts.map +1 -0
- package/dist/adapters/bradesco/index.js +23 -0
- package/dist/adapters/bradesco/index.js.map +1 -0
- package/dist/adapters/index.d.ts +4 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +20 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/itau/ItauAdapter.d.ts +31 -0
- package/dist/adapters/itau/ItauAdapter.d.ts.map +1 -0
- package/dist/adapters/itau/ItauAdapter.js +158 -0
- package/dist/adapters/itau/ItauAdapter.js.map +1 -0
- package/dist/adapters/itau/ItauFieldParser.d.ts +4 -0
- package/dist/adapters/itau/ItauFieldParser.d.ts.map +1 -0
- package/dist/adapters/itau/ItauFieldParser.js +52 -0
- package/dist/adapters/itau/ItauFieldParser.js.map +1 -0
- package/dist/adapters/itau/ItauInstructionMapper.d.ts +5 -0
- package/dist/adapters/itau/ItauInstructionMapper.d.ts.map +1 -0
- package/dist/adapters/itau/ItauInstructionMapper.js +54 -0
- package/dist/adapters/itau/ItauInstructionMapper.js.map +1 -0
- package/dist/adapters/itau/ItauOccurrenceMapper.d.ts +5 -0
- package/dist/adapters/itau/ItauOccurrenceMapper.d.ts.map +1 -0
- package/dist/adapters/itau/ItauOccurrenceMapper.js +52 -0
- package/dist/adapters/itau/ItauOccurrenceMapper.js.map +1 -0
- package/dist/adapters/itau/ItauOurNumberCalculator.d.ts +5 -0
- package/dist/adapters/itau/ItauOurNumberCalculator.d.ts.map +1 -0
- package/dist/adapters/itau/ItauOurNumberCalculator.js +28 -0
- package/dist/adapters/itau/ItauOurNumberCalculator.js.map +1 -0
- package/dist/adapters/itau/ItauReturnMapper.d.ts +6 -0
- package/dist/adapters/itau/ItauReturnMapper.d.ts.map +1 -0
- package/dist/adapters/itau/ItauReturnMapper.js +71 -0
- package/dist/adapters/itau/ItauReturnMapper.js.map +1 -0
- package/dist/adapters/itau/ItauValidator.d.ts +7 -0
- package/dist/adapters/itau/ItauValidator.d.ts.map +1 -0
- package/dist/adapters/itau/ItauValidator.js +94 -0
- package/dist/adapters/itau/ItauValidator.js.map +1 -0
- package/dist/adapters/itau/ItauWalletValidator.d.ts +7 -0
- package/dist/adapters/itau/ItauWalletValidator.d.ts.map +1 -0
- package/dist/adapters/itau/ItauWalletValidator.js +57 -0
- package/dist/adapters/itau/ItauWalletValidator.js.map +1 -0
- package/dist/adapters/itau/index.d.ts +9 -0
- package/dist/adapters/itau/index.d.ts.map +1 -0
- package/dist/adapters/itau/index.js +25 -0
- package/dist/adapters/itau/index.js.map +1 -0
- package/dist/constants/bancos/ItauRejectionCodes.d.ts +2 -0
- package/dist/constants/bancos/ItauRejectionCodes.d.ts.map +1 -0
- package/dist/constants/bancos/ItauRejectionCodes.js +13 -0
- package/dist/constants/bancos/ItauRejectionCodes.js.map +1 -0
- package/dist/constants/bancos/index.d.ts +1 -0
- package/dist/constants/bancos/index.d.ts.map +1 -1
- package/dist/constants/bancos/index.js +1 -0
- package/dist/constants/bancos/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/templates/HtmlTemplateBuilder.js +182 -182
- package/dist/types/adapters/bradesco/index.d.ts +73 -0
- package/dist/types/adapters/bradesco/index.d.ts.map +1 -0
- package/dist/types/adapters/bradesco/index.js +3 -0
- package/dist/types/adapters/bradesco/index.js.map +1 -0
- package/dist/types/adapters/index.d.ts +3 -0
- package/dist/types/adapters/index.d.ts.map +1 -0
- package/dist/types/adapters/index.js +19 -0
- package/dist/types/adapters/index.js.map +1 -0
- package/dist/types/adapters/itau/index.d.ts +102 -0
- package/dist/types/adapters/itau/index.d.ts.map +1 -0
- package/dist/types/adapters/itau/index.js +3 -0
- package/dist/types/adapters/itau/index.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/email/EmailTemplateGenerator.js +27 -27
- package/package.json +105 -105
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseItauRemittanceFields = parseItauRemittanceFields;
|
|
4
|
+
exports.parseItauReturnFields = parseItauReturnFields;
|
|
5
|
+
const cnab400_1 = require("../../constants/cnab400");
|
|
6
|
+
const RECORD_POSITIONS_1 = require("../../constants/cnab400/RECORD_POSITIONS");
|
|
7
|
+
const parsers_1 = require("../../utils/parsers");
|
|
8
|
+
function extractField(line, start, end) {
|
|
9
|
+
return line.substring(start - 1, end);
|
|
10
|
+
}
|
|
11
|
+
function trimToUndefined(value) {
|
|
12
|
+
const trimmedValue = value.trim();
|
|
13
|
+
return trimmedValue || undefined;
|
|
14
|
+
}
|
|
15
|
+
function parseItauRemittanceFields(line) {
|
|
16
|
+
if (line.length !== cnab400_1.LINE_LENGTH) {
|
|
17
|
+
throw new Error(`Invalid Itaú remittance detail line length: ${line.length}`);
|
|
18
|
+
}
|
|
19
|
+
const instructionCancellationCode = extractField(line, RECORD_POSITIONS_1.DETAIL_RECORD_REMESSA_POSITIONS.INSTRUCTION_CANCELLATION.start, RECORD_POSITIONS_1.DETAIL_RECORD_REMESSA_POSITIONS.INSTRUCTION_CANCELLATION.end);
|
|
20
|
+
const bankUseOperation = trimToUndefined(extractField(line, RECORD_POSITIONS_1.DETAIL_RECORD_REMESSA_POSITIONS.RESERVED_3.start, RECORD_POSITIONS_1.DETAIL_RECORD_REMESSA_POSITIONS.RESERVED_3.end));
|
|
21
|
+
const walletNumber = trimToUndefined(extractField(line, RECORD_POSITIONS_1.DETAIL_RECORD_REMESSA_POSITIONS.PORTFOLIO_CODE.start, RECORD_POSITIONS_1.DETAIL_RECORD_REMESSA_POSITIONS.PORTFOLIO_CODE.end));
|
|
22
|
+
const walletType = trimToUndefined(extractField(line, RECORD_POSITIONS_1.DETAIL_RECORD_REMESSA_POSITIONS.PORTFOLIO_TYPE.start, RECORD_POSITIONS_1.DETAIL_RECORD_REMESSA_POSITIONS.PORTFOLIO_TYPE.end));
|
|
23
|
+
const occurrenceCode = trimToUndefined(extractField(line, RECORD_POSITIONS_1.DETAIL_RECORD_REMESSA_POSITIONS.OCCURRENCE_CODE.start, RECORD_POSITIONS_1.DETAIL_RECORD_REMESSA_POSITIONS.OCCURRENCE_CODE.end));
|
|
24
|
+
const rawDaysCount = trimToUndefined(extractField(line, RECORD_POSITIONS_1.DETAIL_RECORD_REMESSA_POSITIONS.DAYS_COUNT.start, RECORD_POSITIONS_1.DETAIL_RECORD_REMESSA_POSITIONS.DAYS_COUNT.end));
|
|
25
|
+
return {
|
|
26
|
+
instructionCancellationCode,
|
|
27
|
+
bankUseOperation,
|
|
28
|
+
walletNumber,
|
|
29
|
+
walletType,
|
|
30
|
+
occurrenceCode,
|
|
31
|
+
daysCount: rawDaysCount ? (0, parsers_1.parseNumber)(rawDaysCount) : undefined,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function parseItauReturnFields(line) {
|
|
35
|
+
if (line.length !== cnab400_1.LINE_LENGTH) {
|
|
36
|
+
throw new Error(`Invalid Itaú return detail line length: ${line.length}`);
|
|
37
|
+
}
|
|
38
|
+
const rawCreditDate = trimToUndefined(extractField(line, 296, 301));
|
|
39
|
+
return {
|
|
40
|
+
walletNumber: trimToUndefined(extractField(line, 83, 85)),
|
|
41
|
+
walletType: trimToUndefined(extractField(line, RECORD_POSITIONS_1.DETAIL_RECORD_RETORNO_POSITIONS.PORTFOLIO_CODE.start, RECORD_POSITIONS_1.DETAIL_RECORD_RETORNO_POSITIONS.PORTFOLIO_CODE.start)),
|
|
42
|
+
ddaIndicator: trimToUndefined(extractField(line, 293, 293)),
|
|
43
|
+
creditDate: rawCreditDate && rawCreditDate !== '000000' ? (0, parsers_1.parseDateShort)(rawCreditDate) : undefined,
|
|
44
|
+
bankOurNumber: trimToUndefined(extractField(line, 86, 93)),
|
|
45
|
+
bankOurNumberDigit: trimToUndefined(extractField(line, 94, 94)),
|
|
46
|
+
confirmedOurNumber: trimToUndefined(extractField(line, 127, 134)),
|
|
47
|
+
canceledInstructionCode: extractField(line, 302, 305),
|
|
48
|
+
rejectionMessage: trimToUndefined(extractField(line, 378, 385)),
|
|
49
|
+
liquidationCode: trimToUndefined(extractField(line, 393, 394)),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=ItauFieldParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItauFieldParser.js","sourceRoot":"","sources":["../../../src/adapters/itau/ItauFieldParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ItauInstructionCode, ItauInstructionMapping } from '../../types/adapters';
|
|
2
|
+
export declare const ITAU_INSTRUCTION_CODE_MAP: Record<ItauInstructionCode, ItauInstructionMapping>;
|
|
3
|
+
export declare function isValidItauInstructionCode(instructionCode: string): instructionCode is ItauInstructionCode;
|
|
4
|
+
export declare function mapItauInstructionCode(instructionCode: string): ItauInstructionMapping;
|
|
5
|
+
//# sourceMappingURL=ItauInstructionMapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItauInstructionMapper.d.ts","sourceRoot":"","sources":["../../../src/adapters/itau/ItauInstructionMapper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAKxF,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAqCzF,CAAC;AAQF,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,MAAM,GACtB,eAAe,IAAI,mBAAmB,CAExC;AASD,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,MAAM,GAAG,sBAAsB,CAMtF"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ITAU_INSTRUCTION_CODE_MAP = void 0;
|
|
4
|
+
exports.isValidItauInstructionCode = isValidItauInstructionCode;
|
|
5
|
+
exports.mapItauInstructionCode = mapItauInstructionCode;
|
|
6
|
+
const enums_1 = require("../../enums");
|
|
7
|
+
exports.ITAU_INSTRUCTION_CODE_MAP = {
|
|
8
|
+
'00': { code: '00', commonCode: enums_1.CommonInstructionCode.NONE, description: 'No instruction' },
|
|
9
|
+
'01': {
|
|
10
|
+
code: '01',
|
|
11
|
+
commonCode: enums_1.CommonInstructionCode.PROTEST,
|
|
12
|
+
description: 'Protest automatically after N days',
|
|
13
|
+
},
|
|
14
|
+
'02': {
|
|
15
|
+
code: '02',
|
|
16
|
+
commonCode: enums_1.CommonInstructionCode.DO_NOT_PROTEST,
|
|
17
|
+
description: 'Do not protest',
|
|
18
|
+
},
|
|
19
|
+
'03': {
|
|
20
|
+
code: '03',
|
|
21
|
+
commonCode: enums_1.CommonInstructionCode.RETURN,
|
|
22
|
+
description: 'Lower to profit after N days',
|
|
23
|
+
},
|
|
24
|
+
'04': { code: '04', description: 'Waive protest' },
|
|
25
|
+
'05': { code: '05', description: 'Protest on due date' },
|
|
26
|
+
'06': { code: '06', description: 'Automatic cancellation after N days overdue' },
|
|
27
|
+
'07': { code: '07', description: 'Negative for non-payment' },
|
|
28
|
+
'08': { code: '08', description: 'Do not collect bank fee' },
|
|
29
|
+
'09': { code: '09', description: 'Cancellation for specific title' },
|
|
30
|
+
'10': {
|
|
31
|
+
code: '10',
|
|
32
|
+
commonCode: enums_1.CommonInstructionCode.NO_INTEREST,
|
|
33
|
+
description: 'Do not charge interest',
|
|
34
|
+
},
|
|
35
|
+
'11': { code: '11', description: 'Cancel conditional discount' },
|
|
36
|
+
'12': {
|
|
37
|
+
code: '12',
|
|
38
|
+
commonCode: enums_1.CommonInstructionCode.NO_FINE,
|
|
39
|
+
description: 'Exempt fine',
|
|
40
|
+
},
|
|
41
|
+
'13': { code: '13', description: 'Limit discount to settlement date' },
|
|
42
|
+
'14': { code: '14', description: 'Exempt IOF' },
|
|
43
|
+
'15': { code: '15', description: 'Cancel protest and automatic negative' },
|
|
44
|
+
};
|
|
45
|
+
function isValidItauInstructionCode(instructionCode) {
|
|
46
|
+
return /^\d{2}$/.test(instructionCode) && instructionCode in exports.ITAU_INSTRUCTION_CODE_MAP;
|
|
47
|
+
}
|
|
48
|
+
function mapItauInstructionCode(instructionCode) {
|
|
49
|
+
if (!isValidItauInstructionCode(instructionCode)) {
|
|
50
|
+
throw new Error(`Unsupported Itau instruction code: ${instructionCode}`);
|
|
51
|
+
}
|
|
52
|
+
return exports.ITAU_INSTRUCTION_CODE_MAP[instructionCode];
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=ItauInstructionMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItauInstructionMapper.js","sourceRoot":"","sources":["../../../src/adapters/itau/ItauInstructionMapper.ts"],"names":[],"mappings":";;;AAmDA,gEAIC;AASD,wDAMC;AAtED,uCAAoD;AAMvC,QAAA,yBAAyB,GAAwD;IAC5F,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,6BAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAE;IAC3F,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,6BAAqB,CAAC,OAAO;QACzC,WAAW,EAAE,oCAAoC;KAClD;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,6BAAqB,CAAC,cAAc;QAChD,WAAW,EAAE,gBAAgB;KAC9B;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,6BAAqB,CAAC,MAAM;QACxC,WAAW,EAAE,8BAA8B;KAC5C;IACD,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE;IAClD,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,qBAAqB,EAAE;IACxD,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,6CAA6C,EAAE;IAChF,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,0BAA0B,EAAE;IAC7D,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,yBAAyB,EAAE;IAC5D,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,iCAAiC,EAAE;IACpE,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,6BAAqB,CAAC,WAAW;QAC7C,WAAW,EAAE,wBAAwB;KACtC;IACD,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,6BAA6B,EAAE;IAChE,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,6BAAqB,CAAC,OAAO;QACzC,WAAW,EAAE,aAAa;KAC3B;IACD,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,mCAAmC,EAAE;IACtE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE;IAC/C,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,uCAAuC,EAAE;CAC3E,CAAC;AAQF,SAAgB,0BAA0B,CACxC,eAAuB;IAEvB,OAAO,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,eAAe,IAAI,iCAAyB,CAAC;AACzF,CAAC;AASD,SAAgB,sBAAsB,CAAC,eAAuB;IAC5D,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,sCAAsC,eAAe,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,iCAAyB,CAAC,eAAe,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ItauOccurrenceCode, ItauOccurrenceMapping } from '../../types/adapters';
|
|
2
|
+
export declare const ITAU_OCCURRENCE_CODE_MAP: Record<ItauOccurrenceCode, ItauOccurrenceMapping>;
|
|
3
|
+
export declare function isValidItauOccurrenceCode(occurrenceCode: string): occurrenceCode is ItauOccurrenceCode;
|
|
4
|
+
export declare function mapItauOccurrenceCode(occurrenceCode: string): ItauOccurrenceMapping;
|
|
5
|
+
//# sourceMappingURL=ItauOccurrenceMapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItauOccurrenceMapper.d.ts","sourceRoot":"","sources":["../../../src/adapters/itau/ItauOccurrenceMapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAKtF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAoCtF,CAAC;AAQF,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,MAAM,GACrB,cAAc,IAAI,kBAAkB,CAEtC;AASD,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,qBAAqB,CAMnF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ITAU_OCCURRENCE_CODE_MAP = void 0;
|
|
4
|
+
exports.isValidItauOccurrenceCode = isValidItauOccurrenceCode;
|
|
5
|
+
exports.mapItauOccurrenceCode = mapItauOccurrenceCode;
|
|
6
|
+
exports.ITAU_OCCURRENCE_CODE_MAP = {
|
|
7
|
+
'02': { code: '02', category: 'entry', description: 'Entry confirmed' },
|
|
8
|
+
'03': { code: '03', category: 'rejection', description: 'Entry rejected' },
|
|
9
|
+
'04': { code: '04', category: 'maintenance', description: 'Transfer to discounted' },
|
|
10
|
+
'05': { code: '05', category: 'maintenance', description: 'Transfer to pledge' },
|
|
11
|
+
'06': { code: '06', category: 'settlement', description: 'Payment liquidation' },
|
|
12
|
+
'07': { code: '07', category: 'settlement', description: 'Payment confirmation via bank' },
|
|
13
|
+
'08': { code: '08', category: 'settlement', description: 'Payment by clearing' },
|
|
14
|
+
'09': { code: '09', category: 'settlement', description: 'Partial payment' },
|
|
15
|
+
'10': { code: '10', category: 'maintenance', description: 'Low via file' },
|
|
16
|
+
'11': { code: '11', category: 'maintenance', description: 'Title in being' },
|
|
17
|
+
'12': { code: '12', category: 'instruction', description: 'Abatement granted' },
|
|
18
|
+
'13': { code: '13', category: 'instruction', description: 'Abatement canceled' },
|
|
19
|
+
'14': { code: '14', category: 'instruction', description: 'Due date change' },
|
|
20
|
+
'15': { code: '15', category: 'settlement', description: 'Payment liquidation after low' },
|
|
21
|
+
'16': { code: '16', category: 'instruction', description: 'Instruction change confirmation' },
|
|
22
|
+
'17': { code: '17', category: 'payer', description: 'Allegation payer' },
|
|
23
|
+
'18': { code: '18', category: 'rejection', description: 'Instruction rejected' },
|
|
24
|
+
'19': { code: '19', category: 'instruction', description: 'Instruction confirmation' },
|
|
25
|
+
'20': { code: '20', category: 'charge', description: 'Debited' },
|
|
26
|
+
'21': { code: '21', category: 'maintenance', description: 'Title change' },
|
|
27
|
+
'23': { code: '23', category: 'settlement', description: 'Late payment' },
|
|
28
|
+
'24': { code: '24', category: 'rejection', description: 'Entry rejected - duplicate' },
|
|
29
|
+
'25': { code: '25', category: 'rejection', description: 'Protest entry rejected' },
|
|
30
|
+
'26': {
|
|
31
|
+
code: '26',
|
|
32
|
+
category: 'rejection',
|
|
33
|
+
description: 'Instruction rejected - title already protested',
|
|
34
|
+
},
|
|
35
|
+
'27': { code: '27', category: 'rejection', description: 'Protest withdrawal rejected' },
|
|
36
|
+
'28': { code: '28', category: 'charge', description: 'Debit of fees/commissions' },
|
|
37
|
+
'29': { code: '29', category: 'maintenance', description: 'Protest maintained' },
|
|
38
|
+
'30': { code: '30', category: 'rejection', description: 'Command recused' },
|
|
39
|
+
'31': { code: '31', category: 'payer', description: 'Manual change of payer' },
|
|
40
|
+
'32': { code: '32', category: 'payer', description: 'Returned by Correios' },
|
|
41
|
+
'33': { code: '33', category: 'settlement', description: 'Delayed payment' },
|
|
42
|
+
};
|
|
43
|
+
function isValidItauOccurrenceCode(occurrenceCode) {
|
|
44
|
+
return /^\d{2}$/.test(occurrenceCode) && occurrenceCode in exports.ITAU_OCCURRENCE_CODE_MAP;
|
|
45
|
+
}
|
|
46
|
+
function mapItauOccurrenceCode(occurrenceCode) {
|
|
47
|
+
if (!isValidItauOccurrenceCode(occurrenceCode)) {
|
|
48
|
+
throw new Error(`Unsupported Itau occurrence code: ${occurrenceCode}`);
|
|
49
|
+
}
|
|
50
|
+
return exports.ITAU_OCCURRENCE_CODE_MAP[occurrenceCode];
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=ItauOccurrenceMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItauOccurrenceMapper.js","sourceRoot":"","sources":["../../../src/adapters/itau/ItauOccurrenceMapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ItauOurNumberResult } from '../../types/adapters';
|
|
2
|
+
export declare function calculateItauOurNumberCheckDigit(baseNumber: string): number;
|
|
3
|
+
export declare function formatItauOurNumber(baseNumber: string): string;
|
|
4
|
+
export declare function buildItauOurNumber(baseNumber: string): ItauOurNumberResult;
|
|
5
|
+
//# sourceMappingURL=ItauOurNumberCalculator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItauOurNumberCalculator.d.ts","sourceRoot":"","sources":["../../../src/adapters/itau/ItauOurNumberCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAehE,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAU3E;AAQD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAG9D;AAQD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAQ1E"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calculateItauOurNumberCheckDigit = calculateItauOurNumberCheckDigit;
|
|
4
|
+
exports.formatItauOurNumber = formatItauOurNumber;
|
|
5
|
+
exports.buildItauOurNumber = buildItauOurNumber;
|
|
6
|
+
const generators_1 = require("@utils/generators");
|
|
7
|
+
function calculateItauOurNumberCheckDigit(baseNumber) {
|
|
8
|
+
if (!baseNumber) {
|
|
9
|
+
throw new Error('Base number is required');
|
|
10
|
+
}
|
|
11
|
+
if (!/^\d+$/.test(baseNumber)) {
|
|
12
|
+
throw new Error('Base number must contain only digits');
|
|
13
|
+
}
|
|
14
|
+
return (0, generators_1.calculateModulo10)(baseNumber);
|
|
15
|
+
}
|
|
16
|
+
function formatItauOurNumber(baseNumber) {
|
|
17
|
+
const checkDigit = calculateItauOurNumberCheckDigit(baseNumber);
|
|
18
|
+
return `${baseNumber}${checkDigit}`;
|
|
19
|
+
}
|
|
20
|
+
function buildItauOurNumber(baseNumber) {
|
|
21
|
+
const checkDigit = calculateItauOurNumberCheckDigit(baseNumber);
|
|
22
|
+
return {
|
|
23
|
+
baseNumber,
|
|
24
|
+
checkDigit,
|
|
25
|
+
formatted: `${baseNumber}${checkDigit}`,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=ItauOurNumberCalculator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItauOurNumberCalculator.js","sourceRoot":"","sources":["../../../src/adapters/itau/ItauOurNumberCalculator.ts"],"names":[],"mappings":";;AAeA,4EAUC;AAQD,kDAGC;AAQD,gDAQC;AAnDD,kDAAsD;AActD,SAAgB,gCAAgC,CAAC,UAAkB;IACjE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,IAAA,8BAAiB,EAAC,UAAU,CAAC,CAAC;AACvC,CAAC;AAQD,SAAgB,mBAAmB,CAAC,UAAkB;IACpD,MAAM,UAAU,GAAG,gCAAgC,CAAC,UAAU,CAAC,CAAC;IAChE,OAAO,GAAG,UAAU,GAAG,UAAU,EAAE,CAAC;AACtC,CAAC;AAQD,SAAgB,kBAAkB,CAAC,UAAkB;IACnD,MAAM,UAAU,GAAG,gCAAgC,CAAC,UAAU,CAAC,CAAC;IAEhE,OAAO;QACL,UAAU;QACV,UAAU;QACV,SAAS,EAAE,GAAG,UAAU,GAAG,UAAU,EAAE;KACxC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ItauLiquidationCode, ItauLiquidationMapping, ItauRejectionMessageMapping } from '../../types/adapters';
|
|
2
|
+
export declare const ITAU_LIQUIDATION_CODE_MAP: Record<ItauLiquidationCode, ItauLiquidationMapping>;
|
|
3
|
+
export declare function isValidItauLiquidationCode(liquidationCode: string): boolean;
|
|
4
|
+
export declare function mapItauLiquidationCode(liquidationCode: string): ItauLiquidationMapping;
|
|
5
|
+
export declare function mapItauRejectionMessage(rejectionMessage: string | undefined): ItauRejectionMessageMapping | undefined;
|
|
6
|
+
//# sourceMappingURL=ItauReturnMapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItauReturnMapper.d.ts","sourceRoot":"","sources":["../../../src/adapters/itau/ItauReturnMapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC5B,MAAM,sBAAsB,CAAC;AAM9B,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CASzF,CAAC;AAgCF,wBAAgB,0BAA0B,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAI3E;AASD,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,MAAM,GAAG,sBAAsB,CAQtF;AAQD,wBAAgB,uBAAuB,CACrC,gBAAgB,EAAE,MAAM,GAAG,SAAS,GACnC,2BAA2B,GAAG,SAAS,CAoCzC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ITAU_LIQUIDATION_CODE_MAP = void 0;
|
|
4
|
+
exports.isValidItauLiquidationCode = isValidItauLiquidationCode;
|
|
5
|
+
exports.mapItauLiquidationCode = mapItauLiquidationCode;
|
|
6
|
+
exports.mapItauRejectionMessage = mapItauRejectionMessage;
|
|
7
|
+
const bancos_1 = require("../../constants/bancos");
|
|
8
|
+
exports.ITAU_LIQUIDATION_CODE_MAP = {
|
|
9
|
+
'01': { code: '01', category: 'bank', description: 'Liquidation channel 01 (bank)' },
|
|
10
|
+
'02': { code: '02', category: 'clearing', description: 'Liquidation channel 02 (clearing)' },
|
|
11
|
+
'03': {
|
|
12
|
+
code: '03',
|
|
13
|
+
category: 'electronic',
|
|
14
|
+
description: 'Liquidation channel 03 (electronic)',
|
|
15
|
+
},
|
|
16
|
+
'04': { code: '04', category: 'other', description: 'Liquidation channel 04 (other)' },
|
|
17
|
+
};
|
|
18
|
+
function normalizeItauRejectionCode(rejectionMessage) {
|
|
19
|
+
if (rejectionMessage.length >= 8) {
|
|
20
|
+
return rejectionMessage;
|
|
21
|
+
}
|
|
22
|
+
return rejectionMessage.padStart(8, '0');
|
|
23
|
+
}
|
|
24
|
+
function normalizeItauLiquidationCodeInput(liquidationCode) {
|
|
25
|
+
const normalizedCode = liquidationCode.trim();
|
|
26
|
+
if (/^\d$/.test(normalizedCode)) {
|
|
27
|
+
return normalizedCode.padStart(2, '0');
|
|
28
|
+
}
|
|
29
|
+
return normalizedCode;
|
|
30
|
+
}
|
|
31
|
+
function isValidItauLiquidationCode(liquidationCode) {
|
|
32
|
+
const normalizedCode = normalizeItauLiquidationCodeInput(liquidationCode);
|
|
33
|
+
return /^\d{2}$/.test(normalizedCode) && normalizedCode in exports.ITAU_LIQUIDATION_CODE_MAP;
|
|
34
|
+
}
|
|
35
|
+
function mapItauLiquidationCode(liquidationCode) {
|
|
36
|
+
const normalizedCode = normalizeItauLiquidationCodeInput(liquidationCode);
|
|
37
|
+
if (!isValidItauLiquidationCode(normalizedCode)) {
|
|
38
|
+
throw new Error(`Unsupported Itau liquidation code: ${liquidationCode}`);
|
|
39
|
+
}
|
|
40
|
+
return exports.ITAU_LIQUIDATION_CODE_MAP[normalizedCode];
|
|
41
|
+
}
|
|
42
|
+
function mapItauRejectionMessage(rejectionMessage) {
|
|
43
|
+
if (!rejectionMessage) {
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
const normalizedMessage = rejectionMessage.trim();
|
|
47
|
+
if (normalizedMessage.length === 0) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
if (/^\d+$/.test(normalizedMessage)) {
|
|
51
|
+
const normalizedCode = normalizeItauRejectionCode(normalizedMessage);
|
|
52
|
+
if (/^0+$/.test(normalizedCode)) {
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
const knownDescription = bancos_1.ITAU_REJECTION_CODE_DESCRIPTION_MAP[normalizedCode];
|
|
56
|
+
return {
|
|
57
|
+
raw: normalizedMessage,
|
|
58
|
+
category: 'code',
|
|
59
|
+
code: normalizedCode,
|
|
60
|
+
source: knownDescription ? 'catalog' : 'fallback',
|
|
61
|
+
description: knownDescription ?? `Itaú rejection code from return message area: ${normalizedCode}`,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
raw: normalizedMessage,
|
|
66
|
+
category: 'text',
|
|
67
|
+
source: 'free-text',
|
|
68
|
+
description: 'Itaú free-text rejection message from return message area',
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=ItauReturnMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItauReturnMapper.js","sourceRoot":"","sources":["../../../src/adapters/itau/ItauReturnMapper.ts"],"names":[],"mappings":";;;AAmDA,gEAIC;AASD,wDAQC;AAQD,0DAsCC;AAjHD,mDAA6E;AAKhE,QAAA,yBAAyB,GAAwD;IAC5F,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,+BAA+B,EAAE;IACpF,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,mCAAmC,EAAE;IAC5F,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,qCAAqC;KACnD;IACD,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,gCAAgC,EAAE;CACvF,CAAC;AAKF,SAAS,0BAA0B,CAAC,gBAAwB;IAC1D,IAAI,gBAAgB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC;AAKD,SAAS,iCAAiC,CAAC,eAAuB;IAChE,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC;IAE9C,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QAChC,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAQD,SAAgB,0BAA0B,CAAC,eAAuB;IAChE,MAAM,cAAc,GAAG,iCAAiC,CAAC,eAAe,CAAC,CAAC;IAE1E,OAAO,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,cAAc,IAAI,iCAAyB,CAAC;AACvF,CAAC;AASD,SAAgB,sBAAsB,CAAC,eAAuB;IAC5D,MAAM,cAAc,GAAG,iCAAiC,CAAC,eAAe,CAAC,CAAC;IAE1E,IAAI,CAAC,0BAA0B,CAAC,cAAc,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,sCAAsC,eAAe,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,iCAAyB,CAAC,cAAqC,CAAC,CAAC;AAC1E,CAAC;AAQD,SAAgB,uBAAuB,CACrC,gBAAoC;IAEpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAElD,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;QAErE,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,gBAAgB,GAAG,4CAAmC,CAAC,cAAc,CAAC,CAAC;QAE7E,OAAO;YACL,GAAG,EAAE,iBAAiB;YACtB,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;YACjD,WAAW,EACT,gBAAgB,IAAI,iDAAiD,cAAc,EAAE;SACxF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE,iBAAiB;QACtB,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,2DAA2D;KACzE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ValidationResult } from '../../validators/common';
|
|
2
|
+
import type { ItauRemittanceFields, ItauReturnFields } from '../../types/adapters';
|
|
3
|
+
export declare function validateItauRemittanceFields(fields: ItauRemittanceFields): ValidationResult;
|
|
4
|
+
export declare function validateItauReturnFields(fields: ItauReturnFields): ValidationResult;
|
|
5
|
+
export declare function assertValidItauRemittanceFields(fields: ItauRemittanceFields): void;
|
|
6
|
+
export declare function assertValidItauReturnFields(fields: ItauReturnFields): void;
|
|
7
|
+
//# sourceMappingURL=ItauValidator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItauValidator.d.ts","sourceRoot":"","sources":["../../../src/adapters/itau/ItauValidator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA+BnF,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,oBAAoB,GAAG,gBAAgB,CAgC3F;AAQD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CA+CnF;AAQD,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAKlF;AAQD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAK1E"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateItauRemittanceFields = validateItauRemittanceFields;
|
|
4
|
+
exports.validateItauReturnFields = validateItauReturnFields;
|
|
5
|
+
exports.assertValidItauRemittanceFields = assertValidItauRemittanceFields;
|
|
6
|
+
exports.assertValidItauReturnFields = assertValidItauReturnFields;
|
|
7
|
+
const ItauOccurrenceMapper_1 = require("./ItauOccurrenceMapper");
|
|
8
|
+
const ItauWalletValidator_1 = require("./ItauWalletValidator");
|
|
9
|
+
function createValidationResult(errors) {
|
|
10
|
+
return {
|
|
11
|
+
isValid: errors.length === 0,
|
|
12
|
+
errors,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function isFourDigitCode(value) {
|
|
16
|
+
return /^\d{4}$/.test(value);
|
|
17
|
+
}
|
|
18
|
+
function isTwoDigitCode(value) {
|
|
19
|
+
return /^\d{2}$/.test(value);
|
|
20
|
+
}
|
|
21
|
+
function isSingleItauWalletType(value) {
|
|
22
|
+
return value === 'I';
|
|
23
|
+
}
|
|
24
|
+
function isValidDdaIndicator(value) {
|
|
25
|
+
return value === undefined || value === '0' || value === '1';
|
|
26
|
+
}
|
|
27
|
+
function validateItauRemittanceFields(fields) {
|
|
28
|
+
const errors = [];
|
|
29
|
+
if (!isFourDigitCode(fields.instructionCancellationCode)) {
|
|
30
|
+
errors.push(`Invalid Itaú instruction cancellation code: ${fields.instructionCancellationCode}`);
|
|
31
|
+
}
|
|
32
|
+
if (!fields.walletNumber || !(0, ItauWalletValidator_1.isValidItauWallet)(fields.walletNumber)) {
|
|
33
|
+
errors.push(`Unsupported Itau wallet code: ${fields.walletNumber ?? ''}`.trim());
|
|
34
|
+
}
|
|
35
|
+
if (!isSingleItauWalletType(fields.walletType)) {
|
|
36
|
+
errors.push(`Invalid Itaú wallet type: ${fields.walletType ?? ''}`);
|
|
37
|
+
}
|
|
38
|
+
if (!fields.occurrenceCode ||
|
|
39
|
+
(fields.occurrenceCode !== '01' && !(0, ItauOccurrenceMapper_1.isValidItauOccurrenceCode)(fields.occurrenceCode))) {
|
|
40
|
+
errors.push(`Unsupported Itau occurrence code: ${fields.occurrenceCode ?? ''}`);
|
|
41
|
+
}
|
|
42
|
+
if (fields.daysCount !== undefined &&
|
|
43
|
+
(!Number.isInteger(fields.daysCount) || fields.daysCount < 0 || fields.daysCount > 99)) {
|
|
44
|
+
errors.push(`Invalid Itaú days count: ${fields.daysCount}`);
|
|
45
|
+
}
|
|
46
|
+
return createValidationResult(errors);
|
|
47
|
+
}
|
|
48
|
+
function validateItauReturnFields(fields) {
|
|
49
|
+
const errors = [];
|
|
50
|
+
if (fields.walletNumber && !(0, ItauWalletValidator_1.isValidItauWallet)(fields.walletNumber)) {
|
|
51
|
+
errors.push(`Unsupported Itau wallet code: ${fields.walletNumber}`);
|
|
52
|
+
}
|
|
53
|
+
if (!isSingleItauWalletType(fields.walletType)) {
|
|
54
|
+
errors.push(`Invalid Itaú wallet type: ${fields.walletType ?? ''}`);
|
|
55
|
+
}
|
|
56
|
+
if (!isValidDdaIndicator(fields.ddaIndicator)) {
|
|
57
|
+
errors.push(`Invalid Itaú DDA indicator: ${fields.ddaIndicator}`);
|
|
58
|
+
}
|
|
59
|
+
if (fields.creditDate !== undefined &&
|
|
60
|
+
(!(fields.creditDate instanceof Date) || Number.isNaN(fields.creditDate.getTime()))) {
|
|
61
|
+
errors.push('Invalid Itaú credit date');
|
|
62
|
+
}
|
|
63
|
+
if (fields.bankOurNumberDigit !== undefined && !/^\d$/.test(fields.bankOurNumberDigit)) {
|
|
64
|
+
errors.push(`Invalid Itaú bank our-number digit: ${fields.bankOurNumberDigit}`);
|
|
65
|
+
}
|
|
66
|
+
if (fields.bankOurNumber &&
|
|
67
|
+
fields.confirmedOurNumber &&
|
|
68
|
+
fields.bankOurNumber !== fields.confirmedOurNumber) {
|
|
69
|
+
errors.push('Bank our-number does not match confirmed our-number');
|
|
70
|
+
}
|
|
71
|
+
if (!isFourDigitCode(fields.canceledInstructionCode)) {
|
|
72
|
+
errors.push(`Invalid Itaú canceled instruction code: ${fields.canceledInstructionCode}`);
|
|
73
|
+
}
|
|
74
|
+
if (fields.liquidationCode !== undefined && !isTwoDigitCode(fields.liquidationCode)) {
|
|
75
|
+
errors.push(`Invalid Itaú liquidation code: ${fields.liquidationCode}`);
|
|
76
|
+
}
|
|
77
|
+
if (fields.liquidationCode !== undefined && fields.creditDate === undefined) {
|
|
78
|
+
errors.push('Itaú credit date is required when liquidation code is informed');
|
|
79
|
+
}
|
|
80
|
+
return createValidationResult(errors);
|
|
81
|
+
}
|
|
82
|
+
function assertValidItauRemittanceFields(fields) {
|
|
83
|
+
const result = validateItauRemittanceFields(fields);
|
|
84
|
+
if (!result.isValid) {
|
|
85
|
+
throw new Error('Invalid Itaú remittance fields');
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function assertValidItauReturnFields(fields) {
|
|
89
|
+
const result = validateItauReturnFields(fields);
|
|
90
|
+
if (!result.isValid) {
|
|
91
|
+
throw new Error('Invalid Itaú return fields');
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=ItauValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItauValidator.js","sourceRoot":"","sources":["../../../src/adapters/itau/ItauValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ItauWalletCode, ItauWalletConfig } from '../../types/adapters';
|
|
2
|
+
export declare const ITAU_SUPPORTED_WALLETS: readonly ItauWalletCode[];
|
|
3
|
+
export declare const ITAU_WALLET_CONFIG_MAP: Record<ItauWalletCode, ItauWalletConfig>;
|
|
4
|
+
export declare function isValidItauWallet(walletCode: string): walletCode is ItauWalletCode;
|
|
5
|
+
export declare function getItauWalletConfig(walletCode: string): ItauWalletConfig | undefined;
|
|
6
|
+
export declare function assertValidItauWallet(walletCode: string): void;
|
|
7
|
+
//# sourceMappingURL=ItauWalletValidator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItauWalletValidator.d.ts","sourceRoot":"","sources":["../../../src/adapters/itau/ItauWalletValidator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAK7E,eAAO,MAAM,sBAAsB,EAAE,SAAS,cAAc,EAKlD,CAAC;AAKX,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAyB3E,CAAC;AAaF,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,cAAc,CAIlF;AAQD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAepF;AAQD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAI9D"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ITAU_WALLET_CONFIG_MAP = exports.ITAU_SUPPORTED_WALLETS = void 0;
|
|
4
|
+
exports.isValidItauWallet = isValidItauWallet;
|
|
5
|
+
exports.getItauWalletConfig = getItauWalletConfig;
|
|
6
|
+
exports.assertValidItauWallet = assertValidItauWallet;
|
|
7
|
+
exports.ITAU_SUPPORTED_WALLETS = [
|
|
8
|
+
'109',
|
|
9
|
+
'112',
|
|
10
|
+
'115',
|
|
11
|
+
'180',
|
|
12
|
+
];
|
|
13
|
+
exports.ITAU_WALLET_CONFIG_MAP = {
|
|
14
|
+
'109': {
|
|
15
|
+
code: '109',
|
|
16
|
+
description: 'Simple collection without registration',
|
|
17
|
+
cnab240PortfolioCode: '109',
|
|
18
|
+
cnab400WalletType: 'I',
|
|
19
|
+
},
|
|
20
|
+
'112': {
|
|
21
|
+
code: '112',
|
|
22
|
+
description: 'Simple collection with registration',
|
|
23
|
+
cnab240PortfolioCode: '112',
|
|
24
|
+
cnab400WalletType: 'I',
|
|
25
|
+
},
|
|
26
|
+
'115': {
|
|
27
|
+
code: '115',
|
|
28
|
+
description: 'Guaranteed collection with registration',
|
|
29
|
+
cnab240PortfolioCode: '115',
|
|
30
|
+
cnab400WalletType: 'I',
|
|
31
|
+
},
|
|
32
|
+
'180': {
|
|
33
|
+
code: '180',
|
|
34
|
+
description: 'Direct collection with registration',
|
|
35
|
+
cnab240PortfolioCode: '180',
|
|
36
|
+
cnab400WalletType: 'I',
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
function isValidItauWallet(walletCode) {
|
|
40
|
+
return (/^\d{3}$/.test(walletCode) && exports.ITAU_SUPPORTED_WALLETS.includes(walletCode));
|
|
41
|
+
}
|
|
42
|
+
function getItauWalletConfig(walletCode) {
|
|
43
|
+
if (isValidItauWallet(walletCode)) {
|
|
44
|
+
return exports.ITAU_WALLET_CONFIG_MAP[walletCode];
|
|
45
|
+
}
|
|
46
|
+
if (/^\d$/.test(walletCode)) {
|
|
47
|
+
const matched = Object.values(exports.ITAU_WALLET_CONFIG_MAP).find((config) => config.cnab240PortfolioCode.endsWith(walletCode));
|
|
48
|
+
return matched;
|
|
49
|
+
}
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
function assertValidItauWallet(walletCode) {
|
|
53
|
+
if (!isValidItauWallet(walletCode)) {
|
|
54
|
+
throw new Error(`Unsupported Itau wallet code: ${walletCode}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=ItauWalletValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItauWalletValidator.js","sourceRoot":"","sources":["../../../src/adapters/itau/ItauWalletValidator.ts"],"names":[],"mappings":";;;AAqDA,8CAIC;AAQD,kDAeC;AAQD,sDAIC;AAvFY,QAAA,sBAAsB,GAA8B;IAC/D,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAC;AAKE,QAAA,sBAAsB,GAA6C;IAC9E,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,wCAAwC;QACrD,oBAAoB,EAAE,KAAK;QAC3B,iBAAiB,EAAE,GAAG;KACvB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,qCAAqC;QAClD,oBAAoB,EAAE,KAAK;QAC3B,iBAAiB,EAAE,GAAG;KACvB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,yCAAyC;QACtD,oBAAoB,EAAE,KAAK;QAC3B,iBAAiB,EAAE,GAAG;KACvB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,qCAAqC;QAClD,oBAAoB,EAAE,KAAK;QAC3B,iBAAiB,EAAE,GAAG;KACvB;CACF,CAAC;AAaF,SAAgB,iBAAiB,CAAC,UAAkB;IAClD,OAAO,CACL,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,8BAAsB,CAAC,QAAQ,CAAC,UAA4B,CAAC,CAC5F,CAAC;AACJ,CAAC;AAQD,SAAgB,mBAAmB,CAAC,UAAkB;IACpD,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,OAAO,8BAAsB,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAGD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,8BAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACpE,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,CACjD,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAQD,SAAgB,qBAAqB,CAAC,UAAkB;IACtD,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './ItauAdapter';
|
|
2
|
+
export * from './ItauFieldParser';
|
|
3
|
+
export * from './ItauInstructionMapper';
|
|
4
|
+
export * from './ItauOccurrenceMapper';
|
|
5
|
+
export * from './ItauOurNumberCalculator';
|
|
6
|
+
export * from './ItauReturnMapper';
|
|
7
|
+
export * from './ItauValidator';
|
|
8
|
+
export * from './ItauWalletValidator';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/itau/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./ItauAdapter"), exports);
|
|
18
|
+
__exportStar(require("./ItauFieldParser"), exports);
|
|
19
|
+
__exportStar(require("./ItauInstructionMapper"), exports);
|
|
20
|
+
__exportStar(require("./ItauOccurrenceMapper"), exports);
|
|
21
|
+
__exportStar(require("./ItauOurNumberCalculator"), exports);
|
|
22
|
+
__exportStar(require("./ItauReturnMapper"), exports);
|
|
23
|
+
__exportStar(require("./ItauValidator"), exports);
|
|
24
|
+
__exportStar(require("./ItauWalletValidator"), exports);
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/itau/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,oDAAkC;AAClC,0DAAwC;AACxC,yDAAuC;AACvC,4DAA0C;AAC1C,qDAAmC;AACnC,kDAAgC;AAChC,wDAAsC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItauRejectionCodes.d.ts","sourceRoot":"","sources":["../../../src/constants/bancos/ItauRejectionCodes.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mCAAmC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQtE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ITAU_REJECTION_CODE_DESCRIPTION_MAP = void 0;
|
|
4
|
+
exports.ITAU_REJECTION_CODE_DESCRIPTION_MAP = {
|
|
5
|
+
'00000001': 'Rejected due to invalid wallet code',
|
|
6
|
+
'00000002': 'Rejected due to invalid payer document',
|
|
7
|
+
'00000003': 'Rejected due to invalid due date',
|
|
8
|
+
'00000004': 'Rejected due to invalid issue date',
|
|
9
|
+
'00000005': 'Rejected due to invalid due date factor',
|
|
10
|
+
'00000006': 'Rejected due to invalid title amount',
|
|
11
|
+
'00000010': 'Rejected due to invalid beneficiary document',
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=ItauRejectionCodes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItauRejectionCodes.js","sourceRoot":"","sources":["../../../src/constants/bancos/ItauRejectionCodes.ts"],"names":[],"mappings":";;;AAGa,QAAA,mCAAmC,GAA2B;IACzE,UAAU,EAAE,qCAAqC;IACjD,UAAU,EAAE,wCAAwC;IACpD,UAAU,EAAE,kCAAkC;IAC9C,UAAU,EAAE,oCAAoC;IAChD,UAAU,EAAE,yCAAyC;IACrD,UAAU,EAAE,sCAAsC;IAClD,UAAU,EAAE,8CAA8C;CAC3D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/bancos/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/bancos/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC"}
|