1- import { TermWrapper , LiteralAs , NamedNodeAs , NamedNodeFrom } from "@rdfjs/wrapper"
1+ import { LiteralAs , NamedNodeAs , NamedNodeFrom , OptionalFrom , SetFrom , TermWrapper } from "@rdfjs/wrapper"
22import { DC , POSIX , RDF , RDFS } from "../vocabulary/mod.js"
33
44// TODO: review implementation of this
@@ -20,35 +20,35 @@ export class Resource extends TermWrapper {
2020 }
2121
2222 get title ( ) : string | undefined {
23- return this . singularNullable ( DC . title , LiteralAs . string )
23+ return OptionalFrom . subjectPredicate ( this , DC . title , LiteralAs . string )
2424 }
2525
2626 get label ( ) : string | undefined {
27- return this . singularNullable ( RDFS . label , LiteralAs . string )
27+ return OptionalFrom . subjectPredicate ( this , RDFS . label , LiteralAs . string )
2828 }
2929
3030 get name ( ) : string {
3131 return this . title ?? this . label ?? this . extractNameFromUrl ( this . id )
3232 }
3333
3434 get modified ( ) : Date | undefined {
35- return this . singularNullable ( DC . modified , LiteralAs . date )
35+ return OptionalFrom . subjectPredicate ( this , DC . modified , LiteralAs . date )
3636 }
3737
3838 get mtime ( ) : Date | undefined {
39- return this . singularNullable ( POSIX . mtime , LiteralAs . date )
39+ return OptionalFrom . subjectPredicate ( this , POSIX . mtime , LiteralAs . date )
4040 }
4141
4242 get lastModified ( ) : Date | undefined {
4343 return this . modified ?? this . mtime
4444 }
4545
4646 get size ( ) : number | undefined {
47- return this . singularNullable ( POSIX . size , LiteralAs . number )
47+ return OptionalFrom . subjectPredicate ( this , POSIX . size , LiteralAs . number )
4848 }
4949
5050 get type ( ) : Set < string > {
51- return this . objects ( RDF . type , NamedNodeAs . string , NamedNodeFrom . string )
51+ return SetFrom . subjectPredicate ( this , RDF . type , NamedNodeAs . string , NamedNodeFrom . string )
5252 }
5353
5454 get mimeType ( ) : string | undefined {
0 commit comments