Validol
Validol is an util that validates that object has defined props.
Arguments
- object
Object
- props
string || number || Object || Array
- ?defaultValue
- ?settings
Object
Result
error: false || Error result: Object all: Bool any: Bool
The default object mutates validol
if you do not want to mutate the object, it is necessary to add a "mutation: false" in settings.
eg:
var obj = myProp: myProp3: 3 ;;
Examples
;/*returned: { error: false, result: { myProp: 1 }, all: true, any: true}*/
;/*returned: { error: false, result: { myProp: undefined }, all: false, any: false}*/
;/*returned: { error: false, result: { myProp: null }, all: false, any: false}*/
;/*returned: { error: false, result: { myProp: 1, myProp2: 2 }, all: true, any: true}*/
;/*returned: { error: false, result: { myProp: 1, myProp2: undefined }, all: false, any: true}*/
;/*returned: { error: false, result: { myProp: undefined, myProp2: undefined }, all: false, any: false}*/
;/*returned: { error: false, result: { myProp: { myProp2: 2 } }, all: true, any: true}*/
var obj = myProp: myProp3: 3 ;;/*returned: { error: false, result: { myProp: { myProp2: { myProp4: 4 }, myProp3: 3 } }, all: true, any: true} and not mutation original object!*/
;/*returned: { error: false, result: { myProp: { [Number: 1] myProp2: undefined } }, all: false, any: true}*/
;/*returned: { error: false, result: { myProp: { myProp2: undefined } }, all: false, any: false}*/
;/*returned: { error: false, result: { myProp: { myProp2: undefined } }, all: false, any: true}*/
;/*returned: { error: false, result: { myProp: { myProp2: undefined } }, all: false, any: false}*/
;/*returned: { error: false, result: { myProp: { myProp2: 2, myProp3: 3 } }, all: true, any: true}*/
;/*returned: { error: false, result: { myProp: { myProp2: 2, myProp3: undefined } }, all: false, any: true}*/
;/*returned: { error: false, result: { myProp: { [Number: 1] myProp2: undefined, myProp3: undefined } }, all: false, any: true}*/
;/*returned: { error: false, result: { myProp: { myProp2: undefined, myProp3: undefined } }, all: false, any: false}*/
;/*returned: { error: false, result: { myProp: { myProp2: undefined, myProp3: undefined } }, all: false, any: false}*/
;/*returned: { error: false, result: { myProp: { myProp2: { myProp4: 4 }, myProp3: 3 } }, all: true, any: true}*/
;/*returned: { error: false, result: { myProp: { myProp2: { [Number: 2] myProp4: undefined }, myProp3: 3 } }, all: false, any: true }*/
;/*returned: { error: false, result: { myProp: { [Number: 1] myProp2: { myProp4: undefined }, myProp3: undefined } }, all: false, any: true }*/
;/*returned: { error: false, result: { myProp: { myProp2: { myProp4: { myProp5: 5 } }, myProp3: 3 } }, all: true, any: true}*/
;/*returned: { error: false, result: { myProp: { myProp2: { [Number: 2] myProp4: { myProp5: undefined } }, myProp3: 3 } }, all: false, any: true}*/
;/*returned: { error: false, result: { myProp: { myProp2: { myProp4: { myProp5: null } }, myProp3: null } }, all: false, any: false}*/
;/*returned: { error: false, result: { myProp: { myProp2: { myProp4: { myProp5: true } }, myProp3: true } }, all: false, any: false}*/
;/*returned: { error: false, result: { myProp: { myProp2: { myProp4: { myProp5: 1 } }, myProp3: 1 } }, all: false, any: false}*/
;/*returned: { error: false, result: { myProp: { myProp2: { myProp4: { myProp5: "a" } }, myProp3: "a" } }, all: false, any: false}*/
;/*returned: { error: false, result: { myProp: { myProp2: { myProp4: { myProp5: ["a", "b"] } }, myProp3: ["a", "b"] } }, all: false, any: false}*/
;/*returned: { error: false, result: { myProp: { myProp2: { myProp4: { myProp5: { a: 1 } } }, myProp3: { a: 1 } } }, all: false, any: false}*/
;/*returned: { error: Error("object argument is not valid!"), result: undefined, all: false, any: false}*/
;/*returned: { error: Error("props argument is not valid!"), result: {}, all: false, any: false}*/