Convert src/compiler/compile/render_dom/wrappers/Element/index.ts to JavaScript

pull/8569/head
Simon Holthausen 3 years ago
parent 6d9ade6b1e
commit d001114dab

@ -8,7 +8,7 @@ export default class StyleAttributeWrapper extends AttributeWrapper {
/** @type {import('../../../nodes/Attribute.js').default} */ /** @type {import('../../../nodes/Attribute.js').default} */
node; node;
/** @type {import('../Element.js').default} */ /** @type {import('./index.js').default} */
parent; parent;
/** @param {import('../../Block.js').default} block */ /** @param {import('../../Block.js').default} block */
@ -57,9 +57,9 @@ export default class StyleAttributeWrapper extends AttributeWrapper {
} }
const regex_style_prop_key = /^\s*([\w-]+):\s*/; const regex_style_prop_key = /^\s*([\w-]+):\s*/;
/** @param {Array<Text | import('../../../nodes/shared/Expression.js').default>} value */ /** @param {Array<import('../../../nodes/Text.js').default | import('../../../nodes/shared/Expression.js').default>} value */
function optimize_style(value) { function optimize_style(value) {
/** @type {StyleProp[]} */ /** @type {Array<{ key: string; value: Array<import('../../../nodes/Text.js').default | import('../../../nodes/shared/Expression.js').default>; important: boolean; }>} */
const props = []; const props = [];
let chunks = value.slice(); let chunks = value.slice();
while (chunks.length) { while (chunks.length) {
@ -89,9 +89,9 @@ function optimize_style(value) {
const regex_important_flag = /\s*!important\s*$/; const regex_important_flag = /\s*!important\s*$/;
const regex_semicolon_or_whitespace = /[;\s]/; const regex_semicolon_or_whitespace = /[;\s]/;
/** @param {Array<Text | import('../../../nodes/shared/Expression.js').default>} chunks */ /** @param {Array<import('../../../nodes/Text.js').default | import('../../../nodes/shared/Expression.js').default>} chunks */
function get_style_value(chunks) { function get_style_value(chunks) {
/** @type {Array<Text | import('../../../nodes/shared/Expression.js').default>} */ /** @type {Array<import('../../../nodes/Text.js').default | import('../../../nodes/shared/Expression.js').default>} */
const value = []; const value = [];
let in_url = false; let in_url = false;
let quote_mark = null; let quote_mark = null;
@ -162,13 +162,7 @@ function get_style_value(chunks) {
}; };
} }
/** @param {Array<Text | import('../../../nodes/shared/Expression.js').default>} value */ /** @param {Array<import('../../../nodes/Text.js').default | import('../../../nodes/shared/Expression.js').default>} value */
function is_dynamic(value) { function is_dynamic(value) {
return value.length > 1 || value[0].type !== 'Text'; return value.length > 1 || value[0].type !== 'Text';
} }
/** @typedef {Object} StyleProp
* @property {string} key
* @property {Array<Text|Expression>} value
* @property {boolean} important
*/

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save