@designliquido/delegua-entidades 0.0.0

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 (206) hide show
  1. package/README.md +96 -0
  2. package/fontes/analisador-dicas.d.ts +49 -0
  3. package/fontes/analisador-dicas.d.ts.map +1 -0
  4. package/fontes/analisador-dicas.js +145 -0
  5. package/fontes/analisador-dicas.js.map +1 -0
  6. package/fontes/cache-consultas.d.ts +39 -0
  7. package/fontes/cache-consultas.d.ts.map +1 -0
  8. package/fontes/cache-consultas.js +98 -0
  9. package/fontes/cache-consultas.js.map +1 -0
  10. package/fontes/carregador-lotes.d.ts +64 -0
  11. package/fontes/carregador-lotes.d.ts.map +1 -0
  12. package/fontes/carregador-lotes.js +148 -0
  13. package/fontes/carregador-lotes.js.map +1 -0
  14. package/fontes/carregador-preguicoso.d.ts +34 -0
  15. package/fontes/carregador-preguicoso.d.ts.map +1 -0
  16. package/fontes/carregador-preguicoso.js +157 -0
  17. package/fontes/carregador-preguicoso.js.map +1 -0
  18. package/fontes/colecao.d.ts +74 -0
  19. package/fontes/colecao.d.ts.map +1 -0
  20. package/fontes/colecao.js +374 -0
  21. package/fontes/colecao.js.map +1 -0
  22. package/fontes/construtor-consulta.d.ts +129 -0
  23. package/fontes/construtor-consulta.d.ts.map +1 -0
  24. package/fontes/construtor-consulta.js +446 -0
  25. package/fontes/construtor-consulta.js.map +1 -0
  26. package/fontes/contexto-entidades.d.ts +119 -0
  27. package/fontes/contexto-entidades.d.ts.map +1 -0
  28. package/fontes/contexto-entidades.js +329 -0
  29. package/fontes/contexto-entidades.js.map +1 -0
  30. package/fontes/detector-n-mais-um.d.ts +87 -0
  31. package/fontes/detector-n-mais-um.d.ts.map +1 -0
  32. package/fontes/detector-n-mais-um.js +225 -0
  33. package/fontes/detector-n-mais-um.js.map +1 -0
  34. package/fontes/entidade.d.ts +82 -0
  35. package/fontes/entidade.d.ts.map +1 -0
  36. package/fontes/entidade.js +467 -0
  37. package/fontes/entidade.js.map +1 -0
  38. package/fontes/erros/erro-concorrencia.d.ts +11 -0
  39. package/fontes/erros/erro-concorrencia.d.ts.map +1 -0
  40. package/fontes/erros/erro-concorrencia.js +18 -0
  41. package/fontes/erros/erro-concorrencia.js.map +1 -0
  42. package/fontes/erros/erro-tabela-nao-encontrada.d.ts +4 -0
  43. package/fontes/erros/erro-tabela-nao-encontrada.d.ts.map +1 -0
  44. package/fontes/erros/erro-tabela-nao-encontrada.js +11 -0
  45. package/fontes/erros/erro-tabela-nao-encontrada.js.map +1 -0
  46. package/fontes/erros/erro-validacao.d.ts +9 -0
  47. package/fontes/erros/erro-validacao.d.ts.map +1 -0
  48. package/fontes/erros/erro-validacao.js +13 -0
  49. package/fontes/erros/erro-validacao.js.map +1 -0
  50. package/fontes/erros/index.d.ts +4 -0
  51. package/fontes/erros/index.d.ts.map +1 -0
  52. package/fontes/erros/index.js +20 -0
  53. package/fontes/erros/index.js.map +1 -0
  54. package/fontes/gerenciador-cache.d.ts +87 -0
  55. package/fontes/gerenciador-cache.d.ts.map +1 -0
  56. package/fontes/gerenciador-cache.js +147 -0
  57. package/fontes/gerenciador-cache.js.map +1 -0
  58. package/fontes/ilc/gerador-definicoes.d.ts +13 -0
  59. package/fontes/ilc/gerador-definicoes.d.ts.map +1 -0
  60. package/fontes/ilc/gerador-definicoes.js +96 -0
  61. package/fontes/ilc/gerador-definicoes.js.map +1 -0
  62. package/fontes/ilc/gerador-entidades.d.ts +10 -0
  63. package/fontes/ilc/gerador-entidades.d.ts.map +1 -0
  64. package/fontes/ilc/gerador-entidades.js +318 -0
  65. package/fontes/ilc/gerador-entidades.js.map +1 -0
  66. package/fontes/ilc/leitor-configuracao.d.ts +32 -0
  67. package/fontes/ilc/leitor-configuracao.d.ts.map +1 -0
  68. package/fontes/ilc/leitor-configuracao.js +124 -0
  69. package/fontes/ilc/leitor-configuracao.js.map +1 -0
  70. package/fontes/ilc/migracoes.d.ts +3 -0
  71. package/fontes/ilc/migracoes.d.ts.map +1 -0
  72. package/fontes/ilc/migracoes.js +215 -0
  73. package/fontes/ilc/migracoes.js.map +1 -0
  74. package/fontes/ilc/semeadura.d.ts +2 -0
  75. package/fontes/ilc/semeadura.d.ts.map +1 -0
  76. package/fontes/ilc/semeadura.js +50 -0
  77. package/fontes/ilc/semeadura.js.map +1 -0
  78. package/fontes/indicadores-performance/executor-analise-performance.d.ts +80 -0
  79. package/fontes/indicadores-performance/executor-analise-performance.d.ts.map +1 -0
  80. package/fontes/indicadores-performance/executor-analise-performance.js +212 -0
  81. package/fontes/indicadores-performance/executor-analise-performance.js.map +1 -0
  82. package/fontes/indicadores-performance/index.d.ts +26 -0
  83. package/fontes/indicadores-performance/index.d.ts.map +1 -0
  84. package/fontes/indicadores-performance/index.js +199 -0
  85. package/fontes/indicadores-performance/index.js.map +1 -0
  86. package/fontes/interfaces-tipos/analise-n1-interface.d.ts +13 -0
  87. package/fontes/interfaces-tipos/analise-n1-interface.d.ts.map +1 -0
  88. package/fontes/interfaces-tipos/analise-n1-interface.js +3 -0
  89. package/fontes/interfaces-tipos/analise-n1-interface.js.map +1 -0
  90. package/fontes/interfaces-tipos/atributo-interface.d.ts +30 -0
  91. package/fontes/interfaces-tipos/atributo-interface.d.ts.map +1 -0
  92. package/fontes/interfaces-tipos/atributo-interface.js +3 -0
  93. package/fontes/interfaces-tipos/atributo-interface.js.map +1 -0
  94. package/fontes/interfaces-tipos/coluna-computada-interface.d.ts +16 -0
  95. package/fontes/interfaces-tipos/coluna-computada-interface.d.ts.map +1 -0
  96. package/fontes/interfaces-tipos/coluna-computada-interface.js +3 -0
  97. package/fontes/interfaces-tipos/coluna-computada-interface.js.map +1 -0
  98. package/fontes/interfaces-tipos/configuracao-banco-dados-interface.d.ts +48 -0
  99. package/fontes/interfaces-tipos/configuracao-banco-dados-interface.d.ts.map +1 -0
  100. package/fontes/interfaces-tipos/configuracao-banco-dados-interface.js +3 -0
  101. package/fontes/interfaces-tipos/configuracao-banco-dados-interface.js.map +1 -0
  102. package/fontes/interfaces-tipos/entidade-interface.d.ts +37 -0
  103. package/fontes/interfaces-tipos/entidade-interface.d.ts.map +1 -0
  104. package/fontes/interfaces-tipos/entidade-interface.js +3 -0
  105. package/fontes/interfaces-tipos/entidade-interface.js.map +1 -0
  106. package/fontes/interfaces-tipos/ganchos.d.ts +12 -0
  107. package/fontes/interfaces-tipos/ganchos.d.ts.map +1 -0
  108. package/fontes/interfaces-tipos/ganchos.js +3 -0
  109. package/fontes/interfaces-tipos/ganchos.js.map +1 -0
  110. package/fontes/interfaces-tipos/index.d.ts +17 -0
  111. package/fontes/interfaces-tipos/index.d.ts.map +1 -0
  112. package/fontes/interfaces-tipos/index.js +33 -0
  113. package/fontes/interfaces-tipos/index.js.map +1 -0
  114. package/fontes/interfaces-tipos/indice-interface.d.ts +16 -0
  115. package/fontes/interfaces-tipos/indice-interface.d.ts.map +1 -0
  116. package/fontes/interfaces-tipos/indice-interface.js +3 -0
  117. package/fontes/interfaces-tipos/indice-interface.js.map +1 -0
  118. package/fontes/interfaces-tipos/informacao-consulta-interface.d.ts +12 -0
  119. package/fontes/interfaces-tipos/informacao-consulta-interface.d.ts.map +1 -0
  120. package/fontes/interfaces-tipos/informacao-consulta-interface.js +3 -0
  121. package/fontes/interfaces-tipos/informacao-consulta-interface.js.map +1 -0
  122. package/fontes/interfaces-tipos/muito-para-muitos-interface.d.ts +33 -0
  123. package/fontes/interfaces-tipos/muito-para-muitos-interface.d.ts.map +1 -0
  124. package/fontes/interfaces-tipos/muito-para-muitos-interface.js +3 -0
  125. package/fontes/interfaces-tipos/muito-para-muitos-interface.js.map +1 -0
  126. package/fontes/interfaces-tipos/opcoes-serializacao-interface.d.ts +14 -0
  127. package/fontes/interfaces-tipos/opcoes-serializacao-interface.d.ts.map +1 -0
  128. package/fontes/interfaces-tipos/opcoes-serializacao-interface.js +3 -0
  129. package/fontes/interfaces-tipos/opcoes-serializacao-interface.js.map +1 -0
  130. package/fontes/interfaces-tipos/polimorfico-interface.d.ts +32 -0
  131. package/fontes/interfaces-tipos/polimorfico-interface.d.ts.map +1 -0
  132. package/fontes/interfaces-tipos/polimorfico-interface.js +3 -0
  133. package/fontes/interfaces-tipos/polimorfico-interface.js.map +1 -0
  134. package/fontes/interfaces-tipos/relacionamento-interface.d.ts +23 -0
  135. package/fontes/interfaces-tipos/relacionamento-interface.d.ts.map +1 -0
  136. package/fontes/interfaces-tipos/relacionamento-interface.js +3 -0
  137. package/fontes/interfaces-tipos/relacionamento-interface.js.map +1 -0
  138. package/fontes/interfaces-tipos/restricao-interface.d.ts +14 -0
  139. package/fontes/interfaces-tipos/restricao-interface.d.ts.map +1 -0
  140. package/fontes/interfaces-tipos/restricao-interface.js +3 -0
  141. package/fontes/interfaces-tipos/restricao-interface.js.map +1 -0
  142. package/fontes/interfaces-tipos/semente-interface.d.ts +7 -0
  143. package/fontes/interfaces-tipos/semente-interface.d.ts.map +1 -0
  144. package/fontes/interfaces-tipos/semente-interface.js +3 -0
  145. package/fontes/interfaces-tipos/semente-interface.js.map +1 -0
  146. package/fontes/interfaces-tipos/tabela-interface.d.ts +12 -0
  147. package/fontes/interfaces-tipos/tabela-interface.d.ts.map +1 -0
  148. package/fontes/interfaces-tipos/tabela-interface.js +3 -0
  149. package/fontes/interfaces-tipos/tabela-interface.js.map +1 -0
  150. package/fontes/interfaces-tipos/transacao-interface.d.ts +35 -0
  151. package/fontes/interfaces-tipos/transacao-interface.d.ts.map +1 -0
  152. package/fontes/interfaces-tipos/transacao-interface.js +3 -0
  153. package/fontes/interfaces-tipos/transacao-interface.js.map +1 -0
  154. package/fontes/migracoes/executor-migracoes.d.ts +14 -0
  155. package/fontes/migracoes/executor-migracoes.d.ts.map +1 -0
  156. package/fontes/migracoes/executor-migracoes.js +177 -0
  157. package/fontes/migracoes/executor-migracoes.js.map +1 -0
  158. package/fontes/migracoes/gerador-migracoes.d.ts +15 -0
  159. package/fontes/migracoes/gerador-migracoes.d.ts.map +1 -0
  160. package/fontes/migracoes/gerador-migracoes.js +108 -0
  161. package/fontes/migracoes/gerador-migracoes.js.map +1 -0
  162. package/fontes/migracoes/migracao.d.ts +35 -0
  163. package/fontes/migracoes/migracao.d.ts.map +1 -0
  164. package/fontes/migracoes/migracao.js +66 -0
  165. package/fontes/migracoes/migracao.js.map +1 -0
  166. package/fontes/migracoes/semeador.d.ts +18 -0
  167. package/fontes/migracoes/semeador.d.ts.map +1 -0
  168. package/fontes/migracoes/semeador.js +109 -0
  169. package/fontes/migracoes/semeador.js.map +1 -0
  170. package/fontes/rastreador-mudancas.d.ts +27 -0
  171. package/fontes/rastreador-mudancas.d.ts.map +1 -0
  172. package/fontes/rastreador-mudancas.js +94 -0
  173. package/fontes/rastreador-mudancas.js.map +1 -0
  174. package/fontes/relacionamento.d.ts +11 -0
  175. package/fontes/relacionamento.d.ts.map +1 -0
  176. package/fontes/relacionamento.js +15 -0
  177. package/fontes/relacionamento.js.map +1 -0
  178. package/fontes/roteador-bancos.d.ts +50 -0
  179. package/fontes/roteador-bancos.d.ts.map +1 -0
  180. package/fontes/roteador-bancos.js +90 -0
  181. package/fontes/roteador-bancos.js.map +1 -0
  182. package/fontes/serializador.d.ts +46 -0
  183. package/fontes/serializador.d.ts.map +1 -0
  184. package/fontes/serializador.js +79 -0
  185. package/fontes/serializador.js.map +1 -0
  186. package/fontes/taquigrafia.d.ts +41 -0
  187. package/fontes/taquigrafia.d.ts.map +1 -0
  188. package/fontes/taquigrafia.js +96 -0
  189. package/fontes/taquigrafia.js.map +1 -0
  190. package/fontes/tipos.d.ts +3 -0
  191. package/fontes/tipos.d.ts.map +1 -0
  192. package/fontes/tipos.js +3 -0
  193. package/fontes/tipos.js.map +1 -0
  194. package/fontes/transacao.d.ts +81 -0
  195. package/fontes/transacao.d.ts.map +1 -0
  196. package/fontes/transacao.js +243 -0
  197. package/fontes/transacao.js.map +1 -0
  198. package/fontes/validacoes/validador.d.ts +19 -0
  199. package/fontes/validacoes/validador.d.ts.map +1 -0
  200. package/fontes/validacoes/validador.js +157 -0
  201. package/fontes/validacoes/validador.js.map +1 -0
  202. package/index.d.ts +36 -0
  203. package/index.d.ts.map +1 -0
  204. package/index.js +59 -0
  205. package/index.js.map +1 -0
  206. package/package.json +55 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migracao.d.ts","sourceRoot":"","sources":["../../../fontes/migracoes/migracao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,aAAa,GAAG,eAAe,GAAG,iBAAiB,GAAG,eAAe,GAAG,eAAe,GAAG,iBAAiB,GAAG,eAAe,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,0BAA0B,CAAC;IAC7M,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAC/C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,QAAQ;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,EAAE,CAAC;gBAElB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAM7C,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,QAAQ;IAKtD,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,QAAQ;IAKzD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ;IAKzD,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,QAAQ;IAKpF,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,QAAQ;IAKhF,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,OAAe,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ;IAYnJ,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,QAAQ;IAK3D,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ;IAKhF,wBAAwB,CACpB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,OAAO,GACrB,QAAQ;IAYX,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,QAAQ;CAIpE"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Migracao = void 0;
4
+ class Migracao {
5
+ constructor(versao, descricao) {
6
+ this.versao = versao;
7
+ this.descricao = descricao;
8
+ this.operacoes = [];
9
+ }
10
+ criarTabela(nome, colunas) {
11
+ this.operacoes.push({ tipo: 'criarTabela', tabela: nome, colunas });
12
+ return this;
13
+ }
14
+ excluirTabela(nome, colunas) {
15
+ this.operacoes.push({ tipo: 'excluirTabela', tabela: nome, colunas });
16
+ return this;
17
+ }
18
+ adicionarColuna(tabela, coluna) {
19
+ this.operacoes.push({ tipo: 'adicionarColuna', tabela, coluna });
20
+ return this;
21
+ }
22
+ removerColuna(tabela, nomeColuna, colunaAnterior) {
23
+ this.operacoes.push({ tipo: 'removerColuna', tabela, nomeColuna, colunaAnterior });
24
+ return this;
25
+ }
26
+ alterarColuna(tabela, coluna, colunaAnterior) {
27
+ this.operacoes.push({ tipo: 'alterarColuna', tabela, coluna, colunaAnterior });
28
+ return this;
29
+ }
30
+ adicionarIndice(tabela, nomeIndice, colunas, eUnico = false, tipo) {
31
+ this.operacoes.push({
32
+ tipo: 'adicionarIndice',
33
+ tabela,
34
+ nomeIndice,
35
+ columnasIndice: colunas,
36
+ unico: eUnico,
37
+ tipoIndice: tipo
38
+ });
39
+ return this;
40
+ }
41
+ removerIndice(tabela, nomeIndice) {
42
+ this.operacoes.push({ tipo: 'removerIndice', tabela, nomeIndice });
43
+ return this;
44
+ }
45
+ adicionarRestricao(tabela, nomeRestricao, sql) {
46
+ this.operacoes.push({ tipo: 'adicionarRestricao', tabela, nomeRestricao, sqlRestricao: sql });
47
+ return this;
48
+ }
49
+ adicionarColunaComputada(tabela, nomeColuna, tipoColuna, expressaoColuna, persistida) {
50
+ this.operacoes.push({
51
+ tipo: 'adicionarColunaComputada',
52
+ tabela,
53
+ nomeColuna,
54
+ tipoColuna,
55
+ expressaoColuna,
56
+ persistida
57
+ });
58
+ return this;
59
+ }
60
+ removerRestricao(tabela, nomeRestricao) {
61
+ this.operacoes.push({ tipo: 'removerRestricao', tabela, nomeRestricao });
62
+ return this;
63
+ }
64
+ }
65
+ exports.Migracao = Migracao;
66
+ //# sourceMappingURL=migracao.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migracao.js","sourceRoot":"","sources":["../../../fontes/migracoes/migracao.ts"],"names":[],"mappings":";;;AAoBA,MAAa,QAAQ;IAKjB,YAAY,MAAc,EAAE,SAAiB;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,OAAiB;QACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,OAAkB;QAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,eAAe,CAAC,MAAc,EAAE,MAAc;QAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,MAAc,EAAE,UAAkB,EAAE,cAAuB;QACrE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,MAAc,EAAE,MAAc,EAAE,cAAuB;QACjE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,eAAe,CAAC,MAAc,EAAE,UAAkB,EAAE,OAAiB,EAAE,SAAkB,KAAK,EAAE,IAAwC;QACpI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,iBAAiB;YACvB,MAAM;YACN,UAAU;YACV,cAAc,EAAE,OAAO;YACvB,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,IAAI;SACnB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,MAAc,EAAE,UAAkB;QAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB,CAAC,MAAc,EAAE,aAAqB,EAAE,GAAW;QACjE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9F,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wBAAwB,CACpB,MAAc,EACd,UAAkB,EAClB,UAAkB,EAClB,eAAuB,EACvB,UAAoB;QAEpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,0BAA0B;YAChC,MAAM;YACN,UAAU;YACV,UAAU;YACV,eAAe;YACf,UAAU;SACb,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gBAAgB,CAAC,MAAc,EAAE,aAAqB;QAClD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAhFD,4BAgFC"}
@@ -0,0 +1,18 @@
1
+ import { ContextoEntidades } from "../contexto-entidades";
2
+ import { SementeInterface } from "../interfaces-tipos/semente-interface";
3
+ import { Taquigrafo } from "../taquigrafia";
4
+ export type ClasseSemente = new () => SementeInterface;
5
+ export declare class Semeador {
6
+ private contexto;
7
+ private logger?;
8
+ constructor(contexto: ContextoEntidades, logger?: Taquigrafo);
9
+ semear(sementes: Array<ClasseSemente | SementeInterface>): Promise<void>;
10
+ executarSemente(classe: ClasseSemente): Promise<void>;
11
+ private instanciarSementes;
12
+ private ordenarPorDependencias;
13
+ private obterNomeSemente;
14
+ private garantirTabelaSementes;
15
+ private obterSementesExecutadas;
16
+ private registrarSementeExecutada;
17
+ }
18
+ //# sourceMappingURL=semeador.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semeador.d.ts","sourceRoot":"","sources":["../../../fontes/migracoes/semeador.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,UAAU,gBAAgB,CAAC;AAIvD,qBAAa,QAAQ;IACjB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,MAAM,CAAC,CAAa;gBAEhB,QAAQ,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,UAAU;IAKtD,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,GAAG,gBAAgB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBxE,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,sBAAsB;IA+C9B,OAAO,CAAC,gBAAgB;YAQV,sBAAsB;YAKtB,uBAAuB;YAevB,yBAAyB;CAS1C"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Semeador = void 0;
4
+ const lincones_js_1 = require("@designliquido/lincones-js");
5
+ class Semeador {
6
+ constructor(contexto, logger) {
7
+ this.contexto = contexto;
8
+ this.logger = logger;
9
+ }
10
+ async semear(sementes) {
11
+ const instancias = this.instanciarSementes(sementes);
12
+ const ordenadas = this.ordenarPorDependencias(instancias);
13
+ await this.garantirTabelaSementes();
14
+ const sementesExecutadas = await this.obterSementesExecutadas();
15
+ for (const semente of ordenadas) {
16
+ const nomeSemente = this.obterNomeSemente(semente);
17
+ if (sementesExecutadas.has(nomeSemente)) {
18
+ this.logger?.depuracao?.(`Semente '${nomeSemente}' ja executada. Ignorando.`);
19
+ continue;
20
+ }
21
+ this.logger?.info?.(`Executando semente '${nomeSemente}'.`);
22
+ await semente.executar(this.contexto);
23
+ await this.registrarSementeExecutada(nomeSemente);
24
+ sementesExecutadas.add(nomeSemente);
25
+ }
26
+ }
27
+ async executarSemente(classe) {
28
+ await this.semear([classe]);
29
+ }
30
+ instanciarSementes(sementes) {
31
+ return sementes.map((semente) => {
32
+ if (typeof semente === "function") {
33
+ return new semente();
34
+ }
35
+ return semente;
36
+ });
37
+ }
38
+ ordenarPorDependencias(sementes) {
39
+ const mapaPorNome = new Map();
40
+ const resultado = [];
41
+ const estados = new Map();
42
+ for (const semente of sementes) {
43
+ const nomeSemente = this.obterNomeSemente(semente);
44
+ if (mapaPorNome.has(nomeSemente)) {
45
+ throw new Error(`Semente duplicada: ${nomeSemente}`);
46
+ }
47
+ mapaPorNome.set(nomeSemente, semente);
48
+ }
49
+ const visitar = (semente) => {
50
+ const nomeSemente = this.obterNomeSemente(semente);
51
+ const estado = estados.get(nomeSemente);
52
+ if (estado === "visitando") {
53
+ throw new Error(`Dependencia circular detectada em ${nomeSemente}`);
54
+ }
55
+ if (estado === "visitado") {
56
+ return;
57
+ }
58
+ estados.set(nomeSemente, "visitando");
59
+ const dependencias = semente.dependencias || [];
60
+ for (const dep of dependencias) {
61
+ const sementeDependente = mapaPorNome.get(dep);
62
+ if (!sementeDependente) {
63
+ throw new Error(`Dependencia não encontrada: ${dep}`);
64
+ }
65
+ visitar(sementeDependente);
66
+ }
67
+ estados.set(nomeSemente, "visitado");
68
+ resultado.push(semente);
69
+ };
70
+ for (const semente of sementes) {
71
+ visitar(semente);
72
+ }
73
+ return resultado;
74
+ }
75
+ obterNomeSemente(semente) {
76
+ const nome = semente.nome || semente.constructor?.name;
77
+ if (!nome || nome.trim().length === 0) {
78
+ throw new Error("Semente sem nome definido");
79
+ }
80
+ return nome;
81
+ }
82
+ async garantirTabelaSementes() {
83
+ const sql = "CREATE TABLE IF NOT EXISTS sementes (nome TEXTO PRIMARY KEY, executada_em DATA_HORA)";
84
+ await this.contexto.tecnologia.executar(null, sql, []);
85
+ }
86
+ async obterSementesExecutadas() {
87
+ const sql = "SELECT nome FROM sementes";
88
+ const resultados = await this.contexto.tecnologia.executar(null, sql, []);
89
+ const linhas = resultados[0]?.linhasRetornadas || [];
90
+ const nomes = new Set();
91
+ for (const linha of linhas) {
92
+ if (linha && linha.nome) {
93
+ nomes.add(linha.nome);
94
+ }
95
+ }
96
+ return nomes;
97
+ }
98
+ async registrarSementeExecutada(nomeSemente) {
99
+ const nomesColunas = ["nome", "executada_em"];
100
+ const valoresColunas = [
101
+ new lincones_js_1.Literal(nomeSemente, "TEXTO"),
102
+ new lincones_js_1.Literal(new Date().toISOString(), "TEXTO")
103
+ ];
104
+ const comando = new lincones_js_1.Inserir(-1, "sementes", nomesColunas, valoresColunas);
105
+ await this.contexto.tecnologia.executarComando(comando);
106
+ }
107
+ }
108
+ exports.Semeador = Semeador;
109
+ //# sourceMappingURL=semeador.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semeador.js","sourceRoot":"","sources":["../../../fontes/migracoes/semeador.ts"],"names":[],"mappings":";;;AAAA,4DAA8D;AAU9D,MAAa,QAAQ;IAIjB,YAAY,QAA2B,EAAE,MAAmB;QACxD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAiD;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAE1D,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAEhE,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAEnD,IAAI,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,YAAY,WAAW,4BAA4B,CAAC,CAAC;gBAC9E,SAAS;YACb,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,uBAAuB,WAAW,IAAI,CAAC,CAAC;YAC5D,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAClD,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAqB;QACvC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAChC,CAAC;IAEO,kBAAkB,CAAC,QAAiD;QACxE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5B,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,IAAI,OAAO,EAAE,CAAC;YACzB,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,sBAAsB,CAAC,QAA4B;QACvD,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;QACxD,MAAM,SAAS,GAAuB,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;QAEhD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,OAAyB,EAAQ,EAAE;YAChD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAExC,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,qCAAqC,WAAW,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBACxB,OAAO;YACX,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAEtC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;YAChD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC7B,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBACD,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC/B,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACrC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,gBAAgB,CAAC,OAAyB;QAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC;QACvD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAChC,MAAM,GAAG,GAAG,sFAAsF,CAAC;QACnG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,uBAAuB;QACjC,MAAM,GAAG,GAAG,2BAA2B,CAAC;QACxC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,gBAAgB,IAAI,EAAE,CAAC;QAErD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACtB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,WAAmB;QACvD,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC9C,MAAM,cAAc,GAAG;YACnB,IAAI,qBAAO,CAAC,WAAW,EAAE,OAAO,CAAC;YACjC,IAAI,qBAAO,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC;SACjD,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,qBAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;CACJ;AAhID,4BAgIC"}
@@ -0,0 +1,27 @@
1
+ import { ObjetoDeleguaClasse } from "@designliquido/delegua/interpretador/estruturas";
2
+ export type EstadoEntidade = 'novo' | 'modificado' | 'excluido' | 'inalterado';
3
+ export interface RegistroRastreado {
4
+ registro: ObjetoDeleguaClasse;
5
+ estado: EstadoEntidade;
6
+ nomeEntidade: string;
7
+ valoresOriginais: {
8
+ [campo: string]: any;
9
+ };
10
+ camposAlterados: string[];
11
+ }
12
+ export declare class RastreadorMudancas {
13
+ private registros;
14
+ constructor();
15
+ private obterChave;
16
+ rastrear(registro: ObjetoDeleguaClasse, nomeEntidade: string, estado: EstadoEntidade): void;
17
+ marcarModificado(registro: ObjetoDeleguaClasse): void;
18
+ marcarExcluido(registro: ObjetoDeleguaClasse): void;
19
+ obterEstado(registro: ObjetoDeleguaClasse): EstadoEntidade | null;
20
+ obterAlterados(): RegistroRastreado[];
21
+ detectarMudancas(): void;
22
+ obterCamposAlterados(registro: ObjetoDeleguaClasse): string[];
23
+ limpar(): void;
24
+ obterTodosRastreados(): RegistroRastreado[];
25
+ registroPropriedadeDiferente(atual: any, original: any): boolean;
26
+ }
27
+ //# sourceMappingURL=rastreador-mudancas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rastreador-mudancas.d.ts","sourceRoot":"","sources":["../../fontes/rastreador-mudancas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAEtF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,CAAC;AAE/E,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAC3C,eAAe,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,SAAS,CAAiC;;IAMlD,OAAO,CAAC,UAAU;IAKlB,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;IAgB3F,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IASrD,cAAc,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IASnD,WAAW,CAAC,QAAQ,EAAE,mBAAmB,GAAG,cAAc,GAAG,IAAI;IASjE,cAAc,IAAI,iBAAiB,EAAE;IAUrC,gBAAgB,IAAI,IAAI;IAkBxB,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,EAAE;IAS7D,MAAM,IAAI,IAAI;IAId,oBAAoB,IAAI,iBAAiB,EAAE;IAI3C,4BAA4B,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO;CAGnE"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RastreadorMudancas = void 0;
4
+ class RastreadorMudancas {
5
+ constructor() {
6
+ this.registros = new Map();
7
+ }
8
+ obterChave(nomeEntidade, registro) {
9
+ const id = registro.propriedades['id'] ?? Object.values(registro.propriedades)[0];
10
+ return `${nomeEntidade}:${id}`;
11
+ }
12
+ rastrear(registro, nomeEntidade, estado) {
13
+ const chave = this.obterChave(nomeEntidade, registro);
14
+ const valoresOriginais = {};
15
+ for (const [campo, valor] of Object.entries(registro.propriedades)) {
16
+ valoresOriginais[campo] = valor;
17
+ }
18
+ this.registros.set(chave, {
19
+ registro,
20
+ estado,
21
+ nomeEntidade,
22
+ valoresOriginais,
23
+ camposAlterados: []
24
+ });
25
+ }
26
+ marcarModificado(registro) {
27
+ for (const [, rastreado] of this.registros) {
28
+ if (rastreado.registro === registro && rastreado.estado === 'inalterado') {
29
+ rastreado.estado = 'modificado';
30
+ return;
31
+ }
32
+ }
33
+ }
34
+ marcarExcluido(registro) {
35
+ for (const [, rastreado] of this.registros) {
36
+ if (rastreado.registro === registro) {
37
+ rastreado.estado = 'excluido';
38
+ return;
39
+ }
40
+ }
41
+ }
42
+ obterEstado(registro) {
43
+ for (const [, rastreado] of this.registros) {
44
+ if (rastreado.registro === registro) {
45
+ return rastreado.estado;
46
+ }
47
+ }
48
+ return null;
49
+ }
50
+ obterAlterados() {
51
+ const alterados = [];
52
+ for (const [, rastreado] of this.registros) {
53
+ if (rastreado.estado !== 'inalterado') {
54
+ alterados.push(rastreado);
55
+ }
56
+ }
57
+ return alterados;
58
+ }
59
+ detectarMudancas() {
60
+ for (const [, rastreado] of this.registros) {
61
+ if (rastreado.estado !== 'inalterado')
62
+ continue;
63
+ const camposAlterados = [];
64
+ for (const [campo, valorOriginal] of Object.entries(rastreado.valoresOriginais)) {
65
+ if (this.registroPropriedadeDiferente(rastreado.registro.propriedades[campo], valorOriginal)) {
66
+ camposAlterados.push(campo);
67
+ }
68
+ }
69
+ if (camposAlterados.length > 0) {
70
+ rastreado.estado = 'modificado';
71
+ rastreado.camposAlterados = camposAlterados;
72
+ }
73
+ }
74
+ }
75
+ obterCamposAlterados(registro) {
76
+ for (const [, rastreado] of this.registros) {
77
+ if (rastreado.registro === registro) {
78
+ return rastreado.camposAlterados;
79
+ }
80
+ }
81
+ return [];
82
+ }
83
+ limpar() {
84
+ this.registros.clear();
85
+ }
86
+ obterTodosRastreados() {
87
+ return Array.from(this.registros.values());
88
+ }
89
+ registroPropriedadeDiferente(atual, original) {
90
+ return atual !== original;
91
+ }
92
+ }
93
+ exports.RastreadorMudancas = RastreadorMudancas;
94
+ //# sourceMappingURL=rastreador-mudancas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rastreador-mudancas.js","sourceRoot":"","sources":["../../fontes/rastreador-mudancas.ts"],"names":[],"mappings":";;;AAYA,MAAa,kBAAkB;IAG3B;QACI,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAC/B,CAAC;IAEO,UAAU,CAAC,YAAoB,EAAE,QAA6B;QAClE,MAAM,EAAE,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,OAAO,GAAG,YAAY,IAAI,EAAE,EAAE,CAAC;IACnC,CAAC;IAED,QAAQ,CAAC,QAA6B,EAAE,YAAoB,EAAE,MAAsB;QAChF,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACtD,MAAM,gBAAgB,GAA6B,EAAE,CAAC;QACtD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACjE,gBAAgB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE;YACtB,QAAQ;YACR,MAAM;YACN,YAAY;YACZ,gBAAgB;YAChB,eAAe,EAAE,EAAE;SACtB,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAC,QAA6B;QAC1C,KAAK,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBACvE,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC;gBAChC,OAAO;YACX,CAAC;QACL,CAAC;IACL,CAAC;IAED,cAAc,CAAC,QAA6B;QACxC,KAAK,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAClC,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC;gBAC9B,OAAO;YACX,CAAC;QACL,CAAC;IACL,CAAC;IAED,WAAW,CAAC,QAA6B;QACrC,KAAK,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAClC,OAAO,SAAS,CAAC,MAAM,CAAC;YAC5B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc;QACV,MAAM,SAAS,GAAwB,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,SAAS,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBACpC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,gBAAgB;QACZ,KAAK,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,SAAS,CAAC,MAAM,KAAK,YAAY;gBAAE,SAAS;YAEhD,MAAM,eAAe,GAAa,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC9E,IAAI,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;oBAC3F,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;YAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC;gBAChC,SAAS,CAAC,eAAe,GAAG,eAAe,CAAC;YAChD,CAAC;QACL,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,QAA6B;QAC9C,KAAK,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAClC,OAAO,SAAS,CAAC,eAAe,CAAC;YACrC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM;QACF,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,oBAAoB;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,4BAA4B,CAAC,KAAU,EAAE,QAAa;QAClD,OAAO,KAAK,KAAK,QAAQ,CAAC;IAC9B,CAAC;CACJ;AAvGD,gDAuGC"}
@@ -0,0 +1,11 @@
1
+ import { AcaoCascata, RelacionamentoInterface, TipoRelacionamento } from "./interfaces-tipos/relacionamento-interface";
2
+ export declare class Relacionamento implements RelacionamentoInterface {
3
+ tipo: TipoRelacionamento;
4
+ nomePropriedade: string;
5
+ entidadeDestino: string;
6
+ colunaOrigem: string;
7
+ colunaDestino: string;
8
+ cascata?: AcaoCascata[];
9
+ constructor(tipo: TipoRelacionamento, nomePropriedade: string, entidadeDestino: string, colunaOrigem: string, colunaDestino: string, cascata?: AcaoCascata[]);
10
+ }
11
+ //# sourceMappingURL=relacionamento.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relacionamento.d.ts","sourceRoot":"","sources":["../../fontes/relacionamento.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAEvH,qBAAa,cAAe,YAAW,uBAAuB;IAC1D,IAAI,EAAE,kBAAkB,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;gBAGpB,IAAI,EAAE,kBAAkB,EACxB,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,WAAW,EAAE;CAS9B"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Relacionamento = void 0;
4
+ class Relacionamento {
5
+ constructor(tipo, nomePropriedade, entidadeDestino, colunaOrigem, colunaDestino, cascata) {
6
+ this.tipo = tipo;
7
+ this.nomePropriedade = nomePropriedade;
8
+ this.entidadeDestino = entidadeDestino;
9
+ this.colunaOrigem = colunaOrigem;
10
+ this.colunaDestino = colunaDestino;
11
+ this.cascata = cascata;
12
+ }
13
+ }
14
+ exports.Relacionamento = Relacionamento;
15
+ //# sourceMappingURL=relacionamento.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relacionamento.js","sourceRoot":"","sources":["../../fontes/relacionamento.ts"],"names":[],"mappings":";;;AAEA,MAAa,cAAc;IAQvB,YACI,IAAwB,EACxB,eAAuB,EACvB,eAAuB,EACvB,YAAoB,EACpB,aAAqB,EACrB,OAAuB;QAEvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAvBD,wCAuBC"}
@@ -0,0 +1,50 @@
1
+ import { TecnologiaLinconesInterface } from "@designliquido/lincones-js";
2
+ import { ConfiguracoesBancos } from "./interfaces-tipos/configuracao-banco-dados-interface";
3
+ import { EntidadeInterface } from "./interfaces-tipos/entidade-interface";
4
+ /**
5
+ * Gerenciador de múltiplos bancos de dados.
6
+ * Roteia operações para o banco correto baseado na configuração da entidade.
7
+ */
8
+ export declare class RoteadorBancos {
9
+ private bancos;
10
+ private bancoPadrao;
11
+ /**
12
+ * Registra uma tecnologia para um banco de dados específico.
13
+ */
14
+ registrarBanco(nome: string, tecnologia: TecnologiaLinconesInterface, ehPadrao?: boolean): void;
15
+ /**
16
+ * Registra múltiplos bancos de dados a partir de configurações.
17
+ */
18
+ registrarBancos(configuracoes: ConfiguracoesBancos, tecnologias: {
19
+ [nome: string]: TecnologiaLinconesInterface;
20
+ }): void;
21
+ /**
22
+ * Obtém a tecnologia para um banco específico.
23
+ */
24
+ obterTecnologia(nomeBanco: string): TecnologiaLinconesInterface;
25
+ /**
26
+ * Obtém a tecnologia para uma entidade baseado em seu banco especificado.
27
+ */
28
+ obterTecnologiaParaEntidade(entidade: EntidadeInterface): TecnologiaLinconesInterface;
29
+ /**
30
+ * Obtém a tecnologia padrão.
31
+ */
32
+ obterTecnologiaPadrao(): TecnologiaLinconesInterface;
33
+ /**
34
+ * Obtém o nome do banco padrão.
35
+ */
36
+ obterNomeBancoPadrao(): string;
37
+ /**
38
+ * Lista todos os bancos registrados.
39
+ */
40
+ listarBancos(): string[];
41
+ /**
42
+ * Verifica se um banco está registrado.
43
+ */
44
+ possuiBanco(nome: string): boolean;
45
+ /**
46
+ * Remove um banco de dados registrado.
47
+ */
48
+ removerBanco(nome: string): void;
49
+ }
50
+ //# sourceMappingURL=roteador-bancos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roteador-bancos.d.ts","sourceRoot":"","sources":["../../fontes/roteador-bancos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E;;;GAGG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAuD;IACrE,OAAO,CAAC,WAAW,CAAoB;IAEvC;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,2BAA2B,EAAE,QAAQ,GAAE,OAAe,GAAG,IAAI;IAYtG;;OAEG;IACH,eAAe,CAAC,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B,CAAA;KAAE,GAAG,IAAI;IAavH;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,2BAA2B;IAQ/D;;OAEG;IACH,2BAA2B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,2BAA2B;IAKrF;;OAEG;IACH,qBAAqB,IAAI,2BAA2B;IAIpD;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAI9B;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAMnC"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoteadorBancos = void 0;
4
+ /**
5
+ * Gerenciador de múltiplos bancos de dados.
6
+ * Roteia operações para o banco correto baseado na configuração da entidade.
7
+ */
8
+ class RoteadorBancos {
9
+ constructor() {
10
+ this.bancos = new Map();
11
+ this.bancoPadrao = 'padrão';
12
+ }
13
+ /**
14
+ * Registra uma tecnologia para um banco de dados específico.
15
+ */
16
+ registrarBanco(nome, tecnologia, ehPadrao = false) {
17
+ if (nome === '') {
18
+ throw new Error('Nome do banco não pode estar vazio');
19
+ }
20
+ this.bancos.set(nome, tecnologia);
21
+ if (ehPadrao) {
22
+ this.bancoPadrao = nome;
23
+ }
24
+ }
25
+ /**
26
+ * Registra múltiplos bancos de dados a partir de configurações.
27
+ */
28
+ registrarBancos(configuracoes, tecnologias) {
29
+ for (const nome in configuracoes) {
30
+ const config = configuracoes[nome];
31
+ const tecnologia = tecnologias[nome];
32
+ if (!tecnologia) {
33
+ throw new Error(`Tecnologia para banco '${nome}' não foi fornecida`);
34
+ }
35
+ this.registrarBanco(nome, tecnologia, config.padrao || false);
36
+ }
37
+ }
38
+ /**
39
+ * Obtém a tecnologia para um banco específico.
40
+ */
41
+ obterTecnologia(nomeBanco) {
42
+ const tecnologia = this.bancos.get(nomeBanco);
43
+ if (!tecnologia) {
44
+ throw new Error(`Banco de dados '${nomeBanco}' não foi registrado`);
45
+ }
46
+ return tecnologia;
47
+ }
48
+ /**
49
+ * Obtém a tecnologia para uma entidade baseado em seu banco especificado.
50
+ */
51
+ obterTecnologiaParaEntidade(entidade) {
52
+ const nomeBanco = entidade.obterNomeBancoDados();
53
+ return this.obterTecnologia(nomeBanco);
54
+ }
55
+ /**
56
+ * Obtém a tecnologia padrão.
57
+ */
58
+ obterTecnologiaPadrao() {
59
+ return this.obterTecnologia(this.bancoPadrao);
60
+ }
61
+ /**
62
+ * Obtém o nome do banco padrão.
63
+ */
64
+ obterNomeBancoPadrao() {
65
+ return this.bancoPadrao;
66
+ }
67
+ /**
68
+ * Lista todos os bancos registrados.
69
+ */
70
+ listarBancos() {
71
+ return Array.from(this.bancos.keys());
72
+ }
73
+ /**
74
+ * Verifica se um banco está registrado.
75
+ */
76
+ possuiBanco(nome) {
77
+ return this.bancos.has(nome);
78
+ }
79
+ /**
80
+ * Remove um banco de dados registrado.
81
+ */
82
+ removerBanco(nome) {
83
+ if (nome === this.bancoPadrao) {
84
+ throw new Error('Não é possível remover o banco padrão');
85
+ }
86
+ this.bancos.delete(nome);
87
+ }
88
+ }
89
+ exports.RoteadorBancos = RoteadorBancos;
90
+ //# sourceMappingURL=roteador-bancos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roteador-bancos.js","sourceRoot":"","sources":["../../fontes/roteador-bancos.ts"],"names":[],"mappings":";;;AAKA;;;GAGG;AACH,MAAa,cAAc;IAA3B;QACY,WAAM,GAA6C,IAAI,GAAG,EAAE,CAAC;QAC7D,gBAAW,GAAW,QAAQ,CAAC;IAyF3C,CAAC;IAvFG;;OAEG;IACH,cAAc,CAAC,IAAY,EAAE,UAAuC,EAAE,WAAoB,KAAK;QAC3F,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAElC,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC5B,CAAC;IACL,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,aAAkC,EAAE,WAA4D;QAC5G,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YAErC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,qBAAqB,CAAC,CAAC;YACzE,CAAC;YAED,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,SAAiB;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,mBAAmB,SAAS,sBAAsB,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,2BAA2B,CAAC,QAA2B;QACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,qBAAqB;QACjB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,oBAAoB;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,YAAY;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,IAAY;QACrB,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACJ;AA3FD,wCA2FC"}
@@ -0,0 +1,46 @@
1
+ import { ObjetoDeleguaClasse } from "@designliquido/delegua/interpretador/estruturas";
2
+ import { EntidadeInterface } from "./interfaces-tipos/entidade-interface";
3
+ import { OpcoesSerializacaoInterface } from "./interfaces-tipos";
4
+ /**
5
+ * Classe responsável pela serialização de registros para JSON e dicionários.
6
+ * Fornece controle granular sobre quais campos incluir e como serializar relacionamentos.
7
+ */
8
+ export declare class Serializador {
9
+ /**
10
+ * Converte um registro de entidade para dicionário (objeto JavaScript).
11
+ * @param registro Registro a serializar
12
+ * @param tipoEntidade Tipo da entidade
13
+ * @param opcoes Opções de serialização
14
+ * @returns Objeto JavaScript com os dados do registro
15
+ */
16
+ static paraDicionario(registro: ObjetoDeleguaClasse, tipoEntidade: EntidadeInterface, opcoes?: OpcoesSerializacaoInterface): Record<string, any>;
17
+ /**
18
+ * Converte um registro de entidade para string JSON.
19
+ * @param registro Registro a serializar
20
+ * @param tipoEntidade Tipo da entidade
21
+ * @param opcoes Opções de serialização
22
+ * @returns String JSON com os dados do registro
23
+ */
24
+ static paraJson(registro: ObjetoDeleguaClasse, tipoEntidade: EntidadeInterface, opcoes?: OpcoesSerializacaoInterface): string;
25
+ /**
26
+ * Converte múltiplos registros para array de dicionários.
27
+ * @param registros Registros a serializar
28
+ * @param tipoEntidade Tipo da entidade
29
+ * @param opcoes Opções de serialização
30
+ * @returns Array de dicionários
31
+ */
32
+ static muitosParaDicionario(registros: ObjetoDeleguaClasse[], tipoEntidade: EntidadeInterface, opcoes?: OpcoesSerializacaoInterface): Record<string, any>[];
33
+ /**
34
+ * Converte múltiplos registros para string JSON com array.
35
+ * @param registros Registros a serializar
36
+ * @param tipoEntidade Tipo da entidade
37
+ * @param opcoes Opções de serialização
38
+ * @returns String JSON com array de registros
39
+ */
40
+ static muitosParaJson(registros: ObjetoDeleguaClasse[], tipoEntidade: EntidadeInterface, opcoes?: OpcoesSerializacaoInterface): string;
41
+ /**
42
+ * Verifica se um campo deve ser incluído na serialização.
43
+ */
44
+ private static _deveIncluirCampo;
45
+ }
46
+ //# sourceMappingURL=serializador.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializador.d.ts","sourceRoot":"","sources":["../../fontes/serializador.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEjE;;;GAGG;AACH,qBAAa,YAAY;IACrB;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CACjB,QAAQ,EAAE,mBAAmB,EAC7B,YAAY,EAAE,iBAAiB,EAC/B,MAAM,GAAE,2BAAgC,GACzC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAwBtB;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CACX,QAAQ,EAAE,mBAAmB,EAC7B,YAAY,EAAE,iBAAiB,EAC/B,MAAM,GAAE,2BAAgC,GACzC,MAAM;IAKT;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CACvB,SAAS,EAAE,mBAAmB,EAAE,EAChC,YAAY,EAAE,iBAAiB,EAC/B,MAAM,GAAE,2BAAgC,GACzC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;IAIxB;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CACjB,SAAS,EAAE,mBAAmB,EAAE,EAChC,YAAY,EAAE,iBAAiB,EAC/B,MAAM,GAAE,2BAAgC,GACzC,MAAM;IAKT;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAcnC"}