spaxel/dashboard/node_modules/es-object-atoms
jedarden c817e96802 feat: implement repeated-setting change detection with guided calibration
Detects when user changes same config setting 3+ times within 24 hours.
Shows non-intrusive prompt offering help with guided calibration flow.

Guided calibration features:
- Test for false positives (walk around room)
- Test for missed motion (sit still)
- Suggest optimal value based on diurnal baseline SNR and link health
- Apply suggested value button

Files:
- dashboard/js/proactive.js: Complete implementation with localStorage tracking

Acceptance:
- Help prompt fires after 3+ changes in 24h
- Calibration flow tests both directions
- Suggests value based on system data
- Apply button works
2026-04-11 00:18:19 -04:00
..
.github feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:18:19 -04:00
test feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:18:19 -04:00
.eslintrc feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:18:19 -04:00
CHANGELOG.md feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:18:19 -04:00
index.d.ts feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:18:19 -04:00
index.js feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:18:19 -04:00
isObject.d.ts feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:18:19 -04:00
isObject.js feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:18:19 -04:00
LICENSE feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:18:19 -04:00
package.json feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:18:19 -04:00
README.md feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:18:19 -04:00
RequireObjectCoercible.d.ts feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:18:19 -04:00
RequireObjectCoercible.js feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:18:19 -04:00
ToObject.d.ts feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:18:19 -04:00
ToObject.js feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:18:19 -04:00
tsconfig.json feat: implement repeated-setting change detection with guided calibration 2026-04-11 00:18:19 -04:00

es-object-atoms Version Badge

github actions coverage License Downloads

npm badge

ES Object-related atoms: Object, ToObject, RequireObjectCoercible.

Example

const assert = require('assert');

const $Object = require('es-object-atoms');
const isObject = require('es-object-atoms/isObject');
const ToObject = require('es-object-atoms/ToObject');
const RequireObjectCoercible = require('es-object-atoms/RequireObjectCoercible');

assert.equal($Object, Object);
assert.throws(() => ToObject(null), TypeError);
assert.throws(() => ToObject(undefined), TypeError);
assert.throws(() => RequireObjectCoercible(null), TypeError);
assert.throws(() => RequireObjectCoercible(undefined), TypeError);

assert.equal(isObject(undefined), false);
assert.equal(isObject(null), false);
assert.equal(isObject({}), true);
assert.equal(isObject([]), true);
assert.equal(isObject(function () {}), true);

assert.deepEqual(RequireObjectCoercible(true), true);
assert.deepEqual(ToObject(true), Object(true));

const obj = {};
assert.equal(RequireObjectCoercible(obj), obj);
assert.equal(ToObject(obj), obj);

Tests

Simply clone the repo, npm install, and run npm test

Security

Please email @ljharb or see https://tidelift.com/security if you have a potential security vulnerability to report.