@aduh95/toml
    TypeScript icon, indicating that this package has built-in type declarations

    0.4.2 • Public • Published

    toml

    This package contains methods for parsing TOML documents and converting JS objects to TOML.

    Usage

    Node.js

    import * as TOML from "@aduh95/toml";
    
    console.log(
      TOML.parse(`
    [package]
    name = "@aduh95/toml"
    version = "0.1.0"
    
    [dependencies]
    serde-transcode = "1.1.0"
    serde_json = "1.0.40"
    toml = "0.5.3"
    wasm-bindgen = "0.2"
    `)
    );

    This outputs:

    {
      "dependencies": {
        "serde-transcode": "1.1.0",
        "serde_json": "1.0.40",
        "toml": "0.5.3",
        "wasm-bindgen": "0.2"
      },
      "package": {
        "name": "@aduh95/toml",
        "version": "0.1.0"
      }
    }

    You can also use the stringify method that outputs a TOML string:

    import * as TOML from "@aduh95/toml";
    
    console.log(
      TOML.stringify({
        dependencies: {
          "serde-transcode": "1.1.0",
          serde_json: "1.0.40",
          toml: "0.5.3",
          "wasm-bindgen": "0.2",
        },
        package: {
          name: "@aduh95/toml",
          version: "0.1.0",
        },
      })
    );

    If you are not using ECMAScript modules, you can use require instead of import:

    const TOML = require("@aduh95/toml");
    TOML.parse('Hello = "World!"');

    Web browser

    Works great on workers!

    Main difference with Node.js API is that the WASM fetching and compilation happen asynchronously. You must call the TOML.default function before using the parse and stringify methods.

    import * as TOML from "https://unpkg.com/@aduh95/toml/web/toml2js.js";
    
    // Init the module
    await TOML.default();
    // Optionally, you can provide the absolute path to the WASM file
    // await TOML.default("https://unpckg.com/@aduh95/toml/web/toml2js_bg.wasm");
    
    const tomlString = TOML.stringify({
      hello: "world!",
    });
    const jsObject = TOML.parse(`pi=3.1415`);

    Deno

    Works same as the browser API.

    If you are using the CDN version, you need to pass the allow-net flag in order for TOML.default to download the WASM file.

    If you are working from your local file system, you can pass the WASM file directly to the TOML.default function in addition with the --allow-read CLI flag.

    import * as TOML from "/path/to/toml2js.js";
    // Init the module when the wasm file is on the file system
    await TOML.default(await Deno.readFile("/path/to/toml2js_bg.wasm"));

    Limitations

    No support for dates.

    Build

    You need NodeJS and wasm-pack.

    $ npm run build
    $ npm run test

    Install

    npm i @aduh95/toml

    DownloadsWeekly Downloads

    1

    Version

    0.4.2

    License

    MIT

    Unpacked Size

    452 kB

    Total Files

    14

    Last publish

    Collaborators

    • aduh95