Skip to content

Commit 1d590d9

Browse files
committed
WrapperTermWrapper
1 parent 67f5b43 commit 1d590d9

File tree

12 files changed

+40
-40
lines changed

12 files changed

+40
-40
lines changed

src/TermMapping.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import type { Wrapper } from "./Wrapper.js"
1+
import type { TermWrapper } from "./TermWrapper.js"
22
import type { DataFactory, DatasetCore } from "@rdfjs/types"
33

44
export interface TermMapping<T> {
5-
(v: T, d: DatasetCore, f: DataFactory): Wrapper | undefined
5+
(v: T, d: DatasetCore, f: DataFactory): TermWrapper | undefined
66
}

src/TermMappings.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
1-
import { Wrapper } from "./Wrapper.js"
1+
import { TermWrapper } from "./TermWrapper.js"
22
import type { DataFactory, DatasetCore } from "@rdfjs/types"
33

44
export namespace TermMappings {
5-
export function stringToLiteral(v: string | undefined, d: DatasetCore, f: DataFactory): Wrapper | undefined {
5+
export function stringToLiteral(v: string | undefined, d: DatasetCore, f: DataFactory): TermWrapper | undefined {
66
if (v === undefined) {
77
return undefined
88
}
99

10-
return new Wrapper(f.literal(v), d, f)
10+
return new TermWrapper(f.literal(v), d, f)
1111
}
1212

13-
export function dateToLiteral(v: Date | undefined, d: DatasetCore, f: DataFactory): Wrapper | undefined {
13+
export function dateToLiteral(v: Date | undefined, d: DatasetCore, f: DataFactory): TermWrapper | undefined {
1414
if (v === undefined) {
1515
return undefined
1616
}
1717

18-
return new Wrapper(f.literal(v.toISOString(), f.namedNode("http://www.w3.org/2001/XMLSchema#date")), d, f)
18+
return new TermWrapper(f.literal(v.toISOString(), f.namedNode("http://www.w3.org/2001/XMLSchema#date")), d, f)
1919
}
2020

21-
export function stringToIri(v: string | undefined, d: DatasetCore, f: DataFactory): Wrapper | undefined {
21+
export function stringToIri(v: string | undefined, d: DatasetCore, f: DataFactory): TermWrapper | undefined {
2222
if (v === undefined) {
2323
return undefined
2424
}
2525

26-
return new Wrapper(f.namedNode(v), d, f)
26+
return new TermWrapper(f.namedNode(v), d, f)
2727
}
2828
}

src/Wrapper.ts renamed to src/TermWrapper.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { TermMapping } from "./TermMapping.js"
33
import { WrappingSet } from "./WrappingSet.js"
44
import type { DataFactory, DatasetCore, Quad_Object, Quad_Predicate, Quad_Subject, Term } from "@rdfjs/types"
55

6-
export class Wrapper {
6+
export class TermWrapper {
77
readonly #term: Term
88
readonly #dataset: DatasetCore
99
readonly #factory: DataFactory
@@ -15,7 +15,7 @@ export class Wrapper {
1515
}
1616

1717
public static as<T>(constructor: new (term: Term, dataset: DatasetCore, factory: DataFactory) => T): ValueMapping<T> {
18-
return (n: Wrapper) => new constructor(n.term, n.dataset, n.factory)
18+
return (n: TermWrapper) => new constructor(n.term, n.dataset, n.factory)
1919
}
2020

2121
get dataset(): DatasetCore {
@@ -32,7 +32,7 @@ export class Wrapper {
3232

3333
protected singular<T>(p: Quad_Predicate, valueMapping: ValueMapping<T>): T {
3434
return valueMapping(
35-
new Wrapper(
35+
new TermWrapper(
3636
[...this.dataset.match(this.term, p)][0]!.object,
3737
this.dataset,
3838
this.factory
@@ -42,7 +42,7 @@ export class Wrapper {
4242

4343
protected singularNullable<T>(p: Quad_Predicate, valueMapping: ValueMapping<T>): T | undefined {
4444
for (const q of this.dataset.match(this.term, p)) {
45-
return valueMapping(new Wrapper(q.object, this.dataset, this.factory))
45+
return valueMapping(new TermWrapper(q.object, this.dataset, this.factory))
4646
}
4747

4848
return
@@ -61,7 +61,7 @@ export class Wrapper {
6161
return
6262
}
6363

64-
if (!Wrapper.isQuadSubject(this.term)) {
64+
if (!TermWrapper.isQuadSubject(this.term)) {
6565
return // TODO: throw error?
6666
}
6767

@@ -71,7 +71,7 @@ export class Wrapper {
7171
return // TODO: throw error?
7272
}
7373

74-
if (!Wrapper.isQuadObject(o.term)) {
74+
if (!TermWrapper.isQuadObject(o.term)) {
7575
return // TODO: throw error?
7676
}
7777

src/ValueMapping.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import type { Wrapper } from "./Wrapper.js"
1+
import type { TermWrapper } from "./TermWrapper.js"
22

33
export interface ValueMapping<T> {
4-
(n: Wrapper): T
4+
(n: TermWrapper): T
55
}

src/ValueMappings.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
import type { Wrapper } from "./Wrapper.js"
1+
import type { TermWrapper } from "./TermWrapper.js"
22

33
export namespace ValueMappings {
4-
export function literalToString(n: Wrapper): string {
4+
export function literalToString(n: TermWrapper): string {
55
return n.term.value
66
}
77

8-
export function literalToDate(n: Wrapper): Date {
8+
export function literalToDate(n: TermWrapper): Date {
99
return new Date(n.term.value)
1010
}
1111

12-
export function literalToNumber(n: Wrapper): number {
12+
export function literalToNumber(n: TermWrapper): number {
1313
return Number(n.term.value)
1414
}
1515

16-
export function iriToString(n: Wrapper): string {
16+
export function iriToString(n: TermWrapper): string {
1717
return n.term.value
1818
}
1919
}

src/WrappingSet.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
import { Wrapper } from "./Wrapper.js"
1+
import { TermWrapper } from "./TermWrapper.js"
22
import type { TermMapping } from "./TermMapping.js"
33
import type { ValueMapping } from "./ValueMapping.js"
44
import type { DatasetCore, Quad, Quad_Object, Quad_Predicate, Quad_Subject } from "@rdfjs/types"
55

66
export class WrappingSet<T> implements Set<T> {
77
// TODO: Private identifiers instead?
8-
private subject: Wrapper
8+
private subject: TermWrapper
99
private predicate: Quad_Predicate
1010
private valueMapping: ValueMapping<T>
1111
private termMapping: TermMapping<T>
1212

1313
// TODO: Direction
14-
constructor(subject: Wrapper, predicate: Quad_Predicate, valueMapping: ValueMapping<T>, termMapping: TermMapping<T>) {
14+
constructor(subject: TermWrapper, predicate: Quad_Predicate, valueMapping: ValueMapping<T>, termMapping: TermMapping<T>) {
1515
this.subject = subject
1616
this.predicate = predicate
1717
this.valueMapping = valueMapping
@@ -73,7 +73,7 @@ export class WrappingSet<T> implements Set<T> {
7373

7474
* values(): SetIterator<T> {
7575
for (const q of this.matches) {
76-
yield this.valueMapping(new Wrapper(q.object, this.subject.dataset, this.subject.factory))
76+
yield this.valueMapping(new TermWrapper(q.object, this.subject.dataset, this.subject.factory))
7777
}
7878
}
7979

src/decorators/getter.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ import {GetterArity} from "./GetterArity.js"
22
import type {ValueMapping} from "../ValueMapping.js"
33
import type {TermMapping} from "../TermMapping.js"
44
import {TermMappings} from "../TermMappings.js"
5-
import {Wrapper} from "../Wrapper.js"
5+
import {TermWrapper} from "../TermWrapper.js"
66

77
export function getter(predicate: string, getterArity: GetterArity, valueMapping: ValueMapping<any>, termMapping: TermMapping<any> = TermMappings.stringToLiteral): any {
88
return function (target: any, context: ClassGetterDecoratorContext): any {
9-
return function (this: Wrapper): any {
9+
return function (this: TermWrapper): any {
1010
const p = this.factory.namedNode(predicate)
1111

1212
switch (getterArity) {

src/decorators/setter.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import {SetterArity} from "./setterArity.js"
22
import type {TermMapping} from "../TermMapping.js"
3-
import {Wrapper} from "../Wrapper.js"
3+
import {TermWrapper} from "../TermWrapper.js"
44

55
export function setter(predicate: string, setterArity: SetterArity, termMapping: TermMapping<any>): any {
66
return function (target: any, context: ClassSetterDecoratorContext): any {
7-
return function (this: Wrapper, value: any): void {
7+
return function (this: TermWrapper, value: any): void {
88
const p = this.factory.namedNode(predicate)
99

1010
switch (setterArity) {

src/mod.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ export * from "./TermMapping.js"
22
export * from "./TermMappings.js"
33
export * from "./ValueMapping.js"
44
export * from "./ValueMappings.js"
5-
export * from "./Wrapper.js"
5+
export * from "./TermWrapper.js"
66
export * from "./WrappingSet.js"
77
export * from "./decorators/GetterArity.js"
88
export * from "./decorators/setterArity.js"

test/unit/model/Child.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import { TermMappings, ValueMappings, Wrapper } from "rdfjs-wrapper"
1+
import { TermMappings, ValueMappings, TermWrapper } from "rdfjs-wrapper"
22
import { Vocabulary } from "../Vocabulary.js"
33

4-
export class Child extends Wrapper {
4+
export class Child extends TermWrapper {
55
public get hasName(): string | undefined {
66
return this.singular(Vocabulary.hasName, ValueMappings.literalToString)
77
}

0 commit comments

Comments
 (0)