Skip to main content

AbstractService

@webda/core


Abstract Class: AbstractService<T, E>

Defined in: packages/core/src/services/iservice.ts:30

Represent a Webda service

Extends​

Extended by​

Type Parameters​

T​

T extends ServiceParameters = ServiceParameters

E​

E extends AsyncEventUnknown = { }

Constructors​

Constructor​

new AbstractService<T, E>(name, params): AbstractService<T, E>

Defined in: packages/core/src/services/iservice.ts:64

Create a new AbstractService

Parameters​

name​

string

the service name

params​

T | JSONed<T>

the service parameters

Returns​

AbstractService<T, E>

Overrides​

AsyncEventEmitterImpl.constructor

Properties​

_compiledCapabilities​

protected _compiledCapabilities: Record<string, any> = {}

Defined in: packages/core/src/services/iservice.ts:58

Capabilities detected at compile-time from @WebdaCapability-tagged interfaces.

Populated during Service.resolve by reading the service's entry in webda.module.json. Each key is a capability name (e.g., "request-filter"), and the value is an empty object {} by default. Override getCapabilities to provide capability-specific configuration or to conditionally disable capabilities.

See​

getCapabilities


name​

readonly name: string

Defined in: packages/core/src/services/iservice.ts:35


parameters​

readonly parameters: T

Defined in: packages/core/src/services/iservice.ts:36


createConfiguration?​

static optional createConfiguration?: (params) => any

Defined in: packages/core/src/services/iservice.ts:41

Create configuration set by the application on load

Parameters​

params​

any

Returns​

any


filterConfiguration?​

static optional filterConfiguration?: (params) => any

Defined in: packages/core/src/services/iservice.ts:46

Create configuration set by the application on load

Parameters​

params​

any

Returns​

any

Methods​

addListener()​

addListener<Key>(eventName, listener): this

Defined in: packages/core/src/events/asynceventemitter.ts:83

Type Parameters​

Key​

Key extends string | number | symbol

Parameters​

eventName​

Key

the event name

listener​

(event) => void | Promise<void>

the event listener

Returns​

this

this for chaining

See​

EventEmitter.addListener

Inherited from​

AsyncEventEmitterImpl.addListener


emit()​

emit<Key>(eventName, event): Promise<void>

Defined in: packages/core/src/events/asynceventemitter.ts:165

Emit an event for this class

Instead of returning a boolean, this method returns a Promise so you can decide to wait for the event to be processed or not

Type Parameters​

Key​

Key extends string | number | symbol

Parameters​

eventName​

Key

the event name

event​

E[Key]

the event name

Returns​

Promise<void>

See​

EventEmitter.emit

Inherited from​

AsyncEventEmitterImpl.emit


getCapabilities()​

getCapabilities(): Record<string, any>

Defined in: packages/core/src/services/iservice.ts:86

Return the capabilities of this service.

By default returns capabilities detected at compile-time from

Returns​

Record<string, any>

the result

Webda Capability-tagged​

interfaces in webda.module.json.

Override to disable capabilities based on configuration:

getCapabilities() {
const caps = super.getCapabilities();
if (!this.parameters.enabled) delete caps["request-filter"];
return caps;
}

getMaxListeners()​

getMaxListeners(): number

Defined in: packages/core/src/events/asynceventemitter.ts:90

Returns​

number

Inherited from​

AsyncEventEmitterImpl.getMaxListeners


getName()​

abstract getName(): string

Defined in: packages/core/src/services/iservice.ts:107

Get the name of the service

Returns​

string

Deprecated​

use name directly


getOpenApiReplacements()​

abstract getOpenApiReplacements(): object

Defined in: packages/core/src/services/iservice.ts:115

Get OpenAPI replacements

Returns​

object


getState()​

abstract getState(): string

Defined in: packages/core/src/services/iservice.ts:101

Return the state of initialization

Returns​

string


init()​

abstract init(): Promise<AbstractService<T, E>>

Defined in: packages/core/src/services/iservice.ts:93

Initialize the service

Returns​

Promise<AbstractService<T, E>>


listeners()​

listeners(eventName): Function[]

Defined in: packages/core/src/events/asynceventemitter.ts:183

Get all listeners for an event

Parameters​

eventName​

keyof E

the event name

Returns​

Function[]

the list of results

Inherited from​

AsyncEventEmitterImpl.listeners


off()​

off<Key>(eventName, listener): this

Defined in: packages/core/src/events/asynceventemitter.ts:141

Type Parameters​

Key​

Key extends string | number | symbol

Parameters​

eventName​

Key

the event name

listener​

(event) => void

the event listener

Returns​

this

this for chaining

See​

EventEmitter.off

Inherited from​

AsyncEventEmitterImpl.off


on()​

on<Key>(eventName, listener): this

Defined in: packages/core/src/events/asynceventemitter.ts:119

Type Parameters​

Key​

Key extends string | number | symbol

Parameters​

eventName​

Key

the event name

listener​

(event) => void

the event listener

Returns​

this

this for chaining

See​

EventEmitter.once

Inherited from​

AsyncEventEmitterImpl.on


once()​

once<Key>(eventName, listener): this

Defined in: packages/core/src/events/asynceventemitter.ts:108

Type Parameters​

Key​

Key extends string | number | symbol

Parameters​

eventName​

Key

the event name

listener​

(event) => void

the event listener

Returns​

this

this for chaining

See​

EventEmitter.once

Inherited from​

AsyncEventEmitterImpl.once


removeAllListeners()​

removeAllListeners<Key>(eventName?): this

Defined in: packages/core/src/events/asynceventemitter.ts:150

Type Parameters​

Key​

Key extends string | number | symbol

Parameters​

eventName?​

Key

the event name

Returns​

this

this for chaining

See​

EventEmitter.removeAllListeners

Inherited from​

AsyncEventEmitterImpl.removeAllListeners


removeListener()​

removeListener<Key>(eventName, listener): this

Defined in: packages/core/src/events/asynceventemitter.ts:130

Type Parameters​

Key​

Key extends string | number | symbol

Parameters​

eventName​

Key

the event name

listener​

(event) => void

the event listener

Returns​

this

this for chaining

See​

EventEmitter.removeListener

Inherited from​

AsyncEventEmitterImpl.removeListener


resolve()​

abstract resolve(): this

Defined in: packages/core/src/services/iservice.ts:97

All services should be able to resolve themselves

Returns​

this


setMaxListeners()​

setMaxListeners(n): this

Defined in: packages/core/src/events/asynceventemitter.ts:97

Parameters​

n​

number

Returns​

this

Inherited from​

AsyncEventEmitterImpl.setMaxListeners


stop()​

abstract stop(): Promise<void>

Defined in: packages/core/src/services/iservice.ts:111

Stop the service

Returns​

Promise<void>