react-server.esm.mjs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. var appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria
  2. ? {
  3. ...errors[name],
  4. types: {
  5. ...(errors[name] && errors[name].types ? errors[name].types : {}),
  6. [type]: message || true,
  7. },
  8. }
  9. : {};
  10. var compact = (value) => Array.isArray(value) ? value.filter(Boolean) : [];
  11. var isNullOrUndefined = (value) => value == null;
  12. var isDateObject = (value) => value instanceof Date;
  13. const isObjectType = (value) => typeof value === 'object';
  14. var isObject = (value) => !isNullOrUndefined(value) &&
  15. !Array.isArray(value) &&
  16. isObjectType(value) &&
  17. !isDateObject(value);
  18. var isUndefined = (val) => val === undefined;
  19. var get = (object, path, defaultValue) => {
  20. if (!path || !isObject(object)) {
  21. return defaultValue;
  22. }
  23. const result = compact(path.split(/[,[\].]+?/)).reduce((result, key) => isNullOrUndefined(result) ? result : result[key], object);
  24. return isUndefined(result) || result === object
  25. ? isUndefined(object[path])
  26. ? defaultValue
  27. : object[path]
  28. : result;
  29. };
  30. var isKey = (value) => /^\w*$/.test(value);
  31. var stringToPath = (input) => compact(input.replace(/["|']|\]/g, '').split(/\.|\[/));
  32. var set = (object, path, value) => {
  33. let index = -1;
  34. const tempPath = isKey(path) ? [path] : stringToPath(path);
  35. const length = tempPath.length;
  36. const lastIndex = length - 1;
  37. while (++index < length) {
  38. const key = tempPath[index];
  39. let newValue = value;
  40. if (index !== lastIndex) {
  41. const objValue = object[key];
  42. newValue =
  43. isObject(objValue) || Array.isArray(objValue)
  44. ? objValue
  45. : !isNaN(+tempPath[index + 1])
  46. ? []
  47. : {};
  48. }
  49. object[key] = newValue;
  50. object = object[key];
  51. }
  52. return object;
  53. };
  54. export { appendErrors, get, set };
  55. //# sourceMappingURL=react-server.esm.mjs.map