Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

seer

Package Overview
Dependencies
Maintainers
9
Versions
55
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

seer

A customizable devtool solution

  • 4.0.9
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
3.2K
increased by7.15%
Maintainers
9
Weekly downloads
 
Created
Source

Seer API

This library provides an abstraction around the Window.postMessage API to interact with the Seer extension. You could use this module if you have a framework or application that wants to display debugging information in the Seer Chrome extension.

Install

Simply download the package from the npm registry

yarn add seer

Notes

The extension will declare a __SEER_INITIALIZED__ boolean on the window, that you can use to check if the extension is installed and prevent any useless processing in production or for real-users.

Internal

How the communication is done exactly relies on the bridge, that you can checkout in its dedicated directory. The following schema represent the complete data flow:

Functions

isReady()Boolean

Ready check for Seer initialization

throttle(key, delay)Boolean

Utility method allowing to throttle a user action based on a key and a minimun delay.

send(type, payload)

Low-level api leveraging window.postMessage

init()

Initilize window listener. There will be only one for the whole process to prevent too many registrations.

This method will be called automatically if you use the listenFor method.

clean()

Clean listener. Can be useful in case you want to unregister upcoming events or liberate memory.

listenFor(key, cb)

Create a listener that will be called upon events of the given key.

removeListener(cb)

Remove an identity listener

list(key, data)

Creates a new indexed list. It works by index to get O(1) accessing and performance.

listItem(key, itemKey, data)

Creates an element in the indexed list, based on the itemKey.

updateItem(key, itemKey, path, data)

Update an item property, can be deeply nested.

multiUpdate(key, itemKey, array)

Similar to updateItem, but allows to pass an array with {path,data} pairs for multiple update of the same item without having to send multiple messages.

deleteItem(key, itemKey)

Remove a specific item in a specific tab.

addLog(key, itemKey, msg)

Will create a log message to an item, that will be displayde with the current time.

isReady() ⇒ Boolean

Ready check for Seer initialization

Kind: global function

throttle(key, delay) ⇒ Boolean

Utility method allowing to throttle a user action based on a key and a minimun delay.

Kind: global function

ParamTypeDescription
keyStringA unique key
delayNumberThe minimal delay to throttle

send(type, payload)

Low-level api leveraging window.postMessage

Kind: global function

ParamTypeDescription
typeStringThe action type
payloadAnyThe action payload

init()

Initilize window listener. There will be only one for the whole process to prevent too many registrations.

This method will be called automatically if you use the listenFor method.

Kind: global function

clean()

Clean listener. Can be useful in case you want to unregister upcoming events or liberate memory.

Kind: global function

listenFor(key, cb)

Create a listener that will be called upon events of the given key.

Kind: global function

ParamTypeDescription
keyStringThe unique tab key
cbfunctionA callback that will receive the message payload

removeListener(cb)

Remove an identity listener

Kind: global function

ParamTypeDescription
cbfunctionThe callback to remove

list(key, data)

Creates a new indexed list. It works by index to get O(1) accessing and performance.

Kind: global function

ParamTypeDescription
keyStringThe key of the tab
dataObjectThe indexed object

listItem(key, itemKey, data)

Creates an element in the indexed list, based on the itemKey.

Kind: global function

ParamTypeDescription
keyStringThe key of the tab
itemKeyStringThe key of the item
dataAnyThe value of the item

updateItem(key, itemKey, path, data)

Update an item property, can be deeply nested.

Kind: global function

ParamTypeDescription
keyStringThe key of the tab
itemKeyStringThe key of the item
pathStringThe path of the variable you want to update
dataObjectThe new value

multiUpdate(key, itemKey, array)

Similar to updateItem, but allows to pass an array with {path,data} pairs for multiple update of the same item without having to send multiple messages.

Kind: global function

ParamTypeDescription
keyStringThe key of the tab
itemKeyStringThe key of the item
arrayArrayThe array of updates
array.pathStringThe path for this update
array.dataObjectThe value of this update

deleteItem(key, itemKey)

Remove a specific item in a specific tab.

Kind: global function

ParamTypeDescription
keyStringThey key of the tab
itemKeyStringThe key of the item

addLog(key, itemKey, msg)

Will create a log message to an item, that will be displayde with the current time.

Kind: global function

ParamTypeDescription
keyStringThe key of the tab
itemKeyStringThe key of the item
msgStringThe message to display

Keywords

FAQs

Package last updated on 09 Mar 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc