diff --git a/app/lib/class/AccessControl.ts b/app/lib/class/AccessControl.ts index f956027..6dbce93 100644 --- a/app/lib/class/AccessControl.ts +++ b/app/lib/class/AccessControl.ts @@ -1,10 +1,10 @@ -import { TermAs, TermFrom } from "@rdfjs/wrapper" +import { SetFrom, TermAs, TermFrom } from "@rdfjs/wrapper" import { Policy } from "@/app/lib/class/Policy" import { ACP } from "@/app/lib/class/Vocabulary" import { Typed } from "@/app/lib/class/Typed"; export class AccessControl extends Typed { get apply(): Set { - return this.objects(ACP.apply, TermAs.instance(Policy), TermFrom.instance) + return SetFrom.subjectPredicate(this, ACP.apply, TermAs.instance(Policy), TermFrom.instance) } } diff --git a/app/lib/class/AccessControlResource.ts b/app/lib/class/AccessControlResource.ts index 558145c..fb56dc0 100644 --- a/app/lib/class/AccessControlResource.ts +++ b/app/lib/class/AccessControlResource.ts @@ -1,18 +1,18 @@ -import { NamedNodeAs, NamedNodeFrom, TermAs, TermFrom } from "@rdfjs/wrapper" +import { NamedNodeAs, NamedNodeFrom, OptionalAs, OptionalFrom, SetFrom, TermAs, TermFrom } from "@rdfjs/wrapper" import { AccessControl } from "@/app/lib/class/AccessControl" import { ACP } from "@/app/lib/class/Vocabulary" import { Typed } from "@/app/lib/class/Typed" export class AccessControlResource extends Typed { get accessControl(): Set { - return this.objects(ACP.accessControl, TermAs.instance(AccessControl), TermFrom.instance) + return SetFrom.subjectPredicate(this, ACP.accessControl, TermAs.instance(AccessControl), TermFrom.instance) } get resource(): string | undefined { - return this.singularNullable(ACP.resource, NamedNodeAs.string) + return OptionalFrom.subjectPredicate(this, ACP.resource, NamedNodeAs.string) } set resource(v: string) { - this.overwriteNullable(ACP.resource, v, NamedNodeFrom.string) + OptionalAs.object(this, ACP.resource, v, NamedNodeFrom.string) } } diff --git a/app/lib/class/Agent.ts b/app/lib/class/Agent.ts index ee21c6b..6c0ba19 100644 --- a/app/lib/class/Agent.ts +++ b/app/lib/class/Agent.ts @@ -1,25 +1,25 @@ -import { LiteralAs, NamedNodeAs, NamedNodeFrom, TermAs, TermWrapper } from "@rdfjs/wrapper" +import { LiteralAs, NamedNodeAs, NamedNodeFrom, OptionalFrom, SetFrom, TermAs, TermWrapper } from "@rdfjs/wrapper" import { FOAF, PIM, SOLID, VCARD } from "@/app/lib/class/Vocabulary" export class Agent extends TermWrapper { get vcardFn(): string | undefined { - return this.singularNullable(VCARD.fn, LiteralAs.string) + return OptionalFrom.subjectPredicate(this, VCARD.fn, LiteralAs.string) } get vcardHasUrl(): string | undefined { - return this.singularNullable(VCARD.hasUrl, NamedNodeAs.string) + return OptionalFrom.subjectPredicate(this, VCARD.hasUrl, NamedNodeAs.string) } get organization(): string | null { - return this.singularNullable(VCARD.organizationName, NamedNodeAs.string) ?? null + return OptionalFrom.subjectPredicate(this, VCARD.organizationName, NamedNodeAs.string) ?? null } get role(): string | null { - return this.singularNullable(VCARD.role, NamedNodeAs.string) ?? null + return OptionalFrom.subjectPredicate(this, VCARD.role, NamedNodeAs.string) ?? null } get title(): string | null { - return this.singularNullable(VCARD.title, LiteralAs.string) ?? null + return OptionalFrom.subjectPredicate(this, VCARD.title, LiteralAs.string) ?? null } get phone(): string | null { @@ -27,11 +27,11 @@ export class Agent extends TermWrapper { } get hasTelephone(): HasValue | undefined { - return this.singularNullable(VCARD.hasTelephone, TermAs.instance(HasValue)) + return OptionalFrom.subjectPredicate(this, VCARD.hasTelephone, TermAs.instance(HasValue)) } get foafName(): string | undefined { - return this.singularNullable(FOAF.fname, LiteralAs.string) + return OptionalFrom.subjectPredicate(this, FOAF.fname, LiteralAs.string) } get name(): string | null { @@ -44,7 +44,7 @@ export class Agent extends TermWrapper { } get foafHomepage(): string | undefined { - return this.singularNullable(FOAF.homepage, LiteralAs.string) + return OptionalFrom.subjectPredicate(this, FOAF.homepage, LiteralAs.string) } get website(): string | null { @@ -52,15 +52,15 @@ export class Agent extends TermWrapper { } get photoUrl(): string | null { - return this.singularNullable(VCARD.hasPhoto, LiteralAs.string) ?? null + return OptionalFrom.subjectPredicate(this, VCARD.hasPhoto, LiteralAs.string) ?? null } get pimStorage(): Set { - return this.objects(PIM.storage, NamedNodeAs.string, NamedNodeFrom.string) + return SetFrom.subjectPredicate(this, PIM.storage, NamedNodeAs.string, NamedNodeFrom.string) } get solidStorage(): Set { - return this.objects(SOLID.storage, NamedNodeAs.string, NamedNodeFrom.string) + return SetFrom.subjectPredicate(this, SOLID.storage, NamedNodeAs.string, NamedNodeFrom.string) } get email(): string | null { @@ -68,11 +68,11 @@ export class Agent extends TermWrapper { } get hasEmail(): HasValue | undefined { - return this.singularNullable(VCARD.hasEmail, TermAs.instance(HasValue)) + return OptionalFrom.subjectPredicate(this, VCARD.hasEmail, TermAs.instance(HasValue)) } get knows(): Set { - return this.objects(FOAF.knows, NamedNodeAs.string, NamedNodeFrom.string) + return SetFrom.subjectPredicate(this, FOAF.knows, NamedNodeAs.string, NamedNodeFrom.string) } } @@ -82,6 +82,6 @@ class HasValue extends TermWrapper { } get hasValue(): string | undefined { - return this.singularNullable(VCARD.hasValue, NamedNodeAs.string) + return OptionalFrom.subjectPredicate(this, VCARD.hasValue, NamedNodeAs.string) } } diff --git a/app/lib/class/Container.ts b/app/lib/class/Container.ts index dd721e6..e3bf5d4 100644 --- a/app/lib/class/Container.ts +++ b/app/lib/class/Container.ts @@ -1,9 +1,9 @@ -import { TermAs, TermFrom } from "@rdfjs/wrapper" +import { SetFrom, TermAs, TermFrom } from "@rdfjs/wrapper" import { Resource } from "@/app/lib/class/Resource" import { LDP } from "@/app/lib/class/Vocabulary" export class Container extends Resource { public get contains(): Set { - return this.objects(LDP.contains, TermAs.instance(Resource), TermFrom.instance) + return SetFrom.subjectPredicate(this, LDP.contains, TermAs.instance(Resource), TermFrom.instance) } } diff --git a/app/lib/class/Matcher.ts b/app/lib/class/Matcher.ts index 4ef0698..b72c0e7 100644 --- a/app/lib/class/Matcher.ts +++ b/app/lib/class/Matcher.ts @@ -1,9 +1,9 @@ -import { NamedNodeAs, NamedNodeFrom } from "@rdfjs/wrapper" +import { NamedNodeAs, NamedNodeFrom, SetFrom } from "@rdfjs/wrapper" import { ACP } from "@/app/lib/class/Vocabulary" import { Typed } from "@/app/lib/class/Typed" export class Matcher extends Typed { get agent(): Set { - return this.objects(ACP.agent, NamedNodeAs.string, NamedNodeFrom.string) + return SetFrom.subjectPredicate(this, ACP.agent, NamedNodeAs.string, NamedNodeFrom.string) } } diff --git a/app/lib/class/Policy.ts b/app/lib/class/Policy.ts index 330c591..ff232e4 100644 --- a/app/lib/class/Policy.ts +++ b/app/lib/class/Policy.ts @@ -1,14 +1,14 @@ -import { NamedNodeAs, NamedNodeFrom, TermAs, TermFrom } from "@rdfjs/wrapper" +import { NamedNodeAs, NamedNodeFrom, SetFrom, TermAs, TermFrom } from "@rdfjs/wrapper" import { Matcher } from "@/app/lib/class/Matcher" import { ACP } from "@/app/lib/class/Vocabulary" import { Typed } from "@/app/lib/class/Typed" export class Policy extends Typed { get allow(): Set { - return this.objects(ACP.allow, NamedNodeAs.string, NamedNodeFrom.string) + return SetFrom.subjectPredicate(this, ACP.allow, NamedNodeAs.string, NamedNodeFrom.string) } get anyOf(): Set { - return this.objects(ACP.anyOf, TermAs.instance(Matcher), TermFrom.instance) + return SetFrom.subjectPredicate(this, ACP.anyOf, TermAs.instance(Matcher), TermFrom.instance) } } diff --git a/app/lib/class/Resource.ts b/app/lib/class/Resource.ts index 8fd1431..09da1e3 100644 --- a/app/lib/class/Resource.ts +++ b/app/lib/class/Resource.ts @@ -1,4 +1,4 @@ -import { LiteralAs, NamedNodeAs, NamedNodeFrom, TermWrapper } from "@rdfjs/wrapper" +import { LiteralAs, NamedNodeAs, NamedNodeFrom, OptionalFrom, SetFrom, TermWrapper } from "@rdfjs/wrapper" import { DC, POSIX, RDF, RDFS } from "@/app/lib/class/Vocabulary" import { extractNameFromUrl, FileType } from "@/app/lib/helpers" @@ -18,11 +18,11 @@ export class Resource extends TermWrapper { } get title(): string | undefined { - return this.singularNullable(DC.title, LiteralAs.string) + return OptionalFrom.subjectPredicate(this, DC.title, LiteralAs.string) } get label(): string | undefined { - return this.singularNullable(RDFS.label, LiteralAs.string) + return OptionalFrom.subjectPredicate(this, RDFS.label, LiteralAs.string) } get name(): string { @@ -30,11 +30,11 @@ export class Resource extends TermWrapper { } get modified(): Date | undefined { - return this.singularNullable(DC.modified, LiteralAs.date) + return OptionalFrom.subjectPredicate(this, DC.modified, LiteralAs.date) } get mtime(): Date | undefined { - return this.singularNullable(POSIX.mtime, LiteralAs.date) + return OptionalFrom.subjectPredicate(this, POSIX.mtime, LiteralAs.date) } get lastModified(): Date | undefined { @@ -42,11 +42,11 @@ export class Resource extends TermWrapper { } get size(): number | undefined { - return this.singularNullable(POSIX.size, LiteralAs.number) + return OptionalFrom.subjectPredicate(this, POSIX.size, LiteralAs.number) } get type(): Set { - return this.objects(RDF.type, NamedNodeAs.string, NamedNodeFrom.string) + return SetFrom.subjectPredicate(this, RDF.type, NamedNodeAs.string, NamedNodeFrom.string) } get mimeType(): string | undefined { diff --git a/app/lib/class/Typed.ts b/app/lib/class/Typed.ts index ad132f2..7855fed 100644 --- a/app/lib/class/Typed.ts +++ b/app/lib/class/Typed.ts @@ -1,8 +1,8 @@ -import { NamedNodeAs, NamedNodeFrom, TermWrapper } from "@rdfjs/wrapper" +import { NamedNodeAs, NamedNodeFrom, SetFrom, TermWrapper } from "@rdfjs/wrapper" import { RDF } from "@/app/lib/class/Vocabulary" export class Typed extends TermWrapper { get type(): Set { - return this.objects(RDF.type, NamedNodeAs.string, NamedNodeFrom.string) + return SetFrom.subjectPredicate(this, RDF.type, NamedNodeAs.string, NamedNodeFrom.string) } } diff --git a/package-lock.json b/package-lock.json index 1e21177..2ac325a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@inrupt/solid-client": "^1.23.1", "@inrupt/solid-client-authn-browser": "^3.1.1", "@ldo/solid-react": "^1.0.0-alpha.33", - "@rdfjs/wrapper": "^0.32.0", + "@rdfjs/wrapper": "^0.33.0", "jszip": "^3.10.1", "n3": "^2.0.1", "next": "16.0.7", @@ -7549,9 +7549,9 @@ } }, "node_modules/@rdfjs/wrapper": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/@rdfjs/wrapper/-/wrapper-0.32.0.tgz", - "integrity": "sha512-xJdRz/Jk11S9xlqRRBkLWxIxWUuIQqy/BeNvp94m34m1DTEwYMa+wHdznPTEvDEHXRGSFOs1guZ1Z0swW+axcg==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@rdfjs/wrapper/-/wrapper-0.33.0.tgz", + "integrity": "sha512-jnSWcy58pXfhbdKtwSilsjKDN1tdXzSDUEgGPAXc9Jp7JFqr1U1i0GcI5b9JKgyolZbFhwdnesWoPiIlALaMLQ==", "license": "MIT", "engines": { "node": ">=24.0.0" diff --git a/package.json b/package.json index ffe827e..06c0322 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "@inrupt/solid-client": "^1.23.1", "@inrupt/solid-client-authn-browser": "^3.1.1", "@ldo/solid-react": "^1.0.0-alpha.33", - "@rdfjs/wrapper": "^0.32.0", + "@rdfjs/wrapper": "^0.33.0", "jszip": "^3.10.1", "n3": "^2.0.1", "next": "16.0.7",