Sort functions alphabetically

This commit is contained in:
pyoor 2018-05-21 12:04:34 -04:00
parent 600bb045be
commit 3f23299430

View file

@ -8,76 +8,12 @@ const utils = require('../utils')
const {o} = require('./objects') const {o} = require('./objects')
class script extends utils { class script extends utils {
static methodHead (list, numOptional) { static addElementToBody (name) {
if (isNaN(numOptional)) { return `(document.body || document.documentElement).appendChild${script.methodHead([name])}`
numOptional = 0
}
let arity = list.length - random.number(numOptional)
let params = []
for (let i = 0; i < arity; i++) {
params.push(random.pick([list[i]]))
}
return `(${params.join(', ')})`
} }
static methodCall (objectName, methodHash) { static getRandomElement () {
if (!utils.common.getKeysFromHash(methodHash).length || !objectName) { return `document.getElementsByTagName('*')[${random.number(document.getElementsByTagName('*').length)}]`
return ''
}
let methodName = random.key(methodHash)
let methodArgs = methodHash[methodName]
if (typeof (methodArgs) === 'function') { // Todo: Hmmmm..
return methodArgs()
}
return `${objectName}.${methodName}${script.methodHead(methodArgs)}`
}
static setAttribute (objectName, attributeHash) {
if (!utils.common.getKeysFromHash(attributeHash).length || !objectName) {
return ''
}
let attributeName = random.key(attributeHash)
let attributeValue = random.pick(attributeHash[attributeName])
let operator = ' = '
/*
if (typeof(attributeValue) == "number" && Random.chance(8)) {
operator = " " + Make.randomAssignmentOperator() + " ";
}
if (typeof(attributeValue) == "string") {
attributeValue = "'" + attributeValue + "'";
}
*/
return `${objectName}.${attributeName}${operator}${attributeValue};`
}
static makeConstraint (keys, values) {
let o = {}
let n = random.range(0, keys.length)
while (n--) {
o[random.pick(keys)] = random.pick(values)
}
return o
}
static makeRandomOptions (baseObject) {
let o = {}
let unique = random.subset(Object.keys(baseObject))
for (let i = 0; i < unique.length; i++) {
o[unique[i]] = random.pick(baseObject[unique[i]])
}
return JSON.stringify(o)
}
static safely (obj) {
if (Array.isArray(obj)) {
return obj.map(s => utils.script.safely(s)).join(' ')
} else {
return `try { ${obj} } catch(e) { }`
}
}
static makeLoop (s, max) {
return `for (let i = 0; i < ${max || make.number.range()}; i++) {${s}}`
} }
static makeArray (type, arrayLength, cb) { static makeArray (type, arrayLength, cb) {
@ -97,16 +33,80 @@ class script extends utils {
} }
} }
static makeConstraint (keys, values) {
let o = {}
let n = random.range(0, keys.length)
while (n--) {
o[random.pick(keys)] = random.pick(values)
}
return o
}
static makeLoop (s, max) {
return `for (let i = 0; i < ${max || make.number.range()}; i++) {${s}}`
}
static makeRandomOptions (baseObject) {
let o = {}
let unique = random.subset(Object.keys(baseObject))
for (let i = 0; i < unique.length; i++) {
o[unique[i]] = random.pick(baseObject[unique[i]])
}
return JSON.stringify(o)
}
static methodCall (objectName, methodHash) {
if (!utils.common.getKeysFromHash(methodHash).length || !objectName) {
return ''
}
let methodName = random.key(methodHash)
let methodArgs = methodHash[methodName]
if (typeof (methodArgs) === 'function') { // Todo: Hmmmm..
return methodArgs()
}
return `${objectName}.${methodName}${script.methodHead(methodArgs)}`
}
static methodHead (list, numOptional) {
if (isNaN(numOptional)) {
numOptional = 0
}
let arity = list.length - random.number(numOptional)
let params = []
for (let i = 0; i < arity; i++) {
params.push(random.pick([list[i]]))
}
return `(${params.join(', ')})`
}
static randListIndex (objName) { static randListIndex (objName) {
return `${random.number()} % ${o.pick(objName)}.length` return `${random.number()} % ${o.pick(objName)}.length`
} }
static addElementToBody (name) { static safely (obj) {
return `(document.body || document.documentElement).appendChild${script.methodHead([name])}` if (Array.isArray(obj)) {
return obj.map(s => utils.script.safely(s)).join(' ')
} else {
return `try { ${obj} } catch(e) { }`
}
} }
static getRandomElement () { static setAttribute (objectName, attributeHash) {
return `document.getElementsByTagName('*')[${random.number(document.getElementsByTagName('*').length)}]` if (!utils.common.getKeysFromHash(attributeHash).length || !objectName) {
return ''
}
let attributeName = random.key(attributeHash)
let attributeValue = random.pick(attributeHash[attributeName])
let operator = ' = '
/*
if (typeof(attributeValue) == "number" && Random.chance(8)) {
operator = " " + Make.randomAssignmentOperator() + " ";
}
if (typeof(attributeValue) == "string") {
attributeValue = "'" + attributeValue + "'";
}
*/
return `${objectName}.${attributeName}${operator}${attributeValue};`
} }
} }