The Baseclient library pulls together the core set of libraries required by the various components of DRA2020A. This includes:
- the nodejs hosted server
- serverless lambda functions
- command line utilities run under nodejs
- client application (browser-hosted) runtime
These libraries are all packaged in this repository. Normally they are included like this:
import { Util, Poly } from '@dra2020/baseclient';
Then the various functions of the different sets are available under their appropriate symbol.
These libraries are used across both client and server:
- Util: A set of fairly vanilla JavaScript utility functions.
- Poly: A set of functions for processing polygons, typically in GeoJSON format.
- Context: A set of functions for interrogating the context supplied to the application, either as
- FSM: A set of functions for managing asynchronous, chainable finite state machines.
- DataFlow: A set of classes for managing synchronous, chainable dataflow.
- LogAbstract: An abstract logging interface. Different implementations are used on client and server.
- LogClient: A client implementation of the logging abstract interface.
- OT: An Operational Transformation implementation, used as the basis for all content editing.
- OTE: A set of utility functions for creating OT edits.
- FilterExpr: A class for parsing and executing a filter expression against an array of objects.