@amalgm/live 0.2.81-main.43165964618 → 0.2.81-main.43170577071

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.
@@ -3,13 +3,16 @@ import { type Entry } from './where.js';
3
3
  export type Listing =
4
4
  /** A folder's listing, in the root and at the address named: `shelf`, the
5
5
  * names standing on that shelf's directory, which the host describes;
6
- * `entries`, what the map adds. Together they are the whole listing. */
6
+ * `entries`, what the map adds. Together they are the whole listing.
7
+ * `standing`, the shelf's names that are placed entities of the map, each
8
+ * with its UUID. */
7
9
  {
8
10
  readonly kind: 'entries';
9
11
  readonly root: string;
10
12
  readonly address: readonly string[];
11
13
  readonly shelf: readonly string[];
12
14
  readonly entries: readonly Entry[];
15
+ readonly standing: readonly Standing[];
13
16
  }
14
17
  /** An unplaced repository's `.git`, or a folder inside it: place
15
18
  * `placing`, then list the shelf. */
@@ -21,5 +24,10 @@ export type Listing =
21
24
  } | {
22
25
  readonly kind: 'notdir';
23
26
  };
27
+ /** A shelf name and the placed entity of the map it stands for. */
28
+ export interface Standing {
29
+ readonly name: string;
30
+ readonly uuid: string;
31
+ }
24
32
  export declare function listing(roots: RootsPort, path: readonly string[]): Promise<Listing>;
25
33
  //# sourceMappingURL=listing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"listing.d.ts","sourceRoot":"","sources":["../../src/drive/listing.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAa,SAAS,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAuE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAE7G,MAAM,MAAM,OAAO;AACjB;;wEAEwE;AACtE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,CAAA;CAAE;AACjK;qCACqC;GACnC;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAA;CAAE,GACnE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEhC,wBAAsB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAkCzF"}
1
+ {"version":3,"file":"listing.d.ts","sourceRoot":"","sources":["../../src/drive/listing.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAa,SAAS,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAuE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAE7G,MAAM,MAAM,OAAO;AACjB;;;;oBAIoB;AAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,QAAQ,EAAE,CAAA;CAAE;AACzM;qCACqC;GACnC;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAA;CAAE,GACnE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEhC,mEAAmE;AACnE,MAAM,WAAW,QAAQ;IAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAE1E,wBAAsB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAqCzF"}
@@ -11,6 +11,13 @@
11
11
  * unplaced repository lists its files from the map and its `.git` as its
12
12
  * Git directory, so finding a repository needs no bytes; only listing
13
13
  * inside `.git`, whose names the map does not hold, places it first.
14
+ *
15
+ * A listing names the entity each name shows, where the map has one: an
16
+ * entry by its UUID, and a shelf name standing for a placed entity by that
17
+ * entity's (`standing`). A door that holds what it listed, as Windows'
18
+ * placeholders do, finds by them the one name a change to an entity reaches,
19
+ * never stating the folder's other names. Any other shelf name is a person's
20
+ * own ground, which the map names nothing for yet.
14
21
  */
15
22
  import { CONTAINERS } from '../entities/types.js';
16
23
  import { active, derivedNames, entryOf, gitDirectory, rootOf, unshown, where } from './where.js';
@@ -22,19 +29,22 @@ export async function listing(roots, path) {
22
29
  const root = await rootOf(roots, at.root);
23
30
  if (root === null)
24
31
  return { kind: 'nowhere' };
25
- const standing = root.shelf.names(at.address);
26
- if (standing === null)
32
+ const names = root.shelf.names(at.address);
33
+ if (names === null)
27
34
  return root.shelf.has(at.address) ? { kind: 'notdir' } : { kind: 'nowhere' };
28
- const shelf = standing.filter(shown);
29
- const listed = { kind: 'entries', root: at.root, address: at.address, shelf };
35
+ const shelf = names.filter(shown);
36
+ const listed = { kind: 'entries', root: at.root, address: at.address, shelf, entries: [], standing: [] };
30
37
  if (at.entity === null || !CONTAINERS.has(at.entity.type))
31
- return { ...listed, entries: [] };
38
+ return listed;
32
39
  if (!await root.map.enter(at.entity.uuid))
33
40
  return { kind: 'nowhere' };
34
- const held = new Set(standing);
35
- const unplaced = derivedNames(active(root.map.children(at.entity.uuid)))
36
- .filter(([child, name]) => !root.map.placed(child.uuid) && !held.has(name) && shown(name));
37
- return { ...listed, entries: await entries(roots, unplaced) };
41
+ const held = new Set(names);
42
+ const children = derivedNames(active(root.map.children(at.entity.uuid))).filter(([, name]) => shown(name));
43
+ const unplaced = children.filter(([child, name]) => !root.map.placed(child.uuid) && !held.has(name));
44
+ const standing = children
45
+ .filter(([child, name]) => root.map.placed(child.uuid) && held.has(name))
46
+ .map(([child, name]) => ({ name, uuid: child.uuid }));
47
+ return { ...listed, entries: await entries(roots, unplaced), standing };
38
48
  }
39
49
  case 'listed': {
40
50
  if (at.entry.kind !== 'directory')
@@ -46,7 +56,7 @@ export async function listing(roots, path) {
46
56
  return { kind: 'nowhere' };
47
57
  const children = derivedNames(active(root.map.children(at.entry.uuid))).filter(([, name]) => shown(name));
48
58
  const git = at.entry.type === 'repo.git' ? [gitDirectory(at.entity)] : [];
49
- return { kind: 'entries', root: at.root, address: at.address, shelf: [], entries: [...await entries(roots, children), ...git] };
59
+ return { kind: 'entries', root: at.root, address: at.address, shelf: [], entries: [...await entries(roots, children), ...git], standing: [] };
50
60
  }
51
61
  case 'door':
52
62
  return { kind: 'place-first', placing: at.placing };
@@ -1 +1 @@
1
- {"version":3,"file":"listing.js","sourceRoot":"","sources":["../../src/drive/listing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listing.js","sourceRoot":"","sources":["../../src/drive/listing.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,13 @@ exports.listing = listing;
14
14
  * unplaced repository lists its files from the map and its `.git` as its
15
15
  * Git directory, so finding a repository needs no bytes; only listing
16
16
  * inside `.git`, whose names the map does not hold, places it first.
17
+ *
18
+ * A listing names the entity each name shows, where the map has one: an
19
+ * entry by its UUID, and a shelf name standing for a placed entity by that
20
+ * entity's (`standing`). A door that holds what it listed, as Windows'
21
+ * placeholders do, finds by them the one name a change to an entity reaches,
22
+ * never stating the folder's other names. Any other shelf name is a person's
23
+ * own ground, which the map names nothing for yet.
17
24
  */
18
25
  const types_js_1 = require("../entities/types.js");
19
26
  const where_js_1 = require("./where.js");
@@ -25,19 +32,22 @@ async function listing(roots, path) {
25
32
  const root = await (0, where_js_1.rootOf)(roots, at.root);
26
33
  if (root === null)
27
34
  return { kind: 'nowhere' };
28
- const standing = root.shelf.names(at.address);
29
- if (standing === null)
35
+ const names = root.shelf.names(at.address);
36
+ if (names === null)
30
37
  return root.shelf.has(at.address) ? { kind: 'notdir' } : { kind: 'nowhere' };
31
- const shelf = standing.filter(shown);
32
- const listed = { kind: 'entries', root: at.root, address: at.address, shelf };
38
+ const shelf = names.filter(shown);
39
+ const listed = { kind: 'entries', root: at.root, address: at.address, shelf, entries: [], standing: [] };
33
40
  if (at.entity === null || !types_js_1.CONTAINERS.has(at.entity.type))
34
- return { ...listed, entries: [] };
41
+ return listed;
35
42
  if (!await root.map.enter(at.entity.uuid))
36
43
  return { kind: 'nowhere' };
37
- const held = new Set(standing);
38
- const unplaced = (0, where_js_1.derivedNames)((0, where_js_1.active)(root.map.children(at.entity.uuid)))
39
- .filter(([child, name]) => !root.map.placed(child.uuid) && !held.has(name) && shown(name));
40
- return { ...listed, entries: await entries(roots, unplaced) };
44
+ const held = new Set(names);
45
+ const children = (0, where_js_1.derivedNames)((0, where_js_1.active)(root.map.children(at.entity.uuid))).filter(([, name]) => shown(name));
46
+ const unplaced = children.filter(([child, name]) => !root.map.placed(child.uuid) && !held.has(name));
47
+ const standing = children
48
+ .filter(([child, name]) => root.map.placed(child.uuid) && held.has(name))
49
+ .map(([child, name]) => ({ name, uuid: child.uuid }));
50
+ return { ...listed, entries: await entries(roots, unplaced), standing };
41
51
  }
42
52
  case 'listed': {
43
53
  if (at.entry.kind !== 'directory')
@@ -49,7 +59,7 @@ async function listing(roots, path) {
49
59
  return { kind: 'nowhere' };
50
60
  const children = (0, where_js_1.derivedNames)((0, where_js_1.active)(root.map.children(at.entry.uuid))).filter(([, name]) => shown(name));
51
61
  const git = at.entry.type === 'repo.git' ? [(0, where_js_1.gitDirectory)(at.entity)] : [];
52
- return { kind: 'entries', root: at.root, address: at.address, shelf: [], entries: [...await entries(roots, children), ...git] };
62
+ return { kind: 'entries', root: at.root, address: at.address, shelf: [], entries: [...await entries(roots, children), ...git], standing: [] };
53
63
  }
54
64
  case 'door':
55
65
  return { kind: 'place-first', placing: at.placing };
@@ -1 +1 @@
1
- {"version":3,"file":"listing.js","sourceRoot":"","sources":["../../src/drive/listing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listing.js","sourceRoot":"","sources":["../../src/drive/listing.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amalgm/live",
3
- "version": "0.2.81-main.43165964618",
3
+ "version": "0.2.81-main.43170577071",
4
4
  "description": "Portable realtime SDK for Amalgm — wire contracts, mutation discipline, and delivery state machines behind host-injected adapters.",
5
5
  "type": "module",
6
6
  "main": "./dist-cjs/index.js",
@@ -112,11 +112,11 @@
112
112
  "dependencies": {
113
113
  "@amalgm/core": "0.5.1-main.42135462570"
114
114
  },
115
- "gitHead": "334e52271ec1b6b6288298d60e7b439bd1c77c1f",
115
+ "gitHead": "2e3db986193744c1c85d1e258db739b67045e5a5",
116
116
  "amalgmSource": {
117
117
  "repository": "amalgm-inc/amalgm-live",
118
118
  "branch": "main",
119
- "commit": "334e52271ec1b6b6288298d60e7b439bd1c77c1f",
120
- "occurrence": "43165964618"
119
+ "commit": "2e3db986193744c1c85d1e258db739b67045e5a5",
120
+ "occurrence": "43170577071"
121
121
  }
122
122
  }