@xylabs/creatable
v5.0.65
Published
Base functionality used throughout XY Labs TypeScript/JavaScript libraries
Keywords
Readme
@xylabs/creatable
Base functionality used throughout XY Labs TypeScript/JavaScript libraries
Reference
@xylabs/creatable
Classes
Interfaces
- CreatableFactory
- Creatable
- CreatableWithFactory
- CreatableInstance
- CreatableParams
- CreatableStatusReporter
- Labels
- WithLabels
- WithOptionalLabels
Type Aliases
Functions
classes
AbstractCreatable
Extends
BaseEmitter<Partial<TParams>,TEventData>
Extended by
Type Parameters
TParams
TParams extends CreatableParams = CreatableParams
TEventData
TEventData extends EventData = EventData
Constructors
Constructor
new AbstractCreatable<TParams, TEventData>(key, params): AbstractCreatable<TParams, TEventData>;Parameters
key
unknown
params
Partial<TParams>
Returns
AbstractCreatable<TParams, TEventData>
Overrides
BaseEmitter<Partial<TParams>, TEventData>.constructorProperties
defaultLogger?
static optional defaultLogger: Logger;Inherited from
BaseEmitter.defaultLoggerglobalInstances
readonly static globalInstances: Record<BaseClassName, WeakRef<Base>[]>;Inherited from
BaseEmitter.globalInstancesglobalInstancesCountHistory
readonly static globalInstancesCountHistory: Record<BaseClassName, number[]>;Inherited from
BaseEmitter.globalInstancesCountHistoryuniqueName
readonly static uniqueName: string;Inherited from
BaseEmitter.uniqueNamedefaultLogger?
optional defaultLogger: Logger;eventData
eventData: TEventData;Inherited from
BaseEmitter.eventDataAccessors
historyInterval
Get Signature
get static historyInterval(): number;Returns
number
Set Signature
set static historyInterval(value): void;Parameters
value
number
Returns
void
Inherited from
BaseEmitter.historyIntervalhistoryTime
Get Signature
get static historyTime(): number;Returns
number
Set Signature
set static historyTime(value): void;Parameters
value
number
Returns
void
Inherited from
BaseEmitter.historyTimemaxGcFrequency
Get Signature
get static maxGcFrequency(): number;Returns
number
Set Signature
set static maxGcFrequency(value): void;Parameters
value
number
Returns
void
Inherited from
BaseEmitter.maxGcFrequencymaxHistoryDepth
Get Signature
get static maxHistoryDepth(): number;Returns
number
Inherited from
BaseEmitter.maxHistoryDepthlogger
Get Signature
get logger(): undefined | Logger;Returns
undefined | Logger
Inherited from
BaseEmitter.loggermeter
Get Signature
get meter(): undefined | Meter;Returns
undefined | Meter
Inherited from
BaseEmitter.metertracer
Get Signature
get tracer(): undefined | Tracer;Returns
undefined | Tracer
Inherited from
BaseEmitter.tracername
Get Signature
get name(): string;Returns
string
params
Get Signature
get params(): TParams;Returns
TParams
Overrides
BaseEmitter.paramsstatusReporter
Get Signature
get statusReporter():
| undefined
| CreatableStatusReporter<void>;Returns
| undefined
| CreatableStatusReporter<void>
Methods
gc()
Call Signature
static gc(force?): void;Parameters
force?
boolean
Returns
void
Inherited from
BaseEmitter.gcCall Signature
static gc(className): void;Parameters
className
string
Returns
void
Inherited from
BaseEmitter.gcinstanceCount()
static instanceCount(className): number;Parameters
className
string
Returns
number
Inherited from
BaseEmitter.instanceCountinstanceCounts()
static instanceCounts(): Record<BaseClassName, number>;Returns
Record<BaseClassName, number>
Inherited from
BaseEmitter.instanceCountsstartHistory()
static startHistory(): void;Returns
void
Inherited from
BaseEmitter.startHistorystopHistory()
static stopHistory(): void;Returns
void
Inherited from
BaseEmitter.stopHistorycreate()
static create<T>(this, inParams): Promise<T>;Type Parameters
T
T extends CreatableInstance<CreatableParams, EventData>
Parameters
this
Creatable<T>
inParams
Partial<T["params"]> = {}
Returns
Promise<T>
createHandler()
static createHandler<T>(this, instance): Promisable<T>;Type Parameters
T
T extends CreatableInstance<CreatableParams, EventData>
Parameters
this
Creatable<T>
instance
T
Returns
Promisable<T>
paramsHandler()
static paramsHandler<T>(this, params): Promisable<T["params"]>;Type Parameters
T
T extends CreatableInstance<CreatableParams, EventData>
Parameters
this
Creatable<T>
params
Partial<T["params"]> = {}
Returns
Promisable<T["params"]>
createHandler()
createHandler(): Promisable<void>;Returns
Promisable<void>
paramsValidator()
paramsValidator(params): TParams;Parameters
params
Partial<TParams>
Returns
TParams
start()
start(): Promise<boolean>;Returns
Promise<boolean>
stop()
stop(): Promise<boolean>;Returns
Promise<boolean>
_noOverride()
protected _noOverride(functionName): void;Parameters
functionName
string = ...
Returns
void
startHandler()
protected startHandler(): Promisable<void>;Returns
Promisable<void>
stopHandler()
protected stopHandler(): Promisable<void>;Returns
Promisable<void>
clearListeners()
clearListeners(eventNames): this;Parameters
eventNames
keyof TEventData | keyof TEventData[]
Returns
this
Inherited from
BaseEmitter.clearListenersemit()
emit<TEventName, TEventArgs>(eventName, eventArgs): Promise<void>;Type Parameters
TEventName
TEventName extends string | number | symbol = keyof TEventData
TEventArgs
TEventArgs extends EventArgs = TEventData[TEventName]
Parameters
eventName
TEventName
eventArgs
TEventArgs
Returns
Promise<void>
Inherited from
BaseEmitter.emitemitSerial()
emitSerial<TEventName, TEventArgs>(eventName, eventArgs): Promise<void>;Type Parameters
TEventName
TEventName extends string | number | symbol = keyof TEventData
TEventArgs
TEventArgs extends EventArgs = TEventData[TEventName]
Parameters
eventName
TEventName
eventArgs
TEventArgs
Returns
Promise<void>
Inherited from
BaseEmitter.emitSeriallistenerCount()
listenerCount(eventNames): number;Parameters
eventNames
keyof TEventData | keyof TEventData[]
Returns
number
Inherited from
BaseEmitter.listenerCountoff()
off<TEventName>(eventNames, listener): void;Type Parameters
TEventName
TEventName extends string | number | symbol
Parameters
eventNames
TEventName | TEventName[]
listener
EventListener<TEventData[TEventName]>
Returns
void
Inherited from
BaseEmitter.offoffAny()
offAny(listener): void;Parameters
listener
EventAnyListener
Returns
void
Inherited from
BaseEmitter.offAnyon()
on<TEventName>(eventNames, listener): () => void;Type Parameters
TEventName
TEventName extends string | number | symbol
Parameters
eventNames
TEventName | TEventName[]
listener
EventListener<TEventData[TEventName]>
Returns
(): void;Returns
void
Inherited from
BaseEmitter.ononAny()
onAny(listener): () => void;Parameters
listener
EventAnyListener
Returns
(): void;Returns
void
Inherited from
BaseEmitter.onAnyonce()
once<TEventName>(eventName, listener): () => void;Type Parameters
TEventName
TEventName extends string | number | symbol
Parameters
eventName
TEventName
listener
EventListener<TEventData[TEventName]>
Returns
(): void;Returns
void
Inherited from
BaseEmitter.onceAbstractCreatableWithFactory
Extends
AbstractCreatable<TParams,TEventData>
Type Parameters
TParams
TParams extends CreatableParams = CreatableParams
TEventData
TEventData extends EventData = EventData
Constructors
Constructor
new AbstractCreatableWithFactory<TParams, TEventData>(key, params): AbstractCreatableWithFactory<TParams, TEventData>;Parameters
key
unknown
params
Partial<TParams>
Returns
AbstractCreatableWithFactory<TParams, TEventData>
Inherited from
Properties
defaultLogger?
static optional defaultLogger: Logger;Inherited from
AbstractCreatable.defaultLogger
globalInstances
readonly static globalInstances: Record<BaseClassName, WeakRef<Base>[]>;Inherited from
AbstractCreatable.globalInstances
globalInstancesCountHistory
readonly static globalInstancesCountHistory: Record<BaseClassName, number[]>;Inherited from
AbstractCreatable.globalInstancesCountHistory
uniqueName
readonly static uniqueName: string;Inherited from
defaultLogger?
optional defaultLogger: Logger;Inherited from
AbstractCreatable.defaultLogger
eventData
eventData: TEventData;Inherited from
Accessors
historyInterval
Get Signature
get static historyInterval(): number;Returns
number
Set Signature
set static historyInterval(value): void;Parameters
value
number
Returns
void
Inherited from
AbstractCreatable.historyInterval
historyTime
Get Signature
get static historyTime(): number;Returns
number
Set Signature
set static historyTime(value): void;Parameters
value
number
Returns
void
Inherited from
maxGcFrequency
Get Signature
get static maxGcFrequency(): number;Returns
number
Set Signature
set static maxGcFrequency(value): void;Parameters
value
number
Returns
void
Inherited from
AbstractCreatable.maxGcFrequency
maxHistoryDepth
Get Signature
get static maxHistoryDepth(): number;Returns
number
Inherited from
AbstractCreatable.maxHistoryDepth
logger
Get Signature
get logger(): undefined | Logger;Returns
undefined | Logger
Inherited from
meter
Get Signature
get meter(): undefined | Meter;Returns
undefined | Meter
Inherited from
tracer
Get Signature
get tracer(): undefined | Tracer;Returns
undefined | Tracer
Inherited from
name
Get Signature
get name(): string;Returns
string
Inherited from
params
Get Signature
get params(): TParams;Returns
TParams
Inherited from
statusReporter
Get Signature
get statusReporter():
| undefined
| CreatableStatusReporter<void>;Returns
| undefined
| CreatableStatusReporter<void>
Inherited from
AbstractCreatable.statusReporter
Methods
gc()
Call Signature
static gc(force?): void;Parameters
force?
boolean
Returns
void
Inherited from
Call Signature
static gc(className): void;Parameters
className
string
Returns
void
Inherited from
instanceCount()
static instanceCount(className): number;Parameters
className
string
Returns
number
Inherited from
AbstractCreatable.instanceCount
instanceCounts()
static instanceCounts(): Record<BaseClassName, number>;Returns
Record<BaseClassName, number>
Inherited from
AbstractCreatable.instanceCounts
startHistory()
static startHistory(): void;Returns
void
Inherited from
AbstractCreatable.startHistory
stopHistory()
static stopHistory(): void;Returns
void
Inherited from
create()
static create<T>(this, inParams): Promise<T>;Type Parameters
T
T extends CreatableInstance<CreatableParams, EventData>
Parameters
this
Creatable<T>
inParams
Partial<T["params"]> = {}
Returns
Promise<T>
Inherited from
createHandler()
static createHandler<T>(this, instance): Promisable<T>;Type Parameters
T
T extends CreatableInstance<CreatableParams, EventData>
Parameters
this
Creatable<T>
instance
T
Returns
Promisable<T>
Inherited from
AbstractCreatable.createHandler
paramsHandler()
static paramsHandler<T>(this, params): Promisable<T["params"]>;Type Parameters
T
T extends CreatableInstance<CreatableParams, EventData>
Parameters
this
Creatable<T>
params
Partial<T["params"]> = {}
Returns
Promisable<T["params"]>
Inherited from
AbstractCreatable.paramsHandler
createHandler()
createHandler(): Promisable<void>;Returns
Promisable<void>
Inherited from
AbstractCreatable.createHandler
paramsValidator()
paramsValidator(params): TParams;Parameters
params
Partial<TParams>
Returns
TParams
Inherited from
AbstractCreatable.paramsValidator
start()
start(): Promise<boolean>;Returns
Promise<boolean>
Inherited from
stop()
stop(): Promise<boolean>;Returns
Promise<boolean>
Inherited from
_noOverride()
protected _noOverride(functionName): void;Parameters
functionName
string = ...
Returns
void
Inherited from
startHandler()
protected startHandler(): Promisable<void>;Returns
Promisable<void>
Inherited from
AbstractCreatable.startHandler
stopHandler()
protected stopHandler(): Promisable<void>;Returns
Promisable<void>
Inherited from
factory()
static factory<T>(
this,
params?,
labels?): CreatableFactory<T>;Type Parameters
T
T extends CreatableInstance<CreatableParams, EventData>
Parameters
this
Creatable<T>
params?
Partial<T["params"]>
labels?
Returns
clearListeners()
clearListeners(eventNames): this;Parameters
eventNames
keyof TEventData | keyof TEventData[]
Returns
this
Inherited from
AbstractCreatable.clearListeners
emit()
emit<TEventName, TEventArgs>(eventName, eventArgs): Promise<void>;Type Parameters
TEventName
TEventName extends string | number | symbol = keyof TEventData
TEventArgs
TEventArgs extends EventArgs = TEventData[TEventName]
Parameters
eventName
TEventName
eventArgs
TEventArgs
Returns
Promise<void>
Inherited from
emitSerial()
emitSerial<TEventName, TEventArgs>(eventName, eventArgs): Promise<void>;Type Parameters
TEventName
TEventName extends string | number | symbol = keyof TEventData
TEventArgs
TEventArgs extends EventArgs = TEventData[TEventName]
Parameters
eventName
TEventName
eventArgs
TEventArgs
Returns
Promise<void>
Inherited from
listenerCount()
listenerCount(eventNames): number;Parameters
eventNames
keyof TEventData | keyof TEventData[]
Returns
number
Inherited from
AbstractCreatable.listenerCount
off()
off<TEventName>(eventNames, listener): void;Type Parameters
TEventName
TEventName extends string | number | symbol
Parameters
eventNames
TEventName | TEventName[]
listener
EventListener<TEventData[TEventName]>
Returns
void
Inherited from
offAny()
offAny(listener): void;Parameters
listener
EventAnyListener
Returns
void
Inherited from
on()
on<TEventName>(eventNames, listener): () => void;Type Parameters
TEventName
TEventName extends string | number | symbol
Parameters
eventNames
TEventName | TEventName[]
listener
EventListener<TEventData[TEventName]>
Returns
(): void;Returns
void
Inherited from
onAny()
onAny(listener): () => void;Parameters
listener
EventAnyListener
Returns
(): void;Returns
void
Inherited from
once()
once<TEventName>(eventName, listener): () => void;Type Parameters
TEventName
TEventName extends string | number | symbol
Parameters
eventName
TEventName
listener
EventListener<TEventData[TEventName]>
Returns
(): void;Returns
void
Inherited from
Factory
Type Parameters
T
T extends CreatableInstance = CreatableInstance
Implements
Constructors
Constructor
new Factory<T>(
creatable,
params?,
labels?): Factory<T>;Parameters
creatable
Creatable<T>
params?
Partial<T["params"]>
labels?
Labels = {}
Returns
Factory<T>
Properties
creatable
creatable: Creatable<T>;defaultParams?
optional defaultParams: Partial<T["params"]>;labels?
optional labels: Labels;Methods
withParams()
static withParams<T>(
creatableModule,
params?,
labels?): Factory<T>;Type Parameters
T
T extends CreatableInstance<CreatableParams, EventData>
Parameters
creatableModule
Creatable<T>
params?
Partial<T["params"]>
labels?
Labels = {}
Returns
Factory<T>
create()
create(params?): Promise<T>;Parameters
params?
Partial<T["params"]>
Returns
Promise<T>
Implementation of
functions
creatable
function creatable<T>(): <U>(constructor) => void;Class annotation to be used to decorate Modules which support an asynchronous creation pattern
Type Parameters
T
T extends CreatableInstance<CreatableParams, EventData>
Returns
The decorated Module requiring it implement the members of the CreatableModule as statics properties/methods
<U>(constructor): void;Type Parameters
U
U extends Creatable<T>
Parameters
constructor
U
Returns
void
creatableFactory
function creatableFactory(): <U>(constructor) => void;Class annotation to be used to decorate Modules which support an asynchronous creation factory pattern
Returns
The decorated Module requiring it implement the members of the CreatableModule as statics properties/methods
<U>(constructor): void;Type Parameters
U
U extends CreatableFactory<CreatableInstance<CreatableParams, EventData>>
Parameters
constructor
U
Returns
void
hasAllLabels
function hasAllLabels(source?, required?): boolean;Returns true if the source object has all the labels from the required set
Parameters
source?
Source object to check against
required?
Set of labels to check for in source
Returns
boolean
True of the source object has all the labels from the required set
interfaces
Creatable
Extended by
Type Parameters
T
T extends CreatableInstance = CreatableInstance
Constructors
Constructor
new Creatable(key, params): T & AbstractCreatable<T["params"], EventData>;Parameters
key
unknown
params
Partial<CreatableParams>
Returns
T & AbstractCreatable<T["params"], EventData>
Properties
defaultLogger?
optional defaultLogger: Logger;Methods
create()
create<T>(this, params?): Promise<T>;Type Parameters
T
T extends CreatableInstance<CreatableParams, EventData>
Parameters
this
Creatable<T>
params?
Partial<T["params"]>
Returns
Promise<T>
createHandler()
createHandler<T>(this, instance): Promisable<T>;Type Parameters
T
T extends CreatableInstance<CreatableParams, EventData>
Parameters
this
Creatable<T>
instance
T
Returns
Promisable<T>
paramsHandler()
paramsHandler<T>(this, params?): Promisable<T["params"]>;Type Parameters
T
T extends CreatableInstance<CreatableParams, EventData>
Parameters
this
Creatable<T>
params?
Partial<T["params"]>
Returns
Promisable<T["params"]>
CreatableFactory
Extends
Omit<Creatable<T>, |"create"|"createHandler"|"paramsHandler"|"defaultLogger"|"factory">
Type Parameters
T
T extends CreatableInstance = CreatableInstance
Methods
create()
create(this, params?): Promise<T>;Parameters
this
CreatableFactory<T>
params?
Partial<T["params"]>
Returns
Promise<T>
CreatableInstance
Extends
EventEmitter<TEventData>
Type Parameters
TParams
TParams extends CreatableParams = CreatableParams
TEventData
TEventData extends EventData = EventData
Properties
eventData
eventData: TEventData;Overrides
EventEmitter.eventDataname
name: string;params
params: TParams;Methods
clearListeners()
clearListeners(eventNames): void;Parameters
eventNames
keyof TEventData | keyof TEventData[]
Returns
void
Inherited from
EventEmitter.clearListenersemit()
emit<TEventName>(eventName, eventArgs): Promise<void>;Type Parameters
TEventName
TEventName extends string | number | symbol
Parameters
eventName
TEventName
eventArgs
TEventData[TEventName]
Returns
Promise<void>
Inherited from
EventEmitter.emitemitSerial()
emitSerial<TEventName>(eventName, eventArgs): Promise<void>;Type Parameters
TEventName
TEventName extends string | number | symbol
Parameters
eventName
TEventName
eventArgs
TEventData[TEventName]
Returns
Promise<void>
Inherited from
EventEmitter.emitSeriallistenerCount()
listenerCount(eventNames): number;Parameters
eventNames
keyof TEventData | keyof TEventData[]
Returns
number
Inherited from
EventEmitter.listenerCountoff()
off<TEventName>(eventNames, listener): void;Type Parameters
TEventName
TEventName extends string | number | symbol
Parameters
eventNames
TEventName | TEventName[]
listener
EventListener<TEventData[TEventName]>
Returns
void
Inherited from
EventEmitter.offoffAny()
offAny(listener): void;Parameters
listener
Promise<void> | EventAnyListener
Returns
void
Inherited from
EventEmitter.offAnyon()
on<TEventName>(eventNames, listener): EventUnsubscribeFunction;Type Parameters
TEventName
TEventName extends string | number | symbol
Parameters
eventNames
TEventName | TEventName[]
listener
EventListener<TEventData[TEventName]>
Returns
EventUnsubscribeFunction
Inherited from
EventEmitter.ononAny()
onAny(listener): EventUnsubscribeFunction;Parameters
listener
EventAnyListener
Returns
EventUnsubscribeFunction
Inherited from
EventEmitter.onAnyonce()
once<TEventName>(eventName, listener): EventUnsubscribeFunction;Type Parameters
TEventName
TEventName extends string | number | symbol
Parameters
eventName
TEventName
listener
EventListener<TEventData[TEventName]>
Returns
EventUnsubscribeFunction
Inherited from
EventEmitter.onceCreatableParams
Extends
BaseEmitterParams
Properties
logger?
optional logger: Logger;Inherited from
BaseEmitterParams.loggermeterProvider?
optional meterProvider: MeterProvider;Inherited from
BaseEmitterParams.meterProvidertraceProvider?
optional traceProvider: TracerProvider;Inherited from
BaseEmitterParams.traceProvidername?
optional name: string;statusReporter?
optional statusReporter: CreatableStatusReporter<void>;CreatableStatusReporter
Type Parameters
T
T extends void | string = void
Methods
report()
Call Signature
report(
name,
status,
progress?): void;Parameters
name
string
status
Exclude<T extends void ? CreatableStatus : T | CreatableStatus, "error">
progress?
number
Returns
void
Call Signature
report(
name,
status,
error?): void;Parameters
name
string
status
Extract<T extends void ? CreatableStatus : T | CreatableStatus, "error">
error?
Error
Returns
void
CreatableWithFactory
Extends
Creatable<T>
Type Parameters
T
T extends CreatableInstance = CreatableInstance
Constructors
Constructor
new CreatableWithFactory(key, params): T & AbstractCreatable<T["params"], EventData>;Parameters
key
unknown
params
Partial<CreatableParams>
Returns
T & AbstractCreatable<T["params"], EventData>
Inherited from
Properties
defaultLogger?
optional defaultLogger: Logger;Inherited from
Methods
create()
create<T>(this, params?): Promise<T>;Type Parameters
T
T extends CreatableInstance<CreatableParams, EventData>
Parameters
this
Creatable<T>
params?
Partial<T["params"]>
Returns
Promise<T>
Inherited from
createHandler()
createHandler<T>(this, instance): Promisable<T>;Type Parameters
T
T extends CreatableInstance<CreatableParams, EventData>
Parameters
this
Creatable<T>
instance
T
Returns
Promisable<T>
Inherited from
paramsHandler()
paramsHandler<T>(this, params?): Promisable<T["params"]>;Type Parameters
T
T extends CreatableInstance<CreatableParams, EventData>
Parameters
this
Creatable<T>
params?
Partial<T["params"]>
Returns
Promisable<T["params"]>
Inherited from
factory()
factory<T>(
this,
params?,
labels?): CreatableFactory<T>;Type Parameters
T
T extends CreatableInstance<CreatableParams, EventData>
Parameters
this
Creatable<T>
params?
Partial<T["params"]>
labels?
Returns
Labels
Object used to represent labels identifying a resource.
Indexable
[key: string]: undefined | stringWithLabels
Interface for objects that have labels.
Type Parameters
T
Properties
labels
labels: T;WithOptionalLabels
Interface for objects that have labels.
Type Parameters
T
Properties
labels?
optional labels: T;type-aliases
CreatableName
type CreatableName = Exclude<string, "creatable-name-reserved-32546239486"> & BaseClassName;CreatableStatus
type CreatableStatus =
| "creating"
| "created"
| "starting"
| "started"
| "stopping"
| "stopped"
| "error";Part of sdk-js
Maintainers
License
See the LICENSE file for license details
