@flowgram.ai/utils 0.4.15 → 0.4.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/esm/index.js CHANGED
@@ -1275,6 +1275,27 @@ var _hasOwnProperty = Object.prototype.hasOwnProperty;
1275
1275
  function notEmpty(arg) {
1276
1276
  return arg !== void 0 && arg !== null;
1277
1277
  }
1278
+ var safeKey = (key) => {
1279
+ const dangerousProps = [
1280
+ "__proto__",
1281
+ "constructor",
1282
+ "prototype",
1283
+ "__defineGetter__",
1284
+ "__defineSetter__",
1285
+ "__lookupGetter__",
1286
+ "__lookupSetter__",
1287
+ "hasOwnProperty",
1288
+ "isPrototypeOf",
1289
+ "propertyIsEnumerable",
1290
+ "toString",
1291
+ "valueOf",
1292
+ "toLocaleString"
1293
+ ];
1294
+ if (dangerousProps.includes(key.toLowerCase())) {
1295
+ return "";
1296
+ }
1297
+ return key;
1298
+ };
1278
1299
  function isEmpty(arg) {
1279
1300
  return keys(arg).length === 0 && arg.constructor === Object;
1280
1301
  }
@@ -1306,18 +1327,18 @@ function setByKey(target, key, newValue, autoCreateObject = true, clone = false)
1306
1327
  while (targetKeys.length > 0) {
1307
1328
  key = targetKeys.shift();
1308
1329
  if (targetKeys.length === 0) {
1309
- target[key] = newValue;
1330
+ target[safeKey(key)] = newValue;
1310
1331
  return originTarget;
1311
1332
  }
1312
1333
  if (typeof target[key] !== "object") {
1313
1334
  if (!autoCreateObject) return originTarget;
1314
- target[key] = {};
1335
+ target[safeKey(key)] = {};
1315
1336
  }
1316
1337
  if (clone) {
1317
1338
  if (Array.isArray(target[key])) {
1318
- target[key] = target[key].slice();
1339
+ target[safeKey(key)] = target[key].slice();
1319
1340
  } else {
1320
- target[key] = { ...target[key] };
1341
+ target[safeKey(key)] = { ...target[key] };
1321
1342
  }
1322
1343
  }
1323
1344
  target = target[key];
@@ -2491,6 +2512,7 @@ export {
2491
2512
  reduce,
2492
2513
  requestWithMemo,
2493
2514
  retry,
2515
+ safeKey,
2494
2516
  setByKey,
2495
2517
  useRefresh,
2496
2518
  values