[{"data":1,"prerenderedAt":442},["ShallowReactive",2],{"navigation_docs_en":3,"-en-nodes-builtin-mapper":93,"-en-nodes-builtin-mapper-surround":437},[4,16,40,72],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":15},"Getting Started","i-lucide-play","\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[10],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fen\u002Fgetting-started\u002Fintroduction","en\u002F1.getting-started\u002F1.introduction","i-lucide-house",false,{"title":17,"icon":18,"path":19,"stem":20,"children":21,"page":15},"Nodes","i-lucide-workflow","\u002Fen\u002Fnodes","en\u002F2.nodes",[22,27],{"title":23,"path":24,"stem":25,"icon":26},"Overview","\u002Fen\u002Fnodes\u002Foverview","en\u002F2.nodes\u002F1.overview","i-lucide-grid-3x3",{"title":28,"path":29,"stem":30,"children":31,"page":15},"Built-In","\u002Fen\u002Fnodes\u002Fbuiltin","en\u002F2.nodes\u002F2.builtin",[32,36],{"title":33,"path":34,"stem":35},"Mapper","\u002Fen\u002Fnodes\u002Fbuiltin\u002Fmapper","en\u002F2.nodes\u002F2.builtin\u002F1.mapper",{"title":37,"path":38,"stem":39},"Http","\u002Fen\u002Fnodes\u002Fbuiltin\u002Fhttp","en\u002F2.nodes\u002F2.builtin\u002F2.http",{"title":41,"icon":42,"path":43,"stem":44,"children":45,"page":15},"Administration","i-lucide-settings-2","\u002Fen\u002Fadministration","en\u002F3.administration",[46,50,63],{"title":47,"path":48,"stem":49},"Configuration","\u002Fen\u002Fadministration\u002Fconfiguration","en\u002F3.administration\u002F1.configuration",{"title":51,"path":52,"stem":53,"children":54,"page":15},"Deployment","\u002Fen\u002Fadministration\u002Fdeployment","en\u002F3.administration\u002F2.deployment",[55,59],{"title":56,"path":57,"stem":58},"Docker","\u002Fen\u002Fadministration\u002Fdeployment\u002Fdocker","en\u002F3.administration\u002F2.deployment\u002F1.docker",{"title":60,"path":61,"stem":62},"Helm","\u002Fen\u002Fadministration\u002Fdeployment\u002Fhelm","en\u002F3.administration\u002F2.deployment\u002F2.helm",{"title":64,"path":65,"stem":66,"children":67,"page":15},"Node Setup","\u002Fen\u002Fadministration\u002Fnode-setup","en\u002F3.administration\u002F3.node-setup",[68],{"title":69,"path":70,"stem":71},"GlobalMail","\u002Fen\u002Fadministration\u002Fnode-setup\u002Fglobalmail","en\u002F3.administration\u002F3.node-setup\u002F1.globalMail",{"title":73,"icon":74,"path":75,"stem":76,"children":77,"page":15},"Developers","i-lucide-laptop","\u002Fen\u002Fdevelopers","en\u002F4.developers",[78,83,88],{"title":79,"path":80,"stem":81,"icon":82},"Glossary","\u002Fen\u002Fdevelopers\u002Fglossary","en\u002F4.developers\u002F1.glossary","i-lucide-book-open",{"title":84,"path":85,"stem":86,"icon":87},"Hooks","\u002Fen\u002Fdevelopers\u002Fhooks","en\u002F4.developers\u002F2.hooks","i-lucide-fishing-hook",{"title":89,"path":90,"stem":91,"icon":92},"Persistence","\u002Fen\u002Fdevelopers\u002Fpersistence","en\u002F4.developers\u002F3.persistence","i-lucide-database",{"id":94,"title":33,"body":95,"description":101,"extension":432,"links":433,"meta":434,"navigation":330,"path":34,"seo":435,"stem":35,"__hash__":436},"docs_en\u002Fen\u002F2.nodes\u002F2.builtin\u002F1.mapper.md",{"type":96,"value":97,"toc":425},"minimark",[98,102,105,108,113,116,142,145,165,168,186,189,193,208,215,218,306,310,315,421],[99,100,101],"p",{},"The Mapper Node transforms data from one format to another. It is useful for converting data structures, changing data\ntypes, or applying custom transformations to the data.",[99,103,104],{},"To achieve this, Templating languages are used to define the transformation rules. The Mapper Node supports both Liquid\nand, for simpler use cases, a custom-made templating language that merely supports replacing variables with their\nvalues.",[99,106,107],{},"Since the two engines are totally different, they will be addressed separately.",[109,110,112],"h2",{"id":111},"replace","Replace",[99,114,115],{},"The Batch-inspired syntax allows replacing variable names with their values. The syntax is as follows:",[117,118,123],"pre",{"className":119,"code":120,"language":121,"meta":122,"style":122},"language-batch shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","%variable%\n","batch","",[124,125,126],"code",{"__ignoreMap":122},[127,128,131,135,139],"span",{"class":129,"line":130},"line",1,[127,132,134],{"class":133},"sMK4o","%",[127,136,138],{"class":137},"sTEyZ","variable",[127,140,141],{"class":133},"%\n",[99,143,144],{},"By using this, simple replacements can be made such as:",[117,146,148],{"className":119,"code":147,"language":121,"meta":122,"style":122},"This assignment is due on %due_date%.\n",[124,149,150],{"__ignoreMap":122},[127,151,152,155,157,160,162],{"class":129,"line":130},[127,153,154],{"class":137},"This assignment is due on ",[127,156,134],{"class":133},[127,158,159],{"class":137},"due_date",[127,161,134],{"class":133},[127,163,164],{"class":137},".\n",[99,166,167],{},"Accessing nested variables is also possible:",[117,169,171],{"className":119,"code":170,"language":121,"meta":122,"style":122},"This assignment is due on %course.assignment.due_date%.\n",[124,172,173],{"__ignoreMap":122},[127,174,175,177,179,182,184],{"class":129,"line":130},[127,176,154],{"class":137},[127,178,134],{"class":133},[127,180,181],{"class":137},"course.assignment.due_date",[127,183,134],{"class":133},[127,185,164],{"class":137},[99,187,188],{},"That's it, for all other use cases, Liquid should be used. Therefore, it is mainly useful when your data already has\nthe correct data types, the names are simply incompatible.",[109,190,192],{"id":191},"liquid","Liquid",[99,194,195,196,199,200,207],{},"The Shopify-developed engine is a powerful and flexible templating language that allows for complex data\ntransformations. It supports loops, conditionals, filters, and more.",[197,198],"br",{},"\nThe ",[201,202,206],"a",{"href":203,"rel":204},"https:\u002F\u002Fgithub.com\u002Fbkiers\u002FLiqp",[205],"nofollow","Liqp"," library provides the Liquid templating engine. Therefore, the behavior may\nnot mimic the original Ruby-based Liquid engine perfectly. For the most part, it should work as expected though.",[99,209,210,211],{},"As Liquid is a nicely documented language with a ton of features, please refer to the official documentation:\n",[201,212,213],{"href":213,"rel":214},"https:\u002F\u002Fshopify.github.io\u002Fliquid\u002Fbasics\u002Fintroduction",[205],[99,216,217],{},"Apart from the generic features, Snoty also provides some custom filters and tags:",[219,220,221,301],"ol",{},[222,223,224,227,228],"li",{},[124,225,226],{},"unidiff"," filter ",[229,230,231,234],"ul",{},[222,232,233],{},"This filter is used to convert a list of dictionaries into a unified diff format. It takes a list of dictionaries\nand returns a string representing the unified diff.",[222,235,236,237],{},"Example:\n",[117,238,241],{"className":239,"code":240,"language":191,"meta":122,"style":122},"language-liquid shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{% assign diff = diff.change.description.old | unidiff diff.change.description.new %}\n",[124,242,243],{"__ignoreMap":122},[127,244,245,248,252,255,258,261,264,267,269,272,274,277,280,283,285,287,289,291,293,295,298],{"class":129,"line":130},[127,246,247],{"class":133},"{% ",[127,249,251],{"class":250},"swJcz","assign",[127,253,254],{"class":137}," diff",[127,256,257],{"class":133}," = ",[127,259,260],{"class":137},"diff",[127,262,263],{"class":133},".",[127,265,266],{"class":137},"change",[127,268,263],{"class":133},[127,270,271],{"class":137},"description",[127,273,263],{"class":133},[127,275,276],{"class":137},"old",[127,278,279],{"class":133}," | ",[127,281,226],{"class":282},"s2Zo4",[127,284,254],{"class":137},[127,286,263],{"class":133},[127,288,266],{"class":137},[127,290,263],{"class":133},[127,292,271],{"class":137},[127,294,263],{"class":133},[127,296,297],{"class":137},"new",[127,299,300],{"class":133}," %}\n",[222,302,303,227],{},[124,304,305],{},"format",[109,307,309],{"id":308},"examples","Examples",[311,312,314],"h3",{"id":313},"list-all-changes","List all changes",[117,316,318],{"className":239,"code":317,"language":191,"meta":122,"style":122},"## WebUntis-Änderung!\n\n{% for diff in diff.change %}\n- Change: {{ diff[0] }}\n  ```json\n  {{ diff[1] | json }}\n  ```\n{% endfor %}\n",[124,319,320,325,332,354,377,383,405,411],{"__ignoreMap":122},[127,321,322],{"class":129,"line":130},[127,323,324],{"class":137},"## WebUntis-Änderung!\n",[127,326,328],{"class":129,"line":327},2,[127,329,331],{"emptyLinePlaceholder":330},true,"\n",[127,333,335,337,341,343,346,348,350,352],{"class":129,"line":334},3,[127,336,247],{"class":133},[127,338,340],{"class":339},"s7zQu","for",[127,342,254],{"class":137},[127,344,345],{"class":339}," in",[127,347,254],{"class":137},[127,349,263],{"class":133},[127,351,266],{"class":137},[127,353,300],{"class":133},[127,355,357,360,363,365,368,371,374],{"class":129,"line":356},4,[127,358,359],{"class":137},"- Change: ",[127,361,362],{"class":133},"{{",[127,364,254],{"class":137},[127,366,367],{"class":133},"[",[127,369,370],{"class":137},"0",[127,372,373],{"class":133},"]",[127,375,376],{"class":133}," }}\n",[127,378,380],{"class":129,"line":379},5,[127,381,382],{"class":137},"  ```json\n",[127,384,386,389,391,393,396,398,400,403],{"class":129,"line":385},6,[127,387,388],{"class":133},"  {{",[127,390,254],{"class":137},[127,392,367],{"class":133},[127,394,395],{"class":137},"1",[127,397,373],{"class":133},[127,399,279],{"class":137},[127,401,402],{"class":282},"json",[127,404,376],{"class":133},[127,406,408],{"class":129,"line":407},7,[127,409,410],{"class":137},"  ```\n",[127,412,414,416,419],{"class":129,"line":413},8,[127,415,247],{"class":133},[127,417,418],{"class":339},"endfor",[127,420,300],{"class":133},[422,423,424],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}",{"title":122,"searchDepth":327,"depth":327,"links":426},[427,428,429],{"id":111,"depth":327,"text":112},{"id":191,"depth":327,"text":192},{"id":308,"depth":327,"text":309,"children":430},[431],{"id":313,"depth":334,"text":314},"md",null,{},{"description":101},"HLjAvS5UfzzS6BZrZu3ySLxPyaK_K6ezzAOLxtYMBIc",[438,440],{"title":23,"path":24,"stem":25,"description":439,"icon":26,"children":-1},"A list of all Snoty Nodes",{"title":37,"path":38,"stem":39,"description":441,"children":-1},"The HTTP Node is responsible for sending HTTP requests to a specified URL. It can be used to interact with APIs, fetch\ndata from web services, or send data to a server.",1791926063137]