Skip to content

Commit 9ba78c9

Browse files
committed
Merge branch 'perf/tokenizer'
2 parents 8c6ad14 + 934ed6c commit 9ba78c9

3 files changed

Lines changed: 28 additions & 3 deletions

File tree

libs/FuManchu/Renderer/RenderContext.cs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ namespace FuManchu.Renderer;
1818
public class RenderContext
1919
{
2020
readonly Map _variables = new Map();
21-
Map _parameters = new Map();
21+
readonly Map _parameters = new Map();
2222

2323
/// <summary>
2424
/// Initializes a new instance of the <see cref="RenderContext"/> class.
@@ -122,6 +122,12 @@ public RenderContextScope BeginScope(object? model)
122122
return @default;
123123
}
124124

125+
/// <summary>
126+
/// Gets the parameters of the context.
127+
/// </summary>
128+
/// <returns>The parameters.</returns>
129+
public Map GetParameters() => _parameters;
130+
125131
/// <summary>
126132
/// Resolves the value represented by the given span.
127133
/// </summary>
@@ -325,7 +331,7 @@ public void SetVariable(string name, object value)
325331
/// </summary>
326332
/// <param name="name">The name of the variable.</param>
327333
/// <param name="value">The variable value.</param>
328-
public void SetParameter(string name, object value)
334+
public void SetParameter(string name, object? value)
329335
{
330336
_parameters[name] = value;
331337
}
@@ -336,6 +342,12 @@ public void SetParameter(string name, object value)
336342
/// <param name="parameters">The parameter map.</param>
337343
public void SetParameters(Map parameters)
338344
{
339-
_parameters = parameters ?? new();
345+
if (parameters is { Count: > 0 })
346+
{
347+
foreach (var parameter in parameters)
348+
{
349+
SetParameter(parameter.Key, parameter.Value);
350+
}
351+
}
340352
}
341353
}

libs/FuManchu/Renderer/RenderContextFactory.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,12 @@ public static RenderContext CreateRenderContext(RenderContext parent, object? mo
7171
UnknownValueResolver = parent.UnknownValueResolver
7272
};
7373

74+
var parameters = parent.GetParameters();
75+
if (parameters is { Count: >0 })
76+
{
77+
context.SetParameters(parameters);
78+
}
79+
7480
// Set the root context
7581
context.RootRenderContext = parent.RootRenderContext ?? parent;
7682

tests/FuManchu.Tests/Verification/ComplexDocumentFacts.CanVerifyComplexDocument.verified.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,13 @@
269269
<strong>Billing Address</strong>
270270
<div>
271271

272+
Matthew Abbott,<br />
273+
1 Somestreet Lane,<br />
274+
275+
Somewhere,<br />
276+
Co. Somewhere,<br />
277+
AA11 1AA,<br />United Kingdom
278+
272279
</div>
273280
</div>
274281

0 commit comments

Comments
 (0)