Neglected Pulse Machine

    tiny-save-as

    1.0.2 • Public • Published

    tiny-save-as

    npm version

    A tiny JavaScript utility library for file saving

    Live demo available at here.

    Installation

    npm install tiny-save-as

    The CDN build is also available on unpkg:

    Usage

    // Using ES modules
    import savaAs from 'tiny-save-as';
    
    // Using ES modules with `import()`
    import('https://unpkg.com/tiny-save-as/dist/tiny-save-as.esm.js')
      .then(({default: saveAs}) => {
        saveAs();
      })
      .catch((err) => {
        console.log(err);
      });
    
    // Using CommonJS modules
    const savaAs = require('tiny-save-as');

    API

    savaAs(blob, filename)
    • blob: Blob A blob to save.
    • filename: string A file name with a suffix.

    Examples

    Text

    const str = `# Lorem ipsum
    Lorem ipsum dolor sit amet
    Consectetur adipiscing elit
    `;
    const blob = new Blob([str], { type: 'text/markdown' });
    saveAs(blob, 'README.md');

    JSON

    const json = {
      bool: true,
      num: 3.14159,
      str: '字符串',
      obj: {
        foo: 'bar'
      }
    };
    const str = JSON.stringify(json, null, 2) + '\n';
    const blob = new Blob([str], { type: 'application/json' });
    saveAs(blob, 'blob.json');

    Canvas

    const canvas = document.createElement('canvas');
    canvas.width = 200;
    canvas.height = 200;
    const ctx = canvas.getContext('2d');
    ctx.beginPath();
    ctx.arc(100, 100, 50, 0, 2 * Math.PI);
    ctx.fillStyle = '#f60';
    ctx.fill();
    
    // save canvas as PNG image
    canvas.toBlob((blob) => {
      saveAs(blob, 'circle.png');
    });
    
    // or sava it as JPEG image
    canvas.toBlob((blob) => {
      saveAs(blob, 'circle.jpg');
    }, 'image/jpeg', 1);

    SVG

    const str = `<?xml version="1.0"?>
    <svg xmlns="http://www.w3.org/2000/svg">
      <circle cx="50" cy="50" r="40" stroke-width="1" fill="#f60" />
    </svg>`;
    
    const blob = new Blob([str], { type: 'image/svg+xml' });
    saveAs(blob, 'circle.svg');

    Browsers support

    IE / EdgeIE / Edge FirefoxFirefox ChromeChrome SafariSafari
    IE10, IE11, Edge last 2 versions last 2 versions last 2 versions

    License

    MIT

    Keywords

    Install

    npm i tiny-save-as

    DownloadsWeekly Downloads

    15

    Version

    1.0.2

    License

    MIT

    Unpacked Size

    9.4 kB

    Total Files

    6

    Last publish

    Collaborators

    • dearke