[csv2lambda]
csv2lambda is a core slot, one of the keywords of the Hyperlambda language, in Hyperlambda, the language of Magic Cloud. Transforms CSV into a lambda hierarchy.
- Value (
csv), required: CSV text to transform - Returns: Resolves to the parsed lambda hierarchy as child nodes; each child is one CSV row containing column-named values
Arguments
Required arguments come first, then the optional ones in the order they are declared.
| Argument | Type | Required | Description |
|---|---|---|---|
[types] |
lambda | no | Column type conversions keyed by column name. |
[types] / any node name |
string | yes | Type name for the column. Can be repeated. |
[null-value] |
string | no | String used to represent null values. Default: [NULL]. |
Returned nodes
| Node | Type | Required | Description |
|---|---|---|---|
| unnamed child node | lambda | no | One CSV record returned as a child node; column values appear as named children keyed by the header column name. Can be repeated. |
| unnamed child node / any node name | string | no | CSV column value; child name is the header column name. Can be repeated. |
Guide: How to use [csv2lambda]
JSON declaration
This is the complete declaration of csv2lambda, as the running system describes it. It is also published as slot.json.
JSON declaration
{
"name": "csv2lambda",
"description": "Transforms CSV into a lambda hierarchy",
"signature": {
"input": {
"kind": "csv",
"description": "CSV text to transform",
"required": true,
"mode": "ValueOrExpression"
},
"children": {
"types": {
"type": "lambda",
"kind": "csv-column-types",
"description": "Column type conversions keyed by column name",
"required": false,
"mode": "ValueOrExpression",
"cardinality": "ZeroOrOne",
"role": "DynamicMap",
"projection": "StructuredTree",
"children": {
"*": {
"type": "string",
"kind": "csv-column-type",
"description": "Type name for the column",
"required": true,
"mode": "ValueOrExpression",
"cardinality": "OneOrMore",
"role": "DynamicMap",
"projection": "Value"
}
}
},
"null-value": {
"type": "string",
"kind": "null-value",
"description": "String used to represent null values",
"required": false,
"mode": "ValueOrExpression",
"cardinality": "ZeroOrOne",
"default": "[NULL]",
"role": "Option",
"projection": "Value"
}
},
"output": {
"mode": "Lambda",
"kind": "node-list",
"element-kind": "csv-row,lambda-tree",
"description": "Resolves to the parsed lambda hierarchy as child nodes; each child is one CSV row containing column-named values",
"children": [
{
"type": "lambda",
"kind": "row",
"description": "One CSV record returned as a child node; column values appear as named children keyed by the header column name",
"required": false,
"mode": "Value",
"cardinality": "ZeroOrMore",
"role": "StructuredObject",
"projection": "StructuredTree",
"children": {
"*": {
"type": "string",
"kind": "column-value",
"description": "CSV column value; child name is the header column name",
"required": false,
"mode": "Value",
"cardinality": "ZeroOrMore",
"role": "Option",
"projection": "Value"
}
}
}
]
}
}
}
← convert |
all core slots | default → |