Description
Format one unfolded iCalendar content line from explicit raw already-encoded parameter/value tokens; rejects CRLF injection, no automatic TEXT escaping or RFC 6868 parameter encoding.
iCalendar separates content-line framing, property values, parameters and component nesting. TEXT escaping protects separators, while line folding is based on encoded octets. DATE, floating time, UTC and named-zone representations carry different information; a token-level operation does not resolve a timezone or expand recurrence rules.1
Format one unfolded iCalendar content line from explicit raw already-encoded parameter/value tokens; rejects CRLF injection, no automatic TEXT escaping or RFC 6868 parameter encoding.
When to use this tool
Use this tool to format one unfolded iCalendar content line from explicit raw already-encoded parameter/value tokens; rejects CRLF injection, no automatic TEXT escaping or RFC 6868 parameter encoding.
How to use the tool and how it works
- Enter name, parameters, value using the field definitions below.
- Run the operation. Correct input errors before interpreting an output.
- Read result.line. Use the ordering, boundary rules and absence conditions described below.
Validate and uppercase the property name, append the supplied parameter strings separated by semicolons, then colon and the unchanged newline-free value.2
| Input field | Meaning and units | Accepted input |
|---|---|---|
| name | Property name using ASCII letters, digits and hyphens. | Text, at most 8,192 UTF-16 code units; the operation’s grammar also applies. |
| parameters | Already serialized parameter assignment strings; value escaping is not generated. | Dense list of at most 128 strings, each at most 8,192 UTF-16 code units. |
| value | Already escaped newline-free property value. | Text, at most 8,192 UTF-16 code units; the operation’s grammar also applies. |
| Output field | Interpretation |
|---|---|
| result | Object containing the named fields below. |
| result.line | Formatted, unfolded content line without a terminal CRLF. |
{
"input": {
"name": "summary",
"parameters": [
"LANGUAGE=en"
],
"value": "Hi"
},
"output": {
"result": {
"line": "SUMMARY;LANGUAGE=en:Hi"
}
}
} Limitations and assumptions
- The supported parameter check is limited; values must already have the appropriate escaping and the result is not folded.
- Content spans use zero-based UTF-16 offsets; fold limits use UTF-8 bytes including the continuation space. Token helpers handle the stated subset only, without a timezone database, recurrence engine or calendar import.
- Every declared top-level input field is required and unexpected fields are rejected. Ordinary strings are limited to 8,192 UTF-16 code units and lists to 128 entries, with tighter operation-specific bounds where stated. JSON text has bounded nesting and node counts.
- Numeric outputs must be finite and no larger in absolute magnitude than the safe-integer limit; operations returning exact large integers use decimal text. Positions are zero-based and spans end exclusively unless the operation explicitly states a different convention.
Alternative or Complementary methods
Keep content-line syntax, value escaping and timezone interpretation separate. Use a complete iCalendar implementation for recurrence expansion, timezone transitions and property-specific validation.
References
Similar or alternative tools
- iCalendar Content Line Name Parameter Split
Split an unfolded iCalendar content line at its unquoted first colon and semicolon parameter boundaries; value remains opaque, raw parameters retain quote-aware spelling, no RFC 6868 decoding or component validation.
- iCalendar Line Unfold Span Map
Unfold iCalendar CRLF followed by exactly one SP/HTAB and report removed source spans; unrelated line endings remain unchanged.