@shakenbake/react-native 0.0.1

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.
Files changed (73) hide show
  1. package/dist/ShakeNbakeProvider.d.ts +26 -0
  2. package/dist/ShakeNbakeProvider.d.ts.map +1 -0
  3. package/dist/ShakeNbakeProvider.js +338 -0
  4. package/dist/ShakeNbakeProvider.js.map +1 -0
  5. package/dist/__tests__/capture.test.d.ts +2 -0
  6. package/dist/__tests__/capture.test.d.ts.map +1 -0
  7. package/dist/__tests__/capture.test.js +93 -0
  8. package/dist/__tests__/capture.test.js.map +1 -0
  9. package/dist/__tests__/collectors.test.d.ts +2 -0
  10. package/dist/__tests__/collectors.test.d.ts.map +1 -0
  11. package/dist/__tests__/collectors.test.js +212 -0
  12. package/dist/__tests__/collectors.test.js.map +1 -0
  13. package/dist/__tests__/drawing-canvas.test.d.ts +2 -0
  14. package/dist/__tests__/drawing-canvas.test.d.ts.map +1 -0
  15. package/dist/__tests__/drawing-canvas.test.js +503 -0
  16. package/dist/__tests__/drawing-canvas.test.js.map +1 -0
  17. package/dist/__tests__/provider.test.d.ts +2 -0
  18. package/dist/__tests__/provider.test.d.ts.map +1 -0
  19. package/dist/__tests__/provider.test.js +431 -0
  20. package/dist/__tests__/provider.test.js.map +1 -0
  21. package/dist/__tests__/report-form.test.d.ts +2 -0
  22. package/dist/__tests__/report-form.test.d.ts.map +1 -0
  23. package/dist/__tests__/report-form.test.js +178 -0
  24. package/dist/__tests__/report-form.test.js.map +1 -0
  25. package/dist/__tests__/triggers.test.d.ts +2 -0
  26. package/dist/__tests__/triggers.test.d.ts.map +1 -0
  27. package/dist/__tests__/triggers.test.js +53 -0
  28. package/dist/__tests__/triggers.test.js.map +1 -0
  29. package/dist/annotate/DrawingCanvas.d.ts +13 -0
  30. package/dist/annotate/DrawingCanvas.d.ts.map +1 -0
  31. package/dist/annotate/DrawingCanvas.js +475 -0
  32. package/dist/annotate/DrawingCanvas.js.map +1 -0
  33. package/dist/annotate/types.d.ts +72 -0
  34. package/dist/annotate/types.d.ts.map +1 -0
  35. package/dist/annotate/types.js +34 -0
  36. package/dist/annotate/types.js.map +1 -0
  37. package/dist/annotate/useDrawingOperations.d.ts +88 -0
  38. package/dist/annotate/useDrawingOperations.d.ts.map +1 -0
  39. package/dist/annotate/useDrawingOperations.js +186 -0
  40. package/dist/annotate/useDrawingOperations.js.map +1 -0
  41. package/dist/capture/screenshot.d.ts +31 -0
  42. package/dist/capture/screenshot.d.ts.map +1 -0
  43. package/dist/capture/screenshot.js +90 -0
  44. package/dist/capture/screenshot.js.map +1 -0
  45. package/dist/context/collectors.d.ts +25 -0
  46. package/dist/context/collectors.d.ts.map +1 -0
  47. package/dist/context/collectors.js +244 -0
  48. package/dist/context/collectors.js.map +1 -0
  49. package/dist/hooks/useShakeNbake.d.ts +28 -0
  50. package/dist/hooks/useShakeNbake.d.ts.map +1 -0
  51. package/dist/hooks/useShakeNbake.js +30 -0
  52. package/dist/hooks/useShakeNbake.js.map +1 -0
  53. package/dist/index.d.ts +19 -0
  54. package/dist/index.d.ts.map +1 -0
  55. package/dist/index.js +49 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/triggers/shake.d.ts +16 -0
  58. package/dist/triggers/shake.d.ts.map +1 -0
  59. package/dist/triggers/shake.js +41 -0
  60. package/dist/triggers/shake.js.map +1 -0
  61. package/dist/ui/ReportForm.d.ts +33 -0
  62. package/dist/ui/ReportForm.d.ts.map +1 -0
  63. package/dist/ui/ReportForm.js +608 -0
  64. package/dist/ui/ReportForm.js.map +1 -0
  65. package/dist/ui/form-validation.d.ts +26 -0
  66. package/dist/ui/form-validation.d.ts.map +1 -0
  67. package/dist/ui/form-validation.js +44 -0
  68. package/dist/ui/form-validation.js.map +1 -0
  69. package/dist/ui/state-machine.d.ts +70 -0
  70. package/dist/ui/state-machine.d.ts.map +1 -0
  71. package/dist/ui/state-machine.js +107 -0
  72. package/dist/ui/state-machine.js.map +1 -0
  73. package/package.json +57 -0
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ // ---------------------------------------------------------------------------
3
+ // Tests for DeviceContextCollector
4
+ // ---------------------------------------------------------------------------
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const vitest_1 = require("vitest");
7
+ // Mock react-native — use plain functions (not vi.fn) so vi.clearAllMocks
8
+ // does not wipe their implementations.
9
+ vitest_1.vi.mock('react-native', () => ({
10
+ Platform: {
11
+ OS: 'ios',
12
+ Version: '17.0',
13
+ },
14
+ Dimensions: {
15
+ get: (_dim) => ({ width: 390, height: 844, scale: 3, fontScale: 1 }),
16
+ },
17
+ PixelRatio: {
18
+ get: () => 3,
19
+ getFontScale: () => 1,
20
+ },
21
+ AccessibilityInfo: {
22
+ isScreenReaderEnabled: () => Promise.resolve(false),
23
+ isReduceMotionEnabled: () => Promise.resolve(false),
24
+ },
25
+ }));
26
+ // Mock expo-device
27
+ vitest_1.vi.mock('expo-device', () => ({
28
+ manufacturer: 'Apple',
29
+ modelName: 'iPhone 15 Pro',
30
+ modelId: 'iPhone16,1',
31
+ deviceType: 1,
32
+ totalMemory: 6442450944,
33
+ deviceName: 'My iPhone',
34
+ }));
35
+ // Mock expo-constants
36
+ vitest_1.vi.mock('expo-constants', () => ({
37
+ default: {
38
+ expoConfig: {
39
+ version: '1.0.0',
40
+ runtimeVersion: '1.0.0',
41
+ sdkVersion: '54.0.0',
42
+ ios: {
43
+ bundleIdentifier: 'com.example.app',
44
+ buildNumber: '42',
45
+ },
46
+ android: {
47
+ package: 'com.example.app',
48
+ versionCode: 42,
49
+ },
50
+ },
51
+ },
52
+ }));
53
+ // Mock expo-battery
54
+ vitest_1.vi.mock('expo-battery', () => ({
55
+ getBatteryLevelAsync: vitest_1.vi.fn().mockResolvedValue(0.85),
56
+ getBatteryStateAsync: vitest_1.vi.fn().mockResolvedValue(2),
57
+ isLowPowerModeEnabledAsync: vitest_1.vi.fn().mockResolvedValue(false),
58
+ }));
59
+ // Mock expo-localization
60
+ vitest_1.vi.mock('expo-localization', () => ({
61
+ getLocales: vitest_1.vi.fn(() => [
62
+ {
63
+ languageCode: 'en',
64
+ regionCode: 'US',
65
+ currencyCode: 'USD',
66
+ textDirection: 'ltr',
67
+ },
68
+ ]),
69
+ getCalendars: vitest_1.vi.fn(() => [
70
+ {
71
+ timeZone: 'America/New_York',
72
+ },
73
+ ]),
74
+ }));
75
+ // Mock @react-native-community/netinfo
76
+ vitest_1.vi.mock('@react-native-community/netinfo', () => ({
77
+ default: {
78
+ fetch: vitest_1.vi.fn().mockResolvedValue({
79
+ type: 'wifi',
80
+ isConnected: true,
81
+ isInternetReachable: true,
82
+ }),
83
+ },
84
+ }));
85
+ const collectors_js_1 = require("../context/collectors.js");
86
+ (0, vitest_1.describe)('DeviceContextCollector', () => {
87
+ let collector;
88
+ (0, vitest_1.beforeEach)(() => {
89
+ collector = new collectors_js_1.DeviceContextCollector();
90
+ });
91
+ (0, vitest_1.it)('has correct name and platform', () => {
92
+ (0, vitest_1.expect)(collector.name).toBe('device');
93
+ (0, vitest_1.expect)(collector.platform).toBe('react-native');
94
+ });
95
+ (0, vitest_1.it)('collects full context when all modules are available', async () => {
96
+ const context = await collector.collect();
97
+ // Platform
98
+ (0, vitest_1.expect)(context.platform).toBeDefined();
99
+ (0, vitest_1.expect)(context.platform?.os).toBe('ios');
100
+ (0, vitest_1.expect)(context.platform?.osVersion).toBe('17.0');
101
+ (0, vitest_1.expect)(context.platform?.runtimeVersion).toBe('1.0.0');
102
+ (0, vitest_1.expect)(context.platform?.sdkVersion).toBe('54.0.0');
103
+ // Device
104
+ (0, vitest_1.expect)(context.device).toBeDefined();
105
+ (0, vitest_1.expect)(context.device?.manufacturer).toBe('Apple');
106
+ (0, vitest_1.expect)(context.device?.model).toBe('iPhone 15 Pro');
107
+ (0, vitest_1.expect)(context.device?.modelId).toBe('iPhone16,1');
108
+ (0, vitest_1.expect)(context.device?.totalMemory).toBe(6442450944);
109
+ // Screen
110
+ (0, vitest_1.expect)(context.screen).toBeDefined();
111
+ (0, vitest_1.expect)(context.screen?.width).toBe(390);
112
+ (0, vitest_1.expect)(context.screen?.height).toBe(844);
113
+ (0, vitest_1.expect)(context.screen?.scale).toBe(3);
114
+ (0, vitest_1.expect)(context.screen?.fontScale).toBe(1);
115
+ // Network
116
+ (0, vitest_1.expect)(context.network).toBeDefined();
117
+ (0, vitest_1.expect)(context.network?.type).toBe('wifi');
118
+ (0, vitest_1.expect)(context.network?.isConnected).toBe(true);
119
+ (0, vitest_1.expect)(context.network?.isInternetReachable).toBe(true);
120
+ // Battery
121
+ (0, vitest_1.expect)(context.battery).toBeDefined();
122
+ (0, vitest_1.expect)(context.battery?.level).toBe(0.85);
123
+ (0, vitest_1.expect)(context.battery?.state).toBe('2');
124
+ (0, vitest_1.expect)(context.battery?.lowPowerMode).toBe(false);
125
+ // Locale
126
+ (0, vitest_1.expect)(context.locale).toBeDefined();
127
+ (0, vitest_1.expect)(context.locale?.languageCode).toBe('en');
128
+ (0, vitest_1.expect)(context.locale?.regionCode).toBe('US');
129
+ (0, vitest_1.expect)(context.locale?.timezone).toBe('America/New_York');
130
+ (0, vitest_1.expect)(context.locale?.isRTL).toBe(false);
131
+ // App
132
+ (0, vitest_1.expect)(context.app).toBeDefined();
133
+ (0, vitest_1.expect)(context.app?.version).toBe('1.0.0');
134
+ (0, vitest_1.expect)(context.app?.bundleId).toBe('com.example.app');
135
+ (0, vitest_1.expect)(context.app?.buildNumber).toBe('42');
136
+ // Accessibility
137
+ (0, vitest_1.expect)(context.accessibility).toBeDefined();
138
+ (0, vitest_1.expect)(context.accessibility?.screenReaderEnabled).toBe(false);
139
+ (0, vitest_1.expect)(context.accessibility?.reduceMotionEnabled).toBe(false);
140
+ (0, vitest_1.expect)(context.accessibility?.fontScale).toBe(1);
141
+ });
142
+ (0, vitest_1.it)('returns all expected top-level keys', async () => {
143
+ const context = await collector.collect();
144
+ (0, vitest_1.expect)(context).toHaveProperty('platform');
145
+ (0, vitest_1.expect)(context).toHaveProperty('device');
146
+ (0, vitest_1.expect)(context).toHaveProperty('screen');
147
+ (0, vitest_1.expect)(context).toHaveProperty('network');
148
+ (0, vitest_1.expect)(context).toHaveProperty('battery');
149
+ (0, vitest_1.expect)(context).toHaveProperty('locale');
150
+ (0, vitest_1.expect)(context).toHaveProperty('app');
151
+ (0, vitest_1.expect)(context).toHaveProperty('accessibility');
152
+ });
153
+ });
154
+ (0, vitest_1.describe)('DeviceContextCollector — partial failure resilience', () => {
155
+ (0, vitest_1.it)('returns partial data when a sub-collector module fails', async () => {
156
+ // Reset all module mocks and make expo-battery throw
157
+ vitest_1.vi.resetModules();
158
+ // Re-mock everything except expo-battery which will throw
159
+ vitest_1.vi.doMock('react-native', () => ({
160
+ Platform: { OS: 'android', Version: '14' },
161
+ Dimensions: {
162
+ get: () => ({ width: 360, height: 800, scale: 2, fontScale: 1 }),
163
+ },
164
+ PixelRatio: { get: () => 2, getFontScale: () => 1 },
165
+ AccessibilityInfo: {
166
+ isScreenReaderEnabled: () => Promise.resolve(false),
167
+ isReduceMotionEnabled: () => Promise.resolve(false),
168
+ },
169
+ }));
170
+ vitest_1.vi.doMock('expo-device', () => ({
171
+ manufacturer: 'Samsung',
172
+ modelName: 'Galaxy S24',
173
+ modelId: null,
174
+ deviceType: 1,
175
+ totalMemory: 8589934592,
176
+ deviceName: 'My Galaxy',
177
+ }));
178
+ vitest_1.vi.doMock('expo-constants', () => ({
179
+ default: { expoConfig: { version: '2.0.0' } },
180
+ }));
181
+ // expo-battery will throw on import
182
+ vitest_1.vi.doMock('expo-battery', () => {
183
+ throw new Error('Module not found');
184
+ });
185
+ vitest_1.vi.doMock('expo-localization', () => ({
186
+ getLocales: () => [
187
+ { languageCode: 'de', regionCode: 'DE', currencyCode: 'EUR', textDirection: 'ltr' },
188
+ ],
189
+ getCalendars: () => [{ timeZone: 'Europe/Berlin' }],
190
+ }));
191
+ vitest_1.vi.doMock('@react-native-community/netinfo', () => ({
192
+ default: {
193
+ fetch: () => Promise.resolve({ type: 'cellular', isConnected: true, isInternetReachable: true }),
194
+ },
195
+ }));
196
+ // Re-import the collector with fresh mocks
197
+ const { DeviceContextCollector: FreshCollector } = await import('../context/collectors.js');
198
+ const collector = new FreshCollector();
199
+ const context = await collector.collect();
200
+ // Platform should still work
201
+ (0, vitest_1.expect)(context.platform?.os).toBe('android');
202
+ // Device should still work
203
+ (0, vitest_1.expect)(context.device?.manufacturer).toBe('Samsung');
204
+ // Battery should be empty (module threw) but not break others
205
+ (0, vitest_1.expect)(context.battery).toBeDefined();
206
+ // Locale should still work
207
+ (0, vitest_1.expect)(context.locale?.languageCode).toBe('de');
208
+ // Network should still work
209
+ (0, vitest_1.expect)(context.network?.type).toBe('cellular');
210
+ });
211
+ });
212
+ //# sourceMappingURL=collectors.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectors.test.js","sourceRoot":"","sources":["../../src/__tests__/collectors.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=drawing-canvas.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawing-canvas.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/drawing-canvas.test.ts"],"names":[],"mappings":""}