@seidor-cloud-produtos/tax-core 0.0.9-beta12 → 0.0.9-beta2

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 (156) hide show
  1. package/dist/{taxReport/Block.d.mts → Block.d.mts} +4 -4
  2. package/dist/{taxReport/Block.d.ts → Block.d.ts} +4 -4
  3. package/dist/{taxReport/Block.js → Block.js} +0 -1
  4. package/dist/Block.js.map +1 -0
  5. package/dist/{taxReport/Block.mjs → Block.mjs} +1 -1
  6. package/dist/Block.mjs.map +1 -0
  7. package/dist/{taxReport/CounterBlock.d.mts → CounterBlock.d.mts} +1 -1
  8. package/dist/{taxReport/CounterBlock.d.ts → CounterBlock.d.ts} +1 -1
  9. package/dist/{taxReport/CounterBlock.js → CounterBlock.js} +0 -1
  10. package/dist/CounterBlock.js.map +1 -0
  11. package/dist/{taxReport/CounterBlock.mjs → CounterBlock.mjs} +1 -1
  12. package/dist/CounterBlock.mjs.map +1 -0
  13. package/dist/CounterRegister.d.mts +9 -0
  14. package/dist/CounterRegister.d.ts +9 -0
  15. package/dist/{taxReport/CounterRegister.js → CounterRegister.js} +50 -14
  16. package/dist/CounterRegister.js.map +1 -0
  17. package/dist/{taxReport/CounterRegister.mjs → CounterRegister.mjs} +50 -13
  18. package/dist/CounterRegister.mjs.map +1 -0
  19. package/dist/{Decorators-DhoiAspk.d.mts → Decorators-DNy0zTu7.d.mts} +4 -4
  20. package/dist/{Decorators-DhoiAspk.d.ts → Decorators-DNy0zTu7.d.ts} +4 -4
  21. package/dist/{taxReport/Decorators.d.mts → Decorators.d.mts} +1 -1
  22. package/dist/{taxReport/Decorators.d.ts → Decorators.d.ts} +1 -1
  23. package/dist/{taxReport/Decorators.js → Decorators.js} +5 -2
  24. package/dist/Decorators.js.map +1 -0
  25. package/dist/{taxReport/Decorators.mjs → Decorators.mjs} +5 -1
  26. package/dist/Decorators.mjs.map +1 -0
  27. package/dist/{Register-DYZa-bHZ.d.mts → Register-B1gRC0_O.d.mts} +6 -14
  28. package/dist/{Register-DYZa-bHZ.d.ts → Register-B1gRC0_O.d.ts} +6 -14
  29. package/dist/Register.d.mts +1 -0
  30. package/dist/Register.d.ts +1 -0
  31. package/dist/{taxReport/Register.js → Register.js} +1 -4
  32. package/dist/Register.js.map +1 -0
  33. package/dist/{taxReport/Register.mjs → Register.mjs} +1 -3
  34. package/dist/Register.mjs.map +1 -0
  35. package/dist/ReportGenerator.d.mts +47 -0
  36. package/dist/ReportGenerator.d.ts +47 -0
  37. package/dist/{taxReport/ReportGenerator.js → ReportGenerator.js} +11 -24
  38. package/dist/ReportGenerator.js.map +1 -0
  39. package/dist/{taxReport/ReportGenerator.mjs → ReportGenerator.mjs} +11 -22
  40. package/dist/ReportGenerator.mjs.map +1 -0
  41. package/dist/{taxReport/TagCounter.d.mts → TagCounter.d.mts} +2 -2
  42. package/dist/{taxReport/TagCounter.d.ts → TagCounter.d.ts} +2 -2
  43. package/dist/{taxReport/TagCounter.js → TagCounter.js} +0 -1
  44. package/dist/TagCounter.js.map +1 -0
  45. package/dist/TagCounter.mjs.map +1 -0
  46. package/dist/{taxReport/TaxReport.d.mts → TaxReport.d.mts} +1 -1
  47. package/dist/{taxReport/TaxReport.d.ts → TaxReport.d.ts} +1 -1
  48. package/dist/{taxReport/TaxReport.js → TaxReport.js} +0 -1
  49. package/dist/TaxReport.js.map +1 -0
  50. package/dist/TaxReport.mjs.map +1 -0
  51. package/dist/{taxReport/implementations → implementations}/ConsoleOutput.js +0 -1
  52. package/dist/implementations/ConsoleOutput.js.map +1 -0
  53. package/dist/implementations/ConsoleOutput.mjs.map +1 -0
  54. package/dist/{taxReport/implementations → implementations}/MemoryPersist.d.mts +3 -3
  55. package/dist/{taxReport/implementations → implementations}/MemoryPersist.d.ts +3 -3
  56. package/dist/{taxReport/implementations → implementations}/MemoryPersist.js +0 -1
  57. package/dist/implementations/MemoryPersist.js.map +1 -0
  58. package/dist/implementations/MemoryPersist.mjs.map +1 -0
  59. package/dist/{taxReport/implementations → implementations}/TaxRegisterGenerator.d.mts +1 -1
  60. package/dist/{taxReport/implementations → implementations}/TaxRegisterGenerator.d.ts +1 -1
  61. package/dist/{taxReport/implementations → implementations}/TaxRegisterGenerator.js +0 -1
  62. package/dist/implementations/TaxRegisterGenerator.js.map +1 -0
  63. package/dist/implementations/TaxRegisterGenerator.mjs.map +1 -0
  64. package/dist/index.d.mts +12 -12
  65. package/dist/index.d.ts +12 -12
  66. package/dist/index.js +16 -37
  67. package/dist/index.js.map +1 -1
  68. package/dist/index.mjs +12 -34
  69. package/dist/index.mjs.map +1 -1
  70. package/dist/interfaces/BlocksIterator.js +1 -0
  71. package/dist/{taxReport/interfaces → interfaces}/OutputWriter.js +0 -1
  72. package/dist/interfaces/OutputWriter.js.map +1 -0
  73. package/dist/{taxReport/interfaces → interfaces}/RegisterEventNotifier.d.mts +1 -1
  74. package/dist/{taxReport/interfaces → interfaces}/RegisterEventNotifier.d.ts +1 -1
  75. package/dist/{taxReport/interfaces → interfaces}/RegisterEventNotifier.js +0 -1
  76. package/dist/interfaces/RegisterEventNotifier.js.map +1 -0
  77. package/dist/interfaces/RegisterEventNotifier.mjs.map +1 -0
  78. package/dist/interfaces/RegisterGenerator.d.mts +8 -0
  79. package/dist/interfaces/RegisterGenerator.d.ts +8 -0
  80. package/dist/{taxReport/interfaces → interfaces}/RegisterGenerator.js +0 -1
  81. package/dist/interfaces/RegisterGenerator.js.map +1 -0
  82. package/dist/interfaces/RegisterPersist.d.mts +13 -0
  83. package/dist/interfaces/RegisterPersist.d.ts +13 -0
  84. package/dist/{taxReport/interfaces → interfaces}/RegisterPersist.js +0 -1
  85. package/dist/interfaces/RegisterPersist.js.map +1 -0
  86. package/dist/interfaces/RegisterSubscriber.d.mts +1 -0
  87. package/dist/interfaces/RegisterSubscriber.d.ts +1 -0
  88. package/dist/{taxReport/interfaces → interfaces}/RegisterSubscriber.js +0 -1
  89. package/dist/interfaces/RegisterSubscriber.js.map +1 -0
  90. package/package.json +15 -9
  91. package/dist/ReportGenerator-DvTuQ4Xj.d.ts +0 -59
  92. package/dist/ReportGenerator-vfu8wCSF.d.mts +0 -59
  93. package/dist/taxReport/Block.js.map +0 -1
  94. package/dist/taxReport/Block.mjs.map +0 -1
  95. package/dist/taxReport/CounterBlock.js.map +0 -1
  96. package/dist/taxReport/CounterBlock.mjs.map +0 -1
  97. package/dist/taxReport/CounterRegister.d.mts +0 -13
  98. package/dist/taxReport/CounterRegister.d.ts +0 -13
  99. package/dist/taxReport/CounterRegister.js.map +0 -1
  100. package/dist/taxReport/CounterRegister.mjs.map +0 -1
  101. package/dist/taxReport/Decorators.js.map +0 -1
  102. package/dist/taxReport/Decorators.mjs.map +0 -1
  103. package/dist/taxReport/Register.d.mts +0 -1
  104. package/dist/taxReport/Register.d.ts +0 -1
  105. package/dist/taxReport/Register.js.map +0 -1
  106. package/dist/taxReport/Register.mjs.map +0 -1
  107. package/dist/taxReport/ReportGenerator.d.mts +0 -7
  108. package/dist/taxReport/ReportGenerator.d.ts +0 -7
  109. package/dist/taxReport/ReportGenerator.js.map +0 -1
  110. package/dist/taxReport/ReportGenerator.mjs.map +0 -1
  111. package/dist/taxReport/TagCounter.js.map +0 -1
  112. package/dist/taxReport/TagCounter.mjs.map +0 -1
  113. package/dist/taxReport/TaxReport.js.map +0 -1
  114. package/dist/taxReport/TaxReport.mjs.map +0 -1
  115. package/dist/taxReport/implementations/ConsoleOutput.js.map +0 -1
  116. package/dist/taxReport/implementations/ConsoleOutput.mjs.map +0 -1
  117. package/dist/taxReport/implementations/MemoryPersist.js.map +0 -1
  118. package/dist/taxReport/implementations/MemoryPersist.mjs.map +0 -1
  119. package/dist/taxReport/implementations/TaxRegisterGenerator.js.map +0 -1
  120. package/dist/taxReport/implementations/TaxRegisterGenerator.mjs.map +0 -1
  121. package/dist/taxReport/interfaces/BlocksIterator.js +0 -2
  122. package/dist/taxReport/interfaces/OutputWriter.js.map +0 -1
  123. package/dist/taxReport/interfaces/RegisterEventNotifier.js.map +0 -1
  124. package/dist/taxReport/interfaces/RegisterEventNotifier.mjs.map +0 -1
  125. package/dist/taxReport/interfaces/RegisterGenerator.d.mts +0 -8
  126. package/dist/taxReport/interfaces/RegisterGenerator.d.ts +0 -8
  127. package/dist/taxReport/interfaces/RegisterGenerator.js.map +0 -1
  128. package/dist/taxReport/interfaces/RegisterPersist.d.mts +0 -13
  129. package/dist/taxReport/interfaces/RegisterPersist.d.ts +0 -13
  130. package/dist/taxReport/interfaces/RegisterPersist.js.map +0 -1
  131. package/dist/taxReport/interfaces/RegisterSubscriber.d.mts +0 -1
  132. package/dist/taxReport/interfaces/RegisterSubscriber.d.ts +0 -1
  133. package/dist/taxReport/interfaces/RegisterSubscriber.js.map +0 -1
  134. /package/dist/{taxReport/TagCounter.mjs → TagCounter.mjs} +0 -0
  135. /package/dist/{taxReport/TaxReport.mjs → TaxReport.mjs} +0 -0
  136. /package/dist/{taxReport/implementations → implementations}/ConsoleOutput.d.mts +0 -0
  137. /package/dist/{taxReport/implementations → implementations}/ConsoleOutput.d.ts +0 -0
  138. /package/dist/{taxReport/implementations → implementations}/ConsoleOutput.mjs +0 -0
  139. /package/dist/{taxReport/implementations → implementations}/MemoryPersist.mjs +0 -0
  140. /package/dist/{taxReport/implementations → implementations}/TaxRegisterGenerator.mjs +0 -0
  141. /package/dist/{taxReport/interfaces → interfaces}/BlocksIterator.d.mts +0 -0
  142. /package/dist/{taxReport/interfaces → interfaces}/BlocksIterator.d.ts +0 -0
  143. /package/dist/{taxReport/interfaces → interfaces}/BlocksIterator.js.map +0 -0
  144. /package/dist/{taxReport/interfaces → interfaces}/BlocksIterator.mjs +0 -0
  145. /package/dist/{taxReport/interfaces → interfaces}/BlocksIterator.mjs.map +0 -0
  146. /package/dist/{taxReport/interfaces → interfaces}/OutputWriter.d.mts +0 -0
  147. /package/dist/{taxReport/interfaces → interfaces}/OutputWriter.d.ts +0 -0
  148. /package/dist/{taxReport/interfaces → interfaces}/OutputWriter.mjs +0 -0
  149. /package/dist/{taxReport/interfaces → interfaces}/OutputWriter.mjs.map +0 -0
  150. /package/dist/{taxReport/interfaces → interfaces}/RegisterEventNotifier.mjs +0 -0
  151. /package/dist/{taxReport/interfaces → interfaces}/RegisterGenerator.mjs +0 -0
  152. /package/dist/{taxReport/interfaces → interfaces}/RegisterGenerator.mjs.map +0 -0
  153. /package/dist/{taxReport/interfaces → interfaces}/RegisterPersist.mjs +0 -0
  154. /package/dist/{taxReport/interfaces → interfaces}/RegisterPersist.mjs.map +0 -0
  155. /package/dist/{taxReport/interfaces → interfaces}/RegisterSubscriber.mjs +0 -0
  156. /package/dist/{taxReport/interfaces → interfaces}/RegisterSubscriber.mjs.map +0 -0
@@ -1,5 +1,5 @@
1
1
  import RegisterPersist from './interfaces/RegisterPersist.mjs';
2
- import { a as RegisterEventNotifier, b as RegisterSubscriber, c as RegisterEventData, d as RegisterDefinition } from '../Register-DYZa-bHZ.mjs';
2
+ import { a as RegisterEventNotifier, b as RegisterSubscriber, c as RegisterEventData, R as Register } from './Register-B1gRC0_O.mjs';
3
3
 
4
4
  declare abstract class Block implements RegisterEventNotifier, RegisterSubscriber {
5
5
  private readonly _name;
@@ -9,11 +9,11 @@ declare abstract class Block implements RegisterEventNotifier, RegisterSubscribe
9
9
  abstract eventHandler(eventData: RegisterEventData): void;
10
10
  notifyEvent(eventData: RegisterEventData): void;
11
11
  get name(): string;
12
- get registers(): RegisterDefinition[];
12
+ get registers(): Register[];
13
13
  addSubscriber(subscriber: RegisterSubscriber): void;
14
- addRegister<T extends RegisterDefinition>(register: T): void;
14
+ addRegister<T extends Register>(register: T): void;
15
15
  hasContent(): boolean;
16
- getRegisterByKey(registerKey: string): RegisterDefinition;
16
+ getRegisterByKey(registerKey: string): Register;
17
17
  }
18
18
 
19
19
  export { Block as default };
@@ -1,5 +1,5 @@
1
1
  import RegisterPersist from './interfaces/RegisterPersist.js';
2
- import { a as RegisterEventNotifier, b as RegisterSubscriber, c as RegisterEventData, d as RegisterDefinition } from '../Register-DYZa-bHZ.js';
2
+ import { a as RegisterEventNotifier, b as RegisterSubscriber, c as RegisterEventData, R as Register } from './Register-B1gRC0_O.js';
3
3
 
4
4
  declare abstract class Block implements RegisterEventNotifier, RegisterSubscriber {
5
5
  private readonly _name;
@@ -9,11 +9,11 @@ declare abstract class Block implements RegisterEventNotifier, RegisterSubscribe
9
9
  abstract eventHandler(eventData: RegisterEventData): void;
10
10
  notifyEvent(eventData: RegisterEventData): void;
11
11
  get name(): string;
12
- get registers(): RegisterDefinition[];
12
+ get registers(): Register[];
13
13
  addSubscriber(subscriber: RegisterSubscriber): void;
14
- addRegister<T extends RegisterDefinition>(register: T): void;
14
+ addRegister<T extends Register>(register: T): void;
15
15
  hasContent(): boolean;
16
- getRegisterByKey(registerKey: string): RegisterDefinition;
16
+ getRegisterByKey(registerKey: string): Register;
17
17
  }
18
18
 
19
19
  export { Block as default };
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../lib/taxReport/Block.ts","../lib/taxReport/interfaces/RegisterEventNotifier.ts"],"sourcesContent":["import { EventEmitter } from \"node:events\";\nimport RegisterPersist from \"./interfaces/RegisterPersist\";\nimport { Register } from \"./Register\";\nimport RegisterSubscriber from \"./interfaces/RegisterSubscriber\";\nimport RegisterEventNotifier, {\n Event,\n newRegisterEventData,\n RegisterEventData,\n} from \"./interfaces/RegisterEventNotifier\";\n\nexport default abstract class Block\n implements RegisterEventNotifier, RegisterSubscriber\n{\n private readonly _name: string;\n private eventEmitter: EventEmitter;\n protected registersPersist: RegisterPersist;\n\n protected constructor(name: string, regPersist: RegisterPersist) {\n this._name = name;\n this.eventEmitter = new EventEmitter();\n this.registersPersist = regPersist;\n }\n\n abstract eventHandler(eventData: RegisterEventData): void;\n\n public notifyEvent(eventData: RegisterEventData): void {\n this.eventEmitter.emit(eventData.event, eventData);\n }\n\n get name() {\n return this._name;\n }\n\n get registers() {\n const sortApproach = (a: Register, b: Register) =>\n a.reg.localeCompare(b.reg);\n return this.registersPersist.all().sort(sortApproach);\n }\n\n public addSubscriber(subscriber: RegisterSubscriber) {\n this.eventEmitter.on(Event.REGISTER_CREATED, function (data) {\n return subscriber.eventHandler.call(subscriber, data);\n });\n }\n\n public addRegister<T extends Register>(register: T) {\n this.registersPersist.add(register);\n this.notifyEvent(newRegisterEventData(register));\n }\n\n public hasContent(): boolean {\n return this.registersPersist.hasRegisters();\n }\n\n public getRegisterByKey(registerKey: string): Register {\n return this.registersPersist.getByKey(registerKey);\n }\n}\n","import {Register} from \"../Register\";\r\nimport RegisterSubscriber from \"./RegisterSubscriber\";\r\n\r\nexport enum Event {\r\n REGISTER_CREATED = \"register_created\",\r\n}\r\n\r\nexport interface RegisterEventData {\r\n event: Event\r\n dataTypeName: string\r\n data: Register\r\n}\r\n\r\nfunction newRegisterEvent(event: Event, register: Register): RegisterEventData {\r\n return {\r\n event: event,\r\n dataTypeName: register.constructor.name,\r\n data: register\r\n }\r\n}\r\n\r\nexport function newRegisterEventData(register: Register): RegisterEventData {\r\n return newRegisterEvent(Event.REGISTER_CREATED, register)\r\n}\r\n\r\n\r\nexport default interface RegisterEventNotifier {\r\n addSubscriber(subscriber: RegisterSubscriber):void\r\n notifyEvent(eventData: RegisterEventData): void\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAA6B;;;ACa7B,SAAS,iBAAiB,OAAc,UAAuC;AAC3E,SAAO;AAAA,IACH;AAAA,IACA,cAAc,SAAS,YAAY;AAAA,IACnC,MAAM;AAAA,EACV;AACJ;AAEO,SAAS,qBAAqB,UAAuC;AACxE,SAAO,iBAAiB,2CAAwB,QAAQ;AAC5D;;;ADbA,IAA8B,QAA9B,MAEA;AAAA,EAKY,YAAY,MAAc,YAA6B;AAJjE,wBAAiB;AACjB,wBAAQ;AACR,wBAAU;AAGR,SAAK,QAAQ;AACb,SAAK,eAAe,IAAI,gCAAa;AACrC,SAAK,mBAAmB;AAAA,EAC1B;AAAA,EAIO,YAAY,WAAoC;AACrD,SAAK,aAAa,KAAK,UAAU,OAAO,SAAS;AAAA,EACnD;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,YAAY;AACd,UAAM,eAAe,CAAC,GAAa,MACjC,EAAE,IAAI,cAAc,EAAE,GAAG;AAC3B,WAAO,KAAK,iBAAiB,IAAI,EAAE,KAAK,YAAY;AAAA,EACtD;AAAA,EAEO,cAAc,YAAgC;AACnD,SAAK,aAAa,8CAA2B,SAAU,MAAM;AAC3D,aAAO,WAAW,aAAa,KAAK,YAAY,IAAI;AAAA,IACtD,CAAC;AAAA,EACH;AAAA,EAEO,YAAgC,UAAa;AAClD,SAAK,iBAAiB,IAAI,QAAQ;AAClC,SAAK,YAAY,qBAAqB,QAAQ,CAAC;AAAA,EACjD;AAAA,EAEO,aAAsB;AAC3B,WAAO,KAAK,iBAAiB,aAAa;AAAA,EAC5C;AAAA,EAEO,iBAAiB,aAA+B;AACrD,WAAO,KAAK,iBAAiB,SAAS,WAAW;AAAA,EACnD;AACF;","names":[]}
@@ -3,7 +3,7 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
 
5
5
  // lib/taxReport/Block.ts
6
- import { EventEmitter } from "node:events";
6
+ import { EventEmitter } from "events";
7
7
 
8
8
  // lib/taxReport/interfaces/RegisterEventNotifier.ts
9
9
  function newRegisterEvent(event, register) {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../lib/taxReport/Block.ts","../lib/taxReport/interfaces/RegisterEventNotifier.ts"],"sourcesContent":["import { EventEmitter } from \"node:events\";\nimport RegisterPersist from \"./interfaces/RegisterPersist\";\nimport { Register } from \"./Register\";\nimport RegisterSubscriber from \"./interfaces/RegisterSubscriber\";\nimport RegisterEventNotifier, {\n Event,\n newRegisterEventData,\n RegisterEventData,\n} from \"./interfaces/RegisterEventNotifier\";\n\nexport default abstract class Block\n implements RegisterEventNotifier, RegisterSubscriber\n{\n private readonly _name: string;\n private eventEmitter: EventEmitter;\n protected registersPersist: RegisterPersist;\n\n protected constructor(name: string, regPersist: RegisterPersist) {\n this._name = name;\n this.eventEmitter = new EventEmitter();\n this.registersPersist = regPersist;\n }\n\n abstract eventHandler(eventData: RegisterEventData): void;\n\n public notifyEvent(eventData: RegisterEventData): void {\n this.eventEmitter.emit(eventData.event, eventData);\n }\n\n get name() {\n return this._name;\n }\n\n get registers() {\n const sortApproach = (a: Register, b: Register) =>\n a.reg.localeCompare(b.reg);\n return this.registersPersist.all().sort(sortApproach);\n }\n\n public addSubscriber(subscriber: RegisterSubscriber) {\n this.eventEmitter.on(Event.REGISTER_CREATED, function (data) {\n return subscriber.eventHandler.call(subscriber, data);\n });\n }\n\n public addRegister<T extends Register>(register: T) {\n this.registersPersist.add(register);\n this.notifyEvent(newRegisterEventData(register));\n }\n\n public hasContent(): boolean {\n return this.registersPersist.hasRegisters();\n }\n\n public getRegisterByKey(registerKey: string): Register {\n return this.registersPersist.getByKey(registerKey);\n }\n}\n","import {Register} from \"../Register\";\r\nimport RegisterSubscriber from \"./RegisterSubscriber\";\r\n\r\nexport enum Event {\r\n REGISTER_CREATED = \"register_created\",\r\n}\r\n\r\nexport interface RegisterEventData {\r\n event: Event\r\n dataTypeName: string\r\n data: Register\r\n}\r\n\r\nfunction newRegisterEvent(event: Event, register: Register): RegisterEventData {\r\n return {\r\n event: event,\r\n dataTypeName: register.constructor.name,\r\n data: register\r\n }\r\n}\r\n\r\nexport function newRegisterEventData(register: Register): RegisterEventData {\r\n return newRegisterEvent(Event.REGISTER_CREATED, register)\r\n}\r\n\r\n\r\nexport default interface RegisterEventNotifier {\r\n addSubscriber(subscriber: RegisterSubscriber):void\r\n notifyEvent(eventData: RegisterEventData): void\r\n}\r\n"],"mappings":";;;;;AAAA,SAAS,oBAAoB;;;ACa7B,SAAS,iBAAiB,OAAc,UAAuC;AAC3E,SAAO;AAAA,IACH;AAAA,IACA,cAAc,SAAS,YAAY;AAAA,IACnC,MAAM;AAAA,EACV;AACJ;AAEO,SAAS,qBAAqB,UAAuC;AACxE,SAAO,iBAAiB,2CAAwB,QAAQ;AAC5D;;;ADbA,IAA8B,QAA9B,MAEA;AAAA,EAKY,YAAY,MAAc,YAA6B;AAJjE,wBAAiB;AACjB,wBAAQ;AACR,wBAAU;AAGR,SAAK,QAAQ;AACb,SAAK,eAAe,IAAI,aAAa;AACrC,SAAK,mBAAmB;AAAA,EAC1B;AAAA,EAIO,YAAY,WAAoC;AACrD,SAAK,aAAa,KAAK,UAAU,OAAO,SAAS;AAAA,EACnD;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,YAAY;AACd,UAAM,eAAe,CAAC,GAAa,MACjC,EAAE,IAAI,cAAc,EAAE,GAAG;AAC3B,WAAO,KAAK,iBAAiB,IAAI,EAAE,KAAK,YAAY;AAAA,EACtD;AAAA,EAEO,cAAc,YAAgC;AACnD,SAAK,aAAa,8CAA2B,SAAU,MAAM;AAC3D,aAAO,WAAW,aAAa,KAAK,YAAY,IAAI;AAAA,IACtD,CAAC;AAAA,EACH;AAAA,EAEO,YAAgC,UAAa;AAClD,SAAK,iBAAiB,IAAI,QAAQ;AAClC,SAAK,YAAY,qBAAqB,QAAQ,CAAC;AAAA,EACjD;AAAA,EAEO,aAAsB;AAC3B,WAAO,KAAK,iBAAiB,aAAa;AAAA,EAC5C;AAAA,EAEO,iBAAiB,aAA+B;AACrD,WAAO,KAAK,iBAAiB,SAAS,WAAW;AAAA,EACnD;AACF;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import Block from './Block.mjs';
2
2
  import RegisterPersist from './interfaces/RegisterPersist.mjs';
3
- import { c as RegisterEventData } from '../Register-DYZa-bHZ.mjs';
3
+ import { c as RegisterEventData } from './Register-B1gRC0_O.mjs';
4
4
 
5
5
  declare class CounterBlock extends Block {
6
6
  constructor(regPersist: RegisterPersist, name?: string);
@@ -1,6 +1,6 @@
1
1
  import Block from './Block.js';
2
2
  import RegisterPersist from './interfaces/RegisterPersist.js';
3
- import { c as RegisterEventData } from '../Register-DYZa-bHZ.js';
3
+ import { c as RegisterEventData } from './Register-B1gRC0_O.js';
4
4
 
5
5
  declare class CounterBlock extends Block {
6
6
  constructor(regPersist: RegisterPersist, name?: string);
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../lib/taxReport/CounterBlock.ts","../lib/taxReport/Block.ts","../lib/taxReport/interfaces/RegisterEventNotifier.ts"],"sourcesContent":["import Block from \"./Block\";\nimport RegisterPersist from \"./interfaces/RegisterPersist\";\nimport {RegisterEventData} from \"./interfaces/RegisterEventNotifier\";\n\nexport default class CounterBlock extends Block {\n\n constructor(regPersist: RegisterPersist, name: string = \"9\") {\n super(name, regPersist);\n }\n\n eventHandler(eventData: RegisterEventData) {\n // throw new Error(\"Method not implemented.\");\n }\n}\n","import { EventEmitter } from \"node:events\";\nimport RegisterPersist from \"./interfaces/RegisterPersist\";\nimport { Register } from \"./Register\";\nimport RegisterSubscriber from \"./interfaces/RegisterSubscriber\";\nimport RegisterEventNotifier, {\n Event,\n newRegisterEventData,\n RegisterEventData,\n} from \"./interfaces/RegisterEventNotifier\";\n\nexport default abstract class Block\n implements RegisterEventNotifier, RegisterSubscriber\n{\n private readonly _name: string;\n private eventEmitter: EventEmitter;\n protected registersPersist: RegisterPersist;\n\n protected constructor(name: string, regPersist: RegisterPersist) {\n this._name = name;\n this.eventEmitter = new EventEmitter();\n this.registersPersist = regPersist;\n }\n\n abstract eventHandler(eventData: RegisterEventData): void;\n\n public notifyEvent(eventData: RegisterEventData): void {\n this.eventEmitter.emit(eventData.event, eventData);\n }\n\n get name() {\n return this._name;\n }\n\n get registers() {\n const sortApproach = (a: Register, b: Register) =>\n a.reg.localeCompare(b.reg);\n return this.registersPersist.all().sort(sortApproach);\n }\n\n public addSubscriber(subscriber: RegisterSubscriber) {\n this.eventEmitter.on(Event.REGISTER_CREATED, function (data) {\n return subscriber.eventHandler.call(subscriber, data);\n });\n }\n\n public addRegister<T extends Register>(register: T) {\n this.registersPersist.add(register);\n this.notifyEvent(newRegisterEventData(register));\n }\n\n public hasContent(): boolean {\n return this.registersPersist.hasRegisters();\n }\n\n public getRegisterByKey(registerKey: string): Register {\n return this.registersPersist.getByKey(registerKey);\n }\n}\n","import {Register} from \"../Register\";\r\nimport RegisterSubscriber from \"./RegisterSubscriber\";\r\n\r\nexport enum Event {\r\n REGISTER_CREATED = \"register_created\",\r\n}\r\n\r\nexport interface RegisterEventData {\r\n event: Event\r\n dataTypeName: string\r\n data: Register\r\n}\r\n\r\nfunction newRegisterEvent(event: Event, register: Register): RegisterEventData {\r\n return {\r\n event: event,\r\n dataTypeName: register.constructor.name,\r\n data: register\r\n }\r\n}\r\n\r\nexport function newRegisterEventData(register: Register): RegisterEventData {\r\n return newRegisterEvent(Event.REGISTER_CREATED, register)\r\n}\r\n\r\n\r\nexport default interface RegisterEventNotifier {\r\n addSubscriber(subscriber: RegisterSubscriber):void\r\n notifyEvent(eventData: RegisterEventData): void\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,yBAA6B;;;ACa7B,SAAS,iBAAiB,OAAc,UAAuC;AAC3E,SAAO;AAAA,IACH;AAAA,IACA,cAAc,SAAS,YAAY;AAAA,IACnC,MAAM;AAAA,EACV;AACJ;AAEO,SAAS,qBAAqB,UAAuC;AACxE,SAAO,iBAAiB,2CAAwB,QAAQ;AAC5D;;;ADbA,IAA8B,QAA9B,MAEA;AAAA,EAKY,YAAY,MAAc,YAA6B;AAJjE,wBAAiB;AACjB,wBAAQ;AACR,wBAAU;AAGR,SAAK,QAAQ;AACb,SAAK,eAAe,IAAI,gCAAa;AACrC,SAAK,mBAAmB;AAAA,EAC1B;AAAA,EAIO,YAAY,WAAoC;AACrD,SAAK,aAAa,KAAK,UAAU,OAAO,SAAS;AAAA,EACnD;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,YAAY;AACd,UAAM,eAAe,CAAC,GAAa,MACjC,EAAE,IAAI,cAAc,EAAE,GAAG;AAC3B,WAAO,KAAK,iBAAiB,IAAI,EAAE,KAAK,YAAY;AAAA,EACtD;AAAA,EAEO,cAAc,YAAgC;AACnD,SAAK,aAAa,8CAA2B,SAAU,MAAM;AAC3D,aAAO,WAAW,aAAa,KAAK,YAAY,IAAI;AAAA,IACtD,CAAC;AAAA,EACH;AAAA,EAEO,YAAgC,UAAa;AAClD,SAAK,iBAAiB,IAAI,QAAQ;AAClC,SAAK,YAAY,qBAAqB,QAAQ,CAAC;AAAA,EACjD;AAAA,EAEO,aAAsB;AAC3B,WAAO,KAAK,iBAAiB,aAAa;AAAA,EAC5C;AAAA,EAEO,iBAAiB,aAA+B;AACrD,WAAO,KAAK,iBAAiB,SAAS,WAAW;AAAA,EACnD;AACF;;;ADrDA,IAAqB,eAArB,cAA0C,MAAM;AAAA,EAE5C,YAAY,YAA6B,OAAe,KAAK;AACzD,UAAM,MAAM,UAAU;AAAA,EAC1B;AAAA,EAEA,aAAa,WAA8B;AAAA,EAE3C;AACJ;","names":[]}
@@ -3,7 +3,7 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
 
5
5
  // lib/taxReport/Block.ts
6
- import { EventEmitter } from "node:events";
6
+ import { EventEmitter } from "events";
7
7
 
8
8
  // lib/taxReport/interfaces/RegisterEventNotifier.ts
9
9
  function newRegisterEvent(event, register) {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../lib/taxReport/Block.ts","../lib/taxReport/interfaces/RegisterEventNotifier.ts","../lib/taxReport/CounterBlock.ts"],"sourcesContent":["import { EventEmitter } from \"node:events\";\nimport RegisterPersist from \"./interfaces/RegisterPersist\";\nimport { Register } from \"./Register\";\nimport RegisterSubscriber from \"./interfaces/RegisterSubscriber\";\nimport RegisterEventNotifier, {\n Event,\n newRegisterEventData,\n RegisterEventData,\n} from \"./interfaces/RegisterEventNotifier\";\n\nexport default abstract class Block\n implements RegisterEventNotifier, RegisterSubscriber\n{\n private readonly _name: string;\n private eventEmitter: EventEmitter;\n protected registersPersist: RegisterPersist;\n\n protected constructor(name: string, regPersist: RegisterPersist) {\n this._name = name;\n this.eventEmitter = new EventEmitter();\n this.registersPersist = regPersist;\n }\n\n abstract eventHandler(eventData: RegisterEventData): void;\n\n public notifyEvent(eventData: RegisterEventData): void {\n this.eventEmitter.emit(eventData.event, eventData);\n }\n\n get name() {\n return this._name;\n }\n\n get registers() {\n const sortApproach = (a: Register, b: Register) =>\n a.reg.localeCompare(b.reg);\n return this.registersPersist.all().sort(sortApproach);\n }\n\n public addSubscriber(subscriber: RegisterSubscriber) {\n this.eventEmitter.on(Event.REGISTER_CREATED, function (data) {\n return subscriber.eventHandler.call(subscriber, data);\n });\n }\n\n public addRegister<T extends Register>(register: T) {\n this.registersPersist.add(register);\n this.notifyEvent(newRegisterEventData(register));\n }\n\n public hasContent(): boolean {\n return this.registersPersist.hasRegisters();\n }\n\n public getRegisterByKey(registerKey: string): Register {\n return this.registersPersist.getByKey(registerKey);\n }\n}\n","import {Register} from \"../Register\";\r\nimport RegisterSubscriber from \"./RegisterSubscriber\";\r\n\r\nexport enum Event {\r\n REGISTER_CREATED = \"register_created\",\r\n}\r\n\r\nexport interface RegisterEventData {\r\n event: Event\r\n dataTypeName: string\r\n data: Register\r\n}\r\n\r\nfunction newRegisterEvent(event: Event, register: Register): RegisterEventData {\r\n return {\r\n event: event,\r\n dataTypeName: register.constructor.name,\r\n data: register\r\n }\r\n}\r\n\r\nexport function newRegisterEventData(register: Register): RegisterEventData {\r\n return newRegisterEvent(Event.REGISTER_CREATED, register)\r\n}\r\n\r\n\r\nexport default interface RegisterEventNotifier {\r\n addSubscriber(subscriber: RegisterSubscriber):void\r\n notifyEvent(eventData: RegisterEventData): void\r\n}\r\n","import Block from \"./Block\";\nimport RegisterPersist from \"./interfaces/RegisterPersist\";\nimport {RegisterEventData} from \"./interfaces/RegisterEventNotifier\";\n\nexport default class CounterBlock extends Block {\n\n constructor(regPersist: RegisterPersist, name: string = \"9\") {\n super(name, regPersist);\n }\n\n eventHandler(eventData: RegisterEventData) {\n // throw new Error(\"Method not implemented.\");\n }\n}\n"],"mappings":";;;;;AAAA,SAAS,oBAAoB;;;ACa7B,SAAS,iBAAiB,OAAc,UAAuC;AAC3E,SAAO;AAAA,IACH;AAAA,IACA,cAAc,SAAS,YAAY;AAAA,IACnC,MAAM;AAAA,EACV;AACJ;AAEO,SAAS,qBAAqB,UAAuC;AACxE,SAAO,iBAAiB,2CAAwB,QAAQ;AAC5D;;;ADbA,IAA8B,QAA9B,MAEA;AAAA,EAKY,YAAY,MAAc,YAA6B;AAJjE,wBAAiB;AACjB,wBAAQ;AACR,wBAAU;AAGR,SAAK,QAAQ;AACb,SAAK,eAAe,IAAI,aAAa;AACrC,SAAK,mBAAmB;AAAA,EAC1B;AAAA,EAIO,YAAY,WAAoC;AACrD,SAAK,aAAa,KAAK,UAAU,OAAO,SAAS;AAAA,EACnD;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,YAAY;AACd,UAAM,eAAe,CAAC,GAAa,MACjC,EAAE,IAAI,cAAc,EAAE,GAAG;AAC3B,WAAO,KAAK,iBAAiB,IAAI,EAAE,KAAK,YAAY;AAAA,EACtD;AAAA,EAEO,cAAc,YAAgC;AACnD,SAAK,aAAa,8CAA2B,SAAU,MAAM;AAC3D,aAAO,WAAW,aAAa,KAAK,YAAY,IAAI;AAAA,IACtD,CAAC;AAAA,EACH;AAAA,EAEO,YAAgC,UAAa;AAClD,SAAK,iBAAiB,IAAI,QAAQ;AAClC,SAAK,YAAY,qBAAqB,QAAQ,CAAC;AAAA,EACjD;AAAA,EAEO,aAAsB;AAC3B,WAAO,KAAK,iBAAiB,aAAa;AAAA,EAC5C;AAAA,EAEO,iBAAiB,aAA+B;AACrD,WAAO,KAAK,iBAAiB,SAAS,WAAW;AAAA,EACnD;AACF;;;AErDA,IAAqB,eAArB,cAA0C,MAAM;AAAA,EAE5C,YAAY,YAA6B,OAAe,KAAK;AACzD,UAAM,MAAM,UAAU;AAAA,EAC1B;AAAA,EAEA,aAAa,WAA8B;AAAA,EAE3C;AACJ;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { R as Register } from './Register-B1gRC0_O.mjs';
2
+
3
+ declare class CounterRegister extends Register {
4
+ reg_blc: string;
5
+ qtd_reg_blc: number;
6
+ constructor(qtd_reg_blc?: number, register?: string);
7
+ }
8
+
9
+ export { CounterRegister as default };
@@ -0,0 +1,9 @@
1
+ import { R as Register } from './Register-B1gRC0_O.js';
2
+
3
+ declare class CounterRegister extends Register {
4
+ reg_blc: string;
5
+ qtd_reg_blc: number;
6
+ constructor(qtd_reg_blc?: number, register?: string);
7
+ }
8
+
9
+ export { CounterRegister as default };
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -62,7 +61,7 @@ function alphanumericField(required, maximumLength, valueProvider, fillEntireLen
62
61
  function Numeric(required = false, fillEntireLength = false, maximumLength = maximumNumericLength) {
63
62
  return function(target, propertyKey, other) {
64
63
  Reflect.defineMetadata(
65
- propertyKey.toString(),
64
+ propertyKey,
66
65
  numericField(
67
66
  required,
68
67
  maximumLength,
@@ -71,6 +70,7 @@ function Numeric(required = false, fillEntireLength = false, maximumLength = max
71
70
  ),
72
71
  target
73
72
  );
73
+ return other;
74
74
  };
75
75
  }
76
76
  function Alphanumeric(required = false, fillEntireLength = false, maximumLength = defaultAlphanumericLength) {
@@ -85,6 +85,7 @@ function Alphanumeric(required = false, fillEntireLength = false, maximumLength
85
85
  ),
86
86
  target
87
87
  );
88
+ return other;
88
89
  };
89
90
  }
90
91
  function key() {
@@ -112,26 +113,61 @@ function Key() {
112
113
  )
113
114
  );
114
115
  Reflect.defineMetadata(keyCompositionMetadata, keyComposition, target);
116
+ return other;
115
117
  };
116
118
  }
117
119
 
118
- // lib/taxReport/CounterRegister.ts
119
- var CounterRegister = class {
120
- constructor(qtd_reg_blc = 0, register = "9900") {
121
- __publicField(this, "reg");
122
- __publicField(this, "reg_blc", "");
123
- __publicField(this, "qtd_reg_blc", 0);
124
- this.reg = register;
125
- this.qtd_reg_blc = qtd_reg_blc;
120
+ // lib/taxReport/interfaces/RegisterEventNotifier.ts
121
+ function newRegisterEvent(event, register) {
122
+ return {
123
+ event,
124
+ dataTypeName: register.constructor.name,
125
+ data: register
126
+ };
127
+ }
128
+ function newRegisterEventData(register) {
129
+ return newRegisterEvent("register_created" /* REGISTER_CREATED */, register);
130
+ }
131
+
132
+ // lib/taxReport/Register.ts
133
+ var Register = class {
134
+ constructor(registerTag, notifier) {
135
+ __publicField(this, "_registerNotifier");
136
+ __publicField(this, "_children");
137
+ __publicField(this, "reg", "");
138
+ this._children = [];
139
+ this.reg = registerTag;
140
+ this._registerNotifier = notifier;
126
141
  }
127
- tagName() {
128
- return this.reg;
142
+ addChild(child) {
143
+ this._children.push(child);
144
+ this._registerNotifier.notifyEvent(newRegisterEventData(child));
129
145
  }
130
146
  getChildren() {
131
- throw new Error("Method not implemented.");
147
+ return this._children;
132
148
  }
133
149
  getKeyValue() {
134
- return `${this.reg}${this.reg_blc}`;
150
+ const keyComposition = Reflect.getMetadata(
151
+ keyCompositionMetadata,
152
+ this
153
+ );
154
+ let result = "";
155
+ for (const keyFieldData of keyComposition.fields) {
156
+ result = result.concat(this[keyFieldData.fieldName]);
157
+ }
158
+ return result;
159
+ }
160
+ };
161
+ __decorateClass([
162
+ Key()
163
+ ], Register.prototype, "reg", 2);
164
+
165
+ // lib/taxReport/CounterRegister.ts
166
+ var CounterRegister = class extends Register {
167
+ constructor(qtd_reg_blc = 0, register = "9900") {
168
+ super(register, null);
169
+ __publicField(this, "reg_blc", "");
170
+ __publicField(this, "qtd_reg_blc", 0);
135
171
  }
136
172
  };
137
173
  __decorateClass([
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../lib/taxReport/CounterRegister.ts","../lib/taxReport/Decorators.ts","../lib/taxReport/interfaces/RegisterEventNotifier.ts","../lib/taxReport/Register.ts"],"sourcesContent":["import { Register } from \"./Register\";\nimport { Alphanumeric, Key, Numeric } from \"./Decorators\";\n\nexport default class CounterRegister extends Register {\n\n // @ts-ignore\n @Key()\n // @ts-ignore\n @Alphanumeric()\n reg_blc: string = \"\";\n\n // @ts-ignore\n @Numeric()\n qtd_reg_blc: number = 0;\n\n constructor(qtd_reg_blc: number = 0, register: string = \"9900\") {\n super(register, null);\n }\n}\n","import \"reflect-metadata\";\n\nexport const keyCompositionMetadata = Symbol(\"key\");\n\nexport const maximumNumericLength = 19;\nexport const defaultAlphanumericLength = 255;\n\nexport enum FieldDataType {\n alphanumeric,\n numeric,\n}\n\nexport enum valueProviderType {\n property,\n method,\n}\n\nexport interface FieldFormat {\n required: boolean;\n dataType: FieldDataType;\n maximumLength: number;\n maximumDecimalsLength: number;\n fillEntireLength: boolean;\n valueProvider: valueProviderType;\n}\n\nfunction numericField(\n required: boolean,\n maximumLength: number,\n valueProvider: valueProviderType,\n fillEntireLength: boolean = false,\n maximumDecimalsLength: number = 0,\n): FieldFormat {\n return {\n required: required,\n dataType: FieldDataType.numeric,\n maximumLength: maximumLength,\n maximumDecimalsLength: maximumDecimalsLength,\n fillEntireLength: fillEntireLength,\n valueProvider: valueProvider,\n } as FieldFormat;\n}\n\nfunction alphanumericField(\n required: boolean,\n maximumLength: number,\n valueProvider: valueProviderType,\n fillEntireLength: boolean = false,\n maximumDecimalsLength: number = 0,\n): FieldFormat {\n return {\n required: required,\n dataType: FieldDataType.alphanumeric,\n maximumLength: maximumLength,\n maximumDecimalsLength: maximumDecimalsLength,\n fillEntireLength: fillEntireLength,\n valueProvider: valueProvider,\n } as FieldFormat;\n}\n\nexport function Numeric(\n required: boolean = false,\n fillEntireLength: boolean = false,\n maximumLength: number = maximumNumericLength,\n) {\n return function (target: any, propertyKey: string, other?: any) {\n Reflect.defineMetadata(\n propertyKey,\n numericField(\n required,\n maximumLength,\n other ? valueProviderType.method : valueProviderType.property,\n fillEntireLength,\n ),\n target,\n );\n return other;\n };\n}\n\n//export function Numeric(\n// required: boolean = false,\n// fillEntireLength: boolean = false,\n// maximumLength: number = maximumNumericLength,\n//): PropertyDecorator | MethodDecorator {\n// return function (target: any, propertyKey: string, other: any) {\n// Reflect.defineMetadata(\n// propertyKey,\n// numericField(\n// required,\n// maximumLength,\n// other ? valueProviderType.method : valueProviderType.property,\n// fillEntireLength,\n// ),\n// target,\n// );\n// };\n//}\n\nexport function Decimal(\n required: boolean = false,\n fillEntireLength: boolean = false,\n maximumLength: number = maximumNumericLength,\n maximumDecimalsLength: number = 2,\n) {\n return function (target: any, propertyKey: string, other?: any) {\n Reflect.defineMetadata(\n propertyKey,\n numericField(\n required,\n maximumLength,\n other ? valueProviderType.method : valueProviderType.property,\n fillEntireLength,\n maximumDecimalsLength,\n ),\n target,\n );\n return other;\n };\n}\n\n//export function Decimal(\n// required: boolean = false,\n// fillEntireLength: boolean = false,\n// maximumLength: number = maximumNumericLength,\n// maximumDecimalsLength: number = 2,\n//): PropertyDecorator | MethodDecorator {\n// return function (target: any, propertyKey: string, other: any) {\n// Reflect.defineMetadata(\n// propertyKey,\n// numericField(\n// required,\n// maximumLength,\n// other ? valueProviderType.method : valueProviderType.property,\n// fillEntireLength,\n// maximumDecimalsLength,\n// ),\n// target,\n// );\n// };\n//}\n\nexport function Alphanumeric(\n required: boolean = false,\n fillEntireLength: boolean = false,\n maximumLength: number = defaultAlphanumericLength\n ) {\n return function (target: any, propertyKey: string, other?: any) {\n Reflect.defineMetadata(\n propertyKey,\n alphanumericField(\n required,\n maximumLength,\n other ? valueProviderType.method : valueProviderType.property,\n fillEntireLength,\n ),\n target,\n );\n return other;\n };\n}\n\n//export function Alphanumeric(\n// required: boolean = false,\n// fillEntireLength: boolean = false,\n// maximumLength: number = defaultAlphanumericLength,\n//): PropertyDecorator | MethodDecorator {\n// return function (target: any, propertyKey: string, other: any) {\n// Reflect.defineMetadata(\n// propertyKey,\n// alphanumericField(\n// required,\n// maximumLength,\n// other ? valueProviderType.method : valueProviderType.property,\n// fillEntireLength,\n// ),\n// target,\n// );\n// };\n//}\n\nexport interface KeyComposition {\n fields: KeyFieldDefinition[];\n}\n\nexport interface KeyFieldDefinition {\n fieldName: string;\n valueProvider: valueProviderType;\n}\n\nfunction key() {\n return {\n fields: [],\n } as KeyComposition;\n}\n\nfunction keyFieldDefinition(\n fieldName: string,\n valueProvider: valueProviderType,\n) {\n return {\n fieldName: fieldName,\n valueProvider: valueProvider,\n } as KeyFieldDefinition;\n}\n\nexport function Key() {\n return function (target: any, propertyKey: string, other?: any): void {\n let keyComposition: KeyComposition;\n keyComposition = Reflect.getMetadata(keyCompositionMetadata, target);\n if (!keyComposition) {\n keyComposition = key();\n }\n keyComposition.fields.push(\n keyFieldDefinition(\n propertyKey,\n other ? valueProviderType.method : valueProviderType.property,\n ),\n );\n Reflect.defineMetadata(keyCompositionMetadata, keyComposition, target);\n return other;\n };\n}\n\n//export function Key(): PropertyDecorator | MethodDecorator {\n// return function (target: any, propertyKey: string, other?: any): void {\n// let keyComposition: KeyComposition;\n// keyComposition = Reflect.getMetadata(keyCompositionMetadata, target);\n// if (!keyComposition) {\n// keyComposition = key();\n// }\n// keyComposition.fields.push(\n// keyFieldDefinition(\n// propertyKey,\n// other ? valueProviderType.method : valueProviderType.property,\n// ),\n// );\n// Reflect.defineMetadata(keyCompositionMetadata, keyComposition, target);\n// };\n//}\n\n//export {Numeric, Decimal, Alphanumeric, Key}","import {Register} from \"../Register\";\r\nimport RegisterSubscriber from \"./RegisterSubscriber\";\r\n\r\nexport enum Event {\r\n REGISTER_CREATED = \"register_created\",\r\n}\r\n\r\nexport interface RegisterEventData {\r\n event: Event\r\n dataTypeName: string\r\n data: Register\r\n}\r\n\r\nfunction newRegisterEvent(event: Event, register: Register): RegisterEventData {\r\n return {\r\n event: event,\r\n dataTypeName: register.constructor.name,\r\n data: register\r\n }\r\n}\r\n\r\nexport function newRegisterEventData(register: Register): RegisterEventData {\r\n return newRegisterEvent(Event.REGISTER_CREATED, register)\r\n}\r\n\r\n\r\nexport default interface RegisterEventNotifier {\r\n addSubscriber(subscriber: RegisterSubscriber):void\r\n notifyEvent(eventData: RegisterEventData): void\r\n}\r\n","import { Key, KeyComposition, keyCompositionMetadata } from \"./Decorators\";\nimport RegisterEventNotifier, {\n newRegisterEventData,\n} from \"./interfaces/RegisterEventNotifier\";\n\nexport abstract class Register {\n private _registerNotifier: RegisterEventNotifier;\n private readonly _children: Register[];\n\n // @ts-ignore\n @Key()\n reg: string = \"\";\n constructor(registerTag: string, notifier: RegisterEventNotifier) {\n this._children = [];\n this.reg = registerTag;\n this._registerNotifier = notifier;\n }\n\n protected addChild(child: Register) {\n this._children.push(child);\n this._registerNotifier!!.notifyEvent(newRegisterEventData(child));\n }\n\n public getChildren(): Register[] {\n return this._children;\n }\n\n public getKeyValue(): string {\n const keyComposition: KeyComposition = Reflect.getMetadata(\n keyCompositionMetadata,\n this,\n );\n let result = \"\";\n for (const keyFieldData of keyComposition.fields) {\n result = result.concat(this[keyFieldData.fieldName]);\n }\n return result;\n }\n}\n"],"mappings":"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","names":[]}
@@ -39,7 +39,7 @@ function alphanumericField(required, maximumLength, valueProvider, fillEntireLen
39
39
  function Numeric(required = false, fillEntireLength = false, maximumLength = maximumNumericLength) {
40
40
  return function(target, propertyKey, other) {
41
41
  Reflect.defineMetadata(
42
- propertyKey.toString(),
42
+ propertyKey,
43
43
  numericField(
44
44
  required,
45
45
  maximumLength,
@@ -48,6 +48,7 @@ function Numeric(required = false, fillEntireLength = false, maximumLength = max
48
48
  ),
49
49
  target
50
50
  );
51
+ return other;
51
52
  };
52
53
  }
53
54
  function Alphanumeric(required = false, fillEntireLength = false, maximumLength = defaultAlphanumericLength) {
@@ -62,6 +63,7 @@ function Alphanumeric(required = false, fillEntireLength = false, maximumLength
62
63
  ),
63
64
  target
64
65
  );
66
+ return other;
65
67
  };
66
68
  }
67
69
  function key() {
@@ -89,26 +91,61 @@ function Key() {
89
91
  )
90
92
  );
91
93
  Reflect.defineMetadata(keyCompositionMetadata, keyComposition, target);
94
+ return other;
92
95
  };
93
96
  }
94
97
 
95
- // lib/taxReport/CounterRegister.ts
96
- var CounterRegister = class {
97
- constructor(qtd_reg_blc = 0, register = "9900") {
98
- __publicField(this, "reg");
99
- __publicField(this, "reg_blc", "");
100
- __publicField(this, "qtd_reg_blc", 0);
101
- this.reg = register;
102
- this.qtd_reg_blc = qtd_reg_blc;
98
+ // lib/taxReport/interfaces/RegisterEventNotifier.ts
99
+ function newRegisterEvent(event, register) {
100
+ return {
101
+ event,
102
+ dataTypeName: register.constructor.name,
103
+ data: register
104
+ };
105
+ }
106
+ function newRegisterEventData(register) {
107
+ return newRegisterEvent("register_created" /* REGISTER_CREATED */, register);
108
+ }
109
+
110
+ // lib/taxReport/Register.ts
111
+ var Register = class {
112
+ constructor(registerTag, notifier) {
113
+ __publicField(this, "_registerNotifier");
114
+ __publicField(this, "_children");
115
+ __publicField(this, "reg", "");
116
+ this._children = [];
117
+ this.reg = registerTag;
118
+ this._registerNotifier = notifier;
103
119
  }
104
- tagName() {
105
- return this.reg;
120
+ addChild(child) {
121
+ this._children.push(child);
122
+ this._registerNotifier.notifyEvent(newRegisterEventData(child));
106
123
  }
107
124
  getChildren() {
108
- throw new Error("Method not implemented.");
125
+ return this._children;
109
126
  }
110
127
  getKeyValue() {
111
- return `${this.reg}${this.reg_blc}`;
128
+ const keyComposition = Reflect.getMetadata(
129
+ keyCompositionMetadata,
130
+ this
131
+ );
132
+ let result = "";
133
+ for (const keyFieldData of keyComposition.fields) {
134
+ result = result.concat(this[keyFieldData.fieldName]);
135
+ }
136
+ return result;
137
+ }
138
+ };
139
+ __decorateClass([
140
+ Key()
141
+ ], Register.prototype, "reg", 2);
142
+
143
+ // lib/taxReport/CounterRegister.ts
144
+ var CounterRegister = class extends Register {
145
+ constructor(qtd_reg_blc = 0, register = "9900") {
146
+ super(register, null);
147
+ __publicField(this, "reg_blc", "");
148
+ __publicField(this, "qtd_reg_blc", 0);
112
149
  }
113
150
  };
114
151
  __decorateClass([
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../lib/taxReport/Decorators.ts","../lib/taxReport/interfaces/RegisterEventNotifier.ts","../lib/taxReport/Register.ts","../lib/taxReport/CounterRegister.ts"],"sourcesContent":["import \"reflect-metadata\";\n\nexport const keyCompositionMetadata = Symbol(\"key\");\n\nexport const maximumNumericLength = 19;\nexport const defaultAlphanumericLength = 255;\n\nexport enum FieldDataType {\n alphanumeric,\n numeric,\n}\n\nexport enum valueProviderType {\n property,\n method,\n}\n\nexport interface FieldFormat {\n required: boolean;\n dataType: FieldDataType;\n maximumLength: number;\n maximumDecimalsLength: number;\n fillEntireLength: boolean;\n valueProvider: valueProviderType;\n}\n\nfunction numericField(\n required: boolean,\n maximumLength: number,\n valueProvider: valueProviderType,\n fillEntireLength: boolean = false,\n maximumDecimalsLength: number = 0,\n): FieldFormat {\n return {\n required: required,\n dataType: FieldDataType.numeric,\n maximumLength: maximumLength,\n maximumDecimalsLength: maximumDecimalsLength,\n fillEntireLength: fillEntireLength,\n valueProvider: valueProvider,\n } as FieldFormat;\n}\n\nfunction alphanumericField(\n required: boolean,\n maximumLength: number,\n valueProvider: valueProviderType,\n fillEntireLength: boolean = false,\n maximumDecimalsLength: number = 0,\n): FieldFormat {\n return {\n required: required,\n dataType: FieldDataType.alphanumeric,\n maximumLength: maximumLength,\n maximumDecimalsLength: maximumDecimalsLength,\n fillEntireLength: fillEntireLength,\n valueProvider: valueProvider,\n } as FieldFormat;\n}\n\nexport function Numeric(\n required: boolean = false,\n fillEntireLength: boolean = false,\n maximumLength: number = maximumNumericLength,\n) {\n return function (target: any, propertyKey: string, other?: any) {\n Reflect.defineMetadata(\n propertyKey,\n numericField(\n required,\n maximumLength,\n other ? valueProviderType.method : valueProviderType.property,\n fillEntireLength,\n ),\n target,\n );\n return other;\n };\n}\n\n//export function Numeric(\n// required: boolean = false,\n// fillEntireLength: boolean = false,\n// maximumLength: number = maximumNumericLength,\n//): PropertyDecorator | MethodDecorator {\n// return function (target: any, propertyKey: string, other: any) {\n// Reflect.defineMetadata(\n// propertyKey,\n// numericField(\n// required,\n// maximumLength,\n// other ? valueProviderType.method : valueProviderType.property,\n// fillEntireLength,\n// ),\n// target,\n// );\n// };\n//}\n\nexport function Decimal(\n required: boolean = false,\n fillEntireLength: boolean = false,\n maximumLength: number = maximumNumericLength,\n maximumDecimalsLength: number = 2,\n) {\n return function (target: any, propertyKey: string, other?: any) {\n Reflect.defineMetadata(\n propertyKey,\n numericField(\n required,\n maximumLength,\n other ? valueProviderType.method : valueProviderType.property,\n fillEntireLength,\n maximumDecimalsLength,\n ),\n target,\n );\n return other;\n };\n}\n\n//export function Decimal(\n// required: boolean = false,\n// fillEntireLength: boolean = false,\n// maximumLength: number = maximumNumericLength,\n// maximumDecimalsLength: number = 2,\n//): PropertyDecorator | MethodDecorator {\n// return function (target: any, propertyKey: string, other: any) {\n// Reflect.defineMetadata(\n// propertyKey,\n// numericField(\n// required,\n// maximumLength,\n// other ? valueProviderType.method : valueProviderType.property,\n// fillEntireLength,\n// maximumDecimalsLength,\n// ),\n// target,\n// );\n// };\n//}\n\nexport function Alphanumeric(\n required: boolean = false,\n fillEntireLength: boolean = false,\n maximumLength: number = defaultAlphanumericLength\n ) {\n return function (target: any, propertyKey: string, other?: any) {\n Reflect.defineMetadata(\n propertyKey,\n alphanumericField(\n required,\n maximumLength,\n other ? valueProviderType.method : valueProviderType.property,\n fillEntireLength,\n ),\n target,\n );\n return other;\n };\n}\n\n//export function Alphanumeric(\n// required: boolean = false,\n// fillEntireLength: boolean = false,\n// maximumLength: number = defaultAlphanumericLength,\n//): PropertyDecorator | MethodDecorator {\n// return function (target: any, propertyKey: string, other: any) {\n// Reflect.defineMetadata(\n// propertyKey,\n// alphanumericField(\n// required,\n// maximumLength,\n// other ? valueProviderType.method : valueProviderType.property,\n// fillEntireLength,\n// ),\n// target,\n// );\n// };\n//}\n\nexport interface KeyComposition {\n fields: KeyFieldDefinition[];\n}\n\nexport interface KeyFieldDefinition {\n fieldName: string;\n valueProvider: valueProviderType;\n}\n\nfunction key() {\n return {\n fields: [],\n } as KeyComposition;\n}\n\nfunction keyFieldDefinition(\n fieldName: string,\n valueProvider: valueProviderType,\n) {\n return {\n fieldName: fieldName,\n valueProvider: valueProvider,\n } as KeyFieldDefinition;\n}\n\nexport function Key() {\n return function (target: any, propertyKey: string, other?: any): void {\n let keyComposition: KeyComposition;\n keyComposition = Reflect.getMetadata(keyCompositionMetadata, target);\n if (!keyComposition) {\n keyComposition = key();\n }\n keyComposition.fields.push(\n keyFieldDefinition(\n propertyKey,\n other ? valueProviderType.method : valueProviderType.property,\n ),\n );\n Reflect.defineMetadata(keyCompositionMetadata, keyComposition, target);\n return other;\n };\n}\n\n//export function Key(): PropertyDecorator | MethodDecorator {\n// return function (target: any, propertyKey: string, other?: any): void {\n// let keyComposition: KeyComposition;\n// keyComposition = Reflect.getMetadata(keyCompositionMetadata, target);\n// if (!keyComposition) {\n// keyComposition = key();\n// }\n// keyComposition.fields.push(\n// keyFieldDefinition(\n// propertyKey,\n// other ? valueProviderType.method : valueProviderType.property,\n// ),\n// );\n// Reflect.defineMetadata(keyCompositionMetadata, keyComposition, target);\n// };\n//}\n\n//export {Numeric, Decimal, Alphanumeric, Key}","import {Register} from \"../Register\";\r\nimport RegisterSubscriber from \"./RegisterSubscriber\";\r\n\r\nexport enum Event {\r\n REGISTER_CREATED = \"register_created\",\r\n}\r\n\r\nexport interface RegisterEventData {\r\n event: Event\r\n dataTypeName: string\r\n data: Register\r\n}\r\n\r\nfunction newRegisterEvent(event: Event, register: Register): RegisterEventData {\r\n return {\r\n event: event,\r\n dataTypeName: register.constructor.name,\r\n data: register\r\n }\r\n}\r\n\r\nexport function newRegisterEventData(register: Register): RegisterEventData {\r\n return newRegisterEvent(Event.REGISTER_CREATED, register)\r\n}\r\n\r\n\r\nexport default interface RegisterEventNotifier {\r\n addSubscriber(subscriber: RegisterSubscriber):void\r\n notifyEvent(eventData: RegisterEventData): void\r\n}\r\n","import { Key, KeyComposition, keyCompositionMetadata } from \"./Decorators\";\nimport RegisterEventNotifier, {\n newRegisterEventData,\n} from \"./interfaces/RegisterEventNotifier\";\n\nexport abstract class Register {\n private _registerNotifier: RegisterEventNotifier;\n private readonly _children: Register[];\n\n // @ts-ignore\n @Key()\n reg: string = \"\";\n constructor(registerTag: string, notifier: RegisterEventNotifier) {\n this._children = [];\n this.reg = registerTag;\n this._registerNotifier = notifier;\n }\n\n protected addChild(child: Register) {\n this._children.push(child);\n this._registerNotifier!!.notifyEvent(newRegisterEventData(child));\n }\n\n public getChildren(): Register[] {\n return this._children;\n }\n\n public getKeyValue(): string {\n const keyComposition: KeyComposition = Reflect.getMetadata(\n keyCompositionMetadata,\n this,\n );\n let result = \"\";\n for (const keyFieldData of keyComposition.fields) {\n result = result.concat(this[keyFieldData.fieldName]);\n }\n return result;\n }\n}\n","import { Register } from \"./Register\";\nimport { Alphanumeric, Key, Numeric } from \"./Decorators\";\n\nexport default class CounterRegister extends Register {\n\n // @ts-ignore\n @Key()\n // @ts-ignore\n @Alphanumeric()\n reg_blc: string = \"\";\n\n // @ts-ignore\n @Numeric()\n qtd_reg_blc: number = 0;\n\n constructor(qtd_reg_blc: number = 0, register: string = \"9900\") {\n super(register, null);\n }\n}\n"],"mappings":"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","names":[]}
@@ -17,9 +17,9 @@ interface FieldFormat {
17
17
  fillEntireLength: boolean;
18
18
  valueProvider: valueProviderType;
19
19
  }
20
- declare function Numeric(required?: boolean, fillEntireLength?: boolean, maximumLength?: number): (target: any, propertyKey: any, other?: any) => void;
21
- declare function Decimal(required?: boolean, fillEntireLength?: boolean, maximumLength?: number, maximumDecimalsLength?: number): (target: any, propertyKey: any, other?: any) => void;
22
- declare function Alphanumeric(required?: boolean, fillEntireLength?: boolean, maximumLength?: number): (target: any, propertyKey: any, other?: any) => void;
20
+ declare function Numeric(required?: boolean, fillEntireLength?: boolean, maximumLength?: number): (target: any, propertyKey: string, other?: any) => any;
21
+ declare function Decimal(required?: boolean, fillEntireLength?: boolean, maximumLength?: number, maximumDecimalsLength?: number): (target: any, propertyKey: string, other?: any) => any;
22
+ declare function Alphanumeric(required?: boolean, fillEntireLength?: boolean, maximumLength?: number): (target: any, propertyKey: string, other?: any) => any;
23
23
  interface KeyComposition {
24
24
  fields: KeyFieldDefinition[];
25
25
  }
@@ -27,7 +27,7 @@ interface KeyFieldDefinition {
27
27
  fieldName: string;
28
28
  valueProvider: valueProviderType;
29
29
  }
30
- declare function Key(): (target: any, propertyKey: any, other?: any) => void;
30
+ declare function Key(): (target: any, propertyKey: string, other?: any) => void;
31
31
 
32
32
  declare const Decorators_Alphanumeric: typeof Alphanumeric;
33
33
  declare const Decorators_Decimal: typeof Decimal;
@@ -17,9 +17,9 @@ interface FieldFormat {
17
17
  fillEntireLength: boolean;
18
18
  valueProvider: valueProviderType;
19
19
  }
20
- declare function Numeric(required?: boolean, fillEntireLength?: boolean, maximumLength?: number): (target: any, propertyKey: any, other?: any) => void;
21
- declare function Decimal(required?: boolean, fillEntireLength?: boolean, maximumLength?: number, maximumDecimalsLength?: number): (target: any, propertyKey: any, other?: any) => void;
22
- declare function Alphanumeric(required?: boolean, fillEntireLength?: boolean, maximumLength?: number): (target: any, propertyKey: any, other?: any) => void;
20
+ declare function Numeric(required?: boolean, fillEntireLength?: boolean, maximumLength?: number): (target: any, propertyKey: string, other?: any) => any;
21
+ declare function Decimal(required?: boolean, fillEntireLength?: boolean, maximumLength?: number, maximumDecimalsLength?: number): (target: any, propertyKey: string, other?: any) => any;
22
+ declare function Alphanumeric(required?: boolean, fillEntireLength?: boolean, maximumLength?: number): (target: any, propertyKey: string, other?: any) => any;
23
23
  interface KeyComposition {
24
24
  fields: KeyFieldDefinition[];
25
25
  }
@@ -27,7 +27,7 @@ interface KeyFieldDefinition {
27
27
  fieldName: string;
28
28
  valueProvider: valueProviderType;
29
29
  }
30
- declare function Key(): (target: any, propertyKey: any, other?: any) => void;
30
+ declare function Key(): (target: any, propertyKey: string, other?: any) => void;
31
31
 
32
32
  declare const Decorators_Alphanumeric: typeof Alphanumeric;
33
33
  declare const Decorators_Decimal: typeof Decimal;
@@ -1 +1 @@
1
- export { A as Alphanumeric, b as Decimal, F as FieldDataType, a as FieldFormat, e as Key, K as KeyComposition, c as KeyFieldDefinition, N as Numeric, d as defaultAlphanumericLength, k as keyCompositionMetadata, m as maximumNumericLength, v as valueProviderType } from '../Decorators-DhoiAspk.mjs';
1
+ export { A as Alphanumeric, b as Decimal, F as FieldDataType, a as FieldFormat, e as Key, K as KeyComposition, c as KeyFieldDefinition, N as Numeric, d as defaultAlphanumericLength, k as keyCompositionMetadata, m as maximumNumericLength, v as valueProviderType } from './Decorators-DNy0zTu7.mjs';
@@ -1 +1 @@
1
- export { A as Alphanumeric, b as Decimal, F as FieldDataType, a as FieldFormat, e as Key, K as KeyComposition, c as KeyFieldDefinition, N as Numeric, d as defaultAlphanumericLength, k as keyCompositionMetadata, m as maximumNumericLength, v as valueProviderType } from '../Decorators-DhoiAspk.js';
1
+ export { A as Alphanumeric, b as Decimal, F as FieldDataType, a as FieldFormat, e as Key, K as KeyComposition, c as KeyFieldDefinition, N as Numeric, d as defaultAlphanumericLength, k as keyCompositionMetadata, m as maximumNumericLength, v as valueProviderType } from './Decorators-DNy0zTu7.js';
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -68,7 +67,7 @@ function alphanumericField(required, maximumLength, valueProvider, fillEntireLen
68
67
  function Numeric(required = false, fillEntireLength = false, maximumLength = maximumNumericLength) {
69
68
  return function(target, propertyKey, other) {
70
69
  Reflect.defineMetadata(
71
- propertyKey.toString(),
70
+ propertyKey,
72
71
  numericField(
73
72
  required,
74
73
  maximumLength,
@@ -77,6 +76,7 @@ function Numeric(required = false, fillEntireLength = false, maximumLength = max
77
76
  ),
78
77
  target
79
78
  );
79
+ return other;
80
80
  };
81
81
  }
82
82
  function Decimal(required = false, fillEntireLength = false, maximumLength = maximumNumericLength, maximumDecimalsLength = 2) {
@@ -92,6 +92,7 @@ function Decimal(required = false, fillEntireLength = false, maximumLength = max
92
92
  ),
93
93
  target
94
94
  );
95
+ return other;
95
96
  };
96
97
  }
97
98
  function Alphanumeric(required = false, fillEntireLength = false, maximumLength = defaultAlphanumericLength) {
@@ -106,6 +107,7 @@ function Alphanumeric(required = false, fillEntireLength = false, maximumLength
106
107
  ),
107
108
  target
108
109
  );
110
+ return other;
109
111
  };
110
112
  }
111
113
  function key() {
@@ -133,6 +135,7 @@ function Key() {
133
135
  )
134
136
  );
135
137
  Reflect.defineMetadata(keyCompositionMetadata, keyComposition, target);
138
+ return other;
136
139
  };
137
140
  }
138
141
  // Annotate the CommonJS export names for ESM import in node:
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../lib/taxReport/Decorators.ts"],"sourcesContent":["import \"reflect-metadata\";\n\nexport const keyCompositionMetadata = Symbol(\"key\");\n\nexport const maximumNumericLength = 19;\nexport const defaultAlphanumericLength = 255;\n\nexport enum FieldDataType {\n alphanumeric,\n numeric,\n}\n\nexport enum valueProviderType {\n property,\n method,\n}\n\nexport interface FieldFormat {\n required: boolean;\n dataType: FieldDataType;\n maximumLength: number;\n maximumDecimalsLength: number;\n fillEntireLength: boolean;\n valueProvider: valueProviderType;\n}\n\nfunction numericField(\n required: boolean,\n maximumLength: number,\n valueProvider: valueProviderType,\n fillEntireLength: boolean = false,\n maximumDecimalsLength: number = 0,\n): FieldFormat {\n return {\n required: required,\n dataType: FieldDataType.numeric,\n maximumLength: maximumLength,\n maximumDecimalsLength: maximumDecimalsLength,\n fillEntireLength: fillEntireLength,\n valueProvider: valueProvider,\n } as FieldFormat;\n}\n\nfunction alphanumericField(\n required: boolean,\n maximumLength: number,\n valueProvider: valueProviderType,\n fillEntireLength: boolean = false,\n maximumDecimalsLength: number = 0,\n): FieldFormat {\n return {\n required: required,\n dataType: FieldDataType.alphanumeric,\n maximumLength: maximumLength,\n maximumDecimalsLength: maximumDecimalsLength,\n fillEntireLength: fillEntireLength,\n valueProvider: valueProvider,\n } as FieldFormat;\n}\n\nexport function Numeric(\n required: boolean = false,\n fillEntireLength: boolean = false,\n maximumLength: number = maximumNumericLength,\n) {\n return function (target: any, propertyKey: string, other?: any) {\n Reflect.defineMetadata(\n propertyKey,\n numericField(\n required,\n maximumLength,\n other ? valueProviderType.method : valueProviderType.property,\n fillEntireLength,\n ),\n target,\n );\n return other;\n };\n}\n\n//export function Numeric(\n// required: boolean = false,\n// fillEntireLength: boolean = false,\n// maximumLength: number = maximumNumericLength,\n//): PropertyDecorator | MethodDecorator {\n// return function (target: any, propertyKey: string, other: any) {\n// Reflect.defineMetadata(\n// propertyKey,\n// numericField(\n// required,\n// maximumLength,\n// other ? valueProviderType.method : valueProviderType.property,\n// fillEntireLength,\n// ),\n// target,\n// );\n// };\n//}\n\nexport function Decimal(\n required: boolean = false,\n fillEntireLength: boolean = false,\n maximumLength: number = maximumNumericLength,\n maximumDecimalsLength: number = 2,\n) {\n return function (target: any, propertyKey: string, other?: any) {\n Reflect.defineMetadata(\n propertyKey,\n numericField(\n required,\n maximumLength,\n other ? valueProviderType.method : valueProviderType.property,\n fillEntireLength,\n maximumDecimalsLength,\n ),\n target,\n );\n return other;\n };\n}\n\n//export function Decimal(\n// required: boolean = false,\n// fillEntireLength: boolean = false,\n// maximumLength: number = maximumNumericLength,\n// maximumDecimalsLength: number = 2,\n//): PropertyDecorator | MethodDecorator {\n// return function (target: any, propertyKey: string, other: any) {\n// Reflect.defineMetadata(\n// propertyKey,\n// numericField(\n// required,\n// maximumLength,\n// other ? valueProviderType.method : valueProviderType.property,\n// fillEntireLength,\n// maximumDecimalsLength,\n// ),\n// target,\n// );\n// };\n//}\n\nexport function Alphanumeric(\n required: boolean = false,\n fillEntireLength: boolean = false,\n maximumLength: number = defaultAlphanumericLength\n ) {\n return function (target: any, propertyKey: string, other?: any) {\n Reflect.defineMetadata(\n propertyKey,\n alphanumericField(\n required,\n maximumLength,\n other ? valueProviderType.method : valueProviderType.property,\n fillEntireLength,\n ),\n target,\n );\n return other;\n };\n}\n\n//export function Alphanumeric(\n// required: boolean = false,\n// fillEntireLength: boolean = false,\n// maximumLength: number = defaultAlphanumericLength,\n//): PropertyDecorator | MethodDecorator {\n// return function (target: any, propertyKey: string, other: any) {\n// Reflect.defineMetadata(\n// propertyKey,\n// alphanumericField(\n// required,\n// maximumLength,\n// other ? valueProviderType.method : valueProviderType.property,\n// fillEntireLength,\n// ),\n// target,\n// );\n// };\n//}\n\nexport interface KeyComposition {\n fields: KeyFieldDefinition[];\n}\n\nexport interface KeyFieldDefinition {\n fieldName: string;\n valueProvider: valueProviderType;\n}\n\nfunction key() {\n return {\n fields: [],\n } as KeyComposition;\n}\n\nfunction keyFieldDefinition(\n fieldName: string,\n valueProvider: valueProviderType,\n) {\n return {\n fieldName: fieldName,\n valueProvider: valueProvider,\n } as KeyFieldDefinition;\n}\n\nexport function Key() {\n return function (target: any, propertyKey: string, other?: any): void {\n let keyComposition: KeyComposition;\n keyComposition = Reflect.getMetadata(keyCompositionMetadata, target);\n if (!keyComposition) {\n keyComposition = key();\n }\n keyComposition.fields.push(\n keyFieldDefinition(\n propertyKey,\n other ? valueProviderType.method : valueProviderType.property,\n ),\n );\n Reflect.defineMetadata(keyCompositionMetadata, keyComposition, target);\n return other;\n };\n}\n\n//export function Key(): PropertyDecorator | MethodDecorator {\n// return function (target: any, propertyKey: string, other?: any): void {\n// let keyComposition: KeyComposition;\n// keyComposition = Reflect.getMetadata(keyCompositionMetadata, target);\n// if (!keyComposition) {\n// keyComposition = key();\n// }\n// keyComposition.fields.push(\n// keyFieldDefinition(\n// propertyKey,\n// other ? valueProviderType.method : valueProviderType.property,\n// ),\n// );\n// Reflect.defineMetadata(keyCompositionMetadata, keyComposition, target);\n// };\n//}\n\n//export {Numeric, Decimal, Alphanumeric, Key}"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAO;AAEA,IAAM,yBAAyB,OAAO,KAAK;AAE3C,IAAM,uBAAuB;AAC7B,IAAM,4BAA4B;AAElC,IAAK,gBAAL,kBAAKA,mBAAL;AACL,EAAAA,8BAAA;AACA,EAAAA,8BAAA;AAFU,SAAAA;AAAA,GAAA;AAKL,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,sCAAA;AACA,EAAAA,sCAAA;AAFU,SAAAA;AAAA,GAAA;AAcZ,SAAS,aACP,UACA,eACA,eACA,mBAA4B,OAC5B,wBAAgC,GACnB;AACb,SAAO;AAAA,IACL;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEA,SAAS,kBACP,UACA,eACA,eACA,mBAA4B,OAC5B,wBAAgC,GACnB;AACb,SAAO;AAAA,IACL;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,SAAS,QACd,WAAoB,OACpB,mBAA4B,OAC5B,gBAAwB,sBACxB;AACA,SAAO,SAAU,QAAa,aAAqB,OAAa;AAC9D,YAAQ;AAAA,MACN;AAAA,MACA;AAAA,QACE;AAAA,QACA;AAAA,QACA,QAAQ,iBAA2B;AAAA,QACnC;AAAA,MACF;AAAA,MACA;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;AAqBO,SAAS,QACd,WAAoB,OACpB,mBAA4B,OAC5B,gBAAwB,sBACxB,wBAAgC,GAChC;AACA,SAAO,SAAU,QAAa,aAAqB,OAAa;AAC9D,YAAQ;AAAA,MACN;AAAA,MACA;AAAA,QACE;AAAA,QACA;AAAA,QACA,QAAQ,iBAA2B;AAAA,QACnC;AAAA,QACA;AAAA,MACF;AAAA,MACA;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;AAuBO,SAAS,aACZ,WAAoB,OACpB,mBAA4B,OAC5B,gBAAwB,2BACxB;AACF,SAAO,SAAU,QAAa,aAAqB,OAAa;AAC9D,YAAQ;AAAA,MACN;AAAA,MACA;AAAA,QACE;AAAA,QACA;AAAA,QACA,QAAQ,iBAA2B;AAAA,QACnC;AAAA,MACF;AAAA,MACA;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;AA8BA,SAAS,MAAM;AACb,SAAO;AAAA,IACL,QAAQ,CAAC;AAAA,EACX;AACF;AAEA,SAAS,mBACP,WACA,eACA;AACA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;AAEO,SAAS,MAAM;AACpB,SAAO,SAAU,QAAa,aAAqB,OAAmB;AACpE,QAAI;AACJ,qBAAiB,QAAQ,YAAY,wBAAwB,MAAM;AACnE,QAAI,CAAC,gBAAgB;AACnB,uBAAiB,IAAI;AAAA,IACvB;AACA,mBAAe,OAAO;AAAA,MACpB;AAAA,QACE;AAAA,QACA,QAAQ,iBAA2B;AAAA,MACrC;AAAA,IACF;AACA,YAAQ,eAAe,wBAAwB,gBAAgB,MAAM;AACrE,WAAO;AAAA,EACT;AACF;","names":["FieldDataType","valueProviderType"]}
@@ -36,7 +36,7 @@ function alphanumericField(required, maximumLength, valueProvider, fillEntireLen
36
36
  function Numeric(required = false, fillEntireLength = false, maximumLength = maximumNumericLength) {
37
37
  return function(target, propertyKey, other) {
38
38
  Reflect.defineMetadata(
39
- propertyKey.toString(),
39
+ propertyKey,
40
40
  numericField(
41
41
  required,
42
42
  maximumLength,
@@ -45,6 +45,7 @@ function Numeric(required = false, fillEntireLength = false, maximumLength = max
45
45
  ),
46
46
  target
47
47
  );
48
+ return other;
48
49
  };
49
50
  }
50
51
  function Decimal(required = false, fillEntireLength = false, maximumLength = maximumNumericLength, maximumDecimalsLength = 2) {
@@ -60,6 +61,7 @@ function Decimal(required = false, fillEntireLength = false, maximumLength = max
60
61
  ),
61
62
  target
62
63
  );
64
+ return other;
63
65
  };
64
66
  }
65
67
  function Alphanumeric(required = false, fillEntireLength = false, maximumLength = defaultAlphanumericLength) {
@@ -74,6 +76,7 @@ function Alphanumeric(required = false, fillEntireLength = false, maximumLength
74
76
  ),
75
77
  target
76
78
  );
79
+ return other;
77
80
  };
78
81
  }
79
82
  function key() {
@@ -101,6 +104,7 @@ function Key() {
101
104
  )
102
105
  );
103
106
  Reflect.defineMetadata(keyCompositionMetadata, keyComposition, target);
107
+ return other;
104
108
  };
105
109
  }
106
110
  export {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../lib/taxReport/Decorators.ts"],"sourcesContent":["import \"reflect-metadata\";\n\nexport const keyCompositionMetadata = Symbol(\"key\");\n\nexport const maximumNumericLength = 19;\nexport const defaultAlphanumericLength = 255;\n\nexport enum FieldDataType {\n alphanumeric,\n numeric,\n}\n\nexport enum valueProviderType {\n property,\n method,\n}\n\nexport interface FieldFormat {\n required: boolean;\n dataType: FieldDataType;\n maximumLength: number;\n maximumDecimalsLength: number;\n fillEntireLength: boolean;\n valueProvider: valueProviderType;\n}\n\nfunction numericField(\n required: boolean,\n maximumLength: number,\n valueProvider: valueProviderType,\n fillEntireLength: boolean = false,\n maximumDecimalsLength: number = 0,\n): FieldFormat {\n return {\n required: required,\n dataType: FieldDataType.numeric,\n maximumLength: maximumLength,\n maximumDecimalsLength: maximumDecimalsLength,\n fillEntireLength: fillEntireLength,\n valueProvider: valueProvider,\n } as FieldFormat;\n}\n\nfunction alphanumericField(\n required: boolean,\n maximumLength: number,\n valueProvider: valueProviderType,\n fillEntireLength: boolean = false,\n maximumDecimalsLength: number = 0,\n): FieldFormat {\n return {\n required: required,\n dataType: FieldDataType.alphanumeric,\n maximumLength: maximumLength,\n maximumDecimalsLength: maximumDecimalsLength,\n fillEntireLength: fillEntireLength,\n valueProvider: valueProvider,\n } as FieldFormat;\n}\n\nexport function Numeric(\n required: boolean = false,\n fillEntireLength: boolean = false,\n maximumLength: number = maximumNumericLength,\n) {\n return function (target: any, propertyKey: string, other?: any) {\n Reflect.defineMetadata(\n propertyKey,\n numericField(\n required,\n maximumLength,\n other ? valueProviderType.method : valueProviderType.property,\n fillEntireLength,\n ),\n target,\n );\n return other;\n };\n}\n\n//export function Numeric(\n// required: boolean = false,\n// fillEntireLength: boolean = false,\n// maximumLength: number = maximumNumericLength,\n//): PropertyDecorator | MethodDecorator {\n// return function (target: any, propertyKey: string, other: any) {\n// Reflect.defineMetadata(\n// propertyKey,\n// numericField(\n// required,\n// maximumLength,\n// other ? valueProviderType.method : valueProviderType.property,\n// fillEntireLength,\n// ),\n// target,\n// );\n// };\n//}\n\nexport function Decimal(\n required: boolean = false,\n fillEntireLength: boolean = false,\n maximumLength: number = maximumNumericLength,\n maximumDecimalsLength: number = 2,\n) {\n return function (target: any, propertyKey: string, other?: any) {\n Reflect.defineMetadata(\n propertyKey,\n numericField(\n required,\n maximumLength,\n other ? valueProviderType.method : valueProviderType.property,\n fillEntireLength,\n maximumDecimalsLength,\n ),\n target,\n );\n return other;\n };\n}\n\n//export function Decimal(\n// required: boolean = false,\n// fillEntireLength: boolean = false,\n// maximumLength: number = maximumNumericLength,\n// maximumDecimalsLength: number = 2,\n//): PropertyDecorator | MethodDecorator {\n// return function (target: any, propertyKey: string, other: any) {\n// Reflect.defineMetadata(\n// propertyKey,\n// numericField(\n// required,\n// maximumLength,\n// other ? valueProviderType.method : valueProviderType.property,\n// fillEntireLength,\n// maximumDecimalsLength,\n// ),\n// target,\n// );\n// };\n//}\n\nexport function Alphanumeric(\n required: boolean = false,\n fillEntireLength: boolean = false,\n maximumLength: number = defaultAlphanumericLength\n ) {\n return function (target: any, propertyKey: string, other?: any) {\n Reflect.defineMetadata(\n propertyKey,\n alphanumericField(\n required,\n maximumLength,\n other ? valueProviderType.method : valueProviderType.property,\n fillEntireLength,\n ),\n target,\n );\n return other;\n };\n}\n\n//export function Alphanumeric(\n// required: boolean = false,\n// fillEntireLength: boolean = false,\n// maximumLength: number = defaultAlphanumericLength,\n//): PropertyDecorator | MethodDecorator {\n// return function (target: any, propertyKey: string, other: any) {\n// Reflect.defineMetadata(\n// propertyKey,\n// alphanumericField(\n// required,\n// maximumLength,\n// other ? valueProviderType.method : valueProviderType.property,\n// fillEntireLength,\n// ),\n// target,\n// );\n// };\n//}\n\nexport interface KeyComposition {\n fields: KeyFieldDefinition[];\n}\n\nexport interface KeyFieldDefinition {\n fieldName: string;\n valueProvider: valueProviderType;\n}\n\nfunction key() {\n return {\n fields: [],\n } as KeyComposition;\n}\n\nfunction keyFieldDefinition(\n fieldName: string,\n valueProvider: valueProviderType,\n) {\n return {\n fieldName: fieldName,\n valueProvider: valueProvider,\n } as KeyFieldDefinition;\n}\n\nexport function Key() {\n return function (target: any, propertyKey: string, other?: any): void {\n let keyComposition: KeyComposition;\n keyComposition = Reflect.getMetadata(keyCompositionMetadata, target);\n if (!keyComposition) {\n keyComposition = key();\n }\n keyComposition.fields.push(\n keyFieldDefinition(\n propertyKey,\n other ? valueProviderType.method : valueProviderType.property,\n ),\n );\n Reflect.defineMetadata(keyCompositionMetadata, keyComposition, target);\n return other;\n };\n}\n\n//export function Key(): PropertyDecorator | MethodDecorator {\n// return function (target: any, propertyKey: string, other?: any): void {\n// let keyComposition: KeyComposition;\n// keyComposition = Reflect.getMetadata(keyCompositionMetadata, target);\n// if (!keyComposition) {\n// keyComposition = key();\n// }\n// keyComposition.fields.push(\n// keyFieldDefinition(\n// propertyKey,\n// other ? valueProviderType.method : valueProviderType.property,\n// ),\n// );\n// Reflect.defineMetadata(keyCompositionMetadata, keyComposition, target);\n// };\n//}\n\n//export {Numeric, Decimal, Alphanumeric, Key}"],"mappings":";AAAA,OAAO;AAEA,IAAM,yBAAyB,OAAO,KAAK;AAE3C,IAAM,uBAAuB;AAC7B,IAAM,4BAA4B;AAElC,IAAK,gBAAL,kBAAKA,mBAAL;AACL,EAAAA,8BAAA;AACA,EAAAA,8BAAA;AAFU,SAAAA;AAAA,GAAA;AAKL,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,sCAAA;AACA,EAAAA,sCAAA;AAFU,SAAAA;AAAA,GAAA;AAcZ,SAAS,aACP,UACA,eACA,eACA,mBAA4B,OAC5B,wBAAgC,GACnB;AACb,SAAO;AAAA,IACL;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEA,SAAS,kBACP,UACA,eACA,eACA,mBAA4B,OAC5B,wBAAgC,GACnB;AACb,SAAO;AAAA,IACL;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,SAAS,QACd,WAAoB,OACpB,mBAA4B,OAC5B,gBAAwB,sBACxB;AACA,SAAO,SAAU,QAAa,aAAqB,OAAa;AAC9D,YAAQ;AAAA,MACN;AAAA,MACA;AAAA,QACE;AAAA,QACA;AAAA,QACA,QAAQ,iBAA2B;AAAA,QACnC;AAAA,MACF;AAAA,MACA;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;AAqBO,SAAS,QACd,WAAoB,OACpB,mBAA4B,OAC5B,gBAAwB,sBACxB,wBAAgC,GAChC;AACA,SAAO,SAAU,QAAa,aAAqB,OAAa;AAC9D,YAAQ;AAAA,MACN;AAAA,MACA;AAAA,QACE;AAAA,QACA;AAAA,QACA,QAAQ,iBAA2B;AAAA,QACnC;AAAA,QACA;AAAA,MACF;AAAA,MACA;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;AAuBO,SAAS,aACZ,WAAoB,OACpB,mBAA4B,OAC5B,gBAAwB,2BACxB;AACF,SAAO,SAAU,QAAa,aAAqB,OAAa;AAC9D,YAAQ;AAAA,MACN;AAAA,MACA;AAAA,QACE;AAAA,QACA;AAAA,QACA,QAAQ,iBAA2B;AAAA,QACnC;AAAA,MACF;AAAA,MACA;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;AA8BA,SAAS,MAAM;AACb,SAAO;AAAA,IACL,QAAQ,CAAC;AAAA,EACX;AACF;AAEA,SAAS,mBACP,WACA,eACA;AACA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;AAEO,SAAS,MAAM;AACpB,SAAO,SAAU,QAAa,aAAqB,OAAmB;AACpE,QAAI;AACJ,qBAAiB,QAAQ,YAAY,wBAAwB,MAAM;AACnE,QAAI,CAAC,gBAAgB;AACnB,uBAAiB,IAAI;AAAA,IACvB;AACA,mBAAe,OAAO;AAAA,MACpB;AAAA,QACE;AAAA,QACA,QAAQ,iBAA2B;AAAA,MACrC;AAAA,IACF;AACA,YAAQ,eAAe,wBAAwB,gBAAgB,MAAM;AACrE,WAAO;AAAA,EACT;AACF;","names":["FieldDataType","valueProviderType"]}