Skip to content

Commit

Permalink
Expose usingSolidEngine helper
Browse files Browse the repository at this point in the history
  • Loading branch information
NoelDeMartin committed Feb 7, 2025
1 parent fb38cc5 commit 59f35d6
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 15 deletions.
16 changes: 8 additions & 8 deletions src/models/SolidModel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,10 @@ export class SolidModel extends SolidModelBase {
return this.getFieldRdfProperty(field) ?? fail(`Couldn't get required property for rdf field '${field}'`);
}

public static usingSolidEngine(): boolean {
return this.requireFinalEngine() instanceof SolidEngine;
}

public static from<T extends SolidModel>(
this: SolidModelConstructor<T>,
parentUrl: string,
Expand Down Expand Up @@ -587,10 +591,6 @@ export class SolidModel extends SolidModelBase {
return this.rdfContexts.default ?? '';
}

protected static usingSolidEngine(): boolean {
return this.requireFinalEngine() instanceof SolidEngine;
}

// TODO this should be optional
public url!: string;

Expand Down Expand Up @@ -1175,6 +1175,10 @@ export class SolidModel extends SolidModelBase {
return [...relatedModels];
}

public usingSolidEngine(): boolean {
return this.requireFinalEngine() instanceof SolidEngine;
}

public metadataRelationship(): Relation {
const metadataModelClass = requireBootedModel<typeof Metadata>('Metadata');

Expand Down Expand Up @@ -1212,10 +1216,6 @@ export class SolidModel extends SolidModelBase {
return `solid://${collection}/`;
}

protected usingSolidEngine(): boolean {
return this.requireFinalEngine() instanceof SolidEngine;
}

protected async createFromEngineDocument(
id: Key,
document: EngineDocument,
Expand Down
4 changes: 2 additions & 2 deletions src/models/relations/SolidContainerDocumentsRelation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export default class SolidContainerDocumentsRelation extends SolidBelongsToManyR
return this.related = [];
}

if (this.parent.requireFinalEngine() instanceof SolidEngine) {
if (this.parent.usingSolidEngine()) {
return super.load();
}

Expand All @@ -61,7 +61,7 @@ export default class SolidContainerDocumentsRelation extends SolidBelongsToManyR
}

public async __loadDocumentModels(documentUrl: string, document: JsonLDGraph): Promise<void> {
if (!(SolidDocument.requireFinalEngine() instanceof SolidEngine)) {
if (!SolidDocument.usingSolidEngine()) {
return super.__loadDocumentModels(documentUrl, document);
}

Expand Down
4 changes: 1 addition & 3 deletions src/models/relations/SolidContainsRelation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ import { arrayUnique, tap } from '@noeldemartin/utils';
import { BelongsToManyRelation, SoukaiError } from 'soukai';
import type { Attributes } from 'soukai';

import { SolidEngine } from '@/engines/SolidEngine';

import { usingExperimentalActivityPods } from '@/experimental';
import type SolidContainer from '@/models/SolidContainer';
import type { SolidModel } from '@/models/SolidModel';
Expand Down Expand Up @@ -31,7 +29,7 @@ export default class SolidContainsRelation<

const resourceUrls = arrayUnique([...this.parent.resourceUrls, related.getDocumentUrl()]);

if (this.parent.requireFinalEngine() instanceof SolidEngine) {
if (this.parent.usingSolidEngine()) {
this.parent.setOriginalAttribute('resourceUrls', resourceUrls);
} else {
this.parent.setAttribute('resourceUrls', resourceUrls);
Expand Down
3 changes: 1 addition & 2 deletions src/models/relations/SolidIsContainedByRelation.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { arrayUnique, requireUrlParentDirectory, urlParentDirectory, urlRoot } from '@noeldemartin/utils';
import { SingleModelRelation } from 'soukai';

import { SolidEngine } from '@/engines/SolidEngine';
import type SolidContainer from '@/models/SolidContainer';
import type { SolidModel } from '@/models/SolidModel';
import type { SolidContainerConstructor } from '@/models/inference';
Expand Down Expand Up @@ -32,7 +31,7 @@ export default class SolidIsContainedByRelation<

const resourceUrls = arrayUnique([...related.resourceUrls, this.parent.getDocumentUrl()]);

if (this.parent.requireFinalEngine() instanceof SolidEngine) {
if (this.parent.usingSolidEngine()) {
related.setOriginalAttribute('resourceUrls', resourceUrls);
} else {
related.setAttribute('resourceUrls', resourceUrls);
Expand Down

0 comments on commit 59f35d6

Please sign in to comment.