@endevops/peppol-schema 0.1.0-beta.4 → 0.1.0-beta.5
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-CfjMSrpQ.d.ts +3508 -0
- package/dist/index-CfjMSrpQ.d.ts.map +1 -0
- package/dist/index.d.ts +2 -2613
- package/dist/index.js +3121 -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 +1975 -1501
- 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 +3 -3
- 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/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 +8 -7
- 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 +36 -11
- 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 +6 -5
- 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 +20 -13
- 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 +6 -5
- 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}/utils/peppol-vat-regex-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
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
export const xsdTime = z
|
|
4
|
-
.string()
|
|
5
|
-
.check(
|
|
6
|
-
z.regex(/^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d{1,9})?(?:Z|-0[1-9]|-1\d|-2[0-3]|-00:?(?:0[1-9]|[1-5]\d)|\+[01]\d|\+2[0-3])?(?:|:?[0-5]\d)$/, {
|
|
7
|
-
error: 'Invalid ISO time',
|
|
8
|
-
})
|
|
9
|
-
);
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import type { AdditionalDocumentReferenceCodesKeys } from '#/values/additional-document-reference-codes.generated';
|
|
4
|
-
|
|
5
|
-
import { additionalDocumentReferenceCodesKeys } from '#/values/additional-document-reference-codes.generated';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @description Additional document reference.
|
|
9
|
-
*
|
|
10
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL1153/
|
|
11
|
-
* @see {@link additionalDocumentReferenceCodesKeys}
|
|
12
|
-
*/
|
|
13
|
-
export type PeppolAdditionalDocumentReferenceCode = AdditionalDocumentReferenceCodesKeys;
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* @description Validates an additional document reference code against the PEPPOL subset of UNCL 1153 (reference qualifiers).
|
|
17
|
-
*
|
|
18
|
-
* @param error - The custom error message to use when validation fails. Defaults to Zod's generic message.
|
|
19
|
-
*
|
|
20
|
-
* @returns A Zod string schema that accepts only valid additional document reference codes.
|
|
21
|
-
*
|
|
22
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL1153/
|
|
23
|
-
* @see {@link additionalDocumentReferenceCodesKeys}
|
|
24
|
-
*/
|
|
25
|
-
export function additionalDocumentReferenceCodeSchema(error?: string) {
|
|
26
|
-
return z.string(error).check(z.refine(val => additionalDocumentReferenceCodesKeys.includes(val), error));
|
|
27
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import type { AllowanceChargeReasonCodesKeys } from '#/values/allowance-charge-reason-codes.generated';
|
|
4
|
-
|
|
5
|
-
import { allowanceChargeReasonCodesKeys } from '#/values/allowance-charge-reason-codes.generated';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @description An allowance or charge reason code as defined by the PEPPOL subset of UNCL 5189.
|
|
9
|
-
*
|
|
10
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL5189/
|
|
11
|
-
*/
|
|
12
|
-
export type PeppolAllowanceChargeReasonCode = AllowanceChargeReasonCodesKeys;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @description Validates an allowance or charge reason code against the PEPPOL subset of UNCL 5189 (D.16B).
|
|
16
|
-
*
|
|
17
|
-
* @param error - The custom error message to use when validation fails.
|
|
18
|
-
*
|
|
19
|
-
* @returns A Zod string schema that accepts only valid allowance/charge reason codes.
|
|
20
|
-
*
|
|
21
|
-
* @validations
|
|
22
|
-
* - PEPPOL-EN16931-CL002: Document allowance reason code MUST be according to the subset of UNCL 5189 D.16B.
|
|
23
|
-
*
|
|
24
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL5189/
|
|
25
|
-
*/
|
|
26
|
-
export function allowanceChargeReasonCodeSchema(error?: string) {
|
|
27
|
-
// validate against PEPPOL-EN16931-CL002: Reason code MUST be according to subset of UNCL 5189 D.16B.
|
|
28
|
-
return z.string(error).check(z.refine(val => allowanceChargeReasonCodesKeys.includes(val), error));
|
|
29
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import type { ApplicationResponseTypeCodesKeys } from '#/values/application-response-type-codes.generated';
|
|
4
|
-
|
|
5
|
-
import { applicationResponseTypeCodesKeys } from '#/values/application-response-type-codes.generated';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @description An application response type code as defined by the PEPPOL subset of UNCL 4343.
|
|
9
|
-
*
|
|
10
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL4343/
|
|
11
|
-
*/
|
|
12
|
-
export type PeppolApplicationResponseTypeCode = ApplicationResponseTypeCodesKeys;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @description Validates an application response type code against the PEPPOL subset of UNCL 4343.
|
|
16
|
-
*
|
|
17
|
-
* @param error - The custom error message to use when validation fails.
|
|
18
|
-
*
|
|
19
|
-
* @returns A Zod string schema that accepts only valid application response type codes.
|
|
20
|
-
*
|
|
21
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL4343/
|
|
22
|
-
*/
|
|
23
|
-
export function applicationResponseTypeCodeSchema(error?: string) {
|
|
24
|
-
return z.string(error).check(z.refine(val => applicationResponseTypeCodesKeys.includes(val as never), error));
|
|
25
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import type { ChargeReasonCodesKeys } from '#/values/charge-reason-codes.generated';
|
|
4
|
-
|
|
5
|
-
import { chargeReasonCodesKeys } from '#/values/charge-reason-codes.generated';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @description A charge reason code as defined by the PEPPOL subset of UNCL 7161.
|
|
9
|
-
*
|
|
10
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL7161/
|
|
11
|
-
*/
|
|
12
|
-
export type PeppolChargeReasonCode = ChargeReasonCodesKeys;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @description Validates a charge reason code against the PEPPOL subset of UNCL 7161 (D.16B).
|
|
16
|
-
*
|
|
17
|
-
* @param error - The custom error message to use when validation fails.
|
|
18
|
-
*
|
|
19
|
-
* @returns A Zod string schema that accepts only valid charge reason codes.
|
|
20
|
-
*
|
|
21
|
-
* @validations
|
|
22
|
-
* - PEPPOL-EN16931-CL003: Charge reason code MUST be according to UNCL 7161 D.16B.
|
|
23
|
-
*
|
|
24
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL7161/
|
|
25
|
-
*/
|
|
26
|
-
export function chargeReasonCodeSchema(error?: string) {
|
|
27
|
-
// validate against PEPPOL-EN16931-CL003: Reason code MUST be according to UNCL 7161 D.16B.
|
|
28
|
-
return z.string(error).check(z.refine(val => chargeReasonCodesKeys.includes(val as never), error));
|
|
29
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description ISO 3166-1 alpha-2 country codes with additional entries These codes identify countries and territories worldwide.
|
|
3
|
-
*
|
|
4
|
-
* @module schemas/values/country-code
|
|
5
|
-
*
|
|
6
|
-
* @see https://www.iso.org/iso-3166-country-codes.html
|
|
7
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/ISO3166/
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import * as z from 'zod/mini';
|
|
11
|
-
|
|
12
|
-
import type { CountryCodesKeys } from '#/values/country-code.generated';
|
|
13
|
-
|
|
14
|
-
import { countryCodesKeys } from '#/values/country-code.generated';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* @description An ISO 3166-1 alpha-2 country code as defined by the PEPPOL subset.
|
|
18
|
-
*
|
|
19
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/ISO3166/
|
|
20
|
-
*/
|
|
21
|
-
export type PeppolCountryCode = CountryCodesKeys;
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* @description Validates a two character ISO 3166-1 alpha-2 country code against the PEPPOL codelist.
|
|
25
|
-
*
|
|
26
|
-
* @returns A Zod string schema that accepts only valid country codes.
|
|
27
|
-
*
|
|
28
|
-
* @validations
|
|
29
|
-
* - BR-CL-14 / BR-CL-15: Country code MUST be a valid ISO 3166-1 alpha-2 code.
|
|
30
|
-
*
|
|
31
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/ISO3166/
|
|
32
|
-
*/
|
|
33
|
-
export const countryCodeSchema = z.string().check(
|
|
34
|
-
z.length(2),
|
|
35
|
-
z.refine(val => countryCodesKeys.includes(val as never))
|
|
36
|
-
);
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description Currency codes as defined by ISO 4217.
|
|
3
|
-
*
|
|
4
|
-
* @see https://www.iso.org/iso-4217-currency-codes.html
|
|
5
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/ISO4217/
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import * as z from 'zod/mini';
|
|
9
|
-
|
|
10
|
-
import type { CurrencyCodesKeys } from '#/values/currency-code.generated';
|
|
11
|
-
|
|
12
|
-
import { currencyCodesKeys } from '#/values/currency-code.generated';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @description An ISO 4217 currency code as defined by the PEPPOL subset.
|
|
16
|
-
*
|
|
17
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/ISO4217/
|
|
18
|
-
*/
|
|
19
|
-
export type PeppolCurrencyCode = CurrencyCodesKeys;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* @description Validates an ISO 4217 currency code against the PEPPOL codelist.
|
|
23
|
-
*
|
|
24
|
-
* @param error - The custom error message to use when validation fails.
|
|
25
|
-
*
|
|
26
|
-
* @returns A Zod string schema that accepts only valid currency codes.
|
|
27
|
-
*
|
|
28
|
-
* @validations
|
|
29
|
-
* - PEPPOL-EN16931-CL007: Currency codes MUST be valid ISO 4217 codes.
|
|
30
|
-
*
|
|
31
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/ISO4217/
|
|
32
|
-
*/
|
|
33
|
-
export function currencyCodeSchema(error?: string) {
|
|
34
|
-
return z.string().check(z.refine(val => currencyCodesKeys.includes(val as never), error));
|
|
35
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import type { DocumentTypeCodesKeys } from '#/values/document-type-codes.generated';
|
|
4
|
-
|
|
5
|
-
import { documentTypeCodesKeys } from '#/values/document-type-codes.generated';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @description A document type code as defined by the PEPPOL subset of UNCL 1001 (document/message name code).
|
|
9
|
-
*
|
|
10
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL1001/
|
|
11
|
-
*/
|
|
12
|
-
export type PeppolDocumentTypeCode = DocumentTypeCodesKeys;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @description Validates a document type code against the PEPPOL subset of UNCL 1001.
|
|
16
|
-
*
|
|
17
|
-
* @param error - The custom error message to use when validation fails.
|
|
18
|
-
*
|
|
19
|
-
* @returns A Zod string schema that accepts only valid document type codes.
|
|
20
|
-
*
|
|
21
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL1001/
|
|
22
|
-
*/
|
|
23
|
-
export function documentTypeCodeSchema(error?: string) {
|
|
24
|
-
return z.string().check(z.refine(val => documentTypeCodesKeys.includes(val as never), error));
|
|
25
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { Record } from 'effect';
|
|
2
|
-
import * as z from 'zod/mini';
|
|
3
|
-
|
|
4
|
-
import type { DocumentTypesTableKeys } from '#/values/document-type.generated';
|
|
5
|
-
|
|
6
|
-
import { documentTypesTable, documentTypesTableKeys } from '#/values/document-type.generated';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* @description One of the PEPPOL document type schemes (e.g. `busdox-docid-qns`, `peppol-doctype-wildcard`).
|
|
10
|
-
*
|
|
11
|
-
* @see {@link documentTypesTable}
|
|
12
|
-
*/
|
|
13
|
-
export type PeppolDocumentType = `${DocumentTypesTableKeys}::${string}`;
|
|
14
|
-
|
|
15
|
-
const entries = /* @__PURE__ */ Record.toEntries(documentTypesTable);
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @description Validates a full PEPPOL document type identifier (`<scheme>::<root>::…`) against the known document type table.
|
|
19
|
-
*
|
|
20
|
-
* @param error - The custom error message to use when validation fails. Defaults to `'invalid peppol document type'`.
|
|
21
|
-
*
|
|
22
|
-
* @returns A Zod template-literal schema that matches a valid `scheme::value` document type identifier.
|
|
23
|
-
*
|
|
24
|
-
* @see {@link documentTypesTable}
|
|
25
|
-
*/
|
|
26
|
-
export function documentTypeSchema(error = 'invalid peppol document type') {
|
|
27
|
-
return z
|
|
28
|
-
.templateLiteral(
|
|
29
|
-
[
|
|
30
|
-
// NOTE: segment matching is structural, so the scheme prefix is narrowed
|
|
31
|
-
// to the known keys while the full identifier is still checked against
|
|
32
|
-
// the document type table by the `.check` below.
|
|
33
|
-
z.enum(documentTypesTableKeys),
|
|
34
|
-
z.literal('::'),
|
|
35
|
-
z.string(),
|
|
36
|
-
],
|
|
37
|
-
error
|
|
38
|
-
)
|
|
39
|
-
.check(
|
|
40
|
-
z.refine(
|
|
41
|
-
val => {
|
|
42
|
-
const [prefix, ...suffix] = val.split('::') as [string, string, string, string];
|
|
43
|
-
const [, info] = entries.find(([code]) => code === prefix) ?? [];
|
|
44
|
-
return info?.some(v => v === suffix.join('::'));
|
|
45
|
-
},
|
|
46
|
-
{ error }
|
|
47
|
-
)
|
|
48
|
-
);
|
|
49
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import type { DutyTaxFeeCategoriesKeys } from '#/values/duty-tax-fee-categories.generated';
|
|
4
|
-
|
|
5
|
-
import { dutyTaxFeeCategoriesKeys } from '#/values/duty-tax-fee-categories.generated';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @description A duty, tax or fee category code as defined by the PEPPOL subset of UNCL 5305 (VAT category code).
|
|
9
|
-
*
|
|
10
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL5305/
|
|
11
|
-
*/
|
|
12
|
-
export type PeppolDutyTaxFeeCategoryCode = DutyTaxFeeCategoriesKeys;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @description Validates a duty, tax or fee category code against the PEPPOL subset of UNCL 5305 (VAT category code).
|
|
16
|
-
*
|
|
17
|
-
* @param error - The custom error message to use when validation fails.
|
|
18
|
-
*
|
|
19
|
-
* @returns A Zod string schema that accepts only valid duty/tax/fee category codes.
|
|
20
|
-
*
|
|
21
|
-
* @validations
|
|
22
|
-
* - BR-CL-17 / BR-CL-18: VAT category code MUST be a valid UNCL 5305 code.
|
|
23
|
-
*
|
|
24
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL5305/
|
|
25
|
-
*/
|
|
26
|
-
export function dutyTaxFeeCategorySchema(error?: string) {
|
|
27
|
-
return z.string().check(z.refine(val => dutyTaxFeeCategoriesKeys.includes(val as never), error));
|
|
28
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module schemas/values/eas-codes
|
|
3
|
-
* Electronic Address Scheme (EAS) codes as used in PEPPOL networks
|
|
4
|
-
* These codes identify the scheme used for electronic addresses of parties
|
|
5
|
-
*
|
|
6
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/
|
|
7
|
-
*/
|
|
8
|
-
import * as z from 'zod/mini';
|
|
9
|
-
|
|
10
|
-
import type { ElectronicAddressCodesKeys } from '#/values/eas-codes.generated';
|
|
11
|
-
|
|
12
|
-
import { electronicAddressCodesKeys } from '#/values/eas-codes.generated';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @description An electronic address scheme (EAS) code, identifying the scheme of an electronic address (e.g. `0088` for GLN).
|
|
16
|
-
*
|
|
17
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/
|
|
18
|
-
*/
|
|
19
|
-
export type PeppolElectronicAddressCode = ElectronicAddressCodesKeys;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* @description Validates an electronic address scheme (EAS) code against the PEPPOL Electronic Address Identifier Scheme codelist.
|
|
23
|
-
*
|
|
24
|
-
* @param error - The custom error message to use when validation fails.
|
|
25
|
-
*
|
|
26
|
-
* @returns A Zod string schema that accepts only valid electronic address scheme codes.
|
|
27
|
-
*
|
|
28
|
-
* @validations
|
|
29
|
-
* - PEPPOL-EN16931-CL008: Electronic address identifier scheme MUST be from the codelist "Electronic Address Identifier Scheme".
|
|
30
|
-
*
|
|
31
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/
|
|
32
|
-
*/
|
|
33
|
-
export function electronicCodesSchema(error?: string) {
|
|
34
|
-
return z.string().check(z.refine(val => electronicAddressCodesKeys.includes(val as never), error));
|
|
35
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import type { IcdCodesKeys } from '#/values/icd-codes.generated';
|
|
4
|
-
|
|
5
|
-
import { icdCodesKeys } from '#/values/icd-codes.generated';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @description An ISO 6523 ICD (International Code Designator) code identifying an identifier scheme.
|
|
9
|
-
*
|
|
10
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/ICD/
|
|
11
|
-
*/
|
|
12
|
-
export type PeppolIcdCode = IcdCodesKeys;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @description Validates an ISO 6523 ICD code against the PEPPOL codelist.
|
|
16
|
-
*
|
|
17
|
-
* @param error - The custom error message to use when validation fails. Defaults to `'Invalid ICD code provided'`.
|
|
18
|
-
*
|
|
19
|
-
* @returns A Zod string schema that accepts only valid ICD codes.
|
|
20
|
-
*
|
|
21
|
-
* @validations
|
|
22
|
-
* - BR-CL-10 / BR-CL-11 / BR-CL-21: Identifier scheme MUST be a valid ISO 6523 ICD code.
|
|
23
|
-
*
|
|
24
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/ICD/
|
|
25
|
-
*/
|
|
26
|
-
export function icdCodesSchema(error = 'Invalid ICD code provided') {
|
|
27
|
-
return z.string(error).check(z.refine(val => icdCodesKeys.includes(val as never), error));
|
|
28
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import type { InvoiceStatusCodesKeys } from '#/values/invoice-status-codes.generated';
|
|
4
|
-
|
|
5
|
-
import { invoiceStatusCodesKeys } from '#/values/invoice-status-codes.generated';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @description An invoice status code as defined by the PEPPOL subset of UNCL 4343 (T111).
|
|
9
|
-
*
|
|
10
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL4343-T111/
|
|
11
|
-
*/
|
|
12
|
-
export type PeppolInvoiceStatusCodes = InvoiceStatusCodesKeys;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @description Validates an invoice status code against the PEPPOL subset of UNCL 4343 (T111).
|
|
16
|
-
*
|
|
17
|
-
* @param error - The custom error message to use when validation fails.
|
|
18
|
-
*
|
|
19
|
-
* @returns A Zod string schema that accepts only valid invoice status codes.
|
|
20
|
-
*
|
|
21
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL4343-T111/
|
|
22
|
-
*/
|
|
23
|
-
export function invoiceStatusCodeSchema(error?: string) {
|
|
24
|
-
return z.string(error).check(z.refine(val => invoiceStatusCodesKeys.includes(val as never), error));
|
|
25
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import type { ItemClassificationCodesKeys } from '#/values/item-classification-code.generated';
|
|
4
|
-
|
|
5
|
-
import { itemClassificationCodesKeys } from '#/values/item-classification-code.generated';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @description An item classification code as defined by the PEPPOL subset of UNCL 7143.
|
|
9
|
-
*
|
|
10
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL7143/
|
|
11
|
-
*/
|
|
12
|
-
export type PeppolItemClassificationCode = ItemClassificationCodesKeys;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @description Validates an item classification code against the PEPPOL subset of UNCL 7143.
|
|
16
|
-
*
|
|
17
|
-
* @param error - The custom error message to use when validation fails.
|
|
18
|
-
*
|
|
19
|
-
* @returns A Zod string schema that accepts only valid item classification codes.
|
|
20
|
-
*
|
|
21
|
-
* @validations
|
|
22
|
-
* - BR-CL-13: Item classification scheme MUST be a valid UNTDID 7143 code.
|
|
23
|
-
*
|
|
24
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL7143/
|
|
25
|
-
*/
|
|
26
|
-
export function itemClassificationCodesSchema(error?: string) {
|
|
27
|
-
return z.string().check(z.refine(val => itemClassificationCodesKeys.includes(val as never), error));
|
|
28
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import type { MimeCodesKeys } from '#/values/mime-codes.generated';
|
|
4
|
-
|
|
5
|
-
import { mimeCodesKeys } from '#/values/mime-codes.generated';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @description A MIME media type code (e.g. `application/pdf`) as used for attached documents.
|
|
9
|
-
*
|
|
10
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/MimeCode/
|
|
11
|
-
*/
|
|
12
|
-
export type PeppolMimeCode = MimeCodesKeys;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @description Validates a MIME media type against the PEPPOL MIME code list.
|
|
16
|
-
*
|
|
17
|
-
* @param error - The custom error message to use when validation fails.
|
|
18
|
-
*
|
|
19
|
-
* @returns A Zod string schema that accepts only valid MIME types.
|
|
20
|
-
*
|
|
21
|
-
* @validations
|
|
22
|
-
* - PEPPOL-EN16931-CL001: Attachment (MIME) type MUST come from the allowed list.
|
|
23
|
-
*
|
|
24
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/MimeCode/
|
|
25
|
-
*/
|
|
26
|
-
export function mimeCodesSchema(error?: string) {
|
|
27
|
-
return z.string().check(z.refine(val => mimeCodesKeys.includes(val as (typeof mimeCodesKeys)[number]), error));
|
|
28
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import type { OpStatusActionKeys } from '#/values/op-status-action.generated';
|
|
4
|
-
|
|
5
|
-
import { opStatusActionKeys } from '#/values/op-status-action.generated';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @description An OpenPeppol operation status action code (e.g. the outcome of a message response).
|
|
9
|
-
*
|
|
10
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/OPStatusAction/
|
|
11
|
-
*/
|
|
12
|
-
export type PeppolOpStatusAction = OpStatusActionKeys;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @description Validates an OpenPeppol operation status action code against the OPStatusAction codelist.
|
|
16
|
-
*
|
|
17
|
-
* @param error - The custom error message to use when validation fails.
|
|
18
|
-
*
|
|
19
|
-
* @returns A Zod string schema that accepts only valid operation status action codes.
|
|
20
|
-
*
|
|
21
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/OPStatusAction/
|
|
22
|
-
*/
|
|
23
|
-
export function opStatusActionSchema(error?: string) {
|
|
24
|
-
return z.string().check(z.refine(val => opStatusActionKeys.includes(val as (typeof opStatusActionKeys)[number]), error));
|
|
25
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import type { OpStatusReasonKeys } from '#/values/op-status-reason.generated';
|
|
4
|
-
|
|
5
|
-
import { opStatusReasonKeys } from '#/values/op-status-reason.generated';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @description An OpenPeppol operation status reason code (e.g. the reason for a message response outcome).
|
|
9
|
-
*
|
|
10
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/OPStatusReason/
|
|
11
|
-
*/
|
|
12
|
-
export type PeppolOpStatusReason = OpStatusReasonKeys;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @description Validates an OpenPeppol operation status reason code against the OPStatusReason codelist.
|
|
16
|
-
*
|
|
17
|
-
* @param error - The custom error message to use when validation fails.
|
|
18
|
-
*
|
|
19
|
-
* @returns A Zod string schema that accepts only valid operation status reason codes.
|
|
20
|
-
*
|
|
21
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/OPStatusReason/
|
|
22
|
-
*/
|
|
23
|
-
export function opStatusReasonSchema(error?: string) {
|
|
24
|
-
return z.string().check(z.refine(val => opStatusReasonKeys.includes(val as (typeof opStatusReasonKeys)[number]), error));
|
|
25
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import type { ParticipantIdentifierSchemesKeys } from '#/values/participant-identifier-schemes.generated';
|
|
4
|
-
|
|
5
|
-
import { participantIdentifierSchemesKeys } from '#/values/participant-identifier-schemes.generated';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @description A PEPPOL participant identifier scheme, identifying the scheme of a participant identifier (e.g. EAS codes).
|
|
9
|
-
*
|
|
10
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/
|
|
11
|
-
*/
|
|
12
|
-
export type PeppolParticipantIdentifierCode = ParticipantIdentifierSchemesKeys;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @description Validates a PEPPOL participant identifier scheme against the participant identifier schemes list.
|
|
16
|
-
*
|
|
17
|
-
* @param error - The custom error message to use when validation fails.
|
|
18
|
-
*
|
|
19
|
-
* @returns A Zod string schema that accepts only valid participant identifier schemes.
|
|
20
|
-
*/
|
|
21
|
-
export function participantIdentifierCodeSchema(error?: string) {
|
|
22
|
-
return z
|
|
23
|
-
.string()
|
|
24
|
-
.check(z.refine(val => participantIdentifierSchemesKeys.includes(val as (typeof participantIdentifierSchemesKeys)[number]), error));
|
|
25
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module schemas/values/payment-means-codes-schema
|
|
3
|
-
*
|
|
4
|
-
* Payment means codes as defined by UN/CEFACT UNCL4461.
|
|
5
|
-
*
|
|
6
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL4461/
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import * as z from 'zod/mini';
|
|
10
|
-
|
|
11
|
-
import type { PaymentMeansCodesKeys } from '#/values/payment-means-codes.generated';
|
|
12
|
-
|
|
13
|
-
import { paymentMeansCodesKeys } from '#/values/payment-means-codes.generated';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* @description A payment means code as defined by the PEPPOL subset of UNCL 4461.
|
|
17
|
-
*
|
|
18
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL4461/
|
|
19
|
-
*/
|
|
20
|
-
export type PeppolPaymentMeansCode = PaymentMeansCodesKeys;
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* @description Validates a payment means code against the PEPPOL subset of UNCL 4461.
|
|
24
|
-
*
|
|
25
|
-
* @param error - The custom error message to use when validation fails.
|
|
26
|
-
*
|
|
27
|
-
* @returns A Zod string schema that accepts only valid payment means codes.
|
|
28
|
-
*
|
|
29
|
-
* @validations
|
|
30
|
-
* - BR-CL-16: Payment means code MUST be a valid UNCL 4461 code.
|
|
31
|
-
*
|
|
32
|
-
* @see https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL4461/
|
|
33
|
-
*/
|
|
34
|
-
export function paymentMeansCodeSchema(error?: string) {
|
|
35
|
-
return z.string().check(z.refine(val => paymentMeansCodesKeys.includes(val as (typeof paymentMeansCodesKeys)[number]), error));
|
|
36
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Record } from 'effect';
|
|
2
|
-
import * as z from 'zod/mini';
|
|
3
|
-
|
|
4
|
-
import type { ProcessesKeys } from '#/values/processes.generated';
|
|
5
|
-
|
|
6
|
-
import { processes } from '#/values/processes.generated';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* @description A PEPPOL business process identifier key as defined by the processes codelist.
|
|
10
|
-
*
|
|
11
|
-
* @see {@link processes}
|
|
12
|
-
*/
|
|
13
|
-
export type PeppolProcesses = `${ProcessesKeys}::${string}`;
|
|
14
|
-
|
|
15
|
-
const entries = /* @__PURE__ */ Record.toEntries(processes);
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @description Validates a full PEPPOL business process identifier (`<scheme>::<value>`) against the known processes.
|
|
19
|
-
*
|
|
20
|
-
* @param error - The custom error message to use when validation fails. Defaults to `'invalid peppol process identifier'`.
|
|
21
|
-
*
|
|
22
|
-
* @returns A Zod template-literal schema that matches a valid `scheme::value` process identifier.
|
|
23
|
-
*
|
|
24
|
-
* @see {@link processes}
|
|
25
|
-
*/
|
|
26
|
-
export function processSchema(error = 'invalid peppol process identifier') {
|
|
27
|
-
return z
|
|
28
|
-
.templateLiteral(
|
|
29
|
-
// NOTE: zod's template-literal segments are matched structurally, so a
|
|
30
|
-
// `.check(z.refine(...))` on a segment would never run. The scheme prefix
|
|
31
|
-
// is validated against the whole identifier by the check below instead.
|
|
32
|
-
[z.string(), z.literal('::'), z.string()],
|
|
33
|
-
error
|
|
34
|
-
)
|
|
35
|
-
.check(
|
|
36
|
-
z.refine(val => {
|
|
37
|
-
const [prefix, suffix] = val.split('::') as [string, string];
|
|
38
|
-
return entries.filter(([code]) => code === prefix).some(([, info]) => info.some(v => v === suffix));
|
|
39
|
-
})
|
|
40
|
-
);
|
|
41
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Record } from 'effect';
|
|
2
|
-
import * as z from 'zod/mini';
|
|
3
|
-
|
|
4
|
-
import { processes } from '#/values/processes.generated';
|
|
5
|
-
|
|
6
|
-
const entries = /* @__PURE__ */ Record.toEntries(processes);
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* @description Validates a raw XML process identifier object with `#text` and `@scheme` fields against the known processes.
|
|
10
|
-
*
|
|
11
|
-
* @param error - The custom error message to use when validation fails. Defaults to `'invalid Peppol document identifier'`.
|
|
12
|
-
*
|
|
13
|
-
* @returns A Zod union schema accepting objects whose `#text` value is valid for the given `@scheme`.
|
|
14
|
-
*
|
|
15
|
-
* @see {@link processes}
|
|
16
|
-
*/
|
|
17
|
-
export function processXmlIdentifierSchema(error: string = 'invalid Peppol document identifier') {
|
|
18
|
-
return z.union(
|
|
19
|
-
entries.map(([key, values]) =>
|
|
20
|
-
z.object({
|
|
21
|
-
'#text': z.string().check(z.refine(val => values.includes(val as never))),
|
|
22
|
-
'@scheme': z.string().check(z.refine(val => val === key)),
|
|
23
|
-
})
|
|
24
|
-
),
|
|
25
|
-
error
|
|
26
|
-
);
|
|
27
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod/mini';
|
|
2
|
-
|
|
3
|
-
import type { VatDateCodesKeys } from '#/values/vat-dates.generated';
|
|
4
|
-
|
|
5
|
-
import { vatDateCodesKeys } from '#/values/vat-dates.generated';
|
|
6
|
-
|
|
7
|
-
export type PeppolVatDateCode = VatDateCodesKeys;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* @validations
|
|
11
|
-
* - PEPPOL-EN16931-CL006: Invoice period description code must be according to UNCL 2005 D.16B.
|
|
12
|
-
*/
|
|
13
|
-
export function vatDateCodeSchema(error?: string) {
|
|
14
|
-
return z.string().check(z.refine(val => vatDateCodesKeys.includes(val as never), error));
|
|
15
|
-
}
|