Circular dependecy break

This commit is contained in:
barsdeveloper
2021-10-31 13:56:33 +01:00
parent 418630255e
commit 113f65964d
5 changed files with 67 additions and 72 deletions

View File

@@ -1,7 +1,20 @@
import Utility from "../Utility"
import Integer from "./primitive/Integer"
export default class TypeInitialization {
static sanitize(value) {
if (!(value instanceof Object)) {
return value // Is already primitive
}
if (value instanceof Boolean || value instanceof Integer || value instanceof Number) {
return value.valueOf()
}
if (value instanceof String) {
return value.toString()
}
return value
}
/**
*
* @param {typeof Object} type
@@ -10,7 +23,7 @@ export default class TypeInitialization {
*/
constructor(type, showDefault = true, value = undefined) {
if (value === undefined) {
value = Utility.sanitize(new type())
value = TypeInitialization.sanitize(new type())
}
this.value = value
this.showDefault = showDefault