diff --git a/packages/ldo/src/LdoDatasetFactory.ts b/packages/ldo/src/LdoDatasetFactory.ts index 9b6e335..b0150b2 100644 --- a/packages/ldo/src/LdoDatasetFactory.ts +++ b/packages/ldo/src/LdoDatasetFactory.ts @@ -34,7 +34,7 @@ export class LdoDatasetFactory implements DatasetFactory { */ dataset(quads?: Dataset | Quad[]): LdoDataset { return new LdoDataset( - this.datasetFactory, + this, quads ? Array.isArray(quads) ? this.datasetFactory.dataset(quads) diff --git a/packages/ldo/src/LdoTransactionalDataset.ts b/packages/ldo/src/LdoTransactionalDataset.ts new file mode 100644 index 0000000..38baf93 --- /dev/null +++ b/packages/ldo/src/LdoTransactionalDataset.ts @@ -0,0 +1,23 @@ +import type { TransactionalDataset } from "@ldo/subscribable-dataset"; +import { LdoDataset } from "../dist/LdoDataset"; +import type { Quad } from "@rdfjs/types"; +import type { DatasetChanges } from "@ldo/rdf-utils"; + +export class LdoTransactionalDataset + extends LdoDataset + implements TransactionalDataset +{ + constructor() { + + } + + rollback(): void { + throw new Error("Method not implemented."); + } + commit(): void { + throw new Error("Method not implemented."); + } + getChanges(): DatasetChanges { + throw new Error("Method not implemented."); + } +} diff --git a/packages/subscribable-dataset/src/WrapperSubscribableDataset.ts b/packages/subscribable-dataset/src/SubscribableDataset.ts similarity index 95% rename from packages/subscribable-dataset/src/WrapperSubscribableDataset.ts rename to packages/subscribable-dataset/src/SubscribableDataset.ts index a2d0ee5..b2d7db1 100644 --- a/packages/subscribable-dataset/src/WrapperSubscribableDataset.ts +++ b/packages/subscribable-dataset/src/SubscribableDataset.ts @@ -17,31 +17,34 @@ import type { } from "@rdfjs/types"; import type { nodeEventListener, - SubscribableDataset, - TransactionalDataset, + ISubscribableDataset, + ITransactionDataset, + ITransactionDatasetFactory, } from "./types"; -import { ProxyTransactionalDataset } from "./ProxyTransactionalDataset"; /** * A wrapper for a dataset that allows subscriptions to be made on nodes to * be triggered whenever a quad containing that added or removed. */ -export class WrapperSubscribableDataset< - InAndOutQuad extends BaseQuad = BaseQuad, -> implements SubscribableDataset +export class SubscribableDataset + implements ISubscribableDataset { /** * The underlying dataset factory */ - private datasetFactory: DatasetFactory; + protected datasetFactory: DatasetFactory; /** * The underlying dataset */ - private dataset: Dataset; + protected dataset: Dataset; /** * The underlying event emitter */ - private eventEmitter: EventEmitter; + protected eventEmitter: EventEmitter; + /** + * The underlying dataset factory for creating transaction datasets + */ + protected transactionDatasetFactory: ITransactionDatasetFactory; /** * Helps find all the events for a given listener */ @@ -54,9 +57,11 @@ export class WrapperSubscribableDataset< */ constructor( datasetFactory: DatasetFactory, + transactionDatasetFactory: ITransactionDatasetFactory, initialDataset?: Dataset, ) { this.datasetFactory = datasetFactory; + this.transactionDatasetFactory = transactionDatasetFactory; this.dataset = initialDataset || this.datasetFactory.dataset(); this.eventEmitter = new EventEmitter(); } @@ -249,6 +254,7 @@ export class WrapperSubscribableDataset< * Note: Since a DatasetCore is an unordered set, the order of the quads within the returned sequence is arbitrary. */ public toArray(): InAndOutQuad[] { + console.log("Calling toArray"); return this.dataset.toArray(); } @@ -609,7 +615,7 @@ export class WrapperSubscribableDataset< /** * Returns a transactional dataset that will update this dataset when its transaction is committed. */ - public startTransaction(): TransactionalDataset { - return new ProxyTransactionalDataset(this, this.datasetFactory); + public startTransaction(): ITransactionDataset { + return this.transactionDatasetFactory.transactionDataset(this); } } diff --git a/packages/subscribable-dataset/src/SubscribableDatasetFactory.ts b/packages/subscribable-dataset/src/SubscribableDatasetFactory.ts new file mode 100644 index 0000000..483ee06 --- /dev/null +++ b/packages/subscribable-dataset/src/SubscribableDatasetFactory.ts @@ -0,0 +1,31 @@ +import type { DatasetFactory, BaseQuad, Dataset } from "@rdfjs/types"; +import type { ITransactionDatasetFactory } from "./types"; +import { SubscribableDataset } from "./SubscribableDataset"; + +/** + * A DatasetFactory that returns a SubscribableDataset given a generic DatasetFactory. + */ +export class SubscribableDatasetFactory< + InAndOutQuad extends BaseQuad = BaseQuad, +> implements DatasetFactory +{ + private datasetFactory: DatasetFactory; + private transactionDatasetFactory: ITransactionDatasetFactory; + constructor( + datasetFactory: DatasetFactory, + transactionDatasetFactory: ITransactionDatasetFactory, + ) { + this.datasetFactory = datasetFactory; + this.transactionDatasetFactory = transactionDatasetFactory; + } + + dataset( + quads?: Dataset | InAndOutQuad[], + ): SubscribableDataset { + return new SubscribableDataset( + this.datasetFactory, + this.transactionDatasetFactory, + quads ? this.datasetFactory.dataset(quads) : undefined, + ); + } +} diff --git a/packages/subscribable-dataset/src/ProxyTransactionalDataset.ts b/packages/subscribable-dataset/src/TransactionDataset.ts similarity index 87% rename from packages/subscribable-dataset/src/ProxyTransactionalDataset.ts rename to packages/subscribable-dataset/src/TransactionDataset.ts index 6e7a66d..875ad6f 100644 --- a/packages/subscribable-dataset/src/ProxyTransactionalDataset.ts +++ b/packages/subscribable-dataset/src/TransactionDataset.ts @@ -1,27 +1,26 @@ import type { Dataset, BaseQuad, Term, DatasetFactory } from "@rdfjs/types"; import type { DatasetChanges } from "@ldo/rdf-utils"; -import type { BulkEditableDataset, TransactionalDataset } from "./types"; -import { ExtendedDataset } from "@ldo/dataset"; +import type { + ISubscribableDataset, + ITransactionDataset, + ITransactionDatasetFactory, +} from "./types"; import { mergeDatasetChanges } from "./mergeDatasetChanges"; +import { SubscribableDataset } from "./SubscribableDataset"; /** * Proxy Transactional Dataset is a transactional dataset that does not duplicate * the parent dataset, it will dynamically determine the correct return value for * methods in real time when the method is called. */ -export class ProxyTransactionalDataset - extends ExtendedDataset - implements TransactionalDataset +export class TransactionDataset + extends SubscribableDataset + implements ITransactionDataset { /** * The parent dataset that will be updated upon commit */ - private parentDataset: Dataset; - - /** - * A factory for creating new datasets to be added to the update method - */ - private datasetFactory: DatasetFactory; + public readonly parentDataset: ISubscribableDataset; /** * The changes made that are ready to commit @@ -42,12 +41,12 @@ export class ProxyTransactionalDataset * @param parentDataset The dataset that will be updated upon commit */ constructor( - parentDataset: Dataset, + parentDataset: ISubscribableDataset, datasetFactory: DatasetFactory, + transactionDatasetFactory: ITransactionDatasetFactory, ) { - super(datasetFactory.dataset(), datasetFactory); + super(datasetFactory, transactionDatasetFactory, datasetFactory.dataset()); this.parentDataset = parentDataset; - this.datasetFactory = datasetFactory; this.datasetChanges = {}; } @@ -179,6 +178,7 @@ export class ProxyTransactionalDataset * Returns an iterator */ public [Symbol.iterator](): Iterator { + console.log("Getting Iterator"); const addedIterator = (this.datasetChanges.added || [])[Symbol.iterator](); let addedNext = addedIterator.next(); const parentIterator = this.parentDataset[Symbol.iterator](); @@ -253,9 +253,7 @@ export class ProxyTransactionalDataset private updateParentDataset(datasetChanges: DatasetChanges) { // eslint-disable-next-line @typescript-eslint/no-explicit-any if ((this.parentDataset as any).bulk) { - (this.parentDataset as BulkEditableDataset).bulk( - datasetChanges, - ); + this.parentDataset.bulk(datasetChanges); } else { if (datasetChanges.added) { this.parentDataset.addAll(datasetChanges.added); @@ -296,17 +294,6 @@ export class ProxyTransactionalDataset this.committedDatasetChanges = undefined; } - /** - * Starts a new transaction with this transactional dataset as the parent - * @returns - */ - public startTransaction(): TransactionalDataset { - // This is caused by the typings being incorrect for the intersect method - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - return new ProxyTransactionalDataset(this, this.datasetFactory); - } - public getChanges(): DatasetChanges { return this.datasetChanges; } diff --git a/packages/subscribable-dataset/src/TransactionDatasetFactory.ts b/packages/subscribable-dataset/src/TransactionDatasetFactory.ts new file mode 100644 index 0000000..86ebfac --- /dev/null +++ b/packages/subscribable-dataset/src/TransactionDatasetFactory.ts @@ -0,0 +1,27 @@ +import type { BaseQuad, DatasetFactory } from "@rdfjs/types"; +import type { ISubscribableDataset, ITransactionDatasetFactory } from "./types"; +import { TransactionDataset } from "./TransactionDataset"; + +export class TransactionDatasetFactory + implements ITransactionDatasetFactory +{ + private datasetFactory: DatasetFactory; + private transactionDatasetFactory: ITransactionDatasetFactory; + constructor( + datasetFactory: DatasetFactory, + transactionDatasetFactory?: ITransactionDatasetFactory, + ) { + this.datasetFactory = datasetFactory; + this.transactionDatasetFactory = transactionDatasetFactory || this; + } + + transactionDataset( + parentDataset: ISubscribableDataset, + ): TransactionDataset { + return new TransactionDataset( + parentDataset, + this.datasetFactory, + this.transactionDatasetFactory, + ); + } +} diff --git a/packages/subscribable-dataset/src/WrapperSubscribableDatasetFactory.ts b/packages/subscribable-dataset/src/WrapperSubscribableDatasetFactory.ts deleted file mode 100644 index b3d1757..0000000 --- a/packages/subscribable-dataset/src/WrapperSubscribableDatasetFactory.ts +++ /dev/null @@ -1,27 +0,0 @@ -import type { DatasetFactory, BaseQuad, Dataset } from "@rdfjs/types"; -import { WrapperSubscribableDataset } from "./WrapperSubscribableDataset"; - -/** - * A DatasetFactory that returns a WrapperSubscribableDataset given a generic DatasetFactory. - */ -export class WrapperSubscribableDatasetFactory< - InAndOutQuad extends BaseQuad = BaseQuad, -> implements DatasetFactory -{ - private datasetFactory: DatasetFactory; - constructor(datasetFactory: DatasetFactory) { - this.datasetFactory = datasetFactory; - } - - dataset( - quads?: Dataset | InAndOutQuad[], - ): WrapperSubscribableDataset { - // Typings are wrong - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - return new WrapperSubscribableDataset( - this.datasetFactory, - quads ? this.datasetFactory.dataset(quads) : undefined, - ); - } -} diff --git a/packages/subscribable-dataset/src/createSubscribableDataset.ts b/packages/subscribable-dataset/src/createSubscribableDataset.ts new file mode 100644 index 0000000..186a7e7 --- /dev/null +++ b/packages/subscribable-dataset/src/createSubscribableDataset.ts @@ -0,0 +1,46 @@ +import type { Dataset, DatasetFactory, Quad } from "@rdfjs/types"; +import { createDataset } from "@ldo/dataset"; +import { SubscribableDatasetFactory } from "./SubscribableDatasetFactory"; +import type { + ISubscribableDataset, + ISubscribableDatasetFactory, + ITransactionDatasetFactory, +} from "./types"; +import { TransactionDatasetFactory } from "./TransactionDatasetFactory"; + +const datasetFactory: DatasetFactory = { + dataset: (quads?: Dataset | Quad[]): Dataset => { + return createDataset(quads); + }, +}; + +/** + * Creates a factory that generates TransactionDatasets + * @returns TransactionDatasetFactory + */ +export function createTransactionDatasetFactory(): ITransactionDatasetFactory { + return new TransactionDatasetFactory(datasetFactory); +} + +/** + * Creates a dataset factory that generates a SubscribableDataset + * @returns DatasetFactory for SubscribableDataset + */ +export function createSubscribableDatasetFactory(): ISubscribableDatasetFactory { + return new SubscribableDatasetFactory( + datasetFactory, + createTransactionDatasetFactory(), + ); +} + +/** + * Creates a SubscribableDataset + * @param quads: A dataset or array of Quads to initialize the dataset. + * @returns Dataset + */ +export function createSubscribableDataset( + quads?: Dataset | Quad[], +): ISubscribableDataset { + const subscribableDatasetFactory = createSubscribableDatasetFactory(); + return subscribableDatasetFactory.dataset(quads); +} diff --git a/packages/subscribable-dataset/src/createWrapperSubscribableDatasetFromSerializedInput.ts b/packages/subscribable-dataset/src/createSubscribableDatasetFromSerializedInput.ts similarity index 67% rename from packages/subscribable-dataset/src/createWrapperSubscribableDatasetFromSerializedInput.ts rename to packages/subscribable-dataset/src/createSubscribableDatasetFromSerializedInput.ts index dd3c511..bed692a 100644 --- a/packages/subscribable-dataset/src/createWrapperSubscribableDatasetFromSerializedInput.ts +++ b/packages/subscribable-dataset/src/createSubscribableDatasetFromSerializedInput.ts @@ -1,8 +1,8 @@ import type { Quad } from "@rdfjs/types"; import type { ParserOptions } from "@ldo/rdf-utils"; import { createDatasetFromSerializedInput } from "@ldo/dataset"; -import { createWrapperSubscribableDatasetFactory } from "./createWrapperSubscribableDataset"; -import type { WrapperSubscribableDataset } from "./WrapperSubscribableDataset"; +import { createSubscribableDatasetFactory } from "./createSubscribableDataset"; +import type { ISubscribableDataset } from "./types"; /** * Creates a SubscribableDataset with a string input that could be JSON-LD, Turtle, N-Triples, TriG, RDF*, or N3. @@ -18,9 +18,9 @@ import type { WrapperSubscribableDataset } from "./WrapperSubscribableDataset"; export async function createWrapperSubscribableDatasetFromSerializedInput( data: string, options?: ParserOptions, -): Promise> { - const datasetFactory = createWrapperSubscribableDatasetFactory(); - return createDatasetFromSerializedInput>( +): Promise> { + const datasetFactory = createSubscribableDatasetFactory(); + return createDatasetFromSerializedInput>( datasetFactory, data, options, diff --git a/packages/subscribable-dataset/src/createWrapperSubscribableDataset.ts b/packages/subscribable-dataset/src/createWrapperSubscribableDataset.ts deleted file mode 100644 index df7af0d..0000000 --- a/packages/subscribable-dataset/src/createWrapperSubscribableDataset.ts +++ /dev/null @@ -1,30 +0,0 @@ -import type { Dataset, DatasetFactory, Quad } from "@rdfjs/types"; -import type { WrapperSubscribableDataset } from "./WrapperSubscribableDataset"; -import { createDataset } from "@ldo/dataset"; -import { WrapperSubscribableDatasetFactory } from "./WrapperSubscribableDatasetFactory"; - -/** - * Creates a dataset factory that generates a SubscribableDataset - * @returns DatasetFactory for SubscribableDataset - */ -export function createWrapperSubscribableDatasetFactory(): WrapperSubscribableDatasetFactory { - const datasetFactory: DatasetFactory = { - dataset: (quads?: Dataset | Quad[]): Dataset => { - return createDataset(quads); - }, - }; - return new WrapperSubscribableDatasetFactory(datasetFactory); -} - -/** - * Creates a SubscribableDataset - * @param quads: A dataset or array of Quads to initialize the dataset. - * @returns Dataset - */ -export function createWrapperSubscribableDataset( - quads?: Dataset | Quad[], -): WrapperSubscribableDataset { - const wrapperSubscribableDatasetFactory = - createWrapperSubscribableDatasetFactory(); - return wrapperSubscribableDatasetFactory.dataset(quads); -} diff --git a/packages/subscribable-dataset/src/index.ts b/packages/subscribable-dataset/src/index.ts index d4ecf2f..071e05d 100644 --- a/packages/subscribable-dataset/src/index.ts +++ b/packages/subscribable-dataset/src/index.ts @@ -1,10 +1,8 @@ -export { - createWrapperSubscribableDataset as createSubscribableDataset, - createWrapperSubscribableDatasetFactory as createSubscribableDatasetFactory, -} from "./createWrapperSubscribableDataset"; -export { createWrapperSubscribableDatasetFromSerializedInput as serializedToSubscribableDataset } from "./createWrapperSubscribableDatasetFromSerializedInput"; -export * from "./ProxyTransactionalDataset"; -export * from "./WrapperSubscribableDataset"; -export * from "./WrapperSubscribableDatasetFactory"; +export * from "./createSubscribableDataset"; +export { createWrapperSubscribableDatasetFromSerializedInput as serializedToSubscribableDataset } from "./createSubscribableDatasetFromSerializedInput"; +export * from "./TransactionDataset"; +export * from "./TransactionDatasetFactory"; +export * from "./SubscribableDataset"; +export * from "./SubscribableDatasetFactory"; export * from "./types"; export * from "./mergeDatasetChanges"; diff --git a/packages/subscribable-dataset/src/types.ts b/packages/subscribable-dataset/src/types.ts index 4987642..41f2de7 100644 --- a/packages/subscribable-dataset/src/types.ts +++ b/packages/subscribable-dataset/src/types.ts @@ -1,5 +1,5 @@ import type { DatasetChanges, QuadMatch } from "@ldo/rdf-utils"; -import type { Dataset, BaseQuad } from "@rdfjs/types"; +import type { Dataset, BaseQuad, DatasetFactory } from "@rdfjs/types"; /** * An event listeners for nodes @@ -11,28 +11,29 @@ export type nodeEventListener = ( /** * Adds the bulk method for add and remove */ -export interface BulkEditableDataset +export interface IBulkEditableDataset extends Dataset { bulk(changes: DatasetChanges): this; } /** - * A dataset that allows you to modify the dataset and + * Factory for creating SubscribableDatasets */ -export interface TransactionalDataset - extends BulkEditableDataset { - rollback(): void; - commit(): void; - getChanges(): DatasetChanges; -} +export type ISubscribableDatasetFactory< + InAndOutQuad extends BaseQuad = BaseQuad, +> = DatasetFactory< + InAndOutQuad, + InAndOutQuad, + ISubscribableDataset +>; /** * Dataset that allows developers to subscribe to a sepecific term and be alerted * if a quad is added or removed containing that term. It's methods follow the * EventEmitter interface except take in namedNodes as keys. */ -export interface SubscribableDataset - extends BulkEditableDataset { +export interface ISubscribableDataset + extends IBulkEditableDataset { /** * Alias for emitter.on(eventName, listener). * @param eventName @@ -140,5 +141,27 @@ export interface SubscribableDataset /** * Returns a transactional dataset that will update this dataset when its transaction is committed. */ - startTransaction(): TransactionalDataset; + startTransaction(): ITransactionDataset; +} + +/** + * Creates a TransactionDataset + */ +export interface ITransactionDatasetFactory< + InAndOutQuad extends BaseQuad = BaseQuad, +> { + transactionDataset( + parent: ISubscribableDataset, + ): ITransactionDataset; +} + +/** + * A dataset that allows you to modify the dataset and + */ +export interface ITransactionDataset + extends ISubscribableDataset { + readonly parentDataset: ISubscribableDataset; + rollback(): void; + commit(): void; + getChanges(): DatasetChanges; } diff --git a/packages/subscribable-dataset/test/WrapperSubscribableDataset.test.ts b/packages/subscribable-dataset/test/SubscribableDataset.test.ts similarity index 97% rename from packages/subscribable-dataset/test/WrapperSubscribableDataset.test.ts rename to packages/subscribable-dataset/test/SubscribableDataset.test.ts index c8e91b4..84a707d 100644 --- a/packages/subscribable-dataset/test/WrapperSubscribableDataset.test.ts +++ b/packages/subscribable-dataset/test/SubscribableDataset.test.ts @@ -1,5 +1,5 @@ -import type { SubscribableDataset } from "../src"; -import { ProxyTransactionalDataset, createSubscribableDataset } from "../src"; +import type { ISubscribableDataset } from "../src"; +import { TransactionDataset, createSubscribableDataset } from "../src"; import { createDataset } from "@ldo/dataset"; import { namedNode, @@ -11,14 +11,14 @@ import { import type { Quad, BlankNode } from "@rdfjs/types"; import testDataset from "@ldo/dataset/test/dataset.testHelper"; -describe("WrapperSubscribableDataset", () => { +describe("SubscribableDataset", () => { // Regular dataset tests testDataset({ dataset: createSubscribableDataset, }); // Subscribable Dataset tests - let subscribableDatastet: SubscribableDataset; + let subscribableDatastet: ISubscribableDataset; const tomTypeQuad = quad( namedNode("http://example.org/cartoons#Tom"), namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"), @@ -449,8 +449,7 @@ describe("WrapperSubscribableDataset", () => { it("Returns a transaction", () => { expect( - subscribableDatastet.startTransaction() instanceof - ProxyTransactionalDataset, + subscribableDatastet.startTransaction() instanceof TransactionDataset, ).toBe(true); }); }); diff --git a/packages/subscribable-dataset/test/ProxyTransactionalDataset.test.ts b/packages/subscribable-dataset/test/TransactionalDataset.test.ts similarity index 94% rename from packages/subscribable-dataset/test/ProxyTransactionalDataset.test.ts rename to packages/subscribable-dataset/test/TransactionalDataset.test.ts index bc380be..30c0dbf 100644 --- a/packages/subscribable-dataset/test/ProxyTransactionalDataset.test.ts +++ b/packages/subscribable-dataset/test/TransactionalDataset.test.ts @@ -5,14 +5,18 @@ import type { Quad, DatasetCore, } from "@rdfjs/types"; -import type { BulkEditableDataset } from "../src"; +import type { ISubscribableDataset } from "../src"; import { ExtendedDatasetFactory } from "@ldo/dataset"; -import { ProxyTransactionalDataset } from "../src"; +import { + TransactionDataset, + createSubscribableDataset, + createTransactionDatasetFactory, +} from "../src"; import datasetCoreFactory from "@rdfjs/dataset"; -describe("ProxyTransactionalDataset", () => { - let parentDataset: Dataset; - let transactionalDataset: ProxyTransactionalDataset; +describe("TransactionDataset", () => { + let parentDataset: ISubscribableDataset; + let transactionalDataset: TransactionDataset; const tomTypeQuad = quad( namedNode("http://example.org/cartoons#Tom"), namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"), @@ -41,12 +45,13 @@ describe("ProxyTransactionalDataset", () => { const extendedDatasetFactory = new ExtendedDatasetFactory(datasetFactory); const initializeWithExtendedDatasetParent = (quads?: Quad[]) => { - parentDataset = extendedDatasetFactory.dataset( + parentDataset = createSubscribableDataset( quads || [tomTypeQuad, tomNameQuad], ); - transactionalDataset = new ProxyTransactionalDataset( + transactionalDataset = new TransactionDataset( parentDataset, extendedDatasetFactory, + createTransactionDatasetFactory(), ); }; @@ -301,14 +306,15 @@ describe("ProxyTransactionalDataset", () => { // Disable for tests // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore - const mockParent: BulkEditableDataset = { + const mockParent: ISubscribableDataset = { bulk: jest.fn(), has: (curQuad) => parentDataset.has(curQuad), [Symbol.iterator]: () => parentDataset[Symbol.iterator](), }; - transactionalDataset = new ProxyTransactionalDataset( + transactionalDataset = new TransactionDataset( mockParent, extendedDatasetFactory, + createTransactionDatasetFactory(), ); transactionalDataset.add(lickyNameQuad); @@ -319,8 +325,7 @@ describe("ProxyTransactionalDataset", () => { it("Returns a transactional dataset", () => { expect( - transactionalDataset.startTransaction() instanceof - ProxyTransactionalDataset, + transactionalDataset.startTransaction() instanceof TransactionDataset, ).toBe(true); }); diff --git a/packages/subscribable-dataset/test/createWrapperSubscribableDatasetFromSerializedInput.test.ts b/packages/subscribable-dataset/test/createSubscribableDatasetFromSerializedInput.test.ts similarity index 100% rename from packages/subscribable-dataset/test/createWrapperSubscribableDatasetFromSerializedInput.test.ts rename to packages/subscribable-dataset/test/createSubscribableDatasetFromSerializedInput.test.ts diff --git a/packages/subscribable-dataset/test/index.test.ts b/packages/subscribable-dataset/test/index.test.ts index 493e1ac..dd48974 100644 --- a/packages/subscribable-dataset/test/index.test.ts +++ b/packages/subscribable-dataset/test/index.test.ts @@ -2,17 +2,19 @@ import { createSubscribableDataset, createSubscribableDatasetFactory, serializedToSubscribableDataset, - ProxyTransactionalDataset, - WrapperSubscribableDataset, - WrapperSubscribableDatasetFactory, + SubscribableDataset, + SubscribableDatasetFactory, + TransactionDataset, + TransactionDatasetFactory, } from "../src"; describe("Exports", () => { it("Has all exports", () => { expect(createSubscribableDataset); - expect(ProxyTransactionalDataset); - expect(WrapperSubscribableDataset); - expect(WrapperSubscribableDatasetFactory); + expect(SubscribableDataset); + expect(TransactionDataset); + expect(SubscribableDatasetFactory); + expect(TransactionDatasetFactory); expect(serializedToSubscribableDataset); expect(createSubscribableDatasetFactory); });