{"id":2407,"date":"2019-01-14T08:44:32","date_gmt":"2019-01-14T07:44:32","guid":{"rendered":"https:\/\/www.entropywins.wtf\/blog\/?p=2407"},"modified":"2019-04-29T04:15:45","modified_gmt":"2019-04-29T03:15:45","slug":"readable-functions-guard-clause","status":"publish","type":"post","link":"https:\/\/www.entropywins.wtf\/blog\/2019\/01\/14\/readable-functions-guard-clause\/","title":{"rendered":"Readable Functions: Guard Clause"},"content":{"rendered":"\r\n\r\n\r\n<p>Guard Clauses are one of my favorite little tricks that allow simplifying code. A guard clause is an if statement with a return in it. Consider the following code:<\/p>\r\n<pre class=\"lang:php decode:true\">function doThing() {\r\n    var $thing = 'default';\r\n    \r\n    if (someCondition()) {\r\n        $thing = 'special case';\r\n    }\r\n    \r\n    return $thing;\r\n}<\/pre>\r\n<p>Using a Guard Clause we can simplify it to:<\/p>\r\n<pre class=\"lang:php decode:true\">function doThing() {\r\n    if (someCondition()) {\r\n        return 'special case';\r\n    }\r\n    \r\n    return 'default';\r\n}<\/pre>\r\n<p>The if statement in this simplified code is a Guard Clause. You can have <a href=\"https:\/\/refactoring.com\/catalog\/replaceNestedConditionalWithGuardClauses.html\">multiple Guard Clauses in a function<\/a>.<\/p>\r\n<p>The simplification removes ALL the <a href=\"https:\/\/www.entropywins.wtf\/blog\/2018\/10\/24\/readable-functions-minimize-state\/\">state in the function<\/a>, including the nasty and completely not needed mutation in the first form of the code. You can read the new code sequentially, and the code after the Guard Clause is not polluted by extra complexity arising from the special case.<\/p>\r\n<p>This post is part of the <a href=\"https:\/\/www.entropywins.wtf\/blog\/tag\/readable-functions\/\">Readable Functions<\/a> series which contains tricks like this one and two general principles: <a href=\"https:\/\/www.entropywins.wtf\/blog\/2018\/10\/24\/readable-functions-minimize-state\/\">Minimize State<\/a> and <a href=\"https:\/\/www.entropywins.wtf\/blog\/2018\/10\/30\/readable-functions-do-one-thing\/\">Do One Thing<\/a>.<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Guard Clauses are one of my favorite little tricks that allow simplifying code. A guard clause is an if statement&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[7],"tags":[328,363,439,455,400,461,197,460,316],"class_list":["post-2407","post","type-post","status-publish","format-standard","hentry","category-programming","tag-clean-code","tag-code-quality","tag-complexity","tag-design-principles","tag-functions","tag-guard-clause","tag-planet-wikimedia","tag-readable-functions","tag-software-design"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Readable Functions: Guard Clause - Blog of Jeroen De Dauw<\/title>\n<meta name=\"description\" content=\"Find out how guard clauses can help you simplify your code and improve readability of your functions.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.entropywins.wtf\/blog\/2019\/01\/14\/readable-functions-guard-clause\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Readable Functions: Guard Clause - Blog of Jeroen De Dauw\" \/>\n<meta property=\"og:description\" content=\"Find out how guard clauses can help you simplify your code and improve readability of your functions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.entropywins.wtf\/blog\/2019\/01\/14\/readable-functions-guard-clause\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog of Jeroen De Dauw\" \/>\n<meta property=\"article:published_time\" content=\"2019-01-14T07:44:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-04-29T03:15:45+00:00\" \/>\n<meta name=\"author\" content=\"Jeroen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/JeroenDeDauw\" \/>\n<meta name=\"twitter:site\" content=\"@JeroenDeDauw\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeroen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2019\\\/01\\\/14\\\/readable-functions-guard-clause\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2019\\\/01\\\/14\\\/readable-functions-guard-clause\\\/\"},\"author\":{\"name\":\"Jeroen\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"headline\":\"Readable Functions: Guard Clause\",\"datePublished\":\"2019-01-14T07:44:32+00:00\",\"dateModified\":\"2019-04-29T03:15:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2019\\\/01\\\/14\\\/readable-functions-guard-clause\\\/\"},\"wordCount\":136,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"keywords\":[\"Clean Code\",\"Code Quality\",\"Complexity\",\"Design principles\",\"Functions\",\"Guard Clause\",\"Planet Wikimedia\",\"Readable Functions\",\"Software design\"],\"articleSection\":[\"Programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2019\\\/01\\\/14\\\/readable-functions-guard-clause\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2019\\\/01\\\/14\\\/readable-functions-guard-clause\\\/\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2019\\\/01\\\/14\\\/readable-functions-guard-clause\\\/\",\"name\":\"Readable Functions: Guard Clause - Blog of Jeroen De Dauw\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#website\"},\"datePublished\":\"2019-01-14T07:44:32+00:00\",\"dateModified\":\"2019-04-29T03:15:45+00:00\",\"description\":\"Find out how guard clauses can help you simplify your code and improve readability of your functions.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2019\\\/01\\\/14\\\/readable-functions-guard-clause\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2019\\\/01\\\/14\\\/readable-functions-guard-clause\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2019\\\/01\\\/14\\\/readable-functions-guard-clause\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Readable Functions: Guard Clause\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/\",\"name\":\"Entropy Wins\",\"description\":\"A blog on Software Architecture, Design and Craftsmanship\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\",\"name\":\"Jeroen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"caption\":\"Jeroen\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/jeroendedauw\\\/\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/JeroenDeDauw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Readable Functions: Guard Clause - Blog of Jeroen De Dauw","description":"Find out how guard clauses can help you simplify your code and improve readability of your functions.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.entropywins.wtf\/blog\/2019\/01\/14\/readable-functions-guard-clause\/","og_locale":"en_US","og_type":"article","og_title":"Readable Functions: Guard Clause - Blog of Jeroen De Dauw","og_description":"Find out how guard clauses can help you simplify your code and improve readability of your functions.","og_url":"https:\/\/www.entropywins.wtf\/blog\/2019\/01\/14\/readable-functions-guard-clause\/","og_site_name":"Blog of Jeroen De Dauw","article_published_time":"2019-01-14T07:44:32+00:00","article_modified_time":"2019-04-29T03:15:45+00:00","author":"Jeroen","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/JeroenDeDauw","twitter_site":"@JeroenDeDauw","twitter_misc":{"Written by":"Jeroen","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.entropywins.wtf\/blog\/2019\/01\/14\/readable-functions-guard-clause\/#article","isPartOf":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2019\/01\/14\/readable-functions-guard-clause\/"},"author":{"name":"Jeroen","@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"headline":"Readable Functions: Guard Clause","datePublished":"2019-01-14T07:44:32+00:00","dateModified":"2019-04-29T03:15:45+00:00","mainEntityOfPage":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2019\/01\/14\/readable-functions-guard-clause\/"},"wordCount":136,"commentCount":3,"publisher":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"keywords":["Clean Code","Code Quality","Complexity","Design principles","Functions","Guard Clause","Planet Wikimedia","Readable Functions","Software design"],"articleSection":["Programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.entropywins.wtf\/blog\/2019\/01\/14\/readable-functions-guard-clause\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.entropywins.wtf\/blog\/2019\/01\/14\/readable-functions-guard-clause\/","url":"https:\/\/www.entropywins.wtf\/blog\/2019\/01\/14\/readable-functions-guard-clause\/","name":"Readable Functions: Guard Clause - Blog of Jeroen De Dauw","isPartOf":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#website"},"datePublished":"2019-01-14T07:44:32+00:00","dateModified":"2019-04-29T03:15:45+00:00","description":"Find out how guard clauses can help you simplify your code and improve readability of your functions.","breadcrumb":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2019\/01\/14\/readable-functions-guard-clause\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.entropywins.wtf\/blog\/2019\/01\/14\/readable-functions-guard-clause\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.entropywins.wtf\/blog\/2019\/01\/14\/readable-functions-guard-clause\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.entropywins.wtf\/blog\/"},{"@type":"ListItem","position":2,"name":"Readable Functions: Guard Clause"}]},{"@type":"WebSite","@id":"https:\/\/www.entropywins.wtf\/blog\/#website","url":"https:\/\/www.entropywins.wtf\/blog\/","name":"Entropy Wins","description":"A blog on Software Architecture, Design and Craftsmanship","publisher":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.entropywins.wtf\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7","name":"Jeroen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","caption":"Jeroen"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g"},"sameAs":["https:\/\/www.linkedin.com\/in\/jeroendedauw\/","https:\/\/x.com\/https:\/\/twitter.com\/JeroenDeDauw"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p74TBF-CP","jetpack-related-posts":[{"id":2374,"url":"https:\/\/www.entropywins.wtf\/blog\/2018\/10\/24\/readable-functions-minimize-state\/","url_meta":{"origin":2407,"position":0},"title":"Readable Functions: Minimize State","author":"Jeroen","date":"2018-10-24","format":false,"excerpt":"Several tricks and heuristics that I apply to write easy to understand functions keep coming up when I look at other peoples code. In this post I share the first of two key principles to writing readable functions. Follow up posts will contain the second key principle and specific tricks,\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1642,"url":"https:\/\/www.entropywins.wtf\/blog\/2016\/03\/05\/missing-in-php7-nullable-return-types\/","url_meta":{"origin":2407,"position":1},"title":"Missing in PHP7: Nullable return types","author":"Jeroen","date":"2016-03-05","format":false,"excerpt":"This is the fifth post in my Missing in PHP7 series. The previous one is about Collections. This is a short post, as there really is not much to explain or motivate. Nullable return types As of PHP7, we have return types at our disposal. Unfortunately, these have some annoying\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2392,"url":"https:\/\/www.entropywins.wtf\/blog\/2018\/10\/30\/readable-functions-do-one-thing\/","url_meta":{"origin":2407,"position":2},"title":"Readable Functions: Do One Thing","author":"Jeroen","date":"2018-10-30","format":false,"excerpt":"Several tricks and heuristics that I apply to write easy to understand functions keep coming up when I look at other people their code. This post outlines the second key principle. The first principle is Minimize State. Following posts will contain specific tips and tricks, often building on these two\u2026","rel":"","context":"In \"Clean Code\"","block_context":{"text":"Clean Code","link":"https:\/\/www.entropywins.wtf\/blog\/tag\/clean-code\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1577,"url":"https:\/\/www.entropywins.wtf\/blog\/2016\/01\/30\/missing-in-php7-function-references\/","url_meta":{"origin":2407,"position":3},"title":"Missing in PHP7: function references","author":"Jeroen","date":"2016-01-30","format":false,"excerpt":"This is the first post in my Missing in PHP7 series. Over time, PHP has improved its capabilities with regards to functions.\u00a0As of PHP 5.3 you can create anonymous functions and as of 5.4 you can use the callable type hint. However referencing a function still requires using a string.\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1582,"url":"https:\/\/www.entropywins.wtf\/blog\/2016\/02\/01\/missing-in-php7-named-parameters\/","url_meta":{"origin":2407,"position":4},"title":"Missing in PHP7: Named parameters","author":"Jeroen","date":"2016-02-01","format":false,"excerpt":"This is the second\u00a0post in my Missing in PHP7 series. The previous one is about\u00a0function references. 2020 update: named parameters will be in PHP 8 since the RFC passed. Readability of code is very important, and this is most certainly not readable: getCatPictures( 10, 0, true ); You can make\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1460,"url":"https:\/\/www.entropywins.wtf\/blog\/2015\/08\/19\/lazy-iterators-in-php-and-python\/","url_meta":{"origin":2407,"position":5},"title":"Lazy iterators in PHP and Python","author":"Jeroen","date":"2015-08-19","format":false,"excerpt":"I recently watched Clean Code Episode 34: Pattern Apocalypse, which is about several design patterns, including the Iterator. Afterwards I took some example code from this episode and tried writing it first in PHP and then in Python. While there is no rocket science involved in any of it, I\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/2407","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/comments?post=2407"}],"version-history":[{"count":5,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/2407\/revisions"}],"predecessor-version":[{"id":2604,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/2407\/revisions\/2604"}],"wp:attachment":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/media?parent=2407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/categories?post=2407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/tags?post=2407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}