@thomasfosterau/effect-rdf 0.0.0-stage → 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 +2251 -2
- 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 +195 -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":"Generator-D3utCJC7.mjs","names":["PrefixMap.make","PrefixMap.compact","Term.escapeIri","Term.escapeString","Term.isNamedNode","Term.isVariable","Term.isDefaultGraph"],"sources":["../src/sparql/Generator.ts"],"sourcesContent":["/**\n * Generates SPARQL text from the AST.\n *\n * The output is designed to round-trip: parsing the generated text yields\n * an AST that generates the same text again. Expressions and property paths\n * are fully parenthesised, IRIs are compacted with the prologue's prefixes\n * where possible, and numeric/boolean literals use the short syntax when\n * their lexical form allows it.\n *\n * @since 0.1.0\n */\nimport * as Arr from 'effect/Array';\nimport * as Match from 'effect/Match';\nimport * as Option from 'effect/Option';\nimport * as Predicate from 'effect/Predicate';\nimport * as Record from 'effect/Record';\nimport * as PrefixMap from '../PrefixMap.ts';\nimport * as Term from '../Term.ts';\nimport type * as Ast from './Ast.ts';\n\nconst XSD = 'http://www.w3.org/2001/XMLSchema#';\nconst RDF_TYPE = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type';\n\n/**\n * @since 0.1.0\n * @category models\n */\nexport interface GenerateOptions {\n /**\n * Prefixes used to compact IRIs. Defaults to the prologue of the query or\n * update. Pass an empty object to always print full IRIs.\n */\n readonly prefixes?: Readonly<Record<string, string>> | undefined;\n /** Whether to print the prologue (`BASE` / `PREFIX`). Defaults to `true`. */\n readonly prologue?: boolean | undefined;\n /** Indentation unit. Defaults to two spaces. */\n readonly indent?: string | undefined;\n}\n\nclass Printer {\n readonly prefixMap: PrefixMap.PrefixMap;\n readonly unit: string;\n constructor(prefixes: Readonly<Record<string, string>>, indent: string) {\n this.prefixMap = PrefixMap.make(prefixes);\n this.unit = indent;\n }\n\n iri(node: Term.NamedNode): string {\n const c = PrefixMap.compact(this.prefixMap, node);\n if (Option.isSome(c)) {\n const [prefix, local] = c.value;\n // A trailing '.' or a local part starting with a digit is fine for\n // PN_LOCAL; PrefixMap.compact already validated it.\n return `${prefix}:${local}`;\n }\n return `<${Term.escapeIri(node.value)}>`;\n }\n\n literal(lit: Term.Literal): string {\n const dt = lit.datatype.value;\n const v = lit.value;\n if (lit.language === '') {\n if (dt === `${XSD}integer` && /^[+-]?[0-9]+$/.test(v)) return v;\n if (dt === `${XSD}decimal` && /^[+-]?[0-9]*\\.[0-9]+$/.test(v)) return v;\n if (dt === `${XSD}double` && /^[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)[eE][+-]?[0-9]+$/.test(v))\n return v;\n if (dt === `${XSD}boolean` && (v === 'true' || v === 'false')) return v;\n }\n const lexical = `\"${Term.escapeString(v)}\"`;\n if (lit.language !== '') {\n return lit.direction === undefined\n ? `${lexical}@${lit.language}`\n : `${lexical}@${lit.language}--${lit.direction}`;\n }\n if (dt === Term.XSD_STRING) return lexical;\n return `${lexical}^^${this.iri(lit.datatype)}`;\n }\n\n term(t: Term.Term | Ast.TermPattern): string {\n return Match.value(t).pipe(\n Match.tag('NamedNode', (n) => this.iri(n)),\n Match.tag('BlankNode', (b) => `_:${b.value}`),\n Match.tag('Literal', (l) => this.literal(l)),\n Match.tag('Variable', (v) => `?${v.value}`),\n Match.tag('DefaultGraph', () => 'DEFAULT'),\n Match.tag(\n 'Triple',\n (x) => `<<( ${this.term(x.subject)} ${this.verb(x.predicate)} ${this.term(x.object)} )>>`,\n ),\n Match.exhaustive,\n );\n }\n\n verb(t: Term.Term): string {\n return Term.isNamedNode(t) && t.value === RDF_TYPE ? 'a' : this.term(t);\n }\n\n path(p: Ast.Path): string {\n return Match.value(p).pipe(\n Match.tag('PathLink', (l) => this.verb(l.iri)),\n Match.tag('PathInverse', (i) => `^(${this.path(i.path)})`),\n Match.tag('PathSequence', (s) => `(${s.paths.map((x) => this.path(x)).join(' / ')})`),\n Match.tag('PathAlternative', (a) => `(${a.paths.map((x) => this.path(x)).join(' | ')})`),\n Match.tag('PathZeroOrMore', (z) => `(${this.path(z.path)})*`),\n Match.tag('PathOneOrMore', (o) => `(${this.path(o.path)})+`),\n Match.tag('PathZeroOrOne', (z) => `(${this.path(z.path)})?`),\n Match.tag('PathNegated', (n) => {\n const items = [\n ...n.iris.map((i) => this.verb(i)),\n ...n.inverse.map((i) => `^${this.verb(i)}`),\n ];\n return `!(${items.join(' | ')})`;\n }),\n Match.exhaustive,\n );\n }\n\n // --- expressions ----------------------------------------------------------\n\n expression(e: Ast.Expression): string {\n return Match.value(e).pipe(\n Match.tag('Variable', 'NamedNode', 'Literal', 'BlankNode', 'Triple', (t) => this.term(t)),\n Match.tag(\n 'FunctionCall',\n (c) =>\n `${this.iri(c.function)}(${c.distinct ? 'DISTINCT ' : ''}${c.args.map((a) => this.expression(a)).join(', ')})`,\n ),\n Match.tag('Aggregate', (a) => {\n const arg = a.expression === '*' ? '*' : this.expression(a.expression);\n const sep =\n a.separator !== undefined ? `; SEPARATOR = \"${Term.escapeString(a.separator)}\"` : '';\n return `${a.name}(${a.distinct ? 'DISTINCT ' : ''}${arg}${sep})`;\n }),\n Match.tag(\n 'Exists',\n (x) => `${x.negated ? 'NOT EXISTS' : 'EXISTS'} ${this.group(x.pattern, 1)}`,\n ),\n Match.tag('Operation', (o) => this.operation(o)),\n Match.exhaustive,\n );\n }\n\n operation(e: Ast.OperationExpression): string {\n const args = e.args.map((a) => this.expression(a));\n return Match.value(e.operator).pipe(\n Match.when(\n Match.is('||', '&&', '=', '!=', '<', '>', '<=', '>=', '+', '-', '*', '/'),\n (operator) => `(${args.join(` ${operator} `)})`,\n ),\n Match.when('!', () => `!(${args[0]})`),\n Match.when('UPLUS', () => `+(${args[0]})`),\n Match.when('UMINUS', () => `-(${args[0]})`),\n Match.when(\n Match.is('IN', 'NOT IN'),\n (operator) => `(${args[0]} ${operator} (${args.slice(1).join(', ')}))`,\n ),\n Match.when('SAMETERM', () => `sameTerm(${args.join(', ')})`),\n Match.orElse((operator) => `${operator}(${args.join(', ')})`),\n );\n }\n\n // --- patterns -------------------------------------------------------------\n\n pad(level: number): string {\n return this.unit.repeat(level);\n }\n\n triple(t: Ast.TriplePattern | Ast.PathPattern | Ast.QuadPattern): string {\n const p = Predicate.isTagged(t, 'PathPattern') ? this.path(t.path) : this.verb(t.predicate);\n return `${this.term(t.subject)} ${p} ${this.term(t.object)} .`;\n }\n\n group(g: Ast.GroupPattern, level: number): string {\n const [only, ...rest] = g.patterns;\n if (only === undefined) return '{}';\n if (Arr.isReadonlyArrayEmpty(rest) && Predicate.isTagged(only, 'SubSelect')) {\n return `{\\n${this.pad(level + 1)}${this.select(only.query, level + 1)}\\n${this.pad(level)}}`;\n }\n const lines = g.patterns.flatMap((p) => this.pattern(p, level + 1));\n return `{\\n${lines.map((l) => this.pad(level + 1) + l).join('\\n')}\\n${this.pad(level)}}`;\n }\n\n pattern(p: Ast.Pattern, level: number): Array<string> {\n return Match.value(p).pipe(\n Match.tag('Bgp', (b): Array<string> => b.triples.map((t) => this.triple(t))),\n Match.tag('Group', (g) => [this.group(g, level)]),\n Match.tag('Optional', (o) => [`OPTIONAL ${this.group(o.pattern, level)}`]),\n Match.tag('Minus', (m) => [`MINUS ${this.group(m.pattern, level)}`]),\n Match.tag('Union', (u) => [u.patterns.map((x) => this.group(x, level)).join(' UNION ')]),\n Match.tag('Graph', (g) => [`GRAPH ${this.term(g.name)} ${this.group(g.pattern, level)}`]),\n Match.tag('Service', (s) => [\n `SERVICE ${s.silent ? 'SILENT ' : ''}${this.term(s.name)} ${this.group(s.pattern, level)}`,\n ]),\n Match.tag('Filter', (f) => [`FILTER(${this.expression(f.expression)})`]),\n Match.tag('Bind', (b) => [\n `BIND(${this.expression(b.expression)} AS ${this.term(b.variable)})`,\n ]),\n Match.tag('Values', (v) => [this.values(v)]),\n Match.tag('SubSelect', (s) => [\n `{\\n${this.pad(level + 1)}${this.select(s.query, level + 1)}\\n${this.pad(level)}}`,\n ]),\n Match.exhaustive,\n );\n }\n\n values(v: Ast.ValuesPattern): string {\n const vars = v.variables.map((x) => this.term(x)).join(' ');\n const rows = v.rows\n .map((r) => `(${r.map((t) => (t === undefined ? 'UNDEF' : this.term(t))).join(' ')})`)\n .join(' ');\n return `VALUES (${vars}) { ${rows} }`;\n }\n\n // --- queries --------------------------------------------------------------\n\n /** A dataset clause (`FROM` / `USING`), if the query or update has one. */\n dataset(clause: Option.Option<Ast.DatasetClause>, keyword: 'FROM' | 'USING'): string {\n return Option.match(clause, {\n onNone: () => '',\n onSome: (d) =>\n [\n ...d.default.map((g) => `${keyword} ${this.iri(g)}\\n`),\n ...d.named.map((g) => `${keyword} NAMED ${this.iri(g)}\\n`),\n ].join(''),\n });\n }\n\n modifiers(q: Ast.QueryBase): string {\n let out = '';\n if (Arr.isReadonlyArrayNonEmpty(q.groupBy)) {\n out += `\\nGROUP BY ${q.groupBy\n .map((g) =>\n g.variable !== undefined\n ? `(${this.expression(g.expression)} AS ${this.term(g.variable)})`\n : g.expression._tag === 'Variable'\n ? this.term(g.expression)\n : `(${this.expression(g.expression)})`,\n )\n .join(' ')}`;\n }\n if (Arr.isReadonlyArrayNonEmpty(q.having)) {\n out += `\\nHAVING ${q.having.map((h) => `(${this.expression(h)})`).join(' ')}`;\n }\n if (Arr.isReadonlyArrayNonEmpty(q.orderBy)) {\n out += `\\nORDER BY ${q.orderBy\n .map((o) => `${o.descending ? 'DESC' : 'ASC'}(${this.expression(o.expression)})`)\n .join(' ')}`;\n }\n if (q.limit !== undefined) out += `\\nLIMIT ${q.limit}`;\n if (q.offset !== undefined) out += `\\nOFFSET ${q.offset}`;\n return out;\n }\n\n select(q: Ast.SelectQuery, level: number): string {\n const projection =\n q.projection === '*'\n ? '*'\n : q.projection\n .map((p) =>\n Term.isVariable(p)\n ? this.term(p)\n : `(${this.expression(p.expression)} AS ${this.term(p.variable)})`,\n )\n .join(' ');\n const head = `SELECT ${q.distinct ? 'DISTINCT ' : q.reduced ? 'REDUCED ' : ''}${projection}`;\n const values = q.values !== undefined ? `\\n${this.values(q.values)}` : '';\n return `${head}\\n${this.dataset(Option.fromUndefinedOr(q.dataset), 'FROM')}WHERE ${this.group(q.where, level)}${this.modifiers(q)}${values}`;\n }\n\n query(q: Ast.Query): string {\n const values = q.values !== undefined ? `\\n${this.values(q.values)}` : '';\n return Match.value(q).pipe(\n Match.tag('Select', (s) => this.select(s, 0)),\n Match.tag(\n 'Ask',\n (a) =>\n `ASK\\n${this.dataset(Option.fromUndefinedOr(a.dataset), 'FROM')}WHERE ${this.group(a.where, 0)}${this.modifiers(a)}${values}`,\n ),\n Match.tag('Construct', (c) => {\n const template = c.template.map((t) => `${this.unit}${this.triple(t)}`).join('\\n');\n return `CONSTRUCT {\\n${template}${template === '' ? '' : '\\n'}}\\n${this.dataset(Option.fromUndefinedOr(c.dataset), 'FROM')}WHERE ${this.group(c.where, 0)}${this.modifiers(c)}${values}`;\n }),\n Match.tag('Describe', (d) => {\n const terms = d.terms === '*' ? '*' : d.terms.map((t) => this.term(t)).join(' ');\n return `DESCRIBE ${terms}\\n${this.dataset(Option.fromUndefinedOr(d.dataset), 'FROM')}WHERE ${this.group(d.where, 0)}${this.modifiers(d)}${values}`;\n }),\n Match.exhaustive,\n );\n }\n\n // --- updates --------------------------------------------------------------\n\n quads(quads: ReadonlyArray<Ast.QuadPattern | Term.Quad>): string {\n // The runs of consecutive quads in the same graph.\n const runs: Array<{\n readonly graph: Ast.QuadPattern['graph'] | Term.Graph;\n readonly quads: Array<Ast.QuadPattern | Term.Quad>;\n }> = [];\n quads.forEach((q) => {\n const last = runs[runs.length - 1];\n if (last !== undefined && last.graph.key === q.graph.key) last.quads.push(q);\n else runs.push({ graph: q.graph, quads: [q] });\n });\n const lines = runs.flatMap(({ graph: g, quads: run }) => {\n const triples = run.map(\n (q) => `${this.term(q.subject)} ${this.verb(q.predicate)} ${this.term(q.object)} .`,\n );\n return Term.isDefaultGraph(g)\n ? triples.map((t) => this.unit + t)\n : [`${this.unit}GRAPH ${this.term(g)} {`].concat(\n triples.map((t) => this.unit + this.unit + t),\n [`${this.unit}}`],\n );\n });\n return Arr.isReadonlyArrayEmpty(lines) ? '{}' : `{\\n${lines.join('\\n')}\\n}`;\n }\n\n graphTarget(t: Ast.GraphTarget): string {\n return Term.isNamedNode(t) ? `GRAPH ${this.iri(t)}` : t._tag.toUpperCase();\n }\n\n graphOrDefault(g: Ast.GraphOrDefault): string {\n return Term.isDefaultGraph(g) ? 'DEFAULT' : `GRAPH ${this.iri(g)}`;\n }\n\n operationText(op: Ast.UpdateOperation): string {\n return Match.value(op).pipe(\n Match.tag('InsertData', (o) => `INSERT DATA ${this.quads(o.quads)}`),\n Match.tag('DeleteData', (o) => `DELETE DATA ${this.quads(o.quads)}`),\n Match.tag('DeleteWhere', (o) => `DELETE WHERE ${this.quads(o.patterns)}`),\n Match.tag('Modify', (o) => {\n let out = o.with !== undefined ? `WITH ${this.iri(o.with)}\\n` : '';\n if (Arr.isReadonlyArrayNonEmpty(o.delete) || Arr.isReadonlyArrayEmpty(o.insert)) {\n out += `DELETE ${this.quads(o.delete)}\\n`;\n }\n if (Arr.isReadonlyArrayNonEmpty(o.insert)) out += `INSERT ${this.quads(o.insert)}\\n`;\n out += this.dataset(Option.fromUndefinedOr(o.using), 'USING');\n return `${out}WHERE ${this.group(o.where, 0)}`;\n }),\n Match.tag(\n 'Load',\n (o) =>\n `LOAD ${o.silent ? 'SILENT ' : ''}${this.iri(o.source)}${o.destination !== undefined ? ` INTO GRAPH ${this.iri(o.destination)}` : ''}`,\n ),\n Match.tag(\n 'Clear',\n 'Drop',\n (o) => `${o._tag.toUpperCase()} ${o.silent ? 'SILENT ' : ''}${this.graphTarget(o.target)}`,\n ),\n Match.tag('Create', (o) => `CREATE ${o.silent ? 'SILENT ' : ''}GRAPH ${this.iri(o.graph)}`),\n Match.tag(\n 'Add',\n 'Move',\n 'Copy',\n (o) =>\n `${o._tag.toUpperCase()} ${o.silent ? 'SILENT ' : ''}${this.graphOrDefault(o.source)} TO ${this.graphOrDefault(o.destination)}`,\n ),\n Match.exhaustive,\n );\n }\n}\n\nconst prologueText = (prologue: Ast.Prologue): string =>\n [\n prologue.version !== undefined ? `VERSION \"${Term.escapeString(prologue.version)}\"\\n` : '',\n prologue.base !== undefined ? `BASE <${Term.escapeIri(prologue.base)}>\\n` : '',\n ...Record.toEntries(prologue.prefixes).map(\n ([prefix, ns]) => `PREFIX ${prefix}: <${Term.escapeIri(ns)}>\\n`,\n ),\n ].join('');\n\n/**\n * Generates SPARQL text for a query or update.\n *\n * @since 0.1.0\n * @category printing\n */\nexport const print = (ast: Ast.Query | Ast.Update, options?: GenerateOptions): string => {\n const prefixes = options?.prefixes ?? ast.prologue.prefixes;\n const printer = new Printer(prefixes, options?.indent ?? ' ');\n const prologue =\n options?.prologue === false\n ? ''\n : prologueText(\n options?.prefixes !== undefined\n ? { ...ast.prologue, prefixes: options.prefixes }\n : ast.prologue,\n );\n if (Predicate.isTagged(ast, 'Update')) {\n return prologue + ast.operations.map((op) => printer.operationText(op)).join(' ;\\n');\n }\n return prologue + printer.query(ast);\n};\n\n/**\n * Generates SPARQL text for an expression.\n *\n * @since 0.1.0\n * @category printing\n */\nexport const printExpression = (\n expression: Ast.Expression,\n prefixes: Readonly<Record<string, string>> = {},\n): string => new Printer(prefixes, ' ').expression(expression);\n\n/**\n * Generates SPARQL text for a graph pattern.\n *\n * @since 0.1.0\n * @category printing\n */\nexport const printPattern = (\n pattern: Ast.Pattern,\n prefixes: Readonly<Record<string, string>> = {},\n): string => new Printer(prefixes, ' ').pattern(pattern, 0).join('\\n');\n\n/**\n * Generates SPARQL syntax for a term (IRIs are compacted with `prefixes`).\n *\n * @since 0.1.0\n * @category printing\n */\nexport const printTerm = (\n term: Term.Term,\n prefixes: Readonly<Record<string, string>> = {},\n): string => new Printer(prefixes, ' ').term(term);\n"],"mappings":"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"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
|
|
2
|
+
import { _ as stringEscape, a as digit, b as ucharEscape, c as echar, d as iriRef, f as langDir, g as pnCharsU, h as pnCharsBase, i as blankNodeLabel, l as hex, m as pnChars, n as alpha, o as dottedRun, p as langTag, r as alphanumeric, s as dottedTail, u as iriExcluded, v as stringLiteralQuote, y as uchar } from "./Grammar-mQ8CgE1M.mjs";
|
|
3
|
+
import * as Option from "effect/Option";
|
|
4
|
+
import * as Ascii from "@thomasfosterau/effect-parse/Ascii";
|
|
5
|
+
import * as Parser from "@thomasfosterau/effect-parse/Parser";
|
|
6
|
+
import * as Token from "@thomasfosterau/effect-parse/Token";
|
|
7
|
+
// src/turtle/Grammar.ts
|
|
8
|
+
/**
|
|
9
|
+
* The Turtle grammar's terminals as `@thomasfosterau/effect-parse` parsers
|
|
10
|
+
* over strings, for the grammars that include them: TriG, SPARQL, N3, ShExC
|
|
11
|
+
* and the SPARQL results TSV format all reuse Turtle's terminals, each with
|
|
12
|
+
* a few additions of its own. Names follow the grammar: `iriRef` is
|
|
13
|
+
* `IRIREF`, `pnLocal` is `PN_LOCAL`, and so on.
|
|
14
|
+
*
|
|
15
|
+
* String-valued terminals return their *value*: escapes are decoded and
|
|
16
|
+
* delimiters removed. The parsers neither skip whitespace nor resolve IRIs;
|
|
17
|
+
* a grammar adds its own whitespace (`skip` here, for Turtle) and resolves
|
|
18
|
+
* prefixed names and relative IRIs, typically after parsing so that the
|
|
19
|
+
* grammar itself can be compiled with `Compiler.jit`.
|
|
20
|
+
*
|
|
21
|
+
* @since 0.1.0
|
|
22
|
+
*/
|
|
23
|
+
var Grammar_exports = /* @__PURE__ */ __exportAll({
|
|
24
|
+
alpha: () => alpha,
|
|
25
|
+
alphanumeric: () => alphanumeric,
|
|
26
|
+
blankNodeLabel: () => blankNodeLabel,
|
|
27
|
+
booleanLiteral: () => booleanLiteral,
|
|
28
|
+
comment: () => comment,
|
|
29
|
+
decimal: () => decimal,
|
|
30
|
+
digit: () => digit,
|
|
31
|
+
dottedRun: () => dottedRun,
|
|
32
|
+
dottedTail: () => dottedTail,
|
|
33
|
+
double: () => double,
|
|
34
|
+
echar: () => echar,
|
|
35
|
+
exponent: () => exponent,
|
|
36
|
+
hex: () => hex,
|
|
37
|
+
integer: () => integer,
|
|
38
|
+
iriExcluded: () => iriExcluded,
|
|
39
|
+
iriRef: () => iriRef,
|
|
40
|
+
langDir: () => langDir,
|
|
41
|
+
langTag: () => langTag,
|
|
42
|
+
numericLiteral: () => numericLiteral,
|
|
43
|
+
plx: () => plx,
|
|
44
|
+
pnChars: () => pnChars,
|
|
45
|
+
pnCharsBase: () => pnCharsBase,
|
|
46
|
+
pnCharsU: () => pnCharsU,
|
|
47
|
+
pnLocal: () => pnLocal,
|
|
48
|
+
pnPrefix: () => pnPrefix,
|
|
49
|
+
prefixedName: () => prefixedName,
|
|
50
|
+
skip: () => skip,
|
|
51
|
+
stringEscape: () => stringEscape,
|
|
52
|
+
stringLiteral: () => stringLiteral,
|
|
53
|
+
stringLiteralLongQuote: () => stringLiteralLongQuote,
|
|
54
|
+
stringLiteralLongSingleQuote: () => stringLiteralLongSingleQuote,
|
|
55
|
+
stringLiteralQuote: () => stringLiteralQuote,
|
|
56
|
+
stringLiteralSingleQuote: () => stringLiteralSingleQuote,
|
|
57
|
+
uchar: () => uchar,
|
|
58
|
+
ucharEscape: () => ucharEscape,
|
|
59
|
+
ws: () => ws
|
|
60
|
+
});
|
|
61
|
+
/**
|
|
62
|
+
* `WS`: one space, tab, carriage return or line feed.
|
|
63
|
+
*
|
|
64
|
+
* @since 0.1.0
|
|
65
|
+
* @category whitespace
|
|
66
|
+
*/
|
|
67
|
+
const ws = Token.oneOf(" \r\n");
|
|
68
|
+
/**
|
|
69
|
+
* A comment: `#` up to the end of the line (not included).
|
|
70
|
+
*
|
|
71
|
+
* @since 0.1.0
|
|
72
|
+
* @category whitespace
|
|
73
|
+
*/
|
|
74
|
+
const comment = Parser.preceded(Token.literal("#"), Token.takeTill("\n\r"));
|
|
75
|
+
/**
|
|
76
|
+
* Whitespace and comments between Turtle tokens (possibly none).
|
|
77
|
+
*
|
|
78
|
+
* @since 0.1.0
|
|
79
|
+
* @category whitespace
|
|
80
|
+
*/
|
|
81
|
+
const skip = Parser.asVoid(Parser.repeat(Parser.alt(Token.takeWhile(" \r\n", { min: 1 }), comment).pipe(Parser.expected("whitespace or a comment"))));
|
|
82
|
+
/**
|
|
83
|
+
* `PN_PREFIX`
|
|
84
|
+
*
|
|
85
|
+
* @since 0.1.0
|
|
86
|
+
* @category terminals
|
|
87
|
+
*/
|
|
88
|
+
const pnPrefix = Parser.taken(Parser.seq(Token.oneOf(pnCharsBase), dottedRun(pnChars)));
|
|
89
|
+
/**
|
|
90
|
+
* `PLX`: a `PERCENT` (`%` and two hex digits) or a `PN_LOCAL_ESC` (`\` and
|
|
91
|
+
* a reserved character).
|
|
92
|
+
*
|
|
93
|
+
* @since 0.1.0
|
|
94
|
+
* @category terminals
|
|
95
|
+
*/
|
|
96
|
+
const plx = Parser.alt(Parser.seq(Token.literal("%"), Token.takeWhile(hex, 2)), Parser.seq(Token.literal("\\"), Token.oneOf("_~.-!$&'()*+,;=/?#@%")));
|
|
97
|
+
/**
|
|
98
|
+
* `PN_LOCAL`, with its `PN_LOCAL_ESC`s decoded (percent-encoding is kept, as
|
|
99
|
+
* it is part of the IRI).
|
|
100
|
+
*
|
|
101
|
+
* @since 0.1.0
|
|
102
|
+
* @category terminals
|
|
103
|
+
*/
|
|
104
|
+
const pnLocal = Parser.taken(Parser.seq(Parser.alt(Token.oneOf([
|
|
105
|
+
pnCharsU,
|
|
106
|
+
":",
|
|
107
|
+
digit
|
|
108
|
+
]), plx), dottedRun([pnChars, ":"], plx))).pipe(Parser.map((s) => s.indexOf("\\") === -1 ? s : s.replace(/\\(.)/gu, "$1")));
|
|
109
|
+
/**
|
|
110
|
+
* `PNAME_LN` or `PNAME_NS` (with an empty local part).
|
|
111
|
+
*
|
|
112
|
+
* @since 0.1.0
|
|
113
|
+
* @category terminals
|
|
114
|
+
*/
|
|
115
|
+
const prefixedName = Parser.seq(Parser.opt(pnPrefix), Token.literal(":"), Parser.opt(pnLocal)).pipe(Parser.map(([prefix, , local]) => ({
|
|
116
|
+
prefix: Option.getOrElse(prefix, () => ""),
|
|
117
|
+
local: Option.getOrElse(local, () => "")
|
|
118
|
+
})));
|
|
119
|
+
const shortString = (q) => Parser.delimited(Token.literal(q), Parser.cut(Ascii.escaped(Token.takeTill([
|
|
120
|
+
"\\",
|
|
121
|
+
q,
|
|
122
|
+
"\n\r"
|
|
123
|
+
], { min: 1 }), "\\", stringEscape)), Parser.cut(Token.literal(q)));
|
|
124
|
+
const longString = (q) => Parser.delimited(Token.literal(q.repeat(3)), Parser.cut(Ascii.escaped(Parser.alt(Token.takeTill(["\\", q], { min: 1 }), Parser.terminated(Token.literal(q), Parser.not(Token.literal(q + q)))), "\\", stringEscape)), Parser.cut(Token.literal(q.repeat(3))));
|
|
125
|
+
/**
|
|
126
|
+
* `STRING_LITERAL_SINGLE_QUOTE` (`STRING_LITERAL1`), returning the value.
|
|
127
|
+
*
|
|
128
|
+
* @since 0.1.0
|
|
129
|
+
* @category terminals
|
|
130
|
+
*/
|
|
131
|
+
const stringLiteralSingleQuote = shortString("'");
|
|
132
|
+
/**
|
|
133
|
+
* `STRING_LITERAL_LONG_QUOTE` (`STRING_LITERAL_LONG2`), returning the value.
|
|
134
|
+
*
|
|
135
|
+
* @since 0.1.0
|
|
136
|
+
* @category terminals
|
|
137
|
+
*/
|
|
138
|
+
const stringLiteralLongQuote = longString("\"");
|
|
139
|
+
/**
|
|
140
|
+
* `STRING_LITERAL_LONG_SINGLE_QUOTE` (`STRING_LITERAL_LONG1`), returning the
|
|
141
|
+
* value.
|
|
142
|
+
*
|
|
143
|
+
* @since 0.1.0
|
|
144
|
+
* @category terminals
|
|
145
|
+
*/
|
|
146
|
+
const stringLiteralLongSingleQuote = longString("'");
|
|
147
|
+
/**
|
|
148
|
+
* Any of the four string literals (Turtle's `String`), returning the value.
|
|
149
|
+
*
|
|
150
|
+
* @since 0.1.0
|
|
151
|
+
* @category terminals
|
|
152
|
+
*/
|
|
153
|
+
const stringLiteral = Parser.alt(stringLiteralLongQuote, stringLiteralLongSingleQuote, stringLiteralQuote, stringLiteralSingleQuote).pipe(Parser.expected("a string literal"));
|
|
154
|
+
const sign = Parser.opt(Token.oneOf("+-"));
|
|
155
|
+
/**
|
|
156
|
+
* `EXPONENT`
|
|
157
|
+
*
|
|
158
|
+
* @since 0.1.0
|
|
159
|
+
* @category terminals
|
|
160
|
+
*/
|
|
161
|
+
const exponent = Parser.taken(Parser.seq(Token.oneOf("eE"), sign, Ascii.digit1));
|
|
162
|
+
/**
|
|
163
|
+
* `DOUBLE`, returning the lexical form.
|
|
164
|
+
*
|
|
165
|
+
* @since 0.1.0
|
|
166
|
+
* @category terminals
|
|
167
|
+
*/
|
|
168
|
+
const double = Parser.taken(Parser.seq(sign, Parser.alt(Parser.seq(Ascii.digit1, Token.literal("."), Ascii.digit0, exponent), Parser.seq(Parser.opt(Token.literal(".")), Ascii.digit1, exponent))));
|
|
169
|
+
/**
|
|
170
|
+
* `DECIMAL`, returning the lexical form.
|
|
171
|
+
*
|
|
172
|
+
* @since 0.1.0
|
|
173
|
+
* @category terminals
|
|
174
|
+
*/
|
|
175
|
+
const decimal = Parser.taken(Parser.seq(sign, Ascii.digit0, Token.literal("."), Ascii.digit1));
|
|
176
|
+
/**
|
|
177
|
+
* `INTEGER`, returning the lexical form.
|
|
178
|
+
*
|
|
179
|
+
* @since 0.1.0
|
|
180
|
+
* @category terminals
|
|
181
|
+
*/
|
|
182
|
+
const integer = Parser.taken(Parser.seq(sign, Ascii.digit1));
|
|
183
|
+
/**
|
|
184
|
+
* `DOUBLE`, `DECIMAL` or `INTEGER` (the longest that matches), returning the
|
|
185
|
+
* lexical form and the datatype.
|
|
186
|
+
*
|
|
187
|
+
* @since 0.1.0
|
|
188
|
+
* @category terminals
|
|
189
|
+
*/
|
|
190
|
+
const numericLiteral = Parser.alt(double.pipe(Parser.map((v) => [v, "double"])), decimal.pipe(Parser.map((v) => [v, "decimal"])), integer.pipe(Parser.map((v) => [v, "integer"])));
|
|
191
|
+
/**
|
|
192
|
+
* `true` or `false`, not followed by a letter, digit or `_`.
|
|
193
|
+
*
|
|
194
|
+
* @since 0.1.0
|
|
195
|
+
* @category terminals
|
|
196
|
+
*/
|
|
197
|
+
const booleanLiteral = Parser.terminated(Parser.alt(Token.literal("true"), Token.literal("false")), Parser.not(Token.oneOf([alphanumeric, "_"])));
|
|
198
|
+
export { stringLiteralSingleQuote as _, double as a, numericLiteral as c, pnPrefix as d, prefixedName as f, stringLiteralLongSingleQuote as g, stringLiteralLongQuote as h, decimal as i, plx as l, stringLiteral as m, booleanLiteral as n, exponent as o, skip as p, comment as r, integer as s, Grammar_exports as t, pnLocal as u, ws as v };
|
|
199
|
+
|
|
200
|
+
//# sourceMappingURL=Grammar-CPlSxGH6.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Grammar-CPlSxGH6.mjs","names":[],"sources":["../src/turtle/Grammar.ts"],"sourcesContent":["/**\n * The Turtle grammar's terminals as `@thomasfosterau/effect-parse` parsers\n * over strings, for the grammars that include them: TriG, SPARQL, N3, ShExC\n * and the SPARQL results TSV format all reuse Turtle's terminals, each with\n * a few additions of its own. Names follow the grammar: `iriRef` is\n * `IRIREF`, `pnLocal` is `PN_LOCAL`, and so on.\n *\n * String-valued terminals return their *value*: escapes are decoded and\n * delimiters removed. The parsers neither skip whitespace nor resolve IRIs;\n * a grammar adds its own whitespace (`skip` here, for Turtle) and resolves\n * prefixed names and relative IRIs, typically after parsing so that the\n * grammar itself can be compiled with `Compiler.jit`.\n *\n * @since 0.1.0\n */\nimport * as Ascii from '@thomasfosterau/effect-parse/Ascii';\nimport * as Parser from '@thomasfosterau/effect-parse/Parser';\nimport * as Token from '@thomasfosterau/effect-parse/Token';\nimport * as Option from 'effect/Option';\nimport {\n alphanumeric,\n digit,\n dottedRun,\n hex,\n pnChars,\n pnCharsBase,\n pnCharsU,\n stringEscape,\n stringLiteralQuote,\n} from '../ntriples/Grammar.ts';\n\n/**\n * The N-Triples terminals and character classes (`iriRef`,\n * `blankNodeLabel`, `langTag`, `langDir`, `stringLiteralQuote`, `uchar`,\n * `echar`, `pnChars`, …), which Turtle includes.\n *\n * @since 0.1.0\n * @category terminals\n */\nexport * from '../ntriples/Grammar.ts';\n\n// -----------------------------------------------------------------------------\n// Whitespace and comments\n// -----------------------------------------------------------------------------\n\n/**\n * `WS`: one space, tab, carriage return or line feed.\n *\n * @since 0.1.0\n * @category whitespace\n */\nexport const ws: Parser.Parser<string> = Token.oneOf(' \\t\\r\\n');\n\n/**\n * A comment: `#` up to the end of the line (not included).\n *\n * @since 0.1.0\n * @category whitespace\n */\nexport const comment: Parser.Parser<string> = Parser.preceded(\n Token.literal('#'),\n Token.takeTill('\\n\\r'),\n);\n\n/**\n * Whitespace and comments between Turtle tokens (possibly none).\n *\n * @since 0.1.0\n * @category whitespace\n */\nexport const skip: Parser.Parser<void> = Parser.asVoid(\n Parser.repeat(\n Parser.alt(Token.takeWhile(' \\t\\r\\n', { min: 1 }), comment).pipe(\n Parser.expected('whitespace or a comment'),\n ),\n ),\n);\n\n// -----------------------------------------------------------------------------\n// IRIs and names\n// -----------------------------------------------------------------------------\n\n/**\n * `PN_PREFIX`\n *\n * @since 0.1.0\n * @category terminals\n */\nexport const pnPrefix: Parser.Parser<string> = Parser.taken(\n Parser.seq(Token.oneOf(pnCharsBase), dottedRun(pnChars)),\n);\n\n/**\n * `PLX`: a `PERCENT` (`%` and two hex digits) or a `PN_LOCAL_ESC` (`\\` and\n * a reserved character).\n *\n * @since 0.1.0\n * @category terminals\n */\nexport const plx: Parser.Parser<unknown> = Parser.alt(\n Parser.seq(Token.literal('%'), Token.takeWhile(hex, 2)),\n Parser.seq(Token.literal('\\\\'), Token.oneOf(\"_~.-!$&'()*+,;=/?#@%\")),\n);\n\n/**\n * `PN_LOCAL`, with its `PN_LOCAL_ESC`s decoded (percent-encoding is kept, as\n * it is part of the IRI).\n *\n * @since 0.1.0\n * @category terminals\n */\nexport const pnLocal: Parser.Parser<string> = Parser.taken(\n Parser.seq(Parser.alt(Token.oneOf([pnCharsU, ':', digit]), plx), dottedRun([pnChars, ':'], plx)),\n).pipe(Parser.map((s) => (s.indexOf('\\\\') === -1 ? s : s.replace(/\\\\(.)/gu, '$1'))));\n\n/**\n * A prefixed name, unexpanded.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface PrefixedName {\n readonly prefix: string;\n /** The local part (empty for a `PNAME_NS`), with reserved character escapes removed. */\n readonly local: string;\n}\n\n/**\n * `PNAME_LN` or `PNAME_NS` (with an empty local part).\n *\n * @since 0.1.0\n * @category terminals\n */\nexport const prefixedName: Parser.Parser<PrefixedName> = Parser.seq(\n Parser.opt(pnPrefix),\n Token.literal(':'),\n Parser.opt(pnLocal),\n).pipe(\n Parser.map(([prefix, , local]) => ({\n prefix: Option.getOrElse(prefix, () => ''),\n local: Option.getOrElse(local, () => ''),\n })),\n);\n\n// -----------------------------------------------------------------------------\n// Literals\n// -----------------------------------------------------------------------------\n\nconst shortString = (q: '\"' | \"'\"): Parser.Parser<string> =>\n Parser.delimited(\n Token.literal(q),\n Parser.cut(Ascii.escaped(Token.takeTill(['\\\\', q, '\\n\\r'], { min: 1 }), '\\\\', stringEscape)),\n Parser.cut(Token.literal(q)),\n );\n\nconst longString = (q: '\"' | \"'\"): Parser.Parser<string> =>\n Parser.delimited(\n Token.literal(q.repeat(3)),\n Parser.cut(\n Ascii.escaped(\n Parser.alt(\n Token.takeTill(['\\\\', q], { min: 1 }),\n Parser.terminated(Token.literal(q), Parser.not(Token.literal(q + q))),\n ),\n '\\\\',\n stringEscape,\n ),\n ),\n Parser.cut(Token.literal(q.repeat(3))),\n );\n\n/**\n * `STRING_LITERAL_SINGLE_QUOTE` (`STRING_LITERAL1`), returning the value.\n *\n * @since 0.1.0\n * @category terminals\n */\nexport const stringLiteralSingleQuote: Parser.Parser<string> = shortString(\"'\");\n\n/**\n * `STRING_LITERAL_LONG_QUOTE` (`STRING_LITERAL_LONG2`), returning the value.\n *\n * @since 0.1.0\n * @category terminals\n */\nexport const stringLiteralLongQuote: Parser.Parser<string> = longString('\"');\n\n/**\n * `STRING_LITERAL_LONG_SINGLE_QUOTE` (`STRING_LITERAL_LONG1`), returning the\n * value.\n *\n * @since 0.1.0\n * @category terminals\n */\nexport const stringLiteralLongSingleQuote: Parser.Parser<string> = longString(\"'\");\n\n/**\n * Any of the four string literals (Turtle's `String`), returning the value.\n *\n * @since 0.1.0\n * @category terminals\n */\nexport const stringLiteral: Parser.Parser<string> = Parser.alt(\n stringLiteralLongQuote,\n stringLiteralLongSingleQuote,\n stringLiteralQuote,\n stringLiteralSingleQuote,\n).pipe(Parser.expected('a string literal'));\n\n/**\n * The XSD datatype of a numeric literal.\n *\n * @since 0.1.0\n * @category models\n */\nexport type NumericType = 'integer' | 'decimal' | 'double';\n\nconst sign = Parser.opt(Token.oneOf('+-'));\n\n/**\n * `EXPONENT`\n *\n * @since 0.1.0\n * @category terminals\n */\nexport const exponent: Parser.Parser<string> = Parser.taken(\n Parser.seq(Token.oneOf('eE'), sign, Ascii.digit1),\n);\n\n/**\n * `DOUBLE`, returning the lexical form.\n *\n * @since 0.1.0\n * @category terminals\n */\nexport const double: Parser.Parser<string> = Parser.taken(\n Parser.seq(\n sign,\n Parser.alt(\n Parser.seq(Ascii.digit1, Token.literal('.'), Ascii.digit0, exponent),\n Parser.seq(Parser.opt(Token.literal('.')), Ascii.digit1, exponent),\n ),\n ),\n);\n\n/**\n * `DECIMAL`, returning the lexical form.\n *\n * @since 0.1.0\n * @category terminals\n */\nexport const decimal: Parser.Parser<string> = Parser.taken(\n Parser.seq(sign, Ascii.digit0, Token.literal('.'), Ascii.digit1),\n);\n\n/**\n * `INTEGER`, returning the lexical form.\n *\n * @since 0.1.0\n * @category terminals\n */\nexport const integer: Parser.Parser<string> = Parser.taken(Parser.seq(sign, Ascii.digit1));\n\n/**\n * `DOUBLE`, `DECIMAL` or `INTEGER` (the longest that matches), returning the\n * lexical form and the datatype.\n *\n * @since 0.1.0\n * @category terminals\n */\nexport const numericLiteral: Parser.Parser<readonly [string, NumericType]> = Parser.alt(\n double.pipe(Parser.map((v) => [v, 'double'] as const)),\n decimal.pipe(Parser.map((v) => [v, 'decimal'] as const)),\n integer.pipe(Parser.map((v) => [v, 'integer'] as const)),\n);\n\n/**\n * `true` or `false`, not followed by a letter, digit or `_`.\n *\n * @since 0.1.0\n * @category terminals\n */\nexport const booleanLiteral: Parser.Parser<'true' | 'false'> = Parser.terminated(\n Parser.alt(Token.literal('true'), Token.literal('false')),\n Parser.not(Token.oneOf([alphanumeric, '_'])),\n);\n"],"mappings":"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"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { _ as pnCharsU, a as blankNodeLabel, b as uchar, c as dottedTail, d as iriExcluded, f as iriRef, g as pnCharsBase, h as pnChars, i as alphanumeric, l as echar, m as langTag, n as LangDir, o as digit, p as langDir, r as alpha, s as dottedRun, u as hex, v as stringEscape, x as ucharEscape, y as stringLiteralQuote } from "./Grammar-D6jZdJQ3.mjs";
|
|
2
|
+
import * as Parser from "@thomasfosterau/effect-parse/Parser";
|
|
3
|
+
declare namespace Grammar_d_exports {
|
|
4
|
+
export { LangDir, NumericType, PrefixedName, alpha, alphanumeric, blankNodeLabel, booleanLiteral, comment, decimal, digit, dottedRun, dottedTail, double, echar, exponent, hex, integer, iriExcluded, iriRef, langDir, langTag, numericLiteral, plx, pnChars, pnCharsBase, pnCharsU, pnLocal, pnPrefix, prefixedName, skip, stringEscape, stringLiteral, stringLiteralLongQuote, stringLiteralLongSingleQuote, stringLiteralQuote, stringLiteralSingleQuote, uchar, ucharEscape, ws };
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* `WS`: one space, tab, carriage return or line feed.
|
|
8
|
+
*
|
|
9
|
+
* @since 0.1.0
|
|
10
|
+
* @category whitespace
|
|
11
|
+
*/
|
|
12
|
+
declare const ws: Parser.Parser<string>;
|
|
13
|
+
/**
|
|
14
|
+
* A comment: `#` up to the end of the line (not included).
|
|
15
|
+
*
|
|
16
|
+
* @since 0.1.0
|
|
17
|
+
* @category whitespace
|
|
18
|
+
*/
|
|
19
|
+
declare const comment: Parser.Parser<string>;
|
|
20
|
+
/**
|
|
21
|
+
* Whitespace and comments between Turtle tokens (possibly none).
|
|
22
|
+
*
|
|
23
|
+
* @since 0.1.0
|
|
24
|
+
* @category whitespace
|
|
25
|
+
*/
|
|
26
|
+
declare const skip: Parser.Parser<void>;
|
|
27
|
+
/**
|
|
28
|
+
* `PN_PREFIX`
|
|
29
|
+
*
|
|
30
|
+
* @since 0.1.0
|
|
31
|
+
* @category terminals
|
|
32
|
+
*/
|
|
33
|
+
declare const pnPrefix: Parser.Parser<string>;
|
|
34
|
+
/**
|
|
35
|
+
* `PLX`: a `PERCENT` (`%` and two hex digits) or a `PN_LOCAL_ESC` (`\` and
|
|
36
|
+
* a reserved character).
|
|
37
|
+
*
|
|
38
|
+
* @since 0.1.0
|
|
39
|
+
* @category terminals
|
|
40
|
+
*/
|
|
41
|
+
declare const plx: Parser.Parser<unknown>;
|
|
42
|
+
/**
|
|
43
|
+
* `PN_LOCAL`, with its `PN_LOCAL_ESC`s decoded (percent-encoding is kept, as
|
|
44
|
+
* it is part of the IRI).
|
|
45
|
+
*
|
|
46
|
+
* @since 0.1.0
|
|
47
|
+
* @category terminals
|
|
48
|
+
*/
|
|
49
|
+
declare const pnLocal: Parser.Parser<string>;
|
|
50
|
+
/**
|
|
51
|
+
* A prefixed name, unexpanded.
|
|
52
|
+
*
|
|
53
|
+
* @since 0.1.0
|
|
54
|
+
* @category models
|
|
55
|
+
*/
|
|
56
|
+
interface PrefixedName {
|
|
57
|
+
readonly prefix: string;
|
|
58
|
+
/** The local part (empty for a `PNAME_NS`), with reserved character escapes removed. */
|
|
59
|
+
readonly local: string;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* `PNAME_LN` or `PNAME_NS` (with an empty local part).
|
|
63
|
+
*
|
|
64
|
+
* @since 0.1.0
|
|
65
|
+
* @category terminals
|
|
66
|
+
*/
|
|
67
|
+
declare const prefixedName: Parser.Parser<PrefixedName>;
|
|
68
|
+
/**
|
|
69
|
+
* `STRING_LITERAL_SINGLE_QUOTE` (`STRING_LITERAL1`), returning the value.
|
|
70
|
+
*
|
|
71
|
+
* @since 0.1.0
|
|
72
|
+
* @category terminals
|
|
73
|
+
*/
|
|
74
|
+
declare const stringLiteralSingleQuote: Parser.Parser<string>;
|
|
75
|
+
/**
|
|
76
|
+
* `STRING_LITERAL_LONG_QUOTE` (`STRING_LITERAL_LONG2`), returning the value.
|
|
77
|
+
*
|
|
78
|
+
* @since 0.1.0
|
|
79
|
+
* @category terminals
|
|
80
|
+
*/
|
|
81
|
+
declare const stringLiteralLongQuote: Parser.Parser<string>;
|
|
82
|
+
/**
|
|
83
|
+
* `STRING_LITERAL_LONG_SINGLE_QUOTE` (`STRING_LITERAL_LONG1`), returning the
|
|
84
|
+
* value.
|
|
85
|
+
*
|
|
86
|
+
* @since 0.1.0
|
|
87
|
+
* @category terminals
|
|
88
|
+
*/
|
|
89
|
+
declare const stringLiteralLongSingleQuote: Parser.Parser<string>;
|
|
90
|
+
/**
|
|
91
|
+
* Any of the four string literals (Turtle's `String`), returning the value.
|
|
92
|
+
*
|
|
93
|
+
* @since 0.1.0
|
|
94
|
+
* @category terminals
|
|
95
|
+
*/
|
|
96
|
+
declare const stringLiteral: Parser.Parser<string>;
|
|
97
|
+
/**
|
|
98
|
+
* The XSD datatype of a numeric literal.
|
|
99
|
+
*
|
|
100
|
+
* @since 0.1.0
|
|
101
|
+
* @category models
|
|
102
|
+
*/
|
|
103
|
+
type NumericType = 'integer' | 'decimal' | 'double';
|
|
104
|
+
/**
|
|
105
|
+
* `EXPONENT`
|
|
106
|
+
*
|
|
107
|
+
* @since 0.1.0
|
|
108
|
+
* @category terminals
|
|
109
|
+
*/
|
|
110
|
+
declare const exponent: Parser.Parser<string>;
|
|
111
|
+
/**
|
|
112
|
+
* `DOUBLE`, returning the lexical form.
|
|
113
|
+
*
|
|
114
|
+
* @since 0.1.0
|
|
115
|
+
* @category terminals
|
|
116
|
+
*/
|
|
117
|
+
declare const double: Parser.Parser<string>;
|
|
118
|
+
/**
|
|
119
|
+
* `DECIMAL`, returning the lexical form.
|
|
120
|
+
*
|
|
121
|
+
* @since 0.1.0
|
|
122
|
+
* @category terminals
|
|
123
|
+
*/
|
|
124
|
+
declare const decimal: Parser.Parser<string>;
|
|
125
|
+
/**
|
|
126
|
+
* `INTEGER`, returning the lexical form.
|
|
127
|
+
*
|
|
128
|
+
* @since 0.1.0
|
|
129
|
+
* @category terminals
|
|
130
|
+
*/
|
|
131
|
+
declare const integer: Parser.Parser<string>;
|
|
132
|
+
/**
|
|
133
|
+
* `DOUBLE`, `DECIMAL` or `INTEGER` (the longest that matches), returning the
|
|
134
|
+
* lexical form and the datatype.
|
|
135
|
+
*
|
|
136
|
+
* @since 0.1.0
|
|
137
|
+
* @category terminals
|
|
138
|
+
*/
|
|
139
|
+
declare const numericLiteral: Parser.Parser<readonly [string, NumericType]>;
|
|
140
|
+
/**
|
|
141
|
+
* `true` or `false`, not followed by a letter, digit or `_`.
|
|
142
|
+
*
|
|
143
|
+
* @since 0.1.0
|
|
144
|
+
* @category terminals
|
|
145
|
+
*/
|
|
146
|
+
declare const booleanLiteral: Parser.Parser<'true' | 'false'>;
|
|
147
|
+
export { stringLiteralLongQuote as _, comment as a, ws as b, exponent as c, plx as d, pnLocal as f, stringLiteral as g, skip as h, booleanLiteral as i, integer as l, prefixedName as m, NumericType as n, decimal as o, pnPrefix as p, PrefixedName as r, double as s, Grammar_d_exports as t, numericLiteral as u, stringLiteralLongSingleQuote as v, stringLiteralSingleQuote as y };
|
|
148
|
+
//# sourceMappingURL=Grammar-CRhnRoCu.d.mts.map
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import * as Parser from "@thomasfosterau/effect-parse/Parser";
|
|
2
|
+
import * as Token from "@thomasfosterau/effect-parse/Token";
|
|
3
|
+
declare namespace Grammar_d_exports {
|
|
4
|
+
export { LangDir, alpha, alphanumeric, blankNodeLabel, digit, dottedRun, dottedTail, echar, hex, iriExcluded, iriRef, langDir, langTag, pnChars, pnCharsBase, pnCharsU, stringEscape, stringLiteralQuote, uchar, ucharEscape };
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* `[0-9]`
|
|
8
|
+
*
|
|
9
|
+
* @since 0.1.0
|
|
10
|
+
* @category character classes
|
|
11
|
+
*/
|
|
12
|
+
declare const digit: Token.StringTokenSet;
|
|
13
|
+
/**
|
|
14
|
+
* `HEX`: `[0-9A-Fa-f]`
|
|
15
|
+
*
|
|
16
|
+
* @since 0.1.0
|
|
17
|
+
* @category character classes
|
|
18
|
+
*/
|
|
19
|
+
declare const hex: Token.StringTokenSet;
|
|
20
|
+
/**
|
|
21
|
+
* `[A-Za-z]`
|
|
22
|
+
*
|
|
23
|
+
* @since 0.1.0
|
|
24
|
+
* @category character classes
|
|
25
|
+
*/
|
|
26
|
+
declare const alpha: Token.StringTokenSet;
|
|
27
|
+
/**
|
|
28
|
+
* `[A-Za-z0-9]`
|
|
29
|
+
*
|
|
30
|
+
* @since 0.1.0
|
|
31
|
+
* @category character classes
|
|
32
|
+
*/
|
|
33
|
+
declare const alphanumeric: Token.StringTokenSet;
|
|
34
|
+
/**
|
|
35
|
+
* `PN_CHARS_BASE`
|
|
36
|
+
*
|
|
37
|
+
* @since 0.1.0
|
|
38
|
+
* @category character classes
|
|
39
|
+
*/
|
|
40
|
+
declare const pnCharsBase: Token.StringTokenSet;
|
|
41
|
+
/**
|
|
42
|
+
* `PN_CHARS_U`: `PN_CHARS_BASE | '_'`
|
|
43
|
+
*
|
|
44
|
+
* @since 0.1.0
|
|
45
|
+
* @category character classes
|
|
46
|
+
*/
|
|
47
|
+
declare const pnCharsU: Token.StringTokenSet;
|
|
48
|
+
/**
|
|
49
|
+
* `PN_CHARS`
|
|
50
|
+
*
|
|
51
|
+
* @since 0.1.0
|
|
52
|
+
* @category character classes
|
|
53
|
+
*/
|
|
54
|
+
declare const pnChars: Token.StringTokenSet;
|
|
55
|
+
/**
|
|
56
|
+
* The characters `IRIREF` excludes (besides `\`, which starts a `UCHAR`):
|
|
57
|
+
* `[#x00-#x20<>"{}|^`]`.
|
|
58
|
+
*
|
|
59
|
+
* @since 0.1.0
|
|
60
|
+
* @category character classes
|
|
61
|
+
*/
|
|
62
|
+
declare const iriExcluded: Token.StringTokenSet;
|
|
63
|
+
/**
|
|
64
|
+
* Runs of `chars` in which dots may appear, but not at the end: the
|
|
65
|
+
* `((chars | '.')* chars)?` tail of `PN_PREFIX`, `PN_LOCAL` and
|
|
66
|
+
* `BLANK_NODE_LABEL`.
|
|
67
|
+
*
|
|
68
|
+
* @since 0.1.0
|
|
69
|
+
* @category combinators
|
|
70
|
+
*/
|
|
71
|
+
declare const dottedTail: <E, R>(chars: Parser.Parser<unknown, E, R>) => Parser.Parser<void, E, R>;
|
|
72
|
+
/**
|
|
73
|
+
* The same language as `dottedTail(alt(oneOf(set), extra))`, written so that
|
|
74
|
+
* a compiled grammar scans each run of `set` in one tight loop: a name's
|
|
75
|
+
* characters, with dots allowed between them but not at the end. `extra`
|
|
76
|
+
* matches the other things a name may contain (`PLX` in `PN_LOCAL`).
|
|
77
|
+
*
|
|
78
|
+
* @since 0.1.0
|
|
79
|
+
* @category combinators
|
|
80
|
+
* @example
|
|
81
|
+
* ```ts
|
|
82
|
+
* import * as Parser from '@thomasfosterau/effect-parse/Parser';
|
|
83
|
+
* import * as Token from '@thomasfosterau/effect-parse/Token';
|
|
84
|
+
* import { dottedRun, pnChars } from './Grammar.ts';
|
|
85
|
+
*
|
|
86
|
+
* const name = Parser.taken(Parser.seq(Token.oneOf(pnChars), dottedRun(pnChars)));
|
|
87
|
+
* // `a.b.` reads as `a.b`, leaving the final dot
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
declare const dottedRun: <E = never, R = never>(set: Token.StringTokenSet, extra?: Parser.Parser<unknown, E, R>) => Parser.Parser<void, E, R>;
|
|
91
|
+
/**
|
|
92
|
+
* What follows the backslash of a `UCHAR` (`uXXXX` or `UXXXXXXXX`),
|
|
93
|
+
* returning the character. For use as the escape of `Ascii.escaped`.
|
|
94
|
+
*
|
|
95
|
+
* @since 0.1.0
|
|
96
|
+
* @category escapes
|
|
97
|
+
*/
|
|
98
|
+
declare const ucharEscape: Parser.Parser<string>;
|
|
99
|
+
/**
|
|
100
|
+
* What follows the backslash of an `ECHAR` or a `UCHAR`, returning the
|
|
101
|
+
* character. For use as the escape of `Ascii.escaped`.
|
|
102
|
+
*
|
|
103
|
+
* @since 0.1.0
|
|
104
|
+
* @category escapes
|
|
105
|
+
*/
|
|
106
|
+
declare const stringEscape: Parser.Parser<string>;
|
|
107
|
+
/**
|
|
108
|
+
* `UCHAR`: `\uXXXX` or `\UXXXXXXXX`, returning the character.
|
|
109
|
+
*
|
|
110
|
+
* @since 0.1.0
|
|
111
|
+
* @category escapes
|
|
112
|
+
*/
|
|
113
|
+
declare const uchar: Parser.Parser<string>;
|
|
114
|
+
/**
|
|
115
|
+
* `ECHAR`: `\` followed by one of `tbnrf"'\`, returning the character.
|
|
116
|
+
*
|
|
117
|
+
* @since 0.1.0
|
|
118
|
+
* @category escapes
|
|
119
|
+
*/
|
|
120
|
+
declare const echar: Parser.Parser<string>;
|
|
121
|
+
/**
|
|
122
|
+
* `IRIREF`, returning the IRI between the angle brackets with its `UCHAR`s
|
|
123
|
+
* decoded (not resolved against a base).
|
|
124
|
+
*
|
|
125
|
+
* @since 0.1.0
|
|
126
|
+
* @category terminals
|
|
127
|
+
*/
|
|
128
|
+
declare const iriRef: Parser.Parser<string>;
|
|
129
|
+
/**
|
|
130
|
+
* `BLANK_NODE_LABEL`, returning the label after `_:`.
|
|
131
|
+
*
|
|
132
|
+
* @since 0.1.0
|
|
133
|
+
* @category terminals
|
|
134
|
+
*/
|
|
135
|
+
declare const blankNodeLabel: Parser.Parser<string>;
|
|
136
|
+
/**
|
|
137
|
+
* `STRING_LITERAL_QUOTE`, returning the value.
|
|
138
|
+
*
|
|
139
|
+
* @since 0.1.0
|
|
140
|
+
* @category terminals
|
|
141
|
+
*/
|
|
142
|
+
declare const stringLiteralQuote: Parser.Parser<string>;
|
|
143
|
+
/**
|
|
144
|
+
* `LANGTAG` (RDF 1.1), returning the tag after `@`.
|
|
145
|
+
*
|
|
146
|
+
* @since 0.1.0
|
|
147
|
+
* @category terminals
|
|
148
|
+
*/
|
|
149
|
+
declare const langTag: Parser.Parser<string>;
|
|
150
|
+
/**
|
|
151
|
+
* A language tag with its base direction.
|
|
152
|
+
*
|
|
153
|
+
* @since 0.1.0
|
|
154
|
+
* @category models
|
|
155
|
+
*/
|
|
156
|
+
interface LangDir {
|
|
157
|
+
readonly language: string;
|
|
158
|
+
readonly direction: 'ltr' | 'rtl' | undefined;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* `LANG_DIR` (RDF 1.2): a language tag optionally followed by `--ltr` or
|
|
162
|
+
* `--rtl`.
|
|
163
|
+
*
|
|
164
|
+
* @since 0.1.0
|
|
165
|
+
* @category terminals
|
|
166
|
+
*/
|
|
167
|
+
declare const langDir: Parser.Parser<LangDir>;
|
|
168
|
+
export { pnCharsU as _, blankNodeLabel as a, uchar as b, dottedTail as c, iriExcluded as d, iriRef as f, pnCharsBase as g, pnChars as h, alphanumeric as i, echar as l, langTag as m, LangDir as n, digit as o, langDir as p, alpha as r, dottedRun as s, Grammar_d_exports as t, hex as u, stringEscape as v, ucharEscape as x, stringLiteralQuote as y };
|
|
169
|
+
//# sourceMappingURL=Grammar-D6jZdJQ3.d.mts.map
|