jazz-tools 0.7.0-alpha.2 → 0.7.0-alpha.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. package/.turbo/turbo-build.log +84 -9
  2. package/CHANGELOG.md +116 -0
  3. package/dist/coValues/account.js +66 -33
  4. package/dist/coValues/account.js.map +1 -1
  5. package/dist/coValues/coList.js +147 -97
  6. package/dist/coValues/coList.js.map +1 -1
  7. package/dist/coValues/coMap.js +151 -164
  8. package/dist/coValues/coMap.js.map +1 -1
  9. package/dist/coValues/coStream.js +176 -70
  10. package/dist/coValues/coStream.js.map +1 -1
  11. package/dist/coValues/extensions/imageDef.js +13 -8
  12. package/dist/coValues/extensions/imageDef.js.map +1 -1
  13. package/dist/coValues/group.js +13 -35
  14. package/dist/coValues/group.js.map +1 -1
  15. package/dist/coValues/interfaces.js +6 -3
  16. package/dist/coValues/interfaces.js.map +1 -1
  17. package/dist/implementation/refs.js +13 -10
  18. package/dist/implementation/refs.js.map +1 -1
  19. package/dist/implementation/schema.js +36 -1
  20. package/dist/implementation/schema.js.map +1 -1
  21. package/dist/index.js +4 -3
  22. package/dist/index.js.map +1 -1
  23. package/dist/tests/coList.test.js +5 -9
  24. package/dist/tests/coList.test.js.map +1 -1
  25. package/dist/tests/coMap.test.js +108 -38
  26. package/dist/tests/coMap.test.js.map +1 -1
  27. package/dist/tests/coStream.test.js +46 -51
  28. package/dist/tests/coStream.test.js.map +1 -1
  29. package/package.json +5 -4
  30. package/src/coValues/account.ts +98 -68
  31. package/src/coValues/coList.ts +188 -120
  32. package/src/coValues/coMap.ts +232 -276
  33. package/src/coValues/coStream.ts +265 -124
  34. package/src/coValues/extensions/imageDef.ts +13 -15
  35. package/src/coValues/group.ts +33 -80
  36. package/src/coValues/interfaces.ts +12 -10
  37. package/src/implementation/refs.ts +45 -18
  38. package/src/implementation/schema.ts +86 -31
  39. package/src/index.ts +10 -8
  40. package/src/tests/coList.test.ts +5 -9
  41. package/src/tests/coMap.test.ts +89 -53
  42. package/src/tests/coStream.test.ts +61 -66
@@ -1,105 +1,79 @@
1
1
  var _a;
2
2
  import { cojsonInternals } from "cojson";
3
- import { Account, CoValueBase, ValueRef, inspect } from "../internal.js";
4
- import { Schema } from "@effect/schema";
3
+ import { ItemsSym, Account, CoValueBase, Ref, inspect, co, InitValues, SchemaInit, isRefEncoded, } from "../internal.js";
4
+ import { encodeSync, decodeSync } from "@effect/schema/Schema";
5
5
  export class CoStream extends CoValueBase {
6
- get _encoding() {
7
- return this.constructor._encoding;
6
+ static Of(item) {
7
+ var _b, _c;
8
+ return _c = class CoStreamOf extends _a {
9
+ constructor() {
10
+ super(...arguments);
11
+ this[_b] = item;
12
+ }
13
+ },
14
+ _b = co.items,
15
+ _c;
16
+ }
17
+ get _schema() {
18
+ return this.constructor._schema;
8
19
  }
9
20
  get byMe() {
10
- return this.by[this._loadedAs.id];
21
+ return this[this._loadedAs.id];
11
22
  }
12
23
  get inCurrentSession() {
13
- return this.in[this._loadedAs.sessionID];
24
+ return this.perSession[this._loadedAs.sessionID];
14
25
  }
15
26
  constructor(init, options) {
16
27
  super();
17
- this.by = {};
18
- this.in = {};
19
- let raw;
20
28
  if ("fromRaw" in options) {
21
- raw = options.fromRaw;
22
- }
23
- else {
24
- const rawOwner = options.owner._raw;
25
- raw = rawOwner.createStream();
26
- }
27
- Object.defineProperties(this, {
28
- id: {
29
- value: raw.id,
30
- enumerable: false,
31
- },
32
- _raw: { value: raw, enumerable: false },
33
- });
34
- if (init !== undefined) {
35
- for (const item of init) {
36
- this.pushItem(item);
37
- }
38
- }
39
- this.updateEntries();
40
- }
41
- updateEntries() {
42
- for (const accountID of this._raw.accounts()) {
43
- Object.defineProperty(this.by, accountID, {
44
- get: () => {
45
- const rawEntry = this._raw.lastItemBy(accountID);
46
- if (!rawEntry)
47
- return;
48
- return entryFromRawEntry(this, rawEntry, this._loadedAs, accountID, this._encoding._item);
29
+ Object.defineProperties(this, {
30
+ id: {
31
+ value: options.fromRaw.id,
32
+ enumerable: false,
49
33
  },
50
- configurable: true,
51
- enumerable: true,
34
+ _raw: { value: options.fromRaw, enumerable: false },
52
35
  });
53
36
  }
54
- for (const sessionID of this._raw.sessions()) {
55
- Object.defineProperty(this.in, sessionID, {
56
- get: () => {
57
- const rawEntry = this._raw.lastItemIn(sessionID);
58
- if (!rawEntry)
59
- return;
60
- const by = cojsonInternals.accountOrAgentIDfromSessionID(sessionID);
61
- return entryFromRawEntry(this, rawEntry, this._loadedAs, cojsonInternals.isAccountID(by)
62
- ? by
63
- : undefined, this._encoding._item);
64
- },
65
- configurable: true,
66
- enumerable: true,
67
- });
37
+ else {
38
+ this[InitValues] = {
39
+ init,
40
+ owner: options.owner,
41
+ };
68
42
  }
43
+ return new Proxy(this, CoStreamProxyHandler);
69
44
  }
70
45
  push(...items) {
71
46
  for (const item of items) {
72
47
  this.pushItem(item);
73
48
  }
74
- this.updateEntries();
75
49
  }
76
50
  pushItem(item) {
77
- const itemDescriptor = this._encoding._item;
51
+ const itemDescriptor = this._schema[ItemsSym];
78
52
  if (itemDescriptor === "json") {
79
53
  this._raw.push(item);
80
54
  }
81
55
  else if ("encoded" in itemDescriptor) {
82
- this._raw.push(Schema.encodeSync(itemDescriptor.encoded)(item));
56
+ this._raw.push(encodeSync(itemDescriptor.encoded)(item));
83
57
  }
84
- else if ("ref" in itemDescriptor) {
58
+ else if (isRefEncoded(itemDescriptor)) {
85
59
  this._raw.push(item.id);
86
60
  }
87
61
  }
88
62
  toJSON() {
89
- const itemDescriptor = this._encoding._item;
63
+ const itemDescriptor = this._schema[ItemsSym];
90
64
  const mapper = itemDescriptor === "json"
91
65
  ? (v) => v
92
66
  : "encoded" in itemDescriptor
93
- ? Schema.encodeSync(itemDescriptor.encoded)
67
+ ? encodeSync(itemDescriptor.encoded)
94
68
  : (v) => v && v.id;
95
69
  return {
96
70
  id: this.id,
97
71
  _type: this._type,
98
- by: Object.fromEntries(Object.entries(this.by).map(([account, entry]) => [
72
+ ...Object.fromEntries(Object.entries(this).map(([account, entry]) => [
99
73
  account,
100
74
  mapper(entry.value),
101
75
  ])),
102
- in: Object.fromEntries(Object.entries(this.in).map(([session, entry]) => [
76
+ in: Object.fromEntries(Object.entries(this.perSession).map(([session, entry]) => [
103
77
  session,
104
78
  mapper(entry.value),
105
79
  ])),
@@ -108,9 +82,9 @@ export class CoStream extends CoValueBase {
108
82
  [inspect]() {
109
83
  return this.toJSON();
110
84
  }
111
- static encoding(def) {
112
- this._encoding || (this._encoding = {});
113
- Object.assign(this._encoding, def);
85
+ static schema(def) {
86
+ this._schema || (this._schema = {});
87
+ Object.assign(this._schema, def);
114
88
  }
115
89
  }
116
90
  _a = CoStream;
@@ -124,28 +98,160 @@ function entryFromRawEntry(accessFrom, rawEntry, loadedAs, accountID, itemField)
124
98
  return rawEntry.value;
125
99
  }
126
100
  else if ("encoded" in itemField) {
127
- return Schema.decodeSync(itemField.encoded)(rawEntry.value);
101
+ return decodeSync(itemField.encoded)(rawEntry.value);
128
102
  }
129
- else if ("ref" in itemField) {
103
+ else if (isRefEncoded(itemField)) {
130
104
  return this.ref?.accessFrom(accessFrom);
131
105
  }
106
+ else {
107
+ throw new Error("Invalid item field schema");
108
+ }
132
109
  },
133
110
  get ref() {
134
- if (itemField !== "json" && "ref" in itemField) {
111
+ if (itemField !== "json" && isRefEncoded(itemField)) {
135
112
  const rawId = rawEntry.value;
136
- return new ValueRef(rawId, loadedAs, itemField.ref());
113
+ return new Ref(rawId, loadedAs, itemField);
114
+ }
115
+ else {
116
+ return undefined;
137
117
  }
138
118
  },
139
119
  get by() {
140
120
  return (accountID &&
141
- new ValueRef(accountID, loadedAs, Account)?.accessFrom(accessFrom));
121
+ new Ref(accountID, loadedAs, Account)?.accessFrom(accessFrom));
142
122
  },
143
123
  madeAt: rawEntry.at,
144
124
  tx: rawEntry.tx,
145
125
  };
146
126
  }
127
+ function init(stream) {
128
+ const init = stream[InitValues];
129
+ if (!init)
130
+ return;
131
+ const raw = init.owner._raw.createStream();
132
+ Object.defineProperties(stream, {
133
+ id: {
134
+ value: raw.id,
135
+ enumerable: false,
136
+ },
137
+ _raw: { value: raw, enumerable: false },
138
+ });
139
+ if (init.init) {
140
+ stream.push(...init.init);
141
+ }
142
+ delete stream[InitValues];
143
+ }
144
+ export const CoStreamProxyHandler = {
145
+ get(target, key, receiver) {
146
+ if (typeof key === "string" && key.startsWith("co_")) {
147
+ const rawEntry = target._raw.lastItemBy(key);
148
+ if (!rawEntry)
149
+ return;
150
+ const entry = entryFromRawEntry(receiver, rawEntry, target._loadedAs, key, target._schema[ItemsSym]);
151
+ Object.defineProperty(entry, "all", {
152
+ get: () => {
153
+ const allRawEntries = target._raw.itemsBy(key);
154
+ return (function* () {
155
+ const rawEntry = allRawEntries.next();
156
+ if (rawEntry.done)
157
+ return;
158
+ yield entryFromRawEntry(receiver, rawEntry.value, target._loadedAs, key, target._schema[ItemsSym]);
159
+ })();
160
+ },
161
+ });
162
+ return entry;
163
+ }
164
+ else if (key === "perSession") {
165
+ return new Proxy(receiver, CoStreamPerSessionProxyHandler);
166
+ }
167
+ else {
168
+ return Reflect.get(target, key, receiver);
169
+ }
170
+ },
171
+ set(target, key, value, receiver) {
172
+ var _b;
173
+ if (key === ItemsSym &&
174
+ typeof value === "object" &&
175
+ SchemaInit in value) {
176
+ (_b = target.constructor)._schema || (_b._schema = {});
177
+ target.constructor._schema[ItemsSym] =
178
+ value[SchemaInit];
179
+ init(target);
180
+ return true;
181
+ }
182
+ else {
183
+ return Reflect.set(target, key, value, receiver);
184
+ }
185
+ },
186
+ defineProperty(target, key, descriptor) {
187
+ var _b;
188
+ if (descriptor.value &&
189
+ key === ItemsSym &&
190
+ typeof descriptor.value === "object" &&
191
+ SchemaInit in descriptor.value) {
192
+ (_b = target.constructor)._schema || (_b._schema = {});
193
+ target.constructor._schema[ItemsSym] =
194
+ descriptor.value[SchemaInit];
195
+ init(target);
196
+ return true;
197
+ }
198
+ else {
199
+ return Reflect.defineProperty(target, key, descriptor);
200
+ }
201
+ },
202
+ ownKeys(target) {
203
+ const keys = Reflect.ownKeys(target);
204
+ for (const accountID of target._raw.accounts()) {
205
+ keys.push(accountID);
206
+ }
207
+ return keys;
208
+ },
209
+ getOwnPropertyDescriptor(target, key) {
210
+ if (typeof key === "string" && key.startsWith("co_")) {
211
+ return {
212
+ configurable: true,
213
+ enumerable: true,
214
+ writable: false,
215
+ };
216
+ }
217
+ else {
218
+ return Reflect.getOwnPropertyDescriptor(target, key);
219
+ }
220
+ },
221
+ };
222
+ const CoStreamPerSessionProxyHandler = {
223
+ get(target, key, receiver) {
224
+ if (typeof key === "string" && key.includes("session")) {
225
+ const sessionID = key;
226
+ const rawEntry = target._raw.lastItemIn(sessionID);
227
+ if (!rawEntry)
228
+ return;
229
+ const by = cojsonInternals.accountOrAgentIDfromSessionID(sessionID);
230
+ const entry = entryFromRawEntry(target, rawEntry, target._loadedAs, cojsonInternals.isAccountID(by)
231
+ ? by
232
+ : undefined, target._schema[ItemsSym]);
233
+ Object.defineProperty(entry, "all", {
234
+ get: () => {
235
+ const allRawEntries = target._raw.itemsIn(sessionID);
236
+ return (function* () {
237
+ const rawEntry = allRawEntries.next();
238
+ if (rawEntry.done)
239
+ return;
240
+ yield entryFromRawEntry(receiver, rawEntry.value, target._loadedAs, cojsonInternals.isAccountID(by)
241
+ ? by
242
+ : undefined, target._schema[ItemsSym]);
243
+ })();
244
+ },
245
+ });
246
+ return entry;
247
+ }
248
+ else {
249
+ return Reflect.get(target, key, receiver);
250
+ }
251
+ },
252
+ };
147
253
  export class BinaryCoStream extends CoValueBase {
148
- constructor(init, options) {
254
+ constructor(_init, options) {
149
255
  super();
150
256
  let raw;
151
257
  if ("fromRaw" in options) {
@@ -1 +1 @@
1
- {"version":3,"file":"coStream.js","sourceRoot":"","sources":["../../src/coValues/coStream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coStream.js","sourceRoot":"","sources":["../../src/coValues/coStream.ts"],"names":[],"mappings":";AAUA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAWzC,OAAO,EACH,QAAQ,EACR,OAAO,EACP,WAAW,EACX,GAAG,EACH,OAAO,EACP,EAAE,EACF,UAAU,EACV,UAAU,EACV,YAAY,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAc/D,MAAM,OAAO,QACT,SAAQ,WAAW;IAGnB,MAAM,CAAC,EAAE,CACL,IAAsB;;QAEtB,YAAO,MAAM,UAAW,SAAQ,EAAc;gBAAvC;;oBACH,QAAU,GAAG,IAAI,CAAC;gBACtB,CAAC;aAAA;iBADI,EAAE,CAAC,KAAK;eACX;IACN,CAAC;IAYD,IAAI,OAAO;QAGP,OAAQ,IAAI,CAAC,WAA+B,CAAC,OAAO,CAAC;IACzD,CAAC;IAID,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAID,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAMD,YACI,IAAwB,EACxB,OAA8D;QAE9D,KAAK,EAAE,CAAC;QAER,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;YACvB,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE;gBAC1B,EAAE,EAAE;oBACA,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;oBACzB,UAAU,EAAE,KAAK;iBACpB;gBACD,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE;aACtD,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,UAAU,CAAC,GAAG;gBACf,IAAI;gBACJ,KAAK,EAAE,OAAO,CAAC,KAAK;aACvB,CAAC;QACN,CAAC;QAED,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,oBAA0C,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,CAAC,GAAG,KAAa;QACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACL,CAAC;IAEO,QAAQ,CAAC,IAAU;QACvB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAW,CAAC;QAExD,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAiB,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,SAAS,IAAI,cAAc,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CACV,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAC3C,CAAC;QACN,CAAC;aAAM,IAAI,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,IAA2B,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED,MAAM;QACF,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAW,CAAC;QACxD,MAAM,MAAM,GACR,cAAc,KAAK,MAAM;YACrB,CAAC,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC;YACnB,CAAC,CAAC,SAAS,IAAI,cAAc;gBAC3B,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC;gBACpC,CAAC,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,IAAK,CAAa,CAAC,EAAE,CAAC;QAEnD,OAAO;YACH,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,MAAM,CAAC,WAAW,CACjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;gBAC3C,OAAO;gBACP,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;aACtB,CAAC,CACL;YACD,EAAE,EAAE,MAAM,CAAC,WAAW,CAClB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;gBACtD,OAAO;gBACP,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;aACtB,CAAC,CACL;SACJ,CAAC;IACN,CAAC;IAED,CAAC,OAAO,CAAC;QACL,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,MAAM,CAET,GAA2C;QAE3C,IAAI,CAAC,OAAO,KAAZ,IAAI,CAAC,OAAO,GAAK,EAAE,EAAC;QACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;CACJ;;AAhHG;IACI,GAAK,SAAS,CAAC,KAAK,GAAG,UAAU,CAAC;AACtC,CAAC,GAAA,CAAA;AAgHL,SAAS,iBAAiB,CACtB,UAAmB,EACnB,QAKC,EACD,QAAsB,EACtB,SAAkC,EAClC,SAAiB;IAEjB,OAAO;QACH,IAAI,KAAK;YAGL,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;gBACvB,OAAO,QAAQ,CAAC,KAEN,CAAC;YACf,CAAC;iBAAM,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;gBAChC,OAAO,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAChC,QAAQ,CAAC,KAAK,CACjB,CAAC;YACN,CAAC;iBAAM,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC,GAAG,EAAE,UAAU,CACvB,UAAU,CAGJ,CAAC;YACf,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACjD,CAAC;QACL,CAAC;QACD,IAAI,GAAG;YAGH,IAAI,SAAS,KAAK,MAAM,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC7B,OAAO,IAAI,GAAG,CACV,KAA+B,EAC/B,QAAQ,EACR,SAAS,CAGF,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACJ,OAAO,SAAkB,CAAC;YAC9B,CAAC;QACL,CAAC;QACD,IAAI,EAAE;YACF,OAAO,CACH,SAAS;gBACT,IAAI,GAAG,CACH,SAAmC,EACnC,QAAQ,EACR,OAAO,CACV,EAAE,UAAU,CAAC,UAAU,CAAC,CAC5B,CAAC;QACN,CAAC;QACD,MAAM,EAAE,QAAQ,CAAC,EAAE;QACnB,EAAE,EAAE,QAAQ,CAAC,EAAE;KAClB,CAAC;AACN,CAAC;AAED,SAAS,IAAI,CAAC,MAAgB;IAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;IAE3C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE;QAC5B,EAAE,EAAE;YACA,KAAK,EAAE,GAAG,CAAC,EAAE;YACb,UAAU,EAAE,KAAK;SACpB;QACD,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE;KAC1C,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IACxD,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ;QACrB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAgB,CAAC,CAAC;YAE1D,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,MAAM,KAAK,GAAG,iBAAiB,CAC3B,QAAQ,EACR,QAAQ,EACR,MAAM,CAAC,SAAS,EAChB,GAA6B,EAC7B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAC3B,CAAC;YAEF,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE;gBAChC,GAAG,EAAE,GAAG,EAAE;oBACN,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAgB,CAAC,CAAC;oBAC5D,OAAO,CAAC,QAAQ,CAAC;wBACb,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;wBACtC,IAAI,QAAQ,CAAC,IAAI;4BAAE,OAAO;wBAC1B,MAAM,iBAAiB,CACnB,QAAQ,EACR,QAAQ,CAAC,KAAK,EACd,MAAM,CAAC,SAAS,EAChB,GAA6B,EAC7B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAC3B,CAAC;oBACN,CAAC,CAAC,EAAuD,CAAC;gBAC9D,CAAC;aACJ,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC;QACjB,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YAC9B,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IACD,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ;;QAC5B,IACI,GAAG,KAAK,QAAQ;YAChB,OAAO,KAAK,KAAK,QAAQ;YACzB,UAAU,IAAI,KAAK,EACrB,CAAC;YACC,MAAC,MAAM,CAAC,WAA+B,EAAC,OAAO,QAAP,OAAO,GAAK,EAAE,EAAC;YACtD,MAAM,CAAC,WAA+B,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACrD,KAAK,CAAC,UAAU,CAAC,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,CAAC;YACb,OAAO,IAAI,CAAC;QAChB,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;IACD,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU;;QAClC,IACI,UAAU,CAAC,KAAK;YAChB,GAAG,KAAK,QAAQ;YAChB,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ;YACpC,UAAU,IAAI,UAAU,CAAC,KAAK,EAChC,CAAC;YACC,MAAC,MAAM,CAAC,WAA+B,EAAC,OAAO,QAAP,OAAO,GAAK,EAAE,EAAC;YACtD,MAAM,CAAC,WAA+B,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACrD,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,CAAC;YACb,OAAO,IAAI,CAAC;QAChB,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IACD,OAAO,CAAC,MAAM;QACV,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAErC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,wBAAwB,CAAC,MAAM,EAAE,GAAG;QAChC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,OAAO;gBACH,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,KAAK;aAClB,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;CACJ,CAAC;AAEF,MAAM,8BAA8B,GAA2B;IAC3D,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ;QACrB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,GAAgB,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAEnD,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,MAAM,EAAE,GAAG,eAAe,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;YAEpE,MAAM,KAAK,GAAG,iBAAiB,CAC3B,MAAM,EACN,QAAQ,EACR,MAAM,CAAC,SAAS,EAChB,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3B,CAAC,CAAE,EAA6B;gBAChC,CAAC,CAAC,SAAS,EACf,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAC3B,CAAC;YAEF,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE;gBAChC,GAAG,EAAE,GAAG,EAAE;oBACN,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACrD,OAAO,CAAC,QAAQ,CAAC;wBACb,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;wBACtC,IAAI,QAAQ,CAAC,IAAI;4BAAE,OAAO;wBAC1B,MAAM,iBAAiB,CACnB,QAAQ,EACR,QAAQ,CAAC,KAAK,EACd,MAAM,CAAC,SAAS,EAChB,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;4BAC3B,CAAC,CAAE,EAA6B;4BAChC,CAAC,CAAC,SAAS,EACf,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAC3B,CAAC;oBACN,CAAC,CAAC,EAAuD,CAAC;gBAC9D,CAAC;aACJ,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC;QACjB,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;CACJ,CAAC;AAEF,MAAM,OAAO,cACT,SAAQ,WAAW;IAOnB,YACI,KAAqB,EACrB,OAMO;QAEP,KAAK,EAAE,CAAC;QAER,IAAI,GAAsB,CAAC;QAE3B,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;YACvB,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;QAC1B,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YACpC,GAAG,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACxC,CAAC;QAED,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE;YAC1B,EAAE,EAAE;gBACA,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,UAAU,EAAE,KAAK;aACpB;YACD,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE;SAC1C,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,OAET;QAGG,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,OAAyB;QAC3B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,CAAC,IAAgB;QACjB,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,GAAG;QACC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAED,MAAM;QACF,OAAO;YACH,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,IAAI,CAAC,SAAS,EAAE;SACtB,CAAC;IACN,CAAC;IAED,CAAC,OAAO,CAAC;QACL,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;CACJ"}
@@ -1,10 +1,19 @@
1
- import { BinaryCoStream, CoMap, indexSignature, subscriptionsScopes, } from "../../internal.js";
1
+ var _a;
2
+ import { BinaryCoStream, CoMap, co, subscriptionsScopes, } from "../../internal.js";
2
3
  export class ImageDefinition extends CoMap {
3
- get _highestResAvailable() {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.originalSize = co.json();
7
+ this.placeholderDataURL = co.string;
8
+ this[_a] = co.ref(BinaryCoStream);
9
+ }
10
+ highestResAvailable(options) {
4
11
  if (!subscriptionsScopes.get(this)) {
5
12
  console.warn("highestResAvailable() only makes sense when used within a subscription.");
6
13
  }
7
- const resolutions = Object.keys(this).filter((key) => key.match(/^\d+x\d+$/));
14
+ const resolutions = Object.keys(this).filter((key) => key.match(/^\d+x\d+$/) &&
15
+ (!options?.maxWidth ||
16
+ Number(key.split("x")[0]) <= options.maxWidth));
8
17
  resolutions.sort((a, b) => {
9
18
  const aWidth = Number(a.split("x")[0]);
10
19
  const bWidth = Number(b.split("x")[0]);
@@ -28,9 +37,5 @@ export class ImageDefinition extends CoMap {
28
37
  });
29
38
  }
30
39
  }
31
- ImageDefinition.encoding({
32
- originalSize: "json",
33
- placeholderDataURL: "json",
34
- [indexSignature]: { ref: () => BinaryCoStream },
35
- });
40
+ _a = co.items;
36
41
  //# sourceMappingURL=imageDef.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"imageDef.js","sourceRoot":"","sources":["../../../src/coValues/extensions/imageDef.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,cAAc,EACd,KAAK,EACL,cAAc,EACd,mBAAmB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,OAAO,eAAgB,SAAQ,KAAsB;IAOvD,IAAI,oBAAoB;QAGpB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CACR,yEAAyE,CAC5E,CAAC;QACN,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACjD,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CACE,CAAC;QAE7B,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,OAAO,MAAM,GAAG,MAAM,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,0BAA6D,CAAC;QAElE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC;gBACpD,0BAA0B,GAAG,UAAU,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACJ,OAAO,CACH,0BAA0B,IAAI;oBAC1B,GAAG,EAAE,0BAA0B;oBAC/B,MAAM,EAAE,IAAI,CAAC,0BAA0B,CAAE;iBAC5C,CACJ,CAAC;YACN,CAAC;QACL,CAAC;QACD,OAAO,CACH,0BAA0B,IAAI;YAC1B,GAAG,EAAE,0BAA0B;YAC/B,MAAM,EAAE,IAAI,CAAC,0BAA0B,CAAE;SAC5C,CACJ,CAAC;IACN,CAAC;CACJ;AACD,eAAe,CAAC,QAAQ,CAAC;IACrB,YAAY,EAAE,MAAM;IACpB,kBAAkB,EAAE,MAAM;IAC1B,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE;CAClD,CAAC,CAAC"}
1
+ {"version":3,"file":"imageDef.js","sourceRoot":"","sources":["../../../src/coValues/extensions/imageDef.ts"],"names":[],"mappings":";AAAA,OAAO,EACH,cAAc,EACd,KAAK,EACL,EAAE,EACF,mBAAmB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,OAAO,eAAgB,SAAQ,KAAsB;IAA3D;;QACI,iBAAY,GAAG,EAAE,CAAC,IAAI,EAAoB,CAAC;QAC3C,uBAAkB,GAAI,EAAE,CAAC,MAAM,CAAC;QAEhC,QAAU,GAAG,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IA8CxC,CAAC;IA3CG,mBAAmB,CAAC,OAEnB;QACG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CACR,yEAAyE,CAC5E,CAAC;QACN,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CACxC,CAAC,GAAG,EAAE,EAAE,CACJ,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;YACtB,CAAC,CAAC,OAAO,EAAE,QAAQ;gBACf,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAC9B,CAAC;QAE7B,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,OAAO,MAAM,GAAG,MAAM,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,0BAA6D,CAAC;QAElE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC;gBACpD,0BAA0B,GAAG,UAAU,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACJ,OAAO,CACH,0BAA0B,IAAI;oBAC1B,GAAG,EAAE,0BAA0B;oBAC/B,MAAM,EAAE,IAAI,CAAC,0BAA0B,CAAE;iBAC5C,CACJ,CAAC;YACN,CAAC;QACL,CAAC;QACD,OAAO,CACH,0BAA0B,IAAI;YAC1B,GAAG,EAAE,0BAA0B;YAC/B,MAAM,EAAE,IAAI,CAAC,0BAA0B,CAAE;SAC5C,CACJ,CAAC;IACN,CAAC;CACJ;KA9CI,EAAE,CAAC,KAAK"}
@@ -1,20 +1,23 @@
1
1
  var _a;
2
- import { Account, CoMap, CoValueBase, ValueRef, isControlledAccount, } from "../internal.js";
2
+ import { Account, CoMap, CoValueBase, Ref, co, isControlledAccount, AccountAndGroupProxyHandler, } from "../internal.js";
3
3
  export class Profile extends CoMap {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.name = co.string;
7
+ }
4
8
  }
5
- Profile.encoding({ name: "json" });
6
9
  export class Group extends CoValueBase {
7
- get _encoding() {
8
- return this.constructor._encoding;
10
+ get _schema() {
11
+ return this.constructor._schema;
9
12
  }
10
13
  get _refs() {
11
14
  const profileID = this._raw.get("profile");
12
15
  const rootID = this._raw.get("root");
13
16
  return {
14
17
  profile: profileID &&
15
- new ValueRef(profileID, this._loadedAs, this._encoding.profile.ref()),
18
+ new Ref(profileID, this._loadedAs, this._schema.profile),
16
19
  root: rootID &&
17
- new ValueRef(rootID, this._loadedAs, this._encoding.root.ref()),
20
+ new Ref(rootID, this._loadedAs, this._schema.root),
18
21
  };
19
22
  }
20
23
  constructor(init, options) {
@@ -42,29 +45,8 @@ export class Group extends CoValueBase {
42
45
  enumerable: false,
43
46
  },
44
47
  _raw: { value: raw, enumerable: false },
45
- profile: {
46
- get: () => {
47
- const ref = this._refs.profile;
48
- return ref ? ref.accessFrom(this) : undefined;
49
- },
50
- set: (value) => {
51
- if (value) {
52
- this._raw.set("profile", value.id);
53
- }
54
- },
55
- },
56
- root: {
57
- get: () => {
58
- const ref = this._refs.root;
59
- return ref ? ref.accessFrom(this) : undefined;
60
- },
61
- set: (value) => {
62
- if (value) {
63
- this._raw.set("root", value.id);
64
- }
65
- },
66
- },
67
48
  });
49
+ return new Proxy(this, AccountAndGroupProxyHandler);
68
50
  }
69
51
  myRole() {
70
52
  return this._raw.myRole();
@@ -72,22 +54,18 @@ export class Group extends CoValueBase {
72
54
  addMember(member, role) {
73
55
  this._raw.addMember(member === "everyone" ? member : member._raw, role);
74
56
  }
75
- static define(fields) {
76
- this._encoding || (this._encoding = {});
77
- Object.assign(this._encoding, fields);
78
- }
79
57
  }
80
58
  _a = Group;
81
59
  (() => {
82
60
  _a.prototype._type = "Group";
83
61
  })();
84
62
  (() => {
85
- _a._encoding = {
63
+ _a._schema = {
86
64
  profile: { json: true },
87
65
  root: { json: true },
88
66
  };
89
- Object.defineProperty(_a.prototype, "_encoding", {
90
- get: () => _a._encoding,
67
+ Object.defineProperty(_a.prototype, "_schema", {
68
+ get: () => _a._schema,
91
69
  });
92
70
  })();
93
71
  //# sourceMappingURL=group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../../src/coValues/group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../src/coValues/group.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import { Effect, Sink, Stream } from "effect";
2
2
  import { RawAccount } from "cojson";
3
- import { Account, AccountCtx, Group, SubscriptionScope, ValueRef, inspect, } from "../internal.js";
3
+ import { Account, AccountCtx, Group, SubscriptionScope, Ref, inspect, } from "../internal.js";
4
4
  export function isCoValue(value) {
5
5
  return value && value._type !== undefined;
6
6
  }
7
+ export function isCoValueClass(value) {
8
+ return typeof value === "function" && value.fromRaw !== undefined;
9
+ }
7
10
  export class CoValueBase {
8
11
  get _owner() {
9
12
  return this._raw.group instanceof RawAccount
@@ -20,11 +23,11 @@ export class CoValueBase {
20
23
  static loadEf(id) {
21
24
  return Effect.gen(this, function* (_) {
22
25
  const account = yield* _(AccountCtx);
23
- return yield* _(new ValueRef(id, account, this).loadEf());
26
+ return yield* _(new Ref(id, account, this).loadEf());
24
27
  });
25
28
  }
26
29
  static load(id, options) {
27
- return new ValueRef(id, options.as, this).load(options?.onProgress && { onProgress: options.onProgress });
30
+ return new Ref(id, options.as, this).load(options?.onProgress && { onProgress: options.onProgress });
28
31
  }
29
32
  static subscribe(id, options, onUpdate) {
30
33
  void Effect.runPromise(Effect.provideService(this.subscribeEf(id).pipe(Stream.run(Sink.forEach((update) => Effect.sync(() => onUpdate(update))))), AccountCtx, options.as));
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/coValues/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/coValues/interfaces.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import { Effect } from "effect";
2
- import { subscriptionsScopes } from '../internal.js';
3
- export class ValueRef {
4
- constructor(id, controlledAccount, valueConstructor) {
2
+ import { instantiateRefEncoded, isRefEncoded, subscriptionsScopes, } from "../internal.js";
3
+ export class Ref {
4
+ constructor(id, controlledAccount, schema) {
5
5
  this.id = id;
6
6
  this.controlledAccount = controlledAccount;
7
- this.valueConstructor = valueConstructor;
7
+ this.schema = schema;
8
+ if (!isRefEncoded(schema)) {
9
+ throw new Error("Ref must be constructed with a ref schema");
10
+ }
8
11
  }
9
12
  get value() {
10
13
  if (this.cachedValue)
@@ -12,7 +15,7 @@ export class ValueRef {
12
15
  // TODO: cache it for object identity!!!
13
16
  const raw = this.controlledAccount._raw.core.node.getLoaded(this.id);
14
17
  if (raw) {
15
- const value = new this.valueConstructor(undefined, { fromRaw: raw });
18
+ const value = instantiateRefEncoded(this.schema, raw);
16
19
  this.cachedValue = value;
17
20
  return value;
18
21
  }
@@ -42,7 +45,7 @@ export class ValueRef {
42
45
  return "unavailable";
43
46
  }
44
47
  else {
45
- return new ValueRef(this.id, this.controlledAccount, this.valueConstructor)
48
+ return new Ref(this.id, this.controlledAccount, this.schema)
46
49
  .value;
47
50
  }
48
51
  }
@@ -64,14 +67,14 @@ export class ValueRef {
64
67
  return this.value;
65
68
  }
66
69
  }
67
- export function makeRefs(getIdForKey, getKeysWithIds, controlledAccount, valueConstructorForKey) {
70
+ export function makeRefs(getIdForKey, getKeysWithIds, controlledAccount, refSchemaForKey) {
68
71
  const refs = {};
69
72
  return new Proxy(refs, {
70
- get(target, key) {
73
+ get(_target, key) {
71
74
  if (key === Symbol.iterator) {
72
75
  return function* () {
73
76
  for (const key of getKeysWithIds()) {
74
- yield new ValueRef(getIdForKey(key), controlledAccount, valueConstructorForKey(key));
77
+ yield new Ref(getIdForKey(key), controlledAccount, refSchemaForKey(key));
75
78
  }
76
79
  };
77
80
  }
@@ -83,7 +86,7 @@ export function makeRefs(getIdForKey, getKeysWithIds, controlledAccount, valueCo
83
86
  const id = getIdForKey(key);
84
87
  if (!id)
85
88
  return undefined;
86
- return new ValueRef(id, controlledAccount, valueConstructorForKey(key));
89
+ return new Ref(id, controlledAccount, refSchemaForKey(key));
87
90
  },
88
91
  ownKeys() {
89
92
  return getKeysWithIds().map((key) => key.toString());