JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 10904
  • Score
    100M100P100Q136786F
  • License Artistic-2.0

Parser and builder for `data:` URIs

Package Exports

  • strong-data-uri

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (strong-data-uri) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

strong-data-uri

Build Status NPM version

Overview

strong-data-uri implements a parser for retrieving data encoded in data: URIs specified by RFC2397, as well as an encoder for those URIs.

API

decode(uri)

Call dataUri.decode(uri) to parse the payload of a data URI. The uri argument expects a string.

var dataUri = require('strong-data-uri');
var uri = 'data:text/plain;charset=iso-8859-1;base64,aGVsbG8gd29ybGQ=';

var buffer = dataUri.decode(uri);
console.log(buffer);
// <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
console.log(buffer.toString('ascii'));
// Hello world

console.log(buffer.mimetype);  // text/plain
console.log(buffer.mediatype); // text/plain;charset=iso-8859-1
console.log(buffer.charset);   // iso-8859-1

encode(data, [mediatype])

Use dataUri.encode(data, mediatype) to build a new data URI. The data argument can be a Buffer or a String. Strings are converted to buffers using utf-8 encoding.

If mediatype is not specified, then application/octet-stream is used as a default if the data is a Buffer, and text/plain;charset=UTF-8 if the data is a String.

var dataUri = require('strong-data-uri');

uri = dataUri.encode('foo');
console.log(uri);
// data:text/plain;charset=UTF-8;base64,Zm9v

uri = dataUri.encode(new Buffer('<foo/>', 'utf8'), 'text/xml');
console.log(uri);
// data:text/xml;base64,PGZvby8+

Command-line access

To keep this project small and light, no command-line tool is provided. If you need one, please consider data-colon.