@endevops/peppol-schema 0.1.0-beta.4 → 0.1.0-beta.6
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/README.md +9 -6
- package/dist/constants.d.ts +51 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +48 -0
- package/dist/constants.js.map +1 -0
- package/dist/eas-codes.generated-D8jjHFij.js.map +1 -1
- package/dist/index-CiW698HY.d.ts +3507 -0
- package/dist/index-CiW698HY.d.ts.map +1 -0
- package/dist/index.d.ts +2 -2613
- package/dist/index.js +3122 -1563
- package/dist/index.js.map +1 -1
- package/dist/invoice-response-code-not-needs-schema-p_RKKNLc.js +18 -0
- package/dist/invoice-response-code-not-needs-schema-p_RKKNLc.js.map +1 -0
- package/dist/invoice-response-codes.d.ts +11 -0
- package/dist/invoice-response-codes.d.ts.map +1 -0
- package/dist/invoice-response-codes.js +32 -0
- package/dist/invoice-response-codes.js.map +1 -0
- package/dist/invoice-status-codes.generated-DL-agLdx.d.ts +24 -0
- package/dist/invoice-status-codes.generated-DL-agLdx.d.ts.map +1 -0
- package/dist/message-level-response-profile-id-DBpOW91B.js +9 -0
- package/dist/message-level-response-profile-id-DBpOW91B.js.map +1 -0
- package/dist/peppol-iso-date-string-BXLxzxdz.js +30 -0
- package/dist/peppol-iso-date-string-BXLxzxdz.js.map +1 -0
- package/dist/schematron.d.ts +408 -365
- package/dist/schematron.d.ts.map +1 -1
- package/dist/schematron.js +2040 -1547
- package/dist/schematron.js.map +1 -1
- package/dist/values.d.ts +95 -13218
- package/dist/values.d.ts.map +1 -1
- package/dist/values.js +1 -1
- package/dist/vat-dates.generated-CxFvt7m3.d.ts +68 -0
- package/dist/vat-dates.generated-CxFvt7m3.d.ts.map +1 -0
- package/dist/{vatex-codes.generated-BSgP3n5t.js → vatex-codes.generated-N7wsUrLh.js} +8 -9
- package/dist/vatex-codes.generated-N7wsUrLh.js.map +1 -0
- package/package.json +16 -18
- package/src/constants/transport-profile.ts +5 -1
- package/src/decoders/decode-billing.ts +1 -1
- package/src/decoders/decode-credit-note.ts +2 -4
- package/src/decoders/decode-invoice-response.ts +15 -37
- package/src/decoders/decode-invoice.ts +2 -4
- package/src/decoders/decode-message-level-response.ts +21 -48
- package/src/decoders/encode-credit-note.ts +1 -1
- package/src/decoders/encode-invoice-response.ts +7 -4
- package/src/decoders/encode-invoice.ts +1 -1
- package/src/decoders/encode-message-level-response.ts +4 -10
- package/src/decoders/fields/decode-additional-document-references.ts +1 -1
- package/src/decoders/fields/decode-address.ts +1 -1
- package/src/decoders/fields/decode-allowance-charges.ts +7 -15
- package/src/decoders/fields/decode-amount.ts +2 -2
- package/src/decoders/fields/decode-application-response.ts +21 -0
- package/src/decoders/fields/decode-billing-references.ts +1 -1
- package/src/decoders/fields/decode-contact.ts +1 -1
- package/src/decoders/fields/decode-credit-note-lines.ts +7 -15
- package/src/decoders/fields/decode-delivery.ts +1 -1
- package/src/decoders/fields/decode-electronic-address.ts +1 -1
- package/src/decoders/fields/decode-identifier.ts +1 -1
- package/src/decoders/fields/decode-invoice-line-period.ts +1 -1
- package/src/decoders/fields/decode-invoice-lines.ts +6 -14
- package/src/decoders/fields/decode-invoice-message-document-party.ts +2 -2
- package/src/decoders/fields/decode-invoice-message-party.ts +1 -6
- package/src/decoders/fields/decode-invoice-period.ts +7 -13
- package/src/decoders/fields/decode-legal-monetary-total.ts +1 -1
- package/src/decoders/fields/decode-line-allowance-charges.ts +7 -14
- package/src/decoders/fields/decode-line-price.ts +1 -7
- package/src/decoders/fields/decode-line-shared.ts +2 -4
- package/src/decoders/fields/decode-message-level-party.ts +1 -1
- package/src/decoders/fields/decode-node-list.ts +15 -0
- package/src/decoders/fields/decode-order-reference.ts +1 -1
- package/src/decoders/fields/decode-parties-tax-scheme.ts +1 -1
- package/src/decoders/fields/decode-party-legal-entity.ts +1 -1
- package/src/decoders/fields/decode-party-tax-scheme.ts +1 -1
- package/src/decoders/fields/decode-party.ts +3 -14
- package/src/decoders/fields/decode-payee-party.ts +1 -1
- package/src/decoders/fields/decode-payment-means.ts +2 -2
- package/src/decoders/fields/decode-payment-terms.ts +1 -1
- package/src/decoders/fields/decode-price-allowance-charge.ts +1 -7
- package/src/decoders/fields/decode-quantity.ts +1 -6
- package/src/decoders/fields/decode-simple-identifier.ts +1 -1
- package/src/decoders/fields/decode-tax-category.ts +1 -1
- package/src/decoders/fields/decode-tax-representative-party.ts +1 -1
- package/src/decoders/fields/decode-tax-totals.ts +2 -2
- package/src/decoders/fields/encode-additional-document-references.ts +3 -2
- package/src/decoders/fields/encode-address.ts +1 -1
- package/src/decoders/fields/encode-allowance-charges.ts +3 -2
- package/src/decoders/fields/encode-amount.ts +1 -1
- package/src/decoders/fields/encode-billing-references.ts +2 -2
- package/src/decoders/fields/encode-contact.ts +1 -1
- package/src/decoders/fields/encode-credit-note-lines.ts +2 -2
- package/src/decoders/fields/encode-delivery.ts +1 -1
- package/src/decoders/fields/encode-identifier.ts +1 -1
- package/src/decoders/fields/encode-invoice-line-period.ts +1 -1
- package/src/decoders/fields/encode-invoice-lines.ts +2 -2
- package/src/decoders/fields/encode-invoice-period.ts +1 -1
- package/src/decoders/fields/encode-legal-monetary-total.ts +1 -1
- package/src/decoders/fields/encode-line-allowance-charges.ts +2 -2
- package/src/decoders/fields/encode-line-price.ts +1 -1
- package/src/decoders/fields/encode-line-shared.ts +1 -1
- package/src/decoders/fields/encode-message-party.ts +26 -13
- package/src/decoders/fields/encode-order-reference.ts +1 -1
- package/src/decoders/fields/encode-parties-tax-scheme.ts +1 -1
- package/src/decoders/fields/encode-party-tax-scheme.ts +1 -1
- package/src/decoders/fields/encode-party.ts +1 -1
- package/src/decoders/fields/encode-payee-party.ts +1 -1
- package/src/decoders/fields/encode-payment-means.ts +2 -2
- package/src/decoders/fields/encode-payment-terms.ts +1 -1
- package/src/decoders/fields/encode-price-allowance-charges.ts +1 -1
- package/src/decoders/fields/encode-quantity.ts +1 -1
- package/src/decoders/fields/encode-tax-category.ts +1 -1
- package/src/decoders/fields/encode-tax-representative-party.ts +1 -1
- package/src/decoders/fields/encode-tax-totals.ts +4 -4
- package/src/helpers/bool.ts +9 -12
- package/src/helpers/get-prop.ts +2 -4
- package/src/helpers/str-or-und.ts +3 -4
- package/src/helpers/str.ts +12 -8
- package/src/index.ts +56 -6
- package/src/schemas/fields/peppol-additional-document-reference-schema.ts +123 -0
- package/src/schemas/fields/peppol-address-schema.ts +112 -0
- package/src/schemas/fields/peppol-allowance-charge-schema.ts +104 -0
- package/src/schemas/fields/peppol-amount-schema.ts +23 -0
- package/src/schemas/fields/peppol-base-line-schema.ts +141 -0
- package/src/{effect → schemas}/fields/peppol-billing-reference-schema.ts +25 -20
- package/src/schemas/fields/peppol-binary-object-schema.ts +52 -0
- package/src/schemas/fields/peppol-contact-schema.ts +20 -0
- package/src/schemas/fields/peppol-credit-note-line-schema.ts +44 -0
- package/src/schemas/fields/peppol-delivery-schema.ts +109 -0
- package/src/schemas/fields/peppol-identifier-schema.ts +21 -0
- package/src/schemas/fields/peppol-invoice-line-period-schema.ts +35 -0
- package/src/{effect → schemas}/fields/peppol-invoice-line-schema.ts +10 -10
- package/src/schemas/fields/peppol-invoice-period-schema.ts +31 -0
- package/src/schemas/fields/peppol-item-classification-schema.ts +46 -0
- package/src/schemas/fields/peppol-legal-monetary-total-schema.ts +127 -0
- package/src/schemas/fields/peppol-line-allowance-charge-schema.ts +68 -0
- package/src/schemas/fields/peppol-line-item-schema.ts +196 -0
- package/src/schemas/fields/peppol-line-price-allowance-charge-schema.ts +41 -0
- package/src/schemas/fields/peppol-line-price-schema.ts +32 -0
- package/src/schemas/fields/peppol-order-reference-schema.ts +38 -0
- package/src/schemas/fields/peppol-party-base-schema.ts +145 -0
- package/src/schemas/fields/peppol-party-legal-entity-schema.ts +32 -0
- package/src/schemas/fields/peppol-party-tax-scheme-schema.ts +41 -0
- package/src/schemas/fields/peppol-payee-party-schema.ts +119 -0
- package/src/schemas/fields/peppol-payment-means-schema.ts +224 -0
- package/src/schemas/fields/peppol-payment-terms-schema.ts +25 -0
- package/src/schemas/fields/peppol-quantity-schema.ts +22 -0
- package/src/schemas/fields/peppol-reference-schema.ts +9 -0
- package/src/schemas/fields/peppol-tax-category-schema.ts +47 -0
- package/src/schemas/fields/peppol-tax-representative-schema.ts +26 -0
- package/src/{effect → schemas}/fields/peppol-tax-subtotal-category-schema.ts +7 -6
- package/src/schemas/fields/peppol-tax-subtotal-schema.ts +33 -0
- package/src/schemas/fields/peppol-tax-totals-base-schema.ts +28 -0
- package/src/schemas/peppol-billing-base-schema.ts +366 -0
- package/src/schemas/peppol-credit-note-schema.ts +31 -0
- package/src/schemas/peppol-document-response-document-reference-schema.ts +41 -0
- package/src/schemas/peppol-document-response-document-schema.ts +38 -0
- package/src/schemas/peppol-document-response-line-response-content-schema.ts +49 -0
- package/src/schemas/peppol-document-response-line-response-schema.ts +40 -0
- package/src/schemas/peppol-document-schema.ts +120 -0
- package/src/{effect → schemas}/peppol-invoice-response-document-actual-response-schema.ts +25 -16
- package/src/schemas/peppol-invoice-response-document-actual-response-status-schema.ts +63 -0
- package/src/schemas/peppol-invoice-response-schema.ts +176 -0
- package/src/schemas/peppol-invoice-response-status-reason-code-schema.ts +40 -0
- package/src/schemas/peppol-invoice-schema.ts +45 -0
- package/src/schemas/peppol-iso-date-string.ts +20 -0
- package/src/schemas/peppol-message-level-response-document-response-schema.ts +35 -0
- package/src/schemas/peppol-message-level-response-party-schema.ts +20 -0
- package/src/schemas/peppol-message-level-response-schema.ts +98 -0
- package/src/schemas/utils/format-xsd-time.ts +80 -0
- package/src/{effect → schemas}/utils/index.ts +1 -1
- package/src/schemas/utils/is-valid-process.ts +1 -1
- package/src/schemas/utils/opaque.ts +19 -0
- package/src/{effect → schemas}/utils/peppol-vat-regex-schema.ts +0 -2
- package/src/schemas/utils/peppol-xsd-time-schema.ts +79 -0
- package/src/schemas/utils/quantity-unit-code-to-intl-unit.ts +2 -2
- package/src/schemas/values/credit-note-type-code-schema.ts +3 -5
- package/src/schemas/values/document-type-schemes-schema.ts +3 -5
- package/src/schemas/values/document-type-values-schema.ts +4 -7
- package/src/{effect → schemas}/values/duty-tax-fee-category-schema.ts +3 -3
- package/src/schemas/values/invoice-type-code-schema.ts +4 -8
- package/src/schemas/values/process-from-document-type-schema.ts +10 -12
- package/src/schemas/values/quantity-unit-codes-schema.ts +4 -8
- package/src/schematron/cen/ae/cen-en16931-br-ae-01.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-02.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-03.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-04.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-05.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-06.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-07.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-08.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-09.ts +6 -5
- package/src/schematron/cen/ae/cen-en16931-br-ae-10.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-01.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-02.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-03.ts +6 -10
- package/src/schematron/cen/af/cen-en16931-br-af-04.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-05.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-06.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-07.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-08.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-09.ts +6 -5
- package/src/schematron/cen/af/cen-en16931-br-af-10.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-01.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-02.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-03.ts +6 -10
- package/src/schematron/cen/ag/cen-en16931-br-ag-04.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-05.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-06.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-07.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-08.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-09.ts +6 -5
- package/src/schematron/cen/ag/cen-en16931-br-ag-10.ts +6 -5
- package/src/schematron/cen/b/cen-en16931-br-b-01.ts +6 -5
- package/src/schematron/cen/b/cen-en16931-br-b-02.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-01.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-02.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-03.ts +9 -6
- package/src/schematron/cen/cen-en16931-br-04.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-05.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-06.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-07.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-08.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-09.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-10.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-11.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-12.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-13.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-14.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-15.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-16.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-17.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-18.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-19.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-20.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-21.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-22.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-23.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-24.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-25.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-26.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-27.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-28.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-29.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-30.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-31.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-32.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-33.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-36.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-37.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-38.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-41.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-42.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-43.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-44.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-45.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-46.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-47.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-48.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-49.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-50.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-51.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-52.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-53.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-54.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-55.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-56.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-57.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-61.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-62.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-63.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-64.ts +6 -5
- package/src/schematron/cen/cen-en16931-br-65.ts +6 -5
- package/src/schematron/cen/cl/cen-en16931-br-cl-08.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-03.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-04.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-05.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-06.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-07.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-08.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-09.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-10.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-11.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-12.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-13.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-14.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-15.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-16.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-17.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-18.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-19.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-20.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-21.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-22.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-23.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-24.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-25.ts +6 -5
- package/src/schematron/cen/co/cen-en16931-br-co-26.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-01.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-02.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-05.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-06.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-09.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-10.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-11.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-12.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-13.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-14.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-15.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-16.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-17.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-18.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-19.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-20.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-23.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-24.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-25.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-27.ts +6 -5
- package/src/schematron/cen/dec/cen-en16931-br-dec-28.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-01.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-02.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-03.ts +6 -10
- package/src/schematron/cen/e/cen-en16931-br-e-04.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-05.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-06.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-07.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-08.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-09.ts +6 -5
- package/src/schematron/cen/e/cen-en16931-br-e-10.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-01.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-02.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-03.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-04.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-05.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-06.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-07.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-08.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-09.ts +6 -5
- package/src/schematron/cen/g/cen-en16931-br-g-10.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-01.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-02.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-03.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-04.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-05.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-06.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-07.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-08.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-09.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-10.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-11.ts +6 -5
- package/src/schematron/cen/ic/cen-en16931-br-ic-12.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-01.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-02.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-03.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-04.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-05.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-06.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-07.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-08.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-09.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-10.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-11.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-12.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-13.ts +6 -5
- package/src/schematron/cen/o/cen-en16931-br-o-14.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-01.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-02.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-03.ts +6 -10
- package/src/schematron/cen/s/cen-en16931-br-s-04.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-05.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-06.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-07.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-08.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-09.ts +6 -5
- package/src/schematron/cen/s/cen-en16931-br-s-10.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-01.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-02.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-03.ts +6 -10
- package/src/schematron/cen/z/cen-en16931-br-z-04.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-05.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-06.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-07.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-08.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-09.ts +6 -5
- package/src/schematron/cen/z/cen-en16931-br-z-10.ts +6 -5
- package/src/schematron/de/de-r-001.ts +8 -7
- package/src/schematron/de/de-r-002.ts +8 -7
- package/src/schematron/de/de-r-003.ts +8 -7
- package/src/schematron/de/de-r-004.ts +8 -7
- package/src/schematron/de/de-r-005.ts +8 -7
- package/src/schematron/de/de-r-006.ts +8 -7
- package/src/schematron/de/de-r-007.ts +8 -7
- package/src/schematron/de/de-r-008.ts +8 -7
- package/src/schematron/de/de-r-009.ts +8 -7
- package/src/schematron/de/de-r-010.ts +9 -8
- package/src/schematron/de/de-r-011.ts +9 -8
- package/src/schematron/de/de-r-014.ts +8 -7
- package/src/schematron/de/de-r-015.ts +8 -7
- package/src/schematron/de/de-r-016.ts +9 -8
- package/src/schematron/de/de-r-017.ts +8 -7
- package/src/schematron/de/de-r-018.ts +10 -9
- package/src/schematron/de/de-r-019.ts +8 -7
- package/src/schematron/de/de-r-020.ts +8 -7
- package/src/schematron/de/de-r-022.ts +8 -7
- package/src/schematron/de/de-r-023-1.ts +8 -7
- package/src/schematron/de/de-r-023-2.ts +8 -7
- package/src/schematron/de/de-r-024-1.ts +8 -7
- package/src/schematron/de/de-r-024-2.ts +8 -7
- package/src/schematron/de/de-r-025-1.ts +8 -7
- package/src/schematron/de/de-r-025-2.ts +8 -7
- package/src/schematron/de/de-r-026.ts +9 -8
- package/src/schematron/de/de-r-027.ts +8 -7
- package/src/schematron/de/de-r-028.ts +8 -7
- package/src/schematron/de/de-r-030.ts +9 -8
- package/src/schematron/de/de-r-031.ts +8 -7
- package/src/schematron/dk/dk-r-002.ts +7 -6
- package/src/schematron/dk/dk-r-003.ts +8 -7
- package/src/schematron/dk/dk-r-004.ts +8 -7
- package/src/schematron/dk/dk-r-005.ts +8 -7
- package/src/schematron/dk/dk-r-006.ts +8 -7
- package/src/schematron/dk/dk-r-007.ts +8 -7
- package/src/schematron/dk/dk-r-008.ts +8 -7
- package/src/schematron/dk/dk-r-009.ts +8 -7
- package/src/schematron/dk/dk-r-010.ts +8 -7
- package/src/schematron/dk/dk-r-011.ts +8 -7
- package/src/schematron/dk/dk-r-013.ts +8 -7
- package/src/schematron/dk/dk-r-014.ts +7 -6
- package/src/schematron/dk/dk-r-016.ts +8 -7
- package/src/schematron/dk/dk-r-017.ts +8 -7
- package/src/schematron/errors.ts +17 -0
- package/src/schematron/gr/gr-r-001-1.ts +7 -6
- package/src/schematron/gr/gr-r-001-2.ts +8 -7
- package/src/schematron/gr/gr-r-001-3.ts +14 -9
- package/src/schematron/gr/gr-r-001-4.ts +8 -7
- package/src/schematron/gr/gr-r-001-5.ts +8 -7
- package/src/schematron/gr/gr-r-001-6.ts +7 -6
- package/src/schematron/gr/gr-r-001-7.ts +7 -6
- package/src/schematron/gr/gr-r-002.ts +7 -6
- package/src/schematron/gr/gr-r-003.ts +8 -7
- package/src/schematron/gr/gr-r-004-1.ts +7 -6
- package/src/schematron/gr/gr-r-004-2.ts +7 -6
- package/src/schematron/gr/gr-r-005.ts +7 -6
- package/src/schematron/gr/gr-r-006.ts +12 -11
- package/src/schematron/gr/gr-r-008-2.ts +7 -6
- package/src/schematron/gr/gr-r-008-3.ts +7 -6
- package/src/schematron/gr/gr-r-009.ts +7 -6
- package/src/schematron/gr/gr-r-010.ts +7 -6
- package/src/schematron/gr/gr-s-008-1.ts +7 -6
- package/src/schematron/gr/gr-s-011.ts +8 -7
- package/src/schematron/helpers.ts +46 -23
- package/src/schematron/index.ts +6 -1
- package/src/schematron/is/is-r-001.ts +7 -6
- package/src/schematron/is/is-r-002.ts +7 -6
- package/src/schematron/is/is-r-003.ts +7 -6
- package/src/schematron/is/is-r-004.ts +7 -6
- package/src/schematron/is/is-r-005.ts +7 -6
- package/src/schematron/is/is-r-006.ts +8 -7
- package/src/schematron/is/is-r-007.ts +8 -7
- package/src/schematron/is/is-r-008.ts +8 -7
- package/src/schematron/is/is-r-009.ts +8 -7
- package/src/schematron/is/is-r-010.ts +9 -8
- package/src/schematron/it/it-r-001.ts +7 -6
- package/src/schematron/it/it-r-002.ts +7 -6
- package/src/schematron/it/it-r-003.ts +7 -6
- package/src/schematron/it/it-r-004.ts +7 -6
- package/src/schematron/nl/nl-r-001.ts +7 -6
- package/src/schematron/nl/nl-r-002.ts +7 -6
- package/src/schematron/nl/nl-r-003.ts +8 -7
- package/src/schematron/nl/nl-r-004.ts +7 -6
- package/src/schematron/nl/nl-r-005.ts +8 -7
- package/src/schematron/nl/nl-r-006.ts +8 -7
- package/src/schematron/nl/nl-r-007.ts +8 -7
- package/src/schematron/nl/nl-r-008.ts +7 -6
- package/src/schematron/nl/nl-r-009.ts +8 -7
- package/src/schematron/no/no-r-001.ts +8 -7
- package/src/schematron/no/no-r-002.ts +7 -6
- package/src/schematron/peppol/cl/peppol-en16931-cl001.ts +6 -5
- package/src/schematron/peppol/cl/peppol-en16931-cl002.ts +6 -5
- package/src/schematron/peppol/cl/peppol-en16931-cl003.ts +6 -5
- package/src/schematron/peppol/cl/peppol-en16931-cl006.ts +7 -6
- package/src/schematron/peppol/cl/peppol-en16931-cl007.ts +27 -26
- package/src/schematron/peppol/cl/peppol-en16931-cl008.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r040.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r041.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r042.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r043.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r044.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r045.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r046.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r047.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r049.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r050.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r052.ts +6 -5
- package/src/schematron/peppol/common/peppol-common-r053.ts +6 -5
- package/src/schematron/peppol/f/peppol-en16931-f001.ts +27 -14
- package/src/schematron/peppol/p/peppol-en16931-p0100.ts +8 -7
- package/src/schematron/peppol/p/peppol-en16931-p0101.ts +8 -7
- package/src/schematron/peppol/p/peppol-en16931-p0104.ts +6 -5
- package/src/schematron/peppol/p/peppol-en16931-p0105.ts +6 -5
- package/src/schematron/peppol/p/peppol-en16931-p0106.ts +6 -5
- package/src/schematron/peppol/p/peppol-en16931-p0107.ts +6 -5
- package/src/schematron/peppol/p/peppol-en16931-p0108.ts +6 -5
- package/src/schematron/peppol/p/peppol-en16931-p0109.ts +6 -5
- package/src/schematron/peppol/p/peppol-en16931-p0110.ts +6 -5
- package/src/schematron/peppol/p/peppol-en16931-p0111.ts +6 -5
- package/src/schematron/peppol/p/peppol-en16931-p0112.ts +7 -6
- package/src/schematron/peppol/r/peppol-en16931-r001.ts +11 -13
- package/src/schematron/peppol/r/peppol-en16931-r002.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r003.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r004.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r005.ts +7 -6
- package/src/schematron/peppol/r/peppol-en16931-r007.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r008.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r010.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r020.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r040.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r041.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r042.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r043.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r044.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r046.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r051.ts +48 -27
- package/src/schematron/peppol/r/peppol-en16931-r053.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r054.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r055.ts +8 -7
- package/src/schematron/peppol/r/peppol-en16931-r061.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r100.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r101.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r110.ts +7 -6
- package/src/schematron/peppol/r/peppol-en16931-r111.ts +7 -6
- package/src/schematron/peppol/r/peppol-en16931-r120.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r121.ts +6 -5
- package/src/schematron/peppol/r/peppol-en16931-r130.ts +6 -5
- package/src/schematron/run-all-rules.ts +2 -7
- package/src/schematron/schematron.ts +36 -0
- package/src/schematron/se/se-r-001.ts +7 -6
- package/src/schematron/se/se-r-002.ts +7 -6
- package/src/schematron/se/se-r-003.ts +7 -6
- package/src/schematron/se/se-r-004.ts +7 -6
- package/src/schematron/se/se-r-005.ts +8 -7
- package/src/schematron/se/se-r-006.ts +7 -6
- package/src/schematron/se/se-r-007.ts +7 -6
- package/src/schematron/se/se-r-008.ts +7 -6
- package/src/schematron/se/se-r-009.ts +7 -6
- package/src/schematron/se/se-r-010.ts +7 -6
- package/src/schematron/se/se-r-011.ts +7 -6
- package/src/schematron/se/se-r-012.ts +7 -6
- package/src/schematron/se/se-r-013.ts +7 -6
- package/src/values/additional-document-reference-codes.generated.ts +2 -3
- package/src/values/allowance-charge-reason-codes.generated.ts +1 -1
- package/src/values/application-response-type-codes.generated.ts +1 -1
- package/src/values/charge-reason-codes.generated.ts +1 -1
- package/src/values/country-code.generated.ts +1 -1
- package/src/values/credit-notes-type-codes.generated.ts +1 -1
- package/src/values/currency-code.generated.ts +1 -1
- package/src/values/document-type-codes.generated.ts +1 -1
- package/src/values/document-type.generated.ts +2 -2
- package/src/values/duty-tax-fee-categories.generated.ts +1 -1
- package/src/values/eas-codes.generated.ts +1 -1
- package/src/values/icd-codes.generated.ts +7 -7
- package/src/values/invoice-status-codes.generated.ts +1 -1
- package/src/values/invoice-type-codes.generated.ts +1 -1
- package/src/values/item-classification-code.generated.ts +1 -1
- package/src/values/mime-codes.generated.ts +1 -1
- package/src/values/op-status-action.generated.ts +1 -1
- package/src/values/op-status-reason.generated.ts +1 -1
- package/src/values/participant-identifier-schemes.generated.ts +2 -2
- package/src/values/payment-means-codes.generated.ts +1 -1
- package/src/values/processes.generated.ts +1 -1
- package/src/values/quantity-unit-codes.generated.ts +1 -1
- package/src/values/vat-dates.generated.ts +1 -1
- package/src/values/vatex-codes.generated.ts +1 -1
- package/dist/all-union-fields-CxoyKBpI.d.ts +0 -445
- package/dist/all-union-fields-CxoyKBpI.d.ts.map +0 -1
- package/dist/document-DCcObB-a.d.ts +0 -1466
- package/dist/document-DCcObB-a.d.ts.map +0 -1
- package/dist/effect.d.ts +0 -6291
- package/dist/effect.d.ts.map +0 -1
- package/dist/effect.js +0 -3240
- package/dist/effect.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/is-valid-process-CSWL-q9f.js +0 -1590
- package/dist/is-valid-process-CSWL-q9f.js.map +0 -1
- package/dist/quantity-unit-code-to-intl-unit-15EykjMe.d.ts +0 -168
- package/dist/quantity-unit-code-to-intl-unit-15EykjMe.d.ts.map +0 -1
- package/dist/vat-dates.generated-DTVWQAdn.d.ts +0 -4812
- package/dist/vat-dates.generated-DTVWQAdn.d.ts.map +0 -1
- package/dist/vatex-codes.generated-BSgP3n5t.js.map +0 -1
- package/src/decoders/errors.ts +0 -11
- package/src/document-parser.ts +0 -70
- package/src/document.ts +0 -19
- package/src/effect/fields/default-customization-id.ts +0 -1
- package/src/effect/fields/default-profile-id.ts +0 -1
- package/src/effect/fields/peppol-additional-document-reference-schema.ts +0 -114
- package/src/effect/fields/peppol-address-schema.ts +0 -105
- package/src/effect/fields/peppol-allowance-charge-schema.ts +0 -95
- package/src/effect/fields/peppol-amount-schema.ts +0 -22
- package/src/effect/fields/peppol-base-line-schema.ts +0 -138
- package/src/effect/fields/peppol-binary-object-schema.ts +0 -51
- package/src/effect/fields/peppol-contact-schema.ts +0 -18
- package/src/effect/fields/peppol-credit-note-line-schema.ts +0 -42
- package/src/effect/fields/peppol-delivery-schema.ts +0 -100
- package/src/effect/fields/peppol-identifier-schema.ts +0 -19
- package/src/effect/fields/peppol-invoice-line-period-schema.ts +0 -34
- package/src/effect/fields/peppol-invoice-period-schema.ts +0 -30
- package/src/effect/fields/peppol-item-classification-schema.ts +0 -45
- package/src/effect/fields/peppol-legal-monetary-total-schema.ts +0 -126
- package/src/effect/fields/peppol-line-allowance-charge-schema.ts +0 -64
- package/src/effect/fields/peppol-line-item-schema.ts +0 -185
- package/src/effect/fields/peppol-line-price-allowance-charge-schema.ts +0 -38
- package/src/effect/fields/peppol-line-price-schema.ts +0 -31
- package/src/effect/fields/peppol-order-reference-schema.ts +0 -36
- package/src/effect/fields/peppol-party-base-schema.ts +0 -138
- package/src/effect/fields/peppol-party-legal-entity-schema.ts +0 -29
- package/src/effect/fields/peppol-party-tax-scheme-schema.ts +0 -33
- package/src/effect/fields/peppol-payee-party-schema.ts +0 -112
- package/src/effect/fields/peppol-payment-means-schema.ts +0 -210
- package/src/effect/fields/peppol-payment-terms-schema.ts +0 -23
- package/src/effect/fields/peppol-quantity-schema.ts +0 -21
- package/src/effect/fields/peppol-reference-schema.ts +0 -5
- package/src/effect/fields/peppol-tax-category-schema.ts +0 -42
- package/src/effect/fields/peppol-tax-representative-schema.ts +0 -23
- package/src/effect/fields/peppol-tax-subtotal-schema.ts +0 -32
- package/src/effect/fields/peppol-tax-totals-base-schema.ts +0 -25
- package/src/effect/index.ts +0 -56
- package/src/effect/peppol-billing-base-schema.ts +0 -355
- package/src/effect/peppol-credit-note-schema.ts +0 -30
- package/src/effect/peppol-document-response-document-reference-schema.ts +0 -38
- package/src/effect/peppol-document-response-document-schema.ts +0 -35
- package/src/effect/peppol-document-response-line-response-content-schema.ts +0 -44
- package/src/effect/peppol-document-response-line-response-schema.ts +0 -33
- package/src/effect/peppol-document-schema.ts +0 -142
- package/src/effect/peppol-invoice-response-document-actual-response-status-schema.ts +0 -60
- package/src/effect/peppol-invoice-response-schema.ts +0 -168
- package/src/effect/peppol-invoice-response-status-reason-code-schema.ts +0 -31
- package/src/effect/peppol-invoice-schema.ts +0 -42
- package/src/effect/peppol-iso-date-string-schema.ts +0 -19
- package/src/effect/peppol-message-level-response-document-response-schema.ts +0 -33
- package/src/effect/peppol-message-level-response-party-schema.ts +0 -19
- package/src/effect/peppol-message-level-response-schema.ts +0 -97
- package/src/effect/utils/format-quantity-with-unit.ts +0 -1
- package/src/effect/utils/get-credit-note-type-code-description.ts +0 -1
- package/src/effect/utils/get-invoice-type-code-description.ts +0 -1
- package/src/effect/utils/is-valid-credit-note-type-code.ts +0 -1
- package/src/effect/utils/is-valid-invoice-type-code.ts +0 -1
- package/src/effect/utils/is-valid-process.ts +0 -1
- package/src/effect/utils/peppol-xsd-time-schema.ts +0 -13
- package/src/effect/utils/quantity-unit-code-to-intl-unit.ts +0 -2
- package/src/effect/values/credit-note-type-code-schema.ts +0 -23
- package/src/effect/values/document-type-schemes-schema.ts +0 -14
- package/src/effect/values/document-type-values-schema.ts +0 -16
- package/src/effect/values/invoice-type-code-schema.ts +0 -21
- package/src/effect/values/process-from-document-type-schema.ts +0 -26
- package/src/effect/values/quantity-unit-codes-schema.ts +0 -24
- package/src/helpers/errors.ts +0 -6
- package/src/helpers/is-defined.ts +0 -3
- package/src/schemas/billing-base.ts +0 -362
- package/src/schemas/credit-note.ts +0 -28
- package/src/schemas/document-response-document-reference-schema.ts +0 -37
- package/src/schemas/document-response-document-schema.ts +0 -34
- package/src/schemas/document-response-line-response-content.ts +0 -43
- package/src/schemas/document-response-line-response-schema.ts +0 -33
- package/src/schemas/fields/additional-document-reference-schema.ts +0 -112
- package/src/schemas/fields/address-schema.ts +0 -105
- package/src/schemas/fields/allowance-charge-schema.ts +0 -86
- package/src/schemas/fields/amount-schema.ts +0 -21
- package/src/schemas/fields/base-line-schema.ts +0 -136
- package/src/schemas/fields/billing-references-schema.ts +0 -44
- package/src/schemas/fields/binary-object-schema.ts +0 -45
- package/src/schemas/fields/contact-schema.ts +0 -18
- package/src/schemas/fields/credit-note-line-schema.ts +0 -37
- package/src/schemas/fields/date-only-fn.ts +0 -6
- package/src/schemas/fields/date-only-parser.ts +0 -20
- package/src/schemas/fields/delivery-schema.ts +0 -95
- package/src/schemas/fields/identifier-schema.ts +0 -24
- package/src/schemas/fields/invoice-line-period-schema.ts +0 -31
- package/src/schemas/fields/invoice-line-schema.ts +0 -41
- package/src/schemas/fields/invoice-period-schema.ts +0 -27
- package/src/schemas/fields/legal-monetary-total-schema.ts +0 -125
- package/src/schemas/fields/line-allowance-charge-schema.ts +0 -59
- package/src/schemas/fields/line-item-schema.ts +0 -183
- package/src/schemas/fields/line-price-allowance-charge-schema.ts +0 -33
- package/src/schemas/fields/list-identifier-schema.ts +0 -43
- package/src/schemas/fields/order-reference-schema.ts +0 -36
- package/src/schemas/fields/party-base-schema.ts +0 -131
- package/src/schemas/fields/party-legal-entity-schema.ts +0 -29
- package/src/schemas/fields/party-tax-schema.ts +0 -33
- package/src/schemas/fields/payee-party.ts +0 -107
- package/src/schemas/fields/payment-means-schema.ts +0 -209
- package/src/schemas/fields/payment-terms-schema.ts +0 -23
- package/src/schemas/fields/price-schema.ts +0 -31
- package/src/schemas/fields/quantity-schema.ts +0 -21
- package/src/schemas/fields/reference-schema.ts +0 -4
- package/src/schemas/fields/tax-category-schema.ts +0 -41
- package/src/schemas/fields/tax-representative-party-schema.ts +0 -23
- package/src/schemas/fields/tax-subtotal-category-schema.ts +0 -26
- package/src/schemas/fields/tax-subtotal-schema.ts +0 -32
- package/src/schemas/fields/tax-totals.ts +0 -25
- package/src/schemas/fields/time-only.ts +0 -23
- package/src/schemas/invoice-response-document-actual-response-status.ts +0 -58
- package/src/schemas/invoice-response-document-actual-response.ts +0 -73
- package/src/schemas/invoice-response-schema.ts +0 -155
- package/src/schemas/invoice-response-status-reason-code.ts +0 -30
- package/src/schemas/invoice.ts +0 -43
- package/src/schemas/message-level-response-document-response-schema.ts +0 -33
- package/src/schemas/message-level-response-party-schema.ts +0 -18
- package/src/schemas/message-level-response-schema.ts +0 -96
- package/src/schemas/utils/base-64.ts +0 -34
- package/src/schemas/utils/vat-regex.ts +0 -51
- package/src/schemas/utils/xsd-time.ts +0 -9
- package/src/schemas/values/additional-document-reference-code.ts +0 -27
- package/src/schemas/values/allowance-charge-reason-code.ts +0 -29
- package/src/schemas/values/application-response-type-codes.ts +0 -25
- package/src/schemas/values/charge-reason-code.ts +0 -29
- package/src/schemas/values/country-code.ts +0 -36
- package/src/schemas/values/currency-codes.ts +0 -35
- package/src/schemas/values/document-type-codes.ts +0 -25
- package/src/schemas/values/document-type-schema.ts +0 -49
- package/src/schemas/values/duty-tax-fee-cateogries.ts +0 -28
- package/src/schemas/values/eas-codes.ts +0 -35
- package/src/schemas/values/icd-codes.ts +0 -28
- package/src/schemas/values/invoice-status-codes.ts +0 -25
- package/src/schemas/values/item-classification-code-schema.ts +0 -28
- package/src/schemas/values/mime-code.ts +0 -28
- package/src/schemas/values/op-status-action.ts +0 -25
- package/src/schemas/values/op-status-reason.ts +0 -25
- package/src/schemas/values/participant-identifier-code.ts +0 -25
- package/src/schemas/values/payment-means-codes-schema.ts +0 -36
- package/src/schemas/values/process-schema.ts +0 -41
- package/src/schemas/values/process-xml-identifier-schema.ts +0 -27
- package/src/schemas/values/vat-date-code.ts +0 -15
- package/src/schemas/values/vatex-code.ts +0 -28
- package/src/schemas.ts +0 -97
- /package/src/{effect → schemas}/utils/peppol-base-64-schema.ts +0 -0
- /package/src/{effect → schemas}/values/additional-document-reference-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/allowance-charge-reason-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/application-response-type-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/charge-reason-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/currency-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/electronic-codes-schema.ts +0 -0
- /package/src/{effect → schemas}/values/icd-codes-schema.ts +0 -0
- /package/src/{effect → schemas}/values/index.ts +0 -0
- /package/src/{effect → schemas}/values/invoice-status-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/item-classification-codes-schema.ts +0 -0
- /package/src/{effect → schemas}/values/mime-codes-schema.ts +0 -0
- /package/src/{effect → schemas}/values/op-status-action-schema.ts +0 -0
- /package/src/{effect → schemas}/values/op-status-reason-schema.ts +0 -0
- /package/src/{effect → schemas}/values/participant-identifier-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/payment-means-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/peppol-country-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/peppol-document-type-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/peppol-document-type-schema.ts +0 -0
- /package/src/{effect → schemas}/values/peppol-process-schema.ts +0 -0
- /package/src/{effect → schemas}/values/vat-date-code-schema.ts +0 -0
- /package/src/{effect → schemas}/values/vatex-code-schema.ts +0 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/SchemaStore/schemastore/refs/heads/master/src/schemas/json/package.json",
|
|
3
3
|
"name": "@endevops/peppol-schema",
|
|
4
|
-
"version": "0.1.0-beta.
|
|
4
|
+
"version": "0.1.0-beta.6",
|
|
5
5
|
"description": "A simple example library built by tsdown",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"contributors": [
|
|
@@ -29,14 +29,18 @@
|
|
|
29
29
|
"development": "./src/index.ts",
|
|
30
30
|
"default": "./dist/index.js"
|
|
31
31
|
},
|
|
32
|
-
"./
|
|
33
|
-
"development": "./src/
|
|
34
|
-
"default": "./dist/
|
|
32
|
+
"./constants": {
|
|
33
|
+
"development": "./src/constants/index.ts",
|
|
34
|
+
"default": "./dist/constants.js"
|
|
35
35
|
},
|
|
36
36
|
"./generate-translations": {
|
|
37
37
|
"development": "./scripts/generate-translations.ts",
|
|
38
38
|
"default": "./dist/bin/generate-translations.mjs"
|
|
39
39
|
},
|
|
40
|
+
"./invoice-response-codes": {
|
|
41
|
+
"development": "./src/invoice-response-codes/index.ts",
|
|
42
|
+
"default": "./dist/invoice-response-codes.js"
|
|
43
|
+
},
|
|
40
44
|
"./schematron": {
|
|
41
45
|
"development": "./src/schematron/index.ts",
|
|
42
46
|
"default": "./dist/schematron.js"
|
|
@@ -61,8 +65,9 @@
|
|
|
61
65
|
},
|
|
62
66
|
"exports": {
|
|
63
67
|
".": "./dist/index.js",
|
|
64
|
-
"./
|
|
68
|
+
"./constants": "./dist/constants.js",
|
|
65
69
|
"./generate-translations": "./dist/bin/generate-translations.mjs",
|
|
70
|
+
"./invoice-response-codes": "./dist/invoice-response-codes.js",
|
|
66
71
|
"./schematron": "./dist/schematron.js",
|
|
67
72
|
"./validations": "./dist/validations.js",
|
|
68
73
|
"./values": "./dist/values.js",
|
|
@@ -86,19 +91,18 @@
|
|
|
86
91
|
},
|
|
87
92
|
"devDependencies": {
|
|
88
93
|
"@arethetypeswrong/core": "^0.18.5",
|
|
89
|
-
"@
|
|
90
|
-
"@effect/
|
|
94
|
+
"@effect/tsgo": "^0.45.0",
|
|
95
|
+
"@effect/vitest": "^4.0.0-rc.113",
|
|
91
96
|
"@nodable/compact-builder": "^2.0.0",
|
|
92
97
|
"@nodable/flexible-xml-parser": "^1.11.3",
|
|
93
98
|
"@types/bun": "^1.4.2",
|
|
94
99
|
"@types/node": "^26.5.1",
|
|
95
100
|
"@vitest/coverage-v8": "^5.0.0",
|
|
96
|
-
"date-fns": "^4.4.0",
|
|
97
101
|
"effect": "^4.0.0-rc.113",
|
|
98
102
|
"fast-xml-builder": "^1.3.1",
|
|
99
103
|
"fast-xml-parser": "^5.11.1",
|
|
100
104
|
"husky": "^9.1.7",
|
|
101
|
-
"lint-staged": "^17.5.
|
|
105
|
+
"lint-staged": "^17.5.1",
|
|
102
106
|
"oxfmt": "^0.67.0",
|
|
103
107
|
"oxlint": "^1.82.0",
|
|
104
108
|
"oxlint-tsgolint": "^7.0.2001",
|
|
@@ -108,18 +112,13 @@
|
|
|
108
112
|
"simple-git": "^3.36.0",
|
|
109
113
|
"testcontainers": "^12.1.0",
|
|
110
114
|
"tsdown": "^0.23.0",
|
|
111
|
-
"type-fest": "^5.9.0",
|
|
112
115
|
"typescript": "^7.0.2",
|
|
113
|
-
"vitest": "^5.0.0"
|
|
114
|
-
"zod": "^4.6.1"
|
|
116
|
+
"vitest": "^5.0.0"
|
|
115
117
|
},
|
|
116
118
|
"peerDependencies": {
|
|
117
|
-
"@date-fns/tz": "^1",
|
|
118
|
-
"date-fns": "^4",
|
|
119
119
|
"effect": "^4.0.0-rc.113",
|
|
120
120
|
"fast-xml-builder": "^1",
|
|
121
|
-
"fast-xml-parser": "^5"
|
|
122
|
-
"zod": "^4"
|
|
121
|
+
"fast-xml-parser": "^5"
|
|
123
122
|
},
|
|
124
123
|
"lint-staged": {
|
|
125
124
|
"*.{js,ts,cjs,mjs,d.cts,d.mts,jsx,tsx}": [
|
|
@@ -136,7 +135,6 @@
|
|
|
136
135
|
},
|
|
137
136
|
"packageManager": "pnpm@12.4.1",
|
|
138
137
|
"inlinedDependencies": {
|
|
139
|
-
"picocolors": "1.1.1"
|
|
140
|
-
"type-fest": "5.9.0"
|
|
138
|
+
"picocolors": "1.1.1"
|
|
141
139
|
}
|
|
142
140
|
}
|
|
@@ -18,7 +18,7 @@ import { decodeTaxRepresentativeParty } from '#/decoders/fields/decode-tax-repre
|
|
|
18
18
|
import { decodeTaxTotals } from '#/decoders/fields/decode-tax-totals';
|
|
19
19
|
import { strOrUnd } from '#/helpers/str-or-und';
|
|
20
20
|
|
|
21
|
-
export const decodeBilling = Effect.fn(function* (doc: XmlNode) {
|
|
21
|
+
export const decodeBilling = Effect.fn('decode-billing')(function* (doc: XmlNode) {
|
|
22
22
|
return {
|
|
23
23
|
accountingCost: yield* strOrUnd(doc, 'cbc:AccountingCost'),
|
|
24
24
|
accountingCustomerParty: yield* decodeParty(doc, 'cac:AccountingCustomerParty', 'cac:Party'),
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { Effect } from 'effect';
|
|
2
2
|
|
|
3
|
-
import type { PeppolNodeError } from '#/helpers/errors';
|
|
4
3
|
import type { XmlNode } from '#/helpers/get-prop';
|
|
5
|
-
import type { PeppolCreditNote } from '#/schemas/credit-note';
|
|
6
4
|
|
|
7
5
|
import { decodeBilling } from '#/decoders/decode-billing';
|
|
8
6
|
import { decodeCreditNoteLines } from '#/decoders/fields/decode-credit-note-lines';
|
|
9
7
|
import { getProp } from '#/helpers/get-prop';
|
|
10
8
|
import { strOrUnd } from '#/helpers/str-or-und';
|
|
11
9
|
|
|
12
|
-
export const decodeCreditNote = Effect.fn(function* (value: XmlNode)
|
|
10
|
+
export const decodeCreditNote = Effect.fn('decode-credit-note')(function* (value: XmlNode) {
|
|
13
11
|
const root = value || {};
|
|
14
12
|
const doc: XmlNode = (yield* getProp(root, 'ubl:CreditNote')) ?? root; // accept either the whole JSON or just the CreditNote node
|
|
15
13
|
|
|
@@ -17,5 +15,5 @@ export const decodeCreditNote = Effect.fn(function* (value: XmlNode): Effect.fn.
|
|
|
17
15
|
...(yield* decodeBilling(doc)),
|
|
18
16
|
creditNoteLines: yield* decodeCreditNoteLines(doc, 'cac:CreditNoteLine'),
|
|
19
17
|
creditNoteTypeCode: yield* strOrUnd(doc, 'cbc:CreditNoteTypeCode'),
|
|
20
|
-
}
|
|
18
|
+
};
|
|
21
19
|
});
|
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
import { Effect, Predicate } from 'effect';
|
|
2
2
|
|
|
3
3
|
import type { XmlNode } from '#/helpers/get-prop';
|
|
4
|
-
import type { InvoiceResponseDocumentActualResponse } from '#/schemas/invoice-response-document-actual-response';
|
|
5
|
-
import type {
|
|
6
|
-
InvoiceReponseDocumentActualResponseStatus,
|
|
7
|
-
InvoiceResponseCondition,
|
|
8
|
-
} from '#/schemas/invoice-response-document-actual-response-status';
|
|
9
|
-
import type { InvoiceResponseDocumentReference, InvoiceResponseDocumentResponse, PeppolInvoiceResponse } from '#/schemas/invoice-response-schema';
|
|
10
|
-
import type { InvoiceResponseStatusReasonCode } from '#/schemas/invoice-response-status-reason-code';
|
|
11
|
-
import type { RecursivePartial } from '#/types';
|
|
12
4
|
|
|
5
|
+
import { decodeApplicationResponseBase } from '#/decoders/fields/decode-application-response';
|
|
13
6
|
import { decodeInvoiceMessageDocumentParty } from '#/decoders/fields/decode-invoice-message-document-party';
|
|
14
7
|
import { decodeInvoiceMessageParty } from '#/decoders/fields/decode-invoice-message-party';
|
|
15
8
|
import { getArray } from '#/helpers/get-array';
|
|
@@ -21,16 +14,13 @@ const decodeStatusReasonCode = Effect.fn(function* (doc: XmlNode, ...path: Array
|
|
|
21
14
|
if (!Predicate.isTruthy(val) && val !== 0) return undefined;
|
|
22
15
|
const value = yield* strOrUnd(val);
|
|
23
16
|
if (Predicate.isString(val) || Predicate.isNumber(val)) {
|
|
24
|
-
return { value }
|
|
17
|
+
return { value };
|
|
25
18
|
}
|
|
26
19
|
if (!Predicate.isTruthy(value)) return undefined;
|
|
27
|
-
return { listId: yield* strOrUnd(val, '@listID'), value }
|
|
20
|
+
return { listId: yield* strOrUnd(val, '@listID'), value };
|
|
28
21
|
});
|
|
29
22
|
|
|
30
|
-
const decodeCondition = Effect.fn(function* (
|
|
31
|
-
doc: XmlNode,
|
|
32
|
-
...path: Array<string>
|
|
33
|
-
): Effect.fn.Return<Array<RecursivePartial<InvoiceResponseCondition>> | undefined> {
|
|
23
|
+
const decodeCondition = Effect.fn(function* (doc: XmlNode, ...path: Array<string>) {
|
|
34
24
|
const val = yield* getArray(doc, ...path);
|
|
35
25
|
/* istanbul ignore next -- getArray never returns a falsy value */
|
|
36
26
|
if (Predicate.isNullish(val)) return undefined;
|
|
@@ -53,28 +43,22 @@ const decodeDocumentResponseStatus = Effect.fn(function* (doc: XmlNode, ...path:
|
|
|
53
43
|
condition: yield* decodeCondition(item, 'cac:Condition'),
|
|
54
44
|
statusReason: yield* strOrUnd(item, 'cbc:StatusReason'),
|
|
55
45
|
statusReasonCode: yield* decodeStatusReasonCode(item, 'cbc:StatusReasonCode'),
|
|
56
|
-
}
|
|
46
|
+
};
|
|
57
47
|
})
|
|
58
48
|
);
|
|
59
49
|
});
|
|
60
50
|
|
|
61
|
-
const decodeDocumentActualResponse = Effect.fn(function* (
|
|
62
|
-
doc: XmlNode,
|
|
63
|
-
...path: Array<string>
|
|
64
|
-
): Effect.fn.Return<RecursivePartial<InvoiceResponseDocumentActualResponse> | undefined> {
|
|
51
|
+
const decodeDocumentActualResponse = Effect.fn(function* (doc: XmlNode, ...path: Array<string>) {
|
|
65
52
|
const val = yield* getProp(doc, ...path);
|
|
66
53
|
if (Predicate.isNullish(val)) return undefined;
|
|
67
54
|
return {
|
|
68
55
|
effectiveDate: yield* strOrUnd(val, 'cbc:EffectiveDate'),
|
|
69
56
|
responseCode: yield* strOrUnd(val, 'cbc:ResponseCode'),
|
|
70
57
|
status: yield* decodeDocumentResponseStatus(val, 'cac:Status'),
|
|
71
|
-
}
|
|
58
|
+
};
|
|
72
59
|
});
|
|
73
60
|
|
|
74
|
-
const decodeDocumentReference = Effect.fn(function* (
|
|
75
|
-
doc: XmlNode,
|
|
76
|
-
...path: Array<string>
|
|
77
|
-
): Effect.fn.Return<RecursivePartial<InvoiceResponseDocumentReference> | undefined> {
|
|
61
|
+
const decodeDocumentReference = Effect.fn(function* (doc: XmlNode, ...path: Array<string>) {
|
|
78
62
|
const val = yield* getProp(doc, ...path);
|
|
79
63
|
if (Predicate.isNullish(val)) return undefined;
|
|
80
64
|
return {
|
|
@@ -84,12 +68,10 @@ const decodeDocumentReference = Effect.fn(function* (
|
|
|
84
68
|
};
|
|
85
69
|
});
|
|
86
70
|
|
|
87
|
-
const decodeDocumentResponse = Effect.fn(function* (
|
|
88
|
-
doc: XmlNode,
|
|
89
|
-
...path: Array<string>
|
|
90
|
-
): Effect.fn.Return<RecursivePartial<InvoiceResponseDocumentResponse> | undefined> {
|
|
71
|
+
const decodeDocumentResponse = Effect.fn(function* (doc: XmlNode, ...path: Array<string>) {
|
|
91
72
|
const val = yield* getProp(doc, ...path);
|
|
92
73
|
if (Predicate.isNullish(val)) return undefined;
|
|
74
|
+
|
|
93
75
|
return {
|
|
94
76
|
documentReference: yield* decodeDocumentReference(val, 'cac:DocumentReference'),
|
|
95
77
|
issuerParty: yield* decodeInvoiceMessageDocumentParty(val, 'cac:IssuerParty'),
|
|
@@ -98,19 +80,15 @@ const decodeDocumentResponse = Effect.fn(function* (
|
|
|
98
80
|
};
|
|
99
81
|
});
|
|
100
82
|
|
|
101
|
-
export const decodeInvoiceResponse = Effect.fn(function* (value: XmlNode)
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
83
|
+
export const decodeInvoiceResponse = Effect.fn(function* (value: XmlNode) {
|
|
84
|
+
const { base, doc } = yield* decodeApplicationResponseBase(value);
|
|
85
|
+
|
|
86
|
+
return {
|
|
87
|
+
...base,
|
|
106
88
|
documentResponse: yield* decodeDocumentResponse(doc, 'cac:DocumentResponse'),
|
|
107
|
-
id: yield* strOrUnd(doc, 'cbc:ID'),
|
|
108
|
-
issueDate: yield* strOrUnd(doc, 'cbc:IssueDate'),
|
|
109
|
-
issueTime: yield* strOrUnd(doc, 'cbc:IssueTime'),
|
|
110
89
|
note: yield* strOrUnd(doc, 'cbc:Note'),
|
|
111
90
|
profileId: yield* strOrUnd<'urn:fdc:peppol.eu:poacc:bis:invoice_response:3'>(doc, 'cbc:ProfileID'),
|
|
112
91
|
receiverParty: yield* decodeInvoiceMessageParty(doc, 'cac:ReceiverParty'),
|
|
113
92
|
senderParty: yield* decodeInvoiceMessageParty(doc, 'cac:SenderParty'),
|
|
114
93
|
};
|
|
115
|
-
return applicationResponse as PeppolInvoiceResponse;
|
|
116
94
|
});
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { Effect } from 'effect';
|
|
2
2
|
|
|
3
|
-
import type { PeppolNodeError } from '#/helpers/errors';
|
|
4
3
|
import type { XmlNode } from '#/helpers/get-prop';
|
|
5
|
-
import type { PeppolInvoice } from '#/schemas/invoice';
|
|
6
4
|
|
|
7
5
|
import { decodeBilling } from '#/decoders/decode-billing';
|
|
8
6
|
import { decodeInvoiceLines } from '#/decoders/fields/decode-invoice-lines';
|
|
@@ -10,7 +8,7 @@ import { decodeSimpleIdentifer } from '#/decoders/fields/decode-simple-identifie
|
|
|
10
8
|
import { getProp } from '#/helpers/get-prop';
|
|
11
9
|
import { strOrUnd } from '#/helpers/str-or-und';
|
|
12
10
|
|
|
13
|
-
export const decodeInvoice = Effect.fn(function* (value: XmlNode)
|
|
11
|
+
export const decodeInvoice = Effect.fn('decode-invoice')(function* (value: XmlNode) {
|
|
14
12
|
const root = value || {};
|
|
15
13
|
const doc: XmlNode = (yield* getProp(root, 'ubl:Invoice')) ?? root;
|
|
16
14
|
|
|
@@ -20,5 +18,5 @@ export const decodeInvoice = Effect.fn(function* (value: XmlNode): Effect.fn.Ret
|
|
|
20
18
|
invoiceLines: yield* decodeInvoiceLines(doc, 'cac:InvoiceLine'),
|
|
21
19
|
invoiceTypeCode: yield* strOrUnd(doc, 'cbc:InvoiceTypeCode'),
|
|
22
20
|
projectReference: yield* decodeSimpleIdentifer(doc, 'cac:ProjectReference'),
|
|
23
|
-
}
|
|
21
|
+
};
|
|
24
22
|
});
|
|
@@ -1,37 +1,24 @@
|
|
|
1
1
|
import { Effect, Predicate } from 'effect';
|
|
2
2
|
|
|
3
3
|
import type { XmlNode } from '#/helpers/get-prop';
|
|
4
|
-
import type { PeppolMessageLevelDocumentResponseDocumentReference } from '#/schemas/document-response-document-reference-schema';
|
|
5
|
-
import type { PeppolMessageLevelResponseDocumentResponseDocument } from '#/schemas/document-response-document-schema';
|
|
6
|
-
import type { DocumentResponseLineResponseContent } from '#/schemas/document-response-line-response-content';
|
|
7
|
-
import type { PeppolMessageLevelDocumentResponseLineResponse } from '#/schemas/document-response-line-response-schema';
|
|
8
|
-
import type { PeppolMessageLevelMessageLevelResponseDocumentResponse } from '#/schemas/message-level-response-document-response-schema';
|
|
9
|
-
import type { PeppolMessageLevelResponse } from '#/schemas/message-level-response-schema';
|
|
10
|
-
import type { RecursivePartial } from '#/types';
|
|
11
4
|
|
|
5
|
+
import { decodeApplicationResponseBase } from '#/decoders/fields/decode-application-response';
|
|
12
6
|
import { decodeMessageLevelParty } from '#/decoders/fields/decode-message-level-party';
|
|
13
7
|
import { getArray } from '#/helpers/get-array';
|
|
14
8
|
import { getProp } from '#/helpers/get-prop';
|
|
15
9
|
import { strOrUnd } from '#/helpers/str-or-und';
|
|
16
10
|
|
|
17
|
-
const
|
|
18
|
-
doc: XmlNode,
|
|
19
|
-
...path: Array<string>
|
|
20
|
-
): Effect.fn.Return<RecursivePartial<PeppolMessageLevelMessageLevelResponseDocumentResponse> | undefined> {
|
|
11
|
+
const decodeLineResponseContent = Effect.fn(function* (doc: XmlNode, ...path: Array<string>) {
|
|
21
12
|
const val = yield* getProp(doc, ...path);
|
|
22
13
|
if (Predicate.isNullish(val)) return undefined;
|
|
23
|
-
|
|
24
14
|
return {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
15
|
+
description: yield* strOrUnd(val, 'cbc:Description'),
|
|
16
|
+
responseCode: yield* strOrUnd(val, 'cbc:ResponseCode'),
|
|
17
|
+
status: { statusReasonCode: yield* strOrUnd<'BV' | 'BW' | 'SV'>(val, 'cac:Status', 'cbc:StatusReasonCode') },
|
|
18
|
+
};
|
|
29
19
|
});
|
|
30
20
|
|
|
31
|
-
const decodeLineResponse = Effect.fn(function* (
|
|
32
|
-
doc: XmlNode,
|
|
33
|
-
...path: Array<string>
|
|
34
|
-
): Effect.fn.Return<Array<RecursivePartial<PeppolMessageLevelDocumentResponseLineResponse>> | undefined> {
|
|
21
|
+
const decodeLineResponse = Effect.fn(function* (doc: XmlNode, ...path: Array<string>) {
|
|
35
22
|
const val = yield* getArray(doc, ...path);
|
|
36
23
|
/* istanbul ignore next -- getArray never returns a falsy value */
|
|
37
24
|
if (Predicate.isNullish(val)) return undefined;
|
|
@@ -47,23 +34,13 @@ const decodeLineResponse = Effect.fn(function* (
|
|
|
47
34
|
);
|
|
48
35
|
});
|
|
49
36
|
|
|
50
|
-
const
|
|
51
|
-
doc: XmlNode,
|
|
52
|
-
...path: Array<string>
|
|
53
|
-
): Effect.fn.Return<RecursivePartial<DocumentResponseLineResponseContent> | undefined> {
|
|
37
|
+
const decodeResponse = Effect.fn(function* (doc: XmlNode, ...path: Array<string>) {
|
|
54
38
|
const val = yield* getProp(doc, ...path);
|
|
55
39
|
if (Predicate.isNullish(val)) return undefined;
|
|
56
|
-
return {
|
|
57
|
-
description: yield* strOrUnd(val, 'cbc:Description'),
|
|
58
|
-
responseCode: yield* strOrUnd(val, 'cbc:ResponseCode'),
|
|
59
|
-
status: { statusReasonCode: yield* strOrUnd<'BV' | 'BW' | 'SV'>(val, 'cac:Status', 'cbc:StatusReasonCode') },
|
|
60
|
-
};
|
|
40
|
+
return { description: yield* strOrUnd(val, 'cbc:Description'), responseCode: yield* strOrUnd(val, 'cbc:ResponseCode') };
|
|
61
41
|
});
|
|
62
42
|
|
|
63
|
-
const decodeDocumentReference = Effect.fn(function* (
|
|
64
|
-
doc: XmlNode,
|
|
65
|
-
...path: Array<string>
|
|
66
|
-
): Effect.fn.Return<RecursivePartial<PeppolMessageLevelDocumentResponseDocumentReference> | undefined> {
|
|
43
|
+
const decodeDocumentReference = Effect.fn(function* (doc: XmlNode, ...path: Array<string>) {
|
|
67
44
|
const val = yield* getProp(doc, ...path);
|
|
68
45
|
if (Predicate.isNullish(val)) return undefined;
|
|
69
46
|
return {
|
|
@@ -73,28 +50,24 @@ const decodeDocumentReference = Effect.fn(function* (
|
|
|
73
50
|
};
|
|
74
51
|
});
|
|
75
52
|
|
|
76
|
-
const
|
|
77
|
-
doc: XmlNode,
|
|
78
|
-
...path: Array<string>
|
|
79
|
-
): Effect.fn.Return<RecursivePartial<PeppolMessageLevelResponseDocumentResponseDocument> | undefined> {
|
|
53
|
+
const decodeDocumentResponse = Effect.fn(function* (doc: XmlNode, ...path: Array<string>) {
|
|
80
54
|
const val = yield* getProp(doc, ...path);
|
|
81
55
|
if (Predicate.isNullish(val)) return undefined;
|
|
82
|
-
|
|
56
|
+
|
|
57
|
+
return {
|
|
58
|
+
documentReference: yield* decodeDocumentReference(val, 'cac:DocumentReference'),
|
|
59
|
+
lineResponse: yield* decodeLineResponse(val, 'cac:LineResponse'),
|
|
60
|
+
response: yield* decodeResponse(val, 'cac:Response'),
|
|
61
|
+
};
|
|
83
62
|
});
|
|
84
63
|
|
|
85
|
-
export const decodeMessageLevelResponse = Effect.fn(function* (value: XmlNode)
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
customizationId: yield* strOrUnd(doc, 'cbc:CustomizationID'),
|
|
64
|
+
export const decodeMessageLevelResponse = Effect.fn(function* (value: XmlNode) {
|
|
65
|
+
const { base, doc } = yield* decodeApplicationResponseBase(value);
|
|
66
|
+
return {
|
|
67
|
+
...base,
|
|
90
68
|
documentResponse: yield* decodeDocumentResponse(doc, 'cac:DocumentResponse'),
|
|
91
|
-
id: yield* strOrUnd(doc, 'cbc:ID'),
|
|
92
|
-
issueDate: yield* strOrUnd(doc, 'cbc:IssueDate'),
|
|
93
|
-
issueTime: yield* strOrUnd(doc, 'cbc:IssueTime'),
|
|
94
69
|
profileId: yield* strOrUnd<'urn:fdc:peppol.eu:poacc:bis:mlr:3'>(doc, 'cbc:ProfileID'),
|
|
95
70
|
receiverParty: yield* decodeMessageLevelParty(doc, 'cac:ReceiverParty'),
|
|
96
71
|
senderParty: yield* decodeMessageLevelParty(doc, 'cac:SenderParty'),
|
|
97
72
|
};
|
|
98
|
-
|
|
99
|
-
return applicationResponse as PeppolMessageLevelResponse;
|
|
100
73
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect } from 'effect';
|
|
2
2
|
|
|
3
|
-
import type { PeppolCreditNote } from '#/schemas/credit-note';
|
|
3
|
+
import type { PeppolCreditNote } from '#/schemas/peppol-credit-note-schema';
|
|
4
4
|
|
|
5
5
|
import { encodeAdditionalDocumentReferences } from '#/decoders/fields/encode-additional-document-references';
|
|
6
6
|
import { encodeAllowanceCharges } from '#/decoders/fields/encode-allowance-charges';
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { Effect, Predicate } from 'effect';
|
|
2
2
|
|
|
3
|
-
import type {
|
|
4
|
-
|
|
3
|
+
import type {
|
|
4
|
+
PeppolInvoiceResponse,
|
|
5
|
+
PeppolInvoiceResponseDocumentReference,
|
|
6
|
+
PeppolInvoiceResponseDocumentResponse,
|
|
7
|
+
} from '#/schemas/peppol-invoice-response-schema';
|
|
5
8
|
|
|
6
9
|
import { encodeMessageParty } from '#/decoders/fields/encode-message-party';
|
|
7
10
|
|
|
@@ -30,7 +33,7 @@ export const encodeInvoiceResponse = Effect.fn(function* (invoiceResponse: Peppo
|
|
|
30
33
|
};
|
|
31
34
|
});
|
|
32
35
|
|
|
33
|
-
const encodeDocumentResponse = Effect.fn(function* (documentResponse:
|
|
36
|
+
const encodeDocumentResponse = Effect.fn(function* (documentResponse: PeppolInvoiceResponseDocumentResponse) {
|
|
34
37
|
if (Predicate.isNullish(documentResponse)) {
|
|
35
38
|
return undefined;
|
|
36
39
|
}
|
|
@@ -52,7 +55,7 @@ const encodeDocumentResponse = Effect.fn(function* (documentResponse: InvoiceRes
|
|
|
52
55
|
};
|
|
53
56
|
});
|
|
54
57
|
|
|
55
|
-
const encodeDocumentReference = Effect.fn(function* (documentReference:
|
|
58
|
+
const encodeDocumentReference = Effect.fn(function* (documentReference: PeppolInvoiceResponseDocumentReference) {
|
|
56
59
|
if (Predicate.isNullish(documentReference)) return undefined;
|
|
57
60
|
return { 'cbc:ID': documentReference.id, 'cbc:IssueDate': documentReference.issueDate, 'cbc:DocumentTypeCode': documentReference.documentTypeCode };
|
|
58
61
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect } from 'effect';
|
|
2
2
|
|
|
3
|
-
import type { PeppolInvoice } from '#/schemas/invoice';
|
|
3
|
+
import type { PeppolInvoice } from '#/schemas/peppol-invoice-schema';
|
|
4
4
|
|
|
5
5
|
import { encodeAdditionalDocumentReferences } from '#/decoders/fields/encode-additional-document-references';
|
|
6
6
|
import { encodeAllowanceCharges } from '#/decoders/fields/encode-allowance-charges';
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { Effect
|
|
1
|
+
import { Effect } from 'effect';
|
|
2
2
|
|
|
3
|
-
import type {
|
|
4
|
-
import type { PeppolMessageLevelResponse } from '#/schemas/message-level-response-schema';
|
|
3
|
+
import type { PeppolMessageLevelResponseDocumentResponse } from '#/schemas/peppol-message-level-response-document-response-schema';
|
|
4
|
+
import type { PeppolMessageLevelResponse } from '#/schemas/peppol-message-level-response-schema';
|
|
5
5
|
|
|
6
|
-
import { PeppolEncodeError } from '#/decoders/errors';
|
|
7
6
|
import { encodeMessageParty } from '#/decoders/fields/encode-message-party';
|
|
8
7
|
|
|
9
8
|
export const encodeMessageLevelResponse = Effect.fn(function* (messageResponse: PeppolMessageLevelResponse) {
|
|
@@ -30,12 +29,7 @@ export const encodeMessageLevelResponse = Effect.fn(function* (messageResponse:
|
|
|
30
29
|
};
|
|
31
30
|
});
|
|
32
31
|
|
|
33
|
-
const encodeMessageLevelDocumentResponse = Effect.fn(function* (
|
|
34
|
-
documentResponse: PeppolMessageLevelMessageLevelResponseDocumentResponse | undefined
|
|
35
|
-
) {
|
|
36
|
-
if (Predicate.isNullish(documentResponse)) {
|
|
37
|
-
return yield* new PeppolEncodeError({ message: 'Cannot encode a message level response without a document response' });
|
|
38
|
-
}
|
|
32
|
+
const encodeMessageLevelDocumentResponse = Effect.fn(function* (documentResponse: PeppolMessageLevelResponseDocumentResponse) {
|
|
39
33
|
return {
|
|
40
34
|
'cac:Response': { 'cbc:ResponseCode': documentResponse.response.responseCode, 'cbc:Description': documentResponse.response.description },
|
|
41
35
|
'cac:DocumentReference': {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Effect, Predicate } from 'effect';
|
|
2
2
|
|
|
3
3
|
import type { XmlNode } from '#/helpers/get-prop';
|
|
4
|
-
import type { PeppolAdditionalDocumentReference } from '#/schemas/fields/additional-document-reference-schema';
|
|
4
|
+
import type { PeppolAdditionalDocumentReference } from '#/schemas/fields/peppol-additional-document-reference-schema';
|
|
5
5
|
import type { RecursivePartial } from '#/types';
|
|
6
6
|
|
|
7
7
|
import { decodeIdentifier } from '#/decoders/fields/decode-identifier';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Effect, Predicate } from 'effect';
|
|
2
2
|
|
|
3
3
|
import type { XmlNode } from '#/helpers/get-prop';
|
|
4
|
-
import type { PeppolAddress } from '#/schemas/fields/address-schema';
|
|
4
|
+
import type { PeppolAddress } from '#/schemas/fields/peppol-address-schema';
|
|
5
5
|
import type { RecursivePartial } from '#/types';
|
|
6
6
|
|
|
7
7
|
import { getProp } from '#/helpers/get-prop';
|
|
@@ -1,30 +1,22 @@
|
|
|
1
1
|
import { Effect } from 'effect';
|
|
2
2
|
|
|
3
|
-
import type { PeppolNodeError } from '#/helpers/errors';
|
|
4
3
|
import type { XmlNode } from '#/helpers/get-prop';
|
|
5
|
-
import type { PeppolAllowanceCharge } from '#/schemas/fields/allowance-charge-schema';
|
|
4
|
+
import type { PeppolAllowanceCharge } from '#/schemas/fields/peppol-allowance-charge-schema';
|
|
6
5
|
import type { RecursivePartial } from '#/types';
|
|
7
6
|
|
|
8
7
|
import { decodeBaseAllowanceCharge } from '#/decoders/fields/decode-base-allowance-charge';
|
|
8
|
+
import { decodeNodeList } from '#/decoders/fields/decode-node-list';
|
|
9
9
|
import { decodeTaxCategory } from '#/decoders/fields/decode-tax-category';
|
|
10
|
-
import { getArray } from '#/helpers/get-array';
|
|
11
10
|
|
|
12
|
-
export const decodeAllowanceCharges = Effect.fn(function* (
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
): Effect.fn.Return<Array<RecursivePartial<PeppolAllowanceCharge>> | undefined, PeppolNodeError> {
|
|
16
|
-
const arr = yield* getArray(allowanceCharges, ...path);
|
|
17
|
-
if (arr.length === 0) {
|
|
18
|
-
return undefined;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return yield* Effect.forEach(
|
|
22
|
-
arr,
|
|
11
|
+
export const decodeAllowanceCharges = Effect.fn(function* (allowanceCharges: XmlNode, ...path: Array<string>) {
|
|
12
|
+
return yield* decodeNodeList(
|
|
13
|
+
allowanceCharges,
|
|
23
14
|
Effect.fn(function* (allowanceCharge: XmlNode) {
|
|
24
15
|
return {
|
|
25
16
|
...(yield* decodeBaseAllowanceCharge(allowanceCharge)),
|
|
26
17
|
taxCategory: yield* decodeTaxCategory(allowanceCharge, 'cac:TaxCategory'),
|
|
27
18
|
} as RecursivePartial<PeppolAllowanceCharge>;
|
|
28
|
-
})
|
|
19
|
+
}),
|
|
20
|
+
...path
|
|
29
21
|
);
|
|
30
22
|
});
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Effect, Predicate } from 'effect';
|
|
2
2
|
|
|
3
3
|
import type { XmlNode } from '#/helpers/get-prop';
|
|
4
|
-
import type { PeppolAmount } from '#/schemas/fields/amount-schema';
|
|
5
|
-
import type { PeppolCurrencyCode } from '#/schemas/values/currency-
|
|
4
|
+
import type { PeppolAmount } from '#/schemas/fields/peppol-amount-schema';
|
|
5
|
+
import type { PeppolCurrencyCode } from '#/schemas/values/currency-code-schema';
|
|
6
6
|
import type { RecursivePartial } from '#/types';
|
|
7
7
|
|
|
8
8
|
import { getProp } from '#/helpers/get-prop';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Effect } from 'effect';
|
|
2
|
+
|
|
3
|
+
import type { XmlNode } from '#/helpers/get-prop';
|
|
4
|
+
|
|
5
|
+
import { getProp } from '#/helpers/get-prop';
|
|
6
|
+
import { strOrUnd } from '#/helpers/str-or-und';
|
|
7
|
+
|
|
8
|
+
export const decodeApplicationResponseBase = Effect.fn(function* (value: XmlNode) {
|
|
9
|
+
const root = value || {};
|
|
10
|
+
const doc: XmlNode = yield* getProp(root, 'ubl:ApplicationResponse');
|
|
11
|
+
|
|
12
|
+
return {
|
|
13
|
+
base: {
|
|
14
|
+
customizationId: yield* strOrUnd(doc, 'cbc:CustomizationID'),
|
|
15
|
+
id: yield* strOrUnd(doc, 'cbc:ID'),
|
|
16
|
+
issueDate: yield* strOrUnd(doc, 'cbc:IssueDate'),
|
|
17
|
+
issueTime: yield* strOrUnd(doc, 'cbc:IssueTime'),
|
|
18
|
+
},
|
|
19
|
+
doc,
|
|
20
|
+
};
|
|
21
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Effect } from 'effect';
|
|
2
2
|
|
|
3
3
|
import type { XmlNode } from '#/helpers/get-prop';
|
|
4
|
-
import type { PeppolBillingReference } from '#/schemas/fields/billing-
|
|
4
|
+
import type { PeppolBillingReference } from '#/schemas/fields/peppol-billing-reference-schema';
|
|
5
5
|
import type { RecursivePartial } from '#/types';
|
|
6
6
|
|
|
7
7
|
import { getArray } from '#/helpers/get-array';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Effect, Predicate } from 'effect';
|
|
2
2
|
|
|
3
3
|
import type { XmlNode } from '#/helpers/get-prop';
|
|
4
|
-
import type { PeppolContact } from '#/schemas/fields/contact-schema';
|
|
4
|
+
import type { PeppolContact } from '#/schemas/fields/peppol-contact-schema';
|
|
5
5
|
import type { RecursivePartial } from '#/types';
|
|
6
6
|
|
|
7
7
|
import { getProp } from '#/helpers/get-prop';
|
|
@@ -1,26 +1,18 @@
|
|
|
1
1
|
import { Effect } from 'effect';
|
|
2
2
|
|
|
3
|
-
import type { PeppolNodeError } from '#/helpers/errors';
|
|
4
3
|
import type { XmlNode } from '#/helpers/get-prop';
|
|
5
|
-
import type { PeppolCreditNoteLine } from '#/schemas/fields/credit-note-line-schema';
|
|
6
|
-
import type { RecursivePartial } from '#/types';
|
|
7
4
|
|
|
8
5
|
import { decodeLineShared } from '#/decoders/fields/decode-line-shared';
|
|
6
|
+
import { decodeNodeList } from '#/decoders/fields/decode-node-list';
|
|
9
7
|
import { decodeQuantity } from '#/decoders/fields/decode-quantity';
|
|
10
|
-
import { getArray } from '#/helpers/get-array';
|
|
11
8
|
|
|
12
|
-
export const decodeCreditNoteLines = Effect.fn(function* (
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
): Effect.fn.Return<Array<RecursivePartial<PeppolCreditNoteLine>> | undefined, PeppolNodeError> {
|
|
16
|
-
const arr = yield* getArray(doc, ...path);
|
|
17
|
-
if (arr.length === 0) return undefined;
|
|
18
|
-
|
|
19
|
-
return yield* Effect.forEach(
|
|
20
|
-
arr,
|
|
9
|
+
export const decodeCreditNoteLines = Effect.fn(function* (doc: XmlNode, ...path: Array<string>) {
|
|
10
|
+
return yield* decodeNodeList(
|
|
11
|
+
doc,
|
|
21
12
|
Effect.fn(function* (lineNode: XmlNode) {
|
|
22
13
|
const shared = yield* decodeLineShared(lineNode);
|
|
23
14
|
return { ...shared, creditedQuantity: (yield* decodeQuantity(lineNode, 'cbc:CreditedQuantity'))! };
|
|
24
|
-
})
|
|
25
|
-
|
|
15
|
+
}),
|
|
16
|
+
...path
|
|
17
|
+
).pipe(Effect.map(items => items ?? []));
|
|
26
18
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Effect, Predicate } from 'effect';
|
|
2
2
|
|
|
3
3
|
import type { XmlNode } from '#/helpers/get-prop';
|
|
4
|
-
import type { PeppolDelivery } from '#/schemas/fields/delivery-schema';
|
|
4
|
+
import type { PeppolDelivery } from '#/schemas/fields/peppol-delivery-schema';
|
|
5
5
|
import type { RecursivePartial } from '#/types';
|
|
6
6
|
|
|
7
7
|
import { decodeAddress } from '#/decoders/fields/decode-address';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Effect, Predicate } from 'effect';
|
|
2
2
|
|
|
3
3
|
import type { XmlNode } from '#/helpers/get-prop';
|
|
4
|
-
import type { PeppolIdentifier } from '#/schemas/fields/identifier-schema';
|
|
4
|
+
import type { PeppolIdentifier } from '#/schemas/fields/peppol-identifier-schema';
|
|
5
5
|
|
|
6
6
|
import { decodeIdentifier } from '#/decoders/fields/decode-identifier';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Effect, Predicate } from 'effect';
|
|
2
2
|
|
|
3
3
|
import type { XmlNode } from '#/helpers/get-prop';
|
|
4
|
-
import type { PeppolIdentifier } from '#/schemas/fields/identifier-schema';
|
|
4
|
+
import type { PeppolIdentifier } from '#/schemas/fields/peppol-identifier-schema';
|
|
5
5
|
import type { RecursivePartial } from '#/types';
|
|
6
6
|
|
|
7
7
|
import { getProp } from '#/helpers/get-prop';
|