@liderautomacao/emissor-fiscal-sdk 1.0.8

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 (290) hide show
  1. package/.env.example +11 -0
  2. package/.github/workflows/npm-publish.yml +33 -0
  3. package/.vscode/settings.json +15 -0
  4. package/README.md +71 -0
  5. package/dist/api/credenciais-api.d.ts +7 -0
  6. package/dist/api/credenciais-api.js +12 -0
  7. package/dist/api/emissor-fiscal-api.service.d.ts +12 -0
  8. package/dist/api/emissor-fiscal-api.service.js +87 -0
  9. package/dist/dtos/index.d.ts +1 -0
  10. package/dist/dtos/index.js +17 -0
  11. package/dist/dtos/pedido-item.d.ts +86 -0
  12. package/dist/dtos/pedido-item.js +89 -0
  13. package/dist/emissor-fiscal-sdk.d.ts +14 -0
  14. package/dist/emissor-fiscal-sdk.js +27 -0
  15. package/dist/index.d.ts +6 -0
  16. package/dist/index.js +47 -0
  17. package/dist/models/cofins.d.ts +17 -0
  18. package/dist/models/cofins.js +18 -0
  19. package/dist/models/combustivel.d.ts +25 -0
  20. package/dist/models/combustivel.js +26 -0
  21. package/dist/models/configuracoes.d.ts +57 -0
  22. package/dist/models/configuracoes.js +51 -0
  23. package/dist/models/destinatario.d.ts +25 -0
  24. package/dist/models/destinatario.js +63 -0
  25. package/dist/models/emitente.d.ts +25 -0
  26. package/dist/models/emitente.js +32 -0
  27. package/dist/models/endereco.d.ts +14 -0
  28. package/dist/models/endereco.js +37 -0
  29. package/dist/models/envio/envio-cancelamento.d.ts +40 -0
  30. package/dist/models/envio/envio-cancelamento.js +47 -0
  31. package/dist/models/envio/envio-consulta.d.ts +39 -0
  32. package/dist/models/envio/envio-consulta.js +46 -0
  33. package/dist/models/envio/envio-impressao.d.ts +48 -0
  34. package/dist/models/envio/envio-impressao.js +56 -0
  35. package/dist/models/envio/envio-inutilizacao.d.ts +41 -0
  36. package/dist/models/envio/envio-inutilizacao.js +48 -0
  37. package/dist/models/envio/envio-nfce.d.ts +703 -0
  38. package/dist/models/envio/envio-nfce.js +43 -0
  39. package/dist/models/envio/envio-nfe.d.ts +703 -0
  40. package/dist/models/envio/envio-nfe.js +43 -0
  41. package/dist/models/envio/index.d.ts +6 -0
  42. package/dist/models/envio/index.js +22 -0
  43. package/dist/models/icms/icms-00.d.ts +16 -0
  44. package/dist/models/icms/icms-00.js +23 -0
  45. package/dist/models/icms/icms-02.d.ts +9 -0
  46. package/dist/models/icms/icms-02.js +15 -0
  47. package/dist/models/icms/icms-10.d.ts +35 -0
  48. package/dist/models/icms/icms-10.js +46 -0
  49. package/dist/models/icms/icms-101.d.ts +10 -0
  50. package/dist/models/icms/icms-101.js +16 -0
  51. package/dist/models/icms/icms-102.d.ts +6 -0
  52. package/dist/models/icms/icms-102.js +11 -0
  53. package/dist/models/icms/icms-103.d.ts +6 -0
  54. package/dist/models/icms/icms-103.js +11 -0
  55. package/dist/models/icms/icms-15.d.ts +16 -0
  56. package/dist/models/icms/icms-15.js +22 -0
  57. package/dist/models/icms/icms-20.d.ts +23 -0
  58. package/dist/models/icms/icms-20.js +33 -0
  59. package/dist/models/icms/icms-201.d.ts +25 -0
  60. package/dist/models/icms/icms-201.js +33 -0
  61. package/dist/models/icms/icms-202.d.ts +21 -0
  62. package/dist/models/icms/icms-202.js +29 -0
  63. package/dist/models/icms/icms-203.d.ts +21 -0
  64. package/dist/models/icms/icms-203.js +29 -0
  65. package/dist/models/icms/icms-30.d.ts +26 -0
  66. package/dist/models/icms/icms-30.js +36 -0
  67. package/dist/models/icms/icms-300.d.ts +6 -0
  68. package/dist/models/icms/icms-300.js +11 -0
  69. package/dist/models/icms/icms-40.d.ts +11 -0
  70. package/dist/models/icms/icms-40.js +19 -0
  71. package/dist/models/icms/icms-400.d.ts +6 -0
  72. package/dist/models/icms/icms-400.js +11 -0
  73. package/dist/models/icms/icms-41.d.ts +11 -0
  74. package/dist/models/icms/icms-41.js +19 -0
  75. package/dist/models/icms/icms-50.d.ts +11 -0
  76. package/dist/models/icms/icms-50.js +19 -0
  77. package/dist/models/icms/icms-500.d.ts +25 -0
  78. package/dist/models/icms/icms-500.js +37 -0
  79. package/dist/models/icms/icms-51.d.ts +29 -0
  80. package/dist/models/icms/icms-51.js +41 -0
  81. package/dist/models/icms/icms-53.d.ts +12 -0
  82. package/dist/models/icms/icms-53.js +18 -0
  83. package/dist/models/icms/icms-60.d.ts +29 -0
  84. package/dist/models/icms/icms-60.js +41 -0
  85. package/dist/models/icms/icms-61.d.ts +9 -0
  86. package/dist/models/icms/icms-61.js +15 -0
  87. package/dist/models/icms/icms-70.d.ts +38 -0
  88. package/dist/models/icms/icms-70.js +54 -0
  89. package/dist/models/icms/icms-90.d.ts +40 -0
  90. package/dist/models/icms/icms-90.js +57 -0
  91. package/dist/models/icms/icms-900.d.ts +32 -0
  92. package/dist/models/icms/icms-900.js +40 -0
  93. package/dist/models/icms/index.d.ts +25 -0
  94. package/dist/models/icms/index.js +41 -0
  95. package/dist/models/index.d.ts +17 -0
  96. package/dist/models/index.js +33 -0
  97. package/dist/models/indicador-inscricao-estadual.d.ts +5 -0
  98. package/dist/models/indicador-inscricao-estadual.js +9 -0
  99. package/dist/models/nfce/index.d.ts +2 -0
  100. package/dist/models/nfce/index.js +18 -0
  101. package/dist/models/nfce/nfce-item.d.ts +481 -0
  102. package/dist/models/nfce/nfce-item.js +72 -0
  103. package/dist/models/nfce/nfce.d.ts +671 -0
  104. package/dist/models/nfce/nfce.js +41 -0
  105. package/dist/models/nfe/index.d.ts +2 -0
  106. package/dist/models/nfe/index.js +18 -0
  107. package/dist/models/nfe/nfe-item.d.ts +481 -0
  108. package/dist/models/nfe/nfe-item.js +72 -0
  109. package/dist/models/nfe/nfe.d.ts +671 -0
  110. package/dist/models/nfe/nfe.js +41 -0
  111. package/dist/models/pagamento.d.ts +195 -0
  112. package/dist/models/pagamento.js +83 -0
  113. package/dist/models/pis.d.ts +17 -0
  114. package/dist/models/pis.js +18 -0
  115. package/dist/models/retorno/index.d.ts +4 -0
  116. package/dist/models/retorno/index.js +20 -0
  117. package/dist/models/retorno/retorno-cancelamento.d.ts +17 -0
  118. package/dist/models/retorno/retorno-cancelamento.js +22 -0
  119. package/dist/models/retorno/retorno-consulta.d.ts +17 -0
  120. package/dist/models/retorno/retorno-consulta.js +23 -0
  121. package/dist/models/retorno/retorno-envio.d.ts +22 -0
  122. package/dist/models/retorno/retorno-envio.js +28 -0
  123. package/dist/models/retorno/retorno-inutilizacao.d.ts +20 -0
  124. package/dist/models/retorno/retorno-inutilizacao.js +25 -0
  125. package/dist/models/status.d.ts +21 -0
  126. package/dist/models/status.js +18 -0
  127. package/dist/models/substituicao-tributaria.d.ts +9 -0
  128. package/dist/models/substituicao-tributaria.js +15 -0
  129. package/dist/models/total.d.ts +39 -0
  130. package/dist/models/total.js +45 -0
  131. package/dist/services/nfce.service.d.ts +42 -0
  132. package/dist/services/nfce.service.js +39 -0
  133. package/dist/services/nfe.service.d.ts +42 -0
  134. package/dist/services/nfe.service.js +39 -0
  135. package/dist/types/identification-scheme.zod.d.ts +2 -0
  136. package/dist/types/identification-scheme.zod.js +26 -0
  137. package/dist/types/index.d.ts +3 -0
  138. package/dist/types/index.js +19 -0
  139. package/dist/types/number-type.d.ts +4 -0
  140. package/dist/types/number-type.js +20 -0
  141. package/dist/types/string-type.d.ts +3 -0
  142. package/dist/types/string-type.js +10 -0
  143. package/dist/types/xml.d.ts +1 -0
  144. package/dist/types/xml.js +2 -0
  145. package/dist/use-cases/index.d.ts +2 -0
  146. package/dist/use-cases/index.js +18 -0
  147. package/dist/use-cases/nfce/calcular-nfce.d.ts +95 -0
  148. package/dist/use-cases/nfce/calcular-nfce.js +24 -0
  149. package/dist/use-cases/nfce/cancelar-nfce.d.ts +8 -0
  150. package/dist/use-cases/nfce/cancelar-nfce.js +54 -0
  151. package/dist/use-cases/nfce/consultar-nfce.d.ts +7 -0
  152. package/dist/use-cases/nfce/consultar-nfce.js +27 -0
  153. package/dist/use-cases/nfce/emitir-nfce.d.ts +7 -0
  154. package/dist/use-cases/nfce/emitir-nfce.js +19 -0
  155. package/dist/use-cases/nfce/gerar-nfce.d.ts +8 -0
  156. package/dist/use-cases/nfce/gerar-nfce.js +19 -0
  157. package/dist/use-cases/nfce/imprimir-nfce.d.ts +7 -0
  158. package/dist/use-cases/nfce/imprimir-nfce.js +22 -0
  159. package/dist/use-cases/nfce/index.d.ts +7 -0
  160. package/dist/use-cases/nfce/index.js +23 -0
  161. package/dist/use-cases/nfce/inutilizar-nfce.d.ts +7 -0
  162. package/dist/use-cases/nfce/inutilizar-nfce.js +19 -0
  163. package/dist/use-cases/nfe/calcular-nfe.d.ts +95 -0
  164. package/dist/use-cases/nfe/calcular-nfe.js +24 -0
  165. package/dist/use-cases/nfe/cancelar-nfe.d.ts +8 -0
  166. package/dist/use-cases/nfe/cancelar-nfe.js +54 -0
  167. package/dist/use-cases/nfe/consultar-nfe.d.ts +7 -0
  168. package/dist/use-cases/nfe/consultar-nfe.js +27 -0
  169. package/dist/use-cases/nfe/emitir-nfe.d.ts +7 -0
  170. package/dist/use-cases/nfe/emitir-nfe.js +19 -0
  171. package/dist/use-cases/nfe/gerar-nfe.d.ts +8 -0
  172. package/dist/use-cases/nfe/gerar-nfe.js +19 -0
  173. package/dist/use-cases/nfe/imprimir-nfe.d.ts +7 -0
  174. package/dist/use-cases/nfe/imprimir-nfe.js +22 -0
  175. package/dist/use-cases/nfe/index.d.ts +7 -0
  176. package/dist/use-cases/nfe/index.js +23 -0
  177. package/dist/use-cases/nfe/inutilizar-nfe.d.ts +7 -0
  178. package/dist/use-cases/nfe/inutilizar-nfe.js +19 -0
  179. package/dist/use-cases/verifica-status.d.ts +8 -0
  180. package/dist/use-cases/verifica-status.js +19 -0
  181. package/dist/utils/config/environments.d.ts +8 -0
  182. package/dist/utils/config/environments.js +73 -0
  183. package/dist/utils/errors/emissor-fiscal.error.d.ts +18 -0
  184. package/dist/utils/errors/emissor-fiscal.error.js +126 -0
  185. package/dist/utils/errors/index.d.ts +1 -0
  186. package/dist/utils/errors/index.js +17 -0
  187. package/docs/swagger.yml +1577 -0
  188. package/package.json +42 -0
  189. package/src/api/credenciais-api.ts +11 -0
  190. package/src/api/emissor-fiscal-api.service.ts +91 -0
  191. package/src/dtos/index.ts +1 -0
  192. package/src/dtos/pedido-item.ts +63 -0
  193. package/src/emissor-fiscal-sdk.ts +31 -0
  194. package/src/index.ts +15 -0
  195. package/src/models/cofins.ts +15 -0
  196. package/src/models/combustivel.ts +25 -0
  197. package/src/models/configuracoes.ts +51 -0
  198. package/src/models/destinatario.ts +65 -0
  199. package/src/models/emitente.ts +30 -0
  200. package/src/models/endereco.ts +33 -0
  201. package/src/models/envio/envio-cancelamento.ts +14 -0
  202. package/src/models/envio/envio-consulta.ts +13 -0
  203. package/src/models/envio/envio-impressao.ts +25 -0
  204. package/src/models/envio/envio-inutilizacao.ts +15 -0
  205. package/src/models/envio/envio-nfce.ts +10 -0
  206. package/src/models/envio/envio-nfe.ts +11 -0
  207. package/src/models/envio/index.ts +6 -0
  208. package/src/models/icms/icms-00.ts +20 -0
  209. package/src/models/icms/icms-02.ts +12 -0
  210. package/src/models/icms/icms-10.ts +43 -0
  211. package/src/models/icms/icms-101.ts +13 -0
  212. package/src/models/icms/icms-102.ts +8 -0
  213. package/src/models/icms/icms-103.ts +8 -0
  214. package/src/models/icms/icms-15.ts +19 -0
  215. package/src/models/icms/icms-20.ts +30 -0
  216. package/src/models/icms/icms-201.ts +30 -0
  217. package/src/models/icms/icms-202.ts +26 -0
  218. package/src/models/icms/icms-203.ts +26 -0
  219. package/src/models/icms/icms-30.ts +33 -0
  220. package/src/models/icms/icms-300.ts +8 -0
  221. package/src/models/icms/icms-40.ts +16 -0
  222. package/src/models/icms/icms-400.ts +8 -0
  223. package/src/models/icms/icms-41.ts +16 -0
  224. package/src/models/icms/icms-50.ts +16 -0
  225. package/src/models/icms/icms-500.ts +34 -0
  226. package/src/models/icms/icms-51.ts +38 -0
  227. package/src/models/icms/icms-53.ts +15 -0
  228. package/src/models/icms/icms-60.ts +38 -0
  229. package/src/models/icms/icms-61.ts +12 -0
  230. package/src/models/icms/icms-70.ts +51 -0
  231. package/src/models/icms/icms-90.ts +54 -0
  232. package/src/models/icms/icms-900.ts +37 -0
  233. package/src/models/icms/index.ts +25 -0
  234. package/src/models/index.ts +18 -0
  235. package/src/models/indicador-inscricao-estadual.ts +7 -0
  236. package/src/models/nfce/index.ts +2 -0
  237. package/src/models/nfce/nfce-item.ts +95 -0
  238. package/src/models/nfce/nfce.ts +38 -0
  239. package/src/models/nfe/index.ts +3 -0
  240. package/src/models/nfe/nfe-item.ts +95 -0
  241. package/src/models/nfe/nfe.ts +38 -0
  242. package/src/models/pagamento.ts +86 -0
  243. package/src/models/pis.ts +15 -0
  244. package/src/models/retorno/index.ts +4 -0
  245. package/src/models/retorno/retorno-cancelamento.ts +19 -0
  246. package/src/models/retorno/retorno-consulta.ts +20 -0
  247. package/src/models/retorno/retorno-envio.ts +25 -0
  248. package/src/models/retorno/retorno-inutilizacao.ts +22 -0
  249. package/src/models/status.ts +14 -0
  250. package/src/models/substituicao-tributaria.ts +14 -0
  251. package/src/models/total.ts +42 -0
  252. package/src/services/nfce.service.ts +44 -0
  253. package/src/services/nfe.service.ts +44 -0
  254. package/src/types/identification-scheme.zod.ts +24 -0
  255. package/src/types/index.ts +3 -0
  256. package/src/types/number-type.ts +18 -0
  257. package/src/types/string-type.ts +6 -0
  258. package/src/types/xml.ts +1 -0
  259. package/src/use-cases/index.ts +3 -0
  260. package/src/use-cases/nfce/calcular-nfce.ts +29 -0
  261. package/src/use-cases/nfce/cancelar-nfce.ts +60 -0
  262. package/src/use-cases/nfce/consultar-nfce.ts +32 -0
  263. package/src/use-cases/nfce/emitir-nfce.ts +22 -0
  264. package/src/use-cases/nfce/gerar-nfce.ts +23 -0
  265. package/src/use-cases/nfce/imprimir-nfce.ts +26 -0
  266. package/src/use-cases/nfce/index.ts +7 -0
  267. package/src/use-cases/nfce/inutilizar-nfce.ts +22 -0
  268. package/src/use-cases/nfe/calcular-nfe.ts +29 -0
  269. package/src/use-cases/nfe/cancelar-nfe.ts +60 -0
  270. package/src/use-cases/nfe/consultar-nfe.ts +32 -0
  271. package/src/use-cases/nfe/emitir-nfe.ts +22 -0
  272. package/src/use-cases/nfe/gerar-nfe.ts +23 -0
  273. package/src/use-cases/nfe/imprimir-nfe.ts +26 -0
  274. package/src/use-cases/nfe/index.ts +7 -0
  275. package/src/use-cases/nfe/inutilizar-nfe.ts +22 -0
  276. package/src/use-cases/verifica-status.ts +19 -0
  277. package/src/utils/config/environments.ts +47 -0
  278. package/src/utils/errors/emissor-fiscal.error.ts +123 -0
  279. package/src/utils/errors/index.ts +2 -0
  280. package/test/unit/api/credenciais-api.spec.ts +71 -0
  281. package/test/unit/api/emissor-fiscal-api.service.spec.ts +109 -0
  282. package/test/unit/emissor-fiscal-sdk.spec.ts +29 -0
  283. package/test/unit/types/number-type.spec.ts +24 -0
  284. package/test/unit/utils/config/environments.spec.ts +47 -0
  285. package/test/unit/utils/errors/emissor-fiscal.error.spec.ts +95 -0
  286. package/tsconfig.build.json +4 -0
  287. package/tsconfig.json +21 -0
  288. package/vite.config.mts +16 -0
  289. package/vitest.config.e2e.mts +22 -0
  290. package/vitest.config.unit.mts +22 -0
package/.env.example ADDED
@@ -0,0 +1,11 @@
1
+ EMISSOR_FISCAL_URL=
2
+ EMISSOR_FISCAL_USUARIO=
3
+ EMISSOR_FISCAL_SENHA=
4
+
5
+ EMITENTE_DOCUMENTO=
6
+ EMITENTE_UF=
7
+ EMITENTE_CSC=
8
+ EMITENTE_CSC_ID=
9
+
10
+ CERTIFICADO_PASSWORD=
11
+ CERTIFICADO=
@@ -0,0 +1,33 @@
1
+ # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
2
+ # For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
3
+
4
+ name: Node.js Package
5
+
6
+ on:
7
+ release:
8
+ types: [created]
9
+
10
+ jobs:
11
+ build:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+ - uses: actions/setup-node@v4
16
+ with:
17
+ node-version: 20
18
+ - run: npm ci
19
+ - run: npm test
20
+
21
+ publish-npm:
22
+ needs: build
23
+ runs-on: ubuntu-latest
24
+ steps:
25
+ - uses: actions/checkout@v4
26
+ - uses: actions/setup-node@v4
27
+ with:
28
+ node-version: 20
29
+ registry-url: https://registry.npmjs.org/
30
+ - run: npm ci
31
+ - run: npm publish --access public
32
+ env:
33
+ NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
@@ -0,0 +1,15 @@
1
+ {
2
+ "cSpell.words": [
3
+ "aliquota",
4
+ "dtos",
5
+ "icms",
6
+ "impressao",
7
+ "Impressao",
8
+ "inutilizacao",
9
+ "nfce",
10
+ "Nfce",
11
+ "reducao",
12
+ "Retencao",
13
+ "usuario"
14
+ ]
15
+ }
package/README.md ADDED
@@ -0,0 +1,71 @@
1
+ # @liderautomacao/emissor-fiscal-sdk
2
+
3
+ *A maneira mais simples e eficiente de integrar com a API de Emissão Fiscal.*
4
+
5
+ ## Visão Geral
6
+
7
+ Este SDK (Software Development Kit) foi projetado para simplificar a interação com a API de Emissão Fiscal da Líder Automação, abstraindo a complexidade das chamadas HTTP e fornecendo um conjunto de métodos e modelos de dados tipados para agilizar o desenvolvimento. Com ele, você pode facilmente consultar e manipular dados de NF-e, NFC-e e NFS-e.
8
+
9
+ ## Tecnologias Utilizadas
10
+
11
+ - **TypeScript**: Para um código mais seguro, legível e com autocompletar inteligente.
12
+ - **Axios**: Para a realização das requisições HTTP para a API.
13
+ - **Zod**: Para validação robusta dos dados de entrada e saída, garantindo a integridade das informações.
14
+
15
+ ## Instalação
16
+
17
+ Para adicionar o SDK ao seu projeto, utilize o `npm` ou outro gerenciador de pacotes de sua preferência:
18
+
19
+ ```bash
20
+ npm install @liderautomacao/emissor-fiscal-sdk
21
+ ```
22
+
23
+ ## Uso
24
+
25
+ Primeiro, importe e instancie o `EmissorFiscalSDK`, fornecendo as credenciais de acesso à API.
26
+
27
+ ```typescript
28
+ import { EmissorFiscalSDK } from '@liderautomacao/emissor-fiscal-sdk';
29
+
30
+ // Configuração das credenciais
31
+ const sdk = new EmissorFiscalSDK({
32
+ chave: 'SEU_TOKEN_DE_AUTENTICACAO',
33
+ });
34
+ ```
35
+
36
+ Após a inicialização, você pode utilizar os serviços disponíveis para interagir com a API.
37
+
38
+ ### Exemplo: Calculo NFC-e
39
+
40
+ ```typescript
41
+ import { EmissorFiscalSDK } from '@liderautomacao/emissor-fiscal-sdk';
42
+
43
+ const sdk = new EmissorFiscalSDK({
44
+ chave: 'SEU_TOKEN_DE_AUTENTICACAO',
45
+ });
46
+
47
+ async function calcula() {
48
+ try {
49
+ console.log('Calculando NFC-e...');
50
+ const response = await sdk.nfce.calcular({
51
+ // Você pode adiciona os dados da NFC-e
52
+ });
53
+
54
+ console.log('Resultado:', response);
55
+ } catch (error) {
56
+ console.error('Ocorreu um erro :', error);
57
+ }
58
+ }
59
+
60
+ calcula();
61
+ ```
62
+
63
+ ## Recursos Futuros
64
+
65
+ - [ ] Adicionar suporte a todos os endpoints restantes.
66
+ - [ ] Aumentar a cobertura de testes para garantir ainda mais estabilidade.
67
+
68
+
69
+ ## Licença
70
+
71
+ Este projeto está licenciado sob a **Licença MIT**. Veja o arquivo `LICENSE` para mais detalhes.
@@ -0,0 +1,7 @@
1
+ import z from "zod";
2
+ export declare const CredenciaisApiSchema: z.ZodObject<{
3
+ usuario: z.ZodString;
4
+ senha: z.ZodString;
5
+ url: z.ZodURL;
6
+ }, z.core.$strip>;
7
+ export type Credenciais = z.infer<typeof CredenciaisApiSchema>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CredenciaisApiSchema = void 0;
7
+ const zod_1 = __importDefault(require("zod"));
8
+ exports.CredenciaisApiSchema = zod_1.default.object({
9
+ usuario: zod_1.default.string(),
10
+ senha: zod_1.default.string(),
11
+ url: zod_1.default.url(),
12
+ });
@@ -0,0 +1,12 @@
1
+ import { AxiosInstance, AxiosRequestConfig } from 'axios';
2
+ import { Credenciais } from './credenciais-api';
3
+ export declare class EmissorFiscalApi {
4
+ private readonly client;
5
+ constructor({ url, senha, usuario }: Credenciais);
6
+ getClient(): AxiosInstance;
7
+ post<T, U>(path: string, data: T, config?: AxiosRequestConfig<any> | undefined): Promise<U>;
8
+ get<T>(path: string, config?: AxiosRequestConfig<any> | undefined): Promise<T>;
9
+ put<T, U>(path: string, data: T, config?: AxiosRequestConfig<any> | undefined): Promise<U>;
10
+ delete<T>(path: string, config?: AxiosRequestConfig<any> | undefined): Promise<T>;
11
+ private handleError;
12
+ }
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.EmissorFiscalApi = void 0;
7
+ const toolkit_1 = require("@raicamposs/toolkit");
8
+ const axios_1 = __importDefault(require("axios"));
9
+ const emissor_fiscal_error_1 = require("../utils/errors/emissor-fiscal.error");
10
+ class EmissorFiscalApi {
11
+ client;
12
+ constructor({ url, senha, usuario }) {
13
+ this.client = axios_1.default.create({
14
+ baseURL: url,
15
+ auth: {
16
+ username: usuario,
17
+ password: senha,
18
+ },
19
+ headers: {
20
+ 'Content-Type': 'application/json',
21
+ },
22
+ });
23
+ }
24
+ getClient() {
25
+ return this.client;
26
+ }
27
+ async post(path, data, config) {
28
+ try {
29
+ const response = await this.client.post(path, data, config);
30
+ return response.data;
31
+ }
32
+ catch (error) {
33
+ throw this.handleError(error, path, 'POST');
34
+ }
35
+ }
36
+ async get(path, config) {
37
+ try {
38
+ const response = await this.client.get(path, config);
39
+ return response.data;
40
+ }
41
+ catch (error) {
42
+ throw this.handleError(error, path, 'GET');
43
+ }
44
+ }
45
+ async put(path, data, config) {
46
+ try {
47
+ const response = await this.client.put(path, data, config);
48
+ return response.data;
49
+ }
50
+ catch (error) {
51
+ throw this.handleError(error, path, 'PUT');
52
+ }
53
+ }
54
+ async delete(path, config) {
55
+ try {
56
+ const response = await this.client.delete(path, config);
57
+ return response.data;
58
+ }
59
+ catch (error) {
60
+ throw this.handleError(error, path, 'DELETE');
61
+ }
62
+ }
63
+ handleError(error, path, method) {
64
+ if (!axios_1.default.isAxiosError(error))
65
+ return new emissor_fiscal_error_1.EmissorFiscalError(`Error making ${method} request to ${path}: ${error instanceof Error ? error.message : 'Unknown error'}`, error);
66
+ if ((0, toolkit_1.isNullOrUndefined)(error.response?.data)) {
67
+ return emissor_fiscal_error_1.EmissorFiscalError.fromApiResponse(error);
68
+ }
69
+ const data = error.response.data;
70
+ let parsedData = data;
71
+ if (Buffer.isBuffer(data) || data instanceof ArrayBuffer) {
72
+ try {
73
+ const dataAsString = Buffer.from(data).toString('utf-8');
74
+ parsedData = JSON.parse(dataAsString);
75
+ }
76
+ catch (parseError) {
77
+ console.debug('Error parsing response data:', parseError);
78
+ return emissor_fiscal_error_1.EmissorFiscalError.fromApiResponse(error);
79
+ }
80
+ }
81
+ return emissor_fiscal_error_1.EmissorFiscalError.fromApiResponse({
82
+ ...error,
83
+ response: { ...error.response, data: parsedData }
84
+ });
85
+ }
86
+ }
87
+ exports.EmissorFiscalApi = EmissorFiscalApi;
@@ -0,0 +1 @@
1
+ export * from './pedido-item';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./pedido-item"), exports);
@@ -0,0 +1,86 @@
1
+ import * as z from 'zod';
2
+ export declare const PedidoItemSchema: z.ZodObject<{
3
+ controleItem: z.ZodNumber;
4
+ codigo: z.ZodNumber;
5
+ codigoBarras: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string | null, string>>>>>;
6
+ descricao: z.ZodString;
7
+ ncm: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>;
8
+ exTipi: z.ZodString;
9
+ cest: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>>;
10
+ cfop: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>;
11
+ valorBruto: z.ZodNumber;
12
+ compoeTotal: z.ZodBoolean;
13
+ valorFrete: z.ZodNumber;
14
+ valorSeguro: z.ZodNumber;
15
+ valorDesconto: z.ZodNumber;
16
+ valorOutros: z.ZodNumber;
17
+ valorLiquido: z.ZodNumber;
18
+ origem: z.ZodString;
19
+ cst: z.ZodUnion<readonly [z.ZodEnum<{
20
+ 10: "10";
21
+ 90: "90";
22
+ "00": "00";
23
+ 20: "20";
24
+ 30: "30";
25
+ 40: "40";
26
+ 41: "41";
27
+ 50: "50";
28
+ 51: "51";
29
+ 60: "60";
30
+ 70: "70";
31
+ }>, z.ZodEnum<{
32
+ 101: "101";
33
+ 102: "102";
34
+ 103: "103";
35
+ 201: "201";
36
+ 202: "202";
37
+ 203: "203";
38
+ 300: "300";
39
+ 400: "400";
40
+ 500: "500";
41
+ 900: "900";
42
+ }>]>;
43
+ aliquota: z.ZodNumber;
44
+ aliquotaSt: z.ZodNumber;
45
+ aliquotaSuperSimples: z.ZodNumber;
46
+ percentualReducao: z.ZodNumber;
47
+ cstPis: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>;
48
+ aliquotaPis: z.ZodNumber;
49
+ cstCofins: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>;
50
+ aliquotaCofins: z.ZodNumber;
51
+ valorAproximadoTributos: z.ZodNumber;
52
+ removeIcmsBasePisCofins: z.ZodBoolean;
53
+ unidade: z.ZodObject<{
54
+ comercial: z.ZodString;
55
+ tributavel: z.ZodString;
56
+ }, z.core.$strip>;
57
+ quantidade: z.ZodObject<{
58
+ comercial: z.ZodNumber;
59
+ tributavel: z.ZodNumber;
60
+ }, z.core.$strip>;
61
+ valorUnitario: z.ZodObject<{
62
+ comercial: z.ZodNumber;
63
+ tributavel: z.ZodNumber;
64
+ }, z.core.$strip>;
65
+ codigoBeneficioFiscal: z.ZodOptional<z.ZodNullable<z.ZodString>>;
66
+ combustivel: z.ZodOptional<z.ZodNullable<z.ZodObject<{
67
+ codigoAnp: z.ZodNumber;
68
+ descricaoAnp: z.ZodString;
69
+ estadoConsumo: z.ZodString;
70
+ percentualGlp: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | null, any>>, z.ZodNumber>>>;
71
+ percentualGnn: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | null, any>>, z.ZodNumber>>>;
72
+ percentualGni: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | null, any>>, z.ZodNumber>>>;
73
+ percentualMistura: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | null, any>>, z.ZodNumber>>>;
74
+ valorPartida: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | null, any>>, z.ZodNumber>>>;
75
+ faturamentoTemperaturaAmbiente: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | null, any>>, z.ZodNumber>>>;
76
+ codigoAutorizacao: z.ZodNullable<z.ZodOptional<z.ZodString>>;
77
+ origemCombustivel: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
78
+ caminhao: z.ZodOptional<z.ZodString>;
79
+ placa: z.ZodOptional<z.ZodString>;
80
+ volume: z.ZodOptional<z.ZodNumber>;
81
+ }, z.core.$loose>>>>;
82
+ }, z.core.$strip>>>;
83
+ aliquotaAdRemRetido: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
84
+ aliquotaFcp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
85
+ }, z.core.$strip>;
86
+ export type PedidoItem = z.infer<typeof PedidoItemSchema>;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.PedidoItemSchema = void 0;
37
+ const z = __importStar(require("zod"));
38
+ const models_1 = require("../models");
39
+ const types_1 = require("../types");
40
+ const CSTSchema = z.enum(['00', '10', '20', '30', '40', '41', '50', '51', '60', '70', '90']);
41
+ const CSOSNSchema = z.enum(['101', '102', '103', '201', '202', '203', '300', '400', '500', '900']);
42
+ const QuantidadeSchema = z.object({
43
+ comercial: z.number().nonnegative('Quantidade comercial deve ser um número positivo.'),
44
+ tributavel: z.number().nonnegative('Quantidade tributável deve ser um número positivo.'),
45
+ }).describe('Informações de Quantidade');
46
+ const UnidadeSchema = z.object({
47
+ comercial: z.string().min(1, 'Unidade comercial é obrigatória.'),
48
+ tributavel: z.string().min(1, 'Unidade tributável é obrigatória.'),
49
+ }).describe('Informações de Unidade (e.g., UN, KG, LT)');
50
+ const ValorUnitarioSchema = z.object({
51
+ comercial: z.number().positive('Valor unitário comercial deve ser maior que zero.'),
52
+ tributavel: z.number().positive('Valor unitário tributável deve ser maior que zero.'),
53
+ }).describe('Valor unitário comercial e tributável do item.');
54
+ exports.PedidoItemSchema = z.object({
55
+ controleItem: z.number().int(),
56
+ codigo: z.number().int(),
57
+ codigoBarras: types_1.NullishString.default('SEM GTIN'),
58
+ descricao: z.string().min(1, 'A descrição do item é obrigatória.'),
59
+ ncm: types_1.StringSomenteNumeros.pipe(z.string().length(8, 'NCM deve ter 8 dígitos.')),
60
+ exTipi: z.string(),
61
+ cest: types_1.StringSomenteNumeros.nullish(),
62
+ cfop: types_1.StringSomenteNumeros.pipe(z.string().length(4, 'CFOP deve ter 4 dígitos.')),
63
+ valorBruto: z.number().nonnegative(),
64
+ compoeTotal: z.boolean(),
65
+ valorFrete: z.number().nonnegative(),
66
+ valorSeguro: z.number().nonnegative(),
67
+ valorDesconto: z.number().nonnegative(),
68
+ valorOutros: z.number().nonnegative(),
69
+ valorLiquido: z.number().nonnegative(),
70
+ origem: z.string().length(1, 'Origem deve ter 1 caractere.'),
71
+ cst: z.union([CSTSchema, CSOSNSchema]),
72
+ aliquota: z.number().nonnegative(),
73
+ aliquotaSt: z.number().nonnegative(),
74
+ aliquotaSuperSimples: z.number().nonnegative(),
75
+ percentualReducao: z.number().nonnegative(),
76
+ cstPis: types_1.StringSomenteNumeros.pipe(z.string().length(2, 'CST PIS deve ter 2 caracteres.')),
77
+ aliquotaPis: z.number().nonnegative(),
78
+ cstCofins: types_1.StringSomenteNumeros.pipe(z.string().length(2, 'CST COFINS deve ter 2 caracteres.')),
79
+ aliquotaCofins: z.number().nonnegative(),
80
+ valorAproximadoTributos: z.number().nonnegative(),
81
+ removeIcmsBasePisCofins: z.boolean(),
82
+ unidade: UnidadeSchema,
83
+ quantidade: QuantidadeSchema,
84
+ valorUnitario: ValorUnitarioSchema,
85
+ codigoBeneficioFiscal: z.string().nullable().optional(),
86
+ combustivel: models_1.CombustivelSchema.nullable().optional(), // Nullable<TCombustivel>
87
+ aliquotaAdRemRetido: z.number().nullable().optional(),
88
+ aliquotaFcp: z.number().nullable().optional(),
89
+ }).describe('Schema para Item de Pedido');
@@ -0,0 +1,14 @@
1
+ import { Credenciais } from "./api/credenciais-api";
2
+ import { NfceService } from "./services/nfce.service";
3
+ import { NfeService } from "./services/nfe.service";
4
+ export declare class EmissorFiscalSDK {
5
+ private readonly nfceService;
6
+ private readonly nfeService;
7
+ private readonly api;
8
+ constructor(credenciais: Credenciais);
9
+ get nfce(): NfceService;
10
+ get nfe(): NfeService;
11
+ status(): Promise<{
12
+ status: string;
13
+ }>;
14
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmissorFiscalSDK = void 0;
4
+ const emissor_fiscal_api_service_1 = require("./api/emissor-fiscal-api.service");
5
+ const nfce_service_1 = require("./services/nfce.service");
6
+ const nfe_service_1 = require("./services/nfe.service");
7
+ const verifica_status_1 = require("./use-cases/verifica-status");
8
+ class EmissorFiscalSDK {
9
+ nfceService;
10
+ nfeService;
11
+ api;
12
+ constructor(credenciais) {
13
+ this.api = new emissor_fiscal_api_service_1.EmissorFiscalApi(credenciais);
14
+ this.nfceService = new nfce_service_1.NfceService(this.api);
15
+ this.nfeService = new nfe_service_1.NfeService(this.api);
16
+ }
17
+ get nfce() {
18
+ return this.nfceService;
19
+ }
20
+ get nfe() {
21
+ return this.nfeService;
22
+ }
23
+ status() {
24
+ return new verifica_status_1.VerificarStatusServidor(this.api).executa();
25
+ }
26
+ }
27
+ exports.EmissorFiscalSDK = EmissorFiscalSDK;
@@ -0,0 +1,6 @@
1
+ import { Credenciais } from "./api/credenciais-api";
2
+ import { EmissorFiscalSDK } from "./emissor-fiscal-sdk";
3
+ export * from './dtos';
4
+ export * from './models';
5
+ export * from './utils/errors';
6
+ export { Credenciais, EmissorFiscalSDK };
package/dist/index.js ADDED
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.EmissorFiscalSDK = void 0;
40
+ const z = __importStar(require("zod"));
41
+ const locales_1 = require("zod/locales");
42
+ const emissor_fiscal_sdk_1 = require("./emissor-fiscal-sdk");
43
+ Object.defineProperty(exports, "EmissorFiscalSDK", { enumerable: true, get: function () { return emissor_fiscal_sdk_1.EmissorFiscalSDK; } });
44
+ z.config((0, locales_1.pt)());
45
+ __exportStar(require("./dtos"), exports);
46
+ __exportStar(require("./models"), exports);
47
+ __exportStar(require("./utils/errors"), exports);
@@ -0,0 +1,17 @@
1
+ import z from 'zod';
2
+ export declare const CofinsSchema: z.ZodObject<{
3
+ cst: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4
+ baseCalculo: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | undefined, any>>, z.ZodNumber>>;
5
+ aliquota: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | undefined, any>>, z.ZodNumber>>;
6
+ valor: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | undefined, any>>, z.ZodNumber>>;
7
+ quantidadeVendida: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | undefined, any>>, z.ZodNumber>>;
8
+ aliquotaReais: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | undefined, any>>, z.ZodNumber>>;
9
+ substituicaoTributaria: z.ZodNullable<z.ZodOptional<z.ZodObject<{
10
+ baseCalculo: z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | undefined, any>>, z.ZodNumber>;
11
+ aliquota: z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | undefined, any>>, z.ZodNumber>;
12
+ quantidadeVendida: z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | undefined, any>>, z.ZodNumber>;
13
+ aliquotaReais: z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | undefined, any>>, z.ZodNumber>;
14
+ valor: z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | undefined, any>>, z.ZodNumber>;
15
+ }, z.core.$strip>>>;
16
+ }, z.core.$strip>;
17
+ export type Cofins = z.infer<typeof CofinsSchema>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CofinsSchema = void 0;
7
+ const zod_1 = __importDefault(require("zod"));
8
+ const number_type_1 = require("../types/number-type");
9
+ const substituicao_tributaria_1 = require("./substituicao-tributaria");
10
+ exports.CofinsSchema = zod_1.default.object({
11
+ cst: zod_1.default.string().optional().default('49'),
12
+ baseCalculo: number_type_1.NumberSchema.default(0),
13
+ aliquota: number_type_1.NumberSchema.default(0),
14
+ valor: number_type_1.NumberSchema.default(0),
15
+ quantidadeVendida: number_type_1.NumberSchema.default(0),
16
+ aliquotaReais: number_type_1.NumberSchema.default(0),
17
+ substituicaoTributaria: substituicao_tributaria_1.SubstituicaoTributariaSchema.optional().nullable(),
18
+ });
@@ -0,0 +1,25 @@
1
+ import z from 'zod';
2
+ export declare const OrigemCombustivelSchema: z.ZodObject<{
3
+ caminhao: z.ZodOptional<z.ZodString>;
4
+ placa: z.ZodOptional<z.ZodString>;
5
+ volume: z.ZodOptional<z.ZodNumber>;
6
+ }, z.core.$loose>;
7
+ export declare const CombustivelSchema: z.ZodObject<{
8
+ codigoAnp: z.ZodNumber;
9
+ descricaoAnp: z.ZodString;
10
+ estadoConsumo: z.ZodString;
11
+ percentualGlp: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | null, any>>, z.ZodNumber>>>;
12
+ percentualGnn: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | null, any>>, z.ZodNumber>>>;
13
+ percentualGni: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | null, any>>, z.ZodNumber>>>;
14
+ percentualMistura: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | null, any>>, z.ZodNumber>>>;
15
+ valorPartida: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | null, any>>, z.ZodNumber>>>;
16
+ faturamentoTemperaturaAmbiente: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodPipe<z.ZodAny, z.ZodTransform<number | null, any>>, z.ZodNumber>>>;
17
+ codigoAutorizacao: z.ZodNullable<z.ZodOptional<z.ZodString>>;
18
+ origemCombustivel: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
19
+ caminhao: z.ZodOptional<z.ZodString>;
20
+ placa: z.ZodOptional<z.ZodString>;
21
+ volume: z.ZodOptional<z.ZodNumber>;
22
+ }, z.core.$loose>>>>;
23
+ }, z.core.$strip>;
24
+ export type Combustivel = z.infer<typeof CombustivelSchema>;
25
+ export type OrigemCombustivel = z.infer<typeof OrigemCombustivelSchema>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CombustivelSchema = exports.OrigemCombustivelSchema = void 0;
7
+ const zod_1 = __importDefault(require("zod"));
8
+ const number_type_1 = require("../types/number-type");
9
+ exports.OrigemCombustivelSchema = zod_1.default.object({
10
+ caminhao: zod_1.default.string().optional(),
11
+ placa: zod_1.default.string().optional(),
12
+ volume: zod_1.default.number().optional(),
13
+ }).loose().describe('Detalhes da origem do combustível (placeholder)');
14
+ exports.CombustivelSchema = zod_1.default.object({
15
+ codigoAnp: zod_1.default.number().int().nonnegative('Código ANP deve ser um número inteiro não negativo e obrigatório.'),
16
+ descricaoAnp: zod_1.default.string().min(1, 'Descrição ANP é obrigatória.'),
17
+ estadoConsumo: zod_1.default.string().uppercase().length(2, 'Estado de consumo deve ter 2 caracteres.'),
18
+ percentualGlp: number_type_1.NullishNumberSchema,
19
+ percentualGnn: number_type_1.NullishNumberSchema,
20
+ percentualGni: number_type_1.NullishNumberSchema,
21
+ percentualMistura: number_type_1.NullishNumberSchema,
22
+ valorPartida: number_type_1.NullishNumberSchema,
23
+ faturamentoTemperaturaAmbiente: number_type_1.NullishNumberSchema,
24
+ codigoAutorizacao: zod_1.default.string().max(21).optional().nullable(),
25
+ origemCombustivel: zod_1.default.array(exports.OrigemCombustivelSchema).nullable().optional(),
26
+ }).describe('Detalhes do Combustível');