UNPKG

@tanstack/start-client-core

Version:

Modern and scalable routing for React applications

35 lines (34 loc) • 999 B
//#region src/safeObjectMerge.ts function isSafeKey(key) { return key !== "__proto__" && key !== "constructor" && key !== "prototype"; } /** * Merge target and source into a new null-proto object, filtering dangerous keys. */ function safeObjectMerge(target, source) { const result = Object.create(null); if (target) { const keys = Object.keys(target); for (let i = 0; i < keys.length; i++) { const key = keys[i]; if (isSafeKey(key)) result[key] = target[key]; } } if (source && typeof source === "object") { const keys = Object.keys(source); for (let i = 0; i < keys.length; i++) { const key = keys[i]; if (isSafeKey(key)) result[key] = source[key]; } } return result; } /** * Create a null-prototype object, optionally copying from source. */ function createNullProtoObject(source) { return source ? safeObjectMerge(source, void 0) : Object.create(null); } //#endregion export { createNullProtoObject, safeObjectMerge }; //# sourceMappingURL=safeObjectMerge.js.map