@endevops/peppol-schema 0.1.0-beta.1 → 0.1.0-beta.2
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/dist/constants/index.js +2 -2
- package/dist/constants/participant-scheme.d.ts +5 -1
- package/dist/constants/participant-scheme.d.ts.map +1 -1
- package/dist/constants/participant-scheme.js +6 -2
- package/dist/constants/participant-scheme.js.map +1 -1
- package/dist/decoders/fields/encode-party-legal-entity.js.map +1 -1
- package/dist/document.d.ts +1 -1
- package/dist/effect/fields/{additional-document-reference-schema.d.ts → peppol-additional-document-reference-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-additional-document-reference-schema.d.ts.map +1 -0
- package/dist/effect/fields/{additional-document-reference-schema.js → peppol-additional-document-reference-schema.js} +7 -7
- package/dist/effect/fields/peppol-additional-document-reference-schema.js.map +1 -0
- package/dist/effect/fields/{address-schema.d.ts → peppol-address-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-address-schema.d.ts.map +1 -0
- package/dist/effect/fields/{address-schema.js → peppol-address-schema.js} +6 -6
- package/dist/effect/fields/peppol-address-schema.js.map +1 -0
- package/dist/effect/fields/{allowance-charge-schema.d.ts → peppol-allowance-charge-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-allowance-charge-schema.d.ts.map +1 -0
- package/dist/effect/fields/{allowance-charge-schema.js → peppol-allowance-charge-schema.js} +10 -10
- package/dist/effect/fields/peppol-allowance-charge-schema.js.map +1 -0
- package/dist/effect/fields/{amount-schema.d.ts → peppol-amount-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-amount-schema.d.ts.map +1 -0
- package/dist/effect/fields/{amount-schema.js → peppol-amount-schema.js} +5 -5
- package/dist/effect/fields/peppol-amount-schema.js.map +1 -0
- package/dist/effect/fields/{base-line-schema.d.ts → peppol-base-line-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-base-line-schema.d.ts.map +1 -0
- package/dist/effect/fields/{base-line-schema.js → peppol-base-line-schema.js} +14 -14
- package/dist/effect/fields/peppol-base-line-schema.js.map +1 -0
- package/dist/effect/fields/{billing-references-schema.d.ts → peppol-billing-reference-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-billing-reference-schema.d.ts.map +1 -0
- package/dist/effect/fields/{billing-references-schema.js → peppol-billing-reference-schema.js} +6 -6
- package/dist/effect/fields/peppol-billing-reference-schema.js.map +1 -0
- package/dist/effect/fields/{binary-object-schema.d.ts → peppol-binary-object-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-binary-object-schema.d.ts.map +1 -0
- package/dist/effect/fields/{binary-object-schema.js → peppol-binary-object-schema.js} +7 -7
- package/dist/effect/fields/peppol-binary-object-schema.js.map +1 -0
- package/dist/effect/fields/{contact-schema.d.ts → peppol-contact-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-contact-schema.d.ts.map +1 -0
- package/dist/effect/fields/{contact-schema.js → peppol-contact-schema.js} +4 -4
- package/dist/effect/fields/peppol-contact-schema.js.map +1 -0
- package/dist/effect/fields/{credit-note-line-schema.d.ts → peppol-credit-note-line-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-credit-note-line-schema.d.ts.map +1 -0
- package/dist/effect/fields/{credit-note-line-schema.js → peppol-credit-note-line-schema.js} +7 -7
- package/dist/effect/fields/peppol-credit-note-line-schema.js.map +1 -0
- package/dist/effect/fields/{delivery-schema.d.ts → peppol-delivery-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-delivery-schema.d.ts.map +1 -0
- package/dist/effect/fields/{delivery-schema.js → peppol-delivery-schema.js} +9 -9
- package/dist/effect/fields/peppol-delivery-schema.js.map +1 -0
- package/dist/effect/fields/{invoice-line-period-schema.d.ts → peppol-invoice-line-period-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-invoice-line-period-schema.d.ts.map +1 -0
- package/dist/effect/fields/{invoice-line-period-schema.js → peppol-invoice-line-period-schema.js} +7 -7
- package/dist/effect/fields/peppol-invoice-line-period-schema.js.map +1 -0
- package/dist/effect/fields/{invoice-line-schema.d.ts → peppol-invoice-line-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-invoice-line-schema.d.ts.map +1 -0
- package/dist/effect/fields/{invoice-line-schema.js → peppol-invoice-line-schema.js} +7 -7
- package/dist/effect/fields/peppol-invoice-line-schema.js.map +1 -0
- package/dist/effect/fields/{invoice-period-schema.d.ts → peppol-invoice-period-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-invoice-period-schema.d.ts.map +1 -0
- package/dist/effect/fields/{invoice-period-schema.js → peppol-invoice-period-schema.js} +6 -6
- package/dist/effect/fields/peppol-invoice-period-schema.js.map +1 -0
- package/dist/effect/fields/{list-identifier-schema.d.ts → peppol-item-classification-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-item-classification-schema.d.ts.map +1 -0
- package/dist/effect/fields/{list-identifier-schema.js → peppol-item-classification-schema.js} +5 -5
- package/dist/effect/fields/peppol-item-classification-schema.js.map +1 -0
- package/dist/effect/fields/{legal-monetary-total-schema.d.ts → peppol-legal-monetary-total-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-legal-monetary-total-schema.d.ts.map +1 -0
- package/dist/effect/fields/{legal-monetary-total-schema.js → peppol-legal-monetary-total-schema.js} +13 -13
- package/dist/effect/fields/peppol-legal-monetary-total-schema.js.map +1 -0
- package/dist/effect/fields/{line-allowance-charge-schema.d.ts → peppol-line-allowance-charge-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-line-allowance-charge-schema.d.ts.map +1 -0
- package/dist/effect/fields/{line-allowance-charge-schema.js → peppol-line-allowance-charge-schema.js} +7 -7
- package/dist/effect/fields/peppol-line-allowance-charge-schema.js.map +1 -0
- package/dist/effect/fields/{line-item-schema.d.ts → peppol-line-item-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-line-item-schema.d.ts.map +1 -0
- package/dist/effect/fields/{line-item-schema.js → peppol-line-item-schema.js} +11 -11
- package/dist/effect/fields/peppol-line-item-schema.js.map +1 -0
- package/dist/effect/fields/{line-price-allowance-charge-schema.d.ts → peppol-line-price-allowance-charge-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-line-price-allowance-charge-schema.d.ts.map +1 -0
- package/dist/effect/fields/peppol-line-price-allowance-charge-schema.js +30 -0
- package/dist/effect/fields/peppol-line-price-allowance-charge-schema.js.map +1 -0
- package/dist/effect/fields/{price-schema.d.ts → peppol-line-price-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-line-price-schema.d.ts.map +1 -0
- package/dist/effect/fields/peppol-line-price-schema.js +32 -0
- package/dist/effect/fields/peppol-line-price-schema.js.map +1 -0
- package/dist/effect/fields/{order-reference-schema.d.ts → peppol-order-reference-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-order-reference-schema.d.ts.map +1 -0
- package/dist/effect/fields/{order-reference-schema.js → peppol-order-reference-schema.js} +4 -4
- package/dist/effect/fields/peppol-order-reference-schema.js.map +1 -0
- package/dist/effect/fields/{party-base-schema.d.ts → peppol-party-base-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-party-base-schema.d.ts.map +1 -0
- package/dist/effect/fields/{party-base-schema.js → peppol-party-base-schema.js} +14 -14
- package/dist/effect/fields/peppol-party-base-schema.js.map +1 -0
- package/dist/effect/fields/{party-legal-entity-schema.d.ts → peppol-party-legal-entity-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-party-legal-entity-schema.d.ts.map +1 -0
- package/dist/effect/fields/{party-legal-entity-schema.js → peppol-party-legal-entity-schema.js} +4 -4
- package/dist/effect/fields/peppol-party-legal-entity-schema.js.map +1 -0
- package/dist/effect/fields/{party-tax-schema.d.ts → peppol-party-tax-scheme-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-party-tax-scheme-schema.d.ts.map +1 -0
- package/dist/effect/fields/{party-tax-schema.js → peppol-party-tax-scheme-schema.js} +4 -4
- package/dist/effect/fields/peppol-party-tax-scheme-schema.js.map +1 -0
- package/dist/effect/fields/{payee-party.d.ts → peppol-payee-party-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-payee-party-schema.d.ts.map +1 -0
- package/dist/effect/fields/{payee-party.js → peppol-payee-party-schema.js} +5 -5
- package/dist/effect/fields/peppol-payee-party-schema.js.map +1 -0
- package/dist/effect/fields/{payment-means-schema.d.ts → peppol-payment-means-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-payment-means-schema.d.ts.map +1 -0
- package/dist/effect/fields/{payment-means-schema.js → peppol-payment-means-schema.js} +7 -7
- package/dist/effect/fields/peppol-payment-means-schema.js.map +1 -0
- package/dist/effect/fields/{payment-terms-schema.d.ts → peppol-payment-terms-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-payment-terms-schema.d.ts.map +1 -0
- package/dist/effect/fields/{payment-terms-schema.js → peppol-payment-terms-schema.js} +4 -4
- package/dist/effect/fields/peppol-payment-terms-schema.js.map +1 -0
- package/dist/effect/fields/{quantity-schema.d.ts → peppol-quantity-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-quantity-schema.d.ts.map +1 -0
- package/dist/effect/fields/{quantity-schema.js → peppol-quantity-schema.js} +4 -4
- package/dist/effect/fields/peppol-quantity-schema.js.map +1 -0
- package/dist/effect/fields/peppol-reference-schema.d.ts +8 -0
- package/dist/effect/fields/peppol-reference-schema.d.ts.map +1 -0
- package/dist/effect/fields/peppol-reference-schema.js +7 -0
- package/dist/effect/fields/peppol-reference-schema.js.map +1 -0
- package/dist/effect/fields/{tax-category-schema.d.ts → peppol-tax-category-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-tax-category-schema.d.ts.map +1 -0
- package/dist/effect/fields/{tax-category-schema.js → peppol-tax-category-schema.js} +5 -5
- package/dist/effect/fields/peppol-tax-category-schema.js.map +1 -0
- package/dist/effect/fields/{tax-representative-party-schema.d.ts → peppol-tax-representative-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-tax-representative-schema.d.ts.map +1 -0
- package/dist/effect/fields/peppol-tax-representative-schema.js +24 -0
- package/dist/effect/fields/peppol-tax-representative-schema.js.map +1 -0
- package/dist/effect/fields/{tax-subtotal-category-schema.d.ts → peppol-tax-subtotal-category-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-tax-subtotal-category-schema.d.ts.map +1 -0
- package/dist/effect/fields/{tax-subtotal-category-schema.js → peppol-tax-subtotal-category-schema.js} +5 -5
- package/dist/effect/fields/peppol-tax-subtotal-category-schema.js.map +1 -0
- package/dist/effect/fields/{tax-subtotal-schema.d.ts → peppol-tax-subtotal-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-tax-subtotal-schema.d.ts.map +1 -0
- package/dist/effect/fields/peppol-tax-subtotal-schema.js +33 -0
- package/dist/effect/fields/peppol-tax-subtotal-schema.js.map +1 -0
- package/dist/effect/fields/{tax-totals.d.ts → peppol-tax-totals-base-schema.d.ts} +4 -4
- package/dist/effect/fields/peppol-tax-totals-base-schema.d.ts.map +1 -0
- package/dist/effect/fields/peppol-tax-totals-base-schema.js +26 -0
- package/dist/effect/fields/peppol-tax-totals-base-schema.js.map +1 -0
- package/dist/effect/{billing-base.d.ts → peppol-billing-base-schema.d.ts} +5 -5
- package/dist/effect/{billing-base.d.ts.map → peppol-billing-base-schema.d.ts.map} +1 -1
- package/dist/effect/{billing-base.js → peppol-billing-base-schema.js} +36 -36
- package/dist/effect/peppol-billing-base-schema.js.map +1 -0
- package/dist/effect/{credit-note.d.ts → peppol-credit-note-schema.d.ts} +5 -5
- package/dist/effect/{invoice.d.ts.map → peppol-credit-note-schema.d.ts.map} +1 -1
- package/dist/effect/{credit-note.js → peppol-credit-note-schema.js} +8 -8
- package/dist/effect/peppol-credit-note-schema.js.map +1 -0
- package/dist/effect/{document-response-document-reference-schema.d.ts → peppol-document-response-document-reference-schema.d.ts} +4 -4
- package/dist/effect/peppol-document-response-document-reference-schema.d.ts.map +1 -0
- package/dist/effect/{document-response-document-reference-schema.js → peppol-document-response-document-reference-schema.js} +6 -6
- package/dist/effect/peppol-document-response-document-reference-schema.js.map +1 -0
- package/dist/effect/{document-response-document-schema.d.ts → peppol-document-response-document-schema.d.ts} +4 -4
- package/dist/effect/peppol-document-response-document-schema.d.ts.map +1 -0
- package/dist/effect/{document-response-document-schema.js → peppol-document-response-document-schema.js} +5 -5
- package/dist/effect/peppol-document-response-document-schema.js.map +1 -0
- package/dist/effect/{document-response-line-response-content.d.ts → peppol-document-response-line-response-content-schema.d.ts} +4 -4
- package/dist/effect/peppol-document-response-line-response-content-schema.d.ts.map +1 -0
- package/dist/effect/{document-response-line-response-content.js → peppol-document-response-line-response-content-schema.js} +5 -5
- package/dist/effect/peppol-document-response-line-response-content-schema.js.map +1 -0
- package/dist/effect/{document-response-line-response-schema.d.ts → peppol-document-response-line-response-schema.d.ts} +4 -4
- package/dist/effect/peppol-document-response-line-response-schema.d.ts.map +1 -0
- package/dist/effect/{document-response-line-response-schema.js → peppol-document-response-line-response-schema.js} +6 -6
- package/dist/effect/peppol-document-response-line-response-schema.js.map +1 -0
- package/dist/effect/{document-parser.d.ts → peppol-document-schema.d.ts} +25 -22
- package/dist/effect/{document-parser.d.ts.map → peppol-document-schema.d.ts.map} +1 -1
- package/dist/effect/peppol-document-schema.js +64 -0
- package/dist/effect/peppol-document-schema.js.map +1 -0
- package/dist/effect/{invoice-response-document-actual-response.d.ts → peppol-invoice-response-document-actual-response-schema.d.ts} +4 -4
- package/dist/effect/peppol-invoice-response-document-actual-response-schema.d.ts.map +1 -0
- package/dist/effect/{invoice-response-document-actual-response.js → peppol-invoice-response-document-actual-response-schema.js} +10 -10
- package/dist/effect/peppol-invoice-response-document-actual-response-schema.js.map +1 -0
- package/dist/effect/{invoice-response-document-actual-response-status.d.ts → peppol-invoice-response-document-actual-response-status-schema.d.ts} +4 -4
- package/dist/effect/peppol-invoice-response-document-actual-response-status-schema.d.ts.map +1 -0
- package/dist/effect/{invoice-response-document-actual-response-status.js → peppol-invoice-response-document-actual-response-status-schema.js} +6 -6
- package/dist/effect/peppol-invoice-response-document-actual-response-status-schema.js.map +1 -0
- package/dist/effect/{invoice-response-schema.d.ts → peppol-invoice-response-schema.d.ts} +13 -14
- package/dist/effect/peppol-invoice-response-schema.d.ts.map +1 -0
- package/dist/effect/{invoice-response-schema.js → peppol-invoice-response-schema.js} +27 -27
- package/dist/effect/peppol-invoice-response-schema.js.map +1 -0
- package/dist/effect/{invoice-response-status-reason-code.d.ts → peppol-invoice-response-status-reason-code-schema.d.ts} +4 -4
- package/dist/effect/peppol-invoice-response-status-reason-code-schema.d.ts.map +1 -0
- package/dist/effect/{invoice-response-status-reason-code.js → peppol-invoice-response-status-reason-code-schema.js} +6 -6
- package/dist/effect/peppol-invoice-response-status-reason-code-schema.js.map +1 -0
- package/dist/effect/{invoice.d.ts → peppol-invoice-schema.d.ts} +6 -6
- package/dist/effect/{credit-note.d.ts.map → peppol-invoice-schema.d.ts.map} +1 -1
- package/dist/effect/peppol-invoice-schema.js +47 -0
- package/dist/effect/peppol-invoice-schema.js.map +1 -0
- package/dist/effect/{iso-date-string.d.ts → peppol-iso-date-string-schema.d.ts} +4 -4
- package/dist/effect/peppol-iso-date-string-schema.d.ts.map +1 -0
- package/dist/effect/{iso-date-string.js → peppol-iso-date-string-schema.js} +4 -4
- package/dist/effect/peppol-iso-date-string-schema.js.map +1 -0
- package/dist/effect/{message-level-response-document-response-schema.d.ts → peppol-message-level-response-document-response-schema.d.ts} +4 -4
- package/dist/effect/peppol-message-level-response-document-response-schema.d.ts.map +1 -0
- package/dist/effect/{message-level-response-document-response-schema.js → peppol-message-level-response-document-response-schema.js} +10 -10
- package/dist/effect/peppol-message-level-response-document-response-schema.js.map +1 -0
- package/dist/effect/{message-level-response-party-schema.d.ts → peppol-message-level-response-party-schema.d.ts} +4 -4
- package/dist/effect/peppol-message-level-response-party-schema.d.ts.map +1 -0
- package/dist/effect/{message-level-response-party-schema.js → peppol-message-level-response-party-schema.js} +4 -4
- package/dist/effect/peppol-message-level-response-party-schema.js.map +1 -0
- package/dist/effect/{message-level-response-schema.d.ts → peppol-message-level-response-schema.d.ts} +4 -4
- package/dist/effect/peppol-message-level-response-schema.d.ts.map +1 -0
- package/dist/effect/{message-level-response-schema.js → peppol-message-level-response-schema.js} +13 -13
- package/dist/effect/peppol-message-level-response-schema.js.map +1 -0
- package/dist/effect/utils/index.d.ts +4 -4
- package/dist/effect/utils/index.js +4 -4
- package/dist/effect/utils/{base-64.d.ts → peppol-base-64-schema.d.ts} +4 -4
- package/dist/effect/utils/peppol-base-64-schema.d.ts.map +1 -0
- package/dist/effect/utils/{base-64.js → peppol-base-64-schema.js} +4 -4
- package/dist/effect/utils/peppol-base-64-schema.js.map +1 -0
- package/dist/effect/utils/peppol-vat-regex-schema.d.ts +10 -0
- package/dist/effect/utils/peppol-vat-regex-schema.d.ts.map +1 -0
- package/dist/effect/utils/{vat-regex.js → peppol-vat-regex-schema.js} +4 -4
- package/dist/effect/utils/peppol-vat-regex-schema.js.map +1 -0
- package/dist/effect/utils/{xsd-time.d.ts → peppol-xsd-time-schema.d.ts} +4 -4
- package/dist/effect/utils/peppol-xsd-time-schema.d.ts.map +1 -0
- package/dist/effect/utils/peppol-xsd-time-schema.js +11 -0
- package/dist/effect/utils/peppol-xsd-time-schema.js.map +1 -0
- package/dist/effect/values/{additional-document-reference-code.d.ts → additional-document-reference-code-schema.d.ts} +2 -2
- package/dist/effect/values/additional-document-reference-code-schema.d.ts.map +1 -0
- package/dist/effect/values/{additional-document-reference-code.js → additional-document-reference-code-schema.js} +2 -2
- package/dist/effect/values/additional-document-reference-code-schema.js.map +1 -0
- package/dist/effect/values/{allowance-charge-reason-code.d.ts → allowance-charge-reason-code-schema.d.ts} +2 -2
- package/dist/effect/values/allowance-charge-reason-code-schema.d.ts.map +1 -0
- package/dist/effect/values/{allowance-charge-reason-code.js → allowance-charge-reason-code-schema.js} +2 -2
- package/dist/effect/values/allowance-charge-reason-code-schema.js.map +1 -0
- package/dist/effect/values/{application-response-type-codes.d.ts → application-response-type-code-schema.d.ts} +2 -2
- package/dist/effect/values/application-response-type-code-schema.d.ts.map +1 -0
- package/dist/effect/values/{application-response-type-codes.js → application-response-type-code-schema.js} +2 -2
- package/dist/effect/values/application-response-type-code-schema.js.map +1 -0
- package/dist/effect/values/{charge-reason-code.d.ts → charge-reason-code-schema.d.ts} +2 -2
- package/dist/effect/values/charge-reason-code-schema.d.ts.map +1 -0
- package/dist/effect/values/{charge-reason-code.js → charge-reason-code-schema.js} +2 -2
- package/dist/effect/values/charge-reason-code-schema.js.map +1 -0
- package/dist/effect/values/{currency-codes.d.ts → currency-code-schema.d.ts} +2 -2
- package/dist/effect/values/currency-code-schema.d.ts.map +1 -0
- package/dist/effect/values/{currency-codes.js → currency-code-schema.js} +2 -2
- package/dist/effect/values/currency-code-schema.js.map +1 -0
- package/dist/effect/values/{duty-tax-fee-cateogries.d.ts → duty-tax-fee-category-schema.d.ts} +2 -2
- package/dist/effect/values/duty-tax-fee-category-schema.d.ts.map +1 -0
- package/dist/effect/values/{duty-tax-fee-cateogries.js → duty-tax-fee-category-schema.js} +2 -2
- package/dist/effect/values/duty-tax-fee-category-schema.js.map +1 -0
- package/dist/effect/values/{eas-codes.d.ts → electronic-codes-schema.d.ts} +2 -2
- package/dist/effect/values/electronic-codes-schema.d.ts.map +1 -0
- package/dist/effect/values/{eas-codes.js → electronic-codes-schema.js} +2 -2
- package/dist/effect/values/electronic-codes-schema.js.map +1 -0
- package/dist/effect/values/{icd-codes.d.ts → icd-codes-schema.d.ts} +2 -2
- package/dist/effect/values/icd-codes-schema.d.ts.map +1 -0
- package/dist/effect/values/{icd-codes.js → icd-codes-schema.js} +2 -2
- package/dist/effect/values/icd-codes-schema.js.map +1 -0
- package/dist/effect/values/index.d.ts +22 -22
- package/dist/effect/values/index.js +22 -22
- package/dist/effect/values/{invoice-status-codes.d.ts → invoice-status-code-schema.d.ts} +3 -3
- package/dist/effect/values/invoice-status-code-schema.d.ts.map +1 -0
- package/dist/effect/values/{invoice-status-codes.js → invoice-status-code-schema.js} +3 -6
- package/dist/effect/values/invoice-status-code-schema.js.map +1 -0
- package/dist/effect/values/{item-classification-code-schema.d.ts → item-classification-codes-schema.d.ts} +2 -2
- package/dist/effect/values/item-classification-codes-schema.d.ts.map +1 -0
- package/dist/effect/values/{item-classification-code-schema.js → item-classification-codes-schema.js} +2 -2
- package/dist/effect/values/item-classification-codes-schema.js.map +1 -0
- package/dist/effect/values/{mime-code.d.ts → mime-codes-schema.d.ts} +2 -2
- package/dist/effect/values/mime-codes-schema.d.ts.map +1 -0
- package/dist/effect/values/{mime-code.js → mime-codes-schema.js} +2 -2
- package/dist/effect/values/mime-codes-schema.js.map +1 -0
- package/dist/effect/values/{op-status-action.d.ts → op-status-action-schema.d.ts} +2 -2
- package/dist/effect/values/op-status-action-schema.d.ts.map +1 -0
- package/dist/effect/values/{op-status-action.js → op-status-action-schema.js} +2 -2
- package/dist/effect/values/op-status-action-schema.js.map +1 -0
- package/dist/effect/values/{op-status-reason.d.ts → op-status-reason-schema.d.ts} +2 -2
- package/dist/effect/values/op-status-reason-schema.d.ts.map +1 -0
- package/dist/effect/values/{op-status-reason.js → op-status-reason-schema.js} +2 -2
- package/dist/effect/values/op-status-reason-schema.js.map +1 -0
- package/dist/effect/values/{participant-identifier-code.d.ts → participant-identifier-code-schema.d.ts} +2 -2
- package/dist/effect/values/participant-identifier-code-schema.d.ts.map +1 -0
- package/dist/effect/values/{participant-identifier-code.js → participant-identifier-code-schema.js} +2 -2
- package/dist/effect/values/participant-identifier-code-schema.js.map +1 -0
- package/dist/effect/values/{payment-means-codes-schema.d.ts → payment-means-code-schema.d.ts} +2 -2
- package/dist/effect/values/payment-means-code-schema.d.ts.map +1 -0
- package/dist/effect/values/{payment-means-codes-schema.js → payment-means-code-schema.js} +2 -2
- package/dist/effect/values/payment-means-code-schema.js.map +1 -0
- package/dist/effect/values/{country-code.d.ts → peppol-country-code-schema.d.ts} +3 -3
- package/dist/effect/values/peppol-country-code-schema.d.ts.map +1 -0
- package/dist/effect/values/{country-code.js → peppol-country-code-schema.js} +4 -4
- package/dist/effect/values/peppol-country-code-schema.js.map +1 -0
- package/dist/effect/values/{document-type-codes.d.ts → peppol-document-type-code-schema.d.ts} +3 -3
- package/dist/effect/values/peppol-document-type-code-schema.d.ts.map +1 -0
- package/dist/effect/values/{document-type-codes.js → peppol-document-type-code-schema.js} +4 -4
- package/dist/effect/values/peppol-document-type-code-schema.js.map +1 -0
- package/dist/effect/values/{document-type-schema.d.ts → peppol-document-type-schema.d.ts} +4 -5
- package/dist/effect/values/peppol-document-type-schema.d.ts.map +1 -0
- package/dist/effect/values/peppol-document-type-schema.js +27 -0
- package/dist/effect/values/peppol-document-type-schema.js.map +1 -0
- package/dist/effect/values/{process-schema.d.ts → peppol-process-schema.d.ts} +4 -5
- package/dist/effect/values/peppol-process-schema.d.ts.map +1 -0
- package/dist/effect/values/peppol-process-schema.js +26 -0
- package/dist/effect/values/peppol-process-schema.js.map +1 -0
- package/dist/effect/values/process-from-document-type-schema.d.ts +3 -3
- package/dist/effect/values/process-from-document-type-schema.d.ts.map +1 -1
- package/dist/effect/values/process-from-document-type-schema.js +3 -3
- package/dist/effect/values/process-from-document-type-schema.js.map +1 -1
- package/dist/effect/values/{vat-date-code.d.ts → vat-date-code-schema.d.ts} +2 -2
- package/dist/effect/values/vat-date-code-schema.d.ts.map +1 -0
- package/dist/effect/values/{vat-date-code.js → vat-date-code-schema.js} +2 -2
- package/dist/effect/values/vat-date-code-schema.js.map +1 -0
- package/dist/effect/values/{vatex-code.d.ts → vatex-code-schema.d.ts} +3 -3
- package/dist/effect/values/vatex-code-schema.d.ts.map +1 -0
- package/dist/effect/values/{vatex-code.js → vatex-code-schema.js} +4 -4
- package/dist/effect/values/vatex-code-schema.js.map +1 -0
- package/dist/effect.d.ts +74 -74
- package/dist/effect.js +75 -75
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/invoice-response-codes/invoice-response-codes-order.d.ts +2 -3
- package/dist/invoice-response-codes/invoice-response-codes-order.d.ts.map +1 -1
- package/dist/invoice-response-codes/invoice-response-codes-order.js.map +1 -1
- package/package.json +9 -9
- package/src/constants/participant-scheme.ts +5 -1
- package/src/decoders/fields/encode-party-legal-entity.ts +1 -1
- package/src/effect/fields/{additional-document-reference-schema.ts → peppol-additional-document-reference-schema.ts} +5 -5
- package/src/effect/fields/{address-schema.ts → peppol-address-schema.ts} +4 -4
- package/src/effect/fields/{allowance-charge-schema.ts → peppol-allowance-charge-schema.ts} +8 -8
- package/src/effect/fields/{amount-schema.ts → peppol-amount-schema.ts} +3 -3
- package/src/effect/fields/{base-line-schema.ts → peppol-base-line-schema.ts} +12 -12
- package/src/effect/fields/{billing-references-schema.ts → peppol-billing-reference-schema.ts} +4 -4
- package/src/effect/fields/{binary-object-schema.ts → peppol-binary-object-schema.ts} +5 -5
- package/src/effect/fields/{contact-schema.ts → peppol-contact-schema.ts} +2 -2
- package/src/effect/fields/{credit-note-line-schema.ts → peppol-credit-note-line-schema.ts} +5 -5
- package/src/effect/fields/{delivery-schema.ts → peppol-delivery-schema.ts} +7 -7
- package/src/effect/fields/{invoice-line-period-schema.ts → peppol-invoice-line-period-schema.ts} +5 -5
- package/src/effect/fields/{invoice-line-schema.ts → peppol-invoice-line-schema.ts} +5 -5
- package/src/effect/fields/{invoice-period-schema.ts → peppol-invoice-period-schema.ts} +4 -4
- package/src/effect/fields/{list-identifier-schema.ts → peppol-item-classification-schema.ts} +3 -3
- package/src/effect/fields/{legal-monetary-total-schema.ts → peppol-legal-monetary-total-schema.ts} +11 -11
- package/src/effect/fields/{line-allowance-charge-schema.ts → peppol-line-allowance-charge-schema.ts} +5 -5
- package/src/effect/fields/{line-item-schema.ts → peppol-line-item-schema.ts} +9 -9
- package/src/effect/fields/{line-price-allowance-charge-schema.ts → peppol-line-price-allowance-charge-schema.ts} +5 -5
- package/src/effect/fields/peppol-line-price-schema.ts +31 -0
- package/src/effect/fields/{order-reference-schema.ts → peppol-order-reference-schema.ts} +2 -2
- package/src/effect/fields/{party-base-schema.ts → peppol-party-base-schema.ts} +12 -12
- package/src/effect/fields/{party-legal-entity-schema.ts → peppol-party-legal-entity-schema.ts} +2 -2
- package/src/effect/fields/{party-tax-schema.ts → peppol-party-tax-scheme-schema.ts} +2 -2
- package/src/effect/fields/{payee-party.ts → peppol-payee-party-schema.ts} +3 -3
- package/src/effect/fields/{payment-means-schema.ts → peppol-payment-means-schema.ts} +5 -5
- package/src/effect/fields/{payment-terms-schema.ts → peppol-payment-terms-schema.ts} +2 -2
- package/src/effect/fields/{quantity-schema.ts → peppol-quantity-schema.ts} +2 -2
- package/src/effect/fields/peppol-reference-schema.ts +5 -0
- package/src/effect/fields/{tax-category-schema.ts → peppol-tax-category-schema.ts} +3 -3
- package/src/effect/fields/peppol-tax-representative-schema.ts +23 -0
- package/src/effect/fields/{tax-subtotal-category-schema.ts → peppol-tax-subtotal-category-schema.ts} +3 -3
- package/src/effect/fields/{tax-subtotal-schema.ts → peppol-tax-subtotal-schema.ts} +7 -7
- package/src/effect/fields/peppol-tax-totals-base-schema.ts +25 -0
- package/src/effect/index.ts +49 -49
- package/src/effect/{billing-base.ts → peppol-billing-base-schema.ts} +34 -34
- package/src/effect/{credit-note.ts → peppol-credit-note-schema.ts} +6 -6
- package/src/effect/{document-response-document-reference-schema.ts → peppol-document-response-document-reference-schema.ts} +4 -4
- package/src/effect/{document-response-document-schema.ts → peppol-document-response-document-schema.ts} +3 -3
- package/src/effect/{document-response-line-response-content.ts → peppol-document-response-line-response-content-schema.ts} +3 -3
- package/src/effect/{document-response-line-response-schema.ts → peppol-document-response-line-response-schema.ts} +4 -4
- package/src/effect/peppol-document-schema.ts +107 -0
- package/src/effect/{invoice-response-document-actual-response.ts → peppol-invoice-response-document-actual-response-schema.ts} +8 -8
- package/src/effect/{invoice-response-document-actual-response-status.ts → peppol-invoice-response-document-actual-response-status-schema.ts} +4 -4
- package/src/effect/{invoice-response-schema.ts → peppol-invoice-response-schema.ts} +29 -38
- package/src/effect/{invoice-response-status-reason-code.ts → peppol-invoice-response-status-reason-code-schema.ts} +4 -4
- package/src/effect/{invoice.ts → peppol-invoice-schema.ts} +9 -9
- package/src/effect/{iso-date-string.ts → peppol-iso-date-string-schema.ts} +2 -2
- package/src/effect/{message-level-response-document-response-schema.ts → peppol-message-level-response-document-response-schema.ts} +8 -8
- package/src/effect/{message-level-response-party-schema.ts → peppol-message-level-response-party-schema.ts} +2 -2
- package/src/effect/{message-level-response-schema.ts → peppol-message-level-response-schema.ts} +11 -11
- package/src/effect/utils/index.ts +3 -3
- package/src/effect/utils/{base-64.ts → peppol-base-64-schema.ts} +2 -2
- package/src/effect/utils/{vat-regex.ts → peppol-vat-regex-schema.ts} +2 -2
- package/src/effect/utils/{xsd-time.ts → peppol-xsd-time-schema.ts} +2 -2
- package/src/effect/values/index.ts +21 -21
- package/src/effect/values/{invoice-status-codes.ts → invoice-status-code-schema.ts} +1 -4
- package/src/effect/values/{country-code.ts → peppol-country-code-schema.ts} +1 -1
- package/src/effect/values/{document-type-codes.ts → peppol-document-type-code-schema.ts} +1 -1
- package/src/effect/values/{document-type-schema.ts → peppol-document-type-schema.ts} +10 -12
- package/src/effect/values/{process-schema.ts → peppol-process-schema.ts} +10 -12
- package/src/effect/values/process-from-document-type-schema.ts +4 -4
- package/src/effect/values/{vatex-code.ts → vatex-code-schema.ts} +1 -1
- package/src/invoice-response-codes/invoice-response-codes-order.ts +2 -4
- package/dist/effect/billing-base.js.map +0 -1
- package/dist/effect/credit-note.js.map +0 -1
- package/dist/effect/document-parser.js +0 -90
- package/dist/effect/document-parser.js.map +0 -1
- package/dist/effect/document-response-document-reference-schema.d.ts.map +0 -1
- package/dist/effect/document-response-document-reference-schema.js.map +0 -1
- package/dist/effect/document-response-document-schema.d.ts.map +0 -1
- package/dist/effect/document-response-document-schema.js.map +0 -1
- package/dist/effect/document-response-line-response-content.d.ts.map +0 -1
- package/dist/effect/document-response-line-response-content.js.map +0 -1
- package/dist/effect/document-response-line-response-schema.d.ts.map +0 -1
- package/dist/effect/document-response-line-response-schema.js.map +0 -1
- package/dist/effect/fields/additional-document-reference-schema.d.ts.map +0 -1
- package/dist/effect/fields/additional-document-reference-schema.js.map +0 -1
- package/dist/effect/fields/address-schema.d.ts.map +0 -1
- package/dist/effect/fields/address-schema.js.map +0 -1
- package/dist/effect/fields/allowance-charge-schema.d.ts.map +0 -1
- package/dist/effect/fields/allowance-charge-schema.js.map +0 -1
- package/dist/effect/fields/amount-schema.d.ts.map +0 -1
- package/dist/effect/fields/amount-schema.js.map +0 -1
- package/dist/effect/fields/base-line-schema.d.ts.map +0 -1
- package/dist/effect/fields/base-line-schema.js.map +0 -1
- package/dist/effect/fields/billing-references-schema.d.ts.map +0 -1
- package/dist/effect/fields/billing-references-schema.js.map +0 -1
- package/dist/effect/fields/binary-object-schema.d.ts.map +0 -1
- package/dist/effect/fields/binary-object-schema.js.map +0 -1
- package/dist/effect/fields/contact-schema.d.ts.map +0 -1
- package/dist/effect/fields/contact-schema.js.map +0 -1
- package/dist/effect/fields/credit-note-line-schema.d.ts.map +0 -1
- package/dist/effect/fields/credit-note-line-schema.js.map +0 -1
- package/dist/effect/fields/delivery-schema.d.ts.map +0 -1
- package/dist/effect/fields/delivery-schema.js.map +0 -1
- package/dist/effect/fields/invoice-line-period-schema.d.ts.map +0 -1
- package/dist/effect/fields/invoice-line-period-schema.js.map +0 -1
- package/dist/effect/fields/invoice-line-schema.d.ts.map +0 -1
- package/dist/effect/fields/invoice-line-schema.js.map +0 -1
- package/dist/effect/fields/invoice-period-schema.d.ts.map +0 -1
- package/dist/effect/fields/invoice-period-schema.js.map +0 -1
- package/dist/effect/fields/legal-monetary-total-schema.d.ts.map +0 -1
- package/dist/effect/fields/legal-monetary-total-schema.js.map +0 -1
- package/dist/effect/fields/line-allowance-charge-schema.d.ts.map +0 -1
- package/dist/effect/fields/line-allowance-charge-schema.js.map +0 -1
- package/dist/effect/fields/line-item-schema.d.ts.map +0 -1
- package/dist/effect/fields/line-item-schema.js.map +0 -1
- package/dist/effect/fields/line-price-allowance-charge-schema.d.ts.map +0 -1
- package/dist/effect/fields/line-price-allowance-charge-schema.js +0 -30
- package/dist/effect/fields/line-price-allowance-charge-schema.js.map +0 -1
- package/dist/effect/fields/list-identifier-schema.d.ts.map +0 -1
- package/dist/effect/fields/list-identifier-schema.js.map +0 -1
- package/dist/effect/fields/order-reference-schema.d.ts.map +0 -1
- package/dist/effect/fields/order-reference-schema.js.map +0 -1
- package/dist/effect/fields/party-base-schema.d.ts.map +0 -1
- package/dist/effect/fields/party-base-schema.js.map +0 -1
- package/dist/effect/fields/party-legal-entity-schema.d.ts.map +0 -1
- package/dist/effect/fields/party-legal-entity-schema.js.map +0 -1
- package/dist/effect/fields/party-tax-schema.d.ts.map +0 -1
- package/dist/effect/fields/party-tax-schema.js.map +0 -1
- package/dist/effect/fields/payee-party.d.ts.map +0 -1
- package/dist/effect/fields/payee-party.js.map +0 -1
- package/dist/effect/fields/payment-means-schema.d.ts.map +0 -1
- package/dist/effect/fields/payment-means-schema.js.map +0 -1
- package/dist/effect/fields/payment-terms-schema.d.ts.map +0 -1
- package/dist/effect/fields/payment-terms-schema.js.map +0 -1
- package/dist/effect/fields/price-schema.d.ts.map +0 -1
- package/dist/effect/fields/price-schema.js +0 -32
- package/dist/effect/fields/price-schema.js.map +0 -1
- package/dist/effect/fields/quantity-schema.d.ts.map +0 -1
- package/dist/effect/fields/quantity-schema.js.map +0 -1
- package/dist/effect/fields/reference-schema.d.ts +0 -8
- package/dist/effect/fields/reference-schema.d.ts.map +0 -1
- package/dist/effect/fields/reference-schema.js +0 -7
- package/dist/effect/fields/reference-schema.js.map +0 -1
- package/dist/effect/fields/tax-category-schema.d.ts.map +0 -1
- package/dist/effect/fields/tax-category-schema.js.map +0 -1
- package/dist/effect/fields/tax-representative-party-schema.d.ts.map +0 -1
- package/dist/effect/fields/tax-representative-party-schema.js +0 -24
- package/dist/effect/fields/tax-representative-party-schema.js.map +0 -1
- package/dist/effect/fields/tax-subtotal-category-schema.d.ts.map +0 -1
- package/dist/effect/fields/tax-subtotal-category-schema.js.map +0 -1
- package/dist/effect/fields/tax-subtotal-schema.d.ts.map +0 -1
- package/dist/effect/fields/tax-subtotal-schema.js +0 -33
- package/dist/effect/fields/tax-subtotal-schema.js.map +0 -1
- package/dist/effect/fields/tax-totals.d.ts.map +0 -1
- package/dist/effect/fields/tax-totals.js +0 -26
- package/dist/effect/fields/tax-totals.js.map +0 -1
- package/dist/effect/invoice-response-document-actual-response-status.d.ts.map +0 -1
- package/dist/effect/invoice-response-document-actual-response-status.js.map +0 -1
- package/dist/effect/invoice-response-document-actual-response.d.ts.map +0 -1
- package/dist/effect/invoice-response-document-actual-response.js.map +0 -1
- package/dist/effect/invoice-response-schema.d.ts.map +0 -1
- package/dist/effect/invoice-response-schema.js.map +0 -1
- package/dist/effect/invoice-response-status-reason-code.d.ts.map +0 -1
- package/dist/effect/invoice-response-status-reason-code.js.map +0 -1
- package/dist/effect/invoice.js +0 -47
- package/dist/effect/invoice.js.map +0 -1
- package/dist/effect/iso-date-string.d.ts.map +0 -1
- package/dist/effect/iso-date-string.js.map +0 -1
- package/dist/effect/message-level-response-document-response-schema.d.ts.map +0 -1
- package/dist/effect/message-level-response-document-response-schema.js.map +0 -1
- package/dist/effect/message-level-response-party-schema.d.ts.map +0 -1
- package/dist/effect/message-level-response-party-schema.js.map +0 -1
- package/dist/effect/message-level-response-schema.d.ts.map +0 -1
- package/dist/effect/message-level-response-schema.js.map +0 -1
- package/dist/effect/utils/base-64.d.ts.map +0 -1
- package/dist/effect/utils/base-64.js.map +0 -1
- package/dist/effect/utils/vat-regex.d.ts +0 -10
- package/dist/effect/utils/vat-regex.d.ts.map +0 -1
- package/dist/effect/utils/vat-regex.js.map +0 -1
- package/dist/effect/utils/xsd-time.d.ts.map +0 -1
- package/dist/effect/utils/xsd-time.js +0 -11
- package/dist/effect/utils/xsd-time.js.map +0 -1
- package/dist/effect/values/additional-document-reference-code.d.ts.map +0 -1
- package/dist/effect/values/additional-document-reference-code.js.map +0 -1
- package/dist/effect/values/allowance-charge-reason-code.d.ts.map +0 -1
- package/dist/effect/values/allowance-charge-reason-code.js.map +0 -1
- package/dist/effect/values/application-response-type-codes.d.ts.map +0 -1
- package/dist/effect/values/application-response-type-codes.js.map +0 -1
- package/dist/effect/values/charge-reason-code.d.ts.map +0 -1
- package/dist/effect/values/charge-reason-code.js.map +0 -1
- package/dist/effect/values/country-code.d.ts.map +0 -1
- package/dist/effect/values/country-code.js.map +0 -1
- package/dist/effect/values/currency-codes.d.ts.map +0 -1
- package/dist/effect/values/currency-codes.js.map +0 -1
- package/dist/effect/values/document-type-codes.d.ts.map +0 -1
- package/dist/effect/values/document-type-codes.js.map +0 -1
- package/dist/effect/values/document-type-schema.d.ts.map +0 -1
- package/dist/effect/values/document-type-schema.js +0 -25
- package/dist/effect/values/document-type-schema.js.map +0 -1
- package/dist/effect/values/duty-tax-fee-cateogries.d.ts.map +0 -1
- package/dist/effect/values/duty-tax-fee-cateogries.js.map +0 -1
- package/dist/effect/values/eas-codes.d.ts.map +0 -1
- package/dist/effect/values/eas-codes.js.map +0 -1
- package/dist/effect/values/icd-codes.d.ts.map +0 -1
- package/dist/effect/values/icd-codes.js.map +0 -1
- package/dist/effect/values/invoice-status-codes.d.ts.map +0 -1
- package/dist/effect/values/invoice-status-codes.js.map +0 -1
- package/dist/effect/values/item-classification-code-schema.d.ts.map +0 -1
- package/dist/effect/values/item-classification-code-schema.js.map +0 -1
- package/dist/effect/values/mime-code.d.ts.map +0 -1
- package/dist/effect/values/mime-code.js.map +0 -1
- package/dist/effect/values/op-status-action.d.ts.map +0 -1
- package/dist/effect/values/op-status-action.js.map +0 -1
- package/dist/effect/values/op-status-reason.d.ts.map +0 -1
- package/dist/effect/values/op-status-reason.js.map +0 -1
- package/dist/effect/values/participant-identifier-code.d.ts.map +0 -1
- package/dist/effect/values/participant-identifier-code.js.map +0 -1
- package/dist/effect/values/payment-means-codes-schema.d.ts.map +0 -1
- package/dist/effect/values/payment-means-codes-schema.js.map +0 -1
- package/dist/effect/values/process-schema.d.ts.map +0 -1
- package/dist/effect/values/process-schema.js +0 -24
- package/dist/effect/values/process-schema.js.map +0 -1
- package/dist/effect/values/vat-date-code.d.ts.map +0 -1
- package/dist/effect/values/vat-date-code.js.map +0 -1
- package/dist/effect/values/vatex-code.d.ts.map +0 -1
- package/dist/effect/values/vatex-code.js.map +0 -1
- package/src/effect/document-parser.ts +0 -108
- package/src/effect/fields/price-schema.ts +0 -31
- package/src/effect/fields/reference-schema.ts +0 -5
- package/src/effect/fields/tax-representative-party-schema.ts +0 -23
- package/src/effect/fields/tax-totals.ts +0 -25
- /package/src/effect/values/{additional-document-reference-code.ts → additional-document-reference-code-schema.ts} +0 -0
- /package/src/effect/values/{allowance-charge-reason-code.ts → allowance-charge-reason-code-schema.ts} +0 -0
- /package/src/effect/values/{application-response-type-codes.ts → application-response-type-code-schema.ts} +0 -0
- /package/src/effect/values/{charge-reason-code.ts → charge-reason-code-schema.ts} +0 -0
- /package/src/effect/values/{currency-codes.ts → currency-code-schema.ts} +0 -0
- /package/src/effect/values/{duty-tax-fee-cateogries.ts → duty-tax-fee-category-schema.ts} +0 -0
- /package/src/effect/values/{eas-codes.ts → electronic-codes-schema.ts} +0 -0
- /package/src/effect/values/{icd-codes.ts → icd-codes-schema.ts} +0 -0
- /package/src/effect/values/{item-classification-code-schema.ts → item-classification-codes-schema.ts} +0 -0
- /package/src/effect/values/{mime-code.ts → mime-codes-schema.ts} +0 -0
- /package/src/effect/values/{op-status-action.ts → op-status-action-schema.ts} +0 -0
- /package/src/effect/values/{op-status-reason.ts → op-status-reason-schema.ts} +0 -0
- /package/src/effect/values/{participant-identifier-code.ts → participant-identifier-code-schema.ts} +0 -0
- /package/src/effect/values/{payment-means-codes-schema.ts → payment-means-code-schema.ts} +0 -0
- /package/src/effect/values/{vat-date-code.ts → vat-date-code-schema.ts} +0 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import type { AllUnionFields } from 'type-fest';
|
|
2
|
+
|
|
3
|
+
import { Effect, Equal, Predicate, Schema, SchemaGetter, SchemaIssue } from 'effect';
|
|
4
|
+
import XMLBuilder from 'fast-xml-builder';
|
|
5
|
+
import { XMLParser } from 'fast-xml-parser';
|
|
6
|
+
|
|
7
|
+
import type { peppolCreditNoteLineSchema } from '#/effect/fields/peppol-credit-note-line-schema';
|
|
8
|
+
import type { peppolInvoiceLineSchema } from '#/effect/fields/peppol-invoice-line-schema';
|
|
9
|
+
import type { XmlNode } from '#/helpers/get-prop';
|
|
10
|
+
import type { PeppolCreditNote as ZodPeppolCreditNote } from '#/schemas/credit-note';
|
|
11
|
+
import type { PeppolInvoice as ZodPeppolInvoice } from '#/schemas/invoice';
|
|
12
|
+
import type { PeppolInvoiceResponse as ZodPeppolInvoiceResponse } from '#/schemas/invoice-response-schema';
|
|
13
|
+
import type { PeppolMessageLevelResponse as ZodPeppolMessageLevelResponse } from '#/schemas/message-level-response-schema';
|
|
14
|
+
|
|
15
|
+
import { INVOICE_RESPONSE_PROFILE_ID } from '#/constants/invoice-response-profile-id';
|
|
16
|
+
import { MESSAGE_LEVEL_RESPONSE_PROFILE_ID } from '#/constants/message-level-response-profile-id';
|
|
17
|
+
import { decodeCreditNote } from '#/decoders/decode-credit-note';
|
|
18
|
+
import { decodeInvoice } from '#/decoders/decode-invoice';
|
|
19
|
+
import { decodeInvoiceResponse } from '#/decoders/decode-invoice-response';
|
|
20
|
+
import { decodeMessageLevelResponse } from '#/decoders/decode-message-level-response';
|
|
21
|
+
import { encodeCreditNote } from '#/decoders/encode-credit-note';
|
|
22
|
+
import { encodeInvoice } from '#/decoders/encode-invoice';
|
|
23
|
+
import { encodeInvoiceResponse } from '#/decoders/encode-invoice-response';
|
|
24
|
+
import { encodeMessageLevelResponse } from '#/decoders/encode-message-level-response';
|
|
25
|
+
import { strOrUnd } from '#/helpers/str-or-und';
|
|
26
|
+
import { builderOptions } from '#/xml/builder-options';
|
|
27
|
+
import { parserOptions } from '#/xml/parser-options';
|
|
28
|
+
|
|
29
|
+
import { peppolCreditNoteSchema } from './peppol-credit-note-schema';
|
|
30
|
+
import { peppolInvoiceResponseSchema } from './peppol-invoice-response-schema';
|
|
31
|
+
import { peppolInvoiceSchema } from './peppol-invoice-schema';
|
|
32
|
+
import { peppolMessageLevelResponseSchema } from './peppol-message-level-response-schema';
|
|
33
|
+
|
|
34
|
+
export class PeppolInvalidDocumentType extends Schema.TaggedError<PeppolInvalidDocumentType>()('PeppolInvalidDocumentType', {
|
|
35
|
+
message: Schema.String,
|
|
36
|
+
rootNodes: Schema.Array(Schema.String),
|
|
37
|
+
}) {}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* @description Union of every supported PEPPOL business document (Effect port of the `z.xor` side of `documentParser`). Members discriminate cleanly: invoice vs
|
|
41
|
+
* credit note via `invoiceLines`/`creditNoteLines`, message-level vs invoice response via the `profileId` literal.
|
|
42
|
+
*/
|
|
43
|
+
export const peppolDocumentSchema = Schema.Union([
|
|
44
|
+
peppolInvoiceSchema,
|
|
45
|
+
peppolCreditNoteSchema,
|
|
46
|
+
peppolMessageLevelResponseSchema,
|
|
47
|
+
peppolInvoiceResponseSchema,
|
|
48
|
+
]).pipe(
|
|
49
|
+
Schema.encodeTo(Schema.String, {
|
|
50
|
+
encode: SchemaGetter.transformEffect(
|
|
51
|
+
Effect.fn(function* (document) {
|
|
52
|
+
let content: unknown;
|
|
53
|
+
if (Predicate.hasProperty(document, 'invoiceLines')) {
|
|
54
|
+
content = encodeInvoice(document as unknown as ZodPeppolInvoice);
|
|
55
|
+
} else if (Predicate.hasProperty(document, 'creditNoteLines')) {
|
|
56
|
+
content = encodeCreditNote(document as unknown as ZodPeppolCreditNote);
|
|
57
|
+
} else if (Predicate.hasProperty(document, 'documentResponse')) {
|
|
58
|
+
if (Equal.equals(document.profileId, MESSAGE_LEVEL_RESPONSE_PROFILE_ID)) {
|
|
59
|
+
content = encodeMessageLevelResponse(document as unknown as ZodPeppolMessageLevelResponse);
|
|
60
|
+
} else if (Equal.equals(document.profileId, INVOICE_RESPONSE_PROFILE_ID)) {
|
|
61
|
+
content = encodeInvoiceResponse(document as unknown as ZodPeppolInvoiceResponse);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const builder = new XMLBuilder(builderOptions);
|
|
66
|
+
return builder.build(content);
|
|
67
|
+
})
|
|
68
|
+
),
|
|
69
|
+
decode: SchemaGetter.transformEffect(
|
|
70
|
+
Effect.fn(function* (value, options) {
|
|
71
|
+
const parser = new XMLParser({ ...parserOptions, removeNSPrefix: true });
|
|
72
|
+
const parsed: XmlNode = parser.parse(value);
|
|
73
|
+
|
|
74
|
+
if (Predicate.isNotNullish(parsed.Invoice)) {
|
|
75
|
+
return decodeInvoice(parsed) as typeof peppolInvoiceSchema.Type;
|
|
76
|
+
} else if (Predicate.isNotNullish(parsed.CreditNote)) {
|
|
77
|
+
return decodeCreditNote(parsed) as typeof peppolCreditNoteSchema.Type;
|
|
78
|
+
} else if (Predicate.isNotNullish(parsed.ApplicationResponse)) {
|
|
79
|
+
const profile = strOrUnd(parsed.ApplicationResponse, 'cbc:ProfileID');
|
|
80
|
+
if (Equal.equals(profile, MESSAGE_LEVEL_RESPONSE_PROFILE_ID)) {
|
|
81
|
+
return decodeMessageLevelResponse(parsed) as typeof peppolMessageLevelResponseSchema.Type;
|
|
82
|
+
} else if (Equal.equals(profile, INVOICE_RESPONSE_PROFILE_ID)) {
|
|
83
|
+
return decodeInvoiceResponse(parsed) as typeof peppolInvoiceResponseSchema.Type;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return yield* Effect.fail(
|
|
88
|
+
new SchemaIssue.InvalidValue({ message: `Unsupported document type: ${Object.keys(parsed).join(',')}` }, value, options)
|
|
89
|
+
);
|
|
90
|
+
})
|
|
91
|
+
),
|
|
92
|
+
})
|
|
93
|
+
);
|
|
94
|
+
|
|
95
|
+
export type PeppolDocumentEncoded = string;
|
|
96
|
+
export interface PeppolDocumentDecoded extends AllUnionFields<typeof peppolDocumentSchema.Type> {}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* @description This defines the types of documents that are sent/received through the peppol network.
|
|
100
|
+
*/
|
|
101
|
+
export interface PeppolDocument extends AllUnionFields<typeof peppolInvoiceSchema.Type | typeof peppolCreditNoteSchema.Type> {}
|
|
102
|
+
/**
|
|
103
|
+
* @description This defines the types of message that are sent/received through the peppol network.
|
|
104
|
+
*/
|
|
105
|
+
export interface PeppolMessage extends AllUnionFields<typeof peppolMessageLevelResponseSchema.Type | typeof peppolInvoiceResponseSchema.Type> {}
|
|
106
|
+
export interface PeppolAllDocuments extends AllUnionFields<PeppolDocument | PeppolMessage> {}
|
|
107
|
+
export interface PeppolDocumentLine extends AllUnionFields<typeof peppolInvoiceLineSchema.Type | typeof peppolCreditNoteLineSchema.Type> {}
|
|
@@ -3,13 +3,13 @@ import { Schema } from 'effect';
|
|
|
3
3
|
import { invoiceResponseCodeNeedsSchema } from '#/invoice-response-codes/invoice-response-code-needs-schema';
|
|
4
4
|
import { invoiceResponseCodeNotNeedsSchema } from '#/invoice-response-codes/invoice-response-code-not-needs-schema';
|
|
5
5
|
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { peppolInvoiceResponseDocumentActualResponseStatusSchema } from './peppol-invoice-response-document-actual-response-status-schema';
|
|
7
|
+
import { peppolIsoDateStringSchema } from './peppol-iso-date-string-schema';
|
|
8
8
|
|
|
9
9
|
const withStatusCodes = Schema.Literals(invoiceResponseCodeNeedsSchema);
|
|
10
10
|
const withoutStatusCodes = Schema.Literals(invoiceResponseCodeNotNeedsSchema);
|
|
11
11
|
|
|
12
|
-
export const
|
|
12
|
+
export const peppolInvoiceResponseDocumentActualResponseSchema = Schema.Union([
|
|
13
13
|
Schema.Struct({
|
|
14
14
|
/**
|
|
15
15
|
* @remarks
|
|
@@ -30,7 +30,7 @@ export const invoiceResponseDocumentActualResponse = Schema.Union([
|
|
|
30
30
|
*
|
|
31
31
|
* @name `cbc:EffectiveDate`
|
|
32
32
|
*/
|
|
33
|
-
effectiveDate: Schema.optional(
|
|
33
|
+
effectiveDate: Schema.optional(peppolIsoDateStringSchema),
|
|
34
34
|
/**
|
|
35
35
|
* @description Clarification is mendatory when the status is UQ-`under query`,RE-`rejected` and `CA`-Conditionally accepted. Clarification may be given as a
|
|
36
36
|
* code, a description or both. If both are used, they must indicate the same clarification.
|
|
@@ -39,7 +39,7 @@ export const invoiceResponseDocumentActualResponse = Schema.Union([
|
|
|
39
39
|
*
|
|
40
40
|
* @name `cac:Status`
|
|
41
41
|
*/
|
|
42
|
-
status: Schema.Array(
|
|
42
|
+
status: Schema.Array(peppolInvoiceResponseDocumentActualResponseStatusSchema).check(Schema.isMinLength(1)),
|
|
43
43
|
}),
|
|
44
44
|
Schema.Struct({
|
|
45
45
|
/**
|
|
@@ -58,7 +58,7 @@ export const invoiceResponseDocumentActualResponse = Schema.Union([
|
|
|
58
58
|
*
|
|
59
59
|
* @name `cbc:EffectiveDate`
|
|
60
60
|
*/
|
|
61
|
-
effectiveDate: Schema.optional(
|
|
61
|
+
effectiveDate: Schema.optional(peppolIsoDateStringSchema),
|
|
62
62
|
/**
|
|
63
63
|
* @description Clarification is mendatory when the status is UQ-`under query`,RE-`rejected` and `CA`-Conditionally accepted. Clarification may be given as a
|
|
64
64
|
* code, a description or both. If both are used, they must indicate the same clarification.
|
|
@@ -67,8 +67,8 @@ export const invoiceResponseDocumentActualResponse = Schema.Union([
|
|
|
67
67
|
*
|
|
68
68
|
* @name `cac:Status`
|
|
69
69
|
*/
|
|
70
|
-
status: Schema.optional(Schema.Array(
|
|
70
|
+
status: Schema.optional(Schema.Array(peppolInvoiceResponseDocumentActualResponseStatusSchema)),
|
|
71
71
|
}),
|
|
72
72
|
]);
|
|
73
73
|
|
|
74
|
-
export type InvoiceResponseDocumentActualResponse = typeof
|
|
74
|
+
export type InvoiceResponseDocumentActualResponse = typeof peppolInvoiceResponseDocumentActualResponseSchema.Type;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Schema } from 'effect';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { peppolInvoiceResponseStatusReasonCodeSchema } from './peppol-invoice-response-status-reason-code-schema';
|
|
4
4
|
|
|
5
5
|
const invoiceResponseCondition = Schema.Struct({
|
|
6
6
|
/**
|
|
@@ -29,7 +29,7 @@ const invoiceResponseCondition = Schema.Struct({
|
|
|
29
29
|
|
|
30
30
|
export type InvoiceResponseCondition = typeof invoiceResponseCondition.Type;
|
|
31
31
|
|
|
32
|
-
export const
|
|
32
|
+
export const peppolInvoiceResponseDocumentActualResponseStatusSchema = Schema.Struct({
|
|
33
33
|
/**
|
|
34
34
|
* @description A code defining a clarification given for the invoice status.
|
|
35
35
|
*
|
|
@@ -37,7 +37,7 @@ export const invoiceReponseDocumentActualResponseStatus = Schema.Struct({
|
|
|
37
37
|
*
|
|
38
38
|
* @name `cbc:StatusReasonCode`
|
|
39
39
|
*/
|
|
40
|
-
statusReasonCode: Schema.optional(
|
|
40
|
+
statusReasonCode: Schema.optional(peppolInvoiceResponseStatusReasonCodeSchema),
|
|
41
41
|
/**
|
|
42
42
|
* @description The description of the clarification given for the invoice status.
|
|
43
43
|
*
|
|
@@ -57,4 +57,4 @@ export const invoiceReponseDocumentActualResponseStatus = Schema.Struct({
|
|
|
57
57
|
condition: Schema.optional(Schema.Array(invoiceResponseCondition)),
|
|
58
58
|
});
|
|
59
59
|
|
|
60
|
-
export type
|
|
60
|
+
export type InvoiceResponseDocumentActualResponseStatus = typeof peppolInvoiceResponseDocumentActualResponseStatusSchema.Type;
|
|
@@ -2,42 +2,42 @@ import { Schema, Struct } from 'effect';
|
|
|
2
2
|
|
|
3
3
|
import { INVOICE_RESPONSE_PROFILE_ID } from '#/constants/invoice-response-profile-id';
|
|
4
4
|
|
|
5
|
-
import { contactSchema } from './fields/contact-schema';
|
|
6
5
|
import { identifierSchema } from './fields/identifier-schema';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
6
|
+
import { peppolContactSchema } from './fields/peppol-contact-schema';
|
|
7
|
+
import { peppolPartyLegalEntitySchema } from './fields/peppol-party-legal-entity-schema';
|
|
8
|
+
import { peppolInvoiceResponseDocumentActualResponseSchema } from './peppol-invoice-response-document-actual-response-schema';
|
|
9
|
+
import { peppolIsoDateStringSchema } from './peppol-iso-date-string-schema';
|
|
10
|
+
import { peppolMessageLevelResponsePartySchema } from './peppol-message-level-response-party-schema';
|
|
11
|
+
import { peppolMessageLevelResponseSchema } from './peppol-message-level-response-schema';
|
|
12
|
+
import { peppolDocumentTypeCodeSchema } from './values/peppol-document-type-code-schema';
|
|
13
13
|
|
|
14
|
-
const
|
|
14
|
+
export const peppolInvoiceResponsePartySchema = peppolMessageLevelResponsePartySchema.pipe(
|
|
15
15
|
Schema.fieldsAssign({
|
|
16
16
|
/**
|
|
17
17
|
* @summary Party partyIdentification
|
|
18
18
|
*/
|
|
19
19
|
partyIdentification: Schema.optional(identifierSchema()),
|
|
20
|
-
partyLegalEntity:
|
|
20
|
+
partyLegalEntity: peppolPartyLegalEntitySchema.mapFields(Struct.pick(['registrationName'])),
|
|
21
21
|
})
|
|
22
22
|
);
|
|
23
23
|
|
|
24
|
-
const
|
|
24
|
+
export const peppolInvoiceResponseSenderPartySchema = peppolInvoiceResponsePartySchema.pipe(
|
|
25
25
|
Schema.fieldsAssign({
|
|
26
26
|
/**
|
|
27
27
|
* @summary Contact information
|
|
28
28
|
*
|
|
29
29
|
* @name `cac:Contact`
|
|
30
30
|
*/
|
|
31
|
-
contact: Schema.optional(
|
|
31
|
+
contact: Schema.optional(peppolContactSchema),
|
|
32
32
|
})
|
|
33
33
|
);
|
|
34
34
|
|
|
35
|
-
export type
|
|
35
|
+
export type PeppolInvoiceResponseParty = typeof peppolInvoiceResponsePartySchema.Type | typeof peppolInvoiceResponseSenderPartySchema.Type;
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
38
|
* @description Party schema used under `cac:DocumentReference/(cac:IssuerParty|cac:RecipientParty)`
|
|
39
39
|
*/
|
|
40
|
-
const
|
|
40
|
+
export const peppolInvoiceResponseDocumentResponsePartySchema = Schema.Struct({
|
|
41
41
|
/**
|
|
42
42
|
* @summary Party partyIdentification
|
|
43
43
|
*/
|
|
@@ -61,9 +61,9 @@ const invoiceResponseDocumentResponseParty = Schema.Struct({
|
|
|
61
61
|
}),
|
|
62
62
|
});
|
|
63
63
|
|
|
64
|
-
export type
|
|
64
|
+
export type PeppolInvoiceDocumentResponseParty = typeof peppolInvoiceResponseDocumentResponsePartySchema.Type;
|
|
65
65
|
|
|
66
|
-
const
|
|
66
|
+
export const peppolInvoiceResponseDocumentReferenceSchema = Schema.Struct({
|
|
67
67
|
/**
|
|
68
68
|
* @description An identifier for the invoice that the status applies to. The invoice identifier must be of the main invoice number that appears in the invoice
|
|
69
69
|
* itself.
|
|
@@ -86,19 +86,19 @@ const invoiceResponseDocumentReferenceSchema = Schema.Struct({
|
|
|
86
86
|
*
|
|
87
87
|
* @name `cbc:IssueDate`
|
|
88
88
|
*/
|
|
89
|
-
issueDate: Schema.optional(
|
|
89
|
+
issueDate: Schema.optional(peppolIsoDateStringSchema),
|
|
90
90
|
/**
|
|
91
91
|
* @example
|
|
92
92
|
* `380`;
|
|
93
93
|
*
|
|
94
94
|
* @summary Identifier type code
|
|
95
95
|
*/
|
|
96
|
-
documentTypeCode:
|
|
96
|
+
documentTypeCode: peppolDocumentTypeCodeSchema(),
|
|
97
97
|
});
|
|
98
98
|
|
|
99
|
-
export type
|
|
99
|
+
export type PeppolInvoiceResponseDocumentReference = typeof peppolInvoiceResponseDocumentReferenceSchema.Type;
|
|
100
100
|
|
|
101
|
-
const
|
|
101
|
+
export const peppolInvoiceResponseDocumentResponseSchema = Schema.Struct({
|
|
102
102
|
/**
|
|
103
103
|
* @summary Response information
|
|
104
104
|
*
|
|
@@ -106,44 +106,35 @@ const invoiceResponseDocumentResponseSchema = Schema.Struct({
|
|
|
106
106
|
*
|
|
107
107
|
* @cardinality (1..1)
|
|
108
108
|
*/
|
|
109
|
-
response:
|
|
109
|
+
response: peppolInvoiceResponseDocumentActualResponseSchema,
|
|
110
110
|
/**
|
|
111
111
|
* @summary Document reference
|
|
112
112
|
*
|
|
113
113
|
* @name `cac:DocumentReference`
|
|
114
114
|
*/
|
|
115
|
-
documentReference:
|
|
115
|
+
documentReference: peppolInvoiceResponseDocumentReferenceSchema,
|
|
116
116
|
/**
|
|
117
117
|
* @summary Seller party information
|
|
118
118
|
*
|
|
119
119
|
* @name `cac:IssuerParty`
|
|
120
120
|
*/
|
|
121
|
-
issuerParty: Schema.optional(
|
|
121
|
+
issuerParty: Schema.optional(peppolInvoiceResponseDocumentResponsePartySchema),
|
|
122
122
|
/**
|
|
123
123
|
* @summary Buyer party information
|
|
124
124
|
*
|
|
125
125
|
* @name `cac:RecipientParty`
|
|
126
126
|
*/
|
|
127
|
-
recipientParty: Schema.optional(
|
|
127
|
+
recipientParty: Schema.optional(peppolInvoiceResponseDocumentResponsePartySchema),
|
|
128
128
|
});
|
|
129
129
|
|
|
130
|
-
export type
|
|
131
|
-
|
|
132
|
-
// Export nested party/reference/response schemas for reuse and barrel parity with zod module.
|
|
133
|
-
export {
|
|
134
|
-
invoiceResponseDocumentReferenceSchema,
|
|
135
|
-
invoiceResponseDocumentResponseParty,
|
|
136
|
-
invoiceResponseDocumentResponseSchema,
|
|
137
|
-
invoiceResponsePartySchema,
|
|
138
|
-
invoiceResponseSenderPartySchema,
|
|
139
|
-
};
|
|
130
|
+
export type PeppolInvoiceResponseDocumentResponse = typeof peppolInvoiceResponseDocumentResponseSchema.Type;
|
|
140
131
|
|
|
141
132
|
/**
|
|
142
133
|
* @description The invoice response is a descendant of the message level response with more fields. Effect port of `invoiceResponseSchema`
|
|
143
134
|
* (`z.extend(messageLevelResponse, ...)` → `messageLevelResponse.pipe(Schema.fieldsAssign(...))`), overriding `profileId` with
|
|
144
135
|
* `Schema.Literal(INVOICE_RESPONSE_PROFILE_ID)` plus sender/receiver/documentResponse.
|
|
145
136
|
*/
|
|
146
|
-
export const
|
|
137
|
+
export const peppolInvoiceResponseSchema = peppolMessageLevelResponseSchema.pipe(
|
|
147
138
|
Schema.fieldsAssign({
|
|
148
139
|
profileId: Schema.Literal(INVOICE_RESPONSE_PROFILE_ID),
|
|
149
140
|
/**
|
|
@@ -151,14 +142,14 @@ export const invoiceResponseSchema = messageLevelResponse.pipe(
|
|
|
151
142
|
*
|
|
152
143
|
* @summary Sender information
|
|
153
144
|
*/
|
|
154
|
-
senderParty:
|
|
145
|
+
senderParty: peppolInvoiceResponseSenderPartySchema,
|
|
155
146
|
/**
|
|
156
147
|
* @description The party, an electronic message level response was addressed to, and who is supposed to process the message level response. This is the same
|
|
157
148
|
* party as the sender of the business document.
|
|
158
149
|
*
|
|
159
150
|
* @summary Receiver information
|
|
160
151
|
*/
|
|
161
|
-
receiverParty:
|
|
152
|
+
receiverParty: peppolInvoiceResponsePartySchema,
|
|
162
153
|
/**
|
|
163
154
|
* @description General comments or instructions that are revelant to the response as a whole.
|
|
164
155
|
*
|
|
@@ -171,8 +162,8 @@ export const invoiceResponseSchema = messageLevelResponse.pipe(
|
|
|
171
162
|
/**
|
|
172
163
|
* @summary Document response
|
|
173
164
|
*/
|
|
174
|
-
documentResponse:
|
|
165
|
+
documentResponse: peppolInvoiceResponseDocumentResponseSchema,
|
|
175
166
|
})
|
|
176
167
|
);
|
|
177
168
|
|
|
178
|
-
export type PeppolInvoiceResponse = typeof
|
|
169
|
+
export type PeppolInvoiceResponse = typeof peppolInvoiceResponseSchema.Type;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Schema } from 'effect';
|
|
2
2
|
|
|
3
|
-
import { opStatusActionSchema } from './values/op-status-action';
|
|
4
|
-
import { opStatusReasonSchema } from './values/op-status-reason';
|
|
3
|
+
import { opStatusActionSchema } from './values/op-status-action-schema';
|
|
4
|
+
import { opStatusReasonSchema } from './values/op-status-reason-schema';
|
|
5
5
|
|
|
6
|
-
export const
|
|
6
|
+
export const peppolInvoiceResponseStatusReasonCodeSchema = Schema.Union([
|
|
7
7
|
Schema.Struct({
|
|
8
8
|
value: opStatusActionSchema(),
|
|
9
9
|
/**
|
|
@@ -28,4 +28,4 @@ export const invoiceResponseStatusReasonCode = Schema.Union([
|
|
|
28
28
|
}),
|
|
29
29
|
]);
|
|
30
30
|
|
|
31
|
-
export type InvoiceResponseStatusReasonCode = typeof
|
|
31
|
+
export type InvoiceResponseStatusReasonCode = typeof peppolInvoiceResponseStatusReasonCodeSchema.Type;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { Schema } from 'effect';
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { peppolInvoiceLineSchema } from './fields/peppol-invoice-line-schema';
|
|
4
|
+
import { peppolBillingBaseSchema } from './peppol-billing-base-schema';
|
|
5
|
+
import { peppolIsoDateStringSchema } from './peppol-iso-date-string-schema';
|
|
6
6
|
import { invoiceTypeCodeSchema } from './values/invoice-type-code-schema';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* @description Main UBL Invoice schema (camelCase properties) Effect port of `invoiceSchema` (`z.extend(billingBaseSchema, ...)` →
|
|
10
|
-
* `
|
|
11
|
-
* `z.optional` maps to `Schema.optional` (accepts explicit `undefined`, matching decoder output).
|
|
10
|
+
* `peppolBillingBaseSchema.pipe(Schema.fieldsAssign(...))`). `dueDate` stays a validated plain string via `peppolIsoDateStringSchema` (no `Date`
|
|
11
|
+
* conversion); `z.optional` maps to `Schema.optional` (accepts explicit `undefined`, matching decoder output).
|
|
12
12
|
*/
|
|
13
|
-
export const
|
|
13
|
+
export const peppolInvoiceSchema = peppolBillingBaseSchema.pipe(
|
|
14
14
|
Schema.fieldsAssign({
|
|
15
15
|
/**
|
|
16
16
|
* @example
|
|
@@ -20,13 +20,13 @@ export const invoiceSchema = billingBaseSchema.pipe(
|
|
|
20
20
|
*
|
|
21
21
|
* @name cbc:DueDate
|
|
22
22
|
*/
|
|
23
|
-
dueDate: Schema.optional(
|
|
23
|
+
dueDate: Schema.optional(peppolIsoDateStringSchema),
|
|
24
24
|
/**
|
|
25
25
|
* @summary INVOICE LINE
|
|
26
26
|
*
|
|
27
27
|
* @name cac:InvoiceLine
|
|
28
28
|
*/
|
|
29
|
-
invoiceLines: Schema.Array(
|
|
29
|
+
invoiceLines: Schema.Array(peppolInvoiceLineSchema).check(Schema.isMinLength(1)),
|
|
30
30
|
/**
|
|
31
31
|
* @example
|
|
32
32
|
* 380;
|
|
@@ -45,4 +45,4 @@ export const invoiceSchema = billingBaseSchema.pipe(
|
|
|
45
45
|
})
|
|
46
46
|
);
|
|
47
47
|
|
|
48
|
-
export type PeppolInvoice = typeof
|
|
48
|
+
export type PeppolInvoice = typeof peppolInvoiceSchema.Type;
|
|
@@ -8,6 +8,6 @@ import { Schema } from 'effect';
|
|
|
8
8
|
*
|
|
9
9
|
* @see PEPPOL-EN16931-F001: A date MUST be formatted YYYY-MM-DD.
|
|
10
10
|
*/
|
|
11
|
-
export const
|
|
11
|
+
export const peppolIsoDateStringSchema = Schema.String.check(Schema.isPattern(/^\d{4}-\d{2}-\d{2}$/));
|
|
12
12
|
|
|
13
|
-
export type IsoDateString = typeof
|
|
13
|
+
export type IsoDateString = typeof peppolIsoDateStringSchema.Type;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Schema } from 'effect';
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { peppolDocumentResponseDocumentReferenceSchema } from './peppol-document-response-document-reference-schema';
|
|
4
|
+
import { peppolDocumentResponseDocumentSchema } from './peppol-document-response-document-schema';
|
|
5
|
+
import { peppolDocumentResponseLineResponseSchema } from './peppol-document-response-line-response-schema';
|
|
6
6
|
|
|
7
|
-
export const
|
|
7
|
+
export const peppolMessageLevelResponseDocumentResponseSchema = Schema.Struct({
|
|
8
8
|
/**
|
|
9
9
|
* @summary Response information
|
|
10
10
|
*
|
|
@@ -12,7 +12,7 @@ export const messageLevelResponseDocumentResponseSchema = Schema.Struct({
|
|
|
12
12
|
*
|
|
13
13
|
* @cardinality (1..1)
|
|
14
14
|
*/
|
|
15
|
-
response:
|
|
15
|
+
response: peppolDocumentResponseDocumentSchema,
|
|
16
16
|
/**
|
|
17
17
|
* @description The document reference is used to provide a reference to the envelope of the business document on which the message level response is based. The
|
|
18
18
|
* message level response message may only cover exactly one business document. The element `cac:DocumentResponse/cac:DocumentReference/cbc:ID`
|
|
@@ -20,14 +20,14 @@ export const messageLevelResponseDocumentResponseSchema = Schema.Struct({
|
|
|
20
20
|
*
|
|
21
21
|
* @summary Document reference
|
|
22
22
|
*/
|
|
23
|
-
documentReference:
|
|
23
|
+
documentReference: peppolDocumentResponseDocumentReferenceSchema,
|
|
24
24
|
/**
|
|
25
25
|
* @description A response to a particular line in the document. If the document response is negative (code='RE'), the line response element is used to specify
|
|
26
26
|
* the errors in the business document.
|
|
27
27
|
*
|
|
28
28
|
* @summary Line response information
|
|
29
29
|
*/
|
|
30
|
-
lineResponse: Schema.Array(
|
|
30
|
+
lineResponse: Schema.Array(peppolDocumentResponseLineResponseSchema),
|
|
31
31
|
});
|
|
32
32
|
|
|
33
|
-
export type PeppolMessageLevelMessageLevelResponseDocumentResponse = typeof
|
|
33
|
+
export type PeppolMessageLevelMessageLevelResponseDocumentResponse = typeof peppolMessageLevelResponseDocumentResponseSchema.Type;
|
|
@@ -2,7 +2,7 @@ import { Schema } from 'effect';
|
|
|
2
2
|
|
|
3
3
|
import { identifierSchema } from './fields/identifier-schema';
|
|
4
4
|
|
|
5
|
-
export const
|
|
5
|
+
export const peppolMessageLevelResponsePartySchema = Schema.Struct({
|
|
6
6
|
/**
|
|
7
7
|
* @description Identifies the sender party's electronic address.
|
|
8
8
|
*
|
|
@@ -16,4 +16,4 @@ export const messageLevelResponsePartySchema = Schema.Struct({
|
|
|
16
16
|
endpointId: Schema.optional(identifierSchema()),
|
|
17
17
|
});
|
|
18
18
|
|
|
19
|
-
export type PeppolMessageLevelResponseParty = typeof
|
|
19
|
+
export type PeppolMessageLevelResponseParty = typeof peppolMessageLevelResponsePartySchema.Type;
|
package/src/effect/{message-level-response-schema.ts → peppol-message-level-response-schema.ts}
RENAMED
|
@@ -2,12 +2,12 @@ import { Schema } from 'effect';
|
|
|
2
2
|
|
|
3
3
|
import { MESSAGE_LEVEL_RESPONSE_PROFILE_ID } from '#/constants/message-level-response-profile-id';
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
5
|
+
import { peppolIsoDateStringSchema } from './peppol-iso-date-string-schema';
|
|
6
|
+
import { peppolMessageLevelResponseDocumentResponseSchema } from './peppol-message-level-response-document-response-schema';
|
|
7
|
+
import { peppolMessageLevelResponsePartySchema } from './peppol-message-level-response-party-schema';
|
|
8
|
+
import { peppolXsdTimeSchema } from './utils/peppol-xsd-time-schema';
|
|
9
9
|
|
|
10
|
-
export const
|
|
10
|
+
export const peppolMessageLevelResponseSchema = Schema.Struct({
|
|
11
11
|
/**
|
|
12
12
|
* @description Identifies the specification of content and rules that apply to the transaction.
|
|
13
13
|
*
|
|
@@ -57,7 +57,7 @@ export const messageLevelResponse = Schema.Struct({
|
|
|
57
57
|
*
|
|
58
58
|
* @name cbc:IssueDate
|
|
59
59
|
*/
|
|
60
|
-
issueDate:
|
|
60
|
+
issueDate: peppolIsoDateStringSchema,
|
|
61
61
|
/**
|
|
62
62
|
* @description The time at which the transaction instance was issued.
|
|
63
63
|
*
|
|
@@ -70,20 +70,20 @@ export const messageLevelResponse = Schema.Struct({
|
|
|
70
70
|
*
|
|
71
71
|
* @name cbc:IssueDate
|
|
72
72
|
*/
|
|
73
|
-
issueTime: Schema.optional(
|
|
73
|
+
issueTime: Schema.optional(peppolXsdTimeSchema),
|
|
74
74
|
/**
|
|
75
75
|
* @description The party sending an electronic message level response message back to the sending party of the business document.
|
|
76
76
|
*
|
|
77
77
|
* @summary Sender information
|
|
78
78
|
*/
|
|
79
|
-
senderParty:
|
|
79
|
+
senderParty: peppolMessageLevelResponsePartySchema,
|
|
80
80
|
/**
|
|
81
81
|
* @description The party, an electronic message level response was addressed to, and who is supposed to process the message level response. This is the same
|
|
82
82
|
* party as the sender of the business document.
|
|
83
83
|
*
|
|
84
84
|
* @summary Receiver information
|
|
85
85
|
*/
|
|
86
|
-
receiverParty:
|
|
86
|
+
receiverParty: peppolMessageLevelResponsePartySchema,
|
|
87
87
|
/**
|
|
88
88
|
* @description The document response is used to indicate the result of business document validation. The element
|
|
89
89
|
* `cac:DocumentResponse/cac:Response/cbc:ResponseCode` MUST contain the overall result code.
|
|
@@ -92,7 +92,7 @@ export const messageLevelResponse = Schema.Struct({
|
|
|
92
92
|
*
|
|
93
93
|
* @name `cac:DocumentResponse`
|
|
94
94
|
*/
|
|
95
|
-
documentResponse:
|
|
95
|
+
documentResponse: peppolMessageLevelResponseDocumentResponseSchema,
|
|
96
96
|
});
|
|
97
97
|
|
|
98
|
-
export type PeppolMessageLevelResponse = typeof
|
|
98
|
+
export type PeppolMessageLevelResponse = typeof peppolMessageLevelResponseSchema.Type;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './base-64';
|
|
1
|
+
export * from './peppol-base-64-schema';
|
|
2
2
|
export * from './format-quantity-with-unit';
|
|
3
3
|
export * from './get-credit-note-type-code-description';
|
|
4
4
|
export * from './get-invoice-type-code-description';
|
|
@@ -6,5 +6,5 @@ export * from './is-valid-credit-note-type-code';
|
|
|
6
6
|
export * from './is-valid-invoice-type-code';
|
|
7
7
|
export * from './is-valid-process';
|
|
8
8
|
export * from './quantity-unit-code-to-intl-unit';
|
|
9
|
-
export * from './vat-regex';
|
|
10
|
-
export * from './xsd-time';
|
|
9
|
+
export * from './peppol-vat-regex-schema';
|
|
10
|
+
export * from './peppol-xsd-time-schema';
|
|
@@ -26,8 +26,8 @@ const BASE64_RE = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=
|
|
|
26
26
|
* @description RFC 4648 base64 string (PEM / MIME / XML line endings tolerated). Effect port of `base64Schema` (`z.string().check(z.refine(...))`): strips CRLF /
|
|
27
27
|
* LF line endings before testing the quantum regex.
|
|
28
28
|
*/
|
|
29
|
-
export const
|
|
29
|
+
export const peppolBase64Schema = Schema.String.check(Schema.makeFilter((val: string) => BASE64_RE.test(val.replace(/\r?\n/g, '')))).annotate({
|
|
30
30
|
message: 'Invalid base64',
|
|
31
31
|
});
|
|
32
32
|
|
|
33
|
-
export type Base64 = typeof
|
|
33
|
+
export type Base64 = typeof peppolBase64Schema.Type;
|
|
@@ -17,7 +17,7 @@ const belgianVat = Schema.String.check(
|
|
|
17
17
|
* @description EU VAT identification number (one member per member-state prefix/pattern). Effect port of `vatRegexSchema` (`z.union([...])` of
|
|
18
18
|
* `z.string().check(...)` members): each member keeps its original prefix + pattern checks as `Schema.String.check` filters.
|
|
19
19
|
*/
|
|
20
|
-
export const
|
|
20
|
+
export const peppolVatRegexSchema = Schema.Union([
|
|
21
21
|
belgianVat,
|
|
22
22
|
Schema.String.check(Schema.isStartsWith('AT'), Schema.isPattern(/^ATU\d{8}$/)),
|
|
23
23
|
Schema.String.check(Schema.isStartsWith('BG'), Schema.isPattern(/^BG\d{9,10}$/)),
|
|
@@ -48,4 +48,4 @@ export const vatRegexSchema = Schema.Union([
|
|
|
48
48
|
Schema.String.check(Schema.isStartsWith('SK'), Schema.isPattern(/^SK\d{10}$/)),
|
|
49
49
|
]);
|
|
50
50
|
|
|
51
|
-
export type VatRegex = typeof
|
|
51
|
+
export type VatRegex = typeof peppolVatRegexSchema.Type;
|
|
@@ -4,10 +4,10 @@ import { Schema } from 'effect';
|
|
|
4
4
|
* @description XSD `time` lexical value (`HH:MM:SS` with optional fractional seconds and timezone). Effect port of `xsdTime` (`z.string().check(z.regex(...))`):
|
|
5
5
|
* keeps the value as a plain string and only validates the shape.
|
|
6
6
|
*/
|
|
7
|
-
export const
|
|
7
|
+
export const peppolXsdTimeSchema = Schema.String.check(
|
|
8
8
|
Schema.isPattern(
|
|
9
9
|
/^(?:[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)$/
|
|
10
10
|
)
|
|
11
11
|
).annotate({ message: 'Invalid ISO time' });
|
|
12
12
|
|
|
13
|
-
export type XsdTime = typeof
|
|
13
|
+
export type XsdTime = typeof peppolXsdTimeSchema.Type;
|