@flighthq/command 0.5.1-next.743.8d09db1 → 0.5.1-next.815.cc08b93

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.
package/README.md CHANGED
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/command`. The `@flig
13
13
  This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
14
14
 
15
15
  - [Flight project](https://github.com/flighthq/flight)
16
- - [Source for @flighthq/command@0.5.1-next.743.8d09db1](https://github.com/flighthq/flight/tree/8d09db125a0afd3b73ca6e039a7dd25bcb9737d0/packages/command)
17
- - [License](https://github.com/flighthq/flight/blob/8d09db125a0afd3b73ca6e039a7dd25bcb9737d0/LICENSE.md)
16
+ - [Source for @flighthq/command@0.5.1-next.815.cc08b93](https://github.com/flighthq/flight/tree/cc08b93ef981080fa86bdd5143dc61dbdbf2665b/packages/command)
17
+ - [License](https://github.com/flighthq/flight/blob/cc08b93ef981080fa86bdd5143dc61dbdbf2665b/LICENSE.md)
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,OAAO,EAEP,gBAAgB,EAChB,OAAO,EACP,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAiBlC,yDAAyD;AACzD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,OAAO,EACd,KAAK,SAAK,GACT,mBAAmB,CAErB;AAED,wGAAwG;AACxG,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,gBAAgB,CAEpG;AAID,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAEnH;AAGD,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,GACd,uBAAuB,CASzB;AAQD,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,WAAW,SAAI,EACf,IAAI,SAAI,GACP,sBAAsB,CAQxB;AAID,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,SAAS,QAAQ,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,EAAE,EACnF,WAAW,SAAI,EACf,IAAI,SAAI,GACP,sBAAsB,CAQxB"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,OAAO,EAEP,gBAAgB,EAChB,OAAO,EACP,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAiBlC,yDAAyD;AACzD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,OAAO,EACd,KAAK,SAAK,GACT,mBAAmB,CAErB;AAED,wGAAwG;AACxG,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,gBAAgB,CAEpG;AAID,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAQnH;AAGD,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,GACd,uBAAuB,CASzB;AAQD,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,WAAW,SAAI,EACf,IAAI,SAAI,GACP,sBAAsB,CAQxB;AAID,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,SAAS,QAAQ,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,EAAE,EACnF,WAAW,SAAI,EACf,IAAI,SAAI,GACP,sBAAsB,CAQxB"}
package/dist/command.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  import { getNodeChildIndex } from '@flighthq/node/contract';
2
3
  import { AddNodeChildCommandKind, CompositeCommandKind, RemoveNodeChildCommandKind, ReorderNodeChildCommandKind, SetNodePropertyCommandKind, } from '@flighthq/types/contract';
3
4
  // Constructors for the built-in command kinds. Each returns PLAIN DATA — no method, no captured closure —
@@ -9,27 +10,33 @@ import { AddNodeChildCommandKind, CompositeCommandKind, RemoveNodeChildCommandKi
9
10
  // command BEFORE applying the change by hand.
10
11
  /** Adds `child` to `parent`. `index` of `-1` appends. */
11
12
  export function createAddNodeChildCommand(label, parent, child, index = -1) {
12
- return { child, index, kind: AddNodeChildCommandKind, label, parent };
13
+ return createEntity({ child, index, kind: AddNodeChildCommandKind, label, parent });
13
14
  }
14
15
  /** Applies `children` as one history entry, in order; undo runs them in reverse. Nesting is allowed. */
15
16
  export function createCompositeCommand(label, children) {
16
- return { children: [...children], kind: CompositeCommandKind, label };
17
+ return createEntity({ children: [...children], kind: CompositeCommandKind, label });
17
18
  }
18
19
  // Removes `child` from `parent`, capturing its CURRENT index so undo restores position and not merely
19
20
  // membership. Build this before removing the child — once it is detached the index is gone.
20
21
  export function createRemoveNodeChildCommand(label, parent, child) {
21
- return { child, index: getNodeChildIndex(parent, child), kind: RemoveNodeChildCommandKind, label, parent };
22
+ return createEntity({
23
+ child,
24
+ index: getNodeChildIndex(parent, child),
25
+ kind: RemoveNodeChildCommandKind,
26
+ label,
27
+ parent,
28
+ });
22
29
  }
23
30
  // Moves `child` to `toIndex`, capturing where it started. Build this before moving the child.
24
31
  export function createReorderNodeChildCommand(label, parent, child, toIndex) {
25
- return {
32
+ return createEntity({
26
33
  child,
27
34
  fromIndex: getNodeChildIndex(parent, child),
28
35
  kind: ReorderNodeChildCommandKind,
29
36
  label,
30
37
  parent,
31
38
  toIndex,
32
- };
39
+ });
33
40
  }
34
41
  // One property assignment. `before` is read from the node NOW, so build this before writing the value.
35
42
  //
@@ -38,13 +45,13 @@ export function createReorderNodeChildCommand(label, parent, child, toIndex) {
38
45
  // undo entry. Both default to 0, meaning every change is its own entry. `time` is supplied by the caller
39
46
  // because this package takes no clock dependency — and a caller-supplied number stays serializable.
40
47
  export function createSetNodePropertyCommand(label, target, property, value, mergeWindow = 0, time = 0) {
41
- return {
48
+ return createEntity({
42
49
  entries: [{ after: value, before: readNodeProperty(target, property), property, target }],
43
50
  kind: SetNodePropertyCommandKind,
44
51
  label,
45
52
  mergeWindow,
46
53
  time,
47
- };
54
+ });
48
55
  }
49
56
  // Several property assignments applied together as one entry — the shape a gizmo drag produces when it
50
57
  // writes x and y at once. Each `before` is read now, in the order given.
@@ -55,7 +62,7 @@ export function createSetNodePropertyCommandBatch(label, entries, mergeWindow =
55
62
  property: entry.property,
56
63
  target: entry.target,
57
64
  }));
58
- return { entries: captured, kind: SetNodePropertyCommandKind, label, mergeWindow, time };
65
+ return createEntity({ entries: captured, kind: SetNodePropertyCommandKind, label, mergeWindow, time });
59
66
  }
60
67
  function readNodeProperty(target, property) {
61
68
  return target[property];
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAW5D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAElC,0GAA0G;AAC1G,sGAAsG;AACtG,2FAA2F;AAC3F,EAAE;AACF,2GAA2G;AAC3G,2GAA2G;AAC3G,8CAA8C;AAE9C,yDAAyD;AACzD,MAAM,UAAU,yBAAyB,CACvC,KAAa,EACb,MAAe,EACf,KAAc,EACd,KAAK,GAAG,CAAC,CAAC;IAEV,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACxE,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,sBAAsB,CAAC,KAAa,EAAE,QAA4B;IAChF,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AACxE,CAAC;AAED,sGAAsG;AACtG,4FAA4F;AAC5F,MAAM,UAAU,4BAA4B,CAAC,KAAa,EAAE,MAAe,EAAE,KAAc;IACzF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC7G,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,6BAA6B,CAC3C,KAAa,EACb,MAAe,EACf,KAAc,EACd,OAAe;IAEf,OAAO;QACL,KAAK;QACL,SAAS,EAAE,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC;QAC3C,IAAI,EAAE,2BAA2B;QACjC,KAAK;QACL,MAAM;QACN,OAAO;KACR,CAAC;AACJ,CAAC;AAED,uGAAuG;AACvG,EAAE;AACF,uGAAuG;AACvG,wGAAwG;AACxG,yGAAyG;AACzG,oGAAoG;AACpG,MAAM,UAAU,4BAA4B,CAC1C,KAAa,EACb,MAAe,EACf,QAAgB,EAChB,KAAc,EACd,WAAW,GAAG,CAAC,EACf,IAAI,GAAG,CAAC;IAER,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACzF,IAAI,EAAE,0BAA0B;QAChC,KAAK;QACL,WAAW;QACX,IAAI;KACL,CAAC;AACJ,CAAC;AAED,uGAAuG;AACvG,yEAAyE;AACzE,MAAM,UAAU,iCAAiC,CAC/C,KAAa,EACb,OAAmF,EACnF,WAAW,GAAG,CAAC,EACf,IAAI,GAAG,CAAC;IAER,MAAM,QAAQ,GAA2B,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/D,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;QACtD,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC3F,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAyB,EAAE,QAAgB;IACnE,OAAQ,MAAuD,CAAC,QAAQ,CAAC,CAAC;AAC5E,CAAC"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { CommandBinding, CommandHistory, Kind, KeyedTable } from '@flighthq/types/contract';
1
+ import type { CommandBinding, CommandBindingTable, CommandHistory, Kind } from '@flighthq/types/contract';
2
2
  /** An empty command binding table. Every kind a history will dispatch must be registered into it. */
3
- export declare function createCommandBindingTable(): KeyedTable<CommandBinding>;
3
+ export declare function createCommandBindingTable(): CommandBindingTable;
4
4
  /** The binding registered for `kind`, or `null` when nothing is. */
5
5
  export declare function getCommandBinding(history: Readonly<CommandHistory>, kind: Kind): CommandBinding | null;
6
6
  export declare function hasCommandBinding(history: Readonly<CommandHistory>, kind: Kind): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"commandBinding.d.ts","sourceRoot":"","sources":["../src/commandBinding.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,cAAc,EACd,cAAc,EAEd,IAAI,EACJ,UAAU,EAKX,MAAM,0BAA0B,CAAC;AAWlC,qGAAqG;AACrG,wBAAgB,yBAAyB,IAAI,UAAU,CAAC,cAAc,CAAC,CAEtE;AAED,oEAAoE;AACpE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,IAAI,CAEtG;AAKD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAExF;AAKD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAEzG;AAID,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAM5E"}
1
+ {"version":3,"file":"commandBinding.d.ts","sourceRoot":"","sources":["../src/commandBinding.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,cAAc,EACd,mBAAmB,EACnB,cAAc,EAGd,IAAI,EAML,MAAM,0BAA0B,CAAC;AAWlC,qGAAqG;AACrG,wBAAgB,yBAAyB,IAAI,mBAAmB,CAI/D;AAED,oEAAoE;AACpE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,IAAI,CAEtG;AAKD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAExF;AAKD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAEzG;AAID,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAM5E"}
@@ -1,9 +1,10 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  import { addNodeChildAt, getNodeChildCount, removeNodeChild, setNodeChildIndex } from '@flighthq/node/contract';
2
3
  import { createKeyedTable, getRegistryTableEntry, withRegistryTableEntry } from '@flighthq/registry/contract';
3
4
  import { AddNodeChildCommandKind, CommandBindingMissPolicy, CommandBindingRegistryId, CompositeCommandKind, RemoveNodeChildCommandKind, ReorderNodeChildCommandKind, SetNodePropertyCommandKind, } from '@flighthq/types/contract';
4
5
  /** An empty command binding table. Every kind a history will dispatch must be registered into it. */
5
6
  export function createCommandBindingTable() {
6
- return createKeyedTable(CommandBindingRegistryId, CommandBindingMissPolicy);
7
+ return createEntity(createKeyedTable(CommandBindingRegistryId, CommandBindingMissPolicy));
7
8
  }
8
9
  /** The binding registered for `kind`, or `null` when nothing is. */
9
10
  export function getCommandBinding(history, kind) {
@@ -19,7 +20,7 @@ export function hasCommandBinding(history, kind) {
19
20
  // in, which is what keeps unused command kinds shakeable and lets a consumer override a built-in binding
20
21
  // or add a vendor-prefixed kind of their own. Last write wins.
21
22
  export function registerCommandBinding(history, kind, binding) {
22
- history.bindings = withRegistryTableEntry(history.bindings, kind, binding);
23
+ history.bindings = createEntity(withRegistryTableEntry(history.bindings, kind, binding));
23
24
  }
24
25
  // Registers the five built-in kinds. An explicit call rather than a side effect at import: a history that
25
26
  // only dispatches a caller's own kinds never references these, so they shake out of the bundle.
@@ -112,7 +113,7 @@ const setNodePropertyCommandBinding = {
112
113
  if (a.entries[i].property !== b.entries[i].property)
113
114
  return null;
114
115
  }
115
- return {
116
+ return createEntity({
116
117
  entries: a.entries.map((entry, i) => ({
117
118
  after: b.entries[i].after,
118
119
  before: entry.before,
@@ -123,7 +124,7 @@ const setNodePropertyCommandBinding = {
123
124
  label: b.label,
124
125
  mergeWindow: b.mergeWindow,
125
126
  time: b.time,
126
- };
127
+ });
127
128
  },
128
129
  undo: (command) => {
129
130
  const entries = command.entries;
@@ -1 +1 @@
1
- {"version":3,"file":"commandBinding.js","sourceRoot":"","sources":["../src/commandBinding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commandBinding.js","sourceRoot":"","sources":["../src/commandBinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAChH,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAe9G,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAElC,qGAAqG;AACrG,MAAM,UAAU,yBAAyB;IACvC,OAAO,YAAY,CACjB,gBAAgB,CAAiB,wBAAwB,EAAE,wBAAwB,CAAC,CACrF,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,iBAAiB,CAAC,OAAiC,EAAE,IAAU;IAC7E,OAAO,qBAAqB,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,wGAAwG;AACxG,wGAAwG;AACxG,wFAAwF;AACxF,MAAM,UAAU,iBAAiB,CAAC,OAAiC,EAAE,IAAU;IAC7E,OAAO,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;AACnD,CAAC;AAED,wGAAwG;AACxG,yGAAyG;AACzG,+DAA+D;AAC/D,MAAM,UAAU,sBAAsB,CAAC,OAAuB,EAAE,IAAU,EAAE,OAAuB;IACjG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAA6B,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACvH,CAAC;AAED,0GAA0G;AAC1G,gGAAgG;AAChG,MAAM,UAAU,8BAA8B,CAAC,OAAuB;IACpE,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,CAAC,CAAC;IACrF,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;IACxF,sBAAsB,CAAC,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,CAAC,CAAC;IAC3F,sBAAsB,CAAC,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,CAAC,CAAC;IAC7F,sBAAsB,CAAC,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,0BAA0B,GAAmB;IACjD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;QACnB,MAAM,GAAG,GAAG,OAAwC,CAAC;QACrD,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;QAChB,MAAM,GAAG,GAAG,OAAwC,CAAC;QACrD,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;CACF,CAAC;AAEF,qGAAqG;AACrG,yGAAyG;AACzG,yGAAyG;AACzG,2BAA2B;AAC3B,SAAS,uBAAuB,CAAC,OAAiC;IAChE,OAAO;QACL,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;YACnB,MAAM,QAAQ,GAAI,OAAsC,CAAC,QAAQ,CAAC;YAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QACD,kGAAkG;QAClG,4CAA4C;QAC5C,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YAChB,MAAM,QAAQ,GAAI,OAAsC,CAAC,QAAQ,CAAC;YAClE,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,6BAA6B,GAAmB;IACpD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;QACnB,MAAM,MAAM,GAAG,OAA2C,CAAC;QAC3D,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IACD,kGAAkG;IAClG,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;QAChB,MAAM,MAAM,GAAG,OAA2C,CAAC;QAC3D,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/F,CAAC;CACF,CAAC;AAEF,MAAM,8BAA8B,GAAmB;IACrD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;QACnB,MAAM,OAAO,GAAG,OAA4C,CAAC;QAC7D,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;QAChB,MAAM,OAAO,GAAG,OAA4C,CAAC;QAC7D,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC;CACF,CAAC;AAEF,2GAA2G;AAC3G,wFAAwF;AACxF,MAAM,6BAA6B,GAAmB;IACpD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;QACnB,MAAM,OAAO,GAAI,OAA4C,CAAC,OAAO,CAAC;QACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,wGAAwG;IACxG,uGAAuG;IACvG,uGAAuG;IACvG,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;QACxB,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAC7C,MAAM,CAAC,GAAG,QAA4C,CAAC;QACvD,MAAM,CAAC,GAAG,IAAwC,CAAC;QACnD,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1D,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QACjD,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAC7D,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;QACnE,CAAC;QACD,OAAO,YAAY,CAA6C;YAC9D,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;gBACzB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;YACH,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC;IACL,CAAC;IACD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;QAChB,MAAM,OAAO,GAAI,OAA4C,CAAC,OAAO,CAAC;QACtE,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;CACF,CAAC;AAEF,2GAA2G;AAC3G,2GAA2G;AAC3G,oBAAoB;AACpB,SAAS,kBAAkB,CAAC,MAAyB,EAAE,KAAa;IAClE,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AACpD,CAAC;AAED,sGAAsG;AACtG,2EAA2E;AAC3E,SAAS,iBAAiB,CAAC,MAAe,EAAE,QAAgB,EAAE,KAAc;IACzE,MAA6C,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;AACnE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"commandHistory.d.ts","sourceRoot":"","sources":["../src/commandHistory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAIxE,oDAAoD;AACpD,wBAAgB,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,OAAO,CAEzE;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,OAAO,CAEzE;AAID,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAQjE;AAED,iGAAiG;AACjG,wBAAgB,oBAAoB,CAAC,OAAO,SAAI,GAAG,cAAc,CAWhE;AAUD,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAuBjF;AAED,kFAAkF;AAClF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,SAAS,OAAO,EAAE,CAE9F;AAED,qGAAqG;AACrG,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,MAAM,CAEhF;AAED,2DAA2D;AAC3D,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,MAAM,GAAG,IAAI,CAE3F;AAED,0DAA0D;AAC1D,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,MAAM,GAAG,IAAI,CAE3F;AAID,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAEnF;AAKD,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAS5D;AAED,gDAAgD;AAChD,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAS5D"}
1
+ {"version":3,"file":"commandHistory.d.ts","sourceRoot":"","sources":["../src/commandHistory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAIxE,oDAAoD;AACpD,wBAAgB,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,OAAO,CAEzE;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,OAAO,CAEzE;AAID,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAQjE;AAED,iGAAiG;AACjG,wBAAgB,oBAAoB,CAAC,OAAO,SAAI,GAAG,cAAc,CAWhE;AAUD,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAuBjF;AAED,kFAAkF;AAClF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,SAAS,OAAO,EAAE,CAE9F;AAED,qGAAqG;AACrG,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,MAAM,CAEhF;AAED,2DAA2D;AAC3D,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,MAAM,GAAG,IAAI,CAE3F;AAED,0DAA0D;AAC1D,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,MAAM,GAAG,IAAI,CAE3F;AAID,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAEnF;AAKD,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAS5D;AAED,gDAAgD;AAChD,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAS5D"}
@@ -1,3 +1,4 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  import { emitSignal } from '@flighthq/signals/contract';
2
3
  import { createCommandBindingTable, getCommandBinding } from './commandBinding';
3
4
  /** Whether there is an applied entry to reverse. */
@@ -22,7 +23,7 @@ export function clearCommandHistory(history) {
22
23
  }
23
24
  /** An empty history with no bindings registered. `maxSize` of `0` (the default) is unbounded. */
24
25
  export function createCommandHistory(maxSize = 0) {
25
- return {
26
+ return createEntity({
26
27
  bindings: createCommandBindingTable(),
27
28
  entries: [],
28
29
  index: 0,
@@ -31,7 +32,7 @@ export function createCommandHistory(maxSize = 0) {
31
32
  transactionDepth: 0,
32
33
  transactionIndex: 0,
33
34
  transactionLabel: null,
34
- };
35
+ });
35
36
  }
36
37
  // Applies `command` and pushes it. Returns false and changes nothing when the command's kind has no
37
38
  // registered binding — an unregistered kind is an expected lookup failure, so it takes a sentinel rather
@@ -1 +1 @@
1
- {"version":3,"file":"commandHistory.js","sourceRoot":"","sources":["../src/commandHistory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commandHistory.js","sourceRoot":"","sources":["../src/commandHistory.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/command",
3
- "version": "0.5.1-next.743.8d09db1",
3
+ "version": "0.5.1-next.815.cc08b93",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,10 +38,11 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/node": "0.5.1-next.743.8d09db1",
42
- "@flighthq/registry": "0.5.1-next.743.8d09db1",
43
- "@flighthq/signals": "0.5.1-next.743.8d09db1",
44
- "@flighthq/types": "0.5.1-next.743.8d09db1"
41
+ "@flighthq/entity": "0.5.1-next.815.cc08b93",
42
+ "@flighthq/node": "0.5.1-next.815.cc08b93",
43
+ "@flighthq/registry": "0.5.1-next.815.cc08b93",
44
+ "@flighthq/signals": "0.5.1-next.815.cc08b93",
45
+ "@flighthq/types": "0.5.1-next.815.cc08b93"
45
46
  },
46
47
  "devDependencies": {
47
48
  "typescript": "^5.3.0"
@@ -3,6 +3,7 @@ import type { NodeAny } from '@flighthq/types/contract';
3
3
  import {
4
4
  AddNodeChildCommandKind,
5
5
  CompositeCommandKind,
6
+ EntityRuntimeKey,
6
7
  RemoveNodeChildCommandKind,
7
8
  ReorderNodeChildCommandKind,
8
9
  SetNodePropertyCommandKind,
@@ -19,11 +20,12 @@ import {
19
20
  } from './command';
20
21
 
21
22
  describe('createAddNodeChildCommand', () => {
22
- it('is plain data carrying its kind, and appends by default', () => {
23
+ it('is Entity data carrying its kind, and appends by default', () => {
23
24
  const parent = node();
24
25
  const child = node();
25
26
  const command = createAddNodeChildCommand('Add sprite', parent, child);
26
- expect(command).toEqual({ child, index: -1, kind: AddNodeChildCommandKind, label: 'Add sprite', parent });
27
+ expect(Object.hasOwn(command, EntityRuntimeKey)).toBe(true);
28
+ expect(command).toMatchObject({ child, index: -1, kind: AddNodeChildCommandKind, label: 'Add sprite', parent });
27
29
  });
28
30
 
29
31
  it('records an explicit insertion index', () => {
@@ -1,3 +1,4 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  import { addNodeChild, createNode, getNodeChildCount, getNodeChildIndex } from '@flighthq/node/contract';
2
3
  import type { CommandBinding, NodeAny, SetNodePropertyCommand } from '@flighthq/types/contract';
3
4
  import { SetNodePropertyCommandKind } from '@flighthq/types/contract';
@@ -49,7 +50,7 @@ describe('registerCommandBinding', () => {
49
50
  execute: () => seen.push('execute'),
50
51
  undo: () => seen.push('undo'),
51
52
  });
52
- executeCommand(history, { kind: 'acme.Custom', label: 'Custom' });
53
+ executeCommand(history, createEntity({ kind: 'acme.Custom', label: 'Custom' }));
53
54
  undoCommand(history);
54
55
  expect(seen).toEqual(['execute', 'undo']);
55
56
  });
@@ -1,3 +1,4 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  import { createNode, getNodeChildCount } from '@flighthq/node/contract';
2
3
  import { connectSignal } from '@flighthq/signals/contract';
3
4
  import type { Command, CommandHistory, NodeAny } from '@flighthq/types/contract';
@@ -77,7 +78,7 @@ describe('createCommandHistory', () => {
77
78
  describe('executeCommand', () => {
78
79
  it('refuses an unregistered kind rather than pushing an entry undo would skip', () => {
79
80
  const history = createCommandHistory();
80
- expect(executeCommand(history, { kind: 'acme.Unbound', label: 'Nope' })).toBe(false);
81
+ expect(executeCommand(history, command('acme.Unbound', 'Nope'))).toBe(false);
81
82
  expect(getCommandHistoryEntries(history)).toHaveLength(0);
82
83
  });
83
84
 
@@ -173,8 +174,8 @@ describe('undoCommand', () => {
173
174
  execute: () => undefined,
174
175
  undo: (command) => order.push(command.label),
175
176
  });
176
- executeCommand(history, { kind: 'test.Ordered', label: 'One' });
177
- executeCommand(history, { kind: 'test.Ordered', label: 'Two' });
177
+ executeCommand(history, command('test.Ordered', 'One'));
178
+ executeCommand(history, command('test.Ordered', 'Two'));
178
179
  undoCommand(history);
179
180
  undoCommand(history);
180
181
  expect(order).toEqual(['Two', 'One']);
@@ -182,7 +183,11 @@ describe('undoCommand', () => {
182
183
  });
183
184
 
184
185
  function counter(label: string): Command {
185
- return { kind: 'test.Counter', label };
186
+ return command('test.Counter', label);
187
+ }
188
+
189
+ function command(kind: string, label: string): Command {
190
+ return createEntity({ kind, label });
186
191
  }
187
192
 
188
193
  // A history bound to one inert kind, so stack behaviour can be tested without any graph mutation.
@@ -1,3 +1,4 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  import { connectSignal } from '@flighthq/signals/contract';
2
3
  import { describe, expect, it } from 'vitest';
3
4
 
@@ -19,7 +20,7 @@ describe('enableCommandHistorySignals', () => {
19
20
  let changes = 0;
20
21
  connectSignal(enableCommandHistorySignals(history), () => changes++);
21
22
 
22
- executeCommand(history, { kind: 'test.Counter', label: 'One' });
23
+ executeCommand(history, createEntity({ kind: 'test.Counter', label: 'One' }));
23
24
  expect(changes).toBe(1);
24
25
  undoCommand(history);
25
26
  expect(changes).toBe(2);
@@ -30,7 +31,7 @@ describe('enableCommandHistorySignals', () => {
30
31
  const history = createCommandHistory();
31
32
  let changes = 0;
32
33
  connectSignal(enableCommandHistorySignals(history), () => changes++);
33
- executeCommand(history, { kind: 'acme.Unbound', label: 'Nope' });
34
+ executeCommand(history, createEntity({ kind: 'acme.Unbound', label: 'Nope' }));
34
35
  expect(changes).toBe(0);
35
36
  });
36
37
  });
@@ -1,3 +1,4 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  import { describe, expect, it } from 'vitest';
2
3
 
3
4
  import { createCompositeCommand } from './command';
@@ -8,7 +9,7 @@ import { explainCommandDispatch } from './explainCommandDispatch';
8
9
  describe('explainCommandDispatch', () => {
9
10
  it('names the unregistered kind behind a refusal', () => {
10
11
  const history = createCommandHistory();
11
- expect(explainCommandDispatch(history, { kind: 'acme.Unbound', label: 'Nope' })).toEqual({
12
+ expect(explainCommandDispatch(history, createEntity({ kind: 'acme.Unbound', label: 'Nope' }))).toEqual({
12
13
  missingKind: 'acme.Unbound',
13
14
  resolved: false,
14
15
  });
@@ -17,7 +18,7 @@ describe('explainCommandDispatch', () => {
17
18
  it('resolves when the kind is registered', () => {
18
19
  const history = createCommandHistory();
19
20
  registerCommandBinding(history, 'acme.Bound', { execute: () => undefined, undo: () => undefined });
20
- expect(explainCommandDispatch(history, { kind: 'acme.Bound', label: 'Yes' })).toEqual({
21
+ expect(explainCommandDispatch(history, createEntity({ kind: 'acme.Bound', label: 'Yes' }))).toEqual({
21
22
  missingKind: null,
22
23
  resolved: true,
23
24
  });
@@ -28,7 +29,7 @@ describe('explainCommandDispatch', () => {
28
29
  it('descends into a composite and names an unbound child kind', () => {
29
30
  const history = createCommandHistory();
30
31
  registerCommandBinding(history, 'CompositeCommand', { execute: () => undefined, undo: () => undefined });
31
- const composite = createCompositeCommand('Group', [{ kind: 'acme.Unbound', label: 'Child' }]);
32
+ const composite = createCompositeCommand('Group', [createEntity({ kind: 'acme.Unbound', label: 'Child' })]);
32
33
  expect(explainCommandDispatch(history, composite).missingKind).toBe('acme.Unbound');
33
34
  });
34
35
 
@@ -36,7 +37,7 @@ describe('explainCommandDispatch', () => {
36
37
  const history = createCommandHistory();
37
38
  registerCommandBinding(history, 'CompositeCommand', { execute: () => undefined, undo: () => undefined });
38
39
  registerCommandBinding(history, 'acme.Bound', { execute: () => undefined, undo: () => undefined });
39
- const composite = createCompositeCommand('Group', [{ kind: 'acme.Bound', label: 'Child' }]);
40
+ const composite = createCompositeCommand('Group', [createEntity({ kind: 'acme.Bound', label: 'Child' })]);
40
41
  expect(explainCommandDispatch(history, composite).resolved).toBe(true);
41
42
  });
42
43
  });