Skip to content

@purista/core v2.0.5


PURISTA API / @purista/core / ClientBuilder

Class: ClientBuilder

Defined in: packages/core/src/ClientBuilder/ClientBuilder.impl.ts:39

ClientBuilder to generate clients, based on service definitions.

Extends

Constructors

new ClientBuilder()

new ClientBuilder(config?): ClientBuilder

Defined in: packages/core/src/ClientBuilder/ClientBuilder.impl.ts:48

Parameters

config?

Partial<{ buildAs: "esm" | "commonjs" | "both"; definitionPath: string; eventBridgeClient: { clientName: string; }; httpClient: { clientName: string; }; outputPath: string; package: { description: string; name: string; private: boolean; }; version: string; }>

Returns

ClientBuilder

Overrides

GenericEventEmitter.constructor

Properties

config

config: object

Defined in: packages/core/src/ClientBuilder/ClientBuilder.impl.ts:40

buildAs

buildAs: "esm" | "commonjs" | "both"

definitionPath

definitionPath: string

eventBridgeClient

eventBridgeClient: object = eventBridgeClientConfigSchema

eventBridgeClient.clientName

eventBridgeClient.clientName: string

httpClient

httpClient: object = httpClientConfigSchema

httpClient.clientName

httpClient.clientName: string

outputPath

outputPath: string

package?

optional package: object

package.description

package.description: string

package.name

package.name: string

package.private

package.private: boolean

version

version: string


rootPath

rootPath: string

Defined in: packages/core/src/ClientBuilder/ClientBuilder.impl.ts:46

The root file from where the relative paths are resolved. Defaults to current users directory

Methods

build()

build(): Promise<void>

Defined in: packages/core/src/ClientBuilder/ClientBuilder.impl.ts:223

Runs the tsc against the generated ts source files. Depending on settings, it will generate ESM and/or commonJS files

Returns

Promise<void>


cleanDistFolder()

cleanDistFolder(): Promise<void>

Defined in: packages/core/src/ClientBuilder/ClientBuilder.impl.ts:143

Deletes the content of the output folder. Should be called before generating the client

Returns

Promise<void>


createIndex()

createIndex(): Promise<void>

Defined in: packages/core/src/ClientBuilder/ClientBuilder.impl.ts:153

Creates a index.ts file which exports the client(s) and types. Is used in generated package.json

Returns

Promise<void>


createPackageJson()

createPackageJson(): Promise<void>

Defined in: packages/core/src/ClientBuilder/ClientBuilder.impl.ts:175

Creates a package.json file in the output folder. Exports the files which are build by tsc based on generated client files

Returns

Promise<void>


destroy()

destroy(): void

Defined in: packages/core/src/ClientBuilder/ClientBuilder.impl.ts:812

Destroys the builder and cleans the event listeners

Returns

void


emit()

emit<K>(eventName, parameter?): void

Defined in: packages/core/src/core/types/GenericEventEmitter.ts:24

Type Parameters

K extends EventKey<ClientBuilderEvents>

Parameters

eventName

K

parameter?

ClientBuilderEvents[K]

Returns

void

Inherited from

GenericEventEmitter.emit


generateHEventBridgeClient()

generateHEventBridgeClient(serviceDefinition): Promise<void>

Defined in: packages/core/src/ClientBuilder/ClientBuilder.impl.ts:708

Generates the zero-dependency HTTP client source files

Parameters

serviceDefinition

FullServiceDefinition

Returns

Promise<void>


generateHttpClient()

generateHttpClient(serviceDefinition): Promise<void>

Defined in: packages/core/src/ClientBuilder/ClientBuilder.impl.ts:332

Generates the zero-dependency HTTP client source files

Parameters

serviceDefinition

FullServiceDefinition

Returns

Promise<void>


getDefinitionPath()

getDefinitionPath(): string

Defined in: packages/core/src/ClientBuilder/ClientBuilder.impl.ts:126

Resolves the definitions folder path from config with rootPath

Returns

string

path of definitions folder


getDefinitionsFromServiceBuilders()

getDefinitionsFromServiceBuilders(serviceBuilders): Promise<FullServiceDefinition>

Defined in: packages/core/src/ClientBuilder/ClientBuilder.impl.ts:100

Gets the definitions from the provided service builders

Parameters

serviceBuilders

ServiceBuilder<ServiceBuilderTypes>[]

Returns

Promise<FullServiceDefinition>


getOutputPath()

getOutputPath(): string

Defined in: packages/core/src/ClientBuilder/ClientBuilder.impl.ts:134

Resolves the output folder path from config with rootPath

Returns

string

path of output folder


loadConfig()

loadConfig(path?): Promise<void>

Defined in: packages/core/src/ClientBuilder/ClientBuilder.impl.ts:78

Loads the config fom JSON file. If no path is provided, it will try to load the config from purista.client.json in rootPath directory

Parameters

path?

string

Returns

Promise<void>


loadDefinitionFiles()

loadDefinitionFiles(path?): Promise<FullServiceDefinition>

Defined in: packages/core/src/ClientBuilder/ClientBuilder.impl.ts:299

Loads the definitions from JSON files

Parameters

path?

string

Returns

Promise<FullServiceDefinition>


off()

off<K>(eventName, fn): void

Defined in: packages/core/src/core/types/GenericEventEmitter.ts:20

Type Parameters

K extends EventKey<ClientBuilderEvents>

Parameters

eventName

K

fn

EventReceiver<ClientBuilderEvents[K]>

Returns

void

Inherited from

GenericEventEmitter.off


on()

on<K>(eventName, fn): void

Defined in: packages/core/src/core/types/GenericEventEmitter.ts:16

Type Parameters

K extends EventKey<ClientBuilderEvents>

Parameters

eventName

K

fn

EventReceiver<ClientBuilderEvents[K]>

Returns

void

Inherited from

GenericEventEmitter.on


removeAllListeners()

removeAllListeners(): void

Defined in: packages/core/src/core/types/GenericEventEmitter.ts:28

Returns

void

Inherited from

GenericEventEmitter.removeAllListeners


writeConfig()

writeConfig(path?): Promise<void>

Defined in: packages/core/src/ClientBuilder/ClientBuilder.impl.ts:117

Writes the config to a config file. Defaults to purista.client.json in rootPath directory

Parameters

path?

string

Returns

Promise<void>