UNPKG

@yuebai008/cli

Version:

Command line interface for rapid qg-minigame development

1 lines 1.59 kB
import*as TextUtils from"../../models/text_utils/text_utils.js";import{CSSQuery}from"./CSSQuery.js";export class CSSMediaQuery{#e;#t;constructor(e){this.#e=e.active,this.#t=[];for(let t=0;t<e.expressions.length;++t)this.#t.push(CSSMediaQueryExpression.parsePayload(e.expressions[t]))}static parsePayload(e){return new CSSMediaQuery(e)}active(){return this.#e}expressions(){return this.#t}}export class CSSMediaQueryExpression{#r;#n;#a;#i;#s;constructor(e){this.#r=e.value,this.#n=e.unit,this.#a=e.feature,this.#i=e.valueRange?TextUtils.TextRange.TextRange.fromObject(e.valueRange):null,this.#s=e.computedLength||null}static parsePayload(e){return new CSSMediaQueryExpression(e)}value(){return this.#r}unit(){return this.#n}feature(){return this.#a}valueRange(){return this.#i}computedLength(){return this.#s}}export class CSSMedia extends CSSQuery{source;sourceURL;mediaList;static parseMediaArrayPayload(e,t){return t.map((t=>new CSSMedia(e,t)))}constructor(e,t){super(e),this.reinitialize(t)}reinitialize(e){if(this.text=e.text,this.source=e.source,this.sourceURL=e.sourceURL||"",this.range=e.range?TextUtils.TextRange.TextRange.fromObject(e.range):null,this.styleSheetId=e.styleSheetId,this.mediaList=null,e.mediaList){this.mediaList=[];for(let t=0;t<e.mediaList.length;++t)this.mediaList.push(CSSMediaQuery.parsePayload(e.mediaList[t]))}}active(){if(!this.mediaList)return!0;for(let e=0;e<this.mediaList.length;++e)if(this.mediaList[e].active())return!0;return!1}}export const Source={LINKED_SHEET:"linkedSheet",INLINE_SHEET:"inlineSheet",MEDIA_RULE:"mediaRule",IMPORT_RULE:"importRule"};