New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

icojs-min

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

icojs-min

parse ico file

latest
Source
npmnpm
Version
0.5.0
Version published
Maintainers
1
Created
Source

icojs

npm version Build Status Coverage Status Code Climate Dependency Status Greenkeeper badge

A JavaScript library to use ICO. Work on both Node.js and Browser.

Install

npm install icojs

Node.js:

const ICO = require('icojs');

Browser:

const ICO = require('icojs/browser')

or

<script type="text/javascript" src="node_modules/icojs/dist/ico.js"></script>

To fully use this library, browsers must support JavaScript typed arrays, Canvas API and Promise. Chrome, Edge 12, Firefox and Safari 9 support these functions.

Example

Node.js:

const fs = require('fs');
const ICO = require('icojs');

const arrayBuffer = new Uint8Array(fs.readFileSync('favicon.ico')).buffer;
ICO.parse(arrayBuffer, 'image/png').then(images => {
  // save as png files
  images.forEach(image => {
    const file = `${image.width}x${image.height}-${image.bit}bit.png`;
    const data = Buffer.from(image.buffer);
    fs.writeFileSync(file, data);
  });
});

Browser:

<input type="file" id="input-file" />
<script>
  document.getElementById('input-file').addEventListener('change', function (evt) {
    // use FileReader for converting File object to ArrayBuffer object
    var reader = new FileReader();
    reader.onload = function (e) {
      ICO.parse(e.target.result).then(function (images) {
        // logs images
        console.dir(images);
      })
    };
    reader.readAsArrayBuffer(evt.target.files[0]);
  }, false);
</script>

Demo

https://egy186.github.io/icojs/#demo

Documentation

ICO.parse(buffer, [mime]) ⇒ Promise.<Array.<Object>>

Parse ICO and return some images.

Kind: static method of ICO
Returns: Promise.<Array.<Object>> - Resolves to array of parsed ICO.

  • width Number - Image width.
  • height Number - Image height.
  • bit Number - Image bit depth.
  • buffer ArrayBuffer - Image buffer.
ParamTypeDefaultDescription
bufferArrayBufferThe ArrayBuffer object contain the TypedArray of a ICO file.
[mime]Stringimage/pngMIME type for output.

ICO.isICO(buffer) ⇒ Boolean

Check the ArrayBuffer is valid ICO.

Kind: static method of ICO
Returns: Boolean - True if arg is ICO.

ParamTypeDescription
bufferArrayBufferThe ArrayBuffer object contain the TypedArray of a ICO file.

ICO.noConflict() ⇒ ICO

No conflict.

Kind: static method of ICO
Returns: ICO - ICO Object.

License

MIT license

Keywords

ico

FAQs

Package last updated on 05 Mar 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts