tracker: use shared props list as restricted for custom properties

This commit is contained in:
nick-delirium 2025-03-18 16:35:01 +01:00
parent 226fc867c0
commit 9f51ab85da
No known key found for this signature in database
GPG key ID: 93ABD695DF5FDBA0
2 changed files with 7 additions and 11 deletions

View file

@ -1,8 +1,6 @@
import SharedProperties from './sharedProperties.js'
import { isObject } from './utils.js'
const reservedProps = ['distinct_id', 'event_name', 'properties']
export default class Events {
queue: Record<string, any> = []
sendInterval: ReturnType<typeof setInterval> | null = null
@ -35,7 +33,7 @@ export default class Events {
throw new Error('Properties must be an object')
}
Object.entries(properties).forEach(([key, value]) => {
if (!reservedProps.includes(key)) {
if (!this.sharedProperties.defaultPropertyKeys.includes(key)) {
eventProps[key] = value
}
})
@ -78,13 +76,13 @@ export default class Events {
setProperty = (nameOrProperties: Record<string, any> | string, value?: any) => {
if (isObject(nameOrProperties)) {
Object.entries(nameOrProperties).forEach(([key, val]) => {
if (!reservedProps.includes(key)) {
if (!this.sharedProperties.defaultPropertyKeys.includes(key)) {
this.ownProperties[key] = val
}
})
}
if (typeof nameOrProperties === 'string' && value !== undefined) {
if (!reservedProps.includes(nameOrProperties)) {
if (!this.sharedProperties.defaultPropertyKeys.includes(nameOrProperties)) {
this.ownProperties[nameOrProperties] = value
}
}

View file

@ -1,8 +1,6 @@
import SharedProperties from './sharedProperties.js'
import { isObject } from './utils.js'
const reservedProps = ['distinct_id', 'event_name', 'properties']
export default class People {
ownProperties: Record<string, any> = {}
user_id: string | null = null
@ -37,7 +35,7 @@ export default class People {
throw new Error('Properties must be an object')
}
Object.entries(properties).forEach(([key, value]) => {
if (!reservedProps.includes(key)) {
if (!this.sharedProperties.defaultPropertyKeys.includes(key)) {
this.ownProperties[key] = value
}
})
@ -53,7 +51,7 @@ export default class People {
throw new Error('Properties must be an object')
}
Object.entries(properties).forEach(([key, value]) => {
if (!reservedProps.includes(key) && !this.ownProperties[key]) {
if (!this.sharedProperties.defaultPropertyKeys.includes(key) && !this.ownProperties[key]) {
this.ownProperties[key] = value
}
})
@ -65,7 +63,7 @@ export default class People {
* TODO: exported as people.append
* */
appendValues = (key: string, value: string | number) => {
if (!reservedProps.includes(key) && this.ownProperties[key]) {
if (!this.sharedProperties.defaultPropertyKeys.includes(key) && this.ownProperties[key]) {
if (Array.isArray(this.ownProperties[key])) {
this.ownProperties[key].push(value)
} else {
@ -96,7 +94,7 @@ export default class People {
* TODO: exported as people.increment
* */
increment = (key: string, value: number) => {
if (!reservedProps.includes(key) && typeof this.ownProperties[key] === 'number') {
if (!this.sharedProperties.defaultPropertyKeys.includes(key) && typeof this.ownProperties[key] === 'number') {
this.ownProperties[key] += value
}
}