LogoRobo.js
Framework

PluginManager

Class: PluginManager

Plugin Manager - handles plugin lifecycle, middleware, and extensions.

Constructors

new PluginManager()

new PluginManager(): PluginManager

Returns

PluginManager

Methods

applyPendingMarks()

applyPendingMarks(model): void

Apply pending model marks to a newly registered model.

Parameters

ParameterType
modelFlashcoreModel<{ id: string; }>

Returns

void


clear()

clear(): void

Clear all plugins (for testing).

Returns

void


getAllClientExtensions()

getAllClientExtensions(): Record<string, Record<string, unknown>>

Get all client extensions (for Flashcore.$).

Returns

Record<string, Record<string, unknown>>


getClientExtensions()

getClientExtensions(name): Record<string, unknown>

Get client extensions for a plugin.

Parameters

ParameterType
namestring

Returns

Record<string, unknown>


getCustomIndexes()

getCustomIndexes(model): {
  field: string;
  indexType: string;
  provider: IndexProvider<unknown>;
 }[]

Get custom indexes registered for a model.

Parameters

ParameterType
modelstring

Returns

{ field: string; indexType: string; provider: IndexProvider<unknown>; }[]


getIndexProvider()

getIndexProvider(indexType): IndexProvider<unknown>

Get an index provider by type.

Parameters

ParameterType
indexTypestring

Returns

IndexProvider<unknown>


getMiddlewareChain()

getMiddlewareChain<Op>(operation): {
  fn: MiddlewareFn<Op>;
  plugin: PluginContext;
 }[]

Get middleware chain for an operation.

Type Parameters

Type Parameter
Op extends OperationType

Parameters

ParameterType
operationOp

Returns

{ fn: MiddlewareFn<Op>; plugin: PluginContext; }[]


getModelExtensions()

getModelExtensions(): Record<string, unknown>

Get model extensions from all plugins.

Returns

Record<string, unknown>


getPluginContext()

getPluginContext(name): PluginContext

Get plugin context by name.

Parameters

ParameterType
namestring

Returns

PluginContext


getPluginNames()

getPluginNames(): string[]

Get all registered plugin names.

Returns

string[]


getQueryOperator()

getQueryOperator(operator): {
  context: PluginContext;
  fn: QueryOperatorFn;
}

Get a query operator.

Parameters

ParameterType
operatorstring

Returns

{
  context: PluginContext;
  fn: QueryOperatorFn;
}
NameType
contextPluginContext
fnQueryOperatorFn

hasMiddleware()

hasMiddleware(operation): boolean

Check if an operation has middleware.

Parameters

ParameterType
operationOperationType

Returns

boolean


init()

init(options): void

Initialize the plugin manager with model access functions.

Parameters

ParameterType
options{ getModel: <T>(name) => FlashcoreModel<T>; models: Map<string, FlashcoreModel<{ id: string; }>>; registerModel: <T>(name, schema) => FlashcoreModel<T>; }
options.getModel<T>(name) => FlashcoreModel<T>
options.modelsMap<string, FlashcoreModel<{ id: string; }>>
options.registerModel<T>(name, schema) => FlashcoreModel<T>

Returns

void


register()

register(plugin): void

Register a plugin.

Parameters

ParameterType
pluginFlashcorePluginDefinition<Record<string, unknown>, Record<string, unknown>, Record<string, unknown>>

Returns

void


setup()

setup(): Promise<void>

Run setup() for all registered plugins.

Returns

Promise<void>


setupPlugin()

setupPlugin(plugin): Promise<void>

Run setup() for a single plugin. Used for runtime plugin registration via Flashcore.extend().

Parameters

ParameterType
pluginFlashcorePluginDefinition<Record<string, unknown>, Record<string, unknown>, Record<string, unknown>>

Returns

Promise<void>


shutdown()

shutdown(): Promise<void>

Run shutdown() for all registered plugins.

Returns

Promise<void>

On this page