rdfjs-wrapper 0.3.0 → 0.9.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.
Files changed (69) hide show
  1. package/LICENSE.Apache-2.0.md +201 -0
  2. package/{LICENSE → LICENSE.MIT.md} +1 -1
  3. package/README.md +19 -6
  4. package/dist/TermMapping.d.ts +6 -0
  5. package/dist/TermMapping.d.ts.map +1 -0
  6. package/dist/TermMapping.js +2 -0
  7. package/dist/TermMapping.js.map +1 -0
  8. package/dist/TermMappings.d.ts +6 -0
  9. package/dist/TermMappings.d.ts.map +1 -0
  10. package/dist/TermMappings.js +12 -0
  11. package/dist/TermMappings.js.map +1 -0
  12. package/dist/ValueMapping.d.ts +5 -0
  13. package/dist/ValueMapping.d.ts.map +1 -0
  14. package/dist/ValueMapping.js +2 -0
  15. package/dist/ValueMapping.js.map +1 -0
  16. package/dist/ValueMappings.d.ts +5 -0
  17. package/dist/ValueMappings.d.ts.map +1 -0
  18. package/dist/ValueMappings.js +8 -0
  19. package/dist/ValueMappings.js.map +1 -0
  20. package/dist/Wrapper.d.ts +17 -0
  21. package/dist/Wrapper.d.ts.map +1 -0
  22. package/dist/Wrapper.js +59 -0
  23. package/dist/Wrapper.js.map +1 -0
  24. package/dist/WrappingSet.d.ts +25 -0
  25. package/dist/WrappingSet.d.ts.map +1 -0
  26. package/dist/WrappingSet.js +74 -0
  27. package/dist/WrappingSet.js.map +1 -0
  28. package/dist/decorators/GetterArity.d.ts +5 -0
  29. package/dist/decorators/GetterArity.d.ts.map +1 -0
  30. package/dist/decorators/GetterArity.js +6 -0
  31. package/dist/decorators/GetterArity.js.map +1 -0
  32. package/dist/decorators/getter.d.ts +5 -0
  33. package/dist/decorators/getter.d.ts.map +1 -0
  34. package/dist/decorators/getter.js +16 -0
  35. package/dist/decorators/getter.js.map +1 -0
  36. package/dist/decorators/setter.d.ts +4 -0
  37. package/dist/decorators/setter.d.ts.map +1 -0
  38. package/dist/decorators/setter.js +17 -0
  39. package/dist/decorators/setter.js.map +1 -0
  40. package/dist/decorators/setterArity.d.ts +5 -0
  41. package/dist/decorators/setterArity.d.ts.map +1 -0
  42. package/dist/decorators/setterArity.js +6 -0
  43. package/dist/decorators/setterArity.js.map +1 -0
  44. package/dist/mod.d.ts +11 -6
  45. package/dist/mod.d.ts.map +1 -0
  46. package/dist/mod.js +10 -6
  47. package/dist/mod.js.map +1 -1
  48. package/package.json +28 -40
  49. package/dist/class/context.d.ts +0 -9
  50. package/dist/class/context.js +0 -21
  51. package/dist/class/context.js.map +0 -1
  52. package/dist/class/property.d.ts +0 -20
  53. package/dist/class/property.js +0 -77
  54. package/dist/class/property.js.map +0 -1
  55. package/dist/class/property_reader.d.ts +0 -13
  56. package/dist/class/property_reader.js +0 -53
  57. package/dist/class/property_reader.js.map +0 -1
  58. package/dist/class/property_writer.d.ts +0 -8
  59. package/dist/class/property_writer.js +0 -33
  60. package/dist/class/property_writer.js.map +0 -1
  61. package/dist/class/resource.d.ts +0 -21
  62. package/dist/class/resource.js +0 -131
  63. package/dist/class/resource.js.map +0 -1
  64. package/dist/class/wrapper.d.ts +0 -25
  65. package/dist/class/wrapper.js +0 -56
  66. package/dist/class/wrapper.js.map +0 -1
  67. package/dist/vocabulary/xsd.d.ts +0 -41
  68. package/dist/vocabulary/xsd.js +0 -43
  69. package/dist/vocabulary/xsd.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ export var SetterArity;
2
+ (function (SetterArity) {
3
+ SetterArity[SetterArity["Overwrite"] = 0] = "Overwrite";
4
+ SetterArity[SetterArity["OverwriteNullable"] = 1] = "OverwriteNullable";
5
+ })(SetterArity || (SetterArity = {}));
6
+ //# sourceMappingURL=setterArity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setterArity.js","sourceRoot":"","sources":["../../src/decorators/setterArity.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,uDAAS,CAAA;IACT,uEAAiB,CAAA;AACrB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB"}
package/dist/mod.d.ts CHANGED
@@ -1,6 +1,11 @@
1
- export { Context } from "./class/context.js";
2
- export { Property } from "./class/property.js";
3
- export { PropertyReader } from "./class/property_reader.js";
4
- export { PropertyWriter } from "./class/property_writer.js";
5
- export { Resource } from "./class/resource.js";
6
- export { Wrapper } from "./class/wrapper.js";
1
+ export * from "./TermMapping.js";
2
+ export * from "./TermMappings.js";
3
+ export * from "./ValueMapping.js";
4
+ export * from "./ValueMappings.js";
5
+ export * from "./Wrapper.js";
6
+ export * from "./WrappingSet.js";
7
+ export * from "./decorators/GetterArity.js";
8
+ export * from "./decorators/setterArity.js";
9
+ export * from "./decorators/getter.js";
10
+ export * from "./decorators/setter.js";
11
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA"}
package/dist/mod.js CHANGED
@@ -1,7 +1,11 @@
1
- export { Context } from "./class/context.js";
2
- export { Property } from "./class/property.js";
3
- export { PropertyReader } from "./class/property_reader.js";
4
- export { PropertyWriter } from "./class/property_writer.js";
5
- export { Resource } from "./class/resource.js";
6
- export { Wrapper } from "./class/wrapper.js";
1
+ export * from "./TermMapping.js";
2
+ export * from "./TermMappings.js";
3
+ export * from "./ValueMapping.js";
4
+ export * from "./ValueMappings.js";
5
+ export * from "./Wrapper.js";
6
+ export * from "./WrappingSet.js";
7
+ export * from "./decorators/GetterArity.js";
8
+ export * from "./decorators/setterArity.js";
9
+ export * from "./decorators/getter.js";
10
+ export * from "./decorators/setter.js";
7
11
  //# sourceMappingURL=mod.js.map
package/dist/mod.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA"}
package/package.json CHANGED
@@ -1,57 +1,45 @@
1
1
  {
2
2
  "name": "rdfjs-wrapper",
3
- "version": "0.3.0",
4
- "description": "RDF/JS compliant graph wrapping library",
3
+ "version": "0.9.0",
4
+ "description": "RDF/JS object mapping library",
5
+ "main": "dist/mod.js",
5
6
  "type": "module",
6
7
  "types": "./dist/mod.d.ts",
7
- "exports": "./dist/mod.js",
8
+ "exports": {
9
+ ".": "./dist/mod.js"
10
+ },
8
11
  "files": [
9
12
  "dist"
10
13
  ],
11
- "license": "MIT",
12
- "repository": "https://github.com/matthieubosquet/rdfjs-wrapper",
13
- "bugs": "https://github.com/matthieubosquet/rdfjs-wrapper/issues",
14
- "homepage": "https://github.com/matthieubosquet/rdfjs-wrapper#readme",
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/theodi/rdfjs-wrapper.git"
17
+ },
18
+ "scripts": {
19
+ "start": "npm test",
20
+ "test": "tsc && tsc -p test && node --test \"**/*.test.js\""
21
+ },
15
22
  "keywords": [
16
- "rdfjs",
17
- "wrapper",
18
23
  "rdf",
19
- "mapping"
24
+ "object-oriented",
25
+ "rdfjs",
26
+ "mapping",
27
+ "wrapper"
20
28
  ],
21
29
  "contributors": [
22
30
  "Matthieu Bosquet (https://github.com/matthieubosquet)",
23
31
  "Samu Lang (https://github.com/langsamu)"
24
32
  ],
25
- "scripts": {
26
- "audit": "npm audit --omit=dev --audit-level=moderate",
27
- "build": "tsc",
28
- "lint": "npm run lint:eslint -- --cache --fix && npm run lint:prettier -- --write",
29
- "lint:ci": "npm run lint:eslint && npm run lint:prettier -- --check",
30
- "lint:eslint": "eslint .",
31
- "lint:prettier": "prettier '**/*.{css,html,json,md,mdx,yml}' --ignore-path .gitignore",
32
- "prepublishOnly": "npm run audit && npm ci --ignore-scripts && npm run build && npm run test",
33
- "start": "npm run build -- --watch",
34
- "test": "npm run test:build && npx ava",
35
- "test:build": "npm run build && npm pack && npm install --save-dev rdfjs-wrapper-*.tgz && rm rdfjs-wrapper-*.tgz",
36
- "test:e2e": "",
37
- "test:unit": "npx ava"
38
- },
33
+ "license": "MIT",
34
+ "dependencies": {},
39
35
  "devDependencies": {
40
- "@ava/typescript": "^4.0.0",
41
- "@eslint/js": "^8.38.0",
42
- "@rdfjs/types": "^1.1.0",
43
- "@tsconfig/node18": "^1.0.1",
44
- "@types/n3": "^1.10.4",
45
- "@types/node": "^18.15.11",
46
- "@typescript-eslint/parser": "^5.58.0",
47
- "ava": "^5.2.0",
48
- "eslint": "^8.38.0",
49
- "eslint-config-prettier": "^8.8.0",
50
- "n3": "^1.16.4",
51
- "prettier": "^2.8.7",
52
- "rdfjs-wrapper": "file:rdfjs-wrapper-0.3.0.tgz",
53
- "ts-node": "^10.9.1",
54
- "tsconfig-paths": "^4.2.0",
55
- "typescript": "^5.0.4"
36
+ "@rdfjs/types": "^2",
37
+ "@types/node": "^24",
38
+ "typescript": "^5",
39
+ "@types/n3": "^1",
40
+ "n3": "^1"
41
+ },
42
+ "engines": {
43
+ "node": ">=24.0.0"
56
44
  }
57
45
  }
@@ -1,9 +0,0 @@
1
- import type { DataFactory, DatasetCore, Quad, Term } from "@rdfjs/types";
2
- export declare class Context {
3
- #private;
4
- constructor(dataset: DatasetCore, factory: DataFactory);
5
- get factory(): DataFactory<Quad, Quad>;
6
- read(s?: Term | null, p?: Term | null, o?: Term | null, g?: Term | null): DatasetCore;
7
- write(q: Quad): void;
8
- delete(q: Quad): void;
9
- }
@@ -1,21 +0,0 @@
1
- export class Context {
2
- #dataset;
3
- #factory;
4
- constructor(dataset, factory) {
5
- this.#dataset = dataset;
6
- this.#factory = factory;
7
- }
8
- get factory() {
9
- return this.#factory;
10
- }
11
- read(s, p, o, g) {
12
- return this.#dataset.match(s, p, o, g);
13
- }
14
- write(q) {
15
- this.#dataset.add(q);
16
- }
17
- delete(q) {
18
- this.#dataset.delete(q);
19
- }
20
- }
21
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/class/context.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,OAAO;IAClB,QAAQ,CAAa;IACrB,QAAQ,CAAa;IAErB,YAAmB,OAAoB,EAAE,OAAoB;QAC3D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;IACzB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAEM,IAAI,CAAC,CAAe,EAAE,CAAe,EAAE,CAAe,EAAE,CAAe;QAC5E,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACxC,CAAC;IAEM,KAAK,CAAC,CAAO;QAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC;IAEM,MAAM,CAAC,CAAO;QACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACzB,CAAC;CACF"}
@@ -1,20 +0,0 @@
1
- import type { NamedNode, Quad, Term } from "@rdfjs/types";
2
- import type { Wrapper } from "./wrapper.js";
3
- export declare class Property<T> implements Set<T> {
4
- private iri;
5
- private reader;
6
- private writer;
7
- private wrapper;
8
- constructor(iri: NamedNode, reader: (term: Term) => T, writer: (value: T) => Set<Quad>, wrapper: Wrapper);
9
- add(value: T): this;
10
- clear(): void;
11
- delete(value: T): boolean;
12
- forEach(callbackfn: (item: T, index: T, set: Set<T>) => void, thisArg?: unknown): void;
13
- has(value: T): boolean;
14
- get size(): number;
15
- [Symbol.iterator](): IterableIterator<T>;
16
- entries(): IterableIterator<[T, T]>;
17
- keys(): IterableIterator<T>;
18
- values(): IterableIterator<T>;
19
- get [Symbol.toStringTag](): string;
20
- }
@@ -1,77 +0,0 @@
1
- export class Property {
2
- iri;
3
- reader;
4
- writer;
5
- wrapper;
6
- constructor(iri, reader, writer, wrapper) {
7
- this.iri = iri;
8
- this.reader = reader;
9
- this.writer = writer;
10
- this.wrapper = wrapper;
11
- }
12
- add(value) {
13
- this.writer(value).forEach(q => this.wrapper.write(q));
14
- return this;
15
- }
16
- clear() {
17
- for (const q of this.wrapper.read(this.wrapper.resource, this.iri)) {
18
- this.wrapper.delete(q);
19
- }
20
- }
21
- delete(value) {
22
- var quads = this.writer(value);
23
- if (quads.size == 0) {
24
- return false;
25
- }
26
- for (const q of quads) {
27
- this.wrapper.delete(q);
28
- }
29
- return true;
30
- }
31
- forEach(callbackfn, thisArg) {
32
- for (const item of this) {
33
- callbackfn.call(thisArg, item, item, this);
34
- }
35
- }
36
- has(value) {
37
- var quads = this.writer(value);
38
- if (quads.size === 0) {
39
- return false;
40
- }
41
- for (var q of quads) {
42
- if (this.wrapper.read(q.subject, q.predicate, q.object).size == 0) {
43
- return false;
44
- }
45
- }
46
- return true;
47
- }
48
- get size() {
49
- return Array.from(this).length;
50
- }
51
- [Symbol.iterator]() {
52
- return this.values();
53
- }
54
- *entries() {
55
- for (const t of this) {
56
- yield [t, t];
57
- }
58
- }
59
- keys() {
60
- return this.values();
61
- }
62
- *values() {
63
- for (const q of this.wrapper.read(this.wrapper.resource, this.iri)) {
64
- if (q.object.termType == "Quad") {
65
- throw new Error("Value Factories do not support Quad conversion");
66
- }
67
- if (q.object.termType == "Variable") {
68
- throw new Error("Value Factories do not support Variable conversion");
69
- }
70
- yield this.reader(q.object);
71
- }
72
- }
73
- get [Symbol.toStringTag]() {
74
- return `Property wrapper for subject ${this.wrapper.resource.value} predicate ${this.iri.value}`;
75
- }
76
- }
77
- //# sourceMappingURL=property.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"property.js","sourceRoot":"","sources":["../../src/class/property.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { BlankNode, Literal, NamedNode, Term } from "@rdfjs/types";
2
- import type { Context } from "./context.js";
3
- import type { Wrapper, WrapperConstructor } from "./wrapper.js";
4
- export declare abstract class PropertyReader {
5
- static toResource(): (x: Term) => BlankNode | NamedNode | Literal;
6
- static toNode(): (x: Term) => BlankNode | NamedNode;
7
- static toBlankNode(): (x: Term) => BlankNode;
8
- static toNamedNode(): (x: Term) => NamedNode;
9
- static toLiteral(): (x: Term) => Literal;
10
- static toString(): (x: Term) => string;
11
- static toNumber(): (x: Term) => string;
12
- static toWrapper<T extends Wrapper>(w: WrapperConstructor<T>): (context: Context) => (x: Term) => T;
13
- }
@@ -1,53 +0,0 @@
1
- import { Resource } from "./resource.js";
2
- export class PropertyReader {
3
- static toResource() {
4
- return (x) => {
5
- Resource.assertResource(x);
6
- return x;
7
- };
8
- }
9
- static toNode() {
10
- return (x) => {
11
- Resource.assertNode(x);
12
- return x;
13
- };
14
- }
15
- static toBlankNode() {
16
- return (x) => {
17
- Resource.assertBlankNode(x);
18
- return x;
19
- };
20
- }
21
- static toNamedNode() {
22
- return (x) => {
23
- Resource.assertNamedNode(x);
24
- return x;
25
- };
26
- }
27
- static toLiteral() {
28
- return (x) => {
29
- Resource.assertLiteral(x);
30
- return x;
31
- };
32
- }
33
- static toString() {
34
- return (x) => {
35
- Resource.assertString(x);
36
- return x.value;
37
- };
38
- }
39
- static toNumber() {
40
- return (x) => {
41
- Resource.assertNumber(x);
42
- return x.value;
43
- };
44
- }
45
- static toWrapper(w) {
46
- return (context) => {
47
- return (x) => {
48
- return new w(x, context);
49
- };
50
- };
51
- }
52
- }
53
- //# sourceMappingURL=property_reader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"property_reader.js","sourceRoot":"","sources":["../../src/class/property_reader.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,OAAgB,cAAc;IAClC,MAAM,CAAC,UAAU;QACf,OAAO,CAAC,CAAO,EAAmC,EAAE;YAClD,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;YAE1B,OAAO,CAAC,CAAA;QACV,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,MAAM;QACX,OAAO,CAAC,CAAO,EAAyB,EAAE;YACxC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;YAEtB,OAAO,CAAC,CAAA;QACV,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,CAAC,CAAO,EAAa,EAAE;YAC5B,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;YAE3B,OAAO,CAAC,CAAA;QACV,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,CAAC,CAAO,EAAa,EAAE;YAC5B,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;YAE3B,OAAO,CAAC,CAAA;QACV,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,SAAS;QACd,OAAO,CAAC,CAAO,EAAW,EAAE;YAC1B,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;YAEzB,OAAO,CAAC,CAAA;QACV,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,QAAQ;QACb,OAAO,CAAC,CAAO,EAAU,EAAE;YACzB,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YAExB,OAAO,CAAC,CAAC,KAAK,CAAA;QAChB,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,QAAQ;QACb,OAAO,CAAC,CAAO,EAAU,EAAE;YACzB,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YAExB,OAAO,CAAC,CAAC,KAAK,CAAA;QAChB,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,SAAS,CAAoB,CAAwB;QAG1D,OAAO,CAAC,OAAgB,EAAE,EAAE;YAC1B,OAAO,CAAC,CAAO,EAAK,EAAE;gBACpB,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YAC1B,CAAC,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF"}
@@ -1,8 +0,0 @@
1
- import type { BlankNode, NamedNode, Quad } from "@rdfjs/types";
2
- import type { Wrapper, WrapperConstructor } from "./wrapper.js";
3
- import type { Context } from "./context.js";
4
- export declare class PropertyWriter {
5
- static fromString(resource: BlankNode | NamedNode, property: NamedNode, context: Context): (x: string) => Set<Quad>;
6
- static fromNumber(resource: BlankNode | NamedNode, property: NamedNode, context: Context): (x: number) => Set<Quad>;
7
- static fromWrapper<T extends Wrapper>(w: WrapperConstructor<T>): (resource: BlankNode | NamedNode, property: NamedNode, context: Context) => (x: T) => Set<Quad>;
8
- }
@@ -1,33 +0,0 @@
1
- import { Resource } from "./resource.js";
2
- export class PropertyWriter {
3
- // static asLiteral(x: string, factory: DataFactory): Literal {
4
- // return factory.literal(x)
5
- // }
6
- static fromString(resource, property, context) {
7
- return (x) => {
8
- var quads = new Set();
9
- quads.add(context.factory.quad(resource, property, context.factory.literal(x)));
10
- return quads;
11
- };
12
- }
13
- static fromNumber(resource, property, context) {
14
- return (x) => {
15
- var quads = new Set();
16
- quads.add(context.factory.quad(resource, property, Resource.asNumberDatatypeLiteral(x, context.factory)));
17
- return quads;
18
- };
19
- }
20
- static fromWrapper(w) {
21
- return (resource, property, context) => {
22
- return (x) => {
23
- var quads = new Set();
24
- quads.add(context.factory.quad(resource, property, x.resource));
25
- for (var q of x.read()) {
26
- quads.add(q);
27
- }
28
- return quads;
29
- };
30
- };
31
- }
32
- }
33
- //# sourceMappingURL=property_writer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"property_writer.js","sourceRoot":"","sources":["../../src/class/property_writer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,OAAO,cAAc;IACzB,+DAA+D;IAC/D,8BAA8B;IAC9B,IAAI;IAEJ,MAAM,CAAC,UAAU,CACf,QAA+B,EAC/B,QAAmB,EACnB,OAAgB;QAEhB,OAAO,CAAC,CAAS,EAAa,EAAE;YAC9B,IAAI,KAAK,GAAG,IAAI,GAAG,EAAQ,CAAA;YAC3B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/E,OAAO,KAAK,CAAA;QACd,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,UAAU,CACf,QAA+B,EAC/B,QAAmB,EACnB,OAAgB;QAEhB,OAAO,CAAC,CAAS,EAAa,EAAE;YAC9B,IAAI,KAAK,GAAG,IAAI,GAAG,EAAQ,CAAA;YAC3B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YACzG,OAAO,KAAK,CAAA;QACd,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAoB,CAAwB;QAK5D,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;YACrC,OAAO,CAAC,CAAI,EAAa,EAAE;gBACzB,IAAI,KAAK,GAAG,IAAI,GAAG,EAAQ,CAAA;gBAE3B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;gBAE/D,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBACtB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;iBACb;gBACD,OAAO,KAAK,CAAA;YACd,CAAC,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF"}
@@ -1,21 +0,0 @@
1
- import type { BlankNode, DataFactory, Literal, NamedNode, Term } from "@rdfjs/types";
2
- export declare abstract class Resource {
3
- static isResource(x: Term): x is BlankNode | NamedNode | Literal;
4
- static assertResource(x: Term): asserts x is BlankNode | NamedNode | Literal;
5
- static asNode(factory: DataFactory, x?: NamedNode | URL | string): BlankNode | NamedNode | Literal;
6
- static isNode(x: Term): x is BlankNode | NamedNode;
7
- static assertNode(x: Term): asserts x is BlankNode | NamedNode;
8
- static asBlankNode(factory: DataFactory, x?: string): BlankNode;
9
- static isBlankNode(x: Term): x is BlankNode;
10
- static assertBlankNode(x: Term): asserts x is BlankNode;
11
- static asNamedNode(x: NamedNode | URL | string, factory: DataFactory): NamedNode;
12
- static isNamedNode(x: Term): x is NamedNode;
13
- static assertNamedNode(x: Term): asserts x is NamedNode;
14
- static isLiteral(x: Term): x is Literal;
15
- static assertLiteral(x: Term): asserts x is Literal;
16
- static isString(x: Term): x is Literal;
17
- static assertString(x: Term): asserts x is Literal;
18
- static asNumberDatatypeLiteral(x: number, factory: DataFactory): Literal;
19
- static isNumber(x: Term): x is Literal;
20
- static assertNumber(x: Term): asserts x is Literal;
21
- }
@@ -1,131 +0,0 @@
1
- import { XSD } from "../vocabulary/xsd.js";
2
- export class Resource {
3
- static isResource(x) {
4
- if (!Resource.isBlankNode(x) && !Resource.isNamedNode(x) && !Resource.isLiteral(x)) {
5
- return false;
6
- }
7
- return true;
8
- }
9
- static assertResource(x) {
10
- if (!Resource.isResource(x)) {
11
- throw new Error("Term is not a BlankNode, NamedNode or Literal");
12
- }
13
- }
14
- static asNode(factory, x) {
15
- var node;
16
- if (!x) {
17
- node = factory.blankNode();
18
- }
19
- else if (typeof x == "string") {
20
- node = factory.namedNode(new URL(x).href);
21
- }
22
- else if (x instanceof URL) {
23
- node = factory.namedNode(x.href);
24
- }
25
- else if (x.termType == "NamedNode") {
26
- node = x;
27
- }
28
- if (!node) {
29
- throw Error("Term is not a NamedNode a URL or a string");
30
- }
31
- return node;
32
- }
33
- static isNode(x) {
34
- if (!Resource.isBlankNode(x) && !Resource.isNamedNode(x)) {
35
- return false;
36
- }
37
- return true;
38
- }
39
- static assertNode(x) {
40
- if (!Resource.isNode(x)) {
41
- throw new Error("Term is not a BlankNode or NamedNode");
42
- }
43
- }
44
- static asBlankNode(factory, x) {
45
- return factory.blankNode(x);
46
- }
47
- static isBlankNode(x) {
48
- if (x.termType !== "BlankNode") {
49
- return false;
50
- }
51
- return true;
52
- }
53
- static assertBlankNode(x) {
54
- if (!Resource.isBlankNode(x)) {
55
- throw new Error("Term is not a BlankNode");
56
- }
57
- }
58
- static asNamedNode(x, factory) {
59
- var namedNode;
60
- if (typeof x == "string") {
61
- namedNode = factory.namedNode(new URL(x).href);
62
- }
63
- else if (x instanceof URL) {
64
- namedNode = factory.namedNode(x.href);
65
- }
66
- else if (x.termType == "NamedNode") {
67
- namedNode = x;
68
- }
69
- if (!namedNode) {
70
- throw Error("Term is not a NamedNode a URL or a String");
71
- }
72
- return namedNode;
73
- }
74
- static isNamedNode(x) {
75
- if (x.termType !== "NamedNode") {
76
- return false;
77
- }
78
- return true;
79
- }
80
- static assertNamedNode(x) {
81
- if (!Resource.isNamedNode(x)) {
82
- throw new Error("Term is not a NamedNode");
83
- }
84
- }
85
- static isLiteral(x) {
86
- if (x.termType !== "Literal") {
87
- return false;
88
- }
89
- return true;
90
- }
91
- static assertLiteral(x) {
92
- if (!Resource.isLiteral(x)) {
93
- throw new Error("Term is not a Literal");
94
- }
95
- }
96
- static isString(x) {
97
- Resource.assertLiteral(x);
98
- if (x.datatype.value !== "" && x.datatype.value !== XSD.string) {
99
- return false;
100
- }
101
- return true;
102
- }
103
- static assertString(x) {
104
- if (!Resource.isString(x)) {
105
- throw new Error("Term is not a string Literal");
106
- }
107
- }
108
- // TODO: extract to factory
109
- static asNumberDatatypeLiteral(x, factory) {
110
- if (Number.isNaN(x)) {
111
- throw new Error("Value is not a Number");
112
- }
113
- if (Number.isInteger(x)) {
114
- return factory.literal(x.toString(), XSD.integer);
115
- }
116
- return factory.literal(x.toString(), XSD.decimal);
117
- }
118
- static isNumber(x) {
119
- Resource.assertLiteral(x);
120
- if (Number.isNaN(x.value)) {
121
- return false;
122
- }
123
- return true;
124
- }
125
- static assertNumber(x) {
126
- if (!Resource.isNumber(x)) {
127
- throw new Error("Term is not a Number");
128
- }
129
- }
130
- }
131
- //# sourceMappingURL=resource.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/class/resource.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import type { BlankNode, DatasetCore, NamedNode, Quad, Term } from "@rdfjs/types";
2
- import type { Context } from "./context.js";
3
- import { Property } from "./property.js";
4
- export type WrapperConstructor<T extends Wrapper> = {
5
- new (resource: Term, context: Context): T;
6
- };
7
- export interface Item<T> {
8
- get: () => T;
9
- set: (x: T) => void;
10
- }
11
- export declare abstract class Wrapper {
12
- #private;
13
- constructor(resource: Term, context: Context);
14
- get resource(): BlankNode | NamedNode<string>;
15
- get factory(): import("@rdfjs/types").DataFactory<Quad, Quad>;
16
- read(s?: Term | null, p?: Term | null, o?: Term | null, g?: Term | null): DatasetCore;
17
- write(q: Quad): void;
18
- delete(q: Quad): void;
19
- protected property<T>(iri: NamedNode | URL | string, reader: (context: Context) => (x: Term) => T, writer: (resource: BlankNode | NamedNode, property: NamedNode, context: Context) => (x: T) => Set<Quad>): Property<T>;
20
- protected item<T>(iri: NamedNode | URL | string, reader: (context: Context) => (x: Term) => T, writer: (resource: BlankNode | NamedNode, property: NamedNode, context: Context) => (x: T) => Set<Quad>): Item<T>;
21
- protected stringProperty(iri: NamedNode | URL | string): Property<string>;
22
- protected stringItem(iri: NamedNode | URL | string): Item<string>;
23
- protected wrapperProperty<T extends Wrapper>(iri: NamedNode | URL | string, w: WrapperConstructor<T>): Property<T>;
24
- protected wrapperItem<T extends Wrapper>(iri: NamedNode | URL | string, w: WrapperConstructor<T>): Item<T>;
25
- }
@@ -1,56 +0,0 @@
1
- import { Property } from "./property.js";
2
- import { Resource } from "./resource.js";
3
- import { PropertyReader } from "./property_reader.js";
4
- import { PropertyWriter } from "./property_writer.js";
5
- export class Wrapper {
6
- #resource;
7
- #context;
8
- constructor(resource, context) {
9
- Resource.assertNode(resource);
10
- this.#resource = resource;
11
- this.#context = context;
12
- }
13
- get resource() {
14
- return this.#resource;
15
- }
16
- get factory() {
17
- return this.#context.factory;
18
- }
19
- read(s, p, o, g) {
20
- return this.#context.read(s, p, o, g);
21
- }
22
- write(q) {
23
- this.#context.write(q);
24
- }
25
- delete(q) {
26
- this.#context.delete(q);
27
- }
28
- property(iri, reader, writer) {
29
- var p = Resource.asNamedNode(iri, this.factory);
30
- return new Property(p, reader(this.#context), writer(this.resource, p, this.#context), this);
31
- }
32
- item(iri, reader, writer) {
33
- var property = this.property(iri, reader, writer);
34
- // TODO: Add options that throw, require 1:1 ...
35
- return {
36
- get: () => property.values().next().value,
37
- set: (x) => {
38
- property.clear();
39
- property.add(x);
40
- }
41
- };
42
- }
43
- stringProperty(iri) {
44
- return this.property(iri, PropertyReader.toString, PropertyWriter.fromString);
45
- }
46
- stringItem(iri) {
47
- return this.item(iri, PropertyReader.toString, PropertyWriter.fromString);
48
- }
49
- wrapperProperty(iri, w) {
50
- return this.property(iri, PropertyReader.toWrapper(w), PropertyWriter.fromWrapper(w));
51
- }
52
- wrapperItem(iri, w) {
53
- return this.item(iri, PropertyReader.toWrapper(w), PropertyWriter.fromWrapper(w));
54
- }
55
- }
56
- //# sourceMappingURL=wrapper.js.map