Skip to content

PURISTA API


PURISTA API / @purista/core / StreamDefinitionBuilder

Class: StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:29

Type Parameters

S

S extends Service

C

C extends StreamDefinitionBuilderTypes = StreamDefinitionBuilderTypes

Constructors

Constructor

new StreamDefinitionBuilder<S, C>(streamName, streamDescription, finalEventName?, deprecated?): StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:105

Parameters

streamName

string

streamDescription

string

finalEventName?

string

deprecated?

boolean = false

Returns

StreamDefinitionBuilder<S, C>

Methods

addChunkSchema()

addChunkSchema<ChunkSchema>(chunkSchema, validateChunks?): StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], ChunkSchema, C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:461

Type Parameters

ChunkSchema

ChunkSchema extends Schema

Parameters

chunkSchema

ChunkSchema

validateChunks?

boolean = true

Returns

StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], ChunkSchema, C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>>


addFinalSchema()

addFinalSchema<FinalSchema>(finalSchema, validateFinal?): StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], C["ChunkSchema"], FinalSchema, C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:480

Type Parameters

FinalSchema

FinalSchema extends Schema

Parameters

finalSchema

FinalSchema

validateFinal?

boolean = true

Returns

StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], C["ChunkSchema"], FinalSchema, C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>>


addOpenApiErrorStatusCodes()

addOpenApiErrorStatusCodes(...codes): StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:573

Parameters

codes

...StatusCode[]

Returns

StreamDefinitionBuilder<S, C>


addOpenApiTags()

addOpenApiTags(...tags): StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:563

Parameters

tags

...string[]

Returns

StreamDefinitionBuilder<S, C>


addParameterSchema()

addParameterSchema<ParamsSchema>(parameterSchema): StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], ParamsSchema, C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:443

Type Parameters

ParamsSchema

ParamsSchema extends Schema

Parameters

parameterSchema

ParamsSchema

Returns

StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], ParamsSchema, C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>>


addPayloadSchema()

addPayloadSchema<PayloadSchema>(inputSchema, inputContentType?, inputContentEncoding?): StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<PayloadSchema, C["ParamsSchema"], C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:418

Type Parameters

PayloadSchema

PayloadSchema extends Schema

Parameters

inputSchema

PayloadSchema

inputContentType?

string

inputContentEncoding?

string

Returns

StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<PayloadSchema, C["ParamsSchema"], C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>>


addQueryParameters()

addQueryParameters(...queryParams): StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:578

Parameters

queryParams

...QueryParameter<Infer<C["ParamsSchema"]>>[]

Returns

StreamDefinitionBuilder<S, C>


canConsumeStream()

canConsumeStream<Chunk, Final, Payload, Parameter, SName, Version, Fname>(serviceName, serviceVersion, serviceTarget, chunkSchema?, payloadSchema?, parameterSchema?, finalSchema?, validateChunk?, validateFinal?): StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"] & Record<SName, Record<Version, Record<Fname, (payload, parameter) => Promise<{ sessionId: string; [asyncIterator]: AsyncIterator<{ payload: ...; }>; cancel: Promise<void>; }>>>>, C["EmitList"], C["QueueInvokes"]>>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:194

Type Parameters

Chunk

Chunk extends Schema

Final

Final extends Schema

Payload

Payload extends Schema

Parameter

Parameter extends Schema

SName

SName extends string = string

Version

Version extends string = string

Fname

Fname extends string = string

Parameters

serviceName

SName

serviceVersion

Version

serviceTarget

Fname

chunkSchema?

Chunk

payloadSchema?

Payload

parameterSchema?

Parameter

finalSchema?

Final

validateChunk?

boolean = true

validateFinal?

boolean = true

Returns

StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"] & Record<SName, Record<Version, Record<Fname, (payload, parameter) => Promise<{ sessionId: string; [asyncIterator]: AsyncIterator<{ payload: ...; }>; cancel: Promise<void>; }>>>>, C["EmitList"], C["QueueInvokes"]>>


canEmit()

canEmit<EventName, T>(eventName, schema): StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"] & Record<EventName, InferIn<T>>, C["QueueInvokes"]>>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:275

Type Parameters

EventName

EventName extends string

T

T extends Schema

Parameters

eventName

EventName

schema

T

Returns

StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"] & Record<EventName, InferIn<T>>, C["QueueInvokes"]>>


canEnqueue()

canEnqueue<Payload, Parameter, QueueName>(queueName, payloadSchema?, parameterSchema?): StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"] & Record<QueueName, { parameterSchema: Parameter; payloadSchema: Payload; }>>>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:115

Type Parameters

Payload

Payload extends Schema

Parameter

Parameter extends Schema

QueueName

QueueName extends string = string

Parameters

queueName

QueueName

payloadSchema?

Payload

parameterSchema?

Parameter

Returns

StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"] & Record<QueueName, { parameterSchema: Parameter; payloadSchema: Payload; }>>>


canInvoke()

canInvoke<Output, Payload, Parameter, SName, Version, Fname>(serviceName, serviceVersion, serviceTarget, outputSchema?, payloadSchema?, parameterSchema?): StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"] & Record<SName, Record<Version, Record<Fname, (payload, parameter) => Promise<Infer<Output>>>>>, C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:145

Type Parameters

Output

Output extends Schema

Payload

Payload extends Schema

Parameter

Parameter extends Schema

SName

SName extends string = string

Version

Version extends string = string

Fname

Fname extends string = string

Parameters

serviceName

SName

serviceVersion

Version

serviceTarget

Fname

outputSchema?

Output

payloadSchema?

Payload

parameterSchema?

Parameter

Returns

StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"] & Record<SName, Record<Version, Record<Fname, (payload, parameter) => Promise<Infer<Output>>>>>, C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>>


enableChunkAggregation()

enableChunkAggregation(enabled?): StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:504

Parameters

enabled?

boolean = true

Returns

StreamDefinitionBuilder<S, C>


enableHttpSecurity()

enableHttpSecurity(enabled?): StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:553

Parameters

enabled?

boolean = true

Returns

StreamDefinitionBuilder<S, C>


exposeAsHttpStreamEndpoint()

exposeAsHttpStreamEndpoint(method, path, contentTypeRequest?, contentEncodingRequest?): StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:514

Parameters

method

SupportedHttpMethod

path

string

contentTypeRequest?

string

contentEncodingRequest?

string

Returns

StreamDefinitionBuilder<S, C>


getAfterGuardHook()

getAfterGuardHook(name): StreamAfterGuardHook<S, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, InferIn<C["FinalSchema"]>, C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:402

Return a previously registered after-guard hook by name.

Parameters

name

string

Returns

StreamAfterGuardHook<S, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, InferIn<C["FinalSchema"]>, C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>


getBeforeGuardHook()

getBeforeGuardHook(name): StreamBeforeGuardHook<S, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:339

Return a previously registered before-guard hook by name.

Parameters

name

string

Returns

StreamBeforeGuardHook<S, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>


getDefinition()

getDefinition(): Promise<StreamDefinition<S, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, InferIn<C["ChunkSchema"]>, InferIn<C["FinalSchema"]>, C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], StreamDefinitionMetadataBase, C["QueueInvokes"]>>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:627

Returns

Promise<StreamDefinition<S, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, InferIn<C["ChunkSchema"]>, InferIn<C["FinalSchema"]>, C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], StreamDefinitionMetadataBase, C["QueueInvokes"]>>


getStreamFunction()

getStreamFunction(): StreamFunction<S, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, InferIn<C["ChunkSchema"]>, InferIn<C["FinalSchema"]>, C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:604

Returns

StreamFunction<S, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, InferIn<C["ChunkSchema"]>, InferIn<C["FinalSchema"]>, C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>


makeEndpointPublic()

makeEndpointPublic(): StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:548

Returns

StreamDefinitionBuilder<S, C>


markAsDeprecated()

markAsDeprecated(): StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:499

Returns

StreamDefinitionBuilder<S, C>


setAfterGuardHooks()

setAfterGuardHooks(afterGuards): StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:358

Set one or more after guard hook(s). If there are multiple after guard hooks, they are executed in parallel.

Parameters

afterGuards

Record<string, StreamAfterGuardHook<S, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, InferIn<C["FinalSchema"]>, C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>>

Returns

StreamDefinitionBuilder<S, C>


setBeforeGuardHooks()

setBeforeGuardHooks(beforeGuards): StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:297

Set one or more before guard hook(s). If there are multiple before guard hooks, they are executed in parallel.

Parameters

beforeGuards

Record<string, StreamBeforeGuardHook<S, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>>

Returns

StreamDefinitionBuilder<S, C>


setFinalEventName()

setFinalEventName<N>(eventName): StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:509

Type Parameters

N

N extends string

Parameters

eventName

NonEmptyString<N>

Returns

StreamDefinitionBuilder<S, C>


setHttpStreamingMode()

setHttpStreamingMode(mode): StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:543

Parameters

mode

"stream" | "aggregate"

Returns

StreamDefinitionBuilder<S, C>


setHttpStreamProtocol()

setHttpStreamProtocol(protocol, documentationUrl?): StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:535

Parameters

protocol

string

documentationUrl?

string

Returns

StreamDefinitionBuilder<S, C>


setOpenApiOperationId()

setOpenApiOperationId(operationId): StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:568

Parameters

operationId

string

Returns

StreamDefinitionBuilder<S, C>


setOpenApiSummary()

setOpenApiSummary(summary): StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:558

Parameters

summary

string

Returns

StreamDefinitionBuilder<S, C>


setStreamFunction()

setStreamFunction(fn): StreamDefinitionBuilder<S, C>

Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:583

Parameters

fn

StreamFunction<S, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, InferIn<C["ChunkSchema"]>, InferIn<C["FinalSchema"]>, C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>

Returns

StreamDefinitionBuilder<S, C>