@yuebai008/cli
Version:
Command line interface for rapid qg-minigame development
1 lines • 1.35 kB
JavaScript
import*as Common from"../../../core/common/common.js";import*as Platform from"../../../core/platform/platform.js";export function extractOriginFromTrace(t){const r=Common.ParsedURL.ParsedURL.fromString(t);return r?r.host.startsWith("www.")?r.host.slice(4):r.host:null}export function addEventToProcessThread(t,r){const{tid:o,pid:e}=t;let n=r.get(e);n||(n=new Map);let s=n.get(o);s||(s=[]),s.push(t),n.set(t.tid,s),r.set(t.pid,n)}function eventTimeComparator(t,r){const o=t.ts,e=r.ts;if(o<e)return-1;if(o>e)return 1;const n=o+(t.dur??0),s=e+(r.dur??0);return n>s?-1:n<s?1:0}export function sortTraceEventsInPlace(t){t.sort(eventTimeComparator)}export function mergeEventsInOrder(t,r){const o=[];let e=0,n=0;for(;e<t.length&&n<r.length;){const s=t[e],i=r[n],a=eventTimeComparator(s,i);a<=0&&(o.push(s),e++),1===a&&(o.push(i),n++)}for(;e<t.length;)o.push(t[e++]);for(;n<r.length;)o.push(r[n++]);return o}export function getNavigationForTraceEvent(t,r,o){const e=o.get(r);if(!e||""===r)return null;const n=Platform.ArrayUtilities.nearestIndexFromEnd(e,(r=>r.ts<=t.ts));return null===n?null:e[n]}export function extractId(t){return t.id||t.id2?.global||t.id2?.local}export function activeURLForFrameAtTime(t,r,o){const e=o.get(t);if(!e)return null;for(const t of e.values())for(const o of t)if(!(o.window.min>r||o.window.max<r))return o.frame.url;return null}