@misofm/sdk 0.4.0 → 0.6.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 (53) hide show
  1. package/dist/catalog.d.ts +4 -17
  2. package/dist/catalog.d.ts.map +1 -1
  3. package/dist/catalog.js +46 -58
  4. package/dist/catalog.js.map +1 -1
  5. package/dist/cover.d.ts +10 -0
  6. package/dist/cover.d.ts.map +1 -1
  7. package/dist/cover.js +66 -19
  8. package/dist/cover.js.map +1 -1
  9. package/dist/credits.d.ts +10 -0
  10. package/dist/credits.d.ts.map +1 -1
  11. package/dist/credits.js +149 -39
  12. package/dist/credits.js.map +1 -1
  13. package/dist/drop.d.ts +7 -0
  14. package/dist/drop.d.ts.map +1 -1
  15. package/dist/drop.js +84 -34
  16. package/dist/drop.js.map +1 -1
  17. package/dist/pressing.d.ts.map +1 -1
  18. package/dist/pressing.js +59 -16
  19. package/dist/pressing.js.map +1 -1
  20. package/dist/read/artist.d.ts +1 -6
  21. package/dist/read/artist.d.ts.map +1 -1
  22. package/dist/read/artist.js +39 -22
  23. package/dist/read/artist.js.map +1 -1
  24. package/dist/read/catalog.d.ts +24 -3
  25. package/dist/read/catalog.d.ts.map +1 -1
  26. package/dist/read/catalog.js +190 -89
  27. package/dist/read/catalog.js.map +1 -1
  28. package/dist/read/index.d.ts +6 -4
  29. package/dist/read/index.d.ts.map +1 -1
  30. package/dist/read/index.js +3 -3
  31. package/dist/read/index.js.map +1 -1
  32. package/dist/read/types.d.ts +21 -1
  33. package/dist/read/types.d.ts.map +1 -1
  34. package/dist/read/wallet.d.ts +10 -1
  35. package/dist/read/wallet.d.ts.map +1 -1
  36. package/dist/read/wallet.js +28 -0
  37. package/dist/read/wallet.js.map +1 -1
  38. package/dist/read/works.d.ts +3 -2
  39. package/dist/read/works.d.ts.map +1 -1
  40. package/dist/read/works.js +158 -48
  41. package/dist/read/works.js.map +1 -1
  42. package/package.json +2 -2
  43. package/src/catalog.ts +71 -77
  44. package/src/cover.ts +107 -26
  45. package/src/credits.ts +353 -89
  46. package/src/drop.ts +150 -40
  47. package/src/pressing.ts +146 -36
  48. package/src/read/artist.ts +73 -34
  49. package/src/read/catalog.ts +324 -89
  50. package/src/read/index.ts +24 -2
  51. package/src/read/types.ts +26 -2
  52. package/src/read/wallet.ts +45 -1
  53. package/src/read/works.ts +224 -59
package/dist/pressing.js CHANGED
@@ -37,7 +37,10 @@ export function deriveListingId(pressingId, currencyType, misoPressingPackageId)
37
37
  /** Both derived ids a sale needs, from the release id alone. */
38
38
  export function deriveSaleIds(releaseId, currencyType, misoPressingPackageId) {
39
39
  const pressingId = derivePressingId(releaseId, misoPressingPackageId);
40
- return { pressingId, listingId: deriveListingId(pressingId, currencyType, misoPressingPackageId) };
40
+ return {
41
+ pressingId,
42
+ listingId: deriveListingId(pressingId, currencyType, misoPressingPackageId),
43
+ };
41
44
  }
42
45
  function priceArg(tx, misoPressingPackageId, price) {
43
46
  const make = price.kind === "fixed" ? listing.newFixedPrice : listing.newFloorPrice;
@@ -51,7 +54,10 @@ function runStateArg(tx, misoPressingPackageId, state) {
51
54
  const pkg = { package: misoPressingPackageId };
52
55
  switch (state.kind) {
53
56
  case "scheduled":
54
- return tx.add(pressing.newScheduledState({ ...pkg, arguments: [BigInt(state.startTimestampMs)] }));
57
+ return tx.add(pressing.newScheduledState({
58
+ ...pkg,
59
+ arguments: [BigInt(state.startTimestampMs)],
60
+ }));
55
61
  case "active":
56
62
  return tx.add(pressing.newActiveState(pkg));
57
63
  case "paused":
@@ -72,7 +78,11 @@ export function openPressing(p) {
72
78
  const pkg = p.misoPressingPackageId;
73
79
  const [run, adminCap] = tx.add(pressing._new({
74
80
  package: pkg,
75
- arguments: [p.releaseId, p.releaseAdminCapId, runStateArg(tx, pkg, p.state ?? { kind: "active" })],
81
+ arguments: [
82
+ p.releaseId,
83
+ p.releaseAdminCapId,
84
+ runStateArg(tx, pkg, p.state ?? { kind: "active" }),
85
+ ],
76
86
  }));
77
87
  for (const terms of p.listings) {
78
88
  tx.add(listing._new({
@@ -121,7 +131,11 @@ export function setListingPrice(p) {
121
131
  const { listingId } = deriveSaleIds(p.releaseId, p.currencyType, pkg);
122
132
  tx.add(listing.setPrice({
123
133
  package: pkg,
124
- arguments: [listingId, p.pressingAdminCapId, priceArg(tx, pkg, p.price)],
134
+ arguments: [
135
+ listingId,
136
+ p.pressingAdminCapId,
137
+ priceArg(tx, pkg, p.price),
138
+ ],
125
139
  typeArguments: [p.currencyType],
126
140
  }));
127
141
  };
@@ -133,7 +147,11 @@ export function setListingState(p) {
133
147
  const { listingId } = deriveSaleIds(p.releaseId, p.currencyType, pkg);
134
148
  tx.add(listing.setState({
135
149
  package: pkg,
136
- arguments: [listingId, p.pressingAdminCapId, switchArg(tx, pkg, p.state)],
150
+ arguments: [
151
+ listingId,
152
+ p.pressingAdminCapId,
153
+ switchArg(tx, pkg, p.state),
154
+ ],
137
155
  typeArguments: [p.currencyType],
138
156
  }));
139
157
  };
@@ -199,8 +217,13 @@ function currencyFromType(type) {
199
217
  /** Reads one object's BCS content + type, or `null` when it does not exist. */
200
218
  async function fetch(client, objectId) {
201
219
  try {
202
- const { object } = await client.core.getObject({ objectId, include: { content: true } });
203
- return object?.content ? { content: object.content, type: object.type } : null;
220
+ const { object } = await client.core.getObject({
221
+ objectId,
222
+ include: { content: true },
223
+ });
224
+ return object?.content
225
+ ? { content: object.content, type: object.type }
226
+ : null;
204
227
  }
205
228
  catch (e) {
206
229
  if (isNotFound(e))
@@ -228,14 +251,20 @@ export async function getPressing(client, pressingId) {
228
251
  const got = await fetch(client, pressingId);
229
252
  if (!got)
230
253
  return null;
231
- const parsed = pressing.Pressing.parse(got.content);
254
+ return parsePressing(pressingId, got.content);
255
+ }
256
+ function parsePressing(pressingId, content) {
257
+ const parsed = pressing.Pressing.parse(content);
232
258
  const s = parsed.state;
233
259
  const kind = variant(s, "Scheduled", "Active", "Paused");
234
260
  return {
235
261
  id: pressingId,
236
262
  releaseId: parsed.release_id,
237
263
  state: kind === "Scheduled"
238
- ? { kind: "scheduled", startTimestampMs: BigInt(s.Scheduled?.start_timestamp_ms ?? "0") }
264
+ ? {
265
+ kind: "scheduled",
266
+ startTimestampMs: BigInt(s.Scheduled?.start_timestamp_ms ?? "0"),
267
+ }
239
268
  : kind === "Paused"
240
269
  ? { kind: "paused" }
241
270
  : { kind: "active" },
@@ -247,7 +276,10 @@ export async function getListing(client, listingId) {
247
276
  const got = await fetch(client, listingId);
248
277
  if (!got)
249
278
  return null;
250
- const parsed = listing.Listing.parse(got.content);
279
+ return parseListing(listingId, got.content, got.type);
280
+ }
281
+ function parseListing(listingId, content, type) {
282
+ const parsed = listing.Listing.parse(content);
251
283
  const p = parsed.price;
252
284
  const priceKind = variant(p, "Fixed", "Floor");
253
285
  const st = parsed.state;
@@ -260,7 +292,7 @@ export async function getListing(client, listingId) {
260
292
  amount: BigInt((priceKind === "Fixed" ? p.Fixed?.amount : p.Floor?.amount) ?? "0"),
261
293
  },
262
294
  state: variant(st, "Enabled", "Disabled") === "Enabled" ? "enabled" : "disabled",
263
- currencyType: currencyFromType(got.type),
295
+ currencyType: currencyFromType(type),
264
296
  };
265
297
  }
266
298
  /**
@@ -271,10 +303,21 @@ export async function getListing(client, listingId) {
271
303
  */
272
304
  export async function getSale(client, p) {
273
305
  const { pressingId, listingId } = deriveSaleIds(p.releaseId, p.currencyType, p.misoPressingPackageId);
274
- const [pressingView, listingView] = await Promise.all([
275
- getPressing(client, pressingId),
276
- getListing(client, listingId),
277
- ]);
278
- return { pressing: pressingView, listing: listingView };
306
+ const { objects } = await client.core.getObjects({
307
+ objectIds: [pressingId, listingId],
308
+ include: { content: true },
309
+ });
310
+ const pressingObject = objects[0];
311
+ const listingObject = objects[1];
312
+ return {
313
+ pressing: !pressingObject ||
314
+ pressingObject instanceof Error ||
315
+ !pressingObject.content
316
+ ? null
317
+ : parsePressing(pressingId, pressingObject.content),
318
+ listing: !listingObject || listingObject instanceof Error || !listingObject.content
319
+ ? null
320
+ : parseListing(listingId, listingObject.content, listingObject.type),
321
+ };
279
322
  }
280
323
  //# sourceMappingURL=pressing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pressing.js","sourceRoot":"","sources":["../src/pressing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pressing.js","sourceRoot":"","sources":["../src/pressing.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAgBtC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,sCAAsC,CAAC;AAChE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAuBlE,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,uFAAuF;AACvF,MAAM,qBAAqB,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,qBAA6B;IAE7B,OAAO,cAAc,CACnB,SAAS,EACT,GAAG,qBAAqB,yBAAyB,EACjD,qBAAqB,CACtB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,UAAkB,EAClB,qBAA6B;IAE7B,OAAO,cAAc,CACnB,UAAU,EACV,GAAG,qBAAqB,iCAAiC,EACzD,qBAAqB,CACtB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkB,EAClB,YAAoB,EACpB,qBAA6B;IAE7B,OAAO,cAAc,CACnB,UAAU,EACV,GAAG,qBAAqB,yBAAyB,kBAAkB,CAAC,YAAY,CAAC,GAAG,EACpF,qBAAqB,CACtB,CAAC;AACJ,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,aAAa,CAC3B,SAAiB,EACjB,YAAoB,EACpB,qBAA6B;IAE7B,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IACtE,OAAO;QACL,UAAU;QACV,SAAS,EAAE,eAAe,CAAC,UAAU,EAAE,YAAY,EAAE,qBAAqB,CAAC;KAC5E,CAAC;AACJ,CAAC;AAQD,SAAS,QAAQ,CAAC,EAAM,EAAE,qBAA6B,EAAE,KAAmB;IAC1E,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACzE,OAAO,EAAE,CAAC,GAAG,CACX,IAAI,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAC5E,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,EAAM,EACN,qBAA6B,EAC7B,KAAoB;IAEpB,MAAM,IAAI,GACR,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC3E,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,WAAW,CAClB,EAAM,EACN,qBAA6B,EAC7B,KAAuB;IAEvB,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;IAC/C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,EAAE,CAAC,GAAG,CACX,QAAQ,CAAC,iBAAiB,CAAC;gBACzB,GAAG,GAAG;gBACN,SAAS,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;aAC5C,CAAC,CACH,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAgCD;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,CAAqB;IAChD,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,MAAM,GAAG,GAAG,CAAC,CAAC,qBAAqB,CAAC;QACpC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAC5B,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE;gBACT,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,iBAAiB;gBACnB,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;aACpD;SACF,CAAC,CACH,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC/B,EAAE,CAAC,GAAG,CACJ,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,GAAG;gBACZ,SAAS,EAAE;oBACT,GAAI;oBACJ,QAAS;oBACT,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;oBAC9B,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC;iBAC7C;gBACD,aAAa,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC;aACpC,CAAC,CACH,CAAC;QACJ,CAAC;QACD,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,GAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5D,EAAE,CAAC,eAAe,CAAC,CAAC,QAAS,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC;AAUD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,CAAoB;IAC9C,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,MAAM,GAAG,GAAG,CAAC,CAAC,qBAAqB,CAAC;QACpC,EAAE,CAAC,GAAG,CACJ,OAAO,CAAC,IAAI,CAAC;YACX,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE;gBACT,gBAAgB,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC;gBAClC,CAAC,CAAC,kBAAkB;gBACpB,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;gBAChC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC;aAC/C;YACD,aAAa,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;SACtC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAcD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,CAAwB;IACtD,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,MAAM,GAAG,GAAG,CAAC,CAAC,qBAAqB,CAAC;QACpC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACtE,EAAE,CAAC,GAAG,CACJ,OAAO,CAAC,QAAQ,CAAC;YACf,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE;gBACT,SAAS;gBACT,CAAC,CAAC,kBAAkB;gBACpB,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC;aAC3B;YACD,aAAa,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;SAChC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAUD,0EAA0E;AAC1E,MAAM,UAAU,eAAe,CAAC,CAAwB;IACtD,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,MAAM,GAAG,GAAG,CAAC,CAAC,qBAAqB,CAAC;QACpC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACtE,EAAE,CAAC,GAAG,CACJ,OAAO,CAAC,QAAQ,CAAC;YACf,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE;gBACT,SAAS;gBACT,CAAC,CAAC,kBAAkB;gBACpB,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC;aAC5B;YACD,aAAa,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;SAChC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AASD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAyB;IACxD,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,MAAM,GAAG,GAAG,CAAC,CAAC,qBAAqB,CAAC;QACpC,EAAE,CAAC,GAAG,CACJ,QAAQ,CAAC,QAAQ,CAAC;YAChB,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE;gBACT,gBAAgB,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC;gBAClC,CAAC,CAAC,kBAAkB;gBACpB,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC;aAC9B;SACF,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AA+BD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,SAAS,CAAC,CAAkB;IAC1C,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,MAAM,GAAG,GAAG,CAAC,CAAC,qBAAqB,CAAC;QACpC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,aAAa,CAC7C,CAAC,CAAC,SAAS,EACX,CAAC,CAAC,YAAY,EACd,GAAG,CACJ,CAAC;QACF,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;YACzB,IAAI,EAAE,CAAC,CAAC,YAAY;YACpB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YACzB,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,KAAK;SAClC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CACnB,OAAO,CAAC,GAAG,CAAC;YACV,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC;YACzD,aAAa,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;SAChC,CAAC,CACH,CAAC;QACF,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC,CAAC;AACJ,CAAC;AA2BD,2EAA2E;AAC3E,SAAS,gBAAgB,CAAC,IAA+B;IACvD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvE,CAAC;AAED,+EAA+E;AAC/E,KAAK,UAAU,KAAK,CAClB,MAAyB,EACzB,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAC7C,QAAQ;YACR,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SAC3B,CAAC,CAAC;QACH,OAAO,MAAM,EAAE,OAAO;YACpB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;YAChD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/B,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,wFAAwF;AACxF,SAAS,OAAO,CACd,CAA+C,EAC/C,GAAG,KAAU;IAEb,KAAK,MAAM,IAAI,IAAI,KAAK;QACtB,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;IACvD,OAAO,KAAK,CAAC,CAAC,CAAE,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAyB,EACzB,UAAkB;IAElB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,aAAa,CAAC,UAAkB,EAAE,OAAmB;IAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,MAAM,CAAC,KAGhB,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzD,OAAO;QACL,EAAE,EAAE,UAAU;QACd,SAAS,EAAE,MAAM,CAAC,UAAU;QAC5B,KAAK,EACH,IAAI,KAAK,WAAW;YAClB,CAAC,CAAC;gBACE,IAAI,EAAE,WAAW;gBACjB,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,kBAAkB,IAAI,GAAG,CAAC;aACjE;YACH,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACjB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAyB,EACzB,SAAiB;IAEjB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,YAAY,CACnB,SAAiB,EACjB,OAAmB,EACnB,IAAa;IAEb,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,MAAM,CAAC,KAIhB,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,MAAM,CAAC,KAIjB,CAAC;IACF,OAAO;QACL,EAAE,EAAE,SAAS;QACb,SAAS,EAAE,MAAM,CAAC,UAAU;QAC5B,UAAU,EAAE,MAAM,CAAC,WAAW;QAC9B,KAAK,EAAE;YACL,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;YAC/C,MAAM,EAAE,MAAM,CACZ,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,GAAG,CACnE;SACF;QACD,KAAK,EACH,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;QAC3E,YAAY,EAAE,gBAAgB,CAAC,IAAI,CAAC;KACrC,CAAC;AACJ,CAAC;AAUD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAyB,EACzB,CAAgB;IAEhB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,aAAa,CAC7C,CAAC,CAAC,SAAS,EACX,CAAC,CAAC,YAAY,EACd,CAAC,CAAC,qBAAqB,CACxB,CAAC;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QAC/C,SAAS,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;QAClC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KAC3B,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO;QACL,QAAQ,EACN,CAAC,cAAc;YACf,cAAc,YAAY,KAAK;YAC/B,CAAC,cAAc,CAAC,OAAO;YACrB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC;QACvD,OAAO,EACL,CAAC,aAAa,IAAI,aAAa,YAAY,KAAK,IAAI,CAAC,aAAa,CAAC,OAAO;YACxE,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC;KACzE,CAAC;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { MisoClient } from "./client.ts";
2
2
  import type { ArtistProfile, FeaturedRelease, PartySummary } from "./types.ts";
3
3
  /** Optional sub-resources — read only when asked for. */
4
- export type ArtistInclude = "roles" | "tags";
4
+ export type ArtistInclude = "roles" | "tags" | "featured";
5
5
  export interface GetArtistOptions {
6
6
  include?: readonly ArtistInclude[];
7
7
  }
@@ -15,10 +15,5 @@ export declare function partyAvatarUrl(apiBaseUrl: string, partyId: string): str
15
15
  export declare function getArtistProfile(client: MisoClient, partyId: string, options?: GetArtistOptions): Promise<ArtistProfile>;
16
16
  /** Name + kind for many parties at once. Ids that don't resolve are omitted. */
17
17
  export declare function getPartySummaries(client: MisoClient, ids: readonly string[]): Promise<PartySummary[]>;
18
- /**
19
- * The party's pinned pressing, resolved through to its release and cover.
20
- * `null` — a successful empty — when nothing is pinned or the pin is dangling
21
- * (the pressing it named has since been superseded and destroyed).
22
- */
23
18
  export declare function getFeaturedRelease(client: MisoClient, partyId: string): Promise<FeaturedRelease | null>;
24
19
  //# sourceMappingURL=artist.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artist.d.ts","sourceRoot":"","sources":["../../src/read/artist.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAe,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5F,yDAAyD;AACzD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CACpC;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,aAAa,CAAC,CAuCxB;AAYD,gFAAgF;AAChF,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAO3G;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CA0B7G"}
1
+ {"version":3,"file":"artist.d.ts","sourceRoot":"","sources":["../../src/read/artist.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAEf,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,yDAAyD;AACzD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CACpC;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,aAAa,CAAC,CAoDxB;AAiBD,gFAAgF;AAChF,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,SAAS,MAAM,EAAE,GACrB,OAAO,CAAC,YAAY,EAAE,CAAC,CAOzB;AA4CD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAEjC"}
@@ -9,13 +9,10 @@
9
9
  // out from the browser (`lib/party-queries.ts`, plus a second identical fan-out in
10
10
  // `PartyEditSheet`). Here they are one call, resolved once, cached once.
11
11
  //
12
- // `roles` and `tags` are opt-in via `include`: only the owner's edit sheet reads
13
- // them, and leaving them out of the public read keeps the hot path to six.
12
+ // `roles`, `tags`, and the resolved featured release are opt-in via `include`.
14
13
  import { resolveGenreNames } from "./genres.js";
15
- import { readReleaseCover } from "./catalog.js";
14
+ import { getReleaseResources } from "./catalog.js";
16
15
  import { getDrop } from "../drop.js";
17
- import { getReleaseById } from "@misonetwork/sdk";
18
- import { getReleaseCredits } from "../credits.js";
19
16
  /** Public avatar URL for a party (served from the API's R2 lane; 404 when unset). */
20
17
  export function partyAvatarUrl(apiBaseUrl, partyId) {
21
18
  return `${apiBaseUrl.replace(/\/$/, "")}/media/avatar/${partyId}`;
@@ -28,20 +25,25 @@ export function partyAvatarUrl(apiBaseUrl, partyId) {
28
25
  export async function getArtistProfile(client, partyId, options = {}) {
29
26
  const include = new Set(options.include ?? []);
30
27
  const { party } = client.sui;
31
- const [profile, ctas, genreIds, links, roles, tags] = await Promise.all([
28
+ const [profile, ctas, genreIds, links, roles, tags, entity] = await Promise.all([
32
29
  party.getProfile(partyId).catch(() => null),
33
30
  party.getCtas(partyId).catch(() => []),
34
31
  party.getGenres(partyId).catch(() => []),
35
32
  party.getLinks(partyId).catch(() => []),
36
- include.has("roles") ? party.getRoles(partyId).catch(() => []) : Promise.resolve(undefined),
37
- include.has("tags") ? party.getTags(partyId).catch(() => []) : Promise.resolve(undefined),
33
+ include.has("roles")
34
+ ? party.getRoles(partyId).catch(() => [])
35
+ : Promise.resolve(undefined),
36
+ include.has("tags")
37
+ ? party.getTags(partyId).catch(() => [])
38
+ : Promise.resolve(undefined),
39
+ party.getPartyById(partyId),
38
40
  ]);
39
- // The party read is the one that may legitimately fail (no such party), so it
40
- // is awaited on its own rather than being swallowed by the batch above.
41
- const entity = await party.getPartyById(partyId);
42
- const [genres, members] = await Promise.all([
41
+ const [genres, members, featured] = await Promise.all([
43
42
  resolveGenreNames(client, genreIds),
44
43
  resolveMembers(client, entity.kind === "group" ? (entity.members ?? []) : []),
44
+ include.has("featured")
45
+ ? resolveFeaturedRelease(client, partyId, entity.name).catch(() => null)
46
+ : Promise.resolve(undefined),
45
47
  ]);
46
48
  return {
47
49
  id: entity.id,
@@ -53,11 +55,16 @@ export async function getArtistProfile(client, partyId, options = {}) {
53
55
  country: profile?.country ?? null,
54
56
  languages: profile?.languages ?? [],
55
57
  genres,
56
- links: links.map((l) => ({ platform: l.platform, value: l.value, url: l.url })),
58
+ links: links.map((l) => ({
59
+ platform: l.platform,
60
+ value: l.value,
61
+ url: l.url,
62
+ })),
57
63
  ctas: ctas.map((c) => ({ label: c.label, url: c.url })),
58
64
  members,
59
65
  ...(roles !== undefined ? { roles } : {}),
60
66
  ...(tags !== undefined ? { tags } : {}),
67
+ ...(featured !== undefined ? { featured } : {}),
61
68
  avatarUrl: partyAvatarUrl(client.config.apiBaseUrl, entity.id),
62
69
  };
63
70
  }
@@ -65,7 +72,9 @@ export async function getArtistProfile(client, partyId, options = {}) {
65
72
  async function resolveMembers(client, memberIds) {
66
73
  if (memberIds.length === 0)
67
74
  return [];
68
- const parties = await client.sui.party.getPartiesByIds([...memberIds]).catch(() => ({}));
75
+ const parties = await client.sui.party
76
+ .getPartiesByIds([...memberIds])
77
+ .catch(() => ({}));
69
78
  return memberIds.flatMap((id) => {
70
79
  const p = parties[id];
71
80
  return p ? [{ id, name: p.name }] : [];
@@ -86,29 +95,37 @@ export async function getPartySummaries(client, ids) {
86
95
  * `null` — a successful empty — when nothing is pinned or the pin is dangling
87
96
  * (the pressing it named has since been superseded and destroyed).
88
97
  */
89
- export async function getFeaturedRelease(client, partyId) {
98
+ async function resolveFeaturedRelease(client, partyId, fallbackArtist) {
90
99
  const pressingId = await client.sui.party.getFeaturedDrop(partyId);
91
100
  if (!pressingId)
92
101
  return null;
93
102
  const pressing = await getDrop(client.protocol, pressingId);
94
103
  if (!pressing)
95
104
  return null;
96
- const [release, cover, credits, entity] = await Promise.all([
97
- getReleaseById(client.protocol, pressing.releaseId),
98
- readReleaseCover(client, pressing.releaseId),
99
- getReleaseCredits(client.protocol, pressing.releaseId, client.config.protocol.releaseCredits).catch(() => null),
100
- client.sui.party.getPartyById(partyId),
105
+ const [resources, entity] = await Promise.all([
106
+ getReleaseResources(client, pressing.releaseId, ["cover", "credits"]),
107
+ fallbackArtist === undefined
108
+ ? client.sui.party.getPartyById(partyId)
109
+ : Promise.resolve(null),
101
110
  ]);
111
+ const { release, cover, credits } = resources;
102
112
  // The artist line prefers the release's own PRIMARY credits and falls back to
103
113
  // the party whose page this is — a release with no credits set still shows an
104
114
  // artist, which is the behavior the featured card has always had.
105
- const primary = (credits ?? []).filter((c) => c.roles.includes("Primary")).map((c) => c.displayName);
115
+ const primary = (credits ?? [])
116
+ .filter((c) => c.roles.includes("Primary"))
117
+ .map((c) => c.displayName);
106
118
  return {
107
119
  pressingId,
108
120
  releaseId: pressing.releaseId,
109
121
  title: release.title,
110
- artist: primary.length ? primary.join(", ") : entity.name,
122
+ artist: primary.length
123
+ ? primary.join(", ")
124
+ : (fallbackArtist ?? entity?.name ?? ""),
111
125
  coverUrl: cover?.still.url ?? null,
112
126
  };
113
127
  }
128
+ export async function getFeaturedRelease(client, partyId) {
129
+ return resolveFeaturedRelease(client, partyId);
130
+ }
114
131
  //# sourceMappingURL=artist.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"artist.js","sourceRoot":"","sources":["../../src/read/artist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artist.js","sourceRoot":"","sources":["../../src/read/artist.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { Release } from "@misonetwork/sdk";
1
2
  import type { MisoClient } from "./client.ts";
2
3
  import type { Cover, Credit, Currency, DiscoverItem, DropPreview, PressingDetail, RecordAlbum, ReleaseDetail, TrackCredits } from "./types.ts";
3
4
  /**
@@ -18,6 +19,18 @@ export declare function primaryArtistNames(credits: Credit[]): string[];
18
19
  * `lib/pressing.ts:readReleaseCover`.
19
20
  */
20
21
  export declare function readReleaseCover(client: MisoClient, releaseId: string): Promise<Cover | null>;
22
+ export type ReleaseResourceInclude = "cover" | "credits";
23
+ export interface ReleaseResources {
24
+ release: Release;
25
+ cover?: Cover | null;
26
+ credits?: Credit[];
27
+ }
28
+ /**
29
+ * A release plus selected derived resources in one heterogeneous Core batch.
30
+ * Every extension id is deterministic, so separate object calls only add
31
+ * network round trips without discovering anything new.
32
+ */
33
+ export declare function getReleaseResources(client: MisoClient, releaseId: string, include?: readonly ReleaseResourceInclude[]): Promise<ReleaseResources>;
21
34
  /**
22
35
  * A release with its cover, credits, and resolved tracklist.
23
36
  *
@@ -27,7 +40,11 @@ export declare function readReleaseCover(client: MisoClient, releaseId: string):
27
40
  * split is inherited from `lib/drops.ts` and is what keeps a half-configured
28
41
  * release renderable.
29
42
  */
30
- export declare function getReleaseDetail(client: MisoClient, releaseId: string): Promise<ReleaseDetail>;
43
+ export type ReleaseInclude = "trackCredits";
44
+ export interface GetReleaseOptions {
45
+ include?: readonly ReleaseInclude[];
46
+ }
47
+ export declare function getReleaseDetail(client: MisoClient, releaseId: string, options?: GetReleaseOptions): Promise<ReleaseDetail>;
31
48
  /**
32
49
  * Per-track credits for a release, keyed by recording id. A track with no credits
33
50
  * set maps to an empty entry rather than being absent, so a caller can tell
@@ -35,7 +52,7 @@ export declare function getReleaseDetail(client: MisoClient, releaseId: string):
35
52
  */
36
53
  export declare function getTrackCredits(client: MisoClient, releaseId: string): Promise<Record<string, TrackCredits>>;
37
54
  /** Everything the pressing buy page renders. `null` when no such pressing exists. */
38
- export declare function getPressingDetail(client: MisoClient, pressingId: string): Promise<PressingDetail | null>;
55
+ export declare function getPressingDetail(client: MisoClient, pressingId: string, options?: GetReleaseOptions): Promise<PressingDetail | null>;
39
56
  /**
40
57
  * The confirmation preview behind "paste a pressing id to pin it". Verifies the
41
58
  * object really is a `Drop` before spending reads on it — a release id or a
@@ -59,5 +76,9 @@ export declare function getDiscoverShelf(client: MisoClient): Promise<DiscoverIt
59
76
  * This answer is IMMUTABLE for the life of the record, which is what lets the
60
77
  * endpoint in front of it cache for a year.
61
78
  */
62
- export declare function getRecordAlbum(client: MisoClient, recordId: string): Promise<RecordAlbum | null>;
79
+ export type RecordAlbumInclude = "release" | "trackCredits";
80
+ export interface GetRecordAlbumOptions {
81
+ include?: readonly RecordAlbumInclude[];
82
+ }
83
+ export declare function getRecordAlbum(client: MisoClient, recordId: string, options?: GetRecordAlbumOptions): Promise<RecordAlbum | null>;
63
84
  //# sourceMappingURL=catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/read/catalog.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,OAAO,KAAK,EACV,KAAK,EAEL,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EAGd,WAAW,EACX,aAAa,EACb,YAAY,EAGb,MAAM,YAAY,CAAC;AAoBpB;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,CAK1D;AA8BD,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE9D;AAkBD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAOnG;AAID;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAyBpG;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAiBlH;AAID,qFAAqF;AACrF,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAK9G;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAqBpG;AAID;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAGlF;AA0BD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAUtG"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/read/catalog.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,OAAO,KAAK,EACV,KAAK,EAEL,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EAGd,WAAW,EACX,aAAa,EACb,YAAY,EAGb,MAAM,YAAY,CAAC;AAmCpB;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,CAU1D;AAuCD,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAI9D;AAqBD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAQvB;AAED,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,SAAS,sBAAsB,EAAO,GAC9C,OAAO,CAAC,gBAAgB,CAAC,CAqE3B;AAID;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CACrC;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,aAAa,CAAC,CAmCxB;AAgCD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAIvC;AAID,qFAAqF;AACrF,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAKhC;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAmB7B;AAID;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,YAAY,EAAE,CAAC,CA2CzB;AAID;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,cAAc,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACzC;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAgC7B"}