UNPKG

ilib

Version:

iLib is a cross-engine library of internationalization (i18n) classes written in pure JS

1 lines 753 B
var isPunct=require("./isPunct.js");var NormString=require("./NormString.js");var CodePointSource=function(t,i){this.chars=[];var e=typeof t==="string"?new NormString(t):t;this.it=e.charIterator();this.ignorePunctuation=typeof i==="boolean"&&i};CodePointSource.prototype.peek=function(t){if(t<1){return undefined}if(this.chars.length<t&&this.it.hasNext()){for(var i=0;this.chars.length<4&&this.it.hasNext();i++){var e=this.it.next();if(e&&!this.ignorePunctuation||!isPunct(e)){this.chars.push(e)}}}if(this.chars.length<t){return undefined}return this.chars.slice(0,t).join("")};CodePointSource.prototype.consume=function(t){if(t>0){this.peek(t);if(t<this.chars.length){this.chars=this.chars.slice(t)}else{this.chars=[]}}};module.exports=CodePointSource;