@sudobility/di 1.4.30 → 1.4.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mocks/analytics.mock.d.ts +62 -0
- package/dist/mocks/analytics.mock.d.ts.map +1 -0
- package/dist/mocks/analytics.mock.js +127 -0
- package/dist/mocks/analytics.mock.js.map +1 -0
- package/dist/mocks/env.mock.d.ts +38 -0
- package/dist/mocks/env.mock.d.ts.map +1 -0
- package/dist/mocks/env.mock.js +104 -0
- package/dist/mocks/env.mock.js.map +1 -0
- package/dist/mocks/index.d.ts +9 -0
- package/dist/mocks/index.d.ts.map +1 -0
- package/dist/mocks/index.js +9 -0
- package/dist/mocks/index.js.map +1 -0
- package/dist/mocks/logging.mock.d.ts +35 -0
- package/dist/mocks/logging.mock.d.ts.map +1 -0
- package/dist/mocks/logging.mock.js +78 -0
- package/dist/mocks/logging.mock.js.map +1 -0
- package/dist/mocks/navigation.mock.d.ts +77 -0
- package/dist/mocks/navigation.mock.d.ts.map +1 -0
- package/dist/mocks/navigation.mock.js +277 -0
- package/dist/mocks/navigation.mock.js.map +1 -0
- package/dist/mocks/network.mock.d.ts +36 -0
- package/dist/mocks/network.mock.d.ts.map +1 -0
- package/dist/mocks/network.mock.js +76 -0
- package/dist/mocks/network.mock.js.map +1 -0
- package/dist/mocks/notification.mock.d.ts +77 -0
- package/dist/mocks/notification.mock.d.ts.map +1 -0
- package/dist/mocks/notification.mock.js +210 -0
- package/dist/mocks/notification.mock.js.map +1 -0
- package/dist/mocks/storage.mock.d.ts +74 -0
- package/dist/mocks/storage.mock.d.ts.map +1 -0
- package/dist/mocks/storage.mock.js +241 -0
- package/dist/mocks/storage.mock.js.map +1 -0
- package/dist/mocks/theme.mock.d.ts +26 -0
- package/dist/mocks/theme.mock.d.ts.map +1 -0
- package/dist/mocks/theme.mock.js +65 -0
- package/dist/mocks/theme.mock.js.map +1 -0
- package/dist/navigation/navigation.d.ts +7 -1
- package/dist/navigation/navigation.d.ts.map +1 -1
- package/dist/network/platform-network.d.ts +15 -0
- package/dist/network/platform-network.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAGlD,cAAc,4BAA4B,CAAC;AAG3C,cAAc,+BAA+B,CAAC;AAG9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AAGzD,cAAc,sBAAsB,CAAC;AAGrC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAGlD,cAAc,4BAA4B,CAAC;AAG3C,cAAc,+BAA+B,CAAC;AAG9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AAGzD,cAAc,sBAAsB,CAAC;AAGrC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAGlD,cAAc,4BAA4B,CAAC;AAG3C,cAAc,+BAA+B,CAAC;AAG9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AAGzD,cAAc,sBAAsB,CAAC;AAGrC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAGlD,cAAc,4BAA4B,CAAC;AAG3C,cAAc,+BAA+B,CAAC;AAG9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AAGzD,cAAc,sBAAsB,CAAC;AAGrC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { AnalyticsEvent, type Optional } from '@sudobility/types';
|
|
2
|
+
import type { AnalyticsClient, AnalyticsContextProvider, AnalyticsEventData } from '../analytics/analytics.js';
|
|
3
|
+
import type { PlatformAnalytics } from '../analytics/platform-analytics.js';
|
|
4
|
+
export interface RecordedAnalyticsEvent {
|
|
5
|
+
event: AnalyticsEvent | string;
|
|
6
|
+
parameters?: Record<string, unknown> | undefined;
|
|
7
|
+
timestamp: number;
|
|
8
|
+
}
|
|
9
|
+
export declare class MockAnalyticsClient implements AnalyticsClient {
|
|
10
|
+
private events;
|
|
11
|
+
private userProperties;
|
|
12
|
+
private userId;
|
|
13
|
+
private enabled;
|
|
14
|
+
private currentScreen;
|
|
15
|
+
trackEvent(event: AnalyticsEvent | AnalyticsEventData): void;
|
|
16
|
+
setUserProperties(properties: Record<string, unknown>): void;
|
|
17
|
+
setUserId(userId: Optional<string>): void;
|
|
18
|
+
setAnalyticsEnabled(enabled: boolean): void;
|
|
19
|
+
setCurrentScreen(screenName: string, screenClass?: Optional<string>): void;
|
|
20
|
+
getTrackedEvents(): RecordedAnalyticsEvent[];
|
|
21
|
+
getEventsByType(eventType: AnalyticsEvent): RecordedAnalyticsEvent[];
|
|
22
|
+
getLastEvent(): RecordedAnalyticsEvent | undefined;
|
|
23
|
+
getUserProperties(): Record<string, unknown>;
|
|
24
|
+
getUserId(): Optional<string>;
|
|
25
|
+
isEnabled(): boolean;
|
|
26
|
+
getCurrentScreen(): {
|
|
27
|
+
name: string;
|
|
28
|
+
class?: Optional<string>;
|
|
29
|
+
} | null;
|
|
30
|
+
reset(): void;
|
|
31
|
+
}
|
|
32
|
+
export declare class MockAnalyticsContextProvider implements AnalyticsContextProvider {
|
|
33
|
+
private context;
|
|
34
|
+
constructor(initialContext?: Record<string, unknown>);
|
|
35
|
+
getCurrentContext(): Record<string, unknown>;
|
|
36
|
+
setContext(context: Record<string, unknown>): void;
|
|
37
|
+
addContext(key: string, value: unknown): void;
|
|
38
|
+
reset(): void;
|
|
39
|
+
}
|
|
40
|
+
export declare class MockPlatformAnalytics implements PlatformAnalytics {
|
|
41
|
+
private events;
|
|
42
|
+
private userProperties;
|
|
43
|
+
private userId;
|
|
44
|
+
private enabled;
|
|
45
|
+
trackEvent(event: string, properties: Record<string, unknown>): void;
|
|
46
|
+
setUserProperty(key: string, value: string): void;
|
|
47
|
+
setUserId(userId: string): void;
|
|
48
|
+
isEnabled(): boolean;
|
|
49
|
+
getTrackedEvents(): Array<{
|
|
50
|
+
event: string;
|
|
51
|
+
properties: Record<string, unknown>;
|
|
52
|
+
}>;
|
|
53
|
+
getEventsByName(eventName: string): Array<{
|
|
54
|
+
event: string;
|
|
55
|
+
properties: Record<string, unknown>;
|
|
56
|
+
}>;
|
|
57
|
+
getUserProperties(): Record<string, string>;
|
|
58
|
+
getUserId(): string;
|
|
59
|
+
setEnabled(enabled: boolean): void;
|
|
60
|
+
reset(): void;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=analytics.mock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.mock.d.ts","sourceRoot":"","sources":["../../src/mocks/analytics.mock.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
export class MockAnalyticsClient {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.events = [];
|
|
4
|
+
this.userProperties = {};
|
|
5
|
+
this.userId = null;
|
|
6
|
+
this.enabled = true;
|
|
7
|
+
this.currentScreen = null;
|
|
8
|
+
}
|
|
9
|
+
trackEvent(event) {
|
|
10
|
+
if (!this.enabled)
|
|
11
|
+
return;
|
|
12
|
+
if (typeof event === 'object' && 'event' in event) {
|
|
13
|
+
this.events.push({
|
|
14
|
+
event: event.event,
|
|
15
|
+
parameters: event.parameters ?? undefined,
|
|
16
|
+
timestamp: Date.now(),
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
this.events.push({
|
|
21
|
+
event,
|
|
22
|
+
timestamp: Date.now(),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
setUserProperties(properties) {
|
|
27
|
+
this.userProperties = { ...this.userProperties, ...properties };
|
|
28
|
+
}
|
|
29
|
+
setUserId(userId) {
|
|
30
|
+
this.userId = userId;
|
|
31
|
+
}
|
|
32
|
+
setAnalyticsEnabled(enabled) {
|
|
33
|
+
this.enabled = enabled;
|
|
34
|
+
}
|
|
35
|
+
setCurrentScreen(screenName, screenClass) {
|
|
36
|
+
this.currentScreen = { name: screenName, class: screenClass };
|
|
37
|
+
}
|
|
38
|
+
getTrackedEvents() {
|
|
39
|
+
return [...this.events];
|
|
40
|
+
}
|
|
41
|
+
getEventsByType(eventType) {
|
|
42
|
+
return this.events.filter((e) => e.event === eventType);
|
|
43
|
+
}
|
|
44
|
+
getLastEvent() {
|
|
45
|
+
return this.events[this.events.length - 1];
|
|
46
|
+
}
|
|
47
|
+
getUserProperties() {
|
|
48
|
+
return { ...this.userProperties };
|
|
49
|
+
}
|
|
50
|
+
getUserId() {
|
|
51
|
+
return this.userId;
|
|
52
|
+
}
|
|
53
|
+
isEnabled() {
|
|
54
|
+
return this.enabled;
|
|
55
|
+
}
|
|
56
|
+
getCurrentScreen() {
|
|
57
|
+
return this.currentScreen;
|
|
58
|
+
}
|
|
59
|
+
reset() {
|
|
60
|
+
this.events = [];
|
|
61
|
+
this.userProperties = {};
|
|
62
|
+
this.userId = null;
|
|
63
|
+
this.enabled = true;
|
|
64
|
+
this.currentScreen = null;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export class MockAnalyticsContextProvider {
|
|
68
|
+
constructor(initialContext = {}) {
|
|
69
|
+
this.context = initialContext;
|
|
70
|
+
}
|
|
71
|
+
getCurrentContext() {
|
|
72
|
+
return { ...this.context };
|
|
73
|
+
}
|
|
74
|
+
setContext(context) {
|
|
75
|
+
this.context = context;
|
|
76
|
+
}
|
|
77
|
+
addContext(key, value) {
|
|
78
|
+
this.context[key] = value;
|
|
79
|
+
}
|
|
80
|
+
reset() {
|
|
81
|
+
this.context = {};
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
export class MockPlatformAnalytics {
|
|
85
|
+
constructor() {
|
|
86
|
+
this.events = [];
|
|
87
|
+
this.userProperties = {};
|
|
88
|
+
this.userId = '';
|
|
89
|
+
this.enabled = true;
|
|
90
|
+
}
|
|
91
|
+
trackEvent(event, properties) {
|
|
92
|
+
if (!this.enabled)
|
|
93
|
+
return;
|
|
94
|
+
this.events.push({ event, properties });
|
|
95
|
+
}
|
|
96
|
+
setUserProperty(key, value) {
|
|
97
|
+
this.userProperties[key] = value;
|
|
98
|
+
}
|
|
99
|
+
setUserId(userId) {
|
|
100
|
+
this.userId = userId;
|
|
101
|
+
}
|
|
102
|
+
isEnabled() {
|
|
103
|
+
return this.enabled;
|
|
104
|
+
}
|
|
105
|
+
getTrackedEvents() {
|
|
106
|
+
return [...this.events];
|
|
107
|
+
}
|
|
108
|
+
getEventsByName(eventName) {
|
|
109
|
+
return this.events.filter((e) => e.event === eventName);
|
|
110
|
+
}
|
|
111
|
+
getUserProperties() {
|
|
112
|
+
return { ...this.userProperties };
|
|
113
|
+
}
|
|
114
|
+
getUserId() {
|
|
115
|
+
return this.userId;
|
|
116
|
+
}
|
|
117
|
+
setEnabled(enabled) {
|
|
118
|
+
this.enabled = enabled;
|
|
119
|
+
}
|
|
120
|
+
reset() {
|
|
121
|
+
this.events = [];
|
|
122
|
+
this.userProperties = {};
|
|
123
|
+
this.userId = '';
|
|
124
|
+
this.enabled = true;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=analytics.mock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.mock.js","sourceRoot":"","sources":["../../src/mocks/analytics.mock.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Optional } from '@sudobility/types';
|
|
2
|
+
import type { EnvProvider, AppConfig, EnvironmentVariables, FirebaseConfig, EnvFactory, EnvUtils } from '../env.js';
|
|
3
|
+
export declare class MockEnvProvider implements EnvProvider {
|
|
4
|
+
private variables;
|
|
5
|
+
constructor(variables?: EnvironmentVariables);
|
|
6
|
+
get<K extends keyof EnvironmentVariables>(key: K, defaultValue?: Optional<string>): Optional<EnvironmentVariables[K] | string>;
|
|
7
|
+
isDevelopment(): boolean;
|
|
8
|
+
isProduction(): boolean;
|
|
9
|
+
isTest(): boolean;
|
|
10
|
+
getAll(): EnvironmentVariables;
|
|
11
|
+
setVariable(key: string, value: Optional<string>): void;
|
|
12
|
+
reset(variables?: EnvironmentVariables): void;
|
|
13
|
+
}
|
|
14
|
+
export declare function createMockFirebaseConfig(overrides?: Partial<FirebaseConfig>): FirebaseConfig;
|
|
15
|
+
export declare function createMockAppConfig(overrides?: Partial<AppConfig>): AppConfig;
|
|
16
|
+
export declare class MockEnvFactory implements EnvFactory {
|
|
17
|
+
private platform;
|
|
18
|
+
private envProvider;
|
|
19
|
+
private appConfig;
|
|
20
|
+
constructor(variables?: EnvironmentVariables, configOverrides?: Partial<AppConfig>);
|
|
21
|
+
createEnvProvider(): EnvProvider;
|
|
22
|
+
createAppConfig(_envProvider: EnvProvider): AppConfig;
|
|
23
|
+
detectPlatform(): 'web' | 'react-native' | 'node';
|
|
24
|
+
setPlatform(platform: 'web' | 'react-native' | 'node'): void;
|
|
25
|
+
setAppConfig(config: Partial<AppConfig>): void;
|
|
26
|
+
getEnvProvider(): MockEnvProvider;
|
|
27
|
+
}
|
|
28
|
+
export declare class MockEnvUtils implements EnvUtils {
|
|
29
|
+
private variables;
|
|
30
|
+
constructor(variables?: EnvironmentVariables);
|
|
31
|
+
isDevelopment(): boolean;
|
|
32
|
+
isProduction(): boolean;
|
|
33
|
+
isTest(): boolean;
|
|
34
|
+
get(key: string, defaultValue?: Optional<string>): Optional<string>;
|
|
35
|
+
setVariable(key: string, value: Optional<string>): void;
|
|
36
|
+
reset(variables?: EnvironmentVariables): void;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=env.mock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.mock.d.ts","sourceRoot":"","sources":["../../src/mocks/env.mock.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,cAAc,EACd,UAAU,EACV,QAAQ,EACT,MAAM,WAAW,CAAC;AAYnB,qBAAa,eAAgB,YAAW,WAAW;IACjD,OAAO,CAAC,SAAS,CAAuB;gBAE5B,SAAS,GAAE,oBAA2C;IAIlE,GAAG,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACtC,GAAG,EAAE,CAAC,EACN,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC9B,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IAK7C,aAAa,IAAI,OAAO;IAIxB,YAAY,IAAI,OAAO;IAIvB,MAAM,IAAI,OAAO;IAIjB,MAAM,IAAI,oBAAoB;IAS9B,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;IAOvD,KAAK,CAAC,SAAS,GAAE,oBAA2C,GAAG,IAAI;CAGpE;AAKD,wBAAgB,wBAAwB,CACtC,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM,GACtC,cAAc,CAYhB;AAKD,wBAAgB,mBAAmB,CACjC,SAAS,GAAE,OAAO,CAAC,SAAS,CAAM,GACjC,SAAS,CAaX;AAYD,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,SAAS,CAAY;gBAG3B,SAAS,GAAE,oBAA2C,EACtD,eAAe,GAAE,OAAO,CAAC,SAAS,CAAM;IAM1C,iBAAiB,IAAI,WAAW;IAIhC,eAAe,CAAC,YAAY,EAAE,WAAW,GAAG,SAAS;IAIrD,cAAc,IAAI,KAAK,GAAG,cAAc,GAAG,MAAM;IASjD,WAAW,CAAC,QAAQ,EAAE,KAAK,GAAG,cAAc,GAAG,MAAM,GAAG,IAAI;IAO5D,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI;IAO9C,cAAc,IAAI,eAAe;CAGlC;AAWD,qBAAa,YAAa,YAAW,QAAQ;IAC3C,OAAO,CAAC,SAAS,CAAuB;gBAE5B,SAAS,GAAE,oBAA2C;IAIlE,aAAa,IAAI,OAAO;IAIxB,YAAY,IAAI,OAAO;IAIvB,MAAM,IAAI,OAAO;IAIjB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IAUnE,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;IAOvD,KAAK,CAAC,SAAS,GAAE,oBAA2C,GAAG,IAAI;CAGpE"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
export class MockEnvProvider {
|
|
2
|
+
constructor(variables = { NODE_ENV: 'test' }) {
|
|
3
|
+
this.variables = variables;
|
|
4
|
+
}
|
|
5
|
+
get(key, defaultValue) {
|
|
6
|
+
const value = this.variables[key];
|
|
7
|
+
return value !== undefined ? value : defaultValue;
|
|
8
|
+
}
|
|
9
|
+
isDevelopment() {
|
|
10
|
+
return this.variables.NODE_ENV === 'development';
|
|
11
|
+
}
|
|
12
|
+
isProduction() {
|
|
13
|
+
return this.variables.NODE_ENV === 'production';
|
|
14
|
+
}
|
|
15
|
+
isTest() {
|
|
16
|
+
return this.variables.NODE_ENV === 'test';
|
|
17
|
+
}
|
|
18
|
+
getAll() {
|
|
19
|
+
return { ...this.variables };
|
|
20
|
+
}
|
|
21
|
+
setVariable(key, value) {
|
|
22
|
+
this.variables[key] = value;
|
|
23
|
+
}
|
|
24
|
+
reset(variables = { NODE_ENV: 'test' }) {
|
|
25
|
+
this.variables = variables;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export function createMockFirebaseConfig(overrides = {}) {
|
|
29
|
+
return {
|
|
30
|
+
apiKey: 'mock-api-key',
|
|
31
|
+
authDomain: 'mock-project.firebaseapp.com',
|
|
32
|
+
projectId: 'mock-project',
|
|
33
|
+
storageBucket: 'mock-project.appspot.com',
|
|
34
|
+
messagingSenderId: '123456789',
|
|
35
|
+
appId: '1:123456789:web:abc123',
|
|
36
|
+
measurementId: 'G-MOCK123',
|
|
37
|
+
vapidKey: 'mock-vapid-key',
|
|
38
|
+
...overrides,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export function createMockAppConfig(overrides = {}) {
|
|
42
|
+
return {
|
|
43
|
+
wildDuckBackendUrl: 'http://localhost:3000',
|
|
44
|
+
indexerBackendUrl: 'http://localhost:3001',
|
|
45
|
+
revenueCatApiKey: 'mock-revenuecat-key',
|
|
46
|
+
walletConnectProjectId: 'mock-walletconnect-id',
|
|
47
|
+
privyAppId: 'mock-privy-id',
|
|
48
|
+
firebase: createMockFirebaseConfig(overrides.firebase),
|
|
49
|
+
useCloudflareWorker: false,
|
|
50
|
+
cloudflareWorkerUrl: 'http://localhost:8787',
|
|
51
|
+
useMockFallback: true,
|
|
52
|
+
...overrides,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
export class MockEnvFactory {
|
|
56
|
+
constructor(variables = { NODE_ENV: 'test' }, configOverrides = {}) {
|
|
57
|
+
this.platform = 'node';
|
|
58
|
+
this.envProvider = new MockEnvProvider(variables);
|
|
59
|
+
this.appConfig = createMockAppConfig(configOverrides);
|
|
60
|
+
}
|
|
61
|
+
createEnvProvider() {
|
|
62
|
+
return this.envProvider;
|
|
63
|
+
}
|
|
64
|
+
createAppConfig(_envProvider) {
|
|
65
|
+
return this.appConfig;
|
|
66
|
+
}
|
|
67
|
+
detectPlatform() {
|
|
68
|
+
return this.platform;
|
|
69
|
+
}
|
|
70
|
+
setPlatform(platform) {
|
|
71
|
+
this.platform = platform;
|
|
72
|
+
}
|
|
73
|
+
setAppConfig(config) {
|
|
74
|
+
this.appConfig = { ...this.appConfig, ...config };
|
|
75
|
+
}
|
|
76
|
+
getEnvProvider() {
|
|
77
|
+
return this.envProvider;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
export class MockEnvUtils {
|
|
81
|
+
constructor(variables = { NODE_ENV: 'test' }) {
|
|
82
|
+
this.variables = variables;
|
|
83
|
+
}
|
|
84
|
+
isDevelopment() {
|
|
85
|
+
return this.variables.NODE_ENV === 'development';
|
|
86
|
+
}
|
|
87
|
+
isProduction() {
|
|
88
|
+
return this.variables.NODE_ENV === 'production';
|
|
89
|
+
}
|
|
90
|
+
isTest() {
|
|
91
|
+
return this.variables.NODE_ENV === 'test';
|
|
92
|
+
}
|
|
93
|
+
get(key, defaultValue) {
|
|
94
|
+
const value = this.variables[key];
|
|
95
|
+
return value !== undefined ? value : defaultValue;
|
|
96
|
+
}
|
|
97
|
+
setVariable(key, value) {
|
|
98
|
+
this.variables[key] = value;
|
|
99
|
+
}
|
|
100
|
+
reset(variables = { NODE_ENV: 'test' }) {
|
|
101
|
+
this.variables = variables;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=env.mock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.mock.js","sourceRoot":"","sources":["../../src/mocks/env.mock.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { MockEnvProvider, MockEnvFactory, MockEnvUtils, createMockFirebaseConfig, createMockAppConfig, } from './env.mock.js';
|
|
2
|
+
export { MockAnalyticsClient, MockAnalyticsContextProvider, MockPlatformAnalytics, type RecordedAnalyticsEvent, } from './analytics.mock.js';
|
|
3
|
+
export { MockPlatformNetwork, type RecordedRequest, type MockResponseConfig, } from './network.mock.js';
|
|
4
|
+
export { MockPlatformStorage, MockAdvancedPlatformStorage, MockStorageProvider, MockStorageService, MockSerializedStorageService, MockStorageFactory, } from './storage.mock.js';
|
|
5
|
+
export { MockNavigationService, MockNavigationHook, MockLocationHook, type RecordedNavigation, } from './navigation.mock.js';
|
|
6
|
+
export { MockNotificationService, MockNotificationClient, MockNotificationContextProvider, MockPlatformNotifications, createMockNotificationConfig, type RecordedNotification, type RecordedPlatformNotification, } from './notification.mock.js';
|
|
7
|
+
export { MockPlatformTheme, type RecordedThemeChange } from './theme.mock.js';
|
|
8
|
+
export { MockLogger, MockLoggerProvider, createNoOpLogger, createDebugLogger, type RecordedLogEntry, } from './logging.mock.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mocks/index.ts"],"names":[],"mappings":"AA4BA,OAAO,EACL,eAAe,EACf,cAAc,EACd,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,+BAA+B,EAC/B,yBAAyB,EACzB,4BAA4B,EAC5B,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,GAClC,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG9E,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { MockEnvProvider, MockEnvFactory, MockEnvUtils, createMockFirebaseConfig, createMockAppConfig, } from './env.mock.js';
|
|
2
|
+
export { MockAnalyticsClient, MockAnalyticsContextProvider, MockPlatformAnalytics, } from './analytics.mock.js';
|
|
3
|
+
export { MockPlatformNetwork, } from './network.mock.js';
|
|
4
|
+
export { MockPlatformStorage, MockAdvancedPlatformStorage, MockStorageProvider, MockStorageService, MockSerializedStorageService, MockStorageFactory, } from './storage.mock.js';
|
|
5
|
+
export { MockNavigationService, MockNavigationHook, MockLocationHook, } from './navigation.mock.js';
|
|
6
|
+
export { MockNotificationService, MockNotificationClient, MockNotificationContextProvider, MockPlatformNotifications, createMockNotificationConfig, } from './notification.mock.js';
|
|
7
|
+
export { MockPlatformTheme } from './theme.mock.js';
|
|
8
|
+
export { MockLogger, MockLoggerProvider, createNoOpLogger, createDebugLogger, } from './logging.mock.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mocks/index.ts"],"names":[],"mappings":"AA4BA,OAAO,EACL,eAAe,EACf,cAAc,EACd,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,qBAAqB,GAEtB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,mBAAmB,GAGpB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,GAEjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,+BAA+B,EAC/B,yBAAyB,EACzB,4BAA4B,GAG7B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,iBAAiB,EAA4B,MAAM,iBAAiB,CAAC;AAG9E,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GAElB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { LogType, type Logger, type LoggerProvider } from '../logging/logging.interface.js';
|
|
2
|
+
export interface RecordedLogEntry {
|
|
3
|
+
args: unknown[];
|
|
4
|
+
timestamp: number;
|
|
5
|
+
}
|
|
6
|
+
export declare class MockLogger implements Logger {
|
|
7
|
+
readonly type: LogType;
|
|
8
|
+
private entries;
|
|
9
|
+
private enabled;
|
|
10
|
+
constructor(type?: LogType);
|
|
11
|
+
log(...args: any[]): void;
|
|
12
|
+
getLogEntries(): RecordedLogEntry[];
|
|
13
|
+
getLastEntry(): RecordedLogEntry | undefined;
|
|
14
|
+
getEntriesContaining(search: string): RecordedLogEntry[];
|
|
15
|
+
getEntryCount(): number;
|
|
16
|
+
hasLogged(message: string): boolean;
|
|
17
|
+
setEnabled(enabled: boolean): void;
|
|
18
|
+
isEnabled(): boolean;
|
|
19
|
+
clear(): void;
|
|
20
|
+
reset(): void;
|
|
21
|
+
}
|
|
22
|
+
export declare class MockLoggerProvider implements LoggerProvider {
|
|
23
|
+
private logger;
|
|
24
|
+
private logTypeChanges;
|
|
25
|
+
constructor(initialType?: LogType);
|
|
26
|
+
getLogger(): Logger;
|
|
27
|
+
setLogType(type: LogType): void;
|
|
28
|
+
getMockLogger(): MockLogger;
|
|
29
|
+
getLogTypeChanges(): LogType[];
|
|
30
|
+
getCurrentLogType(): LogType;
|
|
31
|
+
reset(): void;
|
|
32
|
+
}
|
|
33
|
+
export declare function createNoOpLogger(): Logger;
|
|
34
|
+
export declare function createDebugLogger(): MockLogger;
|
|
35
|
+
//# sourceMappingURL=logging.mock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.mock.d.ts","sourceRoot":"","sources":["../../src/mocks/logging.mock.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,OAAO,EACP,KAAK,MAAM,EACX,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AAKzC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAaD,qBAAa,UAAW,YAAW,MAAM;IACvC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,OAAO,CAAiB;gBAEpB,IAAI,GAAE,OAAyB;IAK3C,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAczB,aAAa,IAAI,gBAAgB,EAAE;IAOnC,YAAY,IAAI,gBAAgB,GAAG,SAAS;IAO5C,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,EAAE;IASxD,aAAa,IAAI,MAAM;IAOvB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IASnC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOlC,SAAS,IAAI,OAAO;IAOpB,KAAK,IAAI,IAAI;IAOb,KAAK,IAAI,IAAI;CAId;AAaD,qBAAa,kBAAmB,YAAW,cAAc;IACvD,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,cAAc,CAAiB;gBAE3B,WAAW,GAAE,OAAyB;IAKlD,SAAS,IAAI,MAAM;IAInB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAU/B,aAAa,IAAI,UAAU;IAO3B,iBAAiB,IAAI,OAAO,EAAE;IAO9B,iBAAiB,IAAI,OAAO;IAO5B,KAAK,IAAI,IAAI;CAId;AAMD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAMD,wBAAgB,iBAAiB,IAAI,UAAU,CAE9C"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { LogType, } from '../logging/logging.interface.js';
|
|
2
|
+
export class MockLogger {
|
|
3
|
+
constructor(type = LogType.Console) {
|
|
4
|
+
this.entries = [];
|
|
5
|
+
this.enabled = true;
|
|
6
|
+
this.type = type;
|
|
7
|
+
}
|
|
8
|
+
log(...args) {
|
|
9
|
+
if (!this.enabled || this.type === LogType.None)
|
|
10
|
+
return;
|
|
11
|
+
this.entries.push({
|
|
12
|
+
args: [...args],
|
|
13
|
+
timestamp: Date.now(),
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
getLogEntries() {
|
|
17
|
+
return [...this.entries];
|
|
18
|
+
}
|
|
19
|
+
getLastEntry() {
|
|
20
|
+
return this.entries[this.entries.length - 1];
|
|
21
|
+
}
|
|
22
|
+
getEntriesContaining(search) {
|
|
23
|
+
return this.entries.filter((entry) => entry.args.some((arg) => String(arg).includes(search)));
|
|
24
|
+
}
|
|
25
|
+
getEntryCount() {
|
|
26
|
+
return this.entries.length;
|
|
27
|
+
}
|
|
28
|
+
hasLogged(message) {
|
|
29
|
+
return this.entries.some((entry) => entry.args.some((arg) => String(arg).includes(message)));
|
|
30
|
+
}
|
|
31
|
+
setEnabled(enabled) {
|
|
32
|
+
this.enabled = enabled;
|
|
33
|
+
}
|
|
34
|
+
isEnabled() {
|
|
35
|
+
return this.enabled && this.type !== LogType.None;
|
|
36
|
+
}
|
|
37
|
+
clear() {
|
|
38
|
+
this.entries = [];
|
|
39
|
+
}
|
|
40
|
+
reset() {
|
|
41
|
+
this.entries = [];
|
|
42
|
+
this.enabled = true;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export class MockLoggerProvider {
|
|
46
|
+
constructor(initialType = LogType.Console) {
|
|
47
|
+
this.logTypeChanges = [];
|
|
48
|
+
this.logger = new MockLogger(initialType);
|
|
49
|
+
this.logTypeChanges.push(initialType);
|
|
50
|
+
}
|
|
51
|
+
getLogger() {
|
|
52
|
+
return this.logger;
|
|
53
|
+
}
|
|
54
|
+
setLogType(type) {
|
|
55
|
+
this.logTypeChanges.push(type);
|
|
56
|
+
this.logger = new MockLogger(type);
|
|
57
|
+
}
|
|
58
|
+
getMockLogger() {
|
|
59
|
+
return this.logger;
|
|
60
|
+
}
|
|
61
|
+
getLogTypeChanges() {
|
|
62
|
+
return [...this.logTypeChanges];
|
|
63
|
+
}
|
|
64
|
+
getCurrentLogType() {
|
|
65
|
+
return this.logger.type;
|
|
66
|
+
}
|
|
67
|
+
reset() {
|
|
68
|
+
this.logger = new MockLogger(LogType.Console);
|
|
69
|
+
this.logTypeChanges = [LogType.Console];
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export function createNoOpLogger() {
|
|
73
|
+
return new MockLogger(LogType.None);
|
|
74
|
+
}
|
|
75
|
+
export function createDebugLogger() {
|
|
76
|
+
return new MockLogger(LogType.Console);
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=logging.mock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.mock.js","sourceRoot":"","sources":["../../src/mocks/logging.mock.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { Optional } from '@sudobility/types';
|
|
2
|
+
import type { NavigationService, NavigationOptions, NavigationState, NavigationHook, LocationHook } from '../navigation/navigation.js';
|
|
3
|
+
export interface RecordedNavigation {
|
|
4
|
+
type: 'navigate' | 'goBack' | 'goForward' | 'replace';
|
|
5
|
+
path?: string | undefined;
|
|
6
|
+
options?: NavigationOptions | undefined;
|
|
7
|
+
timestamp: number;
|
|
8
|
+
}
|
|
9
|
+
export declare class MockNavigationService implements NavigationService {
|
|
10
|
+
private history;
|
|
11
|
+
private historyIndex;
|
|
12
|
+
private params;
|
|
13
|
+
private searchParams;
|
|
14
|
+
private state;
|
|
15
|
+
private listeners;
|
|
16
|
+
private supported;
|
|
17
|
+
private navigationEvents;
|
|
18
|
+
navigate(path: string, options?: Optional<NavigationOptions>): void;
|
|
19
|
+
goBack(fallbackPath?: Optional<string>): void;
|
|
20
|
+
goForward(): void;
|
|
21
|
+
replace(path: string, options?: Optional<NavigationOptions>): void;
|
|
22
|
+
getCurrentState(): NavigationState;
|
|
23
|
+
getCurrentPath(): string;
|
|
24
|
+
getSearchParams(): Record<string, string>;
|
|
25
|
+
getParams(): Record<string, string>;
|
|
26
|
+
canGoBack(): boolean;
|
|
27
|
+
canGoForward(): boolean;
|
|
28
|
+
addListener(listener: (state: NavigationState) => void): () => void;
|
|
29
|
+
isSupported(): boolean;
|
|
30
|
+
private notifyListeners;
|
|
31
|
+
setParams(params: Record<string, string>): void;
|
|
32
|
+
setSearchParams(searchParams: Record<string, string>): void;
|
|
33
|
+
setState(state: unknown): void;
|
|
34
|
+
getState(): unknown;
|
|
35
|
+
setSupported(supported: boolean): void;
|
|
36
|
+
getNavigationHistory(): RecordedNavigation[];
|
|
37
|
+
getUrlHistory(): string[];
|
|
38
|
+
getHistoryIndex(): number;
|
|
39
|
+
getListenerCount(): number;
|
|
40
|
+
reset(): void;
|
|
41
|
+
}
|
|
42
|
+
export declare class MockNavigationHook implements NavigationHook {
|
|
43
|
+
currentPath: string;
|
|
44
|
+
searchParams: Record<string, string>;
|
|
45
|
+
params: Record<string, string>;
|
|
46
|
+
canGoBack: boolean;
|
|
47
|
+
isSupported: boolean;
|
|
48
|
+
private navigationHistory;
|
|
49
|
+
navigate: (path: string, options?: Optional<NavigationOptions>) => void;
|
|
50
|
+
goBack: (fallbackPath?: Optional<string>) => void;
|
|
51
|
+
replace: (path: string, options?: Optional<NavigationOptions>) => void;
|
|
52
|
+
setCurrentPath(path: string): void;
|
|
53
|
+
setSearchParams(params: Record<string, string>): void;
|
|
54
|
+
setParams(params: Record<string, string>): void;
|
|
55
|
+
setCanGoBack(canGoBack: boolean): void;
|
|
56
|
+
setIsSupported(supported: boolean): void;
|
|
57
|
+
getNavigationHistory(): RecordedNavigation[];
|
|
58
|
+
reset(): void;
|
|
59
|
+
}
|
|
60
|
+
export declare class MockLocationHook implements LocationHook {
|
|
61
|
+
pathname: string;
|
|
62
|
+
search: string;
|
|
63
|
+
searchParams: Record<string, string>;
|
|
64
|
+
hash: string;
|
|
65
|
+
state: unknown;
|
|
66
|
+
key: string;
|
|
67
|
+
constructor(url?: string);
|
|
68
|
+
setFromUrl(url: string): void;
|
|
69
|
+
setPathname(pathname: string): void;
|
|
70
|
+
setSearch(search: string): void;
|
|
71
|
+
setSearchParams(params: Record<string, string>): void;
|
|
72
|
+
setHash(hash: string): void;
|
|
73
|
+
setState(state: unknown): void;
|
|
74
|
+
setKey(key: string): void;
|
|
75
|
+
reset(): void;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=navigation.mock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.mock.d.ts","sourceRoot":"","sources":["../../src/mocks/navigation.mock.ts"],"names":[],"mappings":"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"}
|