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 --log
else 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-fields
with defaulth:time,h:data,level,label,delta
.stacks
<Boolean>
- Print stack traces with all logs. Defaultpear --log-stacks
elsefalse
.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)
- Logargs
at error level withlabel
info(label, ...args)
- Logargs
at info level withlabel
trace(label, ...args)
- Logargs
at trace level withlabel
Statics
switches
<Object>
- User specified according to--log*
flagslevel
:pear --log-level
labels
:pear --log-labels
fields
:pear --log-fields
stacks
:pear --log-stacks
log
: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
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago