You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
export const tests = []
|
|
|
|
const isConst = (name) => {
|
|
|
|
try {
|
|
|
|
eval(`${name} = 'm'`)
|
|
|
|
return false
|
|
|
|
} catch (err) {
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
const t = (f) => tests.push(f)
|
|
|
|
|
|
|
|
// str is declared and of type string
|
|
|
|
t(() => typeof str === 'string')
|
|
|
|
|
|
|
|
// num is declared and of type number
|
|
|
|
t(() => typeof num === 'number')
|
|
|
|
|
|
|
|
// bool is declared and of type boolean
|
|
|
|
t(() => typeof bool === 'boolean')
|
|
|
|
|
|
|
|
// undef is declared and of type undefined
|
|
|
|
t(() => undef === undefined)
|
|
|
|
|
|
|
|
// check if all variables are const
|
|
|
|
t(() => ['str', 'num', 'bool', 'undef']
|
|
|
|
.every(isConst))
|
|
|
|
|
|
|
|
Object.freeze(tests)
|