@seidor-cloud-produtos/tax-core 0.0.9-beta6 → 0.0.9-beta8
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/dist/index.d.ts +14 -12
- package/dist/index.js +18 -605
- package/dist/taxReport/Block.d.ts +5 -6
- package/dist/taxReport/Block.js +35 -71
- package/dist/taxReport/CounterBlock.d.ts +4 -7
- package/dist/taxReport/CounterBlock.js +10 -82
- package/dist/taxReport/CounterRegister.d.ts +2 -5
- package/dist/taxReport/CounterRegister.js +29 -172
- package/dist/taxReport/Decorators.d.ts +31 -1
- package/dist/taxReport/Decorators.js +123 -140
- package/dist/taxReport/Register.d.ts +11 -1
- package/dist/taxReport/Register.js +38 -108
- package/dist/taxReport/ReportGenerator.d.ts +43 -7
- package/dist/taxReport/ReportGenerator.js +144 -523
- package/dist/taxReport/TagCounter.d.ts +2 -5
- package/dist/taxReport/TagCounter.js +35 -58
- package/dist/taxReport/TaxReport.d.ts +2 -7
- package/dist/taxReport/TaxReport.js +17 -40
- package/dist/taxReport/implementations/ConsoleOutput.d.ts +2 -5
- package/dist/taxReport/implementations/ConsoleOutput.js +14 -38
- package/dist/taxReport/implementations/MemoryPersist.d.ts +3 -6
- package/dist/taxReport/implementations/MemoryPersist.js +48 -68
- package/dist/taxReport/implementations/TaxRegisterGenerator.d.ts +5 -8
- package/dist/taxReport/implementations/TaxRegisterGenerator.js +78 -115
- package/dist/taxReport/interfaces/BlocksIterator.d.ts +2 -2
- package/dist/taxReport/interfaces/BlocksIterator.js +0 -1
- package/dist/taxReport/interfaces/OutputWriter.d.ts +1 -3
- package/dist/taxReport/interfaces/OutputWriter.js +1 -18
- package/dist/taxReport/interfaces/RegisterEventNotifier.d.ts +15 -1
- package/dist/taxReport/interfaces/RegisterEventNotifier.js +13 -41
- package/dist/taxReport/interfaces/RegisterGenerator.d.ts +2 -5
- package/dist/taxReport/interfaces/RegisterGenerator.js +1 -18
- package/dist/taxReport/interfaces/RegisterPersist.d.ts +2 -5
- package/dist/taxReport/interfaces/RegisterPersist.js +1 -18
- package/dist/taxReport/interfaces/RegisterSubscriber.d.ts +4 -1
- package/dist/taxReport/interfaces/RegisterSubscriber.js +1 -18
- package/package.json +10 -10
- package/dist/Decorators-DNy0zTu7.d.mts +0 -50
- package/dist/Decorators-DNy0zTu7.d.ts +0 -50
- package/dist/Register-238WFjqI.d.mts +0 -30
- package/dist/Register-238WFjqI.d.ts +0 -30
- package/dist/ReportGenerator-BQKe8MXb.d.mts +0 -57
- package/dist/ReportGenerator-CopTdlph.d.ts +0 -57
- package/dist/index.d.mts +0 -12
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -579
- package/dist/index.mjs.map +0 -1
- package/dist/taxReport/Block.d.mts +0 -19
- package/dist/taxReport/Block.js.map +0 -1
- package/dist/taxReport/Block.mjs +0 -52
- package/dist/taxReport/Block.mjs.map +0 -1
- package/dist/taxReport/CounterBlock.d.mts +0 -10
- package/dist/taxReport/CounterBlock.js.map +0 -1
- package/dist/taxReport/CounterBlock.mjs +0 -61
- package/dist/taxReport/CounterBlock.mjs.map +0 -1
- package/dist/taxReport/CounterRegister.d.mts +0 -9
- package/dist/taxReport/CounterRegister.js.map +0 -1
- package/dist/taxReport/CounterRegister.mjs +0 -157
- package/dist/taxReport/CounterRegister.mjs.map +0 -1
- package/dist/taxReport/Decorators.d.mts +0 -1
- package/dist/taxReport/Decorators.js.map +0 -1
- package/dist/taxReport/Decorators.mjs +0 -121
- package/dist/taxReport/Decorators.mjs.map +0 -1
- package/dist/taxReport/Register.d.mts +0 -1
- package/dist/taxReport/Register.js.map +0 -1
- package/dist/taxReport/Register.mjs +0 -89
- package/dist/taxReport/Register.mjs.map +0 -1
- package/dist/taxReport/ReportGenerator.d.mts +0 -7
- package/dist/taxReport/ReportGenerator.js.map +0 -1
- package/dist/taxReport/ReportGenerator.mjs +0 -505
- package/dist/taxReport/ReportGenerator.mjs.map +0 -1
- package/dist/taxReport/TagCounter.d.mts +0 -11
- package/dist/taxReport/TagCounter.js.map +0 -1
- package/dist/taxReport/TagCounter.mjs +0 -40
- package/dist/taxReport/TagCounter.mjs.map +0 -1
- package/dist/taxReport/TaxReport.d.mts +0 -13
- package/dist/taxReport/TaxReport.js.map +0 -1
- package/dist/taxReport/TaxReport.mjs +0 -20
- package/dist/taxReport/TaxReport.mjs.map +0 -1
- package/dist/taxReport/implementations/ConsoleOutput.d.mts +0 -10
- package/dist/taxReport/implementations/ConsoleOutput.js.map +0 -1
- package/dist/taxReport/implementations/ConsoleOutput.mjs +0 -18
- package/dist/taxReport/implementations/ConsoleOutput.mjs.map +0 -1
- package/dist/taxReport/implementations/MemoryPersist.d.mts +0 -19
- package/dist/taxReport/implementations/MemoryPersist.js.map +0 -1
- package/dist/taxReport/implementations/MemoryPersist.mjs +0 -52
- package/dist/taxReport/implementations/MemoryPersist.mjs.map +0 -1
- package/dist/taxReport/implementations/TaxRegisterGenerator.d.mts +0 -24
- package/dist/taxReport/implementations/TaxRegisterGenerator.js.map +0 -1
- package/dist/taxReport/implementations/TaxRegisterGenerator.mjs +0 -98
- package/dist/taxReport/implementations/TaxRegisterGenerator.mjs.map +0 -1
- package/dist/taxReport/interfaces/BlocksIterator.d.mts +0 -2
- package/dist/taxReport/interfaces/BlocksIterator.js.map +0 -1
- package/dist/taxReport/interfaces/BlocksIterator.mjs +0 -1
- package/dist/taxReport/interfaces/BlocksIterator.mjs.map +0 -1
- package/dist/taxReport/interfaces/OutputWriter.d.mts +0 -6
- package/dist/taxReport/interfaces/OutputWriter.js.map +0 -1
- package/dist/taxReport/interfaces/OutputWriter.mjs +0 -1
- package/dist/taxReport/interfaces/OutputWriter.mjs.map +0 -1
- package/dist/taxReport/interfaces/RegisterEventNotifier.d.mts +0 -1
- package/dist/taxReport/interfaces/RegisterEventNotifier.js.map +0 -1
- package/dist/taxReport/interfaces/RegisterEventNotifier.mjs +0 -20
- package/dist/taxReport/interfaces/RegisterEventNotifier.mjs.map +0 -1
- package/dist/taxReport/interfaces/RegisterGenerator.d.mts +0 -8
- package/dist/taxReport/interfaces/RegisterGenerator.js.map +0 -1
- package/dist/taxReport/interfaces/RegisterGenerator.mjs +0 -1
- package/dist/taxReport/interfaces/RegisterGenerator.mjs.map +0 -1
- package/dist/taxReport/interfaces/RegisterPersist.d.mts +0 -13
- package/dist/taxReport/interfaces/RegisterPersist.js.map +0 -1
- package/dist/taxReport/interfaces/RegisterPersist.mjs +0 -1
- package/dist/taxReport/interfaces/RegisterPersist.mjs.map +0 -1
- package/dist/taxReport/interfaces/RegisterSubscriber.d.mts +0 -1
- package/dist/taxReport/interfaces/RegisterSubscriber.js.map +0 -1
- package/dist/taxReport/interfaces/RegisterSubscriber.mjs +0 -1
- package/dist/taxReport/interfaces/RegisterSubscriber.mjs.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
import
|
|
1
|
+
import Block from "./taxReport/Block";
|
|
2
|
+
import * as Decorators from "./taxReport/Decorators";
|
|
3
|
+
import { Register } from "./taxReport/Register";
|
|
4
|
+
import * as Generation from "./taxReport/ReportGenerator";
|
|
5
|
+
import TaxReport from "./taxReport/TaxReport";
|
|
6
|
+
import ConsoleOutput from "./taxReport/implementations/ConsoleOutput";
|
|
7
|
+
import MemoryPersist from "./taxReport/implementations/MemoryPersist";
|
|
8
|
+
import TaxRegisterGenerator from "./taxReport/implementations/TaxRegisterGenerator";
|
|
9
|
+
import { OutputWriter } from "./taxReport/interfaces/OutputWriter";
|
|
10
|
+
import RegisterEventNotifier from "./taxReport/interfaces/RegisterEventNotifier";
|
|
11
|
+
import RegisterGenerator from "./taxReport/interfaces/RegisterGenerator";
|
|
12
|
+
import RegisterPersist from "./taxReport/interfaces/RegisterPersist";
|
|
13
|
+
import RegisterSubscriber from "./taxReport/interfaces/RegisterSubscriber";
|
|
14
|
+
export { Block, Decorators, Register, Generation, TaxReport, ConsoleOutput, MemoryPersist, TaxRegisterGenerator, OutputWriter, RegisterEventNotifier, RegisterGenerator, RegisterPersist, RegisterSubscriber, };
|
package/dist/index.js
CHANGED
|
@@ -1,606 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key2) : target;
|
|
21
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
22
|
-
if (decorator = decorators[i])
|
|
23
|
-
result = (kind ? decorator(target, key2, result) : decorator(result)) || result;
|
|
24
|
-
if (kind && result) __defProp(target, key2, result);
|
|
25
|
-
return result;
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
// lib/index.ts
|
|
29
|
-
var lib_exports = {};
|
|
30
|
-
__export(lib_exports, {
|
|
31
|
-
Block: () => Block,
|
|
32
|
-
ConsoleOutput: () => ConsoleOutput,
|
|
33
|
-
Decorators: () => Decorators_exports,
|
|
34
|
-
MemoryPersist: () => MemoryPersist,
|
|
35
|
-
Register: () => Register,
|
|
36
|
-
ReportGenerator: () => ReportGenerator_exports,
|
|
37
|
-
TaxRegisterGenerator: () => TaxRegisterGenerator,
|
|
38
|
-
TaxReport: () => TaxReport
|
|
39
|
-
});
|
|
40
|
-
module.exports = __toCommonJS(lib_exports);
|
|
41
|
-
|
|
42
|
-
// lib/taxReport/Block.ts
|
|
43
|
-
var import_node_events = require("events");
|
|
44
|
-
|
|
45
|
-
// lib/taxReport/interfaces/RegisterEventNotifier.ts
|
|
46
|
-
function newRegisterEvent(event, register) {
|
|
47
|
-
return {
|
|
48
|
-
event,
|
|
49
|
-
dataTypeName: register.constructor.name,
|
|
50
|
-
data: register
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
function newRegisterEventData(register) {
|
|
54
|
-
return newRegisterEvent("register_created" /* REGISTER_CREATED */, register);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// lib/taxReport/Block.ts
|
|
58
|
-
var Block = class {
|
|
59
|
-
constructor(name, regPersist) {
|
|
60
|
-
this._name = name;
|
|
61
|
-
this.eventEmitter = new import_node_events.EventEmitter();
|
|
62
|
-
this.registersPersist = regPersist;
|
|
63
|
-
}
|
|
64
|
-
notifyEvent(eventData) {
|
|
65
|
-
this.eventEmitter.emit(eventData.event, eventData);
|
|
66
|
-
}
|
|
67
|
-
get name() {
|
|
68
|
-
return this._name;
|
|
69
|
-
}
|
|
70
|
-
get registers() {
|
|
71
|
-
const sortApproach = (a, b) => a.reg.localeCompare(b.reg);
|
|
72
|
-
return this.registersPersist.all().sort(sortApproach);
|
|
73
|
-
}
|
|
74
|
-
addSubscriber(subscriber) {
|
|
75
|
-
this.eventEmitter.on("register_created" /* REGISTER_CREATED */, function(data) {
|
|
76
|
-
return subscriber.eventHandler.call(subscriber, data);
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
addRegister(register) {
|
|
80
|
-
this.registersPersist.add(register);
|
|
81
|
-
this.notifyEvent(newRegisterEventData(register));
|
|
82
|
-
}
|
|
83
|
-
hasContent() {
|
|
84
|
-
return this.registersPersist.hasRegisters();
|
|
85
|
-
}
|
|
86
|
-
getRegisterByKey(registerKey) {
|
|
87
|
-
return this.registersPersist.getByKey(registerKey);
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
// lib/taxReport/Decorators.ts
|
|
92
|
-
var Decorators_exports = {};
|
|
93
|
-
__export(Decorators_exports, {
|
|
94
|
-
Alphanumeric: () => Alphanumeric,
|
|
95
|
-
Decimal: () => Decimal,
|
|
96
|
-
FieldDataType: () => FieldDataType,
|
|
97
|
-
Key: () => Key,
|
|
98
|
-
Numeric: () => Numeric,
|
|
99
|
-
defaultAlphanumericLength: () => defaultAlphanumericLength,
|
|
100
|
-
keyCompositionMetadata: () => keyCompositionMetadata,
|
|
101
|
-
maximumNumericLength: () => maximumNumericLength,
|
|
102
|
-
valueProviderType: () => valueProviderType
|
|
103
|
-
});
|
|
104
|
-
var import_reflect_metadata = require("reflect-metadata");
|
|
105
|
-
var keyCompositionMetadata = Symbol("key");
|
|
106
|
-
var maximumNumericLength = 19;
|
|
107
|
-
var defaultAlphanumericLength = 255;
|
|
108
|
-
var FieldDataType = /* @__PURE__ */ ((FieldDataType2) => {
|
|
109
|
-
FieldDataType2[FieldDataType2["alphanumeric"] = 0] = "alphanumeric";
|
|
110
|
-
FieldDataType2[FieldDataType2["numeric"] = 1] = "numeric";
|
|
111
|
-
return FieldDataType2;
|
|
112
|
-
})(FieldDataType || {});
|
|
113
|
-
var valueProviderType = /* @__PURE__ */ ((valueProviderType2) => {
|
|
114
|
-
valueProviderType2[valueProviderType2["property"] = 0] = "property";
|
|
115
|
-
valueProviderType2[valueProviderType2["method"] = 1] = "method";
|
|
116
|
-
return valueProviderType2;
|
|
117
|
-
})(valueProviderType || {});
|
|
118
|
-
function numericField(required, maximumLength, valueProvider, fillEntireLength = false, maximumDecimalsLength = 0) {
|
|
119
|
-
return {
|
|
120
|
-
required,
|
|
121
|
-
dataType: 1 /* numeric */,
|
|
122
|
-
maximumLength,
|
|
123
|
-
maximumDecimalsLength,
|
|
124
|
-
fillEntireLength,
|
|
125
|
-
valueProvider
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
function alphanumericField(required, maximumLength, valueProvider, fillEntireLength = false, maximumDecimalsLength = 0) {
|
|
129
|
-
return {
|
|
130
|
-
required,
|
|
131
|
-
dataType: 0 /* alphanumeric */,
|
|
132
|
-
maximumLength,
|
|
133
|
-
maximumDecimalsLength,
|
|
134
|
-
fillEntireLength,
|
|
135
|
-
valueProvider
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
function Numeric(required = false, fillEntireLength = false, maximumLength = maximumNumericLength) {
|
|
139
|
-
return function(target, propertyKey, other) {
|
|
140
|
-
Reflect.defineMetadata(
|
|
141
|
-
propertyKey,
|
|
142
|
-
numericField(
|
|
143
|
-
required,
|
|
144
|
-
maximumLength,
|
|
145
|
-
other ? 1 /* method */ : 0 /* property */,
|
|
146
|
-
fillEntireLength
|
|
147
|
-
),
|
|
148
|
-
target
|
|
149
|
-
);
|
|
150
|
-
return other;
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
function Decimal(required = false, fillEntireLength = false, maximumLength = maximumNumericLength, maximumDecimalsLength = 2) {
|
|
154
|
-
return function(target, propertyKey, other) {
|
|
155
|
-
Reflect.defineMetadata(
|
|
156
|
-
propertyKey,
|
|
157
|
-
numericField(
|
|
158
|
-
required,
|
|
159
|
-
maximumLength,
|
|
160
|
-
other ? 1 /* method */ : 0 /* property */,
|
|
161
|
-
fillEntireLength,
|
|
162
|
-
maximumDecimalsLength
|
|
163
|
-
),
|
|
164
|
-
target
|
|
165
|
-
);
|
|
166
|
-
return other;
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
function Alphanumeric(required = false, fillEntireLength = false, maximumLength = defaultAlphanumericLength) {
|
|
170
|
-
return function(target, propertyKey, other) {
|
|
171
|
-
Reflect.defineMetadata(
|
|
172
|
-
propertyKey,
|
|
173
|
-
alphanumericField(
|
|
174
|
-
required,
|
|
175
|
-
maximumLength,
|
|
176
|
-
other ? 1 /* method */ : 0 /* property */,
|
|
177
|
-
fillEntireLength
|
|
178
|
-
),
|
|
179
|
-
target
|
|
180
|
-
);
|
|
181
|
-
return other;
|
|
182
|
-
};
|
|
183
|
-
}
|
|
184
|
-
function key() {
|
|
185
|
-
return {
|
|
186
|
-
fields: []
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
function keyFieldDefinition(fieldName, valueProvider) {
|
|
190
|
-
return {
|
|
191
|
-
fieldName,
|
|
192
|
-
valueProvider
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
function Key() {
|
|
196
|
-
return function(target, propertyKey, other) {
|
|
197
|
-
let keyComposition;
|
|
198
|
-
keyComposition = Reflect.getMetadata(keyCompositionMetadata, target);
|
|
199
|
-
if (!keyComposition) {
|
|
200
|
-
keyComposition = key();
|
|
201
|
-
}
|
|
202
|
-
keyComposition.fields.push(
|
|
203
|
-
keyFieldDefinition(
|
|
204
|
-
propertyKey,
|
|
205
|
-
other ? 1 /* method */ : 0 /* property */
|
|
206
|
-
)
|
|
207
|
-
);
|
|
208
|
-
Reflect.defineMetadata(keyCompositionMetadata, keyComposition, target);
|
|
209
|
-
return other;
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
// lib/taxReport/Register.ts
|
|
214
|
-
var Register = class {
|
|
215
|
-
constructor(registerTag, notifier) {
|
|
216
|
-
this.reg = "";
|
|
217
|
-
this._children = [];
|
|
218
|
-
this.reg = registerTag;
|
|
219
|
-
this._registerNotifier = notifier;
|
|
220
|
-
}
|
|
221
|
-
addChild(child) {
|
|
222
|
-
this._children.push(child);
|
|
223
|
-
this._registerNotifier.notifyEvent(newRegisterEventData(child));
|
|
224
|
-
}
|
|
225
|
-
getChildren() {
|
|
226
|
-
return this._children;
|
|
227
|
-
}
|
|
228
|
-
getKeyValue() {
|
|
229
|
-
const keyComposition = Reflect.getMetadata(
|
|
230
|
-
keyCompositionMetadata,
|
|
231
|
-
this
|
|
232
|
-
);
|
|
233
|
-
let result = "";
|
|
234
|
-
for (const keyFieldData of keyComposition.fields) {
|
|
235
|
-
result = result.concat(this[keyFieldData.fieldName]);
|
|
236
|
-
}
|
|
237
|
-
return result;
|
|
238
|
-
}
|
|
239
|
-
};
|
|
240
|
-
__decorateClass([
|
|
241
|
-
Key()
|
|
242
|
-
], Register.prototype, "reg", 2);
|
|
243
|
-
|
|
244
|
-
// lib/taxReport/ReportGenerator.ts
|
|
245
|
-
var ReportGenerator_exports = {};
|
|
246
|
-
__export(ReportGenerator_exports, {
|
|
247
|
-
CloseBlock: () => CloseBlock,
|
|
248
|
-
CloseFile: () => CloseFile,
|
|
249
|
-
OpenBlock: () => OpenBlock,
|
|
250
|
-
default: () => ReportGenerator
|
|
251
|
-
});
|
|
252
|
-
|
|
253
|
-
// lib/taxReport/TagCounter.ts
|
|
254
|
-
var TagCounter = class {
|
|
255
|
-
constructor() {
|
|
256
|
-
this._blocksCounters = /* @__PURE__ */ new Map();
|
|
257
|
-
}
|
|
258
|
-
countRegister(register) {
|
|
259
|
-
const blockLetter = register.reg[0];
|
|
260
|
-
let counters;
|
|
261
|
-
counters = !this._blocksCounters.has(blockLetter) ? /* @__PURE__ */ new Map() : this._blocksCounters.get(blockLetter);
|
|
262
|
-
!counters.has(register.reg) ? counters.set(register.reg, 1) : counters.set(register.reg, counters.get(register.reg) + 1);
|
|
263
|
-
this._blocksCounters.set(blockLetter, counters);
|
|
264
|
-
}
|
|
265
|
-
getBlockRegistersTotal(blockLetter) {
|
|
266
|
-
let blockRegistersTotal = 0;
|
|
267
|
-
const blocksCounter = this._blocksCounters.get(blockLetter);
|
|
268
|
-
if (!blocksCounter) {
|
|
269
|
-
return blockRegistersTotal;
|
|
270
|
-
}
|
|
271
|
-
for (const value of blocksCounter.values()) {
|
|
272
|
-
blockRegistersTotal += value;
|
|
273
|
-
}
|
|
274
|
-
return blockRegistersTotal;
|
|
275
|
-
}
|
|
276
|
-
getAllTagsCounters() {
|
|
277
|
-
const all = /* @__PURE__ */ new Map();
|
|
278
|
-
const blocksKeys = Array.from(this._blocksCounters.keys()).sort((a, b) => a.localeCompare(b));
|
|
279
|
-
blocksKeys.forEach((blockKey) => {
|
|
280
|
-
const block = this._blocksCounters.get(blockKey);
|
|
281
|
-
const registerKeys = Array.from(block.keys()).sort((a, b) => a.localeCompare(b));
|
|
282
|
-
registerKeys.forEach((tag) => {
|
|
283
|
-
all.set(tag, block.get(tag));
|
|
284
|
-
});
|
|
285
|
-
});
|
|
286
|
-
return all;
|
|
287
|
-
}
|
|
288
|
-
};
|
|
289
|
-
|
|
290
|
-
// lib/taxReport/CounterBlock.ts
|
|
291
|
-
var CounterBlock = class extends Block {
|
|
292
|
-
constructor(regPersist, name = "9") {
|
|
293
|
-
super(name, regPersist);
|
|
294
|
-
}
|
|
295
|
-
eventHandler(eventData) {
|
|
296
|
-
}
|
|
297
|
-
};
|
|
298
|
-
|
|
299
|
-
// lib/taxReport/implementations/MemoryPersist.ts
|
|
300
|
-
var MemoryPersist = class _MemoryPersist {
|
|
301
|
-
static createInstance() {
|
|
302
|
-
return new _MemoryPersist();
|
|
303
|
-
}
|
|
304
|
-
constructor() {
|
|
305
|
-
this.registers = /* @__PURE__ */ new Map();
|
|
306
|
-
this.registersByKey = /* @__PURE__ */ new Map();
|
|
307
|
-
}
|
|
308
|
-
getByKey(registerKey) {
|
|
309
|
-
return this.registersByKey.get(registerKey);
|
|
310
|
-
}
|
|
311
|
-
set(regTag, registers) {
|
|
312
|
-
this.registers.set(regTag, registers);
|
|
313
|
-
for (const reg of registers) {
|
|
314
|
-
this.addRegisterKey(reg);
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
addRegisterKey(reg) {
|
|
318
|
-
if (this.registersByKey.has(reg.getKeyValue())) {
|
|
319
|
-
throw new Error(`duplicate register key: ${reg.getKeyValue()}`);
|
|
320
|
-
}
|
|
321
|
-
this.registersByKey.set(reg.getKeyValue(), reg);
|
|
322
|
-
}
|
|
323
|
-
hasRegisters() {
|
|
324
|
-
return this.registers.size !== 0;
|
|
325
|
-
}
|
|
326
|
-
all() {
|
|
327
|
-
let localRegisters = new Array();
|
|
328
|
-
for (const [_regTag, values] of this.registers) {
|
|
329
|
-
localRegisters = [...localRegisters, ...values];
|
|
330
|
-
}
|
|
331
|
-
return localRegisters;
|
|
332
|
-
}
|
|
333
|
-
get(regTag) {
|
|
334
|
-
return this.registers.get(regTag);
|
|
335
|
-
}
|
|
336
|
-
has(regTag) {
|
|
337
|
-
return this.registers.has(regTag);
|
|
338
|
-
}
|
|
339
|
-
add(register) {
|
|
340
|
-
if (!this.registers.has(register.reg)) {
|
|
341
|
-
this.registers.set(register.reg, []);
|
|
342
|
-
}
|
|
343
|
-
this.registers.get(register.reg)?.push(register);
|
|
344
|
-
this.addRegisterKey(register);
|
|
345
|
-
}
|
|
346
|
-
};
|
|
347
|
-
|
|
348
|
-
// lib/taxReport/CounterRegister.ts
|
|
349
|
-
var CounterRegister = class extends Register {
|
|
350
|
-
constructor(qtd_reg_blc = 0, register = "9900") {
|
|
351
|
-
super(register, {});
|
|
352
|
-
this.reg_blc = "";
|
|
353
|
-
this.qtd_reg_blc = 0;
|
|
354
|
-
}
|
|
355
|
-
};
|
|
356
|
-
__decorateClass([
|
|
357
|
-
Key(),
|
|
358
|
-
Alphanumeric()
|
|
359
|
-
], CounterRegister.prototype, "reg_blc", 2);
|
|
360
|
-
__decorateClass([
|
|
361
|
-
Numeric()
|
|
362
|
-
], CounterRegister.prototype, "qtd_reg_blc", 2);
|
|
363
|
-
|
|
364
|
-
// lib/taxReport/implementations/ConsoleOutput.ts
|
|
365
|
-
var ConsoleOutput = class _ConsoleOutput {
|
|
366
|
-
constructor() {
|
|
367
|
-
}
|
|
368
|
-
static createInstance() {
|
|
369
|
-
return new _ConsoleOutput();
|
|
370
|
-
}
|
|
371
|
-
write(content) {
|
|
372
|
-
console.log(content);
|
|
373
|
-
}
|
|
374
|
-
save() {
|
|
375
|
-
console.log("Saving content");
|
|
376
|
-
}
|
|
377
|
-
};
|
|
378
|
-
|
|
379
|
-
// lib/taxReport/implementations/TaxRegisterGenerator.ts
|
|
380
|
-
var TaxRegisterGenerator = class _TaxRegisterGenerator {
|
|
381
|
-
constructor(options) {
|
|
382
|
-
this._options = options;
|
|
383
|
-
}
|
|
384
|
-
save() {
|
|
385
|
-
this._options.writer.save();
|
|
386
|
-
}
|
|
387
|
-
static defaultOptions(writer = ConsoleOutput.createInstance()) {
|
|
388
|
-
return {
|
|
389
|
-
writer,
|
|
390
|
-
fieldSeparator: "|",
|
|
391
|
-
separatorAtTheRegisterStart: false,
|
|
392
|
-
separatorAtTheRegisterEnd: false
|
|
393
|
-
};
|
|
394
|
-
}
|
|
395
|
-
static newWithDefaultOptions() {
|
|
396
|
-
return this.newWithOptions(this.defaultOptions());
|
|
397
|
-
}
|
|
398
|
-
static newWithOptions(options) {
|
|
399
|
-
return new _TaxRegisterGenerator(options);
|
|
400
|
-
}
|
|
401
|
-
get writer() {
|
|
402
|
-
return this._options.writer;
|
|
403
|
-
}
|
|
404
|
-
generate(register) {
|
|
405
|
-
let registerStr = `${this._options.separatorAtTheRegisterStart ? this._options.fieldSeparator : ""}${register.reg}${this._options.fieldSeparator}`;
|
|
406
|
-
const metadataKeys = Reflect.getMetadataKeys(register);
|
|
407
|
-
for (let i = 0; i < metadataKeys.length; i++) {
|
|
408
|
-
const metadataKey = metadataKeys[i];
|
|
409
|
-
const metadata = Reflect.getMetadata(metadataKey, register);
|
|
410
|
-
switch (metadata.dataType) {
|
|
411
|
-
case 0 /* alphanumeric */:
|
|
412
|
-
registerStr = registerStr.concat(
|
|
413
|
-
this.alphanumericValue(metadata, register[metadataKey]),
|
|
414
|
-
i != metadataKeys.length - 1 ? this._options.fieldSeparator : ""
|
|
415
|
-
);
|
|
416
|
-
break;
|
|
417
|
-
case 1 /* numeric */:
|
|
418
|
-
registerStr = registerStr.concat(
|
|
419
|
-
this.numericValue(metadata, register[metadataKey]),
|
|
420
|
-
i != metadataKeys.length - 1 ? this._options.fieldSeparator : ""
|
|
421
|
-
);
|
|
422
|
-
break;
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
if (this._options.separatorAtTheRegisterEnd) {
|
|
426
|
-
registerStr = registerStr.concat(this._options.fieldSeparator);
|
|
427
|
-
}
|
|
428
|
-
this.writer.write(registerStr);
|
|
429
|
-
}
|
|
430
|
-
alphanumericValue(metadata, value) {
|
|
431
|
-
if (!value && typeof value != "number") {
|
|
432
|
-
return "";
|
|
433
|
-
}
|
|
434
|
-
let result = String(value);
|
|
435
|
-
if (metadata.fillEntireLength) {
|
|
436
|
-
result = result.padEnd(metadata.maximumLength, " ").slice(0, metadata.maximumLength);
|
|
437
|
-
}
|
|
438
|
-
return result;
|
|
439
|
-
}
|
|
440
|
-
numericValue(metadata, value) {
|
|
441
|
-
let result = "", decimalPart;
|
|
442
|
-
[result, decimalPart] = value ? String(value).split(".") : "0";
|
|
443
|
-
if (metadata.maximumDecimalsLength > 0) {
|
|
444
|
-
if (decimalPart) {
|
|
445
|
-
decimalPart = decimalPart.slice(0, metadata.maximumDecimalsLength).padEnd(metadata.maximumDecimalsLength, "0");
|
|
446
|
-
} else {
|
|
447
|
-
decimalPart = "".padEnd(metadata.maximumDecimalsLength, "0");
|
|
448
|
-
}
|
|
449
|
-
result = result.concat(",", decimalPart);
|
|
450
|
-
}
|
|
451
|
-
return result;
|
|
452
|
-
}
|
|
453
|
-
};
|
|
454
|
-
|
|
455
|
-
// lib/taxReport/ReportGenerator.ts
|
|
456
|
-
var tagCloseFileRegister = "9999";
|
|
457
|
-
var openSuffix = "001";
|
|
458
|
-
var closeSuffix = "990";
|
|
459
|
-
var CloseFile = class extends Register {
|
|
460
|
-
constructor() {
|
|
461
|
-
super(tagCloseFileRegister, {});
|
|
462
|
-
this.qtd_lin = 0;
|
|
463
|
-
}
|
|
464
|
-
};
|
|
465
|
-
__decorateClass([
|
|
466
|
-
Numeric()
|
|
467
|
-
], CloseFile.prototype, "qtd_lin", 2);
|
|
468
|
-
var OpenBlock = class extends Register {
|
|
469
|
-
constructor(tag) {
|
|
470
|
-
super(tag, {});
|
|
471
|
-
this.ind_mov = 1 /* hasNoContent */;
|
|
472
|
-
}
|
|
473
|
-
};
|
|
474
|
-
__decorateClass([
|
|
475
|
-
Alphanumeric(1)
|
|
476
|
-
], OpenBlock.prototype, "ind_mov", 2);
|
|
477
|
-
var CloseBlock = class extends Register {
|
|
478
|
-
constructor(tag) {
|
|
479
|
-
super(tag, {});
|
|
480
|
-
this.qtd_lin = 0;
|
|
481
|
-
}
|
|
482
|
-
};
|
|
483
|
-
var ReportGenerator = class _ReportGenerator {
|
|
484
|
-
constructor(options) {
|
|
485
|
-
this._options = options;
|
|
486
|
-
this._counters = new TagCounter();
|
|
487
|
-
}
|
|
488
|
-
static defaultOptions(openFileRegister, registerGenerator) {
|
|
489
|
-
return {
|
|
490
|
-
openSuffix,
|
|
491
|
-
closeSuffix,
|
|
492
|
-
openFileRegister,
|
|
493
|
-
registerGenerator
|
|
494
|
-
};
|
|
495
|
-
}
|
|
496
|
-
static newWithDefaultOptions(openFileRegister) {
|
|
497
|
-
return this.newWithOptions(
|
|
498
|
-
this.defaultOptions(
|
|
499
|
-
openFileRegister,
|
|
500
|
-
TaxRegisterGenerator.newWithDefaultOptions()
|
|
501
|
-
)
|
|
502
|
-
);
|
|
503
|
-
}
|
|
504
|
-
static newWithOptions(options) {
|
|
505
|
-
return new _ReportGenerator(options);
|
|
506
|
-
}
|
|
507
|
-
beforeGeneration(taxReport) {
|
|
508
|
-
this.addRegister(this._options.openFileRegister);
|
|
509
|
-
}
|
|
510
|
-
generation(taxReport) {
|
|
511
|
-
const blocks = taxReport.Blocks;
|
|
512
|
-
for (const block of blocks) {
|
|
513
|
-
this.addBlock(block);
|
|
514
|
-
}
|
|
515
|
-
}
|
|
516
|
-
afterGeneration(taxReport) {
|
|
517
|
-
const tagCounters = this._counters.getAllTagsCounters();
|
|
518
|
-
const counterBlock = new CounterBlock(MemoryPersist.createInstance());
|
|
519
|
-
const closeFileRegister = new CloseFile();
|
|
520
|
-
tagCounters.forEach((amount, tag) => {
|
|
521
|
-
const counterRegister = new CounterRegister();
|
|
522
|
-
counterRegister.reg_blc = tag;
|
|
523
|
-
counterRegister.qtd_reg_blc = amount;
|
|
524
|
-
closeFileRegister.qtd_lin += amount;
|
|
525
|
-
counterBlock.addRegister(counterRegister);
|
|
526
|
-
});
|
|
527
|
-
this.addBlock(counterBlock);
|
|
528
|
-
closeFileRegister.qtd_lin += tagCounters.size + 3;
|
|
529
|
-
this._options.registerGenerator.generate(closeFileRegister);
|
|
530
|
-
}
|
|
531
|
-
beforeBlockGeneration(block) {
|
|
532
|
-
const openBlock = new OpenBlock(
|
|
533
|
-
`${block.name}${this._options.openSuffix}`
|
|
534
|
-
);
|
|
535
|
-
openBlock.ind_mov = block.hasContent() ? 0 /* hasContent */ : 1 /* hasNoContent */;
|
|
536
|
-
this.addRegister(openBlock);
|
|
537
|
-
}
|
|
538
|
-
blockGeneration(block) {
|
|
539
|
-
for (const register of block.registers) {
|
|
540
|
-
this.addRegister(register);
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
|
-
beforeRegisterGeneration(register) {
|
|
544
|
-
}
|
|
545
|
-
registerGeneration(register) {
|
|
546
|
-
this._options.registerGenerator.generate(register);
|
|
547
|
-
for (const child of register.getChildren()) {
|
|
548
|
-
this.addRegister(child);
|
|
549
|
-
}
|
|
550
|
-
}
|
|
551
|
-
afterRegisterGeneration(register) {
|
|
552
|
-
this._counters.countRegister(register);
|
|
553
|
-
}
|
|
554
|
-
afterBlockGeneration(block) {
|
|
555
|
-
const closeBlock = new CloseBlock(
|
|
556
|
-
`${block.name}${this._options.closeSuffix}`
|
|
557
|
-
);
|
|
558
|
-
closeBlock.qtd_lin = this._counters.getBlockRegistersTotal(block.name) + 1;
|
|
559
|
-
this.addRegister(closeBlock);
|
|
560
|
-
}
|
|
561
|
-
addBlock(block) {
|
|
562
|
-
this.beforeBlockGeneration(block);
|
|
563
|
-
this.blockGeneration(block);
|
|
564
|
-
this.afterBlockGeneration(block);
|
|
565
|
-
}
|
|
566
|
-
addRegister(register) {
|
|
567
|
-
this.beforeRegisterGeneration(register);
|
|
568
|
-
this.registerGeneration(register);
|
|
569
|
-
this.afterRegisterGeneration(register);
|
|
570
|
-
}
|
|
571
|
-
generateFile(taxReport) {
|
|
572
|
-
this.beforeGeneration(taxReport);
|
|
573
|
-
this.generation(taxReport);
|
|
574
|
-
this.afterGeneration(taxReport);
|
|
575
|
-
this._options.registerGenerator.save();
|
|
576
|
-
}
|
|
577
|
-
};
|
|
578
|
-
|
|
579
|
-
// lib/taxReport/TaxReport.ts
|
|
580
|
-
var TaxReport = class {
|
|
581
|
-
constructor() {
|
|
582
|
-
this._blocks = /* @__PURE__ */ new Map();
|
|
583
|
-
}
|
|
584
|
-
registerBlock(block) {
|
|
585
|
-
this._blocks.set(block.name, block);
|
|
586
|
-
return this;
|
|
587
|
-
}
|
|
588
|
-
getBlock(name) {
|
|
589
|
-
return this._blocks.get(name);
|
|
590
|
-
}
|
|
591
|
-
get Blocks() {
|
|
592
|
-
return Array.from(this._blocks.values());
|
|
593
|
-
}
|
|
594
|
-
};
|
|
595
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
596
|
-
0 && (module.exports = {
|
|
597
|
-
Block,
|
|
598
|
-
ConsoleOutput,
|
|
599
|
-
Decorators,
|
|
600
|
-
MemoryPersist,
|
|
601
|
-
Register,
|
|
602
|
-
ReportGenerator,
|
|
603
|
-
TaxRegisterGenerator,
|
|
604
|
-
TaxReport
|
|
605
|
-
});
|
|
606
|
-
//# sourceMappingURL=index.js.map
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TaxRegisterGenerator = exports.MemoryPersist = exports.ConsoleOutput = exports.TaxReport = exports.Generation = exports.Register = exports.Decorators = exports.Block = void 0;
|
|
4
|
+
const Block_1 = require("./taxReport/Block");
|
|
5
|
+
exports.Block = Block_1.default;
|
|
6
|
+
const Decorators = require("./taxReport/Decorators");
|
|
7
|
+
exports.Decorators = Decorators;
|
|
8
|
+
const Register_1 = require("./taxReport/Register");
|
|
9
|
+
Object.defineProperty(exports, "Register", { enumerable: true, get: function () { return Register_1.Register; } });
|
|
10
|
+
const Generation = require("./taxReport/ReportGenerator");
|
|
11
|
+
exports.Generation = Generation;
|
|
12
|
+
const TaxReport_1 = require("./taxReport/TaxReport");
|
|
13
|
+
exports.TaxReport = TaxReport_1.default;
|
|
14
|
+
const ConsoleOutput_1 = require("./taxReport/implementations/ConsoleOutput");
|
|
15
|
+
exports.ConsoleOutput = ConsoleOutput_1.default;
|
|
16
|
+
const MemoryPersist_1 = require("./taxReport/implementations/MemoryPersist");
|
|
17
|
+
exports.MemoryPersist = MemoryPersist_1.default;
|
|
18
|
+
const TaxRegisterGenerator_1 = require("./taxReport/implementations/TaxRegisterGenerator");
|
|
19
|
+
exports.TaxRegisterGenerator = TaxRegisterGenerator_1.default;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import RegisterPersist from
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import RegisterPersist from "./interfaces/RegisterPersist";
|
|
2
|
+
import { Register } from "./Register";
|
|
3
|
+
import RegisterSubscriber from "./interfaces/RegisterSubscriber";
|
|
4
|
+
import RegisterEventNotifier, { RegisterEventData } from "./interfaces/RegisterEventNotifier";
|
|
5
|
+
export default abstract class Block implements RegisterEventNotifier, RegisterSubscriber {
|
|
5
6
|
private readonly _name;
|
|
6
7
|
private eventEmitter;
|
|
7
8
|
protected registersPersist: RegisterPersist;
|
|
@@ -15,5 +16,3 @@ declare abstract class Block implements RegisterEventNotifier, RegisterSubscribe
|
|
|
15
16
|
hasContent(): boolean;
|
|
16
17
|
getRegisterByKey(registerKey: string): Register;
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
-
export { Block as default };
|