Skip to content

Commit 9e593ec

Browse files
add some type checking
1 parent 200bba0 commit 9e593ec

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

js/elements.js

+12-1
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ function get_widget_sizes(METRIC) {
232232
doc.body.appendChild(div)
233233
div.classList.add('measure')
234234
div.classList.add("measureScale")
235-
let parent = dom[id]
235+
let parent = dom[id], isFirst = true
236236
for (const key of Object.keys(oList)) {
237237
tmpdata[key] = {}, newobj[key] = {}, data[key] = {}
238238
for (const k of Object.keys(oList[key])) {
@@ -252,11 +252,22 @@ function get_widget_sizes(METRIC) {
252252
} else if (isDomRect == 2) {method = range.getBoundingClientRect()
253253
} else if (isDomRect > 2) {method = range.getClientRects()[0]
254254
}
255+
// typecheck
255256
let itemdata = [method.width, method.height, method.x, method.y]
257+
if (isFirst) {
258+
isFirst = false
259+
if (runST) {itemdata = [null]}
260+
itemdata.forEach(function(item){
261+
let typeCheck = typeFn(item)
262+
if ('number' !== typeCheck) {throw 'tzp'+ zErrType + typeCheck}
263+
})
264+
}
256265
let itemhash = mini(itemdata)
257266
if (undefined == tmpdata[key][itemhash]) {tmpdata[key][itemhash] = {'data': itemdata, 'group': [k]}
258267
} else {tmpdata[key][itemhash]['group'].push(k)}
259268
} catch(e) {
269+
if ('tzpTypeError: ' == e.slice(0,14)) {throw e.slice(3)}
270+
260271
newobj[key][k] = zErr
261272
log_error(15, METRIC +'_'+ k + ('unstyled' == key ? '_unstyled' : ''), e)
262273
}

0 commit comments

Comments
 (0)