api
ssr.ch
Declarations in ssr.ch
47 declarationspage
Declarations
Public only
SsrText#
Publicstruct
struct SsrText {
var data : *char
var size : u64
}
MultipleAttributeValues#
Publicstruct
SsrCallable#
Publicstruct
SsrAttributeValue#
Publicvariant
variant SsrAttributeValue {
var None : SsrAttributeValue
var Boolean : SsrAttributeValue
var Char : SsrAttributeValue
var UInteger : SsrAttributeValue
var Integer : SsrAttributeValue
var Double : SsrAttributeValue
var Text : SsrAttributeValue
var PtrChar : SsrAttributeValue
var Multiple : SsrAttributeValue
var Spread : SsrAttributeValue
var Callable : SsrAttributeValue
}
SsrAttribute#
Publicstruct
SsrAttributeList#
Publicstruct
getMultipleAttributeValues#
Publicfunction
Extracts the array payload from an attribute value, returning an empty list
ssrMultipleGet#
Publicfunction
Fetches a single element from a Multiple array at runtime. Kept as a
getSsrAttributeValue#
Publicfunction
ssrAttrValueProp#
Publicfunction
ssrTextOf#
function
Text view of an attribute value for runtime string predicates
ssrTextIncludes#
Publicfunction
Runtime equivalents of the compile-time predicate operations, used when a
ssrTextStartsWith#
Publicfunction
ssrTextEndsWith#
Publicfunction
ssr_ascii_lower#
function
func ssr_ascii_lower(c : char) : char
ASCII case folding for `.toLowerCase()` predicates evaluated at SSR. Only
ssr_text_region_fold_equals#
function
func ssr_text_region_fold_equals(a : *char, b : *char, len : u64) : bool
ssrTextIncludesFold#
Publicfunction
ssrTextStartsWithFold#
Publicfunction
ssrTextEndsWithFold#
Publicfunction
isSsrAttributeValueTruthy#
Publicfunction
func isSsrAttributeValueTruthy(val : &SsrAttributeValue) : bool
ssrTextEquals#
Publicfunction
Compares an attribute value's text content against an expected literal.
appendSsrValueText#
function
Canonical text representation of an attribute value, used by ssrValuesEqual.
ssrValuesEqual#
Publicfunction
Loose equality between two attribute values (JS `==` semantics for the value
ssrPickValue#
Publicfunction
func ssrPickValue(cond : bool, ifTrue : SsrAttributeValue, ifFalse : SsrAttributeValue) : SsrAttributeValue
Picks between two attribute values based on a runtime condition.
ssrMakeTextValue#
Publicfunction
Wraps a static text into an attribute value.
ssrMakeBoolValue#
Publicfunction
func ssrMakeBoolValue(value : bool) : SsrAttributeValue
ssrMakeUIntegerValue#
Publicfunction
func ssrMakeUIntegerValue(value : u64) : SsrAttributeValue
ssrMakeIntegerValue#
Publicfunction
func ssrMakeIntegerValue(value : i64) : SsrAttributeValue
ssrMakeMultipleValue#
Publicfunction
ssrNoneValue#
Publicfunction
func ssrNoneValue() : SsrAttributeValue
appendHtmlEscaped#
function
appendJsEscaped#
function
AttrValueTarget#
enum
enum AttrValueTarget {
Html,
Js
}
writeAttrValue#
function
func writeAttrValue(page : &HtmlPage, output : &string, attrVal : &SsrAttributeValue, target : AttrValueTarget) : void
Single attribute-value writer, parameterized by output target and escaping
writePrimitiveAttrValue#
function
func writePrimitiveAttrValue(page : &HtmlPage, output : &string, attrVal : &SsrAttributeValue) : void
writeJsPrimitiveAttrValue#
function
func writeJsPrimitiveAttrValue(page : &HtmlPage, output : &string, attrVal : &SsrAttributeValue) : void
SpecialAttrs#
struct
struct SpecialAttrs {
var classes : vector<*SsrAttributeValue>
var styles : vector<*SsrAttributeValue>
var others_names : vector<SsrText>
var others_values : vector<*SsrAttributeValue>
}
Attribute accumulator: merges class/style and deduplicates the rest
make#
functionConstructor
func make() : SpecialAttrs
Attribute accumulator: merges class/style and deduplicates the rest
delete#
function
func delete(self : *SpecialAttrs) : void
Attribute accumulator: merges class/style and deduplicates the rest
make_special_attrs#
function
func make_special_attrs() : SpecialAttrs
accumulateAttrs#
function
renderHtmlAttrs#
Publicfunction
renderHtmlAttrsWithBase#
Publicfunction
func renderHtmlAttrsWithBase(page : &HtmlPage, list : &SsrAttributeList, baseClass : SsrText) : void
Like `renderHtmlAttrs`, but prepends `baseClass` to the element's class list.
renderJsAttrs#
Publicfunction
renderHtmlAttrValue#
Publicfunction
renderHtmlChildValue#
Publicfunction
renderJsAttrValue#
Publicfunction
renderCssAttrValue#
Publicfunction