From 67e7e71df1a8765d63e4b09ddf98bc40ebf3bc5c Mon Sep 17 00:00:00 2001 From: Eric de Boer Date: Tue, 18 Jun 2024 14:37:07 +0200 Subject: [PATCH] Use require instead of unsupported import/export --- apps/cards/EAN.js | 8 ++--- apps/cards/EAN13.js | 4 +-- apps/cards/constants.js | 77 +++++++++++++++++++++-------------------- apps/cards/encode.js | 27 ++------------- 4 files changed, 47 insertions(+), 69 deletions(-) diff --git a/apps/cards/EAN.js b/apps/cards/EAN.js index 17b4cbaef..d9d857c0e 100644 --- a/apps/cards/EAN.js +++ b/apps/cards/EAN.js @@ -1,4 +1,4 @@ -import { SIDE_BIN, MIDDLE_BIN } from './constants'; +const constants = require("cards.constants.js"); const encode = require("cards.encode.js"); const Barcode = require("cards.Barcode.js"); @@ -27,11 +27,11 @@ class EAN extends Barcode { encode() { const data = [ - SIDE_BIN, + constants.SIDE_BIN, this.leftEncode(), - MIDDLE_BIN, + constants.MIDDLE_BIN, this.rightEncode(), - SIDE_BIN + constants.SIDE_BIN ]; return { diff --git a/apps/cards/EAN13.js b/apps/cards/EAN13.js index 323daeef8..01be1c8df 100644 --- a/apps/cards/EAN13.js +++ b/apps/cards/EAN13.js @@ -1,7 +1,7 @@ // Encoding documentation: // https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Binary_encoding_of_data_digits_into_EAN-13_barcode -import { EAN13_STRUCTURE } from './constants'; +const constants = require("cards.constants.js"); const EAN = require("cards.EAN.js"); @@ -47,7 +47,7 @@ class EAN13 extends EAN { leftEncode() { const data = this.data.substr(1, 6); - const structure = EAN13_STRUCTURE[this.data[0]]; + const structure = constants.EAN13_STRUCTURE[this.data[0]]; return super.leftEncode(data, structure); } diff --git a/apps/cards/constants.js b/apps/cards/constants.js index 0d9f62415..0f7244ce1 100644 --- a/apps/cards/constants.js +++ b/apps/cards/constants.js @@ -1,42 +1,43 @@ -// Standard start end and middle bits +module.exports = { + // Standard start end and middle bits + SIDE_BIN : '101', + MIDDLE_BIN : '01010', -export const SIDE_BIN = '101'; -export const MIDDLE_BIN = '01010'; + BINARIES : { + 'L': [ // The L (left) type of encoding + '0001101', '0011001', '0010011', '0111101', '0100011', + '0110001', '0101111', '0111011', '0110111', '0001011' + ], + 'G': [ // The G type of encoding + '0100111', '0110011', '0011011', '0100001', '0011101', + '0111001', '0000101', '0010001', '0001001', '0010111' + ], + 'R': [ // The R (right) type of encoding + '1110010', '1100110', '1101100', '1000010', '1011100', + '1001110', '1010000', '1000100', '1001000', '1110100' + ], + 'O': [ // The O (odd) encoding for UPC-E + '0001101', '0011001', '0010011', '0111101', '0100011', + '0110001', '0101111', '0111011', '0110111', '0001011' + ], + 'E': [ // The E (even) encoding for UPC-E + '0100111', '0110011', '0011011', '0100001', '0011101', + '0111001', '0000101', '0010001', '0001001', '0010111' + ] + }, -export const BINARIES = { - 'L': [ // The L (left) type of encoding - '0001101', '0011001', '0010011', '0111101', '0100011', - '0110001', '0101111', '0111011', '0110111', '0001011' + // Define the EAN-2 structure + EAN2_STRUCTURE : ['LL', 'LG', 'GL', 'GG'], + + // Define the EAN-5 structure + EAN5_STRUCTURE : [ + 'GGLLL', 'GLGLL', 'GLLGL', 'GLLLG', 'LGGLL', + 'LLGGL', 'LLLGG', 'LGLGL', 'LGLLG', 'LLGLG' ], - 'G': [ // The G type of encoding - '0100111', '0110011', '0011011', '0100001', '0011101', - '0111001', '0000101', '0010001', '0001001', '0010111' - ], - 'R': [ // The R (right) type of encoding - '1110010', '1100110', '1101100', '1000010', '1011100', - '1001110', '1010000', '1000100', '1001000', '1110100' - ], - 'O': [ // The O (odd) encoding for UPC-E - '0001101', '0011001', '0010011', '0111101', '0100011', - '0110001', '0101111', '0111011', '0110111', '0001011' - ], - 'E': [ // The E (even) encoding for UPC-E - '0100111', '0110011', '0011011', '0100001', '0011101', - '0111001', '0000101', '0010001', '0001001', '0010111' + + // Define the EAN-13 structure + EAN13_STRUCTURE : [ + 'LLLLLL', 'LLGLGG', 'LLGGLG', 'LLGGGL', 'LGLLGG', + 'LGGLLG', 'LGGGLL', 'LGLGLG', 'LGLGGL', 'LGGLGL' ] -}; - -// Define the EAN-2 structure -export const EAN2_STRUCTURE = ['LL', 'LG', 'GL', 'GG']; - -// Define the EAN-5 structure -export const EAN5_STRUCTURE = [ - 'GGLLL', 'GLGLL', 'GLLGL', 'GLLLG', 'LGGLL', - 'LLGGL', 'LLLGG', 'LGLGL', 'LGLLG', 'LLGLG' -]; - -// Define the EAN-13 structure -export const EAN13_STRUCTURE = [ - 'LLLLLL', 'LLGLGG', 'LLGGLG', 'LLGGGL', 'LGLLGG', - 'LGGLLG', 'LGGGLL', 'LGLGLG', 'LGLGGL', 'LGGLGL' -]; \ No newline at end of file +} \ No newline at end of file diff --git a/apps/cards/encode.js b/apps/cards/encode.js index 960bf4991..b484964c7 100644 --- a/apps/cards/encode.js +++ b/apps/cards/encode.js @@ -1,33 +1,10 @@ -//import { BINARIES } from './constants'; - -const BINARIES = { - 'L': [ // The L (left) type of encoding - '0001101', '0011001', '0010011', '0111101', '0100011', - '0110001', '0101111', '0111011', '0110111', '0001011' - ], - 'G': [ // The G type of encoding - '0100111', '0110011', '0011011', '0100001', '0011101', - '0111001', '0000101', '0010001', '0001001', '0010111' - ], - 'R': [ // The R (right) type of encoding - '1110010', '1100110', '1101100', '1000010', '1011100', - '1001110', '1010000', '1000100', '1001000', '1110100' - ], - 'O': [ // The O (odd) encoding for UPC-E - '0001101', '0011001', '0010011', '0111101', '0100011', - '0110001', '0101111', '0111011', '0110111', '0001011' - ], - 'E': [ // The E (even) encoding for UPC-E - '0100111', '0110011', '0011011', '0100001', '0011101', - '0111001', '0000101', '0010001', '0001001', '0010111' - ] -}; +const constants = require("cards.constants.js"); // Encode data string const encode = (data, structure, separator) => { let encoded = data .split('') - .map((val, idx) => BINARIES[structure[idx]]) + .map((val, idx) => constants.BINARIES[structure[idx]]) .map((val, idx) => val ? val[data[idx]] : ''); if (separator) {