SassString
层次结构
- 值
- SassString
构造函数
constructor
- new SassString(text: string, options?: {
quotes?: boolean;
}): SassString -
创建一个新的字符串。
参数
-
text: string
字符串的内容。对于带引号的字符串,这是语义内容——源文本中编写的任何转义序列都将解析为其 Unicode 值。但是,对于不带引号的字符串,转义序列将保留为文字反斜杠。
-
可选
options: {
quotes?: boolean;
}-
可选
quotes?: boolean字符串是否带引号。默认为
true
。
-
返回 SassString
-
constructor
- new SassString(options?: {
quotes?: boolean;
}): SassString -
创建一个空字符串。
参数
-
可选
options: {
quotes?: boolean;
}-
可选
quotes?: boolean字符串是否带引号。默认为
true
。
-
返回 SassString
-
访问器
asList
- get asList(): List<Value>
-
此值作为列表。
所有 SassScript 值都可以用作列表。映射计为成对的列表,所有其他值计为单值列表。
返回 List<Value>
来自
immutable
包 的不可变列表。
带括号
- get hasBrackets(): boolean
-
此值作为列表是否 带括号。
所有 SassScript 值都可以用作列表。映射计为成对的列表,所有其他值计为单值列表。
返回 boolean
带引号
- get hasQuotes(): boolean
-
此字符串是否 带引号。
返回 boolean
是真值
- get isTruthy(): boolean
-
此值在
@if
语句和其他 上下文中是否被视为true
。返回 boolean
真实空值
Sass长度
- get sassLength(): number
-
Sass 对此字符串 长度的理解。
Sass 将字符串视为一系列 Unicode 代码点,而 JavaScript 将其视为一系列 UTF-16 代码单元。例如,字符 U+1F60A SMILING FACE WITH SMILING EYES 是一个 Unicode 代码点,但在 UTF-16 中表示为两个代码单元(
0xD83D
和0xDE0A
)。因此,在 JavaScript 中,"n😊b".length
返回4
,而在 Sass 中string.length("n😊b")
返回3
。返回 number
分隔符
- get separator(): ListSeparator
-
此值作为列表的 分隔符。
所有 SassScript 值都可以用作列表。映射计为成对的列表,所有其他值计为单值列表。
返回 ListSeparator
文本
- get text(): string
-
字符串的 内容。
对于带引号的字符串,这是语义内容——源文本中编写的任何转义序列都将解析为其 Unicode 值。但是,对于不带引号的字符串,转义序列将保留为字面 反斜杠。
这种差异使我们能够区分带转义符的标识符,例如
url\u28 http://example.com\u29
,以及包含标识符中无效字符的不带引号的字符串,例如url(http://example.com)
。不幸的是,这也意味着我们不认为foo
和f\6F\6F
是相同的 字符串。返回 string
方法
断言布尔值
- 断言
布尔值 (name?: string): SassBoolean -
如果
this
不是 SassBoolean,则抛出异常。⚠️ 注意!
函数通常应该使用 isTruthy,而不是要求一个字面 布尔值。
参数
-
可选
name: string如果
this
来自一个参数,则为该参数的函数参数名称(不带$
)。用于错误 报告。
返回 SassBoolean
-
断言计算
- 断言
计算 (name?: string): SassCalculation -
如果
this
不是 SassCalculation,则抛出异常。参数
-
可选
name: string如果
this
来自一个参数,则为该参数的函数参数名称(不带$
)。用于错误 报告。
返回 SassCalculation
-
断言颜色
断言函数
- 断言
函数 (name?: string): SassFunction -
如果
this
不是 SassFunction,则抛出异常。参数
-
可选
name: string如果
this
来自一个参数,则为该参数的函数参数名称(不带$
)。用于错误 报告。
返回 SassFunction
-
断言映射
断言混合
assertNumber
- assert
Number (name?: string): SassNumber -
如果
this
不是SassNumber,则抛出异常。参数
-
可选
name: string如果
this
来自一个参数,则为该参数的函数参数名称(不带$
)。用于错误 报告。
返回SassNumber
-
assertString
- assert
String (name?: string): SassString -
如果
this
不是SassString,则抛出异常。参数
-
可选
name: string如果
this
来自一个参数,则为该参数的函数参数名称(不带$
)。用于错误 报告。
返回 SassString
-
equals
get
hashCode
sassIndexToListIndex
- sass
Index (sassIndex: Value, name?: string): numberTo List Index -
将
sassIndex
转换为JavaScript风格的索引,用于asList返回的列表。Sass索引从1开始,而JavaScript索引从0开始。Sass索引也可能是负数,以便从列表末尾开始索引。
抛出异常
Error
如果sassIndex
不是数字,如果该数字不是整数,或者如果该整数不是asList的有效索引。参数
-
sassIndex: Value
Sass风格的索引,指向此值作为列表。
-
可选
name: string如果
sassIndex
来自参数,则为该参数的名称(不带$
),用于错误报告。
返回 number
-
sassIndexToStringIndex
- sass
Index (sassIndex: Value, name?: string): numberTo String Index -
将
sassIndex
转换为JavaScript风格的索引,用于text。Sass索引从1开始,而JavaScript索引从0开始。Sass索引也可能是负数,以便从字符串末尾开始索引。
此外,Sass索引指的是Unicode代码点,而JavaScript字符串索引指的是UTF-16代码单元。例如,字符U+1F60A SMILING FACE WITH SMILING EYES是一个Unicode代码点,但在UTF-16中表示为两个代码单元(0xD83D和0xDE0A)。因此,在JavaScript中,
"n😊b".charCodeAt(1)
返回0xD83D
,而在Sass中,string.slice("n😊b", 1, 1)
返回"😊"
。此函数将Sass的代码点索引转换为JavaScript的代码单元索引。这意味着它在
text
的长度上是O(n)。抛出异常
Error
- 如果sassIndex
不是数字,如果该数字不是整数,或者如果该整数不是此字符串的有效索引。参数
-
sassIndex: Value
-
可选
name: string
返回 number
-
Sass 的 字符串类型。