From 17b0a3956e1d712fed5f3fc815f79ab62d5c289d Mon Sep 17 00:00:00 2001 From: Bhsd <55071315+bhsd-harry@users.noreply.github.com> Date: Mon, 27 Jan 2025 17:28:41 +0800 Subject: [PATCH] style: readonly --- lib/node.ts | 4 ++-- lib/title.ts | 2 +- src/attribute.ts | 11 ++++++----- src/attributes.ts | 2 +- src/imageParameter.ts | 4 ++-- src/magicLink.ts | 2 +- src/redirect.ts | 4 ++-- src/syntax.ts | 2 +- src/table/trBase.ts | 3 +-- src/transclude.ts | 2 +- 10 files changed, 18 insertions(+), 18 deletions(-) diff --git a/lib/node.ts b/lib/node.ts index e37471caf..6dcd42f4b 100644 --- a/lib/node.ts +++ b/lib/node.ts @@ -105,13 +105,13 @@ export abstract class AstNode implements AstNodeBase { /** 后一个兄弟节点 */ get nextSibling(): AstNodes | undefined { const childNodes = this.parentNode?.childNodes; - return childNodes && childNodes[childNodes.indexOf(this as AstNode as AstNodes) + 1]; + return childNodes?.[childNodes.indexOf(this as AstNode as AstNodes) + 1]; } /** 前一个兄弟节点 */ get previousSibling(): AstNodes | undefined { const childNodes = this.parentNode?.childNodes; - return childNodes && childNodes[childNodes.indexOf(this as AstNode as AstNodes) - 1]; + return childNodes?.[childNodes.indexOf(this as AstNode as AstNodes) - 1]; } /** 行数 */ diff --git a/lib/title.ts b/lib/title.ts index 29b11f69c..a7907a1bc 100644 --- a/lib/title.ts +++ b/lib/title.ts @@ -29,7 +29,7 @@ export class Title { /* NOT FOR BROWSER */ #redirectFragment: string | undefined; - #path; + readonly #path; /** @private */ conversionTable = new Map(); /** @private */ diff --git a/src/attribute.ts b/src/attribute.ts index 9c2790b22..03a517cb7 100644 --- a/src/attribute.ts +++ b/src/attribute.ts @@ -32,6 +32,7 @@ const stages = {'ext-attr': 0, 'html-attr': 2, 'table-attr': 3}; /* NOT FOR BROWSER END */ +declare type Child = AtomToken | AttributeToken | undefined; export type AttributeTypes = 'ext-attr' | 'html-attr' | 'table-attr'; const insecureStyle = /expression|(?:accelerator|-o-link(?:-source)?|-o-replace)\s*:|(?:url|image(?:-set)?)\s*\(|attr\s*\([^)]+[\s,]url/u; @@ -43,7 +44,7 @@ const insecureStyle = /expression|(?:accelerator|-o-link(?:-source)?|-o-replace) @fixedToken export abstract class AttributeToken extends Token { declare readonly name: string; - #type; + readonly #type; #tag; #equal; #quotes: [string?, string?]; @@ -52,8 +53,8 @@ export abstract class AttributeToken extends Token { abstract override get firstChild(): AtomToken; abstract override get lastChild(): Token; abstract override get parentNode(): AttributesToken | undefined; - abstract override get nextSibling(): AtomToken | this | undefined; - abstract override get previousSibling(): AtomToken | this | undefined; + abstract override get nextSibling(): Child; + abstract override get previousSibling(): Child; /* NOT FOR BROWSER */ @@ -61,8 +62,8 @@ export abstract class AttributeToken extends Token { abstract override get firstElementChild(): AtomToken; abstract override get lastElementChild(): Token; abstract override get parentElement(): AttributesToken | undefined; - abstract override get nextElementSibling(): AtomToken | this | undefined; - abstract override get previousElementSibling(): AtomToken | this | undefined; + abstract override get nextElementSibling(): Child; + abstract override get previousElementSibling(): Child; /* NOT FOR BROWSER END */ diff --git a/src/attributes.ts b/src/attributes.ts index 31054ddb4..f30f869c8 100644 --- a/src/attributes.ts +++ b/src/attributes.ts @@ -57,7 +57,7 @@ try { */ export abstract class AttributesToken extends Token { declare readonly name: string; - #type; + readonly #type; #classList: Set | undefined; declare readonly childNodes: readonly Child[]; diff --git a/src/imageParameter.ts b/src/imageParameter.ts index 9a26bfc2b..eec40b4a3 100644 --- a/src/imageParameter.ts +++ b/src/imageParameter.ts @@ -88,8 +88,8 @@ function validate( /** 图片参数 */ export abstract class ImageParameterToken extends Token { declare readonly name: string; - #syntax = ''; - #extension; + readonly #syntax: string = ''; + readonly #extension; abstract override get parentNode(): FileToken | undefined; abstract override get nextSibling(): this | undefined; diff --git a/src/magicLink.ts b/src/magicLink.ts index 6f01da124..733620932 100644 --- a/src/magicLink.ts +++ b/src/magicLink.ts @@ -54,7 +54,7 @@ export interface MagicLinkToken extends SyntaxBase {} */ @syntax() export abstract class MagicLinkToken extends Token { - #type; + readonly #type; declare readonly childNodes: readonly (AstText | CommentToken | IncludeToken | NoincludeToken | TranscludeToken)[]; abstract override get firstChild(): AstText | TranscludeToken; diff --git a/src/redirect.ts b/src/redirect.ts index ebcc862ad..b65b7db99 100644 --- a/src/redirect.ts +++ b/src/redirect.ts @@ -20,8 +20,8 @@ import {fixedToken} from '../mixin/fixed'; @fixedToken @hiddenToken(false, false) export abstract class RedirectToken extends Token { - #pre; - #post; + readonly #pre; + readonly #post; declare readonly childNodes: readonly [SyntaxToken, RedirectTargetToken]; abstract override get firstChild(): SyntaxToken; diff --git a/src/syntax.ts b/src/syntax.ts index a262083a1..3309fc500 100644 --- a/src/syntax.ts +++ b/src/syntax.ts @@ -17,7 +17,7 @@ declare type SyntaxTypes = 'heading-trail' | 'magic-word-name' | 'table-syntax' /** 满足特定语法格式的plain Token */ @syntax() export class SyntaxToken extends Token { - #type; + readonly #type; override get type(): SyntaxTypes { return this.#type; diff --git a/src/table/trBase.ts b/src/table/trBase.ts index 279d27d00..9185cb395 100644 --- a/src/table/trBase.ts +++ b/src/table/trBase.ts @@ -12,10 +12,9 @@ import type {AstNodes, ArgToken, TranscludeToken, SyntaxToken, TrToken} from '.. /* NOT FOR BROWSER */ -import {Shadow} from '../../util/debug'; +import {Shadow, isToken} from '../../util/debug'; import {classes} from '../../util/constants'; import {html} from '../../util/html'; -import {isToken} from '../../util/debug'; import {Token} from '../index'; import type {TdAttrs, TdSubtypes} from './td'; diff --git a/src/transclude.ts b/src/transclude.ts index 5ef8d6f83..3fea89bad 100644 --- a/src/transclude.ts +++ b/src/transclude.ts @@ -42,7 +42,7 @@ declare type Child = AtomToken | SyntaxToken; */ export abstract class TranscludeToken extends Token { readonly modifier: string = ''; - #type: 'template' | 'magic-word' = 'template'; + readonly #type: 'template' | 'magic-word' = 'template'; #raw = false; readonly #args = new Map>();