diff --git a/api/assets/navigation.js b/api/assets/navigation.js index 9bdf97bff..883f6242d 100644 --- a/api/assets/navigation.js +++ b/api/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file diff --git a/api/assets/search.js b/api/assets/search.js index 3f716dfcc..669d6dd91 100644 --- a/api/assets/search.js +++ b/api/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/api/classes/Context.html b/api/classes/Context.html index bc0d744ab..907286989 100644 --- a/api/classes/Context.html +++ b/api/classes/Context.html @@ -3,6 +3,7 @@ continueCalled environments globals +liquid? memoryLimit opts ownPropertyOnly @@ -24,12 +25,13 @@ saveRegister setRegister spawn -

Constructors

Properties

breakCalled: boolean = false
continueCalled: boolean = false
environments: Scope

user passed in scope +

Constructors

Properties

breakCalled: boolean = false
continueCalled: boolean = false
environments: Scope

user passed in scope {% increment %}, {% decrement %} changes this scope, whereas {% capture %}, {% assign %} only hide this scope

globals: Scope

global scope used as fallback for missing variables

-
memoryLimit: Limiter

The normalized liquid options object

-
ownPropertyOnly: boolean
renderLimit: Limiter
strictVariables: boolean

Throw when accessing undefined variable?

-
sync: boolean

Methods

  • Parameters

    • Rest...keys: string[]

    Returns [string, any][]

+
liquid?: any

Reference to the Liquid instance for filter resolution

+
memoryLimit: Limiter
opts: NormalizedFullOptions

The normalized liquid options object

+
ownPropertyOnly: boolean
renderLimit: Limiter
strictVariables: boolean

Throw when accessing undefined variable?

+
sync: boolean

Methods

  • Parameters

    • Rest...keys: string[]

    Returns [string, any][]

diff --git a/api/classes/Expression.html b/api/classes/Expression.html index 44d69de64..1acf37766 100644 --- a/api/classes/Expression.html +++ b/api/classes/Expression.html @@ -1,5 +1,5 @@ -Expression | liquidjs

Class Expression

Constructors

constructor +Expression | liquidjs

Class Expression

Constructors

Properties

Methods

Constructors

Properties

postfix: Token[]

Methods

+

Constructors

Properties

postfix: Token[]

Methods

diff --git a/api/classes/FilteredValueToken.html b/api/classes/FilteredValueToken.html new file mode 100644 index 000000000..5a9df4ff5 --- /dev/null +++ b/api/classes/FilteredValueToken.html @@ -0,0 +1,15 @@ +FilteredValueToken | liquidjs

Class FilteredValueToken

value expression with optional filters +e.g. +{% assign foo="bar" | append: "coo" %}

+

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

begin: number
end: number
file?: string
filters: FilterToken[]
initial: Expression
input: string
kind: TokenKind

Methods

diff --git a/api/classes/PropertyAccessToken.html b/api/classes/PropertyAccessToken.html index 1759bc266..2e2867b94 100644 --- a/api/classes/PropertyAccessToken.html +++ b/api/classes/PropertyAccessToken.html @@ -1,4 +1,4 @@ -PropertyAccessToken | liquidjs

Class PropertyAccessToken

Hierarchy (view full)

Constructors

constructor +PropertyAccessToken | liquidjs

Class PropertyAccessToken

Hierarchy (view full)

Constructors

Properties

begin end file? @@ -9,4 +9,4 @@

Methods

Constructors

Properties

begin: number
end: number
file?: string
input: string
kind: TokenKind
variable:
    | undefined
    | RangeToken
    | LiteralToken
    | QuotedToken
    | NumberToken

Methods

+

Constructors

Properties

begin: number
end: number
file?: string
input: string
kind: TokenKind
variable:
    | undefined
    | FilteredValueToken
    | RangeToken
    | LiteralToken
    | QuotedToken
    | NumberToken

Methods

diff --git a/api/classes/Token.html b/api/classes/Token.html index a4131288b..1f86b3c70 100644 --- a/api/classes/Token.html +++ b/api/classes/Token.html @@ -1,4 +1,4 @@ -Token | liquidjs

Class TokenAbstract

Hierarchy (view full)

Constructors

constructor +Token | liquidjs

Class TokenAbstract

Hierarchy (view full)

Constructors

Properties

begin end file? diff --git a/api/classes/Tokenizer.html b/api/classes/Tokenizer.html index 39c68cddc..317de0762 100644 --- a/api/classes/Tokenizer.html +++ b/api/classes/Tokenizer.html @@ -1,6 +1,7 @@ Tokenizer | liquidjs

Class Tokenizer

Constructors

Properties

N: number
file?: string
input: string
p: number

Methods

  • Parameters

    • pred: unknown
    • msg: string | (() => string)
    • Optionalpos: number

    Returns void

  • Parameters

    • delimiter: string
    • respectQuoted: boolean = false

    Returns number

+

Constructors

  • Parameters

    • input: string
    • operators: Operators = defaultOptions.operators
    • Optionalfile: string
    • Optionalrange: [number, number]
    • groupedExpressions: boolean = false

    Returns Tokenizer

Properties

N: number
file?: string
groupedExpressions: boolean
input: string
p: number

Methods

  • Parameters

    • pred: unknown
    • msg: string | (() => string)
    • Optionalpos: number

    Returns void

  • Parameters

    • delimiter: string
    • respectQuoted: boolean = false

    Returns number

diff --git a/api/classes/Value.html b/api/classes/Value.html index cecab0866..1f9df1069 100644 --- a/api/classes/Value.html +++ b/api/classes/Value.html @@ -2,4 +2,4 @@

Properties

Methods

Constructors

Properties

filters: Filter[] = []
initial: Expression

Methods

+

Constructors

Properties

filters: Filter[] = []
initial: Expression

Methods

diff --git a/api/classes/Variable.html b/api/classes/Variable.html index a3068306d..dcfce4035 100644 --- a/api/classes/Variable.html +++ b/api/classes/Variable.html @@ -1,8 +1,8 @@ Variable | liquidjs

Class Variable

A variable's segments and location, which can be coerced to a string.

-

Constructors

Constructors

Properties

Methods

Constructors

Properties

segments: (string | number | Variable)[]

Methods

+

Constructors

Properties

segments: (string | number | Variable)[]

Methods

diff --git a/api/classes/_internal_.FilteredValueToken.html b/api/classes/_internal_.FilteredValueToken.html deleted file mode 100644 index 7d066f3ce..000000000 --- a/api/classes/_internal_.FilteredValueToken.html +++ /dev/null @@ -1,15 +0,0 @@ -FilteredValueToken | liquidjs

Class FilteredValueToken

value expression with optional filters -e.g. -{% assign foo="bar" | append: "coo" %}

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

begin: number
end: number
file?: string
filters: FilterToken[]
initial: Expression
input: string
kind: TokenKind

Methods

diff --git a/api/enums/TokenKind.html b/api/enums/TokenKind.html index b13e7f494..44fe78ebd 100644 --- a/api/enums/TokenKind.html +++ b/api/enums/TokenKind.html @@ -1,6 +1,7 @@ TokenKind | liquidjs

Enumeration TokenKind

Enumeration Members

Enumeration Members

Delimited: 12
Filter: 32
FilteredValue: 4096
HTML: 16
Hash: 64
Literal: 2
Number: 1
Operator: 2048
Output: 8
PropertyAccess: 128
Quoted: 1024
Range: 512
Tag: 4
Word: 256
+

Enumeration Members

Delimited: 12
Filter: 32
FilteredValue: 4096
GroupedExpression: 8192
HTML: 16
Hash: 64
Literal: 2
Number: 1
Operator: 2048
Output: 8
PropertyAccess: 128
Quoted: 1024
Range: 512
Tag: 4
Word: 256
diff --git a/api/functions/TypeGuards.isFilteredValueToken.html b/api/functions/TypeGuards.isFilteredValueToken.html new file mode 100644 index 000000000..e9d8510ef --- /dev/null +++ b/api/functions/TypeGuards.isFilteredValueToken.html @@ -0,0 +1 @@ +isFilteredValueToken | liquidjs

Function isFilteredValueToken

diff --git a/api/functions/TypeGuards.isValueToken.html b/api/functions/TypeGuards.isValueToken.html index f9a614e35..f28f84272 100644 --- a/api/functions/TypeGuards.isValueToken.html +++ b/api/functions/TypeGuards.isValueToken.html @@ -1 +1 @@ -isValueToken | liquidjs

Function isValueToken

+isValueToken | liquidjs

Function isValueToken

diff --git a/api/functions/analyze.html b/api/functions/analyze.html index 44d17ac33..6f7fca288 100644 --- a/api/functions/analyze.html +++ b/api/functions/analyze.html @@ -1,2 +1,2 @@ analyze | liquidjs

Function analyze

+

Parameters

Returns Promise<StaticAnalysis>

diff --git a/api/functions/analyzeSync.html b/api/functions/analyzeSync.html index 607aa534c..562c99aed 100644 --- a/api/functions/analyzeSync.html +++ b/api/functions/analyzeSync.html @@ -1,2 +1,2 @@ analyzeSync | liquidjs

Function analyzeSync

+

Parameters

Returns StaticAnalysis

diff --git a/api/functions/evalQuotedToken.html b/api/functions/evalQuotedToken.html index 3067a850e..1378ae580 100644 --- a/api/functions/evalQuotedToken.html +++ b/api/functions/evalQuotedToken.html @@ -1 +1 @@ -evalQuotedToken | liquidjs

Function evalQuotedToken

+evalQuotedToken | liquidjs

Function evalQuotedToken

diff --git a/api/functions/evalToken.html b/api/functions/evalToken.html index c3d4077c2..c7e23e42c 100644 --- a/api/functions/evalToken.html +++ b/api/functions/evalToken.html @@ -1 +1 @@ -evalToken | liquidjs

Function evalToken

+evalToken | liquidjs

Function evalToken

diff --git a/api/hierarchy.html b/api/hierarchy.html index a56a450cd..f9ba6f070 100644 --- a/api/hierarchy.html +++ b/api/hierarchy.html @@ -1 +1 @@ -liquidjs

liquidjs

Class Hierarchy

+liquidjs

liquidjs

Class Hierarchy

diff --git a/api/interfaces/LiquidOptions.html b/api/interfaces/LiquidOptions.html index bd0b84a83..c8e3f39b9 100644 --- a/api/interfaces/LiquidOptions.html +++ b/api/interfaces/LiquidOptions.html @@ -1,4 +1,4 @@ -LiquidOptions | liquidjs

Interface LiquidOptions

interface LiquidOptions {
    cache?: number | boolean | LiquidCache;
    catchAllErrors?: boolean;
    dateFormat?: string;
    dynamicPartials?: boolean;
    extname?: string;
    fs?: FS;
    globals?: object;
    greedy?: boolean;
    jekyllInclude?: boolean;
    jekyllWhere?: boolean;
    jsTruthy?: boolean;
    keepOutputType?: boolean;
    keyValueSeparator?: string;
    layouts?: string | string[];
    lenientIf?: boolean;
    locale?: string;
    memoryLimit?: number;
    operators?: Operators;
    orderedFilterParameters?: boolean;
    outputDelimiterLeft?: string;
    outputDelimiterRight?: string;
    outputEscape?: OutputEscapeOption;
    ownPropertyOnly?: boolean;
    parseLimit?: number;
    partials?: string | string[];
    preserveTimezones?: boolean;
    relativeReference?: boolean;
    renderLimit?: number;
    root?: string | string[];
    strictFilters?: boolean;
    strictVariables?: boolean;
    tagDelimiterLeft?: string;
    tagDelimiterRight?: string;
    templates?: {
        [key: string]: string;
    };
    timezoneOffset?: string | number;
    trimOutputLeft?: boolean;
    trimOutputRight?: boolean;
    trimTagLeft?: boolean;
    trimTagRight?: boolean;
}

Hierarchy (view full)

Properties

cache? +LiquidOptions | liquidjs

Interface LiquidOptions

interface LiquidOptions {
    cache?: number | boolean | LiquidCache;
    catchAllErrors?: boolean;
    dateFormat?: string;
    dynamicPartials?: boolean;
    extname?: string;
    fs?: FS;
    globals?: object;
    greedy?: boolean;
    groupedExpressions?: boolean;
    jekyllInclude?: boolean;
    jekyllWhere?: boolean;
    jsTruthy?: boolean;
    keepOutputType?: boolean;
    keyValueSeparator?: string;
    layouts?: string | string[];
    lenientIf?: boolean;
    locale?: string;
    memoryLimit?: number;
    operators?: Operators;
    orderedFilterParameters?: boolean;
    outputDelimiterLeft?: string;
    outputDelimiterRight?: string;
    outputEscape?: OutputEscapeOption;
    ownPropertyOnly?: boolean;
    parseLimit?: number;
    partials?: string | string[];
    preserveTimezones?: boolean;
    relativeReference?: boolean;
    renderLimit?: number;
    root?: string | string[];
    strictFilters?: boolean;
    strictVariables?: boolean;
    tagDelimiterLeft?: string;
    tagDelimiterRight?: string;
    templates?: {
        [key: string]: string;
    };
    timezoneOffset?: string | number;
    trimOutputLeft?: boolean;
    trimOutputRight?: boolean;
    trimTagLeft?: boolean;
    trimTagRight?: boolean;
}

Hierarchy (view full)

Properties

fs?: FS

fs is used to override the default file-system module with a custom implementation.

globals?: object

the global scope passed down to all partial and layout templates, i.e. templates included by include, layout and render tags.

greedy?: boolean

Whether trim*Left/trim*Right is greedy. When set to true, all consecutive blank characters including \n will be trimmed regardless of line breaks. Defaults to true.

-
jekyllInclude?: boolean

Use jekyll style include, pass parameters to include variable of current scope. Defaults to false.

+
groupedExpressions?: boolean

Allow parenthesized expressions as operands in conditions and loops, e.g. {% if (foo | upcase) == "BAR" %}. This is a non-standard extension to Liquid. Defaults to false.

+
jekyllInclude?: boolean

Use jekyll style include, pass parameters to include variable of current scope. Defaults to false.

jekyllWhere?: boolean

Use jekyll style where filter, enables array item match. Defaults to false.

jsTruthy?: boolean

Use JavaScript Truthiness. Defaults to false.

keepOutputType?: boolean

Whether or not to keep value type when writing the Output, not working for streamed rendering. Defaults to false.

@@ -54,7 +56,7 @@
lenientIf?: boolean

Modifies the behavior of strictVariables. If set, a single undefined variable will not cause an exception in the context of the if/elsif/unless tag and the default filter. Instead, it will evaluate to false and null, respectively. Irrelevant if strictVariables is not set. Defaults to false. *

locale?: string

Default locale, will be used by date filter. Defaults to system locale.

memoryLimit?: number

For DoS handling, limit new objects creation, including array concat/join/strftime, etc. A typical PC can handle 1e9 (1G) memory without issue.

-
operators?: Operators

An object of operators for conditional statements. Defaults to the regular Liquid operators.

+
operators?: Operators

An object of operators for conditional statements. Defaults to the regular Liquid operators.

orderedFilterParameters?: boolean

Respect parameter order when using filters like "for ... reversed limit", Defaults to false.

outputDelimiterLeft?: string

The left delimiter for liquid outputs. *

outputDelimiterRight?: string

The right delimiter for liquid outputs. *

@@ -62,11 +64,11 @@
ownPropertyOnly?: boolean

Hide scope variables from prototypes, useful when you're passing a not sanitized object into LiquidJS or need to hide prototypes from templates. This only applies to property/index access on scope objects. Filter transforms and iteration operate on the resolved value with standard JavaScript semantics, so prototype-inherited array indices may still be surfaced by them.

parseLimit?: number

For DoS handling, limit total length of templates parsed in one parse() call. A typical PC can handle 1e8 (100M) characters without issues.

-
partials?: string | string[]

A directory or an array of directories from where to resolve included templates. If it's an array, the files are looked up in the order they occur in the array. Defaults to root

+
partials?: string | string[]

A directory or an array of directories from where to resolve included templates. If it's an array, the files are looked up in the order they occur in the array. Defaults to root

preserveTimezones?: boolean

Whether input strings to date filter preserve the given timezone *

relativeReference?: boolean

Allow refer to layouts/partials by relative pathname. To avoid arbitrary filesystem read, paths been referenced also need to be within corresponding root, partials, layouts. Defaults to true.

renderLimit?: number

For DoS handling, limit total time (in ms) for each render() call.

-
root?: string | string[]

A directory or an array of directories from where to resolve layout and include templates, and the filename passed to .renderFile(). If it's an array, the files are looked up in the order they occur in the array. Defaults to ["."]

+
root?: string | string[]

A directory or an array of directories from where to resolve layout and include templates, and the filename passed to .renderFile(). If it's an array, the files are looked up in the order they occur in the array. Defaults to ["."]

strictFilters?: boolean

Whether or not to assert filter existence. If set to false, undefined filters will be skipped. Otherwise, undefined filters will cause an exception. Defaults to false.

strictVariables?: boolean

Whether or not to assert variable existence. If set to false, undefined variables will be rendered as empty string. Otherwise, undefined variables will cause an exception. Defaults to false.

tagDelimiterLeft?: string

The left delimiter for liquid tags. *

@@ -77,4 +79,4 @@ This only applies to property/index access on scope objects. Filter transforms a
trimOutputRight?: boolean

Strip blank characters (including , \t, and \r) from the right of values ({{ }}) until \n (inclusive). Defaults to false.

trimTagLeft?: boolean

Similar to trimTagRight, whereas the \n is exclusive. Defaults to false. See Whitespace Control for details.

trimTagRight?: boolean

Strip blank characters (including , \t, and \r) from the right of tags ({% %}) until \n (inclusive). Defaults to false.

-
+
diff --git a/api/interfaces/RenderFileOptions.html b/api/interfaces/RenderFileOptions.html index 600dfcf4d..46fce48c5 100644 --- a/api/interfaces/RenderFileOptions.html +++ b/api/interfaces/RenderFileOptions.html @@ -1,4 +1,4 @@ -RenderFileOptions | liquidjs

Interface RenderFileOptions

interface RenderFileOptions {
    globals?: object;
    lookupType?: LookupType;
    memoryLimit?: number;
    ownPropertyOnly?: boolean;
    renderLimit?: number;
    strictVariables?: boolean;
    sync?: boolean;
    templateLimit?: number;
}

Hierarchy (view full)

Properties

globals? +RenderFileOptions | liquidjs

Interface RenderFileOptions

interface RenderFileOptions {
    globals?: object;
    lookupType?: LookupType;
    memoryLimit?: number;
    ownPropertyOnly?: boolean;
    renderLimit?: number;
    strictVariables?: boolean;
    sync?: boolean;
    templateLimit?: number;
}

Hierarchy (view full)

Properties

globals?: object

Same as globals on LiquidOptions, but only for current render() call

-
lookupType?: LookupType
memoryLimit?: number

For DoS handling, limit new objects creation, including array concat/join/strftime, etc. A typical PC can handle 1e9 (1G) memory without issue..

-
ownPropertyOnly?: boolean

Same as ownPropertyOnly on LiquidOptions, but only for current render() call

-
renderLimit?: number

For DoS handling, limit total time (in ms) for each render() call.

-
strictVariables?: boolean

Same as strictVariables on LiquidOptions, but only for current render() call

-
sync?: boolean

This call is sync or async? It's used by Liquid internal methods, you'll not need this.

-
templateLimit?: number

For DoS handling, limit total renders of tag/HTML/output in one render() call. A typical PC can handle 1e5 renders of typical templates per second.

-
+
lookupType?: LookupType
memoryLimit?: number

For DoS handling, limit new objects creation, including array concat/join/strftime, etc. A typical PC can handle 1e9 (1G) memory without issue..

+
ownPropertyOnly?: boolean

Same as ownPropertyOnly on LiquidOptions, but only for current render() call

+
renderLimit?: number

For DoS handling, limit total time (in ms) for each render() call.

+
strictVariables?: boolean

Same as strictVariables on LiquidOptions, but only for current render() call

+
sync?: boolean

This call is sync or async? It's used by Liquid internal methods, you'll not need this.

+
templateLimit?: number

For DoS handling, limit total renders of tag/HTML/output in one render() call. A typical PC can handle 1e5 renders of typical templates per second.

+
diff --git a/api/interfaces/RenderOptions.html b/api/interfaces/RenderOptions.html index 1730c197c..dd6972ff7 100644 --- a/api/interfaces/RenderOptions.html +++ b/api/interfaces/RenderOptions.html @@ -1,4 +1,4 @@ -RenderOptions | liquidjs

Interface RenderOptions

interface RenderOptions {
    globals?: object;
    memoryLimit?: number;
    ownPropertyOnly?: boolean;
    renderLimit?: number;
    strictVariables?: boolean;
    sync?: boolean;
    templateLimit?: number;
}

Hierarchy (view full)

Properties

globals? +RenderOptions | liquidjs

Interface RenderOptions

interface RenderOptions {
    globals?: object;
    memoryLimit?: number;
    ownPropertyOnly?: boolean;
    renderLimit?: number;
    strictVariables?: boolean;
    sync?: boolean;
    templateLimit?: number;
}

Hierarchy (view full)

Properties

globals?: object

Same as globals on LiquidOptions, but only for current render() call

-
memoryLimit?: number

For DoS handling, limit new objects creation, including array concat/join/strftime, etc. A typical PC can handle 1e9 (1G) memory without issue..

-
ownPropertyOnly?: boolean

Same as ownPropertyOnly on LiquidOptions, but only for current render() call

-
renderLimit?: number

For DoS handling, limit total time (in ms) for each render() call.

-
strictVariables?: boolean

Same as strictVariables on LiquidOptions, but only for current render() call

-
sync?: boolean

This call is sync or async? It's used by Liquid internal methods, you'll not need this.

-
templateLimit?: number

For DoS handling, limit total renders of tag/HTML/output in one render() call. A typical PC can handle 1e5 renders of typical templates per second.

-
+
memoryLimit?: number

For DoS handling, limit new objects creation, including array concat/join/strftime, etc. A typical PC can handle 1e9 (1G) memory without issue..

+
ownPropertyOnly?: boolean

Same as ownPropertyOnly on LiquidOptions, but only for current render() call

+
renderLimit?: number

For DoS handling, limit total time (in ms) for each render() call.

+
strictVariables?: boolean

Same as strictVariables on LiquidOptions, but only for current render() call

+
sync?: boolean

This call is sync or async? It's used by Liquid internal methods, you'll not need this.

+
templateLimit?: number

For DoS handling, limit total renders of tag/HTML/output in one render() call. A typical PC can handle 1e5 renders of typical templates per second.

+
diff --git a/api/interfaces/StaticAnalysis.html b/api/interfaces/StaticAnalysis.html index bc263fd54..5484f0121 100644 --- a/api/interfaces/StaticAnalysis.html +++ b/api/interfaces/StaticAnalysis.html @@ -1,5 +1,5 @@ StaticAnalysis | liquidjs

Interface StaticAnalysis

The result of calling analyze() or analyzeSync().

-
interface StaticAnalysis {
    globals: Variables;
    locals: Variables;
    variables: Variables;
}

Properties

interface StaticAnalysis {
    globals: Variables;
    locals: Variables;
    variables: Variables;
}

Properties

globals: Variables

Variables that are not in scope. These could be a "global" variables that are @@ -8,8 +8,8 @@ from the template author.

If a variable is referenced before and after assignment, you should expect that variable to be included in globals, variables and locals, each with a different location.

-
locals: Variables

Template variables that are added to the template local scope using tags like +

locals: Variables

Template variables that are added to the template local scope using tags like assign, capture or increment.

-
variables: Variables

All variables, whether they are in scope or not. Including references to names +

variables: Variables

All variables, whether they are in scope or not. Including references to names such as forloop from the for tag.

-
+
diff --git a/api/interfaces/StaticAnalysisOptions.html b/api/interfaces/StaticAnalysisOptions.html index a0d3a0f89..5284ebb77 100644 --- a/api/interfaces/StaticAnalysisOptions.html +++ b/api/interfaces/StaticAnalysisOptions.html @@ -1,3 +1,3 @@ -StaticAnalysisOptions | liquidjs

Interface StaticAnalysisOptions

interface StaticAnalysisOptions {
    partials?: boolean;
}

Properties

partials? +StaticAnalysisOptions | liquidjs

Interface StaticAnalysisOptions

interface StaticAnalysisOptions {
    partials?: boolean;
}

Properties

Properties

partials?: boolean

When true (the default), try to load partial templates and analyze them too.

-
+
diff --git a/api/interfaces/VariableLocation.html b/api/interfaces/VariableLocation.html index 3bc14c6db..5afce6dec 100644 --- a/api/interfaces/VariableLocation.html +++ b/api/interfaces/VariableLocation.html @@ -1,5 +1,5 @@ VariableLocation | liquidjs

Interface VariableLocation

Row, column and file name where a variable was found.

-
interface VariableLocation {
    col: number;
    file?: string;
    row: number;
}

Properties

col +
interface VariableLocation {
    col: number;
    file?: string;
    row: number;
}

Properties

Properties

col: number
file?: string
row: number
+

Properties

col: number
file?: string
row: number
diff --git a/api/interfaces/_internal_.NormalizedFullOptions.html b/api/interfaces/_internal_.NormalizedFullOptions.html index 778ea770c..55e08e78d 100644 --- a/api/interfaces/_internal_.NormalizedFullOptions.html +++ b/api/interfaces/_internal_.NormalizedFullOptions.html @@ -1,4 +1,4 @@ -NormalizedFullOptions | liquidjs

Interface NormalizedFullOptions

interface NormalizedFullOptions {
    cache?: LiquidCache;
    catchAllErrors?: boolean;
    dateFormat: string;
    dynamicPartials: boolean;
    extname: string;
    fs: FS;
    globals: object;
    greedy: boolean;
    jekyllInclude: boolean;
    jekyllWhere?: boolean;
    jsTruthy: boolean;
    keepOutputType: boolean;
    keyValueSeparator?: string;
    layouts: string[];
    lenientIf: boolean;
    locale: string;
    memoryLimit: number;
    operators: Operators;
    orderedFilterParameters?: boolean;
    outputDelimiterLeft: string;
    outputDelimiterRight: string;
    outputEscape?: OutputEscape;
    ownPropertyOnly: boolean;
    parseLimit: number;
    partials: string[];
    preserveTimezones: boolean;
    relativeReference: boolean;
    renderLimit: number;
    root: string[];
    strictFilters: boolean;
    strictVariables: boolean;
    tagDelimiterLeft: string;
    tagDelimiterRight: string;
    templates?: {
        [key: string]: string;
    };
    timezoneOffset?: string | number;
    trimOutputLeft: boolean;
    trimOutputRight: boolean;
    trimTagLeft: boolean;
    trimTagRight: boolean;
}

Hierarchy (view full)

Properties

cache? +NormalizedFullOptions | liquidjs

Interface NormalizedFullOptions

interface NormalizedFullOptions {
    cache?: LiquidCache;
    catchAllErrors?: boolean;
    dateFormat: string;
    dynamicPartials: boolean;
    extname: string;
    fs: FS;
    globals: object;
    greedy: boolean;
    groupedExpressions: boolean;
    jekyllInclude: boolean;
    jekyllWhere?: boolean;
    jsTruthy: boolean;
    keepOutputType: boolean;
    keyValueSeparator?: string;
    layouts: string[];
    lenientIf: boolean;
    locale: string;
    memoryLimit: number;
    operators: Operators;
    orderedFilterParameters?: boolean;
    outputDelimiterLeft: string;
    outputDelimiterRight: string;
    outputEscape?: OutputEscape;
    ownPropertyOnly: boolean;
    parseLimit: number;
    partials: string[];
    preserveTimezones: boolean;
    relativeReference: boolean;
    renderLimit: number;
    root: string[];
    strictFilters: boolean;
    strictVariables: boolean;
    tagDelimiterLeft: string;
    tagDelimiterRight: string;
    templates?: {
        [key: string]: string;
    };
    timezoneOffset?: string | number;
    trimOutputLeft: boolean;
    trimOutputRight: boolean;
    trimTagLeft: boolean;
    trimTagRight: boolean;
}

Hierarchy (view full)

Properties

cache?: LiquidCache

Whether or not to cache resolved templates. Defaults to false.

-
catchAllErrors?: boolean

Catch all errors instead of exit upon one. Please note that render errors won't be reached when parse fails.

+
catchAllErrors?: boolean

Catch all errors instead of exit upon one. Please note that render errors won't be reached when parse fails.

dateFormat: string

Default date format to use if the date filter doesn't include a format. Defaults to %A, %B %-e, %Y at %-l:%M %P %z.

-
dynamicPartials: boolean

If set, treat the filepath parameter in {%include filepath %} and {%layout filepath%} as a variable, otherwise as a literal value. Defaults to true.

-
extname: string

Add a extname (if filepath doesn't include one) before template file lookup. Eg: setting to ".html" will allow including file by basename. Defaults to "".

-
fs: FS

fs is used to override the default file-system module with a custom implementation.

-
globals: object

the global scope passed down to all partial and layout templates, i.e. templates included by include, layout and render tags.

-
greedy: boolean

Whether trim*Left/trim*Right is greedy. When set to true, all consecutive blank characters including \n will be trimmed regardless of line breaks. Defaults to true.

-
jekyllInclude: boolean

Use jekyll style include, pass parameters to include variable of current scope. Defaults to false.

-
jekyllWhere?: boolean

Use jekyll style where filter, enables array item match. Defaults to false.

+
dynamicPartials: boolean

If set, treat the filepath parameter in {%include filepath %} and {%layout filepath%} as a variable, otherwise as a literal value. Defaults to true.

+
extname: string

Add a extname (if filepath doesn't include one) before template file lookup. Eg: setting to ".html" will allow including file by basename. Defaults to "".

+
fs: FS

fs is used to override the default file-system module with a custom implementation.

+
globals: object

the global scope passed down to all partial and layout templates, i.e. templates included by include, layout and render tags.

+
greedy: boolean

Whether trim*Left/trim*Right is greedy. When set to true, all consecutive blank characters including \n will be trimmed regardless of line breaks. Defaults to true.

+
groupedExpressions: boolean

Allow parenthesized expressions as operands in conditions and loops, e.g. {% if (foo | upcase) == "BAR" %}. This is a non-standard extension to Liquid. Defaults to false.

+
jekyllInclude: boolean

Use jekyll style include, pass parameters to include variable of current scope. Defaults to false.

+
jekyllWhere?: boolean

Use jekyll style where filter, enables array item match. Defaults to false.

jsTruthy: boolean

Use JavaScript Truthiness. Defaults to false.

-
keepOutputType: boolean

Whether or not to keep value type when writing the Output, not working for streamed rendering. Defaults to false.

-
keyValueSeparator?: string

keyValue separator

+
keepOutputType: boolean

Whether or not to keep value type when writing the Output, not working for streamed rendering. Defaults to false.

+
keyValueSeparator?: string

keyValue separator

layouts: string[]

A directory or an array of directories from where to resolve layout templates. If it's an array, the files are looked up in the order they occur in the array. Defaults to root

-
lenientIf: boolean

Modifies the behavior of strictVariables. If set, a single undefined variable will not cause an exception in the context of the if/elsif/unless tag and the default filter. Instead, it will evaluate to false and null, respectively. Irrelevant if strictVariables is not set. Defaults to false. *

-
locale: string

Default locale, will be used by date filter. Defaults to system locale.

-
memoryLimit: number

For DoS handling, limit new objects creation, including array concat/join/strftime, etc. A typical PC can handle 1e9 (1G) memory without issue.

-
operators: Operators

An object of operators for conditional statements. Defaults to the regular Liquid operators.

-
orderedFilterParameters?: boolean

Respect parameter order when using filters like "for ... reversed limit", Defaults to false.

+
lenientIf: boolean

Modifies the behavior of strictVariables. If set, a single undefined variable will not cause an exception in the context of the if/elsif/unless tag and the default filter. Instead, it will evaluate to false and null, respectively. Irrelevant if strictVariables is not set. Defaults to false. *

+
locale: string

Default locale, will be used by date filter. Defaults to system locale.

+
memoryLimit: number

For DoS handling, limit new objects creation, including array concat/join/strftime, etc. A typical PC can handle 1e9 (1G) memory without issue.

+
operators: Operators

An object of operators for conditional statements. Defaults to the regular Liquid operators.

+
orderedFilterParameters?: boolean

Respect parameter order when using filters like "for ... reversed limit", Defaults to false.

outputDelimiterLeft: string

The left delimiter for liquid outputs. *

-
outputDelimiterRight: string

The right delimiter for liquid outputs. *

-
outputEscape?: OutputEscape

Default escape filter applied to output values, when set, you'll have to add | raw for values don't need to be escaped. Defaults to undefined.

-
ownPropertyOnly: boolean

Hide scope variables from prototypes, useful when you're passing a not sanitized object into LiquidJS or need to hide prototypes from templates. +

outputDelimiterRight: string

The right delimiter for liquid outputs. *

+
outputEscape?: OutputEscape

Default escape filter applied to output values, when set, you'll have to add | raw for values don't need to be escaped. Defaults to undefined.

+
ownPropertyOnly: boolean

Hide scope variables from prototypes, useful when you're passing a not sanitized object into LiquidJS or need to hide prototypes from templates. This only applies to property/index access on scope objects. Filter transforms and iteration operate on the resolved value with standard JavaScript semantics, so prototype-inherited array indices may still be surfaced by them.

-
parseLimit: number

For DoS handling, limit total length of templates parsed in one parse() call. A typical PC can handle 1e8 (100M) characters without issues.

-
partials: string[]

A directory or an array of directories from where to resolve included templates. If it's an array, the files are looked up in the order they occur in the array. Defaults to root

-
preserveTimezones: boolean

Whether input strings to date filter preserve the given timezone *

-
relativeReference: boolean

Allow refer to layouts/partials by relative pathname. To avoid arbitrary filesystem read, paths been referenced also need to be within corresponding root, partials, layouts. Defaults to true.

-
renderLimit: number

For DoS handling, limit total time (in ms) for each render() call.

-
root: string[]

A directory or an array of directories from where to resolve layout and include templates, and the filename passed to .renderFile(). If it's an array, the files are looked up in the order they occur in the array. Defaults to ["."]

-
strictFilters: boolean

Whether or not to assert filter existence. If set to false, undefined filters will be skipped. Otherwise, undefined filters will cause an exception. Defaults to false.

-
strictVariables: boolean

Whether or not to assert variable existence. If set to false, undefined variables will be rendered as empty string. Otherwise, undefined variables will cause an exception. Defaults to false.

-
tagDelimiterLeft: string

The left delimiter for liquid tags. *

-
tagDelimiterRight: string

The right delimiter for liquid tags. *

-
templates?: {
    [key: string]: string;
}

Render from an in-memory templates mapping instead of the file system. When templates is set, Liquid uses the provided mapping for template lookup (including includes, layouts, and partials), and file-system options such as fs, root, partials, layouts, and relativeReference are effectively bypassed for those lookups.

+
parseLimit: number

For DoS handling, limit total length of templates parsed in one parse() call. A typical PC can handle 1e8 (100M) characters without issues.

+
partials: string[]

A directory or an array of directories from where to resolve included templates. If it's an array, the files are looked up in the order they occur in the array. Defaults to root

+
preserveTimezones: boolean

Whether input strings to date filter preserve the given timezone *

+
relativeReference: boolean

Allow refer to layouts/partials by relative pathname. To avoid arbitrary filesystem read, paths been referenced also need to be within corresponding root, partials, layouts. Defaults to true.

+
renderLimit: number

For DoS handling, limit total time (in ms) for each render() call.

+
root: string[]

A directory or an array of directories from where to resolve layout and include templates, and the filename passed to .renderFile(). If it's an array, the files are looked up in the order they occur in the array. Defaults to ["."]

+
strictFilters: boolean

Whether or not to assert filter existence. If set to false, undefined filters will be skipped. Otherwise, undefined filters will cause an exception. Defaults to false.

+
strictVariables: boolean

Whether or not to assert variable existence. If set to false, undefined variables will be rendered as empty string. Otherwise, undefined variables will cause an exception. Defaults to false.

+
tagDelimiterLeft: string

The left delimiter for liquid tags. *

+
tagDelimiterRight: string

The right delimiter for liquid tags. *

+
templates?: {
    [key: string]: string;
}

Render from an in-memory templates mapping instead of the file system. When templates is set, Liquid uses the provided mapping for template lookup (including includes, layouts, and partials), and file-system options such as fs, root, partials, layouts, and relativeReference are effectively bypassed for those lookups.

timezoneOffset?: string | number

JavaScript timezone name or timezoneOffset for date filter, default to local time. That means if you're in Australia (UTC+10), it'll default to -600 or Australia/Lindeman

trimOutputLeft: boolean

Similar to trimOutputRight, whereas the \n is exclusive. Defaults to false. See Whitespace Control for details.

-
trimOutputRight: boolean

Strip blank characters (including , \t, and \r) from the right of values ({{ }}) until \n (inclusive). Defaults to false.

-
trimTagLeft: boolean

Similar to trimTagRight, whereas the \n is exclusive. Defaults to false. See Whitespace Control for details.

-
trimTagRight: boolean

Strip blank characters (including , \t, and \r) from the right of tags ({% %}) until \n (inclusive). Defaults to false.

-
+
trimOutputRight: boolean

Strip blank characters (including , \t, and \r) from the right of values ({{ }}) until \n (inclusive). Defaults to false.

+
trimTagLeft: boolean

Similar to trimTagRight, whereas the \n is exclusive. Defaults to false. See Whitespace Control for details.

+
trimTagRight: boolean

Strip blank characters (including , \t, and \r) from the right of tags ({% %}) until \n (inclusive). Defaults to false.

+
diff --git a/api/interfaces/_internal_.NormalizedOptions.html b/api/interfaces/_internal_.NormalizedOptions.html index c12d4bf2f..1008b2a6f 100644 --- a/api/interfaces/_internal_.NormalizedOptions.html +++ b/api/interfaces/_internal_.NormalizedOptions.html @@ -1,4 +1,4 @@ -NormalizedOptions | liquidjs

Interface NormalizedOptions

interface NormalizedOptions {
    cache?: LiquidCache;
    catchAllErrors?: boolean;
    dateFormat?: string;
    dynamicPartials?: boolean;
    extname?: string;
    fs?: FS;
    globals?: object;
    greedy?: boolean;
    jekyllInclude?: boolean;
    jekyllWhere?: boolean;
    jsTruthy?: boolean;
    keepOutputType?: boolean;
    keyValueSeparator?: string;
    layouts?: string[];
    lenientIf?: boolean;
    locale?: string;
    memoryLimit?: number;
    operators?: Operators;
    orderedFilterParameters?: boolean;
    outputDelimiterLeft?: string;
    outputDelimiterRight?: string;
    outputEscape?: OutputEscape;
    ownPropertyOnly?: boolean;
    parseLimit?: number;
    partials?: string[];
    preserveTimezones?: boolean;
    relativeReference?: boolean;
    renderLimit?: number;
    root?: string[];
    strictFilters?: boolean;
    strictVariables?: boolean;
    tagDelimiterLeft?: string;
    tagDelimiterRight?: string;
    templates?: {
        [key: string]: string;
    };
    timezoneOffset?: string | number;
    trimOutputLeft?: boolean;
    trimOutputRight?: boolean;
    trimTagLeft?: boolean;
    trimTagRight?: boolean;
}

Hierarchy (view full)

Properties

cache? +NormalizedOptions | liquidjs

Interface NormalizedOptions

interface NormalizedOptions {
    cache?: LiquidCache;
    catchAllErrors?: boolean;
    dateFormat?: string;
    dynamicPartials?: boolean;
    extname?: string;
    fs?: FS;
    globals?: object;
    greedy?: boolean;
    groupedExpressions?: boolean;
    jekyllInclude?: boolean;
    jekyllWhere?: boolean;
    jsTruthy?: boolean;
    keepOutputType?: boolean;
    keyValueSeparator?: string;
    layouts?: string[];
    lenientIf?: boolean;
    locale?: string;
    memoryLimit?: number;
    operators?: Operators;
    orderedFilterParameters?: boolean;
    outputDelimiterLeft?: string;
    outputDelimiterRight?: string;
    outputEscape?: OutputEscape;
    ownPropertyOnly?: boolean;
    parseLimit?: number;
    partials?: string[];
    preserveTimezones?: boolean;
    relativeReference?: boolean;
    renderLimit?: number;
    root?: string[];
    strictFilters?: boolean;
    strictVariables?: boolean;
    tagDelimiterLeft?: string;
    tagDelimiterRight?: string;
    templates?: {
        [key: string]: string;
    };
    timezoneOffset?: string | number;
    trimOutputLeft?: boolean;
    trimOutputRight?: boolean;
    trimTagLeft?: boolean;
    trimTagRight?: boolean;
}

Hierarchy (view full)

Properties

cache?: LiquidCache

Whether or not to cache resolved templates. Defaults to false.

-
catchAllErrors?: boolean

Catch all errors instead of exit upon one. Please note that render errors won't be reached when parse fails.

+
catchAllErrors?: boolean

Catch all errors instead of exit upon one. Please note that render errors won't be reached when parse fails.

dateFormat?: string

Default date format to use if the date filter doesn't include a format. Defaults to %A, %B %-e, %Y at %-l:%M %P %z.

dynamicPartials?: boolean

If set, treat the filepath parameter in {%include filepath %} and {%layout filepath%} as a variable, otherwise as a literal value. Defaults to true.

extname?: string

Add a extname (if filepath doesn't include one) before template file lookup. Eg: setting to ".html" will allow including file by basename. Defaults to "".

fs?: FS

fs is used to override the default file-system module with a custom implementation.

globals?: object

the global scope passed down to all partial and layout templates, i.e. templates included by include, layout and render tags.

greedy?: boolean

Whether trim*Left/trim*Right is greedy. When set to true, all consecutive blank characters including \n will be trimmed regardless of line breaks. Defaults to true.

-
jekyllInclude?: boolean

Use jekyll style include, pass parameters to include variable of current scope. Defaults to false.

+
groupedExpressions?: boolean

Allow parenthesized expressions as operands in conditions and loops, e.g. {% if (foo | upcase) == "BAR" %}. This is a non-standard extension to Liquid. Defaults to false.

+
jekyllInclude?: boolean

Use jekyll style include, pass parameters to include variable of current scope. Defaults to false.

jekyllWhere?: boolean

Use jekyll style where filter, enables array item match. Defaults to false.

jsTruthy?: boolean

Use JavaScript Truthiness. Defaults to false.

keepOutputType?: boolean

Whether or not to keep value type when writing the Output, not working for streamed rendering. Defaults to false.

keyValueSeparator?: string

keyValue separator

layouts?: string[]

A directory or an array of directories from where to resolve layout templates. If it's an array, the files are looked up in the order they occur in the array. Defaults to root

-
lenientIf?: boolean

Modifies the behavior of strictVariables. If set, a single undefined variable will not cause an exception in the context of the if/elsif/unless tag and the default filter. Instead, it will evaluate to false and null, respectively. Irrelevant if strictVariables is not set. Defaults to false. *

+
lenientIf?: boolean

Modifies the behavior of strictVariables. If set, a single undefined variable will not cause an exception in the context of the if/elsif/unless tag and the default filter. Instead, it will evaluate to false and null, respectively. Irrelevant if strictVariables is not set. Defaults to false. *

locale?: string

Default locale, will be used by date filter. Defaults to system locale.

memoryLimit?: number

For DoS handling, limit new objects creation, including array concat/join/strftime, etc. A typical PC can handle 1e9 (1G) memory without issue.

-
operators?: Operators

An object of operators for conditional statements. Defaults to the regular Liquid operators.

+
operators?: Operators

An object of operators for conditional statements. Defaults to the regular Liquid operators.

orderedFilterParameters?: boolean

Respect parameter order when using filters like "for ... reversed limit", Defaults to false.

outputDelimiterLeft?: string

The left delimiter for liquid outputs. *

outputDelimiterRight?: string

The right delimiter for liquid outputs. *

outputEscape?: OutputEscape

Default escape filter applied to output values, when set, you'll have to add | raw for values don't need to be escaped. Defaults to undefined.

-
ownPropertyOnly?: boolean

Hide scope variables from prototypes, useful when you're passing a not sanitized object into LiquidJS or need to hide prototypes from templates. +

ownPropertyOnly?: boolean

Hide scope variables from prototypes, useful when you're passing a not sanitized object into LiquidJS or need to hide prototypes from templates. This only applies to property/index access on scope objects. Filter transforms and iteration operate on the resolved value with standard JavaScript semantics, so prototype-inherited array indices may still be surfaced by them.

parseLimit?: number

For DoS handling, limit total length of templates parsed in one parse() call. A typical PC can handle 1e8 (100M) characters without issues.

-
partials?: string[]

A directory or an array of directories from where to resolve included templates. If it's an array, the files are looked up in the order they occur in the array. Defaults to root

-
preserveTimezones?: boolean

Whether input strings to date filter preserve the given timezone *

+
partials?: string[]

A directory or an array of directories from where to resolve included templates. If it's an array, the files are looked up in the order they occur in the array. Defaults to root

+
preserveTimezones?: boolean

Whether input strings to date filter preserve the given timezone *

relativeReference?: boolean

Allow refer to layouts/partials by relative pathname. To avoid arbitrary filesystem read, paths been referenced also need to be within corresponding root, partials, layouts. Defaults to true.

renderLimit?: number

For DoS handling, limit total time (in ms) for each render() call.

-
root?: string[]

A directory or an array of directories from where to resolve layout and include templates, and the filename passed to .renderFile(). If it's an array, the files are looked up in the order they occur in the array. Defaults to ["."]

-
strictFilters?: boolean

Whether or not to assert filter existence. If set to false, undefined filters will be skipped. Otherwise, undefined filters will cause an exception. Defaults to false.

+
root?: string[]

A directory or an array of directories from where to resolve layout and include templates, and the filename passed to .renderFile(). If it's an array, the files are looked up in the order they occur in the array. Defaults to ["."]

+
strictFilters?: boolean

Whether or not to assert filter existence. If set to false, undefined filters will be skipped. Otherwise, undefined filters will cause an exception. Defaults to false.

strictVariables?: boolean

Whether or not to assert variable existence. If set to false, undefined variables will be rendered as empty string. Otherwise, undefined variables will cause an exception. Defaults to false.

tagDelimiterLeft?: string

The left delimiter for liquid tags. *

tagDelimiterRight?: string

The right delimiter for liquid tags. *

@@ -77,4 +79,4 @@ This only applies to property/index access on scope objects. Filter transforms a
trimOutputRight?: boolean

Strip blank characters (including , \t, and \r) from the right of values ({{ }}) until \n (inclusive). Defaults to false.

trimTagLeft?: boolean

Similar to trimTagRight, whereas the \n is exclusive. Defaults to false. See Whitespace Control for details.

trimTagRight?: boolean

Strip blank characters (including , \t, and \r) from the right of tags ({% %}) until \n (inclusive). Defaults to false.

-
+
diff --git a/api/modules.html b/api/modules.html index 1f1174e7b..86e4958d2 100644 --- a/api/modules.html +++ b/api/modules.html @@ -17,6 +17,7 @@ EchoTag Expression Filter +FilteredValueToken ForTag Hash IfTag diff --git a/api/modules/TypeGuards.html b/api/modules/TypeGuards.html index de6356e46..9333f9592 100644 --- a/api/modules/TypeGuards.html +++ b/api/modules/TypeGuards.html @@ -1,4 +1,5 @@ TypeGuards | liquidjs

Namespace TypeGuards

Index

Functions

isDelimitedToken +isFilteredValueToken isHTMLToken isLiteralToken isNumberToken diff --git a/api/modules/_internal_.html b/api/modules/_internal_.html index fe6a868cb..09cdc9b89 100644 --- a/api/modules/_internal_.html +++ b/api/modules/_internal_.html @@ -3,7 +3,6 @@ DelimitedToken EmptyDrop FilterToken -FilteredValueToken HTML HTMLToken HashToken diff --git a/api/types/ValueToken.html b/api/types/ValueToken.html index dc9d10046..c6c41d89b 100644 --- a/api/types/ValueToken.html +++ b/api/types/ValueToken.html @@ -1 +1 @@ -ValueToken | liquidjs

Type Alias ValueToken

ValueToken:
    | RangeToken
    | LiteralToken
    | QuotedToken
    | PropertyAccessToken
    | NumberToken
+ValueToken | liquidjs

Type Alias ValueToken

ValueToken:
    | RangeToken
    | LiteralToken
    | QuotedToken
    | PropertyAccessToken
    | NumberToken
    | FilteredValueToken
diff --git a/api/types/VariableSegments.html b/api/types/VariableSegments.html index fa81cb8a3..f130de226 100644 --- a/api/types/VariableSegments.html +++ b/api/types/VariableSegments.html @@ -1,2 +1,2 @@ VariableSegments | liquidjs

Type Alias VariableSegments

VariableSegments: (string | number | Variable)[]

Property names and array indexes that make up a path to a variable.

-
+
diff --git a/api/types/Variables.html b/api/types/Variables.html index 17b121071..fdfeb3b9b 100644 --- a/api/types/Variables.html +++ b/api/types/Variables.html @@ -1,2 +1,2 @@ Variables | liquidjs

Type Alias Variables

Variables: {
    [key: string]: Variable[];
}

A mapping of variable names to an array of locations at which the variable was found.

-
+
diff --git a/api/types/_internal_.SegmentArray.html b/api/types/_internal_.SegmentArray.html index 1c9ac6acb..e3c180660 100644 --- a/api/types/_internal_.SegmentArray.html +++ b/api/types/_internal_.SegmentArray.html @@ -1,2 +1,2 @@ SegmentArray | liquidjs

Type Alias SegmentArray

SegmentArray: (string | number | SegmentArray)[]

A variable's segments as an array, possibly with nested arrays of segments.

-
+
diff --git a/api/variables/defaultOptions.html b/api/variables/defaultOptions.html index f3f0345f8..bbad45f56 100644 --- a/api/variables/defaultOptions.html +++ b/api/variables/defaultOptions.html @@ -1 +1 @@ -defaultOptions | liquidjs

Variable defaultOptionsConst

defaultOptions: NormalizedFullOptions = ...
+defaultOptions | liquidjs

Variable defaultOptionsConst

defaultOptions: NormalizedFullOptions = ...
diff --git a/filters/abs.html b/filters/abs.html index 12387c797..137e45064 100644 --- a/filters/abs.html +++ b/filters/abs.html @@ -121,7 +121,7 @@ diff --git a/filters/append.html b/filters/append.html index 3a9f3dccc..f3218cf9d 100644 --- a/filters/append.html +++ b/filters/append.html @@ -117,7 +117,7 @@ website.com/index.html