diff --git a/CHANGELOG.md b/CHANGELOG.md
index 47a2f34..8f0a002 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,39 @@ e este projeto segue [Versionamento Semântico](https://semver.org/lang/pt-BR/sp
## [Unreleased]
+## [3.4.1] — 2026-07-31
+
+### Corrigido
+
+- **PHP inválido removido do pacote** (`harden-openapi-generator`): 79 arquivos de
+ `src/Generated/` em 4 namespaces (`ContribuintesV2`, `ConsultaNfConsumidorV3`,
+ `ConsumerInvoiceV3`, `ConsultaCteV2`) carregavam type-hints com ponto
+ (ex.: `?DFeTech.TaxPayers.Resources.MunicipalTaxResourceItem`) — erro de parse
+ fatal se qualquer autoload classmap-authoritative, `opcache.preload` ou análise
+ estática do consumidor tocasse as classes. Causa: `TypeMapper::resolveRef()`
+ devolvia o nome cru do schema; agora todo hint derivado de `$ref` (direto, em
+ union e em items de array) passa pela mesma sanitização de identificador do nome
+ da classe (`NameMapper::phpIdentifier()`), então classe e referência nunca
+ divergem. Nada em runtime usa `Nfe\Generated\*` — por isso patch.
+
+### Adicionado
+
+- **Lint sintático do código gerado**: `scripts/generate.php` valida cada arquivo
+ emitido (`token_get_all` com `TOKEN_PARSE`) e falha listando os ofensores —
+ tanto no generate quanto no `--check` do CI. A classe inteira do bug ("PHP
+ inválido embarcado no dist") agora é falha de build.
+- **Fim do skip silencioso**: o generate imprime um sumário por spec com a
+ contagem de arquivos emitidos — specs Swagger 2.0 (fora do alcance do gerador,
+ que só lê `components.schemas`) são informativas; uma spec OpenAPI 3.x que
+ regredir a 0 schemas ganha aviso destacado.
+
+### Removido
+
+- `openapi/consumer-invoice-v3.yaml` — duplicata byte-idêntica de
+ `consulta-nf-consumidor-v3.yaml` (só 1 linha `x-displayName` diferia); com ela
+ saem os 49 arquivos duplicados de `src/Generated/ConsumerInvoiceV3/` (metade
+ era PHP inválido). Nenhum código referenciava o namespace.
+
## [3.4.0] — 2026-07-30
### Depreciado
diff --git a/VERSION b/VERSION
index 15a2799..47b322c 100755
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.3.0
+3.4.1
diff --git a/openapi/consumer-invoice-v3.yaml b/openapi/consumer-invoice-v3.yaml
deleted file mode 100644
index c5e378b..0000000
--- a/openapi/consumer-invoice-v3.yaml
+++ /dev/null
@@ -1,1371 +0,0 @@
-openapi: 3.0.0
-info:
- version: v1
- title: Consumer Invoices API
- description:
Como utilizar esta documentação ?
Certifique-se que sua
- chave da API está preenchida no topo desta página para este recurso
- funcionar da maneira correta. Abaixo você poderá conferir a lista de
- recursos que podem ser manipulados através da API. Clicando em cada um dos
- métodos, você poderá verificar a lista de parâmetros, possíveis retornos e
- também um formulário. Este formulário pode ser utilizado para efetuar
- requisições reais na API.
-paths:
- "/v1/consumerinvoices/coupon/{accessKey}":
- get:
- tags:
- - Coupon
- summary: Consulta de Cupom Fiscal Eletrônico por Chave de Acesso
- description: Você precisará do APIKEY da Empresa
- operationId: V1ConsumerinvoicesCouponByAccessKeyGet
- parameters:
- - name: accessKey
- in: path
- description: Chave de Acesso
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Sucesso na requisição
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.TaxCouponResour\
- ce"
- "400":
- description: Algum parametro informado não é válido
- content:
- application/json:
- schema:
- type: string
- "401":
- description: Não autorizado, verificar o cabeçalho do HTTP Authorization
- "403":
- description: Accesso proibido
- "404":
- description: Nota Fiscal não foi encontrada
- content:
- application/json:
- schema:
- type: string
- "500":
- description: Erro no processamento
- content:
- application/json:
- schema:
- type: string
- security:
- - Authorization_Header:
- - apiKey
- - Authorization_QueryParam:
- - apiKey
- "/v1/consumerinvoices/coupon/{accessKey}.xml":
- get:
- tags:
- - Coupon
- summary: Consulta de Cupom Fiscal Eletrônico por Chave de Acesso
- description: Você precisará do APIKEY da Empresa
- operationId: V1ConsumerinvoicesCouponByAccessKey}.xmlGet
- parameters:
- - name: accessKey
- in: path
- description: Chave de Acesso
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Sucesso na requisição
- content:
- application/xml:
- schema:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.CFe"
- application/json:
- schema:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.CFe"
- "400":
- description: Algum parametro informado não é válido
- content:
- application/xml:
- schema:
- type: string
- application/json:
- schema:
- type: string
- "401":
- description: Não autorizado, verificar o cabeçalho do HTTP Authorization
- "403":
- description: Accesso proibido
- "404":
- description: Nota Fiscal não foi encontrada
- content:
- application/xml:
- schema:
- type: string
- application/json:
- schema:
- type: string
- "500":
- description: Erro no processamento
- content:
- application/xml:
- schema:
- type: string
- application/json:
- schema:
- type: string
- security:
- - Authorization_Header:
- - apiKey
- - Authorization_QueryParam:
- - apiKey
-security:
- - Authorization_Header: []
- Authorization_QueryParam: []
-servers:
- - url: //nfe.api.nfe.io
-components:
- securitySchemes:
- Authorization_Header:
- name: Authorization
- in: header
- type: apiKey
- description: Autenticar usando o Cabeçalho HTTP Authorization com sua API Key
- Authorization_QueryParam:
- name: apikey
- in: query
- type: apiKey
- description: 'Autenticar usando o Parametro na URL, exemplo:
- "/?apikey={APIKEY_TOKEN}"'
- schemas:
- DataTech.Services.Domain.Models.Cfe.TaxCouponResource:
- description: Cupom fiscal eletrônico (CFe)
- type: object
- properties:
- currentStatus:
- description: Situação Atual
- enum:
- - Unknown
- - Authorized
- - Canceled
- type: string
- number:
- format: int64
- description: Número do Documento Fiscal (nNF)
- type: integer
- satSerie:
- description: Número de Série do SAT (nserieSAT)
- type: string
- softwareVersion:
- description: Versão do Software Básico (versaoSB)
- type: string
- softwareFederalTaxNumber:
- format: int64
- description: CNPJ Software House (CNPJ)
- type: integer
- accessKey:
- description: Chave de Acesso (Id)
- type: string
- cashier:
- format: int64
- description: Número do Caixa (numeroCaixa)
- type: integer
- issuedOn:
- format: date-time
- description: "Data de emissão do Documento Fiscal\r
-
- \r
-
- \ Data e hora no formato UTC (Universal Coordinated
- Time): AAAA-MM-DDThh:mm:ssTZD.\r
-
- "
- type: string
- createdOn:
- format: date-time
- description: "Data de consulta\r
-
- \r
-
- \ Data e hora no formato UTC (Universal Coordinated
- Time): AAAA-MM-DDThh:mm:ssTZD.\r
-
- "
- type: string
- xmlVersion:
- description: Versão do leiaute (versaoDadosEnt)
- type: string
- issuer:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.CouponIssuerRes\
- ource"
- buyer:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.CouponBuyerReso\
- urce"
- totals:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.CouponTotalReso\
- urce"
- delivery:
- $ref: "#/components/schemas/DataTech.Api.Resources.TaxCoupon.CouponDeliveryReso\
- urce"
- additionalInformation:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.CouponAdditiona\
- lInformationResource"
- items:
- description: Detalhamento do produto (det)
- type: array
- items:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.CouponItemResou\
- rce"
- payment:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.CouponPaymentRe\
- source"
- DataTech.Services.Domain.Models.Cfe.CouponIssuerResource:
- description: Emitente (emit)
- type: object
- properties:
- federalTaxNumber:
- format: int64
- description: CNPJ do emitente (CNPJ) / CPF do remetente (CPF)
- type: integer
- type:
- description: "Tipo da pessoa: Jurídica ou Física"
- enum:
- - Undefined
- - NaturalPerson
- - LegalEntity
- type: string
- name:
- description: Razão Social ou Nome do emitente (xNome)
- type: string
- tradeName:
- description: Nome fantasia (xFant)
- type: string
- address:
- $ref: "#/components/schemas/DataTech.Api.Resources.AddressResourceItem"
- stateTaxNumber:
- description: Inscrição Estadual (IE)
- type: string
- taxRegime:
- description: "Código de Regime Tributário (CRT)\r
-
- \r
-
- \ 1 - Simples Nacional (National_Simple)\r
-
- \ 2 - Simples Nacional, excesso sublimite de receita
- bruta (National_Simple_Brute)\r
-
- \ 3 - Regime Normal (Normal_Regime)\r
-
- "
- enum:
- - National_Simple
- - National_Simple_Brute
- - Normal_Regime
- type: string
- municipalTaxNumber:
- description: Inscrição Municipal do Prestador de Serviço (IM)
- type: string
- iss:
- description: Regime Especial de Tributação do ISSQN (cRegTrib)
- type: string
- avarageIndicator:
- description: Indicador de Rateio do Desconto Sobre Subtotal (indRatISSQN)
- type: boolean
- DataTech.Services.Domain.Models.Cfe.CouponBuyerResource:
- type: object
- properties:
- pretectedPersonalInformation:
- description: CNPJ do Destinantario (CNPJ) / CPF do destinatário (CPF) - Protegido
- type: string
- federalTaxNumber:
- format: int64
- description: CNPJ do Destinantario (CNPJ) / CPF do destinatário (CPF)
- type: integer
- name:
- description: Razão Social ou nome do destinatário (xNome)
- type: string
- DataTech.Services.Domain.Models.Cfe.CouponTotalResource:
- description: Grupo de Valores Totais do CF-e
- type: object
- properties:
- icms:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.CouponICMSTotal\
- Resource"
- issqn:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.CouponISSQNTota\
- lResource"
- totalAmount:
- format: double
- description: Valor dos Tributos Aproximado do CFe-SAT Lei12471/12 (vCFeLei12741)
- type: number
- couponAmount:
- format: double
- description: Valor Total do CF-e (vCFe)
- type: number
- DataTech.Api.Resources.TaxCoupon.CouponDeliveryResource:
- type: object
- properties:
- address:
- $ref: "#/components/schemas/DataTech.Api.Resources.AddressResourceItem"
- DataTech.Services.Domain.Models.Cfe.CouponAdditionalInformationResource:
- description: Informacoes Adicionais (infAdic)
- type: object
- properties:
- taxpayer:
- description: Informações Complementares de interesse do Contribuinte (infCpl)
- type: string
- fisco:
- description: Informações Adicionais de Interesse do Fisco (obsFisco)
- type: array
- items:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.FiscoFieldsReso\
- urce"
- referencedDocuments:
- description: Documentos Fiscais Referenciados
- type: array
- items:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.CouponTaxRefere\
- ncedDocumentsResource"
- DataTech.Services.Domain.Models.Cfe.CouponItemResource:
- description: Produto (prod)
- type: object
- properties:
- description:
- description: Descrição do produto ou serviço (xProd)
- type: string
- quantity:
- format: double
- description: Quantidade Comercial (qCom)
- type: number
- unit:
- description: Unidade Comercial (uCom)
- type: string
- code:
- description: Código do produto ou serviço (cProd)
- type: string
- codeGTIN:
- description: "GTIN (Global Trade Item Number) do produto, \r
-
- antigo código EAN ou código de barras (cEAN)"
- type: string
- ncm:
- description: Código NCM com 8 dígitos ou 2 dígitos (gênero) (NCM)
- type: string
- cfop:
- format: int64
- description: Código Fiscal de Operações e Prestações (CFOP)
- type: integer
- cest:
- description: Código especificador da substituição tributária (CEST)
- type: string
- unitAmount:
- format: double
- description: Valor Unitário de Comercialização (vUnCom)
- type: number
- discountAmount:
- format: double
- description: Valor do Desconto (vDesc)
- type: number
- othersAmount:
- format: double
- description: Outras despesas acessórias (vOutro)
- type: number
- additionalInformation:
- description: Informações Adicionais do Produto (infAdProd)
- type: string
- itemNumberOrderBuy:
- format: int32
- description: Item do Pedido de Compra (nItem)
- type: integer
- netAmount:
- format: double
- description: Valor Líquido (vItem)
- type: number
- grossAmount:
- format: double
- description: Valor Bruto (vProd)
- type: number
- rule:
- description: "Indicador da regra de cálculo utilizada para Valor Bruto dos
- Produtos e Serviços\r
-
- \ A - ArredondamentoT -
- Truncamento"
- type: string
- apportionmentDiscountAmount:
- format: double
- description: Rateio desconto (vRatDesc)
- type: number
- apportionmentAmount:
- format: double
- description: Rateio acréscimo (vRatAcr)
- type: number
- fisco:
- description: Observação fisco (obsFiscoDet)
- type: array
- items:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.FiscoFieldsReso\
- urce"
- tax:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.CouponItemTaxRe\
- source"
- DataTech.Services.Domain.Models.Cfe.CouponPaymentResource:
- description: Grupo de Formas de Pagamento (pgto)
- type: object
- properties:
- payBack:
- format: double
- description: Valor do troco (vTroco)
- type: number
- paymentDetails:
- description: Grupo Detalhamento da Forma de Pagamento (MP)
- type: array
- items:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.CouponPaymentDe\
- tailResource"
- DataTech.Api.Resources.AddressResourceItem:
- description: Endereço
- type: object
- properties:
- state:
- description: Estado
- type: string
- city:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.CityBase"
- district:
- description: Bairro
- type: string
- additionalInformation:
- description: Informações adicionais
- type: string
- streetSuffix:
- description: Sufixo da rua
- type: string
- street:
- description: Nome da rua
- type: string
- number:
- description: Número
- type: string
- numberMin:
- type: string
- numberMax:
- type: string
- postalCode:
- description: CEP
- type: string
- country:
- description: País
- type: string
- DataTech.Services.Domain.Models.Cfe.CouponICMSTotalResource:
- description: Grupo de Valores Totais referentes ao ICMS (ICMSTot)
- type: object
- properties:
- productAmount:
- format: double
- description: Valor Total dos produtos e serviços (vProd)
- type: number
- discountAmount:
- format: double
- description: Valor Total do Desconto (vDesc)
- type: number
- othersAmount:
- format: double
- description: Outras Despesas acessórias (vOutro)
- type: number
- icmsAmount:
- format: double
- description: Valor total de ICMS (vICMS)
- type: number
- inputDiscountAmount:
- format: double
- description: Valor de Entrada de desconto sobre subtotal (vDescSubtot)
- type: number
- inputAdditionAmount:
- format: double
- description: Valor de Entrada de acréscimo sobre subtotal (vAcresSubtot)
- type: number
- pisAmount:
- format: double
- description: Valor do PIS (vPIS)
- type: number
- cofinsAmount:
- format: double
- description: Valor do COFINS (vCOFINS)
- type: number
- pisstAmount:
- format: double
- description: Valor do PIS ST (vPISST)
- type: number
- cofinsstAmount:
- format: double
- description: Valor do COFINS ST (vCOFINSST)
- type: number
- DataTech.Services.Domain.Models.Cfe.CouponISSQNTotalResource:
- description: Grupo de Valores Totais referentes ao ISSQN (ISSQNtot)
- type: object
- properties:
- baseAmount:
- format: double
- description: Base de Cálculo do ISSQN (vBC)
- type: number
- issAmount:
- format: double
- description: Valor total de ISSQN (vISS)
- type: number
- pisAmount:
- format: double
- description: Valor do PIS (vPIS)
- type: number
- cofinsAmount:
- format: double
- description: Valor do COFINS (vCOFINS)
- type: number
- pisstAmount:
- format: double
- description: Valor do PIS ST (vPISST)
- type: number
- cofinsstAmount:
- format: double
- description: Valor do COFINS ST (vCOFINSST)
- type: number
- DataTech.Services.Domain.Models.Cfe.FiscoFieldsResource:
- description: Observação fisco (obsFiscoDet)
- type: object
- properties:
- key:
- description: Campo (xCampoDet)
- type: string
- value:
- description: Texto (xTextoDet)
- type: string
- DataTech.Services.Domain.Models.Cfe.CouponTaxReferencedDocumentsResource:
- type: object
- properties:
- accessKey:
- description: Chave de Acesso (refNFe)
- type: string
- order:
- format: int32
- description: Número da ordem
- type: integer
- DataTech.Services.Domain.Models.Cfe.CouponItemTaxResource:
- description: Tributos incidentes no Produto ou Serviço (imposto)
- type: object
- properties:
- totalTax:
- format: double
- description: Valor aproximado total de tributos federais, estaduais e
- municipais. (vItem12741)
- type: number
- icms:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.CouponIcmsTaxRe\
- source"
- pis:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.CouponPisTaxRes\
- ource"
- cofins:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.CouponCofinsTax\
- Resource"
- issqn:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.CouponISSQNReso\
- urce"
- DataTech.Services.Domain.Models.Cfe.CouponPaymentDetailResource:
- description: Grupo Detalhamento da Forma de Pagamento (MP)
- type: object
- properties:
- method:
- description: Código do meio de pagamento (cMP)
- enum:
- - Cash
- - Cheque
- - CreditCard
- - DebitCard
- - StoreCredict
- - FoodVouchers
- - MealVouchers
- - GiftVouchers
- - FuelVouchers
- - CommercialDuplicate
- - BankSlip
- - BankDeposit
- - InstantPayment
- - WireTransfer
- - Cashback
- - Unpaid
- - Others
- type: string
- amount:
- format: double
- description: Valor do meio de pagamento (vMP)
- type: number
- card:
- description: Grupo de Cartões (card)
- type: string
- DataTech.Services.Domain.Models.CityBase:
- type: object
- properties:
- code:
- description: Código do município (cMun)
- type: string
- name:
- description: Nome do município (xMun)
- type: string
- DataTech.Services.Domain.Models.Cfe.CouponIcmsTaxResource:
- description: Dados do ICMS Normal e ST (ICMS)
- type: object
- properties:
- origin:
- description: Origem da mercadoria (Orig)
- type: string
- cst:
- description: Tributação do ICMS (CST)
- type: string
- csosn:
- description: "101- Tributada pelo Simples Nacional com permissão de crédito.
- (v.2.0) (CSOSN)\r
-
- Código de Situação da Operação – Simples Nacional"
- type: string
- amount:
- format: double
- description: "Valor do ICMS (vICMS)\r
-
- \r
-
- O valor do ICMS desonerado será informado apenas nas
- operações:\r
-
- a) com produtos beneficiados com a desoneração
- condicional do ICMS.\r
-
- b) destinadas à SUFRAMA, informando-se o valor que seria
- devido se não houvesse isenção.\r
-
- c) de venda a órgãos da administração pública direta e
- suas fundações e\r
-
- autarquias com isenção do ICMS. (NT 2011/004)"
- type: number
- rate:
- format: double
- description: Alíquota do imposto (pICMS)
- type: number
- DataTech.Services.Domain.Models.Cfe.CouponPisTaxResource:
- description: Grupo PIS (PIS)
- type: object
- properties:
- cst:
- description: Código de Situação Tributária do PIS (CST)
- type: string
- st:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.CouponTaxBaseRe\
- source"
- baseTax:
- format: double
- description: Valor da Base de Cálculo (vBC)
- type: number
- rate:
- format: double
- description: Alíquota do (em percentual) (pPIS)
- type: number
- amount:
- format: double
- description: Valor
- type: number
- rateAmount:
- format: double
- description: Alíquota (em reais) (vAliqProd)
- type: number
- quantity:
- format: double
- description: Quantidade Vendida (qBCProd)
- type: number
- DataTech.Services.Domain.Models.Cfe.CouponCofinsTaxResource:
- description: Grupo COFINS (COFINS)
- type: object
- properties:
- cst:
- description: "Código de Situação Tributária da COFINS\r
-
- Obs: 01 – Operação Tributável (base de cálculo =
- valor da operação \r
-
- alíquota normal (cumulativo/não cumulativo));\r
-
- 02 - Operação Tributável (base de cálculo = valor da
- operação (alíquota diferenciada)); (CST)"
- type: string
- st:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.CouponTaxBaseRe\
- source"
- baseTax:
- format: double
- description: Valor da Base de Cálculo (vBC)
- type: number
- rate:
- format: double
- description: Alíquota do (em percentual) (pPIS)
- type: number
- amount:
- format: double
- description: Valor
- type: number
- rateAmount:
- format: double
- description: Alíquota (em reais) (vAliqProd)
- type: number
- quantity:
- format: double
- description: Quantidade Vendida (qBCProd)
- type: number
- DataTech.Services.Domain.Models.Cfe.CouponISSQNResource:
- description: Grupo Imposto Sobre Serviço de Qualquer Natureza (ISSQN)
- type: object
- properties:
- deductionsAmount:
- format: double
- description: Valor dedução para redução da Base de Cálculo (vDeducISSQN)
- type: number
- baseTax:
- format: double
- description: Valor da Base de Cálculo do ISSQN (vBC)
- type: number
- rate:
- format: double
- description: Alíquota do ISSQN (vAliq)
- type: number
- amount:
- format: double
- description: Valor do ISSQN (vISSQN)
- type: number
- federalServiceCode:
- description: Item da Lista de Serviços (cListServ)
- type: string
- cityServiceCode:
- description: Código do serviço prestado dentro do município (cServTribMun)
- type: string
- cityCode:
- format: int64
- description: Código do Município do Fato Gerador do ISSQN (cMunFG)
- type: integer
- taxIncentive:
- description: Incentivo Fiscal do ISSQN (indIncFisc)
- enum:
- - Yes
- - No
- type: string
- operationNature:
- description: Natureza de operação do ISSQN (cNatOp)
- type: string
- DataTech.Services.Domain.Models.Cfe.CouponTaxBaseResource:
- type: object
- properties:
- baseTax:
- format: double
- description: Valor da Base de Cálculo (vBC)
- type: number
- rate:
- format: double
- description: Alíquota do (em percentual) (pPIS)
- type: number
- amount:
- format: double
- description: Valor
- type: number
- rateAmount:
- format: double
- description: Alíquota (em reais) (vAliqProd)
- type: number
- quantity:
- format: double
- description: Quantidade Vendida (qBCProd)
- type: number
- DataTech.Services.Domain.Models.Cfe.xml.CFe:
- description: Cupom fiscal eletrônico (CFe)
- type: object
- properties:
- infCFe:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.InfCFe"
- DataTech.Services.Domain.Models.Cfe.xml.InfCFe:
- type: object
- properties:
- ide:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.Ide"
- emit:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.Emit"
- dest:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.Dest"
- det:
- description: Detalhamento do produto (det)
- type: array
- items:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.Det"
- total:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.CFeTotal"
- pgto:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.Pgto"
- infAdic:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.InfAdic"
- entrega:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.Entrega"
- versaoSB:
- description: Versão do Software Básico (versaoSB)
- type: string
- versaoDadosEnt:
- description: Versão do leiaute (versaoDadosEnt)
- type: string
- versao:
- description: Versão (versao)
- type: string
- id:
- description: Chave de Acesso (Id)
- type: string
- chCanc:
- description: Chave de acesso do CF-e a ser cancelado (chCanc)
- type: string
- DataTech.Services.Domain.Models.Cfe.xml.Ide:
- description: Grupo das informações de identificação do CF-e (ide)
- type: object
- properties:
- cUF:
- format: int32
- description: Código da UF do emitente do Documento Fiscal. Utilizar a Tabela do
- IBGE. (cUF)
- type: integer
- cNF:
- description: Código numérico que compõe a Chave de Acesso. Número aleatório
- gerado pelo emitente para cada NF-e. (cNF)
- type: string
- mod:
- description: Código do Modelo do documento fiscal (mod)
- type: string
- nserieSAT:
- description: Número de Série do SAT (nserieSAT)
- type: string
- nCFe:
- description: Número do Documento Fiscal (nNF)
- type: string
- dEmi:
- format: date-time
- type: string
- proxydEmi:
- description: Proxy para dEmi no formato AAAAMMDD (dEmi)
- type: string
- hEmi:
- type: string
- proxyHEmi:
- description: Proxy para hEmi no formato HHMMSS (hEmi)
- type: string
- cDV:
- format: int32
- description: Digito Verificador da Chave de Acesso da NF-e (cDV)
- type: integer
- tpAmb:
- description: Identificação do Ambiente (tpAmb)
- enum:
- - Producao
- - Homologacao
- type: string
- cnpj:
- description: CNPJ Software House (CNPJ)
- type: string
- signAC:
- description: Assinatura do aplicativo comercial (signAC)
- type: string
- assinaturaQRCODE:
- description: Assinatura digital para uso em QRCODE(assinaturaQRCODE)
- type: string
- numeroCaixa:
- description: Número do Caixa (numeroCaixa)
- type: string
- DataTech.Services.Domain.Models.Cfe.xml.Emit:
- description: Emitente (emit)
- type: object
- properties:
- cnpj:
- description: CNPJ do emitente (CNPJ)
- type: string
- xNome:
- description: Razão Social ou Nome do emitente (xNome)
- type: string
- xFant:
- description: Nome fantasia (xFant)
- type: string
- enderEmit:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.EnderEmit"
- ie:
- description: Inscrição Estadual (IE)
- type: string
- im:
- description: Inscrição Municipal do Prestador de Serviço (IM)
- type: string
- cRegTrib:
- description: "Código de Regime Tributário (CRT)\r
-
- \r
-
- \ 1 - Simples Nacional (National_Simple)\r
-
- \ 2 - Simples Nacional, excesso sublimite de receita
- bruta (National_Simple_Brute)\r
-
- \ 3 - Regime Normal (Normal_Regime)\r
-
- "
- enum:
- - SimplesNacional
- - SimplesNacionalExcessoSublimite
- - RegimeNormal
- type: string
- cRegTribISSQN:
- description: Regime Especial de Tributação do ISSQN (cRegTrib)
- type: string
- indRatISSQN:
- description: Indicador de Rateio do Desconto Sobre Subtotal (indRatISSQN)
- type: string
- DataTech.Services.Domain.Models.Cfe.xml.Dest:
- description: Destinatario (dest)
- type: object
- properties:
- cnpj:
- description: CNPJ do Destinantario (CNPJ)
- type: string
- cpf:
- description: CPF do destinatário (CPF)
- type: string
- xNome:
- description: Razão Social ou nome do destinatário (xNome)
- type: string
- DataTech.Services.Domain.Models.Cfe.xml.Det:
- description: Detalhamento do produto (det)
- type: object
- properties:
- prod:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.Prod"
- imposto:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.Imposto"
- nItem:
- format: int32
- description: Item do Pedido de Compra (nItem)
- type: integer
- DataTech.Services.Domain.Models.Cfe.xml.CFeTotal:
- description: Grupo de Valores Totais (total)
- type: object
- properties:
- icmsTot:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.CFeICMSTot"
- issqNtot:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.CFeISSQNTot"
- descAcrEntr:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.DescAcrEntr"
- vCFe:
- format: double
- description: Valor Total do CF-e (vCFe)
- type: number
- vCFeLei12741:
- format: double
- description: Valor dos Tributos Aproximado do CFe-SAT Lei12471/12 (vCFeLei12741)
- type: number
- DataTech.Services.Domain.Models.Cfe.xml.Pgto:
- description: Grupo de Formas de Pagamento (pgto)
- type: object
- properties:
- mp:
- description: Grupo Detalhamento da Forma de Pagamento (MP)
- type: array
- items:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.MP"
- vTroco:
- format: double
- description: Valor do troco (vTroco)
- type: number
- DataTech.Services.Domain.Models.Cfe.xml.InfAdic:
- description: Informacoes Adicionais (infAdic)
- type: object
- properties:
- infCpl:
- description: Informações Complementares de interesse do Contribuinte (infCpl)
- type: string
- obsFisco:
- description: Informações Adicionais de Interesse do Fisco (obsFisco)
- type: array
- items:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.ObsFisco"
- DataTech.Services.Domain.Models.Cfe.xml.Entrega:
- description: Dados do Local da Entrega (entrega)
- type: object
- properties:
- uf:
- description: Estado (UF)
- type: string
- xLgr:
- description: Logradouro do Endereco (xLgr)
- type: string
- nro:
- description: Número (nro)
- type: string
- xCpl:
- description: Complemento (xCpl)
- type: string
- xBairro:
- description: Bairro (xBairro)
- type: string
- xMun:
- description: Município (xMun)
- type: string
- DataTech.Services.Domain.Models.Cfe.xml.EnderEmit:
- type: object
- properties:
- cep:
- description: Código do CEP (CEP)
- type: string
- xLgr:
- description: Logradouro do Endereco (xLgr)
- type: string
- nro:
- description: Número (nro)
- type: string
- xCpl:
- description: Complemento (xCpl)
- type: string
- xBairro:
- description: Bairro (xBairro)
- type: string
- xMun:
- description: Município (xMun)
- type: string
- DataTech.Services.Domain.Models.Cfe.xml.Prod:
- type: object
- properties:
- cProd:
- description: Código do produto ou serviço (cProd)
- type: string
- cEAN:
- description: "GTIN (Global Trade Item Number) do produto, \r
-
- antigo código EAN ou código de barras (cEAN)"
- type: string
- xProd:
- description: Descrição do produto ou serviço (xProd)
- type: string
- ncm:
- description: Código NCM com 8 dígitos ou 2 dígitos (gênero) (NCM)
- type: string
- cfop:
- format: int32
- description: Código Fiscal de Operações e Prestações (CFOP)
- type: integer
- uCom:
- description: Unidade Comercial (uCom)
- type: string
- qCom:
- format: double
- description: Quantidade Comercial (qCom)
- type: number
- vUnCom:
- format: double
- description: Valor Unitário de Comercialização (vUnCom)
- type: number
- vProd:
- format: double
- description: Valor Bruto (vProd)
- type: number
- indRegra:
- description: "Indicador da regra de cálculo utilizada para Valor Bruto dos
- Produtos e Serviços\r
-
- \ A - ArredondamentoT -
- Truncamento"
- type: string
- vDesc:
- format: double
- description: Valor do Desconto (vDesc)
- type: number
- vOutro:
- format: double
- description: Outras despesas acessórias (vOutro)
- type: number
- vItem:
- format: double
- description: Valor Líquido (vItem)
- type: number
- vRatDesc:
- format: double
- description: Rateio desconto (vRatDesc)
- type: number
- vRatAcr:
- format: double
- description: Rateio acréscimo (vRatAcr)
- type: number
- obsFiscoDet:
- description: Observação fisco (obsFiscoDet)
- type: array
- items:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.ObsFiscoDet"
- DataTech.Services.Domain.Models.Cfe.xml.Imposto:
- description: Tributos incidentes no Produto ou Serviço (imposto)
- type: object
- properties:
- vItem12741:
- format: double
- description: Valor aproximado total de tributos federais, estaduais e
- municipais. (vItem12741)
- type: number
- icms:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.CFeICMS"
- pis:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.CFePIS"
- cofins:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.CFeCOFINS"
- cofinsst:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.CFeCOFINSST"
- pisst:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.CFePISST"
- issqn:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.CFeISSQN"
- DataTech.Services.Domain.Models.Cfe.xml.CFeICMSTot:
- description: Grupo de Valores Totais referentes ao ICMS (ICMSTot)
- type: object
- properties:
- vICMS:
- format: double
- description: Valor total de ICMS (vICMS)
- type: number
- vProd:
- format: double
- description: Valor Total dos produtos e serviços (vProd)
- type: number
- vDesc:
- format: double
- description: Valor Total do Desconto (vDesc)
- type: number
- vPIS:
- format: double
- description: Valor do PIS (vPIS)
- type: number
- vCOFINS:
- format: double
- description: Valor do COFINS (vCOFINS)
- type: number
- vPISST:
- format: double
- description: Valor do PIS ST (vPISST)
- type: number
- vCOFINSST:
- format: double
- description: Valor do COFINS ST (vCOFINSST)
- type: number
- vOutro:
- format: double
- description: Outras Despesas acessórias (vOutro)
- type: number
- DataTech.Services.Domain.Models.Cfe.xml.CFeISSQNTot:
- description: Grupo de Valores Totais referentes ao ISSQN (ISSQNtot)
- type: object
- properties:
- vBC:
- format: double
- description: Base de Cálculo do ISSQN (vBC)
- type: number
- vISS:
- format: double
- description: Valor total de ISSQN (vISS)
- type: number
- vPIS:
- format: double
- description: Valor do PIS (vPIS)
- type: number
- vCOFINS:
- format: double
- description: Valor do COFINS (vCOFINS)
- type: number
- vPISST:
- format: double
- description: Valor do PIS ST (vPISST)
- type: number
- vCOFINSST:
- format: double
- description: Valor do COFINS ST (vCOFINSST)
- type: number
- DataTech.Services.Domain.Models.Cfe.xml.DescAcrEntr:
- description: Grupo de valores de entrada de Desconto/Acréscimo sobre Subtotal
- (DescAcrEntr)
- type: object
- properties:
- vDescSubtot:
- format: double
- description: Valor de Entrada de Desconto sobre Subtotal
- type: number
- vAcresSubtot:
- format: double
- description: Valor de Entrada de Acréscimo sobre Subtotal
- type: number
- DataTech.Services.Domain.Models.Cfe.xml.MP:
- description: Grupo Detalhamento da Forma de Pagamento (MP)
- type: object
- properties:
- cMP:
- description: Código do meio de pagamento (cMP)
- enum:
- - fpDinheiro
- - fpCheque
- - fpCartaoCredito
- - fpCartaoDebito
- - fpCreditoLoja
- - fpValeAlimentacao
- - fpValeRefeicao
- - fpValePresente
- - fpValeCombustivel
- - fpDuplicataMercantil
- - fpBoletoBancario
- - fpSemPagamento
- - fpOutro
- - fpDepositoBancario
- - fpPagamentoInstantaneoPIX
- - fpTransferenciabancaria
- - fpProgramadefidelidade
- type: string
- vMP:
- format: double
- description: Valor do meio de pagamento (vMP)
- type: number
- cAdmc:
- description: Credenciadora de cartão de débito ou crédito (cAmd)
- type: string
- DataTech.Services.Domain.Models.Cfe.xml.ObsFisco:
- description: Informações Adicionais de Interesse do Fisco (obsFisco)
- type: object
- properties:
- xTexto:
- description: Texto (xTexto)
- type: string
- xCampo:
- description: Campo (xCampo)
- type: string
- DataTech.Services.Domain.Models.Cfe.xml.ObsFiscoDet:
- description: Observação fisco (obsFiscoDet)
- type: object
- properties:
- xTextoDet:
- description: Texto (xTextoDet)
- type: string
- xCampoDet:
- description: Campo (xCampoDet)
- type: string
- DataTech.Services.Domain.Models.Cfe.xml.CFeICMS:
- description: Dados do ICMS Normal (ICMS)
- type: object
- properties:
- tipo:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.CFeICMSBase"
- DataTech.Services.Domain.Models.Cfe.xml.CFePIS:
- description: Grupo PIS (PIS)
- type: object
- properties:
- tipo:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.CFePISBase"
- DataTech.Services.Domain.Models.Cfe.xml.CFeCOFINS:
- description: Grupo COFINS (COFINS)
- type: object
- properties:
- tipo:
- $ref: "#/components/schemas/DataTech.Services.Domain.Models.Cfe.xml.CFeCOFINSBa\
- se"
- DataTech.Services.Domain.Models.Cfe.xml.CFeCOFINSST:
- description: Grupo COFINS Substituição Tributária (COFINSST)
- type: object
- properties:
- vBC:
- format: double
- description: Valor da Base de Cálculo da COFINS (vBC)
- type: number
- pCOFINS:
- format: double
- description: Alíquota da COFINS (em percentual) (pCOFINS)
- type: number
- qBCProd:
- format: double
- description: Quantidade Vendida (qBCProd)
- type: number
- vAliqProd:
- format: double
- description: Alíquota da COFINS (em reais) (vAliqProd)
- type: number
- vCOFINS:
- format: double
- description: Valor da COFINS (vCOFINS)
- type: number
- DataTech.Services.Domain.Models.Cfe.xml.CFePISST:
- description: Grupo PIS Substituição Tributária (PISST)
- type: object
- properties:
- vBC:
- format: double
- description: Valor da Base de Cálculo do PIS (vBC)
- type: number
- pPIS:
- format: double
- description: Alíquota do PIS (em percentual) (pPIS)
- type: number
- qBCProd:
- format: double
- description: Quantidade Vendida (qBCProd)
- type: number
- vAliqProd:
- format: double
- description: Alíquota do PIS (em reais) (vAliqProd)
- type: number
- vPIS:
- format: double
- description: Valor do PIS (vPIS)
- type: number
- DataTech.Services.Domain.Models.Cfe.xml.CFeISSQN:
- description: Grupo Imposto Sobre Serviço de Qualquer Natureza (ISSQN)
- type: object
- properties:
- vDeducISSQN:
- format: double
- description: Valor dedução para redução da Base de Cálculo (vDeducISSQN)
- type: number
- vBC:
- format: double
- description: Valor da Base de Cálculo do ISSQN (vBC)
- type: number
- vAliq:
- format: double
- description: Alíquota do ISSQN (vAliq)
- type: number
- vISSQN:
- format: double
- description: Valor do ISSQN (vISSQN)
- type: number
- cMunFG:
- format: int64
- description: Código do Município do Fato Gerador do ISSQN (cMunFG)
- type: integer
- cListServ:
- description: Item da Lista de Serviços (cListServ)
- type: string
- cServTribMun:
- description: Código do serviço prestado dentro do município (cServTribMun)
- type: string
- cNatOp:
- description: Natureza de operação do ISSQN (cNatOp)
- type: string
- indIncentivo:
- description: Incentivo Fiscal do ISSQN (indIncFisc)
- enum:
- - iiSim
- - iiNao
- type: string
- DataTech.Services.Domain.Models.Cfe.xml.CFeICMSBase:
- type: object
- properties: {}
- DataTech.Services.Domain.Models.Cfe.xml.CFePISBase:
- type: object
- properties: {}
- DataTech.Services.Domain.Models.Cfe.xml.CFeCOFINSBase:
- type: object
- properties: {}
diff --git a/scripts/Generator/CheckMode.php b/scripts/Generator/CheckMode.php
index 28b0214..dfc8a23 100644
--- a/scripts/Generator/CheckMode.php
+++ b/scripts/Generator/CheckMode.php
@@ -13,11 +13,12 @@
final class CheckMode
{
/**
+ * @param array|null $expected Precomputed {@see Generator::generate()} output, to avoid regenerating.
* @return array{ok: bool, added: list, removed: list, changed: list}
*/
- public static function diff(Generator $generator, string $outputRoot): array
+ public static function diff(Generator $generator, string $outputRoot, ?array $expected = null): array
{
- $expected = $generator->generate();
+ $expected ??= $generator->generate();
$actual = self::scanDir($outputRoot);
$added = array_values(array_diff(array_keys($expected), array_keys($actual)));
diff --git a/scripts/Generator/Generator.php b/scripts/Generator/Generator.php
index 8530d04..8a3f333 100644
--- a/scripts/Generator/Generator.php
+++ b/scripts/Generator/Generator.php
@@ -64,11 +64,12 @@ public function generate(): array
*
* Returns the list of relative paths written.
*
+ * @param array|null $files Precomputed {@see self::generate()} output, to avoid regenerating.
* @return list
*/
- public function writeTo(string $outputRoot): array
+ public function writeTo(string $outputRoot, ?array $files = null): array
{
- $files = $this->generate();
+ $files ??= $this->generate();
$written = [];
// Clean the output root (we own the directory completely).
@@ -91,6 +92,42 @@ public function writeTo(string $outputRoot): array
return $written;
}
+ /**
+ * Per-spec emission report: how many files each spec yields, and whether
+ * the spec is Swagger 2.0 (out of the generator's reach by design — it
+ * only reads `components.schemas`). Zero emissions from an OpenAPI 3.x
+ * spec is a possible sync regression and deserves a warning upstream.
+ *
+ * @param array|null $files Precomputed {@see self::generate()} output, to avoid regenerating.
+ * @return list
+ */
+ public function specSummary(?array $files = null): array
+ {
+ $files ??= $this->generate();
+
+ $emittedByNs = [];
+ foreach (array_keys($files) as $rel) {
+ $ns = strstr($rel, '/', true);
+ if ($ns !== false) {
+ $emittedByNs[$ns] = ($emittedByNs[$ns] ?? 0) + 1;
+ }
+ }
+
+ $summary = [];
+ foreach ($this->discoverSpecs() as $specPath) {
+ $loader = SpecLoader::fromFile($specPath);
+ $ns = NameMapper::namespaceFromSpec($specPath);
+
+ $summary[] = [
+ 'spec' => basename($specPath),
+ 'emitted' => $emittedByNs[$ns] ?? 0,
+ 'swagger2' => isset($loader->raw['swagger']),
+ ];
+ }
+
+ return $summary;
+ }
+
/**
* @return list
*/
diff --git a/scripts/Generator/Linter.php b/scripts/Generator/Linter.php
new file mode 100644
index 0000000..d031d42
--- /dev/null
+++ b/scripts/Generator/Linter.php
@@ -0,0 +1,36 @@
+ $files Map of relative path => PHP source.
+ * @return list Relative paths of files that fail to parse, with the parse error appended.
+ */
+ public static function lint(array $files): array
+ {
+ $errors = [];
+
+ foreach ($files as $rel => $source) {
+ try {
+ token_get_all($source, TOKEN_PARSE);
+ } catch (CompileError $e) {
+ $errors[] = "{$rel}: {$e->getMessage()}";
+ }
+ }
+
+ return $errors;
+ }
+}
diff --git a/scripts/Generator/NameMapper.php b/scripts/Generator/NameMapper.php
index e8736de..4ccf110 100644
--- a/scripts/Generator/NameMapper.php
+++ b/scripts/Generator/NameMapper.php
@@ -41,7 +41,19 @@ public static function namespaceFromSpec(string $specFilename): string
*/
public static function className(string $schemaName): string
{
- $clean = preg_replace('/[^A-Za-z0-9_]/', '_', $schemaName) ?? $schemaName;
+ return self::phpIdentifier($schemaName);
+ }
+
+ /**
+ * Turn an arbitrary schema name into a valid PHP identifier.
+ *
+ * Single source of truth for both emitted class names and $ref-derived
+ * type-hints, so a schema name and every reference to it always agree
+ * (e.g., "DFeTech.TaxPayers.Resources.X" -> "DFeTech_TaxPayers_Resources_X").
+ */
+ public static function phpIdentifier(string $name): string
+ {
+ $clean = preg_replace('/[^A-Za-z0-9_]/', '_', $name) ?? $name;
// If it starts with a digit, prefix with underscore (PHP requirement).
if ($clean !== '' && ctype_digit($clean[0])) {
diff --git a/scripts/Generator/TypeMapper.php b/scripts/Generator/TypeMapper.php
index 77a582a..4ba3ac2 100644
--- a/scripts/Generator/TypeMapper.php
+++ b/scripts/Generator/TypeMapper.php
@@ -116,10 +116,15 @@ private static function mapUnion(array $alternatives, string $namespace, bool $n
/**
* "#/components/schemas/Borrower" -> "Borrower"
+ *
+ * The resolved name goes through the same identifier sanitisation as the
+ * emitted class name, so dotted schema names ("DFeTech.TaxPayers.X")
+ * produce valid PHP type-hints that match the class actually generated.
*/
private static function resolveRef(string $ref): string
{
$pos = strrpos($ref, '/');
- return $pos === false ? $ref : substr($ref, $pos + 1);
+ $name = $pos === false ? $ref : substr($ref, $pos + 1);
+ return NameMapper::phpIdentifier($name);
}
}
diff --git a/scripts/generate.php b/scripts/generate.php
index 34fec84..632e016 100644
--- a/scripts/generate.php
+++ b/scripts/generate.php
@@ -19,6 +19,7 @@
use Nfe\Build\CheckMode;
use Nfe\Build\Generator;
+use Nfe\Build\Linter;
$repoRoot = dirname(__DIR__);
$specsDir = $repoRoot . '/openapi';
@@ -31,8 +32,36 @@
outputRoot: $outputRoot,
);
+$files = $generator->generate();
+
+// Per-spec summary: no spec is skipped silently. Swagger 2.0 specs are
+// expected to emit nothing; an OpenAPI 3.x spec emitting nothing is a
+// possible sync regression and gets a highlighted warning (but not a
+// failure — the syntactic lint below is what fails builds).
+fwrite(STDOUT, "Specs:\n");
+foreach ($generator->specSummary($files) as $row) {
+ if ($row['emitted'] === 0 && $row['swagger2']) {
+ fwrite(STDOUT, sprintf(" %-40s 0 schemas (Swagger 2.0 — out of the generator's reach)\n", $row['spec']));
+ } elseif ($row['emitted'] === 0) {
+ fwrite(STDOUT, sprintf(" %-40s ⚠ WARNING: OpenAPI 3.x spec emitted 0 schemas (possible sync regression)\n", $row['spec']));
+ } else {
+ fwrite(STDOUT, sprintf(" %-40s %d schema file(s)\n", $row['spec'], $row['emitted']));
+ }
+}
+
+// Syntactic lint: every emitted file must parse. This is the hard gate that
+// keeps invalid PHP (e.g., unsanitised dotted type-hints) out of the dist.
+$lintErrors = Linter::lint($files);
+if ($lintErrors !== []) {
+ fwrite(STDERR, "✗ Generator emitted syntactically invalid PHP:\n");
+ foreach ($lintErrors as $error) {
+ fwrite(STDERR, " {$error}\n");
+ }
+ exit(1);
+}
+
if ($checkMode) {
- $diff = CheckMode::diff($generator, $outputRoot);
+ $diff = CheckMode::diff($generator, $outputRoot, $files);
if ($diff['ok']) {
fwrite(STDOUT, "✓ src/Generated/ is in sync with openapi/\n");
exit(0);
@@ -52,6 +81,6 @@
exit(1);
}
-$written = $generator->writeTo($outputRoot);
+$written = $generator->writeTo($outputRoot, $files);
fwrite(STDOUT, "✓ Generated " . count($written) . " file(s) under src/Generated/\n");
exit(0);
diff --git a/src/Generated/ConsultaCteV2/DFe_NetCore_Domain_Resources_EnableInboundProductInvoiceResource.php b/src/Generated/ConsultaCteV2/DFe_NetCore_Domain_Resources_EnableInboundProductInvoiceResource.php
index ff1b72f..30ca0d5 100644
--- a/src/Generated/ConsultaCteV2/DFe_NetCore_Domain_Resources_EnableInboundProductInvoiceResource.php
+++ b/src/Generated/ConsultaCteV2/DFe_NetCore_Domain_Resources_EnableInboundProductInvoiceResource.php
@@ -13,6 +13,6 @@
public function __construct(
public ?int $startFromNsu = null,
public ?string $startFromDate = null,
- public ?DFe.NetCore.Domain.Resources.ManifestAutomaticRulesResource $automaticManifesting = null,
+ public ?DFe_NetCore_Domain_Resources_ManifestAutomaticRulesResource $automaticManifesting = null,
) {}
}
diff --git a/src/Generated/ConsultaCteV2/DFe_NetCore_Domain_Resources_MetadataResource.php b/src/Generated/ConsultaCteV2/DFe_NetCore_Domain_Resources_MetadataResource.php
index bd9b8ad..6008971 100644
--- a/src/Generated/ConsultaCteV2/DFe_NetCore_Domain_Resources_MetadataResource.php
+++ b/src/Generated/ConsultaCteV2/DFe_NetCore_Domain_Resources_MetadataResource.php
@@ -9,7 +9,7 @@
namespace Nfe\Generated\ConsultaCteV2;
/**
- * @param list|null $productInvoices
+ * @param list|null $productInvoices
*/
final readonly class DFe_NetCore_Domain_Resources_MetadataResource
{
@@ -19,8 +19,8 @@ public function __construct(
public ?string $accessKey = null,
public ?string $parentAccessKey = null,
public ?array $productInvoices = null,
- public ?DFe.NetCore.Domain.Resources.CompanyResource $company = null,
- public ?DFe.NetCore.Domain.Enums.MetadataResourceType $type = null,
+ public ?DFe_NetCore_Domain_Resources_CompanyResource $company = null,
+ public ?DFe_NetCore_Domain_Enums_MetadataResourceType $type = null,
public ?int $nsu = null,
public ?string $issuedOn = null,
public ?string $description = null,
diff --git a/src/Generated/ConsultaCteV2/DFe_NetCore_Domain_Resources_ProductInvoiceInboundResource.php b/src/Generated/ConsultaCteV2/DFe_NetCore_Domain_Resources_ProductInvoiceInboundResource.php
index e4808f2..c1b874d 100644
--- a/src/Generated/ConsultaCteV2/DFe_NetCore_Domain_Resources_ProductInvoiceInboundResource.php
+++ b/src/Generated/ConsultaCteV2/DFe_NetCore_Domain_Resources_ProductInvoiceInboundResource.php
@@ -13,9 +13,9 @@
public function __construct(
public ?int $startFromNsu = null,
public ?string $startFromDate = null,
- public ?DFe.NetCore.Domain.Resources.ManifestAutomaticRulesResource $automaticManifesting = null,
+ public ?DFe_NetCore_Domain_Resources_ManifestAutomaticRulesResource $automaticManifesting = null,
public ?string $companyId = null,
- public ?DFe.NetCore.Domain.Enums.EntityStatus $status = null,
+ public ?DFe_NetCore_Domain_Enums_EntityStatus $status = null,
public ?string $createdOn = null,
public ?string $modifiedOn = null,
) {}
diff --git a/src/Generated/ConsultaCteV2/DFe_NetCore_Domain_Resources_TransportationInvoiceInboundResource.php b/src/Generated/ConsultaCteV2/DFe_NetCore_Domain_Resources_TransportationInvoiceInboundResource.php
index 396a14d..ca9d77a 100644
--- a/src/Generated/ConsultaCteV2/DFe_NetCore_Domain_Resources_TransportationInvoiceInboundResource.php
+++ b/src/Generated/ConsultaCteV2/DFe_NetCore_Domain_Resources_TransportationInvoiceInboundResource.php
@@ -14,7 +14,7 @@ public function __construct(
public ?int $startFromNsu = null,
public ?string $startFromDate = null,
public ?string $companyId = null,
- public ?DFe.NetCore.Domain.Enums.EntityStatus $status = null,
+ public ?DFe_NetCore_Domain_Enums_EntityStatus $status = null,
public ?string $createdOn = null,
public ?string $modifiedOn = null,
) {}
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Api_Resources_AddressResourceItem.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Api_Resources_AddressResourceItem.php
index f751221..cdfdf64 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Api_Resources_AddressResourceItem.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Api_Resources_AddressResourceItem.php
@@ -15,7 +15,7 @@
{
public function __construct(
public ?string $state = null,
- public ?DataTech.Services.Domain.Models.CityBase $city = null,
+ public ?DataTech_Services_Domain_Models_CityBase $city = null,
public ?string $district = null,
public ?string $additionalInformation = null,
public ?string $streetSuffix = null,
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Api_Resources_TaxCoupon_CouponDeliveryResource.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Api_Resources_TaxCoupon_CouponDeliveryResource.php
index 16bb3d9..d6b6bce 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Api_Resources_TaxCoupon_CouponDeliveryResource.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Api_Resources_TaxCoupon_CouponDeliveryResource.php
@@ -11,6 +11,6 @@
final readonly class DataTech_Api_Resources_TaxCoupon_CouponDeliveryResource
{
public function __construct(
- public ?DataTech.Api.Resources.AddressResourceItem $address = null,
+ public ?DataTech_Api_Resources_AddressResourceItem $address = null,
) {}
}
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponCofinsTaxResource.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponCofinsTaxResource.php
index 02ad67c..ca04834 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponCofinsTaxResource.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponCofinsTaxResource.php
@@ -15,7 +15,7 @@
{
public function __construct(
public ?string $cst = null,
- public ?DataTech.Services.Domain.Models.Cfe.CouponTaxBaseResource $st = null,
+ public ?DataTech_Services_Domain_Models_Cfe_CouponTaxBaseResource $st = null,
public ?float $baseTax = null,
public ?float $rate = null,
public ?float $amount = null,
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponIssuerResource.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponIssuerResource.php
index be4aaac..9c49e64 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponIssuerResource.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponIssuerResource.php
@@ -18,7 +18,7 @@ public function __construct(
public ?string $type = null,
public ?string $name = null,
public ?string $tradeName = null,
- public ?DataTech.Api.Resources.AddressResourceItem $address = null,
+ public ?DataTech_Api_Resources_AddressResourceItem $address = null,
public ?string $stateTaxNumber = null,
public ?string $taxRegime = null,
public ?string $municipalTaxNumber = null,
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponItemResource.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponItemResource.php
index ead2218..823f92f 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponItemResource.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponItemResource.php
@@ -33,6 +33,6 @@ public function __construct(
public ?float $apportionmentDiscountAmount = null,
public ?float $apportionmentAmount = null,
public ?array $fisco = null,
- public ?DataTech.Services.Domain.Models.Cfe.CouponItemTaxResource $tax = null,
+ public ?DataTech_Services_Domain_Models_Cfe_CouponItemTaxResource $tax = null,
) {}
}
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponItemTaxResource.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponItemTaxResource.php
index 66da06e..7d9dcfa 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponItemTaxResource.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponItemTaxResource.php
@@ -15,9 +15,9 @@
{
public function __construct(
public ?float $totalTax = null,
- public ?DataTech.Services.Domain.Models.Cfe.CouponIcmsTaxResource $icms = null,
- public ?DataTech.Services.Domain.Models.Cfe.CouponPisTaxResource $pis = null,
- public ?DataTech.Services.Domain.Models.Cfe.CouponCofinsTaxResource $cofins = null,
- public ?DataTech.Services.Domain.Models.Cfe.CouponISSQNResource $issqn = null,
+ public ?DataTech_Services_Domain_Models_Cfe_CouponIcmsTaxResource $icms = null,
+ public ?DataTech_Services_Domain_Models_Cfe_CouponPisTaxResource $pis = null,
+ public ?DataTech_Services_Domain_Models_Cfe_CouponCofinsTaxResource $cofins = null,
+ public ?DataTech_Services_Domain_Models_Cfe_CouponISSQNResource $issqn = null,
) {}
}
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponPisTaxResource.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponPisTaxResource.php
index 5a81e18..18aeb8e 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponPisTaxResource.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponPisTaxResource.php
@@ -15,7 +15,7 @@
{
public function __construct(
public ?string $cst = null,
- public ?DataTech.Services.Domain.Models.Cfe.CouponTaxBaseResource $st = null,
+ public ?DataTech_Services_Domain_Models_Cfe_CouponTaxBaseResource $st = null,
public ?float $baseTax = null,
public ?float $rate = null,
public ?float $amount = null,
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponTotalResource.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponTotalResource.php
index 782f6ce..3696324 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponTotalResource.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_CouponTotalResource.php
@@ -14,8 +14,8 @@
final readonly class DataTech_Services_Domain_Models_Cfe_CouponTotalResource
{
public function __construct(
- public ?DataTech.Services.Domain.Models.Cfe.CouponICMSTotalResource $icms = null,
- public ?DataTech.Services.Domain.Models.Cfe.CouponISSQNTotalResource $issqn = null,
+ public ?DataTech_Services_Domain_Models_Cfe_CouponICMSTotalResource $icms = null,
+ public ?DataTech_Services_Domain_Models_Cfe_CouponISSQNTotalResource $issqn = null,
public ?float $totalAmount = null,
public ?float $couponAmount = null,
) {}
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_TaxCouponResource.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_TaxCouponResource.php
index f49b4d2..37ae924 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_TaxCouponResource.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_TaxCouponResource.php
@@ -24,12 +24,12 @@ public function __construct(
public ?string $issuedOn = null,
public ?string $createdOn = null,
public ?string $xmlVersion = null,
- public ?DataTech.Services.Domain.Models.Cfe.CouponIssuerResource $issuer = null,
- public ?DataTech.Services.Domain.Models.Cfe.CouponBuyerResource $buyer = null,
- public ?DataTech.Services.Domain.Models.Cfe.CouponTotalResource $totals = null,
- public ?DataTech.Api.Resources.TaxCoupon.CouponDeliveryResource $delivery = null,
- public ?DataTech.Services.Domain.Models.Cfe.CouponAdditionalInformationResource $additionalInformation = null,
+ public ?DataTech_Services_Domain_Models_Cfe_CouponIssuerResource $issuer = null,
+ public ?DataTech_Services_Domain_Models_Cfe_CouponBuyerResource $buyer = null,
+ public ?DataTech_Services_Domain_Models_Cfe_CouponTotalResource $totals = null,
+ public ?DataTech_Api_Resources_TaxCoupon_CouponDeliveryResource $delivery = null,
+ public ?DataTech_Services_Domain_Models_Cfe_CouponAdditionalInformationResource $additionalInformation = null,
public ?array $items = null,
- public ?DataTech.Services.Domain.Models.Cfe.CouponPaymentResource $payment = null,
+ public ?DataTech_Services_Domain_Models_Cfe_CouponPaymentResource $payment = null,
) {}
}
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFe.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFe.php
index d4f183e..ac611a1 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFe.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFe.php
@@ -14,6 +14,6 @@
final readonly class DataTech_Services_Domain_Models_Cfe_xml_CFe
{
public function __construct(
- public ?DataTech.Services.Domain.Models.Cfe.xml.InfCFe $infCFe = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_InfCFe $infCFe = null,
) {}
}
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFeCOFINS.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFeCOFINS.php
index aa1337c..8e47b9b 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFeCOFINS.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFeCOFINS.php
@@ -14,6 +14,6 @@
final readonly class DataTech_Services_Domain_Models_Cfe_xml_CFeCOFINS
{
public function __construct(
- public ?DataTech.Services.Domain.Models.Cfe.xml.CFeCOFINSBase $tipo = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_CFeCOFINSBase $tipo = null,
) {}
}
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFeICMS.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFeICMS.php
index ce606ec..0880a26 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFeICMS.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFeICMS.php
@@ -14,6 +14,6 @@
final readonly class DataTech_Services_Domain_Models_Cfe_xml_CFeICMS
{
public function __construct(
- public ?DataTech.Services.Domain.Models.Cfe.xml.CFeICMSBase $tipo = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_CFeICMSBase $tipo = null,
) {}
}
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFePIS.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFePIS.php
index e78fe14..8b362b2 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFePIS.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFePIS.php
@@ -14,6 +14,6 @@
final readonly class DataTech_Services_Domain_Models_Cfe_xml_CFePIS
{
public function __construct(
- public ?DataTech.Services.Domain.Models.Cfe.xml.CFePISBase $tipo = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_CFePISBase $tipo = null,
) {}
}
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFeTotal.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFeTotal.php
index 595f763..fded3f4 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFeTotal.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_CFeTotal.php
@@ -14,9 +14,9 @@
final readonly class DataTech_Services_Domain_Models_Cfe_xml_CFeTotal
{
public function __construct(
- public ?DataTech.Services.Domain.Models.Cfe.xml.CFeICMSTot $icmsTot = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.CFeISSQNTot $issqNtot = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.DescAcrEntr $descAcrEntr = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_CFeICMSTot $icmsTot = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_CFeISSQNTot $issqNtot = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_DescAcrEntr $descAcrEntr = null,
public ?float $vCFe = null,
public ?float $vCFeLei12741 = null,
) {}
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_Det.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_Det.php
index 2af1431..028277b 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_Det.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_Det.php
@@ -14,8 +14,8 @@
final readonly class DataTech_Services_Domain_Models_Cfe_xml_Det
{
public function __construct(
- public ?DataTech.Services.Domain.Models.Cfe.xml.Prod $prod = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.Imposto $imposto = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_Prod $prod = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_Imposto $imposto = null,
public ?int $nItem = null,
) {}
}
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_Emit.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_Emit.php
index 8d633e3..6b5011f 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_Emit.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_Emit.php
@@ -17,7 +17,7 @@ public function __construct(
public ?string $cnpj = null,
public ?string $xNome = null,
public ?string $xFant = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.EnderEmit $enderEmit = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_EnderEmit $enderEmit = null,
public ?string $ie = null,
public ?string $im = null,
public ?string $cRegTrib = null,
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_Imposto.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_Imposto.php
index 015d0ee..5300a4b 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_Imposto.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_Imposto.php
@@ -15,11 +15,11 @@
{
public function __construct(
public ?float $vItem12741 = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.CFeICMS $icms = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.CFePIS $pis = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.CFeCOFINS $cofins = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.CFeCOFINSST $cofinsst = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.CFePISST $pisst = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.CFeISSQN $issqn = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_CFeICMS $icms = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_CFePIS $pis = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_CFeCOFINS $cofins = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_CFeCOFINSST $cofinsst = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_CFePISST $pisst = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_CFeISSQN $issqn = null,
) {}
}
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_InfCFe.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_InfCFe.php
index 34bc62b..022885f 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_InfCFe.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_InfCFe.php
@@ -9,19 +9,19 @@
namespace Nfe\Generated\ConsultaNfConsumidorV3;
/**
- * @param list|null $det
+ * @param list|null $det
*/
final readonly class DataTech_Services_Domain_Models_Cfe_xml_InfCFe
{
public function __construct(
- public ?DataTech.Services.Domain.Models.Cfe.xml.Ide $ide = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.Emit $emit = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.Dest $dest = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_Ide $ide = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_Emit $emit = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_Dest $dest = null,
public ?array $det = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.CFeTotal $total = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.Pgto $pgto = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.InfAdic $infAdic = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.Entrega $entrega = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_CFeTotal $total = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_Pgto $pgto = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_InfAdic $infAdic = null,
+ public ?DataTech_Services_Domain_Models_Cfe_xml_Entrega $entrega = null,
public ?string $versaoSB = null,
public ?string $versaoDadosEnt = null,
public ?string $versao = null,
diff --git a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_Prod.php b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_Prod.php
index 7b36e27..0e57444 100644
--- a/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_Prod.php
+++ b/src/Generated/ConsultaNfConsumidorV3/DataTech_Services_Domain_Models_Cfe_xml_Prod.php
@@ -9,7 +9,7 @@
namespace Nfe\Generated\ConsultaNfConsumidorV3;
/**
- * @param list|null $obsFiscoDet
+ * @param list|null $obsFiscoDet
*/
final readonly class DataTech_Services_Domain_Models_Cfe_xml_Prod
{
diff --git a/src/Generated/ConsumerInvoiceV3/DataTech_Api_Resources_AddressResourceItem.php b/src/Generated/ConsumerInvoiceV3/DataTech_Api_Resources_AddressResourceItem.php
deleted file mode 100644
index 61dcc2b..0000000
--- a/src/Generated/ConsumerInvoiceV3/DataTech_Api_Resources_AddressResourceItem.php
+++ /dev/null
@@ -1,29 +0,0 @@
-|null $det
- */
-final readonly class DataTech_Services_Domain_Models_Cfe_xml_InfCFe
-{
- public function __construct(
- public ?DataTech.Services.Domain.Models.Cfe.xml.Ide $ide = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.Emit $emit = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.Dest $dest = null,
- public ?array $det = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.CFeTotal $total = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.Pgto $pgto = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.InfAdic $infAdic = null,
- public ?DataTech.Services.Domain.Models.Cfe.xml.Entrega $entrega = null,
- public ?string $versaoSB = null,
- public ?string $versaoDadosEnt = null,
- public ?string $versao = null,
- public ?string $id = null,
- public ?string $chCanc = null,
- ) {}
-}
diff --git a/src/Generated/ConsumerInvoiceV3/DataTech_Services_Domain_Models_Cfe_xml_MP.php b/src/Generated/ConsumerInvoiceV3/DataTech_Services_Domain_Models_Cfe_xml_MP.php
deleted file mode 100644
index 6ed0f7c..0000000
--- a/src/Generated/ConsumerInvoiceV3/DataTech_Services_Domain_Models_Cfe_xml_MP.php
+++ /dev/null
@@ -1,21 +0,0 @@
-|null $obsFiscoDet
- */
-final readonly class DataTech_Services_Domain_Models_Cfe_xml_Prod
-{
- public function __construct(
- public ?string $cProd = null,
- public ?string $cEAN = null,
- public ?string $xProd = null,
- public ?string $ncm = null,
- public ?int $cfop = null,
- public ?string $uCom = null,
- public ?float $qCom = null,
- public ?float $vUnCom = null,
- public ?float $vProd = null,
- public ?string $indRegra = null,
- public ?float $vDesc = null,
- public ?float $vOutro = null,
- public ?float $vItem = null,
- public ?float $vRatDesc = null,
- public ?float $vRatAcr = null,
- public ?array $obsFiscoDet = null,
- ) {}
-}
diff --git a/src/Generated/ConsumerInvoiceV3/DataTech_Services_Domain_Models_CityBase.php b/src/Generated/ConsumerInvoiceV3/DataTech_Services_Domain_Models_CityBase.php
deleted file mode 100644
index 25cc801..0000000
--- a/src/Generated/ConsumerInvoiceV3/DataTech_Services_Domain_Models_CityBase.php
+++ /dev/null
@@ -1,17 +0,0 @@
-|null $companies
+ * @param list|null $companies
*/
final readonly class DFeTech_TaxPayers_Resources_CompanyCollectionResourceV1
{
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CompanyResource.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CompanyResource.php
index f0dbd72..b91f3ee 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CompanyResource.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CompanyResource.php
@@ -14,6 +14,6 @@
final readonly class DFeTech_TaxPayers_Resources_CompanyResource
{
public function __construct(
- public ?DFeTech.TaxPayers.Resources.CompanyResourceItem $company = null,
+ public ?DFeTech_TaxPayers_Resources_CompanyResourceItem $company = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CompanyResourceItem.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CompanyResourceItem.php
index a4e205f..2cbf59b 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CompanyResourceItem.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CompanyResourceItem.php
@@ -16,15 +16,15 @@
public function __construct(
public string $name,
public int $federalTaxNumber,
- public DFeTech.TaxPayers.Domain.Entities.TaxRegime $taxRegime,
- public DFeTech.TaxPayers.Resources.AddressResource $address,
+ public DFeTech_TaxPayers_Domain_Entities_TaxRegime $taxRegime,
+ public DFeTech_TaxPayers_Resources_AddressResource $address,
public ?string $accountId = null,
public ?string $tradeName = null,
public ?string $municipalTaxNumber = null,
public ?string $id = null,
public ?array $stateTaxes = null,
public ?array $municipalTaxes = null,
- public ?DFeTech.TaxPayers.Domain.Entities.Status $status = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_Status $status = null,
public ?string $createdOn = null,
public ?string $modifiedOn = null,
) {}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CompanyResourceV1.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CompanyResourceV1.php
index e8f1af2..2fa0896 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CompanyResourceV1.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CompanyResourceV1.php
@@ -16,11 +16,11 @@ public function __construct(
public ?string $tradeName = null,
public ?int $federalTaxNumber = null,
public ?string $email = null,
- public ?DFeTech.TaxPayers.Domain.Entities.Address $address = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_Address $address = null,
public ?string $openningDate = null,
- public ?DFeTech.TaxPayers.Domain.Entities.TaxRegime $taxRegime = null,
- public ?DFeTech.TaxPayers.Domain.Entities.SpecialTaxRegime $specialTaxRegime = null,
- public ?DFeTech.TaxPayers.Domain.Entities.LegalNature $legalNature = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_TaxRegime $taxRegime = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_SpecialTaxRegime $specialTaxRegime = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_LegalNature $legalNature = null,
public ?int $companyRegistryNumber = null,
public ?int $regionalTaxNumber = null,
public ?string $municipalTaxNumber = null,
@@ -28,16 +28,16 @@ public function __construct(
public ?int $rpsNumber = null,
public ?int $lastRpsSent = null,
public ?float $issRate = null,
- public ?DFeTech.TaxPayers.Domain.Entities.ApiEnvironment $environment = null,
- public ?DFeTech.TaxPayers.Domain.Entities.MunicipalTaxFiscalStatus $fiscalStatus = null,
- public ?DFeTech.TaxPayers.Domain.Entities.FederalTaxDeterminationBy $federalTaxDetermination = null,
- public ?DFeTech.TaxPayers.Domain.Entities.MunicipalTaxDeterminationBy $municipalTaxDetermination = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_ApiEnvironment $environment = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_MunicipalTaxFiscalStatus $fiscalStatus = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_FederalTaxDeterminationBy $federalTaxDetermination = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_MunicipalTaxDeterminationBy $municipalTaxDetermination = null,
public ?string $loginName = null,
public ?string $loginPassword = null,
public ?string $authIssueValue = null,
- public ?DFeTech.TaxPayers.Resources.CompanyCertificateV1 $certificate = null,
+ public ?DFeTech_TaxPayers_Resources_CompanyCertificateV1 $certificate = null,
public ?string $createdOn = null,
public ?string $modifiedOn = null,
- public ?DFeTech.TaxPayers.Domain.Entities.Status $status = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_Status $status = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CompanySingleResourceV1.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CompanySingleResourceV1.php
index 26e236e..ebb98f3 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CompanySingleResourceV1.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CompanySingleResourceV1.php
@@ -11,6 +11,6 @@
final readonly class DFeTech_TaxPayers_Resources_CompanySingleResourceV1
{
public function __construct(
- public ?DFeTech.TaxPayers.Resources.CompanyResourceV1 $companies = null,
+ public ?DFeTech_TaxPayers_Resources_CompanyResourceV1 $companies = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateCompanyResource.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateCompanyResource.php
index 496ea72..6fc390a 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateCompanyResource.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateCompanyResource.php
@@ -14,6 +14,6 @@
final readonly class DFeTech_TaxPayers_Resources_CreateCompanyResource
{
public function __construct(
- public ?DFeTech.TaxPayers.Resources.CreateCompanyResourceItem $company = null,
+ public ?DFeTech_TaxPayers_Resources_CreateCompanyResourceItem $company = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateCompanyResourceItem.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateCompanyResourceItem.php
index a29c458..f640282 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateCompanyResourceItem.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateCompanyResourceItem.php
@@ -16,8 +16,8 @@
public function __construct(
public string $name,
public int $federalTaxNumber,
- public DFeTech.TaxPayers.Domain.Entities.TaxRegime $taxRegime,
- public DFeTech.TaxPayers.Resources.AddressResource $address,
+ public DFeTech_TaxPayers_Domain_Entities_TaxRegime $taxRegime,
+ public DFeTech_TaxPayers_Resources_AddressResource $address,
public ?string $accountId = null,
public ?string $tradeName = null,
public ?string $municipalTaxNumber = null,
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateMunicipalTaxResource.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateMunicipalTaxResource.php
index b1620b2..6742326 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateMunicipalTaxResource.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateMunicipalTaxResource.php
@@ -11,6 +11,6 @@
final readonly class DFeTech_TaxPayers_Resources_CreateMunicipalTaxResource
{
public function __construct(
- public ?DFeTech.TaxPayers.Resources.CreateMunicipalTaxResourceItem $municipalTax = null,
+ public ?DFeTech_TaxPayers_Resources_CreateMunicipalTaxResourceItem $municipalTax = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateMunicipalTaxResourceItem.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateMunicipalTaxResourceItem.php
index 795fa2b..06c17bd 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateMunicipalTaxResourceItem.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateMunicipalTaxResourceItem.php
@@ -11,17 +11,17 @@
final readonly class DFeTech_TaxPayers_Resources_CreateMunicipalTaxResourceItem
{
public function __construct(
- public ?DFeTech.TaxPayers.Domain.Entities.CityExtended $city = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_CityExtended $city = null,
public ?string $taxNumber = null,
- public ?DFeTech.TaxPayers.Domain.Entities.ApiEnvironment $environment = null,
- public ?DFeTech.TaxPayers.Domain.Entities.SpecialTaxRegime $specialTaxRegime = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_ApiEnvironment $environment = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_SpecialTaxRegime $specialTaxRegime = null,
public ?string $email = null,
- public ?DFeTech.TaxPayers.Domain.Entities.LegalNature $legalNature = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_LegalNature $legalNature = null,
public ?int $companyRegistryNumber = null,
public ?int $regionalTaxNumber = null,
public ?float $issRate = null,
- public ?DFeTech.TaxPayers.Domain.Entities.FederalTaxDeterminationBy $federalTaxDetermination = null,
- public ?DFeTech.TaxPayers.Domain.Entities.MunicipalTaxDeterminationBy $municipalTaxDetermination = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_FederalTaxDeterminationBy $federalTaxDetermination = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_MunicipalTaxDeterminationBy $municipalTaxDetermination = null,
public ?string $loginName = null,
public ?string $loginPassword = null,
public ?string $authIssueValue = null,
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateStateTaxProcessingDetailsResource.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateStateTaxProcessingDetailsResource.php
index a30170a..c6833ae 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateStateTaxProcessingDetailsResource.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateStateTaxProcessingDetailsResource.php
@@ -11,6 +11,6 @@
final readonly class DFeTech_TaxPayers_Resources_CreateStateTaxProcessingDetailsResource
{
public function __construct(
- public ?DFeTech.TaxPayers.Resources.StateTaxProcessingSwitchAuthorizerStrategyResource $switchAuthorizerStrategy = null,
+ public ?DFeTech_TaxPayers_Resources_StateTaxProcessingSwitchAuthorizerStrategyResource $switchAuthorizerStrategy = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateStateTaxResource.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateStateTaxResource.php
index 413d788..1a7f546 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateStateTaxResource.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateStateTaxResource.php
@@ -11,6 +11,6 @@
final readonly class DFeTech_TaxPayers_Resources_CreateStateTaxResource
{
public function __construct(
- public ?DFeTech.TaxPayers.Resources.CreateStateTaxResourceItem $stateTax = null,
+ public ?DFeTech_TaxPayers_Resources_CreateStateTaxResourceItem $stateTax = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateStateTaxResourceItem.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateStateTaxResourceItem.php
index 6864fc5..a432cb4 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateStateTaxResourceItem.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_CreateStateTaxResourceItem.php
@@ -11,14 +11,14 @@
final readonly class DFeTech_TaxPayers_Resources_CreateStateTaxResourceItem
{
public function __construct(
- public DFeTech.TaxPayers.Domain.Entities.StateCode $code,
+ public DFeTech_TaxPayers_Domain_Entities_StateCode $code,
public string $taxNumber,
- public DFeTech.TaxPayers.Domain.Entities.StateTaxType $type,
- public ?DFeTech.TaxPayers.Domain.Entities.EnvironmentType $environmentType = null,
- public ?DFeTech.TaxPayers.Domain.Entities.SpecialTaxRegime $specialTaxRegime = null,
+ public DFeTech_TaxPayers_Domain_Entities_StateTaxType $type,
+ public ?DFeTech_TaxPayers_Domain_Entities_EnvironmentType $environmentType = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_SpecialTaxRegime $specialTaxRegime = null,
public ?int $serie = null,
public ?int $number = null,
- public ?DFeTech.TaxPayers.Domain.Entities.SecurityCredential $securityCredential = null,
- public ?DFeTech.TaxPayers.Resources.CreateStateTaxProcessingDetailsResource $processingDetails = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_SecurityCredential $securityCredential = null,
+ public ?DFeTech_TaxPayers_Resources_CreateStateTaxProcessingDetailsResource $processingDetails = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_MunicipalTaxResource.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_MunicipalTaxResource.php
index f4fdac6..9ecca76 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_MunicipalTaxResource.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_MunicipalTaxResource.php
@@ -14,6 +14,6 @@
final readonly class DFeTech_TaxPayers_Resources_MunicipalTaxResource
{
public function __construct(
- public ?DFeTech.TaxPayers.Resources.MunicipalTaxResourceItem $municipalTax = null,
+ public ?DFeTech_TaxPayers_Resources_MunicipalTaxResourceItem $municipalTax = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_MunicipalTaxResourceItem.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_MunicipalTaxResourceItem.php
index 055d639..5c97887 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_MunicipalTaxResourceItem.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_MunicipalTaxResourceItem.php
@@ -17,22 +17,22 @@ public function __construct(
public ?string $id = null,
public ?string $companyId = null,
public ?string $accountId = null,
- public ?DFeTech.TaxPayers.Domain.Entities.Status $status = null,
- public ?DFeTech.TaxPayers.Domain.Entities.CityExtended $city = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_Status $status = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_CityExtended $city = null,
public ?string $taxNumber = null,
- public ?DFeTech.TaxPayers.Domain.Entities.SpecialTaxRegime $specialTaxRegime = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_SpecialTaxRegime $specialTaxRegime = null,
public ?string $email = null,
- public ?DFeTech.TaxPayers.Domain.Entities.LegalNature $legalNature = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_LegalNature $legalNature = null,
public ?int $companyRegistryNumber = null,
public ?int $regionalTaxNumber = null,
public ?string $rpsSerialNumber = null,
public ?int $rpsNumber = null,
public ?int $lastRpsSent = null,
public ?float $issRate = null,
- public ?DFeTech.TaxPayers.Domain.Entities.ApiEnvironment $environment = null,
- public ?DFeTech.TaxPayers.Domain.Entities.CompanyFiscalStatus $fiscalStatus = null,
- public ?DFeTech.TaxPayers.Domain.Entities.FederalTaxDeterminationBy $federalTaxDetermination = null,
- public ?DFeTech.TaxPayers.Domain.Entities.MunicipalTaxDeterminationBy $municipalTaxDetermination = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_ApiEnvironment $environment = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_CompanyFiscalStatus $fiscalStatus = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_FederalTaxDeterminationBy $federalTaxDetermination = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_MunicipalTaxDeterminationBy $municipalTaxDetermination = null,
public ?string $loginName = null,
public ?string $loginPassword = null,
public ?string $authIssueValue = null,
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_SerieResource.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_SerieResource.php
index 9429fcc..41eb0b8 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_SerieResource.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_SerieResource.php
@@ -11,6 +11,6 @@
final readonly class DFeTech_TaxPayers_Resources_SerieResource
{
public function __construct(
- public ?DFeTech.TaxPayers.Resources.SerieResourceItem $serie = null,
+ public ?DFeTech_TaxPayers_Resources_SerieResourceItem $serie = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_StateTaxResource.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_StateTaxResource.php
index 33dd43b..30a9650 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_StateTaxResource.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_StateTaxResource.php
@@ -14,6 +14,6 @@
final readonly class DFeTech_TaxPayers_Resources_StateTaxResource
{
public function __construct(
- public ?DFeTech.TaxPayers.Resources.StateTaxResourceItem $stateTax = null,
+ public ?DFeTech_TaxPayers_Resources_StateTaxResourceItem $stateTax = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_StateTaxResourceItem.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_StateTaxResourceItem.php
index 586d9f9..d141c7a 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_StateTaxResourceItem.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_StateTaxResourceItem.php
@@ -14,19 +14,19 @@
final readonly class DFeTech_TaxPayers_Resources_StateTaxResourceItem
{
public function __construct(
- public DFeTech.TaxPayers.Domain.Entities.StateCode $code,
+ public DFeTech_TaxPayers_Domain_Entities_StateCode $code,
public string $taxNumber,
- public DFeTech.TaxPayers.Domain.Entities.StateTaxType $type,
- public ?DFeTech.TaxPayers.Domain.Entities.EnvironmentType $environmentType = null,
- public ?DFeTech.TaxPayers.Domain.Entities.SpecialTaxRegime $specialTaxRegime = null,
+ public DFeTech_TaxPayers_Domain_Entities_StateTaxType $type,
+ public ?DFeTech_TaxPayers_Domain_Entities_EnvironmentType $environmentType = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_SpecialTaxRegime $specialTaxRegime = null,
public ?int $serie = null,
public ?int $number = null,
- public ?DFeTech.TaxPayers.Domain.Entities.SecurityCredential $securityCredential = null,
- public ?DFeTech.TaxPayers.Resources.CreateStateTaxProcessingDetailsResource $processingDetails = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_SecurityCredential $securityCredential = null,
+ public ?DFeTech_TaxPayers_Resources_CreateStateTaxProcessingDetailsResource $processingDetails = null,
public ?string $id = null,
public ?string $companyId = null,
public ?string $accountId = null,
- public ?DFeTech.TaxPayers.Domain.Entities.Status $status = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_Status $status = null,
public ?array $series = null,
public ?string $createdOn = null,
public ?string $modifiedOn = null,
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_StateTaxSwitchAuthorizerRequest.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_StateTaxSwitchAuthorizerRequest.php
index 766b3da..bb6ddaf 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_StateTaxSwitchAuthorizerRequest.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_StateTaxSwitchAuthorizerRequest.php
@@ -11,7 +11,7 @@
final readonly class DFeTech_TaxPayers_Resources_StateTaxSwitchAuthorizerRequest
{
public function __construct(
- public ?DFeTech.TaxPayers.Resources.StateTaxProcessingAuthorizerResource $authorizer = null,
+ public ?DFeTech_TaxPayers_Resources_StateTaxProcessingAuthorizerResource $authorizer = null,
public ?string $reason = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_StateTaxSwitchAuthorizerResponse.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_StateTaxSwitchAuthorizerResponse.php
index 06f4978..c74fe33 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_StateTaxSwitchAuthorizerResponse.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_StateTaxSwitchAuthorizerResponse.php
@@ -11,8 +11,8 @@
final readonly class DFeTech_TaxPayers_Resources_StateTaxSwitchAuthorizerResponse
{
public function __construct(
- public ?DFeTech.TaxPayers.Domain.Entities.StateTaxProcessingAuthorizer $fromAuthorizer = null,
- public ?DFeTech.TaxPayers.Domain.Entities.StateTaxProcessingAuthorizer $toAuthorizer = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_StateTaxProcessingAuthorizer $fromAuthorizer = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_StateTaxProcessingAuthorizer $toAuthorizer = null,
public ?string $reason = null,
public ?string $modifiedOn = null,
) {}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateCompanyResource.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateCompanyResource.php
index bd1fce3..4f1939b 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateCompanyResource.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateCompanyResource.php
@@ -14,6 +14,6 @@
final readonly class DFeTech_TaxPayers_Resources_UpdateCompanyResource
{
public function __construct(
- public ?DFeTech.TaxPayers.Resources.UpdateCompanyResourceItem $company = null,
+ public ?DFeTech_TaxPayers_Resources_UpdateCompanyResourceItem $company = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateCompanyResourceItem.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateCompanyResourceItem.php
index 253101c..fe10c9d 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateCompanyResourceItem.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateCompanyResourceItem.php
@@ -16,8 +16,8 @@
public function __construct(
public string $name,
public int $federalTaxNumber,
- public DFeTech.TaxPayers.Domain.Entities.TaxRegime $taxRegime,
- public DFeTech.TaxPayers.Resources.AddressResource $address,
+ public DFeTech_TaxPayers_Domain_Entities_TaxRegime $taxRegime,
+ public DFeTech_TaxPayers_Resources_AddressResource $address,
public ?string $accountId = null,
public ?string $tradeName = null,
public ?string $municipalTaxNumber = null,
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateMunicipalTaxResource.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateMunicipalTaxResource.php
index 2a11111..349393d 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateMunicipalTaxResource.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateMunicipalTaxResource.php
@@ -11,6 +11,6 @@
final readonly class DFeTech_TaxPayers_Resources_UpdateMunicipalTaxResource
{
public function __construct(
- public ?DFeTech.TaxPayers.Resources.UpdateMunicipalTaxResourceItem $municipalTax = null,
+ public ?DFeTech_TaxPayers_Resources_UpdateMunicipalTaxResourceItem $municipalTax = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateMunicipalTaxResourceItem.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateMunicipalTaxResourceItem.php
index 66b8212..02c6577 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateMunicipalTaxResourceItem.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateMunicipalTaxResourceItem.php
@@ -11,22 +11,22 @@
final readonly class DFeTech_TaxPayers_Resources_UpdateMunicipalTaxResourceItem
{
public function __construct(
- public ?DFeTech.TaxPayers.Domain.Entities.CityExtended $city = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_CityExtended $city = null,
public ?string $taxNumber = null,
- public ?DFeTech.TaxPayers.Domain.Entities.SpecialTaxRegime $specialTaxRegime = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_SpecialTaxRegime $specialTaxRegime = null,
public ?string $email = null,
- public ?DFeTech.TaxPayers.Domain.Entities.LegalNature $legalNature = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_LegalNature $legalNature = null,
public ?int $companyRegistryNumber = null,
public ?int $regionalTaxNumber = null,
public ?int $rpsNumber = null,
public ?int $lastRpsSent = null,
public ?float $issRate = null,
- public ?DFeTech.TaxPayers.Domain.Entities.FederalTaxDeterminationBy $federalTaxDetermination = null,
- public ?DFeTech.TaxPayers.Domain.Entities.MunicipalTaxDeterminationBy $municipalTaxDetermination = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_FederalTaxDeterminationBy $federalTaxDetermination = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_MunicipalTaxDeterminationBy $municipalTaxDetermination = null,
public ?string $loginName = null,
public ?string $loginPassword = null,
public ?string $authIssueValue = null,
- public ?DFeTech.TaxPayers.Domain.Entities.ApiEnvironment $environment = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_ApiEnvironment $environment = null,
public ?string $rpsSerialNumber = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateStateTaxResource.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateStateTaxResource.php
index a775acc..ad16325 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateStateTaxResource.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateStateTaxResource.php
@@ -11,6 +11,6 @@
final readonly class DFeTech_TaxPayers_Resources_UpdateStateTaxResource
{
public function __construct(
- public ?DFeTech.TaxPayers.Resources.UpdateStateTaxResourceItem $stateTax = null,
+ public ?DFeTech_TaxPayers_Resources_UpdateStateTaxResourceItem $stateTax = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateStateTaxResourceItem.php b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateStateTaxResourceItem.php
index e113940..b452d76 100644
--- a/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateStateTaxResourceItem.php
+++ b/src/Generated/ContribuintesV2/DFeTech_TaxPayers_Resources_UpdateStateTaxResourceItem.php
@@ -11,14 +11,14 @@
final readonly class DFeTech_TaxPayers_Resources_UpdateStateTaxResourceItem
{
public function __construct(
- public DFeTech.TaxPayers.Domain.Entities.StateCode $code,
+ public DFeTech_TaxPayers_Domain_Entities_StateCode $code,
public string $taxNumber,
- public DFeTech.TaxPayers.Domain.Entities.StateTaxType $type,
- public ?DFeTech.TaxPayers.Domain.Entities.EnvironmentType $environmentType = null,
- public ?DFeTech.TaxPayers.Domain.Entities.SpecialTaxRegime $specialTaxRegime = null,
+ public DFeTech_TaxPayers_Domain_Entities_StateTaxType $type,
+ public ?DFeTech_TaxPayers_Domain_Entities_EnvironmentType $environmentType = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_SpecialTaxRegime $specialTaxRegime = null,
public ?int $serie = null,
public ?int $number = null,
- public ?DFeTech.TaxPayers.Domain.Entities.SecurityCredential $securityCredential = null,
- public ?DFeTech.TaxPayers.Resources.CreateStateTaxProcessingDetailsResource $processingDetails = null,
+ public ?DFeTech_TaxPayers_Domain_Entities_SecurityCredential $securityCredential = null,
+ public ?DFeTech_TaxPayers_Resources_CreateStateTaxProcessingDetailsResource $processingDetails = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmEntityContainer.php b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmEntityContainer.php
index 1f81dd4..5787f45 100644
--- a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmEntityContainer.php
+++ b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmEntityContainer.php
@@ -9,13 +9,13 @@
namespace Nfe\Generated\ContribuintesV2;
/**
- * @param list|null $elements
+ * @param list|null $elements
*/
final readonly class Microsoft_OData_Edm_IEdmEntityContainer
{
public function __construct(
public ?string $name = null,
- public ?Microsoft.OData.Edm.EdmSchemaElementKind $schemaElementKind = null,
+ public ?Microsoft_OData_Edm_EdmSchemaElementKind $schemaElementKind = null,
public ?string $namespace = null,
public ?array $elements = null,
) {}
diff --git a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmEntityContainerElement.php b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmEntityContainerElement.php
index 084d527..f4368e6 100644
--- a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmEntityContainerElement.php
+++ b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmEntityContainerElement.php
@@ -12,7 +12,7 @@
{
public function __construct(
public ?string $name = null,
- public ?Microsoft.OData.Edm.EdmContainerElementKind $containerElementKind = null,
- public ?Microsoft.OData.Edm.IEdmEntityContainer $container = null,
+ public ?Microsoft_OData_Edm_EdmContainerElementKind $containerElementKind = null,
+ public ?Microsoft_OData_Edm_IEdmEntityContainer $container = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmExpression.php b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmExpression.php
index d7d7f78..f1502d7 100644
--- a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmExpression.php
+++ b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmExpression.php
@@ -11,6 +11,6 @@
final readonly class Microsoft_OData_Edm_IEdmExpression
{
public function __construct(
- public ?Microsoft.OData.Edm.EdmExpressionKind $expressionKind = null,
+ public ?Microsoft_OData_Edm_EdmExpressionKind $expressionKind = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmModel.php b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmModel.php
index 7d68ae5..7e3bf08 100644
--- a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmModel.php
+++ b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmModel.php
@@ -9,9 +9,9 @@
namespace Nfe\Generated\ContribuintesV2;
/**
- * @param list|null $schemaElements
- * @param list|null $vocabularyAnnotations
- * @param list|null $referencedModels
+ * @param list|null $schemaElements
+ * @param list|null $vocabularyAnnotations
+ * @param list|null $referencedModels
* @param list|null $declaredNamespaces
*/
final readonly class Microsoft_OData_Edm_IEdmModel
@@ -21,7 +21,7 @@ public function __construct(
public ?array $vocabularyAnnotations = null,
public ?array $referencedModels = null,
public ?array $declaredNamespaces = null,
- public ?Microsoft.OData.Edm.Vocabularies.IEdmDirectValueAnnotationsManager $directValueAnnotationsManager = null,
- public ?Microsoft.OData.Edm.IEdmEntityContainer $entityContainer = null,
+ public ?Microsoft_OData_Edm_Vocabularies_IEdmDirectValueAnnotationsManager $directValueAnnotationsManager = null,
+ public ?Microsoft_OData_Edm_IEdmEntityContainer $entityContainer = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmSchemaElement.php b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmSchemaElement.php
index 0bef5ad..05340d3 100644
--- a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmSchemaElement.php
+++ b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmSchemaElement.php
@@ -12,7 +12,7 @@
{
public function __construct(
public ?string $name = null,
- public ?Microsoft.OData.Edm.EdmSchemaElementKind $schemaElementKind = null,
+ public ?Microsoft_OData_Edm_EdmSchemaElementKind $schemaElementKind = null,
public ?string $namespace = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmType.php b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmType.php
index 6b9a01b..66b6190 100644
--- a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmType.php
+++ b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmType.php
@@ -11,6 +11,6 @@
final readonly class Microsoft_OData_Edm_IEdmType
{
public function __construct(
- public ?Microsoft.OData.Edm.EdmTypeKind $typeKind = null,
+ public ?Microsoft_OData_Edm_EdmTypeKind $typeKind = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmTypeReference.php b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmTypeReference.php
index 37ccdbd..c02cbd2 100644
--- a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmTypeReference.php
+++ b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_IEdmTypeReference.php
@@ -12,6 +12,6 @@
{
public function __construct(
public ?bool $isNullable = null,
- public ?Microsoft.OData.Edm.IEdmType $definition = null,
+ public ?Microsoft_OData_Edm_IEdmType $definition = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_Vocabularies_IEdmTerm.php b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_Vocabularies_IEdmTerm.php
index 9dd623e..a4443f7 100644
--- a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_Vocabularies_IEdmTerm.php
+++ b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_Vocabularies_IEdmTerm.php
@@ -12,9 +12,9 @@
{
public function __construct(
public ?string $name = null,
- public ?Microsoft.OData.Edm.EdmSchemaElementKind $schemaElementKind = null,
+ public ?Microsoft_OData_Edm_EdmSchemaElementKind $schemaElementKind = null,
public ?string $namespace = null,
- public ?Microsoft.OData.Edm.IEdmTypeReference $type = null,
+ public ?Microsoft_OData_Edm_IEdmTypeReference $type = null,
public ?string $appliesTo = null,
public ?string $defaultValue = null,
) {}
diff --git a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_Vocabularies_IEdmVocabularyAnnotation.php b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_Vocabularies_IEdmVocabularyAnnotation.php
index 8230843..0dfd279 100644
--- a/src/Generated/ContribuintesV2/Microsoft_OData_Edm_Vocabularies_IEdmVocabularyAnnotation.php
+++ b/src/Generated/ContribuintesV2/Microsoft_OData_Edm_Vocabularies_IEdmVocabularyAnnotation.php
@@ -12,9 +12,9 @@
{
public function __construct(
public ?string $qualifier = null,
- public ?Microsoft.OData.Edm.Vocabularies.IEdmTerm $term = null,
- public ?Microsoft.OData.Edm.Vocabularies.IEdmVocabularyAnnotatable $target = null,
- public ?Microsoft.OData.Edm.IEdmExpression $value = null,
+ public ?Microsoft_OData_Edm_Vocabularies_IEdmTerm $term = null,
+ public ?Microsoft_OData_Edm_Vocabularies_IEdmVocabularyAnnotatable $target = null,
+ public ?Microsoft_OData_Edm_IEdmExpression $value = null,
public ?bool $usesDefault = null,
) {}
}
diff --git a/src/Generated/ContribuintesV2/Microsoft_OData_ODataEntitySetInfo.php b/src/Generated/ContribuintesV2/Microsoft_OData_ODataEntitySetInfo.php
index 25ca55c..5de1ce3 100644
--- a/src/Generated/ContribuintesV2/Microsoft_OData_ODataEntitySetInfo.php
+++ b/src/Generated/ContribuintesV2/Microsoft_OData_ODataEntitySetInfo.php
@@ -11,7 +11,7 @@
final readonly class Microsoft_OData_ODataEntitySetInfo
{
public function __construct(
- public ?Microsoft.OData.ODataTypeAnnotation $typeAnnotation = null,
+ public ?Microsoft_OData_ODataTypeAnnotation $typeAnnotation = null,
public ?string $url = null,
public ?string $name = null,
public ?string $title = null,
diff --git a/src/Generated/ContribuintesV2/Microsoft_OData_ODataFunctionImportInfo.php b/src/Generated/ContribuintesV2/Microsoft_OData_ODataFunctionImportInfo.php
index c16fdb6..5779887 100644
--- a/src/Generated/ContribuintesV2/Microsoft_OData_ODataFunctionImportInfo.php
+++ b/src/Generated/ContribuintesV2/Microsoft_OData_ODataFunctionImportInfo.php
@@ -11,7 +11,7 @@
final readonly class Microsoft_OData_ODataFunctionImportInfo
{
public function __construct(
- public ?Microsoft.OData.ODataTypeAnnotation $typeAnnotation = null,
+ public ?Microsoft_OData_ODataTypeAnnotation $typeAnnotation = null,
public ?string $url = null,
public ?string $name = null,
public ?string $title = null,
diff --git a/src/Generated/ContribuintesV2/Microsoft_OData_ODataServiceDocument.php b/src/Generated/ContribuintesV2/Microsoft_OData_ODataServiceDocument.php
index 6024459..eca758d 100644
--- a/src/Generated/ContribuintesV2/Microsoft_OData_ODataServiceDocument.php
+++ b/src/Generated/ContribuintesV2/Microsoft_OData_ODataServiceDocument.php
@@ -9,14 +9,14 @@
namespace Nfe\Generated\ContribuintesV2;
/**
- * @param list|null $entitySets
- * @param list|null $singletons
- * @param list|null $functionImports
+ * @param list|null $entitySets
+ * @param list|null $singletons
+ * @param list|null $functionImports
*/
final readonly class Microsoft_OData_ODataServiceDocument
{
public function __construct(
- public ?Microsoft.OData.ODataTypeAnnotation $typeAnnotation = null,
+ public ?Microsoft_OData_ODataTypeAnnotation $typeAnnotation = null,
public ?array $entitySets = null,
public ?array $singletons = null,
public ?array $functionImports = null,
diff --git a/src/Generated/ContribuintesV2/Microsoft_OData_ODataSingletonInfo.php b/src/Generated/ContribuintesV2/Microsoft_OData_ODataSingletonInfo.php
index 53d7714..895e56d 100644
--- a/src/Generated/ContribuintesV2/Microsoft_OData_ODataSingletonInfo.php
+++ b/src/Generated/ContribuintesV2/Microsoft_OData_ODataSingletonInfo.php
@@ -11,7 +11,7 @@
final readonly class Microsoft_OData_ODataSingletonInfo
{
public function __construct(
- public ?Microsoft.OData.ODataTypeAnnotation $typeAnnotation = null,
+ public ?Microsoft_OData_ODataTypeAnnotation $typeAnnotation = null,
public ?string $url = null,
public ?string $name = null,
public ?string $title = null,
diff --git a/src/Version.php b/src/Version.php
index ad4690b..c12409f 100644
--- a/src/Version.php
+++ b/src/Version.php
@@ -12,5 +12,5 @@
*/
final class Version
{
- public const CURRENT = '3.4.0';
+ public const CURRENT = '3.4.1';
}
diff --git a/tests/Generator/GeneratorSummaryTest.php b/tests/Generator/GeneratorSummaryTest.php
new file mode 100644
index 0000000..f2546e5
--- /dev/null
+++ b/tests/Generator/GeneratorSummaryTest.php
@@ -0,0 +1,84 @@
+tempRoot = sys_get_temp_dir() . '/nfe-sdk-summary-test-' . bin2hex(random_bytes(4));
+ $this->specsDir = $this->tempRoot . '/openapi';
+ mkdir($this->specsDir, 0o755, true);
+
+ file_put_contents($this->specsDir . '/with-schemas-v1.yaml', <<<'YAML'
+ openapi: 3.0.1
+ info: { title: With Schemas, version: "1.0" }
+ paths: {}
+ components:
+ schemas:
+ Borrower:
+ type: object
+ required: [name]
+ properties:
+ name: { type: string }
+ YAML);
+
+ file_put_contents($this->specsDir . '/legacy-swagger-v1.yaml', <<<'YAML'
+ swagger: "2.0"
+ info: { title: Legacy, version: "1.0" }
+ paths: {}
+ YAML);
+
+ file_put_contents($this->specsDir . '/empty-openapi3-v1.yaml', <<<'YAML'
+ openapi: 3.0.1
+ info: { title: Empty, version: "1.0" }
+ paths: {}
+ YAML);
+});
+
+afterEach(function (): void {
+ foreach (glob($this->specsDir . '/*.yaml') ?: [] as $f) {
+ @unlink($f);
+ }
+ @rmdir($this->specsDir);
+ @rmdir($this->tempRoot);
+});
+
+it('reports every spec with its emitted count, flagging Swagger 2.0 as such', function (): void {
+ $generator = new Generator(
+ specsDir: $this->specsDir,
+ outputRoot: $this->tempRoot . '/out',
+ );
+
+ $summary = $generator->specSummary();
+ $byName = array_column($summary, null, 'spec');
+
+ expect($byName)->toHaveCount(3);
+
+ expect($byName['with-schemas-v1.yaml']['emitted'])->toBe(1);
+ expect($byName['with-schemas-v1.yaml']['swagger2'])->toBeFalse();
+
+ // Swagger 2.0: zero output is expected — informational, not a regression.
+ expect($byName['legacy-swagger-v1.yaml']['emitted'])->toBe(0);
+ expect($byName['legacy-swagger-v1.yaml']['swagger2'])->toBeTrue();
+
+ // OpenAPI 3.x with zero schemas: the summary must expose it (warning-worthy)
+ // while the generator itself still completes without error.
+ expect($byName['empty-openapi3-v1.yaml']['emitted'])->toBe(0);
+ expect($byName['empty-openapi3-v1.yaml']['swagger2'])->toBeFalse();
+});
+
+it('accepts a precomputed file map and does not regenerate', function (): void {
+ $generator = new Generator(
+ specsDir: $this->specsDir,
+ outputRoot: $this->tempRoot . '/out',
+ );
+
+ $files = $generator->generate();
+ $summary = $generator->specSummary($files);
+
+ expect(array_column($summary, 'emitted', 'spec'))->toBe([
+ 'empty-openapi3-v1.yaml' => 0,
+ 'legacy-swagger-v1.yaml' => 0,
+ 'with-schemas-v1.yaml' => 1,
+ ]);
+});
diff --git a/tests/Generator/LinterTest.php b/tests/Generator/LinterTest.php
new file mode 100644
index 0000000..0063c99
--- /dev/null
+++ b/tests/Generator/LinterTest.php
@@ -0,0 +1,34 @@
+ "toBe([]);
+});
+
+it('flags a file with a dotted type-hint (the historical bug) as a parse failure', function (): void {
+ $files = [
+ 'ContribuintesV2/Bad.php' => " "toHaveCount(1);
+ expect($errors[0])->toStartWith('ContribuintesV2/Bad.php: ');
+});
+
+it('lists every offending file, not just the first', function (): void {
+ $files = [
+ 'A/One.php' => " "toHaveCount(2);
+});
diff --git a/tests/Generator/TypeMapperTest.php b/tests/Generator/TypeMapperTest.php
new file mode 100644
index 0000000..6fb2501
--- /dev/null
+++ b/tests/Generator/TypeMapperTest.php
@@ -0,0 +1,67 @@
+ '#/components/schemas/DFeTech.TaxPayers.Resources.CompanyResourceItem'],
+ 'Nfe\\Generated\\ContribuintesV2',
+ );
+
+ expect($mapped['php'])->toBe('DFeTech_TaxPayers_Resources_CompanyResourceItem');
+ expect($mapped['nullable'])->toBeFalse();
+});
+
+it('sanitises a dotted schema name in a nullable $ref', function (): void {
+ $mapped = TypeMapper::map(
+ [
+ '$ref' => '#/components/schemas/DFeTech.TaxPayers.Resources.MunicipalTaxResourceItem',
+ 'nullable' => true,
+ ],
+ 'Nfe\\Generated\\ContribuintesV2',
+ );
+
+ expect($mapped['php'])->toBe('?DFeTech_TaxPayers_Resources_MunicipalTaxResourceItem');
+ expect($mapped['nullable'])->toBeTrue();
+});
+
+it('sanitises dotted schema names inside a oneOf union', function (): void {
+ $mapped = TypeMapper::map(
+ [
+ 'oneOf' => [
+ ['$ref' => '#/components/schemas/DFeTech.TaxPayers.A'],
+ ['$ref' => '#/components/schemas/DFeTech.TaxPayers.B'],
+ ],
+ ],
+ 'Nfe\\Generated\\ContribuintesV2',
+ );
+
+ expect($mapped['php'])->toBe('DFeTech_TaxPayers_A|DFeTech_TaxPayers_B');
+});
+
+it('sanitises dotted schema names used as array item types', function (): void {
+ $mapped = TypeMapper::map(
+ [
+ 'type' => 'array',
+ 'items' => ['$ref' => '#/components/schemas/DFeTech.TaxPayers.Resources.StateTaxResourceItem'],
+ ],
+ 'Nfe\\Generated\\ContribuintesV2',
+ );
+
+ expect($mapped['php'])->toBe('array');
+ expect($mapped['doc'])->toBe('list');
+});
+
+it('leaves already-valid ref names untouched', function (): void {
+ $mapped = TypeMapper::map(['$ref' => '#/components/schemas/Borrower'], 'Nfe\\Generated\\ContribuintesV2');
+
+ expect($mapped['php'])->toBe('Borrower');
+});
+
+it('prefixes a ref name that starts with a digit', function (): void {
+ $mapped = TypeMapper::map(['$ref' => '#/components/schemas/123Thing'], 'Nfe\\Generated\\ContribuintesV2');
+
+ expect($mapped['php'])->toBe('_123Thing');
+});