ase-swatch 0.1.0

Create Adobe Swatch Exchange (ASE) Files for colors and palette
Documentation
<html>
  <head>
    <meta content="text/html;charset=utf-8" http-equiv="Content-Type"/>
  </head>
  <body>
    <!-- Note the usage of `type=module` here as this is an ES6 module -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/downloadjs/1.4.8/download.min.js"></script>
    <script type="module">
      // Use ES module import syntax to import functionality from the module
      // that we have compiled.
      //
      // Note that the `default` import is an initialization function which
      // will "boot" the module and make it ready to use. Currently browsers
      // don't support natively imported WebAssembly as an ES module, but
      // eventually the manual initialization won't be required!
      import init, { create_ase_js } from './pkg/ase_swatch.js';

      async function run() {
        // First up we need to actually load the wasm file, so we use the
        // default export to inform it where the wasm file is located on the
        // server, and then we wait on the returned promise to wait for the
        // wasm to be loaded.
        //
        // It may look like this: `await init('./pkg/without_a_bundler_bg.wasm');`,
        // but there is also a handy default inside `init` function, which uses
        // `import.meta` to locate the wasm file relatively to js file.
        //
        // Note that instead of a string you can also pass in any of the
        // following things:
        //
        // * `WebAssembly.Module`
        //
        // * `ArrayBuffer`
        //
        // * `Response`
        //
        // * `Promise` which returns any of the above, e.g. `fetch("./path/to/wasm")`
        //
        // This gives you complete control over how the module is loaded
        // and compiled.
        //
        // Also note that the promise, when resolved, yields the wasm module's
        // exports which is the same as importing the `*_bg` module in other
        // modes
        await init();

        // And afterwards we can use all the functionality defined in wasm.
        const result = create_ase_js([
          {
            name: "Palette",
            swatches: [
              {
                name: "Red",
                object_type: "Global",
                data: {
                  mode: "Rgb",
                  values: [1.0, 0.0, 0.0]
                }
              },
              {
                name: "Green",
                object_type: "Global",
                data: {
                  mode: "Rgb",
                  values: [0.0, 1.0, 0.0]
                }
              },
              {
                name: "Blue",
                object_type: "Global",
                data: {
                  mode: "Rgb",
                  values: [0.0, 0.0, 1.0]
                }
              }
            ]
          }
        ], []);
        download(result, "test.ase", 'application/octet-stream');
      }

      run();
    </script>
  </body>
</html>