[{"data":1,"prerenderedAt":2021},["ShallowReactive",2],{"navigation_docs":3,"-sdks-server-node-js":99,"-sdks-server-node-js-surround":1641,"sdks\u002Fnode\u002Finstall":1644,"sdks\u002Fnode\u002Fconfigure":1727,"sdks\u002Fnode\u002Fsimple-usage":1815},[4,30],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fgetting-started","1.getting-started",[10,15,20,25],{"title":11,"path":12,"stem":13,"icon":14},"Quickstart","\u002Fgetting-started\u002Fquickstart","1.getting-started\u002F1.quickstart","i-lucide-fast-forward",{"title":16,"path":17,"stem":18,"icon":19},"Core Concepts","\u002Fgetting-started\u002Fcore-concepts","1.getting-started\u002F2.core-concepts","i-lucide-workflow",{"title":21,"path":22,"stem":23,"icon":24},"Configs Anatomy","\u002Fgetting-started\u002Fconfigs","1.getting-started\u002F3.configs","i-lucide-file-cog",{"title":26,"path":27,"stem":28,"icon":29},"Architecture","\u002Fgetting-started\u002Farchitecture","1.getting-started\u002F4.architecture","i-lucide-layers",{"title":31,"defaultOpen":32,"path":33,"stem":34,"children":35,"page":6},"SDKs",true,"\u002Fsdks","2.sdks",[36,41,62,72,88],{"title":37,"path":38,"stem":39,"icon":40},"Available SDKs","\u002Fsdks\u002Favailable-sdks","2.sdks\u002F1.available-sdks","i-lucide-list",{"title":42,"icon":43,"defaultOpen":32,"path":44,"stem":45,"children":46,"page":6},"Browser SDKs","i-lucide-monitor","\u002Fsdks\u002Fbrowser","2.sdks\u002F2.browser",[47,52,57],{"title":48,"path":49,"stem":50,"icon":51},"Javascript","\u002Fsdks\u002Fbrowser\u002Fjavascript","2.sdks\u002F2.browser\u002F1.javascript","cd-logos-javascript",{"title":53,"path":54,"stem":55,"icon":56},"React","\u002Fsdks\u002Fbrowser\u002Freact","2.sdks\u002F2.browser\u002F2.react","cd-logos-react-light",{"title":58,"path":59,"stem":60,"icon":61},"Vue","\u002Fsdks\u002Fbrowser\u002Fvue","2.sdks\u002F2.browser\u002F3.vue","cd-logos-vue",{"title":63,"icon":64,"defaultOpen":32,"path":65,"stem":66,"children":67,"page":6},"Mobile SDKs","i-lucide-smartphone","\u002Fsdks\u002Fmobile","2.sdks\u002F3.mobile",[68],{"title":69,"path":70,"stem":71,"icon":56},"React Native","\u002Fsdks\u002Fmobile\u002Freact-native","2.sdks\u002F3.mobile\u002F1.react-native",{"title":73,"icon":74,"defaultOpen":32,"path":75,"stem":76,"children":77,"page":6},"Meta-framework SDKs","i-lucide-monitor-smartphone","\u002Fsdks\u002Fmeta","2.sdks\u002F4.meta",[78,83],{"title":79,"path":80,"stem":81,"icon":82},"Next.js","\u002Fsdks\u002Fmeta\u002Fnextjs","2.sdks\u002F4.meta\u002F1.nextjs","cd-logos-nextjs",{"title":84,"path":85,"stem":86,"icon":87},"Nuxt","\u002Fsdks\u002Fmeta\u002Fnuxt","2.sdks\u002F4.meta\u002F2.nuxt","cd-logos-nuxt",{"title":89,"icon":90,"defaultOpen":32,"path":91,"stem":92,"children":93,"page":6},"Server SDKs","i-lucide-server","\u002Fsdks\u002Fserver","2.sdks\u002F5.server",[94],{"title":95,"path":96,"stem":97,"icon":98},"Node.js","\u002Fsdks\u002Fserver\u002Fnode-js","2.sdks\u002F5.server\u002F1.node-js","cd-logos-nodejs",{"id":100,"title":95,"body":101,"description":107,"extension":1635,"links":1636,"meta":1637,"navigation":1638,"path":96,"seo":1639,"stem":97,"__hash__":1640},"docs\u002F2.sdks\u002F5.server\u002F1.node-js.md",{"type":102,"value":103,"toc":1620},"minimark",[104,108,113,117,125,131,137,141,150,154,158,172,175,179,184,190,196,373,378,388,391,497,500,816,821,824,891,1014,1019,1022,1025,1028,1062,1178,1182,1185,1189,1195,1386,1392,1561,1565,1568,1574,1588,1594,1599,1604,1610,1616],[105,106,107],"sdk-badge",{"icon":98},"Node.js SDK",[109,110,112],"h2",{"id":111},"introduction","Introduction",[114,115,116],"p",{},"The Node.js SDK is a server-side SDK that evaluates configs and their targeting rules. Upon initialization, it retrieves configs and targeting rules from ConfigDirector services. From that point on, it evaluates configs locally for any user context, and receives updates via server sent events (SSE) when configs are updated on the dashboard or via the admin API.",[114,118,119,120,124],{},"The minimum Node.js version supported is ",[121,122,123],"code",{},"18.0",".",[114,126,127,128,124],{},"The minimum Deno version supported is ",[121,129,130],{},"2.0",[114,132,133,134,124],{},"The minimum Bun version supported is ",[121,135,136],{},"1.0",[109,138,140],{"id":139},"installation","Installation",[114,142,143,144],{},"The SDK can be installed from NPM: ",[145,146,147],"a",{"href":147,"rel":148},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@configdirector\u002Fserver-sdk",[149],"nofollow",[151,152],"content-partial",{"name":153},"sdks\u002Fnode\u002Finstall",[109,155,157],{"id":156},"configure-and-initialize-the-client","Configure and initialize the client",[159,160,161,169],"ol",{},[162,163,164,165,168],"li",{},"Create an instance of the client providing your server SDK key. You can retrieve a server SDK key under your project settings in the ",[121,166,167],{},"Environments & SDK Keys"," tab.",[162,170,171],{},"Initialize the client to initiate its connection lifecycle.",[151,173],{"name":174},"sdks\u002Fnode\u002Fconfigure",[176,177,178],"warning",{},"Server SDK keys are secret values. Do not commit them to your source code repository. Provide them at runtime via environment variables instead.",[180,181,183],"h3",{"id":182},"additional-configuration-options","Additional configuration options",[185,186,188],"h4",{"id":187},"metadata",[121,189,187],{},[114,191,192,193,195],{},"The ",[121,194,187],{}," option allows you to provide your application's name and version. These values can be used in targeting rules conditionals. For example, if a certain feature should only be enabled starting with a certain version of your application.",[197,198,204],"pre",{"className":199,"code":200,"filename":201,"language":202,"meta":203,"style":203},"language-ts shiki shiki-themes material-theme-lighter github-light github-dark","import { createClient } from \"@configdirector\u002Fserver-sdk\";\n\nexport const client = createClient(\"YOUR-SERVER-SDK-KEY\", {\n  metadata: {\n    appName: \"YOUR-APP-NAME\",\n    appVersion: \"1.0.2\",\n  },\n});\n\nawait client.initialize();\n","config-director-setup.ts","ts","",[121,205,206,243,249,286,298,316,333,339,350,355],{"__ignoreMap":203},[207,208,211,215,219,223,226,229,233,237,240],"span",{"class":209,"line":210},"line",1,[207,212,214],{"class":213},"sVHd0","import",[207,216,218],{"class":217},"sP7_E"," {",[207,220,222],{"class":221},"su5hD"," createClient",[207,224,225],{"class":217}," }",[207,227,228],{"class":213}," from",[207,230,232],{"class":231},"sjJ54"," \"",[207,234,236],{"class":235},"s_sjI","@configdirector\u002Fserver-sdk",[207,238,239],{"class":231},"\"",[207,241,242],{"class":217},";\n",[207,244,246],{"class":209,"line":245},2,[207,247,248],{"emptyLinePlaceholder":32},"\n",[207,250,252,255,259,263,267,270,273,275,278,280,283],{"class":209,"line":251},3,[207,253,254],{"class":213},"export",[207,256,258],{"class":257},"sbsja"," const",[207,260,262],{"class":261},"s_hVV"," client",[207,264,266],{"class":265},"smGrS"," =",[207,268,222],{"class":269},"sGLFI",[207,271,272],{"class":221},"(",[207,274,239],{"class":231},[207,276,277],{"class":235},"YOUR-SERVER-SDK-KEY",[207,279,239],{"class":231},[207,281,282],{"class":217},",",[207,284,285],{"class":217}," {\n",[207,287,289,293,296],{"class":209,"line":288},4,[207,290,292],{"class":291},"skxfh","  metadata",[207,294,295],{"class":217},":",[207,297,285],{"class":217},[207,299,301,304,306,308,311,313],{"class":209,"line":300},5,[207,302,303],{"class":291},"    appName",[207,305,295],{"class":217},[207,307,232],{"class":231},[207,309,310],{"class":235},"YOUR-APP-NAME",[207,312,239],{"class":231},[207,314,315],{"class":217},",\n",[207,317,319,322,324,326,329,331],{"class":209,"line":318},6,[207,320,321],{"class":291},"    appVersion",[207,323,295],{"class":217},[207,325,232],{"class":231},[207,327,328],{"class":235},"1.0.2",[207,330,239],{"class":231},[207,332,315],{"class":217},[207,334,336],{"class":209,"line":335},7,[207,337,338],{"class":217},"  },\n",[207,340,342,345,348],{"class":209,"line":341},8,[207,343,344],{"class":217},"}",[207,346,347],{"class":221},")",[207,349,242],{"class":217},[207,351,353],{"class":209,"line":352},9,[207,354,248],{"emptyLinePlaceholder":32},[207,356,358,361,363,365,368,371],{"class":209,"line":357},10,[207,359,360],{"class":213},"await",[207,362,262],{"class":221},[207,364,124],{"class":217},[207,366,367],{"class":269},"initialize",[207,369,370],{"class":221},"()",[207,372,242],{"class":217},[185,374,376],{"id":375},"logger",[121,377,375],{},[114,379,380,381,383,384,387],{},"By default, the SDK logs to the console and it is set to log warnings and errors only. You can configure a ",[121,382,375],{}," by either creating a ConfigDirector console logger with a different log level, or by implementing the ",[121,385,386],{},"ConfigDirectorLogger"," interface to provide your own logger. The interface can be used to create an adapter to another logging library.",[114,389,390],{},"Configure the ConfigDirector console logger to a different level:",[197,392,394],{"className":199,"code":393,"filename":201,"language":202,"meta":203,"style":203},"import { createClient, createConsoleLogger } from \"@configdirector\u002Fserver-sdk\";\n\nexport const client = createClient(\"YOUR-SERVER-SDK-KEY\", {\n  logger: createConsoleLogger(\"debug\"),\n});\n\nawait client.initialize();\n",[121,395,396,421,425,449,471,479,483],{"__ignoreMap":203},[207,397,398,400,402,404,406,409,411,413,415,417,419],{"class":209,"line":210},[207,399,214],{"class":213},[207,401,218],{"class":217},[207,403,222],{"class":221},[207,405,282],{"class":217},[207,407,408],{"class":221}," createConsoleLogger",[207,410,225],{"class":217},[207,412,228],{"class":213},[207,414,232],{"class":231},[207,416,236],{"class":235},[207,418,239],{"class":231},[207,420,242],{"class":217},[207,422,423],{"class":209,"line":245},[207,424,248],{"emptyLinePlaceholder":32},[207,426,427,429,431,433,435,437,439,441,443,445,447],{"class":209,"line":251},[207,428,254],{"class":213},[207,430,258],{"class":257},[207,432,262],{"class":261},[207,434,266],{"class":265},[207,436,222],{"class":269},[207,438,272],{"class":221},[207,440,239],{"class":231},[207,442,277],{"class":235},[207,444,239],{"class":231},[207,446,282],{"class":217},[207,448,285],{"class":217},[207,450,451,454,456,458,460,462,465,467,469],{"class":209,"line":288},[207,452,453],{"class":291},"  logger",[207,455,295],{"class":217},[207,457,408],{"class":269},[207,459,272],{"class":221},[207,461,239],{"class":231},[207,463,464],{"class":235},"debug",[207,466,239],{"class":231},[207,468,347],{"class":221},[207,470,315],{"class":217},[207,472,473,475,477],{"class":209,"line":300},[207,474,344],{"class":217},[207,476,347],{"class":221},[207,478,242],{"class":217},[207,480,481],{"class":209,"line":318},[207,482,248],{"emptyLinePlaceholder":32},[207,484,485,487,489,491,493,495],{"class":209,"line":335},[207,486,360],{"class":213},[207,488,262],{"class":221},[207,490,124],{"class":217},[207,492,367],{"class":269},[207,494,370],{"class":221},[207,496,242],{"class":217},[114,498,499],{},"Implement your own logger adapter:",[197,501,503],{"className":199,"code":502,"filename":201,"language":202,"meta":203,"style":203},"import { createClient, ConfigDirectorLogger } from \"@configdirector\u002Fserver-sdk\";\n\nconst myLogger: ConfigDirectorLogger = {\n  debug: function (message: string, ...args: any): void {\n    \u002F\u002F your specific logging library implementation here\n  },\n  info: function (message: string, ...args: any): void {\n    \u002F\u002F your specific logging library implementation here\n  },\n  warn: function (message: string, ...args: any): void {\n    \u002F\u002F your specific logging library implementation here\n  },\n  error: function (message: string, ...args: any): void {\n    \u002F\u002F your specific logging library implementation here\n  },\n};\n\nexport const client = createClient(\"YOUR-SERVER-SDK-KEY\", {\n  logger: myLogger,\n});\n\nawait client.initialize();\n",[121,504,505,530,534,551,596,602,606,641,645,649,684,689,694,730,735,740,746,751,776,787,796,801],{"__ignoreMap":203},[207,506,507,509,511,513,515,518,520,522,524,526,528],{"class":209,"line":210},[207,508,214],{"class":213},[207,510,218],{"class":217},[207,512,222],{"class":221},[207,514,282],{"class":217},[207,516,517],{"class":221}," ConfigDirectorLogger",[207,519,225],{"class":217},[207,521,228],{"class":213},[207,523,232],{"class":231},[207,525,236],{"class":235},[207,527,239],{"class":231},[207,529,242],{"class":217},[207,531,532],{"class":209,"line":245},[207,533,248],{"emptyLinePlaceholder":32},[207,535,536,539,542,544,547,549],{"class":209,"line":251},[207,537,538],{"class":257},"const",[207,540,541],{"class":261}," myLogger",[207,543,295],{"class":265},[207,545,517],{"class":546},"sbgvK",[207,548,266],{"class":265},[207,550,285],{"class":217},[207,552,553,556,558,561,564,568,570,574,576,579,582,584,587,589,591,594],{"class":209,"line":288},[207,554,555],{"class":269},"  debug",[207,557,295],{"class":217},[207,559,560],{"class":257}," function",[207,562,563],{"class":217}," (",[207,565,567],{"class":566},"s99_P","message",[207,569,295],{"class":265},[207,571,573],{"class":572},"sZMiF"," string",[207,575,282],{"class":217},[207,577,578],{"class":265}," ...",[207,580,581],{"class":566},"args",[207,583,295],{"class":265},[207,585,586],{"class":572}," any",[207,588,347],{"class":217},[207,590,295],{"class":265},[207,592,593],{"class":572}," void",[207,595,285],{"class":217},[207,597,598],{"class":209,"line":300},[207,599,601],{"class":600},"sutJx","    \u002F\u002F your specific logging library implementation here\n",[207,603,604],{"class":209,"line":318},[207,605,338],{"class":217},[207,607,608,611,613,615,617,619,621,623,625,627,629,631,633,635,637,639],{"class":209,"line":335},[207,609,610],{"class":269},"  info",[207,612,295],{"class":217},[207,614,560],{"class":257},[207,616,563],{"class":217},[207,618,567],{"class":566},[207,620,295],{"class":265},[207,622,573],{"class":572},[207,624,282],{"class":217},[207,626,578],{"class":265},[207,628,581],{"class":566},[207,630,295],{"class":265},[207,632,586],{"class":572},[207,634,347],{"class":217},[207,636,295],{"class":265},[207,638,593],{"class":572},[207,640,285],{"class":217},[207,642,643],{"class":209,"line":341},[207,644,601],{"class":600},[207,646,647],{"class":209,"line":352},[207,648,338],{"class":217},[207,650,651,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682],{"class":209,"line":357},[207,652,653],{"class":269},"  warn",[207,655,295],{"class":217},[207,657,560],{"class":257},[207,659,563],{"class":217},[207,661,567],{"class":566},[207,663,295],{"class":265},[207,665,573],{"class":572},[207,667,282],{"class":217},[207,669,578],{"class":265},[207,671,581],{"class":566},[207,673,295],{"class":265},[207,675,586],{"class":572},[207,677,347],{"class":217},[207,679,295],{"class":265},[207,681,593],{"class":572},[207,683,285],{"class":217},[207,685,687],{"class":209,"line":686},11,[207,688,601],{"class":600},[207,690,692],{"class":209,"line":691},12,[207,693,338],{"class":217},[207,695,697,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728],{"class":209,"line":696},13,[207,698,699],{"class":269},"  error",[207,701,295],{"class":217},[207,703,560],{"class":257},[207,705,563],{"class":217},[207,707,567],{"class":566},[207,709,295],{"class":265},[207,711,573],{"class":572},[207,713,282],{"class":217},[207,715,578],{"class":265},[207,717,581],{"class":566},[207,719,295],{"class":265},[207,721,586],{"class":572},[207,723,347],{"class":217},[207,725,295],{"class":265},[207,727,593],{"class":572},[207,729,285],{"class":217},[207,731,733],{"class":209,"line":732},14,[207,734,601],{"class":600},[207,736,738],{"class":209,"line":737},15,[207,739,338],{"class":217},[207,741,743],{"class":209,"line":742},16,[207,744,745],{"class":217},"};\n",[207,747,749],{"class":209,"line":748},17,[207,750,248],{"emptyLinePlaceholder":32},[207,752,754,756,758,760,762,764,766,768,770,772,774],{"class":209,"line":753},18,[207,755,254],{"class":213},[207,757,258],{"class":257},[207,759,262],{"class":261},[207,761,266],{"class":265},[207,763,222],{"class":269},[207,765,272],{"class":221},[207,767,239],{"class":231},[207,769,277],{"class":235},[207,771,239],{"class":231},[207,773,282],{"class":217},[207,775,285],{"class":217},[207,777,779,781,783,785],{"class":209,"line":778},19,[207,780,453],{"class":291},[207,782,295],{"class":217},[207,784,541],{"class":221},[207,786,315],{"class":217},[207,788,790,792,794],{"class":209,"line":789},20,[207,791,344],{"class":217},[207,793,347],{"class":221},[207,795,242],{"class":217},[207,797,799],{"class":209,"line":798},21,[207,800,248],{"emptyLinePlaceholder":32},[207,802,804,806,808,810,812,814],{"class":209,"line":803},22,[207,805,360],{"class":213},[207,807,262],{"class":221},[207,809,124],{"class":217},[207,811,367],{"class":269},[207,813,370],{"class":221},[207,815,242],{"class":217},[185,817,819],{"id":818},"connection",[121,820,818],{},[114,822,823],{},"The connection object accepts three optional values:",[825,826,827,856,878],"ul",{},[162,828,829,832],{},[121,830,831],{},"mode",[825,833,834,851],{},[162,835,836,837,840,841,844,845,847,848,850],{},"The connection mode, which can be either ",[121,838,839],{},"streaming"," or ",[121,842,843],{},"polling",". It is recommended to use the default of ",[121,846,839],{}," unless you have a specific need to use ",[121,849,843],{}," instead.",[162,852,853,854],{},"Defaults to ",[121,855,839],{},[162,857,858,861],{},[121,859,860],{},"timeout",[825,862,863,872],{},[162,864,865,866,868,869,871],{},"The timeout, in milliseconds, to be used in initialization. This is how long the ",[121,867,367],{}," method will wait for data from ConfigDirector services before resolving its Promise. If the timeout is reached, ",[121,870,367],{}," will return but the client will still be in an unready status and returning default values. The client will continue to attempt to connect and retrieve config values in the background.",[162,873,853,874,877],{},[121,875,876],{},"3000"," milliseconds",[162,879,880,883],{},[121,881,882],{},"url",[825,884,885,888],{},[162,886,887],{},"The base URL used to connect to ConfigDirector services",[162,889,890],{},"This should only be provided if your environment requires you to configure a proxy server in order to connect to ConfigDirector services",[197,892,894],{"className":199,"code":893,"filename":201,"language":202,"meta":203,"style":203},"import { createClient } from \"@configdirector\u002Fserver-sdk\";\n\nexport const client = createClient(\"YOUR-SERVER-SDK-KEY\", {\n  connection: {\n    mode: \"streaming\",\n    timeout: 2_000, \u002F\u002F 2,000 milliseconds initialization timeout\n  },\n});\n\nawait client.initialize();\n",[121,895,896,916,920,944,953,968,984,988,996,1000],{"__ignoreMap":203},[207,897,898,900,902,904,906,908,910,912,914],{"class":209,"line":210},[207,899,214],{"class":213},[207,901,218],{"class":217},[207,903,222],{"class":221},[207,905,225],{"class":217},[207,907,228],{"class":213},[207,909,232],{"class":231},[207,911,236],{"class":235},[207,913,239],{"class":231},[207,915,242],{"class":217},[207,917,918],{"class":209,"line":245},[207,919,248],{"emptyLinePlaceholder":32},[207,921,922,924,926,928,930,932,934,936,938,940,942],{"class":209,"line":251},[207,923,254],{"class":213},[207,925,258],{"class":257},[207,927,262],{"class":261},[207,929,266],{"class":265},[207,931,222],{"class":269},[207,933,272],{"class":221},[207,935,239],{"class":231},[207,937,277],{"class":235},[207,939,239],{"class":231},[207,941,282],{"class":217},[207,943,285],{"class":217},[207,945,946,949,951],{"class":209,"line":288},[207,947,948],{"class":291},"  connection",[207,950,295],{"class":217},[207,952,285],{"class":217},[207,954,955,958,960,962,964,966],{"class":209,"line":300},[207,956,957],{"class":291},"    mode",[207,959,295],{"class":217},[207,961,232],{"class":231},[207,963,839],{"class":235},[207,965,239],{"class":231},[207,967,315],{"class":217},[207,969,970,973,975,979,981],{"class":209,"line":318},[207,971,972],{"class":291},"    timeout",[207,974,295],{"class":217},[207,976,978],{"class":977},"srdBf"," 2_000",[207,980,282],{"class":217},[207,982,983],{"class":600}," \u002F\u002F 2,000 milliseconds initialization timeout\n",[207,985,986],{"class":209,"line":335},[207,987,338],{"class":217},[207,989,990,992,994],{"class":209,"line":341},[207,991,344],{"class":217},[207,993,347],{"class":221},[207,995,242],{"class":217},[207,997,998],{"class":209,"line":352},[207,999,248],{"emptyLinePlaceholder":32},[207,1001,1002,1004,1006,1008,1010,1012],{"class":209,"line":357},[207,1003,360],{"class":213},[207,1005,262],{"class":221},[207,1007,124],{"class":217},[207,1009,367],{"class":269},[207,1011,370],{"class":221},[207,1013,242],{"class":217},[185,1015,1017],{"id":1016},"telemetry",[121,1018,1016],{},[114,1020,1021],{},"Telemetry tunning. It is unlikely these settings need to be adjusted. However, in cases where your application has a large number of evaluations per second, you can adjust these settings to tune the memory footprint and frequency of telemetry requests.",[114,1023,1024],{},"Keep in mind that ConfigDirector relies on these telemetry events to provide insights and features related to the configs being used.",[114,1026,1027],{},"The telemetry object accepts the following optional values:",[825,1029,1030,1046],{},[162,1031,1032,1035],{},[121,1033,1034],{},"eventQueueLimit",[825,1036,1037,1040,1043],{},[162,1038,1039],{},"The size limit of telemetry event queues. If the size limit is reached before the events are flushed to the network, older events will be dropped.",[162,1041,1042],{},"ConfigDirector keeps a count of dropped events. If the number of dropped events is higher than 50% of the total events, ConfigDirector will issue a notification alert in the dashboard.",[162,1044,1045],{},"A number between 100 and 100,000. Defaults to 5,000.",[162,1047,1048,1051],{},[121,1049,1050],{},"flushInterval",[825,1052,1053,1056,1059],{},[162,1054,1055],{},"How often events are flushed and sent over the network in milliseconds.",[162,1057,1058],{},"Decrease this number if your application consistently captures a large number of events in short periods of time in order to reduce memory footprint from a large event queue.",[162,1060,1061],{},"Defaults to 30,000 milliseconds (30 seconds).",[197,1063,1065],{"className":199,"code":1064,"filename":201,"language":202,"meta":203,"style":203},"import { createClient } from \"@configdirector\u002Fserver-sdk\";\n\nexport const client = createClient(\"YOUR-SERVER-SDK-KEY\", {\n  telemetry: {\n    eventQueueLimit: 5_000,\n    flushInterval: 30_000,\n  },\n});\n\nawait client.initialize();\n",[121,1066,1067,1087,1091,1115,1124,1136,1148,1152,1160,1164],{"__ignoreMap":203},[207,1068,1069,1071,1073,1075,1077,1079,1081,1083,1085],{"class":209,"line":210},[207,1070,214],{"class":213},[207,1072,218],{"class":217},[207,1074,222],{"class":221},[207,1076,225],{"class":217},[207,1078,228],{"class":213},[207,1080,232],{"class":231},[207,1082,236],{"class":235},[207,1084,239],{"class":231},[207,1086,242],{"class":217},[207,1088,1089],{"class":209,"line":245},[207,1090,248],{"emptyLinePlaceholder":32},[207,1092,1093,1095,1097,1099,1101,1103,1105,1107,1109,1111,1113],{"class":209,"line":251},[207,1094,254],{"class":213},[207,1096,258],{"class":257},[207,1098,262],{"class":261},[207,1100,266],{"class":265},[207,1102,222],{"class":269},[207,1104,272],{"class":221},[207,1106,239],{"class":231},[207,1108,277],{"class":235},[207,1110,239],{"class":231},[207,1112,282],{"class":217},[207,1114,285],{"class":217},[207,1116,1117,1120,1122],{"class":209,"line":288},[207,1118,1119],{"class":291},"  telemetry",[207,1121,295],{"class":217},[207,1123,285],{"class":217},[207,1125,1126,1129,1131,1134],{"class":209,"line":300},[207,1127,1128],{"class":291},"    eventQueueLimit",[207,1130,295],{"class":217},[207,1132,1133],{"class":977}," 5_000",[207,1135,315],{"class":217},[207,1137,1138,1141,1143,1146],{"class":209,"line":318},[207,1139,1140],{"class":291},"    flushInterval",[207,1142,295],{"class":217},[207,1144,1145],{"class":977}," 30_000",[207,1147,315],{"class":217},[207,1149,1150],{"class":209,"line":335},[207,1151,338],{"class":217},[207,1153,1154,1156,1158],{"class":209,"line":341},[207,1155,344],{"class":217},[207,1157,347],{"class":221},[207,1159,242],{"class":217},[207,1161,1162],{"class":209,"line":352},[207,1163,248],{"emptyLinePlaceholder":32},[207,1165,1166,1168,1170,1172,1174,1176],{"class":209,"line":357},[207,1167,360],{"class":213},[207,1169,262],{"class":221},[207,1171,124],{"class":217},[207,1173,367],{"class":269},[207,1175,370],{"class":221},[207,1177,242],{"class":217},[109,1179,1181],{"id":1180},"retrieve-config-values","Retrieve config values",[151,1183],{"name":1184},"sdks\u002Fnode\u002Fsimple-usage",[180,1186,1188],{"id":1187},"evaluate-config-values-with-a-user-context","Evaluate config values with a user context",[114,1190,1191,1194],{},[121,1192,1193],{},"getValue"," accepts three arguments, the first argument is the config key, the second one is the default value to be returned if the client is not yet initialized, and the third and optional argument is a user context to be used for targeting rules evaluation:",[197,1196,1199],{"className":199,"code":1197,"filename":1198,"language":202,"meta":203,"style":203},"client.getValue(\"my-string-config-key\", \"Default\");\n\nclient.getValue(\"my-boolean-config-key\", false, { id: \"user-id\", name: \"Example User\" });\n\nclient.getValue\u003CMyEnum>(\"my-enum-config-key\", MyEnum.SomeDefaultValue, {\n  id: \"user-id\",\n  traits: { region: \"Australia\" },\n});\n","main.ts",[121,1200,1201,1232,1236,1295,1299,1339,1354,1378],{"__ignoreMap":203},[207,1202,1203,1206,1208,1210,1212,1214,1217,1219,1221,1223,1226,1228,1230],{"class":209,"line":210},[207,1204,1205],{"class":221},"client",[207,1207,124],{"class":217},[207,1209,1193],{"class":269},[207,1211,272],{"class":221},[207,1213,239],{"class":231},[207,1215,1216],{"class":235},"my-string-config-key",[207,1218,239],{"class":231},[207,1220,282],{"class":217},[207,1222,232],{"class":231},[207,1224,1225],{"class":235},"Default",[207,1227,239],{"class":231},[207,1229,347],{"class":221},[207,1231,242],{"class":217},[207,1233,1234],{"class":209,"line":245},[207,1235,248],{"emptyLinePlaceholder":32},[207,1237,1238,1240,1242,1244,1246,1248,1251,1253,1255,1259,1261,1263,1266,1268,1270,1273,1275,1277,1280,1282,1284,1287,1289,1291,1293],{"class":209,"line":251},[207,1239,1205],{"class":221},[207,1241,124],{"class":217},[207,1243,1193],{"class":269},[207,1245,272],{"class":221},[207,1247,239],{"class":231},[207,1249,1250],{"class":235},"my-boolean-config-key",[207,1252,239],{"class":231},[207,1254,282],{"class":217},[207,1256,1258],{"class":1257},"syTEX"," false",[207,1260,282],{"class":217},[207,1262,218],{"class":217},[207,1264,1265],{"class":291}," id",[207,1267,295],{"class":217},[207,1269,232],{"class":231},[207,1271,1272],{"class":235},"user-id",[207,1274,239],{"class":231},[207,1276,282],{"class":217},[207,1278,1279],{"class":291}," name",[207,1281,295],{"class":217},[207,1283,232],{"class":231},[207,1285,1286],{"class":235},"Example User",[207,1288,239],{"class":231},[207,1290,225],{"class":217},[207,1292,347],{"class":221},[207,1294,242],{"class":217},[207,1296,1297],{"class":209,"line":288},[207,1298,248],{"emptyLinePlaceholder":32},[207,1300,1301,1303,1305,1307,1310,1313,1316,1318,1320,1323,1325,1327,1330,1332,1335,1337],{"class":209,"line":300},[207,1302,1205],{"class":221},[207,1304,124],{"class":217},[207,1306,1193],{"class":269},[207,1308,1309],{"class":217},"\u003C",[207,1311,1312],{"class":546},"MyEnum",[207,1314,1315],{"class":217},">",[207,1317,272],{"class":221},[207,1319,239],{"class":231},[207,1321,1322],{"class":235},"my-enum-config-key",[207,1324,239],{"class":231},[207,1326,282],{"class":217},[207,1328,1329],{"class":221}," MyEnum",[207,1331,124],{"class":217},[207,1333,1334],{"class":221},"SomeDefaultValue",[207,1336,282],{"class":217},[207,1338,285],{"class":217},[207,1340,1341,1344,1346,1348,1350,1352],{"class":209,"line":318},[207,1342,1343],{"class":291},"  id",[207,1345,295],{"class":217},[207,1347,232],{"class":231},[207,1349,1272],{"class":235},[207,1351,239],{"class":231},[207,1353,315],{"class":217},[207,1355,1356,1359,1361,1363,1366,1368,1370,1373,1375],{"class":209,"line":335},[207,1357,1358],{"class":291},"  traits",[207,1360,295],{"class":217},[207,1362,218],{"class":217},[207,1364,1365],{"class":291}," region",[207,1367,295],{"class":217},[207,1369,232],{"class":231},[207,1371,1372],{"class":235},"Australia",[207,1374,239],{"class":231},[207,1376,1377],{"class":217}," },\n",[207,1379,1380,1382,1384],{"class":209,"line":341},[207,1381,344],{"class":217},[207,1383,347],{"class":221},[207,1385,242],{"class":217},[114,1387,1388,1391],{},[121,1389,1390],{},"watch"," accepts four arguments, the first is the config key, the second argument is the default value, the third argument is a callback function that will be executed when the config value is updated, and the fourth and optional argument is a user context:",[197,1393,1395],{"className":199,"code":1394,"filename":1198,"language":202,"meta":203,"style":203},"const unwatchMyKey = client.watch(\n  \"my-string-config-key\",\n  \"Default\",\n  (newValue) => {\n    console.log(\"Value updated:\", newValue);\n  },\n  { id: \"user-id\", name: \"Example User\", traits: { region: \"North America\" } }, \u002F\u002F User context\n);\n\nunwatchMyKey(); \u002F\u002F Call the unwatch function returned to remove the observer\n",[121,1396,1397,1415,1426,1436,1451,1479,1483,1538,1544,1548],{"__ignoreMap":203},[207,1398,1399,1401,1404,1406,1408,1410,1412],{"class":209,"line":210},[207,1400,538],{"class":257},[207,1402,1403],{"class":261}," unwatchMyKey",[207,1405,266],{"class":265},[207,1407,262],{"class":221},[207,1409,124],{"class":217},[207,1411,1390],{"class":269},[207,1413,1414],{"class":221},"(\n",[207,1416,1417,1420,1422,1424],{"class":209,"line":245},[207,1418,1419],{"class":231},"  \"",[207,1421,1216],{"class":235},[207,1423,239],{"class":231},[207,1425,315],{"class":217},[207,1427,1428,1430,1432,1434],{"class":209,"line":251},[207,1429,1419],{"class":231},[207,1431,1225],{"class":235},[207,1433,239],{"class":231},[207,1435,315],{"class":217},[207,1437,1438,1441,1444,1446,1449],{"class":209,"line":288},[207,1439,1440],{"class":217},"  (",[207,1442,1443],{"class":566},"newValue",[207,1445,347],{"class":217},[207,1447,1448],{"class":257}," =>",[207,1450,285],{"class":217},[207,1452,1453,1456,1458,1461,1463,1465,1468,1470,1472,1475,1477],{"class":209,"line":300},[207,1454,1455],{"class":221},"    console",[207,1457,124],{"class":217},[207,1459,1460],{"class":269},"log",[207,1462,272],{"class":291},[207,1464,239],{"class":231},[207,1466,1467],{"class":235},"Value updated:",[207,1469,239],{"class":231},[207,1471,282],{"class":217},[207,1473,1474],{"class":221}," newValue",[207,1476,347],{"class":291},[207,1478,242],{"class":217},[207,1480,1481],{"class":209,"line":318},[207,1482,338],{"class":217},[207,1484,1485,1488,1490,1492,1494,1496,1498,1500,1502,1504,1506,1508,1510,1512,1515,1517,1519,1521,1523,1525,1528,1530,1532,1535],{"class":209,"line":335},[207,1486,1487],{"class":217},"  {",[207,1489,1265],{"class":291},[207,1491,295],{"class":217},[207,1493,232],{"class":231},[207,1495,1272],{"class":235},[207,1497,239],{"class":231},[207,1499,282],{"class":217},[207,1501,1279],{"class":291},[207,1503,295],{"class":217},[207,1505,232],{"class":231},[207,1507,1286],{"class":235},[207,1509,239],{"class":231},[207,1511,282],{"class":217},[207,1513,1514],{"class":291}," traits",[207,1516,295],{"class":217},[207,1518,218],{"class":217},[207,1520,1365],{"class":291},[207,1522,295],{"class":217},[207,1524,232],{"class":231},[207,1526,1527],{"class":235},"North America",[207,1529,239],{"class":231},[207,1531,225],{"class":217},[207,1533,1534],{"class":217}," },",[207,1536,1537],{"class":600}," \u002F\u002F User context\n",[207,1539,1540,1542],{"class":209,"line":341},[207,1541,347],{"class":221},[207,1543,242],{"class":217},[207,1545,1546],{"class":209,"line":352},[207,1547,248],{"emptyLinePlaceholder":32},[207,1549,1550,1553,1555,1558],{"class":209,"line":357},[207,1551,1552],{"class":269},"unwatchMyKey",[207,1554,370],{"class":221},[207,1556,1557],{"class":217},";",[207,1559,1560],{"class":600}," \u002F\u002F Call the unwatch function returned to remove the observer\n",[109,1562,1564],{"id":1563},"other-useful-client-features","Other useful client features",[114,1566,1567],{},"The client provides additional properties and methods.",[180,1569,1571],{"id":1570},"isready",[121,1572,1573],{},"isReady",[114,1575,1576,1577,1580,1581,1584,1585,1587],{},"Returns a boolean indicating if the client has been successfully initialized and is ready to evaluate configs. It is initially ",[121,1578,1579],{},"false"," and becomes ",[121,1582,1583],{},"true"," after ",[121,1586,367],{}," succeeds.",[180,1589,1591],{"id":1590},"unwatchall",[121,1592,1593],{},"unwatchAll",[114,1595,1596,1597,124],{},"Removes all listeners for all config keys that were previously created via ",[121,1598,1390],{},[180,1600,1602],{"id":1601},"dispose",[121,1603,1601],{},[114,1605,1606,1607,1609],{},"Removes all listeners and observers, and closes all connections to ConfigDirector services. Only call ",[121,1608,1601],{}," when your application shuts down and it will no longer make use of the client instance.",[114,1611,1612,1613,1615],{},"It is generally not needed for applications to call ",[121,1614,1601],{}," explicitly.",[1617,1618,1619],"style",{},"html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}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 .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .s99_P, html code.shiki .s99_P{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit}html pre.shiki code .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .syTEX, html code.shiki .syTEX{--shiki-light:#FF5370;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":203,"searchDepth":245,"depth":245,"links":1621},[1622,1623,1624,1627,1630],{"id":111,"depth":245,"text":112},{"id":139,"depth":245,"text":140},{"id":156,"depth":245,"text":157,"children":1625},[1626],{"id":182,"depth":251,"text":183},{"id":1180,"depth":245,"text":1181,"children":1628},[1629],{"id":1187,"depth":251,"text":1188},{"id":1563,"depth":245,"text":1564,"children":1631},[1632,1633,1634],{"id":1570,"depth":251,"text":1573},{"id":1590,"depth":251,"text":1593},{"id":1601,"depth":251,"text":1601},"md",null,{},{"icon":98},{"title":95,"description":107},"LS3yfsD4b9UHjucfioDRkB_z6P2A46gjCLtyy41VVPk",[1642,1636],{"title":84,"path":85,"stem":86,"description":1643,"icon":87,"children":-1},"Nuxt SDK",{"id":1645,"title":1646,"body":1647,"description":203,"extension":1635,"links":1636,"meta":1722,"navigation":6,"path":1723,"seo":1724,"stem":1725,"__hash__":1726},"docs\u002F_partials\u002Fsdks\u002Fnode\u002Finstall.md","Install",{"type":102,"value":1648,"toc":1720},[1649,1717],[1650,1651,1652,1674,1689,1703],"code-group",{},[197,1653,1658],{"className":1654,"code":1655,"filename":1656,"language":1657,"meta":203,"style":203},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark","npm install --save @configdirector\u002Fserver-sdk\n","npm","bash",[121,1659,1660],{"__ignoreMap":203},[207,1661,1662,1664,1667,1671],{"class":209,"line":210},[207,1663,1656],{"class":546},[207,1665,1666],{"class":235}," install",[207,1668,1670],{"class":1669},"stzsN"," --save",[207,1672,1673],{"class":235}," @configdirector\u002Fserver-sdk\n",[197,1675,1678],{"className":1654,"code":1676,"filename":1677,"language":1657,"meta":203,"style":203},"yarn add @configdirector\u002Fserver-sdk\n","yarn",[121,1679,1680],{"__ignoreMap":203},[207,1681,1682,1684,1687],{"class":209,"line":210},[207,1683,1677],{"class":546},[207,1685,1686],{"class":235}," add",[207,1688,1673],{"class":235},[197,1690,1693],{"className":1654,"code":1691,"filename":1692,"language":1657,"meta":48,"style":203},"pnpm add @configdirector\u002Fserver-sdk\n","pnpm",[121,1694,1695],{"__ignoreMap":203},[207,1696,1697,1699,1701],{"class":209,"line":210},[207,1698,1692],{"class":546},[207,1700,1686],{"class":235},[207,1702,1673],{"class":235},[197,1704,1707],{"className":1654,"code":1705,"filename":1706,"language":1657,"meta":203,"style":203},"bun add @configdirector\u002Fserver-sdk\n","bun",[121,1708,1709],{"__ignoreMap":203},[207,1710,1711,1713,1715],{"class":209,"line":210},[207,1712,1706],{"class":546},[207,1714,1686],{"class":235},[207,1716,1673],{"class":235},[1617,1718,1719],{},"html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .stzsN, html code.shiki .stzsN{--shiki-light:#91B859;--shiki-default:#005CC5;--shiki-dark:#79B8FF}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);}",{"title":203,"searchDepth":245,"depth":245,"links":1721},[],{},"\u002F_partials\u002Fsdks\u002Fnode\u002Finstall",{"description":203},"_partials\u002Fsdks\u002Fnode\u002Finstall","WBTm9NfVapg8OqUIAjMKDIhafilVhkSWD70UjGbOqQE",{"id":1728,"title":1729,"body":1730,"description":203,"extension":1635,"links":1636,"meta":1810,"navigation":6,"path":1811,"seo":1812,"stem":1813,"__hash__":1814},"docs\u002F_partials\u002Fsdks\u002Fnode\u002Fconfigure.md","Configure",{"type":102,"value":1731,"toc":1808},[1732,1805],[197,1733,1736],{"className":199,"code":1734,"filename":1735,"language":202,"meta":203,"style":203},"import { createClient } from \"@configdirector\u002Fserver-sdk\";\n\n\u002F\u002F IMPORTANT: Do not commit the server SDK key to your source code, it is a secret value.\nexport const client = createClient(\"YOUR-SERVER-SDK-KEY\");\nawait client.initialize();\n","config-director-setup.ts (Initialize the client)",[121,1737,1738,1758,1762,1767,1791],{"__ignoreMap":203},[207,1739,1740,1742,1744,1746,1748,1750,1752,1754,1756],{"class":209,"line":210},[207,1741,214],{"class":213},[207,1743,218],{"class":217},[207,1745,222],{"class":221},[207,1747,225],{"class":217},[207,1749,228],{"class":213},[207,1751,232],{"class":231},[207,1753,236],{"class":235},[207,1755,239],{"class":231},[207,1757,242],{"class":217},[207,1759,1760],{"class":209,"line":245},[207,1761,248],{"emptyLinePlaceholder":32},[207,1763,1764],{"class":209,"line":251},[207,1765,1766],{"class":600},"\u002F\u002F IMPORTANT: Do not commit the server SDK key to your source code, it is a secret value.\n",[207,1768,1769,1771,1773,1775,1777,1779,1781,1783,1785,1787,1789],{"class":209,"line":288},[207,1770,254],{"class":213},[207,1772,258],{"class":257},[207,1774,262],{"class":261},[207,1776,266],{"class":265},[207,1778,222],{"class":269},[207,1780,272],{"class":221},[207,1782,239],{"class":231},[207,1784,277],{"class":235},[207,1786,239],{"class":231},[207,1788,347],{"class":221},[207,1790,242],{"class":217},[207,1792,1793,1795,1797,1799,1801,1803],{"class":209,"line":300},[207,1794,360],{"class":213},[207,1796,262],{"class":221},[207,1798,124],{"class":217},[207,1800,367],{"class":269},[207,1802,370],{"class":221},[207,1804,242],{"class":217},[1617,1806,1807],{},"html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}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);}",{"title":203,"searchDepth":245,"depth":245,"links":1809},[],{},"\u002F_partials\u002Fsdks\u002Fnode\u002Fconfigure",{"description":203},"_partials\u002Fsdks\u002Fnode\u002Fconfigure","C-zf9iyKhwRdIHAmhpSpo7PCnYHB7UFPPhjCoCVOGlo",{"id":1816,"title":1817,"body":1818,"description":2015,"extension":1635,"links":1636,"meta":2016,"navigation":6,"path":2017,"seo":2018,"stem":2019,"__hash__":2020},"docs\u002F_partials\u002Fsdks\u002Fnode\u002Fsimple-usage.md","Simple Usage",{"type":102,"value":1819,"toc":2013},[1820,1828,2010],[114,1821,1822,1823,1825,1826,295],{},"Retrieving config values via ",[121,1824,1193],{},", and subscribe to updates via ",[121,1827,1390],{},[197,1829,1831],{"className":199,"code":1830,"filename":1198,"language":202,"meta":203,"style":203},"import { client } from \".\u002Fconfig-director-setup\"\n\n\u002F\u002F Retrieve the current value\nclient.getValue(\"my-config-key\", false);\n\n\u002F\u002F Subscribe to value updates\nconst unwatchMyKey = client.watch(\"my-config-key\", false, (newValue) => {\n  console.log(\"Value updated:\", newValue);\n});\n\nunwatchMyKey(); \u002F\u002F Call the unwatch function returned to remove the listener\n\nclient.unwatch(\"my-config-key\"); \u002F\u002F Removes all listeners for that key\n",[121,1832,1833,1853,1857,1862,1887,1891,1896,1934,1959,1967,1971,1982,1986],{"__ignoreMap":203},[207,1834,1835,1837,1839,1841,1843,1845,1847,1850],{"class":209,"line":210},[207,1836,214],{"class":213},[207,1838,218],{"class":217},[207,1840,262],{"class":221},[207,1842,225],{"class":217},[207,1844,228],{"class":213},[207,1846,232],{"class":231},[207,1848,1849],{"class":235},".\u002Fconfig-director-setup",[207,1851,1852],{"class":231},"\"\n",[207,1854,1855],{"class":209,"line":245},[207,1856,248],{"emptyLinePlaceholder":32},[207,1858,1859],{"class":209,"line":251},[207,1860,1861],{"class":600},"\u002F\u002F Retrieve the current value\n",[207,1863,1864,1866,1868,1870,1872,1874,1877,1879,1881,1883,1885],{"class":209,"line":288},[207,1865,1205],{"class":221},[207,1867,124],{"class":217},[207,1869,1193],{"class":269},[207,1871,272],{"class":221},[207,1873,239],{"class":231},[207,1875,1876],{"class":235},"my-config-key",[207,1878,239],{"class":231},[207,1880,282],{"class":217},[207,1882,1258],{"class":1257},[207,1884,347],{"class":221},[207,1886,242],{"class":217},[207,1888,1889],{"class":209,"line":300},[207,1890,248],{"emptyLinePlaceholder":32},[207,1892,1893],{"class":209,"line":318},[207,1894,1895],{"class":600},"\u002F\u002F Subscribe to value updates\n",[207,1897,1898,1900,1902,1904,1906,1908,1910,1912,1914,1916,1918,1920,1922,1924,1926,1928,1930,1932],{"class":209,"line":335},[207,1899,538],{"class":257},[207,1901,1403],{"class":261},[207,1903,266],{"class":265},[207,1905,262],{"class":221},[207,1907,124],{"class":217},[207,1909,1390],{"class":269},[207,1911,272],{"class":221},[207,1913,239],{"class":231},[207,1915,1876],{"class":235},[207,1917,239],{"class":231},[207,1919,282],{"class":217},[207,1921,1258],{"class":1257},[207,1923,282],{"class":217},[207,1925,563],{"class":217},[207,1927,1443],{"class":566},[207,1929,347],{"class":217},[207,1931,1448],{"class":257},[207,1933,285],{"class":217},[207,1935,1936,1939,1941,1943,1945,1947,1949,1951,1953,1955,1957],{"class":209,"line":341},[207,1937,1938],{"class":221},"  console",[207,1940,124],{"class":217},[207,1942,1460],{"class":269},[207,1944,272],{"class":291},[207,1946,239],{"class":231},[207,1948,1467],{"class":235},[207,1950,239],{"class":231},[207,1952,282],{"class":217},[207,1954,1474],{"class":221},[207,1956,347],{"class":291},[207,1958,242],{"class":217},[207,1960,1961,1963,1965],{"class":209,"line":352},[207,1962,344],{"class":217},[207,1964,347],{"class":221},[207,1966,242],{"class":217},[207,1968,1969],{"class":209,"line":357},[207,1970,248],{"emptyLinePlaceholder":32},[207,1972,1973,1975,1977,1979],{"class":209,"line":686},[207,1974,1552],{"class":269},[207,1976,370],{"class":221},[207,1978,1557],{"class":217},[207,1980,1981],{"class":600}," \u002F\u002F Call the unwatch function returned to remove the listener\n",[207,1983,1984],{"class":209,"line":691},[207,1985,248],{"emptyLinePlaceholder":32},[207,1987,1988,1990,1992,1995,1997,1999,2001,2003,2005,2007],{"class":209,"line":696},[207,1989,1205],{"class":221},[207,1991,124],{"class":217},[207,1993,1994],{"class":269},"unwatch",[207,1996,272],{"class":221},[207,1998,239],{"class":231},[207,2000,1876],{"class":235},[207,2002,239],{"class":231},[207,2004,347],{"class":221},[207,2006,1557],{"class":217},[207,2008,2009],{"class":600}," \u002F\u002F Removes all listeners for that key\n",[1617,2011,2012],{},"html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .syTEX, html code.shiki .syTEX{--shiki-light:#FF5370;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s99_P, html code.shiki .s99_P{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}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);}",{"title":203,"searchDepth":245,"depth":245,"links":2014},[],"Retrieving config values via getValue, and subscribe to updates via watch:",{},"\u002F_partials\u002Fsdks\u002Fnode\u002Fsimple-usage",{"description":2015},"_partials\u002Fsdks\u002Fnode\u002Fsimple-usage","UGzy6XbwGRHBbBy4KpKvovyt1O2hZuC7A9g38ra9hZA",1781641013020]