[{"data":1,"prerenderedAt":1198},["ShallowReactive",2],{"navigation_docs":3,"-advanced-expression-builder":437,"-advanced-expression-builder-surround":1195},[4,20,398],{"title":5,"path":6,"stem":7,"children":8,"icon":19},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,11,15],{"title":10,"path":6,"stem":7},"Introduction",{"title":12,"path":13,"stem":14},"Usage","\u002Fgetting-started\u002Fusage","1.getting-started\u002F2.usage",{"title":16,"path":17,"stem":18},"Laravel","\u002Fgetting-started\u002Flaravel","1.getting-started\u002F3.laravel","i-lucide-square-play",{"title":21,"icon":22,"path":23,"stem":24,"children":25,"page":397},"Client Reference","i-lucide-terminal","\u002Fclient","2.client",[26,64,74,78,131,144,148,178,188,192,196,200,204,208,212,216,220,224,228,232,236,278,312,344,374,378],{"title":27,"path":28,"stem":29,"children":30},"Accounts","\u002Fclient\u002Faccounts","2.client\u002F00.accounts\u002F00.index",[31,32,36,46,50],{"title":27,"path":28,"stem":29},{"title":33,"path":34,"stem":35},"Members","\u002Fclient\u002Faccounts\u002Fmembers","2.client\u002F00.accounts\u002F01.members",{"title":37,"path":38,"stem":39,"children":40},"Logs","\u002Fclient\u002Faccounts\u002Flogs","2.client\u002F00.accounts\u002F02.logs\u002F00.index",[41,42],{"title":37,"path":38,"stem":39},{"title":43,"path":44,"stem":45},"Audit","\u002Fclient\u002Faccounts\u002Flogs\u002Faudit","2.client\u002F00.accounts\u002F02.logs\u002F01.audit",{"title":47,"path":48,"stem":49},"Subscriptions","\u002Fclient\u002Faccounts\u002Fsubscriptions","2.client\u002F00.accounts\u002F03.subscriptions",{"title":51,"path":52,"stem":53,"children":54},"Tokens","\u002Fclient\u002Faccounts\u002Ftokens","2.client\u002F00.accounts\u002F04.tokens\u002F00.index",[55,56,60],{"title":51,"path":52,"stem":53},{"title":57,"path":58,"stem":59},"Permission Groups","\u002Fclient\u002Faccounts\u002Ftokens\u002Fpermission-groups","2.client\u002F00.accounts\u002F04.tokens\u002F01.permission-groups",{"title":61,"path":62,"stem":63},"Value","\u002Fclient\u002Faccounts\u002Ftokens\u002Fvalue","2.client\u002F00.accounts\u002F04.tokens\u002F02.value",{"title":65,"path":66,"stem":67,"children":68},"Zones","\u002Fclient\u002Fzones","2.client\u002F01.zones\u002F00.index",[69,70],{"title":65,"path":66,"stem":67},{"title":71,"path":72,"stem":73},"Holds","\u002Fclient\u002Fzones\u002Fholds","2.client\u002F01.zones\u002F01.holds",{"title":75,"path":76,"stem":77},"IPs","\u002Fclient\u002Fips","2.client\u002F02.ips",{"title":79,"path":80,"stem":81,"children":82},"Workers","\u002Fclient\u002Fworkers","2.client\u002F03.workers\u002F00.index",[83,84,88,92,96,100,104,108,112,115,119,123,127],{"title":79,"path":80,"stem":81},{"title":85,"path":86,"stem":87},"Settings","\u002Fclient\u002Fworkers\u002Fsettings","2.client\u002F03.workers\u002F01.settings",{"title":89,"path":90,"stem":91},"Cron","\u002Fclient\u002Fworkers\u002Fcron","2.client\u002F03.workers\u002F02.cron",{"title":93,"path":94,"stem":95},"Deployments","\u002Fclient\u002Fworkers\u002Fdeployments","2.client\u002F03.workers\u002F03.deployments",{"title":97,"path":98,"stem":99},"Domains","\u002Fclient\u002Fworkers\u002Fdomains","2.client\u002F03.workers\u002F04.domains",{"title":101,"path":102,"stem":103},"Environment","\u002Fclient\u002Fworkers\u002Fenvironment","2.client\u002F03.workers\u002F05.environment",{"title":105,"path":106,"stem":107},"Scripts","\u002Fclient\u002Fworkers\u002Fscripts","2.client\u002F03.workers\u002F06.scripts",{"title":109,"path":110,"stem":111},"Subdomain","\u002Fclient\u002Fworkers\u002Fsubdomain","2.client\u002F03.workers\u002F07.subdomain",{"title":37,"path":113,"stem":114},"\u002Fclient\u002Fworkers\u002Flogs","2.client\u002F03.workers\u002F08.logs",{"title":116,"path":117,"stem":118},"Versions","\u002Fclient\u002Fworkers\u002Fversions","2.client\u002F03.workers\u002F09.versions",{"title":120,"path":121,"stem":122},"KV","\u002Fclient\u002Fworkers\u002Fkv","2.client\u002F03.workers\u002F10.kv",{"title":124,"path":125,"stem":126},"Durable Objects","\u002Fclient\u002Fworkers\u002Fdurable-objects","2.client\u002F03.workers\u002F11.durable-objects",{"title":128,"path":129,"stem":130},"Routes","\u002Fclient\u002Fworkers\u002Froutes","2.client\u002F03.workers\u002F12.routes",{"title":132,"path":133,"stem":134,"children":135},"Tunnel","\u002Fclient\u002Ftunnel","2.client\u002F04.tunnel\u002F00.index",[136,137,140],{"title":132,"path":133,"stem":134},{"title":128,"path":138,"stem":139},"\u002Fclient\u002Ftunnel\u002Froutes","2.client\u002F04.tunnel\u002F01.routes",{"title":141,"path":142,"stem":143},"Virtual Networks","\u002Fclient\u002Ftunnel\u002Fvirtual-networks","2.client\u002F04.tunnel\u002F02.virtual-networks",{"title":145,"path":146,"stem":147},"D1","\u002Fclient\u002Fd1","2.client\u002F05.d1",{"title":149,"path":150,"stem":151,"children":152},"Load Balancers","\u002Fclient\u002Fload-balancers","2.client\u002F06.load-balancers\u002F00.index",[153,154,158,162,166,170,174],{"title":149,"path":150,"stem":151},{"title":155,"path":156,"stem":157},"Pools","\u002Fclient\u002Fload-balancers\u002Fpools","2.client\u002F06.load-balancers\u002F01.pools",{"title":159,"path":160,"stem":161},"Monitors","\u002Fclient\u002Fload-balancers\u002Fmonitors","2.client\u002F06.load-balancers\u002F02.monitors",{"title":163,"path":164,"stem":165},"Monitor Groups","\u002Fclient\u002Fload-balancers\u002Fmonitor-groups","2.client\u002F06.load-balancers\u002F03.monitor-groups",{"title":167,"path":168,"stem":169},"Regions","\u002Fclient\u002Fload-balancers\u002Fregions","2.client\u002F06.load-balancers\u002F04.regions",{"title":171,"path":172,"stem":173},"Searches","\u002Fclient\u002Fload-balancers\u002Fsearches","2.client\u002F06.load-balancers\u002F05.searches",{"title":175,"path":176,"stem":177},"Previews","\u002Fclient\u002Fload-balancers\u002Fpreviews","2.client\u002F06.load-balancers\u002F06.previews",{"title":179,"path":180,"stem":181,"children":182},"Rulesets","\u002Fclient\u002Frulesets","2.client\u002F07.rulesets\u002F00.index",[183,184],{"title":179,"path":180,"stem":181},{"title":185,"path":186,"stem":187},"Rules","\u002Fclient\u002Frulesets\u002Frules","2.client\u002F07.rulesets\u002F01.rules",{"title":189,"path":190,"stem":191},"DNS","\u002Fclient\u002Fdns","2.client\u002F08.dns",{"title":193,"path":194,"stem":195},"DNSSEC","\u002Fclient\u002Fdnssec","2.client\u002F09.dnssec",{"title":197,"path":198,"stem":199},"Page Rules","\u002Fclient\u002Fpage-rules","2.client\u002F10.page-rules",{"title":201,"path":202,"stem":203},"Lockdown","\u002Fclient\u002Flockdown","2.client\u002F11.lockdown",{"title":205,"path":206,"stem":207},"SSL","\u002Fclient\u002Fssl","2.client\u002F12.ssl",{"title":209,"path":210,"stem":211},"Origin CA Certificates","\u002Fclient\u002Forigin-ca-certificates","2.client\u002F13.origin-ca-certificates",{"title":213,"path":214,"stem":215},"Filters","\u002Fclient\u002Ffilters","2.client\u002F14.filters",{"title":217,"path":218,"stem":219},"Firewall Rules","\u002Fclient\u002Ffirewall-rules","2.client\u002F15.firewall-rules",{"title":221,"path":222,"stem":223},"Access Rules","\u002Fclient\u002Faccess-rules","2.client\u002F16.access-rules",{"title":225,"path":226,"stem":227},"Rate Limits","\u002Fclient\u002Frate-limits","2.client\u002F17.rate-limits",{"title":229,"path":230,"stem":231},"Bot Management","\u002Fclient\u002Fbot-management","2.client\u002F18.bot-management",{"title":233,"path":234,"stem":235},"Cloud Connector","\u002Fclient\u002Fcloud-connector","2.client\u002F19.cloud-connector",{"title":237,"path":238,"stem":239,"children":240},"R2","\u002Fclient\u002Fr2","2.client\u002F20.r2\u002F00.index",[241,242,246,250,254,258,262,266,270,274],{"title":237,"path":238,"stem":239},{"title":243,"path":244,"stem":245},"Buckets","\u002Fclient\u002Fr2\u002Fbuckets","2.client\u002F20.r2\u002F01.buckets",{"title":247,"path":248,"stem":249},"Cors","\u002Fclient\u002Fr2\u002Fcors","2.client\u002F20.r2\u002F02.cors",{"title":251,"path":252,"stem":253},"Lifecycle","\u002Fclient\u002Fr2\u002Flifecycle","2.client\u002F20.r2\u002F03.lifecycle",{"title":255,"path":256,"stem":257},"Lock","\u002Fclient\u002Fr2\u002Flock","2.client\u002F20.r2\u002F04.lock",{"title":259,"path":260,"stem":261},"Custom Domains","\u002Fclient\u002Fr2\u002Fcustom-domains","2.client\u002F20.r2\u002F05.custom-domains",{"title":263,"path":264,"stem":265},"Managed Domain","\u002Fclient\u002Fr2\u002Fmanaged-domain","2.client\u002F20.r2\u002F06.managed-domain",{"title":267,"path":268,"stem":269},"Sippy","\u002Fclient\u002Fr2\u002Fsippy","2.client\u002F20.r2\u002F07.sippy",{"title":271,"path":272,"stem":273},"Event Notifications","\u002Fclient\u002Fr2\u002Fevent-notifications","2.client\u002F20.r2\u002F08.event-notifications",{"title":275,"path":276,"stem":277},"Metrics","\u002Fclient\u002Fr2\u002Fmetrics","2.client\u002F20.r2\u002F09.metrics",{"title":279,"path":280,"stem":281,"children":282},"Iam","\u002Fclient\u002Fiam","2.client\u002F21.iam\u002F00.index",[283,284,287,291,295,299,303],{"title":279,"path":280,"stem":281},{"title":57,"path":285,"stem":286},"\u002Fclient\u002Fiam\u002Fpermission-groups","2.client\u002F21.iam\u002F01.permission-groups",{"title":288,"path":289,"stem":290},"Resource Groups","\u002Fclient\u002Fiam\u002Fresource-groups","2.client\u002F21.iam\u002F02.resource-groups",{"title":292,"path":293,"stem":294},"Sso","\u002Fclient\u002Fiam\u002Fsso","2.client\u002F21.iam\u002F03.sso",{"title":296,"path":297,"stem":298},"Oauth Clients","\u002Fclient\u002Fiam\u002Foauth-clients","2.client\u002F21.iam\u002F04.oauth-clients",{"title":300,"path":301,"stem":302},"Oauth Scopes","\u002Fclient\u002Fiam\u002Foauth-scopes","2.client\u002F21.iam\u002F05.oauth-scopes",{"title":304,"path":305,"stem":306,"children":307},"User Groups","\u002Fclient\u002Fiam\u002Fuser-groups","2.client\u002F21.iam\u002F06.user-groups\u002F00.index",[308,309],{"title":304,"path":305,"stem":306},{"title":33,"path":310,"stem":311},"\u002Fclient\u002Fiam\u002Fuser-groups\u002Fmembers","2.client\u002F21.iam\u002F06.user-groups\u002F01.members",{"title":313,"path":314,"stem":315,"children":316},"User","\u002Fclient\u002Fuser","2.client\u002F22.user\u002F00.index",[317,318,322,326,329,333],{"title":313,"path":314,"stem":315},{"title":319,"path":320,"stem":321},"Audit Logs","\u002Fclient\u002Fuser\u002Faudit-logs","2.client\u002F22.user\u002F01.audit-logs",{"title":323,"path":324,"stem":325},"Invites","\u002Fclient\u002Fuser\u002Finvites","2.client\u002F22.user\u002F02.invites",{"title":47,"path":327,"stem":328},"\u002Fclient\u002Fuser\u002Fsubscriptions","2.client\u002F22.user\u002F03.subscriptions",{"title":330,"path":331,"stem":332},"Tenants","\u002Fclient\u002Fuser\u002Ftenants","2.client\u002F22.user\u002F04.tenants",{"title":51,"path":334,"stem":335,"children":336},"\u002Fclient\u002Fuser\u002Ftokens","2.client\u002F22.user\u002F05.tokens\u002F00.index",[337,338,341],{"title":51,"path":334,"stem":335},{"title":57,"path":339,"stem":340},"\u002Fclient\u002Fuser\u002Ftokens\u002Fpermission-groups","2.client\u002F22.user\u002F05.tokens\u002F01.permission-groups",{"title":61,"path":342,"stem":343},"\u002Fclient\u002Fuser\u002Ftokens\u002Fvalue","2.client\u002F22.user\u002F05.tokens\u002F02.value",{"title":345,"path":346,"stem":347,"children":348},"Organizations","\u002Fclient\u002Forganizations","2.client\u002F23.organizations\u002F00.index",[349,350,354,362,371],{"title":345,"path":346,"stem":347},{"title":351,"path":352,"stem":353},"Profile","\u002Fclient\u002Forganizations\u002Fprofile","2.client\u002F23.organizations\u002F01.profile",{"title":37,"path":355,"stem":356,"children":357},"\u002Fclient\u002Forganizations\u002Flogs","2.client\u002F23.organizations\u002F02.logs\u002F00.index",[358,359],{"title":37,"path":355,"stem":356},{"title":43,"path":360,"stem":361},"\u002Fclient\u002Forganizations\u002Flogs\u002Faudit","2.client\u002F23.organizations\u002F02.logs\u002F01.audit",{"title":363,"path":364,"stem":365,"children":366},"Billing","\u002Fclient\u002Forganizations\u002Fbilling","2.client\u002F23.organizations\u002F03.billing\u002F00.index",[367,368],{"title":363,"path":364,"stem":365},{"title":12,"path":369,"stem":370},"\u002Fclient\u002Forganizations\u002Fbilling\u002Fusage","2.client\u002F23.organizations\u002F03.billing\u002F01.usage",{"title":33,"path":372,"stem":373},"\u002Fclient\u002Forganizations\u002Fmembers","2.client\u002F23.organizations\u002F04.members",{"title":375,"path":376,"stem":377},"Memberships","\u002Fclient\u002Fmemberships","2.client\u002F24.memberships",{"title":330,"path":379,"stem":380,"children":381},"\u002Fclient\u002Ftenants","2.client\u002F25.tenants\u002F00.index",[382,383,387,390,394],{"title":330,"path":379,"stem":380},{"title":384,"path":385,"stem":386},"Account Types","\u002Fclient\u002Ftenants\u002Faccount-types","2.client\u002F25.tenants\u002F01.account-types",{"title":27,"path":388,"stem":389},"\u002Fclient\u002Ftenants\u002Faccounts","2.client\u002F25.tenants\u002F02.accounts",{"title":391,"path":392,"stem":393},"Entitlements","\u002Fclient\u002Ftenants\u002Fentitlements","2.client\u002F25.tenants\u002F03.entitlements",{"title":375,"path":395,"stem":396},"\u002Fclient\u002Ftenants\u002Fmemberships","2.client\u002F25.tenants\u002F04.memberships",false,{"title":399,"icon":400,"path":401,"stem":402,"children":403,"page":397},"Advanced","i-lucide-code-xml","\u002Fadvanced","3.advanced",[404,433],{"title":405,"path":406,"stem":407,"children":408,"page":397},"Configurations","\u002Fadvanced\u002Fconfigurations","3.advanced\u002F1.configurations",[409,421,429],{"title":65,"path":410,"stem":411,"children":412,"page":397},"\u002Fadvanced\u002Fconfigurations\u002Fzones","3.advanced\u002F1.configurations\u002F1.zones",[413,417],{"title":414,"path":415,"stem":416},"Page Rule","\u002Fadvanced\u002Fconfigurations\u002Fzones\u002Fpage-rules","3.advanced\u002F1.configurations\u002F1.zones\u002F1.page-rules",{"title":418,"path":419,"stem":420},"Cache Purge","\u002Fadvanced\u002Fconfigurations\u002Fzones\u002Fcache-purge","3.advanced\u002F1.configurations\u002F1.zones\u002F2.cache-purge",{"title":79,"path":422,"stem":423,"children":424,"page":397},"\u002Fadvanced\u002Fconfigurations\u002Fworkers","3.advanced\u002F1.configurations\u002F2.workers",[425],{"title":426,"path":427,"stem":428},"Deployment","\u002Fadvanced\u002Fconfigurations\u002Fworkers\u002Fdeployment","3.advanced\u002F1.configurations\u002F2.workers\u002F1.deployment",{"title":430,"path":431,"stem":432},"Ruleset","\u002Fadvanced\u002Fconfigurations\u002Fruleset","3.advanced\u002F1.configurations\u002F3.ruleset",{"title":434,"path":435,"stem":436},"Expression Builder","\u002Fadvanced\u002Fexpression-builder","3.advanced\u002F2.expression-builder",{"id":438,"title":434,"body":439,"description":1189,"extension":1190,"links":1191,"meta":1192,"navigation":475,"path":435,"seo":1193,"stem":436,"__hash__":1194},"docs\u002F3.advanced\u002F2.expression-builder.md",{"type":440,"value":441,"toc":1183},"minimark",[442,446,458,614,618,628,837,841,844,959,963,1068,1077,1179],[443,444,12],"h2",{"id":445},"usage",[447,448,449,450,457],"p",{},"Expression builder for Cloudflare ",[451,452,456],"a",{"href":453,"rel":454},"https:\u002F\u002Fdevelopers.cloudflare.com\u002Fruleset-engine\u002Frules-language\u002F",[455],"nofollow","Rules language",".",[459,460,465],"pre",{"className":461,"code":462,"filename":463,"language":463,"meta":464,"style":464},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\nuse Cloudflare\\ExpressionBuilder;\n\n$expression = (new ExpressionBuilder())\n    ->field('ip.src')\n    ->eq('127.0.0.1')\n    ->build();\n\necho $expression;\n\n\u002F\u002F ip.src eq 127.0.0.1\n\n","php","",[466,467,468,477,498,503,528,553,572,583,588,602,607],"code",{"__ignoreMap":464},[469,470,473],"span",{"class":471,"line":472},"line",1,[469,474,476],{"emptyLinePlaceholder":475},true,"\n",[469,478,480,484,488,492,495],{"class":471,"line":479},2,[469,481,483],{"class":482},"sbssI","use",[469,485,487],{"class":486},"sTEyZ"," Cloudflare",[469,489,491],{"class":490},"sMK4o","\\",[469,493,494],{"class":486},"ExpressionBuilder",[469,496,497],{"class":490},";\n",[469,499,501],{"class":471,"line":500},3,[469,502,476],{"emptyLinePlaceholder":475},[469,504,506,509,512,515,518,521,525],{"class":471,"line":505},4,[469,507,508],{"class":490},"$",[469,510,511],{"class":486},"expression ",[469,513,514],{"class":490},"=",[469,516,517],{"class":490}," (",[469,519,520],{"class":482},"new",[469,522,524],{"class":523},"sBMFI"," ExpressionBuilder",[469,526,527],{"class":490},"())\n",[469,529,531,534,538,541,544,548,550],{"class":471,"line":530},5,[469,532,533],{"class":490},"    ->",[469,535,537],{"class":536},"s2Zo4","field",[469,539,540],{"class":490},"(",[469,542,543],{"class":490},"'",[469,545,547],{"class":546},"sfazB","ip.src",[469,549,543],{"class":490},[469,551,552],{"class":490},")\n",[469,554,556,558,561,563,565,568,570],{"class":471,"line":555},6,[469,557,533],{"class":490},[469,559,560],{"class":536},"eq",[469,562,540],{"class":490},[469,564,543],{"class":490},[469,566,567],{"class":546},"127.0.0.1",[469,569,543],{"class":490},[469,571,552],{"class":490},[469,573,575,577,580],{"class":471,"line":574},7,[469,576,533],{"class":490},[469,578,579],{"class":536},"build",[469,581,582],{"class":490},"();\n",[469,584,586],{"class":471,"line":585},8,[469,587,476],{"emptyLinePlaceholder":475},[469,589,591,594,597,600],{"class":471,"line":590},9,[469,592,593],{"class":536},"echo",[469,595,596],{"class":490}," $",[469,598,599],{"class":486},"expression",[469,601,497],{"class":490},[469,603,605],{"class":471,"line":604},10,[469,606,476],{"emptyLinePlaceholder":475},[469,608,610],{"class":471,"line":609},11,[469,611,613],{"class":612},"sHwdD","\u002F\u002F ip.src eq 127.0.0.1\n",[443,615,617],{"id":616},"grouping","Grouping",[447,619,620,621,623,624,627],{},"The Rules language supports parentheses (",[466,622,540],{},",",[466,625,626],{},")",") as grouping symbols. Grouping symbols allow you to organize expressions, enforce precedence, and nest expressions.",[459,629,631],{"className":461,"code":630,"filename":463,"language":463,"meta":464,"style":464},"\nuse Cloudflare\\ExpressionBuilder;\n\n$expression = (new ExpressionBuilder())\n    ->field('ip.src')\n    ->eq('127.0.0.1')\n    ->or()\n    ->group(function(ExpressionBuilder $builder){\n        $builder->not()->field('ssl')->or()->field('ip.src.country')->eq('GB');\n    })\n    ->build();\n\necho $expression;\n\n\u002F\u002F ip.src eq 127.0.0.1 or (not ssl or ip.src.country eq \"GB\")\n\n",[466,632,633,637,649,653,669,685,701,711,736,797,802,810,815,826,831],{"__ignoreMap":464},[469,634,635],{"class":471,"line":472},[469,636,476],{"emptyLinePlaceholder":475},[469,638,639,641,643,645,647],{"class":471,"line":479},[469,640,483],{"class":482},[469,642,487],{"class":486},[469,644,491],{"class":490},[469,646,494],{"class":486},[469,648,497],{"class":490},[469,650,651],{"class":471,"line":500},[469,652,476],{"emptyLinePlaceholder":475},[469,654,655,657,659,661,663,665,667],{"class":471,"line":505},[469,656,508],{"class":490},[469,658,511],{"class":486},[469,660,514],{"class":490},[469,662,517],{"class":490},[469,664,520],{"class":482},[469,666,524],{"class":523},[469,668,527],{"class":490},[469,670,671,673,675,677,679,681,683],{"class":471,"line":530},[469,672,533],{"class":490},[469,674,537],{"class":536},[469,676,540],{"class":490},[469,678,543],{"class":490},[469,680,547],{"class":546},[469,682,543],{"class":490},[469,684,552],{"class":490},[469,686,687,689,691,693,695,697,699],{"class":471,"line":555},[469,688,533],{"class":490},[469,690,560],{"class":536},[469,692,540],{"class":490},[469,694,543],{"class":490},[469,696,567],{"class":546},[469,698,543],{"class":490},[469,700,552],{"class":490},[469,702,703,705,708],{"class":471,"line":574},[469,704,533],{"class":490},[469,706,707],{"class":536},"or",[469,709,710],{"class":490},"()\n",[469,712,713,715,718,720,724,726,728,730,733],{"class":471,"line":585},[469,714,533],{"class":490},[469,716,717],{"class":536},"group",[469,719,540],{"class":490},[469,721,723],{"class":722},"spNyl","function",[469,725,540],{"class":490},[469,727,494],{"class":523},[469,729,596],{"class":490},[469,731,732],{"class":486},"builder",[469,734,735],{"class":490},"){\n",[469,737,738,741,743,746,749,752,754,756,758,761,763,766,768,770,772,774,776,779,781,783,785,787,789,792,794],{"class":471,"line":590},[469,739,740],{"class":490},"        $",[469,742,732],{"class":486},[469,744,745],{"class":490},"->",[469,747,748],{"class":536},"not",[469,750,751],{"class":490},"()->",[469,753,537],{"class":536},[469,755,540],{"class":490},[469,757,543],{"class":490},[469,759,760],{"class":546},"ssl",[469,762,543],{"class":490},[469,764,765],{"class":490},")->",[469,767,707],{"class":536},[469,769,751],{"class":490},[469,771,537],{"class":536},[469,773,540],{"class":490},[469,775,543],{"class":490},[469,777,778],{"class":546},"ip.src.country",[469,780,543],{"class":490},[469,782,765],{"class":490},[469,784,560],{"class":536},[469,786,540],{"class":490},[469,788,543],{"class":490},[469,790,791],{"class":546},"GB",[469,793,543],{"class":490},[469,795,796],{"class":490},");\n",[469,798,799],{"class":471,"line":604},[469,800,801],{"class":490},"    })\n",[469,803,804,806,808],{"class":471,"line":609},[469,805,533],{"class":490},[469,807,579],{"class":536},[469,809,582],{"class":490},[469,811,813],{"class":471,"line":812},12,[469,814,476],{"emptyLinePlaceholder":475},[469,816,818,820,822,824],{"class":471,"line":817},13,[469,819,593],{"class":536},[469,821,596],{"class":490},[469,823,599],{"class":486},[469,825,497],{"class":490},[469,827,829],{"class":471,"line":828},14,[469,830,476],{"emptyLinePlaceholder":475},[469,832,834],{"class":471,"line":833},15,[469,835,836],{"class":612},"\u002F\u002F ip.src eq 127.0.0.1 or (not ssl or ip.src.country eq \"GB\")\n",[443,838,840],{"id":839},"functions","Functions",[447,842,843],{},"The Cloudflare Rules language provides functions for manipulating and validating values in an expression.",[459,845,847],{"className":461,"code":846,"filename":463,"language":463,"meta":464,"style":464},"\nuse Cloudflare\\ExpressionBuilder;\n\n$expression = (new ExpressionBuilder())\n    ->addFunction('lower', 'ip.src.country')\n    ->eq('127.0.0.1')\n    ->build();\n\necho $expression;\n\n\u002F\u002F lower(ip.src.country) eq \"gb\"\n\n",[466,848,849,853,865,869,885,912,928,936,940,950,954],{"__ignoreMap":464},[469,850,851],{"class":471,"line":472},[469,852,476],{"emptyLinePlaceholder":475},[469,854,855,857,859,861,863],{"class":471,"line":479},[469,856,483],{"class":482},[469,858,487],{"class":486},[469,860,491],{"class":490},[469,862,494],{"class":486},[469,864,497],{"class":490},[469,866,867],{"class":471,"line":500},[469,868,476],{"emptyLinePlaceholder":475},[469,870,871,873,875,877,879,881,883],{"class":471,"line":505},[469,872,508],{"class":490},[469,874,511],{"class":486},[469,876,514],{"class":490},[469,878,517],{"class":490},[469,880,520],{"class":482},[469,882,524],{"class":523},[469,884,527],{"class":490},[469,886,887,889,892,894,896,899,901,903,906,908,910],{"class":471,"line":530},[469,888,533],{"class":490},[469,890,891],{"class":536},"addFunction",[469,893,540],{"class":490},[469,895,543],{"class":490},[469,897,898],{"class":546},"lower",[469,900,543],{"class":490},[469,902,623],{"class":490},[469,904,905],{"class":490}," '",[469,907,778],{"class":546},[469,909,543],{"class":490},[469,911,552],{"class":490},[469,913,914,916,918,920,922,924,926],{"class":471,"line":555},[469,915,533],{"class":490},[469,917,560],{"class":536},[469,919,540],{"class":490},[469,921,543],{"class":490},[469,923,567],{"class":546},[469,925,543],{"class":490},[469,927,552],{"class":490},[469,929,930,932,934],{"class":471,"line":574},[469,931,533],{"class":490},[469,933,579],{"class":536},[469,935,582],{"class":490},[469,937,938],{"class":471,"line":585},[469,939,476],{"emptyLinePlaceholder":475},[469,941,942,944,946,948],{"class":471,"line":590},[469,943,593],{"class":536},[469,945,596],{"class":490},[469,947,599],{"class":486},[469,949,497],{"class":490},[469,951,952],{"class":471,"line":604},[469,953,476],{"emptyLinePlaceholder":475},[469,955,956],{"class":471,"line":609},[469,957,958],{"class":612},"\u002F\u002F lower(ip.src.country) eq \"gb\"\n",[443,960,962],{"id":961},"raw-expressions","Raw expressions",[459,964,966],{"className":461,"code":965,"filename":463,"language":463,"meta":464,"style":464},"\nuse Cloudflare\\ExpressionBuilder;\n\n$expression = (new ExpressionBuilder())\n    ->addExpression('ip.src.country', 'eq', 'GB')\n    ->build();\n\necho $expression;\n\n\u002F\u002F ip.src.country eq \"GB\"\n\n",[466,967,968,972,984,988,1004,1037,1045,1049,1059,1063],{"__ignoreMap":464},[469,969,970],{"class":471,"line":472},[469,971,476],{"emptyLinePlaceholder":475},[469,973,974,976,978,980,982],{"class":471,"line":479},[469,975,483],{"class":482},[469,977,487],{"class":486},[469,979,491],{"class":490},[469,981,494],{"class":486},[469,983,497],{"class":490},[469,985,986],{"class":471,"line":500},[469,987,476],{"emptyLinePlaceholder":475},[469,989,990,992,994,996,998,1000,1002],{"class":471,"line":505},[469,991,508],{"class":490},[469,993,511],{"class":486},[469,995,514],{"class":490},[469,997,517],{"class":490},[469,999,520],{"class":482},[469,1001,524],{"class":523},[469,1003,527],{"class":490},[469,1005,1006,1008,1011,1013,1015,1017,1019,1021,1023,1025,1027,1029,1031,1033,1035],{"class":471,"line":530},[469,1007,533],{"class":490},[469,1009,1010],{"class":536},"addExpression",[469,1012,540],{"class":490},[469,1014,543],{"class":490},[469,1016,778],{"class":546},[469,1018,543],{"class":490},[469,1020,623],{"class":490},[469,1022,905],{"class":490},[469,1024,560],{"class":546},[469,1026,543],{"class":490},[469,1028,623],{"class":490},[469,1030,905],{"class":490},[469,1032,791],{"class":546},[469,1034,543],{"class":490},[469,1036,552],{"class":490},[469,1038,1039,1041,1043],{"class":471,"line":555},[469,1040,533],{"class":490},[469,1042,579],{"class":536},[469,1044,582],{"class":490},[469,1046,1047],{"class":471,"line":574},[469,1048,476],{"emptyLinePlaceholder":475},[469,1050,1051,1053,1055,1057],{"class":471,"line":585},[469,1052,593],{"class":536},[469,1054,596],{"class":490},[469,1056,599],{"class":486},[469,1058,497],{"class":490},[469,1060,1061],{"class":471,"line":590},[469,1062,476],{"emptyLinePlaceholder":475},[469,1064,1065],{"class":471,"line":604},[469,1066,1067],{"class":612},"\u002F\u002F ip.src.country eq \"GB\"\n",[447,1069,1070,1072,1073,1076],{},[466,1071,494],{}," implements ",[466,1074,1075],{},"Stringable"," so you can simply do:",[459,1078,1080],{"className":461,"code":1079,"filename":463,"language":463,"meta":464,"style":464},"\nuse Cloudflare\\ExpressionBuilder;\n\n$expression = (string) (new ExpressionBuilder())\n    ->addExpression('ip.src.country', 'eq', 'GB');\n\necho $expression;\n\n\u002F\u002F ip.src.country eq \"GB\"\n\n",[466,1081,1082,1086,1098,1102,1125,1157,1161,1171,1175],{"__ignoreMap":464},[469,1083,1084],{"class":471,"line":472},[469,1085,476],{"emptyLinePlaceholder":475},[469,1087,1088,1090,1092,1094,1096],{"class":471,"line":479},[469,1089,483],{"class":482},[469,1091,487],{"class":486},[469,1093,491],{"class":490},[469,1095,494],{"class":486},[469,1097,497],{"class":490},[469,1099,1100],{"class":471,"line":500},[469,1101,476],{"emptyLinePlaceholder":475},[469,1103,1104,1106,1108,1110,1112,1115,1117,1119,1121,1123],{"class":471,"line":505},[469,1105,508],{"class":490},[469,1107,511],{"class":486},[469,1109,514],{"class":490},[469,1111,517],{"class":490},[469,1113,1114],{"class":722},"string",[469,1116,626],{"class":490},[469,1118,517],{"class":490},[469,1120,520],{"class":482},[469,1122,524],{"class":523},[469,1124,527],{"class":490},[469,1126,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1155],{"class":471,"line":530},[469,1128,533],{"class":490},[469,1130,1010],{"class":536},[469,1132,540],{"class":490},[469,1134,543],{"class":490},[469,1136,778],{"class":546},[469,1138,543],{"class":490},[469,1140,623],{"class":490},[469,1142,905],{"class":490},[469,1144,560],{"class":546},[469,1146,543],{"class":490},[469,1148,623],{"class":490},[469,1150,905],{"class":490},[469,1152,791],{"class":546},[469,1154,543],{"class":490},[469,1156,796],{"class":490},[469,1158,1159],{"class":471,"line":555},[469,1160,476],{"emptyLinePlaceholder":475},[469,1162,1163,1165,1167,1169],{"class":471,"line":574},[469,1164,593],{"class":536},[469,1166,596],{"class":490},[469,1168,599],{"class":486},[469,1170,497],{"class":490},[469,1172,1173],{"class":471,"line":585},[469,1174,476],{"emptyLinePlaceholder":475},[469,1176,1177],{"class":471,"line":590},[469,1178,1067],{"class":612},[1180,1181,1182],"style",{},"html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":464,"searchDepth":479,"depth":479,"links":1184},[1185,1186,1187,1188],{"id":445,"depth":479,"text":12},{"id":616,"depth":479,"text":617},{"id":839,"depth":479,"text":840},{"id":961,"depth":479,"text":962},"Build expressions for the Cloudflare Rules language fluently instead of hand-writing expression strings.","md",null,{},{"title":434,"description":1189},"QSvaLz10TAel2NgciE3-K5Y8-o5P_9OF6zxjgP31fAg",[1196,1191],{"title":430,"path":431,"stem":432,"description":1197,"children":-1},"A fluent configuration helper for building Account\u002FZone Ruleset payloads.",1785321153339]