@juit/librebarcode 1.0.1 → 1.0.3

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/README.md CHANGED
@@ -46,6 +46,23 @@ const encoded = code128(gs1)
46
46
  // now you can feed the "encoded" string to the font!
47
47
  ```
48
48
 
49
+ #### Encoding with a specific code set
50
+
51
+ In certain cases, where a _specific_ code set of **Code128** is required for
52
+ a barcode (for example labeling products for the Amazon Marketplace, requiring
53
+ codeset "A"), there might be the need to forego the "shortest path" algorithm
54
+ provided by `code128()` and specify the code set directly.
55
+
56
+ In this case, an extra parameter to `code128()` can be added to the call:
57
+
58
+ ```typescript
59
+ import { code128 } from '@juit/librebarcode'
60
+
61
+ const a = code128('ABCD', 'A') // this will be constrained to code set "A"
62
+ const b = code128('abcd', 'B') // this will be constrained to code set "B"
63
+ const b = code128('1234', 'C') // this will be constrained to code set "C"
64
+ ```
65
+
49
66
 
50
67
 
51
68
  EAN-13, UPC/A, EAN-8
package/dist/code128.cjs CHANGED
@@ -34,6 +34,7 @@ __export(code128_exports, {
34
34
  FNC3: () => FNC3,
35
35
  FNC4: () => FNC4,
36
36
  SHIFT: () => SHIFT,
37
+ START: () => START,
37
38
  START_A: () => START_A,
38
39
  START_B: () => START_B,
39
40
  START_C: () => START_C,
@@ -225,6 +226,11 @@ var CODE_A = 101;
225
226
  var START_A = 103;
226
227
  var START_B = 104;
227
228
  var START_C = 105;
229
+ var START = {
230
+ A: START_A,
231
+ B: START_B,
232
+ C: START_C
233
+ };
228
234
  var STOP = "\xCE";
229
235
  function match(string, codeset) {
230
236
  for (const [sequence, value] of Object.entries(CODESETS[codeset])) {
@@ -252,17 +258,7 @@ var Encoder = class _Encoder {
252
258
  if (values) {
253
259
  this._values = values;
254
260
  } else {
255
- switch (codeset) {
256
- case "A":
257
- this._values = [START_A];
258
- break;
259
- case "B":
260
- this._values = [START_B];
261
- break;
262
- case "C":
263
- this._values = [START_C];
264
- break;
265
- }
261
+ this._values = [START[codeset]];
266
262
  }
267
263
  this._encoders.push(this);
268
264
  }
@@ -335,18 +331,37 @@ var Encoder = class _Encoder {
335
331
  }
336
332
  /** Finish the encoding, and return the string for our barcode */
337
333
  finish() {
338
- let sum = 0;
339
- for (let i = 0; i < this._values.length; i++) {
340
- sum += this._values[i] * (i || 1);
341
- }
342
- return [...this._values, sum % 103].map((value) => CHARACTERS[value]).join("") + STOP;
334
+ return finish(this._values);
343
335
  }
344
336
  };
345
- function code128(string) {
337
+ function finish(values) {
338
+ let sum = 0;
339
+ for (let i = 0; i < values.length; i++) {
340
+ sum += values[i] * (i || 1);
341
+ }
342
+ return [...values, sum % 103].map((value) => CHARACTERS[value]).join("") + STOP;
343
+ }
344
+ function encode(string, codeset) {
345
+ const codes = CODESETS[codeset];
346
+ const values = [START[codeset]];
347
+ next: while (string) {
348
+ for (const [value, code] of Object.entries(codes)) {
349
+ if (string.startsWith(value)) {
350
+ values.push(code);
351
+ string = string.slice(value.length);
352
+ continue next;
353
+ }
354
+ }
355
+ throw new Error(`Unable to encode character "${unicode(string[0])}" in code set "${codeset}"`);
356
+ }
357
+ return finish(values);
358
+ }
359
+ function code128(string, codeset) {
360
+ if (codeset) return encode(string, codeset);
346
361
  const encoders = [];
347
362
  new Encoder("C", string, encoders);
348
- new Encoder("B", string, encoders);
349
363
  new Encoder("A", string, encoders);
364
+ new Encoder("B", string, encoders);
350
365
  for (let length = 1; ; length++) {
351
366
  for (const encoder of encoders) encoder.encode(length);
352
367
  for (const encoder of encoders) {
@@ -370,6 +385,7 @@ function code128(string) {
370
385
  FNC3,
371
386
  FNC4,
372
387
  SHIFT,
388
+ START,
373
389
  START_A,
374
390
  START_B,
375
391
  START_C,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/code128.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBO,IAAM,OAAO;AAEb,IAAM,OAAO;AAEb,IAAM,OAAO;AAEb,IAAM,OAAO;AAEpB,IAAM,OAAO;AAAA;AAAA,EAEX,CAAE,GAAK,KAAY,KAAY,MAAY,MAAS;AAAA;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,MAAY,MAAY,MAAY,IAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,QAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,QAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,QAAY,MAAY,MAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAa,MAAW,MAAY,MAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAa,MAAW,MAAY,MAAS;AAAA;AAAA,EACpD,CAAE,IAAe,EAAY,EAAE,MAAY,MAAS;AAAA;AAAA,EACpD,CAAE,IAAe,EAAY,EAAE,MAAY,MAAS;AAAA;AAAA,EACpD,CAAE,KAAe,EAAE,MAAsB,EAAE,MAAS;AAAA;AAAA,EACpD,CAAE,KAAK,MAAsB,EAAY,EAAE,MAAS;AAAA;AAAA,EACpD,CAAE,KAAK,MAAY,MAAY,MAAY,MAAS;AAAA;AAAA,EACpD,CAAE,KAAe,EAAY,EAAY,EAAE,MAAS;AAAA;AAAA,EACpD,CAAE,KAAe,EAAY,EAAY,EAAE,MAAS;AAAA;AAAA,EACpD,CAAE,KAAe,EAAY,EAAY,EAAE,MAAS;AAAA;AACtD;AAGO,IAAM,YAAY,KAAK,OAAO,CAAC,MAAM,CAAE,KAAK,KAAK,MAAM,MAAM,IAAK,MAAM;AAC7E,MAAI,QAAQ,OAAW,MAAK,GAAG,IAAI;AACnC,SAAO;AACT,GAAG,CAAC,CAAyB;AAGtB,IAAM,YAAY,KAAK,OAAO,CAAC,MAAM,CAAE,KAAK,MAAM,KAAK,MAAM,IAAK,MAAM;AAC7E,MAAI,QAAQ,OAAW,MAAK,GAAG,IAAI;AACnC,SAAO;AACT,GAAG,CAAC,CAAyB;AAGtB,IAAM,YAAY,KAAK,OAAO,CAAC,MAAM,CAAE,KAAK,MAAM,MAAM,KAAK,IAAK,MAAM;AAC7E,MAAI,QAAQ,OAAW,MAAK,GAAG,IAAI;AACnC,SAAO;AACT,GAAG,CAAC,CAAyB;AAGtB,IAAM,WAAW;AAAA,EACtB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAGO,IAAM,aAAmD,CAAC;AACjE,KAAK,QAAQ,CAAC,CAAE,KAAK,MAAM,MAAM,MAAM,GAAI,MAAM,WAAW,GAAG,IAAI,GAAG;AAG/D,IAAM,QAAQ;AAGd,IAAM,SAAS;AAEf,IAAM,SAAS;AAEf,IAAM,SAAS;AAGf,IAAM,UAAU;AAEhB,IAAM,UAAU;AAEhB,IAAM,UAAU;AAGhB,IAAM,OAAO;AAOpB,SAAS,MAAM,QAAgB,SAA2C;AACxE,aAAW,CAAE,UAAU,KAAM,KAAK,OAAO,QAAQ,SAAS,OAAO,CAAC,GAAG;AACnE,QAAI,OAAO,WAAW,QAAQ,EAAG,QAAO,CAAE,OAAO,OAAO,UAAU,SAAS,MAAM,CAAE;AAAA,EACrF;AACA,SAAO,CAAE,MAAM,MAAO;AACxB;AAGA,SAAS,QAAQ,QAAwB;AACvC,QAAM,MAAM,OAAO,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AAC7D,SAAO,MAAM,GAAG;AAClB;AAGO,IAAM,UAAN,MAAM,SAAQ;AAAA;AAAA,EAEX;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA,EAER,YAAY,SAAkB,QAAgB,UAAqB,QAAiB;AAClF,SAAK,WAAW;AAChB,SAAK,UAAU;AACf,SAAK,YAAY;AAEjB,QAAI,QAAQ;AACV,WAAK,UAAU;AAAA,IACjB,OAAO;AACL,cAAQ,SAAS;AAAA,QACf,KAAK;AAAK,eAAK,UAAU,CAAE,OAAQ;AAAG;AAAA,QACtC,KAAK;AAAK,eAAK,UAAU,CAAE,OAAQ;AAAG;AAAA,QACtC,KAAK;AAAK,eAAK,UAAU,CAAE,OAAQ;AAAG;AAAA,MACxC;AAAA,IACF;AAEA,SAAK,UAAU,KAAK,IAAI;AAAA,EAC1B;AAAA;AAAA,EAGA,IAAW,OAAgB;AACzB,WAAO,KAAK,QAAQ,WAAW;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMO,OAAO,QAAyB;AAErC,QAAI,KAAK,QAAQ,UAAU,EAAG,QAAO;AAErC,QAAI,KAAK,QAAQ,UAAU,OAAQ,QAAO;AAG1C,UAAM,CAAE,OAAO,SAAU,IAAI,MAAM,KAAK,SAAS,KAAK,QAAQ;AAC9D,QAAI,UAAU,MAAM;AAClB,WAAK,QAAQ,KAAK,KAAK;AACvB,WAAK,UAAU;AAIf,UAAK,KAAK,aAAa,OAAS,KAAK,aAAa,KAAM;AACtD,cAAM,CAAE,QAAQ,UAAW,IAAI,MAAM,KAAK,SAAS,GAAG;AACtD,YAAI,WAAW,MAAM;AAEnB,cAAI,SAAQ,KAAK,YAAY,KAAK,WAAW,CAAE,GAAG,KAAK,SAAS,QAAQ,MAAO,CAAC;AAAA,QAClF;AAAA,MACF;AAGA,aAAO,KAAK;AAAA,IACd;AAGA,QAAI,KAAK,aAAa,KAAK;AAEzB,YAAM,CAAE,QAAQ,UAAW,IAAI,MAAM,KAAK,SAAS,GAAG;AACtD,UAAI,WAAW,MAAM;AAEnB,YAAI,SAAQ,KAAK,YAAY,KAAK,WAAW,CAAE,GAAG,KAAK,SAAS,QAAQ,MAAO,CAAC;AAEhF,aAAK,QAAQ,KAAK,OAAO,MAAM;AAC/B,aAAK,UAAU;AACf,eAAO,KAAK;AAAA,MAGd,OAAO;AACL,cAAM,IAAI,MAAM,+BAA+B,QAAQ,SAAS,CAAC,GAAG;AAAA,MACtE;AAAA,IAGF,WAAW,KAAK,aAAa,KAAK;AAEhC,YAAM,CAAE,QAAQ,UAAW,IAAI,MAAM,KAAK,SAAS,GAAG;AACtD,UAAI,WAAW,MAAM;AAEnB,YAAI,SAAQ,KAAK,YAAY,KAAK,WAAW,CAAE,GAAG,KAAK,SAAS,QAAQ,MAAO,CAAC;AAEhF,aAAK,QAAQ,KAAK,OAAO,MAAM;AAC/B,aAAK,UAAU;AACf,eAAO,KAAK;AAAA,MAGd,OAAO;AACL,cAAM,IAAI,MAAM,+BAA+B,QAAQ,SAAS,CAAC,GAAG;AAAA,MACtE;AAAA,IAGF,OAAO;AACL,YAAM,CAAE,QAAQ,UAAW,IAAI,MAAM,KAAK,SAAS,GAAG;AACtD,YAAM,CAAE,QAAQ,UAAW,IAAI,MAAM,KAAK,SAAS,GAAG;AAGtD,UAAK,WAAW,QAAU,WAAW,MAAO;AAC1C,YAAI,SAAQ,KAAK,YAAY,KAAK,WAAW,CAAE,GAAG,KAAK,SAAS,QAAQ,MAAO,CAAC;AAChF,aAAK,QAAQ,KAAK,QAAQ,MAAM;AAChC,aAAK,UAAU;AACf,aAAK,WAAW;AAChB,eAAO,KAAK;AAAA,MAGd,WAAY,WAAW,QAAU,WAAW,MAAO;AACjD,aAAK,QAAQ,KAAK,QAAQ,MAAM;AAChC,aAAK,UAAU;AACf,aAAK,WAAW;AAChB,eAAO,KAAK;AAAA,MAGd,WAAY,WAAW,QAAU,WAAW,MAAO;AACjD,aAAK,QAAQ,KAAK,QAAQ,MAAM;AAChC,aAAK,UAAU;AACf,aAAK,WAAW;AAChB,eAAO,KAAK;AAAA,MAGd,OAAO;AACL,cAAM,IAAI,MAAM,+BAA+B,QAAQ,SAAS,CAAC,GAAG;AAAA,MACtE;AAAA,IACF;AAAA,EACF;AAAA;AAAA,EAGO,SAAiB;AAEtB,QAAI,MAAM;AACV,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,QAAQ,KAAM;AAC7C,aAAO,KAAK,QAAQ,CAAC,KAAM,KAAK;AAAA,IAClC;AAGA,WAAO,CAAE,GAAG,KAAK,SAAU,MAAM,GAAa,EACzC,IAAI,CAAC,UAAU,WAAW,KAAK,CAAC,EAChC,KAAK,EAAE,IAAI;AAAA,EAClB;AACF;AAMO,SAAS,QAAQ,QAAwB;AAE9C,QAAM,WAAsB,CAAC;AAI7B,MAAI,QAAQ,KAAK,QAAQ,QAAQ;AACjC,MAAI,QAAQ,KAAK,QAAQ,QAAQ;AACjC,MAAI,QAAQ,KAAK,QAAQ,QAAQ;AAGjC,WAAS,SAAS,KAAK,UAAW;AAEhC,eAAW,WAAW,SAAU,SAAQ,OAAO,MAAM;AAGrD,eAAW,WAAW,UAAU;AAC9B,UAAI,QAAQ,KAAM,QAAO,QAAQ,OAAO;AAAA,IAC1C;AAAA,EACF;AACF;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBO,IAAM,OAAO;AAEb,IAAM,OAAO;AAEb,IAAM,OAAO;AAEb,IAAM,OAAO;AAEpB,IAAM,OAAO;AAAA;AAAA,EAEX,CAAE,GAAK,KAAY,KAAY,MAAY,MAAS;AAAA;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,MAAY,MAAY,MAAY,IAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,QAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA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",
5
5
  "names": []
6
6
  }
package/dist/code128.d.ts CHANGED
@@ -39,6 +39,12 @@ export declare const START_A = 103;
39
39
  export declare const START_B = 104;
40
40
  /** Start with code-set `C` */
41
41
  export declare const START_C = 105;
42
+ /** Start strings by code-set */
43
+ export declare const START: {
44
+ readonly A: 103;
45
+ readonly B: 104;
46
+ readonly C: 105;
47
+ };
42
48
  /** The stop character */
43
49
  export declare const STOP = "\u00CE";
44
50
  /** Our encoder class */
@@ -62,5 +68,5 @@ export declare class Encoder {
62
68
  /** Finish the encoding, and return the string for our barcode */
63
69
  finish(): string;
64
70
  }
65
- export declare function code128(string: string): string;
71
+ export declare function code128(string: string, codeset?: CodeSet): string;
66
72
  export {};
package/dist/code128.mjs CHANGED
@@ -183,6 +183,11 @@ var CODE_A = 101;
183
183
  var START_A = 103;
184
184
  var START_B = 104;
185
185
  var START_C = 105;
186
+ var START = {
187
+ A: START_A,
188
+ B: START_B,
189
+ C: START_C
190
+ };
186
191
  var STOP = "\xCE";
187
192
  function match(string, codeset) {
188
193
  for (const [sequence, value] of Object.entries(CODESETS[codeset])) {
@@ -210,17 +215,7 @@ var Encoder = class _Encoder {
210
215
  if (values) {
211
216
  this._values = values;
212
217
  } else {
213
- switch (codeset) {
214
- case "A":
215
- this._values = [START_A];
216
- break;
217
- case "B":
218
- this._values = [START_B];
219
- break;
220
- case "C":
221
- this._values = [START_C];
222
- break;
223
- }
218
+ this._values = [START[codeset]];
224
219
  }
225
220
  this._encoders.push(this);
226
221
  }
@@ -293,18 +288,37 @@ var Encoder = class _Encoder {
293
288
  }
294
289
  /** Finish the encoding, and return the string for our barcode */
295
290
  finish() {
296
- let sum = 0;
297
- for (let i = 0; i < this._values.length; i++) {
298
- sum += this._values[i] * (i || 1);
299
- }
300
- return [...this._values, sum % 103].map((value) => CHARACTERS[value]).join("") + STOP;
291
+ return finish(this._values);
301
292
  }
302
293
  };
303
- function code128(string) {
294
+ function finish(values) {
295
+ let sum = 0;
296
+ for (let i = 0; i < values.length; i++) {
297
+ sum += values[i] * (i || 1);
298
+ }
299
+ return [...values, sum % 103].map((value) => CHARACTERS[value]).join("") + STOP;
300
+ }
301
+ function encode(string, codeset) {
302
+ const codes = CODESETS[codeset];
303
+ const values = [START[codeset]];
304
+ next: while (string) {
305
+ for (const [value, code] of Object.entries(codes)) {
306
+ if (string.startsWith(value)) {
307
+ values.push(code);
308
+ string = string.slice(value.length);
309
+ continue next;
310
+ }
311
+ }
312
+ throw new Error(`Unable to encode character "${unicode(string[0])}" in code set "${codeset}"`);
313
+ }
314
+ return finish(values);
315
+ }
316
+ function code128(string, codeset) {
317
+ if (codeset) return encode(string, codeset);
304
318
  const encoders = [];
305
319
  new Encoder("C", string, encoders);
306
- new Encoder("B", string, encoders);
307
320
  new Encoder("A", string, encoders);
321
+ new Encoder("B", string, encoders);
308
322
  for (let length = 1; ; length++) {
309
323
  for (const encoder of encoders) encoder.encode(length);
310
324
  for (const encoder of encoders) {
@@ -327,6 +341,7 @@ export {
327
341
  FNC3,
328
342
  FNC4,
329
343
  SHIFT,
344
+ START,
330
345
  START_A,
331
346
  START_B,
332
347
  START_C,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/code128.ts"],
4
- "mappings": ";AAiBO,IAAM,OAAO;AAEb,IAAM,OAAO;AAEb,IAAM,OAAO;AAEb,IAAM,OAAO;AAEpB,IAAM,OAAO;AAAA;AAAA,EAEX,CAAE,GAAK,KAAY,KAAY,MAAY,MAAS;AAAA;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,MAAY,MAAY,MAAY,IAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,QAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,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",
4
+ "mappings": ";AAiBO,IAAM,OAAO;AAEb,IAAM,OAAO;AAEb,IAAM,OAAO;AAEb,IAAM,OAAO;AAEpB,IAAM,OAAO;AAAA;AAAA,EAEX,CAAE,GAAK,KAAY,KAAY,MAAY,MAAS;AAAA;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,GAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,MAAY,MAAY,MAAY,IAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,QAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,MAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,EACpD,CAAE,IAAK,KAAY,KAAY,MAAY,GAAS;AAAA;AAAA,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",
5
5
  "names": []
6
6
  }
package/dist/ean.cjs CHANGED
@@ -133,7 +133,8 @@ function toDigits(string) {
133
133
  for (let i = 0; i < string.length; i++) {
134
134
  const digit = string.charCodeAt(i) - 48;
135
135
  if (digit < 0 || digit > 9) {
136
- throw new Error(`Invalid character to encode "${string[i]}"`);
136
+ const hex = string.charCodeAt(0).toString(16).padStart(4, "0");
137
+ throw new Error(`Invalid character to encode "\\u${hex}"`);
137
138
  } else {
138
139
  digits.push(digit);
139
140
  }
package/dist/ean.cjs.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/ean.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["checksum"]
6
6
  }
package/dist/ean.mjs CHANGED
@@ -108,7 +108,8 @@ function toDigits(string) {
108
108
  for (let i = 0; i < string.length; i++) {
109
109
  const digit = string.charCodeAt(i) - 48;
110
110
  if (digit < 0 || digit > 9) {
111
- throw new Error(`Invalid character to encode "${string[i]}"`);
111
+ const hex = string.charCodeAt(0).toString(16).padStart(4, "0");
112
+ throw new Error(`Invalid character to encode "\\u${hex}"`);
112
113
  } else {
113
114
  digits.push(digit);
114
115
  }
package/dist/ean.mjs.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/ean.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["checksum"]
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAgD;AAChD,iBAA8B;AAE9B,IAAM,OAAO,IAAI,IAAI,YAAW,UAAU;AAEnC,IAAM,QAAQ;AAAA,EACnB,+BAA+B,IAAI,IAAI,yCAAyC,IAAI,EAAE;AAAA,EACtF,mCAAmC,IAAI,IAAI,6CAA6C,IAAI,EAAE;AAAA,EAC9F,qCAAqC,IAAI,IAAI,+CAA+C,IAAI,EAAE;AACpG;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAgD;AAChD,iBAA8B;AAI9B,IAAM,OAAO,IAAI,IAAI,YAAW,UAAU;AAEnC,IAAM,QAAQ;AAAA,EACnB,+BAA+B,IAAI,IAAI,yCAAyC,IAAI,EAAE;AAAA,EACtF,mCAAmC,IAAI,IAAI,6CAA6C,IAAI,EAAE;AAAA,EAC9F,qCAAqC,IAAI,IAAI,+CAA+C,IAAI,EAAE;AACpG;",
5
5
  "names": []
6
6
  }
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export { FNC1, FNC2, FNC3, FNC4, code128 } from './code128';
2
2
  export { checksum, ean } from './ean';
3
+ export type { CodeSet } from './code128';
3
4
  export declare const fonts: {
4
5
  'LibreBarcode128-Regular.ttf': string;
5
6
  'LibreBarcode128Text-Regular.ttf': string;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "mappings": ";AAAA,SAAS,MAAM,MAAM,MAAM,MAAM,eAAe;AAChD,SAAS,UAAU,WAAW;AAE9B,IAAM,OAAO,IAAI,IAAI,iBAAW,UAAU;AAEnC,IAAM,QAAQ;AAAA,EACnB,+BAA+B,IAAI,IAAI,yCAAyC,IAAI,EAAE;AAAA,EACtF,mCAAmC,IAAI,IAAI,6CAA6C,IAAI,EAAE;AAAA,EAC9F,qCAAqC,IAAI,IAAI,+CAA+C,IAAI,EAAE;AACpG;",
4
+ "mappings": ";AAAA,SAAS,MAAM,MAAM,MAAM,MAAM,eAAe;AAChD,SAAS,UAAU,WAAW;AAI9B,IAAM,OAAO,IAAI,IAAI,iBAAW,UAAU;AAEnC,IAAM,QAAQ;AAAA,EACnB,+BAA+B,IAAI,IAAI,yCAAyC,IAAI,EAAE;AAAA,EACtF,mCAAmC,IAAI,IAAI,6CAA6C,IAAI,EAAE;AAAA,EAC9F,qCAAqC,IAAI,IAAI,+CAA+C,IAAI,EAAE;AACpG;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juit/librebarcode",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Encoders and fonts for EAN13 and Code128",
5
5
  "author": "Team Juit <developers@juit.com>",
6
6
  "license": "Apache-2.0",
@@ -28,7 +28,7 @@
28
28
  "transpile": "plug transpile"
29
29
  },
30
30
  "devDependencies": {
31
- "@plugjs/build": "^0.6.0"
31
+ "@plugjs/build": "^0.6.1"
32
32
  },
33
33
  "directories": {
34
34
  "test": "test"
package/src/code128.ts CHANGED
@@ -179,6 +179,13 @@ export const START_B = 104
179
179
  /** Start with code-set `C` */
180
180
  export const START_C = 105
181
181
 
182
+ /** Start strings by code-set */
183
+ export const START = {
184
+ A: START_A,
185
+ B: START_B,
186
+ C: START_C,
187
+ } as const
188
+
182
189
  /** The stop character */
183
190
  export const STOP = '\u00ce' // Î
184
191
 
@@ -219,11 +226,7 @@ export class Encoder {
219
226
  if (values) {
220
227
  this._values = values
221
228
  } else {
222
- switch (codeset) {
223
- case 'A': this._values = [ START_A ]; break
224
- case 'B': this._values = [ START_B ]; break
225
- case 'C': this._values = [ START_C ]; break
226
- }
229
+ this._values = [ START[codeset] ]
227
230
  }
228
231
 
229
232
  this._encoders.push(this)
@@ -334,32 +337,62 @@ export class Encoder {
334
337
 
335
338
  /** Finish the encoding, and return the string for our barcode */
336
339
  public finish(): string {
337
- // The checksum, as the weighted sum of all values modulo 103
338
- let sum = 0
339
- for (let i = 0; i < this._values.length; i ++) {
340
- sum += this._values[i]! * (i || 1)
341
- }
340
+ return finish(this._values)
341
+ }
342
+ }
343
+
344
+ /** Finish the encoding, and return the string for our barcode */
345
+ function finish(values: Code[]): string {
346
+ // The checksum, as the weighted sum of all values modulo 103
347
+ let sum = 0
348
+ for (let i = 0; i < values.length; i ++) {
349
+ sum += values[i]! * (i || 1)
350
+ }
342
351
 
343
- // Encode all our values, convert into characters, and add a "stop"
344
- return [ ...this._values, (sum % 103) as Code ]
345
- .map((value) => CHARACTERS[value])
346
- .join('') + STOP
352
+ // Encode all our values, convert into characters, and add a "stop"
353
+ return [ ...values, (sum % 103) as Code ]
354
+ .map((value) => CHARACTERS[value])
355
+ .join('') + STOP
356
+ }
357
+
358
+ /** Encode the specified string only using the specified codeset */
359
+ function encode(string: string, codeset: CodeSet): string {
360
+ // Get our codeset (sequence => Code)
361
+ const codes = CODESETS[codeset]
362
+
363
+ // Process the string
364
+ const values: Code[] = [ START[codeset] ]
365
+ next: while (string) {
366
+ for (const [ value, code ] of Object.entries(codes)) {
367
+ if (string.startsWith(value)) {
368
+ values.push(code)
369
+ string = string.slice(value.length)
370
+ continue next
371
+ }
372
+ }
373
+ throw new Error(`Unable to encode character "${unicode(string[0]!)}" in code set "${codeset}"`)
347
374
  }
375
+
376
+ // Finish up the result
377
+ return finish(values)
348
378
  }
349
379
 
350
380
  /* ========================================================================== *
351
381
  * ENCODE *
352
382
  * ========================================================================== */
353
383
 
354
- export function code128(string: string): string {
384
+ export function code128(string: string, codeset?: CodeSet): string {
385
+ // If a code set was specified, encode straight!
386
+ if (codeset) return encode(string, codeset)
387
+
355
388
  // All our encoders, they'll "procreate" while encoding
356
389
  const encoders: Encoder[] = []
357
390
 
358
391
  // Initial encoders, starting at each code-set (we start with "C" as it
359
392
  // has the biggest chance of encoding as much data in a shorter barcode)
360
393
  new Encoder('C', string, encoders)
361
- new Encoder('B', string, encoders)
362
394
  new Encoder('A', string, encoders)
395
+ new Encoder('B', string, encoders)
363
396
 
364
397
  // Repeat ad nauseam
365
398
  for (let length = 1; ; length ++) {
package/src/ean.ts CHANGED
@@ -161,7 +161,8 @@ function toDigits(string: string): Digit[] {
161
161
  for (let i = 0; i < string.length; i ++) {
162
162
  const digit = string.charCodeAt(i) - 48
163
163
  if ((digit < 0) || (digit > 9)) {
164
- throw new Error(`Invalid character to encode "${string[i]}"`)
164
+ const hex = string.charCodeAt(0).toString(16).padStart(4, '0')
165
+ throw new Error(`Invalid character to encode "\\u${hex}"`)
165
166
  } else {
166
167
  digits.push(digit as Digit)
167
168
  }
package/src/index.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export { FNC1, FNC2, FNC3, FNC4, code128 } from './code128'
2
2
  export { checksum, ean } from './ean'
3
3
 
4
+ export type { CodeSet } from './code128'
5
+
4
6
  const here = new URL(__fileurl, 'file:///')
5
7
 
6
8
  export const fonts = {