Completed
Push — master ( cd5721...aa00db )
by Johan
14s
created

src/barcodes/CODE128/constants.js   A

Complexity

Total Complexity 0
Complexity/F 0

Size

Lines of Code 69
Function Count 0

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 3
Bugs 0 Features 0
Metric Value
cc 0
nc 1
dl 0
loc 69
rs 10
c 3
b 0
f 0
noi 0
wmc 0
mnd 0
bc 0
fnc 0
bpm 0
cpm 0
1
// constants for internal usage
2
export const SET_A = 0;
3
export const SET_B = 1;
4
export const SET_C = 2;
5
6
// Special characters
7
export const SHIFT = 98;
8
export const START_A = 103;
9
export const START_B = 104;
10
export const START_C = 105;
11
export const MODULO = 103;
12
export const STOP = 106;
13
14
// Get set by start code
15
export const SET_BY_CODE = {
16
	[START_A]: SET_A,
17
	[START_B]: SET_B,
18
	[START_C]: SET_C,
19
};
20
21
// Get next set by code
22
export const SWAP = {
23
	101: SET_A,
24
	100: SET_B,
25
	99: SET_C,
26
};
27
28
export const A_START_CHAR = String.fromCharCode(208); // START_A + 105
29
export const B_START_CHAR = String.fromCharCode(209); // START_B + 105
30
export const C_START_CHAR = String.fromCharCode(210); // START_C + 105
31
32
// 128A (Code Set A)
33
// ASCII characters 00 to 95 (0–9, A–Z and control codes), special characters, and FNC 1–4
34
export const A_CHARS = "[\x00-\x5F\xC8-\xCF]";
35
36
// 128B (Code Set B)
37
// ASCII characters 32 to 127 (0–9, A–Z, a–z), special characters, and FNC 1–4
38
export const B_CHARS = "[\x20-\x7F\xC8-\xCF]";
39
40
// 128C (Code Set C)
41
// 00–99 (encodes two digits with a single code point) and FNC1
42
export const C_CHARS = "(\xCF*[0-9]{2}\xCF*)";
43
44
// CODE128 includes 107 symbols:
45
// 103 data symbols, 3 start symbols (A, B and C), and 1 stop symbol (the last one)
46
// Each symbol consist of three black bars (1) and three white spaces (0).
47
export const BARS = [
48
	11011001100, 11001101100, 11001100110, 10010011000, 10010001100,
49
	10001001100, 10011001000, 10011000100, 10001100100, 11001001000,
50
	11001000100, 11000100100, 10110011100, 10011011100, 10011001110,
51
	10111001100, 10011101100, 10011100110, 11001110010, 11001011100,
52
	11001001110, 11011100100, 11001110100, 11101101110, 11101001100,
53
	11100101100, 11100100110, 11101100100, 11100110100, 11100110010,
54
	11011011000, 11011000110, 11000110110, 10100011000, 10001011000,
55
	10001000110, 10110001000, 10001101000, 10001100010, 11010001000,
56
	11000101000, 11000100010, 10110111000, 10110001110, 10001101110,
57
	10111011000, 10111000110, 10001110110, 11101110110, 11010001110,
58
	11000101110, 11011101000, 11011100010, 11011101110, 11101011000,
59
	11101000110, 11100010110, 11101101000, 11101100010, 11100011010,
60
	11101111010, 11001000010, 11110001010, 10100110000, 10100001100,
61
	10010110000, 10010000110, 10000101100, 10000100110, 10110010000,
62
	10110000100, 10011010000, 10011000010, 10000110100, 10000110010,
63
	11000010010, 11001010000, 11110111010, 11000010100, 10001111010,
64
	10100111100, 10010111100, 10010011110, 10111100100, 10011110100,
65
	10011110010, 11110100100, 11110010100, 11110010010, 11011011110,
66
	11011110110, 11110110110, 10101111000, 10100011110, 10001011110,
67
	10111101000, 10111100010, 11110101000, 11110100010, 10111011110,
68
	10111101110, 11101011110, 11110101110, 11010000100, 11010010000,
69
	11010011100, 1100011101011
70
];
71