UNPKG

@snap/camera-kit

Version:
108 lines (63 loc) 2.45 kB
[CameraKit Web SDK - v0.22.0](../README.md) / [Exports](../modules.md) / CameraKit # Class: CameraKit The entry point to the CameraKit SDK's API. Most of CameraKit's features are accessed via this class. Applications obtain an instance of CameraKit by calling [bootstrapCameraKit](../modules.md#bootstrapcamerakit). **`Example`** ```ts const cameraKit = await bootstrapCameraKit(config) ``` Then this class can be used to: - Create a [CameraKitSession](CameraKitSession.md) instance, which provides the API for setting up media inputs, applying Lenses, and obtaining rendered `<canvas>` outputs. - Query for lenses using [LensRepository](LensRepository.md). - Listen for lens usage metrics events using MetricsEventTarget. ## Table of contents ### Properties - [lenses](CameraKit.md#lenses) - [metrics](CameraKit.md#metrics) - [lensRepository](CameraKit.md#lensrepository) ### Methods - [createSession](CameraKit.md#createsession) - [destroy](CameraKit.md#destroy) ## Properties ### lenses • `Readonly` **lenses**: `Object` **`Deprecated`** Use [lensRepository](CameraKit.md#lensrepository) #### Type declaration | Name | Type | | :------ | :------ | | `repository` | [`LensRepository`](LensRepository.md) | ___ ### metrics • `Readonly` **metrics**: [`TypedEventTarget`](TypedEventTarget.md)\<[`LensMetricsEvents`](../modules.md#lensmetricsevents)\> Business metrics (e.g. each time a lens is viewed) are emitted here. ___ ### lensRepository • `Readonly` **lensRepository**: [`LensRepository`](LensRepository.md) Used to query for lenses and lens groups. ## Methods ### createSession**createSession**(`options?`): `Promise`\<[`CameraKitSession`](CameraKitSession.md)\> Create a CameraKitSession. This initializes the rendering engine and returns a [CameraKitSession](CameraKitSession.md) instance, which provides access to Lens rendering. #### Parameters | Name | Type | | :------ | :------ | | `options` | [`CreateSessionOptions`](../interfaces/CreateSessionOptions.md) | #### Returns `Promise`\<[`CameraKitSession`](CameraKitSession.md)\> **`Example`** ```ts const cameraKit = await bootstrapCameraKit(config) const session = await cameraKit.createSession() const lens = await cameraKit.lensRepository.loadLens(lensId, groupId) session.applyLens(lens) ``` ___ ### destroy**destroy**(): `Promise`\<`void`\> Destroys all sessions and frees all resources. #### Returns `Promise`\<`void`\>