Skip to content

Use the Fintoc widget as an ES module.

License

Notifications You must be signed in to change notification settings

fintoc-com/fintoc-js

Repository files navigation

Fintoc.js ES Module

Use the Fintoc widget as an ES module.

NPM - Version Linters

Installation

Install using npm! (or your favourite package manager)

# Using npm
npm install @fintoc/fintoc-js

# Using yarn
yarn add @fintoc/fintoc-js

Note: This library requires Node 10+.

Usage

Fintoc.js exports a single method called getFintoc. This is an async method that returns the Fintoc object from the documentation. To get the Fintoc object, use the following snippet:

import { getFintoc } from '@fintoc/fintoc-js';

const Fintoc = await getFintoc();

After retrieving the Fintoc object, you are ready to instantiate the widget:

const options = { ... };

const widget = Fintoc.create(options);

Here, options corresponds to an object with the parameters received by the widget (you can read more about these parameters here).

Finally, you can use any of the widget methods:

widget.open();
widget.close();
widget.destroy();

You can read more about these methods here.

Getting a null widget

For Fintoc.js not to break when using server side rendering, if the window object is of type undefined (in the server side), the getFintoc promise will resolve to null. You should only use this method in the client, as the server side usage of getFintoc will result in a null widget.

TypeScript support

This package includes TypeScript declarations for the Fintoc widget.

Developing

To develop the package, you need to use npm. Install the dependencies:

npm install

Build the library and watch for changes to the code:

npm run watch:build

If you want to create a new release, you can run:

git switch master
npm run bump! <major|minor|patch>

This will create a new branch with the updated version from master.

Acknowledgements

The first raw implementation of a chunk of code to load the Fintoc script was co-authored by @daleal and @naquiroz, and served as a starting point for the general idea of this library.