postmessage-communicator
TypeScript icon, indicating that this package has built-in type declarations

5.0.0 • Public • Published

postmessage-communicator

Release Lint Contributor Covenant Maintainer

About The Project

Use this tool to communicate across an iframe using postmessage subscription.

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • yarn

    npm install --global yarn

Installation

  1. Clone the repo

    git clone https://github.com/wayfair-incubator/postmessage-communicator.git
  2. Install yarn packages and compile typescript code

    yarn
    yarn tsc

Communicator API

subscribe

Parameter Name Required Description Type Default
eventType yes event type to listen for string
cb yes callback fired on event (e: MessageEvent) => void

unsubscribe

Parameter Name Required Description Type Default
cb yes callback returned as subscription (e: MessageEvent) => void

post

Parameter Name Required Description Type Default
type yes event type to post eg: addToCart string | VendorEvent | ClientEvent
payload yes post data anything but a function

Vendor Communicator API

addToCart

Parameter Name Required Description Type Default
customerUid yes customer identifier string
projectId yes project identifier string
projectVersion no project version string
brand yes brand description string
style yes style description string
color yes color string
url yes thumbnail image url string
bom yes bill of materials string

designerHandOff

Parameter Name Required Description Type Default
customerUid yes customer identifier string
projectId yes project identifier string
projectVersion no project version string
brand yes brand description string
style yes style description string
color yes color string
url yes thumbnail image url string
area yes area of room number

requestToken

no parameters

projectDirty

no parameters

projectSaved

no parameters

projectDeleted

no parameters

continueToCart

Parameter Name Required Description Type Default
customerUid yes customer identifier string
projectId yes project identifier string
projectVersion no project version string
brand yes brand description string
style yes style description string
color yes color string
url yes thumbnail image url string
bom yes bill of materials string

Client Communicator API

init

Parameter Name Required Description Type Default
token yes JWT token with initialization payload string
landingExperience yes requested landing page for application string

refreshToken

Parameter Name Required Description Type Default
token yes JWT token with initialization payload string

addToCartStatus

Parameter Name Required Description Type Default
success yes flag indicating if the add to cart event succeded or not boolean
message yes status message string
projectId yes project id string
versionId yes project version string

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. For detailed contributing guidelines, please see CONTRIBUTING.md

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Project Link: https://github.com/wayfair-incubator/postmessage-communicator

Acknowledgements

This template was adapted from https://github.com/othneildrew/Best-README-Template.

Package Sidebar

Install

npm i postmessage-communicator

Weekly Downloads

1

Version

5.0.0

License

MIT

Unpacked Size

20.1 kB

Total Files

12

Last publish

Collaborators

  • wayfair