@seidor-cloud-produtos/tax-core 0.0.9-beta1 → 0.0.9-beta10

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