ilib
Version:
iLib is a cross-engine library of internationalization (i18n) classes written in pure JS
1 lines • 765 B
JavaScript
var isPunct=require("./isPunct.js"),NormString=require("./NormString.js"),CodePointSource=function(str,ignorePunctuation){this.chars=[];str="string"==typeof str?new NormString(str):str;this.it=str.charIterator(),this.ignorePunctuation="boolean"==typeof ignorePunctuation&&ignorePunctuation};CodePointSource.prototype.peek=function(num){if(!(num<1)){if(this.chars.length<num&&this.it.hasNext())for(;this.chars.length<4&&this.it.hasNext();0){var c=this.it.next();(!c||this.ignorePunctuation)&&isPunct(c)||this.chars.push(c)}if(!(this.chars.length<num))return this.chars.slice(0,num).join("")}},CodePointSource.prototype.consume=function(num){0<num&&(this.peek(num),num<this.chars.length?this.chars=this.chars.slice(num):this.chars=[])},module.exports=CodePointSource;