@nuintun/qrcode
Version:
A pure JavaScript QRCode encode and decode library.
79 lines (75 loc) • 2.02 kB
JavaScript
/**
* @module QRCode
* @package @nuintun/qrcode
* @license MIT
* @version 5.0.2
* @author nuintun <nuintun@qq.com>
* @description A pure JavaScript QRCode encode and decode library.
* @see https://github.com/nuintun/qrcode#readme
*/
import { getMappingFromEncodingRanges, getSerialEncodinRanges, getMappingFromCharacters } from './utils.js';
/**
* @module mapping
*/
const GB2312_MAPPING = getMappingFromEncodingRanges(
'gb2312',
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
...getSerialEncodinRanges(0xb0a1, 0xd6fe, [0, 93]),
[],
...getSerialEncodinRanges(0xd8a1, 0xf7fe, [0, 93])
);
const SHIFT_JIS_MAPPING = getMappingFromEncodingRanges(
'shift-jis',
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
...getSerialEncodinRanges(0x8940, 0x97fc, [0, 62, 64, 188]),
[],
[],
...getSerialEncodinRanges(0x9940, 0x9ffc, [0, 62, 64, 188]),
...getSerialEncodinRanges(0xe040, 0xe9fc, [0, 62, 64, 188]),
[],
[]
);
const NUMERIC_CHARACTERS = '0123456789';
const NUMERIC_MAPPING = getMappingFromCharacters(NUMERIC_CHARACTERS);
const ALPHANUMERIC_CHARACTERS = `${NUMERIC_CHARACTERS}ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`;
const ALPHANUMERIC_MAPPING = getMappingFromCharacters(ALPHANUMERIC_CHARACTERS);
export {
ALPHANUMERIC_CHARACTERS,
ALPHANUMERIC_MAPPING,
GB2312_MAPPING,
NUMERIC_CHARACTERS,
NUMERIC_MAPPING,
SHIFT_JIS_MAPPING
};