@voidhash/mimic-effect 1.0.0-beta.6 → 1.0.0-beta.7
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/.turbo/turbo-build.log +90 -90
- package/dist/ColdStorage.cjs +9 -5
- package/dist/ColdStorage.d.cts.map +1 -1
- package/dist/ColdStorage.d.mts.map +1 -1
- package/dist/ColdStorage.mjs +9 -5
- package/dist/ColdStorage.mjs.map +1 -1
- package/dist/DocumentManager.cjs +14 -14
- package/dist/DocumentManager.d.cts.map +1 -1
- package/dist/DocumentManager.d.mts.map +1 -1
- package/dist/DocumentManager.mjs +14 -14
- package/dist/DocumentManager.mjs.map +1 -1
- package/dist/HotStorage.cjs +17 -13
- package/dist/HotStorage.d.cts.map +1 -1
- package/dist/HotStorage.d.mts.map +1 -1
- package/dist/HotStorage.mjs +17 -13
- package/dist/HotStorage.mjs.map +1 -1
- package/dist/MimicClusterServerEngine.cjs +17 -17
- package/dist/MimicClusterServerEngine.d.cts.map +1 -1
- package/dist/MimicClusterServerEngine.d.mts.map +1 -1
- package/dist/MimicClusterServerEngine.mjs +17 -17
- package/dist/MimicClusterServerEngine.mjs.map +1 -1
- package/dist/MimicServer.cjs +19 -19
- package/dist/MimicServer.d.cts.map +1 -1
- package/dist/MimicServer.d.mts.map +1 -1
- package/dist/MimicServer.mjs +19 -19
- package/dist/MimicServer.mjs.map +1 -1
- package/dist/MimicServerEngine.cjs +2 -2
- package/dist/MimicServerEngine.mjs +2 -2
- package/dist/MimicServerEngine.mjs.map +1 -1
- package/dist/PresenceManager.cjs +5 -5
- package/dist/PresenceManager.d.cts.map +1 -1
- package/dist/PresenceManager.d.mts.map +1 -1
- package/dist/PresenceManager.mjs +5 -5
- package/dist/PresenceManager.mjs.map +1 -1
- package/dist/testing/types.d.cts +3 -3
- package/package.json +3 -3
- package/src/ColdStorage.ts +21 -12
- package/src/DocumentManager.ts +49 -47
- package/src/HotStorage.ts +75 -58
- package/src/MimicClusterServerEngine.ts +61 -49
- package/src/MimicServer.ts +83 -75
- package/src/MimicServerEngine.ts +2 -2
- package/src/PresenceManager.ts +44 -34
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @voidhash/mimic-effect@1.0.0-beta.
|
|
2
|
+
> @voidhash/mimic-effect@1.0.0-beta.7 build /home/runner/work/mimic/mimic/packages/mimic-effect
|
|
3
3
|
> tsdown
|
|
4
4
|
|
|
5
5
|
[34mℹ[39m tsdown [2mv0.18.2[22m powered by rolldown [2mv1.0.0-beta.55[22m
|
|
@@ -11,21 +11,21 @@
|
|
|
11
11
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[1mindex.cjs[22m [2m 2.43 kB[22m [2m│ gzip: 0.50 kB[22m
|
|
12
12
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[1mtesting/index.cjs[22m [2m 0.95 kB[22m [2m│ gzip: 0.22 kB[22m
|
|
13
13
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtesting/HotStorageTestSuite.cjs [2m38.03 kB[22m [2m│ gzip: 5.13 kB[22m
|
|
14
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMimicClusterServerEngine.cjs [2m21.
|
|
14
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMimicClusterServerEngine.cjs [2m21.95 kB[22m [2m│ gzip: 5.00 kB[22m
|
|
15
15
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtesting/StorageIntegrationTestSuite.cjs [2m20.68 kB[22m [2m│ gzip: 3.67 kB[22m
|
|
16
16
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtesting/ColdStorageTestSuite.cjs [2m18.14 kB[22m [2m│ gzip: 3.22 kB[22m
|
|
17
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mDocumentManager.cjs [2m12.
|
|
18
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMimicServer.cjs [2m10.
|
|
17
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22mDocumentManager.cjs [2m12.50 kB[22m [2m│ gzip: 3.06 kB[22m
|
|
18
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMimicServer.cjs [2m10.37 kB[22m [2m│ gzip: 2.84 kB[22m
|
|
19
19
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtesting/FailingStorage.cjs [2m 6.91 kB[22m [2m│ gzip: 1.53 kB[22m
|
|
20
20
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMetrics.cjs [2m 4.26 kB[22m [2m│ gzip: 1.04 kB[22m
|
|
21
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMimicServerEngine.cjs [2m 4.
|
|
21
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMimicServerEngine.cjs [2m 4.26 kB[22m [2m│ gzip: 1.36 kB[22m
|
|
22
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22mHotStorage.cjs [2m 3.86 kB[22m [2m│ gzip: 1.27 kB[22m
|
|
23
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22mPresenceManager.cjs [2m 3.81 kB[22m [2m│ gzip: 1.03 kB[22m
|
|
22
24
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22mProtocol.cjs [2m 3.78 kB[22m [2m│ gzip: 1.14 kB[22m
|
|
23
25
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtesting/assertions.cjs [2m 3.74 kB[22m [2m│ gzip: 1.16 kB[22m
|
|
24
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mPresenceManager.cjs [2m 3.72 kB[22m [2m│ gzip: 1.00 kB[22m
|
|
25
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mHotStorage.cjs [2m 3.64 kB[22m [2m│ gzip: 1.21 kB[22m
|
|
26
26
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMimicAuthService.cjs [2m 2.27 kB[22m [2m│ gzip: 0.88 kB[22m
|
|
27
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22mColdStorage.cjs [2m 2.09 kB[22m [2m│ gzip: 0.82 kB[22m
|
|
27
28
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22mErrors.cjs [2m 1.98 kB[22m [2m│ gzip: 0.61 kB[22m
|
|
28
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mColdStorage.cjs [2m 1.91 kB[22m [2m│ gzip: 0.77 kB[22m
|
|
29
29
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/objectSpread2.cjs [2m 0.95 kB[22m [2m│ gzip: 0.43 kB[22m
|
|
30
30
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/typeof.cjs [2m 0.53 kB[22m [2m│ gzip: 0.29 kB[22m
|
|
31
31
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/toPrimitive.cjs [2m 0.52 kB[22m [2m│ gzip: 0.32 kB[22m
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/toPropertyKey.cjs [2m 0.37 kB[22m [2m│ gzip: 0.23 kB[22m
|
|
34
34
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22m_virtual/rolldown_runtime.cjs [2m 0.36 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
35
35
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtesting/types.cjs [2m 0.34 kB[22m [2m│ gzip: 0.23 kB[22m
|
|
36
|
-
[34mℹ[39m [33m[CJS][39m 25 files, total:
|
|
36
|
+
[34mℹ[39m [33m[CJS][39m 25 files, total: 165.46 kB
|
|
37
37
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22mProtocol.d.cts.map [2m1.57 kB[22m [2m│ gzip: 0.70 kB[22m
|
|
38
38
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22mTypes.d.cts.map [2m1.41 kB[22m [2m│ gzip: 0.65 kB[22m
|
|
39
39
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMimicServerEngine.d.cts.map [2m1.09 kB[22m [2m│ gzip: 0.50 kB[22m
|
|
@@ -71,84 +71,84 @@
|
|
|
71
71
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mMimicClusterServerEngine.d.cts[39m [2m0.82 kB[22m [2m│ gzip: 0.33 kB[22m
|
|
72
72
|
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mMimicServer.d.cts[39m [2m0.74 kB[22m [2m│ gzip: 0.31 kB[22m
|
|
73
73
|
[34mℹ[39m [33m[CJS][39m 36 files, total: 56.62 kB
|
|
74
|
-
[32m✔[39m Build complete in [
|
|
75
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[1mindex.mjs[22m [2m 1.38 kB[22m [2m│ gzip:
|
|
76
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[1mtesting/index.mjs[22m [2m 0.60 kB[22m [2m│ gzip:
|
|
77
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/HotStorageTestSuite.mjs.map [2m63.42 kB[22m [2m│ gzip:
|
|
78
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicClusterServerEngine.mjs.map [2m42.
|
|
79
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/StorageIntegrationTestSuite.mjs.map [2m35.60 kB[22m [2m│ gzip:
|
|
80
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/HotStorageTestSuite.mjs [2m34.21 kB[22m [2m│ gzip:
|
|
81
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/ColdStorageTestSuite.mjs.map [2m31.92 kB[22m [2m│ gzip:
|
|
82
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mDocumentManager.mjs.map [2m28.
|
|
83
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServer.mjs.map [
|
|
84
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicClusterServerEngine.mjs [2m20.
|
|
85
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/StorageIntegrationTestSuite.mjs [2m18.49 kB[22m [2m│ gzip:
|
|
86
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/ColdStorageTestSuite.mjs [2m16.50 kB[22m [2m│ gzip:
|
|
87
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/FailingStorage.mjs.map [2m15.60 kB[22m [2m│ gzip:
|
|
88
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mDocumentManager.mjs [2m11.
|
|
89
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mHotStorage.mjs.map [2m10.
|
|
90
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServerEngine.mjs.map [2m10.
|
|
91
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServer.mjs [2m 9.
|
|
92
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[
|
|
93
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[
|
|
94
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/assertions.mjs.map [2m 7.31 kB[22m [2m│ gzip:
|
|
95
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/FailingStorage.mjs [2m 6.49 kB[22m [2m│ gzip:
|
|
96
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMetrics.mjs.map [2m 6.13 kB[22m [2m│ gzip:
|
|
97
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicAuthService.mjs.map [2m 6.09 kB[22m [2m│ gzip:
|
|
98
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mColdStorage.mjs.map [2m
|
|
99
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServerEngine.mjs [2m 4.
|
|
100
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mErrors.mjs.map [2m 4.00 kB[22m [2m│ gzip:
|
|
101
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[
|
|
102
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[
|
|
103
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[
|
|
104
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[
|
|
105
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mProtocol.mjs [2m 3.35 kB[22m [2m│ gzip:
|
|
106
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/types.mjs.map [2m 3.22 kB[22m [2m│ gzip:
|
|
107
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicAuthService.mjs [2m 2.23 kB[22m [2m│ gzip:
|
|
108
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mColdStorage.mjs [2m
|
|
109
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mErrors.mjs [2m 1.73 kB[22m [2m│ gzip:
|
|
110
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mProtocol.d.mts.map [2m 1.57 kB[22m [2m│ gzip:
|
|
111
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mTypes.d.mts.map [2m 1.41 kB[22m [2m│ gzip:
|
|
112
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServerEngine.d.mts.map [2m 1.09 kB[22m [2m│ gzip:
|
|
113
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/objectSpread2.mjs [2m 0.90 kB[22m [2m│ gzip:
|
|
114
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mColdStorage.d.mts.map [2m 0.70 kB[22m [2m│ gzip:
|
|
115
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mDocumentManager.d.mts.map [2m 0.69 kB[22m [2m│ gzip:
|
|
116
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mHotStorage.d.mts.map [2m 0.67 kB[22m [2m│ gzip:
|
|
117
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicAuthService.d.mts.map [2m 0.61 kB[22m [2m│ gzip:
|
|
118
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mErrors.d.mts.map [2m 0.60 kB[22m [2m│ gzip:
|
|
119
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/HotStorageTestSuite.d.mts.map [2m 0.48 kB[22m [2m│ gzip:
|
|
120
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/rolldown_runtime.mjs [2m 0.47 kB[22m [2m│ gzip:
|
|
121
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/toPrimitive.mjs [2m 0.47 kB[22m [2m│ gzip:
|
|
122
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mPresenceManager.d.mts.map [2m 0.45 kB[22m [2m│ gzip:
|
|
123
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/typeof.mjs [2m 0.43 kB[22m [2m│ gzip:
|
|
124
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/types.d.mts.map [2m 0.38 kB[22m [2m│ gzip:
|
|
125
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/types.mjs [2m 0.35 kB[22m [2m│ gzip:
|
|
126
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/defineProperty.mjs [2m 0.35 kB[22m [2m│ gzip:
|
|
127
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/ColdStorageTestSuite.d.mts.map [2m 0.35 kB[22m [2m│ gzip:
|
|
128
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/StorageIntegrationTestSuite.d.mts.map [2m 0.32 kB[22m [2m│ gzip:
|
|
129
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/toPropertyKey.mjs [2m 0.30 kB[22m [2m│ gzip:
|
|
130
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/FailingStorage.d.mts.map [2m 0.26 kB[22m [2m│ gzip:
|
|
131
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicClusterServerEngine.d.mts.map [2m 0.25 kB[22m [2m│ gzip:
|
|
132
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServer.d.mts.map [2m 0.22 kB[22m [2m│ gzip:
|
|
133
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMetrics.d.mts.map [2m 0.12 kB[22m [2m│ gzip:
|
|
134
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32m[1mindex.d.mts[22m[39m [2m 2.17 kB[22m [2m│ gzip:
|
|
135
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32m[1mtesting/index.d.mts[22m[39m [2m 0.91 kB[22m [2m│ gzip:
|
|
136
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mProtocol.d.mts[39m [2m 5.86 kB[22m [2m│ gzip:
|
|
137
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mTypes.d.mts[39m [2m 5.47 kB[22m [2m│ gzip:
|
|
138
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mErrors.d.mts[39m [2m 4.86 kB[22m [2m│ gzip:
|
|
139
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mMimicServerEngine.d.mts[39m [2m 3.42 kB[22m [2m│ gzip:
|
|
140
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mtesting/types.d.mts[39m [2m 2.76 kB[22m [2m│ gzip:
|
|
141
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mDocumentManager.d.mts[39m [2m 2.74 kB[22m [2m│ gzip:
|
|
142
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mHotStorage.d.mts[39m [2m 2.72 kB[22m [2m│ gzip:
|
|
143
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mMimicAuthService.d.mts[39m [2m 2.70 kB[22m [2m│ gzip:
|
|
144
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mtesting/HotStorageTestSuite.d.mts[39m [2m 1.93 kB[22m [2m│ gzip:
|
|
145
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mColdStorage.d.mts[39m [2m 1.74 kB[22m [2m│ gzip:
|
|
146
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mPresenceManager.d.mts[39m [2m 1.60 kB[22m [2m│ gzip:
|
|
147
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mMetrics.d.mts[39m [2m 1.59 kB[22m [2m│ gzip:
|
|
148
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mtesting/ColdStorageTestSuite.d.mts[39m [2m 1.55 kB[22m [2m│ gzip:
|
|
149
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mtesting/FailingStorage.d.mts[39m [2m 1.44 kB[22m [2m│ gzip:
|
|
150
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mtesting/StorageIntegrationTestSuite.d.mts[39m [2m 1.43 kB[22m [2m│ gzip:
|
|
151
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mMimicClusterServerEngine.d.mts[39m [2m 0.82 kB[22m [2m│ gzip:
|
|
152
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mMimicServer.d.mts[39m [2m 0.74 kB[22m [2m│ gzip:
|
|
153
|
-
[34mℹ[39m [34m[ESM][39m 78 files, total:
|
|
154
|
-
[32m✔[39m Build complete in [
|
|
74
|
+
[32m✔[39m Build complete in [32m6470ms[39m
|
|
75
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[1mindex.mjs[22m [2m 1.38 kB[22m [2m│ gzip: 0.35 kB[22m
|
|
76
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[1mtesting/index.mjs[22m [2m 0.60 kB[22m [2m│ gzip: 0.19 kB[22m
|
|
77
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/HotStorageTestSuite.mjs.map [2m63.42 kB[22m [2m│ gzip: 8.61 kB[22m
|
|
78
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicClusterServerEngine.mjs.map [2m42.97 kB[22m [2m│ gzip: 10.20 kB[22m
|
|
79
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/StorageIntegrationTestSuite.mjs.map [2m35.60 kB[22m [2m│ gzip: 6.44 kB[22m
|
|
80
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/HotStorageTestSuite.mjs [2m34.21 kB[22m [2m│ gzip: 5.06 kB[22m
|
|
81
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/ColdStorageTestSuite.mjs.map [2m31.92 kB[22m [2m│ gzip: 5.21 kB[22m
|
|
82
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mDocumentManager.mjs.map [2m28.71 kB[22m [2m│ gzip: 7.02 kB[22m
|
|
83
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServer.mjs.map [2m21.35 kB[22m [2m│ gzip: 5.64 kB[22m
|
|
84
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicClusterServerEngine.mjs [2m20.49 kB[22m [2m│ gzip: 5.03 kB[22m
|
|
85
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/StorageIntegrationTestSuite.mjs [2m18.49 kB[22m [2m│ gzip: 3.63 kB[22m
|
|
86
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/ColdStorageTestSuite.mjs [2m16.50 kB[22m [2m│ gzip: 3.21 kB[22m
|
|
87
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/FailingStorage.mjs.map [2m15.60 kB[22m [2m│ gzip: 3.07 kB[22m
|
|
88
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mDocumentManager.mjs [2m11.81 kB[22m [2m│ gzip: 3.08 kB[22m
|
|
89
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mHotStorage.mjs.map [2m10.81 kB[22m [2m│ gzip: 3.04 kB[22m
|
|
90
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServerEngine.mjs.map [2m10.06 kB[22m [2m│ gzip: 2.75 kB[22m
|
|
91
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServer.mjs [2m 9.90 kB[22m [2m│ gzip: 2.88 kB[22m
|
|
92
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mPresenceManager.mjs.map [2m 9.38 kB[22m [2m│ gzip: 2.38 kB[22m
|
|
93
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mProtocol.mjs.map [2m 9.18 kB[22m [2m│ gzip: 2.15 kB[22m
|
|
94
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/assertions.mjs.map [2m 7.31 kB[22m [2m│ gzip: 2.01 kB[22m
|
|
95
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/FailingStorage.mjs [2m 6.49 kB[22m [2m│ gzip: 1.52 kB[22m
|
|
96
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMetrics.mjs.map [2m 6.13 kB[22m [2m│ gzip: 1.43 kB[22m
|
|
97
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicAuthService.mjs.map [2m 6.09 kB[22m [2m│ gzip: 1.85 kB[22m
|
|
98
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mColdStorage.mjs.map [2m 5.35 kB[22m [2m│ gzip: 1.64 kB[22m
|
|
99
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServerEngine.mjs [2m 4.13 kB[22m [2m│ gzip: 1.37 kB[22m
|
|
100
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mErrors.mjs.map [2m 4.00 kB[22m [2m│ gzip: 1.05 kB[22m
|
|
101
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mHotStorage.mjs [2m 3.73 kB[22m [2m│ gzip: 1.27 kB[22m
|
|
102
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMetrics.mjs [2m 3.63 kB[22m [2m│ gzip: 1.01 kB[22m
|
|
103
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mPresenceManager.mjs [2m 3.48 kB[22m [2m│ gzip: 1.04 kB[22m
|
|
104
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/assertions.mjs [2m 3.46 kB[22m [2m│ gzip: 1.15 kB[22m
|
|
105
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mProtocol.mjs [2m 3.35 kB[22m [2m│ gzip: 1.06 kB[22m
|
|
106
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/types.mjs.map [2m 3.22 kB[22m [2m│ gzip: 1.15 kB[22m
|
|
107
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicAuthService.mjs [2m 2.23 kB[22m [2m│ gzip: 0.88 kB[22m
|
|
108
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mColdStorage.mjs [2m 2.01 kB[22m [2m│ gzip: 0.83 kB[22m
|
|
109
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mErrors.mjs [2m 1.73 kB[22m [2m│ gzip: 0.61 kB[22m
|
|
110
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mProtocol.d.mts.map [2m 1.57 kB[22m [2m│ gzip: 0.70 kB[22m
|
|
111
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mTypes.d.mts.map [2m 1.41 kB[22m [2m│ gzip: 0.65 kB[22m
|
|
112
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServerEngine.d.mts.map [2m 1.09 kB[22m [2m│ gzip: 0.50 kB[22m
|
|
113
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/objectSpread2.mjs [2m 0.90 kB[22m [2m│ gzip: 0.42 kB[22m
|
|
114
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mColdStorage.d.mts.map [2m 0.70 kB[22m [2m│ gzip: 0.37 kB[22m
|
|
115
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mDocumentManager.d.mts.map [2m 0.69 kB[22m [2m│ gzip: 0.38 kB[22m
|
|
116
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mHotStorage.d.mts.map [2m 0.67 kB[22m [2m│ gzip: 0.35 kB[22m
|
|
117
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicAuthService.d.mts.map [2m 0.61 kB[22m [2m│ gzip: 0.35 kB[22m
|
|
118
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mErrors.d.mts.map [2m 0.60 kB[22m [2m│ gzip: 0.32 kB[22m
|
|
119
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/HotStorageTestSuite.d.mts.map [2m 0.48 kB[22m [2m│ gzip: 0.29 kB[22m
|
|
120
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/rolldown_runtime.mjs [2m 0.47 kB[22m [2m│ gzip: 0.30 kB[22m
|
|
121
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/toPrimitive.mjs [2m 0.47 kB[22m [2m│ gzip: 0.30 kB[22m
|
|
122
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mPresenceManager.d.mts.map [2m 0.45 kB[22m [2m│ gzip: 0.27 kB[22m
|
|
123
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/typeof.mjs [2m 0.43 kB[22m [2m│ gzip: 0.24 kB[22m
|
|
124
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/types.d.mts.map [2m 0.38 kB[22m [2m│ gzip: 0.23 kB[22m
|
|
125
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/types.mjs [2m 0.35 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
126
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/defineProperty.mjs [2m 0.35 kB[22m [2m│ gzip: 0.23 kB[22m
|
|
127
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/ColdStorageTestSuite.d.mts.map [2m 0.35 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
128
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/StorageIntegrationTestSuite.d.mts.map [2m 0.32 kB[22m [2m│ gzip: 0.21 kB[22m
|
|
129
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/toPropertyKey.mjs [2m 0.30 kB[22m [2m│ gzip: 0.21 kB[22m
|
|
130
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/FailingStorage.d.mts.map [2m 0.26 kB[22m [2m│ gzip: 0.18 kB[22m
|
|
131
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicClusterServerEngine.d.mts.map [2m 0.25 kB[22m [2m│ gzip: 0.19 kB[22m
|
|
132
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServer.d.mts.map [2m 0.22 kB[22m [2m│ gzip: 0.16 kB[22m
|
|
133
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMetrics.d.mts.map [2m 0.12 kB[22m [2m│ gzip: 0.12 kB[22m
|
|
134
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32m[1mindex.d.mts[22m[39m [2m 2.17 kB[22m [2m│ gzip: 0.53 kB[22m
|
|
135
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32m[1mtesting/index.d.mts[22m[39m [2m 0.91 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
136
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mProtocol.d.mts[39m [2m 5.86 kB[22m [2m│ gzip: 1.34 kB[22m
|
|
137
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mTypes.d.mts[39m [2m 5.47 kB[22m [2m│ gzip: 1.54 kB[22m
|
|
138
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mErrors.d.mts[39m [2m 4.86 kB[22m [2m│ gzip: 1.02 kB[22m
|
|
139
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mMimicServerEngine.d.mts[39m [2m 3.42 kB[22m [2m│ gzip: 1.06 kB[22m
|
|
140
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mtesting/types.d.mts[39m [2m 2.76 kB[22m [2m│ gzip: 1.15 kB[22m
|
|
141
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mDocumentManager.d.mts[39m [2m 2.74 kB[22m [2m│ gzip: 0.84 kB[22m
|
|
142
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mHotStorage.d.mts[39m [2m 2.72 kB[22m [2m│ gzip: 1.08 kB[22m
|
|
143
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mMimicAuthService.d.mts[39m [2m 2.70 kB[22m [2m│ gzip: 1.04 kB[22m
|
|
144
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mtesting/HotStorageTestSuite.d.mts[39m [2m 1.93 kB[22m [2m│ gzip: 0.57 kB[22m
|
|
145
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mColdStorage.d.mts[39m [2m 1.74 kB[22m [2m│ gzip: 0.70 kB[22m
|
|
146
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mPresenceManager.d.mts[39m [2m 1.60 kB[22m [2m│ gzip: 0.63 kB[22m
|
|
147
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mMetrics.d.mts[39m [2m 1.59 kB[22m [2m│ gzip: 0.39 kB[22m
|
|
148
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mtesting/ColdStorageTestSuite.d.mts[39m [2m 1.55 kB[22m [2m│ gzip: 0.50 kB[22m
|
|
149
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mtesting/FailingStorage.d.mts[39m [2m 1.44 kB[22m [2m│ gzip: 0.46 kB[22m
|
|
150
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mtesting/StorageIntegrationTestSuite.d.mts[39m [2m 1.43 kB[22m [2m│ gzip: 0.57 kB[22m
|
|
151
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mMimicClusterServerEngine.d.mts[39m [2m 0.82 kB[22m [2m│ gzip: 0.33 kB[22m
|
|
152
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mMimicServer.d.mts[39m [2m 0.74 kB[22m [2m│ gzip: 0.31 kB[22m
|
|
153
|
+
[34mℹ[39m [34m[ESM][39m 78 files, total: 518.62 kB
|
|
154
|
+
[32m✔[39m Build complete in [32m6561ms[39m
|
package/dist/ColdStorage.cjs
CHANGED
|
@@ -36,18 +36,22 @@ var ColdStorageTag = class extends effect.Context.Tag("@voidhash/mimic-effect/Co
|
|
|
36
36
|
const make = (effect$1) => effect.Layer.effect(ColdStorageTag, effect$1);
|
|
37
37
|
let InMemory;
|
|
38
38
|
(function(_InMemory) {
|
|
39
|
-
_InMemory.make = () => effect.Layer.effect(ColdStorageTag, effect.Effect.
|
|
39
|
+
_InMemory.make = () => effect.Layer.effect(ColdStorageTag, effect.Effect.fn("cold-storage.in-memory.create")(function* () {
|
|
40
40
|
const store = yield* effect.Ref.make(effect.HashMap.empty());
|
|
41
41
|
return {
|
|
42
|
-
load:
|
|
42
|
+
load: effect.Effect.fn("cold-storage.load")(function* (documentId) {
|
|
43
43
|
const current = yield* effect.Ref.get(store);
|
|
44
44
|
const result = effect.HashMap.get(current, documentId);
|
|
45
45
|
return result._tag === "Some" ? result.value : void 0;
|
|
46
46
|
}),
|
|
47
|
-
save:
|
|
48
|
-
|
|
47
|
+
save: effect.Effect.fn("cold-storage.save")(function* (documentId, document) {
|
|
48
|
+
yield* effect.Ref.update(store, (map) => effect.HashMap.set(map, documentId, document));
|
|
49
|
+
}),
|
|
50
|
+
delete: effect.Effect.fn("cold-storage.delete")(function* (documentId) {
|
|
51
|
+
yield* effect.Ref.update(store, (map) => effect.HashMap.remove(map, documentId));
|
|
52
|
+
})
|
|
49
53
|
};
|
|
50
|
-
}));
|
|
54
|
+
})());
|
|
51
55
|
})(InMemory || (InMemory = {}));
|
|
52
56
|
const ColdStorage = {
|
|
53
57
|
Tag: ColdStorageTag,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColdStorage.d.cts","names":[],"sources":["../src/ColdStorage.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;AA2CC,UAvBgB,WAAA,CAuBhB;;;;;EASY,SAAA,IAAA,EAAA,CAAA,UAAe,EAAA,MAAQ,EAAA,GAzB7B,MAAA,CAAO,MA4BX,CA5BkB,cA4BlB,GAAA,SAAA,EA5B8C,gBA4B9C,CAAA;EA4Cc;
|
|
1
|
+
{"version":3,"file":"ColdStorage.d.cts","names":[],"sources":["../src/ColdStorage.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;AA2CC,UAvBgB,WAAA,CAuBhB;;;;;EASY,SAAA,IAAA,EAAA,CAAA,UAAe,EAAA,MAAQ,EAAA,GAzB7B,MAAA,CAAO,MA4BX,CA5BkB,cA4BlB,GAAA,SAAA,EA5B8C,gBA4B9C,CAAA;EA4Cc;AAyCjB;;EAvDwB,SAAA,IAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAnDV,cAmDU,EAAA,GAlDjB,MAAA,CAAO,MAkDU,CAAA,IAAA,EAlDG,gBAkDH,CAAA;EAAa;;;EACtB,SAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,GA5CR,MAAA,CAAO,MA4CC,CAAA,IAAA,EA5CY,gBA4CZ,CAAA;;cA3Cd,mBA2CiC,kBAAA,eAAA,EAAA,oCAAA,aAAA,CAAA;;;;cAlCrB,cAAA,SAAuB,mBAAA;;;;;;;kBA+CnB,QAAA;;;;oBAIS,KAAA,CAAM,MAAM;;cAqCzB;;uBAvDH,MAAA,CAAO,OAAO,aAAa,GAAG,OACrC,KAAA,CAAM,MAAM,gBAAgB,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColdStorage.d.mts","names":[],"sources":["../src/ColdStorage.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;AA2CC,UAvBgB,WAAA,CAuBhB;;;;;EASY,SAAA,IAAA,EAAA,CAAA,UAAe,EAAA,MAAQ,EAAA,GAzB7B,MAAA,CAAO,MA4BX,CA5BkB,cA4BlB,GAAA,SAAA,EA5B8C,gBA4B9C,CAAA;EA4Cc;
|
|
1
|
+
{"version":3,"file":"ColdStorage.d.mts","names":[],"sources":["../src/ColdStorage.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;AA2CC,UAvBgB,WAAA,CAuBhB;;;;;EASY,SAAA,IAAA,EAAA,CAAA,UAAe,EAAA,MAAQ,EAAA,GAzB7B,MAAA,CAAO,MA4BX,CA5BkB,cA4BlB,GAAA,SAAA,EA5B8C,gBA4B9C,CAAA;EA4Cc;AAyCjB;;EAvDwB,SAAA,IAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAnDV,cAmDU,EAAA,GAlDjB,MAAA,CAAO,MAkDU,CAAA,IAAA,EAlDG,gBAkDH,CAAA;EAAa;;;EACtB,SAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,GA5CR,MAAA,CAAO,MA4CC,CAAA,IAAA,EA5CY,gBA4CZ,CAAA;;cA3Cd,mBA2CiC,kBAAA,eAAA,EAAA,oCAAA,aAAA,CAAA;;;;cAlCrB,cAAA,SAAuB,mBAAA;;;;;;;kBA+CnB,QAAA;;;;oBAIS,KAAA,CAAM,MAAM;;cAqCzB;;uBAvDH,MAAA,CAAO,OAAO,aAAa,GAAG,OACrC,KAAA,CAAM,MAAM,gBAAgB,GAAG"}
|
package/dist/ColdStorage.mjs
CHANGED
|
@@ -36,18 +36,22 @@ var ColdStorageTag = class extends Context.Tag("@voidhash/mimic-effect/ColdStora
|
|
|
36
36
|
const make = (effect) => Layer.effect(ColdStorageTag, effect);
|
|
37
37
|
let InMemory;
|
|
38
38
|
(function(_InMemory) {
|
|
39
|
-
_InMemory.make = () => Layer.effect(ColdStorageTag, Effect.
|
|
39
|
+
_InMemory.make = () => Layer.effect(ColdStorageTag, Effect.fn("cold-storage.in-memory.create")(function* () {
|
|
40
40
|
const store = yield* Ref.make(HashMap.empty());
|
|
41
41
|
return {
|
|
42
|
-
load:
|
|
42
|
+
load: Effect.fn("cold-storage.load")(function* (documentId) {
|
|
43
43
|
const current = yield* Ref.get(store);
|
|
44
44
|
const result = HashMap.get(current, documentId);
|
|
45
45
|
return result._tag === "Some" ? result.value : void 0;
|
|
46
46
|
}),
|
|
47
|
-
save: (
|
|
48
|
-
|
|
47
|
+
save: Effect.fn("cold-storage.save")(function* (documentId, document) {
|
|
48
|
+
yield* Ref.update(store, (map) => HashMap.set(map, documentId, document));
|
|
49
|
+
}),
|
|
50
|
+
delete: Effect.fn("cold-storage.delete")(function* (documentId) {
|
|
51
|
+
yield* Ref.update(store, (map) => HashMap.remove(map, documentId));
|
|
52
|
+
})
|
|
49
53
|
};
|
|
50
|
-
}));
|
|
54
|
+
})());
|
|
51
55
|
})(InMemory || (InMemory = {}));
|
|
52
56
|
const ColdStorage = {
|
|
53
57
|
Tag: ColdStorageTag,
|
package/dist/ColdStorage.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColdStorage.mjs","names":[],"sources":["../src/ColdStorage.ts"],"sourcesContent":["/**\n * @voidhash/mimic-effect - ColdStorage\n *\n * Interface and implementations for document snapshot storage.\n */\nimport { Context, Effect, HashMap, Layer, Ref } from \"effect\";\nimport type { StoredDocument } from \"./Types\";\nimport { ColdStorageError } from \"./Errors\";\n\n// =============================================================================\n// ColdStorage Interface\n// =============================================================================\n\n/**\n * ColdStorage interface for storing document snapshots.\n *\n * This is the \"cold\" tier of the two-tier storage system.\n * It stores complete document snapshots less frequently (on periodic intervals\n * or after a threshold of transactions).\n */\nexport interface ColdStorage {\n /**\n * Load a document snapshot.\n * Returns undefined if the document doesn't exist.\n */\n readonly load: (\n documentId: string\n ) => Effect.Effect<StoredDocument | undefined, ColdStorageError>;\n\n /**\n * Save a document snapshot.\n */\n readonly save: (\n documentId: string,\n document: StoredDocument\n ) => Effect.Effect<void, ColdStorageError>;\n\n /**\n * Delete a document snapshot.\n */\n readonly delete: (\n documentId: string\n ) => Effect.Effect<void, ColdStorageError>;\n}\n\n// =============================================================================\n// Context Tag\n// =============================================================================\n\n/**\n * Context tag for ColdStorage service\n */\nexport class ColdStorageTag extends Context.Tag(\"@voidhash/mimic-effect/ColdStorage\")<\n ColdStorageTag,\n ColdStorage\n>() {}\n\n// =============================================================================\n// Factory\n// =============================================================================\n\n/**\n * Create a ColdStorage layer from an Effect that produces a ColdStorage service.\n *\n * This allows you to access other Effect services when implementing custom storage.\n *\n * @example\n * ```typescript\n * const Cold = ColdStorage.make(\n * Effect.gen(function*() {\n * const redis = yield* RedisService\n *\n * return {\n * load: (documentId) => redis.get(`doc:${documentId}`).pipe(\n * Effect.map(data => data ? JSON.parse(data) : undefined)\n * ),\n * save: (documentId, document) =>\n * redis.set(`doc:${documentId}`, JSON.stringify(document)),\n * delete: (documentId) => redis.del(`doc:${documentId}`),\n * }\n * })\n * )\n * ```\n */\nexport const make = <E, R>(\n effect: Effect.Effect<ColdStorage, E, R>\n): Layer.Layer<ColdStorageTag, E, R> =>\n Layer.effect(ColdStorageTag, effect);\n\n// =============================================================================\n// InMemory Implementation\n// =============================================================================\n\n/**\n * In-memory ColdStorage implementation.\n *\n * Useful for testing and development. Not suitable for production\n * as data is lost when the process restarts.\n */\nexport namespace InMemory {\n /**\n * Create an in-memory ColdStorage layer.\n */\n export const make = (): Layer.Layer<ColdStorageTag> =>\n Layer.effect(\n ColdStorageTag,\n Effect.
|
|
1
|
+
{"version":3,"file":"ColdStorage.mjs","names":[],"sources":["../src/ColdStorage.ts"],"sourcesContent":["/**\n * @voidhash/mimic-effect - ColdStorage\n *\n * Interface and implementations for document snapshot storage.\n */\nimport { Context, Effect, HashMap, Layer, Ref } from \"effect\";\nimport type { StoredDocument } from \"./Types\";\nimport { ColdStorageError } from \"./Errors\";\n\n// =============================================================================\n// ColdStorage Interface\n// =============================================================================\n\n/**\n * ColdStorage interface for storing document snapshots.\n *\n * This is the \"cold\" tier of the two-tier storage system.\n * It stores complete document snapshots less frequently (on periodic intervals\n * or after a threshold of transactions).\n */\nexport interface ColdStorage {\n /**\n * Load a document snapshot.\n * Returns undefined if the document doesn't exist.\n */\n readonly load: (\n documentId: string\n ) => Effect.Effect<StoredDocument | undefined, ColdStorageError>;\n\n /**\n * Save a document snapshot.\n */\n readonly save: (\n documentId: string,\n document: StoredDocument\n ) => Effect.Effect<void, ColdStorageError>;\n\n /**\n * Delete a document snapshot.\n */\n readonly delete: (\n documentId: string\n ) => Effect.Effect<void, ColdStorageError>;\n}\n\n// =============================================================================\n// Context Tag\n// =============================================================================\n\n/**\n * Context tag for ColdStorage service\n */\nexport class ColdStorageTag extends Context.Tag(\"@voidhash/mimic-effect/ColdStorage\")<\n ColdStorageTag,\n ColdStorage\n>() {}\n\n// =============================================================================\n// Factory\n// =============================================================================\n\n/**\n * Create a ColdStorage layer from an Effect that produces a ColdStorage service.\n *\n * This allows you to access other Effect services when implementing custom storage.\n *\n * @example\n * ```typescript\n * const Cold = ColdStorage.make(\n * Effect.gen(function*() {\n * const redis = yield* RedisService\n *\n * return {\n * load: (documentId) => redis.get(`doc:${documentId}`).pipe(\n * Effect.map(data => data ? JSON.parse(data) : undefined)\n * ),\n * save: (documentId, document) =>\n * redis.set(`doc:${documentId}`, JSON.stringify(document)),\n * delete: (documentId) => redis.del(`doc:${documentId}`),\n * }\n * })\n * )\n * ```\n */\nexport const make = <E, R>(\n effect: Effect.Effect<ColdStorage, E, R>\n): Layer.Layer<ColdStorageTag, E, R> =>\n Layer.effect(ColdStorageTag, effect);\n\n// =============================================================================\n// InMemory Implementation\n// =============================================================================\n\n/**\n * In-memory ColdStorage implementation.\n *\n * Useful for testing and development. Not suitable for production\n * as data is lost when the process restarts.\n */\nexport namespace InMemory {\n /**\n * Create an in-memory ColdStorage layer.\n */\n export const make = (): Layer.Layer<ColdStorageTag> =>\n Layer.effect(\n ColdStorageTag,\n Effect.fn(\"cold-storage.in-memory.create\")(function* () {\n const store = yield* Ref.make(HashMap.empty<string, StoredDocument>());\n\n return {\n load: Effect.fn(\"cold-storage.load\")(function* (documentId: string) {\n const current = yield* Ref.get(store);\n const result = HashMap.get(current, documentId);\n return result._tag === \"Some\" ? result.value : undefined;\n }),\n\n save: Effect.fn(\"cold-storage.save\")(\n function* (documentId: string, document: StoredDocument) {\n yield* Ref.update(store, (map) =>\n HashMap.set(map, documentId, document)\n );\n }\n ),\n\n delete: Effect.fn(\"cold-storage.delete\")(\n function* (documentId: string) {\n yield* Ref.update(store, (map) =>\n HashMap.remove(map, documentId)\n );\n }\n ),\n };\n })()\n );\n}\n\n// =============================================================================\n// Re-export namespace\n// =============================================================================\n\nexport const ColdStorage = {\n Tag: ColdStorageTag,\n make,\n InMemory,\n};\n"],"mappings":";;;;;;;;;;;AAoDA,IAAa,iBAAb,cAAoC,QAAQ,IAAI,qCAAqC,EAGlF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AA6BJ,MAAa,QACX,WAEA,MAAM,OAAO,gBAAgB,OAAO;;;wBAiBlC,MAAM,OACJ,gBACA,OAAO,GAAG,gCAAgC,CAAC,aAAa;EACtD,MAAM,QAAQ,OAAO,IAAI,KAAK,QAAQ,OAA+B,CAAC;AAEtE,SAAO;GACL,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,YAAoB;IAClE,MAAM,UAAU,OAAO,IAAI,IAAI,MAAM;IACrC,MAAM,SAAS,QAAQ,IAAI,SAAS,WAAW;AAC/C,WAAO,OAAO,SAAS,SAAS,OAAO,QAAQ;KAC/C;GAEF,MAAM,OAAO,GAAG,oBAAoB,CAClC,WAAW,YAAoB,UAA0B;AACvD,WAAO,IAAI,OAAO,QAAQ,QACxB,QAAQ,IAAI,KAAK,YAAY,SAAS,CACvC;KAEJ;GAED,QAAQ,OAAO,GAAG,sBAAsB,CACtC,WAAW,YAAoB;AAC7B,WAAO,IAAI,OAAO,QAAQ,QACxB,QAAQ,OAAO,KAAK,WAAW,CAChC;KAEJ;GACF;GACD,EAAE,CACL;;AAOL,MAAa,cAAc;CACzB,KAAK;CACL;CACA;CACD"}
|
package/dist/DocumentManager.cjs
CHANGED
|
@@ -45,7 +45,7 @@ const layer = effect.Layer.scoped(DocumentManagerTag, effect.Effect.gen(function
|
|
|
45
45
|
/**
|
|
46
46
|
* Restore a document from storage
|
|
47
47
|
*/
|
|
48
|
-
const restoreDocument =
|
|
48
|
+
const restoreDocument = effect.Effect.fn("document.restore")(function* (documentId) {
|
|
49
49
|
const storedDoc = yield* coldStorage.load(documentId);
|
|
50
50
|
let initialState;
|
|
51
51
|
let initialVersion = 0;
|
|
@@ -125,7 +125,7 @@ const layer = effect.Layer.scoped(DocumentManagerTag, effect.Effect.gen(function
|
|
|
125
125
|
/**
|
|
126
126
|
* Get or create a document instance
|
|
127
127
|
*/
|
|
128
|
-
const getOrCreateDocument =
|
|
128
|
+
const getOrCreateDocument = effect.Effect.fn("document.get-or-create")(function* (documentId) {
|
|
129
129
|
const current = yield* effect.Ref.get(store);
|
|
130
130
|
const existing = effect.HashMap.get(current, documentId);
|
|
131
131
|
if (existing._tag === "Some") {
|
|
@@ -142,7 +142,7 @@ const layer = effect.Layer.scoped(DocumentManagerTag, effect.Effect.gen(function
|
|
|
142
142
|
* Idempotent: skips save if already snapshotted at target version.
|
|
143
143
|
* Truncate failures are non-fatal and will be retried on next snapshot.
|
|
144
144
|
*/
|
|
145
|
-
const saveSnapshot =
|
|
145
|
+
const saveSnapshot = effect.Effect.fn("document.snapshot.save")(function* (documentId, instance, targetVersion) {
|
|
146
146
|
var _baseSnapshot$version;
|
|
147
147
|
if (targetVersion <= (yield* effect.Ref.get(instance.lastSnapshotVersion))) return;
|
|
148
148
|
const snapshotStartTime = Date.now();
|
|
@@ -182,7 +182,7 @@ const layer = effect.Layer.scoped(DocumentManagerTag, effect.Effect.gen(function
|
|
|
182
182
|
/**
|
|
183
183
|
* Check if snapshot should be triggered
|
|
184
184
|
*/
|
|
185
|
-
const checkSnapshotTriggers =
|
|
185
|
+
const checkSnapshotTriggers = effect.Effect.fn("document.snapshot.check-triggers")(function* (documentId, instance) {
|
|
186
186
|
const txCount = yield* effect.Ref.get(instance.transactionsSinceSnapshot);
|
|
187
187
|
const lastTime = yield* effect.Ref.get(instance.lastSnapshotTime);
|
|
188
188
|
const now = Date.now();
|
|
@@ -197,8 +197,8 @@ const layer = effect.Layer.scoped(DocumentManagerTag, effect.Effect.gen(function
|
|
|
197
197
|
return;
|
|
198
198
|
}
|
|
199
199
|
});
|
|
200
|
-
yield* effect.Effect.
|
|
201
|
-
yield* effect.Effect.
|
|
200
|
+
yield* effect.Effect.fn("document.gc.start")(function* () {
|
|
201
|
+
yield* effect.Effect.fn("document.gc.loop")(function* () {
|
|
202
202
|
const current = yield* effect.Ref.get(store);
|
|
203
203
|
const now = Date.now();
|
|
204
204
|
const maxIdleMs = effect.Duration.toMillis(config.maxIdleTime);
|
|
@@ -213,9 +213,9 @@ const layer = effect.Layer.scoped(DocumentManagerTag, effect.Effect.gen(function
|
|
|
213
213
|
yield* effect.Metric.incrementBy(require_Metrics.documentsActive, -1);
|
|
214
214
|
yield* effect.Effect.logInfo("Document evicted due to idle timeout", { documentId });
|
|
215
215
|
}
|
|
216
|
-
}).pipe(effect.Effect.repeat(effect.Schedule.spaced("1 minute")), effect.Effect.fork);
|
|
217
|
-
});
|
|
218
|
-
yield* effect.Effect.addFinalizer(() => effect.Effect.
|
|
216
|
+
})().pipe(effect.Effect.repeat(effect.Schedule.spaced("1 minute")), effect.Effect.fork);
|
|
217
|
+
})();
|
|
218
|
+
yield* effect.Effect.addFinalizer(() => effect.Effect.fn("document-manager.shutdown")(function* () {
|
|
219
219
|
const current = yield* effect.Ref.get(store);
|
|
220
220
|
for (const [documentId, instance] of current) {
|
|
221
221
|
const currentVersion = instance.document.getVersion();
|
|
@@ -225,9 +225,9 @@ const layer = effect.Layer.scoped(DocumentManagerTag, effect.Effect.gen(function
|
|
|
225
225
|
}));
|
|
226
226
|
}
|
|
227
227
|
yield* effect.Effect.logInfo("DocumentManager shutdown complete");
|
|
228
|
-
}));
|
|
228
|
+
})());
|
|
229
229
|
return {
|
|
230
|
-
submit:
|
|
230
|
+
submit: effect.Effect.fn("document.transaction.submit")(function* (documentId, transaction) {
|
|
231
231
|
const instance = yield* getOrCreateDocument(documentId);
|
|
232
232
|
const submitStartTime = Date.now();
|
|
233
233
|
const validation = instance.document.validate(transaction);
|
|
@@ -272,14 +272,14 @@ const layer = effect.Layer.scoped(DocumentManagerTag, effect.Effect.gen(function
|
|
|
272
272
|
version: validation.nextVersion
|
|
273
273
|
};
|
|
274
274
|
}),
|
|
275
|
-
getSnapshot:
|
|
275
|
+
getSnapshot: effect.Effect.fn("document.snapshot.get")(function* (documentId) {
|
|
276
276
|
return (yield* getOrCreateDocument(documentId)).document.getSnapshot();
|
|
277
277
|
}),
|
|
278
|
-
subscribe:
|
|
278
|
+
subscribe: effect.Effect.fn("document.subscribe")(function* (documentId) {
|
|
279
279
|
const instance = yield* getOrCreateDocument(documentId);
|
|
280
280
|
return effect.Stream.fromPubSub(instance.pubsub);
|
|
281
281
|
}),
|
|
282
|
-
touch:
|
|
282
|
+
touch: effect.Effect.fn("document.touch")(function* (documentId) {
|
|
283
283
|
const current = yield* effect.Ref.get(store);
|
|
284
284
|
const existing = effect.HashMap.get(current, documentId);
|
|
285
285
|
if (existing._tag === "Some") yield* effect.Ref.set(existing.value.lastActivityTime, Date.now());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentManager.d.cts","names":[],"sources":["../src/DocumentManager.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;AAiFqB,KAtCT,YAAA,GAsCgB;EAAyB,SAAA,OAAA,EAAA,IAAA;EAAsB,SAAM,OAAA,EAAA,MAAA;CAA1E,GAAA;EAMmC,SAAO,OAAA,EAAA,KAAA;EAAM,SAAA,MAAA,EAAA,MAAA;AACtD,CAAA;;;;KAlCW,oBAAA,GAAuB,mBAAmB;AA2CtD;AAE2C;;UAxC1B,eAAA;;;;AAuEjB;
|
|
1
|
+
{"version":3,"file":"DocumentManager.d.cts","names":[],"sources":["../src/DocumentManager.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;AAiFqB,KAtCT,YAAA,GAsCgB;EAAyB,SAAA,OAAA,EAAA,IAAA;EAAsB,SAAM,OAAA,EAAA,MAAA;CAA1E,GAAA;EAMmC,SAAO,OAAA,EAAA,KAAA;EAAM,SAAA,MAAA,EAAA,MAAA;AACtD,CAAA;;;;KAlCW,oBAAA,GAAuB,mBAAmB;AA2CtD;AAE2C;;UAxC1B,eAAA;;;;AAuEjB;EAiea,SAAA,MAAA,EAAA,CAIZ,UAAA,EAAA,MAAA,EAAA,WAAA,EAriBgB,WAAA,CAAY,WAqiB5B,EAAA,GApiBM,MAAA,CAAO,MAoiBb,CApiBoB,YAoiBpB,EApiBkC,oBAoiBlC,CAAA;;;;;gDA9hB+C,MAAA,CAAO,OAAO,iBAAiB;;;;;8CAQxE,MAAA,CAAO,OAAO,MAAA,CAAO,OAAO,kBAAkB,sBAAsB,KAAA,CAAM;;;;;0CAMvC,MAAA,CAAO;;cAChD;;;;cASY,kBAAA,SAA2B,uBAAA;cAEG;;;;cA+B9B,wBAAA,SAAiC,6BAAA;cAiejC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentManager.d.mts","names":[],"sources":["../src/DocumentManager.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;AAiFqB,KAtCT,YAAA,GAsCgB;EAAyB,SAAA,OAAA,EAAA,IAAA;EAAsB,SAAM,OAAA,EAAA,MAAA;CAA1E,GAAA;EAMmC,SAAO,OAAA,EAAA,KAAA;EAAM,SAAA,MAAA,EAAA,MAAA;AACtD,CAAA;;;;KAlCW,oBAAA,GAAuB,mBAAmB;AA2CtD;AAE2C;;UAxC1B,eAAA;;;;AAuEjB;
|
|
1
|
+
{"version":3,"file":"DocumentManager.d.mts","names":[],"sources":["../src/DocumentManager.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;AAiFqB,KAtCT,YAAA,GAsCgB;EAAyB,SAAA,OAAA,EAAA,IAAA;EAAsB,SAAM,OAAA,EAAA,MAAA;CAA1E,GAAA;EAMmC,SAAO,OAAA,EAAA,KAAA;EAAM,SAAA,MAAA,EAAA,MAAA;AACtD,CAAA;;;;KAlCW,oBAAA,GAAuB,mBAAmB;AA2CtD;AAE2C;;UAxC1B,eAAA;;;;AAuEjB;EAiea,SAAA,MAAA,EAAA,CAIZ,UAAA,EAAA,MAAA,EAAA,WAAA,EAriBgB,WAAA,CAAY,WAqiB5B,EAAA,GApiBM,MAAA,CAAO,MAoiBb,CApiBoB,YAoiBpB,EApiBkC,oBAoiBlC,CAAA;;;;;gDA9hB+C,MAAA,CAAO,OAAO,iBAAiB;;;;;8CAQxE,MAAA,CAAO,OAAO,MAAA,CAAO,OAAO,kBAAkB,sBAAsB,KAAA,CAAM;;;;;0CAMvC,MAAA,CAAO;;cAChD;;;;cASY,kBAAA,SAA2B,uBAAA;cAEG;;;;cA+B9B,wBAAA,SAAiC,6BAAA;cAiejC"}
|
package/dist/DocumentManager.mjs
CHANGED
|
@@ -45,7 +45,7 @@ const layer = Layer.scoped(DocumentManagerTag, Effect.gen(function* () {
|
|
|
45
45
|
/**
|
|
46
46
|
* Restore a document from storage
|
|
47
47
|
*/
|
|
48
|
-
const restoreDocument =
|
|
48
|
+
const restoreDocument = Effect.fn("document.restore")(function* (documentId) {
|
|
49
49
|
const storedDoc = yield* coldStorage.load(documentId);
|
|
50
50
|
let initialState;
|
|
51
51
|
let initialVersion = 0;
|
|
@@ -125,7 +125,7 @@ const layer = Layer.scoped(DocumentManagerTag, Effect.gen(function* () {
|
|
|
125
125
|
/**
|
|
126
126
|
* Get or create a document instance
|
|
127
127
|
*/
|
|
128
|
-
const getOrCreateDocument =
|
|
128
|
+
const getOrCreateDocument = Effect.fn("document.get-or-create")(function* (documentId) {
|
|
129
129
|
const current = yield* Ref.get(store);
|
|
130
130
|
const existing = HashMap.get(current, documentId);
|
|
131
131
|
if (existing._tag === "Some") {
|
|
@@ -142,7 +142,7 @@ const layer = Layer.scoped(DocumentManagerTag, Effect.gen(function* () {
|
|
|
142
142
|
* Idempotent: skips save if already snapshotted at target version.
|
|
143
143
|
* Truncate failures are non-fatal and will be retried on next snapshot.
|
|
144
144
|
*/
|
|
145
|
-
const saveSnapshot = (documentId, instance, targetVersion)
|
|
145
|
+
const saveSnapshot = Effect.fn("document.snapshot.save")(function* (documentId, instance, targetVersion) {
|
|
146
146
|
var _baseSnapshot$version;
|
|
147
147
|
if (targetVersion <= (yield* Ref.get(instance.lastSnapshotVersion))) return;
|
|
148
148
|
const snapshotStartTime = Date.now();
|
|
@@ -182,7 +182,7 @@ const layer = Layer.scoped(DocumentManagerTag, Effect.gen(function* () {
|
|
|
182
182
|
/**
|
|
183
183
|
* Check if snapshot should be triggered
|
|
184
184
|
*/
|
|
185
|
-
const checkSnapshotTriggers =
|
|
185
|
+
const checkSnapshotTriggers = Effect.fn("document.snapshot.check-triggers")(function* (documentId, instance) {
|
|
186
186
|
const txCount = yield* Ref.get(instance.transactionsSinceSnapshot);
|
|
187
187
|
const lastTime = yield* Ref.get(instance.lastSnapshotTime);
|
|
188
188
|
const now = Date.now();
|
|
@@ -197,8 +197,8 @@ const layer = Layer.scoped(DocumentManagerTag, Effect.gen(function* () {
|
|
|
197
197
|
return;
|
|
198
198
|
}
|
|
199
199
|
});
|
|
200
|
-
yield* Effect.
|
|
201
|
-
yield* Effect.
|
|
200
|
+
yield* Effect.fn("document.gc.start")(function* () {
|
|
201
|
+
yield* Effect.fn("document.gc.loop")(function* () {
|
|
202
202
|
const current = yield* Ref.get(store);
|
|
203
203
|
const now = Date.now();
|
|
204
204
|
const maxIdleMs = Duration.toMillis(config.maxIdleTime);
|
|
@@ -213,9 +213,9 @@ const layer = Layer.scoped(DocumentManagerTag, Effect.gen(function* () {
|
|
|
213
213
|
yield* Metric.incrementBy(documentsActive, -1);
|
|
214
214
|
yield* Effect.logInfo("Document evicted due to idle timeout", { documentId });
|
|
215
215
|
}
|
|
216
|
-
}).pipe(Effect.repeat(Schedule.spaced("1 minute")), Effect.fork);
|
|
217
|
-
});
|
|
218
|
-
yield* Effect.addFinalizer(() => Effect.
|
|
216
|
+
})().pipe(Effect.repeat(Schedule.spaced("1 minute")), Effect.fork);
|
|
217
|
+
})();
|
|
218
|
+
yield* Effect.addFinalizer(() => Effect.fn("document-manager.shutdown")(function* () {
|
|
219
219
|
const current = yield* Ref.get(store);
|
|
220
220
|
for (const [documentId, instance] of current) {
|
|
221
221
|
const currentVersion = instance.document.getVersion();
|
|
@@ -225,9 +225,9 @@ const layer = Layer.scoped(DocumentManagerTag, Effect.gen(function* () {
|
|
|
225
225
|
}));
|
|
226
226
|
}
|
|
227
227
|
yield* Effect.logInfo("DocumentManager shutdown complete");
|
|
228
|
-
}));
|
|
228
|
+
})());
|
|
229
229
|
return {
|
|
230
|
-
submit: (
|
|
230
|
+
submit: Effect.fn("document.transaction.submit")(function* (documentId, transaction) {
|
|
231
231
|
const instance = yield* getOrCreateDocument(documentId);
|
|
232
232
|
const submitStartTime = Date.now();
|
|
233
233
|
const validation = instance.document.validate(transaction);
|
|
@@ -272,14 +272,14 @@ const layer = Layer.scoped(DocumentManagerTag, Effect.gen(function* () {
|
|
|
272
272
|
version: validation.nextVersion
|
|
273
273
|
};
|
|
274
274
|
}),
|
|
275
|
-
getSnapshot:
|
|
275
|
+
getSnapshot: Effect.fn("document.snapshot.get")(function* (documentId) {
|
|
276
276
|
return (yield* getOrCreateDocument(documentId)).document.getSnapshot();
|
|
277
277
|
}),
|
|
278
|
-
subscribe:
|
|
278
|
+
subscribe: Effect.fn("document.subscribe")(function* (documentId) {
|
|
279
279
|
const instance = yield* getOrCreateDocument(documentId);
|
|
280
280
|
return Stream.fromPubSub(instance.pubsub);
|
|
281
281
|
}),
|
|
282
|
-
touch:
|
|
282
|
+
touch: Effect.fn("document.touch")(function* (documentId) {
|
|
283
283
|
const current = yield* Ref.get(store);
|
|
284
284
|
const existing = HashMap.get(current, documentId);
|
|
285
285
|
if (existing._tag === "Some") yield* Ref.set(existing.value.lastActivityTime, Date.now());
|