Skip to content

funfoolsuzi/sejong-wasm

Repository files navigation

Sejong Buffer

Crate NPM API MIT licensed

Sejong Buffer is a buffer that receives ASCII bytes from standard English keyboard and sends out UTF-32 Hangul string. This buffer allows deletion by Jamo.

This rust library can be compiled as a WASM library or as part of another rust program.

USE

To use as an NPM package

Do NOT run in a node app, this package can only run in browser

Install: npm install sejong-buffer

In apps that built with webpack:

import('sejong-buffer').then(buffer => {
    buffer.put('d');
    buffer.put('k');
    buffer.put('s');
    buffer.put('s');
    buffer.put('u');
    buffer.put('d');

    console.assert(buffer.to_string() === '안녕');

    buffer.put('s');
    console.assert(buffer.to_string() === '안녕ㄴ');

    buffer.pop();
    console.assert(buffer.out() === '안녕');
    console.assert(buffer.out() === '');
});

To use in Rust program

Install: cargo install sejong

use sejong::{Buffer, Byte};
let mut buf = Buffer::default();
buf.put(Byte::NG as u8);
buf.put(Byte::A as u8);
buf.put(Byte::N as u8);
buf.put(Byte::N as u8);
buf.put(Byte::YEO as u8);
buf.put(Byte::NG as u8);

assert_eq!(buf.to_string(), "안녕");

buf.put(Byte::N as u8);
assert_eq!(buf.to_string(), "안녕ㄴ");

buf.pop();
assert_eq!(buf.out(), "안녕");
assert_eq!(buf.out(), "");

BUILD

WASM

  1. Install wasm-pack: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
  2. Build the wasm npm package: wasm-pack build --release -- --features wasm

rust lib

No additional step. Just use as regular rust library.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published