cojson 0.8.11 → 0.8.16

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 (158) hide show
  1. package/CHANGELOG.md +94 -82
  2. package/dist/native/PeerKnownStates.js +1 -1
  3. package/dist/native/PeerKnownStates.js.map +1 -1
  4. package/dist/native/PeerState.js +4 -1
  5. package/dist/native/PeerState.js.map +1 -1
  6. package/dist/native/PriorityBasedMessageQueue.js +1 -10
  7. package/dist/native/PriorityBasedMessageQueue.js.map +1 -1
  8. package/dist/native/base64url.js.map +1 -1
  9. package/dist/native/base64url.test.js +1 -1
  10. package/dist/native/base64url.test.js.map +1 -1
  11. package/dist/native/coValue.js.map +1 -1
  12. package/dist/native/coValueCore.js +141 -149
  13. package/dist/native/coValueCore.js.map +1 -1
  14. package/dist/native/coValueState.js.map +1 -1
  15. package/dist/native/coValues/account.js +6 -6
  16. package/dist/native/coValues/account.js.map +1 -1
  17. package/dist/native/coValues/coList.js +2 -3
  18. package/dist/native/coValues/coList.js.map +1 -1
  19. package/dist/native/coValues/coMap.js +1 -1
  20. package/dist/native/coValues/coMap.js.map +1 -1
  21. package/dist/native/coValues/coStream.js +3 -5
  22. package/dist/native/coValues/coStream.js.map +1 -1
  23. package/dist/native/coValues/group.js +11 -11
  24. package/dist/native/coValues/group.js.map +1 -1
  25. package/dist/native/coreToCoValue.js +2 -2
  26. package/dist/native/coreToCoValue.js.map +1 -1
  27. package/dist/native/crypto/PureJSCrypto.js +4 -4
  28. package/dist/native/crypto/PureJSCrypto.js.map +1 -1
  29. package/dist/native/crypto/crypto.js.map +1 -1
  30. package/dist/native/exports.js +12 -12
  31. package/dist/native/exports.js.map +1 -1
  32. package/dist/native/ids.js.map +1 -1
  33. package/dist/native/jsonStringify.js.map +1 -1
  34. package/dist/native/localNode.js +6 -8
  35. package/dist/native/localNode.js.map +1 -1
  36. package/dist/native/permissions.js +4 -7
  37. package/dist/native/permissions.js.map +1 -1
  38. package/dist/native/priority.js.map +1 -1
  39. package/dist/native/storage/FileSystem.js.map +1 -1
  40. package/dist/native/storage/chunksAndKnownStates.js +2 -4
  41. package/dist/native/storage/chunksAndKnownStates.js.map +1 -1
  42. package/dist/native/storage/index.js +7 -16
  43. package/dist/native/storage/index.js.map +1 -1
  44. package/dist/native/streamUtils.js.map +1 -1
  45. package/dist/native/sync.js +6 -8
  46. package/dist/native/sync.js.map +1 -1
  47. package/dist/native/typeUtils/accountOrAgentIDfromSessionID.js.map +1 -1
  48. package/dist/native/typeUtils/expectGroup.js.map +1 -1
  49. package/dist/native/typeUtils/isAccountID.js.map +1 -1
  50. package/dist/native/typeUtils/isCoValue.js +1 -1
  51. package/dist/native/typeUtils/isCoValue.js.map +1 -1
  52. package/dist/web/PeerKnownStates.js +1 -1
  53. package/dist/web/PeerKnownStates.js.map +1 -1
  54. package/dist/web/PeerState.js +4 -1
  55. package/dist/web/PeerState.js.map +1 -1
  56. package/dist/web/PriorityBasedMessageQueue.js +1 -10
  57. package/dist/web/PriorityBasedMessageQueue.js.map +1 -1
  58. package/dist/web/base64url.js.map +1 -1
  59. package/dist/web/base64url.test.js +1 -1
  60. package/dist/web/base64url.test.js.map +1 -1
  61. package/dist/web/coValue.js.map +1 -1
  62. package/dist/web/coValueCore.js +141 -149
  63. package/dist/web/coValueCore.js.map +1 -1
  64. package/dist/web/coValueState.js.map +1 -1
  65. package/dist/web/coValues/account.js +6 -6
  66. package/dist/web/coValues/account.js.map +1 -1
  67. package/dist/web/coValues/coList.js +2 -3
  68. package/dist/web/coValues/coList.js.map +1 -1
  69. package/dist/web/coValues/coMap.js +1 -1
  70. package/dist/web/coValues/coMap.js.map +1 -1
  71. package/dist/web/coValues/coStream.js +3 -5
  72. package/dist/web/coValues/coStream.js.map +1 -1
  73. package/dist/web/coValues/group.js +11 -11
  74. package/dist/web/coValues/group.js.map +1 -1
  75. package/dist/web/coreToCoValue.js +2 -2
  76. package/dist/web/coreToCoValue.js.map +1 -1
  77. package/dist/web/crypto/PureJSCrypto.js +4 -4
  78. package/dist/web/crypto/PureJSCrypto.js.map +1 -1
  79. package/dist/web/crypto/WasmCrypto.js +5 -5
  80. package/dist/web/crypto/WasmCrypto.js.map +1 -1
  81. package/dist/web/crypto/crypto.js.map +1 -1
  82. package/dist/web/exports.js +12 -12
  83. package/dist/web/exports.js.map +1 -1
  84. package/dist/web/ids.js.map +1 -1
  85. package/dist/web/jsonStringify.js.map +1 -1
  86. package/dist/web/localNode.js +6 -8
  87. package/dist/web/localNode.js.map +1 -1
  88. package/dist/web/permissions.js +4 -7
  89. package/dist/web/permissions.js.map +1 -1
  90. package/dist/web/priority.js.map +1 -1
  91. package/dist/web/storage/FileSystem.js.map +1 -1
  92. package/dist/web/storage/chunksAndKnownStates.js +2 -4
  93. package/dist/web/storage/chunksAndKnownStates.js.map +1 -1
  94. package/dist/web/storage/index.js +7 -16
  95. package/dist/web/storage/index.js.map +1 -1
  96. package/dist/web/streamUtils.js.map +1 -1
  97. package/dist/web/sync.js +6 -8
  98. package/dist/web/sync.js.map +1 -1
  99. package/dist/web/typeUtils/accountOrAgentIDfromSessionID.js.map +1 -1
  100. package/dist/web/typeUtils/expectGroup.js.map +1 -1
  101. package/dist/web/typeUtils/isAccountID.js.map +1 -1
  102. package/dist/web/typeUtils/isCoValue.js +1 -1
  103. package/dist/web/typeUtils/isCoValue.js.map +1 -1
  104. package/package.json +4 -14
  105. package/src/PeerKnownStates.ts +91 -89
  106. package/src/PeerState.ts +72 -69
  107. package/src/PriorityBasedMessageQueue.ts +42 -49
  108. package/src/base64url.test.ts +24 -24
  109. package/src/base64url.ts +44 -45
  110. package/src/coValue.ts +45 -45
  111. package/src/coValueCore.ts +746 -785
  112. package/src/coValueState.ts +82 -72
  113. package/src/coValues/account.ts +143 -150
  114. package/src/coValues/coList.ts +520 -522
  115. package/src/coValues/coMap.ts +283 -285
  116. package/src/coValues/coStream.ts +320 -324
  117. package/src/coValues/group.ts +306 -305
  118. package/src/coreToCoValue.ts +28 -31
  119. package/src/crypto/PureJSCrypto.ts +188 -194
  120. package/src/crypto/WasmCrypto.ts +236 -254
  121. package/src/crypto/crypto.ts +302 -309
  122. package/src/exports.ts +116 -116
  123. package/src/ids.ts +9 -9
  124. package/src/jsonStringify.ts +46 -46
  125. package/src/jsonValue.ts +24 -10
  126. package/src/localNode.ts +635 -660
  127. package/src/media.ts +3 -3
  128. package/src/permissions.ts +272 -278
  129. package/src/priority.ts +21 -19
  130. package/src/storage/FileSystem.ts +91 -99
  131. package/src/storage/chunksAndKnownStates.ts +110 -115
  132. package/src/storage/index.ts +466 -497
  133. package/src/streamUtils.ts +60 -60
  134. package/src/sync.ts +593 -615
  135. package/src/tests/PeerKnownStates.test.ts +38 -34
  136. package/src/tests/PeerState.test.ts +101 -64
  137. package/src/tests/PriorityBasedMessageQueue.test.ts +91 -91
  138. package/src/tests/account.test.ts +59 -59
  139. package/src/tests/coList.test.ts +65 -65
  140. package/src/tests/coMap.test.ts +137 -137
  141. package/src/tests/coStream.test.ts +254 -257
  142. package/src/tests/coValueCore.test.ts +153 -156
  143. package/src/tests/crypto.test.ts +136 -144
  144. package/src/tests/cryptoImpl.test.ts +205 -197
  145. package/src/tests/group.test.ts +24 -24
  146. package/src/tests/permissions.test.ts +1306 -1371
  147. package/src/tests/priority.test.ts +65 -82
  148. package/src/tests/sync.test.ts +1300 -1291
  149. package/src/tests/testUtils.ts +52 -53
  150. package/src/typeUtils/accountOrAgentIDfromSessionID.ts +4 -4
  151. package/src/typeUtils/expectGroup.ts +9 -9
  152. package/src/typeUtils/isAccountID.ts +1 -1
  153. package/src/typeUtils/isCoValue.ts +9 -9
  154. package/tsconfig.json +4 -6
  155. package/tsconfig.native.json +9 -11
  156. package/tsconfig.web.json +4 -10
  157. package/.eslintrc.cjs +0 -25
  158. package/.prettierrc.js +0 -9
@@ -1,104 +1,87 @@
1
- import { expect, test, describe } from "vitest";
1
+ import { describe, expect, test } from "vitest";
2
+ import { WasmCrypto } from "../crypto/WasmCrypto.js";
2
3
  import { LocalNode } from "../localNode.js";
4
+ import { CO_VALUE_PRIORITY, getPriorityFromHeader } from "../priority.js";
3
5
  import { randomAnonymousAccountAndSessionID } from "./testUtils.js";
4
- import { getPriorityFromHeader, CO_VALUE_PRIORITY } from "../priority.js";
5
- import { WasmCrypto } from "../crypto/WasmCrypto.js";
6
6
 
7
7
  const Crypto = await WasmCrypto.create();
8
8
 
9
9
  describe("getPriorityFromHeader", () => {
10
- test("returns MEDIUM priority for boolean or undefined headers", () => {
11
- expect(getPriorityFromHeader(true)).toEqual(CO_VALUE_PRIORITY.MEDIUM);
12
- expect(getPriorityFromHeader(false)).toEqual(CO_VALUE_PRIORITY.MEDIUM);
13
- expect(getPriorityFromHeader(undefined)).toEqual(
14
- CO_VALUE_PRIORITY.MEDIUM,
15
- );
16
- });
17
-
18
- test("returns MEDIUM priority for costream type", () => {
19
- const node = new LocalNode(
20
- ...randomAnonymousAccountAndSessionID(),
21
- Crypto,
22
- );
23
- const costream = node.createCoValue({
24
- type: "costream",
25
- ruleset: { type: "unsafeAllowAll" },
26
- meta: null,
27
- ...Crypto.createdNowUnique(),
28
- });
10
+ test("returns MEDIUM priority for boolean or undefined headers", () => {
11
+ expect(getPriorityFromHeader(true)).toEqual(CO_VALUE_PRIORITY.MEDIUM);
12
+ expect(getPriorityFromHeader(false)).toEqual(CO_VALUE_PRIORITY.MEDIUM);
13
+ expect(getPriorityFromHeader(undefined)).toEqual(CO_VALUE_PRIORITY.MEDIUM);
14
+ });
29
15
 
30
- expect(getPriorityFromHeader(costream.header)).toEqual(
31
- CO_VALUE_PRIORITY.MEDIUM,
32
- );
16
+ test("returns MEDIUM priority for costream type", () => {
17
+ const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
18
+ const costream = node.createCoValue({
19
+ type: "costream",
20
+ ruleset: { type: "unsafeAllowAll" },
21
+ meta: null,
22
+ ...Crypto.createdNowUnique(),
33
23
  });
34
24
 
35
- test("returns LOW priority for binary costream type", () => {
36
- const node = new LocalNode(
37
- ...randomAnonymousAccountAndSessionID(),
38
- Crypto,
39
- );
40
- const costream = node.createCoValue({
41
- type: "costream",
42
- ruleset: { type: "unsafeAllowAll" },
43
- meta: { type: "binary" },
44
- ...Crypto.createdNowUnique(),
45
- });
25
+ expect(getPriorityFromHeader(costream.header)).toEqual(
26
+ CO_VALUE_PRIORITY.MEDIUM,
27
+ );
28
+ });
46
29
 
47
- expect(getPriorityFromHeader(costream.header)).toEqual(
48
- CO_VALUE_PRIORITY.LOW,
49
- );
30
+ test("returns LOW priority for binary costream type", () => {
31
+ const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
32
+ const costream = node.createCoValue({
33
+ type: "costream",
34
+ ruleset: { type: "unsafeAllowAll" },
35
+ meta: { type: "binary" },
36
+ ...Crypto.createdNowUnique(),
50
37
  });
51
38
 
52
- test("returns HIGH priority for account type", async () => {
53
- const node = new LocalNode(
54
- ...randomAnonymousAccountAndSessionID(),
55
- Crypto,
56
- );
39
+ expect(getPriorityFromHeader(costream.header)).toEqual(
40
+ CO_VALUE_PRIORITY.LOW,
41
+ );
42
+ });
57
43
 
58
- const account = node.createAccount(node.crypto.newRandomAgentSecret());
44
+ test("returns HIGH priority for account type", async () => {
45
+ const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
59
46
 
60
- expect(getPriorityFromHeader(account.core.header)).toEqual(
61
- CO_VALUE_PRIORITY.HIGH,
62
- );
63
- });
47
+ const account = node.createAccount(node.crypto.newRandomAgentSecret());
64
48
 
65
- test("returns HIGH priority for group type", () => {
66
- const node = new LocalNode(
67
- ...randomAnonymousAccountAndSessionID(),
68
- Crypto,
69
- );
70
- const group = node.createGroup();
49
+ expect(getPriorityFromHeader(account.core.header)).toEqual(
50
+ CO_VALUE_PRIORITY.HIGH,
51
+ );
52
+ });
71
53
 
72
- expect(getPriorityFromHeader(group.core.header)).toEqual(
73
- CO_VALUE_PRIORITY.HIGH,
74
- );
75
- });
54
+ test("returns HIGH priority for group type", () => {
55
+ const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
56
+ const group = node.createGroup();
76
57
 
77
- test("returns MEDIUM priority for other types", () => {
78
- const node = new LocalNode(
79
- ...randomAnonymousAccountAndSessionID(),
80
- Crypto,
81
- );
58
+ expect(getPriorityFromHeader(group.core.header)).toEqual(
59
+ CO_VALUE_PRIORITY.HIGH,
60
+ );
61
+ });
82
62
 
83
- const comap = node.createCoValue({
84
- type: "comap",
85
- ruleset: { type: "unsafeAllowAll" },
86
- meta: null,
87
- ...Crypto.createdNowUnique(),
88
- });
63
+ test("returns MEDIUM priority for other types", () => {
64
+ const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
89
65
 
90
- const colist = node.createCoValue({
91
- type: "colist",
92
- ruleset: { type: "unsafeAllowAll" },
93
- meta: null,
94
- ...Crypto.createdNowUnique(),
95
- });
66
+ const comap = node.createCoValue({
67
+ type: "comap",
68
+ ruleset: { type: "unsafeAllowAll" },
69
+ meta: null,
70
+ ...Crypto.createdNowUnique(),
71
+ });
96
72
 
97
- expect(getPriorityFromHeader(comap.header)).toEqual(
98
- CO_VALUE_PRIORITY.MEDIUM,
99
- );
100
- expect(getPriorityFromHeader(colist.header)).toEqual(
101
- CO_VALUE_PRIORITY.MEDIUM,
102
- );
73
+ const colist = node.createCoValue({
74
+ type: "colist",
75
+ ruleset: { type: "unsafeAllowAll" },
76
+ meta: null,
77
+ ...Crypto.createdNowUnique(),
103
78
  });
79
+
80
+ expect(getPriorityFromHeader(comap.header)).toEqual(
81
+ CO_VALUE_PRIORITY.MEDIUM,
82
+ );
83
+ expect(getPriorityFromHeader(colist.header)).toEqual(
84
+ CO_VALUE_PRIORITY.MEDIUM,
85
+ );
86
+ });
104
87
  });