Skip to content

Commit 917613a

Browse files
committed
wip
1 parent d926b08 commit 917613a

File tree

4 files changed

+59
-56
lines changed

4 files changed

+59
-56
lines changed

packages/signals/signals-runtime/editor/mobile-editor.d.ts

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -18,67 +18,68 @@ type JSONObject = {
1818
};
1919
type JSONArray = JSONValue[];
2020
interface SegmentEvent {
21-
type: string;
21+
type: EventType;
2222
[key: string]: any;
2323
}
24-
type MobileSignalTypes = MobileSignal["type"];
25-
type MobileSignal = MobileInteractionSignal | MobileNavigationSignal | MobileNetworkSignal | MobileLocalDataSignal | MobileInstrumentationSignal | MobileUserDefinedSignal;
26-
interface MobileRawSignal extends BaseSignal {
24+
type EventType = "track" | "page" | "screen" | "identify" | "group" | "alias";
25+
type SignalTypes = Signal["type"];
26+
type NavigationAction = "forward" | "backward" | "modal" | "entering" | "leaving" | "page" | "popup";
27+
type NetworkAction = "request" | "response";
28+
type LocalDataAction = "loaded" | "updated" | "saved" | "deleted" | "undefined";
29+
type Signal = InteractionSignal | NavigationSignal | NetworkSignal | LocalDataSignal | InstrumentationSignal | UserDefinedSignal;
30+
interface RawSignal<SignalType extends string> extends BaseSignal {
31+
type: SignalType;
2732
anonymousId: string;
28-
type: string;
2933
data: any;
3034
timestamp: string;
3135
index: any;
3236
}
33-
interface MobileNavigationData {
34-
action: string;
37+
interface NavigationData {
38+
action: NavigationAction;
3539
screen: string;
3640
}
37-
interface MobileNavigationSignal extends MobileRawSignal {
38-
data: MobileNavigationData;
41+
interface NavigationSignal extends RawSignal<"navigation"> {
42+
data: NavigationData;
3943
}
40-
interface MobileInteractionData {
44+
interface InteractionData {
4145
component: string;
4246
info: string;
4347
data: any;
4448
}
45-
interface MobileInteractionSignal extends MobileRawSignal {
49+
interface InteractionSignal extends RawSignal<"interaction"> {
4650
type: "interaction";
47-
data: MobileInteractionData;
51+
data: InteractionData;
4852
}
49-
interface MobileNetworkData {
50-
action: string;
53+
interface NetworkData {
54+
action: NetworkAction;
5155
url: string;
5256
data: any;
5357
}
54-
interface MobileNetworkSignal extends MobileRawSignal {
55-
static: "network";
56-
data: MobileNetworkData;
58+
interface NetworkSignal extends RawSignal<"network"> {
59+
data: NetworkData;
5760
}
58-
interface MobileLocalData {
59-
action: string;
61+
interface LocalData {
62+
action: LocalDataAction;
6063
identifier: string;
6164
data: string;
6265
}
63-
interface MobileLocalDataSignal extends MobileRawSignal {
64-
type: "localData";
65-
data: MobileLocalData;
66+
interface LocalDataSignal extends RawSignal<"localData"> {
67+
data: LocalData;
6668
}
67-
interface MobileUserDefinedSignal extends MobileRawSignal {
68-
type: "userDefined";
69+
interface UserDefinedSignal extends RawSignal<"userDefined"> {
6970
data: any;
7071
}
71-
interface MobileInstrumentationData {
72+
interface InstrumentationData {
7273
type: "instrumentation";
7374
rawEvent: any;
7475
}
75-
interface MobileInstrumentationSignal extends MobileRawSignal {
76-
data: MobileInstrumentationData;
76+
interface InstrumentationSignal extends RawSignal<"instrumentation"> {
77+
data: InstrumentationData;
7778
}
7879

7980

8081

81-
declare const signals: ISignalsRuntime<MobileSignal>
82+
declare const signals: ISignalsRuntime<Signal>
8283
declare const SignalType: {
8384
Interaction: 'interaction'
8485
Navigation: 'navigation'

packages/signals/signals-runtime/editor/web-editor.d.ts

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -22,76 +22,76 @@ interface SegmentEvent {
2222
[key: string]: any;
2323
}
2424
type EventType = "track" | "page" | "screen" | "identify" | "group" | "alias";
25-
type WebSignalTypes = WebSignal["type"];
26-
interface WebAppSignal<T extends WebSignalTypes, Data> extends BaseSignal {
25+
type SignalTypes = Signal["type"];
26+
interface RawSignal<T extends SignalTypes, Data> extends BaseSignal {
2727
type: T;
2828
data: Data;
2929
metadata?: Record<string, any>;
3030
}
31-
type WebInteractionData = WebClickData | WebSubmitData | WebChangeData;
32-
interface WebSerializedTarget {
31+
type InteractionData = ClickData | SubmitData | ChangeData;
32+
interface SerializedTarget {
3333
[key: string]: any;
3434
}
35-
type WebClickData = {
35+
type ClickData = {
3636
eventType: "click";
37-
target: WebSerializedTarget;
37+
target: SerializedTarget;
3838
};
39-
type WebSubmitData = {
39+
type SubmitData = {
4040
eventType: "submit";
41-
submitter: WebSerializedTarget;
41+
submitter: SerializedTarget;
4242
};
43-
type WebChangeData = {
43+
type ChangeData = {
4444
eventType: "change";
4545
[key: string]: unknown;
4646
};
47-
type WebInteractionSignal = WebAppSignal<"interaction", WebInteractionData>;
48-
interface WebBaseNavigationData<ActionType extends string> {
47+
type InteractionSignal = RawSignal<"interaction", InteractionData>;
48+
interface BaseNavigationData<ActionType extends string> {
4949
action: ActionType;
5050
url: string;
5151
hash: string;
5252
}
53-
interface WebURLChangeNavigationData extends WebBaseNavigationData<"urlChange"> {
53+
interface URLChangeNavigationData extends BaseNavigationData<"urlChange"> {
5454
prevUrl: string;
5555
}
56-
interface WebPageChangeNavigationData extends WebBaseNavigationData<"pageLoad"> {
56+
interface PageChangeNavigationData extends BaseNavigationData<"pageLoad"> {
5757
}
58-
type WebNavigationData = WebURLChangeNavigationData | WebPageChangeNavigationData;
59-
type WebNavigationSignal = WebAppSignal<"navigation", WebNavigationData>;
60-
interface WebInstrumentationData {
58+
type NavigationData = URLChangeNavigationData | PageChangeNavigationData;
59+
type NavigationSignal = RawSignal<"navigation", NavigationData>;
60+
interface InstrumentationData {
6161
rawEvent: unknown;
6262
}
63-
type WebInstrumentationSignal = WebAppSignal<"instrumentation", WebInstrumentationData>;
64-
interface WebNetworkSignalMetadata {
63+
type InstrumentationSignal = RawSignal<"instrumentation", InstrumentationData>;
64+
interface NetworkSignalMetadata {
6565
filters: {
6666
allowed: string[];
6767
disallowed: string[];
6868
};
6969
}
70-
interface WebBaseNetworkData {
70+
interface BaseNetworkData {
7171
action: string;
7272
url: string;
7373
data: JSONValue;
7474
}
75-
interface WebNetworkRequestData extends WebBaseNetworkData {
75+
interface NetworkRequestData extends BaseNetworkData {
7676
action: "request";
7777
url: string;
7878
method: string;
7979
}
80-
interface WebNetworkResponseData extends WebBaseNetworkData {
80+
interface NetworkResponseData extends BaseNetworkData {
8181
action: "response";
8282
url: string;
8383
}
84-
type WebNetworkData = WebNetworkRequestData | WebNetworkResponseData;
85-
type WebNetworkSignal = WebAppSignal<"network", WebNetworkData>;
86-
interface WebUserDefinedSignalData {
84+
type NetworkData = NetworkRequestData | NetworkResponseData;
85+
type NetworkSignal = RawSignal<"network", NetworkData>;
86+
interface UserDefinedSignalData {
8787
[key: string]: any;
8888
}
89-
type WebUserDefinedSignal = WebAppSignal<"userDefined", WebUserDefinedSignalData>;
90-
type WebSignal = WebInteractionSignal | WebNavigationSignal | WebInstrumentationSignal | WebNetworkSignal | WebUserDefinedSignal;
89+
type UserDefinedSignal = RawSignal<"userDefined", UserDefinedSignalData>;
90+
type Signal = InteractionSignal | NavigationSignal | InstrumentationSignal | NetworkSignal | UserDefinedSignal;
9191

9292

9393

94-
declare const signals: ISignalsRuntime<WebSignal>
94+
declare const signals: ISignalsRuntime<Signal>
9595
declare const SignalType: {
9696
Interaction: 'interaction'
9797
Navigation: 'navigation'

packages/signals/signals/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
},
4646
"dependencies": {
4747
"@segment/analytics-generic-utils": "1.2.0",
48+
"@segment/analytics-signals-runtime": "0.0.0",
4849
"idb": "^8.0.0",
4950
"tslib": "^2.4.1"
5051
},

yarn.lock

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4212,7 +4212,7 @@ __metadata:
42124212
languageName: unknown
42134213
linkType: soft
42144214

4215-
"@segment/analytics-signals-runtime@workspace:packages/signals/signals-runtime":
4215+
"@segment/analytics-signals-runtime@0.0.0, @segment/analytics-signals-runtime@workspace:packages/signals/signals-runtime":
42164216
version: 0.0.0-use.local
42174217
resolution: "@segment/analytics-signals-runtime@workspace:packages/signals/signals-runtime"
42184218
dependencies:
@@ -4230,6 +4230,7 @@ __metadata:
42304230
"@internal/config-webpack": "workspace:^"
42314231
"@internal/test-helpers": "workspace:^"
42324232
"@segment/analytics-generic-utils": 1.2.0
4233+
"@segment/analytics-signals-runtime": 0.0.0
42334234
fake-indexeddb: ^6.0.0
42344235
idb: ^8.0.0
42354236
node-fetch: ^2.6.7

0 commit comments

Comments
 (0)