@airgrid/edgekit
Version:
A privacy focused library for cookie-less audience creation.
34 lines (32 loc) • 670 B
text/typescript
import {
AudienceDefinition,
EngineCondition,
AudienceDefinitionFilter,
} from '../../types';
/*
* Audience to Engine translation
*
* Maintains union type over the translation layer
* so it can be discriminated further below the computation
*/
export const translate = (
audienceDefinition: AudienceDefinition
): EngineCondition<AudienceDefinitionFilter> => {
return {
filter: {
any: false,
queries: audienceDefinition.definition,
},
rules: [
{
reducer: {
name: 'count',
},
matcher: {
name: 'gt',
args: audienceDefinition.occurrences,
},
},
],
};
};