| 12345678910111213141516171819202122232425262728 | export function klona(val) {	var k, out, tmp;	if (Array.isArray(val)) {		out = Array(k=val.length);		while (k--) out[k] = (tmp=val[k]) && typeof tmp === 'object' ? klona(tmp) : tmp;		return out;	}	if (Object.prototype.toString.call(val) === '[object Object]') {		out = {}; // null		for (k in val) {			if (k === '__proto__') {				Object.defineProperty(out, k, {					value: klona(val[k]),					configurable: true,					enumerable: true,					writable: true,				});			} else {				out[k] = (tmp=val[k]) && typeof tmp === 'object' ? klona(tmp) : tmp;			}		}		return out;	}	return val;}
 |