SassString
Hierarchy
- Value
- SassString
 
Constructors
constructor
- new Sass String(text: string, options?: { 
 quotes?: boolean;
 }): SassString
- 
Creates a new string. Parameters- 
text: stringThe contents of the string. For quoted strings, this is the semantic content—any escape sequences that were been written in the source text are resolved to their Unicode values. For unquoted strings, though, escape sequences are preserved as literal backslashes. 
- 
Optionaloptions: {
 quotes?: boolean;
 }- 
Optionalquotes?: booleanWhether the string is quoted. Defaults to true.
 
- 
 Returns SassString
- 
constructor
- new Sass String(options?: { 
 quotes?: boolean;
 }): SassString
- 
Creates an empty string. Parameters- 
Optionaloptions: {
 quotes?: boolean;
 }- 
Optionalquotes?: booleanWhether the string is quoted. Defaults to true.
 
- 
 Returns SassString
- 
Accessors
as
- get asList(): List<Value>
- 
This value as a list. All SassScript values can be used as lists. Maps count as lists of pairs, and all other values count as single-value lists. Returns List<Value>An immutable List from the immutablepackage.
has
- get hasBrackets(): boolean
- 
Whether this value as a list has brackets. All SassScript values can be used as lists. Maps count as lists of pairs, and all other values count as single-value lists. Returns boolean
has
- get hasQuotes(): boolean
- 
Whether this string has quotes. Returns boolean
is
- get isTruthy(): boolean
- 
Whether the value counts as truein an@ifstatement and other contexts.Returns boolean
real
sass
- get sassLength(): number
- 
Sass's notion of this string's length. Sass treats strings as a series of Unicode code points while JavaScript treats them as a series of UTF-16 code units. For example, the character U+1F60A SMILING FACE WITH SMILING EYES is a single Unicode code point but is represented in UTF-16 as two code units ( 0xD83Dand0xDE0A). So in JavaScript,"n😊b".lengthreturns4, whereas in Sassstring.length("n😊b")returns3.Returns number
separator
- get separator(): ListSeparator
- 
The separator for this value as a list. All SassScript values can be used as lists. Maps count as lists of pairs, and all other values count as single-value lists. Returns ListSeparator
text
- get text(): string
- 
The contents of the string. For quoted strings, this is the semantic content—any escape sequences that were been written in the source text are resolved to their Unicode values. For unquoted strings, though, escape sequences are preserved as literal backslashes. This difference allows us to distinguish between identifiers with escapes, such as url\u28 http://example.com\u29, and unquoted strings that contain characters that aren't valid in identifiers, such asurl(http://example.com). Unfortunately, it also means that we don't considerfooandf\6F\6Fthe same string.Returns string
Methods
assert
- assertBoolean(name?: string): SassBoolean 
- 
Throws if thisisn't a SassBoolean.⚠️ Heads up!Functions should generally use isTruthy rather than requiring a literal boolean. Parameters- 
Optionalname: stringThe name of the function argument thiscame from (without the$) if it came from an argument. Used for error reporting.
 Returns SassBoolean
- 
assert
- assertCalculation(name?: string): SassCalculation 
- 
Throws if thisisn't a SassCalculation.Parameters- 
Optionalname: stringThe name of the function argument thiscame from (without the$) if it came from an argument. Used for error reporting.
 Returns SassCalculation
- 
assert
assert
- assertFunction(name?: string): SassFunction 
- 
Throws if thisisn't a SassFunction.Parameters- 
Optionalname: stringThe name of the function argument thiscame from (without the$) if it came from an argument. Used for error reporting.
 Returns SassFunction
- 
assert
assert
assert
- assertNumber(name?: string): SassNumber 
- 
Throws if thisisn't a SassNumber.Parameters- 
Optionalname: stringThe name of the function argument thiscame from (without the$) if it came from an argument. Used for error reporting.
 Returns SassNumber
- 
assert
- assertString(name?: string): SassString 
- 
Throws if thisisn't a SassString.Parameters- 
Optionalname: stringThe name of the function argument thiscame from (without the$) if it came from an argument. Used for error reporting.
 Returns SassString
- 
equals
get
- get(index: number): undefined | Value
- 
Returns the value at index indexin this value as a list, orundefinedifindexisn't valid for this list.All SassScript values can be used as lists. Maps count as lists of pairs, and all other values count as single-value lists. This is a shorthand for this.asList.get(index), although it may be more efficient in some cases.⚠️ Heads up!This method uses the same indexing conventions as the immutablepackage: unlike Sass the index of the first element is 0, but like Sass negative numbers index from the end of the list.Parameters- 
index: number
 Returns undefined | Value
- 
hash
sass
- sassIndex To List Index(sassIndex: Value, name?: string): number 
- 
Converts sassIndexinto a JavaScript-style index into the list returned by asList.Sass indexes are one-based, while JavaScript indexes are zero-based. Sass indexes may also be negative in order to index from the end of the list. ThrowsErrorIfsassIndexisn't a number, if that number isn't an integer, or if that integer isn't a valid index for asList.Parameters- 
sassIndex: ValueThe Sass-style index into this as a list. 
- 
Optionalname: stringThe name of the function argument sassIndexcame from (without the$) if it came from an argument. Used for error reporting.
 Returns number
- 
sass
- sassIndex To String Index(sassIndex: Value, name?: string): number 
- 
Converts sassIndexto a JavaScript index into text.Sass indices are one-based, while JavaScript indices are zero-based. Sass indices may also be negative in order to index from the end of the string. In addition, Sass indices refer to Unicode code points while JavaScript string indices refer to UTF-16 code units. For example, the character U+1F60A SMILING FACE WITH SMILING EYES is a single Unicode code point but is represented in UTF-16 as two code units ( 0xD83Dand0xDE0A). So in JavaScript,"n😊b".charCodeAt(1)returns0xD83D, whereas in Sassstring.slice("n😊b", 1, 1)returns"😊".This function converts Sass's code point indices to JavaScript's code unit indices. This means it's O(n) in the length of text.ThrowsError- IfsassIndexisn't a number, if that number isn't an integer, or if that integer isn't a valid index for this string.Parameters- 
sassIndex: Value
- 
Optionalname: string
 Returns number
- 
Sass's string type.