@mparticle/audience-typescript-schema
v1.6.0
Published
TypeScript schema definitions for mParticle Audiences
Downloads
354
Maintainers
Keywords
Readme
mParticle Audience Schema
This repository contains TypeScript schema definitions for mParticle Audiences. It provides type-safe interfaces and types for working with mParticle's audience features.
Overview
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
Installation
npm install @mparticle/audience-typescript-schema
# or
yarn add @mparticle/audience-typescript-schemaSetup
Before using or developing with this package, ensure you have the following prerequisites:
- Node.js (version 20 or higher recommended)
- yarn or npm
- The
jqcommand-line JSON processor must be installed and available in your system'sPATH.
To verify jq is installed, run:
jq --versionIf you do not have jq, you can install it using Homebrew on macOS:
brew install jqOr see the jq installation guide for other platforms.
Usage
import { Audience, Query, Expression, Operand } from '@mparticle/audience-typescript-schema';
// Create audience queries with type safety
const query: Query = {
// Your query definition here
};Project Structure
operand/: Contains basic data types and operationsexpression/: Defines logical expressions and operatorsquery/: Implements audience query structurescommon/: Shared types and utilitiesdist/: Compiled JavaScript output
Development
To build the project:
yarn build
# or
npm run buildUpdating the Schema
Whenever you make changes to the schema definitions, you must regenerate the schema output by running:
npm run gen-schemaThis ensures that all generated files are up to date with your changes.
Updating Title Paths in add_titles_to_schema.sh
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.
License
Apache License 2.0
