summaryrefslogtreecommitdiff
path: root/src/compiler/parse
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/parse')
-rw-r--r--src/compiler/parse/read/style.ts57
1 files changed, 32 insertions, 25 deletions
diff --git a/src/compiler/parse/read/style.ts b/src/compiler/parse/read/style.ts
index deb60de46..f23d7b10e 100644
--- a/src/compiler/parse/read/style.ts
+++ b/src/compiler/parse/read/style.ts
@@ -1,33 +1,40 @@
import { Parser } from '../index.js';
-import { Node } from 'estree';
import { Style } from '../../interfaces.js';
-export default function read_style(parser: Parser, start: number, attributes: Node[]): Style {
- const content_start = parser.index;
- const styles = parser.read_until(/<\/style>/);
- const content_end = parser.index;
- parser.eat('</style>', true);
- const end = parser.index;
+interface Attribute {
+ start: number;
+ end: number;
+ type: 'Attribute';
+ name: string;
+ value: {
+ raw: string;
+ data: string;
+ }[];
+}
+
+export default function read_style(parser: Parser, start: number, attributes: Attribute[]): Style {
+ const content_start = parser.index;
+ const styles = parser.read_until(/<\/style>/);
+ const content_end = parser.index;
+ parser.eat('</style>', true);
+ const end = parser.index;
- return {
- type: 'Style',
- start,
- end,
- attributes,
- content: {
- start: content_start,
- end: content_end,
- styles
- }
- };
+ return {
+ type: 'Style',
+ start,
+ end,
+ attributes,
+ content: {
+ start: content_start,
+ end: content_end,
+ styles,
+ },
+ };
}
-function is_ref_selector(a: any, b: any) { // TODO add CSS node types
- if (!b) return false;
+function is_ref_selector(a: any, b: any) {
+ // TODO add CSS node types
+ if (!b) return false;
- return (
- a.type === 'TypeSelector' &&
- a.name === 'ref' &&
- b.type === 'PseudoClassSelector'
- );
+ return a.type === 'TypeSelector' && a.name === 'ref' && b.type === 'PseudoClassSelector';
}