@seidor-cloud-produtos/tax-core 0.0.9-beta6 → 0.0.9-beta7

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.
Files changed (115) hide show
  1. package/dist/index.d.ts +14 -12
  2. package/dist/index.js +18 -605
  3. package/dist/taxReport/Block.d.ts +5 -6
  4. package/dist/taxReport/Block.js +35 -71
  5. package/dist/taxReport/CounterBlock.d.ts +4 -7
  6. package/dist/taxReport/CounterBlock.js +10 -82
  7. package/dist/taxReport/CounterRegister.d.ts +2 -5
  8. package/dist/taxReport/CounterRegister.js +29 -172
  9. package/dist/taxReport/Decorators.d.ts +31 -1
  10. package/dist/taxReport/Decorators.js +123 -140
  11. package/dist/taxReport/Register.d.ts +11 -1
  12. package/dist/taxReport/Register.js +38 -108
  13. package/dist/taxReport/ReportGenerator.d.ts +43 -7
  14. package/dist/taxReport/ReportGenerator.js +144 -523
  15. package/dist/taxReport/TagCounter.d.ts +2 -5
  16. package/dist/taxReport/TagCounter.js +35 -58
  17. package/dist/taxReport/TaxReport.d.ts +2 -7
  18. package/dist/taxReport/TaxReport.js +17 -40
  19. package/dist/taxReport/implementations/ConsoleOutput.d.ts +2 -5
  20. package/dist/taxReport/implementations/ConsoleOutput.js +14 -38
  21. package/dist/taxReport/implementations/MemoryPersist.d.ts +3 -6
  22. package/dist/taxReport/implementations/MemoryPersist.js +48 -68
  23. package/dist/taxReport/implementations/TaxRegisterGenerator.d.ts +5 -8
  24. package/dist/taxReport/implementations/TaxRegisterGenerator.js +78 -115
  25. package/dist/taxReport/interfaces/BlocksIterator.d.ts +2 -2
  26. package/dist/taxReport/interfaces/BlocksIterator.js +0 -1
  27. package/dist/taxReport/interfaces/OutputWriter.d.ts +1 -3
  28. package/dist/taxReport/interfaces/OutputWriter.js +1 -18
  29. package/dist/taxReport/interfaces/RegisterEventNotifier.d.ts +15 -1
  30. package/dist/taxReport/interfaces/RegisterEventNotifier.js +13 -41
  31. package/dist/taxReport/interfaces/RegisterGenerator.d.ts +2 -5
  32. package/dist/taxReport/interfaces/RegisterGenerator.js +1 -18
  33. package/dist/taxReport/interfaces/RegisterPersist.d.ts +2 -5
  34. package/dist/taxReport/interfaces/RegisterPersist.js +1 -18
  35. package/dist/taxReport/interfaces/RegisterSubscriber.d.ts +4 -1
  36. package/dist/taxReport/interfaces/RegisterSubscriber.js +1 -18
  37. package/package.json +10 -10
  38. package/dist/Decorators-DNy0zTu7.d.mts +0 -50
  39. package/dist/Decorators-DNy0zTu7.d.ts +0 -50
  40. package/dist/Register-238WFjqI.d.mts +0 -30
  41. package/dist/Register-238WFjqI.d.ts +0 -30
  42. package/dist/ReportGenerator-BQKe8MXb.d.mts +0 -57
  43. package/dist/ReportGenerator-CopTdlph.d.ts +0 -57
  44. package/dist/index.d.mts +0 -12
  45. package/dist/index.js.map +0 -1
  46. package/dist/index.mjs +0 -579
  47. package/dist/index.mjs.map +0 -1
  48. package/dist/taxReport/Block.d.mts +0 -19
  49. package/dist/taxReport/Block.js.map +0 -1
  50. package/dist/taxReport/Block.mjs +0 -52
  51. package/dist/taxReport/Block.mjs.map +0 -1
  52. package/dist/taxReport/CounterBlock.d.mts +0 -10
  53. package/dist/taxReport/CounterBlock.js.map +0 -1
  54. package/dist/taxReport/CounterBlock.mjs +0 -61
  55. package/dist/taxReport/CounterBlock.mjs.map +0 -1
  56. package/dist/taxReport/CounterRegister.d.mts +0 -9
  57. package/dist/taxReport/CounterRegister.js.map +0 -1
  58. package/dist/taxReport/CounterRegister.mjs +0 -157
  59. package/dist/taxReport/CounterRegister.mjs.map +0 -1
  60. package/dist/taxReport/Decorators.d.mts +0 -1
  61. package/dist/taxReport/Decorators.js.map +0 -1
  62. package/dist/taxReport/Decorators.mjs +0 -121
  63. package/dist/taxReport/Decorators.mjs.map +0 -1
  64. package/dist/taxReport/Register.d.mts +0 -1
  65. package/dist/taxReport/Register.js.map +0 -1
  66. package/dist/taxReport/Register.mjs +0 -89
  67. package/dist/taxReport/Register.mjs.map +0 -1
  68. package/dist/taxReport/ReportGenerator.d.mts +0 -7
  69. package/dist/taxReport/ReportGenerator.js.map +0 -1
  70. package/dist/taxReport/ReportGenerator.mjs +0 -505
  71. package/dist/taxReport/ReportGenerator.mjs.map +0 -1
  72. package/dist/taxReport/TagCounter.d.mts +0 -11
  73. package/dist/taxReport/TagCounter.js.map +0 -1
  74. package/dist/taxReport/TagCounter.mjs +0 -40
  75. package/dist/taxReport/TagCounter.mjs.map +0 -1
  76. package/dist/taxReport/TaxReport.d.mts +0 -13
  77. package/dist/taxReport/TaxReport.js.map +0 -1
  78. package/dist/taxReport/TaxReport.mjs +0 -20
  79. package/dist/taxReport/TaxReport.mjs.map +0 -1
  80. package/dist/taxReport/implementations/ConsoleOutput.d.mts +0 -10
  81. package/dist/taxReport/implementations/ConsoleOutput.js.map +0 -1
  82. package/dist/taxReport/implementations/ConsoleOutput.mjs +0 -18
  83. package/dist/taxReport/implementations/ConsoleOutput.mjs.map +0 -1
  84. package/dist/taxReport/implementations/MemoryPersist.d.mts +0 -19
  85. package/dist/taxReport/implementations/MemoryPersist.js.map +0 -1
  86. package/dist/taxReport/implementations/MemoryPersist.mjs +0 -52
  87. package/dist/taxReport/implementations/MemoryPersist.mjs.map +0 -1
  88. package/dist/taxReport/implementations/TaxRegisterGenerator.d.mts +0 -24
  89. package/dist/taxReport/implementations/TaxRegisterGenerator.js.map +0 -1
  90. package/dist/taxReport/implementations/TaxRegisterGenerator.mjs +0 -98
  91. package/dist/taxReport/implementations/TaxRegisterGenerator.mjs.map +0 -1
  92. package/dist/taxReport/interfaces/BlocksIterator.d.mts +0 -2
  93. package/dist/taxReport/interfaces/BlocksIterator.js.map +0 -1
  94. package/dist/taxReport/interfaces/BlocksIterator.mjs +0 -1
  95. package/dist/taxReport/interfaces/BlocksIterator.mjs.map +0 -1
  96. package/dist/taxReport/interfaces/OutputWriter.d.mts +0 -6
  97. package/dist/taxReport/interfaces/OutputWriter.js.map +0 -1
  98. package/dist/taxReport/interfaces/OutputWriter.mjs +0 -1
  99. package/dist/taxReport/interfaces/OutputWriter.mjs.map +0 -1
  100. package/dist/taxReport/interfaces/RegisterEventNotifier.d.mts +0 -1
  101. package/dist/taxReport/interfaces/RegisterEventNotifier.js.map +0 -1
  102. package/dist/taxReport/interfaces/RegisterEventNotifier.mjs +0 -20
  103. package/dist/taxReport/interfaces/RegisterEventNotifier.mjs.map +0 -1
  104. package/dist/taxReport/interfaces/RegisterGenerator.d.mts +0 -8
  105. package/dist/taxReport/interfaces/RegisterGenerator.js.map +0 -1
  106. package/dist/taxReport/interfaces/RegisterGenerator.mjs +0 -1
  107. package/dist/taxReport/interfaces/RegisterGenerator.mjs.map +0 -1
  108. package/dist/taxReport/interfaces/RegisterPersist.d.mts +0 -13
  109. package/dist/taxReport/interfaces/RegisterPersist.js.map +0 -1
  110. package/dist/taxReport/interfaces/RegisterPersist.mjs +0 -1
  111. package/dist/taxReport/interfaces/RegisterPersist.mjs.map +0 -1
  112. package/dist/taxReport/interfaces/RegisterSubscriber.d.mts +0 -1
  113. package/dist/taxReport/interfaces/RegisterSubscriber.js.map +0 -1
  114. package/dist/taxReport/interfaces/RegisterSubscriber.mjs +0 -1
  115. package/dist/taxReport/interfaces/RegisterSubscriber.mjs.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,12 +1,14 @@
1
- export { default as Block } from './taxReport/Block.js';
2
- export { D as Decorators } from './Decorators-DNy0zTu7.js';
3
- export { R as Register, a as RegisterEventNotifier, b as RegisterSubscriber } from './Register-238WFjqI.js';
4
- export { R as ReportGenerator } from './ReportGenerator-CopTdlph.js';
5
- export { default as TaxReport } from './taxReport/TaxReport.js';
6
- export { default as ConsoleOutput } from './taxReport/implementations/ConsoleOutput.js';
7
- export { default as MemoryPersist } from './taxReport/implementations/MemoryPersist.js';
8
- export { default as TaxRegisterGenerator } from './taxReport/implementations/TaxRegisterGenerator.js';
9
- export { OutputWriter } from './taxReport/interfaces/OutputWriter.js';
10
- export { default as RegisterGenerator } from './taxReport/interfaces/RegisterGenerator.js';
11
- export { default as RegisterPersist } from './taxReport/interfaces/RegisterPersist.js';
12
- import './taxReport/TagCounter.js';
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
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key2 of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key2) && key2 !== except)
14
- __defProp(to, key2, { get: () => from[key2], enumerable: !(desc = __getOwnPropDesc(from, key2)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var __decorateClass = (decorators, target, key2, kind) => {
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 './interfaces/RegisterPersist.js';
2
- import { a as RegisterEventNotifier, b as RegisterSubscriber, c as RegisterEventData, R as Register } from '../Register-238WFjqI.js';
3
-
4
- declare abstract class Block implements RegisterEventNotifier, RegisterSubscriber {
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 };