UNPKG

@react-native-karte/utilities

Version:
43 lines (37 loc) 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.normalize = normalize; /** * イベントに紐付けるカスタムオブジェクトの正規化を行います。 * * @param values 正規化対象のカスタムオブジェクト * @returns 正規化済みのカスタムオブジェクト */ function normalize(values) { if (Array.isArray(values) || values instanceof Set) { return Array.from(values).map(normalize); } else if (values instanceof Map) { const newValues = {}; for (const [k, v] of values) { newValues[k] = normalize(v); } return newValues; } else if (values !== null && typeof values === 'object') { if (values instanceof Date) { const time = Math.round(values.getTime() / 1000); return !Number.isNaN(time) ? time : values; } else if (Object.prototype.toString.call(values) === '[object String]') { return values; } for (const k in values) { if (values.hasOwnProperty(k)) { // @ts-ignore values[k] = normalize(values[k]); } } } return values; } //# sourceMappingURL=index.js.map