MCPcopy Index your code
hub / github.com/esp/esp-js

github.com/esp/esp-js @v8.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v8.1.0 ↗ · + Follow
2,099 symbols 4,612 edges 466 files 76 documented · 4%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Build Status lerna

Evented State Processor (ESP)

ESP gives you the ability to manage changes to a model in a deterministic event driven manner. It does this by adding specific processing workflow around changes to a model's state. It was born out of the need to manage complex UI and/or server state.

At its core is a Router which sits between event publishers and the model. Those wanting to change the model publish events to the Router. The model observes the events and applies the changes. The model is then dispatched to model observers so new state can be applied. It's lightweight, easy to apply and puts the model at the forefront of your design.

ESP 2.0 adds a host of other additional libraries to help you build composite single page application with React. It allows you to use either OO, and/or immutable pattens (Redux like) for modeling independent and decoupled screens within your composite application. Features include:

  • The core event router - esp-js npm
  • Dependency injection container - esp-js-di npm
  • Module loading system and composite application toolbox - esp-js-ui npm
  • React support - esp-js-react npm
  • Immutable state models - esp-js-polimer npm

It's built on typescript and type definitions are included in the npm packages.

For full documentation please see https://esp.github.io/.

Extension points exported contracts — how you extend this code

HealthIndicator (Interface)
(no doc) [12 implementers]
packages/esp-js/src/system/health/healthIndicator.ts
SupportsDisposable (Interface)
(no doc) [12 implementers]
examples/esp-js-di-api/src/examples.ts
CounterMetricWithLabels (Interface)
(no doc) [4 implementers]
packages/esp-js-metrics/src/metrics.ts
StateReaderWriter (Interface)
(no doc) [4 implementers]
packages/esp-js-polimer/src/stateReaderWriter.ts
PreferencesEntity (Interface)
(no doc) [4 implementers]
examples/esp-js-ui-module-based-app/src/common/shell-api/preferences.ts
Resolver (Interface)
(no doc) [3 implementers]
packages/esp-js-di/esp-js-di.d.ts
PrerequisiteRegister (Interface)
(no doc) [2 implementers]
packages/esp-js-ui/src/ui/modules/prerequisites/prerequisiteRegister.ts
RetryPolicyLike (Interface)
(no doc) [2 implementers]
packages/esp-js-rx/src/operators/retryPolicy.ts

Core symbols most depended-on inside this repo

publishEvent
called by 268
packages/esp-js/src/router/devtools/diagnosticMonitor.ts
subscribe
called by 239
packages/esp-js/src/reactive/observable.ts
register
called by 128
packages/esp-js-di/src/container.js
getEventObservable
called by 121
packages/esp-js/src/router/router.ts
observeEvent
called by 111
packages/esp-js/src/decorators/observeEvent.ts
log
called by 105
packages/esp-js/src/system/logging/types.ts
resolve
called by 105
packages/esp-js-di/esp-js-di.d.ts
addModel
called by 101
packages/esp-js/src/router/devtools/diagnosticMonitor.ts

Shape

Method 1,072
Function 446
Class 381
Interface 185
Enum 15

Languages

TypeScript100%

Modules by API surface

packages/esp-js-polimer/tests/testApi/testApi.ts102 symbols
examples/esp-js-api/src/app.ts80 symbols
packages/esp-js/tests/decorators/router.observeEventsOnWithDecorators_ES6_Tests.ts59 symbols
packages/esp-js-metrics/src/metrics.ts55 symbols
examples/esp-js-di-api/src/examples.ts41 symbols
packages/esp-js/src/router/router.ts39 symbols
packages/esp-js-ui/src/ui/regions/models/regionBase.ts39 symbols
packages/esp-js-polimer/tests/testApi/stateHandlers.ts37 symbols
packages/esp-js-ui/tests/health/testMetrics.ts33 symbols
packages/esp-js-rx/src/operators/retryPolicy.ts30 symbols
packages/esp-js-polimer/src/modelBuilderUpdater.ts28 symbols
packages/esp-js/src/router/devtools/reduxDevToolsDiagnosticMonitor.ts26 symbols

For agents

$ claude mcp add esp-js \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact