@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,157 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Validador = void 0;
4
+ class Validador {
5
+ /**
6
+ * Valida um registro de acordo com os decoradores definidos na entidade.
7
+ * @param entidade - A entidade a ser validada
8
+ * @param registro - O registro com os dados a validar
9
+ * @param verificadorUnicidade - Função opcional para verificar unicidade no banco de dados
10
+ * @returns Array de erros de validação
11
+ */
12
+ static async validar(entidade, registro, verificadorUnicidade) {
13
+ const erros = [];
14
+ const chavePrimaria = entidade.obterNomeChavePrimaria();
15
+ const idAtual = registro.propriedades[chavePrimaria];
16
+ for (const propriedade of entidade.modelo.propriedades) {
17
+ const nome = propriedade.nome.lexema;
18
+ const valor = registro.propriedades[nome];
19
+ for (const decorador of propriedade.decoradores) {
20
+ const nomeDecorador = decorador.nome.replace(/^@/, '');
21
+ switch (nomeDecorador) {
22
+ case 'obrigatorio':
23
+ if (valor === null || valor === undefined || valor === '') {
24
+ erros.push({
25
+ campo: nome,
26
+ mensagem: decorador.atributos?.mensagem || `O campo '${nome}' é obrigatório.`
27
+ });
28
+ }
29
+ break;
30
+ case 'comprimentoMaximo':
31
+ if (typeof valor === 'string' && decorador.atributos?.valor !== undefined) {
32
+ const maximo = decorador.atributos.valor;
33
+ if (valor.length > maximo) {
34
+ erros.push({
35
+ campo: nome,
36
+ mensagem: decorador.atributos?.mensagem ||
37
+ `O campo '${nome}' deve ter no máximo ${maximo} caracteres.`
38
+ });
39
+ }
40
+ }
41
+ break;
42
+ case 'comprimentoMinimo':
43
+ if (typeof valor === 'string' && decorador.atributos?.valor !== undefined) {
44
+ const minimo = decorador.atributos.valor;
45
+ if (valor.length < minimo) {
46
+ erros.push({
47
+ campo: nome,
48
+ mensagem: decorador.atributos?.mensagem ||
49
+ `O campo '${nome}' deve ter no mínimo ${minimo} caracteres.`
50
+ });
51
+ }
52
+ }
53
+ break;
54
+ case 'unico':
55
+ // Validador @unico: verifica se o valor já existe no banco
56
+ if (valor !== null && valor !== undefined && verificadorUnicidade) {
57
+ const existeOutro = await verificadorUnicidade(nome, valor, idAtual);
58
+ if (existeOutro) {
59
+ erros.push({
60
+ campo: nome,
61
+ mensagem: decorador.atributos?.mensagem ||
62
+ `O valor '${valor}' para o campo '${nome}' já está em uso.`
63
+ });
64
+ }
65
+ }
66
+ break;
67
+ case 'formato':
68
+ // Validador @formato: valida valor contra um padrão regex
69
+ if (valor !== null && valor !== undefined && decorador.atributos?.padrao) {
70
+ const padrao = new RegExp(decorador.atributos.padrao);
71
+ const valorString = String(valor);
72
+ if (!padrao.test(valorString)) {
73
+ erros.push({
74
+ campo: nome,
75
+ mensagem: decorador.atributos?.mensagem ||
76
+ `O valor do campo '${nome}' não está no formato esperado.`
77
+ });
78
+ }
79
+ }
80
+ break;
81
+ case 'minimo':
82
+ // Validador @minimo: valor numérico mínimo
83
+ if (typeof valor === 'number' && decorador.atributos?.valor !== undefined) {
84
+ const minimo = decorador.atributos.valor;
85
+ if (valor < minimo) {
86
+ erros.push({
87
+ campo: nome,
88
+ mensagem: decorador.atributos?.mensagem ||
89
+ `O campo '${nome}' deve ser no mínimo ${minimo}.`
90
+ });
91
+ }
92
+ }
93
+ break;
94
+ case 'maximo':
95
+ // Validador @maximo: valor numérico máximo
96
+ if (typeof valor === 'number' && decorador.atributos?.valor !== undefined) {
97
+ const maximo = decorador.atributos.valor;
98
+ if (valor > maximo) {
99
+ erros.push({
100
+ campo: nome,
101
+ mensagem: decorador.atributos?.mensagem ||
102
+ `O campo '${nome}' deve ser no máximo ${maximo}.`
103
+ });
104
+ }
105
+ }
106
+ break;
107
+ case 'email':
108
+ // Validador @email: valida formato de email
109
+ if (valor !== null && valor !== undefined) {
110
+ const padraoEmail = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
111
+ const valorString = String(valor);
112
+ if (!padraoEmail.test(valorString)) {
113
+ erros.push({
114
+ campo: nome,
115
+ mensagem: decorador.atributos?.mensagem ||
116
+ `O campo '${nome}' deve ser um email válido.`
117
+ });
118
+ }
119
+ }
120
+ break;
121
+ case 'url':
122
+ // Validador @url: valida formato de URL
123
+ if (valor !== null && valor !== undefined) {
124
+ try {
125
+ new URL(String(valor));
126
+ }
127
+ catch {
128
+ erros.push({
129
+ campo: nome,
130
+ mensagem: decorador.atributos?.mensagem ||
131
+ `O campo '${nome}' deve ser uma URL válida.`
132
+ });
133
+ }
134
+ }
135
+ break;
136
+ case 'validadorCustomizado':
137
+ // Suporte a validadores customizados
138
+ if (decorador.atributos?.validador) {
139
+ const validador = decorador.atributos.validador;
140
+ const resultado = await validador(valor, registro);
141
+ if (!resultado) {
142
+ erros.push({
143
+ campo: nome,
144
+ mensagem: decorador.atributos?.mensagem ||
145
+ `O campo '${nome}' falhou na validação customizada.`
146
+ });
147
+ }
148
+ }
149
+ break;
150
+ }
151
+ }
152
+ }
153
+ return erros;
154
+ }
155
+ }
156
+ exports.Validador = Validador;
157
+ //# sourceMappingURL=validador.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validador.js","sourceRoot":"","sources":["../../../fontes/validacoes/validador.ts"],"names":[],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,36 @@
1
+ import { Entidade } from './fontes/entidade';
2
+ export { Entidade } from './fontes/entidade';
3
+ export { Colecao } from './fontes/colecao';
4
+ export { ConstrutorConsulta } from './fontes/construtor-consulta';
5
+ export { ContextoEntidades } from './fontes/contexto-entidades';
6
+ export { Relacionamento } from './fontes/relacionamento';
7
+ export { Validador } from './fontes/validacoes/validador';
8
+ export { ErroDeValidacao, ErroValidacao } from './fontes/erros/erro-validacao';
9
+ export { CacheConsultas } from './fontes/cache-consultas';
10
+ export { CarregadorLote as CarregadorLote, GerenciadorCarregadoresLote } from './fontes/carregador-lotes';
11
+ export { AnalisadorDicas, TipoDica, NivelSeveridade, Dica } from './fontes/analisador-dicas';
12
+ export { EntidadeInterface } from './fontes/interfaces-tipos/entidade-interface';
13
+ export { GanchosInterface, FuncaoGancho, EventoGancho } from './fontes/interfaces-tipos/ganchos';
14
+ export { RelacionamentoInterface, TipoRelacionamento, AcaoCascata } from './fontes/interfaces-tipos/relacionamento-interface';
15
+ export { Taquigrafo, NivelDetalhamentoTaquigrafia, FuncaoTaquigrafia } from './fontes/taquigrafia';
16
+ export { RastreadorMudancas, EstadoEntidade, RegistroRastreado } from './fontes/rastreador-mudancas';
17
+ export { Migracao, OperacaoMigracao } from './fontes/migracoes/migracao';
18
+ export { ExecutorMigracoes } from './fontes/migracoes/executor-migracoes';
19
+ export { GeradorMigracoes, SchemaInfo } from './fontes/migracoes/gerador-migracoes';
20
+ export { Semeador, ClasseSemente } from './fontes/migracoes/semeador';
21
+ export { CarregadorPreguicoso } from './fontes/carregador-preguicoso';
22
+ export { Transacao } from './fontes/transacao';
23
+ export { TransacaoInterface } from './fontes/interfaces-tipos/transacao-interface';
24
+ export { RoteadorBancos } from './fontes/roteador-bancos';
25
+ export { ConfiguracaoBancoDados, ConfiguracoesBancos } from './fontes/interfaces-tipos/configuracao-banco-dados-interface';
26
+ export { SementeInterface } from './fontes/interfaces-tipos/semente-interface';
27
+ /**
28
+ * Essa função inicializa uma instância de `Entidade` com um modelo carregado.
29
+ * Este modelo é o ponto de partida para quaisquer operações de banco de dados,
30
+ * seja a partir da tabela que representa, seja através dos relacionamentos dessa
31
+ * tabela com outras.
32
+ * @param {ObjetoDeleguaClasse} _modelo O modelo de ponto de partida para as operações
33
+ * de bancos de dados.
34
+ */
35
+ export declare function modelo(_modelo: any): Entidade;
36
+ //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,IAAI,cAAc,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAC1G,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAE7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjG,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAC;AAE9H,OAAO,EAAE,UAAU,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AAC3H,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAE/E;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,QAAQ,CAG7C"}
package/index.js ADDED
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoteadorBancos = exports.Transacao = exports.CarregadorPreguicoso = exports.Semeador = exports.GeradorMigracoes = exports.ExecutorMigracoes = exports.Migracao = exports.RastreadorMudancas = exports.Taquigrafo = exports.NivelSeveridade = exports.TipoDica = exports.AnalisadorDicas = exports.GerenciadorCarregadoresLote = exports.CarregadorLote = exports.CacheConsultas = exports.ErroDeValidacao = exports.Validador = exports.Relacionamento = exports.ContextoEntidades = exports.ConstrutorConsulta = exports.Colecao = exports.Entidade = void 0;
4
+ exports.modelo = modelo;
5
+ const entidade_1 = require("./fontes/entidade");
6
+ var entidade_2 = require("./fontes/entidade");
7
+ Object.defineProperty(exports, "Entidade", { enumerable: true, get: function () { return entidade_2.Entidade; } });
8
+ var colecao_1 = require("./fontes/colecao");
9
+ Object.defineProperty(exports, "Colecao", { enumerable: true, get: function () { return colecao_1.Colecao; } });
10
+ var construtor_consulta_1 = require("./fontes/construtor-consulta");
11
+ Object.defineProperty(exports, "ConstrutorConsulta", { enumerable: true, get: function () { return construtor_consulta_1.ConstrutorConsulta; } });
12
+ var contexto_entidades_1 = require("./fontes/contexto-entidades");
13
+ Object.defineProperty(exports, "ContextoEntidades", { enumerable: true, get: function () { return contexto_entidades_1.ContextoEntidades; } });
14
+ var relacionamento_1 = require("./fontes/relacionamento");
15
+ Object.defineProperty(exports, "Relacionamento", { enumerable: true, get: function () { return relacionamento_1.Relacionamento; } });
16
+ var validador_1 = require("./fontes/validacoes/validador");
17
+ Object.defineProperty(exports, "Validador", { enumerable: true, get: function () { return validador_1.Validador; } });
18
+ var erro_validacao_1 = require("./fontes/erros/erro-validacao");
19
+ Object.defineProperty(exports, "ErroDeValidacao", { enumerable: true, get: function () { return erro_validacao_1.ErroDeValidacao; } });
20
+ var cache_consultas_1 = require("./fontes/cache-consultas");
21
+ Object.defineProperty(exports, "CacheConsultas", { enumerable: true, get: function () { return cache_consultas_1.CacheConsultas; } });
22
+ var carregador_lotes_1 = require("./fontes/carregador-lotes");
23
+ Object.defineProperty(exports, "CarregadorLote", { enumerable: true, get: function () { return carregador_lotes_1.CarregadorLote; } });
24
+ Object.defineProperty(exports, "GerenciadorCarregadoresLote", { enumerable: true, get: function () { return carregador_lotes_1.GerenciadorCarregadoresLote; } });
25
+ var analisador_dicas_1 = require("./fontes/analisador-dicas");
26
+ Object.defineProperty(exports, "AnalisadorDicas", { enumerable: true, get: function () { return analisador_dicas_1.AnalisadorDicas; } });
27
+ Object.defineProperty(exports, "TipoDica", { enumerable: true, get: function () { return analisador_dicas_1.TipoDica; } });
28
+ Object.defineProperty(exports, "NivelSeveridade", { enumerable: true, get: function () { return analisador_dicas_1.NivelSeveridade; } });
29
+ var taquigrafia_1 = require("./fontes/taquigrafia");
30
+ Object.defineProperty(exports, "Taquigrafo", { enumerable: true, get: function () { return taquigrafia_1.Taquigrafo; } });
31
+ var rastreador_mudancas_1 = require("./fontes/rastreador-mudancas");
32
+ Object.defineProperty(exports, "RastreadorMudancas", { enumerable: true, get: function () { return rastreador_mudancas_1.RastreadorMudancas; } });
33
+ var migracao_1 = require("./fontes/migracoes/migracao");
34
+ Object.defineProperty(exports, "Migracao", { enumerable: true, get: function () { return migracao_1.Migracao; } });
35
+ var executor_migracoes_1 = require("./fontes/migracoes/executor-migracoes");
36
+ Object.defineProperty(exports, "ExecutorMigracoes", { enumerable: true, get: function () { return executor_migracoes_1.ExecutorMigracoes; } });
37
+ var gerador_migracoes_1 = require("./fontes/migracoes/gerador-migracoes");
38
+ Object.defineProperty(exports, "GeradorMigracoes", { enumerable: true, get: function () { return gerador_migracoes_1.GeradorMigracoes; } });
39
+ var semeador_1 = require("./fontes/migracoes/semeador");
40
+ Object.defineProperty(exports, "Semeador", { enumerable: true, get: function () { return semeador_1.Semeador; } });
41
+ var carregador_preguicoso_1 = require("./fontes/carregador-preguicoso");
42
+ Object.defineProperty(exports, "CarregadorPreguicoso", { enumerable: true, get: function () { return carregador_preguicoso_1.CarregadorPreguicoso; } });
43
+ var transacao_1 = require("./fontes/transacao");
44
+ Object.defineProperty(exports, "Transacao", { enumerable: true, get: function () { return transacao_1.Transacao; } });
45
+ var roteador_bancos_1 = require("./fontes/roteador-bancos");
46
+ Object.defineProperty(exports, "RoteadorBancos", { enumerable: true, get: function () { return roteador_bancos_1.RoteadorBancos; } });
47
+ /**
48
+ * Essa função inicializa uma instância de `Entidade` com um modelo carregado.
49
+ * Este modelo é o ponto de partida para quaisquer operações de banco de dados,
50
+ * seja a partir da tabela que representa, seja através dos relacionamentos dessa
51
+ * tabela com outras.
52
+ * @param {ObjetoDeleguaClasse} _modelo O modelo de ponto de partida para as operações
53
+ * de bancos de dados.
54
+ */
55
+ function modelo(_modelo) {
56
+ const entidades = new entidade_1.Entidade(_modelo);
57
+ return entidades;
58
+ }
59
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAuCA,wBAGC;AA1CD,gDAA6C;AAE7C,8CAA6C;AAApC,oGAAA,QAAQ,OAAA;AACjB,4CAA2C;AAAlC,kGAAA,OAAO,OAAA;AAChB,oEAAkE;AAAzD,yHAAA,kBAAkB,OAAA;AAC3B,kEAAgE;AAAvD,uHAAA,iBAAiB,OAAA;AAC1B,0DAAyD;AAAhD,gHAAA,cAAc,OAAA;AACvB,2DAA0D;AAAjD,sGAAA,SAAS,OAAA;AAClB,gEAA+E;AAAtE,iHAAA,eAAe,OAAA;AAExB,4DAA0D;AAAjD,iHAAA,cAAc,OAAA;AACvB,8DAA0G;AAAjG,kHAAA,cAAc,OAAkB;AAAE,+HAAA,2BAA2B,OAAA;AACtE,8DAA6F;AAApF,mHAAA,eAAe,OAAA;AAAE,4GAAA,QAAQ,OAAA;AAAE,mHAAA,eAAe,OAAA;AAMnD,oDAAmG;AAA1F,yGAAA,UAAU,OAAA;AACnB,oEAAqG;AAA5F,yHAAA,kBAAkB,OAAA;AAC3B,wDAAyE;AAAhE,oGAAA,QAAQ,OAAA;AACjB,4EAA0E;AAAjE,uHAAA,iBAAiB,OAAA;AAC1B,0EAAoF;AAA3E,qHAAA,gBAAgB,OAAA;AACzB,wDAAsE;AAA7D,oGAAA,QAAQ,OAAA;AACjB,wEAAsE;AAA7D,6HAAA,oBAAoB,OAAA;AAC7B,gDAA+C;AAAtC,sGAAA,SAAS,OAAA;AAElB,4DAA0D;AAAjD,iHAAA,cAAc,OAAA;AAIvB;;;;;;;GAOG;AACH,SAAgB,MAAM,CAAC,OAAY;IAC/B,MAAM,SAAS,GAAG,IAAI,mBAAQ,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,SAAS,CAAC;AACrB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@designliquido/delegua-entidades",
3
+ "version": "0.0.0",
4
+ "main": "dist/index.js",
5
+ "types": "dist/index.d.ts",
6
+ "scripts": {
7
+ "empacotar": "yarn rimraf ./dist && tsc && yarn copyfiles -V ./README.md ./dist && yarn copyfiles -V ./package.json ./dist",
8
+ "publicar-npm": "npm publish ./dist --access public",
9
+ "testes-unitarios": "jest --coverage",
10
+ "lint": "eslint fontes/**/*.ts",
11
+ "migracoes": "ts-node fontes/ilc/migracoes.ts",
12
+ "sementes": "ts-node fontes/ilc/semeadura.ts",
13
+ "gerar-modelo": "ts-node fontes/ilc/gerador-entidades.ts",
14
+ "gerar-definicoes": "ts-node fontes/ilc/gerador-definicoes.ts",
15
+ "performance": "ts-node fontes/indicadores-performance/index.ts"
16
+ },
17
+ "delegua": {
18
+ "definicoes": "./definicoes"
19
+ },
20
+ "license": "MIT",
21
+ "publishConfig": {
22
+ "registry": "https://registry.npmjs.org/"
23
+ },
24
+ "devDependencies": {
25
+ "@designliquido/delegua": "^1.16.1",
26
+ "@types/jest": "^29.5.14",
27
+ "@types/node": "^22.13.4",
28
+ "@typescript-eslint/eslint-plugin": "^6.0.0",
29
+ "@typescript-eslint/parser": "^6.0.0",
30
+ "copyfiles": "^2.4.1",
31
+ "eslint": "^8.0.0",
32
+ "jest": "^29.7.0",
33
+ "rimraf": "^6.0.1",
34
+ "ts-jest": "^29.2.5",
35
+ "ts-node": "^10.9.2",
36
+ "typescript": "^5.7.3"
37
+ },
38
+ "peerDependencies": {
39
+ "@designliquido/delegua": "^1.16.1"
40
+ },
41
+ "dependencies": {
42
+ "@designliquido/delprops": "^0.0.1",
43
+ "@designliquido/flexoes": "^0.1.0",
44
+ "@designliquido/lincones-js": "^0.2.0",
45
+ "@designliquido/lincones-sqlite": "^0.3.0"
46
+ },
47
+ "peerDependenciesMeta": {
48
+ "@designliquido/lincones-mysql": {
49
+ "optional": true
50
+ },
51
+ "@designliquido/lincones-postgresql": {
52
+ "optional": true
53
+ }
54
+ }
55
+ }