@rdfx/format 0.0.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CompressedRdfFormat.d.ts +7 -0
- package/dist/CompressedRdfFormat.js +2 -0
- package/dist/CompressionMethod.d.ts +3 -0
- package/dist/CompressionMethod.js +2 -0
- package/dist/RdfFormat.d.ts +9 -0
- package/dist/RdfFormat.js +58 -0
- package/dist/UncompressedRdfFormat.d.ts +7 -0
- package/dist/UncompressedRdfFormat.js +2 -0
- package/dist/compressionMethods.d.ts +2 -0
- package/dist/compressionMethods.js +6 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +8 -0
- package/dist/uncompressedRdfFormats.d.ts +3 -0
- package/dist/uncompressedRdfFormats.js +33 -0
- package/dist/uncompressedRdfFormatsByMimeType copy.d.ts +3 -0
- package/dist/uncompressedRdfFormatsByMimeType copy.js +6 -0
- package/dist/uncompressedRdfFormatsByMimeType.d.ts +3 -0
- package/dist/uncompressedRdfFormatsByMimeType.js +6 -0
- package/package.json +30 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CompressionMethod } from "./CompressionMethod.js";
|
|
2
|
+
import type { UncompressedRdfFormat } from "./UncompressedRdfFormat.js";
|
|
3
|
+
export interface CompressedRdfFormat extends Omit<UncompressedRdfFormat, "mimeType"> {
|
|
4
|
+
readonly mimeType: CompressionMethod;
|
|
5
|
+
readonly uncompressedMimeType: UncompressedRdfFormat["mimeType"];
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=CompressedRdfFormat.d.ts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type Either } from "purify-ts";
|
|
2
|
+
import type { CompressedRdfFormat } from "./CompressedRdfFormat.js";
|
|
3
|
+
import type { UncompressedRdfFormat } from "./UncompressedRdfFormat.js";
|
|
4
|
+
export type RdfFormat = CompressedRdfFormat | UncompressedRdfFormat;
|
|
5
|
+
export declare namespace RdfFormat {
|
|
6
|
+
function fromFileName(fileName: string): Either<Error, RdfFormat>;
|
|
7
|
+
function isCompressed(rdfFormat: RdfFormat): rdfFormat is CompressedRdfFormat;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=RdfFormat.d.ts.map
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Mime } from "mime";
|
|
2
|
+
import otherMimeTypes from "mime/types/other.js";
|
|
3
|
+
import standardMimeTypes from "mime/types/standard.js";
|
|
4
|
+
import { Left, Right } from "purify-ts";
|
|
5
|
+
import { compressionMethods } from "./compressionMethods.js";
|
|
6
|
+
import { uncompressedRdfFormatsByMimeType } from "./uncompressedRdfFormatsByMimeType.js";
|
|
7
|
+
const compressionMethodsSet = new Set(compressionMethods);
|
|
8
|
+
const mime = new Mime(standardMimeTypes, otherMimeTypes, {
|
|
9
|
+
"application/x-brotli": ["br"],
|
|
10
|
+
});
|
|
11
|
+
export var RdfFormat;
|
|
12
|
+
(function (RdfFormat) {
|
|
13
|
+
function basename(filePath) {
|
|
14
|
+
const lastSlashIndex = Math.max(filePath.lastIndexOf("/"), filePath.lastIndexOf("\\"));
|
|
15
|
+
return lastSlashIndex === -1
|
|
16
|
+
? filePath
|
|
17
|
+
: filePath.slice(lastSlashIndex + 1);
|
|
18
|
+
}
|
|
19
|
+
function removeExtension(fileName) {
|
|
20
|
+
const lastDotIndex = fileName.lastIndexOf(".");
|
|
21
|
+
// lastDotIndex <= 0 covers "no extension" and dotfiles like ".gitignore"
|
|
22
|
+
return lastDotIndex <= 0 ? fileName : fileName.slice(0, lastDotIndex);
|
|
23
|
+
}
|
|
24
|
+
function fromFileName(fileName) {
|
|
25
|
+
const mimeType = mime.getType(fileName);
|
|
26
|
+
if (mimeType === null) {
|
|
27
|
+
return Left(new Error(`unable to infer MIME type of ${fileName}`));
|
|
28
|
+
}
|
|
29
|
+
if (compressionMethodsSet.has(mimeType)) {
|
|
30
|
+
const uncompressedFileName = removeExtension(basename(fileName));
|
|
31
|
+
const uncompressedMimeType = mime.getType(uncompressedFileName);
|
|
32
|
+
if (uncompressedMimeType === null) {
|
|
33
|
+
return Left(new Error(`unable to infer MIME type of ${uncompressedFileName}`));
|
|
34
|
+
}
|
|
35
|
+
const uncompressedRdfFormat = uncompressedRdfFormatsByMimeType[uncompressedMimeType];
|
|
36
|
+
if (uncompressedRdfFormat === undefined) {
|
|
37
|
+
return Left(new Error(`${fileName} has a non-RDF MIME type: ${uncompressedMimeType}`));
|
|
38
|
+
}
|
|
39
|
+
return Right({
|
|
40
|
+
lineOriented: uncompressedRdfFormat.lineOriented,
|
|
41
|
+
mimeType: mimeType,
|
|
42
|
+
supportsQuads: uncompressedRdfFormat.supportsQuads,
|
|
43
|
+
uncompressedMimeType: uncompressedRdfFormat.mimeType,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
const uncompressedRdfFormat = uncompressedRdfFormatsByMimeType[mimeType];
|
|
47
|
+
if (uncompressedRdfFormat === undefined) {
|
|
48
|
+
return Left(new Error(`${fileName} has a non-RDF MIME type: ${mimeType}`));
|
|
49
|
+
}
|
|
50
|
+
return Right(uncompressedRdfFormat);
|
|
51
|
+
}
|
|
52
|
+
RdfFormat.fromFileName = fromFileName;
|
|
53
|
+
function isCompressed(rdfFormat) {
|
|
54
|
+
return compressionMethods.some((compressionMethod) => compressionMethod === rdfFormat.mimeType);
|
|
55
|
+
}
|
|
56
|
+
RdfFormat.isCompressed = isCompressed;
|
|
57
|
+
})(RdfFormat || (RdfFormat = {}));
|
|
58
|
+
//# sourceMappingURL=RdfFormat.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const RDF_FORMATS: readonly [];
|
|
2
|
+
export interface UncompressedRdfFormat {
|
|
3
|
+
readonly lineOriented: boolean;
|
|
4
|
+
readonly mimeType: "application/ld+json" | "application/n-quads" | "application/n-triples" | "application/trig" | "text/n3" | "text/turtle";
|
|
5
|
+
readonly supportsQuads: boolean;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=UncompressedRdfFormat.d.ts.map
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./CompressedRdfFormat.js";
|
|
2
|
+
export * from "./CompressionMethod.js";
|
|
3
|
+
export * from "./compressionMethods.js";
|
|
4
|
+
export * from "./RdfFormat.js";
|
|
5
|
+
export * from "./UncompressedRdfFormat.js";
|
|
6
|
+
export * from "./uncompressedRdfFormats.js";
|
|
7
|
+
export * from "./uncompressedRdfFormatsByMimeType.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./CompressedRdfFormat.js";
|
|
2
|
+
export * from "./CompressionMethod.js";
|
|
3
|
+
export * from "./compressionMethods.js";
|
|
4
|
+
export * from "./RdfFormat.js";
|
|
5
|
+
export * from "./UncompressedRdfFormat.js";
|
|
6
|
+
export * from "./uncompressedRdfFormats.js";
|
|
7
|
+
export * from "./uncompressedRdfFormatsByMimeType.js";
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export const uncompressedRdfFormats = [
|
|
2
|
+
{
|
|
3
|
+
lineOriented: false,
|
|
4
|
+
mimeType: "application/ld+json",
|
|
5
|
+
supportsQuads: true,
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
lineOriented: true,
|
|
9
|
+
mimeType: "application/n-quads",
|
|
10
|
+
supportsQuads: false,
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
lineOriented: true,
|
|
14
|
+
mimeType: "application/n-triples",
|
|
15
|
+
supportsQuads: false,
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
lineOriented: false,
|
|
19
|
+
mimeType: "application/trig",
|
|
20
|
+
supportsQuads: true,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
lineOriented: false,
|
|
24
|
+
mimeType: "text/n3",
|
|
25
|
+
supportsQuads: false,
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
lineOriented: false,
|
|
29
|
+
mimeType: "text/turtle",
|
|
30
|
+
supportsQuads: false,
|
|
31
|
+
},
|
|
32
|
+
];
|
|
33
|
+
//# sourceMappingURL=uncompressedRdfFormats.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { UncompressedRdfFormat } from "./UncompressedRdfFormat.js";
|
|
2
|
+
export declare const uncompressedRdfFormatsByMimeType: Record<"application/ld+json" | "application/n-quads" | "application/n-triples" | "application/rdf+xml" | "application/trig" | "text/n3" | "text/turtle", UncompressedRdfFormat>;
|
|
3
|
+
//# sourceMappingURL=uncompressedRdfFormatsByMimeType%20copy.d.ts.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { uncompressedRdfFormats } from "./uncompressedRdfFormats.js";
|
|
2
|
+
export const uncompressedRdfFormatsByMimeType = uncompressedRdfFormats.reduce((acc, uncompressedRdfFormat) => {
|
|
3
|
+
acc[uncompressedRdfFormat.mimeType] = uncompressedRdfFormat;
|
|
4
|
+
return acc;
|
|
5
|
+
}, {});
|
|
6
|
+
//# sourceMappingURL=uncompressedRdfFormatsByMimeType%20copy.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { UncompressedRdfFormat } from "./UncompressedRdfFormat.js";
|
|
2
|
+
export declare const uncompressedRdfFormatsByMimeType: Record<"application/ld+json" | "application/n-quads" | "application/n-triples" | "application/trig" | "text/n3" | "text/turtle", UncompressedRdfFormat>;
|
|
3
|
+
//# sourceMappingURL=uncompressedRdfFormatsByMimeType.d.ts.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { uncompressedRdfFormats } from "./uncompressedRdfFormats.js";
|
|
2
|
+
export const uncompressedRdfFormatsByMimeType = uncompressedRdfFormats.reduce((acc, uncompressedRdfFormat) => {
|
|
3
|
+
acc[uncompressedRdfFormat.mimeType] = uncompressedRdfFormat;
|
|
4
|
+
return acc;
|
|
5
|
+
}, {});
|
|
6
|
+
//# sourceMappingURL=uncompressedRdfFormatsByMimeType.js.map
|
package/package.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"dependencies": {
|
|
3
|
+
"mime": "~4.1.0"
|
|
4
|
+
},
|
|
5
|
+
"devDependencies": {},
|
|
6
|
+
"files": [
|
|
7
|
+
"LICENSE",
|
|
8
|
+
"dist/*.d.ts",
|
|
9
|
+
"dist/*.js"
|
|
10
|
+
],
|
|
11
|
+
"license": "Apache-2.0",
|
|
12
|
+
"main": "./dist/index.js",
|
|
13
|
+
"name": "@rdfx/format",
|
|
14
|
+
"packageManager": "npm@11.11.0",
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "git+https://github.com/minorg/rdfx.git"
|
|
18
|
+
},
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "tsc -b",
|
|
21
|
+
"clean": "rimraf dist",
|
|
22
|
+
"depcheck": "depcheck --ignores=\"@tsconfig/*,vitest,vitest-fetch-mock\" .",
|
|
23
|
+
"dev": "tsc -w --preserveWatchOutput",
|
|
24
|
+
"dev:tests": "tsc -p __tests__ -w --preserveWatchOutput",
|
|
25
|
+
"test": "cd ../.. && vitest run packages/format/__tests__"
|
|
26
|
+
},
|
|
27
|
+
"type": "module",
|
|
28
|
+
"types": "./dist/index.d.ts",
|
|
29
|
+
"version": "0.0.51"
|
|
30
|
+
}
|