@wecom/wecom-openclaw-cli 1.0.14 → 1.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_commonjsHelpers.js +8 -0
- package/dist/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/_virtual/alignment-pattern.js +6 -0
- package/dist/_virtual/alignment-pattern.js.map +1 -0
- package/dist/_virtual/bitmapper.js +6 -0
- package/dist/_virtual/bitmapper.js.map +1 -0
- package/dist/_virtual/browser.js +6 -0
- package/dist/_virtual/browser.js.map +1 -0
- package/dist/_virtual/canvas.js +6 -0
- package/dist/_virtual/canvas.js.map +1 -0
- package/dist/_virtual/chunkstream.js +6 -0
- package/dist/_virtual/chunkstream.js.map +1 -0
- package/dist/_virtual/crc.js +6 -0
- package/dist/_virtual/crc.js.map +1 -0
- package/dist/_virtual/dijkstra.js +6 -0
- package/dist/_virtual/dijkstra.js.map +1 -0
- package/dist/_virtual/error-correction-code.js +6 -0
- package/dist/_virtual/error-correction-code.js.map +1 -0
- package/dist/_virtual/error-correction-level.js +6 -0
- package/dist/_virtual/error-correction-level.js.map +1 -0
- package/dist/_virtual/filter-parse-async.js +6 -0
- package/dist/_virtual/filter-parse-async.js.map +1 -0
- package/dist/_virtual/filter-parse-sync.js +6 -0
- package/dist/_virtual/filter-parse-sync.js.map +1 -0
- package/dist/_virtual/filter-parse.js +6 -0
- package/dist/_virtual/filter-parse.js.map +1 -0
- package/dist/_virtual/finder-pattern.js +6 -0
- package/dist/_virtual/finder-pattern.js.map +1 -0
- package/dist/_virtual/format-info.js +6 -0
- package/dist/_virtual/format-info.js.map +1 -0
- package/dist/_virtual/galois-field.js +6 -0
- package/dist/_virtual/galois-field.js.map +1 -0
- package/dist/_virtual/index.js +10 -0
- package/dist/_virtual/index.js.map +1 -0
- package/dist/_virtual/interlace.js +6 -0
- package/dist/_virtual/interlace.js.map +1 -0
- package/dist/_virtual/mask-pattern.js +6 -0
- package/dist/_virtual/mask-pattern.js.map +1 -0
- package/dist/_virtual/mode.js +6 -0
- package/dist/_virtual/mode.js.map +1 -0
- package/dist/_virtual/packer-async.js +6 -0
- package/dist/_virtual/packer-async.js.map +1 -0
- package/dist/_virtual/packer.js +6 -0
- package/dist/_virtual/packer.js.map +1 -0
- package/dist/_virtual/parser-async.js +6 -0
- package/dist/_virtual/parser-async.js.map +1 -0
- package/dist/_virtual/parser.js +6 -0
- package/dist/_virtual/parser.js.map +1 -0
- package/dist/_virtual/png-sync.js +6 -0
- package/dist/_virtual/png-sync.js.map +1 -0
- package/dist/_virtual/png.js +6 -0
- package/dist/_virtual/png.js.map +1 -0
- package/dist/_virtual/png2.js +6 -0
- package/dist/_virtual/png2.js.map +1 -0
- package/dist/_virtual/polynomial.js +6 -0
- package/dist/_virtual/polynomial.js.map +1 -0
- package/dist/_virtual/qrcode.js +6 -0
- package/dist/_virtual/qrcode.js.map +1 -0
- package/dist/_virtual/regex.js +6 -0
- package/dist/_virtual/regex.js.map +1 -0
- package/dist/_virtual/segments.js +6 -0
- package/dist/_virtual/segments.js.map +1 -0
- package/dist/_virtual/server.js +6 -0
- package/dist/_virtual/server.js.map +1 -0
- package/dist/_virtual/svg-tag.js +6 -0
- package/dist/_virtual/svg-tag.js.map +1 -0
- package/dist/_virtual/svg.js +6 -0
- package/dist/_virtual/svg.js.map +1 -0
- package/dist/_virtual/sync-inflate.js +6 -0
- package/dist/_virtual/sync-inflate.js.map +1 -0
- package/dist/_virtual/sync-reader.js +6 -0
- package/dist/_virtual/sync-reader.js.map +1 -0
- package/dist/_virtual/terminal-small.js +6 -0
- package/dist/_virtual/terminal-small.js.map +1 -0
- package/dist/_virtual/terminal.js +6 -0
- package/dist/_virtual/terminal.js.map +1 -0
- package/dist/_virtual/terminal2.js +6 -0
- package/dist/_virtual/terminal2.js.map +1 -0
- package/dist/_virtual/utf8.js +6 -0
- package/dist/_virtual/utf8.js.map +1 -0
- package/dist/_virtual/utils.js +6 -0
- package/dist/_virtual/utils.js.map +1 -0
- package/dist/_virtual/utils2.js +6 -0
- package/dist/_virtual/utils2.js.map +1 -0
- package/dist/_virtual/version-check.js +6 -0
- package/dist/_virtual/version-check.js.map +1 -0
- package/dist/_virtual/version.js +6 -0
- package/dist/_virtual/version.js.map +1 -0
- package/dist/node_modules/dijkstrajs/dijkstra.js +179 -0
- package/dist/node_modules/dijkstrajs/dijkstra.js.map +1 -0
- package/dist/node_modules/pngjs/lib/bitmapper.js +281 -0
- package/dist/node_modules/pngjs/lib/bitmapper.js.map +1 -0
- package/dist/node_modules/pngjs/lib/bitpacker.js +172 -0
- package/dist/node_modules/pngjs/lib/bitpacker.js.map +1 -0
- package/dist/node_modules/pngjs/lib/chunkstream.js +204 -0
- package/dist/node_modules/pngjs/lib/chunkstream.js.map +1 -0
- package/dist/node_modules/pngjs/lib/constants.js +44 -0
- package/dist/node_modules/pngjs/lib/constants.js.map +1 -0
- package/dist/node_modules/pngjs/lib/crc.js +53 -0
- package/dist/node_modules/pngjs/lib/crc.js.map +1 -0
- package/dist/node_modules/pngjs/lib/filter-pack.js +185 -0
- package/dist/node_modules/pngjs/lib/filter-pack.js.map +1 -0
- package/dist/node_modules/pngjs/lib/filter-parse-async.js +40 -0
- package/dist/node_modules/pngjs/lib/filter-parse-async.js.map +1 -0
- package/dist/node_modules/pngjs/lib/filter-parse-sync.js +36 -0
- package/dist/node_modules/pngjs/lib/filter-parse-sync.js.map +1 -0
- package/dist/node_modules/pngjs/lib/filter-parse.js +192 -0
- package/dist/node_modules/pngjs/lib/filter-parse.js.map +1 -0
- package/dist/node_modules/pngjs/lib/format-normaliser.js +105 -0
- package/dist/node_modules/pngjs/lib/format-normaliser.js.map +1 -0
- package/dist/node_modules/pngjs/lib/interlace.js +108 -0
- package/dist/node_modules/pngjs/lib/interlace.js.map +1 -0
- package/dist/node_modules/pngjs/lib/packer-async.js +67 -0
- package/dist/node_modules/pngjs/lib/packer-async.js.map +1 -0
- package/dist/node_modules/pngjs/lib/packer-sync.js +72 -0
- package/dist/node_modules/pngjs/lib/packer-sync.js.map +1 -0
- package/dist/node_modules/pngjs/lib/packer.js +147 -0
- package/dist/node_modules/pngjs/lib/packer.js.map +1 -0
- package/dist/node_modules/pngjs/lib/paeth-predictor.js +28 -0
- package/dist/node_modules/pngjs/lib/paeth-predictor.js.map +1 -0
- package/dist/node_modules/pngjs/lib/parser-async.js +185 -0
- package/dist/node_modules/pngjs/lib/parser-async.js.map +1 -0
- package/dist/node_modules/pngjs/lib/parser-sync.js +128 -0
- package/dist/node_modules/pngjs/lib/parser-sync.js.map +1 -0
- package/dist/node_modules/pngjs/lib/parser.js +305 -0
- package/dist/node_modules/pngjs/lib/parser.js.map +1 -0
- package/dist/node_modules/pngjs/lib/png-sync.js +27 -0
- package/dist/node_modules/pngjs/lib/png-sync.js.map +1 -0
- package/dist/node_modules/pngjs/lib/png.js +212 -0
- package/dist/node_modules/pngjs/lib/png.js.map +1 -0
- package/dist/node_modules/pngjs/lib/sync-inflate.js +184 -0
- package/dist/node_modules/pngjs/lib/sync-inflate.js.map +1 -0
- package/dist/node_modules/pngjs/lib/sync-reader.js +58 -0
- package/dist/node_modules/pngjs/lib/sync-reader.js.map +1 -0
- package/dist/node_modules/qrcode/lib/browser.js +93 -0
- package/dist/node_modules/qrcode/lib/browser.js.map +1 -0
- package/dist/node_modules/qrcode/lib/can-promise.js +20 -0
- package/dist/node_modules/qrcode/lib/can-promise.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/alignment-pattern.js +100 -0
- package/dist/node_modules/qrcode/lib/core/alignment-pattern.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/alphanumeric-data.js +74 -0
- package/dist/node_modules/qrcode/lib/core/alphanumeric-data.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/bit-buffer.js +50 -0
- package/dist/node_modules/qrcode/lib/core/bit-buffer.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/bit-matrix.js +79 -0
- package/dist/node_modules/qrcode/lib/core/bit-matrix.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/byte-data.js +45 -0
- package/dist/node_modules/qrcode/lib/core/byte-data.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/error-correction-code.js +150 -0
- package/dist/node_modules/qrcode/lib/core/error-correction-code.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/error-correction-level.js +66 -0
- package/dist/node_modules/qrcode/lib/core/error-correction-level.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/finder-pattern.js +37 -0
- package/dist/node_modules/qrcode/lib/core/finder-pattern.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/format-info.js +44 -0
- package/dist/node_modules/qrcode/lib/core/format-info.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/galois-field.js +83 -0
- package/dist/node_modules/qrcode/lib/core/galois-field.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/kanji-data.js +70 -0
- package/dist/node_modules/qrcode/lib/core/kanji-data.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/mask-pattern.js +251 -0
- package/dist/node_modules/qrcode/lib/core/mask-pattern.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/mode.js +185 -0
- package/dist/node_modules/qrcode/lib/core/mode.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/numeric-data.js +58 -0
- package/dist/node_modules/qrcode/lib/core/numeric-data.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/polynomial.js +79 -0
- package/dist/node_modules/qrcode/lib/core/polynomial.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/qrcode.js +522 -0
- package/dist/node_modules/qrcode/lib/core/qrcode.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/reed-solomon-encoder.js +71 -0
- package/dist/node_modules/qrcode/lib/core/reed-solomon-encoder.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/regex.js +45 -0
- package/dist/node_modules/qrcode/lib/core/regex.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/segments.js +354 -0
- package/dist/node_modules/qrcode/lib/core/segments.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/utils.js +77 -0
- package/dist/node_modules/qrcode/lib/core/utils.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/version-check.js +24 -0
- package/dist/node_modules/qrcode/lib/core/version-check.js.map +1 -0
- package/dist/node_modules/qrcode/lib/core/version.js +184 -0
- package/dist/node_modules/qrcode/lib/core/version.js.map +1 -0
- package/dist/node_modules/qrcode/lib/index.js +27 -0
- package/dist/node_modules/qrcode/lib/index.js.map +1 -0
- package/dist/node_modules/qrcode/lib/renderer/canvas.js +80 -0
- package/dist/node_modules/qrcode/lib/renderer/canvas.js.map +1 -0
- package/dist/node_modules/qrcode/lib/renderer/png.js +97 -0
- package/dist/node_modules/qrcode/lib/renderer/png.js.map +1 -0
- package/dist/node_modules/qrcode/lib/renderer/svg-tag.js +96 -0
- package/dist/node_modules/qrcode/lib/renderer/svg-tag.js.map +1 -0
- package/dist/node_modules/qrcode/lib/renderer/svg.js +37 -0
- package/dist/node_modules/qrcode/lib/renderer/svg.js.map +1 -0
- package/dist/node_modules/qrcode/lib/renderer/terminal/terminal-small.js +99 -0
- package/dist/node_modules/qrcode/lib/renderer/terminal/terminal-small.js.map +1 -0
- package/dist/node_modules/qrcode/lib/renderer/terminal/terminal.js +63 -0
- package/dist/node_modules/qrcode/lib/renderer/terminal/terminal.js.map +1 -0
- package/dist/node_modules/qrcode/lib/renderer/terminal.js +25 -0
- package/dist/node_modules/qrcode/lib/renderer/terminal.js.map +1 -0
- package/dist/node_modules/qrcode/lib/renderer/utf8.js +89 -0
- package/dist/node_modules/qrcode/lib/renderer/utf8.js.map +1 -0
- package/dist/node_modules/qrcode/lib/renderer/utils.js +115 -0
- package/dist/node_modules/qrcode/lib/renderer/utils.js.map +1 -0
- package/dist/node_modules/qrcode/lib/server.js +159 -0
- package/dist/node_modules/qrcode/lib/server.js.map +1 -0
- package/dist/package.json.js +3 -2
- package/dist/package.json.js.map +1 -1
- package/dist/utils/qrcode.d.ts.map +1 -1
- package/dist/utils/qrcode.js +20 -10
- package/dist/utils/qrcode.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var regex = require('../../../../_virtual/regex.js');
|
|
4
|
+
|
|
5
|
+
var hasRequiredRegex;
|
|
6
|
+
|
|
7
|
+
function requireRegex () {
|
|
8
|
+
if (hasRequiredRegex) return regex.__exports;
|
|
9
|
+
hasRequiredRegex = 1;
|
|
10
|
+
const numeric = '[0-9]+';
|
|
11
|
+
const alphanumeric = '[A-Z $%*+\\-./:]+';
|
|
12
|
+
let kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +
|
|
13
|
+
'[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +
|
|
14
|
+
'[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +
|
|
15
|
+
'[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+';
|
|
16
|
+
kanji = kanji.replace(/u/g, '\\u');
|
|
17
|
+
|
|
18
|
+
const byte = '(?:(?![A-Z0-9 $%*+\\-./:]|' + kanji + ')(?:.|[\r\n]))+';
|
|
19
|
+
|
|
20
|
+
regex.__exports.KANJI = new RegExp(kanji, 'g');
|
|
21
|
+
regex.__exports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\-./:]+', 'g');
|
|
22
|
+
regex.__exports.BYTE = new RegExp(byte, 'g');
|
|
23
|
+
regex.__exports.NUMERIC = new RegExp(numeric, 'g');
|
|
24
|
+
regex.__exports.ALPHANUMERIC = new RegExp(alphanumeric, 'g');
|
|
25
|
+
|
|
26
|
+
const TEST_KANJI = new RegExp('^' + kanji + '$');
|
|
27
|
+
const TEST_NUMERIC = new RegExp('^' + numeric + '$');
|
|
28
|
+
const TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\-./:]+$');
|
|
29
|
+
|
|
30
|
+
regex.__exports.testKanji = function testKanji (str) {
|
|
31
|
+
return TEST_KANJI.test(str)
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
regex.__exports.testNumeric = function testNumeric (str) {
|
|
35
|
+
return TEST_NUMERIC.test(str)
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
regex.__exports.testAlphanumeric = function testAlphanumeric (str) {
|
|
39
|
+
return TEST_ALPHANUMERIC.test(str)
|
|
40
|
+
};
|
|
41
|
+
return regex.__exports;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
exports.__require = requireRegex;
|
|
45
|
+
//# sourceMappingURL=regex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regex.js","sources":["../../../../../node_modules/qrcode/lib/core/regex.js"],"sourcesContent":["const numeric = '[0-9]+'\nconst alphanumeric = '[A-Z $%*+\\\\-./:]+'\nlet kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+'\nkanji = kanji.replace(/u/g, '\\\\u')\n\nconst byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+'\n\nexports.KANJI = new RegExp(kanji, 'g')\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g')\nexports.BYTE = new RegExp(byte, 'g')\nexports.NUMERIC = new RegExp(numeric, 'g')\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g')\n\nconst TEST_KANJI = new RegExp('^' + kanji + '$')\nconst TEST_NUMERIC = new RegExp('^' + numeric + '$')\nconst TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$')\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n}\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n}\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n}\n"],"names":["regex"],"mappings":";;;;;;;;;AAAA,CAAA,MAAM,OAAO,GAAG;AAChB,CAAA,MAAM,YAAY,GAAG;CACrB,IAAI,KAAK,GAAG,+CAA+C;AAC3D,GAAE,gEAAgE;AAClE,GAAE,uDAAuD;GACvD;AACF,CAAA,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK;;AAEjC,CAAA,MAAM,IAAI,GAAG,4BAA4B,GAAG,KAAK,GAAG;;AAEpD,CAAAA,eAAA,CAAA,KAAa,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG;AACrC,CAAAA,eAAA,CAAA,UAAkB,GAAG,IAAI,MAAM,CAAC,uBAAuB,EAAE,GAAG;AAC5D,CAAAA,eAAA,CAAA,IAAY,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG;AACnC,CAAAA,eAAA,CAAA,OAAe,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG;AACzC,CAAAA,eAAA,CAAA,YAAoB,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG;;CAEnD,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG;CAC/C,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,OAAO,GAAG,GAAG;AACnD,CAAA,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,wBAAwB;;AAE7D,CAAAA,eAAA,CAAA,SAAiB,GAAG,SAAS,SAAS,EAAE,GAAG,EAAE;AAC7C,GAAE,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG;AAC5B,CAAA;;AAEA,CAAAA,eAAA,CAAA,WAAmB,GAAG,SAAS,WAAW,EAAE,GAAG,EAAE;AACjD,GAAE,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG;AAC9B,CAAA;;AAEA,CAAAA,eAAA,CAAA,gBAAwB,GAAG,SAAS,gBAAgB,EAAE,GAAG,EAAE;AAC3D,GAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,GAAG;AACnC,CAAA;;;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var segments = require('../../../../_virtual/segments.js');
|
|
4
|
+
var mode = require('./mode.js');
|
|
5
|
+
var numericData = require('./numeric-data.js');
|
|
6
|
+
var alphanumericData = require('./alphanumeric-data.js');
|
|
7
|
+
var byteData = require('./byte-data.js');
|
|
8
|
+
var kanjiData = require('./kanji-data.js');
|
|
9
|
+
var regex = require('./regex.js');
|
|
10
|
+
var utils = require('./utils.js');
|
|
11
|
+
var dijkstra = require('../../../dijkstrajs/dijkstra.js');
|
|
12
|
+
|
|
13
|
+
var hasRequiredSegments;
|
|
14
|
+
|
|
15
|
+
function requireSegments () {
|
|
16
|
+
if (hasRequiredSegments) return segments.__exports;
|
|
17
|
+
hasRequiredSegments = 1;
|
|
18
|
+
(function (exports$1) {
|
|
19
|
+
const Mode = mode.__require();
|
|
20
|
+
const NumericData = numericData.__require();
|
|
21
|
+
const AlphanumericData = alphanumericData.__require();
|
|
22
|
+
const ByteData = byteData.__require();
|
|
23
|
+
const KanjiData = kanjiData.__require();
|
|
24
|
+
const Regex = regex.__require();
|
|
25
|
+
const Utils = utils.__require();
|
|
26
|
+
const dijkstra$1 = dijkstra.__require();
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Returns UTF8 byte length
|
|
30
|
+
*
|
|
31
|
+
* @param {String} str Input string
|
|
32
|
+
* @return {Number} Number of byte
|
|
33
|
+
*/
|
|
34
|
+
function getStringByteLength (str) {
|
|
35
|
+
return unescape(encodeURIComponent(str)).length
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Get a list of segments of the specified mode
|
|
40
|
+
* from a string
|
|
41
|
+
*
|
|
42
|
+
* @param {Mode} mode Segment mode
|
|
43
|
+
* @param {String} str String to process
|
|
44
|
+
* @return {Array} Array of object with segments data
|
|
45
|
+
*/
|
|
46
|
+
function getSegments (regex, mode, str) {
|
|
47
|
+
const segments = [];
|
|
48
|
+
let result;
|
|
49
|
+
|
|
50
|
+
while ((result = regex.exec(str)) !== null) {
|
|
51
|
+
segments.push({
|
|
52
|
+
data: result[0],
|
|
53
|
+
index: result.index,
|
|
54
|
+
mode: mode,
|
|
55
|
+
length: result[0].length
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return segments
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Extracts a series of segments with the appropriate
|
|
64
|
+
* modes from a string
|
|
65
|
+
*
|
|
66
|
+
* @param {String} dataStr Input string
|
|
67
|
+
* @return {Array} Array of object with segments data
|
|
68
|
+
*/
|
|
69
|
+
function getSegmentsFromString (dataStr) {
|
|
70
|
+
const numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr);
|
|
71
|
+
const alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr);
|
|
72
|
+
let byteSegs;
|
|
73
|
+
let kanjiSegs;
|
|
74
|
+
|
|
75
|
+
if (Utils.isKanjiModeEnabled()) {
|
|
76
|
+
byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr);
|
|
77
|
+
kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr);
|
|
78
|
+
} else {
|
|
79
|
+
byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr);
|
|
80
|
+
kanjiSegs = [];
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs);
|
|
84
|
+
|
|
85
|
+
return segs
|
|
86
|
+
.sort(function (s1, s2) {
|
|
87
|
+
return s1.index - s2.index
|
|
88
|
+
})
|
|
89
|
+
.map(function (obj) {
|
|
90
|
+
return {
|
|
91
|
+
data: obj.data,
|
|
92
|
+
mode: obj.mode,
|
|
93
|
+
length: obj.length
|
|
94
|
+
}
|
|
95
|
+
})
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Returns how many bits are needed to encode a string of
|
|
100
|
+
* specified length with the specified mode
|
|
101
|
+
*
|
|
102
|
+
* @param {Number} length String length
|
|
103
|
+
* @param {Mode} mode Segment mode
|
|
104
|
+
* @return {Number} Bit length
|
|
105
|
+
*/
|
|
106
|
+
function getSegmentBitsLength (length, mode) {
|
|
107
|
+
switch (mode) {
|
|
108
|
+
case Mode.NUMERIC:
|
|
109
|
+
return NumericData.getBitsLength(length)
|
|
110
|
+
case Mode.ALPHANUMERIC:
|
|
111
|
+
return AlphanumericData.getBitsLength(length)
|
|
112
|
+
case Mode.KANJI:
|
|
113
|
+
return KanjiData.getBitsLength(length)
|
|
114
|
+
case Mode.BYTE:
|
|
115
|
+
return ByteData.getBitsLength(length)
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Merges adjacent segments which have the same mode
|
|
121
|
+
*
|
|
122
|
+
* @param {Array} segs Array of object with segments data
|
|
123
|
+
* @return {Array} Array of object with segments data
|
|
124
|
+
*/
|
|
125
|
+
function mergeSegments (segs) {
|
|
126
|
+
return segs.reduce(function (acc, curr) {
|
|
127
|
+
const prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null;
|
|
128
|
+
if (prevSeg && prevSeg.mode === curr.mode) {
|
|
129
|
+
acc[acc.length - 1].data += curr.data;
|
|
130
|
+
return acc
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
acc.push(curr);
|
|
134
|
+
return acc
|
|
135
|
+
}, [])
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Generates a list of all possible nodes combination which
|
|
140
|
+
* will be used to build a segments graph.
|
|
141
|
+
*
|
|
142
|
+
* Nodes are divided by groups. Each group will contain a list of all the modes
|
|
143
|
+
* in which is possible to encode the given text.
|
|
144
|
+
*
|
|
145
|
+
* For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.
|
|
146
|
+
* The group for '12345' will contain then 3 objects, one for each
|
|
147
|
+
* possible encoding mode.
|
|
148
|
+
*
|
|
149
|
+
* Each node represents a possible segment.
|
|
150
|
+
*
|
|
151
|
+
* @param {Array} segs Array of object with segments data
|
|
152
|
+
* @return {Array} Array of object with segments data
|
|
153
|
+
*/
|
|
154
|
+
function buildNodes (segs) {
|
|
155
|
+
const nodes = [];
|
|
156
|
+
for (let i = 0; i < segs.length; i++) {
|
|
157
|
+
const seg = segs[i];
|
|
158
|
+
|
|
159
|
+
switch (seg.mode) {
|
|
160
|
+
case Mode.NUMERIC:
|
|
161
|
+
nodes.push([seg,
|
|
162
|
+
{ data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },
|
|
163
|
+
{ data: seg.data, mode: Mode.BYTE, length: seg.length }
|
|
164
|
+
]);
|
|
165
|
+
break
|
|
166
|
+
case Mode.ALPHANUMERIC:
|
|
167
|
+
nodes.push([seg,
|
|
168
|
+
{ data: seg.data, mode: Mode.BYTE, length: seg.length }
|
|
169
|
+
]);
|
|
170
|
+
break
|
|
171
|
+
case Mode.KANJI:
|
|
172
|
+
nodes.push([seg,
|
|
173
|
+
{ data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }
|
|
174
|
+
]);
|
|
175
|
+
break
|
|
176
|
+
case Mode.BYTE:
|
|
177
|
+
nodes.push([
|
|
178
|
+
{ data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }
|
|
179
|
+
]);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
return nodes
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Builds a graph from a list of nodes.
|
|
188
|
+
* All segments in each node group will be connected with all the segments of
|
|
189
|
+
* the next group and so on.
|
|
190
|
+
*
|
|
191
|
+
* At each connection will be assigned a weight depending on the
|
|
192
|
+
* segment's byte length.
|
|
193
|
+
*
|
|
194
|
+
* @param {Array} nodes Array of object with segments data
|
|
195
|
+
* @param {Number} version QR Code version
|
|
196
|
+
* @return {Object} Graph of all possible segments
|
|
197
|
+
*/
|
|
198
|
+
function buildGraph (nodes, version) {
|
|
199
|
+
const table = {};
|
|
200
|
+
const graph = { start: {} };
|
|
201
|
+
let prevNodeIds = ['start'];
|
|
202
|
+
|
|
203
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
204
|
+
const nodeGroup = nodes[i];
|
|
205
|
+
const currentNodeIds = [];
|
|
206
|
+
|
|
207
|
+
for (let j = 0; j < nodeGroup.length; j++) {
|
|
208
|
+
const node = nodeGroup[j];
|
|
209
|
+
const key = '' + i + j;
|
|
210
|
+
|
|
211
|
+
currentNodeIds.push(key);
|
|
212
|
+
table[key] = { node: node, lastCount: 0 };
|
|
213
|
+
graph[key] = {};
|
|
214
|
+
|
|
215
|
+
for (let n = 0; n < prevNodeIds.length; n++) {
|
|
216
|
+
const prevNodeId = prevNodeIds[n];
|
|
217
|
+
|
|
218
|
+
if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {
|
|
219
|
+
graph[prevNodeId][key] =
|
|
220
|
+
getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -
|
|
221
|
+
getSegmentBitsLength(table[prevNodeId].lastCount, node.mode);
|
|
222
|
+
|
|
223
|
+
table[prevNodeId].lastCount += node.length;
|
|
224
|
+
} else {
|
|
225
|
+
if (table[prevNodeId]) table[prevNodeId].lastCount = node.length;
|
|
226
|
+
|
|
227
|
+
graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +
|
|
228
|
+
4 + Mode.getCharCountIndicator(node.mode, version); // switch cost
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
prevNodeIds = currentNodeIds;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
for (let n = 0; n < prevNodeIds.length; n++) {
|
|
237
|
+
graph[prevNodeIds[n]].end = 0;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
return { map: graph, table: table }
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* Builds a segment from a specified data and mode.
|
|
245
|
+
* If a mode is not specified, the more suitable will be used.
|
|
246
|
+
*
|
|
247
|
+
* @param {String} data Input data
|
|
248
|
+
* @param {Mode | String} modesHint Data mode
|
|
249
|
+
* @return {Segment} Segment
|
|
250
|
+
*/
|
|
251
|
+
function buildSingleSegment (data, modesHint) {
|
|
252
|
+
let mode;
|
|
253
|
+
const bestMode = Mode.getBestModeForData(data);
|
|
254
|
+
|
|
255
|
+
mode = Mode.from(modesHint, bestMode);
|
|
256
|
+
|
|
257
|
+
// Make sure data can be encoded
|
|
258
|
+
if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {
|
|
259
|
+
throw new Error('"' + data + '"' +
|
|
260
|
+
' cannot be encoded with mode ' + Mode.toString(mode) +
|
|
261
|
+
'.\n Suggested mode is: ' + Mode.toString(bestMode))
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
// Use Mode.BYTE if Kanji support is disabled
|
|
265
|
+
if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {
|
|
266
|
+
mode = Mode.BYTE;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
switch (mode) {
|
|
270
|
+
case Mode.NUMERIC:
|
|
271
|
+
return new NumericData(data)
|
|
272
|
+
|
|
273
|
+
case Mode.ALPHANUMERIC:
|
|
274
|
+
return new AlphanumericData(data)
|
|
275
|
+
|
|
276
|
+
case Mode.KANJI:
|
|
277
|
+
return new KanjiData(data)
|
|
278
|
+
|
|
279
|
+
case Mode.BYTE:
|
|
280
|
+
return new ByteData(data)
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* Builds a list of segments from an array.
|
|
286
|
+
* Array can contain Strings or Objects with segment's info.
|
|
287
|
+
*
|
|
288
|
+
* For each item which is a string, will be generated a segment with the given
|
|
289
|
+
* string and the more appropriate encoding mode.
|
|
290
|
+
*
|
|
291
|
+
* For each item which is an object, will be generated a segment with the given
|
|
292
|
+
* data and mode.
|
|
293
|
+
* Objects must contain at least the property "data".
|
|
294
|
+
* If property "mode" is not present, the more suitable mode will be used.
|
|
295
|
+
*
|
|
296
|
+
* @param {Array} array Array of objects with segments data
|
|
297
|
+
* @return {Array} Array of Segments
|
|
298
|
+
*/
|
|
299
|
+
exports$1.fromArray = function fromArray (array) {
|
|
300
|
+
return array.reduce(function (acc, seg) {
|
|
301
|
+
if (typeof seg === 'string') {
|
|
302
|
+
acc.push(buildSingleSegment(seg, null));
|
|
303
|
+
} else if (seg.data) {
|
|
304
|
+
acc.push(buildSingleSegment(seg.data, seg.mode));
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
return acc
|
|
308
|
+
}, [])
|
|
309
|
+
};
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* Builds an optimized sequence of segments from a string,
|
|
313
|
+
* which will produce the shortest possible bitstream.
|
|
314
|
+
*
|
|
315
|
+
* @param {String} data Input string
|
|
316
|
+
* @param {Number} version QR Code version
|
|
317
|
+
* @return {Array} Array of segments
|
|
318
|
+
*/
|
|
319
|
+
exports$1.fromString = function fromString (data, version) {
|
|
320
|
+
const segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled());
|
|
321
|
+
|
|
322
|
+
const nodes = buildNodes(segs);
|
|
323
|
+
const graph = buildGraph(nodes, version);
|
|
324
|
+
const path = dijkstra$1.find_path(graph.map, 'start', 'end');
|
|
325
|
+
|
|
326
|
+
const optimizedSegs = [];
|
|
327
|
+
for (let i = 1; i < path.length - 1; i++) {
|
|
328
|
+
optimizedSegs.push(graph.table[path[i]].node);
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
return exports$1.fromArray(mergeSegments(optimizedSegs))
|
|
332
|
+
};
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* Splits a string in various segments with the modes which
|
|
336
|
+
* best represent their content.
|
|
337
|
+
* The produced segments are far from being optimized.
|
|
338
|
+
* The output of this function is only used to estimate a QR Code version
|
|
339
|
+
* which may contain the data.
|
|
340
|
+
*
|
|
341
|
+
* @param {string} data Input string
|
|
342
|
+
* @return {Array} Array of segments
|
|
343
|
+
*/
|
|
344
|
+
exports$1.rawSplit = function rawSplit (data) {
|
|
345
|
+
return exports$1.fromArray(
|
|
346
|
+
getSegmentsFromString(data, Utils.isKanjiModeEnabled())
|
|
347
|
+
)
|
|
348
|
+
};
|
|
349
|
+
} (segments.__exports));
|
|
350
|
+
return segments.__exports;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
exports.__require = requireSegments;
|
|
354
|
+
//# sourceMappingURL=segments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segments.js","sources":["../../../../../node_modules/qrcode/lib/core/segments.js"],"sourcesContent":["const Mode = require('./mode')\nconst NumericData = require('./numeric-data')\nconst AlphanumericData = require('./alphanumeric-data')\nconst ByteData = require('./byte-data')\nconst KanjiData = require('./kanji-data')\nconst Regex = require('./regex')\nconst Utils = require('./utils')\nconst dijkstra = require('dijkstrajs')\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n const segments = []\n let result\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n })\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n const numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr)\n const alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr)\n let byteSegs\n let kanjiSegs\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr)\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr)\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr)\n kanjiSegs = []\n }\n\n const segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs)\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n const prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data\n return acc\n }\n\n acc.push(curr)\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n const nodes = []\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n const table = {}\n const graph = { start: {} }\n let prevNodeIds = ['start']\n\n for (let i = 0; i < nodes.length; i++) {\n const nodeGroup = nodes[i]\n const currentNodeIds = []\n\n for (let j = 0; j < nodeGroup.length; j++) {\n const node = nodeGroup[j]\n const key = '' + i + j\n\n currentNodeIds.push(key)\n table[key] = { node: node, lastCount: 0 }\n graph[key] = {}\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n const prevNodeId = prevNodeIds[n]\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode)\n\n table[prevNodeId].lastCount += node.length\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version) // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds\n }\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]].end = 0\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n let mode\n const bestMode = Mode.getBestModeForData(data)\n\n mode = Mode.from(modesHint, bestMode)\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null))\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode))\n }\n\n return acc\n }, [])\n}\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n const segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\n const nodes = buildNodes(segs)\n const graph = buildGraph(nodes, version)\n const path = dijkstra.find_path(graph.map, 'start', 'end')\n\n const optimizedSegs = []\n for (let i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node)\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n}\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n}\n"],"names":["require$$0","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6","dijkstra","require$$7","exports"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('../../../../_virtual/utils2.js');
|
|
4
|
+
|
|
5
|
+
var hasRequiredUtils;
|
|
6
|
+
|
|
7
|
+
function requireUtils () {
|
|
8
|
+
if (hasRequiredUtils) return utils.__exports;
|
|
9
|
+
hasRequiredUtils = 1;
|
|
10
|
+
let toSJISFunction;
|
|
11
|
+
const CODEWORDS_COUNT = [
|
|
12
|
+
0, // Not used
|
|
13
|
+
26, 44, 70, 100, 134, 172, 196, 242, 292, 346,
|
|
14
|
+
404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,
|
|
15
|
+
1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,
|
|
16
|
+
2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Returns the QR Code size for the specified version
|
|
21
|
+
*
|
|
22
|
+
* @param {Number} version QR Code version
|
|
23
|
+
* @return {Number} size of QR code
|
|
24
|
+
*/
|
|
25
|
+
utils.__exports.getSymbolSize = function getSymbolSize (version) {
|
|
26
|
+
if (!version) throw new Error('"version" cannot be null or undefined')
|
|
27
|
+
if (version < 1 || version > 40) throw new Error('"version" should be in range from 1 to 40')
|
|
28
|
+
return version * 4 + 17
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Returns the total number of codewords used to store data and EC information.
|
|
33
|
+
*
|
|
34
|
+
* @param {Number} version QR Code version
|
|
35
|
+
* @return {Number} Data length in bits
|
|
36
|
+
*/
|
|
37
|
+
utils.__exports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {
|
|
38
|
+
return CODEWORDS_COUNT[version]
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Encode data with Bose-Chaudhuri-Hocquenghem
|
|
43
|
+
*
|
|
44
|
+
* @param {Number} data Value to encode
|
|
45
|
+
* @return {Number} Encoded value
|
|
46
|
+
*/
|
|
47
|
+
utils.__exports.getBCHDigit = function (data) {
|
|
48
|
+
let digit = 0;
|
|
49
|
+
|
|
50
|
+
while (data !== 0) {
|
|
51
|
+
digit++;
|
|
52
|
+
data >>>= 1;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return digit
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
utils.__exports.setToSJISFunction = function setToSJISFunction (f) {
|
|
59
|
+
if (typeof f !== 'function') {
|
|
60
|
+
throw new Error('"toSJISFunc" is not a valid function.')
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
toSJISFunction = f;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
utils.__exports.isKanjiModeEnabled = function () {
|
|
67
|
+
return typeof toSJISFunction !== 'undefined'
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
utils.__exports.toSJIS = function toSJIS (kanji) {
|
|
71
|
+
return toSJISFunction(kanji)
|
|
72
|
+
};
|
|
73
|
+
return utils.__exports;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
exports.__require = requireUtils;
|
|
77
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../node_modules/qrcode/lib/core/utils.js"],"sourcesContent":["let toSJISFunction\nconst CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n]\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n}\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n}\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n let digit = 0\n\n while (data !== 0) {\n digit++\n data >>>= 1\n }\n\n return digit\n}\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f\n}\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n}\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n}\n"],"names":["utils"],"mappings":";;;;;;;;;CAAA,IAAI;AACJ,CAAA,MAAM,eAAe,GAAG;AACxB,GAAE,CAAC;AACH,GAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC/C,GAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI;AACnD,GAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC5D,GAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAAA,eAAA,CAAA,aAAqB,GAAG,SAAS,aAAa,EAAE,OAAO,EAAE;GACvD,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC;AACvE,GAAE,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,EAAE,EAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C;AAC9F,GAAE,OAAO,OAAO,GAAG,CAAC,GAAG;AACvB,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAAA,eAAA,CAAA,uBAA+B,GAAG,SAAS,uBAAuB,EAAE,OAAO,EAAE;GAC3E,OAAO,eAAe,CAAC,OAAO;AAChC,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAAA,eAAA,CAAA,WAAmB,GAAG,UAAU,IAAI,EAAE;GACpC,IAAI,KAAK,GAAG;;AAEd,GAAE,OAAO,IAAI,KAAK,CAAC,EAAE;AACrB,KAAI,KAAK;AACT,KAAI,IAAI,MAAM;AACd,GAAA;;AAEA,GAAE,OAAO;AACT,CAAA;;AAEA,CAAAA,eAAA,CAAA,iBAAyB,GAAG,SAAS,iBAAiB,EAAE,CAAC,EAAE;AAC3D,GAAE,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE;AAC/B,KAAI,MAAM,IAAI,KAAK,CAAC,uCAAuC;AAC3D,GAAA;;AAEA,GAAE,cAAc,GAAG;AACnB,CAAA;;AAEA,CAAAA,eAAA,CAAA,kBAA0B,GAAG,YAAY;GACvC,OAAO,OAAO,cAAc,KAAK;AACnC,CAAA;;AAEA,CAAAA,eAAA,CAAA,MAAc,GAAG,SAAS,MAAM,EAAE,KAAK,EAAE;GACvC,OAAO,cAAc,CAAC,KAAK;AAC7B,CAAA;;;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var versionCheck = require('../../../../_virtual/version-check.js');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Check if QR Code version is valid
|
|
7
|
+
*
|
|
8
|
+
* @param {Number} version QR Code version
|
|
9
|
+
* @return {Boolean} true if valid version, false otherwise
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
var hasRequiredVersionCheck;
|
|
13
|
+
|
|
14
|
+
function requireVersionCheck () {
|
|
15
|
+
if (hasRequiredVersionCheck) return versionCheck.__exports;
|
|
16
|
+
hasRequiredVersionCheck = 1;
|
|
17
|
+
versionCheck.__exports.isValid = function isValid (version) {
|
|
18
|
+
return !isNaN(version) && version >= 1 && version <= 40
|
|
19
|
+
};
|
|
20
|
+
return versionCheck.__exports;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
exports.__require = requireVersionCheck;
|
|
24
|
+
//# sourceMappingURL=version-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-check.js","sources":["../../../../../node_modules/qrcode/lib/core/version-check.js"],"sourcesContent":["/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n}\n"],"names":["versionCheck"],"mappings":";;;;;;;;;;;;;;;;AAMA,CAAAA,sBAAA,CAAA,OAAe,GAAG,SAAS,OAAO,EAAE,OAAO,EAAE;AAC7C,GAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI;AACvD,CAAA;;;;;;","x_google_ignoreList":[0]}
|