UNPKG

linenumber

Version:

Get the line number of one or more matches in a file

1 lines 1.31 kB
!function(){var a,b="undefined"!=typeof module&&this.module!==module,c=b?require("fs"):{},d={sync:c.readFileSync,async:c.readFile,args:[{encoding:"utf8"}],context:c},e=function(a,b,c){var d=b instanceof RegExp?b:new RegExp(b,"g");if(d.test(a)){d.lastIndex=0;for(var e,f=[];null!==(e=d.exec(a));){var g={line:a.substring(0,e.index).split("\n").length,match:e[0]};c&&(g.file=c),f.push(g)}return f}return null},f=function(b,c,d){var f=function(){var a=e.apply(null,arguments);if(d&&1===d.length)d(a);else{if(!d)return a;d(null,a)}};if(!(-1===b.indexOf("\n")&&b.indexOf(".")>-1))return f(b,c);if(!d||!a.async){var g=a.sync.apply(a.context,[b].concat(a.args));return f(g,c,b)}a.async.apply(a.context,[b].concat(a.args).concat(function(a,f){1===d.length?d(e(a,c,b)):a?d(a):d(null,e(f,c,b))}))},g=function(b,c,d){"Array"===b.constructor.name?a={sync:b[0],async:b[1],args:c,context:d}:"Object"===b.constructor.name&&(a={sync:b.sync,async:b.async,args:c,context:d})};f.loader=function(a){var b=[].slice.call(arguments,1);"function"==typeof a?g({async:a},b,this):g(a,b,this)},f.loaderSync=function(a){var b=[].slice.call(arguments,1);"function"==typeof a?g({sync:a},b,this):g(a,b,this)},f.reset=function(){a={sync:d.sync,async:d.async,args:d.args,context:d.context}},f.reset(),b?module.exports=f:window.linenumber=f}();