UNPKG

@snap/camera-kit

Version:
65 lines (61 loc) 31.4 kB
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>CameraKitBootstrapConfiguration | CameraKit Web SDK - v1.13.0</title><meta name="description" content="Documentation for CameraKit Web SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">CameraKit Web SDK - v1.13.0</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">CameraKit Web SDK</a></li><li><a href="CameraKitBootstrapConfiguration.html">CameraKitBootstrapConfiguration</a></li></ul><h1>Interface CameraKitBootstrapConfiguration</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>Configuration which must be provided when calling <a href="../functions/bootstrapCameraKit.html" class="tsd-kind-function">bootstrapCameraKit</a>. These values are used to create various CameraKit components.</p> </div><div class="tsd-comment tsd-typography"></div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">CameraKitBootstrapConfiguration</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="CameraKitBootstrapConfiguration.html#apitoken">apiToken</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CameraKitBootstrapConfiguration.html#logger">logger</a><span class="tsd-signature-symbol">?:</span> <a href="../types/Logger.html" class="tsd-signature-type tsd-kind-type-alias">Logger</a> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;noop&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;console&quot;</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CameraKitBootstrapConfiguration.html#loglevel">logLevel</a><span class="tsd-signature-symbol">?:</span> <a href="../types/LogLevel.html" class="tsd-signature-type tsd-kind-type-alias">LogLevel</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CameraKitBootstrapConfiguration.html#lensperformance">lensPerformance</a><span class="tsd-signature-symbol">?:</span><br/>        <span class="tsd-signature-symbol">|</span> <a href="EstimatedLensPerformance.html" class="tsd-signature-type tsd-kind-interface">EstimatedLensPerformance</a><br/>        <span class="tsd-signature-symbol">|</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol">&lt;</span><a href="EstimatedLensPerformance.html" class="tsd-signature-type tsd-kind-interface">EstimatedLensPerformance</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CameraKitBootstrapConfiguration.html#lenscoreoverrideurls">lensCoreOverrideUrls</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">wasm</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span> <span class="tsd-kind-property">js</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CameraKitBootstrapConfiguration.html#wasmendpointoverride">wasmEndpointOverride</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CameraKitBootstrapConfiguration.html#analyticsid">analyticsId</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CameraKitBootstrapConfiguration.html#fonts">fonts</a><span class="tsd-signature-symbol">?:</span> <a href="Font.html" class="tsd-signature-type tsd-kind-interface">Font</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CameraKitBootstrapConfiguration.html#lenshttphandler">lensHttpHandler</a><span class="tsd-signature-symbol">?:</span> <a href="../types/LensHttpHandler.html" class="tsd-signature-type tsd-kind-type-alias">LensHttpHandler</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="CameraKitBootstrapConfiguration.html#trustedtypespolicyname">trustedTypesPolicyName</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="CameraKitBootstrapConfiguration.html#apitoken" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>api<wbr/>Token</span></a> <a href="CameraKitBootstrapConfiguration.html#logger" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>logger?</span></a> <a href="CameraKitBootstrapConfiguration.html#loglevel" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>log<wbr/>Level?</span></a> <a href="CameraKitBootstrapConfiguration.html#lensperformance" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>lens<wbr/>Performance?</span></a> <a href="CameraKitBootstrapConfiguration.html#lenscoreoverrideurls" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>lens<wbr/>Core<wbr/>Override<wbr/>Urls?</span></a> <a href="CameraKitBootstrapConfiguration.html#wasmendpointoverride" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>wasm<wbr/>Endpoint<wbr/>Override?</span></a> <a href="CameraKitBootstrapConfiguration.html#analyticsid" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>analytics<wbr/>Id?</span></a> <a href="CameraKitBootstrapConfiguration.html#fonts" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>fonts?</span></a> <a href="CameraKitBootstrapConfiguration.html#lenshttphandler" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>lens<wbr/>Http<wbr/>Handler?</span></a> <a href="CameraKitBootstrapConfiguration.html#trustedtypespolicyname" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>trusted<wbr/>Types<wbr/>Policy<wbr/>Name?</span></a> </div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Properties</h2></summary><section><section class="tsd-panel tsd-member"><a id="apitoken" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>api<wbr/>Token</span><a href="#apitoken" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">apiToken</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><div class="tsd-comment tsd-typography"><p>Long-lived token granting your application access to CameraKit APIs. This is found in the SnapKit Dev Portal, where it's called the API Token.</p> </div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel tsd-member"><a id="logger" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>logger</span><a href="#logger" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">logger</span><span class="tsd-signature-symbol">?:</span> <a href="../types/Logger.html" class="tsd-signature-type tsd-kind-type-alias">Logger</a> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;noop&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;console&quot;</span></div><div class="tsd-comment tsd-typography"><p>Determine where to print CameraKit log messages. By default no logs will be printed.</p> <p>CameraKit emits log messages to help diagnose and root cause issues that may occur during the development of a host application. The printing of these can be controlled via the following options:</p> <ul> <li><code>&quot;noop&quot;</code>: log messages are ignored.</li> <li><code>&quot;console&quot;</code>: log messages are printed to console.</li> <li>A custom <a href="../types/Logger.html" class="tsd-kind-type-alias">Logger</a> instance can be provided to integrate with an existing logging system.</li> </ul> </div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel tsd-member"><a id="loglevel" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>log<wbr/>Level</span><a href="#loglevel" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">logLevel</span><span class="tsd-signature-symbol">?:</span> <a href="../types/LogLevel.html" class="tsd-signature-type tsd-kind-type-alias">LogLevel</a></div><div class="tsd-comment tsd-typography"><p>Log only if a logged entry level is greater than or equal to this level. Here is the order of levels: error &gt; warn &gt; log = info &gt; debug. Default value is &quot;info&quot;.</p> </div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel tsd-member"><a id="lensperformance" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>lens<wbr/>Performance</span><a href="#lensperformance" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">lensPerformance</span><span class="tsd-signature-symbol">?:</span> <a href="EstimatedLensPerformance.html" class="tsd-signature-type tsd-kind-interface">EstimatedLensPerformance</a> <span class="tsd-signature-symbol">|</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol">&lt;</span><a href="EstimatedLensPerformance.html" class="tsd-signature-type tsd-kind-interface">EstimatedLensPerformance</a><span class="tsd-signature-symbol">&gt;</span></div><div class="tsd-comment tsd-typography"><p>Some lenses may decide to modify their behavior based on the performance of the current environment. If you are using such lenses, providing an estimation of lens performance may lead to better user experience (especially on low-performance devices).</p> <p>Running the <a href="../functions/estimateLensPerformance.html" class="tsd-kind-function">estimateLensPerformance</a> function will run benchmarks and estimate an appropriate lens performance cluster (i.e. a performance rating) based on the current environment.</p> <p>Lower cluster = worse expected performance capability.</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example" class="tsd-anchor"></a>Example<a href="#example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-2">import</span><span class="hl-1"> { </span><span class="hl-0">bootstrapCameraKit</span><span class="hl-1">, </span><span class="hl-0">estimateLensPerformance</span><span class="hl-1"> } </span><span class="hl-2">from</span><span class="hl-1"> </span><span class="hl-3">&#39;@snap/camera-kit</span><span class="hl-10">`</span><br/><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-6">cameraKit</span><span class="hl-1"> = </span><span class="hl-2">await</span><span class="hl-1"> </span><span class="hl-5">bootstrapCameraKit</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-0">apiToken:</span><span class="hl-1"> </span><span class="hl-3">&#39;...&#39;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-0">lensPerformance:</span><span class="hl-1"> </span><span class="hl-5">estimateLensPerformance</span><span class="hl-1">(),</span><br/><span class="hl-1">})</span> </code><button type="button">Copy</button></pre> </div></div></section><section class="tsd-panel tsd-member"><a id="lenscoreoverrideurls" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>lens<wbr/>Core<wbr/>Override<wbr/>Urls</span><a href="#lenscoreoverrideurls" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">lensCoreOverrideUrls</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">wasm</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span> <span class="tsd-kind-property">js</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">}</span></div><div class="tsd-comment tsd-typography"><p>In recommended production deployments, the WebAssembly assets required by CameraKit will be downloaded from an optimized CDN. But sometimes (e.g. during development or within a CI pipeline), it may be necessary to download these assets from somewhere else.</p> <p>This configuration option allows the application to specify URLs to be used for both the WebAssembly and JS glue file that are used to run and interact with CameraKit's rendering engine.</p> </div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel tsd-member"><a id="wasmendpointoverride" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>wasm<wbr/>Endpoint<wbr/>Override</span><a href="#wasmendpointoverride" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">wasmEndpointOverride</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><div class="tsd-comment tsd-typography"><p>In recommended production deployments, the WebAssembly assets required by CameraKit will be downloaded from an optimized CDN. But sometimes during development or within a CI pipeline, it may be necessary to download these assets from somewhere else. With a provided <code>wasmEndpointOverride</code>, asset URLs will be automatically generated based on this root endpoint.</p> </div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel tsd-member"><a id="analyticsid" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>analytics<wbr/>Id</span><a href="#analyticsid" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">analyticsId</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><div class="tsd-comment tsd-typography"><p>Applications may optionally provide a unique identifier called analyticsId. This ID would enable Camera Kit to improve data reporting and accuracy and to better support potential needs related to an application's lens and user analytics.</p> </div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel tsd-member"><a id="fonts" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>fonts</span><a href="#fonts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">fonts</span><span class="tsd-signature-symbol">?:</span> <a href="Font.html" class="tsd-signature-type tsd-kind-interface">Font</a><span class="tsd-signature-symbol">[]</span></div><div class="tsd-comment tsd-typography"><p>An array of fonts to be used by Camera Kit for text rendering.</p> <p>Lenses usually have their own font assets, but emojis are often not embedded. As a result, you may need to provide additional fonts (e.g., an emoji font) to ensure all glyphs render correctly.</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-1" class="tsd-anchor"></a>Example<a href="#example-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-11">fonts</span><span class="hl-1">: [</span><br/><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-0">name:</span><span class="hl-1"> </span><span class="hl-3">&#39;EmojiFont&#39;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-0">data:</span><span class="hl-1"> </span><span class="hl-0">emojiFontArrayBuffer</span><span class="hl-1">, </span><span class="hl-7">// Your emoji font data goes here</span><br/><span class="hl-1"> },</span><br/><span class="hl-1">]</span> </code><button type="button">Copy</button></pre> </div></div></section><section class="tsd-panel tsd-member"><a id="lenshttphandler" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>lens<wbr/>Http<wbr/>Handler</span><a href="#lenshttphandler" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">lensHttpHandler</span><span class="tsd-signature-symbol">?:</span> <a href="../types/LensHttpHandler.html" class="tsd-signature-type tsd-kind-type-alias">LensHttpHandler</a></div><div class="tsd-comment tsd-typography"><p>An optional custom HTTP handler for requests made by a Lens.</p> <p>This handler allows you to intercept and customize the behavior of HTTP requests, such as adding authentication headers, logging request details, or replacing the default HTTP library used by the Lens system.</p> <p>If not specified, the Lens system will use a default HTTP implementation.</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-2" class="tsd-anchor"></a>Example<a href="#example-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>Here is an example of how to configure a custom <code>LensHttpHandler</code> to add an authentication token:</p> <pre><code class="typescript"><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-5">customLensHttpHandler</span><span class="hl-1">: </span><span class="hl-12">LensHttpHandler</span><span class="hl-1"> = </span><span class="hl-4">async</span><span class="hl-1"> (</span><span class="hl-0">url</span><span class="hl-1">, </span><span class="hl-0">init</span><span class="hl-1">, </span><span class="hl-0">lensRequest</span><span class="hl-1">) </span><span class="hl-4">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-7">// Add an authentication token to the headers</span><br/><span class="hl-1"> </span><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-6">sessionToken</span><span class="hl-1"> = </span><span class="hl-2">await</span><span class="hl-1"> </span><span class="hl-5">getAuthToken</span><span class="hl-1">();</span><br/><span class="hl-1"> </span><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-6">updatedInit</span><span class="hl-1"> = {</span><br/><span class="hl-1"> ...</span><span class="hl-0">init</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-0">headers:</span><span class="hl-1"> {</span><br/><span class="hl-1"> ...</span><span class="hl-0">init</span><span class="hl-1">.</span><span class="hl-0">headers</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-3">&#39;Authorization&#39;</span><span class="hl-0">:</span><span class="hl-1"> </span><span class="hl-3">`Bearer </span><span class="hl-4">${</span><span class="hl-0">sessionToken</span><span class="hl-4">}</span><span class="hl-3">`</span><span class="hl-1">,</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> };</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// Log the request details for debugging</span><br/><span class="hl-1"> </span><span class="hl-0">console</span><span class="hl-1">.</span><span class="hl-5">log</span><span class="hl-1">(</span><span class="hl-3">`Requesting </span><span class="hl-4">${</span><span class="hl-0">lensRequest</span><span class="hl-9">.</span><span class="hl-0">url</span><span class="hl-4">}</span><span class="hl-3"> from lens: </span><span class="hl-4">${</span><span class="hl-0">lensRequest</span><span class="hl-9">.</span><span class="hl-0">lens</span><span class="hl-9">.</span><span class="hl-0">name</span><span class="hl-4">}</span><span class="hl-3">`</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// Use fetch to perform the HTTP request</span><br/><span class="hl-1"> </span><span class="hl-2">return</span><span class="hl-1"> </span><span class="hl-5">fetch</span><span class="hl-1">(</span><span class="hl-0">url</span><span class="hl-1">, </span><span class="hl-0">updatedInit</span><span class="hl-1">);</span><br/><span class="hl-1">};</span><br/><br/><span class="hl-4">const</span><span class="hl-1"> </span><span class="hl-6">cameraKit</span><span class="hl-1"> = </span><span class="hl-5">bootstrapCameraKit</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-0">apiToken</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-0">lensHttpHandler:</span><span class="hl-1"> </span><span class="hl-0">customLensHttpHandler</span><span class="hl-1">,</span><br/><span class="hl-1">});</span> </code><button type="button">Copy</button></pre> </div></div></section><section class="tsd-panel tsd-member"><a id="trustedtypespolicyname" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>trusted<wbr/>Types<wbr/>Policy<wbr/>Name</span><a href="#trustedtypespolicyname" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">trustedTypesPolicyName</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><div class="tsd-comment tsd-typography"><p>The name of the Trusted Types policy to use when loading scripts. Defaults to &quot;snap-camera-kit&quot;.</p> </div><div class="tsd-comment tsd-typography"></div></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#apitoken" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>api<wbr/>Token</span></a><a href="#logger" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>logger</span></a><a href="#loglevel" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>log<wbr/>Level</span></a><a href="#lensperformance" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>lens<wbr/>Performance</span></a><a href="#lenscoreoverrideurls" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>lens<wbr/>Core<wbr/>Override<wbr/>Urls</span></a><a href="#wasmendpointoverride" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>wasm<wbr/>Endpoint<wbr/>Override</span></a><a href="#analyticsid" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>analytics<wbr/>Id</span></a><a href="#fonts" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>fonts</span></a><a href="#lenshttphandler" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>lens<wbr/>Http<wbr/>Handler</span></a><a href="#trustedtypespolicyname" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>trusted<wbr/>Types<wbr/>Policy<wbr/>Name</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">CameraKit Web SDK - v1.13.0</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>