@yuebai008/cli
Version:
Command line interface for rapid qg-minigame development
1 lines • 1.38 kB
JavaScript
import*as Common from"../../core/common/common.js";import*as Platform from"../../core/platform/platform.js";import*as SDK from"../../core/sdk/sdk.js";import*as Workspace from"../workspace/workspace.js";export function resourceForURL(e){for(const r of SDK.TargetManager.TargetManager.instance().models(SDK.ResourceTreeModel.ResourceTreeModel)){const o=r.resourceForURL(e);if(o)return o}return null}export function displayNameForURL(e){if(!e)return"";const r=resourceForURL(e);if(r)return r.displayName;const o=Workspace.Workspace.WorkspaceImpl.instance().uiSourceCodeForURL(e);if(o)return o.displayName();const t=SDK.TargetManager.TargetManager.instance().inspectedURL();if(!t)return Platform.StringUtilities.trimURL(e,"");const n=Common.ParsedURL.ParsedURL.fromString(t);if(!n)return e;const s=n.lastPathComponent,a=t.indexOf(s);if(-1!==a&&a+s.length===t.length){const r=t.substring(0,a);if(e.startsWith(r))return e.substring(a)}const c=Platform.StringUtilities.trimURL(e,n.host);return"/"===c?n.host+"/":c}export function metadataForURL(e,r,o){const t=e.model(SDK.ResourceTreeModel.ResourceTreeModel);if(!t)return null;const n=t.frameForId(r);return n?resourceMetadata(n.resourceForURL(o)):null}export function resourceMetadata(e){return!e||"number"!=typeof e.contentSize()&&!e.lastModified()?null:new Workspace.UISourceCode.UISourceCodeMetadata(e.lastModified(),e.contentSize())}