@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,284 @@
|
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
|
|
2
|
+
import { B as isNamedNode, N as isBlankNode, O as defaultGraph, Q as quad, T as blankNode, V as isObject, z as isLiteral } from "./Term-CFLG1qu4.mjs";
|
|
3
|
+
import { A as objectsOf, C as list, E as match } from "./Dataset-BlmlcI7J.mjs";
|
|
4
|
+
import { t as Vocab_exports } from "./Vocab-DceKywpq.mjs";
|
|
5
|
+
import { r as sh } from "./Vocabulary-CnQl-_Z4.mjs";
|
|
6
|
+
import * as Arr from "effect/Array";
|
|
7
|
+
import { constVoid, pipe } from "effect/Function";
|
|
8
|
+
import * as Iterable from "effect/Iterable";
|
|
9
|
+
import * as MutableHashMap from "effect/MutableHashMap";
|
|
10
|
+
import * as MutableHashSet from "effect/MutableHashSet";
|
|
11
|
+
import * as Option from "effect/Option";
|
|
12
|
+
import * as Predicate from "effect/Predicate";
|
|
13
|
+
import * as Match from "effect/Match";
|
|
14
|
+
import * as Result from "effect/Result";
|
|
15
|
+
// src/shacl/Path.ts
|
|
16
|
+
/**
|
|
17
|
+
* SHACL property paths (§2.3.1): a typed model, evaluation against a data
|
|
18
|
+
* graph, and conversion to and from their RDF encoding.
|
|
19
|
+
*
|
|
20
|
+
* @since 0.1.0
|
|
21
|
+
*/
|
|
22
|
+
var Path_exports = /* @__PURE__ */ __exportAll({
|
|
23
|
+
PathSyntaxError: () => PathSyntaxError,
|
|
24
|
+
alternative: () => alternative,
|
|
25
|
+
equals: () => equals,
|
|
26
|
+
evaluate: () => evaluate,
|
|
27
|
+
fromRdf: () => fromRdf,
|
|
28
|
+
inverse: () => inverse,
|
|
29
|
+
oneOrMore: () => oneOrMore,
|
|
30
|
+
predicate: () => predicate,
|
|
31
|
+
sequence: () => sequence,
|
|
32
|
+
toRdf: () => toRdf,
|
|
33
|
+
toSparql: () => toSparql,
|
|
34
|
+
zeroOrMore: () => zeroOrMore,
|
|
35
|
+
zeroOrOne: () => zeroOrOne
|
|
36
|
+
});
|
|
37
|
+
const { rdf } = Vocab_exports;
|
|
38
|
+
/**
|
|
39
|
+
* @since 0.1.0
|
|
40
|
+
* @category constructors
|
|
41
|
+
*/
|
|
42
|
+
const predicate = (iri) => ({
|
|
43
|
+
_tag: "PredicatePath",
|
|
44
|
+
predicate: iri
|
|
45
|
+
});
|
|
46
|
+
/**
|
|
47
|
+
* @since 0.1.0
|
|
48
|
+
* @category constructors
|
|
49
|
+
*/
|
|
50
|
+
const sequence = (...paths) => ({
|
|
51
|
+
_tag: "SequencePath",
|
|
52
|
+
paths
|
|
53
|
+
});
|
|
54
|
+
/**
|
|
55
|
+
* @since 0.1.0
|
|
56
|
+
* @category constructors
|
|
57
|
+
*/
|
|
58
|
+
const alternative = (...paths) => ({
|
|
59
|
+
_tag: "AlternativePath",
|
|
60
|
+
paths
|
|
61
|
+
});
|
|
62
|
+
/**
|
|
63
|
+
* @since 0.1.0
|
|
64
|
+
* @category constructors
|
|
65
|
+
*/
|
|
66
|
+
const inverse = (path) => ({
|
|
67
|
+
_tag: "InversePath",
|
|
68
|
+
path
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* @since 0.1.0
|
|
72
|
+
* @category constructors
|
|
73
|
+
*/
|
|
74
|
+
const zeroOrMore = (path) => ({
|
|
75
|
+
_tag: "ZeroOrMorePath",
|
|
76
|
+
path
|
|
77
|
+
});
|
|
78
|
+
/**
|
|
79
|
+
* @since 0.1.0
|
|
80
|
+
* @category constructors
|
|
81
|
+
*/
|
|
82
|
+
const oneOrMore = (path) => ({
|
|
83
|
+
_tag: "OneOrMorePath",
|
|
84
|
+
path
|
|
85
|
+
});
|
|
86
|
+
/**
|
|
87
|
+
* @since 0.1.0
|
|
88
|
+
* @category constructors
|
|
89
|
+
*/
|
|
90
|
+
const zeroOrOne = (path) => ({
|
|
91
|
+
_tag: "ZeroOrOnePath",
|
|
92
|
+
path
|
|
93
|
+
});
|
|
94
|
+
const isPredicatePath = (p) => Predicate.isTagged(p, "PredicatePath");
|
|
95
|
+
const isSequencePath = (p) => Predicate.isTagged(p, "SequencePath");
|
|
96
|
+
const isAlternativePath = (p) => Predicate.isTagged(p, "AlternativePath");
|
|
97
|
+
const equalsMatch = Match.fn((a, _b) => a).pipe(Match.tag("PredicatePath", (first, _a, b) => isPredicatePath(b) && first.predicate.value === b.predicate.value), Match.tag("SequencePath", (first, _a, b) => isSequencePath(b) && pathsEqual(first.paths, b.paths)), Match.tag("AlternativePath", (first, _a, b) => isAlternativePath(b) && pathsEqual(first.paths, b.paths)), Match.orElse((first, _a, b) => "path" in b && first._tag === b._tag && equals(first.path, b.path)));
|
|
98
|
+
const pathsEqual = Arr.makeEquivalence((a, b) => equals(a, b));
|
|
99
|
+
/**
|
|
100
|
+
* Structural equality of paths.
|
|
101
|
+
*
|
|
102
|
+
* @since 0.1.0
|
|
103
|
+
* @category equivalence
|
|
104
|
+
*/
|
|
105
|
+
const equals = (a, b) => equalsMatch(a, b);
|
|
106
|
+
/**
|
|
107
|
+
* Renders a path in SPARQL property path syntax, e.g. `^<p>/<q>*`.
|
|
108
|
+
*
|
|
109
|
+
* @since 0.1.0
|
|
110
|
+
* @category formatting
|
|
111
|
+
*/
|
|
112
|
+
const toSparql = (self) => {
|
|
113
|
+
const wrap = (p) => "paths" in p ? `(${toSparql(p)})` : toSparql(p);
|
|
114
|
+
return Match.value(self).pipe(Match.tag("PredicatePath", (node) => node.predicate.key), Match.tag("SequencePath", (node) => node.paths.map(wrap).join("/")), Match.tag("AlternativePath", (node) => node.paths.map(wrap).join("|")), Match.tag("InversePath", (node) => `^${wrap(node.path)}`), Match.tag("ZeroOrMorePath", (node) => `${wrap(node.path)}*`), Match.tag("OneOrMorePath", (node) => `${wrap(node.path)}+`), Match.tag("ZeroOrOnePath", (node) => `${wrap(node.path)}?`), Match.exhaustive);
|
|
115
|
+
};
|
|
116
|
+
const addNode = (out, node) => {
|
|
117
|
+
MutableHashMap.set(out, node.key, node);
|
|
118
|
+
};
|
|
119
|
+
const addAll = (out, from) => MutableHashMap.forEach(from, (node, key) => {
|
|
120
|
+
MutableHashMap.set(out, key, node);
|
|
121
|
+
});
|
|
122
|
+
/**
|
|
123
|
+
* The breadth-first closure of `path` from the one-step successors in
|
|
124
|
+
* `first`, added to `out`.
|
|
125
|
+
*/
|
|
126
|
+
const closure = (data, path, first, isInverse, out) => {
|
|
127
|
+
const advance = (frontier) => {
|
|
128
|
+
if (MutableHashMap.isEmpty(frontier)) return Option.none();
|
|
129
|
+
const next = MutableHashMap.empty();
|
|
130
|
+
MutableHashMap.forEach(frontier, (node, key) => {
|
|
131
|
+
if (MutableHashMap.has(out, key)) return;
|
|
132
|
+
MutableHashMap.set(out, key, node);
|
|
133
|
+
MutableHashMap.set(next, key, node);
|
|
134
|
+
});
|
|
135
|
+
return Option.some([void 0, MutableHashMap.isEmpty(next) ? next : step(path, data, next, isInverse)]);
|
|
136
|
+
};
|
|
137
|
+
Iterable.forEach(Iterable.unfold(first, advance), constVoid);
|
|
138
|
+
};
|
|
139
|
+
const isInversePath = (p) => Predicate.isTagged(p, "InversePath");
|
|
140
|
+
const isZeroOrOnePath = (p) => Predicate.isTagged(p, "ZeroOrOnePath");
|
|
141
|
+
const stepPredicate = (path, data, nodes, isInverse) => {
|
|
142
|
+
const out = MutableHashMap.empty();
|
|
143
|
+
MutableHashMap.forEach(nodes, (node) => {
|
|
144
|
+
if (isInverse) Arr.forEach(match(data, {
|
|
145
|
+
predicate: path.predicate,
|
|
146
|
+
object: node
|
|
147
|
+
}), (q) => addNode(out, q.subject));
|
|
148
|
+
else if (!isLiteral(node)) Arr.forEach(match(data, {
|
|
149
|
+
subject: node,
|
|
150
|
+
predicate: path.predicate
|
|
151
|
+
}), (q) => addNode(out, q.object));
|
|
152
|
+
});
|
|
153
|
+
return out;
|
|
154
|
+
};
|
|
155
|
+
const stepAlternative = (path, data, nodes, isInverse) => {
|
|
156
|
+
const out = MutableHashMap.empty();
|
|
157
|
+
Arr.forEach(path.paths, (p) => addAll(out, step(p, data, nodes, isInverse)));
|
|
158
|
+
return out;
|
|
159
|
+
};
|
|
160
|
+
/** `sh:zeroOrOnePath`, `sh:zeroOrMorePath` and `sh:oneOrMorePath`. */
|
|
161
|
+
const stepRepeat = (path, data, nodes, isInverse) => {
|
|
162
|
+
const out = MutableHashMap.empty();
|
|
163
|
+
if (!Predicate.isTagged(path, "OneOrMorePath")) addAll(out, nodes);
|
|
164
|
+
const first = step(path.path, data, nodes, isInverse);
|
|
165
|
+
if (isZeroOrOnePath(path)) addAll(out, first);
|
|
166
|
+
else closure(data, path.path, first, isInverse, out);
|
|
167
|
+
return out;
|
|
168
|
+
};
|
|
169
|
+
const step = (segment, data, nodes, isInverse) => {
|
|
170
|
+
if (isPredicatePath(segment)) return stepPredicate(segment, data, nodes, isInverse);
|
|
171
|
+
if (isSequencePath(segment)) return Arr.reduce(isInverse ? segment.paths.toReversed() : segment.paths, nodes, (current, p) => step(p, data, current, isInverse));
|
|
172
|
+
if (isAlternativePath(segment)) return stepAlternative(segment, data, nodes, isInverse);
|
|
173
|
+
if (isInversePath(segment)) return step(segment.path, data, nodes, !isInverse);
|
|
174
|
+
return stepRepeat(segment, data, nodes, isInverse);
|
|
175
|
+
};
|
|
176
|
+
/**
|
|
177
|
+
* The value nodes reachable from `focus` by following `path` in `data`
|
|
178
|
+
* (duplicates removed, in discovery order).
|
|
179
|
+
*
|
|
180
|
+
* @since 0.1.0
|
|
181
|
+
* @category evaluation
|
|
182
|
+
*/
|
|
183
|
+
const evaluate = (data, focus, path) => Arr.fromIterable(MutableHashMap.values(step(path, data, MutableHashMap.make([focus.key, focus]), false)));
|
|
184
|
+
/**
|
|
185
|
+
* Why a path node could not be read.
|
|
186
|
+
*
|
|
187
|
+
* @since 0.1.0
|
|
188
|
+
* @category models
|
|
189
|
+
*/
|
|
190
|
+
var PathSyntaxError = class {
|
|
191
|
+
_tag = "PathSyntaxError";
|
|
192
|
+
node;
|
|
193
|
+
message;
|
|
194
|
+
constructor(node, message) {
|
|
195
|
+
this.node = node;
|
|
196
|
+
this.message = message;
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
* Reads the SHACL path rooted at `node` from a shapes graph, failing with a
|
|
201
|
+
* `PathSyntaxError` when the node is not a well-formed path.
|
|
202
|
+
*
|
|
203
|
+
* @since 0.1.0
|
|
204
|
+
* @category decoding
|
|
205
|
+
*/
|
|
206
|
+
const fromRdf = (graph, node) => {
|
|
207
|
+
const visiting = MutableHashSet.empty();
|
|
208
|
+
const bad = (n, message) => {
|
|
209
|
+
throw new PathSyntaxError(n, message);
|
|
210
|
+
};
|
|
211
|
+
const readList = (owner, head, kind) => {
|
|
212
|
+
const items = isObject(head) ? list(graph, head) : Option.none();
|
|
213
|
+
if (Option.isNone(items)) return bad(owner, `${head.key} is not a well-formed list`);
|
|
214
|
+
if (items.value.length < 2) return bad(owner, `${kind} path ${owner.key} must have at least two members`);
|
|
215
|
+
return items.value.map(go);
|
|
216
|
+
};
|
|
217
|
+
const go = (n) => {
|
|
218
|
+
if (isNamedNode(n)) return predicate(n);
|
|
219
|
+
if (!isBlankNode(n)) return bad(n, `${n.key} is not a valid SHACL path`);
|
|
220
|
+
if (MutableHashSet.has(visiting, n.key)) return bad(n, `${n.key} is a recursive path`);
|
|
221
|
+
MutableHashSet.add(visiting, n.key);
|
|
222
|
+
const read = Result.try(() => readNode(n));
|
|
223
|
+
MutableHashSet.remove(visiting, n.key);
|
|
224
|
+
if (Result.isFailure(read)) throw read.failure;
|
|
225
|
+
return read.success;
|
|
226
|
+
};
|
|
227
|
+
const readNode = (n) => {
|
|
228
|
+
if (Arr.isReadonlyArrayNonEmpty(match(graph, {
|
|
229
|
+
subject: n,
|
|
230
|
+
predicate: rdf.first
|
|
231
|
+
}))) return sequence(...readList(n, n, "sequence"));
|
|
232
|
+
const single = (p) => {
|
|
233
|
+
const values = objectsOf(graph, n, p);
|
|
234
|
+
if (values.length > 1) bad(n, `${n.key} has multiple values for ${p.key}`);
|
|
235
|
+
return Arr.head(values);
|
|
236
|
+
};
|
|
237
|
+
const unary = (p, make) => () => Option.map(single(p), (inner) => make(go(inner)));
|
|
238
|
+
return pipe(Option.map(single(sh.alternativePath), (alt) => alternative(...readList(n, alt, "alternative"))), Option.orElse(unary(sh.inversePath, inverse)), Option.orElse(unary(sh.zeroOrMorePath, zeroOrMore)), Option.orElse(unary(sh.oneOrMorePath, oneOrMore)), Option.orElse(unary(sh.zeroOrOnePath, zeroOrOne)), Option.getOrElse(() => bad(n, `${n.key} is not a valid SHACL path`)));
|
|
239
|
+
};
|
|
240
|
+
return Result.try({
|
|
241
|
+
try: () => go(node),
|
|
242
|
+
catch: (e) => {
|
|
243
|
+
if (e instanceof PathSyntaxError) return e;
|
|
244
|
+
throw e;
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
};
|
|
248
|
+
/**
|
|
249
|
+
* Encodes a path as RDF, returning the path's root term and the triples
|
|
250
|
+
* describing it (using fresh blank nodes for non-predicate paths).
|
|
251
|
+
*
|
|
252
|
+
* @since 0.1.0
|
|
253
|
+
* @category encoding
|
|
254
|
+
*/
|
|
255
|
+
const toRdf = (self, graph = defaultGraph) => {
|
|
256
|
+
const quads = [];
|
|
257
|
+
const list = (items) => {
|
|
258
|
+
const nodes = items.map(() => blankNode());
|
|
259
|
+
Arr.forEach(Arr.zip(nodes, items), ([node, item], i) => {
|
|
260
|
+
quads.push(quad(node, rdf.first, go(item), graph));
|
|
261
|
+
quads.push(quad(node, rdf.rest, nodes[i + 1] ?? rdf.nil, graph));
|
|
262
|
+
});
|
|
263
|
+
return nodes[0] ?? rdf.nil;
|
|
264
|
+
};
|
|
265
|
+
const unary = (p, inner) => {
|
|
266
|
+
const b = blankNode();
|
|
267
|
+
quads.push(quad(b, p, go(inner), graph));
|
|
268
|
+
return b;
|
|
269
|
+
};
|
|
270
|
+
const go = (node) => {
|
|
271
|
+
return Match.value(node).pipe(Match.tag("PredicatePath", (p) => p.predicate), Match.tag("SequencePath", (p) => list(p.paths)), Match.tag("AlternativePath", (p) => {
|
|
272
|
+
const b = blankNode();
|
|
273
|
+
quads.push(quad(b, sh.alternativePath, list(p.paths), graph));
|
|
274
|
+
return b;
|
|
275
|
+
}), Match.tag("InversePath", (p) => unary(sh.inversePath, p.path)), Match.tag("ZeroOrMorePath", (p) => unary(sh.zeroOrMorePath, p.path)), Match.tag("OneOrMorePath", (p) => unary(sh.oneOrMorePath, p.path)), Match.tag("ZeroOrOnePath", (p) => unary(sh.zeroOrOnePath, p.path)), Match.exhaustive);
|
|
276
|
+
};
|
|
277
|
+
return {
|
|
278
|
+
node: go(self),
|
|
279
|
+
quads
|
|
280
|
+
};
|
|
281
|
+
};
|
|
282
|
+
export { evaluate as a, oneOrMore as c, toRdf as d, toSparql as f, equals as i, predicate as l, zeroOrOne as m, Path_exports as n, fromRdf as o, zeroOrMore as p, alternative as r, inverse as s, PathSyntaxError as t, sequence as u };
|
|
283
|
+
|
|
284
|
+
//# sourceMappingURL=Path-B20Yp8KE.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Path-B20Yp8KE.mjs","names":["Vocab","Dataset.match","Term.isLiteral","Term.isObject","Dataset.list","Term.isNamedNode","Term.isBlankNode","Dataset.objectsOf","Term.defaultGraph","Term.blankNode","Term.quad"],"sources":["../src/shacl/Path.ts"],"sourcesContent":["/**\n * SHACL property paths (§2.3.1): a typed model, evaluation against a data\n * graph, and conversion to and from their RDF encoding.\n *\n * @since 0.1.0\n */\nimport { Dataset, Term, Vocab } from '../index.ts';\nimport * as Arr from 'effect/Array';\nimport { constVoid, pipe } from 'effect/Function';\nimport * as Iterable from 'effect/Iterable';\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 Result from 'effect/Result';\nimport { sh } from './Vocabulary.ts';\n\nconst { rdf } = Vocab;\n\n/**\n * A SHACL property path.\n *\n * @since 0.1.0\n * @category models\n */\nexport type Path =\n | PredicatePath\n | SequencePath\n | AlternativePath\n | InversePath\n | ZeroOrMorePath\n | OneOrMorePath\n | ZeroOrOnePath;\n\n/**\n * A predicate path: a single IRI.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface PredicatePath {\n readonly _tag: 'PredicatePath';\n readonly predicate: Term.NamedNode;\n}\n\n/**\n * A sequence path: an RDF list of at least two paths.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface SequencePath {\n readonly _tag: 'SequencePath';\n readonly paths: ReadonlyArray<Path>;\n}\n\n/**\n * An alternative path (`sh:alternativePath`).\n *\n * @since 0.1.0\n * @category models\n */\nexport interface AlternativePath {\n readonly _tag: 'AlternativePath';\n readonly paths: ReadonlyArray<Path>;\n}\n\n/**\n * An inverse path (`sh:inversePath`).\n *\n * @since 0.1.0\n * @category models\n */\nexport interface InversePath {\n readonly _tag: 'InversePath';\n readonly path: Path;\n}\n\n/**\n * A zero-or-more path (`sh:zeroOrMorePath`).\n *\n * @since 0.1.0\n * @category models\n */\nexport interface ZeroOrMorePath {\n readonly _tag: 'ZeroOrMorePath';\n readonly path: Path;\n}\n\n/**\n * A one-or-more path (`sh:oneOrMorePath`).\n *\n * @since 0.1.0\n * @category models\n */\nexport interface OneOrMorePath {\n readonly _tag: 'OneOrMorePath';\n readonly path: Path;\n}\n\n/**\n * A zero-or-one path (`sh:zeroOrOnePath`).\n *\n * @since 0.1.0\n * @category models\n */\nexport interface ZeroOrOnePath {\n readonly _tag: 'ZeroOrOnePath';\n readonly path: Path;\n}\n\n// -----------------------------------------------------------------------------\n// Constructors\n// -----------------------------------------------------------------------------\n\n/**\n * @since 0.1.0\n * @category constructors\n */\nexport const predicate = (iri: Term.NamedNode): PredicatePath => ({\n _tag: 'PredicatePath',\n predicate: iri,\n});\n\n/**\n * @since 0.1.0\n * @category constructors\n */\nexport const sequence = (...paths: ReadonlyArray<Path>): SequencePath => ({\n _tag: 'SequencePath',\n paths,\n});\n\n/**\n * @since 0.1.0\n * @category constructors\n */\nexport const alternative = (...paths: ReadonlyArray<Path>): AlternativePath => ({\n _tag: 'AlternativePath',\n paths,\n});\n\n/**\n * @since 0.1.0\n * @category constructors\n */\nexport const inverse = (path: Path): InversePath => ({ _tag: 'InversePath', path });\n\n/**\n * @since 0.1.0\n * @category constructors\n */\nexport const zeroOrMore = (path: Path): ZeroOrMorePath => ({ _tag: 'ZeroOrMorePath', path });\n\n/**\n * @since 0.1.0\n * @category constructors\n */\nexport const oneOrMore = (path: Path): OneOrMorePath => ({ _tag: 'OneOrMorePath', path });\n\n/**\n * @since 0.1.0\n * @category constructors\n */\nexport const zeroOrOne = (path: Path): ZeroOrOnePath => ({ _tag: 'ZeroOrOnePath', path });\n\n// -----------------------------------------------------------------------------\n// Utilities\n// -----------------------------------------------------------------------------\n\nconst isPredicatePath = (p: Path): p is PredicatePath => Predicate.isTagged(p, 'PredicatePath');\nconst isSequencePath = (p: Path): p is SequencePath => Predicate.isTagged(p, 'SequencePath');\nconst isAlternativePath = (p: Path): p is AlternativePath =>\n Predicate.isTagged(p, 'AlternativePath');\n\n// Built once: `equals` recurses through every sub-path.\nconst equalsMatch: (a: Path, b: Path) => boolean = Match.fn((a: Path, _b: Path) => a).pipe(\n Match.tag(\n 'PredicatePath',\n (first, _a, b) => isPredicatePath(b) && first.predicate.value === b.predicate.value,\n ),\n Match.tag(\n 'SequencePath',\n (first, _a, b) => isSequencePath(b) && pathsEqual(first.paths, b.paths),\n ),\n Match.tag(\n 'AlternativePath',\n (first, _a, b) => isAlternativePath(b) && pathsEqual(first.paths, b.paths),\n ),\n Match.orElse(\n (first, _a, b) => 'path' in b && first._tag === b._tag && equals(first.path, b.path),\n ),\n);\n\nconst pathsEqual = Arr.makeEquivalence<Path>((a, b) => equals(a, b));\n\n/**\n * Structural equality of paths.\n *\n * @since 0.1.0\n * @category equivalence\n */\nexport const equals = (a: Path, b: Path): boolean => equalsMatch(a, b);\n\n/**\n * Renders a path in SPARQL property path syntax, e.g. `^<p>/<q>*`.\n *\n * @since 0.1.0\n * @category formatting\n */\nexport const toSparql = (self: Path): string => {\n const wrap = (p: Path) => ('paths' in p ? `(${toSparql(p)})` : toSparql(p));\n return Match.value(self).pipe(\n Match.tag('PredicatePath', (node) => node.predicate.key),\n Match.tag('SequencePath', (node) => node.paths.map(wrap).join('/')),\n Match.tag('AlternativePath', (node) => node.paths.map(wrap).join('|')),\n Match.tag('InversePath', (node) => `^${wrap(node.path)}`),\n Match.tag('ZeroOrMorePath', (node) => `${wrap(node.path)}*`),\n Match.tag('OneOrMorePath', (node) => `${wrap(node.path)}+`),\n Match.tag('ZeroOrOnePath', (node) => `${wrap(node.path)}?`),\n Match.exhaustive,\n );\n};\n\n// -----------------------------------------------------------------------------\n// Evaluation\n// -----------------------------------------------------------------------------\n\ntype Node = Term.GroundTerm;\n\n/** Nodes keyed by their N-Triples form, in discovery order. */\ntype Nodes = MutableHashMap.MutableHashMap<string, Node>;\n\nconst addNode = (out: Nodes, node: Node): void => {\n MutableHashMap.set(out, node.key, node);\n};\n\nconst addAll = (out: Nodes, from: Nodes): void =>\n MutableHashMap.forEach(from, (node, key) => {\n MutableHashMap.set(out, key, node);\n });\n\n/**\n * The breadth-first closure of `path` from the one-step successors in\n * `first`, added to `out`.\n */\nconst closure = (\n data: Dataset.Dataset,\n path: Path,\n first: Nodes,\n isInverse: boolean,\n out: Nodes,\n): void => {\n const advance = (frontier: Nodes): Option.Option<readonly [void, Nodes]> => {\n if (MutableHashMap.isEmpty(frontier)) return Option.none();\n const next: Nodes = MutableHashMap.empty();\n MutableHashMap.forEach(frontier, (node, key) => {\n if (MutableHashMap.has(out, key)) return;\n MutableHashMap.set(out, key, node);\n MutableHashMap.set(next, key, node);\n });\n return Option.some([\n undefined,\n MutableHashMap.isEmpty(next) ? next : step(path, data, next, isInverse),\n ]);\n };\n Iterable.forEach(Iterable.unfold(first, advance), constVoid);\n};\n\nconst isInversePath = (p: Path): p is InversePath => Predicate.isTagged(p, 'InversePath');\nconst isZeroOrOnePath = (p: Path): p is ZeroOrOnePath => Predicate.isTagged(p, 'ZeroOrOnePath');\n\nconst stepPredicate = (\n path: PredicatePath,\n data: Dataset.Dataset,\n nodes: Nodes,\n isInverse: boolean,\n): Nodes => {\n const out: Nodes = MutableHashMap.empty();\n MutableHashMap.forEach(nodes, (node) => {\n if (isInverse)\n Arr.forEach(Dataset.match(data, { predicate: path.predicate, object: node }), (q) =>\n addNode(out, q.subject),\n );\n else if (!Term.isLiteral(node))\n Arr.forEach(Dataset.match(data, { subject: node, predicate: path.predicate }), (q) =>\n addNode(out, q.object),\n );\n });\n return out;\n};\n\nconst stepAlternative = (\n path: AlternativePath,\n data: Dataset.Dataset,\n nodes: Nodes,\n isInverse: boolean,\n): Nodes => {\n const out: Nodes = MutableHashMap.empty();\n Arr.forEach(path.paths, (p) => addAll(out, step(p, data, nodes, isInverse)));\n return out;\n};\n\n/** `sh:zeroOrOnePath`, `sh:zeroOrMorePath` and `sh:oneOrMorePath`. */\nconst stepRepeat = (\n path: ZeroOrOnePath | ZeroOrMorePath | OneOrMorePath,\n data: Dataset.Dataset,\n nodes: Nodes,\n isInverse: boolean,\n): Nodes => {\n const out: Nodes = MutableHashMap.empty();\n if (!Predicate.isTagged(path, 'OneOrMorePath')) addAll(out, nodes);\n const first = step(path.path, data, nodes, isInverse);\n if (isZeroOrOnePath(path)) addAll(out, first);\n else closure(data, path.path, first, isInverse, out);\n return out;\n};\n\n// Plain guards rather than a `Match`: `step` runs for every path segment of\n// every focus node.\nconst step = (segment: Path, data: Dataset.Dataset, nodes: Nodes, isInverse: boolean): Nodes => {\n if (isPredicatePath(segment)) return stepPredicate(segment, data, nodes, isInverse);\n if (isSequencePath(segment))\n return Arr.reduce(isInverse ? segment.paths.toReversed() : segment.paths, nodes, (current, p) =>\n step(p, data, current, isInverse),\n );\n if (isAlternativePath(segment)) return stepAlternative(segment, data, nodes, isInverse);\n if (isInversePath(segment)) return step(segment.path, data, nodes, !isInverse);\n return stepRepeat(segment, data, nodes, isInverse);\n};\n\n/**\n * The value nodes reachable from `focus` by following `path` in `data`\n * (duplicates removed, in discovery order).\n *\n * @since 0.1.0\n * @category evaluation\n */\nexport const evaluate = (\n data: Dataset.Dataset,\n focus: Term.GroundTerm,\n path: Path,\n): ReadonlyArray<Term.GroundTerm> =>\n Arr.fromIterable(\n MutableHashMap.values(step(path, data, MutableHashMap.make([focus.key, focus]), false)),\n );\n\n// -----------------------------------------------------------------------------\n// RDF encoding\n// -----------------------------------------------------------------------------\n\n/**\n * Why a path node could not be read.\n *\n * @since 0.1.0\n * @category models\n */\nexport class PathSyntaxError {\n readonly _tag = 'PathSyntaxError';\n readonly node: Term.Term;\n readonly message: string;\n constructor(node: Term.Term, message: string) {\n this.node = node;\n this.message = message;\n }\n}\n\n/**\n * Reads the SHACL path rooted at `node` from a shapes graph, failing with a\n * `PathSyntaxError` when the node is not a well-formed path.\n *\n * @since 0.1.0\n * @category decoding\n */\nexport const fromRdf = (\n graph: Dataset.Dataset,\n node: Term.Term,\n): Result.Result<Path, PathSyntaxError> => {\n const visiting = MutableHashSet.empty<string>();\n const bad = (n: Term.Term, message: string): never => {\n throw new PathSyntaxError(n, message);\n };\n const readList = (owner: Term.Term, head: Term.Term, kind: string): ReadonlyArray<Path> => {\n const items = Term.isObject(head) ? Dataset.list(graph, head) : Option.none();\n if (Option.isNone(items)) return bad(owner, `${head.key} is not a well-formed list`);\n if (items.value.length < 2)\n return bad(owner, `${kind} path ${owner.key} must have at least two members`);\n return items.value.map(go);\n };\n const go = (n: Term.Term): Path => {\n if (Term.isNamedNode(n)) return predicate(n);\n if (!Term.isBlankNode(n)) return bad(n, `${n.key} is not a valid SHACL path`);\n if (MutableHashSet.has(visiting, n.key)) return bad(n, `${n.key} is a recursive path`);\n MutableHashSet.add(visiting, n.key);\n const read = Result.try(() => readNode(n));\n MutableHashSet.remove(visiting, n.key);\n if (Result.isFailure(read)) throw read.failure;\n return read.success;\n };\n const readNode = (n: Term.BlankNode): Path => {\n if (Arr.isReadonlyArrayNonEmpty(Dataset.match(graph, { subject: n, predicate: rdf.first }))) {\n return sequence(...readList(n, n, 'sequence'));\n }\n const single = (p: Term.NamedNode): Option.Option<Term.Term> => {\n const values = Dataset.objectsOf(graph, n, p);\n if (values.length > 1) bad(n, `${n.key} has multiple values for ${p.key}`);\n return Arr.head(values);\n };\n const unary = (p: Term.NamedNode, make: (inner: Path) => Path) => (): Option.Option<Path> =>\n Option.map(single(p), (inner) => make(go(inner)));\n return pipe(\n Option.map(single(sh.alternativePath), (alt) =>\n alternative(...readList(n, alt, 'alternative')),\n ),\n Option.orElse(unary(sh.inversePath, inverse)),\n Option.orElse(unary(sh.zeroOrMorePath, zeroOrMore)),\n Option.orElse(unary(sh.oneOrMorePath, oneOrMore)),\n Option.orElse(unary(sh.zeroOrOnePath, zeroOrOne)),\n Option.getOrElse(() => bad(n, `${n.key} is not a valid SHACL path`)),\n );\n };\n return Result.try({\n try: () => go(node),\n catch: (e) => {\n if (e instanceof PathSyntaxError) return e;\n throw e;\n },\n });\n};\n\n/**\n * A path encoded as RDF: its root term and the quads describing it.\n *\n * @since 0.1.0\n * @category encoding\n */\nexport interface PathRdf {\n readonly node: Term.NamedNode | Term.BlankNode;\n readonly quads: ReadonlyArray<Term.Quad>;\n}\n\n/**\n * Encodes a path as RDF, returning the path's root term and the triples\n * describing it (using fresh blank nodes for non-predicate paths).\n *\n * @since 0.1.0\n * @category encoding\n */\nexport const toRdf = (self: Path, graph: Term.Graph = Term.defaultGraph): PathRdf => {\n const quads: Array<Term.Quad> = [];\n const list = (items: ReadonlyArray<Path>): Term.NamedNode | Term.BlankNode => {\n const nodes = items.map(() => Term.blankNode());\n Arr.forEach(Arr.zip(nodes, items), ([node, item], i) => {\n quads.push(Term.quad(node, rdf.first, go(item), graph));\n quads.push(Term.quad(node, rdf.rest, nodes[i + 1] ?? rdf.nil, graph));\n });\n return nodes[0] ?? rdf.nil;\n };\n const unary = (p: Term.NamedNode, inner: Path) => {\n const b = Term.blankNode();\n quads.push(Term.quad(b, p, go(inner), graph));\n return b;\n };\n const go = (node: Path): Term.NamedNode | Term.BlankNode => {\n return Match.value(node).pipe(\n Match.tag('PredicatePath', (p) => p.predicate),\n Match.tag('SequencePath', (p) => list(p.paths)),\n Match.tag('AlternativePath', (p) => {\n const b = Term.blankNode();\n quads.push(Term.quad(b, sh.alternativePath, list(p.paths), graph));\n return b;\n }),\n Match.tag('InversePath', (p) => unary(sh.inversePath, p.path)),\n Match.tag('ZeroOrMorePath', (p) => unary(sh.zeroOrMorePath, p.path)),\n Match.tag('OneOrMorePath', (p) => unary(sh.oneOrMorePath, p.path)),\n Match.tag('ZeroOrOnePath', (p) => unary(sh.zeroOrOnePath, p.path)),\n Match.exhaustive,\n );\n };\n const node = go(self);\n return { node, quads };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { T as Term, _ as Quad, d as NamedNode, o as Graph, s as GroundTerm, t as BlankNode } from "./Term-B_4ezyXq.mjs";
|
|
2
|
+
import { n as Dataset } from "./Dataset-DS3ESOcO.mjs";
|
|
3
|
+
import "./index-Cms2TYfC.mjs";
|
|
4
|
+
import * as Result from "effect/Result";
|
|
5
|
+
declare namespace Path_d_exports {
|
|
6
|
+
export { AlternativePath, InversePath, OneOrMorePath, Path, PathRdf, PathSyntaxError, PredicatePath, SequencePath, ZeroOrMorePath, ZeroOrOnePath, alternative, equals, evaluate, fromRdf, inverse, oneOrMore, predicate, sequence, toRdf, toSparql, zeroOrMore, zeroOrOne };
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* A SHACL property path.
|
|
10
|
+
*
|
|
11
|
+
* @since 0.1.0
|
|
12
|
+
* @category models
|
|
13
|
+
*/
|
|
14
|
+
type Path = PredicatePath | SequencePath | AlternativePath | InversePath | ZeroOrMorePath | OneOrMorePath | ZeroOrOnePath;
|
|
15
|
+
/**
|
|
16
|
+
* A predicate path: a single IRI.
|
|
17
|
+
*
|
|
18
|
+
* @since 0.1.0
|
|
19
|
+
* @category models
|
|
20
|
+
*/
|
|
21
|
+
interface PredicatePath {
|
|
22
|
+
readonly _tag: 'PredicatePath';
|
|
23
|
+
readonly predicate: NamedNode;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A sequence path: an RDF list of at least two paths.
|
|
27
|
+
*
|
|
28
|
+
* @since 0.1.0
|
|
29
|
+
* @category models
|
|
30
|
+
*/
|
|
31
|
+
interface SequencePath {
|
|
32
|
+
readonly _tag: 'SequencePath';
|
|
33
|
+
readonly paths: ReadonlyArray<Path>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* An alternative path (`sh:alternativePath`).
|
|
37
|
+
*
|
|
38
|
+
* @since 0.1.0
|
|
39
|
+
* @category models
|
|
40
|
+
*/
|
|
41
|
+
interface AlternativePath {
|
|
42
|
+
readonly _tag: 'AlternativePath';
|
|
43
|
+
readonly paths: ReadonlyArray<Path>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* An inverse path (`sh:inversePath`).
|
|
47
|
+
*
|
|
48
|
+
* @since 0.1.0
|
|
49
|
+
* @category models
|
|
50
|
+
*/
|
|
51
|
+
interface InversePath {
|
|
52
|
+
readonly _tag: 'InversePath';
|
|
53
|
+
readonly path: Path;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* A zero-or-more path (`sh:zeroOrMorePath`).
|
|
57
|
+
*
|
|
58
|
+
* @since 0.1.0
|
|
59
|
+
* @category models
|
|
60
|
+
*/
|
|
61
|
+
interface ZeroOrMorePath {
|
|
62
|
+
readonly _tag: 'ZeroOrMorePath';
|
|
63
|
+
readonly path: Path;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* A one-or-more path (`sh:oneOrMorePath`).
|
|
67
|
+
*
|
|
68
|
+
* @since 0.1.0
|
|
69
|
+
* @category models
|
|
70
|
+
*/
|
|
71
|
+
interface OneOrMorePath {
|
|
72
|
+
readonly _tag: 'OneOrMorePath';
|
|
73
|
+
readonly path: Path;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* A zero-or-one path (`sh:zeroOrOnePath`).
|
|
77
|
+
*
|
|
78
|
+
* @since 0.1.0
|
|
79
|
+
* @category models
|
|
80
|
+
*/
|
|
81
|
+
interface ZeroOrOnePath {
|
|
82
|
+
readonly _tag: 'ZeroOrOnePath';
|
|
83
|
+
readonly path: Path;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* @since 0.1.0
|
|
87
|
+
* @category constructors
|
|
88
|
+
*/
|
|
89
|
+
declare const predicate: (iri: NamedNode) => PredicatePath;
|
|
90
|
+
/**
|
|
91
|
+
* @since 0.1.0
|
|
92
|
+
* @category constructors
|
|
93
|
+
*/
|
|
94
|
+
declare const sequence: (...paths: ReadonlyArray<Path>) => SequencePath;
|
|
95
|
+
/**
|
|
96
|
+
* @since 0.1.0
|
|
97
|
+
* @category constructors
|
|
98
|
+
*/
|
|
99
|
+
declare const alternative: (...paths: ReadonlyArray<Path>) => AlternativePath;
|
|
100
|
+
/**
|
|
101
|
+
* @since 0.1.0
|
|
102
|
+
* @category constructors
|
|
103
|
+
*/
|
|
104
|
+
declare const inverse: (path: Path) => InversePath;
|
|
105
|
+
/**
|
|
106
|
+
* @since 0.1.0
|
|
107
|
+
* @category constructors
|
|
108
|
+
*/
|
|
109
|
+
declare const zeroOrMore: (path: Path) => ZeroOrMorePath;
|
|
110
|
+
/**
|
|
111
|
+
* @since 0.1.0
|
|
112
|
+
* @category constructors
|
|
113
|
+
*/
|
|
114
|
+
declare const oneOrMore: (path: Path) => OneOrMorePath;
|
|
115
|
+
/**
|
|
116
|
+
* @since 0.1.0
|
|
117
|
+
* @category constructors
|
|
118
|
+
*/
|
|
119
|
+
declare const zeroOrOne: (path: Path) => ZeroOrOnePath;
|
|
120
|
+
/**
|
|
121
|
+
* Structural equality of paths.
|
|
122
|
+
*
|
|
123
|
+
* @since 0.1.0
|
|
124
|
+
* @category equivalence
|
|
125
|
+
*/
|
|
126
|
+
declare const equals: (a: Path, b: Path) => boolean;
|
|
127
|
+
/**
|
|
128
|
+
* Renders a path in SPARQL property path syntax, e.g. `^<p>/<q>*`.
|
|
129
|
+
*
|
|
130
|
+
* @since 0.1.0
|
|
131
|
+
* @category formatting
|
|
132
|
+
*/
|
|
133
|
+
declare const toSparql: (self: Path) => string;
|
|
134
|
+
/**
|
|
135
|
+
* The value nodes reachable from `focus` by following `path` in `data`
|
|
136
|
+
* (duplicates removed, in discovery order).
|
|
137
|
+
*
|
|
138
|
+
* @since 0.1.0
|
|
139
|
+
* @category evaluation
|
|
140
|
+
*/
|
|
141
|
+
declare const evaluate: (data: Dataset, focus: GroundTerm, path: Path) => ReadonlyArray<GroundTerm>;
|
|
142
|
+
/**
|
|
143
|
+
* Why a path node could not be read.
|
|
144
|
+
*
|
|
145
|
+
* @since 0.1.0
|
|
146
|
+
* @category models
|
|
147
|
+
*/
|
|
148
|
+
declare class PathSyntaxError {
|
|
149
|
+
readonly _tag = "PathSyntaxError";
|
|
150
|
+
readonly node: Term;
|
|
151
|
+
readonly message: string;
|
|
152
|
+
constructor(node: Term, message: string);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Reads the SHACL path rooted at `node` from a shapes graph, failing with a
|
|
156
|
+
* `PathSyntaxError` when the node is not a well-formed path.
|
|
157
|
+
*
|
|
158
|
+
* @since 0.1.0
|
|
159
|
+
* @category decoding
|
|
160
|
+
*/
|
|
161
|
+
declare const fromRdf: (graph: Dataset, node: Term) => Result.Result<Path, PathSyntaxError>;
|
|
162
|
+
/**
|
|
163
|
+
* A path encoded as RDF: its root term and the quads describing it.
|
|
164
|
+
*
|
|
165
|
+
* @since 0.1.0
|
|
166
|
+
* @category encoding
|
|
167
|
+
*/
|
|
168
|
+
interface PathRdf {
|
|
169
|
+
readonly node: NamedNode | BlankNode;
|
|
170
|
+
readonly quads: ReadonlyArray<Quad>;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Encodes a path as RDF, returning the path's root term and the triples
|
|
174
|
+
* describing it (using fresh blank nodes for non-predicate paths).
|
|
175
|
+
*
|
|
176
|
+
* @since 0.1.0
|
|
177
|
+
* @category encoding
|
|
178
|
+
*/
|
|
179
|
+
declare const toRdf: (self: Path, graph?: Graph) => PathRdf;
|
|
180
|
+
export { zeroOrOne as C, zeroOrMore as S, oneOrMore as _, PathRdf as a, toRdf as b, PredicatePath as c, ZeroOrOnePath as d, alternative as f, inverse as g, fromRdf as h, Path as i, SequencePath as l, evaluate as m, InversePath as n, PathSyntaxError as o, equals as p, OneOrMorePath as r, Path_d_exports as s, AlternativePath as t, ZeroOrMorePath as u, predicate as v, toSparql as x, sequence as y };
|
|
181
|
+
//# sourceMappingURL=Path-DRB8e-Zn.d.mts.map
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { c as Setter, o as Metadata } from "./Metadata-nzS7QKRj.mjs";
|
|
2
|
+
import * as Option from "effect/Option";
|
|
3
|
+
declare namespace Pdf_d_exports {
|
|
4
|
+
export { keywords, pdfVersion, producer, setKeywords, setPdfVersion, setProducer, setTrapped, setUaPart, trapped, uaPart };
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* The application that wrote the PDF (`pdf:Producer`).
|
|
8
|
+
*
|
|
9
|
+
* @since 0.1.0
|
|
10
|
+
* @category getters
|
|
11
|
+
*/
|
|
12
|
+
declare const producer: (self: Metadata) => Option.Option<string>;
|
|
13
|
+
/**
|
|
14
|
+
* Sets the application that wrote the PDF (`pdf:Producer`).
|
|
15
|
+
*
|
|
16
|
+
* @since 0.1.0
|
|
17
|
+
* @category setters
|
|
18
|
+
*/
|
|
19
|
+
declare const setProducer: Setter<string>;
|
|
20
|
+
/**
|
|
21
|
+
* The keywords (`pdf:Keywords`), one text value.
|
|
22
|
+
*
|
|
23
|
+
* @since 0.1.0
|
|
24
|
+
* @category getters
|
|
25
|
+
*/
|
|
26
|
+
declare const keywords: (self: Metadata) => Option.Option<string>;
|
|
27
|
+
/**
|
|
28
|
+
* Sets the keywords (`pdf:Keywords`), one text value.
|
|
29
|
+
*
|
|
30
|
+
* @since 0.1.0
|
|
31
|
+
* @category setters
|
|
32
|
+
*/
|
|
33
|
+
declare const setKeywords: Setter<string>;
|
|
34
|
+
/**
|
|
35
|
+
* The PDF version, such as `"1.7"` (`pdf:PDFVersion`).
|
|
36
|
+
*
|
|
37
|
+
* @since 0.1.0
|
|
38
|
+
* @category getters
|
|
39
|
+
*/
|
|
40
|
+
declare const pdfVersion: (self: Metadata) => Option.Option<string>;
|
|
41
|
+
/**
|
|
42
|
+
* Sets the PDF version, such as `"1.7"` (`pdf:PDFVersion`).
|
|
43
|
+
*
|
|
44
|
+
* @since 0.1.0
|
|
45
|
+
* @category setters
|
|
46
|
+
*/
|
|
47
|
+
declare const setPdfVersion: Setter<string>;
|
|
48
|
+
/**
|
|
49
|
+
* Whether the document is trapped (`pdf:Trapped`): `"True"`, `"False"` or `"Unknown"`.
|
|
50
|
+
*
|
|
51
|
+
* @since 0.1.0
|
|
52
|
+
* @category getters
|
|
53
|
+
*/
|
|
54
|
+
declare const trapped: (self: Metadata) => Option.Option<string>;
|
|
55
|
+
/**
|
|
56
|
+
* Sets whether the document is trapped (`pdf:Trapped`): `"True"`, `"False"` or `"Unknown"`.
|
|
57
|
+
*
|
|
58
|
+
* @since 0.1.0
|
|
59
|
+
* @category setters
|
|
60
|
+
*/
|
|
61
|
+
declare const setTrapped: Setter<string>;
|
|
62
|
+
/**
|
|
63
|
+
* The PDF/UA part the document conforms to (`pdfuaid:part`), such as `1`.
|
|
64
|
+
*
|
|
65
|
+
* @since 0.1.0
|
|
66
|
+
* @category getters
|
|
67
|
+
*/
|
|
68
|
+
declare const uaPart: (self: Metadata) => Option.Option<number>;
|
|
69
|
+
/**
|
|
70
|
+
* Sets the PDF/UA part the document conforms to (`pdfuaid:part`).
|
|
71
|
+
*
|
|
72
|
+
* @since 0.1.0
|
|
73
|
+
* @category setters
|
|
74
|
+
*/
|
|
75
|
+
declare const setUaPart: Setter<number>;
|
|
76
|
+
export { setKeywords as a, setTrapped as c, uaPart as d, producer as i, setUaPart as l, keywords as n, setPdfVersion as o, pdfVersion as r, setProducer as s, Pdf_d_exports as t, trapped as u };
|
|
77
|
+
//# sourceMappingURL=Pdf-B9RZn--8.d.mts.map
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
|
|
2
|
+
import { a as PDF, f as PDFUA_ID } from "./Namespaces-Bz85vpjW.mjs";
|
|
3
|
+
import { f as setText, l as setInteger, p as text, r as integer } from "./accessors-CEjaojuQ.mjs";
|
|
4
|
+
// src/xmp/Pdf.ts
|
|
5
|
+
var Pdf_exports = /* @__PURE__ */ __exportAll({
|
|
6
|
+
keywords: () => keywords,
|
|
7
|
+
pdfVersion: () => pdfVersion,
|
|
8
|
+
producer: () => producer,
|
|
9
|
+
setKeywords: () => setKeywords,
|
|
10
|
+
setPdfVersion: () => setPdfVersion,
|
|
11
|
+
setProducer: () => setProducer,
|
|
12
|
+
setTrapped: () => setTrapped,
|
|
13
|
+
setUaPart: () => setUaPart,
|
|
14
|
+
trapped: () => trapped,
|
|
15
|
+
uaPart: () => uaPart
|
|
16
|
+
});
|
|
17
|
+
/**
|
|
18
|
+
* The application that wrote the PDF (`pdf:Producer`).
|
|
19
|
+
*
|
|
20
|
+
* @since 0.1.0
|
|
21
|
+
* @category getters
|
|
22
|
+
*/
|
|
23
|
+
const producer = text(`${PDF}Producer`);
|
|
24
|
+
/**
|
|
25
|
+
* Sets the application that wrote the PDF (`pdf:Producer`).
|
|
26
|
+
*
|
|
27
|
+
* @since 0.1.0
|
|
28
|
+
* @category setters
|
|
29
|
+
*/
|
|
30
|
+
const setProducer = setText(`${PDF}Producer`);
|
|
31
|
+
/**
|
|
32
|
+
* The keywords (`pdf:Keywords`), one text value.
|
|
33
|
+
*
|
|
34
|
+
* @since 0.1.0
|
|
35
|
+
* @category getters
|
|
36
|
+
*/
|
|
37
|
+
const keywords = text(`${PDF}Keywords`);
|
|
38
|
+
/**
|
|
39
|
+
* Sets the keywords (`pdf:Keywords`), one text value.
|
|
40
|
+
*
|
|
41
|
+
* @since 0.1.0
|
|
42
|
+
* @category setters
|
|
43
|
+
*/
|
|
44
|
+
const setKeywords = setText(`${PDF}Keywords`);
|
|
45
|
+
/**
|
|
46
|
+
* The PDF version, such as `"1.7"` (`pdf:PDFVersion`).
|
|
47
|
+
*
|
|
48
|
+
* @since 0.1.0
|
|
49
|
+
* @category getters
|
|
50
|
+
*/
|
|
51
|
+
const pdfVersion = text(`${PDF}PDFVersion`);
|
|
52
|
+
/**
|
|
53
|
+
* Sets the PDF version, such as `"1.7"` (`pdf:PDFVersion`).
|
|
54
|
+
*
|
|
55
|
+
* @since 0.1.0
|
|
56
|
+
* @category setters
|
|
57
|
+
*/
|
|
58
|
+
const setPdfVersion = setText(`${PDF}PDFVersion`);
|
|
59
|
+
/**
|
|
60
|
+
* Whether the document is trapped (`pdf:Trapped`): `"True"`, `"False"` or `"Unknown"`.
|
|
61
|
+
*
|
|
62
|
+
* @since 0.1.0
|
|
63
|
+
* @category getters
|
|
64
|
+
*/
|
|
65
|
+
const trapped = text(`${PDF}Trapped`);
|
|
66
|
+
/**
|
|
67
|
+
* Sets whether the document is trapped (`pdf:Trapped`): `"True"`, `"False"` or `"Unknown"`.
|
|
68
|
+
*
|
|
69
|
+
* @since 0.1.0
|
|
70
|
+
* @category setters
|
|
71
|
+
*/
|
|
72
|
+
const setTrapped = setText(`${PDF}Trapped`);
|
|
73
|
+
/**
|
|
74
|
+
* The PDF/UA part the document conforms to (`pdfuaid:part`), such as `1`.
|
|
75
|
+
*
|
|
76
|
+
* @since 0.1.0
|
|
77
|
+
* @category getters
|
|
78
|
+
*/
|
|
79
|
+
const uaPart = (self) => integer(`${PDFUA_ID}part`)(self);
|
|
80
|
+
/**
|
|
81
|
+
* Sets the PDF/UA part the document conforms to (`pdfuaid:part`).
|
|
82
|
+
*
|
|
83
|
+
* @since 0.1.0
|
|
84
|
+
* @category setters
|
|
85
|
+
*/
|
|
86
|
+
const setUaPart = setInteger(`${PDFUA_ID}part`);
|
|
87
|
+
export { setKeywords as a, setTrapped as c, uaPart as d, producer as i, setUaPart as l, keywords as n, setPdfVersion as o, pdfVersion as r, setProducer as s, Pdf_exports as t, trapped as u };
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=Pdf-CKK6dkZn.mjs.map
|