This package provides tools to define FT app context data and a JSON schema definition to validate it with. It is used to define and distribute useful information to other components including ads and tracking.
To learn more about why this feature exists please review the design document. To find out which properties can be defined please refer to the app context schema.
If you want to share application specific data with the client, consider using @financial-times/dotcom-ui-data-embed.
This package is compatible with Node 12+ and is distributed on npm.
npm install -S @financial-times/dotcom-server-app-context
This package provides a single class which can be configured using options:
import { AppContext } from '@financial-times/dotcom-server-app-context'
const appContext = new AppContext()
The app context instance provides methods to get and set app context data:
appContext.set('appName', 'my-application')
const property = appContext.get('appName') // "my-application"
const contextData = appContext.getAll() // { appName: "my-application" }
Returns the value of the requested property.
Sets the value of the specified property. The provided value will be validated against the app context schema. If the value is invalid this method will throw an error.
Returns an immutable copy of the app context data.
The AppContext
class accepts the following parameters. All parameters are optional:
An app context data object, see the app context schema for more information. Defaults to {}
.