01
Methods
| Method | Returns | Use |
|---|---|---|
ready() | Promise<PactAPI> | Wait for the browser API |
getState() | Promise<PactState> | Read an immutable snapshot |
onChange(listener) | Promise<unsubscribe> | Observe decisions |
onOpen(listener) | Promise<unsubscribe> | Own a headless preference surface |
allow(purposes?) | Promise<void> | Commit allow |
deny(purposes?) | Promise<void> | Commit deny |
save(decisions) | Promise<void> | Save custom preferences |
openPreferences() | Promise<void> | Request preferences |
02
Complete vanilla flow
typescript
import { pactClient } from '@pact/web'
const unsubscribe = await pactClient.onChange(state => {
document.documentElement.dataset.marketing =
state.purposes.marketing === true ? 'allowed' : 'denied'
})
await pactClient.deny(['marketing'])
unsubscribe()