@prabhask5/stellar-engine 1.0.3

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 (138) hide show
  1. package/README.md +295 -0
  2. package/dist/actions/remoteChange.d.ts +79 -0
  3. package/dist/actions/remoteChange.d.ts.map +1 -0
  4. package/dist/actions/remoteChange.js +300 -0
  5. package/dist/actions/remoteChange.js.map +1 -0
  6. package/dist/auth/admin.d.ts +12 -0
  7. package/dist/auth/admin.d.ts.map +1 -0
  8. package/dist/auth/admin.js +23 -0
  9. package/dist/auth/admin.js.map +1 -0
  10. package/dist/auth/offlineCredentials.d.ts +41 -0
  11. package/dist/auth/offlineCredentials.d.ts.map +1 -0
  12. package/dist/auth/offlineCredentials.js +121 -0
  13. package/dist/auth/offlineCredentials.js.map +1 -0
  14. package/dist/auth/offlineLogin.d.ts +34 -0
  15. package/dist/auth/offlineLogin.d.ts.map +1 -0
  16. package/dist/auth/offlineLogin.js +75 -0
  17. package/dist/auth/offlineLogin.js.map +1 -0
  18. package/dist/auth/offlineSession.d.ts +22 -0
  19. package/dist/auth/offlineSession.d.ts.map +1 -0
  20. package/dist/auth/offlineSession.js +54 -0
  21. package/dist/auth/offlineSession.js.map +1 -0
  22. package/dist/auth/resolveAuthState.d.ts +24 -0
  23. package/dist/auth/resolveAuthState.d.ts.map +1 -0
  24. package/dist/auth/resolveAuthState.js +69 -0
  25. package/dist/auth/resolveAuthState.js.map +1 -0
  26. package/dist/config.d.ts +53 -0
  27. package/dist/config.d.ts.map +1 -0
  28. package/dist/config.js +55 -0
  29. package/dist/config.js.map +1 -0
  30. package/dist/conflicts.d.ts +70 -0
  31. package/dist/conflicts.d.ts.map +1 -0
  32. package/dist/conflicts.js +321 -0
  33. package/dist/conflicts.js.map +1 -0
  34. package/dist/data.d.ts +77 -0
  35. package/dist/data.d.ts.map +1 -0
  36. package/dist/data.js +360 -0
  37. package/dist/data.js.map +1 -0
  38. package/dist/database.d.ts +31 -0
  39. package/dist/database.d.ts.map +1 -0
  40. package/dist/database.js +51 -0
  41. package/dist/database.js.map +1 -0
  42. package/dist/debug.d.ts +11 -0
  43. package/dist/debug.d.ts.map +1 -0
  44. package/dist/debug.js +48 -0
  45. package/dist/debug.js.map +1 -0
  46. package/dist/deviceId.d.ts +16 -0
  47. package/dist/deviceId.d.ts.map +1 -0
  48. package/dist/deviceId.js +48 -0
  49. package/dist/deviceId.js.map +1 -0
  50. package/dist/engine.d.ts +14 -0
  51. package/dist/engine.d.ts.map +1 -0
  52. package/dist/engine.js +1903 -0
  53. package/dist/engine.js.map +1 -0
  54. package/dist/entries/actions.d.ts +2 -0
  55. package/dist/entries/actions.d.ts.map +1 -0
  56. package/dist/entries/actions.js +3 -0
  57. package/dist/entries/actions.js.map +1 -0
  58. package/dist/entries/auth.d.ts +7 -0
  59. package/dist/entries/auth.d.ts.map +1 -0
  60. package/dist/entries/auth.js +6 -0
  61. package/dist/entries/auth.js.map +1 -0
  62. package/dist/entries/config.d.ts +3 -0
  63. package/dist/entries/config.d.ts.map +1 -0
  64. package/dist/entries/config.js +3 -0
  65. package/dist/entries/config.js.map +1 -0
  66. package/dist/entries/stores.d.ts +9 -0
  67. package/dist/entries/stores.d.ts.map +1 -0
  68. package/dist/entries/stores.js +9 -0
  69. package/dist/entries/stores.js.map +1 -0
  70. package/dist/entries/types.d.ts +11 -0
  71. package/dist/entries/types.d.ts.map +1 -0
  72. package/dist/entries/types.js +2 -0
  73. package/dist/entries/types.js.map +1 -0
  74. package/dist/entries/utils.d.ts +3 -0
  75. package/dist/entries/utils.d.ts.map +1 -0
  76. package/dist/entries/utils.js +4 -0
  77. package/dist/entries/utils.js.map +1 -0
  78. package/dist/index.d.ts +32 -0
  79. package/dist/index.d.ts.map +1 -0
  80. package/dist/index.js +39 -0
  81. package/dist/index.js.map +1 -0
  82. package/dist/operations.d.ts +73 -0
  83. package/dist/operations.d.ts.map +1 -0
  84. package/dist/operations.js +227 -0
  85. package/dist/operations.js.map +1 -0
  86. package/dist/queue.d.ts +32 -0
  87. package/dist/queue.d.ts.map +1 -0
  88. package/dist/queue.js +377 -0
  89. package/dist/queue.js.map +1 -0
  90. package/dist/realtime.d.ts +57 -0
  91. package/dist/realtime.d.ts.map +1 -0
  92. package/dist/realtime.js +491 -0
  93. package/dist/realtime.js.map +1 -0
  94. package/dist/reconnectHandler.d.ts +16 -0
  95. package/dist/reconnectHandler.d.ts.map +1 -0
  96. package/dist/reconnectHandler.js +21 -0
  97. package/dist/reconnectHandler.js.map +1 -0
  98. package/dist/runtime/runtimeConfig.d.ts +27 -0
  99. package/dist/runtime/runtimeConfig.d.ts.map +1 -0
  100. package/dist/runtime/runtimeConfig.js +133 -0
  101. package/dist/runtime/runtimeConfig.js.map +1 -0
  102. package/dist/stores/authState.d.ts +57 -0
  103. package/dist/stores/authState.d.ts.map +1 -0
  104. package/dist/stores/authState.js +154 -0
  105. package/dist/stores/authState.js.map +1 -0
  106. package/dist/stores/network.d.ts +9 -0
  107. package/dist/stores/network.d.ts.map +1 -0
  108. package/dist/stores/network.js +97 -0
  109. package/dist/stores/network.js.map +1 -0
  110. package/dist/stores/remoteChanges.d.ts +142 -0
  111. package/dist/stores/remoteChanges.d.ts.map +1 -0
  112. package/dist/stores/remoteChanges.js +353 -0
  113. package/dist/stores/remoteChanges.js.map +1 -0
  114. package/dist/stores/sync.d.ts +35 -0
  115. package/dist/stores/sync.d.ts.map +1 -0
  116. package/dist/stores/sync.js +115 -0
  117. package/dist/stores/sync.js.map +1 -0
  118. package/dist/supabase/auth.d.ts +60 -0
  119. package/dist/supabase/auth.d.ts.map +1 -0
  120. package/dist/supabase/auth.js +298 -0
  121. package/dist/supabase/auth.js.map +1 -0
  122. package/dist/supabase/client.d.ts +15 -0
  123. package/dist/supabase/client.d.ts.map +1 -0
  124. package/dist/supabase/client.js +149 -0
  125. package/dist/supabase/client.js.map +1 -0
  126. package/dist/supabase/validate.d.ts +11 -0
  127. package/dist/supabase/validate.d.ts.map +1 -0
  128. package/dist/supabase/validate.js +38 -0
  129. package/dist/supabase/validate.js.map +1 -0
  130. package/dist/types.d.ts +78 -0
  131. package/dist/types.d.ts.map +1 -0
  132. package/dist/types.js +16 -0
  133. package/dist/types.js.map +1 -0
  134. package/dist/utils.d.ts +24 -0
  135. package/dist/utils.d.ts.map +1 -0
  136. package/dist/utils.js +56 -0
  137. package/dist/utils.js.map +1 -0
  138. package/package.json +84 -0
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Common utility functions for sync engine consumers.
3
+ */
4
+ /**
5
+ * Generate a UUID v4 (random UUID).
6
+ */
7
+ export declare function generateId(): string;
8
+ /**
9
+ * Get the current timestamp as an ISO string.
10
+ */
11
+ export declare function now(): string;
12
+ /**
13
+ * Calculate new order value when moving an item to a new position.
14
+ * Uses fractional ordering to minimize updates.
15
+ *
16
+ * @param items - The sorted array of items with order property
17
+ * @param fromIndex - Current index of the item being moved
18
+ * @param toIndex - Target index where the item should be placed
19
+ * @returns The new order value for the moved item
20
+ */
21
+ export declare function calculateNewOrder<T extends {
22
+ order: number;
23
+ }>(items: T[], fromIndex: number, toIndex: number): number;
24
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAC3D,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,MAAM,CAmCR"}
package/dist/utils.js ADDED
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Common utility functions for sync engine consumers.
3
+ */
4
+ /**
5
+ * Generate a UUID v4 (random UUID).
6
+ */
7
+ export function generateId() {
8
+ return crypto.randomUUID();
9
+ }
10
+ /**
11
+ * Get the current timestamp as an ISO string.
12
+ */
13
+ export function now() {
14
+ return new Date().toISOString();
15
+ }
16
+ /**
17
+ * Calculate new order value when moving an item to a new position.
18
+ * Uses fractional ordering to minimize updates.
19
+ *
20
+ * @param items - The sorted array of items with order property
21
+ * @param fromIndex - Current index of the item being moved
22
+ * @param toIndex - Target index where the item should be placed
23
+ * @returns The new order value for the moved item
24
+ */
25
+ export function calculateNewOrder(items, fromIndex, toIndex) {
26
+ // No movement
27
+ if (fromIndex === toIndex) {
28
+ return items[fromIndex].order;
29
+ }
30
+ // Moving to the beginning
31
+ if (toIndex === 0) {
32
+ return items[0].order - 1;
33
+ }
34
+ // Moving to the end
35
+ if (toIndex === items.length - 1) {
36
+ return items[items.length - 1].order + 1;
37
+ }
38
+ // Moving between two items
39
+ // Account for the shift that happens when removing the item from its original position
40
+ let prevIndex;
41
+ let nextIndex;
42
+ if (fromIndex < toIndex) {
43
+ // Moving down: the item will be placed between toIndex and toIndex + 1
44
+ prevIndex = toIndex;
45
+ nextIndex = toIndex + 1;
46
+ }
47
+ else {
48
+ // Moving up: the item will be placed between toIndex - 1 and toIndex
49
+ prevIndex = toIndex - 1;
50
+ nextIndex = toIndex;
51
+ }
52
+ const prevOrder = items[prevIndex].order;
53
+ const nextOrder = items[nextIndex].order;
54
+ return (prevOrder + nextOrder) / 2;
55
+ }
56
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,GAAG;IACjB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAU,EACV,SAAiB,EACjB,OAAe;IAEf,cAAc;IACd,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;IAChC,CAAC;IAED,0BAA0B;IAC1B,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,oBAAoB;IACpB,IAAI,OAAO,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,2BAA2B;IAC3B,uFAAuF;IACvF,IAAI,SAAiB,CAAC;IACtB,IAAI,SAAiB,CAAC;IAEtB,IAAI,SAAS,GAAG,OAAO,EAAE,CAAC;QACxB,uEAAuE;QACvE,SAAS,GAAG,OAAO,CAAC;QACpB,SAAS,GAAG,OAAO,GAAG,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,qEAAqE;QACrE,SAAS,GAAG,OAAO,GAAG,CAAC,CAAC;QACxB,SAAS,GAAG,OAAO,CAAC;IACtB,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;IACzC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;IAEzC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,84 @@
1
+ {
2
+ "name": "@prabhask5/stellar-engine",
3
+ "version": "1.0.3",
4
+ "type": "module",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js"
11
+ },
12
+ "./data": {
13
+ "types": "./dist/data.d.ts",
14
+ "import": "./dist/data.js"
15
+ },
16
+ "./auth": {
17
+ "types": "./dist/entries/auth.d.ts",
18
+ "import": "./dist/entries/auth.js"
19
+ },
20
+ "./stores": {
21
+ "types": "./dist/entries/stores.d.ts",
22
+ "import": "./dist/entries/stores.js"
23
+ },
24
+ "./types": {
25
+ "types": "./dist/entries/types.d.ts",
26
+ "import": "./dist/entries/types.js"
27
+ },
28
+ "./utils": {
29
+ "types": "./dist/entries/utils.d.ts",
30
+ "import": "./dist/entries/utils.js"
31
+ },
32
+ "./actions": {
33
+ "types": "./dist/entries/actions.d.ts",
34
+ "import": "./dist/entries/actions.js"
35
+ },
36
+ "./config": {
37
+ "types": "./dist/entries/config.d.ts",
38
+ "import": "./dist/entries/config.js"
39
+ }
40
+ },
41
+ "files": [
42
+ "dist"
43
+ ],
44
+ "publishConfig": {
45
+ "access": "public",
46
+ "registry": "https://registry.npmjs.org"
47
+ },
48
+ "scripts": {
49
+ "build": "tsc",
50
+ "check": "tsc --noEmit",
51
+ "lint": "eslint src",
52
+ "lint:fix": "eslint src --fix",
53
+ "format": "prettier --write \"src/**/*.ts\"",
54
+ "format:check": "prettier --check \"src/**/*.ts\"",
55
+ "dead-code": "knip",
56
+ "dead-code:fix": "knip --fix",
57
+ "cleanup": "npm run lint:fix && npm run format",
58
+ "validate": "npm run check && npm run lint && npm run dead-code",
59
+ "prepare": "git config core.hooksPath .githooks",
60
+ "prepublishOnly": "npm run build"
61
+ },
62
+ "dependencies": {
63
+ "@supabase/supabase-js": "^2.49.0",
64
+ "dexie": "^4.2.1"
65
+ },
66
+ "peerDependencies": {
67
+ "svelte": "^5.0.0"
68
+ },
69
+ "peerDependenciesMeta": {
70
+ "svelte": {
71
+ "optional": true
72
+ }
73
+ },
74
+ "devDependencies": {
75
+ "@eslint/js": "^9.39.2",
76
+ "eslint": "^9.39.2",
77
+ "globals": "^17.3.0",
78
+ "knip": "^5.82.1",
79
+ "prettier": "^3.8.1",
80
+ "svelte": "^5.0.0",
81
+ "typescript": "^5.0.0",
82
+ "typescript-eslint": "^8.54.0"
83
+ }
84
+ }