AbstractService
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
readonlyname:string
Defined in: packages/core/src/services/iservice.ts:35
parameters
readonlyparameters:T
Defined in: packages/core/src/services/iservice.ts:36
createConfiguration?
staticoptionalcreateConfiguration?: (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?
staticoptionalfilterConfiguration?: (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
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()
abstractgetName():string
Defined in: packages/core/src/services/iservice.ts:107
Get the name of the service
Returns
string
Deprecated
use name directly
getOpenApiReplacements()
abstractgetOpenApiReplacements():object
Defined in: packages/core/src/services/iservice.ts:115
Get OpenAPI replacements
Returns
object
getState()
abstractgetState():string
Defined in: packages/core/src/services/iservice.ts:101
Return the state of initialization
Returns
string
init()
abstractinit():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
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
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
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()
abstractresolve():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()
abstractstop():Promise<void>
Defined in: packages/core/src/services/iservice.ts:111
Stop the service
Returns
Promise<void>