UNPKG

@snap/camera-kit

Version:
26 lines (24 loc) 11.5 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>bootstrapCameraKit | 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="bootstrapCameraKit.html">bootstrapCameraKit</a></li></ul><h1>Function bootstrapCameraKit</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="bootstrapcamerakit" class="tsd-anchor"></a><span class="tsd-kind-call-signature">bootstrapCameraKit</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">configuration</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/CameraKitBootstrapConfiguration.html" class="tsd-signature-type tsd-kind-interface">CameraKitBootstrapConfiguration</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">provide</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">c</span><span class="tsd-signature-symbol">:</span> <a href="../types/PublicContainer.html" class="tsd-signature-type tsd-kind-type-alias">PublicContainer</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <a href="../types/PublicContainer.html" class="tsd-signature-type tsd-kind-type-alias">PublicContainer</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><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="../classes/CameraKit.html" class="tsd-signature-type tsd-kind-class">CameraKit</a><span class="tsd-signature-symbol">&gt;</span><a href="#bootstrapcamerakit" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Bootstrap CameraKit. This will download the WebAssembly code which powers CameraKit's rendering engine, and return an instance of <a href="../classes/CameraKit.html" class="tsd-kind-class">CameraKit</a>.</p> <p>CameraKit must be provided with some configuration (the application's API token), and there are some additional configurations which are optional.</p> <p>Descriptions of the available configurations can be found in the documentation for <a href="../interfaces/CameraKitBootstrapConfiguration.html" class="tsd-kind-interface">CameraKitBootstrapConfiguration</a></p> <hr> <p>There is also a second, more advanced way to modify CameraKit to provide greater flexibility to support less common use cases.</p> <p>This requires some knowledge of CameraKit's dependency injection system, and allows applications to provide their own custom implementations of certain CameraKit components. This functionality will only be needed by applications with very specific, more advanced requirements.</p> </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">configuration</span>: <a href="../interfaces/CameraKitBootstrapConfiguration.html" class="tsd-signature-type tsd-kind-interface">CameraKitBootstrapConfiguration</a></span><div class="tsd-comment tsd-typography"><p>Configure CameraKit with e.g. credentials, global resource endpoints, etc.</p> </div><div class="tsd-comment tsd-typography"></div></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">provide</span>: <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">c</span><span class="tsd-signature-symbol">:</span> <a href="../types/PublicContainer.html" class="tsd-signature-type tsd-kind-type-alias">PublicContainer</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <a href="../types/PublicContainer.html" class="tsd-signature-type tsd-kind-type-alias">PublicContainer</a></span><div class="tsd-comment tsd-typography"><p>Optional function that can make modifications to CameraKit's root DI container.</p> </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <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="../classes/CameraKit.html" class="tsd-signature-type tsd-kind-class">CameraKit</a><span class="tsd-signature-symbol">&gt;</span></h4><p>A <a href="../classes/CameraKit.html" class="tsd-kind-class">CameraKit</a> instance, which is the entry point to CameraKit's API.</p> <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-7">// The most common way to bootstrap:</span><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><span class="hl-0">apiToken:</span><span class="hl-1"> </span><span class="hl-0">myApiToken</span><span class="hl-1"> })</span><br/><br/><span class="hl-7">// For special advanced use-cases, it is possible to provide custom implementations for certain CameraKit components.</span><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><span class="hl-0">config</span><span class="hl-1">, (</span><span class="hl-0">container</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-2">return</span><span class="hl-1"> </span><span class="hl-0">container</span><span class="hl-1">.</span><span class="hl-5">provides</span><span class="hl-1">(</span><span class="hl-0">myCustomRemoteMediaAssetLoaderFactory</span><span class="hl-1">)</span><br/><span class="hl-1">})</span> </code><button type="button">Copy</button></pre> </div><div class="tsd-tag-throws"><h4 class="tsd-anchor-link"><a id="throws" class="tsd-anchor"></a>Throws<a href="#throws" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><ul> <li><a href="../types/ConfigurationError.html" class="tsd-kind-type-alias">ConfigurationError</a> when provided configuration object is invalid</li> <li><a href="../types/PlatformNotSupportedError.html" class="tsd-kind-type-alias">PlatformNotSupportedError</a> when current platform is not supported by CameraKit</li> <li><a href="../types/BootstrapError.html" class="tsd-kind-type-alias">BootstrapError</a> when a failure occurs while initializing CameraKit and downloading the render engine WebAssembly binary.</li> </ul> </div></div></li></ul></section></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></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>