Files
roll20-character-sheets-tester/Shadowrun5thEdition/src/js/processingFunctions.js
T
Cassie Levett 5932178ce8 Shadowrun 5th Edition v4.15 (#6085)
* fix translation bug and white space in notes

* remove css duplicate variable

* save update Astral Init Dice function

* add back astral init

* fix edge toggle

* combine script files. Add additional unit tests

* convert unit test to QUnit. Break up pugs into tabs

* convert roll template pug, add fade/draain to chat template

* add margin above drain/fade selects

* break up scss into 7-1

* adjust css

* add user feedback

* remove obsolete css and add additiona user feedback

* move npc sheet

* reduce button highlighting change

* fix bug in with the Primary target

* refactor vehicle, add gear location

* move and fix npc sheet
2020-04-06 14:03:28 -07:00

37 lines
1.5 KiB
JavaScript

const processingFunctions = {
convertIntegerNegative: number => number > 0 ? -Math.abs(number) : number,
convertIntegersNegatives: numbers => {
for (let [key, value] of Object.entries(numbers)) {
numbers[key] = processingFunctions.convertIntegerNegative(value);
}
return numbers
},
findRepeatingField: trigger => trigger.split('_')[1],
//Roll20 does not allow for Promises
//getAttributes: array => new Promise((resolve, reject) => array ? getAttrs(array, v => resolve(v)) : reject(errorMessage('Function failed'))),
getReprowid: trigger => {
const split = trigger.split('_');
return `${split[0]}_${split[1]}_${split[2]}`
},
getReprowAttribute: key => {
const getReprowid = processingFunctions.getReprowid(key)
return key.split(`${getReprowid}_`)[1]
},
getTranslations: translationKeys => {
let translations = {}
translationKeys.forEach(key => translations[`${key}`] = getTranslationByKey(key))
return translations
},
parseInteger: string => parseInt(string) || 0,
parseIntegers: numbers => {
for (let [key, value] of Object.entries(numbers)) {
numbers[key] = parseInt(value) || 0;
}
return numbers
},
setAttributes: (update, silent) => silent && typeof update === 'object' ? setAttrs(update, {silent:true}) : typeof update === 'object' ? setAttrs(update) : console.error(`${update} is not an object`),
sliceAttr: attribute => attribute.slice(2, -1),
sumIntegers: numbers => numbers.reduce((a,b) => a + b, 0),
}