PageSourceSearch

https://rutledgegroup.co.uk/assets/salary-DrGcrrsb.js

js rutledgegroup.co.uk collected 2026-10-07 03:27:12 UTC 2,145 bytes, 1 lines download raw bytes

1const k="–",x=/\s*(?:-|\u2013|\u2014|to)\s*/i,b=/(\d[\d,]*(?:\.\d+)?)/g;function g(r){const e=Number(r.replace(/,/g,""));return Number.isFinite(e)?e:null}function w(r,e){const t=r.toLowerCase();return/per\s*hour|\/\s*hr|\/\s*h\b|per\s*hr|hourly|p\.?h\b/.test(t)?"hour":/per\s*year|\/\s*yr|per\s*annum|p\.?a\b|yearly|annually/.test(t)?"year":/per\s*day|\/\s*day|daily/.test(t)?"day":/per\s*week|\/\s*wk|weekly/.test(t)?"week":/per\s*month|\/\s*mo|monthly/.test(t)?"month":e<=100?"hour":e>=1e3?"year":null}function N(r){const e=r.toLowerCase();if(/\bdoe\b|depending on experience|dep\.?\s*on\s*exp/.test(e))return"DOE";if(/\bneg\b|negotiable/.test(e))return"Neg";if(/\+\s*$|\+\s*(per|\/|hr|yr|year|hour)/.test(e.trim()))return"+"}function u(r,e){return(e==="hour"||e==="day")&&r<100&&Math.round(r)!==r?`£${r.toFixed(2)}`:`£${Math.round(r).toLocaleString("en-GB")}`}function p(r){switch(r){case"hour":return" / hr";case"year":return" / yr";case"day":return" / day";case"week":return" / wk";case"month":return" / mo";default:return""}}function l(r){const e=(r??"").trim();if(!e)return{display:"",period:null,ok:!1,raw:""};const t=N(e),n=[],y=e.match(b)??[];for(const h of y){const a=g(h);a!==null&&a>0&&n.push(a)}if(n.length===0)return{display:e,period:null,ok:!1,raw:e,qualifier:t};const m=n.length>=2&&x.test(e.replace(/\d[\d,.]*/g,"N")),c=n[0],s=m?Math.max(n[0],n[1]):c,i=Math.min(c,s),o=w(e,s),d=p(o),f=t==="DOE"?" DOE":t==="Neg"?" Neg.":t==="+"?"+":"";return{display:i===s?`${u(i,o)}${f}${d}`:`${u(i,o)} ${k} ${u(s,o)}${f}${d}`,min:i,max:s,period:o,ok:!0,raw:e,qualifier:t}}function $(r){return l(r).display}function D(r){const e=l(r);if(!e.ok||!e.min||!e.period)return null;const t=e.period==="hour"?"HOUR":e.period==="day"?"DAY":e.period==="week"?"WEEK":e.period==="month"?"MONTH":"YEAR";return e.max&&e.max!==e.min?{"@type":"QuantitativeValue",minValue:e.min,maxValue:e.max,unitText:t}:{"@type":"QuantitativeValue",value:e.min,unitText:t}}function R(r){const e=l(r);if(!e.ok)return{head:e.display,suffix:""};const t=p(e.period).trim();return{head:t?e.display.replace(t,"").trim():e.display,suffix:t}}export{$ as a,R as b,l as f,D as s};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.