pear-api v1.6.14
pear-api
Pear API Base & Integration Module
Status: WIP
pear-api
Supplies the API base for the Pear API (https://docs.pears.com/pear-runtime/api).
Typically for extending from for user-interface-runtime purposes:
const Worker = require('pear-api/worker')
class API extends require('pear-api') {
constructor (ipc, state, { worker, teardown } = {}) {
super(ipc, state, { worker, teardown })
this[this.constructor.UI] = new UIAPI()
}
}
const worker = new Worker()
global.Pear = new API(ipc, state, { worker })This creates the usual global.Pear API with the interface-runtime-specific UIAPI stored on a symbolic reference so it can later be exported from interface module entrypoint. The global.Pear.worker API can also be customized by extending pear-api/worker and passing an instance of the extended worker to API.
Integration Libraries
The pear-api module also exposes libraries that provide platform core functionality.
pear-api/constants
Platform constants.
pear-api/errors
Platform error types. Includes known method for checking if error is recognized.
pear-api/crasher
Sets up crash handlers and outputs crash logs to a known location on-disk.
pear-api/logger
Logger class with only error, info, trace log methods, supports log labels and default options honour pear --log* and/or pear run --log* flags.
Options
level<String>- Level to log at. 0,1,2,3 (OFF,ERR,INF,TRC). Overridespear --log-level. Default: 2 ifpear --logelse 0.labels<String>- Labels to log out. Mixes with user definedpear --log-labels.fields<String>- Fields to show/hide.<field>shows,h:<field>hides. Overrides individualpear --log-fieldswith defaulth:time,h:data,level,label,delta.stacks<Boolean>- Print stack traces with all logs. Defaultpear --log-stackselsefalse.pretty<Boolean>- Enables label field if more than 2 labels, disables level field default. Defaultfalse.
Properties
OFF- true if logging is offERR- true if logging is at error levelINF- true if logging is at info levelTRC- true if logging is at trace levelLEVEL- level: 0, 1,2,3
Methods
error(label, ...args)- Logargsat error level withlabelinfo(label, ...args)- Logargsat info level withlabeltrace(label, ...args)- Logargsat trace level withlabel
Statics
switches<Object>- User specified according to--log*flagslevel:pear --log-levellabels:pear --log-labelsfields:pear --log-fieldsstacks:pear --log-stackslog:pear --log
pear-api/state
Base State class for cross-process state management.
pear-api/gunk
Platform gunk - glue-state for native and protocol integration.
pear-api/tryboot
Attempt to boot the sidecar. Useful when establishing a pear-ipc connection from an interface-runtime to Pear Sidecar, pass it as the connect option.
pear-api/worker
Internal class, pass this (or a subclass of it) to the pear-api API constructor for Pear.run to use.
pear-api/parse-link
Parse pear:// links per pear-link.
pear-api/teardown
The Pear.teardown function.
pear-api/transform
A minimal transformer for __LOCALVAR__-style templates.
pear-api/terminal
Terminal interface.
pear-api/cmd
Parse out platform flags while ignoring the rest of the command. Useful for parsing platform flags regardless of whether the flags after <cmd> are valid.
pear-api/cmd/pear
Paparam definition array for the pear command. Useful for parsing platform flags passed to an interface-runtime.
pear-api/cmd/run
Paparam definition array for the pear run command. Useful for parsing run flags passed to an interface-runtime.
LICENSE
Apache 2.0
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago