Installation
$ npm i @divsrc/divsrc-sdk
Initialization
import divsrcSdk from '@divsrc/divsrc-sdk';
await divsrcSdk.init({
key: '[public_key]',
emulators: [{
url: 'http://localhost:5555',
components: {
'@foo-bar-header': {zone: '@foo-bar-header'}
}
}]
})
API
export interface Artifact {
installationId: string
baseUrl?: string
artifactId: string
zone: string
fileName?: string
version: string
}
type IdentityFields = {
[key: string]: any;
}
Identify (Passing params to canary feature toggling)
import divsrcSdk from '@divsrc/divsrc-sdk';
divSrcSdk.identify(fields: IdentityFields)
Get artifact by zone
import divsrcSdk from '@divsrc/divsrc-sdk';
const artifact: Artifact = divSrcSdk.getArtifactByZone(zone: String)
Mounts artifact into the DOM
import divsrcSdk from '@divsrc/divsrc-sdk';
await divSrcSdk.mountArtifactByInstallationId(installationId: String)
Local overrides
import divsrcSdk from '@divsrc/divsrc-sdk';
divSrcSdk.setZoneLocalOverride(zone: string, artifactId: string, version: string, fileName?: string, baseUrl?: string, installationId?: string);
divSrcSdk.removeZoneLocalOverride(zoneName: String);
divSrcSdk.setZoneLocalOverride('HeaderZone', '@some-other-artifact-id', '1.0.1', 'index.js', undefined, 'inst_1');
divSrcSdk.removeZoneLocalOverride('HeaderZone');