TypeScript schema definitions for mParticle Audiences
npm install @mparticle/audience-typescript-schemaThis repository contains TypeScript schema definitions for mParticle Audiences. It provides type-safe interfaces and types for working with mParticle's audience features.
The schema is organized into several key components:
- Operands: Basic data types and operations that can be performed on audience data
- Expressions: Complex logical expressions that combine operands
- Queries: Complete audience query definitions
``bash`
npm install @mparticle/audience-typescript-schemaor
yarn add @mparticle/audience-typescript-schema
Before using or developing with this package, ensure you have the following prerequisites:
- Node.js (version 20 or higher recommended)
- yarn or npm
- The jq command-line JSON processor must be installed and available in your system's PATH.
To verify jq is installed, run:
`bash`
jq --version
If you do not have jq, you can install it using Homebrew on macOS:
`bash`
brew install jq
Or see the jq installation guide for other platforms.
`typescript
import { Audience, Query, Expression, Operand } from '@mparticle/audience-typescript-schema';
// Create audience queries with type safety
const query: Query = {
// Your query definition here
};
`
- operand/: Contains basic data types and operationsexpression/
- : Defines logical expressions and operatorsquery/
- : Implements audience query structurescommon/
- : Shared types and utilitiesdist/
- : Compiled JavaScript output
To build the project:
`bash`
yarn buildor
npm run build
Whenever you make changes to the schema definitions, you must regenerate the schema output by running:
`bash`
npm run gen-schema
This ensures that all generated files are up to date with your changes.
If you add, remove, or rename types or titles in the schema, you will need to update the relevant JSONPath mappings in scripts/add_titles_to_schema.sh` to reflect these changes. This script relies on hardcoded paths to insert titles into the schema, so keeping these paths accurate is necessary for correct schema generation.
Apache License 2.0