市场夺宝奇兵
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

114 lines
3.3 KiB

  1. import { computed, createBaseVNode, createBlock, createElementBlock, defineComponent, normalizeClass, openBlock, toDisplayString, unref } from "./runtime-core.esm-bundler-Cyv4obHQ.js";
  2. import { defineStore, useLocalStorage } from "./payload-BX9lTMvN.js";
  3. const _hoisted_1 = { block: "" };
  4. const _hoisted_2 = {
  5. "ml-0.4": "",
  6. "text-xs": "",
  7. op75: ""
  8. };
  9. var NumberWithUnit_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
  10. __name: "NumberWithUnit",
  11. props: {
  12. number: {},
  13. unit: {}
  14. },
  15. setup(__props) {
  16. return (_ctx, _cache) => {
  17. return openBlock(), createElementBlock("span", _hoisted_1, [createBaseVNode("span", null, toDisplayString(_ctx.number), 1), createBaseVNode("span", _hoisted_2, toDisplayString(_ctx.unit), 1)]);
  18. };
  19. }
  20. });
  21. var NumberWithUnit_default = NumberWithUnit_vue_vue_type_script_setup_true_lang_default;
  22. var DurationDisplay_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
  23. __name: "DurationDisplay",
  24. props: {
  25. duration: {},
  26. factor: { default: 1 },
  27. color: {
  28. type: Boolean,
  29. default: true
  30. }
  31. },
  32. setup(__props) {
  33. const props = __props;
  34. function getDurationColor(duration) {
  35. if (!props.color) return "";
  36. if (duration == null) return "";
  37. duration = duration * props.factor;
  38. if (duration < 1) return "";
  39. if (duration > 1e3) return "status-red";
  40. if (duration > 500) return "status-yellow";
  41. if (duration > 200) return "status-green";
  42. return "";
  43. }
  44. const units = computed(() => {
  45. if (!props.duration) return ["", "-"];
  46. if (props.duration < 1) return ["<1", "ms"];
  47. if (props.duration < 1e3) return [props.duration.toFixed(0), "ms"];
  48. if (props.duration < 1e3 * 60) return [(props.duration / 1e3).toFixed(1), "s"];
  49. return [(props.duration / 1e3 / 60).toFixed(1), "min"];
  50. });
  51. return (_ctx, _cache) => {
  52. const _component_NumberWithUnit = NumberWithUnit_default;
  53. return openBlock(), createBlock(_component_NumberWithUnit, {
  54. class: normalizeClass(getDurationColor(_ctx.duration)),
  55. number: unref(units)[0],
  56. unit: unref(units)[1]
  57. }, null, 8, [
  58. "class",
  59. "number",
  60. "unit"
  61. ]);
  62. };
  63. }
  64. });
  65. var DurationDisplay_default = DurationDisplay_vue_vue_type_script_setup_true_lang_default;
  66. const useOptionsStore = defineStore("options", () => {
  67. const view = useLocalStorage(
  68. "vite-inspect-v1-options",
  69. // @keep-sorted
  70. {
  71. diff: true,
  72. graphWeightMode: "deps",
  73. lineWrapping: false,
  74. listMode: "detailed",
  75. metricDisplayHook: "transform",
  76. panelSizeDiff: 30,
  77. panelSizeModule: 10,
  78. showBailout: false,
  79. showOneColumn: false,
  80. sort: "default"
  81. },
  82. { mergeDefaults: true }
  83. );
  84. const search = useLocalStorage("vite-inspect-v1-search", {
  85. text: "",
  86. includeNodeModules: false,
  87. includeVirtual: false,
  88. includeUnreached: false,
  89. exactSearch: false
  90. }, { mergeDefaults: true });
  91. function toggleSort() {
  92. const rules = [
  93. "default",
  94. "time-asc",
  95. "time-desc"
  96. ];
  97. view.value.sort = rules[(rules.indexOf(view.value.sort) + 1) % rules.length];
  98. }
  99. function toggleListMode() {
  100. const modes = [
  101. "detailed",
  102. "graph",
  103. "list"
  104. ];
  105. view.value.listMode = modes[(modes.indexOf(view.value.listMode) + 1) % modes.length];
  106. }
  107. return {
  108. view,
  109. search,
  110. toggleSort,
  111. toggleListMode
  112. };
  113. });
  114. export { DurationDisplay_default, NumberWithUnit_default, useOptionsStore };