cojson 0.3.6 → 0.4.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 (81) hide show
  1. package/dist/coValue.d.ts +7 -12
  2. package/dist/coValue.js.map +1 -1
  3. package/dist/coValueCore.d.ts +9 -4
  4. package/dist/coValueCore.js +69 -33
  5. package/dist/coValueCore.js.map +1 -1
  6. package/dist/coValues/account.d.ts +62 -0
  7. package/dist/{account.js → coValues/account.js} +19 -11
  8. package/dist/coValues/account.js.map +1 -0
  9. package/dist/coValues/coList.d.ts +19 -19
  10. package/dist/coValues/coList.js.map +1 -1
  11. package/dist/coValues/coMap.d.ts +31 -23
  12. package/dist/coValues/coMap.js +4 -6
  13. package/dist/coValues/coMap.js.map +1 -1
  14. package/dist/coValues/coStream.d.ts +19 -19
  15. package/dist/coValues/coStream.js.map +1 -1
  16. package/dist/{group.d.ts → coValues/group.d.ts} +27 -38
  17. package/dist/{group.js → coValues/group.js} +69 -73
  18. package/dist/coValues/group.js.map +1 -0
  19. package/dist/ids.d.ts +1 -1
  20. package/dist/index.d.ts +15 -11
  21. package/dist/index.js +10 -5
  22. package/dist/index.js.map +1 -1
  23. package/dist/localNode.d.ts +20 -7
  24. package/dist/localNode.js +74 -39
  25. package/dist/localNode.js.map +1 -1
  26. package/dist/media.d.ts +1 -1
  27. package/dist/permissions.d.ts +1 -1
  28. package/dist/permissions.js +43 -22
  29. package/dist/permissions.js.map +1 -1
  30. package/dist/queriedCoValues/queriedAccount.d.ts +13 -0
  31. package/dist/queriedCoValues/queriedAccount.js +24 -0
  32. package/dist/queriedCoValues/queriedAccount.js.map +1 -0
  33. package/dist/queriedCoValues/queriedCoList.d.ts +10 -10
  34. package/dist/queriedCoValues/queriedCoList.js +11 -15
  35. package/dist/queriedCoValues/queriedCoList.js.map +1 -1
  36. package/dist/queriedCoValues/queriedCoMap.d.ts +14 -21
  37. package/dist/queriedCoValues/queriedCoMap.js +27 -28
  38. package/dist/queriedCoValues/queriedCoMap.js.map +1 -1
  39. package/dist/queriedCoValues/queriedCoStream.d.ts +9 -9
  40. package/dist/queriedCoValues/queriedCoStream.js +44 -20
  41. package/dist/queriedCoValues/queriedCoStream.js.map +1 -1
  42. package/dist/queriedCoValues/queriedGroup.d.ts +29 -0
  43. package/dist/queriedCoValues/queriedGroup.js +54 -0
  44. package/dist/queriedCoValues/queriedGroup.js.map +1 -0
  45. package/dist/queries.d.ts +40 -9
  46. package/dist/queries.js +104 -39
  47. package/dist/queries.js.map +1 -1
  48. package/dist/sync.js +1 -0
  49. package/dist/sync.js.map +1 -1
  50. package/dist/tests/testUtils.d.ts +15 -7
  51. package/dist/tests/testUtils.js +16 -17
  52. package/dist/tests/testUtils.js.map +1 -1
  53. package/package.json +2 -2
  54. package/src/coValue.ts +12 -31
  55. package/src/coValueCore.ts +100 -40
  56. package/src/{account.ts → coValues/account.ts} +46 -27
  57. package/src/coValues/coList.ts +24 -28
  58. package/src/coValues/coMap.ts +42 -68
  59. package/src/coValues/coStream.ts +20 -26
  60. package/src/{group.ts → coValues/group.ts} +121 -141
  61. package/src/ids.ts +1 -1
  62. package/src/index.ts +25 -10
  63. package/src/localNode.ts +180 -77
  64. package/src/media.ts +1 -1
  65. package/src/permissions.ts +67 -36
  66. package/src/queriedCoValues/queriedAccount.ts +40 -0
  67. package/src/queriedCoValues/queriedCoList.ts +22 -30
  68. package/src/queriedCoValues/queriedCoMap.ts +60 -72
  69. package/src/queriedCoValues/queriedCoStream.ts +67 -37
  70. package/src/queriedCoValues/queriedGroup.ts +90 -0
  71. package/src/queries.ts +181 -60
  72. package/src/sync.ts +1 -0
  73. package/src/tests/account.test.ts +14 -9
  74. package/src/tests/coValueCore.test.ts +2 -2
  75. package/src/tests/permissions.test.ts +351 -242
  76. package/src/tests/queries.test.ts +98 -79
  77. package/src/tests/sync.test.ts +11 -11
  78. package/src/tests/testUtils.ts +16 -18
  79. package/dist/account.d.ts +0 -58
  80. package/dist/account.js.map +0 -1
  81. package/dist/group.js.map +0 -1
package/dist/queries.js CHANGED
@@ -1,22 +1,67 @@
1
1
  import { CoMap } from "./coValues/coMap.js";
2
2
  import { CoStream } from "./coValues/coStream.js";
3
3
  import { CoList } from "./coValues/coList.js";
4
+ import { Account } from "./coValues/account.js";
4
5
  import { QueriedCoMapBase, } from "./queriedCoValues/queriedCoMap.js";
5
6
  import { QueriedCoList } from "./queriedCoValues/queriedCoList.js";
6
7
  import { QueriedCoStream } from "./queriedCoValues/queriedCoStream.js";
8
+ import { Group } from "./coValues/group.js";
9
+ import { QueriedAccount } from "./queriedCoValues/queriedAccount.js";
10
+ import { QueriedGroup } from "./queriedCoValues/queriedGroup.js";
7
11
  export class QueryContext {
8
12
  constructor(node, onUpdate) {
9
13
  this.values = {};
14
+ this.extensions = {};
10
15
  this.node = node;
11
16
  this.onUpdate = onUpdate;
12
17
  }
13
- getChildLastQueriedOrSubscribe(valueID) {
18
+ query(valueID, alsoRender) {
14
19
  let value = this.values[valueID];
15
20
  if (!value) {
21
+ const render = () => {
22
+ let newQueried;
23
+ const lastUpdate = value.lastUpdate;
24
+ if (lastUpdate instanceof CoMap) {
25
+ if (lastUpdate instanceof Account) {
26
+ newQueried = new QueriedAccount(lastUpdate, this);
27
+ }
28
+ else if (lastUpdate instanceof Group) {
29
+ newQueried = new QueriedGroup(lastUpdate, this);
30
+ }
31
+ else {
32
+ newQueried = QueriedCoMapBase.newWithKVPairs(lastUpdate, this);
33
+ }
34
+ }
35
+ else if (lastUpdate instanceof CoList) {
36
+ newQueried = new QueriedCoList(lastUpdate, this);
37
+ }
38
+ else if (lastUpdate instanceof CoStream) {
39
+ if (lastUpdate.meta?.type === "binary") {
40
+ // Querying binary string not yet implemented
41
+ }
42
+ else {
43
+ newQueried = new QueriedCoStream(lastUpdate, this);
44
+ }
45
+ }
46
+ // console.log(
47
+ // "Rendered ",
48
+ // valueID,
49
+ // lastUpdate?.constructor.name,
50
+ // newQueried
51
+ // );
52
+ value.lastQueried = newQueried;
53
+ for (const alsoRenderID of alsoRender) {
54
+ // console.log("Also rendering", alsoRenderID);
55
+ this.values[alsoRenderID]?.render();
56
+ }
57
+ };
16
58
  value = {
17
59
  lastQueried: undefined,
18
- unsubscribe: query(valueID, this.node, (childQueried) => {
19
- value.lastQueried = childQueried;
60
+ lastUpdate: undefined,
61
+ render,
62
+ unsubscribe: this.node.subscribe(valueID, (valueUpdate) => {
63
+ value.lastUpdate = valueUpdate;
64
+ value.render();
20
65
  this.onUpdate();
21
66
  }),
22
67
  };
@@ -24,52 +69,72 @@ export class QueryContext {
24
69
  }
25
70
  return value.lastQueried;
26
71
  }
27
- resolveAccount(accountID) {
28
- return this.getChildLastQueriedOrSubscribe(accountID);
29
- }
30
- resolveValue(value) {
31
- return (typeof value === "string" && value.startsWith("co_")
32
- ? this.getChildLastQueriedOrSubscribe(value)
33
- : value);
72
+ queryIfCoID(value, alsoRender) {
73
+ if (typeof value === "string" && value.startsWith("co_")) {
74
+ return this.query(value, alsoRender);
75
+ }
76
+ else {
77
+ return value;
78
+ }
34
79
  }
35
- cleanup() {
36
- for (const child of Object.values(this.values)) {
37
- child.unsubscribe();
80
+ valueOrSubQueryPropertyDescriptor(value, alsoRender) {
81
+ if (typeof value === "string" && value.startsWith("co_")) {
82
+ // TODO: when we track render dirty status, we can actually return the queried value without a getter if it's up to date
83
+ return {
84
+ get: () => this.query(value, alsoRender),
85
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
86
+ };
87
+ }
88
+ else {
89
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
90
+ return { value: value };
38
91
  }
39
92
  }
40
- }
41
- export function query(id, node, callback, parentContext) {
42
- console.log("querying", id);
43
- const context = parentContext || new QueryContext(node, onUpdate);
44
- const unsubscribe = node.subscribe(id, (update) => {
45
- lastRootValue = update;
46
- onUpdate();
47
- });
48
- let lastRootValue;
49
- function onUpdate() {
50
- const rootValue = lastRootValue;
51
- if (rootValue === undefined) {
52
- return undefined;
93
+ defineSubqueryPropertiesIn(obj, subqueryProps, alsoRender) {
94
+ for (const [key, descriptor] of Object.entries(subqueryProps)) {
95
+ Object.defineProperty(obj, key, {
96
+ ...this.valueOrSubQueryPropertyDescriptor(descriptor.value, alsoRender),
97
+ enumerable: descriptor.enumerable,
98
+ });
53
99
  }
54
- if (rootValue instanceof CoMap) {
55
- callback(QueriedCoMapBase.newWithKVPairs(rootValue, context));
100
+ return obj;
101
+ }
102
+ getOrCreateExtension(valueID, extension) {
103
+ const id = `${valueID}_${extension.id}`;
104
+ let ext = this.extensions[id];
105
+ if (!ext) {
106
+ ext = {
107
+ lastOutput: undefined,
108
+ unsubscribe: extension.query(this.node
109
+ .expectCoValueLoaded(valueID)
110
+ .getCurrentContent(), this, (output) => {
111
+ ext.lastOutput = output;
112
+ this.values[valueID]?.render();
113
+ this.onUpdate();
114
+ }),
115
+ };
116
+ this.extensions[id] = ext;
56
117
  }
57
- else if (rootValue instanceof CoList) {
58
- callback(new QueriedCoList(rootValue, context));
118
+ return ext.lastOutput;
119
+ }
120
+ cleanup() {
121
+ for (const child of Object.values(this.values)) {
122
+ child.unsubscribe?.();
59
123
  }
60
- else if (rootValue instanceof CoStream) {
61
- if (rootValue.meta?.type === "binary") {
62
- // Querying binary string not yet implemented
63
- return {};
64
- }
65
- else {
66
- callback(new QueriedCoStream(rootValue, context));
67
- }
124
+ for (const extension of Object.values(this.extensions)) {
125
+ extension.unsubscribe();
68
126
  }
69
127
  }
128
+ }
129
+ export function query(id, node, callback) {
130
+ // console.log("querying", id);
131
+ const context = new QueryContext(node, () => {
132
+ const rootQueried = context.values[id]?.lastQueried;
133
+ callback(rootQueried);
134
+ });
135
+ context.query(id, []);
70
136
  const cleanup = function cleanup() {
71
137
  context.cleanup();
72
- unsubscribe();
73
138
  };
74
139
  cleanup[Symbol.dispose] = cleanup;
75
140
  return cleanup;
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"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"}
package/dist/sync.js CHANGED
@@ -136,6 +136,7 @@ export class SyncManager {
136
136
  outgoing: peer.outgoing.getWriter(),
137
137
  toldKnownState: new Set(),
138
138
  role: peer.role,
139
+ delayOnError: peer.delayOnError,
139
140
  };
140
141
  this.peers[peer.id] = peerState;
141
142
  if (peer.role === "server") {
package/dist/sync.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,36 @@
1
1
  import { LocalNode } from "../localNode.js";
2
- import { AnonymousControlledAccount } from "../account.js";
2
+ import { AnonymousControlledAccount } from "../coValues/account.js";
3
3
  import { SessionID } from "../ids.js";
4
4
  export declare function randomAnonymousAccountAndSessionID(): [AnonymousControlledAccount, SessionID];
5
5
  export declare function newGroup(): {
6
6
  node: LocalNode;
7
- group: import("../coValueCore.js").CoValueCore;
7
+ groupCore: import("../coValueCore.js").CoValueCore;
8
8
  admin: AnonymousControlledAccount;
9
9
  };
10
10
  export declare function groupWithTwoAdmins(): {
11
- group: import("../coValueCore.js").CoValueCore;
11
+ groupCore: import("../coValueCore.js").CoValueCore;
12
12
  admin: AnonymousControlledAccount;
13
- otherAdmin: import("../account.js").ControlledAccount;
13
+ otherAdmin: import("../coValues/account.js").ControlledAccount<import("../coValues/account.js").Profile<import("../coValues/account.js").ProfileShape, import("../coValues/account.js").ProfileMeta>, import("../index.js").CoMap<{
14
+ [key: string]: import("../jsonValue.js").JsonValue | undefined;
15
+ }, import("../jsonValue.js").JsonObject | null>, import("../coValues/account.js").AccountMeta>;
14
16
  node: LocalNode;
15
17
  };
16
18
  export declare function newGroupHighLevel(): {
17
19
  admin: AnonymousControlledAccount;
18
20
  node: LocalNode;
19
- group: import("../group.js").Group;
21
+ group: import("../coValues/group.js").Group<import("../coValues/account.js").Profile<import("../coValues/account.js").ProfileShape, import("../coValues/account.js").ProfileMeta>, import("../index.js").CoMap<{
22
+ [key: string]: import("../jsonValue.js").JsonValue | undefined;
23
+ }, import("../jsonValue.js").JsonObject | null>, import("../jsonValue.js").JsonObject | null>;
20
24
  };
21
25
  export declare function groupWithTwoAdminsHighLevel(): {
22
26
  admin: AnonymousControlledAccount;
23
27
  node: LocalNode;
24
- group: import("../group.js").Group;
25
- otherAdmin: import("../account.js").ControlledAccount;
28
+ group: import("../coValues/group.js").Group<import("../coValues/account.js").Profile<import("../coValues/account.js").ProfileShape, import("../coValues/account.js").ProfileMeta>, import("../index.js").CoMap<{
29
+ [key: string]: import("../jsonValue.js").JsonValue | undefined;
30
+ }, import("../jsonValue.js").JsonObject | null>, import("../jsonValue.js").JsonObject | null>;
31
+ otherAdmin: import("../coValues/account.js").ControlledAccount<import("../coValues/account.js").Profile<import("../coValues/account.js").ProfileShape, import("../coValues/account.js").ProfileMeta>, import("../index.js").CoMap<{
32
+ [key: string]: import("../jsonValue.js").JsonValue | undefined;
33
+ }, import("../jsonValue.js").JsonObject | null>, import("../coValues/account.js").AccountMeta>;
26
34
  };
27
35
  export declare function shouldNotResolve<T>(promise: Promise<T>, ops: {
28
36
  timeout: number;
@@ -1,8 +1,8 @@
1
1
  import { createdNowUnique, getAgentID, newRandomAgentSecret } from "../crypto.js";
2
2
  import { newRandomSessionID } from "../coValueCore.js";
3
3
  import { LocalNode } from "../localNode.js";
4
- import { expectGroupContent } from "../group.js";
5
- import { AnonymousControlledAccount } from "../account.js";
4
+ import { expectGroup } from "../coValues/group.js";
5
+ import { AnonymousControlledAccount } from "../coValues/account.js";
6
6
  // @ts-ignore
7
7
  import { expect } from "bun:test";
8
8
  export function randomAnonymousAccountAndSessionID() {
@@ -13,33 +13,32 @@ export function randomAnonymousAccountAndSessionID() {
13
13
  export function newGroup() {
14
14
  const [admin, sessionID] = randomAnonymousAccountAndSessionID();
15
15
  const node = new LocalNode(admin, sessionID);
16
- const group = node.createCoValue({
16
+ const groupCore = node.createCoValue({
17
17
  type: "comap",
18
18
  ruleset: { type: "group", initialAdmin: admin.id },
19
19
  meta: null,
20
20
  ...createdNowUnique(),
21
21
  });
22
- const groupContent = expectGroupContent(group.getCurrentContent());
23
- groupContent.mutate((editable) => {
22
+ const group = expectGroup(groupCore.getCurrentContent());
23
+ group.mutate((editable) => {
24
24
  editable.set(admin.id, "admin", "trusting");
25
25
  expect(editable.get(admin.id)).toEqual("admin");
26
26
  });
27
- return { node, group, admin };
27
+ return { node, groupCore, admin };
28
28
  }
29
29
  export function groupWithTwoAdmins() {
30
- const { group, admin, node } = newGroup();
30
+ const { groupCore, admin, node } = newGroup();
31
31
  const otherAdmin = node.createAccount("otherAdmin");
32
- let content = expectGroupContent(group.getCurrentContent());
33
- content.mutate((editable) => {
34
- editable.set(otherAdmin.id, "admin", "trusting");
35
- expect(editable.get(otherAdmin.id)).toEqual("admin");
32
+ let group = expectGroup(groupCore.getCurrentContent());
33
+ group = group.mutate((mutable) => {
34
+ mutable.set(otherAdmin.id, "admin", "trusting");
35
+ expect(mutable.get(otherAdmin.id)).toEqual("admin");
36
36
  });
37
- content = expectGroupContent(group.getCurrentContent());
38
- if (content.type !== "comap") {
37
+ if (group.type !== "comap") {
39
38
  throw new Error("Expected map");
40
39
  }
41
- expect(content.get(otherAdmin.id)).toEqual("admin");
42
- return { group, admin, otherAdmin, node };
40
+ expect(group.get(otherAdmin.id)).toEqual("admin");
41
+ return { groupCore, admin, otherAdmin, node };
43
42
  }
44
43
  export function newGroupHighLevel() {
45
44
  const [admin, sessionID] = randomAnonymousAccountAndSessionID();
@@ -48,9 +47,9 @@ export function newGroupHighLevel() {
48
47
  return { admin, node, group };
49
48
  }
50
49
  export function groupWithTwoAdminsHighLevel() {
51
- const { admin, node, group } = newGroupHighLevel();
50
+ let { admin, node, group } = newGroupHighLevel();
52
51
  const otherAdmin = node.createAccount("otherAdmin");
53
- group.addMember(otherAdmin.id, "admin");
52
+ group = group.addMember(otherAdmin.id, "admin");
54
53
  return { admin, node, group, otherAdmin };
55
54
  }
56
55
  export function shouldNotResolve(promise, ops) {
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../src/tests/testUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../src/tests/testUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
7
7
  "license": "MIT",
8
- "version": "0.3.6",
8
+ "version": "0.4.0",
9
9
  "devDependencies": {
10
10
  "@types/jest": "^29.5.3",
11
11
  "@typescript-eslint/eslint-plugin": "^6.2.1",
@@ -51,5 +51,5 @@
51
51
  "/dist/"
52
52
  ]
53
53
  },
54
- "gitHead": "33c27053293b4801b968c61d5c4c989f93a67d13"
54
+ "gitHead": "b2c8d8c8557c0324ee1c10d0f47441b624647f85"
55
55
  }
package/src/coValue.ts CHANGED
@@ -8,7 +8,8 @@ import {
8
8
  } from "./coValues/coStream.js";
9
9
  import { CoList } from "./coValues/coList.js";
10
10
  import { CoValueCore } from "./coValueCore.js";
11
- import { Group } from "./group.js";
11
+ import { Group } from "./coValues/group.js";
12
+ import { Account, Profile } from "./index.js";
12
13
 
13
14
  export type CoID<T extends CoValue> = RawCoID & {
14
15
  readonly __type: T;
@@ -37,55 +38,35 @@ export interface CoValue {
37
38
  subscribe(listener: (coValue: this) => void): () => void;
38
39
  }
39
40
 
40
- export type AnyCoMap = CoMap<
41
- { [key: string]: JsonValue | CoValue | undefined },
42
- JsonObject | null
43
- >;
41
+ export type AnyCoValue = CoMap | Group | Account | Profile | CoList | CoStream | BinaryCoStream;
44
42
 
45
- export type AnyCoList = CoList<JsonValue | CoValue, JsonObject | null>;
46
-
47
- export type AnyCoStream = CoStream<JsonValue | CoValue, JsonObject | null>;
48
-
49
- export type AnyBinaryCoStream = BinaryCoStream<BinaryCoStreamMeta>;
50
-
51
-
52
- export type AnyCoValue =
53
- | AnyCoMap
54
- | AnyCoList
55
- | AnyCoStream
56
- | AnyBinaryCoStream
57
-
58
- export function expectMap(
59
- content: CoValue
60
- ): AnyCoMap {
43
+ export function expectMap(content: CoValue): CoMap {
61
44
  if (content.type !== "comap") {
62
45
  throw new Error("Expected map");
63
46
  }
64
47
 
65
- return content as AnyCoMap;
48
+ return content as CoMap;
66
49
  }
67
50
 
68
- export function expectList(
69
- content: CoValue
70
- ): AnyCoList {
51
+ export function expectList(content: CoValue): CoList {
71
52
  if (content.type !== "colist") {
72
53
  throw new Error("Expected list");
73
54
  }
74
55
 
75
- return content as AnyCoList;
56
+ return content as CoList;
76
57
  }
77
58
 
78
- export function expectStream(
79
- content: CoValue
80
- ): AnyCoStream {
59
+ export function expectStream(content: CoValue): CoStream {
81
60
  if (content.type !== "costream") {
82
61
  throw new Error("Expected stream");
83
62
  }
84
63
 
85
- return content as AnyCoStream;
64
+ return content as CoStream;
86
65
  }
87
66
 
88
- export function isCoValue(value: JsonValue | CoValue | undefined) : value is CoValue {
67
+ export function isCoValue(
68
+ value: JsonValue | CoValue | undefined
69
+ ): value is CoValue {
89
70
  return (
90
71
  value instanceof CoMap ||
91
72
  value instanceof CoList ||