UNPKG

jsbarcode-fixed

Version:

JsBarcode is a customizable barcode generator with support for multiple barcode formats.

1,361 lines (997 loc) 131 kB
/******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _barcodes = __webpack_require__(1); var _barcodes2 = _interopRequireDefault(_barcodes); var _merge = __webpack_require__(37); var _merge2 = _interopRequireDefault(_merge); var _linearizeEncodings = __webpack_require__(38); var _linearizeEncodings2 = _interopRequireDefault(_linearizeEncodings); var _fixOptions = __webpack_require__(39); var _fixOptions2 = _interopRequireDefault(_fixOptions); var _getRenderProperties = __webpack_require__(40); var _getRenderProperties2 = _interopRequireDefault(_getRenderProperties); var _optionsFromStrings = __webpack_require__(42); var _optionsFromStrings2 = _interopRequireDefault(_optionsFromStrings); var _ErrorHandler = __webpack_require__(50); var _ErrorHandler2 = _interopRequireDefault(_ErrorHandler); var _exceptions = __webpack_require__(49); var _defaults = __webpack_require__(43); var _defaults2 = _interopRequireDefault(_defaults); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // The protype of the object returned from the JsBarcode() call // Help functions var API = function API() {}; // The first call of the library API // Will return an object with all barcodes calls and the data that is used // by the renderers // Default values // Exceptions // Import all the barcodes var JsBarcode = function JsBarcode(element, text, options) { var api = new API(); if (typeof element === "undefined") { throw Error("No element to render on was provided."); } // Variables that will be pased through the API calls api._renderProperties = (0, _getRenderProperties2.default)(element); api._encodings = []; api._options = _defaults2.default; api._errorHandler = new _ErrorHandler2.default(api); // If text is set, use the simple syntax (render the barcode directly) if (typeof text !== "undefined") { options = options || {}; if (!options.format) { options.format = autoSelectBarcode(); } api.options(options)[options.format](text, options).render(); } return api; }; // To make tests work TODO: remove JsBarcode.getModule = function (name) { return _barcodes2.default[name]; }; // Register all barcodes for (var name in _barcodes2.default) { if (_barcodes2.default.hasOwnProperty(name)) { // Security check if the propery is a prototype property registerBarcode(_barcodes2.default, name); } } function registerBarcode(barcodes, name) { API.prototype[name] = API.prototype[name.toUpperCase()] = API.prototype[name.toLowerCase()] = function (text, options) { var api = this; return api._errorHandler.wrapBarcodeCall(function () { // Ensure text is options.text options.text = typeof options.text === 'undefined' ? undefined : '' + options.text; var newOptions = (0, _merge2.default)(api._options, options); newOptions = (0, _optionsFromStrings2.default)(newOptions); var Encoder = barcodes[name]; var encoded = encode(text, Encoder, newOptions); api._encodings.push(encoded); return api; }); }; } // encode() handles the Encoder call and builds the binary string to be rendered function encode(text, Encoder, options) { // Ensure that text is a string text = "" + text; var encoder = new Encoder(text, options); // If the input is not valid for the encoder, throw error. // If the valid callback option is set, call it instead of throwing error if (!encoder.valid()) { throw new _exceptions.InvalidInputException(encoder.constructor.name, text); } // Make a request for the binary data (and other infromation) that should be rendered var encoded = encoder.encode(); // Encodings can be nestled like [[1-1, 1-2], 2, [3-1, 3-2] // Convert to [1-1, 1-2, 2, 3-1, 3-2] encoded = (0, _linearizeEncodings2.default)(encoded); // Merge for (var i = 0; i < encoded.length; i++) { encoded[i].options = (0, _merge2.default)(options, encoded[i].options); } return encoded; } function autoSelectBarcode() { // If CODE128 exists. Use it if (_barcodes2.default["CODE128"]) { return "CODE128"; } // Else, take the first (probably only) barcode return Object.keys(_barcodes2.default)[0]; } // Sets global encoder options // Added to the api by the JsBarcode function API.prototype.options = function (options) { this._options = (0, _merge2.default)(this._options, options); return this; }; // Will create a blank space (usually in between barcodes) API.prototype.blank = function (size) { var zeroes = new Array(size + 1).join("0"); this._encodings.push({ data: zeroes }); return this; }; // Initialize JsBarcode on all HTML elements defined. API.prototype.init = function () { // Should do nothing if no elements where found if (!this._renderProperties) { return; } // Make sure renderProperies is an array if (!Array.isArray(this._renderProperties)) { this._renderProperties = [this._renderProperties]; } var renderProperty; for (var i in this._renderProperties) { renderProperty = this._renderProperties[i]; var options = (0, _merge2.default)(this._options, renderProperty.options); if (options.format == "auto") { options.format = autoSelectBarcode(); } this._errorHandler.wrapBarcodeCall(function () { var text = options.value; var Encoder = _barcodes2.default[options.format.toUpperCase()]; var encoded = encode(text, Encoder, options); render(renderProperty, encoded, options); }); } }; // The render API call. Calls the real render function. API.prototype.render = function () { if (!this._renderProperties) { throw new _exceptions.NoElementException(); } if (Array.isArray(this._renderProperties)) { for (var i = 0; i < this._renderProperties.length; i++) { render(this._renderProperties[i], this._encodings, this._options); } } else { render(this._renderProperties, this._encodings, this._options); } return this; }; API.prototype._defaults = _defaults2.default; // Prepares the encodings and calls the renderer function render(renderProperties, encodings, options) { encodings = (0, _linearizeEncodings2.default)(encodings); for (var i = 0; i < encodings.length; i++) { encodings[i].options = (0, _merge2.default)(options, encodings[i].options); (0, _fixOptions2.default)(encodings[i].options); } (0, _fixOptions2.default)(options); var Renderer = renderProperties.renderer; var renderer = new Renderer(renderProperties.element, encodings, options); renderer.render(); if (renderProperties.afterRender) { renderProperties.afterRender(); } } // Export to browser if (typeof window !== "undefined") { window.JsBarcode = JsBarcode; } // Export to jQuery /*global jQuery */ if (typeof jQuery !== 'undefined') { jQuery.fn.JsBarcode = function (content, options) { var elementArray = []; jQuery(this).each(function () { elementArray.push(this); }); return JsBarcode(elementArray, content, options); }; } // Export to commonJS module.exports = JsBarcode; /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _CODE = __webpack_require__(2); var _CODE2 = __webpack_require__(4); var _EAN_UPC = __webpack_require__(13); var _ITF = __webpack_require__(23); var _MSI = __webpack_require__(27); var _pharmacode = __webpack_require__(34); var _codabar = __webpack_require__(35); var _GenericBarcode = __webpack_require__(36); exports.default = { CODE39: _CODE.CODE39, CODE128: _CODE2.CODE128, CODE128A: _CODE2.CODE128A, CODE128B: _CODE2.CODE128B, CODE128C: _CODE2.CODE128C, CODE128Fix: _CODE2.CODE128Fix, EAN13: _EAN_UPC.EAN13, EAN8: _EAN_UPC.EAN8, EAN5: _EAN_UPC.EAN5, EAN2: _EAN_UPC.EAN2, UPC: _EAN_UPC.UPC, UPCE: _EAN_UPC.UPCE, ITF14: _ITF.ITF14, ITF: _ITF.ITF, MSI: _MSI.MSI, MSI10: _MSI.MSI10, MSI11: _MSI.MSI11, MSI1010: _MSI.MSI1010, MSI1110: _MSI.MSI1110, pharmacode: _pharmacode.pharmacode, codabar: _codabar.codabar, GenericBarcode: _GenericBarcode.GenericBarcode }; /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CODE39 = undefined; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _Barcode2 = __webpack_require__(3); var _Barcode3 = _interopRequireDefault(_Barcode2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation: // https://en.wikipedia.org/wiki/Code_39#Encoding var CODE39 = function (_Barcode) { _inherits(CODE39, _Barcode); function CODE39(data, options) { _classCallCheck(this, CODE39); data = data.toUpperCase(); // Calculate mod43 checksum if enabled if (options.mod43) { data += getCharacter(mod43checksum(data)); } return _possibleConstructorReturn(this, (CODE39.__proto__ || Object.getPrototypeOf(CODE39)).call(this, data, options)); } _createClass(CODE39, [{ key: "encode", value: function encode() { // First character is always a * var result = getEncoding("*"); // Take every character and add the binary representation to the result for (var i = 0; i < this.data.length; i++) { result += getEncoding(this.data[i]) + "0"; } // Last character is always a * result += getEncoding("*"); return { data: result, text: this.text }; } }, { key: "valid", value: function valid() { return this.data.search(/^[0-9A-Z\-\.\ \$\/\+\%]+$/) !== -1; } }]); return CODE39; }(_Barcode3.default); // All characters. The position in the array is the (checksum) value var characters = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "-", ".", " ", "$", "/", "+", "%", "*"]; // The decimal representation of the characters, is converted to the // corresponding binary with the getEncoding function var encodings = [20957, 29783, 23639, 30485, 20951, 29813, 23669, 20855, 29789, 23645, 29975, 23831, 30533, 22295, 30149, 24005, 21623, 29981, 23837, 22301, 30023, 23879, 30545, 22343, 30161, 24017, 21959, 30065, 23921, 22385, 29015, 18263, 29141, 17879, 29045, 18293, 17783, 29021, 18269, 17477, 17489, 17681, 20753, 35770]; // Get the binary representation of a character by converting the encodings // from decimal to binary function getEncoding(character) { return getBinary(characterValue(character)); } function getBinary(characterValue) { return encodings[characterValue].toString(2); } function getCharacter(characterValue) { return characters[characterValue]; } function characterValue(character) { return characters.indexOf(character); } function mod43checksum(data) { var checksum = 0; for (var i = 0; i < data.length; i++) { checksum += characterValue(data[i]); } checksum = checksum % 43; return checksum; } exports.CODE39 = CODE39; /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var Barcode = function Barcode(data, options) { _classCallCheck(this, Barcode); this.data = data; this.text = options.text || data; this.options = options; }; exports.default = Barcode; /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CODE128Fix = exports.CODE128C = exports.CODE128B = exports.CODE128A = exports.CODE128 = undefined; var _CODE128_AUTO = __webpack_require__(5); var _CODE128_AUTO2 = _interopRequireDefault(_CODE128_AUTO); var _CODE128A = __webpack_require__(9); var _CODE128A2 = _interopRequireDefault(_CODE128A); var _CODE128B = __webpack_require__(10); var _CODE128B2 = _interopRequireDefault(_CODE128B); var _CODE128C = __webpack_require__(11); var _CODE128C2 = _interopRequireDefault(_CODE128C); var _CODE128Fix = __webpack_require__(12); var _CODE128Fix2 = _interopRequireDefault(_CODE128Fix); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.CODE128 = _CODE128_AUTO2.default; exports.CODE128A = _CODE128A2.default; exports.CODE128B = _CODE128B2.default; exports.CODE128C = _CODE128C2.default; exports.CODE128Fix = _CODE128Fix2.default; /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _CODE2 = __webpack_require__(6); var _CODE3 = _interopRequireDefault(_CODE2); var _auto = __webpack_require__(8); var _auto2 = _interopRequireDefault(_auto); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var CODE128AUTO = function (_CODE) { _inherits(CODE128AUTO, _CODE); function CODE128AUTO(data, options) { _classCallCheck(this, CODE128AUTO); // ASCII value ranges 0-127, 200-211 if (/^[\x00-\x7F\xC8-\xD3]+$/.test(data)) { var _this = _possibleConstructorReturn(this, (CODE128AUTO.__proto__ || Object.getPrototypeOf(CODE128AUTO)).call(this, (0, _auto2.default)(data), options)); } else { var _this = _possibleConstructorReturn(this, (CODE128AUTO.__proto__ || Object.getPrototypeOf(CODE128AUTO)).call(this, data, options)); } return _possibleConstructorReturn(_this); } return CODE128AUTO; }(_CODE3.default); exports.default = CODE128AUTO; /***/ }), /* 6 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _Barcode2 = __webpack_require__(3); var _Barcode3 = _interopRequireDefault(_Barcode2); var _constants = __webpack_require__(7); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // This is the master class, // it does require the start code to be included in the string var CODE128 = function (_Barcode) { _inherits(CODE128, _Barcode); function CODE128(data, options) { _classCallCheck(this, CODE128); // Get array of ascii codes from data var _this = _possibleConstructorReturn(this, (CODE128.__proto__ || Object.getPrototypeOf(CODE128)).call(this, data.substring(1), options)); _this.bytes = data.split('').map(function (char) { return char.charCodeAt(0); }); return _this; } _createClass(CODE128, [{ key: 'valid', value: function valid() { // ASCII value ranges 0-127, 200-211 return (/^[\x00-\x7F\xC8-\xD3]+$/.test(this.data) ); } // The public encoding function }, { key: 'encode', value: function encode() { var bytes = this.bytes; // Remove the start code from the bytes and set its index var startIndex = bytes.shift() - 105; // Get start set by index var startSet = _constants.SET_BY_CODE[startIndex]; if (startSet === undefined) { throw new RangeError('The encoding does not start with a start character.'); } if (this.shouldEncodeAsEan128() === true) { bytes.unshift(_constants.FNC1); } // Start encode with the right type var encodingResult = CODE128.next(bytes, 1, startSet); return { text: this.text === this.data ? this.text.replace(/[^\x20-\x7E]/g, '') : this.text, data: // Add the start bits CODE128.getBar(startIndex) + // Add the encoded bits encodingResult.result + // Add the checksum CODE128.getBar((encodingResult.checksum + startIndex) % _constants.MODULO) + // Add the end bits CODE128.getBar(_constants.STOP) }; } // GS1-128/EAN-128 }, { key: 'shouldEncodeAsEan128', value: function shouldEncodeAsEan128() { var isEAN128 = this.options.ean128 || false; if (typeof isEAN128 === 'string') { isEAN128 = isEAN128.toLowerCase() === 'true'; } return isEAN128; } // Get a bar symbol by index }], [{ key: 'getBar', value: function getBar(index) { return _constants.BARS[index] ? _constants.BARS[index].toString() : ''; } // Correct an index by a set and shift it from the bytes array }, { key: 'correctIndex', value: function correctIndex(bytes, set) { if (set === _constants.SET_A) { var charCode = bytes.shift(); return charCode < 32 ? charCode + 64 : charCode - 32; } else if (set === _constants.SET_B) { return bytes.shift() - 32; } else { return (bytes.shift() - 48) * 10 + bytes.shift() - 48; } } }, { key: 'next', value: function next(bytes, pos, set) { if (!bytes.length) { return { result: '', checksum: 0 }; } var nextCode = void 0, index = void 0; // Special characters if (bytes[0] >= 200) { index = bytes.shift() - 105; var nextSet = _constants.SWAP[index]; // Swap to other set if (nextSet !== undefined) { nextCode = CODE128.next(bytes, pos + 1, nextSet); } // Continue on current set but encode a special character else { // Shift if ((set === _constants.SET_A || set === _constants.SET_B) && index === _constants.SHIFT) { // Convert the next character so that is encoded correctly bytes[0] = set === _constants.SET_A ? bytes[0] > 95 ? bytes[0] - 96 : bytes[0] : bytes[0] < 32 ? bytes[0] + 96 : bytes[0]; } nextCode = CODE128.next(bytes, pos + 1, set); } } // Continue encoding else { index = CODE128.correctIndex(bytes, set); nextCode = CODE128.next(bytes, pos + 1, set); } // Get the correct binary encoding and calculate the weight var enc = CODE128.getBar(index); var weight = index * pos; return { result: enc + nextCode.result, checksum: weight + nextCode.checksum }; } }]); return CODE128; }(_Barcode3.default); exports.default = CODE128; /***/ }), /* 7 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _SET_BY_CODE; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } // constants for internal usage var SET_A = exports.SET_A = 0; var SET_B = exports.SET_B = 1; var SET_C = exports.SET_C = 2; // Special characters var SHIFT = exports.SHIFT = 98; var START_A = exports.START_A = 103; var START_B = exports.START_B = 104; var START_C = exports.START_C = 105; var MODULO = exports.MODULO = 103; var STOP = exports.STOP = 106; var FNC1 = exports.FNC1 = 207; // Get set by start code var SET_BY_CODE = exports.SET_BY_CODE = (_SET_BY_CODE = {}, _defineProperty(_SET_BY_CODE, START_A, SET_A), _defineProperty(_SET_BY_CODE, START_B, SET_B), _defineProperty(_SET_BY_CODE, START_C, SET_C), _SET_BY_CODE); // Get next set by code var SWAP = exports.SWAP = { 101: SET_A, 100: SET_B, 99: SET_C }; var A_START_CHAR = exports.A_START_CHAR = String.fromCharCode(208); // START_A + 105 var B_START_CHAR = exports.B_START_CHAR = String.fromCharCode(209); // START_B + 105 var C_START_CHAR = exports.C_START_CHAR = String.fromCharCode(210); // START_C + 105 // 128A (Code Set A) // ASCII characters 00 to 95 (0–9, A–Z and control codes), special characters, and FNC 1–4 var A_CHARS = exports.A_CHARS = "[\x00-\x5F\xC8-\xCF]"; // 128B (Code Set B) // ASCII characters 32 to 127 (0–9, A–Z, a–z), special characters, and FNC 1–4 var B_CHARS = exports.B_CHARS = "[\x20-\x7F\xC8-\xCF]"; // 128C (Code Set C) // 00–99 (encodes two digits with a single code point) and FNC1 var C_CHARS = exports.C_CHARS = "(\xCF*[0-9]{2}\xCF*)"; // CODE128 includes 107 symbols: // 103 data symbols, 3 start symbols (A, B and C), and 1 stop symbol (the last one) // Each symbol consist of three black bars (1) and three white spaces (0). var BARS = exports.BARS = [11011001100, 11001101100, 11001100110, 10010011000, 10010001100, 10001001100, 10011001000, 10011000100, 10001100100, 11001001000, 11001000100, 11000100100, 10110011100, 10011011100, 10011001110, 10111001100, 10011101100, 10011100110, 11001110010, 11001011100, 11001001110, 11011100100, 11001110100, 11101101110, 11101001100, 11100101100, 11100100110, 11101100100, 11100110100, 11100110010, 11011011000, 11011000110, 11000110110, 10100011000, 10001011000, 10001000110, 10110001000, 10001101000, 10001100010, 11010001000, 11000101000, 11000100010, 10110111000, 10110001110, 10001101110, 10111011000, 10111000110, 10001110110, 11101110110, 11010001110, 11000101110, 11011101000, 11011100010, 11011101110, 11101011000, 11101000110, 11100010110, 11101101000, 11101100010, 11100011010, 11101111010, 11001000010, 11110001010, 10100110000, 10100001100, 10010110000, 10010000110, 10000101100, 10000100110, 10110010000, 10110000100, 10011010000, 10011000010, 10000110100, 10000110010, 11000010010, 11001010000, 11110111010, 11000010100, 10001111010, 10100111100, 10010111100, 10010011110, 10111100100, 10011110100, 10011110010, 11110100100, 11110010100, 11110010010, 11011011110, 11011110110, 11110110110, 10101111000, 10100011110, 10001011110, 10111101000, 10111100010, 11110101000, 11110100010, 10111011110, 10111101110, 11101011110, 11110101110, 11010000100, 11010010000, 11010011100, 1100011101011]; /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _constants = __webpack_require__(7); // Match Set functions var matchSetALength = function matchSetALength(string) { return string.match(new RegExp('^' + _constants.A_CHARS + '*'))[0].length; }; var matchSetBLength = function matchSetBLength(string) { return string.match(new RegExp('^' + _constants.B_CHARS + '*'))[0].length; }; var matchSetC = function matchSetC(string) { return string.match(new RegExp('^' + _constants.C_CHARS + '*'))[0]; }; // CODE128A or CODE128B function autoSelectFromAB(string, isA) { var ranges = isA ? _constants.A_CHARS : _constants.B_CHARS; var untilC = string.match(new RegExp('^(' + ranges + '+?)(([0-9]{2}){2,})([^0-9]|$)')); if (untilC) { return untilC[1] + String.fromCharCode(204) + autoSelectFromC(string.substring(untilC[1].length)); } var chars = string.match(new RegExp('^' + ranges + '+'))[0]; if (chars.length === string.length) { return string; } return chars + String.fromCharCode(isA ? 205 : 206) + autoSelectFromAB(string.substring(chars.length), !isA); } // CODE128C function autoSelectFromC(string) { var cMatch = matchSetC(string); var length = cMatch.length; if (length === string.length) { return string; } string = string.substring(length); // Select A/B depending on the longest match var isA = matchSetALength(string) >= matchSetBLength(string); return cMatch + String.fromCharCode(isA ? 206 : 205) + autoSelectFromAB(string, isA); } // Detect Code Set (A, B or C) and format the string exports.default = function (string) { var newString = void 0; var cLength = matchSetC(string).length; // Select 128C if the string start with enough digits if (cLength >= 2) { newString = _constants.C_START_CHAR + autoSelectFromC(string); } else { // Select A/B depending on the longest match var isA = matchSetALength(string) > matchSetBLength(string); newString = (isA ? _constants.A_START_CHAR : _constants.B_START_CHAR) + autoSelectFromAB(string, isA); } return newString.replace(/[\xCD\xCE]([^])[\xCD\xCE]/, // Any sequence between 205 and 206 characters function (match, char) { return String.fromCharCode(203) + char; }); }; /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _CODE2 = __webpack_require__(6); var _CODE3 = _interopRequireDefault(_CODE2); var _constants = __webpack_require__(7); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var CODE128A = function (_CODE) { _inherits(CODE128A, _CODE); function CODE128A(string, options) { _classCallCheck(this, CODE128A); return _possibleConstructorReturn(this, (CODE128A.__proto__ || Object.getPrototypeOf(CODE128A)).call(this, _constants.A_START_CHAR + string, options)); } _createClass(CODE128A, [{ key: 'valid', value: function valid() { return new RegExp('^' + _constants.A_CHARS + '+$').test(this.data); } }]); return CODE128A; }(_CODE3.default); exports.default = CODE128A; /***/ }), /* 10 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _CODE2 = __webpack_require__(6); var _CODE3 = _interopRequireDefault(_CODE2); var _constants = __webpack_require__(7); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var CODE128B = function (_CODE) { _inherits(CODE128B, _CODE); function CODE128B(string, options) { _classCallCheck(this, CODE128B); return _possibleConstructorReturn(this, (CODE128B.__proto__ || Object.getPrototypeOf(CODE128B)).call(this, _constants.B_START_CHAR + string, options)); } _createClass(CODE128B, [{ key: 'valid', value: function valid() { return new RegExp('^' + _constants.B_CHARS + '+$').test(this.data); } }]); return CODE128B; }(_CODE3.default); exports.default = CODE128B; /***/ }), /* 11 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _CODE2 = __webpack_require__(6); var _CODE3 = _interopRequireDefault(_CODE2); var _constants = __webpack_require__(7); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var CODE128C = function (_CODE) { _inherits(CODE128C, _CODE); function CODE128C(string, options) { _classCallCheck(this, CODE128C); return _possibleConstructorReturn(this, (CODE128C.__proto__ || Object.getPrototypeOf(CODE128C)).call(this, _constants.C_START_CHAR + string, options)); } _createClass(CODE128C, [{ key: 'valid', value: function valid() { return new RegExp('^' + _constants.C_CHARS + '+$').test(this.data); } }]); return CODE128C; }(_CODE3.default); exports.default = CODE128C; /***/ }), /* 12 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _CODE2 = __webpack_require__(6); var _CODE3 = _interopRequireDefault(_CODE2); var _constants = __webpack_require__(7); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var CODE_C = String.fromCharCode(204); var CODE_B = String.fromCharCode(205); var matchSetC = function matchSetC(string) { return string.match(new RegExp('^' + _constants.C_CHARS + '*'))[0]; }; var CODE128Fix = function (_CODE) { _inherits(CODE128Fix, _CODE); function CODE128Fix(string, options) { _classCallCheck(this, CODE128Fix); var starting = matchSetC(string); var bStartingIndex = starting.length; var content = _constants.B_START_CHAR + CODE_C + string.substring(0, bStartingIndex); var cStartingIndex = bStartingIndex + 3; if (!string.substring(bStartingIndex).startsWith(" ")) { cStartingIndex = cStartingIndex + 1; } content = content + CODE_B + string.substring(bStartingIndex, cStartingIndex); var remaining = string.substring(cStartingIndex); var remainingMatched = matchSetC(remaining); content = content + CODE_C + string.substring(cStartingIndex, cStartingIndex + remainingMatched.length); if (remainingMatched !== remaining) { content = content + CODE_B + string.substring(cStartingIndex + remainingMatched.length); } return _possibleConstructorReturn(this, (CODE128Fix.__proto__ || Object.getPrototypeOf(CODE128Fix)).call(this, content, options)); } _createClass(CODE128Fix, [{ key: 'valid', value: function valid() { return true; } }]); return CODE128Fix; }(_CODE3.default); exports.default = CODE128Fix; /***/ }), /* 13 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UPCE = exports.UPC = exports.EAN2 = exports.EAN5 = exports.EAN8 = exports.EAN13 = undefined; var _EAN = __webpack_require__(14); var _EAN2 = _interopRequireDefault(_EAN); var _EAN3 = __webpack_require__(18); var _EAN4 = _interopRequireDefault(_EAN3); var _EAN5 = __webpack_require__(19); var _EAN6 = _interopRequireDefault(_EAN5); var _EAN7 = __webpack_require__(20); var _EAN8 = _interopRequireDefault(_EAN7); var _UPC = __webpack_require__(21); var _UPC2 = _interopRequireDefault(_UPC); var _UPCE = __webpack_require__(22); var _UPCE2 = _interopRequireDefault(_UPCE); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.EAN13 = _EAN2.default; exports.EAN8 = _EAN4.default; exports.EAN5 = _EAN6.default; exports.EAN2 = _EAN8.default; exports.UPC = _UPC2.default; exports.UPCE = _UPCE2.default; /***/ }), /* 14 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } }; var _constants = __webpack_require__(15); var _EAN2 = __webpack_require__(16); var _EAN3 = _interopRequireDefault(_EAN2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation: // https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Binary_encoding_of_data_digits_into_EAN-13_barcode // Calculate the checksum digit // https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Calculation_of_checksum_digit var checksum = function checksum(number) { var res = number.substr(0, 12).split('').map(function (n) { return +n; }).reduce(function (sum, a, idx) { return idx % 2 ? sum + a * 3 : sum + a; }, 0); return (10 - res % 10) % 10; }; var EAN13 = function (_EAN) { _inherits(EAN13, _EAN); function EAN13(data, options) { _classCallCheck(this, EAN13); // Add checksum if it does not exist if (data.search(/^[0-9]{12}$/) !== -1) { data += checksum(data); } // Adds a last character to the end of the barcode var _this = _possibleConstructorReturn(this, (EAN13.__proto__ || Object.getPrototypeOf(EAN13)).call(this, data, options)); _this.lastChar = options.lastChar; return _this; } _createClass(EAN13, [{ key: 'valid', value: function valid() { return this.data.search(/^[0-9]{13}$/) !== -1 && +this.data[12] === checksum(this.data); } }, { key: 'leftText', value: function leftText() { return _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'leftText', this).call(this, 1, 6); } }, { key: 'leftEncode', value: function leftEncode() { var data = this.data.substr(1, 6); var structure = _constants.EAN13_STRUCTURE[this.data[0]]; return _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'leftEncode', this).call(this, data, structure); } }, { key: 'rightText', value: function rightText() { return _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'rightText', this).call(this, 7, 6); } }, { key: 'rightEncode', value: function rightEncode() { var data = this.data.substr(7, 6); return _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'rightEncode', this).call(this, data, 'RRRRRR'); } // The "standard" way of printing EAN13 barcodes with guard bars }, { key: 'encodeGuarded', value: function encodeGuarded() { var data = _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'encodeGuarded', this).call(this); // Extend data with left digit & last character if (this.options.displayValue) { data.unshift({ data: '000000000000', text: this.text.substr(0, 1), options: { textAlign: 'left', fontSize: this.fontSize } }); if (this.options.lastChar) { data.push({ data: '00' }); data.push({ data: '00000', text: this.options.lastChar, options: { fontSize: this.fontSize } }); } } return data; } }]); return EAN13; }(_EAN3.default); exports.default = EAN13; /***/ }), /* 15 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // Standard start end and middle bits var SIDE_BIN = exports.SIDE_BIN = '101'; var MIDDLE_BIN = exports.MIDDLE_BIN = '01010'; var BINARIES = exports.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'] }; // Define the EAN-2 structure var EAN2_STRUCTURE = exports.EAN2_STRUCTURE = ['LL', 'LG', 'GL', 'GG']; // Define the EAN-5 structure var EAN5_STRUCTURE = exports.EAN5_STRUCTURE = ['GGLLL', 'GLGLL', 'GLLGL', 'GLLLG', 'LGGLL', 'LLGGL', 'LLLGG', 'LGLGL', 'LGLLG', 'LLGLG']; // Define the EAN-13 structure var EAN13_STRUCTURE = exports.EAN13_STRUCTURE = ['LLLLLL', 'LLGLGG', 'LLGGLG', 'LLGGGL', 'LGLLGG', 'LGGLLG', 'LGGGLL', 'LGLGLG', 'LGLGGL', 'LGGLGL']; /***/ }), /* 16 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _constants = __webpack_require__(15); var _encoder = __webpack_require__(17); var _encoder2 = _interopRequireDefault(_encoder); var _Barcode2 = __webpack_require__(3); var _Barcode3 = _interopRequireDefault(_Barcode2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj