PHP 8.2.30
Preview: set.js Size: 1.85 KB
//proc/thread-self/root/home/byroehnu/.trash/node_modules11/adminjs/lib/utils/flat/set.js

import flat from 'flat';
import { DELIMITER } from './constants.js';
import { propertyKeyRegex } from './property-key-regex.js';
import { pathToParts } from './path-to-parts.js';
const isObject = value => {
  // Node environment
  if (typeof File === 'undefined') {
    return typeof value === 'object' && value !== null;
  }
  // Window environment
  return typeof value === 'object' && !(value instanceof File) && value !== null;
};

/**
 * @load ./set.doc.md
 * @memberof module:flat
 * @param {FlattenParams} params
 * @param {string} propertyPath
 * @param {any} [value]       if not give function will only try to remove old keys
 * @returns {FlattenParams}
 */
const set = (params = {}, propertyPath, value) => {
  const regex = propertyKeyRegex(propertyPath);

  // remove all existing keys
  const paramsCopy = Object.keys(params).filter(key => !key.match(regex)).reduce((memo, key) => {
    memo[key] = params[key];
    return memo;
  }, {});
  if (typeof value !== 'undefined') {
    if (isObject(value) && !(value instanceof Date)) {
      const flattened = flat.flatten(value);
      if (Object.keys(flattened).length) {
        Object.keys(flattened).forEach(key => {
          paramsCopy[`${propertyPath}${DELIMITER}${key}`] = flattened[key];
        });
      } else if (Array.isArray(value)) {
        paramsCopy[propertyPath] = [];
      } else {
        paramsCopy[propertyPath] = {};
      }
    } else {
      paramsCopy[propertyPath] = value;
    }

    // when user gave { "nested.value": "something" } and had "nested" set to `null`, then
    // nested should be removed
    const parts = pathToParts(propertyPath).slice(0, -1);
    if (parts.length) {
      return Object.keys(paramsCopy).filter(key => !parts.includes(key)).reduce((memo, key) => {
        memo[key] = paramsCopy[key];
        return memo;
      }, {});
    }
  }
  return paramsCopy;
};
export { set };

Directory Contents

Dirs: 0 × Files: 26

Name Size Perms Modified Actions
44 B lrw-r--r-- 2026-02-28 00:31:26
Edit Download
448 B lrw-r--r-- 2026-02-28 00:31:56
Edit Download
722 B lrw-r--r-- 2026-02-28 00:31:30
Edit Download
1.40 KB lrw-r--r-- 2026-02-28 00:31:30
Edit Download
906 B lrw-r--r-- 2026-02-28 00:31:32
Edit Download
2.74 KB lrw-r--r-- 2026-02-28 00:31:56
Edit Download
10 B lrw-r--r-- 2026-02-28 00:31:34
Edit Download
587 B lrw-r--r-- 2026-02-28 00:31:56
Edit Download
2.35 KB lrw-r--r-- 2026-02-28 00:31:34
Edit Download
2.75 KB lrw-r--r-- 2026-02-28 00:31:34
Edit Download
66 B lrw-r--r-- 2026-02-28 00:31:44
Edit Download
567 B lrw-r--r-- 2026-02-28 00:31:46
Edit Download
2.11 KB lrw-r--r-- 2026-02-28 00:31:46
Edit Download
10 B lrw-r--r-- 2026-02-28 00:31:48
Edit Download
730 B lrw-r--r-- 2026-02-28 00:31:56
Edit Download
701 B lrw-r--r-- 2026-02-28 00:31:48
Edit Download
814 B lrw-r--r-- 2026-02-28 00:31:48
Edit Download
1.21 KB lrw-r--r-- 2026-02-28 00:31:56
Edit Download
1.34 KB lrw-r--r-- 2026-02-28 00:31:48
Edit Download
2.47 KB lrw-r--r-- 2026-02-28 00:31:48
Edit Download
504 B lrw-r--r-- 2026-02-28 00:31:56
Edit Download
904 B lrw-r--r-- 2026-02-28 00:31:48
Edit Download
1.48 KB lrw-r--r-- 2026-02-28 00:31:48
Edit Download
639 B lrw-r--r-- 2026-02-28 00:31:56
Edit Download
1.85 KB lrw-r--r-- 2026-02-28 00:31:48
Edit Download
4.64 KB lrw-r--r-- 2026-02-28 00:31:48
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).