utils.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var shared = require('@vue/shared');
  4. function isValidValue(val) {
  5. return val || val === 0;
  6. }
  7. function isValidArray(val) {
  8. return shared.isArray(val) && val.length;
  9. }
  10. function toValidArray(val) {
  11. return shared.isArray(val) ? val : isValidValue(val) ? [val] : [];
  12. }
  13. function treeFind(treeData, findCallback, getChildren, resultCallback, parent) {
  14. for (let i = 0; i < treeData.length; i++) {
  15. const data = treeData[i];
  16. if (findCallback(data, i, treeData, parent)) {
  17. return resultCallback ? resultCallback(data, i, treeData, parent) : data;
  18. } else {
  19. const children = getChildren(data);
  20. if (isValidArray(children)) {
  21. const find = treeFind(children, findCallback, getChildren, resultCallback, data);
  22. if (find)
  23. return find;
  24. }
  25. }
  26. }
  27. }
  28. function treeEach(treeData, callback, getChildren, parent) {
  29. for (let i = 0; i < treeData.length; i++) {
  30. const data = treeData[i];
  31. callback(data, i, treeData, parent);
  32. const children = getChildren(data);
  33. if (isValidArray(children)) {
  34. treeEach(children, callback, getChildren, data);
  35. }
  36. }
  37. }
  38. exports.isValidArray = isValidArray;
  39. exports.isValidValue = isValidValue;
  40. exports.toValidArray = toValidArray;
  41. exports.treeEach = treeEach;
  42. exports.treeFind = treeFind;
  43. //# sourceMappingURL=utils.js.map