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
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?
Returns
void
Inherited from
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
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
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
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
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
>