Nondeterministic Palindrome Machine

    datauri
    TypeScript icon, indicating that this package has built-in type declarations

    4.1.0 • Public • Published


    datauri


    Node.js Module and CLI to generate Data URI scheme.

    The data URI scheme is a uniform resource identifier (URI) scheme that provides a way to include data in-line in web pages as if they were external resources.

    from: Wikipedia

    MODULE Build Status

    npm install datauri

    Getting started

    By default, datauri module returns a promise, which is resolved with data:uri string or rejected with read file error:

    const datauri = require('datauri');
    
    const content = await datauri('test/myfile.png');
    
    console.log(content);
    //=> "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."

    Callback style and meta data

    const datauri = require('datauri');
    
    datauri('test/myfile.png', (err, content, meta) => {
      if (err) {
        throw err;
      }
    
      console.log(content); //=> "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
    
      console.log(meta.mimetype); //=> "image/png"
      console.log(meta.base64); //=> "iVBORw0KGgoAAAANSUhEUgAA..."
      console.log(meta.buffer); //=> file buffer
    });

    CSS parser

    const datauriCSS = require('datauri/css');
    
    await datauriCSS('test/myfile.png');
    //=> "\n.case {\n    background-image: url('data:image/png; base64,iVBORw..."
    
    await datauriCSS('test/myfile.png', {
      className: 'myClass',
      width: true,
      height: true
    });
    //=> adds image width and height and custom class name

    Synchronous calls

    const Datauri = require('datauri/sync');
    const meta = Datauri('test/myfile.png');
    
    console.log(meta.content); //=> "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
    console.log(meta.mimetype); //=> "image/png"
    console.log(meta.base64); //=> "iVBORw0KGgoAAAANSUhEUgAA..."
    console.log(meta.buffer); //=> file buffer

    From a Buffer

    If you already have a file Buffer, that's the way to go:

    const DatauriParser = require('datauri/parser');
    const parser = new DatauriParser();
    
    const buffer = fs.readFileSync('./hello');
    
    parser.format('.png', buffer); //=> "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."

    From a string

    const DatauriParser = require('datauri/parser');
    const parser = new DatauriParser();
    
    parser.format('.png', 'xkcd'); //=> "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."

    Contribute

    $ npm install
    

    To run test specs

    $ npm test
    

    ChangeLog

    Requirements

    Node.js 10+

    Previous Node versions and deprecated features:

    Node.js 8 npm install --save datauri@3 docs: https://github.com/data-uri/datauri/blob/v3.0.0/docs/datauri.md

    Node.js 4+ npm install --save datauri@2 docs: https://github.com/data-uri/datauri/blob/v2.0.0/docs/datauri.md

    License

    MIT License

    (c) Data-URI.js

    (c) Helder Santana

    Install

    npm i datauri

    DownloadsWeekly Downloads

    239,528

    Version

    4.1.0

    License

    MIT

    Unpacked Size

    10.6 kB

    Total Files

    16

    Last publish

    Collaborators

    • ruyadorno
    • helder
    • caiogondim