Skip to content

Commit 922e757

Browse files
authored
Merge pull request #107 from dolittle/fix-builders-api
Fix builders api
2 parents 5e351a5 + 48c6b7e commit 922e757

18 files changed

Lines changed: 53 additions & 88 deletions

File tree

Samples/Tutorials/EventHorizon/Consumer/index.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,14 @@ import { DishPrepared } from './DishPrepared';
2020
.toScope('808ddde4-c937-4f5c-9dc2-140580f6919e'));
2121
})
2222
.withEventHandlers(_ => _
23-
.createEventHandler('6c3d358f-3ecc-4c92-a91e-5fc34cacf27e', _ =>
24-
_.inScope('808ddde4-c937-4f5c-9dc2-140580f6919e')
25-
.partitioned()
26-
.handle(DishPrepared, (event, context) => {
27-
client.logger.info(`Handled event ${JSON.stringify(event)} from public stream`);
28-
}))))
23+
.create('6c3d358f-3ecc-4c92-a91e-5fc34cacf27e')
24+
.inScope('808ddde4-c937-4f5c-9dc2-140580f6919e')
25+
.partitioned()
26+
.handle(DishPrepared, (event, context) => {
27+
client.logger.info(`Handled event ${JSON.stringify(event)} from public stream`);
28+
})
29+
)
30+
)
2931
.connect(_ => _
3032
.withRuntimeOn('localhost', 50055)
3133
);

Samples/Tutorials/EventHorizon/Producer/index.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,13 @@ import { DishPrepared } from './DishPrepared';
1515
const client = await DolittleClient
1616
.setup(_ => _
1717
.withFilters(_ => _
18-
.createPublicFilter('2c087657-b318-40b1-ae92-a400de44e507', _ => _
18+
.createPublic('2c087657-b318-40b1-ae92-a400de44e507')
1919
.handle((event: any, context: EventContext) => {
2020
client.logger.info(`Filtering event ${JSON.stringify(event)} to public stream`);
2121
return new PartitionedFilterResult(true, 'Dolittle Tacos');
2222
})
23-
)))
23+
)
24+
)
2425
.connect();
2526

2627
const preparedTaco = new DishPrepared('Bean Blaster Taco', 'Mr. Taco');

Samples/Tutorials/Projections/index.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,16 @@ import { DishPrepared } from './DishPrepared';
1414
(async () => {
1515
const client = await DolittleClient
1616
.setup(builder => builder
17-
.withProjections(builder => {
18-
builder.createProjection('0767bc04-bc03-40b8-a0be-5f6c6130f68b')
17+
.withProjections(_ => _
18+
.create('0767bc04-bc03-40b8-a0be-5f6c6130f68b')
1919
.forReadModel(Chef)
2020
.on(DishPrepared, _ => _.keyFromProperty('Chef'), (chef, event, projectionContext) => {
2121
chef.name = event.Chef;
2222
if (!chef.dishes.includes(event.Dish)) chef.dishes.push(event.Dish);
2323
return chef;
24-
});
25-
}))
24+
})
25+
)
26+
)
2627
.connect();
2728

2829
const eventStore = client.eventStore.forTenant(TenantId.development);

Source/embeddings/Builders/EmbeddingsBuilder.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export class EmbeddingsBuilder extends IEmbeddingsBuilder {
3131
}
3232

3333
/** @inheritdoc */
34-
createEmbedding(embeddingId: string | EmbeddingId | Guid): IEmbeddingBuilder {
34+
create(embeddingId: string | EmbeddingId | Guid): IEmbeddingBuilder {
3535
const id = EmbeddingId.from(embeddingId);
3636
const builder = new EmbeddingBuilder(id, this._modelBuilder);
3737
const identifier = new EmbeddingModelId(id);
@@ -40,7 +40,7 @@ export class EmbeddingsBuilder extends IEmbeddingsBuilder {
4040
}
4141

4242
/** @inheritdoc */
43-
registerEmbedding<T>(type: Constructor<T>): IEmbeddingsBuilder {
43+
register<T>(type: Constructor<T>): IEmbeddingsBuilder {
4444
if (!isDecoratedEmbeddingType(type)) {
4545
this._buildResults.addFailure(`The embeddings class ${type.name} is not decorated as an embeddings`,`Add the @${embeddingDecorator.name} decorator to the class`);
4646
return this;

Source/embeddings/Builders/IEmbeddingsBuilder.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ export abstract class IEmbeddingsBuilder {
1414
/**
1515
* Start building an embedding.
1616
* @param {EmbeddingId | Guid | string} embeddingId - The unique identifier of the embedding.
17-
* @returns {IEmbeddingBuilder} The builder for continuation.
17+
* @returns {IEmbeddingBuilder} The builder for building the embeddings.
1818
*/
19-
abstract createEmbedding(embeddingId: EmbeddingId | Guid | string): IEmbeddingBuilder;
19+
abstract create(embeddingId: EmbeddingId | Guid | string): IEmbeddingBuilder;
2020

2121
/**
2222
* Register a type as an embedding.
2323
* @param type - The type to register as a embedding.
2424
* @returns {IEmbeddingsBuilder} The builder for continuation.
2525
*/
26-
abstract registerEmbedding<T>(type: Constructor<T>): IEmbeddingsBuilder;
26+
abstract register<T>(type: Constructor<T>): IEmbeddingsBuilder;
2727
}

Source/events.filtering/EventFiltersBuilder.ts

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import { IClientBuildResults, IModelBuilder } from '@dolittle/sdk.common';
88
import { FilterId } from './FilterId';
99
import { PublicEventFilterBuilder } from './PublicEventFilterBuilder';
1010
import { PrivateEventFilterBuilder } from './PrivateEventFilterBuilder';
11-
import { PublicEventFilterBuilderCallback } from './PublicEventFilterBuilderCallback';
12-
import { PrivateEventFilterBuilderCallback } from './PrivateEventFilterBuilderCallback';
1311
import { IEventFiltersBuilder } from './IEventFiltersBuilder';
12+
import { IPrivateEventFilterBuilder } from './IPrivateEventFilterBuilder';
13+
import { IPublicEventFilterBuilder } from './IPublicEventFilterBuilder';
1414

1515
/**
1616
* Represents an implementation of {@link IEventFiltersBuilder}.
@@ -29,18 +29,14 @@ export class EventFiltersBuilder extends IEventFiltersBuilder {
2929
}
3030

3131
/** @inheritdoc */
32-
createPrivateFilter(filterId: string | FilterId | Guid, callback: PrivateEventFilterBuilderCallback): IEventFiltersBuilder {
32+
createPrivate(filterId: string | FilterId | Guid): IPrivateEventFilterBuilder {
3333
const identifier = FilterId.from(filterId);
34-
const builder = new PrivateEventFilterBuilder(identifier, this._modelBuilder);
35-
callback(builder);
36-
return this;
34+
return new PrivateEventFilterBuilder(identifier, this._modelBuilder);
3735
}
3836

3937
/** @inheritdoc */
40-
createPublicFilter(filterId: string | FilterId | Guid, callback: PublicEventFilterBuilderCallback): IEventFiltersBuilder {
38+
createPublic(filterId: string | FilterId | Guid): IPublicEventFilterBuilder {
4139
const identifier = FilterId.from(filterId);
42-
const builder = new PublicEventFilterBuilder(identifier, this._modelBuilder);
43-
callback(builder);
44-
return this;
40+
return new PublicEventFilterBuilder(identifier, this._modelBuilder);
4541
}
4642
}

Source/events.filtering/IEventFiltersBuilder.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import { Guid } from '@dolittle/rudiments';
55

66
import { FilterId } from './FilterId';
7-
import { PrivateEventFilterBuilderCallback } from './PrivateEventFilterBuilderCallback';
8-
import { PublicEventFilterBuilderCallback } from './PublicEventFilterBuilderCallback';
7+
import { IPrivateEventFilterBuilder } from './IPrivateEventFilterBuilder';
8+
import { IPublicEventFilterBuilder } from './IPublicEventFilterBuilder';
99

1010
/**
1111
* Defines a builder for building event filters.
@@ -14,16 +14,14 @@ export abstract class IEventFiltersBuilder {
1414
/**
1515
* Start building for a private filter.
1616
* @param {FilterId | Guid | string} filterId - The identifier of the filter.
17-
* @param {PrivateEventFilterBuilderCallback} callback - Callback for building the event filter.
18-
* @returns {IEventFiltersBuilder} Continuation of the builder.
17+
* @returns {IPrivateEventFilterBuilder} The builder for building the private filter.
1918
*/
20-
abstract createPrivateFilter(filterId: FilterId | Guid | string, callback: PrivateEventFilterBuilderCallback): IEventFiltersBuilder;
19+
abstract createPrivate(filterId: FilterId | Guid | string): IPrivateEventFilterBuilder;
2120

2221
/**
2322
* Start building for a public filter.
2423
* @param {FilterId | Guid | string} filterId - The identifier of the filter.
25-
* @param {PublicEventFilterBuilderCallback} callback - Callback for building the event filter.
26-
* @returns {IEventFiltersBuilder} Continuation of the builder.
24+
* @returns {IPublicEventFilterBuilder} The builder for building the public filter.
2725
*/
28-
abstract createPublicFilter(filterId: FilterId | Guid | string, callback: PublicEventFilterBuilderCallback): IEventFiltersBuilder;
26+
abstract createPublic(filterId: FilterId | Guid | string): IPublicEventFilterBuilder;
2927
}

Source/events.filtering/PrivateEventFilterBuilderCallback.ts

Lines changed: 0 additions & 9 deletions
This file was deleted.

Source/events.filtering/PublicEventFilterBuilderCallback.ts

Lines changed: 0 additions & 9 deletions
This file was deleted.

Source/events.filtering/_exports.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,5 @@ export { PartitionedEventFilterBuilder } from './PartitionedEventFilterBuilder';
2121
export { PartitionedFilterEventCallback } from './PartitionedFilterEventCallback';
2222
export { PartitionedFilterResult } from './PartitionedFilterResult';
2323
export { PrivateEventFilterBuilder } from './PrivateEventFilterBuilder';
24-
export { PrivateEventFilterBuilderCallback } from './PrivateEventFilterBuilderCallback';
2524
export { PublicEventFilterBuilder } from './PublicEventFilterBuilder';
26-
export { PublicEventFilterBuilderCallback } from './PublicEventFilterBuilderCallback';
2725
export { UnpartitionedEventFilterBuilder } from './UnpartitionedEventFilterBuilder';

0 commit comments

Comments
 (0)