@thomasfosterau/effect-rdf 0.0.0 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +2250 -1
- package/dist/Algebra-CGG4oae3.mjs +433 -0
- package/dist/Algebra-CGG4oae3.mjs.map +1 -0
- package/dist/Algebra-uGsIEOUA.d.mts +446 -0
- package/dist/Ast-CPRZmBvk.mjs +552 -0
- package/dist/Ast-CPRZmBvk.mjs.map +1 -0
- package/dist/Ast-vcw2W-lf.d.mts +827 -0
- package/dist/Bindings-Ck3m7JRC.mjs +249 -0
- package/dist/Bindings-Ck3m7JRC.mjs.map +1 -0
- package/dist/Bindings-DiKpBd7f.d.mts +153 -0
- package/dist/ClientErrors-CpXdFX5u.mjs +128 -0
- package/dist/ClientErrors-CpXdFX5u.mjs.map +1 -0
- package/dist/ClientErrors-D4IZHUM-.d.mts +101 -0
- package/dist/ClientFormats-CXomkXLV.mjs +73 -0
- package/dist/ClientFormats-CXomkXLV.mjs.map +1 -0
- package/dist/ClientFormats-Dm57ZPwR.d.mts +36 -0
- package/dist/Csv2Json-DynEcwCh.mjs +194 -0
- package/dist/Csv2Json-DynEcwCh.mjs.map +1 -0
- package/dist/Csv2Json-aXNVDoXQ.d.mts +40 -0
- package/dist/Csv2Rdf-8maXP6mt.d.mts +41 -0
- package/dist/Csv2Rdf-DuSEkaKE.mjs +161 -0
- package/dist/Csv2Rdf-DuSEkaKE.mjs.map +1 -0
- package/dist/Dataset-BlmlcI7J.mjs +782 -0
- package/dist/Dataset-BlmlcI7J.mjs.map +1 -0
- package/dist/Dataset-DS3ESOcO.d.mts +426 -0
- package/dist/Dataset.d.mts +2 -0
- package/dist/Dataset.mjs +1 -0
- package/dist/Datatype-CxMpamHC.d.mts +212 -0
- package/dist/Datatype-DQvkNkiH.mjs +1001 -0
- package/dist/Datatype-DQvkNkiH.mjs.map +1 -0
- package/dist/Dialect-8ChFj5EX.d.mts +113 -0
- package/dist/Dialect-CzVH38uo.mjs +165 -0
- package/dist/Dialect-CzVH38uo.mjs.map +1 -0
- package/dist/DocumentLoader-D3lZREnB.mjs +346 -0
- package/dist/DocumentLoader-D3lZREnB.mjs.map +1 -0
- package/dist/DocumentLoader-ZUCEVrW5.d.mts +178 -0
- package/dist/DublinCore-AnwqxRx6.mjs +137 -0
- package/dist/DublinCore-AnwqxRx6.mjs.map +1 -0
- package/dist/DublinCore-Dq-tVA5d.d.mts +119 -0
- package/dist/Engine-CYPB3g4h.d.mts +144 -0
- package/dist/Engine-DF8PN7g-.mjs +872 -0
- package/dist/Engine-DF8PN7g-.mjs.map +1 -0
- package/dist/Errors-CMdV1RhU.mjs +37 -0
- package/dist/Errors-CMdV1RhU.mjs.map +1 -0
- package/dist/Errors-u2bDjUeM.d.mts +30 -0
- package/dist/Evaluator-DEsU4d1o.d.mts +50 -0
- package/dist/Evaluator-DOY2-guC.mjs +281 -0
- package/dist/Evaluator-DOY2-guC.mjs.map +1 -0
- package/dist/Exif-CpqniYQd.d.mts +78 -0
- package/dist/Exif-DjkCfEB-.mjs +89 -0
- package/dist/Exif-DjkCfEB-.mjs.map +1 -0
- package/dist/Expression-BIMMvduQ.mjs +230 -0
- package/dist/Expression-BIMMvduQ.mjs.map +1 -0
- package/dist/Expression-W8A9cyX7.d.mts +89 -0
- package/dist/Extract-Bop85jES.mjs +220 -0
- package/dist/Extract-Bop85jES.mjs.map +1 -0
- package/dist/Extract-C_pCvuTC.d.mts +88 -0
- package/dist/Federation-BcNrozc1.d.mts +52 -0
- package/dist/Federation-CHScBkaK.mjs +130 -0
- package/dist/Federation-CHScBkaK.mjs.map +1 -0
- package/dist/Functions-AvjNcId_.mjs +1346 -0
- package/dist/Functions-AvjNcId_.mjs.map +1 -0
- package/dist/Functions-OQJZP-F6.d.mts +111 -0
- package/dist/Generator-C52mmq01.d.mts +50 -0
- package/dist/Generator-D3utCJC7.mjs +205 -0
- package/dist/Generator-D3utCJC7.mjs.map +1 -0
- package/dist/Grammar-CPlSxGH6.mjs +200 -0
- package/dist/Grammar-CPlSxGH6.mjs.map +1 -0
- package/dist/Grammar-CRhnRoCu.d.mts +148 -0
- package/dist/Grammar-D6jZdJQ3.d.mts +169 -0
- package/dist/Grammar-mQ8CgE1M.mjs +258 -0
- package/dist/Grammar-mQ8CgE1M.mjs.map +1 -0
- package/dist/GraphStore-DhUa4nFO.d.mts +45 -0
- package/dist/GraphStore-DvbqwKy1.mjs +212 -0
- package/dist/GraphStore-DvbqwKy1.mjs.map +1 -0
- package/dist/Iri-BB8Ks-BF.d.mts +84 -0
- package/dist/Iri-Cr92gsQV.mjs +232 -0
- package/dist/Iri-Cr92gsQV.mjs.map +1 -0
- package/dist/Iri.d.mts +2 -0
- package/dist/Iri.mjs +1 -0
- package/dist/Isomorphism-B6qTY-xy.d.mts +28 -0
- package/dist/Isomorphism-BmqxhKyJ.mjs +232 -0
- package/dist/Isomorphism-BmqxhKyJ.mjs.map +1 -0
- package/dist/Isomorphism-DInKnWIy.mjs +390 -0
- package/dist/Isomorphism-DInKnWIy.mjs.map +1 -0
- package/dist/Isomorphism-DvSfZXLR.d.mts +37 -0
- package/dist/Isomorphism.d.mts +2 -0
- package/dist/Isomorphism.mjs +1 -0
- package/dist/JsonLd-DOwS2FHg.mjs +2836 -0
- package/dist/JsonLd-DOwS2FHg.mjs.map +1 -0
- package/dist/JsonLd-DobFrQNa.d.mts +242 -0
- package/dist/JsonLdError-C9J-BxfG.mjs +106 -0
- package/dist/JsonLdError-C9J-BxfG.mjs.map +1 -0
- package/dist/JsonLdError-DSOfHkOy.d.mts +43 -0
- package/dist/LanguageTag-BCu8rcmX.d.mts +38 -0
- package/dist/LanguageTag-BcOpMGZ4.mjs +89 -0
- package/dist/LanguageTag-BcOpMGZ4.mjs.map +1 -0
- package/dist/LanguageTag.d.mts +2 -0
- package/dist/LanguageTag.mjs +1 -0
- package/dist/Lexical-Cg0JHrf6.mjs +243 -0
- package/dist/Lexical-Cg0JHrf6.mjs.map +1 -0
- package/dist/Lexical-D3zySYVS.d.mts +163 -0
- package/dist/Manifest-B6xf6mUc.mjs +148 -0
- package/dist/Manifest-B6xf6mUc.mjs.map +1 -0
- package/dist/Manifest-DQUMRBFr.d.mts +98 -0
- package/dist/Mapping-BgG74x3U.d.mts +63 -0
- package/dist/Mapping-Dc1ZGirk.mjs +259 -0
- package/dist/Mapping-Dc1ZGirk.mjs.map +1 -0
- package/dist/Mcp-1DwTTKOK.mjs +48 -0
- package/dist/Mcp-1DwTTKOK.mjs.map +1 -0
- package/dist/Mcp-d-pX9erx.d.mts +25 -0
- package/dist/Message-CK_DGQuu.mjs +95 -0
- package/dist/Message-CK_DGQuu.mjs.map +1 -0
- package/dist/Message-fIvTJSXM.d.mts +49 -0
- package/dist/Metadata-BbffwGDZ.mjs +445 -0
- package/dist/Metadata-BbffwGDZ.mjs.map +1 -0
- package/dist/Metadata-CEt3yc1-.d.mts +901 -0
- package/dist/Metadata-D4HsQNXr.mjs +1273 -0
- package/dist/Metadata-D4HsQNXr.mjs.map +1 -0
- package/dist/Metadata-nzS7QKRj.d.mts +350 -0
- package/dist/Model-DaMmxurZ.d.mts +293 -0
- package/dist/Model-DlPzRYhF.mjs +528 -0
- package/dist/Model-DlPzRYhF.mjs.map +1 -0
- package/dist/N3-BzyV-KIH.mjs +974 -0
- package/dist/N3-BzyV-KIH.mjs.map +1 -0
- package/dist/N3-DSLnonDn.d.mts +100 -0
- package/dist/NQuads-C1VBOJ3-.mjs +117 -0
- package/dist/NQuads-C1VBOJ3-.mjs.map +1 -0
- package/dist/NQuads-FjFZikFg.d.mts +76 -0
- package/dist/NTriples-D-kLSEAf.mjs +120 -0
- package/dist/NTriples-D-kLSEAf.mjs.map +1 -0
- package/dist/NTriples-D34OspfW.d.mts +76 -0
- package/dist/Namespace-ClTUO_ya.d.mts +42 -0
- package/dist/Namespace-DHFIsORd.mjs +75 -0
- package/dist/Namespace-DHFIsORd.mjs.map +1 -0
- package/dist/Namespace.d.mts +2 -0
- package/dist/Namespace.mjs +1 -0
- package/dist/Namespaces-Bz85vpjW.mjs +235 -0
- package/dist/Namespaces-Bz85vpjW.mjs.map +1 -0
- package/dist/Namespaces-C1jW6EDo.d.mts +178 -0
- package/dist/Optimizer-BWWQRQPY.mjs +168 -0
- package/dist/Optimizer-BWWQRQPY.mjs.map +1 -0
- package/dist/Optimizer-DUpUow6k.d.mts +26 -0
- package/dist/Options-BLBGL4HE.mjs +72 -0
- package/dist/Options-BLBGL4HE.mjs.map +1 -0
- package/dist/Options-BommQwP9.d.mts +127 -0
- package/dist/Packet-CA76wVX3.mjs +197 -0
- package/dist/Packet-CA76wVX3.mjs.map +1 -0
- package/dist/Packet-Cy5g6XuW.d.mts +130 -0
- package/dist/Parser-p1Gyr0QN.d.mts +85 -0
- package/dist/Parser-xARsOWXk.mjs +1317 -0
- package/dist/Parser-xARsOWXk.mjs.map +1 -0
- package/dist/Path-B20Yp8KE.mjs +284 -0
- package/dist/Path-B20Yp8KE.mjs.map +1 -0
- package/dist/Path-DRB8e-Zn.d.mts +181 -0
- package/dist/Pdf-B9RZn--8.d.mts +77 -0
- package/dist/Pdf-CKK6dkZn.mjs +89 -0
- package/dist/Pdf-CKK6dkZn.mjs.map +1 -0
- package/dist/PdfA-CUjSuntT.d.mts +109 -0
- package/dist/PdfA-CleOhuL6.mjs +124 -0
- package/dist/PdfA-CleOhuL6.mjs.map +1 -0
- package/dist/Photoshop-CiHo80qV.mjs +233 -0
- package/dist/Photoshop-CiHo80qV.mjs.map +1 -0
- package/dist/Photoshop-udKZ0I3N.d.mts +204 -0
- package/dist/PrefixMap-BHFPDLO-.mjs +103 -0
- package/dist/PrefixMap-BHFPDLO-.mjs.map +1 -0
- package/dist/PrefixMap-BMlXrWNd.d.mts +64 -0
- package/dist/PrefixMap.d.mts +2 -0
- package/dist/PrefixMap.mjs +1 -0
- package/dist/Processor-CMmecFsb.mjs +198 -0
- package/dist/Processor-CMmecFsb.mjs.map +1 -0
- package/dist/Processor-FJPvO0CB.d.mts +435 -0
- package/dist/Protocol-BA7OkNgp.mjs +202 -0
- package/dist/Protocol-BA7OkNgp.mjs.map +1 -0
- package/dist/Protocol-DlSoiIKB.d.mts +108 -0
- package/dist/ProtocolErrors-Ckfejnl6.d.mts +84 -0
- package/dist/ProtocolErrors-czDPVcX5.mjs +129 -0
- package/dist/ProtocolErrors-czDPVcX5.mjs.map +1 -0
- package/dist/Query-D9A6LOpP.mjs +364 -0
- package/dist/Query-D9A6LOpP.mjs.map +1 -0
- package/dist/Query-KqSkTYyG.d.mts +96 -0
- package/dist/QueryBuilder-BLK9Vfbz.mjs +674 -0
- package/dist/QueryBuilder-BLK9Vfbz.mjs.map +1 -0
- package/dist/QueryBuilder-DUqh4ECe.d.mts +529 -0
- package/dist/RdfJs-D6-49XB5.mjs +86 -0
- package/dist/RdfJs-D6-49XB5.mjs.map +1 -0
- package/dist/RdfJs-DXFqdWrd.d.mts +76 -0
- package/dist/RdfJs.d.mts +2 -0
- package/dist/RdfJs.mjs +1 -0
- package/dist/RdfJson-5aKPDlPS.d.mts +297 -0
- package/dist/RdfJson-BNocgW4f.mjs +548 -0
- package/dist/RdfJson-BNocgW4f.mjs.map +1 -0
- package/dist/RdfXml-DJ9G4gOq.mjs +1014 -0
- package/dist/RdfXml-DJ9G4gOq.mjs.map +1 -0
- package/dist/RdfXml-_N7yxWEp.d.mts +149 -0
- package/dist/Rdfs-BRVPsAjc.d.mts +84 -0
- package/dist/Rdfs-CyY2wVHI.mjs +167 -0
- package/dist/Rdfs-CyY2wVHI.mjs.map +1 -0
- package/dist/Rdfs.d.mts +2 -0
- package/dist/Rdfs.mjs +1 -0
- package/dist/Reasoner-BxYhx9s7.d.mts +94 -0
- package/dist/Reasoner-Cw90zrjv.mjs +798 -0
- package/dist/Reasoner-Cw90zrjv.mjs.map +1 -0
- package/dist/Reification-BmN4EfnM.d.mts +40 -0
- package/dist/Reification-dpqQvjDE.mjs +82 -0
- package/dist/Reification-dpqQvjDE.mjs.map +1 -0
- package/dist/Reification.d.mts +2 -0
- package/dist/Reification.mjs +1 -0
- package/dist/Report-XHs8htzK.mjs +121 -0
- package/dist/Report-XHs8htzK.mjs.map +1 -0
- package/dist/Report-hcXsc_19.d.mts +115 -0
- package/dist/Resource-B1cI8FyJ.d.mts +218 -0
- package/dist/Resource-sIEeNh15.mjs +374 -0
- package/dist/Resource-sIEeNh15.mjs.map +1 -0
- package/dist/Resource.d.mts +2 -0
- package/dist/Resource.mjs +1 -0
- package/dist/Results-BVNEC-Wt.d.mts +277 -0
- package/dist/Results-peJjGA2V.mjs +621 -0
- package/dist/Results-peJjGA2V.mjs.map +1 -0
- package/dist/ResultsStream-BhF0OcNn.mjs +639 -0
- package/dist/ResultsStream-BhF0OcNn.mjs.map +1 -0
- package/dist/ResultsStream-toYMXrOe.d.mts +100 -0
- package/dist/SemAct-CDchtk49.d.mts +96 -0
- package/dist/SemAct-CmyT4yI8.mjs +118 -0
- package/dist/SemAct-CmyT4yI8.mjs.map +1 -0
- package/dist/Serialization-DP9H5bYQ.mjs +514 -0
- package/dist/Serialization-DP9H5bYQ.mjs.map +1 -0
- package/dist/Serialization-Df8iVauT.d.mts +392 -0
- package/dist/Serialization.d.mts +2 -0
- package/dist/Serialization.mjs +1 -0
- package/dist/ServerFormats-CrRnjjf6.mjs +64 -0
- package/dist/ServerFormats-CrRnjjf6.mjs.map +1 -0
- package/dist/ServerFormats-DjC9NsO_.d.mts +36 -0
- package/dist/ServiceDescription-BERsvg-k.d.mts +54 -0
- package/dist/ServiceDescription-Dq5hxeGy.mjs +97 -0
- package/dist/ServiceDescription-Dq5hxeGy.mjs.map +1 -0
- package/dist/ShExC-Ctf-06CL.d.mts +67 -0
- package/dist/ShExC-DJbB19i3.mjs +1181 -0
- package/dist/ShExC-DJbB19i3.mjs.map +1 -0
- package/dist/ShExError-BeYFD9rv.d.mts +61 -0
- package/dist/ShExError-CVtq2NnM.mjs +64 -0
- package/dist/ShExError-CVtq2NnM.mjs.map +1 -0
- package/dist/ShExJ-C1u_wgyD.d.mts +531 -0
- package/dist/ShExJ-COiPd9Xw.mjs +532 -0
- package/dist/ShExJ-COiPd9Xw.mjs.map +1 -0
- package/dist/ShExR-ByR4mCh-.mjs +480 -0
- package/dist/ShExR-ByR4mCh-.mjs.map +1 -0
- package/dist/ShExR-CqONNNBz.d.mts +40 -0
- package/dist/ShapeMap-C422pxKl.d.mts +140 -0
- package/dist/ShapeMap-CsgKxB2G.mjs +181 -0
- package/dist/ShapeMap-CsgKxB2G.mjs.map +1 -0
- package/dist/Shapes-18GjfyBV.mjs +597 -0
- package/dist/Shapes-18GjfyBV.mjs.map +1 -0
- package/dist/Shapes-BQFDFc4Q.d.mts +306 -0
- package/dist/Sparql-BiYFMSpl.mjs +29 -0
- package/dist/Sparql-BiYFMSpl.mjs.map +1 -0
- package/dist/Sparql-DecpWTPh.d.mts +97 -0
- package/dist/SparqlClient-C_CjXbwj.mjs +333 -0
- package/dist/SparqlClient-C_CjXbwj.mjs.map +1 -0
- package/dist/SparqlClient-UPc88SHy.d.mts +290 -0
- package/dist/SparqlServer-CbUW-pVj.d.mts +71 -0
- package/dist/SparqlServer-Db7w7Cll.mjs +308 -0
- package/dist/SparqlServer-Db7w7Cll.mjs.map +1 -0
- package/dist/SqlStore-BBqFx-Wl.mjs +684 -0
- package/dist/SqlStore-BBqFx-Wl.mjs.map +1 -0
- package/dist/SqlStore-CCJo5I-e.d.mts +117 -0
- package/dist/Store-D0jmVfb3.d.mts +166 -0
- package/dist/Store-DH3Ow1GO.mjs +162 -0
- package/dist/Store-DH3Ow1GO.mjs.map +1 -0
- package/dist/Structure-BjMo4Bkc.mjs +334 -0
- package/dist/Structure-BjMo4Bkc.mjs.map +1 -0
- package/dist/Structure-n4CmDiab.d.mts +63 -0
- package/dist/Table-BGgm9nbM.mjs +538 -0
- package/dist/Table-BGgm9nbM.mjs.map +1 -0
- package/dist/Table-C3reiVrb.d.mts +261 -0
- package/dist/Term-B_4ezyXq.d.mts +619 -0
- package/dist/Term-CFLG1qu4.mjs +991 -0
- package/dist/Term-CFLG1qu4.mjs.map +1 -0
- package/dist/Term.d.mts +2 -0
- package/dist/Term.mjs +1 -0
- package/dist/TermCodec-CDZiEztW.mjs +397 -0
- package/dist/TermCodec-CDZiEztW.mjs.map +1 -0
- package/dist/TermCodec-_03bDXr0.d.mts +209 -0
- package/dist/TermCodec.d.mts +2 -0
- package/dist/TermCodec.mjs +1 -0
- package/dist/TermJson-BOPe0yve.d.mts +232 -0
- package/dist/TermJson-FAg3lvjl.mjs +142 -0
- package/dist/TermJson-FAg3lvjl.mjs.map +1 -0
- package/dist/TermJson.d.mts +2 -0
- package/dist/TermJson.mjs +1 -0
- package/dist/TermSchema-Bn9CoaYA.mjs +30 -0
- package/dist/TermSchema-Bn9CoaYA.mjs.map +1 -0
- package/dist/TermSchema-DBO6MroX.d.mts +6 -0
- package/dist/Testing-B-aPCpmu.mjs +63 -0
- package/dist/Testing-B-aPCpmu.mjs.map +1 -0
- package/dist/Testing-CF6s8P3O.d.mts +53 -0
- package/dist/Tiff-CR-2QeSI.d.mts +148 -0
- package/dist/Tiff-DlsOlZPM.mjs +169 -0
- package/dist/Tiff-DlsOlZPM.mjs.map +1 -0
- package/dist/Tools-7MdRKccr.d.mts +583 -0
- package/dist/Tools-ryxphZbI.mjs +329 -0
- package/dist/Tools-ryxphZbI.mjs.map +1 -0
- package/dist/Translate-B0YKKANS.d.mts +37 -0
- package/dist/Translate-gzWPq0Ia.mjs +308 -0
- package/dist/Translate-gzWPq0Ia.mjs.map +1 -0
- package/dist/Translation-DC9rLm2y.mjs +1535 -0
- package/dist/Translation-DC9rLm2y.mjs.map +1 -0
- package/dist/Translation-K4L9XBqX.d.mts +103 -0
- package/dist/TriG-BkqtqZ6Y.mjs +125 -0
- package/dist/TriG-BkqtqZ6Y.mjs.map +1 -0
- package/dist/TriG-xDjdDatp.d.mts +86 -0
- package/dist/Turtle-Bv1_bisW.d.mts +85 -0
- package/dist/Turtle-CZVUOtwl.mjs +133 -0
- package/dist/Turtle-CZVUOtwl.mjs.map +1 -0
- package/dist/ValidationReport-DBdJshW5.mjs +285 -0
- package/dist/ValidationReport-DBdJshW5.mjs.map +1 -0
- package/dist/ValidationReport-Dx3WxY0h.d.mts +192 -0
- package/dist/Validator-227ff9Rn.d.mts +179 -0
- package/dist/Validator-BzXMKDeJ.mjs +1162 -0
- package/dist/Validator-BzXMKDeJ.mjs.map +1 -0
- package/dist/Validator-Dl8cih5V.d.mts +207 -0
- package/dist/Validator-DmUfMbpL.mjs +568 -0
- package/dist/Validator-DmUfMbpL.mjs.map +1 -0
- package/dist/Vocab-DceKywpq.mjs +168 -0
- package/dist/Vocab-DceKywpq.mjs.map +1 -0
- package/dist/Vocab-Df-L-IwZ.d.mts +46 -0
- package/dist/Vocab-Do56UgBX.d.mts +81 -0
- package/dist/Vocab-TfpWG1Ne.mjs +118 -0
- package/dist/Vocab-TfpWG1Ne.mjs.map +1 -0
- package/dist/Vocab.d.mts +2 -0
- package/dist/Vocab.mjs +1 -0
- package/dist/Vocabulary-C6-GPOy4.d.mts +22 -0
- package/dist/Vocabulary-CnQl-_Z4.mjs +179 -0
- package/dist/Vocabulary-CnQl-_Z4.mjs.map +1 -0
- package/dist/Xml-B7iihYCS.mjs +976 -0
- package/dist/Xml-B7iihYCS.mjs.map +1 -0
- package/dist/Xml-CmfHS7SW.d.mts +267 -0
- package/dist/Xmp-D7CKA7MZ.d.mts +111 -0
- package/dist/Xmp-DCGN9pOD.mjs +307 -0
- package/dist/Xmp-DCGN9pOD.mjs.map +1 -0
- package/dist/XmpBasic-CP38jpR_.mjs +73 -0
- package/dist/XmpBasic-CP38jpR_.mjs.map +1 -0
- package/dist/XmpBasic-Cmbe53rQ.d.mts +64 -0
- package/dist/XmpMM-BfL_TgJF.mjs +73 -0
- package/dist/XmpMM-BfL_TgJF.mjs.map +1 -0
- package/dist/XmpMM-Dqm3IX8p.d.mts +63 -0
- package/dist/XmpRights-BKPtoI5L.mjs +73 -0
- package/dist/XmpRights-BKPtoI5L.mjs.map +1 -0
- package/dist/XmpRights-CaALZQz2.d.mts +63 -0
- package/dist/Xsd-Cdgx5zRB.mjs +405 -0
- package/dist/Xsd-Cdgx5zRB.mjs.map +1 -0
- package/dist/Xsd-D2elNhSm.d.mts +187 -0
- package/dist/Xsd.d.mts +2 -0
- package/dist/Xsd.mjs +1 -0
- package/dist/accessors-CEjaojuQ.mjs +28 -0
- package/dist/accessors-CEjaojuQ.mjs.map +1 -0
- package/dist/codec-Lb2T96rv.d.mts +20 -0
- package/dist/codec-QNo7IdJF.mjs +389 -0
- package/dist/codec-QNo7IdJF.mjs.map +1 -0
- package/dist/csvw/Csv2Json.d.mts +2 -0
- package/dist/csvw/Csv2Json.mjs +1 -0
- package/dist/csvw/Csv2Rdf.d.mts +2 -0
- package/dist/csvw/Csv2Rdf.mjs +1 -0
- package/dist/csvw/Datatype.d.mts +2 -0
- package/dist/csvw/Datatype.mjs +1 -0
- package/dist/csvw/Metadata.d.mts +2 -0
- package/dist/csvw/Metadata.mjs +1 -0
- package/dist/csvw/Processor.d.mts +2 -0
- package/dist/csvw/Processor.mjs +1 -0
- package/dist/csvw/Report.d.mts +2 -0
- package/dist/csvw/Report.mjs +1 -0
- package/dist/csvw/Table.d.mts +2 -0
- package/dist/csvw/Table.mjs +1 -0
- package/dist/csvw/index.d.mts +8 -0
- package/dist/csvw/index.mjs +8 -0
- package/dist/index-Cms2TYfC.d.mts +16 -0
- package/dist/index-Ct8xFmRs.d.mts +7 -0
- package/dist/index-D4QFwOjm.d.mts +28 -0
- package/dist/index.d.mts +18 -0
- package/dist/index.mjs +17 -0
- package/dist/jsonld/DocumentLoader.d.mts +2 -0
- package/dist/jsonld/DocumentLoader.mjs +1 -0
- package/dist/jsonld/JsonLd.d.mts +2 -0
- package/dist/jsonld/JsonLd.mjs +1 -0
- package/dist/jsonld/JsonLdError.d.mts +2 -0
- package/dist/jsonld/JsonLdError.mjs +1 -0
- package/dist/jsonld/index.d.mts +4 -0
- package/dist/jsonld/index.mjs +4 -0
- package/dist/lists-D-OpQ0Ir.mjs +77 -0
- package/dist/lists-D-OpQ0Ir.mjs.map +1 -0
- package/dist/loop-D5-gNx9K.mjs +21 -0
- package/dist/loop-D5-gNx9K.mjs.map +1 -0
- package/dist/loop-DZ2hXlr_.mjs +21 -0
- package/dist/loop-DZ2hXlr_.mjs.map +1 -0
- package/dist/n3/Isomorphism.d.mts +2 -0
- package/dist/n3/Isomorphism.mjs +1 -0
- package/dist/n3/Mapping.d.mts +2 -0
- package/dist/n3/Mapping.mjs +1 -0
- package/dist/n3/Model.d.mts +2 -0
- package/dist/n3/Model.mjs +1 -0
- package/dist/n3/N3.d.mts +2 -0
- package/dist/n3/N3.mjs +1 -0
- package/dist/n3/Reasoner.d.mts +2 -0
- package/dist/n3/Reasoner.mjs +2 -0
- package/dist/n3/Vocab.d.mts +2 -0
- package/dist/n3/Vocab.mjs +1 -0
- package/dist/n3/index.d.mts +7 -0
- package/dist/n3/index.mjs +7 -0
- package/dist/ntriples/Grammar.d.mts +2 -0
- package/dist/ntriples/Grammar.mjs +1 -0
- package/dist/ntriples/Lexical.d.mts +2 -0
- package/dist/ntriples/Lexical.mjs +1 -0
- package/dist/ntriples/NQuads.d.mts +2 -0
- package/dist/ntriples/NQuads.mjs +1 -0
- package/dist/ntriples/NTriples.d.mts +2 -0
- package/dist/ntriples/NTriples.mjs +1 -0
- package/dist/ntriples/index.d.mts +5 -0
- package/dist/ntriples/index.mjs +5 -0
- package/dist/rdfjson/RdfJson.d.mts +2 -0
- package/dist/rdfjson/RdfJson.mjs +1 -0
- package/dist/rdfjson/index.d.mts +2 -0
- package/dist/rdfjson/index.mjs +1 -0
- package/dist/rdfxml/RdfXml.d.mts +2 -0
- package/dist/rdfxml/RdfXml.mjs +1 -0
- package/dist/rdfxml/Xml.d.mts +2 -0
- package/dist/rdfxml/Xml.mjs +1 -0
- package/dist/rdfxml/index.d.mts +3 -0
- package/dist/rdfxml/index.mjs +3 -0
- package/dist/rolldown-runtime-D8jQpDG7.mjs +12 -0
- package/dist/serialize-96KBvKaf.mjs +1463 -0
- package/dist/serialize-96KBvKaf.mjs.map +1 -0
- package/dist/serialize-DsoXdM6n.d.mts +37 -0
- package/dist/shacl/Message.d.mts +2 -0
- package/dist/shacl/Message.mjs +1 -0
- package/dist/shacl/Path.d.mts +2 -0
- package/dist/shacl/Path.mjs +1 -0
- package/dist/shacl/Shapes.d.mts +2 -0
- package/dist/shacl/Shapes.mjs +1 -0
- package/dist/shacl/Sparql.d.mts +2 -0
- package/dist/shacl/Sparql.mjs +1 -0
- package/dist/shacl/ValidationReport.d.mts +2 -0
- package/dist/shacl/ValidationReport.mjs +1 -0
- package/dist/shacl/Validator.d.mts +2 -0
- package/dist/shacl/Validator.mjs +1 -0
- package/dist/shacl/Vocabulary.d.mts +2 -0
- package/dist/shacl/Vocabulary.mjs +1 -0
- package/dist/shacl/index.d.mts +9 -0
- package/dist/shacl/index.mjs +8 -0
- package/dist/shex/SemAct.d.mts +2 -0
- package/dist/shex/SemAct.mjs +1 -0
- package/dist/shex/ShExC.d.mts +2 -0
- package/dist/shex/ShExC.mjs +1 -0
- package/dist/shex/ShExError.d.mts +2 -0
- package/dist/shex/ShExError.mjs +1 -0
- package/dist/shex/ShExJ.d.mts +2 -0
- package/dist/shex/ShExJ.mjs +2 -0
- package/dist/shex/ShExR.d.mts +2 -0
- package/dist/shex/ShExR.mjs +1 -0
- package/dist/shex/ShapeMap.d.mts +2 -0
- package/dist/shex/ShapeMap.mjs +1 -0
- package/dist/shex/Structure.d.mts +2 -0
- package/dist/shex/Structure.mjs +2 -0
- package/dist/shex/Validator.d.mts +2 -0
- package/dist/shex/Validator.mjs +4 -0
- package/dist/shex/index.d.mts +9 -0
- package/dist/shex/index.mjs +9 -0
- package/dist/sparql/Algebra.d.mts +2 -0
- package/dist/sparql/Algebra.mjs +1 -0
- package/dist/sparql/Ast.d.mts +2 -0
- package/dist/sparql/Ast.mjs +1 -0
- package/dist/sparql/Bindings.d.mts +2 -0
- package/dist/sparql/Bindings.mjs +1 -0
- package/dist/sparql/ClientErrors.d.mts +2 -0
- package/dist/sparql/ClientErrors.mjs +1 -0
- package/dist/sparql/ClientFormats.d.mts +2 -0
- package/dist/sparql/ClientFormats.mjs +1 -0
- package/dist/sparql/Engine.d.mts +2 -0
- package/dist/sparql/Engine.mjs +1 -0
- package/dist/sparql/Errors.d.mts +2 -0
- package/dist/sparql/Errors.mjs +1 -0
- package/dist/sparql/Expression.d.mts +2 -0
- package/dist/sparql/Expression.mjs +1 -0
- package/dist/sparql/Federation.d.mts +2 -0
- package/dist/sparql/Federation.mjs +1 -0
- package/dist/sparql/Functions.d.mts +2 -0
- package/dist/sparql/Functions.mjs +1 -0
- package/dist/sparql/Generator.d.mts +2 -0
- package/dist/sparql/Generator.mjs +1 -0
- package/dist/sparql/GraphStore.d.mts +2 -0
- package/dist/sparql/GraphStore.mjs +1 -0
- package/dist/sparql/Optimizer.d.mts +2 -0
- package/dist/sparql/Optimizer.mjs +1 -0
- package/dist/sparql/Options.d.mts +2 -0
- package/dist/sparql/Options.mjs +1 -0
- package/dist/sparql/Parser.d.mts +2 -0
- package/dist/sparql/Parser.mjs +1 -0
- package/dist/sparql/Protocol.d.mts +2 -0
- package/dist/sparql/Protocol.mjs +1 -0
- package/dist/sparql/ProtocolErrors.d.mts +2 -0
- package/dist/sparql/ProtocolErrors.mjs +1 -0
- package/dist/sparql/QueryBuilder.d.mts +2 -0
- package/dist/sparql/QueryBuilder.mjs +1 -0
- package/dist/sparql/Results.d.mts +2 -0
- package/dist/sparql/Results.mjs +1 -0
- package/dist/sparql/ResultsStream.d.mts +2 -0
- package/dist/sparql/ResultsStream.mjs +1 -0
- package/dist/sparql/ServerFormats.d.mts +2 -0
- package/dist/sparql/ServerFormats.mjs +1 -0
- package/dist/sparql/ServiceDescription.d.mts +2 -0
- package/dist/sparql/ServiceDescription.mjs +1 -0
- package/dist/sparql/SparqlClient.d.mts +2 -0
- package/dist/sparql/SparqlClient.mjs +1 -0
- package/dist/sparql/SparqlServer.d.mts +2 -0
- package/dist/sparql/SparqlServer.mjs +1 -0
- package/dist/sparql/Store.d.mts +2 -0
- package/dist/sparql/Store.mjs +1 -0
- package/dist/sparql/TermSchema.d.mts +3 -0
- package/dist/sparql/TermSchema.mjs +2 -0
- package/dist/sparql/Testing.d.mts +2 -0
- package/dist/sparql/Testing.mjs +1 -0
- package/dist/sparql/Translate.d.mts +2 -0
- package/dist/sparql/Translate.mjs +1 -0
- package/dist/sparql/ai/Mcp.d.mts +2 -0
- package/dist/sparql/ai/Mcp.mjs +1 -0
- package/dist/sparql/ai/Tools.d.mts +2 -0
- package/dist/sparql/ai/Tools.mjs +1 -0
- package/dist/sparql/ai/index.d.mts +3 -0
- package/dist/sparql/ai/index.mjs +3 -0
- package/dist/sparql/index.d.mts +30 -0
- package/dist/sparql/index.mjs +29 -0
- package/dist/sparql/shacl/Evaluator.d.mts +2 -0
- package/dist/sparql/shacl/Evaluator.mjs +1 -0
- package/dist/sparql/shacl/Query.d.mts +2 -0
- package/dist/sparql/shacl/Query.mjs +1 -0
- package/dist/sparql/shacl/index.d.mts +3 -0
- package/dist/sparql/shacl/index.mjs +3 -0
- package/dist/sparql/sql/Dialect.d.mts +2 -0
- package/dist/sparql/sql/Dialect.mjs +1 -0
- package/dist/sparql/sql/SqlStore.d.mts +2 -0
- package/dist/sparql/sql/SqlStore.mjs +1 -0
- package/dist/sparql/sql/Translation.d.mts +2 -0
- package/dist/sparql/sql/Translation.mjs +1 -0
- package/dist/sparql/sql/index.d.mts +4 -0
- package/dist/sparql/sql/index.mjs +4 -0
- package/dist/stringMap-D5YIpYtR.mjs +38 -0
- package/dist/stringMap-D5YIpYtR.mjs.map +1 -0
- package/dist/tokens-C6BzeodQ.mjs +24 -0
- package/dist/tokens-C6BzeodQ.mjs.map +1 -0
- package/dist/turtle/Grammar.d.mts +3 -0
- package/dist/turtle/Grammar.mjs +3 -0
- package/dist/turtle/Manifest.d.mts +2 -0
- package/dist/turtle/Manifest.mjs +1 -0
- package/dist/turtle/TriG.d.mts +2 -0
- package/dist/turtle/TriG.mjs +1 -0
- package/dist/turtle/Turtle.d.mts +2 -0
- package/dist/turtle/Turtle.mjs +1 -0
- package/dist/turtle/index.d.mts +5 -0
- package/dist/turtle/index.mjs +5 -0
- package/dist/xmp/DublinCore.d.mts +2 -0
- package/dist/xmp/DublinCore.mjs +1 -0
- package/dist/xmp/Exif.d.mts +2 -0
- package/dist/xmp/Exif.mjs +1 -0
- package/dist/xmp/Extract.d.mts +2 -0
- package/dist/xmp/Extract.mjs +1 -0
- package/dist/xmp/Metadata.d.mts +2 -0
- package/dist/xmp/Metadata.mjs +1 -0
- package/dist/xmp/Namespaces.d.mts +2 -0
- package/dist/xmp/Namespaces.mjs +1 -0
- package/dist/xmp/Packet.d.mts +2 -0
- package/dist/xmp/Packet.mjs +1 -0
- package/dist/xmp/Pdf.d.mts +2 -0
- package/dist/xmp/Pdf.mjs +1 -0
- package/dist/xmp/PdfA.d.mts +2 -0
- package/dist/xmp/PdfA.mjs +1 -0
- package/dist/xmp/Photoshop.d.mts +2 -0
- package/dist/xmp/Photoshop.mjs +1 -0
- package/dist/xmp/Tiff.d.mts +2 -0
- package/dist/xmp/Tiff.mjs +1 -0
- package/dist/xmp/Xmp.d.mts +2 -0
- package/dist/xmp/Xmp.mjs +3 -0
- package/dist/xmp/XmpBasic.d.mts +2 -0
- package/dist/xmp/XmpBasic.mjs +1 -0
- package/dist/xmp/XmpMM.d.mts +2 -0
- package/dist/xmp/XmpMM.mjs +1 -0
- package/dist/xmp/XmpRights.d.mts +2 -0
- package/dist/xmp/XmpRights.mjs +1 -0
- package/dist/xmp/index.d.mts +15 -0
- package/dist/xmp/index.mjs +15 -0
- package/package.json +187 -3
- package/src/Dataset.ts +1085 -0
- package/src/Iri.ts +322 -0
- package/src/Isomorphism.ts +319 -0
- package/src/LanguageTag.ts +98 -0
- package/src/Namespace.ts +100 -0
- package/src/PrefixMap.ts +117 -0
- package/src/RdfJs.ts +146 -0
- package/src/Rdfs.ts +241 -0
- package/src/Reification.ts +103 -0
- package/src/Resource.ts +873 -0
- package/src/Serialization.ts +775 -0
- package/src/Term.ts +1300 -0
- package/src/TermCodec.ts +505 -0
- package/src/TermJson.ts +313 -0
- package/src/Vocab.ts +161 -0
- package/src/Xsd.ts +573 -0
- package/src/csvw/Csv2Json.ts +265 -0
- package/src/csvw/Csv2Rdf.ts +268 -0
- package/src/csvw/Datatype.ts +589 -0
- package/src/csvw/Metadata.ts +1523 -0
- package/src/csvw/Processor.ts +276 -0
- package/src/csvw/Report.ts +135 -0
- package/src/csvw/Table.ts +759 -0
- package/src/csvw/index.ts +22 -0
- package/src/csvw/internal/dateFormat.ts +202 -0
- package/src/csvw/internal/json.ts +104 -0
- package/src/csvw/internal/numberFormat.ts +369 -0
- package/src/csvw/internal/object.ts +23 -0
- package/src/csvw/internal/uriTemplate.ts +130 -0
- package/src/csvw/internal/url.ts +93 -0
- package/src/csvw/internal/vocab.ts +282 -0
- package/src/index.ts +40 -0
- package/src/internal/arbitrary.ts +148 -0
- package/src/internal/loop.ts +24 -0
- package/src/internal/pending.ts +20 -0
- package/src/internal/textDecoder.ts +183 -0
- package/src/jsonld/DocumentLoader.ts +512 -0
- package/src/jsonld/JsonLd.ts +847 -0
- package/src/jsonld/JsonLdError.ts +105 -0
- package/src/jsonld/index.ts +13 -0
- package/src/jsonld/internal/compact.ts +852 -0
- package/src/jsonld/internal/context.ts +781 -0
- package/src/jsonld/internal/expand.ts +614 -0
- package/src/jsonld/internal/flatten.ts +243 -0
- package/src/jsonld/internal/frame.ts +559 -0
- package/src/jsonld/internal/iri.ts +52 -0
- package/src/jsonld/internal/json.ts +19 -0
- package/src/jsonld/internal/linkHeader.ts +60 -0
- package/src/jsonld/internal/rdf.ts +481 -0
- package/src/jsonld/internal/util.ts +367 -0
- package/src/n3/Isomorphism.ts +476 -0
- package/src/n3/Mapping.ts +332 -0
- package/src/n3/Model.ts +696 -0
- package/src/n3/N3.ts +237 -0
- package/src/n3/Reasoner.ts +568 -0
- package/src/n3/Vocab.ts +111 -0
- package/src/n3/index.ts +21 -0
- package/src/n3/internal/builtins.ts +668 -0
- package/src/n3/internal/guards.ts +23 -0
- package/src/n3/internal/lists.ts +106 -0
- package/src/n3/internal/loop.ts +28 -0
- package/src/n3/internal/parser.ts +1032 -0
- package/src/n3/internal/writer.ts +344 -0
- package/src/ntriples/Grammar.ts +317 -0
- package/src/ntriples/Lexical.ts +321 -0
- package/src/ntriples/NQuads.ts +140 -0
- package/src/ntriples/NTriples.ts +143 -0
- package/src/ntriples/index.ts +14 -0
- package/src/ntriples/internal/codec.ts +229 -0
- package/src/ntriples/internal/lineParser.ts +326 -0
- package/src/ntriples/internal/loop.ts +14 -0
- package/src/rdfjson/RdfJson.ts +806 -0
- package/src/rdfjson/index.ts +9 -0
- package/src/rdfjson/internal/json.ts +19 -0
- package/src/rdfxml/RdfXml.ts +1408 -0
- package/src/rdfxml/Xml.ts +419 -0
- package/src/rdfxml/index.ts +11 -0
- package/src/rdfxml/internal/chars.ts +73 -0
- package/src/rdfxml/internal/loop.ts +24 -0
- package/src/rdfxml/internal/parser.ts +1265 -0
- package/src/shacl/Message.ts +102 -0
- package/src/shacl/Path.ts +483 -0
- package/src/shacl/Shapes.ts +913 -0
- package/src/shacl/Sparql.ts +128 -0
- package/src/shacl/ValidationReport.ts +438 -0
- package/src/shacl/Validator.ts +1156 -0
- package/src/shacl/Vocabulary.ts +180 -0
- package/src/shacl/index.ts +22 -0
- package/src/shacl/internal/compare.ts +128 -0
- package/src/shacl/internal/regex.ts +56 -0
- package/src/shex/SemAct.ts +197 -0
- package/src/shex/ShExC.ts +415 -0
- package/src/shex/ShExError.ts +71 -0
- package/src/shex/ShExJ.ts +893 -0
- package/src/shex/ShExR.ts +640 -0
- package/src/shex/ShapeMap.ts +385 -0
- package/src/shex/Structure.ts +467 -0
- package/src/shex/Validator.ts +395 -0
- package/src/shex/index.ts +24 -0
- package/src/shex/internal/engine.ts +682 -0
- package/src/shex/internal/iterate.ts +14 -0
- package/src/shex/internal/json.ts +12 -0
- package/src/shex/internal/lexer.ts +56 -0
- package/src/shex/internal/nodeConstraint.ts +368 -0
- package/src/shex/internal/shexcLexer.ts +387 -0
- package/src/shex/internal/shexcParser.ts +1312 -0
- package/src/shex/internal/tokens.ts +41 -0
- package/src/shex/internal/xpathRegex.ts +290 -0
- package/src/sparql/Algebra.ts +914 -0
- package/src/sparql/Ast.ts +1344 -0
- package/src/sparql/Bindings.ts +272 -0
- package/src/sparql/ClientErrors.ts +156 -0
- package/src/sparql/ClientFormats.ts +70 -0
- package/src/sparql/Engine.ts +699 -0
- package/src/sparql/Errors.ts +30 -0
- package/src/sparql/Expression.ts +360 -0
- package/src/sparql/Federation.ts +187 -0
- package/src/sparql/Functions.ts +689 -0
- package/src/sparql/Generator.ts +426 -0
- package/src/sparql/GraphStore.ts +341 -0
- package/src/sparql/Optimizer.ts +230 -0
- package/src/sparql/Options.ts +191 -0
- package/src/sparql/Parser.ts +173 -0
- package/src/sparql/Protocol.ts +342 -0
- package/src/sparql/ProtocolErrors.ts +113 -0
- package/src/sparql/QueryBuilder.ts +953 -0
- package/src/sparql/Results.ts +844 -0
- package/src/sparql/ResultsStream.ts +771 -0
- package/src/sparql/ServerFormats.ts +75 -0
- package/src/sparql/ServiceDescription.ts +130 -0
- package/src/sparql/SparqlClient.ts +947 -0
- package/src/sparql/SparqlServer.ts +528 -0
- package/src/sparql/Store.ts +311 -0
- package/src/sparql/TermSchema.ts +20 -0
- package/src/sparql/Testing.ts +114 -0
- package/src/sparql/Translate.ts +407 -0
- package/src/sparql/ai/Mcp.ts +43 -0
- package/src/sparql/ai/Tools.ts +481 -0
- package/src/sparql/ai/index.ts +11 -0
- package/src/sparql/index.ts +64 -0
- package/src/sparql/internal/evaluator.ts +947 -0
- package/src/sparql/internal/hash.ts +418 -0
- package/src/sparql/internal/json.ts +12 -0
- package/src/sparql/internal/lexer.ts +488 -0
- package/src/sparql/internal/loop.ts +24 -0
- package/src/sparql/internal/parser.ts +2215 -0
- package/src/sparql/internal/prefetch.ts +46 -0
- package/src/sparql/internal/stringMap.ts +39 -0
- package/src/sparql/internal/textResults.ts +226 -0
- package/src/sparql/internal/values.ts +550 -0
- package/src/sparql/shacl/Evaluator.ts +478 -0
- package/src/sparql/shacl/Query.ts +574 -0
- package/src/sparql/shacl/index.ts +12 -0
- package/src/sparql/sql/Dialect.ts +246 -0
- package/src/sparql/sql/SqlStore.ts +1080 -0
- package/src/sparql/sql/Translation.ts +1898 -0
- package/src/sparql/sql/index.ts +17 -0
- package/src/sparql/sql/internal/encoding.ts +313 -0
- package/src/turtle/Grammar.ts +286 -0
- package/src/turtle/Manifest.ts +215 -0
- package/src/turtle/TriG.ts +158 -0
- package/src/turtle/Turtle.ts +166 -0
- package/src/turtle/index.ts +14 -0
- package/src/turtle/internal/loop.ts +23 -0
- package/src/turtle/internal/parse.ts +112 -0
- package/src/turtle/internal/parser.ts +1303 -0
- package/src/turtle/internal/serialize.ts +79 -0
- package/src/turtle/internal/streamWriter.ts +128 -0
- package/src/turtle/internal/writer.ts +898 -0
- package/src/xmp/DublinCore.ts +147 -0
- package/src/xmp/Exif.ts +109 -0
- package/src/xmp/Extract.ts +351 -0
- package/src/xmp/Metadata.ts +703 -0
- package/src/xmp/Namespaces.ts +228 -0
- package/src/xmp/Packet.ts +297 -0
- package/src/xmp/Pdf.ts +99 -0
- package/src/xmp/PdfA.ts +280 -0
- package/src/xmp/Photoshop.ts +275 -0
- package/src/xmp/Tiff.ts +196 -0
- package/src/xmp/Xmp.ts +430 -0
- package/src/xmp/XmpBasic.ts +90 -0
- package/src/xmp/XmpMM.ts +82 -0
- package/src/xmp/XmpRights.ts +83 -0
- package/src/xmp/index.ts +36 -0
- package/src/xmp/internal/accessors.ts +72 -0
- package/src/xmp/internal/xml.ts +63 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Validator-DmUfMbpL.mjs","names":["isString","Xsd.toValue","Term.isLiteral","Vocab","ValidationReport.ValidationReportSchema","Term.isNamedNode","Term.isBlankNode","Term.isLiteral","Xsd.isWellFormed","Term.literal","Message.display","Term.namedNode","Message.localName","Path.toSparql","Message.substitute","Dataset.objectsOf","Dataset.match","objectsOf","Shapes.get","Path.evaluate","evaluate","Shapes.componentOf","ValidationReport.makeResult","Path.predicate","Shapes.isShapesGraph","Shapes.parse","Dataset.union","Sparql.SparqlConstraintEvaluator","ValidationReport.make","ValidationReport.format","Dataset.DatasetSchema","ValidationReport.formatResult"],"sources":["../src/shacl/internal/compare.ts","../src/shacl/Validator.ts"],"sourcesContent":["/**\n * Ordering of RDF terms following the SPARQL `<` operator, as required by the\n * SHACL value range and property pair constraint components.\n *\n * @internal\n */\nimport { Term, Xsd } from '../../index.ts';\nimport * as BigDecimal from 'effect/BigDecimal';\nimport * as Match from 'effect/Match';\nimport * as Option from 'effect/Option';\nimport * as Predicate from 'effect/Predicate';\n\nconst XSD_STRING = 'http://www.w3.org/2001/XMLSchema#string';\n\ntype Sign = -1 | 0 | 1;\n\ntype Num =\n | { readonly kind: 'integer'; readonly value: bigint }\n | { readonly kind: 'decimal'; readonly value: BigDecimal.BigDecimal }\n | { readonly kind: 'float'; readonly value: number };\n\n// Built once: `toNum` runs for every numeric comparison.\nconst toNum: (v: Xsd.Value) => Option.Option<Num> = Match.type<Xsd.Value>().pipe(\n Match.tag('Integer', (v) => Option.some<Num>({ kind: 'integer', value: v.value })),\n Match.tag('Decimal', (v) => Option.some<Num>({ kind: 'decimal', value: v.value })),\n Match.tag('Float', 'Double', (v) => Option.some<Num>({ kind: 'float', value: v.value })),\n Match.orElse(() => Option.none<Num>()),\n);\n\nconst sign = (n: number): Sign => (n < 0 ? -1 : n > 0 ? 1 : 0);\n\nconst toFloat = (n: Num): number =>\n n.kind === 'float'\n ? n.value\n : Number(n.kind === 'integer' ? n.value : BigDecimal.format(n.value));\n\nconst toDecimal = (n: Exclude<Num, { readonly kind: 'float' }>): BigDecimal.BigDecimal =>\n n.kind === 'integer' ? BigDecimal.fromBigInt(n.value) : n.value;\n\nconst compareNum = (a: Num, b: Num): Option.Option<Sign> => {\n if (a.kind === 'float' || b.kind === 'float') {\n const x = toFloat(a);\n const y = toFloat(b);\n if (Number.isNaN(x) || Number.isNaN(y)) return Option.none();\n return Option.some(sign(x - y) || (x < y ? -1 : x > y ? 1 : 0));\n }\n if (a.kind === 'integer' && b.kind === 'integer')\n return Option.some(a.value < b.value ? -1 : a.value > b.value ? 1 : 0);\n return Option.some(BigDecimal.Order(toDecimal(a), toDecimal(b)));\n};\n\nconst FOURTEEN_HOURS = 14 * 60 * 60 * 1000;\n\nconst order = <A>(x: A, y: A): Sign => (x < y ? -1 : x > y ? 1 : 0);\n\nconst isString = Predicate.isTagged('String');\nconst isBoolean = Predicate.isTagged('Boolean');\nconst isDateTime = Predicate.isTagged('DateTime');\nconst isDuration = Predicate.isTagged('Duration');\nconst isOther = Predicate.isTagged('Other');\n\n/** Simple literals / xsd:string are ordered; language-tagged strings only when they share a tag. */\nconst stringsComparable = (a: Term.Literal, b: Term.Literal): boolean =>\n a.language !== '' || b.language !== ''\n ? a.language.toLowerCase() === b.language.toLowerCase()\n : a.datatype.value === XSD_STRING && b.datatype.value === XSD_STRING;\n\nconst none = Option.none<Sign>();\n\nconst compareDateTimes = (\n x: Extract<Xsd.Value, { readonly _tag: 'DateTime' }>,\n y: Extract<Xsd.Value, { readonly _tag: 'DateTime' }>,\n): Option.Option<Sign> => {\n if (x.kind !== y.kind) return none;\n const d = x.epochMillis - y.epochMillis;\n // One value has a timezone and the other does not: the result is only\n // determinate when they are more than 14 hours apart.\n return Predicate.isUndefined(x.timezone) === Predicate.isUndefined(y.timezone) ||\n Math.abs(d) > FOURTEEN_HOURS\n ? Option.some(sign(d))\n : none;\n};\n\nconst compareDurations = (\n x: Extract<Xsd.Value, { readonly _tag: 'Duration' }>,\n y: Extract<Xsd.Value, { readonly _tag: 'Duration' }>,\n): Option.Option<Sign> => {\n const m = sign(x.months - y.months);\n const s = sign(x.seconds - y.seconds);\n if (m === 0) return Option.some(s);\n return s === 0 || s === m ? Option.some(m) : none;\n};\n\n// Plain guards rather than a `Match`: this runs for every value of every\n// range and property pair constraint. The right value must be of the same kind.\nconst compareValues = (\n va: Xsd.Value,\n vb: Xsd.Value,\n a: Term.Literal,\n b: Term.Literal,\n): Option.Option<Sign> => {\n if (isString(va))\n return isString(vb) && stringsComparable(a, b) ? Option.some(order(va.value, vb.value)) : none;\n if (isBoolean(va))\n return isBoolean(vb) ? Option.some(va.value === vb.value ? 0 : va.value ? 1 : -1) : none;\n if (isDateTime(va)) return isDateTime(vb) ? compareDateTimes(va, vb) : none;\n if (isDuration(va)) return isDuration(vb) ? compareDurations(va, vb) : none;\n return isOther(va) && isOther(vb) && a.key === b.key ? Option.some(0) : none;\n};\n\nconst compareLiterals = (a: Term.Literal, b: Term.Literal): Option.Option<Sign> => {\n const va = Xsd.toValue(a);\n const vb = Xsd.toValue(b);\n const na = toNum(va);\n const nb = toNum(vb);\n if (Option.isSome(na) && Option.isSome(nb)) return compareNum(na.value, nb.value);\n if (Option.isSome(na) || Option.isSome(nb)) return Option.none();\n return compareValues(va, vb, a, b);\n};\n\n/**\n * Compares two terms. Returns `None` when they are not comparable (in which\n * case every SPARQL comparison yields an error, i.e. false).\n *\n * @internal\n */\nexport const compareTerms = (a: Term.Term, b: Term.Term): Option.Option<Sign> =>\n Term.isLiteral(a) && Term.isLiteral(b) ? compareLiterals(a, b) : Option.none();\n","/**\n * SHACL Core validation (§3–§4): validates a data graph against a shapes\n * graph and produces a `ValidationReport`.\n *\n * ```ts\n * import { Effect } from \"effect\"\n * import { Validator, ValidationReport } from \"@thomasfosterau/effect-rdf/shacl\"\n *\n * const program = Effect.gen(function* () {\n * const report = yield* Validator.validate(dataGraph, shapesGraph)\n * console.log(ValidationReport.format(report))\n * })\n * ```\n *\n * The `Validator` service pre-compiles a shapes graph once and validates many\n * data graphs against it:\n *\n * ```ts\n * const program = Effect.gen(function* () {\n * const validator = yield* Validator.Validator\n * const ok = yield* validator.conforms(dataGraph)\n * }).pipe(Effect.provide(Validator.layer(shapesGraph)))\n * ```\n *\n * @since 0.1.0\n */\nimport { Dataset, Term, Vocab, Xsd } from '../index.ts';\nimport * as Arr from 'effect/Array';\nimport * as Context from 'effect/Context';\nimport * as Effect from 'effect/Effect';\nimport { constVoid, identity, pipe } from 'effect/Function';\nimport * as Iterable from 'effect/Iterable';\nimport * as Layer from 'effect/Layer';\nimport * as Match from 'effect/Match';\nimport * as MutableHashMap from 'effect/MutableHashMap';\nimport * as MutableHashSet from 'effect/MutableHashSet';\nimport * as Option from 'effect/Option';\nimport * as Predicate from 'effect/Predicate';\nimport * as Record from 'effect/Record';\nimport * as Schema from 'effect/Schema';\nimport * as SchemaIssue from 'effect/SchemaIssue';\nimport * as SchemaTransformation from 'effect/SchemaTransformation';\nimport { compareTerms } from './internal/compare.ts';\nimport * as Message from './Message.ts';\nimport * as Path from './Path.ts';\nimport * as Shapes from './Shapes.ts';\nimport * as Sparql from './Sparql.ts';\nimport * as ValidationReport from './ValidationReport.ts';\nimport { SH, sh } from './Vocabulary.ts';\n\n/** A string as a JSON string literal, for messages. */\nconst quote = Schema.encodeSync(Schema.fromJsonString(Schema.String));\n\nconst { rdf, rdfs, xsd } = Vocab;\n\n// -----------------------------------------------------------------------------\n// Errors\n// -----------------------------------------------------------------------------\n\n/**\n * Validation reached a shape again for the same focus node while still\n * validating it (a recursive shape). The SHACL specification leaves the\n * validation of recursive shapes undefined.\n *\n * @since 0.1.0\n * @category errors\n */\nexport class RecursiveShapeError extends Schema.TaggedError<RecursiveShapeError>()(\n 'RecursiveShapeError',\n {\n message: Schema.String,\n shape: Schema.String,\n focusNode: Schema.String,\n },\n) {}\n\n/**\n * The shapes graph uses a feature this validator cannot evaluate (currently:\n * SHACL-SPARQL constraints and targets when no\n * `Sparql.SparqlConstraintEvaluator` is provided).\n *\n * @since 0.1.0\n * @category errors\n */\nexport class UnsupportedFeatureError extends Schema.TaggedError<UnsupportedFeatureError>()(\n 'UnsupportedFeatureError',\n {\n message: Schema.String,\n feature: Schema.String,\n shape: Schema.String,\n },\n) {}\n\n/**\n * The data graph does not conform to the shapes graph (raised by\n * `Validator.check` and `assertConforms`).\n *\n * @since 0.1.0\n * @category errors\n */\nexport class ConformanceError extends Schema.TaggedError<ConformanceError>()('ConformanceError', {\n message: Schema.String,\n report: ValidationReport.ValidationReportSchema,\n}) {}\n\n/**\n * The errors that can prevent validation from producing a report (SHACL\n * \"failures\").\n *\n * @since 0.1.0\n * @category errors\n */\nexport type ValidationError =\n | Shapes.ShapesGraphError\n | RecursiveShapeError\n | UnsupportedFeatureError\n | Sparql.SparqlEvaluationError;\n\n// -----------------------------------------------------------------------------\n// Options\n// -----------------------------------------------------------------------------\n\n/**\n * Validation options.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface ValidateOptions {\n /**\n * Validate the union of the data graph and the shapes graph (useful when\n * the data graph declares `sh:shapesGraph`, or the shapes and data live in\n * the same document). Default `false`.\n */\n readonly includeShapesGraph?: boolean | undefined;\n /**\n * What to do with SHACL-SPARQL constraints and targets when no\n * `Sparql.SparqlConstraintEvaluator` is provided: `\"fail\"` (default) fails\n * with an `UnsupportedFeatureError`, `\"ignore\"` skips them.\n */\n readonly sparql?: 'fail' | 'ignore' | undefined;\n /**\n * What to do when a shape is (directly or indirectly) validated against a\n * focus node while it is already being validated against the same node:\n * `\"fail\"` (default) fails with a `RecursiveShapeError`, `\"ignore\"` treats\n * the recursive reference as conforming.\n */\n readonly recursion?: 'fail' | 'ignore' | undefined;\n /**\n * Attach the nested results that caused `sh:node`, `sh:not`, `sh:and`,\n * `sh:or`, `sh:xone` and qualified value shape results as `sh:detail`.\n * Default `false`.\n */\n readonly details?: boolean | undefined;\n}\n\n// -----------------------------------------------------------------------------\n// Engine\n// -----------------------------------------------------------------------------\n\ntype EngineError = RecursiveShapeError | UnsupportedFeatureError | Sparql.SparqlEvaluationError;\ntype Results = ReadonlyArray<ValidationReport.ValidationResult>;\n\nconst langMatches = (tag: string, range: string): boolean => {\n if (tag === '') return false;\n if (range === '*') return true;\n const t = tag.toLowerCase();\n const r = range.toLowerCase();\n return t === r || t.startsWith(`${r}-`);\n};\n\ntype BasicNodeKind = 'IRI' | 'BlankNode' | 'Literal';\n\nconst IRI = Option.some<BasicNodeKind>('IRI');\nconst BLANK_NODE = Option.some<BasicNodeKind>('BlankNode');\nconst LITERAL = Option.some<BasicNodeKind>('Literal');\n\nconst nodeKindOf = (t: Term.Term): Option.Option<BasicNodeKind> =>\n Term.isNamedNode(t)\n ? IRI\n : Term.isBlankNode(t)\n ? BLANK_NODE\n : Term.isLiteral(t)\n ? LITERAL\n : Option.none();\n\nconst matchesNodeKind = (t: Term.Term, kind: Shapes.NodeKind): boolean =>\n Option.exists(nodeKindOf(t), (k) => kind.includes(k));\n\nconst hasDatatype = (v: Term.Term, datatype: Term.NamedNode): boolean => {\n if (!Term.isLiteral(v) || v.datatype.value !== datatype.value) return false;\n if (datatype.value === rdf.langString.value || datatype.value === rdf.dirLangString.value)\n return v.language !== '';\n if (v.language !== '') return false;\n return Xsd.isWellFormed(v);\n};\n\nconst stringValue = (v: Term.Term): Option.Option<string> =>\n Term.isNamedNode(v) || Term.isLiteral(v) ? Option.some(v.value) : Option.none();\n\n/** Whether a value node has no string value, or one that fails `ok`. */\nconst failsString = (v: Term.Term, ok: (s: string) => boolean): boolean =>\n !Option.exists(stringValue(v), ok);\n\nconst show = (t: Term.Term) => t.key;\n\n/** A high surrogate and the code unit after it: one code point. */\nconst surrogatePair = /[\\uD800-\\uDBFF][\\s\\S]/g;\n\n/** The length of a string in Unicode code points (as XPath `fn:string-length`). */\nconst codePointLength = (s: string): number => s.replace(surrogatePair, '_').length;\n\ntype Sign = -1 | 0 | 1;\n\n/** Whether `a` and `b` are comparable and their order satisfies `ok`. */\nconst ordered = (a: Term.Term, b: Term.Term, ok: (sign: Sign) => boolean): boolean =>\n Option.exists(compareTerms(a, b), ok);\n\nconst defaultMessage = (constraint: Shapes.Constraint, value: Option.Option<Term.Term>): string => {\n const v = Option.match(value, { onNone: () => 'Value', onSome: (t) => `Value ${show(t)}` });\n return Match.value(constraint)\n .pipe(\n Match.tag('Class', (c) => `${v} is not an instance of ${show(c.class)}`),\n Match.tag('Datatype', (c) => `${v} does not have datatype ${show(c.datatype)}`),\n Match.tag('NodeKind', (c) => `${v} does not have node kind sh:${c.nodeKind}`),\n Match.tag('MinCount', (c) => `Less than ${c.minCount} values`),\n Match.tag('MaxCount', (c) => `More than ${c.maxCount} values`),\n Match.tag('MinExclusive', (c) => `${v} is not greater than ${show(c.value)}`),\n Match.tag('MinInclusive', (c) => `${v} is not greater than or equal to ${show(c.value)}`),\n Match.tag('MaxExclusive', (c) => `${v} is not less than ${show(c.value)}`),\n Match.tag('MaxInclusive', (c) => `${v} is not less than or equal to ${show(c.value)}`),\n Match.tag('MinLength', (c) => `${v} is shorter than ${c.minLength} characters`),\n Match.tag('MaxLength', (c) => `${v} is longer than ${c.maxLength} characters`),\n Match.tag('Pattern', (c) => `${v} does not match pattern ${quote(c.pattern)}`),\n Match.tag(\n 'LanguageIn',\n (c) => `${v} does not have a language tag in [${c.languages.join(', ')}]`,\n ),\n Match.tag('UniqueLang', () => 'Language tag used by more than one value'),\n Match.tag('Equals', (c) => `${v} is not equal to the values of ${show(c.predicate)}`),\n Match.tag('Disjoint', (c) => `${v} is also a value of ${show(c.predicate)}`),\n Match.tag('LessThan', (c) => `${v} is not less than the values of ${show(c.predicate)}`),\n Match.tag(\n 'LessThanOrEquals',\n (c) => `${v} is not less than or equal to the values of ${show(c.predicate)}`,\n ),\n )\n .pipe(\n Match.tag('Not', (c) => `${v} conforms to the negated shape ${show(c.shape)}`),\n Match.tag('And', () => `${v} does not conform to all of the shapes`),\n Match.tag('Or', () => `${v} does not conform to any of the shapes`),\n Match.tag('Xone', () => `${v} does not conform to exactly one of the shapes`),\n Match.tag('Node', (c) => `${v} does not conform to shape ${show(c.shape)}`),\n Match.tag('Property', (c) => `${v} does not conform to property shape ${show(c.shape)}`),\n Match.tag(\n 'QualifiedMinCount',\n (c) => `Less than ${c.count} values conform to shape ${show(c.shape)}`,\n ),\n Match.tag(\n 'QualifiedMaxCount',\n (c) => `More than ${c.count} values conform to shape ${show(c.shape)}`,\n ),\n Match.tag(\n 'Closed',\n () =>\n `Predicate is not allowed by the closed shape (value ${Option.match(value, { onNone: () => '', onSome: show })})`,\n ),\n Match.tag('HasValue', (c) => `Missing expected value ${show(c.value)}`),\n Match.tag('In', () => `${v} is not one of the allowed values`),\n Match.tag('Sparql', 'Component', () => `${v} violates a SPARQL-based constraint`),\n Match.exhaustive,\n );\n};\n\nconst integer = (n: number) => Term.literal(String(n), xsd.integer);\nconst boolean = (b: boolean) => Term.literal(String(b), xsd.boolean);\nconst listText = (terms: ReadonlyArray<Term.Term>) =>\n Term.literal(terms.map(Message.display).join(', '));\n\n/** The parameter values of a core constraint by parameter name (for message templates). */\nconst coreParameters = (\n constraint: Shapes.Constraint,\n): ReadonlyArray<readonly [string, Term.Term]> => {\n return Match.value(constraint)\n .pipe(\n Match.withReturnType<ReadonlyArray<readonly [string, Term.Term]>>(),\n Match.tag('Class', (c) => [['class', c.class]]),\n Match.tag('Datatype', (c) => [['datatype', c.datatype]]),\n Match.tag('NodeKind', (c) => [['nodeKind', Term.namedNode(SH + c.nodeKind)]]),\n Match.tag('MinCount', (c) => [['minCount', integer(c.minCount)]]),\n Match.tag('MaxCount', (c) => [['maxCount', integer(c.maxCount)]]),\n Match.tag('MinExclusive', (c) => [['minExclusive', c.value]]),\n Match.tag('MinInclusive', (c) => [['minInclusive', c.value]]),\n Match.tag('MaxExclusive', (c) => [['maxExclusive', c.value]]),\n Match.tag('MaxInclusive', (c) => [['maxInclusive', c.value]]),\n Match.tag('MinLength', (c) => [['minLength', integer(c.minLength)]]),\n Match.tag('MaxLength', (c) => [['maxLength', integer(c.maxLength)]]),\n Match.tag('Pattern', (c) => [\n ['pattern', Term.literal(c.pattern)],\n ['flags', Term.literal(c.flags)],\n ]),\n Match.tag('LanguageIn', (c) => [['languageIn', Term.literal(c.languages.join(', '))]]),\n Match.tag('UniqueLang', () => [['uniqueLang', boolean(true)]]),\n Match.tag('Equals', (c) => [['equals', c.predicate]]),\n Match.tag('Disjoint', (c) => [['disjoint', c.predicate]]),\n Match.tag('LessThan', (c) => [['lessThan', c.predicate]]),\n Match.tag('LessThanOrEquals', (c) => [['lessThanOrEquals', c.predicate]]),\n )\n .pipe(\n Match.tag('Not', (c) => [['not', c.shape]]),\n Match.tag('And', (c) => [['and', listText(c.shapes)]]),\n Match.tag('Or', (c) => [['or', listText(c.shapes)]]),\n Match.tag('Xone', (c) => [['xone', listText(c.shapes)]]),\n Match.tag('Node', (c) => [['node', c.shape]]),\n Match.tag('Property', (c) => [['property', c.shape]]),\n Match.tag('QualifiedMinCount', (c) => [\n ['qualifiedValueShape', c.shape],\n ['qualifiedMinCount', integer(c.count)],\n ['qualifiedValueShapesDisjoint', boolean(c.disjoint)],\n ]),\n Match.tag('QualifiedMaxCount', (c) => [\n ['qualifiedValueShape', c.shape],\n ['qualifiedMaxCount', integer(c.count)],\n ['qualifiedValueShapesDisjoint', boolean(c.disjoint)],\n ]),\n Match.tag('Closed', (c) => [\n ['closed', boolean(true)],\n ['ignoredProperties', listText(c.ignoredProperties)],\n ]),\n Match.tag('HasValue', (c) => [['hasValue', c.value]]),\n Match.tag('In', (c) => [['in', listText(c.values)]]),\n Match.tag('Sparql', () => []),\n Match.tag('Component', (c) =>\n c.parameters.map((p) => [Message.localName(p.path), p.value] as const),\n ),\n Match.exhaustive,\n );\n};\n\n/** The `path` variable of message templates: the predicate, or the path in SPARQL syntax. */\nconst pathTerm = (path: Path.Path): Term.Term =>\n Predicate.isTagged(path, 'PredicatePath') ? path.predicate : Term.literal(Path.toSparql(path));\n\n/** Substitutes `{?var}` / `{$var}` placeholders of result messages. */\nconst substituteMessages = (\n messages: ReadonlyArray<Term.Literal>,\n lookup: (name: string) => Option.Option<Term.Term>,\n): ReadonlyArray<Term.Literal> =>\n messages.map((m) => Message.substitute(m, (name) => Option.getOrUndefined(lookup(name))));\n\n/** The value of the last parameter of that name. */\nconst parameterNamed = (\n parameters: ReadonlyArray<readonly [string, Term.Term]>,\n name: string,\n): Option.Option<Term.Term> =>\n Option.map(\n Arr.findLast(parameters, ([n]) => n === name),\n ([, t]) => t,\n );\n\n/** The built-in template variables `this`, `value` and `path`. */\nconst builtinVariable = (\n name: string,\n focus: Term.Term,\n value: Option.Option<Term.Term>,\n resultPath: Option.Option<Path.Path>,\n): Option.Option<Option.Option<Term.Term>> =>\n Match.value(name).pipe(\n Match.withReturnType<Option.Option<Option.Option<Term.Term>>>(),\n Match.when('this', () => Option.some(Option.some(focus))),\n Match.when('value', () => Option.some(value)),\n Match.when('path', () => Option.some(Option.map(resultPath, pathTerm))),\n Match.orElse(() => Option.none()),\n );\n\ninterface Engine {\n readonly validateShape: (\n shape: Shapes.Shape,\n focus: Term.GroundTerm,\n ) => Effect.Effect<Results, EngineError>;\n readonly focusNodes: (\n shape: Shapes.Shape,\n ) => Effect.Effect<ReadonlyArray<Term.GroundTerm>, EngineError>;\n}\n\nconst noValue = Option.none<Term.GroundTerm>();\n\ntype Keys = MutableHashSet.MutableHashSet<string>;\n\nconst keysOf = (terms: ReadonlyArray<Term.Term>): Keys =>\n MutableHashSet.fromIterable(Arr.map(terms, (t) => t.key));\n\n/** Ground terms by their N-Triples form, in insertion order. */\ntype Nodes = MutableHashMap.MutableHashMap<string, Term.GroundTerm>;\n\nconst addNew = (out: Nodes) => (t: Term.GroundTerm) => {\n if (!MutableHashMap.has(out, t.key)) MutableHashMap.set(out, t.key, t);\n};\n\nconst valuesOf = (nodes: Nodes): ReadonlyArray<Term.GroundTerm> =>\n Arr.fromIterable(MutableHashMap.values(nodes));\n\n/** Number of value nodes conforming to each member shape, for `sh:and` / `sh:or` / `sh:xone`. */\ntype LogicalTest = (conforming: number, members: number) => boolean;\n\nconst andFails: LogicalTest = (conforming, members) => conforming < members;\nconst orFails: LogicalTest = (conforming) => conforming === 0;\nconst xoneFails: LogicalTest = (conforming) => conforming !== 1;\n\nconst makeEngine = (\n data: Dataset.Dataset,\n shapes: Shapes.ShapesGraph,\n options: ValidateOptions,\n evaluator: Option.Option<Sparql.SparqlConstraintEvaluator['Service']>,\n): Engine => {\n const memo = MutableHashMap.empty<string, Results>();\n const active: Keys = MutableHashSet.empty();\n const superClassCache = MutableHashMap.empty<string, Keys>();\n const withDetails = options.details === true;\n\n // -- RDFS reasoning (SHACL instances / SHACL types, §1.5) ------------------\n const computeSuperClasses = (cls: Term.GroundTerm): Keys => {\n const seen: Keys = MutableHashSet.make(cls.key);\n const unseen = (sup: Term.GroundTerm): boolean => {\n if (MutableHashSet.has(seen, sup.key)) return false;\n MutableHashSet.add(seen, sup.key);\n return true;\n };\n const nextLevel = (\n frontier: ReadonlyArray<Term.GroundTerm>,\n ): Option.Option<readonly [void, ReadonlyArray<Term.GroundTerm>]> =>\n Arr.isReadonlyArrayEmpty(frontier)\n ? Option.none()\n : Option.some([\n undefined,\n Arr.flatMap(frontier, (c) =>\n Term.isLiteral(c)\n ? []\n : Arr.filter(Dataset.objectsOf(data, c, rdfs.subClassOf), unseen),\n ),\n ]);\n Iterable.forEach(\n Iterable.unfold<ReadonlyArray<Term.GroundTerm>, void>([cls], nextLevel),\n constVoid,\n );\n MutableHashMap.set(superClassCache, cls.key, seen);\n return seen;\n };\n const superClassesOf = (cls: Term.GroundTerm): Keys =>\n Option.getOrElse(MutableHashMap.get(superClassCache, cls.key), () => computeSuperClasses(cls));\n const isInstanceOf = (node: Term.GroundTerm, cls: Term.Term): boolean =>\n !Term.isLiteral(node) &&\n Dataset.objectsOf(data, node, rdf.type).some((t) =>\n MutableHashSet.has(superClassesOf(t), cls.key),\n );\n const instancesOf = (cls: Term.Resource): ReadonlyArray<Term.GroundTerm> => {\n const out: Nodes = MutableHashMap.empty();\n Arr.forEach(Dataset.match(data, { predicate: rdf.type }), (q) => {\n if (\n !MutableHashMap.has(out, q.subject.key) &&\n MutableHashSet.has(superClassesOf(q.object), cls.key)\n )\n MutableHashMap.set(out, q.subject.key, q.subject);\n });\n return valuesOf(out);\n };\n\n const objectsOf = (s: Term.GroundTerm, p: Term.NamedNode): ReadonlyArray<Term.GroundTerm> =>\n Term.isLiteral(s) ? [] : Dataset.objectsOf(data, s, p);\n\n const shapeById = (id: Shapes.ShapeId): Shapes.Shape =>\n Option.getOrElse(Shapes.get(shapes, id), (): Shapes.Shape => ({\n _tag: 'NodeShape',\n id,\n targets: [],\n constraints: [],\n severity: sh.Violation,\n messages: [],\n deactivated: false,\n }));\n\n const unsupported = (\n shape: Shapes.Shape,\n feature: string,\n ): Effect.Effect<Results, EngineError> =>\n options.sparql === 'ignore'\n ? Effect.succeed([])\n : Effect.fail(\n new UnsupportedFeatureError({\n message: `${feature} used by shape ${shape.id.key} requires a SparqlConstraintEvaluator`,\n feature,\n shape: shape.id.key,\n }),\n );\n\n const recursive = (\n shape: Shapes.Shape,\n focus: Term.GroundTerm,\n ): Effect.Effect<Results, EngineError> =>\n options.recursion === 'ignore'\n ? Effect.succeed([])\n : Effect.fail(\n new RecursiveShapeError({\n message: `shape ${shape.id.key} is recursive for focus node ${focus.key}`,\n shape: shape.id.key,\n focusNode: focus.key,\n }),\n );\n\n const validateShape = (\n shape: Shapes.Shape,\n focus: Term.GroundTerm,\n ): Effect.Effect<Results, EngineError> =>\n Effect.suspend(() => {\n if (shape.deactivated) return Effect.succeed([]);\n const key = `${shape.id.key} ${focus.key}`;\n const cached = MutableHashMap.get(memo, key);\n if (Option.isSome(cached)) return Effect.succeed(cached.value);\n if (MutableHashSet.has(active, key)) return recursive(shape, focus);\n MutableHashSet.add(active, key);\n const valueNodes = Predicate.isTagged(shape, 'PropertyShape')\n ? Path.evaluate(data, focus, shape.path)\n : [focus];\n return Effect.forEach(shape.constraints, (c) => evaluate(shape, focus, valueNodes, c), {\n concurrency: 1,\n }).pipe(\n Effect.map((rs) => {\n const results = rs.flat();\n MutableHashSet.remove(active, key);\n MutableHashMap.set(memo, key, results);\n return results;\n }),\n );\n });\n\n const conforms = (\n id: Shapes.ShapeId,\n node: Term.GroundTerm,\n ): Effect.Effect<boolean, EngineError> =>\n Effect.map(validateShape(shapeById(id), node), (rs) => Arr.isReadonlyArrayEmpty(rs));\n\n const nestedResults = (id: Shapes.ShapeId, v: Term.GroundTerm) => validateShape(shapeById(id), v);\n\n const evaluate = Effect.fnUntraced(function* (\n shape: Shapes.Shape,\n focus: Term.GroundTerm,\n valueNodes: ReadonlyArray<Term.GroundTerm>,\n constraint: Shapes.Constraint,\n ): Effect.fn.Return<Results, EngineError> {\n const component = Shapes.componentOf(constraint);\n const shapePath = Predicate.isTagged(shape, 'PropertyShape')\n ? Option.some(shape.path)\n : Option.none<Path.Path>();\n const parameters = coreParameters(constraint);\n const result = (\n value: Option.Option<Term.GroundTerm>,\n extra: { readonly path?: Path.Path; readonly details?: Results } = {},\n ) => {\n const resultPath = extra.path === undefined ? shapePath : Option.some(extra.path);\n return ValidationReport.makeResult({\n focusNode: focus,\n sourceShape: shape.id,\n sourceConstraintComponent: component,\n severity: shape.severity,\n resultPath,\n value,\n messages: Arr.isReadonlyArrayNonEmpty(shape.messages)\n ? substituteMessages(shape.messages, (name) =>\n Option.getOrElse(builtinVariable(name, focus, value, resultPath), () =>\n parameterNamed(parameters, name),\n ),\n )\n : [Term.literal(defaultMessage(constraint, value))],\n details: withDetails ? (extra.details ?? []) : [],\n });\n };\n const each = (failed: (v: Term.GroundTerm) => boolean): Results =>\n valueNodes.filter(failed).map((v) => result(Option.some(v)));\n const logical = (members: ReadonlyArray<Shapes.ShapeId>, fails: LogicalTest) =>\n Effect.map(\n Effect.forEach(\n valueNodes,\n (v) =>\n Effect.map(\n Effect.forEach(members, (s) => nestedResults(s, v), { concurrency: 1 }),\n (nested) => {\n const conforming = nested.filter((rs) => Arr.isReadonlyArrayEmpty(rs)).length;\n return fails(conforming, members.length)\n ? [result(Option.some(v), { details: nested.flat() })]\n : [];\n },\n ),\n { concurrency: 1 },\n ),\n (perNode) => perNode.flat(),\n );\n // A value node counts when it conforms to the qualified shape and, with\n // `sh:qualifiedValueShapesDisjoint`, to none of the sibling shapes.\n const qualifiedCount = (c: {\n readonly shape: Shapes.ShapeId;\n readonly disjoint: boolean;\n readonly siblings: ReadonlyArray<Shapes.ShapeId>;\n }) =>\n Effect.map(\n Effect.filter(valueNodes, (v) =>\n Effect.flatMap(conforms(c.shape, v), (ok) =>\n !ok || !c.disjoint\n ? Effect.succeed(ok)\n : Effect.map(\n Effect.findFirst(c.siblings, (s) => conforms(s, v)),\n Option.isNone,\n ),\n ),\n ),\n (counted) => counted.length,\n );\n const lessThan = (predicate: Term.NamedNode, ok: (sign: Sign) => boolean) =>\n Effect.sync(() => {\n const others = objectsOf(focus, predicate);\n return Arr.flatMap(valueNodes, (v) =>\n Arr.map(\n Arr.filter(others, (o) => !ordered(v, o, ok)),\n () => result(Option.some(v)),\n ),\n );\n });\n\n return yield* Match.value(constraint)\n .pipe(\n Match.tag('Class', (c) => Effect.sync(() => each((v) => !isInstanceOf(v, c.class)))),\n Match.tag('Datatype', (c) => Effect.sync(() => each((v) => !hasDatatype(v, c.datatype)))),\n Match.tag('NodeKind', (c) =>\n Effect.sync(() => each((v) => !matchesNodeKind(v, c.nodeKind))),\n ),\n Match.tag('MinCount', (c) =>\n Effect.sync(() => (valueNodes.length < c.minCount ? [result(noValue)] : [])),\n ),\n Match.tag('MaxCount', (c) =>\n Effect.sync(() => (valueNodes.length > c.maxCount ? [result(noValue)] : [])),\n ),\n Match.tag('MinExclusive', (c) =>\n Effect.sync(() => each((v) => !ordered(v, c.value, (s) => s === 1))),\n ),\n Match.tag('MinInclusive', (c) =>\n Effect.sync(() => each((v) => !ordered(v, c.value, (s) => s !== -1))),\n ),\n Match.tag('MaxExclusive', (c) =>\n Effect.sync(() => each((v) => !ordered(v, c.value, (s) => s === -1))),\n ),\n Match.tag('MaxInclusive', (c) =>\n Effect.sync(() => each((v) => !ordered(v, c.value, (s) => s !== 1))),\n ),\n Match.tag('MinLength', (c) =>\n Effect.sync(() => each((v) => failsString(v, (s) => codePointLength(s) >= c.minLength))),\n ),\n Match.tag('MaxLength', (c) =>\n Effect.sync(() => each((v) => failsString(v, (s) => codePointLength(s) <= c.maxLength))),\n ),\n Match.tag('Pattern', (c) =>\n Effect.sync(() => each((v) => failsString(v, (s) => c.regex.test(s)))),\n ),\n Match.tag('LanguageIn', (c) =>\n Effect.sync(() =>\n each(\n (v) =>\n !Term.isLiteral(v) || !c.languages.some((range) => langMatches(v.language, range)),\n ),\n ),\n ),\n Match.tag('UniqueLang', () =>\n Effect.sync(() => {\n const languages = Arr.flatMap(valueNodes, (v) =>\n Term.isLiteral(v) && v.language !== '' ? [v.language.toLowerCase()] : [],\n );\n return Arr.map(\n Arr.filter(Record.values(Arr.groupBy(languages, identity)), (g) => g.length > 1),\n () => result(noValue),\n );\n }),\n ),\n Match.tag('Equals', (c) =>\n Effect.sync(() => {\n const others = objectsOf(focus, c.predicate);\n const otherKeys = keysOf(others);\n const valueKeys = keysOf(valueNodes);\n return [\n ...valueNodes\n .filter((v) => !MutableHashSet.has(otherKeys, v.key))\n .map((v) => result(Option.some(v))),\n ...others\n .filter((o) => !MutableHashSet.has(valueKeys, o.key))\n .map((o) => result(Option.some(o))),\n ];\n }),\n ),\n Match.tag('Disjoint', (c) =>\n Effect.sync(() => {\n const otherKeys = keysOf(objectsOf(focus, c.predicate));\n return each((v) => MutableHashSet.has(otherKeys, v.key));\n }),\n ),\n Match.tag('LessThan', (c) => lessThan(c.predicate, (s) => s === -1)),\n Match.tag('LessThanOrEquals', (c) => lessThan(c.predicate, (s) => s !== 1)),\n Match.tag('Not', (c) =>\n Effect.gen(function* () {\n const conforming = yield* Effect.filter(valueNodes, (v) => conforms(c.shape, v));\n return conforming.map((v) => result(Option.some(v)));\n }),\n ),\n )\n .pipe(\n Match.tag('And', (c) => logical(c.shapes, andFails)),\n Match.tag('Or', (c) => logical(c.shapes, orFails)),\n Match.tag('Xone', (c) => logical(c.shapes, xoneFails)),\n Match.tag('Node', (c) =>\n Effect.gen(function* () {\n const nested = c.shape;\n const perNode = yield* Effect.forEach(\n valueNodes,\n (v) =>\n Effect.map(nestedResults(nested, v), (rs) =>\n Arr.isReadonlyArrayNonEmpty(rs) ? [result(Option.some(v), { details: rs })] : [],\n ),\n { concurrency: 1 },\n );\n return perNode.flat();\n }),\n ),\n Match.tag('Property', (c) =>\n Effect.gen(function* () {\n const property = shapeById(c.shape);\n const perNode = yield* Effect.forEach(valueNodes, (v) => validateShape(property, v), {\n concurrency: 1,\n });\n return perNode.flat();\n }),\n ),\n Match.tag('QualifiedMinCount', (c) =>\n Effect.map(qualifiedCount(c), (count) => (count < c.count ? [result(noValue)] : [])),\n ),\n Match.tag('QualifiedMaxCount', (c) =>\n Effect.map(qualifiedCount(c), (count) => (count > c.count ? [result(noValue)] : [])),\n ),\n Match.tag('Closed', (c) =>\n Effect.sync(() => {\n const allowed = keysOf(c.allowedProperties);\n return Arr.flatMap(valueNodes, (v) =>\n Term.isLiteral(v)\n ? []\n : Arr.flatMap(Dataset.match(data, { subject: v }), (q) =>\n MutableHashSet.has(allowed, q.predicate.key)\n ? []\n : [result(Option.some(q.object), { path: Path.predicate(q.predicate) })],\n ),\n );\n }),\n ),\n Match.tag('HasValue', (c) =>\n Effect.sync(() =>\n valueNodes.some((v) => v.key === c.value.key) ? [] : [result(noValue)],\n ),\n ),\n Match.tag('In', (c) =>\n Effect.sync(() => {\n const allowed = keysOf(c.values);\n return each((v) => !MutableHashSet.has(allowed, v.key));\n }),\n ),\n Match.tag('Sparql', 'Component', (c) =>\n Effect.gen(function* () {\n if (Option.isNone(evaluator)) {\n return yield* unsupported(\n shape,\n Predicate.isTagged(c, 'Sparql')\n ? 'sh:sparql'\n : `constraint component ${c.component.key}`,\n );\n }\n const violations = yield* evaluator.value.evaluateConstraint({\n dataGraph: data,\n shapesGraph: shapes,\n shape,\n constraint: c,\n focusNode: focus,\n valueNodes,\n });\n return violations.map((violation) => {\n const focusNode = violation.focusNode ?? focus;\n const value = Option.fromNullishOr(violation.value);\n const resultPath =\n violation.path !== undefined ? Option.some(violation.path) : shapePath;\n const lookup = (name: string): Option.Option<Term.Term> =>\n pipe(\n Option.fromNullishOr(violation.bindings?.get(name)),\n Option.orElse(() => parameterNamed(parameters, name)),\n Option.orElse(() =>\n Option.flatten(builtinVariable(name, focusNode, value, resultPath)),\n ),\n );\n const templates =\n violation.messages !== undefined && Arr.isReadonlyArrayNonEmpty(violation.messages)\n ? violation.messages\n : shape.messages;\n return ValidationReport.makeResult({\n focusNode,\n sourceShape: shape.id,\n sourceConstraintComponent: component,\n sourceConstraint: Predicate.isTagged(c, 'Sparql')\n ? Option.some(c.node)\n : Option.none(),\n severity: violation.severity ?? shape.severity,\n resultPath,\n value,\n messages: Arr.isReadonlyArrayNonEmpty(templates)\n ? substituteMessages(templates, lookup)\n : [Term.literal(defaultMessage(c, value))],\n });\n });\n }),\n ),\n Match.exhaustive,\n );\n });\n\n const focusNodes = Effect.fnUntraced(function* (\n shape: Shapes.Shape,\n ): Effect.fn.Return<ReadonlyArray<Term.GroundTerm>, EngineError> {\n const out: Nodes = MutableHashMap.empty();\n const add = addNew(out);\n yield* Effect.forEach(\n shape.targets,\n Effect.fnUntraced(function* (target) {\n yield* Match.value(target).pipe(\n Match.tag('TargetNode', (t) => Effect.sync(() => add(t.node))),\n Match.tag('TargetClass', (t) =>\n Effect.sync(() => Arr.forEach(instancesOf(t.class), add)),\n ),\n Match.tag('TargetSubjectsOf', (t) =>\n Effect.sync(() =>\n Arr.forEach(Dataset.match(data, { predicate: t.predicate }), (q) => add(q.subject)),\n ),\n ),\n Match.tag('TargetObjectsOf', (t) =>\n Effect.sync(() =>\n Arr.forEach(Dataset.match(data, { predicate: t.predicate }), (q) => add(q.object)),\n ),\n ),\n Match.tag('SparqlTarget', (t) =>\n Option.match(evaluator, {\n onNone: () => unsupported(shape, 'sh:target'),\n onSome: (ev) =>\n Effect.map(\n ev.selectTargets({ dataGraph: data, shapesGraph: shapes, shape, target: t.node }),\n (nodes) => Arr.forEach(nodes, add),\n ),\n }),\n ),\n Match.exhaustive,\n );\n }),\n { concurrency: 1, discard: true },\n );\n return valuesOf(out);\n });\n\n return { validateShape, focusNodes };\n};\n\nconst resolveShapes = (\n shapes: Dataset.Dataset | Shapes.ShapesGraph,\n): Effect.Effect<Shapes.ShapesGraph, Shapes.ShapesGraphError> =>\n Shapes.isShapesGraph(shapes) ? Effect.succeed(shapes) : Shapes.parse(shapes);\n\n// -----------------------------------------------------------------------------\n// API\n// -----------------------------------------------------------------------------\n\n/** Parses the shapes graph (if needed) and builds the engine over the data graph. */\nconst prepare = Effect.fnUntraced(function* (\n dataGraph: Dataset.Dataset,\n shapesGraph: Dataset.Dataset | Shapes.ShapesGraph,\n options: ValidateOptions,\n) {\n const shapes = yield* resolveShapes(shapesGraph);\n const data =\n options.includeShapesGraph === true ? Dataset.union(dataGraph, shapes.dataset) : dataGraph;\n const evaluator = yield* Effect.serviceOption(Sparql.SparqlConstraintEvaluator);\n return { shapes, engine: makeEngine(data, shapes, options, evaluator) };\n});\n\n/**\n * Validates a data graph against a shapes graph (either an RDF dataset, which\n * is parsed first, or a pre-parsed `Shapes.ShapesGraph`).\n *\n * SPARQL-based constraints and targets are delegated to a\n * `Sparql.SparqlConstraintEvaluator` when one is present in the context.\n *\n * @since 0.1.0\n * @category validation\n */\nexport const validate: (\n dataGraph: Dataset.Dataset,\n shapesGraph: Dataset.Dataset | Shapes.ShapesGraph,\n options?: ValidateOptions,\n) => Effect.Effect<ValidationReport.ValidationReport, ValidationError> = Effect.fn(\n 'Shacl.validate',\n)(function* (dataGraph, shapesGraph, options = {}) {\n const { shapes, engine } = yield* prepare(dataGraph, shapesGraph, options);\n yield* Effect.annotateCurrentSpan({\n 'shacl.shapes': shapes.shapes.length,\n 'rdf.quads': dataGraph.size,\n });\n const perShape = yield* Effect.forEach(\n shapes.shapes,\n (shape) =>\n shape.deactivated || Arr.isReadonlyArrayEmpty(shape.targets)\n ? Effect.succeed<ReadonlyArray<ValidationReport.ValidationResult>>([])\n : Effect.flatMap(engine.focusNodes(shape), (foci) =>\n Effect.map(\n Effect.forEach(foci, (focus) => engine.validateShape(shape, focus), {\n concurrency: 1,\n }),\n (rs) => rs.flat(),\n ),\n ),\n { concurrency: 1 },\n );\n const report = ValidationReport.make(perShape.flat());\n yield* Effect.annotateCurrentSpan({\n 'shacl.results': report.results.length,\n 'shacl.conforms': report.conforms,\n });\n return report;\n});\n\n/**\n * Validates a single focus node against one shape of a shapes graph,\n * ignoring targets.\n *\n * @since 0.1.0\n * @category validation\n */\nexport const validateNode: (\n dataGraph: Dataset.Dataset,\n shapesGraph: Dataset.Dataset | Shapes.ShapesGraph,\n shape: Shapes.ShapeId,\n focusNode: Term.GroundTerm,\n options?: ValidateOptions,\n) => Effect.Effect<ValidationReport.ValidationReport, ValidationError> = Effect.fnUntraced(\n function* (dataGraph, shapesGraph, shapeId, focusNode, options = {}) {\n const { shapes, engine } = yield* prepare(dataGraph, shapesGraph, options);\n const shape = Option.getOrUndefined(Shapes.get(shapes, shapeId));\n if (shape === undefined) return ValidationReport.make([]);\n return ValidationReport.make(yield* engine.validateShape(shape, focusNode));\n },\n);\n\n/**\n * Whether a data graph conforms to a shapes graph.\n *\n * @since 0.1.0\n * @category validation\n */\nexport const conforms = (\n dataGraph: Dataset.Dataset,\n shapesGraph: Dataset.Dataset | Shapes.ShapesGraph,\n options?: ValidateOptions,\n): Effect.Effect<boolean, ValidationError> =>\n Effect.map(validate(dataGraph, shapesGraph, options), (r) => r.conforms);\n\n/**\n * Validates and fails with a `ConformanceError` (carrying the report) when\n * the data graph does not conform; succeeds with the data graph otherwise.\n *\n * @since 0.1.0\n * @category validation\n */\nexport const assertConforms = (\n dataGraph: Dataset.Dataset,\n shapesGraph: Dataset.Dataset | Shapes.ShapesGraph,\n options?: ValidateOptions,\n): Effect.Effect<Dataset.Dataset, ValidationError | ConformanceError> =>\n Effect.flatMap(validate(dataGraph, shapesGraph, options), (report) =>\n report.conforms\n ? Effect.succeed(dataGraph)\n : Effect.fail(new ConformanceError({ message: ValidationReport.format(report), report })),\n );\n\n// -----------------------------------------------------------------------------\n// Service\n// -----------------------------------------------------------------------------\n\n/**\n * A validator bound to a pre-compiled shapes graph.\n *\n * @since 0.1.0\n * @category services\n */\nexport class Validator extends Context.Service<\n Validator,\n {\n /** The compiled shapes graph. */\n readonly shapesGraph: Shapes.ShapesGraph;\n /** Validates a data graph, producing a report. */\n readonly validate: (\n dataGraph: Dataset.Dataset,\n options?: ValidateOptions,\n ) => Effect.Effect<ValidationReport.ValidationReport, ValidationError>;\n /** Whether a data graph conforms. */\n readonly conforms: (\n dataGraph: Dataset.Dataset,\n options?: ValidateOptions,\n ) => Effect.Effect<boolean, ValidationError>;\n /** Succeeds with the data graph if it conforms, failing with a `ConformanceError` otherwise. */\n readonly check: (\n dataGraph: Dataset.Dataset,\n options?: ValidateOptions,\n ) => Effect.Effect<Dataset.Dataset, ValidationError | ConformanceError>;\n }\n>()('@thomasfosterau/effect-rdf/shacl/Validator') {}\n\n/**\n * Compiles a shapes graph into a `Validator` service implementation. The\n * given options are defaults that individual calls may override.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const make: (\n shapesGraph: Dataset.Dataset | Shapes.ShapesGraph,\n defaults?: ValidateOptions,\n) => Effect.Effect<Validator['Service'], Shapes.ShapesGraphError> = Effect.fnUntraced(function* (\n shapesGraph,\n defaults = {},\n) {\n const compiled = yield* resolveShapes(shapesGraph);\n const merge = (options?: ValidateOptions) => ({ ...defaults, ...options });\n return Validator.of({\n shapesGraph: compiled,\n validate: (data, options) => validate(data, compiled, merge(options)),\n conforms: (data, options) => conforms(data, compiled, merge(options)),\n check: (data, options) => assertConforms(data, compiled, merge(options)),\n });\n});\n\n/**\n * A layer providing a `Validator` for the given shapes graph.\n *\n * @since 0.1.0\n * @category layers\n */\nexport const layer = (\n shapesGraph: Dataset.Dataset | Shapes.ShapesGraph,\n defaults?: ValidateOptions,\n): Layer.Layer<Validator, Shapes.ShapesGraphError> =>\n Layer.effect(Validator, make(shapesGraph, defaults));\n\n// -----------------------------------------------------------------------------\n// Schema integration\n// -----------------------------------------------------------------------------\n\n/**\n * Options for `schema`: validation options plus the severity that fails\n * decoding.\n *\n * @since 0.1.0\n * @category schemas\n */\nexport interface SchemaOptions extends ValidateOptions {\n /**\n * The least severe result that fails decoding: `\"violation\"` (default)\n * accepts data whose results are only `sh:Warning` or `sh:Info`,\n * `\"warning\"` also fails on warnings, and `\"info\"` on any result (the\n * report's own `conforms`, which is false whenever there is any result).\n * Results with a custom severity count as violations.\n */\n readonly failOn?: 'violation' | 'warning' | 'info' | undefined;\n}\n\nconst severityRank = (severity: Term.NamedNode): number =>\n severity.value === sh.Info.value ? 0 : severity.value === sh.Warning.value ? 1 : 2;\n\nconst thresholdRank = { info: 0, warning: 1, violation: 2 } as const;\n\n/**\n * A `Schema` that accepts a `Dataset` only if it conforms to the given shapes\n * graph. Decoding fails with a `SchemaIssue.Composite` holding one\n * `InvalidValue` issue per failing result: its `message` annotation is the\n * formatted result (`ValidationReport.formatResult`) and its `result`\n * annotation the `ValidationResult` itself, for consumers that inspect\n * failures (focus node, path, constraint component, severity, messages). By\n * default only `sh:Violation` results fail (see `SchemaOptions.failOn`).\n * Encoding is the identity.\n *\n * Compose it with a syntax codec to parse and validate in one decode:\n * `Turtle.codec.schema.pipe(Schema.decodeTo(Validator.schema(shapes)))`.\n *\n * @since 0.1.0\n * @category schemas\n */\nexport const schema = (\n shapesGraph: Shapes.ShapesGraph,\n options?: SchemaOptions,\n): Schema.decodeTo<Schema.declare<Dataset.Dataset>, Schema.declare<Dataset.Dataset>> => {\n const threshold = thresholdRank[options?.failOn ?? 'violation'];\n return Dataset.DatasetSchema.pipe(\n Schema.decodeTo(\n Dataset.DatasetSchema,\n SchemaTransformation.transformEffect({\n decode: (data: Dataset.Dataset, parseOptions) =>\n validate(data, shapesGraph, options).pipe(\n Effect.mapError(\n (e) => new SchemaIssue.InvalidValue({ message: e.message }, data, parseOptions),\n ),\n Effect.flatMap((report) =>\n Arr.match(\n Arr.filter(report.results, (r) => severityRank(r.severity) >= threshold),\n {\n onEmpty: () => Effect.succeed(data),\n onNonEmpty: (failing) =>\n Effect.fail(\n new SchemaIssue.Composite(\n Dataset.DatasetSchema.ast,\n Arr.map(\n failing,\n (r) =>\n new SchemaIssue.InvalidValue(\n { message: ValidationReport.formatResult(r), result: r },\n r,\n parseOptions,\n ),\n ),\n data,\n ),\n ),\n },\n ),\n ),\n ),\n encode: (data: Dataset.Dataset) => Effect.succeed(data),\n }),\n ),\n );\n};\n\n/**\n * The SHACL `sh:Violation`, `sh:Warning` and `sh:Info` severities.\n *\n * @since 0.1.0\n * @category constants\n */\nexport const severities = {\n Violation: sh.Violation,\n Warning: sh.Warning,\n Info: sh.Info,\n} as const;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAM,aAAa;AAUnB,MAAM,QAA8C,MAAM,KAAgB,CAAC,CAAC,KAC1E,MAAM,IAAI,YAAY,MAAM,OAAO,KAAU;CAAE,MAAM;CAAW,OAAO,EAAE;AAAM,CAAC,CAAC,GACjF,MAAM,IAAI,YAAY,MAAM,OAAO,KAAU;CAAE,MAAM;CAAW,OAAO,EAAE;AAAM,CAAC,CAAC,GACjF,MAAM,IAAI,SAAS,WAAW,MAAM,OAAO,KAAU;CAAE,MAAM;CAAS,OAAO,EAAE;AAAM,CAAC,CAAC,GACvF,MAAM,aAAa,OAAO,KAAU,CAAC,CACvC;AAEA,MAAM,QAAQ,MAAqB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI;AAE5D,MAAM,WAAW,MACf,EAAE,SAAS,UACP,EAAE,QACF,OAAO,EAAE,SAAS,YAAY,EAAE,QAAQ,WAAW,OAAO,EAAE,KAAK,CAAC;AAExE,MAAM,aAAa,MACjB,EAAE,SAAS,YAAY,WAAW,WAAW,EAAE,KAAK,IAAI,EAAE;AAE5D,MAAM,cAAc,GAAQ,MAAgC;CAC1D,IAAI,EAAE,SAAS,WAAW,EAAE,SAAS,SAAS;EAC5C,MAAM,IAAI,QAAQ,CAAC;EACnB,MAAM,IAAI,QAAQ,CAAC;EACnB,IAAI,OAAO,MAAM,CAAC,KAAK,OAAO,MAAM,CAAC,GAAG,OAAO,OAAO,KAAK;EAC3D,OAAO,OAAO,KAAK,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,EAAE;CAChE;CACA,IAAI,EAAE,SAAS,aAAa,EAAE,SAAS,WACrC,OAAO,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,EAAE,QAAQ,EAAE,QAAQ,IAAI,CAAC;CACvE,OAAO,OAAO,KAAK,WAAW,MAAM,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;AACjE;AAEA,MAAM,iBAAiB;AAEvB,MAAM,SAAY,GAAM,MAAgB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI;AAEjE,MAAMA,aAAW,UAAU,SAAS,QAAQ;AAC5C,MAAM,YAAY,UAAU,SAAS,SAAS;AAC9C,MAAM,aAAa,UAAU,SAAS,UAAU;AAChD,MAAM,aAAa,UAAU,SAAS,UAAU;AAChD,MAAM,UAAU,UAAU,SAAS,OAAO;;AAG1C,MAAM,qBAAqB,GAAiB,MAC1C,EAAE,aAAa,MAAM,EAAE,aAAa,KAChC,EAAE,SAAS,YAAY,MAAM,EAAE,SAAS,YAAY,IACpD,EAAE,SAAS,UAAU,cAAc,EAAE,SAAS,UAAU;AAE9D,MAAM,OAAO,OAAO,KAAW;AAE/B,MAAM,oBACJ,GACA,MACwB;CACxB,IAAI,EAAE,SAAS,EAAE,MAAM,OAAO;CAC9B,MAAM,IAAI,EAAE,cAAc,EAAE;CAG5B,OAAO,UAAU,YAAY,EAAE,QAAQ,MAAM,UAAU,YAAY,EAAE,QAAQ,KAC3E,KAAK,IAAI,CAAC,IAAI,iBACZ,OAAO,KAAK,KAAK,CAAC,CAAC,IACnB;AACN;AAEA,MAAM,oBACJ,GACA,MACwB;CACxB,MAAM,IAAI,KAAK,EAAE,SAAS,EAAE,MAAM;CAClC,MAAM,IAAI,KAAK,EAAE,UAAU,EAAE,OAAO;CACpC,IAAI,MAAM,GAAG,OAAO,OAAO,KAAK,CAAC;CACjC,OAAO,MAAM,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI;AAC/C;AAIA,MAAM,iBACJ,IACA,IACA,GACA,MACwB;CACxB,IAAIA,WAAS,EAAE,GACb,OAAOA,WAAS,EAAE,KAAK,kBAAkB,GAAG,CAAC,IAAI,OAAO,KAAK,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,IAAI;CAC5F,IAAI,UAAU,EAAE,GACd,OAAO,UAAU,EAAE,IAAI,OAAO,KAAK,GAAG,UAAU,GAAG,QAAQ,IAAI,GAAG,QAAQ,IAAI,EAAE,IAAI;CACtF,IAAI,WAAW,EAAE,GAAG,OAAO,WAAW,EAAE,IAAI,iBAAiB,IAAI,EAAE,IAAI;CACvE,IAAI,WAAW,EAAE,GAAG,OAAO,WAAW,EAAE,IAAI,iBAAiB,IAAI,EAAE,IAAI;CACvE,OAAO,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,KAAK,CAAC,IAAI;AAC1E;AAEA,MAAM,mBAAmB,GAAiB,MAAyC;CACjF,MAAM,KAAKC,QAAY,CAAC;CACxB,MAAM,KAAKA,QAAY,CAAC;CACxB,MAAM,KAAK,MAAM,EAAE;CACnB,MAAM,KAAK,MAAM,EAAE;CACnB,IAAI,OAAO,OAAO,EAAE,KAAK,OAAO,OAAO,EAAE,GAAG,OAAO,WAAW,GAAG,OAAO,GAAG,KAAK;CAChF,IAAI,OAAO,OAAO,EAAE,KAAK,OAAO,OAAO,EAAE,GAAG,OAAO,OAAO,KAAK;CAC/D,OAAO,cAAc,IAAI,IAAI,GAAG,CAAC;AACnC;;;;;;;AAQA,MAAa,gBAAgB,GAAc,MACzCC,UAAe,CAAC,KAAKA,UAAe,CAAC,IAAI,gBAAgB,GAAG,CAAC,IAAI,OAAO,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5E/E,MAAM,QAAQ,OAAO,WAAW,OAAO,eAAe,OAAO,MAAM,CAAC;AAEpE,MAAM,EAAE,KAAK,MAAM,QAAQC;;;;;;;;;AAc3B,IAAa,sBAAb,cAAyC,OAAO,YAAiC,CAAC,CAChF,uBACA;CACE,SAAS,OAAO;CAChB,OAAO,OAAO;CACd,WAAW,OAAO;AACpB,CACF,CAAC,CAAC,CAAC;;;;;;;;;AAUH,IAAa,0BAAb,cAA6C,OAAO,YAAqC,CAAC,CACxF,2BACA;CACE,SAAS,OAAO;CAChB,SAAS,OAAO;CAChB,OAAO,OAAO;AAChB,CACF,CAAC,CAAC,CAAC;;;;;;;;AASH,IAAa,mBAAb,cAAsC,OAAO,YAA8B,CAAC,CAAC,oBAAoB;CAC/F,SAAS,OAAO;CAChB,QAAQC;AACV,CAAC,CAAC,CAAC,CAAC;AA4DJ,MAAM,eAAe,KAAa,UAA2B;CAC3D,IAAI,QAAQ,IAAI,OAAO;CACvB,IAAI,UAAU,KAAK,OAAO;CAC1B,MAAM,IAAI,IAAI,YAAY;CAC1B,MAAM,IAAI,MAAM,YAAY;CAC5B,OAAO,MAAM,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE;AACxC;AAIA,MAAM,MAAM,OAAO,KAAoB,KAAK;AAC5C,MAAM,aAAa,OAAO,KAAoB,WAAW;AACzD,MAAM,UAAU,OAAO,KAAoB,SAAS;AAEpD,MAAM,cAAc,MAClBC,YAAiB,CAAC,IACd,MACAC,YAAiB,CAAC,IAChB,aACAC,UAAe,CAAC,IACd,UACA,OAAO,KAAK;AAEtB,MAAM,mBAAmB,GAAc,SACrC,OAAO,OAAO,WAAW,CAAC,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC;AAEtD,MAAM,eAAe,GAAc,aAAsC;CACvE,IAAI,CAACA,UAAe,CAAC,KAAK,EAAE,SAAS,UAAU,SAAS,OAAO,OAAO;CACtE,IAAI,SAAS,UAAU,IAAI,WAAW,SAAS,SAAS,UAAU,IAAI,cAAc,OAClF,OAAO,EAAE,aAAa;CACxB,IAAI,EAAE,aAAa,IAAI,OAAO;CAC9B,OAAOC,aAAiB,CAAC;AAC3B;AAEA,MAAM,eAAe,MACnBH,YAAiB,CAAC,KAAKE,UAAe,CAAC,IAAI,OAAO,KAAK,EAAE,KAAK,IAAI,OAAO,KAAK;;AAGhF,MAAM,eAAe,GAAc,OACjC,CAAC,OAAO,OAAO,YAAY,CAAC,GAAG,EAAE;AAEnC,MAAM,QAAQ,MAAiB,EAAE;;AAGjC,MAAM,gBAAgB;;AAGtB,MAAM,mBAAmB,MAAsB,EAAE,QAAQ,eAAe,GAAG,CAAC,CAAC;;AAK7E,MAAM,WAAW,GAAc,GAAc,OAC3C,OAAO,OAAO,aAAa,GAAG,CAAC,GAAG,EAAE;AAEtC,MAAM,kBAAkB,YAA+B,UAA4C;CACjG,MAAM,IAAI,OAAO,MAAM,OAAO;EAAE,cAAc;EAAS,SAAS,MAAM,SAAS,KAAK,CAAC;CAAI,CAAC;CAC1F,OAAO,MAAM,MAAM,UAAU,CAAC,CAC3B,KACC,MAAM,IAAI,UAAU,MAAM,GAAG,EAAE,yBAAyB,KAAK,EAAE,KAAK,GAAG,GACvE,MAAM,IAAI,aAAa,MAAM,GAAG,EAAE,0BAA0B,KAAK,EAAE,QAAQ,GAAG,GAC9E,MAAM,IAAI,aAAa,MAAM,GAAG,EAAE,8BAA8B,EAAE,UAAU,GAC5E,MAAM,IAAI,aAAa,MAAM,aAAa,EAAE,SAAS,QAAQ,GAC7D,MAAM,IAAI,aAAa,MAAM,aAAa,EAAE,SAAS,QAAQ,GAC7D,MAAM,IAAI,iBAAiB,MAAM,GAAG,EAAE,uBAAuB,KAAK,EAAE,KAAK,GAAG,GAC5E,MAAM,IAAI,iBAAiB,MAAM,GAAG,EAAE,mCAAmC,KAAK,EAAE,KAAK,GAAG,GACxF,MAAM,IAAI,iBAAiB,MAAM,GAAG,EAAE,oBAAoB,KAAK,EAAE,KAAK,GAAG,GACzE,MAAM,IAAI,iBAAiB,MAAM,GAAG,EAAE,gCAAgC,KAAK,EAAE,KAAK,GAAG,GACrF,MAAM,IAAI,cAAc,MAAM,GAAG,EAAE,mBAAmB,EAAE,UAAU,YAAY,GAC9E,MAAM,IAAI,cAAc,MAAM,GAAG,EAAE,kBAAkB,EAAE,UAAU,YAAY,GAC7E,MAAM,IAAI,YAAY,MAAM,GAAG,EAAE,0BAA0B,MAAM,EAAE,OAAO,GAAG,GAC7E,MAAM,IACJ,eACC,MAAM,GAAG,EAAE,oCAAoC,EAAE,UAAU,KAAK,IAAI,EAAE,EACzE,GACA,MAAM,IAAI,oBAAoB,0CAA0C,GACxE,MAAM,IAAI,WAAW,MAAM,GAAG,EAAE,iCAAiC,KAAK,EAAE,SAAS,GAAG,GACpF,MAAM,IAAI,aAAa,MAAM,GAAG,EAAE,sBAAsB,KAAK,EAAE,SAAS,GAAG,GAC3E,MAAM,IAAI,aAAa,MAAM,GAAG,EAAE,kCAAkC,KAAK,EAAE,SAAS,GAAG,GACvF,MAAM,IACJ,qBACC,MAAM,GAAG,EAAE,8CAA8C,KAAK,EAAE,SAAS,GAC5E,CACF,CAAC,CACA,KACC,MAAM,IAAI,QAAQ,MAAM,GAAG,EAAE,iCAAiC,KAAK,EAAE,KAAK,GAAG,GAC7E,MAAM,IAAI,aAAa,GAAG,EAAE,uCAAuC,GACnE,MAAM,IAAI,YAAY,GAAG,EAAE,uCAAuC,GAClE,MAAM,IAAI,cAAc,GAAG,EAAE,+CAA+C,GAC5E,MAAM,IAAI,SAAS,MAAM,GAAG,EAAE,6BAA6B,KAAK,EAAE,KAAK,GAAG,GAC1E,MAAM,IAAI,aAAa,MAAM,GAAG,EAAE,sCAAsC,KAAK,EAAE,KAAK,GAAG,GACvF,MAAM,IACJ,sBACC,MAAM,aAAa,EAAE,MAAM,2BAA2B,KAAK,EAAE,KAAK,GACrE,GACA,MAAM,IACJ,sBACC,MAAM,aAAa,EAAE,MAAM,2BAA2B,KAAK,EAAE,KAAK,GACrE,GACA,MAAM,IACJ,gBAEE,uDAAuD,OAAO,MAAM,OAAO;EAAE,cAAc;EAAI,QAAQ;CAAK,CAAC,EAAE,EACnH,GACA,MAAM,IAAI,aAAa,MAAM,0BAA0B,KAAK,EAAE,KAAK,GAAG,GACtE,MAAM,IAAI,YAAY,GAAG,EAAE,kCAAkC,GAC7D,MAAM,IAAI,UAAU,mBAAmB,GAAG,EAAE,oCAAoC,GAChF,MAAM,UACR;AACJ;AAEA,MAAM,WAAW,MAAcE,QAAa,OAAO,CAAC,GAAG,IAAI,OAAO;AAClE,MAAM,WAAW,MAAeA,QAAa,OAAO,CAAC,GAAG,IAAI,OAAO;AACnE,MAAM,YAAY,UAChBA,QAAa,MAAM,IAAIC,OAAe,CAAC,CAAC,KAAK,IAAI,CAAC;;AAGpD,MAAM,kBACJ,eACgD;CAChD,OAAO,MAAM,MAAM,UAAU,CAAC,CAC3B,KACC,MAAM,eAA4D,GAClE,MAAM,IAAI,UAAU,MAAM,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,GAC9C,MAAM,IAAI,aAAa,MAAM,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,GACvD,MAAM,IAAI,aAAa,MAAM,CAAC,CAAC,YAAYC,UAAe,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAC5E,MAAM,IAAI,aAAa,MAAM,CAAC,CAAC,YAAY,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAChE,MAAM,IAAI,aAAa,MAAM,CAAC,CAAC,YAAY,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAChE,MAAM,IAAI,iBAAiB,MAAM,CAAC,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,GAC5D,MAAM,IAAI,iBAAiB,MAAM,CAAC,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,GAC5D,MAAM,IAAI,iBAAiB,MAAM,CAAC,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,GAC5D,MAAM,IAAI,iBAAiB,MAAM,CAAC,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,GAC5D,MAAM,IAAI,cAAc,MAAM,CAAC,CAAC,aAAa,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GACnE,MAAM,IAAI,cAAc,MAAM,CAAC,CAAC,aAAa,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GACnE,MAAM,IAAI,YAAY,MAAM,CAC1B,CAAC,WAAWF,QAAa,EAAE,OAAO,CAAC,GACnC,CAAC,SAASA,QAAa,EAAE,KAAK,CAAC,CACjC,CAAC,GACD,MAAM,IAAI,eAAe,MAAM,CAAC,CAAC,cAAcA,QAAa,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GACrF,MAAM,IAAI,oBAAoB,CAAC,CAAC,cAAc,QAAQ,IAAI,CAAC,CAAC,CAAC,GAC7D,MAAM,IAAI,WAAW,MAAM,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,GACpD,MAAM,IAAI,aAAa,MAAM,CAAC,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,GACxD,MAAM,IAAI,aAAa,MAAM,CAAC,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,GACxD,MAAM,IAAI,qBAAqB,MAAM,CAAC,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC,CAC1E,CAAC,CACA,KACC,MAAM,IAAI,QAAQ,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAC1C,MAAM,IAAI,QAAQ,MAAM,CAAC,CAAC,OAAO,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,GACrD,MAAM,IAAI,OAAO,MAAM,CAAC,CAAC,MAAM,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,GACnD,MAAM,IAAI,SAAS,MAAM,CAAC,CAAC,QAAQ,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,GACvD,MAAM,IAAI,SAAS,MAAM,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,GAC5C,MAAM,IAAI,aAAa,MAAM,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,GACpD,MAAM,IAAI,sBAAsB,MAAM;EACpC,CAAC,uBAAuB,EAAE,KAAK;EAC/B,CAAC,qBAAqB,QAAQ,EAAE,KAAK,CAAC;EACtC,CAAC,gCAAgC,QAAQ,EAAE,QAAQ,CAAC;CACtD,CAAC,GACD,MAAM,IAAI,sBAAsB,MAAM;EACpC,CAAC,uBAAuB,EAAE,KAAK;EAC/B,CAAC,qBAAqB,QAAQ,EAAE,KAAK,CAAC;EACtC,CAAC,gCAAgC,QAAQ,EAAE,QAAQ,CAAC;CACtD,CAAC,GACD,MAAM,IAAI,WAAW,MAAM,CACzB,CAAC,UAAU,QAAQ,IAAI,CAAC,GACxB,CAAC,qBAAqB,SAAS,EAAE,iBAAiB,CAAC,CACrD,CAAC,GACD,MAAM,IAAI,aAAa,MAAM,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,GACpD,MAAM,IAAI,OAAO,MAAM,CAAC,CAAC,MAAM,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,GACnD,MAAM,IAAI,gBAAgB,CAAC,CAAC,GAC5B,MAAM,IAAI,cAAc,MACtB,EAAE,WAAW,KAAK,MAAM,CAACG,UAAkB,EAAE,IAAI,GAAG,EAAE,KAAK,CAAU,CACvE,GACA,MAAM,UACR;AACJ;;AAGA,MAAM,YAAY,SAChB,UAAU,SAAS,MAAM,eAAe,IAAI,KAAK,YAAYH,QAAaI,SAAc,IAAI,CAAC;;AAG/F,MAAM,sBACJ,UACA,WAEA,SAAS,KAAK,MAAMC,WAAmB,IAAI,SAAS,OAAO,eAAe,OAAO,IAAI,CAAC,CAAC,CAAC;;AAG1F,MAAM,kBACJ,YACA,SAEA,OAAO,IACL,IAAI,SAAS,aAAa,CAAC,OAAO,MAAM,IAAI,IAC3C,GAAG,OAAO,CACb;;AAGF,MAAM,mBACJ,MACA,OACA,OACA,eAEA,MAAM,MAAM,IAAI,CAAC,CAAC,KAChB,MAAM,eAAwD,GAC9D,MAAM,KAAK,cAAc,OAAO,KAAK,OAAO,KAAK,KAAK,CAAC,CAAC,GACxD,MAAM,KAAK,eAAe,OAAO,KAAK,KAAK,CAAC,GAC5C,MAAM,KAAK,cAAc,OAAO,KAAK,OAAO,IAAI,YAAY,QAAQ,CAAC,CAAC,GACtE,MAAM,aAAa,OAAO,KAAK,CAAC,CAClC;AAYF,MAAM,UAAU,OAAO,KAAsB;AAI7C,MAAM,UAAU,UACd,eAAe,aAAa,IAAI,IAAI,QAAQ,MAAM,EAAE,GAAG,CAAC;AAK1D,MAAM,UAAU,SAAgB,MAAuB;CACrD,IAAI,CAAC,eAAe,IAAI,KAAK,EAAE,GAAG,GAAG,eAAe,IAAI,KAAK,EAAE,KAAK,CAAC;AACvE;AAEA,MAAM,YAAY,UAChB,IAAI,aAAa,eAAe,OAAO,KAAK,CAAC;AAK/C,MAAM,YAAyB,YAAY,YAAY,aAAa;AACpE,MAAM,WAAwB,eAAe,eAAe;AAC5D,MAAM,aAA0B,eAAe,eAAe;AAE9D,MAAM,cACJ,MACA,QACA,SACA,cACW;CACX,MAAM,OAAO,eAAe,MAAuB;CACnD,MAAM,SAAe,eAAe,MAAM;CAC1C,MAAM,kBAAkB,eAAe,MAAoB;CAC3D,MAAM,cAAc,QAAQ,YAAY;CAGxC,MAAM,uBAAuB,QAA+B;EAC1D,MAAM,OAAa,eAAe,KAAK,IAAI,GAAG;EAC9C,MAAM,UAAU,QAAkC;GAChD,IAAI,eAAe,IAAI,MAAM,IAAI,GAAG,GAAG,OAAO;GAC9C,eAAe,IAAI,MAAM,IAAI,GAAG;GAChC,OAAO;EACT;EACA,MAAM,aACJ,aAEA,IAAI,qBAAqB,QAAQ,IAC7B,OAAO,KAAK,IACZ,OAAO,KAAK,CACV,KAAA,GACA,IAAI,QAAQ,WAAW,MACrBP,UAAe,CAAC,IACZ,CAAC,IACD,IAAI,OAAOQ,UAAkB,MAAM,GAAG,KAAK,UAAU,GAAG,MAAM,CACpE,CACF,CAAC;EACP,SAAS,QACP,SAAS,OAA6C,CAAC,GAAG,GAAG,SAAS,GACtE,SACF;EACA,eAAe,IAAI,iBAAiB,IAAI,KAAK,IAAI;EACjD,OAAO;CACT;CACA,MAAM,kBAAkB,QACtB,OAAO,UAAU,eAAe,IAAI,iBAAiB,IAAI,GAAG,SAAS,oBAAoB,GAAG,CAAC;CAC/F,MAAM,gBAAgB,MAAuB,QAC3C,CAACR,UAAe,IAAI,KACpBQ,UAAkB,MAAM,MAAM,IAAI,IAAI,CAAC,CAAC,MAAM,MAC5C,eAAe,IAAI,eAAe,CAAC,GAAG,IAAI,GAAG,CAC/C;CACF,MAAM,eAAe,QAAuD;EAC1E,MAAM,MAAa,eAAe,MAAM;EACxC,IAAI,QAAQC,MAAc,MAAM,EAAE,WAAW,IAAI,KAAK,CAAC,IAAI,MAAM;GAC/D,IACE,CAAC,eAAe,IAAI,KAAK,EAAE,QAAQ,GAAG,KACtC,eAAe,IAAI,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,GAEpD,eAAe,IAAI,KAAK,EAAE,QAAQ,KAAK,EAAE,OAAO;EACpD,CAAC;EACD,OAAO,SAAS,GAAG;CACrB;CAEA,MAAMC,eAAa,GAAoB,MACrCV,UAAe,CAAC,IAAI,CAAC,IAAIQ,UAAkB,MAAM,GAAG,CAAC;CAEvD,MAAM,aAAa,OACjB,OAAO,UAAUG,IAAW,QAAQ,EAAE,UAAwB;EAC5D,MAAM;EACN;EACA,SAAS,CAAC;EACV,aAAa,CAAC;EACd,UAAU,GAAG;EACb,UAAU,CAAC;EACX,aAAa;CACf,EAAE;CAEJ,MAAM,eACJ,OACA,YAEA,QAAQ,WAAW,WACf,OAAO,QAAQ,CAAC,CAAC,IACjB,OAAO,KACL,IAAI,wBAAwB;EAC1B,SAAS,GAAG,QAAQ,iBAAiB,MAAM,GAAG,IAAI;EAClD;EACA,OAAO,MAAM,GAAG;CAClB,CAAC,CACH;CAEN,MAAM,aACJ,OACA,UAEA,QAAQ,cAAc,WAClB,OAAO,QAAQ,CAAC,CAAC,IACjB,OAAO,KACL,IAAI,oBAAoB;EACtB,SAAS,SAAS,MAAM,GAAG,IAAI,+BAA+B,MAAM;EACpE,OAAO,MAAM,GAAG;EAChB,WAAW,MAAM;CACnB,CAAC,CACH;CAEN,MAAM,iBACJ,OACA,UAEA,OAAO,cAAc;EACnB,IAAI,MAAM,aAAa,OAAO,OAAO,QAAQ,CAAC,CAAC;EAC/C,MAAM,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM;EACrC,MAAM,SAAS,eAAe,IAAI,MAAM,GAAG;EAC3C,IAAI,OAAO,OAAO,MAAM,GAAG,OAAO,OAAO,QAAQ,OAAO,KAAK;EAC7D,IAAI,eAAe,IAAI,QAAQ,GAAG,GAAG,OAAO,UAAU,OAAO,KAAK;EAClE,eAAe,IAAI,QAAQ,GAAG;EAC9B,MAAM,aAAa,UAAU,SAAS,OAAO,eAAe,IACxDC,SAAc,MAAM,OAAO,MAAM,IAAI,IACrC,CAAC,KAAK;EACV,OAAO,OAAO,QAAQ,MAAM,cAAc,MAAMC,WAAS,OAAO,OAAO,YAAY,CAAC,GAAG,EACrF,aAAa,EACf,CAAC,CAAC,CAAC,KACD,OAAO,KAAK,OAAO;GACjB,MAAM,UAAU,GAAG,KAAK;GACxB,eAAe,OAAO,QAAQ,GAAG;GACjC,eAAe,IAAI,MAAM,KAAK,OAAO;GACrC,OAAO;EACT,CAAC,CACH;CACF,CAAC;CAEH,MAAM,YACJ,IACA,SAEA,OAAO,IAAI,cAAc,UAAU,EAAE,GAAG,IAAI,IAAI,OAAO,IAAI,qBAAqB,EAAE,CAAC;CAErF,MAAM,iBAAiB,IAAoB,MAAuB,cAAc,UAAU,EAAE,GAAG,CAAC;CAEhG,MAAMA,aAAW,OAAO,WAAW,WACjC,OACA,OACA,YACA,YACwC;EACxC,MAAM,YAAYC,YAAmB,UAAU;EAC/C,MAAM,YAAY,UAAU,SAAS,OAAO,eAAe,IACvD,OAAO,KAAK,MAAM,IAAI,IACtB,OAAO,KAAgB;EAC3B,MAAM,aAAa,eAAe,UAAU;EAC5C,MAAM,UACJ,OACA,QAAmE,CAAC,MACjE;GACH,MAAM,aAAa,MAAM,SAAS,KAAA,IAAY,YAAY,OAAO,KAAK,MAAM,IAAI;GAChF,OAAOC,WAA4B;IACjC,WAAW;IACX,aAAa,MAAM;IACnB,2BAA2B;IAC3B,UAAU,MAAM;IAChB;IACA;IACA,UAAU,IAAI,wBAAwB,MAAM,QAAQ,IAChD,mBAAmB,MAAM,WAAW,SAClC,OAAO,UAAU,gBAAgB,MAAM,OAAO,OAAO,UAAU,SAC7D,eAAe,YAAY,IAAI,CACjC,CACF,IACA,CAACb,QAAa,eAAe,YAAY,KAAK,CAAC,CAAC;IACpD,SAAS,cAAe,MAAM,WAAW,CAAC,IAAK,CAAC;GAClD,CAAC;EACH;EACA,MAAM,QAAQ,WACZ,WAAW,OAAO,MAAM,CAAC,CAAC,KAAK,MAAM,OAAO,OAAO,KAAK,CAAC,CAAC,CAAC;EAC7D,MAAM,WAAW,SAAwC,UACvD,OAAO,IACL,OAAO,QACL,aACC,MACC,OAAO,IACL,OAAO,QAAQ,UAAU,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,IACrE,WAAW;GACV,MAAM,aAAa,OAAO,QAAQ,OAAO,IAAI,qBAAqB,EAAE,CAAC,CAAC,CAAC;GACvE,OAAO,MAAM,YAAY,QAAQ,MAAM,IACnC,CAAC,OAAO,OAAO,KAAK,CAAC,GAAG,EAAE,SAAS,OAAO,KAAK,EAAE,CAAC,CAAC,IACnD,CAAC;EACP,CACF,GACF,EAAE,aAAa,EAAE,CACnB,IACC,YAAY,QAAQ,KAAK,CAC5B;EAGF,MAAM,kBAAkB,MAKtB,OAAO,IACL,OAAO,OAAO,aAAa,MACzB,OAAO,QAAQ,SAAS,EAAE,OAAO,CAAC,IAAI,OACpC,CAAC,MAAM,CAAC,EAAE,WACN,OAAO,QAAQ,EAAE,IACjB,OAAO,IACL,OAAO,UAAU,EAAE,WAAW,MAAM,SAAS,GAAG,CAAC,CAAC,GAClD,OAAO,MACT,CACN,CACF,IACC,YAAY,QAAQ,MACvB;EACF,MAAM,YAAY,WAA2B,OAC3C,OAAO,WAAW;GAChB,MAAM,SAASQ,YAAU,OAAO,SAAS;GACzC,OAAO,IAAI,QAAQ,aAAa,MAC9B,IAAI,IACF,IAAI,OAAO,SAAS,MAAM,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,SACtC,OAAO,OAAO,KAAK,CAAC,CAAC,CAC7B,CACF;EACF,CAAC;EAEH,OAAO,OAAO,MAAM,MAAM,UAAU,CAAC,CAClC,KACC,MAAM,IAAI,UAAU,MAAM,OAAO,WAAW,MAAM,MAAM,CAAC,aAAa,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GACnF,MAAM,IAAI,aAAa,MAAM,OAAO,WAAW,MAAM,MAAM,CAAC,YAAY,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxF,MAAM,IAAI,aAAa,MACrB,OAAO,WAAW,MAAM,MAAM,CAAC,gBAAgB,GAAG,EAAE,QAAQ,CAAC,CAAC,CAChE,GACA,MAAM,IAAI,aAAa,MACrB,OAAO,WAAY,WAAW,SAAS,EAAE,WAAW,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAE,CAC7E,GACA,MAAM,IAAI,aAAa,MACrB,OAAO,WAAY,WAAW,SAAS,EAAE,WAAW,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAE,CAC7E,GACA,MAAM,IAAI,iBAAiB,MACzB,OAAO,WAAW,MAAM,MAAM,CAAC,QAAQ,GAAG,EAAE,QAAQ,MAAM,MAAM,CAAC,CAAC,CAAC,CACrE,GACA,MAAM,IAAI,iBAAiB,MACzB,OAAO,WAAW,MAAM,MAAM,CAAC,QAAQ,GAAG,EAAE,QAAQ,MAAM,MAAM,EAAE,CAAC,CAAC,CACtE,GACA,MAAM,IAAI,iBAAiB,MACzB,OAAO,WAAW,MAAM,MAAM,CAAC,QAAQ,GAAG,EAAE,QAAQ,MAAM,MAAM,EAAE,CAAC,CAAC,CACtE,GACA,MAAM,IAAI,iBAAiB,MACzB,OAAO,WAAW,MAAM,MAAM,CAAC,QAAQ,GAAG,EAAE,QAAQ,MAAM,MAAM,CAAC,CAAC,CAAC,CACrE,GACA,MAAM,IAAI,cAAc,MACtB,OAAO,WAAW,MAAM,MAAM,YAAY,IAAI,MAAM,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CACzF,GACA,MAAM,IAAI,cAAc,MACtB,OAAO,WAAW,MAAM,MAAM,YAAY,IAAI,MAAM,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CACzF,GACA,MAAM,IAAI,YAAY,MACpB,OAAO,WAAW,MAAM,MAAM,YAAY,IAAI,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACvE,GACA,MAAM,IAAI,eAAe,MACvB,OAAO,WACL,MACG,MACC,CAACV,UAAe,CAAC,KAAK,CAAC,EAAE,UAAU,MAAM,UAAU,YAAY,EAAE,UAAU,KAAK,CAAC,CACrF,CACF,CACF,GACA,MAAM,IAAI,oBACR,OAAO,WAAW;GAChB,MAAM,YAAY,IAAI,QAAQ,aAAa,MACzCA,UAAe,CAAC,KAAK,EAAE,aAAa,KAAK,CAAC,EAAE,SAAS,YAAY,CAAC,IAAI,CAAC,CACzE;GACA,OAAO,IAAI,IACT,IAAI,OAAO,OAAO,OAAO,IAAI,QAAQ,WAAW,QAAQ,CAAC,IAAI,MAAM,EAAE,SAAS,CAAC,SACzE,OAAO,OAAO,CACtB;EACF,CAAC,CACH,GACA,MAAM,IAAI,WAAW,MACnB,OAAO,WAAW;GAChB,MAAM,SAASU,YAAU,OAAO,EAAE,SAAS;GAC3C,MAAM,YAAY,OAAO,MAAM;GAC/B,MAAM,YAAY,OAAO,UAAU;GACnC,OAAO,CACL,GAAG,WACA,QAAQ,MAAM,CAAC,eAAe,IAAI,WAAW,EAAE,GAAG,CAAC,CAAC,CACpD,KAAK,MAAM,OAAO,OAAO,KAAK,CAAC,CAAC,CAAC,GACpC,GAAG,OACA,QAAQ,MAAM,CAAC,eAAe,IAAI,WAAW,EAAE,GAAG,CAAC,CAAC,CACpD,KAAK,MAAM,OAAO,OAAO,KAAK,CAAC,CAAC,CAAC,CACtC;EACF,CAAC,CACH,GACA,MAAM,IAAI,aAAa,MACrB,OAAO,WAAW;GAChB,MAAM,YAAY,OAAOA,YAAU,OAAO,EAAE,SAAS,CAAC;GACtD,OAAO,MAAM,MAAM,eAAe,IAAI,WAAW,EAAE,GAAG,CAAC;EACzD,CAAC,CACH,GACA,MAAM,IAAI,aAAa,MAAM,SAAS,EAAE,YAAY,MAAM,MAAM,EAAE,CAAC,GACnE,MAAM,IAAI,qBAAqB,MAAM,SAAS,EAAE,YAAY,MAAM,MAAM,CAAC,CAAC,GAC1E,MAAM,IAAI,QAAQ,MAChB,OAAO,IAAI,aAAa;GAEtB,QAAO,OADmB,OAAO,OAAO,aAAa,MAAM,SAAS,EAAE,OAAO,CAAC,CAAC,EAAA,CAC7D,KAAK,MAAM,OAAO,OAAO,KAAK,CAAC,CAAC,CAAC;EACrD,CAAC,CACH,CACF,CAAC,CACA,KACC,MAAM,IAAI,QAAQ,MAAM,QAAQ,EAAE,QAAQ,QAAQ,CAAC,GACnD,MAAM,IAAI,OAAO,MAAM,QAAQ,EAAE,QAAQ,OAAO,CAAC,GACjD,MAAM,IAAI,SAAS,MAAM,QAAQ,EAAE,QAAQ,SAAS,CAAC,GACrD,MAAM,IAAI,SAAS,MACjB,OAAO,IAAI,aAAa;GACtB,MAAM,SAAS,EAAE;GASjB,QAAO,OARgB,OAAO,QAC5B,aACC,MACC,OAAO,IAAI,cAAc,QAAQ,CAAC,IAAI,OACpC,IAAI,wBAAwB,EAAE,IAAI,CAAC,OAAO,OAAO,KAAK,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CACjF,GACF,EAAE,aAAa,EAAE,CACnB,EAAA,CACe,KAAK;EACtB,CAAC,CACH,GACA,MAAM,IAAI,aAAa,MACrB,OAAO,IAAI,aAAa;GACtB,MAAM,WAAW,UAAU,EAAE,KAAK;GAIlC,QAAO,OAHgB,OAAO,QAAQ,aAAa,MAAM,cAAc,UAAU,CAAC,GAAG,EACnF,aAAa,EACf,CAAC,EAAA,CACc,KAAK;EACtB,CAAC,CACH,GACA,MAAM,IAAI,sBAAsB,MAC9B,OAAO,IAAI,eAAe,CAAC,IAAI,UAAW,QAAQ,EAAE,QAAQ,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAE,CACrF,GACA,MAAM,IAAI,sBAAsB,MAC9B,OAAO,IAAI,eAAe,CAAC,IAAI,UAAW,QAAQ,EAAE,QAAQ,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAE,CACrF,GACA,MAAM,IAAI,WAAW,MACnB,OAAO,WAAW;GAChB,MAAM,UAAU,OAAO,EAAE,iBAAiB;GAC1C,OAAO,IAAI,QAAQ,aAAa,MAC9BV,UAAe,CAAC,IACZ,CAAC,IACD,IAAI,QAAQS,MAAc,MAAM,EAAE,SAAS,EAAE,CAAC,IAAI,MAChD,eAAe,IAAI,SAAS,EAAE,UAAU,GAAG,IACvC,CAAC,IACD,CAAC,OAAO,OAAO,KAAK,EAAE,MAAM,GAAG,EAAE,MAAMO,UAAe,EAAE,SAAS,EAAE,CAAC,CAAC,CAC3E,CACN;EACF,CAAC,CACH,GACA,MAAM,IAAI,aAAa,MACrB,OAAO,WACL,WAAW,MAAM,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,CACvE,CACF,GACA,MAAM,IAAI,OAAO,MACf,OAAO,WAAW;GAChB,MAAM,UAAU,OAAO,EAAE,MAAM;GAC/B,OAAO,MAAM,MAAM,CAAC,eAAe,IAAI,SAAS,EAAE,GAAG,CAAC;EACxD,CAAC,CACH,GACA,MAAM,IAAI,UAAU,cAAc,MAChC,OAAO,IAAI,aAAa;GACtB,IAAI,OAAO,OAAO,SAAS,GACzB,OAAO,OAAO,YACZ,OACA,UAAU,SAAS,GAAG,QAAQ,IAC1B,cACA,wBAAwB,EAAE,UAAU,KAC1C;GAUF,QAAO,OARmB,UAAU,MAAM,mBAAmB;IAC3D,WAAW;IACX,aAAa;IACb;IACA,YAAY;IACZ,WAAW;IACX;GACF,CAAC,EAAA,CACiB,KAAK,cAAc;IACnC,MAAM,YAAY,UAAU,aAAa;IACzC,MAAM,QAAQ,OAAO,cAAc,UAAU,KAAK;IAClD,MAAM,aACJ,UAAU,SAAS,KAAA,IAAY,OAAO,KAAK,UAAU,IAAI,IAAI;IAC/D,MAAM,UAAU,SACd,KACE,OAAO,cAAc,UAAU,UAAU,IAAI,IAAI,CAAC,GAClD,OAAO,aAAa,eAAe,YAAY,IAAI,CAAC,GACpD,OAAO,aACL,OAAO,QAAQ,gBAAgB,MAAM,WAAW,OAAO,UAAU,CAAC,CACpE,CACF;IACF,MAAM,YACJ,UAAU,aAAa,KAAA,KAAa,IAAI,wBAAwB,UAAU,QAAQ,IAC9E,UAAU,WACV,MAAM;IACZ,OAAOD,WAA4B;KACjC;KACA,aAAa,MAAM;KACnB,2BAA2B;KAC3B,kBAAkB,UAAU,SAAS,GAAG,QAAQ,IAC5C,OAAO,KAAK,EAAE,IAAI,IAClB,OAAO,KAAK;KAChB,UAAU,UAAU,YAAY,MAAM;KACtC;KACA;KACA,UAAU,IAAI,wBAAwB,SAAS,IAC3C,mBAAmB,WAAW,MAAM,IACpC,CAACb,QAAa,eAAe,GAAG,KAAK,CAAC,CAAC;IAC7C,CAAC;GACH,CAAC;EACH,CAAC,CACH,GACA,MAAM,UACR;CACJ,CAAC;CA2CD,OAAO;EAAE;EAAe,YAzCL,OAAO,WAAW,WACnC,OAC+D;GAC/D,MAAM,MAAa,eAAe,MAAM;GACxC,MAAM,MAAM,OAAO,GAAG;GACtB,OAAO,OAAO,QACZ,MAAM,SACN,OAAO,WAAW,WAAW,QAAQ;IACnC,OAAO,MAAM,MAAM,MAAM,CAAC,CAAC,KACzB,MAAM,IAAI,eAAe,MAAM,OAAO,WAAW,IAAI,EAAE,IAAI,CAAC,CAAC,GAC7D,MAAM,IAAI,gBAAgB,MACxB,OAAO,WAAW,IAAI,QAAQ,YAAY,EAAE,KAAK,GAAG,GAAG,CAAC,CAC1D,GACA,MAAM,IAAI,qBAAqB,MAC7B,OAAO,WACL,IAAI,QAAQO,MAAc,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,IAAI,MAAM,IAAI,EAAE,OAAO,CAAC,CACpF,CACF,GACA,MAAM,IAAI,oBAAoB,MAC5B,OAAO,WACL,IAAI,QAAQA,MAAc,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,IAAI,MAAM,IAAI,EAAE,MAAM,CAAC,CACnF,CACF,GACA,MAAM,IAAI,iBAAiB,MACzB,OAAO,MAAM,WAAW;KACtB,cAAc,YAAY,OAAO,WAAW;KAC5C,SAAS,OACP,OAAO,IACL,GAAG,cAAc;MAAE,WAAW;MAAM,aAAa;MAAQ;MAAO,QAAQ,EAAE;KAAK,CAAC,IAC/E,UAAU,IAAI,QAAQ,OAAO,GAAG,CACnC;IACJ,CAAC,CACH,GACA,MAAM,UACR;GACF,CAAC,GACD;IAAE,aAAa;IAAG,SAAS;GAAK,CAClC;GACA,OAAO,SAAS,GAAG;EACrB,CAEiC;CAAE;AACrC;AAEA,MAAM,iBACJ,WAEAQ,cAAqB,MAAM,IAAI,OAAO,QAAQ,MAAM,IAAIC,MAAa,MAAM;;AAO7E,MAAM,UAAU,OAAO,WAAW,WAChC,WACA,aACA,SACA;CACA,MAAM,SAAS,OAAO,cAAc,WAAW;CAC/C,MAAM,OACJ,QAAQ,uBAAuB,OAAOC,MAAc,WAAW,OAAO,OAAO,IAAI;CACnF,MAAM,YAAY,OAAO,OAAO,cAAcC,yBAAgC;CAC9E,OAAO;EAAE;EAAQ,QAAQ,WAAW,MAAM,QAAQ,SAAS,SAAS;CAAE;AACxE,CAAC;;;;;;;;;;;AAYD,MAAa,WAI4D,OAAO,GAC9E,gBACF,CAAC,CAAC,WAAW,WAAW,aAAa,UAAU,CAAC,GAAG;CACjD,MAAM,EAAE,QAAQ,WAAW,OAAO,QAAQ,WAAW,aAAa,OAAO;CACzE,OAAO,OAAO,oBAAoB;EAChC,gBAAgB,OAAO,OAAO;EAC9B,aAAa,UAAU;CACzB,CAAC;CACD,MAAM,WAAW,OAAO,OAAO,QAC7B,OAAO,SACN,UACC,MAAM,eAAe,IAAI,qBAAqB,MAAM,OAAO,IACvD,OAAO,QAA0D,CAAC,CAAC,IACnE,OAAO,QAAQ,OAAO,WAAW,KAAK,IAAI,SACxC,OAAO,IACL,OAAO,QAAQ,OAAO,UAAU,OAAO,cAAc,OAAO,KAAK,GAAG,EAClE,aAAa,EACf,CAAC,IACA,OAAO,GAAG,KAAK,CAClB,CACF,GACN,EAAE,aAAa,EAAE,CACnB;CACA,MAAM,SAASC,OAAsB,SAAS,KAAK,CAAC;CACpD,OAAO,OAAO,oBAAoB;EAChC,iBAAiB,OAAO,QAAQ;EAChC,kBAAkB,OAAO;CAC3B,CAAC;CACD,OAAO;AACT,CAAC;;;;;;;;AASD,MAAa,eAM4D,OAAO,WAC9E,WAAW,WAAW,aAAa,SAAS,WAAW,UAAU,CAAC,GAAG;CACnE,MAAM,EAAE,QAAQ,WAAW,OAAO,QAAQ,WAAW,aAAa,OAAO;CACzE,MAAM,QAAQ,OAAO,eAAeV,IAAW,QAAQ,OAAO,CAAC;CAC/D,IAAI,UAAU,KAAA,GAAW,OAAOU,OAAsB,CAAC,CAAC;CACxD,OAAOA,OAAsB,OAAO,OAAO,cAAc,OAAO,SAAS,CAAC;AAC5E,CACF;;;;;;;AAQA,MAAa,YACX,WACA,aACA,YAEA,OAAO,IAAI,SAAS,WAAW,aAAa,OAAO,IAAI,MAAM,EAAE,QAAQ;;;;;;;;AASzE,MAAa,kBACX,WACA,aACA,YAEA,OAAO,QAAQ,SAAS,WAAW,aAAa,OAAO,IAAI,WACzD,OAAO,WACH,OAAO,QAAQ,SAAS,IACxB,OAAO,KAAK,IAAI,iBAAiB;CAAE,SAASC,OAAwB,MAAM;CAAG;AAAO,CAAC,CAAC,CAC5F;;;;;;;AAYF,IAAa,YAAb,cAA+B,QAAQ,QAqBrC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC;;;;;;;;AASnD,MAAa,OAGuD,OAAO,WAAW,WACpF,aACA,WAAW,CAAC,GACZ;CACA,MAAM,WAAW,OAAO,cAAc,WAAW;CACjD,MAAM,SAAS,aAA+B;EAAE,GAAG;EAAU,GAAG;CAAQ;CACxE,OAAO,UAAU,GAAG;EAClB,aAAa;EACb,WAAW,MAAM,YAAY,SAAS,MAAM,UAAU,MAAM,OAAO,CAAC;EACpE,WAAW,MAAM,YAAY,SAAS,MAAM,UAAU,MAAM,OAAO,CAAC;EACpE,QAAQ,MAAM,YAAY,eAAe,MAAM,UAAU,MAAM,OAAO,CAAC;CACzE,CAAC;AACH,CAAC;;;;;;;AAQD,MAAa,SACX,aACA,aAEA,MAAM,OAAO,WAAW,KAAK,aAAa,QAAQ,CAAC;AAwBrD,MAAM,gBAAgB,aACpB,SAAS,UAAU,GAAG,KAAK,QAAQ,IAAI,SAAS,UAAU,GAAG,QAAQ,QAAQ,IAAI;AAEnF,MAAM,gBAAgB;CAAE,MAAM;CAAG,SAAS;CAAG,WAAW;AAAE;;;;;;;;;;;;;;;;;AAkB1D,MAAa,UACX,aACA,YACsF;CACtF,MAAM,YAAY,cAAc,SAAS,UAAU;CACnD,OAAA,cAA6B,KAC3B,OAAO,SACLC,eACA,qBAAqB,gBAAgB;EACnC,SAAS,MAAuB,iBAC9B,SAAS,MAAM,aAAa,OAAO,CAAC,CAAC,KACnC,OAAO,UACJ,MAAM,IAAI,YAAY,aAAa,EAAE,SAAS,EAAE,QAAQ,GAAG,MAAM,YAAY,CAChF,GACA,OAAO,SAAS,WACd,IAAI,MACF,IAAI,OAAO,OAAO,UAAU,MAAM,aAAa,EAAE,QAAQ,KAAK,SAAS,GACvE;GACE,eAAe,OAAO,QAAQ,IAAI;GAClC,aAAa,YACX,OAAO,KACL,IAAI,YAAY,UAAA,cACQ,KACtB,IAAI,IACF,UACC,MACC,IAAI,YAAY,aACd;IAAE,SAASC,aAA8B,CAAC;IAAG,QAAQ;GAAE,GACvD,GACA,YACF,CACJ,GACA,IACF,CACF;EACJ,CACF,CACF,CACF;EACF,SAAS,SAA0B,OAAO,QAAQ,IAAI;CACxD,CAAC,CACH,CACF;AACF;;;;;;;AAQA,MAAa,aAAa;CACxB,WAAW,GAAG;CACd,SAAS,GAAG;CACZ,MAAM,GAAG;AACX"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
|
|
2
|
+
import { r as vocabulary } from "./Namespace-DHFIsORd.mjs";
|
|
3
|
+
// src/Vocab.ts
|
|
4
|
+
/**
|
|
5
|
+
* Standard vocabularies: RDF, RDFS, XSD and OWL.
|
|
6
|
+
*
|
|
7
|
+
* @since 0.1.0
|
|
8
|
+
*/
|
|
9
|
+
var Vocab_exports = /* @__PURE__ */ __exportAll({
|
|
10
|
+
commonPrefixes: () => commonPrefixes,
|
|
11
|
+
owl: () => owl,
|
|
12
|
+
rdf: () => rdf,
|
|
13
|
+
rdfs: () => rdfs,
|
|
14
|
+
xsd: () => xsd
|
|
15
|
+
});
|
|
16
|
+
/**
|
|
17
|
+
* The RDF 1.2 vocabulary.
|
|
18
|
+
*
|
|
19
|
+
* @since 0.1.0
|
|
20
|
+
* @category vocabularies
|
|
21
|
+
*/
|
|
22
|
+
const rdf = vocabulary("http://www.w3.org/1999/02/22-rdf-syntax-ns#", [
|
|
23
|
+
"type",
|
|
24
|
+
"Property",
|
|
25
|
+
"Statement",
|
|
26
|
+
"subject",
|
|
27
|
+
"predicate",
|
|
28
|
+
"object",
|
|
29
|
+
"reifies",
|
|
30
|
+
"Bag",
|
|
31
|
+
"Seq",
|
|
32
|
+
"Alt",
|
|
33
|
+
"value",
|
|
34
|
+
"List",
|
|
35
|
+
"first",
|
|
36
|
+
"rest",
|
|
37
|
+
"nil",
|
|
38
|
+
"XMLLiteral",
|
|
39
|
+
"HTML",
|
|
40
|
+
"JSON",
|
|
41
|
+
"langString",
|
|
42
|
+
"dirLangString",
|
|
43
|
+
"CompoundLiteral",
|
|
44
|
+
"language",
|
|
45
|
+
"direction",
|
|
46
|
+
"PlainLiteral"
|
|
47
|
+
]);
|
|
48
|
+
/**
|
|
49
|
+
* The RDF Schema vocabulary.
|
|
50
|
+
*
|
|
51
|
+
* @since 0.1.0
|
|
52
|
+
* @category vocabularies
|
|
53
|
+
*/
|
|
54
|
+
const rdfs = vocabulary("http://www.w3.org/2000/01/rdf-schema#", [
|
|
55
|
+
"Resource",
|
|
56
|
+
"Class",
|
|
57
|
+
"subClassOf",
|
|
58
|
+
"subPropertyOf",
|
|
59
|
+
"comment",
|
|
60
|
+
"label",
|
|
61
|
+
"domain",
|
|
62
|
+
"range",
|
|
63
|
+
"seeAlso",
|
|
64
|
+
"isDefinedBy",
|
|
65
|
+
"Literal",
|
|
66
|
+
"Container",
|
|
67
|
+
"ContainerMembershipProperty",
|
|
68
|
+
"member",
|
|
69
|
+
"Datatype"
|
|
70
|
+
]);
|
|
71
|
+
/**
|
|
72
|
+
* The XML Schema datatypes used by RDF.
|
|
73
|
+
*
|
|
74
|
+
* @since 0.1.0
|
|
75
|
+
* @category vocabularies
|
|
76
|
+
*/
|
|
77
|
+
const xsd = vocabulary("http://www.w3.org/2001/XMLSchema#", [
|
|
78
|
+
"string",
|
|
79
|
+
"boolean",
|
|
80
|
+
"decimal",
|
|
81
|
+
"integer",
|
|
82
|
+
"double",
|
|
83
|
+
"float",
|
|
84
|
+
"date",
|
|
85
|
+
"time",
|
|
86
|
+
"dateTime",
|
|
87
|
+
"dateTimeStamp",
|
|
88
|
+
"gYear",
|
|
89
|
+
"gMonth",
|
|
90
|
+
"gDay",
|
|
91
|
+
"gYearMonth",
|
|
92
|
+
"gMonthDay",
|
|
93
|
+
"duration",
|
|
94
|
+
"yearMonthDuration",
|
|
95
|
+
"dayTimeDuration",
|
|
96
|
+
"byte",
|
|
97
|
+
"short",
|
|
98
|
+
"int",
|
|
99
|
+
"long",
|
|
100
|
+
"unsignedByte",
|
|
101
|
+
"unsignedShort",
|
|
102
|
+
"unsignedInt",
|
|
103
|
+
"unsignedLong",
|
|
104
|
+
"positiveInteger",
|
|
105
|
+
"nonNegativeInteger",
|
|
106
|
+
"negativeInteger",
|
|
107
|
+
"nonPositiveInteger",
|
|
108
|
+
"hexBinary",
|
|
109
|
+
"base64Binary",
|
|
110
|
+
"anyURI",
|
|
111
|
+
"language",
|
|
112
|
+
"normalizedString",
|
|
113
|
+
"token",
|
|
114
|
+
"NMTOKEN",
|
|
115
|
+
"Name",
|
|
116
|
+
"NCName"
|
|
117
|
+
]);
|
|
118
|
+
/**
|
|
119
|
+
* The OWL 2 vocabulary (commonly used terms).
|
|
120
|
+
*
|
|
121
|
+
* @since 0.1.0
|
|
122
|
+
* @category vocabularies
|
|
123
|
+
*/
|
|
124
|
+
const owl = vocabulary("http://www.w3.org/2002/07/owl#", [
|
|
125
|
+
"Class",
|
|
126
|
+
"Thing",
|
|
127
|
+
"Nothing",
|
|
128
|
+
"Ontology",
|
|
129
|
+
"ObjectProperty",
|
|
130
|
+
"DatatypeProperty",
|
|
131
|
+
"AnnotationProperty",
|
|
132
|
+
"FunctionalProperty",
|
|
133
|
+
"InverseFunctionalProperty",
|
|
134
|
+
"TransitiveProperty",
|
|
135
|
+
"SymmetricProperty",
|
|
136
|
+
"equivalentClass",
|
|
137
|
+
"equivalentProperty",
|
|
138
|
+
"sameAs",
|
|
139
|
+
"differentFrom",
|
|
140
|
+
"inverseOf",
|
|
141
|
+
"imports",
|
|
142
|
+
"versionIRI",
|
|
143
|
+
"Restriction",
|
|
144
|
+
"onProperty",
|
|
145
|
+
"someValuesFrom",
|
|
146
|
+
"allValuesFrom",
|
|
147
|
+
"hasValue",
|
|
148
|
+
"unionOf",
|
|
149
|
+
"intersectionOf",
|
|
150
|
+
"complementOf",
|
|
151
|
+
"oneOf",
|
|
152
|
+
"NamedIndividual"
|
|
153
|
+
]);
|
|
154
|
+
/**
|
|
155
|
+
* Well-known prefixes, suitable for seeding a `PrefixMap`.
|
|
156
|
+
*
|
|
157
|
+
* @since 0.1.0
|
|
158
|
+
* @category prefixes
|
|
159
|
+
*/
|
|
160
|
+
const commonPrefixes = {
|
|
161
|
+
rdf: rdf.base,
|
|
162
|
+
rdfs: rdfs.base,
|
|
163
|
+
xsd: xsd.base,
|
|
164
|
+
owl: owl.base
|
|
165
|
+
};
|
|
166
|
+
export { rdfs as a, rdf as i, commonPrefixes as n, xsd as o, owl as r, Vocab_exports as t };
|
|
167
|
+
|
|
168
|
+
//# sourceMappingURL=Vocab-DceKywpq.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Vocab-DceKywpq.mjs","names":["Namespace.vocabulary"],"sources":["../src/Vocab.ts"],"sourcesContent":["/**\n * Standard vocabularies: RDF, RDFS, XSD and OWL.\n *\n * @since 0.1.0\n */\nimport * as Namespace from './Namespace.ts';\n\n/**\n * The RDF 1.2 vocabulary.\n *\n * @since 0.1.0\n * @category vocabularies\n */\nexport const rdf = Namespace.vocabulary('http://www.w3.org/1999/02/22-rdf-syntax-ns#', [\n 'type',\n 'Property',\n 'Statement',\n 'subject',\n 'predicate',\n 'object',\n 'reifies',\n 'Bag',\n 'Seq',\n 'Alt',\n 'value',\n 'List',\n 'first',\n 'rest',\n 'nil',\n 'XMLLiteral',\n 'HTML',\n 'JSON',\n 'langString',\n 'dirLangString',\n 'CompoundLiteral',\n 'language',\n 'direction',\n 'PlainLiteral',\n]);\n\n/**\n * The RDF Schema vocabulary.\n *\n * @since 0.1.0\n * @category vocabularies\n */\nexport const rdfs = Namespace.vocabulary('http://www.w3.org/2000/01/rdf-schema#', [\n 'Resource',\n 'Class',\n 'subClassOf',\n 'subPropertyOf',\n 'comment',\n 'label',\n 'domain',\n 'range',\n 'seeAlso',\n 'isDefinedBy',\n 'Literal',\n 'Container',\n 'ContainerMembershipProperty',\n 'member',\n 'Datatype',\n]);\n\n/**\n * The XML Schema datatypes used by RDF.\n *\n * @since 0.1.0\n * @category vocabularies\n */\nexport const xsd = Namespace.vocabulary('http://www.w3.org/2001/XMLSchema#', [\n 'string',\n 'boolean',\n 'decimal',\n 'integer',\n 'double',\n 'float',\n 'date',\n 'time',\n 'dateTime',\n 'dateTimeStamp',\n 'gYear',\n 'gMonth',\n 'gDay',\n 'gYearMonth',\n 'gMonthDay',\n 'duration',\n 'yearMonthDuration',\n 'dayTimeDuration',\n 'byte',\n 'short',\n 'int',\n 'long',\n 'unsignedByte',\n 'unsignedShort',\n 'unsignedInt',\n 'unsignedLong',\n 'positiveInteger',\n 'nonNegativeInteger',\n 'negativeInteger',\n 'nonPositiveInteger',\n 'hexBinary',\n 'base64Binary',\n 'anyURI',\n 'language',\n 'normalizedString',\n 'token',\n 'NMTOKEN',\n 'Name',\n 'NCName',\n]);\n\n/**\n * The OWL 2 vocabulary (commonly used terms).\n *\n * @since 0.1.0\n * @category vocabularies\n */\nexport const owl = Namespace.vocabulary('http://www.w3.org/2002/07/owl#', [\n 'Class',\n 'Thing',\n 'Nothing',\n 'Ontology',\n 'ObjectProperty',\n 'DatatypeProperty',\n 'AnnotationProperty',\n 'FunctionalProperty',\n 'InverseFunctionalProperty',\n 'TransitiveProperty',\n 'SymmetricProperty',\n 'equivalentClass',\n 'equivalentProperty',\n 'sameAs',\n 'differentFrom',\n 'inverseOf',\n 'imports',\n 'versionIRI',\n 'Restriction',\n 'onProperty',\n 'someValuesFrom',\n 'allValuesFrom',\n 'hasValue',\n 'unionOf',\n 'intersectionOf',\n 'complementOf',\n 'oneOf',\n 'NamedIndividual',\n]);\n\n/**\n * Well-known prefixes, suitable for seeding a `PrefixMap`.\n *\n * @since 0.1.0\n * @category prefixes\n */\nexport const commonPrefixes = {\n rdf: rdf.base,\n rdfs: rdfs.base,\n xsd: xsd.base,\n owl: owl.base,\n} as const;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAaA,MAAa,MAAMA,WAAqB,+CAA+C;CACrF;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;;;;;;;AAQD,MAAa,OAAOA,WAAqB,yCAAyC;CAChF;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;;;;;;;AAQD,MAAa,MAAMA,WAAqB,qCAAqC;CAC3E;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;;;;;;;AAQD,MAAa,MAAMA,WAAqB,kCAAkC;CACxE;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;;;;;;;AAQD,MAAa,iBAAiB;CAC5B,KAAK,IAAI;CACT,MAAM,KAAK;CACX,KAAK,IAAI;CACT,KAAK,IAAI;AACX"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { r as Vocabulary } from "./Namespace-ClTUO_ya.mjs";
|
|
2
|
+
declare namespace Vocab_d_exports {
|
|
3
|
+
export { commonPrefixes, owl, rdf, rdfs, xsd };
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* The RDF 1.2 vocabulary.
|
|
7
|
+
*
|
|
8
|
+
* @since 0.1.0
|
|
9
|
+
* @category vocabularies
|
|
10
|
+
*/
|
|
11
|
+
declare const rdf: Vocabulary<"http://www.w3.org/1999/02/22-rdf-syntax-ns#", "object" | "Bag" | "Seq" | "Alt" | "type" | "value" | "Statement" | "List" | "Property" | "subject" | "predicate" | "reifies" | "first" | "rest" | "nil" | "XMLLiteral" | "HTML" | "JSON" | "langString" | "dirLangString" | "CompoundLiteral" | "language" | "direction" | "PlainLiteral">;
|
|
12
|
+
/**
|
|
13
|
+
* The RDF Schema vocabulary.
|
|
14
|
+
*
|
|
15
|
+
* @since 0.1.0
|
|
16
|
+
* @category vocabularies
|
|
17
|
+
*/
|
|
18
|
+
declare const rdfs: Vocabulary<"http://www.w3.org/2000/01/rdf-schema#", "Literal" | "label" | "Resource" | "Class" | "subClassOf" | "subPropertyOf" | "comment" | "domain" | "range" | "seeAlso" | "isDefinedBy" | "Container" | "ContainerMembershipProperty" | "member" | "Datatype">;
|
|
19
|
+
/**
|
|
20
|
+
* The XML Schema datatypes used by RDF.
|
|
21
|
+
*
|
|
22
|
+
* @since 0.1.0
|
|
23
|
+
* @category vocabularies
|
|
24
|
+
*/
|
|
25
|
+
declare const xsd: Vocabulary<"http://www.w3.org/2001/XMLSchema#", "string" | "boolean" | "integer" | "decimal" | "double" | "short" | "language" | "float" | "date" | "time" | "dateTime" | "dateTimeStamp" | "gYear" | "gMonth" | "gDay" | "gYearMonth" | "gMonthDay" | "duration" | "yearMonthDuration" | "dayTimeDuration" | "byte" | "int" | "long" | "unsignedByte" | "unsignedShort" | "unsignedInt" | "unsignedLong" | "positiveInteger" | "nonNegativeInteger" | "negativeInteger" | "nonPositiveInteger" | "hexBinary" | "base64Binary" | "anyURI" | "normalizedString" | "token" | "NMTOKEN" | "Name" | "NCName">;
|
|
26
|
+
/**
|
|
27
|
+
* The OWL 2 vocabulary (commonly used terms).
|
|
28
|
+
*
|
|
29
|
+
* @since 0.1.0
|
|
30
|
+
* @category vocabularies
|
|
31
|
+
*/
|
|
32
|
+
declare const owl: Vocabulary<"http://www.w3.org/2002/07/owl#", "sameAs" | "Class" | "Thing" | "Nothing" | "Ontology" | "ObjectProperty" | "DatatypeProperty" | "AnnotationProperty" | "FunctionalProperty" | "InverseFunctionalProperty" | "TransitiveProperty" | "SymmetricProperty" | "equivalentClass" | "equivalentProperty" | "differentFrom" | "inverseOf" | "imports" | "versionIRI" | "Restriction" | "onProperty" | "someValuesFrom" | "allValuesFrom" | "hasValue" | "unionOf" | "intersectionOf" | "complementOf" | "oneOf" | "NamedIndividual">;
|
|
33
|
+
/**
|
|
34
|
+
* Well-known prefixes, suitable for seeding a `PrefixMap`.
|
|
35
|
+
*
|
|
36
|
+
* @since 0.1.0
|
|
37
|
+
* @category prefixes
|
|
38
|
+
*/
|
|
39
|
+
declare const commonPrefixes: {
|
|
40
|
+
readonly rdf: "http://www.w3.org/1999/02/22-rdf-syntax-ns#";
|
|
41
|
+
readonly rdfs: "http://www.w3.org/2000/01/rdf-schema#";
|
|
42
|
+
readonly xsd: "http://www.w3.org/2001/XMLSchema#";
|
|
43
|
+
readonly owl: "http://www.w3.org/2002/07/owl#";
|
|
44
|
+
};
|
|
45
|
+
export { rdfs as a, rdf as i, commonPrefixes as n, xsd as o, owl as r, Vocab_d_exports as t };
|
|
46
|
+
//# sourceMappingURL=Vocab-Df-L-IwZ.d.mts.map
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { d as NamedNode } from "./Term-B_4ezyXq.mjs";
|
|
2
|
+
import { r as Vocabulary, t as Namespace } from "./Namespace-ClTUO_ya.mjs";
|
|
3
|
+
declare namespace Vocab_d_exports {
|
|
4
|
+
export { crypto, i18n, list, log, math, prefixes, sameAs, string, time };
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* The `log:` namespace (`http://www.w3.org/2000/10/swap/log#`). `=>` is
|
|
8
|
+
* `log:implies` and `<=` is `log:isImpliedBy`.
|
|
9
|
+
*
|
|
10
|
+
* @since 0.1.0
|
|
11
|
+
* @category namespaces
|
|
12
|
+
*/
|
|
13
|
+
declare const log: Vocabulary<"http://www.w3.org/2000/10/swap/log#", "Literal" | "includes" | "Formula" | "implies" | "isImpliedBy" | "equalTo" | "notEqualTo" | "notIncludes" | "semantics" | "conclusion" | "conjunction" | "collectAllIn" | "forAllIn" | "uri" | "rawType" | "dtlit" | "langlit" | "Other" | "List">;
|
|
14
|
+
/**
|
|
15
|
+
* The `math:` namespace (`http://www.w3.org/2000/10/swap/math#`).
|
|
16
|
+
*
|
|
17
|
+
* @since 0.1.0
|
|
18
|
+
* @category namespaces
|
|
19
|
+
*/
|
|
20
|
+
declare const math: Namespace<"http://www.w3.org/2000/10/swap/math#">;
|
|
21
|
+
/**
|
|
22
|
+
* The `string:` namespace (`http://www.w3.org/2000/10/swap/string#`).
|
|
23
|
+
*
|
|
24
|
+
* @since 0.1.0
|
|
25
|
+
* @category namespaces
|
|
26
|
+
*/
|
|
27
|
+
declare const string: Namespace<"http://www.w3.org/2000/10/swap/string#">;
|
|
28
|
+
/**
|
|
29
|
+
* The `list:` namespace (`http://www.w3.org/2000/10/swap/list#`).
|
|
30
|
+
*
|
|
31
|
+
* @since 0.1.0
|
|
32
|
+
* @category namespaces
|
|
33
|
+
*/
|
|
34
|
+
declare const list: Namespace<"http://www.w3.org/2000/10/swap/list#">;
|
|
35
|
+
/**
|
|
36
|
+
* The `time:` namespace (`http://www.w3.org/2000/10/swap/time#`).
|
|
37
|
+
*
|
|
38
|
+
* @since 0.1.0
|
|
39
|
+
* @category namespaces
|
|
40
|
+
*/
|
|
41
|
+
declare const time: Namespace<"http://www.w3.org/2000/10/swap/time#">;
|
|
42
|
+
/**
|
|
43
|
+
* The `crypto:` namespace (`http://www.w3.org/2000/10/swap/crypto#`).
|
|
44
|
+
*
|
|
45
|
+
* @since 0.1.0
|
|
46
|
+
* @category namespaces
|
|
47
|
+
*/
|
|
48
|
+
declare const crypto: Namespace<"http://www.w3.org/2000/10/swap/crypto#">;
|
|
49
|
+
/**
|
|
50
|
+
* The `i18n:` namespace (`https://www.w3.org/ns/i18n#`). A literal typed
|
|
51
|
+
* `i18n:{language}_{direction}` (e.g. `"…"^^i18n:ar-eg_rtl`) is parsed as a
|
|
52
|
+
* directional language-tagged string, and directional language-tagged
|
|
53
|
+
* strings are serialised that way.
|
|
54
|
+
*
|
|
55
|
+
* @since 0.1.0
|
|
56
|
+
* @category namespaces
|
|
57
|
+
*/
|
|
58
|
+
declare const i18n: Namespace<"https://www.w3.org/ns/i18n#">;
|
|
59
|
+
/**
|
|
60
|
+
* `owl:sameAs`, written `=` in N3.
|
|
61
|
+
*
|
|
62
|
+
* @since 0.1.0
|
|
63
|
+
* @category terms
|
|
64
|
+
*/
|
|
65
|
+
declare const sameAs: NamedNode<"http://www.w3.org/2002/07/owl#sameAs">;
|
|
66
|
+
/**
|
|
67
|
+
* Prefixes for the N3 builtin namespaces.
|
|
68
|
+
*
|
|
69
|
+
* @since 0.1.0
|
|
70
|
+
* @category prefixes
|
|
71
|
+
*/
|
|
72
|
+
declare const prefixes: {
|
|
73
|
+
readonly log: "http://www.w3.org/2000/10/swap/log#";
|
|
74
|
+
readonly math: "http://www.w3.org/2000/10/swap/math#";
|
|
75
|
+
readonly string: "http://www.w3.org/2000/10/swap/string#";
|
|
76
|
+
readonly list: "http://www.w3.org/2000/10/swap/list#";
|
|
77
|
+
readonly time: "http://www.w3.org/2000/10/swap/time#";
|
|
78
|
+
readonly crypto: "http://www.w3.org/2000/10/swap/crypto#";
|
|
79
|
+
};
|
|
80
|
+
export { log as a, sameAs as c, list as i, string as l, crypto as n, math as o, i18n as r, prefixes as s, Vocab_d_exports as t, time as u };
|
|
81
|
+
//# sourceMappingURL=Vocab-Do56UgBX.d.mts.map
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
|
|
2
|
+
import { n as make, r as vocabulary } from "./Namespace-DHFIsORd.mjs";
|
|
3
|
+
// src/n3/Vocab.ts
|
|
4
|
+
/**
|
|
5
|
+
* Namespaces used by Notation3: the SWAP builtin namespaces (`log:`,
|
|
6
|
+
* `math:`, `string:`, `list:`, `time:`, `crypto:`) and the `i18n:`
|
|
7
|
+
* namespace for directional language-tagged strings.
|
|
8
|
+
*
|
|
9
|
+
* @since 0.1.0
|
|
10
|
+
*/
|
|
11
|
+
var Vocab_exports = /* @__PURE__ */ __exportAll({
|
|
12
|
+
crypto: () => crypto,
|
|
13
|
+
i18n: () => i18n,
|
|
14
|
+
list: () => list,
|
|
15
|
+
log: () => log,
|
|
16
|
+
math: () => math,
|
|
17
|
+
prefixes: () => prefixes,
|
|
18
|
+
sameAs: () => sameAs,
|
|
19
|
+
string: () => string,
|
|
20
|
+
time: () => time
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* The `log:` namespace (`http://www.w3.org/2000/10/swap/log#`). `=>` is
|
|
24
|
+
* `log:implies` and `<=` is `log:isImpliedBy`.
|
|
25
|
+
*
|
|
26
|
+
* @since 0.1.0
|
|
27
|
+
* @category namespaces
|
|
28
|
+
*/
|
|
29
|
+
const log = vocabulary("http://www.w3.org/2000/10/swap/log#", [
|
|
30
|
+
"implies",
|
|
31
|
+
"isImpliedBy",
|
|
32
|
+
"equalTo",
|
|
33
|
+
"notEqualTo",
|
|
34
|
+
"includes",
|
|
35
|
+
"notIncludes",
|
|
36
|
+
"semantics",
|
|
37
|
+
"conclusion",
|
|
38
|
+
"conjunction",
|
|
39
|
+
"collectAllIn",
|
|
40
|
+
"forAllIn",
|
|
41
|
+
"uri",
|
|
42
|
+
"rawType",
|
|
43
|
+
"dtlit",
|
|
44
|
+
"langlit",
|
|
45
|
+
"Formula",
|
|
46
|
+
"Literal",
|
|
47
|
+
"Other",
|
|
48
|
+
"List"
|
|
49
|
+
]);
|
|
50
|
+
/**
|
|
51
|
+
* The `math:` namespace (`http://www.w3.org/2000/10/swap/math#`).
|
|
52
|
+
*
|
|
53
|
+
* @since 0.1.0
|
|
54
|
+
* @category namespaces
|
|
55
|
+
*/
|
|
56
|
+
const math = make("http://www.w3.org/2000/10/swap/math#");
|
|
57
|
+
/**
|
|
58
|
+
* The `string:` namespace (`http://www.w3.org/2000/10/swap/string#`).
|
|
59
|
+
*
|
|
60
|
+
* @since 0.1.0
|
|
61
|
+
* @category namespaces
|
|
62
|
+
*/
|
|
63
|
+
const string = make("http://www.w3.org/2000/10/swap/string#");
|
|
64
|
+
/**
|
|
65
|
+
* The `list:` namespace (`http://www.w3.org/2000/10/swap/list#`).
|
|
66
|
+
*
|
|
67
|
+
* @since 0.1.0
|
|
68
|
+
* @category namespaces
|
|
69
|
+
*/
|
|
70
|
+
const list = make("http://www.w3.org/2000/10/swap/list#");
|
|
71
|
+
/**
|
|
72
|
+
* The `time:` namespace (`http://www.w3.org/2000/10/swap/time#`).
|
|
73
|
+
*
|
|
74
|
+
* @since 0.1.0
|
|
75
|
+
* @category namespaces
|
|
76
|
+
*/
|
|
77
|
+
const time = make("http://www.w3.org/2000/10/swap/time#");
|
|
78
|
+
/**
|
|
79
|
+
* The `crypto:` namespace (`http://www.w3.org/2000/10/swap/crypto#`).
|
|
80
|
+
*
|
|
81
|
+
* @since 0.1.0
|
|
82
|
+
* @category namespaces
|
|
83
|
+
*/
|
|
84
|
+
const crypto = make("http://www.w3.org/2000/10/swap/crypto#");
|
|
85
|
+
/**
|
|
86
|
+
* The `i18n:` namespace (`https://www.w3.org/ns/i18n#`). A literal typed
|
|
87
|
+
* `i18n:{language}_{direction}` (e.g. `"…"^^i18n:ar-eg_rtl`) is parsed as a
|
|
88
|
+
* directional language-tagged string, and directional language-tagged
|
|
89
|
+
* strings are serialised that way.
|
|
90
|
+
*
|
|
91
|
+
* @since 0.1.0
|
|
92
|
+
* @category namespaces
|
|
93
|
+
*/
|
|
94
|
+
const i18n = make("https://www.w3.org/ns/i18n#");
|
|
95
|
+
/**
|
|
96
|
+
* `owl:sameAs`, written `=` in N3.
|
|
97
|
+
*
|
|
98
|
+
* @since 0.1.0
|
|
99
|
+
* @category terms
|
|
100
|
+
*/
|
|
101
|
+
const sameAs = make("http://www.w3.org/2002/07/owl#")("sameAs");
|
|
102
|
+
/**
|
|
103
|
+
* Prefixes for the N3 builtin namespaces.
|
|
104
|
+
*
|
|
105
|
+
* @since 0.1.0
|
|
106
|
+
* @category prefixes
|
|
107
|
+
*/
|
|
108
|
+
const prefixes = {
|
|
109
|
+
log: log.base,
|
|
110
|
+
math: math.base,
|
|
111
|
+
string: string.base,
|
|
112
|
+
list: list.base,
|
|
113
|
+
time: time.base,
|
|
114
|
+
crypto: crypto.base
|
|
115
|
+
};
|
|
116
|
+
export { log as a, sameAs as c, list as i, string as l, crypto as n, math as o, i18n as r, prefixes as s, Vocab_exports as t, time as u };
|
|
117
|
+
|
|
118
|
+
//# sourceMappingURL=Vocab-TfpWG1Ne.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Vocab-TfpWG1Ne.mjs","names":["Namespace.vocabulary","Namespace.make"],"sources":["../src/n3/Vocab.ts"],"sourcesContent":["/**\n * Namespaces used by Notation3: the SWAP builtin namespaces (`log:`,\n * `math:`, `string:`, `list:`, `time:`, `crypto:`) and the `i18n:`\n * namespace for directional language-tagged strings.\n *\n * @since 0.1.0\n */\nimport * as Namespace from '../Namespace.ts';\n\n/**\n * The `log:` namespace (`http://www.w3.org/2000/10/swap/log#`). `=>` is\n * `log:implies` and `<=` is `log:isImpliedBy`.\n *\n * @since 0.1.0\n * @category namespaces\n */\nexport const log = Namespace.vocabulary('http://www.w3.org/2000/10/swap/log#', [\n 'implies',\n 'isImpliedBy',\n 'equalTo',\n 'notEqualTo',\n 'includes',\n 'notIncludes',\n 'semantics',\n 'conclusion',\n 'conjunction',\n 'collectAllIn',\n 'forAllIn',\n 'uri',\n 'rawType',\n 'dtlit',\n 'langlit',\n 'Formula',\n 'Literal',\n 'Other',\n 'List',\n]);\n\n/**\n * The `math:` namespace (`http://www.w3.org/2000/10/swap/math#`).\n *\n * @since 0.1.0\n * @category namespaces\n */\nexport const math = Namespace.make('http://www.w3.org/2000/10/swap/math#');\n\n/**\n * The `string:` namespace (`http://www.w3.org/2000/10/swap/string#`).\n *\n * @since 0.1.0\n * @category namespaces\n */\nexport const string = Namespace.make('http://www.w3.org/2000/10/swap/string#');\n\n/**\n * The `list:` namespace (`http://www.w3.org/2000/10/swap/list#`).\n *\n * @since 0.1.0\n * @category namespaces\n */\nexport const list = Namespace.make('http://www.w3.org/2000/10/swap/list#');\n\n/**\n * The `time:` namespace (`http://www.w3.org/2000/10/swap/time#`).\n *\n * @since 0.1.0\n * @category namespaces\n */\nexport const time = Namespace.make('http://www.w3.org/2000/10/swap/time#');\n\n/**\n * The `crypto:` namespace (`http://www.w3.org/2000/10/swap/crypto#`).\n *\n * @since 0.1.0\n * @category namespaces\n */\nexport const crypto = Namespace.make('http://www.w3.org/2000/10/swap/crypto#');\n\n/**\n * The `i18n:` namespace (`https://www.w3.org/ns/i18n#`). A literal typed\n * `i18n:{language}_{direction}` (e.g. `\"…\"^^i18n:ar-eg_rtl`) is parsed as a\n * directional language-tagged string, and directional language-tagged\n * strings are serialised that way.\n *\n * @since 0.1.0\n * @category namespaces\n */\nexport const i18n = Namespace.make('https://www.w3.org/ns/i18n#');\n\n/**\n * `owl:sameAs`, written `=` in N3.\n *\n * @since 0.1.0\n * @category terms\n */\nexport const sameAs = Namespace.make('http://www.w3.org/2002/07/owl#')('sameAs');\n\n/**\n * Prefixes for the N3 builtin namespaces.\n *\n * @since 0.1.0\n * @category prefixes\n */\nexport const prefixes = {\n log: log.base,\n math: math.base,\n string: string.base,\n list: list.base,\n time: time.base,\n crypto: crypto.base,\n} as const;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAa,MAAMA,WAAqB,uCAAuC;CAC7E;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;;;;;;;AAQD,MAAa,OAAOC,KAAe,sCAAsC;;;;;;;AAQzE,MAAa,SAASA,KAAe,wCAAwC;;;;;;;AAQ7E,MAAa,OAAOA,KAAe,sCAAsC;;;;;;;AAQzE,MAAa,OAAOA,KAAe,sCAAsC;;;;;;;AAQzE,MAAa,SAASA,KAAe,wCAAwC;;;;;;;;;;AAW7E,MAAa,OAAOA,KAAe,6BAA6B;;;;;;;AAQhE,MAAa,SAASA,KAAe,gCAAgC,CAAC,CAAC,QAAQ;;;;;;;AAQ/E,MAAa,WAAW;CACtB,KAAK,IAAI;CACT,MAAM,KAAK;CACX,QAAQ,OAAO;CACf,MAAM,KAAK;CACX,MAAM,KAAK;CACX,QAAQ,OAAO;AACjB"}
|
package/dist/Vocab.d.mts
ADDED
package/dist/Vocab.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { n as commonPrefixes, r as owl, i as rdf, a as rdfs, o as xsd } from "./Vocab-DceKywpq.mjs";
|