@useinvio/nfse-sdk 2.2.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/JSON_MAPPING.md +30 -17
- package/README.md +145 -67
- package/dist/agent.d.ts +86 -0
- package/dist/agent.js +235 -0
- package/dist/agent.js.map +1 -0
- package/dist/certificate.d.ts +96 -0
- package/dist/certificate.js +218 -0
- package/dist/certificate.js.map +1 -0
- package/dist/certificateValidation.d.ts +12 -5
- package/dist/certificateValidation.js +25 -9
- package/dist/certificateValidation.js.map +1 -1
- package/dist/client.d.ts +8 -3
- package/dist/client.js +8 -7
- package/dist/client.js.map +1 -1
- package/dist/decimal.d.ts +7 -0
- package/dist/decimal.js +24 -0
- package/dist/decimal.js.map +1 -0
- package/dist/dpsJson.js +15 -45
- package/dist/dpsJson.js.map +1 -1
- package/dist/dpsJsonSchema.d.ts +17 -0
- package/dist/dpsJsonSchema.js +184 -0
- package/dist/dpsJsonSchema.js.map +1 -0
- package/dist/dpsNormalization.d.ts +10 -0
- package/dist/dpsNormalization.js +85 -0
- package/dist/dpsNormalization.js.map +1 -0
- package/dist/emissaoNota.d.ts +4 -4
- package/dist/emissaoNota.js +27 -8
- package/dist/emissaoNota.js.map +1 -1
- package/dist/fiscalDomains.d.ts +22 -0
- package/dist/fiscalDomains.js +99 -0
- package/dist/fiscalDomains.js.map +1 -0
- package/dist/fiscalValidation.d.ts +1 -0
- package/dist/fiscalValidation.js +119 -88
- package/dist/fiscalValidation.js.map +1 -1
- package/dist/index.d.ts +9 -4
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/jsonSchemaCheck.d.ts +12 -0
- package/dist/jsonSchemaCheck.js +70 -0
- package/dist/jsonSchemaCheck.js.map +1 -0
- package/dist/loadPfx.d.ts +2 -0
- package/dist/loadPfx.js +2 -1
- package/dist/loadPfx.js.map +1 -1
- package/dist/sefinClient.d.ts +10 -4
- package/dist/sefinClient.js +22 -4
- package/dist/sefinClient.js.map +1 -1
- package/dist/signXml.d.ts +3 -3
- package/dist/signXml.js +8 -6
- package/dist/signXml.js.map +1 -1
- package/dist/xmlInspection.d.ts +6 -0
- package/dist/xmlInspection.js +62 -0
- package/dist/xmlInspection.js.map +1 -0
- package/dist/xsdValidation.d.ts +17 -5
- package/dist/xsdValidation.js +75 -67
- package/dist/xsdValidation.js.map +1 -1
- package/docs/CORRECOES_EMISSAO.md +55 -0
- package/docs/FISCAL_MATRIX.md +11 -0
- package/docs/REGRAS_NEGOCIO_EMISSAO.md +317 -0
- package/examples/README.md +4 -1
- package/examples/client-resource.ts +8 -44
- package/examples/emit-homologation.ts +4 -40
- package/examples/generate-dps-xml.ts +3 -40
- package/examples/handle-errors.ts +6 -5
- package/examples/payloads.ts +36 -0
- package/llms.txt +22 -7
- package/package.json +9 -4
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { X509Certificate } from 'node:crypto';
|
|
1
2
|
import forge from 'node-forge';
|
|
3
|
+
import { icpBrasilTaxIds, NfseCertificate, resolveCredentials } from './certificate.js';
|
|
2
4
|
export class CertificateValidationError extends Error {
|
|
3
5
|
code;
|
|
4
6
|
constructor(code, message) {
|
|
@@ -7,20 +9,34 @@ export class CertificateValidationError extends Error {
|
|
|
7
9
|
this.name = 'CertificateValidationError';
|
|
8
10
|
}
|
|
9
11
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
function validityOf(input) {
|
|
13
|
+
if (input instanceof NfseCertificate)
|
|
14
|
+
return input;
|
|
15
|
+
const x509 = new X509Certificate(resolveCredentials(input).certPem);
|
|
16
|
+
return { notBefore: new Date(x509.validFrom), notAfter: new Date(x509.validTo) };
|
|
17
|
+
}
|
|
18
|
+
/** Validity is checked at signing time and again immediately before transmission. */
|
|
19
|
+
export function assertCertificateValidity(certificate, now = new Date()) {
|
|
20
|
+
const { notBefore, notAfter } = validityOf(certificate);
|
|
21
|
+
if (now < notBefore) {
|
|
14
22
|
throw new CertificateValidationError('CERTIFICATE_NOT_YET_VALID', 'O certificado digital ainda nao esta vigente.');
|
|
15
23
|
}
|
|
16
|
-
if (now >=
|
|
24
|
+
if (now >= notAfter) {
|
|
17
25
|
throw new CertificateValidationError('CERTIFICATE_EXPIRED', 'O certificado digital esta expirado.');
|
|
18
26
|
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Explicit holder check against the ICP-Brasil CNPJ/CPF fields of the
|
|
30
|
+
* certificate (otherName OIDs 2.16.76.1.3.3 / 2.16.76.1.3.1, or the
|
|
31
|
+
* `NOME:DOCUMENTO` common name). Does not resolve fiscal representation.
|
|
32
|
+
*/
|
|
33
|
+
export function assertCertificateForProvider(certificate, providerTaxId, now = new Date()) {
|
|
34
|
+
assertCertificateValidity(certificate, now);
|
|
19
35
|
const expected = providerTaxId.replace(/\D/g, '');
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (
|
|
36
|
+
const { cnpj, cpf } = certificate instanceof NfseCertificate
|
|
37
|
+
? certificate
|
|
38
|
+
: icpBrasilTaxIds(forge.pki.certificateFromPem(resolveCredentials(certificate).certPem));
|
|
39
|
+
if (expected !== cnpj && expected !== cpf) {
|
|
24
40
|
throw new CertificateValidationError('CERTIFICATE_HOLDER_MISMATCH', 'O titular do certificado digital nao corresponde ao CPF/CNPJ do emitente.');
|
|
25
41
|
}
|
|
26
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certificateValidation.js","sourceRoot":"","sources":["../certificateValidation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"certificateValidation.js","sourceRoot":"","sources":["../certificateValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAyB,MAAM,kBAAkB,CAAC;AAW/G,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAEjC;IADlB,YACkB,IAA+B,EAC/C,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAA2B;QAI/C,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED,SAAS,UAAU,CAAC,KAAuB;IACzC,IAAI,KAAK,YAAY,eAAe;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;IACpE,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;AACnF,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,yBAAyB,CAAC,WAA6B,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE;IACvF,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,GAAG,GAAG,SAAS,EAAE,CAAC;QACpB,MAAM,IAAI,0BAA0B,CAAC,2BAA2B,EAAE,+CAA+C,CAAC,CAAC;IACrH,CAAC;IACD,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,0BAA0B,CAAC,qBAAqB,EAAE,sCAAsC,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,WAA6B,EAAE,aAAqB,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE;IACjH,yBAAyB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,WAAW,YAAY,eAAe;QAC1D,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3F,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QAC1C,MAAM,IAAI,0BAA0B,CAClC,6BAA6B,EAC7B,2EAA2E,CAC5E,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Ambiente } from './config.js';
|
|
2
2
|
import type { DpsJsonInput, DpsJsonRequest, PrestadorProfile, ServicoProfile } from './dpsJson.js';
|
|
3
3
|
import { type ResultadoEmissaoNota } from './emissaoNota.js';
|
|
4
|
-
import {
|
|
4
|
+
import { NfseCertificate } from './certificate.js';
|
|
5
|
+
import type { PfxMaterial } from './loadPfx.js';
|
|
5
6
|
import { type SefinResposta } from './sefinClient.js';
|
|
6
7
|
export type NfseEnvironment = 'sandbox' | 'production' | Ambiente;
|
|
7
8
|
export interface NfseCertificateInput {
|
|
@@ -17,15 +18,19 @@ export interface NfseClientDpsDefaults {
|
|
|
17
18
|
emissao?: Partial<DpsJsonInput>;
|
|
18
19
|
}
|
|
19
20
|
export type CreateInvoiceInput = NfseClientDpsDefaults;
|
|
21
|
+
export interface GetInvoiceOptions {
|
|
22
|
+
ambiente?: Ambiente;
|
|
23
|
+
}
|
|
20
24
|
export interface NfseClientOptions {
|
|
21
25
|
environment?: NfseEnvironment;
|
|
22
|
-
|
|
26
|
+
/** Prefer `NfseCertificate.fromEnv()` / `fromFile()`; raw PFX content and legacy `PfxMaterial` are also accepted. */
|
|
27
|
+
certificate: NfseCertificateInput | NfseCertificate | PfxMaterial;
|
|
23
28
|
defaults?: NfseClientDpsDefaults;
|
|
24
29
|
}
|
|
25
30
|
export interface InvoiceResource {
|
|
26
31
|
create(input: CreateInvoiceInput): Promise<ResultadoEmissaoNota>;
|
|
27
32
|
buildDpsJson(input: CreateInvoiceInput): DpsJsonRequest;
|
|
28
|
-
get(chaveAcesso: string): Promise<SefinResposta>;
|
|
33
|
+
get(chaveAcesso: string, options?: GetInvoiceOptions): Promise<SefinResposta>;
|
|
29
34
|
}
|
|
30
35
|
export declare class NfseClient {
|
|
31
36
|
readonly invoices: InvoiceResource;
|
package/dist/client.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DEFAULT_AMBIENTE } from './config.js';
|
|
2
2
|
import { emitirNfse } from './emissaoNota.js';
|
|
3
|
-
import {
|
|
3
|
+
import { NfseCertificate } from './certificate.js';
|
|
4
4
|
import { consultarNfse } from './sefinClient.js';
|
|
5
5
|
function resolveEnvironment(environment) {
|
|
6
6
|
if (!environment || environment === 'sandbox')
|
|
@@ -36,14 +36,15 @@ export class NfseClient {
|
|
|
36
36
|
defaults;
|
|
37
37
|
constructor(options) {
|
|
38
38
|
this.ambiente = resolveEnvironment(options.environment);
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
const { certificate } = options;
|
|
40
|
+
this.pfx = certificate instanceof NfseCertificate || isPfxMaterial(certificate)
|
|
41
|
+
? certificate
|
|
42
|
+
: NfseCertificate.fromPfx(decodeCertificateContent(certificate), certificate.password);
|
|
42
43
|
this.defaults = options.defaults ?? {};
|
|
43
44
|
this.invoices = {
|
|
44
45
|
create: (input) => this.createInvoice(input),
|
|
45
46
|
buildDpsJson: (input) => this.buildInvoiceDpsJson(input),
|
|
46
|
-
get: (chaveAcesso) => this.getInvoice(chaveAcesso),
|
|
47
|
+
get: (chaveAcesso, options) => this.getInvoice(chaveAcesso, options),
|
|
47
48
|
};
|
|
48
49
|
}
|
|
49
50
|
buildInvoiceDpsJson(input) {
|
|
@@ -70,8 +71,8 @@ export class NfseClient {
|
|
|
70
71
|
const dpsJson = this.buildInvoiceDpsJson(input);
|
|
71
72
|
return emitirNfse(dpsJson, this.pfx, { ambiente: dpsJson.ambiente });
|
|
72
73
|
}
|
|
73
|
-
async getInvoice(chaveAcesso) {
|
|
74
|
-
return consultarNfse(chaveAcesso, this.pfx, this.ambiente);
|
|
74
|
+
async getInvoice(chaveAcesso, options = {}) {
|
|
75
|
+
return consultarNfse(chaveAcesso, this.pfx, options.ambiente ?? this.defaults.ambiente ?? this.ambiente);
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,UAAU,EAA6B,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Decimal arithmetic shared by validation and serialization; no binary float math. */
|
|
2
|
+
export declare function decimalParts(value: string | number): {
|
|
3
|
+
integer: bigint;
|
|
4
|
+
scale: number;
|
|
5
|
+
};
|
|
6
|
+
export declare function fixedDecimal(value: string | number): string;
|
|
7
|
+
export declare function mulDecimal(a: string, b: number): string;
|
package/dist/decimal.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** Decimal arithmetic shared by validation and serialization; no binary float math. */
|
|
2
|
+
export function decimalParts(value) {
|
|
3
|
+
const text = String(value);
|
|
4
|
+
if (!/^\d+(?:\.\d+)?$/.test(text))
|
|
5
|
+
throw new Error(`Decimal invalido: ${text}`);
|
|
6
|
+
const [whole, fraction = ''] = text.split('.');
|
|
7
|
+
return { integer: BigInt(`${whole}${fraction}`), scale: fraction.length };
|
|
8
|
+
}
|
|
9
|
+
function fixedFromInteger(integer, scale, decimals = 2) {
|
|
10
|
+
const divisor = 10n ** BigInt(Math.max(0, scale - decimals));
|
|
11
|
+
const scaled = scale > decimals ? (integer + divisor / 2n) / divisor : integer * 10n ** BigInt(decimals - scale);
|
|
12
|
+
const text = scaled.toString().padStart(decimals + 1, '0');
|
|
13
|
+
return `${text.slice(0, -decimals)}.${text.slice(-decimals)}`;
|
|
14
|
+
}
|
|
15
|
+
export function fixedDecimal(value) {
|
|
16
|
+
const { integer, scale } = decimalParts(value);
|
|
17
|
+
return fixedFromInteger(integer, scale);
|
|
18
|
+
}
|
|
19
|
+
export function mulDecimal(a, b) {
|
|
20
|
+
const left = decimalParts(a);
|
|
21
|
+
const right = decimalParts(b);
|
|
22
|
+
return fixedFromInteger(left.integer * right.integer, left.scale + right.scale);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=decimal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimal.js","sourceRoot":"","sources":["../decimal.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,MAAM,UAAU,YAAY,CAAC,KAAsB;IACjD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IAChF,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,KAAK,GAAG,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe,EAAE,KAAa,EAAE,QAAQ,GAAG,CAAC;IACpE,MAAM,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IACjH,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAsB;IACjD,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAS,EAAE,CAAS;IAC7C,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAClF,CAAC"}
|
package/dist/dpsJson.js
CHANGED
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
import { DEFAULT_AMBIENTE, TP_AMB } from './config.js';
|
|
2
|
-
import {
|
|
2
|
+
import { DpsFiscalValidationError, validateDpsJsonRequest } from './fiscalValidation.js';
|
|
3
|
+
import { fixedDecimal, mulDecimal } from './decimal.js';
|
|
4
|
+
import { resolveValores } from './dpsNormalization.js';
|
|
3
5
|
const NS = 'http://www.sped.fazenda.gov.br/nfse';
|
|
4
6
|
const VERSAO = '1.01';
|
|
5
7
|
const VER_APLIC = 'UseInvio';
|
|
6
|
-
function normalizeRequest(input) {
|
|
7
|
-
const parsed = typeof input === 'string' ? JSON.parse(input) : input;
|
|
8
|
-
if (!parsed?.prestador)
|
|
9
|
-
throw new Error('JSON da DPS deve informar prestador');
|
|
10
|
-
if (!parsed?.servico)
|
|
11
|
-
throw new Error('JSON da DPS deve informar servico');
|
|
12
|
-
if (!parsed?.emissao)
|
|
13
|
-
throw new Error('JSON da DPS deve informar emissao');
|
|
14
|
-
return parsed;
|
|
15
|
-
}
|
|
16
8
|
function escapeXml(value) {
|
|
17
9
|
return String(value)
|
|
18
10
|
.replace(/&/g, '&')
|
|
@@ -47,31 +39,9 @@ function onlyDigits(value) {
|
|
|
47
39
|
function pad(value, length) {
|
|
48
40
|
return onlyDigits(value).padStart(length, '0');
|
|
49
41
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
throw new Error(`Decimal invalido: ${text}`);
|
|
54
|
-
const [whole, fraction = ''] = text.split('.');
|
|
55
|
-
return { integer: BigInt(`${whole}${fraction}`), scale: fraction.length };
|
|
56
|
-
}
|
|
57
|
-
function fixedFromInteger(integer, scale, decimals = 2) {
|
|
58
|
-
const divisor = 10n ** BigInt(Math.max(0, scale - decimals));
|
|
59
|
-
const scaled = scale > decimals ? (integer + divisor / 2n) / divisor : integer * 10n ** BigInt(decimals - scale);
|
|
60
|
-
const text = scaled.toString().padStart(decimals + 1, '0');
|
|
61
|
-
return `${text.slice(0, -decimals)}.${text.slice(-decimals)}`;
|
|
62
|
-
}
|
|
63
|
-
function fixedDecimal(value, decimals = 2) {
|
|
64
|
-
const { integer, scale } = decimalParts(value);
|
|
65
|
-
return fixedFromInteger(integer, scale, decimals);
|
|
66
|
-
}
|
|
67
|
-
function roundMoney(value) { return fixedDecimal(value); }
|
|
68
|
-
function roundRate(value) { return fixedDecimal(value); }
|
|
69
|
-
function roundTaxBurdenRate(value) { return fixedDecimal(value); }
|
|
70
|
-
function mulDecimal(a, b) {
|
|
71
|
-
const left = decimalParts(a);
|
|
72
|
-
const right = decimalParts(b);
|
|
73
|
-
return fixedFromInteger(left.integer * right.integer, left.scale + right.scale, 2);
|
|
74
|
-
}
|
|
42
|
+
const roundMoney = fixedDecimal;
|
|
43
|
+
const roundRate = fixedDecimal;
|
|
44
|
+
const roundTaxBurdenRate = fixedDecimal;
|
|
75
45
|
function nowSaoPauloOffset(date = new Date()) {
|
|
76
46
|
const parts = new Intl.DateTimeFormat('en-CA', {
|
|
77
47
|
timeZone: 'America/Sao_Paulo', year: 'numeric', month: '2-digit', day: '2-digit',
|
|
@@ -80,19 +50,16 @@ function nowSaoPauloOffset(date = new Date()) {
|
|
|
80
50
|
return `${parts.year}-${parts.month}-${parts.day}T${parts.hour}:${parts.minute}:${parts.second}-03:00`;
|
|
81
51
|
}
|
|
82
52
|
function resolveVServ(input) {
|
|
83
|
-
const
|
|
84
|
-
const vServ = values?.vServ ?? input.vServ;
|
|
53
|
+
const { vServ, vServMoeda, cotacao } = resolveValores(input);
|
|
85
54
|
if (vServ)
|
|
86
55
|
return roundMoney(vServ);
|
|
87
|
-
const vServMoeda = values?.vServMoeda ?? input.vServMoeda;
|
|
88
|
-
const cotacao = values?.cotacao ?? input.cotacao;
|
|
89
56
|
if (!vServMoeda || !cotacao) {
|
|
90
57
|
throw new Error('Informe valores.vServ ou (valores.vServMoeda + valores.cotacao) no JSON da DPS.');
|
|
91
58
|
}
|
|
92
59
|
return mulDecimal(vServMoeda, cotacao);
|
|
93
60
|
}
|
|
94
61
|
function resolveVServMoeda(input) {
|
|
95
|
-
return input.
|
|
62
|
+
return resolveValores(input).vServMoeda ?? '0.00';
|
|
96
63
|
}
|
|
97
64
|
export function buildDpsId(prestador, nDPS, serie = prestador.serie) {
|
|
98
65
|
const taxId = prestador.cnpj ?? prestador.cpf;
|
|
@@ -215,7 +182,7 @@ function buildComExt(input, comExt) {
|
|
|
215
182
|
textEl('mdPrestacao', comExt.mdPrestacao),
|
|
216
183
|
textEl('vincPrest', comExt.vincPrest),
|
|
217
184
|
textEl('tpMoeda', comExt.tpMoeda),
|
|
218
|
-
requiredTextEl('vServMoeda', comExt.vServMoeda ?? resolveVServMoeda(input)),
|
|
185
|
+
requiredTextEl('vServMoeda', roundMoney(comExt.vServMoeda ?? resolveVServMoeda(input))),
|
|
219
186
|
textEl('mecAFComexP', comExt.mecAFComexP),
|
|
220
187
|
textEl('mecAFComexT', comExt.mecAFComexT),
|
|
221
188
|
textEl('movTempBens', comExt.movTempBens),
|
|
@@ -223,8 +190,11 @@ function buildComExt(input, comExt) {
|
|
|
223
190
|
].join(''));
|
|
224
191
|
}
|
|
225
192
|
export function buildDpsFromJson(input) {
|
|
226
|
-
const
|
|
227
|
-
|
|
193
|
+
const parsed = typeof input === 'string' ? JSON.parse(input) : input;
|
|
194
|
+
const report = validateDpsJsonRequest(parsed);
|
|
195
|
+
if (!report.valid)
|
|
196
|
+
throw new DpsFiscalValidationError(report);
|
|
197
|
+
const request = report.normalizedPayload;
|
|
228
198
|
const ambiente = request.ambiente ?? DEFAULT_AMBIENTE;
|
|
229
199
|
const { prestador, servico } = request;
|
|
230
200
|
const emissao = request.emissao;
|
|
@@ -248,7 +218,7 @@ export function buildDpsFromJson(input) {
|
|
|
248
218
|
el('locPrest', requiredTextEl('cLocPrestacao', serviceOverride?.cLocPrestacao ?? servico.cLocPrestacao)),
|
|
249
219
|
cServ,
|
|
250
220
|
comExt ? buildComExt(emissao, comExt) : '',
|
|
251
|
-
emissao.obra ? el('obra', textEl('
|
|
221
|
+
emissao.obra ? el('obra', textEl('inscImobFisc', emissao.obra.inscImobFisc) + requiredTextEl('cObra', emissao.obra.cObra)) : '',
|
|
252
222
|
emissao.evento ? el('atvEvento', textEl('xDesc', emissao.evento.xDesc) + textEl('dtEvento', emissao.evento.dtEvento)) : '',
|
|
253
223
|
].join(''));
|
|
254
224
|
const vServPrest = el('vServPrest', requiredTextEl('vServ', vServ) +
|
package/dist/dpsJson.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dpsJson.js","sourceRoot":"","sources":["../dpsJson.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dpsJson.js","sourceRoot":"","sources":["../dpsJson.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON Schema (draft 2020-12) for the canonical `DpsJsonRequest` shape.
|
|
3
|
+
*
|
|
4
|
+
* It describes structure, field formats and code domains so tools and LLMs can
|
|
5
|
+
* generate requests. Cross-field rules (regime x totTrib, national x export,
|
|
6
|
+
* exactly one identifier) are described in the text but enforced only by
|
|
7
|
+
* `validateDpsJsonRequest`, which remains the authority.
|
|
8
|
+
*
|
|
9
|
+
* Only a portable keyword subset is used (type, properties, required,
|
|
10
|
+
* additionalProperties, enum, pattern, minLength, maxLength, exclusiveMinimum,
|
|
11
|
+
* description, title) so the schema works across function-calling providers.
|
|
12
|
+
* Legacy aliases and fields the validator rejects are deliberately omitted.
|
|
13
|
+
*/
|
|
14
|
+
export type JsonSchema = {
|
|
15
|
+
readonly [keyword: string]: unknown;
|
|
16
|
+
};
|
|
17
|
+
export declare const DPS_JSON_REQUEST_SCHEMA: JsonSchema;
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import * as domains from './fiscalDomains.js';
|
|
2
|
+
import { domainValues } from './fiscalDomains.js';
|
|
3
|
+
const DIGITS = (count, description) => ({
|
|
4
|
+
type: 'string',
|
|
5
|
+
pattern: `^\\d{${count}}$`,
|
|
6
|
+
description,
|
|
7
|
+
});
|
|
8
|
+
const IBGE = (description) => DIGITS(7, `${description} Codigo IBGE do municipio, 7 digitos.`);
|
|
9
|
+
const COUNTRY = (description) => ({
|
|
10
|
+
type: 'string',
|
|
11
|
+
pattern: '^[A-Z]{2}$',
|
|
12
|
+
description: `${description} ISO 3166-1 alpha-2, ex.: US.`,
|
|
13
|
+
});
|
|
14
|
+
const TEXT = (description, maxLength) => ({
|
|
15
|
+
type: 'string',
|
|
16
|
+
minLength: 1,
|
|
17
|
+
...(maxLength ? { maxLength } : {}),
|
|
18
|
+
description,
|
|
19
|
+
});
|
|
20
|
+
const DECIMAL = (description) => ({
|
|
21
|
+
type: 'string',
|
|
22
|
+
pattern: '^\\d+(\\.\\d+)?$',
|
|
23
|
+
description: `${description} Decimal como string, ponto como separador, sem sinal nem notacao exponencial; serializado com 2 casas.`,
|
|
24
|
+
});
|
|
25
|
+
function code(domain, description) {
|
|
26
|
+
const values = domainValues(domain);
|
|
27
|
+
const labels = Array.isArray(domain)
|
|
28
|
+
? ''
|
|
29
|
+
: ` Valores: ${Object.entries(domain).map(([value, label]) => `${value}=${label}`).join('; ')}.`;
|
|
30
|
+
return { type: 'string', enum: values, description: `${description}${labels}` };
|
|
31
|
+
}
|
|
32
|
+
function object(properties, required, description) {
|
|
33
|
+
return { type: 'object', description, properties, required: [...required], additionalProperties: false };
|
|
34
|
+
}
|
|
35
|
+
const X_DESC_SERV = TEXT('Descricao completa do servico prestado.', 2000);
|
|
36
|
+
const C_LOC_PRESTACAO = IBGE('Municipio onde o servico foi prestado.');
|
|
37
|
+
const C_NBS = DIGITS(9, 'Codigo NBS do servico, 9 digitos.');
|
|
38
|
+
const prestador = object({
|
|
39
|
+
cnpj: DIGITS(14, 'CNPJ do prestador, somente digitos. Informe exatamente um de cnpj ou cpf.'),
|
|
40
|
+
cpf: DIGITS(11, 'CPF do prestador, somente digitos. Informe exatamente um de cnpj ou cpf.'),
|
|
41
|
+
cLocEmi: IBGE('Municipio emissor.'),
|
|
42
|
+
serie: { type: 'string', pattern: '^\\d{1,5}$', description: 'Serie da DPS, 1 a 5 digitos.' },
|
|
43
|
+
opSimpNac: code(domains.OP_SIMP_NAC, 'Situacao perante o Simples Nacional; determina a forma de totTrib.'),
|
|
44
|
+
regApTribSN: code(domains.REG_AP_TRIB_SN, 'Regime de apuracao do Simples Nacional. Somente quando opSimpNac=3.'),
|
|
45
|
+
regEspTrib: code(domains.REG_ESP_TRIB, 'Regime especial de tributacao.'),
|
|
46
|
+
}, ['cLocEmi', 'serie', 'opSimpNac', 'regEspTrib'], 'Perfil fiscal do prestador (emitente).');
|
|
47
|
+
const servico = object({
|
|
48
|
+
cTribNac: DIGITS(6, 'Codigo de tributacao nacional do ISSQN (LC 116/2003): item, subitem e desdobro, 6 digitos.'),
|
|
49
|
+
xDescServ: X_DESC_SERV,
|
|
50
|
+
cLocPrestacao: C_LOC_PRESTACAO,
|
|
51
|
+
cNBS: C_NBS,
|
|
52
|
+
}, ['cTribNac', 'xDescServ', 'cLocPrestacao'], 'Servico padrao do prestador; emissao.servico pode sobrescrever campos por nota.');
|
|
53
|
+
const endNac = object({
|
|
54
|
+
cMun: IBGE('Municipio do endereco.'),
|
|
55
|
+
CEP: DIGITS(8, 'CEP, 8 digitos.'),
|
|
56
|
+
}, ['cMun', 'CEP'], 'Endereco nacional.');
|
|
57
|
+
const endExt = object({
|
|
58
|
+
cPais: COUNTRY('Pais do endereco.'),
|
|
59
|
+
cEndPost: TEXT('Codigo de enderecamento postal.'),
|
|
60
|
+
xCidade: TEXT('Cidade.'),
|
|
61
|
+
xEstProvReg: TEXT('Estado, provincia ou regiao.'),
|
|
62
|
+
}, ['cPais', 'cEndPost', 'xCidade', 'xEstProvReg'], 'Endereco no exterior.');
|
|
63
|
+
const endereco = object({
|
|
64
|
+
endNac,
|
|
65
|
+
endExt,
|
|
66
|
+
xLgr: TEXT('Logradouro.'),
|
|
67
|
+
nro: TEXT('Numero.'),
|
|
68
|
+
xCpl: TEXT('Complemento.'),
|
|
69
|
+
xBairro: TEXT('Bairro.'),
|
|
70
|
+
}, ['xLgr', 'nro', 'xBairro'], 'Endereco. Informe exatamente um de endNac (tomador nacional) ou endExt (tomador exterior).');
|
|
71
|
+
const tomador = object({
|
|
72
|
+
CNPJ: DIGITS(14, 'CNPJ do tomador nacional.'),
|
|
73
|
+
CPF: DIGITS(11, 'CPF do tomador nacional.'),
|
|
74
|
+
NIF: TEXT('Numero de identificacao fiscal do tomador exterior.'),
|
|
75
|
+
cNaoNIF: code(domains.C_NAO_NIF, 'Motivo de ausencia do NIF do tomador exterior.'),
|
|
76
|
+
xNome: TEXT('Nome ou razao social.'),
|
|
77
|
+
end: endereco,
|
|
78
|
+
fone: TEXT('Telefone.'),
|
|
79
|
+
email: TEXT('E-mail.'),
|
|
80
|
+
}, ['xNome'], 'Tomador do servico. Informe exatamente um identificador: CNPJ ou CPF (nacional, com end.endNac) ou NIF ou cNaoNIF (exportacao, com end.endExt).');
|
|
81
|
+
const intermediario = object({
|
|
82
|
+
CNPJ: DIGITS(14, 'CNPJ do intermediario.'),
|
|
83
|
+
CPF: DIGITS(11, 'CPF do intermediario.'),
|
|
84
|
+
xNome: TEXT('Nome ou razao social.'),
|
|
85
|
+
}, ['xNome'], 'Intermediario nacional. Informe exatamente um de CNPJ ou CPF.');
|
|
86
|
+
const valores = object({
|
|
87
|
+
vServ: DECIMAL('Valor do servico em reais; maior que zero apos arredondamento.'),
|
|
88
|
+
vServMoeda: DECIMAL('Valor do servico em moeda estrangeira (exportacao).'),
|
|
89
|
+
cotacao: { type: 'number', exclusiveMinimum: 0, description: 'Cotacao da moeda estrangeira em reais (exportacao).' },
|
|
90
|
+
}, [], 'Valores. Nacional: informe vServ. Exportacao: informe vServMoeda e cotacao (vServ opcional; se ausente, vServMoeda x cotacao).');
|
|
91
|
+
const tributacaoMunicipal = object({
|
|
92
|
+
tribISSQN: code(domains.TRIB_ISSQN, 'Tributacao do ISSQN.'),
|
|
93
|
+
tpRetISSQN: code(domains.TP_RET_ISSQN, 'Retencao do ISSQN.'),
|
|
94
|
+
pAliq: {
|
|
95
|
+
type: 'string',
|
|
96
|
+
pattern: '^\\d(\\.\\d+)?$',
|
|
97
|
+
description: 'Aliquota do ISSQN em %, ate 9.99. Nao informe quando opSimpNac=1.',
|
|
98
|
+
},
|
|
99
|
+
tpImunidade: code(domains.TP_IMUNIDADE, 'Tipo de imunidade. Obrigatorio somente quando tribISSQN=2.'),
|
|
100
|
+
cPaisResult: COUNTRY('Pais onde se verifica o resultado do servico. Obrigatorio somente quando tribISSQN=3.'),
|
|
101
|
+
}, ['tribISSQN', 'tpRetISSQN'], 'Tributacao municipal (ISSQN). Obrigatoria: o SDK nao assume tratamento padrao.');
|
|
102
|
+
const piscofins = object({
|
|
103
|
+
CST: code(domains.PIS_COFINS_CST, 'Codigo de situacao tributaria do PIS/COFINS, ex.: 07 = operacao isenta.'),
|
|
104
|
+
vBCPisCofins: DECIMAL('Base de calculo do PIS/COFINS.'),
|
|
105
|
+
pAliqPis: DECIMAL('Aliquota do PIS em %.'),
|
|
106
|
+
pAliqCofins: DECIMAL('Aliquota da COFINS em %.'),
|
|
107
|
+
vPis: DECIMAL('Valor do PIS.'),
|
|
108
|
+
vCofins: DECIMAL('Valor da COFINS.'),
|
|
109
|
+
tpRetPisCofins: code(domains.TP_RET_PIS_COFINS, 'Retencao do PIS/COFINS/CSLL.'),
|
|
110
|
+
}, ['CST'], 'PIS/COFINS.');
|
|
111
|
+
const tributacaoFederal = object({
|
|
112
|
+
piscofins,
|
|
113
|
+
vRetCP: DECIMAL('Contribuicao previdenciaria retida.'),
|
|
114
|
+
vRetIRRF: DECIMAL('IRRF retido.'),
|
|
115
|
+
vRetCSLL: DECIMAL('CSLL retida.'),
|
|
116
|
+
}, [], 'Tributacao federal.');
|
|
117
|
+
const totTrib = object({
|
|
118
|
+
vTotTribFed: DECIMAL('Valor aproximado dos tributos federais.'),
|
|
119
|
+
vTotTribEst: DECIMAL('Valor aproximado dos tributos estaduais.'),
|
|
120
|
+
vTotTribMun: DECIMAL('Valor aproximado dos tributos municipais.'),
|
|
121
|
+
pTotTribFed: DECIMAL('Percentual aproximado dos tributos federais.'),
|
|
122
|
+
pTotTribEst: DECIMAL('Percentual aproximado dos tributos estaduais.'),
|
|
123
|
+
pTotTribMun: DECIMAL('Percentual aproximado dos tributos municipais.'),
|
|
124
|
+
pTotTribSN: DECIMAL('Percentual aproximado dos tributos do Simples Nacional.'),
|
|
125
|
+
indTotTrib: { type: 'string', enum: ['0'], description: 'Indicador de nao informacao da carga tributaria (MEI).' },
|
|
126
|
+
}, [], 'Carga tributaria aproximada. Informe uma unica forma conforme prestador.opSimpNac: ' +
|
|
127
|
+
'1 (nao optante) = pTotTribFed, pTotTribEst e pTotTribMun; 2 (MEI) = somente indTotTrib="0"; 3 (ME/EPP) = somente pTotTribSN. ' +
|
|
128
|
+
'Os campos vTotTrib* existem no layout, mas a matriz atual os rejeita.');
|
|
129
|
+
const comercioExterior = object({
|
|
130
|
+
mdPrestacao: code(domains.MD_PRESTACAO, 'Modo de prestacao.'),
|
|
131
|
+
vincPrest: code(domains.VINC_PREST, 'Vinculo entre as partes.'),
|
|
132
|
+
tpMoeda: DIGITS(3, 'Codigo da moeda da transacao (tabela de moedas do BACEN), ex.: 220 = dolar americano.'),
|
|
133
|
+
vServMoeda: DECIMAL('Valor em moeda estrangeira; padrao: emissao.valores.vServMoeda.'),
|
|
134
|
+
mecAFComexP: code(domains.MEC_AF_COMEX_P, 'Mecanismo de apoio ao comercio exterior do prestador; 01 = nenhum.'),
|
|
135
|
+
mecAFComexT: code(domains.MEC_AF_COMEX_T, 'Mecanismo de apoio ao comercio exterior do tomador; 01 = nenhum.'),
|
|
136
|
+
movTempBens: code(domains.MOV_TEMP_BENS, 'Vinculo com movimentacao temporaria de bens.'),
|
|
137
|
+
mdic: code(domains.MDIC, 'Compartilhar a NFS-e com a Secretaria de Comercio Exterior.'),
|
|
138
|
+
}, ['mdPrestacao', 'vincPrest', 'tpMoeda', 'mecAFComexP', 'mecAFComexT', 'movTempBens', 'mdic'], 'Comercio exterior. Presenca deste bloco classifica a nota como exportacao.');
|
|
139
|
+
const obra = object({
|
|
140
|
+
inscImobFisc: TEXT('Inscricao imobiliaria fiscal.', 30),
|
|
141
|
+
cObra: TEXT('Codigo da obra (CNO/CEI).', 30),
|
|
142
|
+
}, ['cObra'], 'Obra de construcao civil.');
|
|
143
|
+
const servicoOverride = object({
|
|
144
|
+
xDescServ: X_DESC_SERV,
|
|
145
|
+
cLocPrestacao: C_LOC_PRESTACAO,
|
|
146
|
+
cNBS: C_NBS,
|
|
147
|
+
}, [], 'Sobrescreve campos do servico padrao nesta nota.');
|
|
148
|
+
const emissao = object({
|
|
149
|
+
nDPS: { type: 'string', pattern: '^[1-9]\\d{0,14}$', description: 'Numero da DPS, 1 a 15 digitos sem zero a esquerda. Unico por prestador e serie; nunca reutilize.' },
|
|
150
|
+
serie: { type: 'string', pattern: '^\\d{1,5}$', description: 'Sobrescreve prestador.serie nesta nota.' },
|
|
151
|
+
dhEmi: {
|
|
152
|
+
type: 'string',
|
|
153
|
+
pattern: '^20\\d{2}-\\d{2}-\\d{2}T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:[+-](?:0\\d|1[01]):00|\\+12:00)$',
|
|
154
|
+
description: 'Data/hora de emissao com offset, ex.: 2026-06-15T10:30:00-03:00. Padrao: agora.',
|
|
155
|
+
},
|
|
156
|
+
dCompet: { type: 'string', pattern: '^20\\d{2}-\\d{2}-\\d{2}$', description: 'Data de competencia YYYY-MM-DD. Padrao: data de emissao.' },
|
|
157
|
+
valores,
|
|
158
|
+
servico: servicoOverride,
|
|
159
|
+
tomador,
|
|
160
|
+
intermediario,
|
|
161
|
+
tributacaoMunicipal,
|
|
162
|
+
tributacaoFederal,
|
|
163
|
+
comercioExterior,
|
|
164
|
+
obra,
|
|
165
|
+
totTrib,
|
|
166
|
+
}, ['nDPS', 'valores', 'tributacaoMunicipal', 'totTrib'], 'Dados especificos desta nota.');
|
|
167
|
+
export const DPS_JSON_REQUEST_SCHEMA = {
|
|
168
|
+
$schema: 'https://json-schema.org/draft/2020-12/schema',
|
|
169
|
+
title: 'DpsJsonRequest',
|
|
170
|
+
...object({
|
|
171
|
+
ambiente: {
|
|
172
|
+
type: 'string',
|
|
173
|
+
enum: ['restrita', 'producao'],
|
|
174
|
+
description: 'Ambiente SEFIN. restrita = homologacao (padrao); producao gera nota fiscal valida.',
|
|
175
|
+
},
|
|
176
|
+
prestador,
|
|
177
|
+
servico,
|
|
178
|
+
emissao,
|
|
179
|
+
}, ['prestador', 'servico', 'emissao'], 'Requisicao declarativa de DPS (NFS-e Nacional, layout 1.01). Valores numericos fiscais sao strings para preservar zeros a esquerda. ' +
|
|
180
|
+
'Nota nacional: sem comercioExterior; tomador com CPF/CNPJ e endNac. Exportacao: comercioExterior, valores.vServMoeda/cotacao, ' +
|
|
181
|
+
'tributacaoMunicipal.tribISSQN=3 com cPaisResult, tomador com NIF/cNaoNIF e endExt. ' +
|
|
182
|
+
'O schema nao verifica regras entre campos; valide com validateDpsJsonRequest antes de emitir.'),
|
|
183
|
+
};
|
|
184
|
+
//# sourceMappingURL=dpsJsonSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dpsJsonSchema.js","sourceRoot":"","sources":["../dpsJsonSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { DpsJsonInput, DpsJsonRequest, Valores } from './dpsJson.js';
|
|
2
|
+
export declare function resolveValores(input: DpsJsonInput): Valores;
|
|
3
|
+
/** Called only after the structural check. Retains legacy fields for compatibility. */
|
|
4
|
+
export declare function normalizeDpsRequest<T extends DpsJsonRequest>(request: T): T;
|
|
5
|
+
/** Copy JSON-like data without throwing on extra non-JSON properties. */
|
|
6
|
+
export declare function clonePayload<T>(value: T, seen?: WeakMap<object, unknown>): T;
|
|
7
|
+
export declare function structuralIssues(value: unknown): Array<{
|
|
8
|
+
path: string;
|
|
9
|
+
message: string;
|
|
10
|
+
}>;
|