1//String functions 2function bsaPlgIsNullOrEmpty(input) { 3 let output = false; 4 if (input === '' || input === null || input === undefined) { 5 output = true; 6 } 7 8 return output; 9} 10 11//Generate random GUID 12function bsaPlgGenerateUUID() { 13 //Time variables for extra randomness 14 let randomness = 0; 15 let dateTimeMilliSeconds = new Date().getTime(); 16 let dateTimeMicroSeconds = (performance && performance.now && (performance.now() * 1000)) || 0; 17 18 //prepare out 19 let output = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (character) { 20 const seed = Math.random() * 16; 21 if (dateTimeMilliSeconds > 0) { 22 randomness = (dateTimeMilliSeconds + seed) % 16 | 0; 23 dateTimeMilliSeconds = Math.floor(dateTimeMilliSeconds / 16); 24 } else { 25 randomness = (dateTimeMicroSeconds + seed) % 16 | 0; 26 dateTimeMicroSeconds = Math.floor(dateTimeMicroSeconds / 16); 27 } 28 return (character === 'x' ? randomness : (randomness & 0x7 | 0x8)).toString(16); 29 }); 30 31 //Return output 32 return output; 33} 34 35//Cookie functions 36function bsaPlgGetCookieValue(input) { 37 const cookieList = `; ${document.cookie}`; 38 const parts = cookieList.split(`; ${input}=`); 39 40 if (parts.length === 2) { 41 return parts.pop().split(';').shift(); 42 } 43 return ''; 44} 45 46//Is bank account required 47function bsaPlgIsBankAccountRequired(paymentMethod, invoicePeriod) { 48 switch (paymentMethod) { 49 case 'AI': 50 return true; 51 case 'ID': 52 return false; 53 case 'MC': 54 return (invoicePeriod === 'GP' || invoicePeriod === 'NVT') ? false : true; 55 default: 56 return false; 57 } 58}
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.