@douyinfe/semi-json-viewer-core 2.88.2 → 2.89.0-beta.0

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.
Files changed (2) hide show
  1. package/lib/index.js +73 -12
  2. package/package.json +2 -2
package/lib/index.js CHANGED
@@ -2062,19 +2062,80 @@ var OffsetRange = class _OffsetRange {
2062
2062
  };
2063
2063
 
2064
2064
  // src/common/async.ts
2065
- function runWhenGlobalIdle(callback) {
2066
- const handler = window.requestIdleCallback(callback);
2067
- let disposed = false;
2068
- return {
2069
- dispose: () => {
2070
- if (disposed) {
2071
- return;
2065
+ var setTimeout0IsFaster = typeof globalThis.postMessage === "function" && !globalThis.importScripts;
2066
+ var setTimeout0 = (() => {
2067
+ if (setTimeout0IsFaster) {
2068
+ const pending = [];
2069
+ globalThis.addEventListener("message", (e) => {
2070
+ if (e.data && e.data.vscodeScheduleAsyncWork) {
2071
+ for (let i = 0, len = pending.length; i < len; i++) {
2072
+ const candidate = pending[i];
2073
+ if (candidate.id === e.data.vscodeScheduleAsyncWork) {
2074
+ pending.splice(i, 1);
2075
+ candidate.callback();
2076
+ return;
2077
+ }
2078
+ }
2072
2079
  }
2073
- disposed = true;
2074
- window.cancelIdleCallback(handler);
2075
- }
2076
- };
2077
- }
2080
+ });
2081
+ let lastId = 0;
2082
+ return (callback) => {
2083
+ const myId = ++lastId;
2084
+ pending.push({
2085
+ id: myId,
2086
+ callback
2087
+ });
2088
+ globalThis.postMessage({ vscodeScheduleAsyncWork: myId }, "*");
2089
+ };
2090
+ }
2091
+ return (callback) => setTimeout(callback);
2092
+ })();
2093
+ var runWhenGlobalIdle;
2094
+ var _runWhenIdle;
2095
+ (function() {
2096
+ const safeGlobal = globalThis;
2097
+ if (typeof safeGlobal.requestIdleCallback !== "function" || typeof safeGlobal.cancelIdleCallback !== "function") {
2098
+ _runWhenIdle = (_targetWindow, runner, timeout) => {
2099
+ setTimeout0(() => {
2100
+ if (disposed) {
2101
+ return;
2102
+ }
2103
+ const end = Date.now() + 15;
2104
+ const deadline = {
2105
+ didTimeout: true,
2106
+ timeRemaining() {
2107
+ return Math.max(0, end - Date.now());
2108
+ }
2109
+ };
2110
+ runner(Object.freeze(deadline));
2111
+ });
2112
+ let disposed = false;
2113
+ return {
2114
+ dispose() {
2115
+ if (disposed) {
2116
+ return;
2117
+ }
2118
+ disposed = true;
2119
+ }
2120
+ };
2121
+ };
2122
+ } else {
2123
+ _runWhenIdle = (targetWindow, runner, timeout) => {
2124
+ const handle = targetWindow.requestIdleCallback(runner, typeof timeout === "number" ? { timeout } : void 0);
2125
+ let disposed = false;
2126
+ return {
2127
+ dispose() {
2128
+ if (disposed) {
2129
+ return;
2130
+ }
2131
+ disposed = true;
2132
+ targetWindow.cancelIdleCallback(handle);
2133
+ }
2134
+ };
2135
+ };
2136
+ }
2137
+ runWhenGlobalIdle = (runner, timeout) => _runWhenIdle(globalThis, runner, timeout);
2138
+ })();
2078
2139
 
2079
2140
  // src/common/stopWatch.ts
2080
2141
  var hasPerformanceNow = globalThis.performance && typeof globalThis.performance.now === "function";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@douyinfe/semi-json-viewer-core",
3
- "version": "2.88.2",
3
+ "version": "2.89.0-beta.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/index.js",
@@ -53,5 +53,5 @@
53
53
  ],
54
54
  "author": "",
55
55
  "license": "MIT",
56
- "gitHead": "c4ddfa944bb1685377a053c381aa9f4b3a3b5e26"
56
+ "gitHead": "e0c70c237b5788629d4064ebe4f8d477dc069091"
57
57
  }