KC's Workspace
    Preparing search index...

    Sass's string type.

    Hierarchy (View Summary)

    Index
    • Creates a new string.

      Parameters

      • 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.

      • Optionaloptions: { quotes?: boolean }
        • Optionalquotes?: boolean

          Whether the string is quoted. Defaults to true.

      Returns SassString

    • Creates an empty string.

      Parameters

      • Optionaloptions: { quotes?: boolean }
        • Optionalquotes?: boolean

          Whether the string is quoted. Defaults to true.

      Returns SassString

    • 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 immutable package.

    • 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

    • get hasQuotes(): boolean

      Whether this string has quotes.

      Returns boolean

    • get isTruthy(): boolean

      Whether the value counts as true in an @if statement and other contexts.

      Returns boolean

    • get realNull(): Value | null

      Returns JavaScript's null value if this is sassNull, and returns this otherwise.

      Returns Value | null

    • 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 (0xD83D and 0xDE0A). So in JavaScript, "n😊b".length returns 4, whereas in Sass string.length("n😊b") returns 3.

      Returns number

    • 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

    • 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 as url(http://example.com). Unfortunately, it also means that we don't consider foo and f\6F\6F the same string.

      Returns string

    • Throws if this isn't a SassBoolean.

      Heads up! Functions should generally use isTruthy rather than requiring a literal boolean.

      Parameters

      • Optionalname: string

        The name of the function argument this came from (without the $) if it came from an argument. Used for error reporting.

      Returns SassBoolean

    • Throws if this isn't a SassColor.

      Parameters

      • Optionalname: string

        The name of the function argument this came from (without the $) if it came from an argument. Used for error reporting.

      Returns SassColor

    • Throws if this isn't a SassFunction.

      Parameters

      • Optionalname: string

        The name of the function argument this came from (without the $) if it came from an argument. Used for error reporting.

      Returns SassFunction

    • Throws if this isn't a SassMap.

      Parameters

      • Optionalname: string

        The name of the function argument this came from (without the $) if it came from an argument. Used for error reporting.

      Returns SassMap

    • Throws if this isn't a SassMixin.

      Parameters

      • Optionalname: string

        The name of the function argument this came from (without the $) if it came from an argument. Used for error reporting.

      Returns SassMixin

    • Throws if this isn't a SassNumber.

      Parameters

      • Optionalname: string

        The name of the function argument this came from (without the $) if it came from an argument. Used for error reporting.

      Returns SassNumber

    • Throws if this isn't a SassString.

      Parameters

      • Optionalname: string

        The name of the function argument this came from (without the $) if it came from an argument. Used for error reporting.

      Returns SassString

    • Returns whether this represents the same value as other.

      Parameters

      Returns boolean

    • Returns the value at index index in this value as a list, or undefined if index isn'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 immutable package: 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 Value | undefined

    • Returns a hash code that can be used to store this in a hash map.

      Returns number

    • Converts sassIndex into 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.

      Parameters

      • sassIndex: Value

        The Sass-style index into this as a list.

      • Optionalname: string

        The name of the function argument sassIndex came from (without the $) if it came from an argument. Used for error reporting.

      Returns number

      Error If sassIndex isn't a number, if that number isn't an integer, or if that integer isn't a valid index for asList.

    • Converts sassIndex to 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 (0xD83D and 0xDE0A). So in JavaScript, "n😊b".charCodeAt(1) returns 0xD83D, whereas in Sass string.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.

      Parameters

      • sassIndex: Value
      • Optionalname: string

      Returns number

      Error - If sassIndex isn't a number, if that number isn't an integer, or if that integer isn't a valid index for this string.

    • Returns this as a map if it counts as one (empty lists count as empty maps) or null if it doesn't.

      Returns SassMap | null