0.1.0 • Published 7 months ago

openpay-sdk-web-wasm v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

JavaScript/TypeScript Client SDK for Openpay 👨‍💻💬

The underlying SDK core is implemented in Openpay SDK. Using the WebAssembly support provided by Go language, it can be compiled into wasm for web integration. The web interacts with the Openpay SDK through JSON, and the SDK exposes a re-encapsulated API for easy usage.

Installation 💻

Adding Dependencies

npm install openpay-sdk-web-wasm --save

Obtaining Required Static Resources for WASM

Follow these steps to obtain the static resources required for WebAssembly (WASM):

  1. Locate the openpay-sdk-web-wasm subdirectory in the node_modules directory of your project. Copy all the files in the assets folder to your project's public resource directory.

    The files to be copied are:

    • openpay.wasm
    • wasm_exec.js
  2. After copying the files, import the wasm_exec.js file in your index.html file using a <script> tag.

Possible Issues ❗

if you are using webpack4, you may flow this issue How to import openpay-sdk-web-wasm in webpack4.x.

Usage 🚀

The following examples demonstrate how to use the SDK. TypeScript is used, providing complete type hints.

Importing the SDK

import { getSDK } from 'openpay-sdk-web-wasm';

const OpenPay = getSDK();

Initizlize and Listening for Connection Status

import { CbEvents, WSEvent } from 'openpay-sdk-web-wasm';

OpenPay.on(CbEvents.OnConnecting, handleConnecting);
OpenPay.on(CbEvents.OnConnectFailed, handleConnectFailed);
OpenPay.on(CbEvents.OnConnectSuccess, handleConnectSuccess);

OpenPay.initSDK({
  logLevel: 6,
  platformID: 5,
  apiAddr: 'http://your-server-ip:10002',
  wsAddr: 'ws://your-server-ip:10001',
});

function handleConnecting() {
  // Connecting...
}

function handleConnectFailed({ errCode, errMsg }: WSEvent) {
  // Connection failed ❌
  console.log(errCode, errMsg);
}

function handleConnectSuccess() {
  // Connection successful ✅
}

Browser Support 🌐

BrowserDesktop OSMobile OS
Chrome (61+)Windows, macOS, LinuxAndroid
Firefox (58+)Windows, macOS, LinuxAndroid
Safari (15+)macOSiOS
Edge (Chromium 16+)Windows, macOS
0.1.0

7 months ago