@edgebasejs/react-native 0.1.0

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 (101) hide show
  1. package/dist/client-core/src/auth/auth-manager.d.ts +73 -0
  2. package/dist/client-core/src/auth/auth-manager.d.ts.map +1 -0
  3. package/dist/client-core/src/auth/auth-manager.js +226 -0
  4. package/dist/client-core/src/auth/auth-manager.js.map +1 -0
  5. package/dist/client-core/src/auth/index.d.ts +2 -0
  6. package/dist/client-core/src/auth/index.d.ts.map +1 -0
  7. package/dist/client-core/src/auth/index.js +2 -0
  8. package/dist/client-core/src/auth/index.js.map +1 -0
  9. package/dist/client-core/src/conflict/conflict-resolver.d.ts +62 -0
  10. package/dist/client-core/src/conflict/conflict-resolver.d.ts.map +1 -0
  11. package/dist/client-core/src/conflict/conflict-resolver.js +102 -0
  12. package/dist/client-core/src/conflict/conflict-resolver.js.map +1 -0
  13. package/dist/client-core/src/conflict/index.d.ts +2 -0
  14. package/dist/client-core/src/conflict/index.d.ts.map +1 -0
  15. package/dist/client-core/src/conflict/index.js +2 -0
  16. package/dist/client-core/src/conflict/index.js.map +1 -0
  17. package/dist/client-core/src/index.d.ts +6 -0
  18. package/dist/client-core/src/index.d.ts.map +1 -0
  19. package/dist/client-core/src/index.js +6 -0
  20. package/dist/client-core/src/index.js.map +1 -0
  21. package/dist/client-core/src/outbox/index.d.ts +2 -0
  22. package/dist/client-core/src/outbox/index.d.ts.map +1 -0
  23. package/dist/client-core/src/outbox/index.js +2 -0
  24. package/dist/client-core/src/outbox/index.js.map +1 -0
  25. package/dist/client-core/src/outbox/outbox-manager.d.ts +82 -0
  26. package/dist/client-core/src/outbox/outbox-manager.d.ts.map +1 -0
  27. package/dist/client-core/src/outbox/outbox-manager.js +143 -0
  28. package/dist/client-core/src/outbox/outbox-manager.js.map +1 -0
  29. package/dist/client-core/src/storage/index.d.ts +2 -0
  30. package/dist/client-core/src/storage/index.d.ts.map +1 -0
  31. package/dist/client-core/src/storage/index.js +2 -0
  32. package/dist/client-core/src/storage/index.js.map +1 -0
  33. package/dist/client-core/src/storage/storage-adapter.d.ts +54 -0
  34. package/dist/client-core/src/storage/storage-adapter.d.ts.map +1 -0
  35. package/dist/client-core/src/storage/storage-adapter.js +38 -0
  36. package/dist/client-core/src/storage/storage-adapter.js.map +1 -0
  37. package/dist/client-core/src/sync/index.d.ts +2 -0
  38. package/dist/client-core/src/sync/index.d.ts.map +1 -0
  39. package/dist/client-core/src/sync/index.js +2 -0
  40. package/dist/client-core/src/sync/index.js.map +1 -0
  41. package/dist/client-core/src/sync/sync-engine.d.ts +65 -0
  42. package/dist/client-core/src/sync/sync-engine.d.ts.map +1 -0
  43. package/dist/client-core/src/sync/sync-engine.js +190 -0
  44. package/dist/client-core/src/sync/sync-engine.js.map +1 -0
  45. package/dist/client-react-native/src/hooks/index.d.ts +5 -0
  46. package/dist/client-react-native/src/hooks/index.d.ts.map +1 -0
  47. package/dist/client-react-native/src/hooks/index.js +5 -0
  48. package/dist/client-react-native/src/hooks/index.js.map +1 -0
  49. package/dist/client-react-native/src/hooks/use-auth.d.ts +17 -0
  50. package/dist/client-react-native/src/hooks/use-auth.d.ts.map +1 -0
  51. package/dist/client-react-native/src/hooks/use-auth.js +78 -0
  52. package/dist/client-react-native/src/hooks/use-auth.js.map +1 -0
  53. package/dist/client-react-native/src/hooks/use-mutation.d.ts +14 -0
  54. package/dist/client-react-native/src/hooks/use-mutation.d.ts.map +1 -0
  55. package/dist/client-react-native/src/hooks/use-mutation.js +95 -0
  56. package/dist/client-react-native/src/hooks/use-mutation.js.map +1 -0
  57. package/dist/client-react-native/src/hooks/use-query.d.ts +14 -0
  58. package/dist/client-react-native/src/hooks/use-query.d.ts.map +1 -0
  59. package/dist/client-react-native/src/hooks/use-query.js +77 -0
  60. package/dist/client-react-native/src/hooks/use-query.js.map +1 -0
  61. package/dist/client-react-native/src/hooks/use-sync.d.ts +14 -0
  62. package/dist/client-react-native/src/hooks/use-sync.d.ts.map +1 -0
  63. package/dist/client-react-native/src/hooks/use-sync.js +67 -0
  64. package/dist/client-react-native/src/hooks/use-sync.js.map +1 -0
  65. package/dist/client-react-native/src/index.d.ts +9 -0
  66. package/dist/client-react-native/src/index.d.ts.map +1 -0
  67. package/dist/client-react-native/src/index.js +9 -0
  68. package/dist/client-react-native/src/index.js.map +1 -0
  69. package/dist/client-react-native/src/provider.d.ts +21 -0
  70. package/dist/client-react-native/src/provider.d.ts.map +1 -0
  71. package/dist/client-react-native/src/provider.js +92 -0
  72. package/dist/client-react-native/src/provider.js.map +1 -0
  73. package/dist/client-react-native/src/storage/async-storage-adapter.d.ts +16 -0
  74. package/dist/client-react-native/src/storage/async-storage-adapter.d.ts.map +1 -0
  75. package/dist/client-react-native/src/storage/async-storage-adapter.js +78 -0
  76. package/dist/client-react-native/src/storage/async-storage-adapter.js.map +1 -0
  77. package/dist/client-react-native/src/storage/index.d.ts +2 -0
  78. package/dist/client-react-native/src/storage/index.d.ts.map +1 -0
  79. package/dist/client-react-native/src/storage/index.js +2 -0
  80. package/dist/client-react-native/src/storage/index.js.map +1 -0
  81. package/dist/shared-types/src/admin.d.ts +101 -0
  82. package/dist/shared-types/src/admin.d.ts.map +1 -0
  83. package/dist/shared-types/src/admin.js +3 -0
  84. package/dist/shared-types/src/admin.js.map +1 -0
  85. package/dist/shared-types/src/auth.d.ts +27 -0
  86. package/dist/shared-types/src/auth.d.ts.map +1 -0
  87. package/dist/shared-types/src/auth.js +2 -0
  88. package/dist/shared-types/src/auth.js.map +1 -0
  89. package/dist/shared-types/src/index.d.ts +5 -0
  90. package/dist/shared-types/src/index.d.ts.map +1 -0
  91. package/dist/shared-types/src/index.js +5 -0
  92. package/dist/shared-types/src/index.js.map +1 -0
  93. package/dist/shared-types/src/schema.d.ts +34 -0
  94. package/dist/shared-types/src/schema.d.ts.map +1 -0
  95. package/dist/shared-types/src/schema.js +2 -0
  96. package/dist/shared-types/src/schema.js.map +1 -0
  97. package/dist/shared-types/src/sync.d.ts +37 -0
  98. package/dist/shared-types/src/sync.d.ts.map +1 -0
  99. package/dist/shared-types/src/sync.js +2 -0
  100. package/dist/shared-types/src/sync.js.map +1 -0
  101. package/package.json +36 -0
@@ -0,0 +1,78 @@
1
+ // AsyncStorage adapter for React Native
2
+ import AsyncStorage from '@react-native-async-storage/async-storage';
3
+ /**
4
+ * AsyncStorage adapter for React Native
5
+ */
6
+ export class AsyncStorageAdapter {
7
+ async getItem(key) {
8
+ try {
9
+ return await AsyncStorage.getItem(key);
10
+ }
11
+ catch (error) {
12
+ console.error('AsyncStorage getItem error:', error);
13
+ return null;
14
+ }
15
+ }
16
+ async setItem(key, value) {
17
+ try {
18
+ await AsyncStorage.setItem(key, value);
19
+ }
20
+ catch (error) {
21
+ console.error('AsyncStorage setItem error:', error);
22
+ }
23
+ }
24
+ async removeItem(key) {
25
+ try {
26
+ await AsyncStorage.removeItem(key);
27
+ }
28
+ catch (error) {
29
+ console.error('AsyncStorage removeItem error:', error);
30
+ }
31
+ }
32
+ async clear() {
33
+ try {
34
+ await AsyncStorage.clear();
35
+ }
36
+ catch (error) {
37
+ console.error('AsyncStorage clear error:', error);
38
+ }
39
+ }
40
+ async getAllKeys() {
41
+ try {
42
+ const keys = await AsyncStorage.getAllKeys();
43
+ return [...keys];
44
+ }
45
+ catch (error) {
46
+ console.error('AsyncStorage getAllKeys error:', error);
47
+ return [];
48
+ }
49
+ }
50
+ async multiGet(keys) {
51
+ try {
52
+ const results = await AsyncStorage.multiGet(keys);
53
+ return results;
54
+ }
55
+ catch (error) {
56
+ console.error('AsyncStorage multiGet error:', error);
57
+ return keys.map((key) => [key, null]);
58
+ }
59
+ }
60
+ async multiSet(items) {
61
+ try {
62
+ await AsyncStorage.multiSet(items);
63
+ }
64
+ catch (error) {
65
+ console.error('AsyncStorage multiSet error:', error);
66
+ }
67
+ }
68
+ async multiRemove(keys) {
69
+ try {
70
+ await AsyncStorage.multiRemove(keys);
71
+ }
72
+ catch (error) {
73
+ console.error('AsyncStorage multiRemove error:', error);
74
+ }
75
+ }
76
+ }
77
+ export default AsyncStorageAdapter;
78
+ //# sourceMappingURL=async-storage-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-storage-adapter.js","sourceRoot":"","sources":["../../../../src/storage/async-storage-adapter.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAExC,OAAO,YAAY,MAAM,2CAA2C,CAAC;AAGrE;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAC9B,KAAK,CAAC,OAAO,CAAC,GAAW;QACvB,IAAI,CAAC;YACH,OAAO,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,KAAa;QACtC,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAW;QAC1B,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAc;QAC3B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClD,OAAO,OAAyC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAA8B;QAC3C,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAc;QAC9B,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;CACF;AAED,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './async-storage-adapter';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './async-storage-adapter';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,101 @@
1
+ export type AdminRole = 'super_admin' | 'admin' | 'viewer';
2
+ export interface Admin {
3
+ id: string;
4
+ email: string;
5
+ role: AdminRole;
6
+ isActive: boolean;
7
+ createdAt: number;
8
+ updatedAt: number;
9
+ }
10
+ export interface AdminLoginRequest {
11
+ email: string;
12
+ password: string;
13
+ }
14
+ export interface AdminAuthResponse {
15
+ admin: Admin;
16
+ accessToken: string;
17
+ refreshToken: string;
18
+ expiresIn: number;
19
+ }
20
+ export interface PaginatedResponse<T> {
21
+ data: T[];
22
+ pagination: {
23
+ page: number;
24
+ pageSize: number;
25
+ total: number;
26
+ totalPages: number;
27
+ };
28
+ }
29
+ export type ActivityAction = 'create' | 'read' | 'update' | 'delete' | 'login' | 'logout';
30
+ export type ActivityEntityType = 'user' | 'admin' | 'system' | 'database';
31
+ export interface ActivityLogEntry {
32
+ id: string;
33
+ adminId: string;
34
+ adminEmail?: string;
35
+ action: ActivityAction;
36
+ entityType: ActivityEntityType;
37
+ entityId?: string;
38
+ details: Record<string, any>;
39
+ ipAddress: string;
40
+ createdAt: number;
41
+ }
42
+ export interface ActivityLogFilter {
43
+ adminId?: string;
44
+ entityType?: ActivityEntityType;
45
+ action?: ActivityAction;
46
+ dateFrom?: number;
47
+ dateTo?: number;
48
+ page?: number;
49
+ pageSize?: number;
50
+ }
51
+ export interface TableInfo {
52
+ name: string;
53
+ rowCount: number;
54
+ createdAt?: number;
55
+ }
56
+ export interface ColumnDefinition {
57
+ name: string;
58
+ type: string;
59
+ nullable: boolean;
60
+ primaryKey: boolean;
61
+ defaultValue?: any;
62
+ }
63
+ export interface TableSchema {
64
+ name: string;
65
+ columns: ColumnDefinition[];
66
+ primaryKey: string[];
67
+ createdAt?: number;
68
+ }
69
+ export interface TableDataResponse {
70
+ tableName: string;
71
+ data: Record<string, any>[];
72
+ columns: ColumnDefinition[];
73
+ pagination: {
74
+ page: number;
75
+ pageSize: number;
76
+ total: number;
77
+ totalPages: number;
78
+ };
79
+ }
80
+ export interface UserDetail extends Record<string, any> {
81
+ id: string;
82
+ email: string;
83
+ createdAt: number;
84
+ updatedAt: number;
85
+ }
86
+ export interface AdminCreateRequest {
87
+ email: string;
88
+ password: string;
89
+ role: AdminRole;
90
+ }
91
+ export interface AdminUpdateRequest {
92
+ email?: string;
93
+ role?: AdminRole;
94
+ isActive?: boolean;
95
+ }
96
+ export interface ErrorResponse {
97
+ code: string;
98
+ message: string;
99
+ details?: Record<string, any>;
100
+ }
101
+ //# sourceMappingURL=admin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../shared-types/src/admin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ // Admin Console Types
2
+ export {};
3
+ //# sourceMappingURL=admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../../shared-types/src/admin.ts"],"names":[],"mappings":"AAAA,sBAAsB"}
@@ -0,0 +1,27 @@
1
+ export interface User {
2
+ id: string;
3
+ email: string;
4
+ createdAt: number;
5
+ updatedAt: number;
6
+ }
7
+ export interface AuthTokens {
8
+ accessToken: string;
9
+ refreshToken: string;
10
+ expiresIn: number;
11
+ }
12
+ export interface LoginRequest {
13
+ email: string;
14
+ password: string;
15
+ }
16
+ export interface RegisterRequest {
17
+ email: string;
18
+ password: string;
19
+ }
20
+ export interface RefreshTokenRequest {
21
+ refreshToken: string;
22
+ }
23
+ export interface AuthResponse {
24
+ user: User;
25
+ tokens: AuthTokens;
26
+ }
27
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../shared-types/src/auth.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../shared-types/src/auth.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export * from './sync';
2
+ export * from './auth';
3
+ export * from './schema';
4
+ export * from './admin';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../shared-types/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './sync';
2
+ export * from './auth';
3
+ export * from './schema';
4
+ export * from './admin';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../shared-types/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,34 @@
1
+ export type FieldTypeValue = 'string' | 'integer' | 'number' | 'boolean' | 'timestamp' | 'text' | 'json' | 'reference';
2
+ export interface FieldType {
3
+ type: FieldTypeValue;
4
+ required: boolean;
5
+ primary?: boolean;
6
+ reference?: string;
7
+ default?: string | number | boolean;
8
+ description?: string;
9
+ }
10
+ export interface AccessRules {
11
+ create?: (user: any, data: any) => boolean;
12
+ read?: (user: any, data: any) => boolean;
13
+ update?: (user: any, existing: any, updates?: any) => boolean;
14
+ delete?: (user: any, data: any) => boolean;
15
+ }
16
+ export interface EntitySchema {
17
+ fields: Record<string, FieldType>;
18
+ accessRules?: AccessRules;
19
+ indexes?: Array<{
20
+ fields: string[];
21
+ unique?: boolean;
22
+ }>;
23
+ }
24
+ export interface DatabaseSchema {
25
+ entities: Record<string, EntitySchema>;
26
+ }
27
+ export interface Migration {
28
+ version: number;
29
+ name: string;
30
+ up: string;
31
+ down?: string;
32
+ appliedAt?: number;
33
+ }
34
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../shared-types/src/schema.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,WAAW,GACX,MAAM,GACN,MAAM,GACN,WAAW,CAAC;AAEhB,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC;IAC9D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../shared-types/src/schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ export interface SyncRequest {
2
+ lastSyncTimestamp: number | null;
3
+ changes: Array<{
4
+ entity: string;
5
+ operation: 'create' | 'update' | 'delete';
6
+ id: string;
7
+ data: Record<string, any>;
8
+ clientTimestamp: number;
9
+ version: number;
10
+ }>;
11
+ }
12
+ export interface SyncResponse {
13
+ serverTimestamp: number;
14
+ changes: Array<{
15
+ entity: string;
16
+ operation: 'create' | 'update' | 'delete';
17
+ id: string;
18
+ data: Record<string, any>;
19
+ serverTimestamp: number;
20
+ version: number;
21
+ }>;
22
+ conflicts: Array<{
23
+ entity: string;
24
+ id: string;
25
+ clientVersion: number;
26
+ serverVersion: number;
27
+ serverData: Record<string, any>;
28
+ }>;
29
+ errors: Array<{
30
+ entity: string;
31
+ id: string;
32
+ operation: string;
33
+ error: string;
34
+ code: 'ACCESS_DENIED' | 'VALIDATION_ERROR' | 'NOT_FOUND';
35
+ }>;
36
+ }
37
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../shared-types/src/sync.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAC1C,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAC1C,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,SAAS,EAAE,KAAK,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACjC,CAAC,CAAC;IACH,MAAM,EAAE,KAAK,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,eAAe,GAAG,kBAAkB,GAAG,WAAW,CAAC;KAC1D,CAAC,CAAC;CACJ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../shared-types/src/sync.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@edgebasejs/react-native",
3
+ "version": "0.1.0",
4
+ "description": "EdgeBase React Native SDK",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "dependencies": {
11
+ "@react-native-async-storage/async-storage": "^1.21.0",
12
+ "react": "^18.2.0",
13
+ "react-native": "^0.73.0",
14
+ "@edgebasejs/client-core": "0.1.0",
15
+ "@edgebasejs/types": "0.1.0"
16
+ },
17
+ "publishConfig": {
18
+ "registry": "https://registry.npmjs.org/"
19
+ },
20
+ "devDependencies": {
21
+ "@testing-library/react-native": "^12.4.0",
22
+ "@types/react": "^18.2.0",
23
+ "@types/react-native": "^0.73.0",
24
+ "typescript": "^5.4.5",
25
+ "vitest": "^1.2.0"
26
+ },
27
+ "peerDependencies": {
28
+ "react": ">=16.8.0",
29
+ "react-native": ">=0.55.0"
30
+ },
31
+ "scripts": {
32
+ "build": "tsc",
33
+ "type-check": "tsc --noEmit",
34
+ "test": "vitest"
35
+ }
36
+ }