Comparing version 2.2.1 to 2.3.0
@@ -473,23 +473,2 @@ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } | ||
var unicodeToMorse = function unicodeToMorse(character) { | ||
var ch = []; | ||
for (var i = 0; i < character.length; i++) { | ||
ch[i] = ('00' + character.charCodeAt(i).toString(16)).slice(-4); | ||
} | ||
return parseInt(ch.join(''), 16).toString(2); | ||
}; | ||
var unicodeToHex = function unicodeToHex(morse, options) { | ||
morse = morse.replace(new RegExp('\\' + options.dot, 'g'), '0').replace(new RegExp('\\' + options.dash, 'g'), '1'); | ||
morse = parseInt(morse, 2); | ||
if (isNaN(morse)) { | ||
return options.invalid; | ||
} | ||
return decodeURIComponent(JSON.parse('"' + "\\u" + morse.toString(16) + '"')); | ||
}; | ||
var getOptions = function getOptions(options) { | ||
@@ -530,3 +509,3 @@ options = options || {}; | ||
return parseInt(options.priority) === 13 ? unicodeToMorse(character) : options.invalid; | ||
return options.invalid; | ||
}).join(options.separator).replace(/0/g, options.dot).replace(/1/g, options.dash); | ||
@@ -543,11 +522,15 @@ }; | ||
return parseInt(options.priority) === 13 ? unicodeToHex(characters, options) : options.invalid; | ||
return options.invalid; | ||
}).join(''); | ||
}; | ||
var isBrowser = typeof window !== 'undefined'; | ||
var AudioContext = isBrowser ? window.AudioContext || window.webkitAudioContext : null; | ||
var context = isBrowser ? new AudioContext() : null; | ||
var AudioContext = null; | ||
var context = null; | ||
var audio = function audio(text, opts) { | ||
if (AudioContext === null && typeof window !== 'undefined') { | ||
AudioContext = window.AudioContext || window.webkitAudioContext; | ||
context = new AudioContext(); | ||
} | ||
var options = getOptions(opts); | ||
@@ -554,0 +537,0 @@ var morse = encode(text, opts); |
@@ -1,1 +0,1 @@ | ||
function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(a){if(Symbol.iterator in Object(a)||"[object Arguments]"===Object.prototype.toString.call(a))return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a)){for(var b=0,c=Array(a.length);b<a.length;b++)c[b]=a[b];return c}}function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}(function(a,b,c){"object"===("undefined"==typeof exports?"undefined":_typeof(exports))?module.exports=c():"function"==typeof define&&define.amd?define(c):b[a]=c()})("morsify",this,function(){'use strict';var a={1:{A:"01",B:"1000",C:"1010",D:"100",E:"0",F:"0010",G:"110",H:"0000",I:"00",J:"0111",K:"101",L:"0100",M:"11",N:"10",O:"111",P:"0110",Q:"1101",R:"010",S:"000",T:"1",U:"001",V:"0001",W:"011",X:"1001",Y:"1011",Z:"1100"},2:{0:"11111",1:"01111",2:"00111",3:"00011",4:"00001",5:"00000",6:"10000",7:"11000",8:"11100",9:"11110"},3:{".":"010101",",":"110011","?":"001100","'":"011110","!":"101011","/":"10010","(":"10110",")":"101101","&":"01000",":":"111000",";":"101010","=":"10001","+":"01010","-":"100001",_:"001101",'"':"010010",$:"0001001","@":"011010","¿":"00101","¡":"110001"},4:{Ã:"01101",Á:"01101",Å:"01101",À:"01101",Â:"01101",Ä:"0101",Ą:"0101",Æ:"0101",Ç:"10100",Ć:"10100",Ĉ:"10100",Č:"110",Ð:"00110",È:"01001",Ę:"00100",Ë:"00100",É:"00100",Ê:"10010",Ğ:"11010",Ĝ:"11010",Ĥ:"1111",İ:"01001",Ï:"10011",Ì:"01110",Ĵ:"01110",Ł:"01001",Ń:"11011",Ñ:"11011",Ó:"1110",Ò:"1110",Ö:"1110",Ô:"1110",Ø:"1110",Ś:"0001000",Ş:"01100",Ș:"1111",Š:"1111",Ŝ:"00010",ß:"000000",Þ:"01100",Ü:"0011",Ù:"0011",Ŭ:"0011",Ž:"11001",Ź:"110010",Ż:"11001"},5:{А:"01",Б:"1000",В:"011",Г:"110",Д:"100",Е:"0",Ж:"0001",З:"1100",И:"00",Й:"0111",К:"101",Л:"0100",М:"11",Н:"10",О:"111",П:"0110",Р:"010",С:"000",Т:"1",У:"001",Ф:"0010",Х:"0000",Ц:"1010",Ч:"1110",Ш:"1111",Щ:"1101",Ъ:"11011",Ы:"1011",Ь:"1001",Э:"00100",Ю:"0011",Я:"0101",Ї:"01110",Є:"00100",І:"00",Ґ:"110"},6:{Α:"01",Β:"1000",Γ:"110",Δ:"100",Ε:"0",Ζ:"1100",Η:"0000",Θ:"1010",Ι:"00",Κ:"101",Λ:"0100",Μ:"11",Ν:"10",Ξ:"1001",Ο:"111",Π:"0110",Ρ:"010",Σ:"000",Τ:"1",Υ:"1011",Φ:"0010",Χ:"1111",Ψ:"1101",Ω:"011"},7:{א:"01",ב:"1000",ג:"110",ד:"100",ה:"111",ו:"0",ז:"1100",ח:"0000",ט:"001",י:"00",כ:"101",ל:"0100",מ:"11",נ:"10",ס:"1010",ע:"0111",פ:"0110",צ:"011",ק:"1101",ר:"010",ש:"000",ת:"1"},8:{ا:"01",ب:"1000",ت:"1",ث:"1010",ج:"0111",ح:"0000",خ:"111",د:"100",ذ:"1100",ر:"010",ز:"1110",س:"000",ش:"1111",ص:"1001",ض:"0001",ط:"001",ظ:"1011",ع:"0101",غ:"110",ف:"0010",ق:"1101",ك:"101",ل:"0100",م:"11",ن:"10",ه:"00100",و:"011",ي:"00",ﺀ:"0"},9:{ا:"01",ب:"1000",پ:"0110",ت:"1",ث:"1010",ج:"0111",چ:"1110",ح:"0000",خ:"1001",د:"100",ذ:"0001",ر:"010",ز:"1100",ژ:"110",س:"000",ش:"1111",ص:"0101",ض:"00100",ط:"001",ظ:"1011",ع:"111",غ:"0011",ف:"0010",ق:"111000",ک:"101",گ:"1101",ل:"0100",م:"11",ن:"10",و:"011",ه:"0",ی:"00"},10:{ア:"11011",カ:"0100",サ:"10101",タ:"10",ナ:"010",ハ:"1000",マ:"1001",ヤ:"011",ラ:"000",ワ:"101",イ:"01",キ:"10100",シ:"11010",チ:"0010",ニ:"1010",ヒ:"11001",ミ:"00101",リ:"110",ヰ:"01001",ウ:"001",ク:"0001",ス:"11101",ツ:"0110",ヌ:"0000",フ:"1100",ム:"1",ユ:"10011",ル:"10110",ン:"01010",エ:"01000",ケ:"1011",セ:"01110",テ:"01011",ネ:"1101",ヘ:"0",メ:"10001",レ:"111",ヱ:"01100",オ:"10111",コ:"1111",ソ:"1110",ト:"00100",ノ:"0011",ホ:"100",モ:"10010",ヨ:"11",ロ:"0101",ヲ:"0111","゛":"00","゜":"00110","。":"010100",ー:"01101","、":"010101","(":"101101",")":"010010"},11:{ㄱ:"0100",ㄴ:"0010",ㄷ:"1000",ㄹ:"0001",ㅁ:"11",ㅂ:"011",ㅅ:"110",ㅇ:"101",ㅈ:"0110",ㅊ:"1010",ㅋ:"1001",ㅌ:"1100",ㅍ:"111",ㅎ:"0111",ㅏ:"0",ㅑ:"00",ㅓ:"1",ㅕ:"000",ㅗ:"01",ㅛ:"10",ㅜ:"0000",ㅠ:"010",ㅡ:"100",ㅣ:"001"},12:{ก:"110",ข:"1010",ค:"101",ง:"10110",จ:"10010",ฉ:"1111",ช:"1001",ซ:"1100",ญ:"0111",ด:"100",ต:"1",ถ:"10100",ท:"10011",น:"10",บ:"1000",ป:"0110",ผ:"1101",ฝ:"10101",พ:"01100",ฟ:"0010",ม:"11",ย:"1011",ร:"010",ล:"0100",ว:"011",ส:"000",ห:"0000",อ:"10001",ฮ:"11011",ฤ:"01011",ะ:"01000",า:"01","ิ":"00100","ี":"00","ึ":"00110","ื":"0011","ุ":"00101","ู":"1110",เ:"0",แ:"0101",ไ:"01001",โ:"111",ำ:"00010","่":"001","้":"0001","๊":"11000","๋":"01010","ั":"01101","็":"11100","์":"11001",ๆ:"10111",ฯ:"11010"}},b=function(b,c){var d=f(b),e={};for(var g in a)for(var h in e[g]={},a[g])e[g][h]=a[g][h].replace(/0/g,d.dot).replace(/1/g,d.dash);return!0!==c&&delete e[0],e},c=function(a){var c={},d=b(a,!0);for(var e in d)for(var f in d[e])"undefined"==typeof c[d[e][f]]&&(c[d[e][f]]=f);return c},d=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=("00"+a.charCodeAt(c).toString(16)).slice(-4);return parseInt(b.join(""),16).toString(2)},e=function(a,b){return a=a.replace(new RegExp("\\"+b.dot,"g"),"0").replace(new RegExp("\\"+b.dash,"g"),"1"),a=parseInt(a,2),isNaN(a)?b.invalid:decodeURIComponent(JSON.parse("\"\\u"+a.toString(16)+"\""))},f=function(b){return b=b||{},b.oscillator=b.oscillator||{},b={dash:b.dash||"-",dot:b.dot||".",space:b.space||"/",separator:b.separator||" ",invalid:b.invalid||"#",priority:b.priority||1,unit:b.unit||.08,oscillator:{type:b.oscillator.type||"sine",frequency:b.oscillator.frequency||500,onended:b.oscillator.onended||null}},a[1][b.separator]=b.space,a[0]=a[b.priority],b},g=function(b,c){var e=f(c);return _toConsumableArray(b.replace(/\s+/g,e.separator).trim().toLocaleUpperCase()).map(function(b){for(var c in a)if("undefined"!=typeof a[c]&&"undefined"!=typeof a[c][b])return a[c][b];return 13===parseInt(e.priority)?d(b):e.invalid}).join(e.separator).replace(/0/g,e.dot).replace(/1/g,e.dash)},h="undefined"!=typeof window,i=h?window.AudioContext||window.webkitAudioContext:null,j=h?new i:null;return{characters:b,decode:function(a,b){var d=f(b),g=c(d);return a.replace(/\s+/g,d.separator).trim().split(d.separator).map(function(a){return"undefined"==typeof g[a]?13===parseInt(d.priority)?e(a,d):d.invalid:g[a]}).join("")},encode:g,audio:function(a,b){var c,d=f(b),e=g(a,b),h=j.createOscillator(),k=j.createGain(),l=j.currentTime;h.type=d.oscillator.type,h.frequency.value=d.oscillator.frequency,h.onended=d.oscillator.onended,k.gain.setValueAtTime(0,l);for(var m=function(a){k.gain.setValueAtTime(1,l),l+=a*d.unit},n=function(a){k.gain.setValueAtTime(0,l),l+=a*d.unit},o=0;o<=e.length;o++)e[o]===d.space?n(7):e[o]===d.dot?(m(1),n(1)):e[o]===d.dash?(m(3),n(1)):n(3);h.connect(k),k.connect(j.destination);var p=function(){h.start(j.currentTime),c=setTimeout(function(){return q()},1e3*(l-j.currentTime))},q=function(){clearTimeout(c),c=0,h.stop(0)};return{play:p,stop:q,context:j,oscillator:h,gainNode:k}}}}); | ||
function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(a){if(Symbol.iterator in Object(a)||"[object Arguments]"===Object.prototype.toString.call(a))return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a)){for(var b=0,c=Array(a.length);b<a.length;b++)c[b]=a[b];return c}}function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}(function(a,b,c){"object"===("undefined"==typeof exports?"undefined":_typeof(exports))?module.exports=c():"function"==typeof define&&define.amd?define(c):b[a]=c()})("morsify",this,function(){'use strict';var a={1:{A:"01",B:"1000",C:"1010",D:"100",E:"0",F:"0010",G:"110",H:"0000",I:"00",J:"0111",K:"101",L:"0100",M:"11",N:"10",O:"111",P:"0110",Q:"1101",R:"010",S:"000",T:"1",U:"001",V:"0001",W:"011",X:"1001",Y:"1011",Z:"1100"},2:{0:"11111",1:"01111",2:"00111",3:"00011",4:"00001",5:"00000",6:"10000",7:"11000",8:"11100",9:"11110"},3:{".":"010101",",":"110011","?":"001100","'":"011110","!":"101011","/":"10010","(":"10110",")":"101101","&":"01000",":":"111000",";":"101010","=":"10001","+":"01010","-":"100001",_:"001101",'"':"010010",$:"0001001","@":"011010","¿":"00101","¡":"110001"},4:{Ã:"01101",Á:"01101",Å:"01101",À:"01101",Â:"01101",Ä:"0101",Ą:"0101",Æ:"0101",Ç:"10100",Ć:"10100",Ĉ:"10100",Č:"110",Ð:"00110",È:"01001",Ę:"00100",Ë:"00100",É:"00100",Ê:"10010",Ğ:"11010",Ĝ:"11010",Ĥ:"1111",İ:"01001",Ï:"10011",Ì:"01110",Ĵ:"01110",Ł:"01001",Ń:"11011",Ñ:"11011",Ó:"1110",Ò:"1110",Ö:"1110",Ô:"1110",Ø:"1110",Ś:"0001000",Ş:"01100",Ș:"1111",Š:"1111",Ŝ:"00010",ß:"000000",Þ:"01100",Ü:"0011",Ù:"0011",Ŭ:"0011",Ž:"11001",Ź:"110010",Ż:"11001"},5:{А:"01",Б:"1000",В:"011",Г:"110",Д:"100",Е:"0",Ж:"0001",З:"1100",И:"00",Й:"0111",К:"101",Л:"0100",М:"11",Н:"10",О:"111",П:"0110",Р:"010",С:"000",Т:"1",У:"001",Ф:"0010",Х:"0000",Ц:"1010",Ч:"1110",Ш:"1111",Щ:"1101",Ъ:"11011",Ы:"1011",Ь:"1001",Э:"00100",Ю:"0011",Я:"0101",Ї:"01110",Є:"00100",І:"00",Ґ:"110"},6:{Α:"01",Β:"1000",Γ:"110",Δ:"100",Ε:"0",Ζ:"1100",Η:"0000",Θ:"1010",Ι:"00",Κ:"101",Λ:"0100",Μ:"11",Ν:"10",Ξ:"1001",Ο:"111",Π:"0110",Ρ:"010",Σ:"000",Τ:"1",Υ:"1011",Φ:"0010",Χ:"1111",Ψ:"1101",Ω:"011"},7:{א:"01",ב:"1000",ג:"110",ד:"100",ה:"111",ו:"0",ז:"1100",ח:"0000",ט:"001",י:"00",כ:"101",ל:"0100",מ:"11",נ:"10",ס:"1010",ע:"0111",פ:"0110",צ:"011",ק:"1101",ר:"010",ש:"000",ת:"1"},8:{ا:"01",ب:"1000",ت:"1",ث:"1010",ج:"0111",ح:"0000",خ:"111",د:"100",ذ:"1100",ر:"010",ز:"1110",س:"000",ش:"1111",ص:"1001",ض:"0001",ط:"001",ظ:"1011",ع:"0101",غ:"110",ف:"0010",ق:"1101",ك:"101",ل:"0100",م:"11",ن:"10",ه:"00100",و:"011",ي:"00",ﺀ:"0"},9:{ا:"01",ب:"1000",پ:"0110",ت:"1",ث:"1010",ج:"0111",چ:"1110",ح:"0000",خ:"1001",د:"100",ذ:"0001",ر:"010",ز:"1100",ژ:"110",س:"000",ش:"1111",ص:"0101",ض:"00100",ط:"001",ظ:"1011",ع:"111",غ:"0011",ف:"0010",ق:"111000",ک:"101",گ:"1101",ل:"0100",م:"11",ن:"10",و:"011",ه:"0",ی:"00"},10:{ア:"11011",カ:"0100",サ:"10101",タ:"10",ナ:"010",ハ:"1000",マ:"1001",ヤ:"011",ラ:"000",ワ:"101",イ:"01",キ:"10100",シ:"11010",チ:"0010",ニ:"1010",ヒ:"11001",ミ:"00101",リ:"110",ヰ:"01001",ウ:"001",ク:"0001",ス:"11101",ツ:"0110",ヌ:"0000",フ:"1100",ム:"1",ユ:"10011",ル:"10110",ン:"01010",エ:"01000",ケ:"1011",セ:"01110",テ:"01011",ネ:"1101",ヘ:"0",メ:"10001",レ:"111",ヱ:"01100",オ:"10111",コ:"1111",ソ:"1110",ト:"00100",ノ:"0011",ホ:"100",モ:"10010",ヨ:"11",ロ:"0101",ヲ:"0111","゛":"00","゜":"00110","。":"010100",ー:"01101","、":"010101","(":"101101",")":"010010"},11:{ㄱ:"0100",ㄴ:"0010",ㄷ:"1000",ㄹ:"0001",ㅁ:"11",ㅂ:"011",ㅅ:"110",ㅇ:"101",ㅈ:"0110",ㅊ:"1010",ㅋ:"1001",ㅌ:"1100",ㅍ:"111",ㅎ:"0111",ㅏ:"0",ㅑ:"00",ㅓ:"1",ㅕ:"000",ㅗ:"01",ㅛ:"10",ㅜ:"0000",ㅠ:"010",ㅡ:"100",ㅣ:"001"},12:{ก:"110",ข:"1010",ค:"101",ง:"10110",จ:"10010",ฉ:"1111",ช:"1001",ซ:"1100",ญ:"0111",ด:"100",ต:"1",ถ:"10100",ท:"10011",น:"10",บ:"1000",ป:"0110",ผ:"1101",ฝ:"10101",พ:"01100",ฟ:"0010",ม:"11",ย:"1011",ร:"010",ล:"0100",ว:"011",ส:"000",ห:"0000",อ:"10001",ฮ:"11011",ฤ:"01011",ะ:"01000",า:"01","ิ":"00100","ี":"00","ึ":"00110","ื":"0011","ุ":"00101","ู":"1110",เ:"0",แ:"0101",ไ:"01001",โ:"111",ำ:"00010","่":"001","้":"0001","๊":"11000","๋":"01010","ั":"01101","็":"11100","์":"11001",ๆ:"10111",ฯ:"11010"}},b=function(b,c){var e=d(b),f={};for(var g in a)for(var h in f[g]={},a[g])f[g][h]=a[g][h].replace(/0/g,e.dot).replace(/1/g,e.dash);return!0!==c&&delete f[0],f},c=function(a){var c={},d=b(a,!0);for(var e in d)for(var f in d[e])"undefined"==typeof c[d[e][f]]&&(c[d[e][f]]=f);return c},d=function(b){return b=b||{},b.oscillator=b.oscillator||{},b={dash:b.dash||"-",dot:b.dot||".",space:b.space||"/",separator:b.separator||" ",invalid:b.invalid||"#",priority:b.priority||1,unit:b.unit||.08,oscillator:{type:b.oscillator.type||"sine",frequency:b.oscillator.frequency||500,onended:b.oscillator.onended||null}},a[1][b.separator]=b.space,a[0]=a[b.priority],b},e=function(b,c){var e=d(c);return _toConsumableArray(b.replace(/\s+/g,e.separator).trim().toLocaleUpperCase()).map(function(b){for(var c in a)if("undefined"!=typeof a[c]&&"undefined"!=typeof a[c][b])return a[c][b];return e.invalid}).join(e.separator).replace(/0/g,e.dot).replace(/1/g,e.dash)},f=null,g=null,h=function(a,b){null===f&&"undefined"!=typeof window&&(f=window.AudioContext||window.webkitAudioContext,g=new f);var c,h=d(b),j=e(a,b),k=g.createOscillator(),l=g.createGain(),m=g.currentTime;k.type=h.oscillator.type,k.frequency.value=h.oscillator.frequency,k.onended=h.oscillator.onended,l.gain.setValueAtTime(0,m);for(var n=function(a){l.gain.setValueAtTime(1,m),m+=a*h.unit},o=function(a){l.gain.setValueAtTime(0,m),m+=a*h.unit},p=0;p<=j.length;p++)j[p]===h.space?o(7):j[p]===h.dot?(n(1),o(1)):j[p]===h.dash?(n(3),o(1)):o(3);k.connect(l),l.connect(g.destination);var q=function(){k.start(g.currentTime),c=setTimeout(function(){return r()},1e3*(m-g.currentTime))},r=function(){clearTimeout(c),c=0,k.stop(0)};return{play:q,stop:r,context:g,oscillator:k,gainNode:l}};return{characters:b,decode:function(a,b){var e=d(b),f=c(e);return a.replace(/\s+/g,e.separator).trim().split(e.separator).map(function(a){return"undefined"==typeof f[a]?e.invalid:f[a]}).join("")},encode:e,audio:h}}); |
{ | ||
"name": "morsify", | ||
"version": "2.2.1", | ||
"version": "2.3.0", | ||
"description": "Morse code translator, Morse encoder and decoder which can also generate audio.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -6,3 +6,3 @@ # Morsify - Morse Code Translator with Audio | ||
Morse code encoder and decoder with no dependencies supports Latin, Cyrillic, Greek, Hebrew, | ||
Arabic, Persian, Japanese, Korean, Thai, and Unicode (Chinese and the others) characters with audio generation | ||
Arabic, Persian, Japanese, Korean and Thai characters with audio generation | ||
functionality using the [Web Audio API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API). | ||
@@ -76,3 +76,2 @@ | ||
- 12 => Thai | ||
- 13 => Unicode (Chinese and the others) | ||
@@ -84,3 +83,2 @@ ```js | ||
const japanese = morsify.encode('NEWS', { priority: 10, dash: '-', dot: '・', separator: ' ' }); // -・ ・ ・-- ・・・ | ||
const chinese = morsify.encode('你好', { priority: 13 }); // -..----.--..... -.--..-.-----.- | ||
const characters = morsify.characters({ dash: '–', dot: '•' }); // {'1': {'A': '•–', ...}, ..., '11': {'ㄱ': '•–••', ...}} | ||
@@ -87,0 +85,0 @@ const arabicAudio = morsify.audio('البراق', { // generates the morse .- .-.. -... .-. .- --.- then generates the audio from it |
@@ -136,19 +136,2 @@ ;(((name, root, factory) => { | ||
const unicodeToMorse = (character) => { | ||
const ch = []; | ||
for (let i = 0; i < character.length; i++) { | ||
ch[i] = ('00' + character.charCodeAt(i).toString(16)).slice(-4); | ||
} | ||
return parseInt(ch.join(''), 16).toString(2); | ||
}; | ||
const unicodeToHex = (morse, options) => { | ||
morse = morse.replace(new RegExp('\\' + options.dot, 'g'), '0').replace(new RegExp('\\' + options.dash, 'g'), '1'); | ||
morse = parseInt(morse, 2); | ||
if (isNaN(morse)) { | ||
return options.invalid; | ||
} | ||
return decodeURIComponent(JSON.parse('"'+ '\\u' + morse.toString(16) +'"')); | ||
}; | ||
const getOptions = (options) => { | ||
@@ -184,3 +167,3 @@ options = options || {}; | ||
} | ||
return parseInt(options.priority) === 13 ? unicodeToMorse(character) : options.invalid; | ||
return options.invalid; | ||
}).join(options.separator).replace(/0/g, options.dot).replace(/1/g, options.dash); | ||
@@ -195,11 +178,16 @@ }; | ||
} | ||
return parseInt(options.priority) === 13 ? unicodeToHex(characters, options) : options.invalid; | ||
return options.invalid; | ||
}).join(''); | ||
}; | ||
const isBrowser = typeof window !== 'undefined'; | ||
const AudioContext = isBrowser ? window.AudioContext || window.webkitAudioContext : null; | ||
const context = isBrowser ? new AudioContext() : null; | ||
let AudioContext = null; | ||
let context = null; | ||
const audio = (text, opts) => { | ||
if (AudioContext === null && typeof window !== 'undefined') { | ||
AudioContext = window.AudioContext || window.webkitAudioContext; | ||
context = new AudioContext(); | ||
} | ||
const options = getOptions(opts); | ||
@@ -206,0 +194,0 @@ const morse = encode(text, opts); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
39820
803
123