adopted-ember-addons / adopted-ember-addons/ember-metrics
Support `options` for segment adapter
- 主要语言
- TypeScript
- 星标
- 367
- 派生
- 158
- PR 合并指标
- 30 天内没有已合并 PR
描述
The segment `trackEvent` supports an extra `options` argument. https://segment.com/docs/sources/website/analytics.js/#track
I'd love some way to support this in the segment adapter.
In the meantime I've done something like this in the app where I need it:
```
import SegmentAdapter from 'ember-metrics/metrics-adapters/segment';
import canUseDOM from 'ember-metrics/utils/can-use-dom';
import { compact } from 'ember-metrics/utils/object-transforms';
export default SegmentAdapter.extend({
toStringExtension() {
return 'segment-extended';
},
trackEvent(options = {}) {
const compactedOptions = compact(options);
const { event, segmentOptions } = compactedOptions;
delete compactedOptions.event;
delete compactedOptions.segmentOptions;
if (canUseDOM) {
window.analytics.track(event, compactedOptions, segmentOptions);
}
}
});
```
I'd be happy to add tests and do something like this in the current Segment adapter.
贡献指南
调研方向
Read ember-metrics/metrics-adapters/segment and the adapter's existing tests first, then compare its trackEvent behavior with the linked Segment documentation. Add tests covering trackEvent with the extra options argument while preserving existing behavior; done means the test suite verifies the supported call shape.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- typescript
- 领域
- analytics
- Issue 类型
- 功能
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 42/100