js-scarecrow
JS fail safe apis access proxy wrapper
Proxy wrapper for properties invocation that may not exist
somewhere in the invocation(a.b.c().d = 1) chain i.e is undefined.
Use case
Best example would be hosted iframe, injected with services from the hosting application.
In case the iframe gets updated with wrong version, you might have calls to none existing services apis,
you get application crash.
Provides error free, logged access to invalid services or general apis,
From high level injected services down to bare native js bones.
Have async promise? response is fail safe as well ;)
Scarecrow wont fix the logical bug,
but it would allow the application to skip the null pointer exceptions.
logs any invalid function calls, property gets/sets.
Getting started
npm install js-scarecrow yarn add js-scarecrow
Usage
; const services = ; servicesNonExistingServiceNonExistingProp;servicesExistingService;
Custom Logger
; const logWarn = console;const logFatal = console; const services = ; servicesNonExistingServiceNonExistingProp = "Ender";
Console:Getting non-existing service "NonExistingService"Getting non-existing property "NonExistingApi"Executing non-existing method: "NonExistingApi" on this: {...} with arguments: ["Parzeval"]Setting non-existing property "NonExistingProp", value: "Ender"
Object Proxy
; const logWarn = console;const logFatal = console; const proxiedObject = myService GetMissingPropertyMsg: logWarn SetMissingPropertyMsg: logWarn CallMissingMethodMsg: logFatal ; proxiedObjectNonExistingProp = "Ender";
Console:Getting non-existing property "NonExistingApi"Executing non-existing method: "NonExistingApi" on this: {...} with arguments: ["Parzeval"]Setting non-existing property "NonExistingProp", value: "Ender"