Skip to content

Instantly share code, notes, and snippets.

@interaminense
Created February 26, 2018 02:06
Show Gist options
  • Save interaminense/623b30fa514a2393979d663b47b49d82 to your computer and use it in GitHub Desktop.
Save interaminense/623b30fa514a2393979d663b47b49d82 to your computer and use it in GitHub Desktop.
Mathematics Props and States
Mathematics.PROPS = {
/**
* @type {number}
* @default 30
*/
countdown: Config.number().value(30),
/**
* @type {string}
* @default undefined
* @required
*/
lvlDefault: Config.string().required(),
/**
* @type {array}
* @default undefined
* @required
*/
lvls: Config.arrayOf(
Config.shapeOf({
internalLabel: Config.string().required(),
label: Config.string().required(),
maxNumber: Config.number().required(),
operators: Config.arrayOf(
Config.shapeOf({
label: Config.oneOf(['+', '-', 'x']).required()
}).required()
)
}).required()
).required(),
/**
* @type {boolean}
* @default false
*/
showResult: Config.bool().value(false),
}
Mathematics.STATE = {
/**
* @type {number}
* @default 0
*/
countdown: Config.number().value(0),
/**
* @type {number}
* @default 0
*/
errors: Config.number().value(0),
/**
* @type {boolean}
* @default false
*/
finish: Config.bool().value(false),
/**
* @type {number}
* @default 0
*/
hits: Config.number().value(0),
/**
* @type {boolean}
* @default true
*/
init: Config.bool().value(true),
/**
* @type {string}
* @default undefined
*/
message: Config.string(),
/**
* @type {array}
* @default undefined
*/
lvl: Config.shapeOf({
internalLabel: Config.string(),
label: Config.string(),
maxNumber: Config.number(),
operator: Config.shapeOf({
label: Config.string()
})
}),
/**
* @type {number}
* @default 0
*/
n1: Config.number().value(0),
/**
* @type {number}
* @default 0
*/
n2: Config.number().value(0),
/**
* @type {string}
* @default +
*/
operator: Config.string().value('+'),
/**
* @type {boolean}
* @default false
*/
start: Config.bool().value(false)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment