Barcode Generation
This commit is contained in:
43
node_modules/jsbarcode/src/barcodes/pharmacode/index.js
generated
vendored
Normal file
43
node_modules/jsbarcode/src/barcodes/pharmacode/index.js
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
// Encoding documentation
|
||||
// http://www.gomaro.ch/ftproot/Laetus_PHARMA-CODE.pdf
|
||||
|
||||
import Barcode from "../Barcode.js";
|
||||
|
||||
class pharmacode extends Barcode{
|
||||
constructor(data, options){
|
||||
super(data, options);
|
||||
this.number = parseInt(data, 10);
|
||||
}
|
||||
|
||||
encode(){
|
||||
var z = this.number;
|
||||
var result = "";
|
||||
|
||||
// http://i.imgur.com/RMm4UDJ.png
|
||||
// (source: http://www.gomaro.ch/ftproot/Laetus_PHARMA-CODE.pdf, page: 34)
|
||||
while(!isNaN(z) && z != 0){
|
||||
if(z % 2 === 0){ // Even
|
||||
result = "11100" + result;
|
||||
z = (z - 2) / 2;
|
||||
}
|
||||
else{ // Odd
|
||||
result = "100" + result;
|
||||
z = (z - 1) / 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Remove the two last zeroes
|
||||
result = result.slice(0, -2);
|
||||
|
||||
return {
|
||||
data: result,
|
||||
text: this.text
|
||||
};
|
||||
}
|
||||
|
||||
valid(){
|
||||
return this.number >= 3 && this.number <= 131070;
|
||||
}
|
||||
}
|
||||
|
||||
export {pharmacode};
|
||||
Reference in New Issue
Block a user