Initial commit
This commit is contained in:
commit
89053153cc
8152 files changed
+2086461
No files matched your search
+224
@@ -0,0 +1,224 @@
|
||||
declare class CssParseError extends Error {
|
||||
readonly reason: string;
|
||||
readonly filename?: string;
|
||||
readonly line: number;
|
||||
readonly column: number;
|
||||
readonly source: string;
|
||||
constructor(filename: string, msg: string, lineno: number, column: number, css: string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store position information for a node
|
||||
*/
|
||||
declare class Position {
|
||||
start: {
|
||||
line: number;
|
||||
column: number;
|
||||
};
|
||||
end: {
|
||||
line: number;
|
||||
column: number;
|
||||
};
|
||||
source?: string;
|
||||
constructor(start: {
|
||||
line: number;
|
||||
column: number;
|
||||
}, end: {
|
||||
line: number;
|
||||
column: number;
|
||||
}, source: string);
|
||||
}
|
||||
|
||||
declare enum CssTypes {
|
||||
stylesheet = "stylesheet",
|
||||
rule = "rule",
|
||||
declaration = "declaration",
|
||||
comment = "comment",
|
||||
atRule = "at-rule",
|
||||
container = "container",
|
||||
charset = "charset",
|
||||
counterStyle = "counter-style",
|
||||
document = "document",
|
||||
customMedia = "custom-media",
|
||||
fontFace = "font-face",
|
||||
fontFeatureValues = "font-feature-values",
|
||||
host = "host",
|
||||
import = "import",
|
||||
keyframes = "keyframes",
|
||||
keyframe = "keyframe",
|
||||
layer = "layer",
|
||||
media = "media",
|
||||
namespace = "namespace",
|
||||
page = "page",
|
||||
pageMarginBox = "page-margin-box",
|
||||
positionTry = "position-try",
|
||||
property = "property",
|
||||
scope = "scope",
|
||||
startingStyle = "starting-style",
|
||||
supports = "supports",
|
||||
viewTransition = "view-transition"
|
||||
}
|
||||
type CssCommonAST = {
|
||||
type: CssTypes;
|
||||
};
|
||||
type CssCommonPositionAST = CssCommonAST & {
|
||||
position?: Position;
|
||||
parent?: unknown;
|
||||
};
|
||||
type CssStylesheetAST = CssCommonAST & {
|
||||
type: CssTypes.stylesheet;
|
||||
stylesheet: {
|
||||
source?: string;
|
||||
rules: Array<CssAtRuleAST>;
|
||||
parsingErrors?: Array<CssParseError>;
|
||||
};
|
||||
};
|
||||
type CssRuleAST = CssCommonPositionAST & {
|
||||
type: CssTypes.rule;
|
||||
selectors: Array<string>;
|
||||
declarations: Array<CssDeclarationAST | CssCommentAST | CssAtRuleAST>;
|
||||
};
|
||||
type CssDeclarationAST = CssCommonPositionAST & {
|
||||
type: CssTypes.declaration;
|
||||
property: string;
|
||||
value: string;
|
||||
};
|
||||
type CssCommentAST = CssCommonPositionAST & {
|
||||
type: CssTypes.comment;
|
||||
comment: string;
|
||||
};
|
||||
type CssContainerAST = CssCommonPositionAST & {
|
||||
type: CssTypes.container;
|
||||
container: string;
|
||||
rules: Array<CssAtRuleAST | CssDeclarationAST>;
|
||||
};
|
||||
type CssCharsetAST = CssCommonPositionAST & {
|
||||
type: CssTypes.charset;
|
||||
charset: string;
|
||||
};
|
||||
type CssCustomMediaAST = CssCommonPositionAST & {
|
||||
type: CssTypes.customMedia;
|
||||
name: string;
|
||||
media: string;
|
||||
};
|
||||
type CssDocumentAST = CssCommonPositionAST & {
|
||||
type: CssTypes.document;
|
||||
document: string;
|
||||
vendor?: string;
|
||||
rules: Array<CssAtRuleAST | CssDeclarationAST>;
|
||||
};
|
||||
type CssFontFaceAST = CssCommonPositionAST & {
|
||||
type: CssTypes.fontFace;
|
||||
declarations: Array<CssDeclarationAST | CssCommentAST>;
|
||||
};
|
||||
type CssHostAST = CssCommonPositionAST & {
|
||||
type: CssTypes.host;
|
||||
rules: Array<CssAtRuleAST | CssDeclarationAST>;
|
||||
};
|
||||
type CssImportAST = CssCommonPositionAST & {
|
||||
type: CssTypes.import;
|
||||
import: string;
|
||||
};
|
||||
type CssKeyframesAST = CssCommonPositionAST & {
|
||||
type: CssTypes.keyframes;
|
||||
name: string;
|
||||
vendor?: string;
|
||||
keyframes: Array<CssKeyframeAST | CssCommentAST>;
|
||||
};
|
||||
type CssKeyframeAST = CssCommonPositionAST & {
|
||||
type: CssTypes.keyframe;
|
||||
values: Array<string>;
|
||||
declarations: Array<CssDeclarationAST | CssCommentAST>;
|
||||
};
|
||||
type CssLayerAST = CssCommonPositionAST & {
|
||||
type: CssTypes.layer;
|
||||
layer: string;
|
||||
rules?: Array<CssAtRuleAST | CssDeclarationAST>;
|
||||
};
|
||||
type CssMediaAST = CssCommonPositionAST & {
|
||||
type: CssTypes.media;
|
||||
media: string;
|
||||
rules: Array<CssAtRuleAST | CssDeclarationAST>;
|
||||
};
|
||||
type CssNamespaceAST = CssCommonPositionAST & {
|
||||
type: CssTypes.namespace;
|
||||
namespace: string;
|
||||
};
|
||||
type CssPageAST = CssCommonPositionAST & {
|
||||
type: CssTypes.page;
|
||||
selectors: Array<string>;
|
||||
declarations: Array<CssDeclarationAST | CssCommentAST | CssAtRuleAST>;
|
||||
};
|
||||
type CssSupportsAST = CssCommonPositionAST & {
|
||||
type: CssTypes.supports;
|
||||
supports: string;
|
||||
rules: Array<CssAtRuleAST | CssDeclarationAST>;
|
||||
};
|
||||
type CssStartingStyleAST = CssCommonPositionAST & {
|
||||
type: CssTypes.startingStyle;
|
||||
rules: Array<CssAtRuleAST | CssDeclarationAST>;
|
||||
};
|
||||
type CssCounterStyleAST = CssCommonPositionAST & {
|
||||
type: CssTypes.counterStyle;
|
||||
name: string;
|
||||
declarations: Array<CssDeclarationAST | CssCommentAST>;
|
||||
};
|
||||
type CssFontFeatureValuesAST = CssCommonPositionAST & {
|
||||
type: CssTypes.fontFeatureValues;
|
||||
fontFamily: string;
|
||||
rules: Array<CssAtRuleAST | CssDeclarationAST>;
|
||||
};
|
||||
type CssPositionTryAST = CssCommonPositionAST & {
|
||||
type: CssTypes.positionTry;
|
||||
name: string;
|
||||
declarations: Array<CssDeclarationAST | CssCommentAST>;
|
||||
};
|
||||
type CssPropertyAST = CssCommonPositionAST & {
|
||||
type: CssTypes.property;
|
||||
name: string;
|
||||
declarations: Array<CssDeclarationAST | CssCommentAST>;
|
||||
};
|
||||
type CssScopeAST = CssCommonPositionAST & {
|
||||
type: CssTypes.scope;
|
||||
scope: string;
|
||||
rules: Array<CssAtRuleAST | CssDeclarationAST>;
|
||||
};
|
||||
type CssViewTransitionAST = CssCommonPositionAST & {
|
||||
type: CssTypes.viewTransition;
|
||||
declarations: Array<CssDeclarationAST | CssCommentAST>;
|
||||
};
|
||||
type CssPageMarginBoxAST = CssCommonPositionAST & {
|
||||
type: CssTypes.pageMarginBox;
|
||||
name: string;
|
||||
declarations: Array<CssDeclarationAST | CssCommentAST>;
|
||||
};
|
||||
type CssGenericAtRuleAST = CssCommonPositionAST & {
|
||||
type: CssTypes.atRule;
|
||||
name: string;
|
||||
prelude: string;
|
||||
rules?: Array<CssAtRuleAST | CssDeclarationAST>;
|
||||
};
|
||||
type CssAtRuleAST = CssRuleAST | CssCommentAST | CssContainerAST | CssCharsetAST | CssCounterStyleAST | CssCustomMediaAST | CssDocumentAST | CssFontFaceAST | CssFontFeatureValuesAST | CssHostAST | CssImportAST | CssKeyframesAST | CssLayerAST | CssMediaAST | CssNamespaceAST | CssPageAST | CssPageMarginBoxAST | CssPositionTryAST | CssPropertyAST | CssScopeAST | CssSupportsAST | CssStartingStyleAST | CssViewTransitionAST | CssGenericAtRuleAST;
|
||||
type CssAllNodesAST = CssAtRuleAST | CssStylesheetAST | CssDeclarationAST | CssKeyframeAST;
|
||||
|
||||
type CompilerOptions = {
|
||||
indent?: string;
|
||||
compress?: boolean;
|
||||
};
|
||||
|
||||
declare const parse: (css: string, options?: {
|
||||
source?: string;
|
||||
silent?: boolean;
|
||||
}) => CssStylesheetAST;
|
||||
declare const stringify: (node: CssStylesheetAST, options?: CompilerOptions) => string;
|
||||
|
||||
declare const _default: {
|
||||
parse: (css: string, options?: {
|
||||
source?: string;
|
||||
silent?: boolean;
|
||||
}) => CssStylesheetAST;
|
||||
stringify: (node: CssStylesheetAST, options?: CompilerOptions) => string;
|
||||
};
|
||||
|
||||
export { CssTypes, _default as default, parse, stringify };
|
||||
export type { CssAllNodesAST, CssAtRuleAST, CssCharsetAST, CssCommentAST, CssCommonAST, CssCommonPositionAST, CssContainerAST, CssCounterStyleAST, CssCustomMediaAST, CssDeclarationAST, CssDocumentAST, CssFontFaceAST, CssFontFeatureValuesAST, CssGenericAtRuleAST, CssHostAST, CssImportAST, CssKeyframeAST, CssKeyframesAST, CssLayerAST, CssMediaAST, CssNamespaceAST, CssPageAST, CssPageMarginBoxAST, CssPositionTryAST, CssPropertyAST, CssRuleAST, CssScopeAST, CssStartingStyleAST, CssStylesheetAST, CssSupportsAST, CssViewTransitionAST };
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
class t extends Error{reason;filename;line;column;source;constructor(t,i,e,s,n){super(`${t}:${e}:${s}: ${i}`),this.reason=i,this.filename=t,this.line=e,this.column=s,this.source=n}}class i{start;end;source;constructor(t,i,e){this.start=t,this.end=i,this.source=e}}var e;!function(t){t.stylesheet="stylesheet",t.rule="rule",t.declaration="declaration",t.comment="comment",t.atRule="at-rule",t.container="container",t.charset="charset",t.counterStyle="counter-style",t.document="document",t.customMedia="custom-media",t.fontFace="font-face",t.fontFeatureValues="font-feature-values",t.host="host",t.import="import",t.keyframes="keyframes",t.keyframe="keyframe",t.layer="layer",t.media="media",t.namespace="namespace",t.page="page",t.pageMarginBox="page-margin-box",t.positionTry="position-try",t.property="property",t.scope="scope",t.startingStyle="starting-style",t.supports="supports",t.viewTransition="view-transition"}(e||(e={}));const s=(t,i,e)=>{let s=e,n=1e4;do{const e=i.map(i=>t.indexOf(i,s));e.push(t.indexOf("\\",s));const r=e.filter(t=>-1!==t);if(0===r.length)return-1;const o=Math.min(...r);if("\\"!==t[o])return o;s=o+2,n--}while(n>0);throw new Error("Too many escaping")},n=(t,i,e)=>{let r=e,o=1e4;do{const e=i.map(i=>t.indexOf(i,r));e.push(t.indexOf("(",r)),e.push(t.indexOf('"',r)),e.push(t.indexOf("'",r)),e.push(t.indexOf("\\",r));const c=e.filter(t=>-1!==t);if(0===c.length)return-1;const h=Math.min(...c);switch(t[h]){case"\\":r=h+2;break;case"(":{const i=n(t,[")"],h+1);if(-1===i)return-1;r=i+1}break;case'"':{const i=s(t,['"'],h+1);if(-1===i)return-1;r=i+1}break;case"'":{const i=s(t,["'"],h+1);if(-1===i)return-1;r=i+1}break;default:return h}o--}while(o>0);throw new Error("Too many escaping")},r=/\/\*[^]*?(?:\*\/|$)/g;function o(t){return t?t.trim():""}function c(t,i){const e=t&&"string"==typeof t.type,s=e?t:i;for(const i in t){const e=t[i];Array.isArray(e)?e.forEach(t=>{c(t,s)}):e&&"object"==typeof e&&c(e,s)}return e&&Object.defineProperty(t,"parent",{configurable:!0,writable:!0,enumerable:!1,value:i||null}),t}class h{level=0;indentation=" ";compress=!1;constructor(t){"string"==typeof t?.indent&&(this.indentation=t?.indent),t?.compress&&(this.compress=!0)}emit(t,i){return t}indent(t){return this.level=this.level||1,t?(this.level+=t,""):Array(this.level).join(this.indentation)}visit(t){switch(t.type){case e.stylesheet:return this.stylesheet(t);case e.rule:return this.rule(t);case e.declaration:return this.declaration(t);case e.comment:return this.comment(t);case e.container:return this.container(t);case e.charset:return this.charset(t);case e.counterStyle:return this.counterStyle(t);case e.document:return this.document(t);case e.customMedia:return this.customMedia(t);case e.fontFace:return this.fontFace(t);case e.fontFeatureValues:return this.fontFeatureValues(t);case e.host:return this.host(t);case e.import:return this.import(t);case e.keyframes:return this.keyframes(t);case e.keyframe:return this.keyframe(t);case e.layer:return this.layer(t);case e.media:return this.media(t);case e.namespace:return this.namespace(t);case e.page:return this.page(t);case e.pageMarginBox:return this.pageMarginBox(t);case e.positionTry:return this.positionTry(t);case e.property:return this.property(t);case e.scope:return this.scope(t);case e.startingStyle:return this.startingStyle(t);case e.supports:return this.supports(t);case e.viewTransition:return this.viewTransition(t);case e.atRule:return this.genericAtRule(t)}}mapVisit(t,i){let e="";i=i||"";for(let s=0,n=t.length;s<n;s++)e+=this.visit(t[s]),i&&s<n-1&&(e+=this.emit(i));return e}compile(t){return this.compress?t.stylesheet.rules.map(this.visit,this).join(""):this.stylesheet(t)}stylesheet(t){return this.mapVisit(t.stylesheet.rules,"\n\n")}comment(t){return this.compress?this.emit("",t.position):this.emit(`${this.indent()}/*${t.comment}*/`,t.position)}container(t){return this.compress?this.emit(`@container ${t.container}`,t.position)+this.emit("{")+this.mapVisit(t.rules)+this.emit("}"):this.emit(`${this.indent()}@container ${t.container}`,t.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(t.rules,"\n\n")+this.emit(`\n${this.indent(-1)}${this.indent()}}`)}layer(t){return this.compress?this.emit(`@layer ${t.layer}`,t.position)+(t.rules?this.emit("{")+this.mapVisit(t.rules)+this.emit("}"):";"):this.emit(`${this.indent()}@layer ${t.layer}`,t.position)+(t.rules?this.emit(` {\n${this.indent(1)}`)+this.mapVisit(t.rules,"\n\n")+this.emit(`\n${this.indent(-1)}${this.indent()}}`):";")}import(t){return this.emit(`@import ${t.import};`,t.position)}media(t){return this.compress?this.emit(`@media ${t.media}`,t.position)+this.emit("{")+this.mapVisit(t.rules)+this.emit("}"):this.emit(`${this.indent()}@media ${t.media}`,t.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(t.rules,"\n\n")+this.emit(`\n${this.indent(-1)}${this.indent()}}`)}document(t){const i=`@${t.vendor||""}document ${t.document}`;return this.compress?this.emit(i,t.position)+this.emit("{")+this.mapVisit(t.rulLine truncated
|
||||
//# sourceMappingURL=adobe-css-tools.mjs.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"adobe-css-tools.mjs","sources":["../../src/CssParseError.ts","../../src/CssPosition.ts","../../src/type.ts","../../src/utils/stringSearch.ts","../../src/parse/index.ts","../../src/stringify/compiler.ts","../../src/index.ts","../../src/stringify/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["CssParseError","Error","reason","filename","line","column","source","constructor","msg","lineno","css","super","this","Position","start","end","CssTypes","indexOfArrayNonEscaped","string","search","position","currentPosition","maxLoop","all","map","v","indexOf","push","foundAll","filter","length","found","Math","min","indexOfArrayWithBracketAndQuoteSupport","currentSearchPosition","firstMatchPos","endPosition","endQuotePosition","commentRegex","trim","str","addParent","obj","parent","isNode","type","childParent","k","value","Array","isArray","forEach","Object","defineProperty","configurable","writable","enumerable","Compiler","level","indentation","compress","options","indent","emit","_position","join","visit","node","stylesheet","rule","declaration","comment","container","charset","counterStyle","document","customMedia","fontFace","fontFeatureValues","host","import","keyframes","keyframe","layer","media","namespace","page","pageMarginBox","positionTry","property","scope","startingStyle","supports","viewTransition","atRule","genericAtRule","mapVisit","nodes","delim","buf","i","compile","rules","doc","vendor","name","decls","declarations","values","sel","selectors","fontFamily","prelude","hasNestedRules","some","r","s","split","padEnd","parse","whitespace","errorsList","error","err","silent","open","openMatch","exec","processMatch","close","closeMatch","m","lines","match","lastIndexOf","updatePosition","slice","comments","c","pos","charAt","selector","bracePos","selectorStr","substring","result","index","splitWithBracketAndQuoteSupport","replace","propMatch","propValue","separatorMatch","endValuePosition","ret","endMatch","decl","semiPos","looksLikeNestedRule","closePos","ruleBody","items","ar","nestedR","rulesOrDeclarations","vals","res","spacesMatch","pageMarginBoxRegex","RegExp","atImport","_compileAtRule","atCharset","atNamespace","re","m1","m2","frames","frame","concat","atKeyframes","style","atMedia","atCustomMedia","atSupports","atDocument","atPage","atHost","atFontFace","atFontFeatureValues","atContainer","atStartingStyle","atLayer","atProperty","atCounterStyle","atScope","atViewTransition","atPositionTry","atPageMarginBox","preludeEnd","atGeneric","rulesList","parsingErrors","stringify"],"mappings":"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AK,SAALine truncated
|
||||
Reference in new issue
Block a user