npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

qrcoder

v1.0.3

Published

QRCoder is *a pure browser qrcode generation* which is standalone. It is based on a <a href='http://www.d-project.com/qrcode/index.html'>library</a> which build qrcode in various language.

Downloads

29

Readme

QRCoder

QRCoder is a pure browser qrcode generation which is standalone. It is based on a library which build qrcode in various language.

install

npm install qrcoder --save

Example

default

import QRCoder from 'qrcoder'

const qr = new QRCoder({
  data: 'Hi!'
});

// data:image/gif;base64,R0lGODdhUgBS...WQBADs=
const dataURL = qr.getDataURL()

// <img src="data:image/gif;base64,R0lGODdhUgBS...WQBADs=" width="82" height="82"/>
const imgTag = qr.createImgTag()

document.getElementById('placeHolder').innerHTML = imgTag;

specify size

import QRCoder from 'qrcoder'

// want to create a qrcode image, which size is 101px
// QRCoder will create a qrcode image to fit this size,
// it try to calc a size which is close to this size,
// but no guarantee to equal it.
// you can use getSize function to get the real size.
// size = moduleCount * cellSize + margin * 2
// in this case, the real size is 100
const qrcoder = new QRCoder({
  data: 'Hi!',
  size: 101
})

// data:image/gif;base64,R0lG...pAoUAAA7
const dataURL = qr.getDataURL()

// <img src="data:image/gif;base64,R0lG...pAoUAAA7" width="100" height="100"/>"
const imgTag = qr.createImgTag()

const size = qrcoder.getSize()  // 100
const cellSize = qrcoder.getCellSize()  // 4
const margin = qrcoder.getMargin()  // 8
const moduleCount = qrcoder.getModuleCount() // 21

document.getElementById('placeHolder').innerHTML = imgTag;

more options

import QRCoder from 'qrcoder'

// if specify cellSize or margin or both of them, size will be ignore.
const qr = new QRCoder({
  typeNumber: 4,
  errorCorrectionLevel: 'L',
  mode: 'Byte',
  cellSize: 2,
  margin: 8,
  size: 101,
  alt: '',
  data: 'Hi!'
});

// data:image/gif;base64,R0lGODdhUgBS...WQBADs=
const dataURL = qr.getDataURL()

// <img src="data:image/gif;base64,R0lGODdhUgBS...WQBADs=" width="82" height="82"/>
const imgTag = qr.createImgTag()

document.getElementById('placeHolder').innerHTML = imgTag;

native

import QRCoder from 'qrcoder'

const typeNumber = 4
const errorCorrectionLevel = 'L'
const qr = new QRCoder({
  typeNumber,
  errorCorrectionLevel
})
qr.addData('Hi!')
qr.make()
document.getElementById('placeHolder').innerHTML = qr.createImgTag()

API Documentation

QRCoder Class

QRCoder(options) => QRCoder

Create a QRCoder Object.

| Param | Type | Description | | ---------------------| ------------------- | ------------------------------------------- | | options | object | options Object

Default options

| Param | Type | Description | | ---------------------| ------------------- | ------------------------------------------- | | options.typeNumber | number | default: 4 | options.errorCorrectionLevel | string | default: 'L' | options.mode | string | default: 'Byte' | options.cellSize | number | default: 2 | options.margin | number | default: 8 | options.size | number | default: undefined | options.data | string | default: undefined | options.alt | string | default: ''

QRCoder.stringToBytes(s) : number[]

Encodes a string into an array of number(byte) using any charset. This function is used by internal. Overwrite this function to encode using a multibyte charset.

| Param | Type | Description | | -------| ------------------- | ---------------- | | s | string | string to encode |

QRCoder

addData(data, mode) => void

Add a data to encode.

| Param | Type | Description | | -------| ------------------- | ---------------------------------------------------------- | | data | string | string to encode | | mode | string | Mode ('Numeric', 'Alphanumeric', 'Byte'(default), 'Kanji') |

make() => void

Make a QR Code.

getModuleCount() => number

The number of modules(cells) for each orientation. [Note] call make() before this function.

getSize() => number

The size of the qrcode image.

getCellSize() => number

The number of the qrcode's cell.

getMargin() => number

The number of the qrcode image's margin.

isDark(row, col) => boolean

The module at row and col is dark or not. [Note] call make() before this function.

| Param | Type | Description | | ------| ------------------- | ------------------- | | row | number | 0 ~ moduleCount - 1 | | col | number | 0 ~ moduleCount - 1 |

getDataURL() => string

createImgTag() => string

createSvgTag() => string

createTableTag() => string

Helper functions for HTML.

License

MIT