liminal 0.5.3 → 0.5.5

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 (114) hide show
  1. package/Agent.ts +13 -15
  2. package/CHANGELOG.md +15 -0
  3. package/Context.ts +44 -0
  4. package/EventBase.ts +26 -0
  5. package/Globals.ts +1 -1
  6. package/L/L.ts +0 -3
  7. package/L/_infer.ts +26 -22
  8. package/L/_message.ts +4 -7
  9. package/L/assistant.ts +2 -9
  10. package/L/branch.ts +20 -28
  11. package/L/emit.ts +9 -4
  12. package/L/fork.ts +18 -16
  13. package/L/model.ts +2 -2
  14. package/L/rune.ts +1 -2
  15. package/LEvent.ts +32 -19
  16. package/Rune.ts +1 -3
  17. package/dist/Agent.d.ts +2 -6
  18. package/dist/Agent.js +10 -10
  19. package/dist/Agent.js.map +1 -1
  20. package/dist/Context.d.ts +10 -0
  21. package/dist/Context.js +37 -0
  22. package/dist/Context.js.map +1 -0
  23. package/dist/EventBase.d.ts +10 -0
  24. package/dist/EventBase.js +20 -0
  25. package/dist/EventBase.js.map +1 -0
  26. package/dist/Globals.d.ts +0 -1
  27. package/dist/L/L.d.ts +0 -3
  28. package/dist/L/L.js +0 -3
  29. package/dist/L/L.js.map +1 -1
  30. package/dist/L/_infer.d.ts +2 -2
  31. package/dist/L/_infer.js +18 -16
  32. package/dist/L/_infer.js.map +1 -1
  33. package/dist/L/_message.js +4 -7
  34. package/dist/L/_message.js.map +1 -1
  35. package/dist/L/assistant.js +2 -7
  36. package/dist/L/assistant.js.map +1 -1
  37. package/dist/L/branch.js +20 -24
  38. package/dist/L/branch.js.map +1 -1
  39. package/dist/L/emit.js +9 -4
  40. package/dist/L/emit.js.map +1 -1
  41. package/dist/L/fork.d.ts +1 -7
  42. package/dist/L/fork.js +19 -10
  43. package/dist/L/fork.js.map +1 -1
  44. package/dist/L/model.js +2 -2
  45. package/dist/L/model.js.map +1 -1
  46. package/dist/L/rune.d.ts +1 -2
  47. package/dist/L/rune.js.map +1 -1
  48. package/dist/LEvent.d.ts +55 -18
  49. package/dist/LEvent.js +38 -0
  50. package/dist/LEvent.js.map +1 -1
  51. package/dist/Rune.d.ts +1 -2
  52. package/dist/Rune.js.map +1 -1
  53. package/dist/index.d.ts +2 -2
  54. package/dist/index.js +2 -2
  55. package/dist/index.js.map +1 -1
  56. package/dist/run.d.ts +4 -0
  57. package/dist/run.js +35 -0
  58. package/dist/run.js.map +1 -0
  59. package/dist/state/Fiber.d.ts +9 -0
  60. package/dist/state/Fiber.js +14 -0
  61. package/dist/state/Fiber.js.map +1 -0
  62. package/dist/state/Globals.d.ts +9 -0
  63. package/dist/state/Globals.js +10 -0
  64. package/dist/state/Globals.js.map +1 -0
  65. package/dist/state/MessageRegistry.d.ts +1 -1
  66. package/dist/state/MessageRegistry.js +3 -3
  67. package/dist/state/MessageRegistry.js.map +1 -1
  68. package/dist/state/ModelConfig.d.ts +1 -19
  69. package/dist/state/ModelConfig.js +13 -14
  70. package/dist/state/ModelConfig.js.map +1 -1
  71. package/dist/state/ModelRegistry.d.ts +1 -1
  72. package/dist/state/ModelRegistry.js +7 -5
  73. package/dist/state/ModelRegistry.js.map +1 -1
  74. package/dist/state/StateMap.d.ts +1 -7
  75. package/dist/state/StateMap.js +1 -9
  76. package/dist/state/StateMap.js.map +1 -1
  77. package/dist/tsconfig.tsbuildinfo +1 -1
  78. package/index.ts +2 -2
  79. package/package.json +3 -4
  80. package/run.ts +37 -0
  81. package/state/Fiber.ts +13 -0
  82. package/state/Globals.ts +12 -0
  83. package/state/MessageRegistry.ts +4 -4
  84. package/state/ModelConfig.ts +13 -15
  85. package/state/ModelRegistry.ts +10 -8
  86. package/state/StateMap.ts +0 -15
  87. package/Fiber.ts +0 -117
  88. package/L/all.ts +0 -11
  89. package/L/join.ts +0 -9
  90. package/L/self.ts +0 -13
  91. package/L/state.ts +0 -20
  92. package/dist/Fiber.d.ts +0 -38
  93. package/dist/Fiber.js +0 -79
  94. package/dist/Fiber.js.map +0 -1
  95. package/dist/L/all.d.ts +0 -7
  96. package/dist/L/all.js +0 -5
  97. package/dist/L/all.js.map +0 -1
  98. package/dist/L/join.d.ts +0 -5
  99. package/dist/L/join.js +0 -5
  100. package/dist/L/join.js.map +0 -1
  101. package/dist/L/self.d.ts +0 -6
  102. package/dist/L/self.js +0 -7
  103. package/dist/L/self.js.map +0 -1
  104. package/dist/L/state.d.ts +0 -7
  105. package/dist/L/state.js +0 -14
  106. package/dist/L/state.js.map +0 -1
  107. package/dist/state/Counter.d.ts +0 -6
  108. package/dist/state/Counter.js +0 -13
  109. package/dist/state/Counter.js.map +0 -1
  110. package/dist/state/DefaultStateMap.d.ts +0 -4
  111. package/dist/state/DefaultStateMap.js +0 -14
  112. package/dist/state/DefaultStateMap.js.map +0 -1
  113. package/state/Counter.ts +0 -11
  114. package/state/DefaultStateMap.ts +0 -14
@@ -2,15 +2,15 @@ import type { Message } from "../Message.ts"
2
2
 
3
3
  // TODO: marks and tags
4
4
  export class MessageRegistry {
5
+ static make(messageRegistry?: MessageRegistry) {
6
+ return new MessageRegistry(messageRegistry?.messages ? [...messageRegistry?.messages] : undefined)
7
+ }
8
+
5
9
  messages: Array<Message>
6
10
  constructor(messages: Iterable<Message> = []) {
7
11
  this.messages = Array.from(messages)
8
12
  }
9
13
 
10
- clone() {
11
- return new MessageRegistry([...this.messages])
12
- }
13
-
14
14
  append(message: Message) {
15
15
  this.messages.push(message)
16
16
  }
@@ -1,6 +1,17 @@
1
1
  export class ModelConfig {
2
- static from(config: Partial<ModelConfig>) {
3
- return Object.assign(new ModelConfig(), config)
2
+ static make(config?: ModelConfig) {
3
+ if (config) {
4
+ return Object.assign(new ModelConfig(), {
5
+ ...this,
6
+ logitBias: { ...config.logitBias },
7
+ sampling: {
8
+ ...config.sampling,
9
+ stopSequences: [...(config.sampling?.stopSequences ?? [])],
10
+ penalty: { ...config.sampling?.penalty },
11
+ },
12
+ })
13
+ }
14
+ return new ModelConfig()
4
15
  }
5
16
 
6
17
  /** Seed used for deterministic sampling. */
@@ -9,19 +20,6 @@ export class ModelConfig {
9
20
  declare logitBias?: Record<string, number>
10
21
  /** Sampling configuration. */
11
22
  declare sampling?: SamplerConfig
12
-
13
- /** Creates a copy of the configuration. */
14
- clone() {
15
- return Object.assign(new ModelConfig(), {
16
- ...this,
17
- logitBias: { ...this.logitBias },
18
- sampling: {
19
- ...this.sampling,
20
- stopSequences: [...(this.sampling?.stopSequences ?? [])],
21
- penalty: { ...this.sampling?.penalty },
22
- },
23
- })
24
- }
25
23
  }
26
24
 
27
25
  export interface SamplerConfig {
@@ -2,17 +2,19 @@ import type { Model } from "../Model.ts"
2
2
 
3
3
  /** An intrusive list for storing `Model`s. */
4
4
  export class ModelRegistry {
5
- declare head?: ModelRegistryNode | undefined
6
- declare tail?: ModelRegistryNode | undefined
7
-
8
- clone(): ModelRegistry {
9
- const clone = new ModelRegistry()
10
- for (let node = this?.head; node; node = node.next) {
11
- clone.register(node.model)
5
+ static make(modelRegistry?: ModelRegistry) {
6
+ const instance = new ModelRegistry()
7
+ if (modelRegistry) {
8
+ for (let node = modelRegistry.head; node; node = node.next) {
9
+ instance.register(node.model)
10
+ }
12
11
  }
13
- return clone
12
+ return instance
14
13
  }
15
14
 
15
+ declare head?: ModelRegistryNode | undefined
16
+ declare tail?: ModelRegistryNode | undefined
17
+
16
18
  peek(): Model | undefined {
17
19
  return this.tail?.model
18
20
  }
package/state/StateMap.ts CHANGED
@@ -1,15 +0,0 @@
1
- export class StateMap extends Map<StateConstructor<Cloneable>, Cloneable> {
2
- clone(): StateMap {
3
- const clone = new StateMap()
4
- for (const [key, value] of this.entries()) {
5
- clone.set(key, value.clone())
6
- }
7
- return clone
8
- }
9
- }
10
-
11
- export type StateConstructor<T extends Cloneable = Cloneable> = new() => T
12
-
13
- export interface Cloneable {
14
- clone(): this
15
- }
package/Fiber.ts DELETED
@@ -1,117 +0,0 @@
1
- import type { Globals } from "./Globals.ts"
2
- import { type FiberCreated, type FiberResolved, type FiberStarted, LEventTag } from "./LEvent.ts"
3
- import type { Rune } from "./Rune.ts"
4
- import { Runic } from "./Runic.ts"
5
- import { DefaultStateMap } from "./state/DefaultStateMap.ts"
6
- import { StateMap } from "./state/StateMap.ts"
7
-
8
- export interface Fiber<out T = any> {
9
- T: T
10
- parent: Fiber<any> | undefined
11
- status: FiberStatus<T>
12
- fiberId: number
13
- state: StateMap
14
- globals: Globals
15
- run(this: this): Promise<T>
16
- handler<E>(event: E): void
17
- }
18
-
19
- export type FiberStatus<T> = {
20
- type: "untouched"
21
- } | {
22
- type: "pending"
23
- promise: Promise<T>
24
- } | {
25
- type: "resolved"
26
- value: T
27
- } | {
28
- type: "rejected"
29
- reason?: unknown
30
- }
31
-
32
- export interface FiberInfo {
33
- fiber: number
34
- timestamp: number
35
- }
36
-
37
- let nextFiberId = 0
38
-
39
- export interface FiberConfig<T> {
40
- parent?: Fiber<any>
41
- globals: Globals
42
- runic: Runic<Rune, T>
43
- state?: StateMap | undefined
44
- signal?: AbortSignal | undefined
45
- }
46
-
47
- export function Fiber<T>(config: FiberConfig<T>): Fiber<T> {
48
- const fiber = {
49
- state: config.state ?? new DefaultStateMap(),
50
- globals: config.globals,
51
- parent: config.parent,
52
- status: { type: "untouched" },
53
- fiberId: nextFiberId++,
54
- run,
55
- handler,
56
- } satisfies Omit<Fiber<T>, "T"> as Fiber<T>
57
- fiber.handler<FiberCreated>({
58
- [LEventTag]: "fiber_created",
59
- })
60
- return fiber
61
-
62
- function handler<E>(this: Fiber<T>, event: E): void {
63
- config.globals.handler(event, {
64
- fiber: this.fiberId,
65
- timestamp: Date.now(),
66
- })
67
- }
68
-
69
- async function run(this: Fiber<T>): Promise<T> {
70
- if (this.status.type === "pending") {
71
- return await this.status.promise
72
- } else if (this.status.type === "resolved") {
73
- return this.status.value
74
- } else if (this.status.type === "rejected") {
75
- throw this.status.reason
76
- }
77
- this.handler<FiberStarted>({
78
- [LEventTag]: "fiber_started",
79
- })
80
- const { promise, resolve, reject } = Promise.withResolvers<T>()
81
- if (config.signal) {
82
- if (config.signal.aborted) {
83
- reject(config.signal.reason)
84
- return await promise
85
- } else {
86
- config.signal.addEventListener("abort", () => {
87
- reject(config.signal?.reason)
88
- })
89
- }
90
- }
91
- this.status = {
92
- type: "pending",
93
- promise,
94
- }
95
- queueMicrotask(async () => {
96
- const iterator = Runic.unwrap(config.runic)
97
- let nextArg: any
98
- try {
99
- let current = await iterator.next(nextArg)
100
- while (!current.done) {
101
- const rune = current.value
102
- const nextArg = await rune(this)
103
- current = await iterator.next(nextArg)
104
- }
105
- const { value } = current
106
- this.handler<FiberResolved>({
107
- [LEventTag]: "fiber_resolved",
108
- value,
109
- })
110
- resolve(value)
111
- } catch (reason: unknown) {
112
- reject(reason)
113
- }
114
- })
115
- return await promise
116
- }
117
- }
package/L/all.ts DELETED
@@ -1,11 +0,0 @@
1
- import type { Fiber } from "../Fiber.ts"
2
- import type { Rune } from "../Rune.ts"
3
- import { rune } from "./rune.ts"
4
-
5
- export interface all<A extends Array<any>> extends Generator<Rune<never>, Fiber<A>> {}
6
-
7
- export function* all<XA extends Array<Fiber>>(
8
- ...fibers: XA
9
- ): all<{ [I in keyof XA]: XA[I]["T"] }> {
10
- return (yield* rune((_fiber) => Promise.all(fibers.map((fiber) => fiber.run())))) as never
11
- }
package/L/join.ts DELETED
@@ -1,9 +0,0 @@
1
- import type { Fiber } from "../Fiber.ts"
2
- import type { Rune } from "../Rune.ts"
3
- import { rune } from "./rune.ts"
4
-
5
- export interface join<X extends Fiber> extends Generator<Rune<never>, X["T"]> {}
6
-
7
- export function* join<X extends Fiber>(fiber: X): join<X> {
8
- return yield* rune((_fiber) => fiber.run())
9
- }
package/L/self.ts DELETED
@@ -1,13 +0,0 @@
1
- import type { Fiber } from "../Fiber.ts"
2
- import type { Rune } from "../Rune.ts"
3
- import { rune } from "./rune.ts"
4
-
5
- export interface self {
6
- [Symbol.iterator](): Generator<Rune<never>, Fiber>
7
- }
8
-
9
- export const self: self = {
10
- *[Symbol.iterator]() {
11
- return yield* rune((fiber) => fiber)
12
- },
13
- }
package/L/state.ts DELETED
@@ -1,20 +0,0 @@
1
- import type { Rune } from "../Rune.ts"
2
- import type { StateConstructor } from "../state/StateMap.ts"
3
- import { rune } from "./rune.ts"
4
-
5
- export interface state<CA extends Array<StateConstructor>>
6
- extends Generator<Rune<never>, { [I in keyof CA]: InstanceType<CA[I]> }>
7
- {}
8
-
9
- export function* state<CA extends Array<StateConstructor>>(...constructors: CA): state<CA> {
10
- return yield* rune((fiber) => {
11
- return constructors.map((constructor) => {
12
- let instance = fiber.state.get(constructor)
13
- if (!instance) {
14
- instance = new constructor()
15
- fiber.state.set(constructor, instance)
16
- }
17
- return instance
18
- }) as never
19
- })
20
- }
package/dist/Fiber.d.ts DELETED
@@ -1,38 +0,0 @@
1
- import type { Globals } from "./Globals.ts";
2
- import type { Rune } from "./Rune.ts";
3
- import { Runic } from "./Runic.ts";
4
- import { StateMap } from "./state/StateMap.ts";
5
- export interface Fiber<out T = any> {
6
- T: T;
7
- parent: Fiber<any> | undefined;
8
- status: FiberStatus<T>;
9
- fiberId: number;
10
- state: StateMap;
11
- globals: Globals;
12
- run(this: this): Promise<T>;
13
- handler<E>(event: E): void;
14
- }
15
- export type FiberStatus<T> = {
16
- type: "untouched";
17
- } | {
18
- type: "pending";
19
- promise: Promise<T>;
20
- } | {
21
- type: "resolved";
22
- value: T;
23
- } | {
24
- type: "rejected";
25
- reason?: unknown;
26
- };
27
- export interface FiberInfo {
28
- fiber: number;
29
- timestamp: number;
30
- }
31
- export interface FiberConfig<T> {
32
- parent?: Fiber<any>;
33
- globals: Globals;
34
- runic: Runic<Rune, T>;
35
- state?: StateMap | undefined;
36
- signal?: AbortSignal | undefined;
37
- }
38
- export declare function Fiber<T>(config: FiberConfig<T>): Fiber<T>;
package/dist/Fiber.js DELETED
@@ -1,79 +0,0 @@
1
- import { LEventTag } from "./LEvent.js";
2
- import { Runic } from "./Runic.js";
3
- import { DefaultStateMap } from "./state/DefaultStateMap.js";
4
- import { StateMap } from "./state/StateMap.js";
5
- let nextFiberId = 0;
6
- export function Fiber(config) {
7
- const fiber = {
8
- state: config.state ?? new DefaultStateMap(),
9
- globals: config.globals,
10
- parent: config.parent,
11
- status: { type: "untouched" },
12
- fiberId: nextFiberId++,
13
- run,
14
- handler,
15
- };
16
- fiber.handler({
17
- [LEventTag]: "fiber_created",
18
- });
19
- return fiber;
20
- function handler(event) {
21
- config.globals.handler(event, {
22
- fiber: this.fiberId,
23
- timestamp: Date.now(),
24
- });
25
- }
26
- async function run() {
27
- if (this.status.type === "pending") {
28
- return await this.status.promise;
29
- }
30
- else if (this.status.type === "resolved") {
31
- return this.status.value;
32
- }
33
- else if (this.status.type === "rejected") {
34
- throw this.status.reason;
35
- }
36
- this.handler({
37
- [LEventTag]: "fiber_started",
38
- });
39
- const { promise, resolve, reject } = Promise.withResolvers();
40
- if (config.signal) {
41
- if (config.signal.aborted) {
42
- reject(config.signal.reason);
43
- return await promise;
44
- }
45
- else {
46
- config.signal.addEventListener("abort", () => {
47
- reject(config.signal?.reason);
48
- });
49
- }
50
- }
51
- this.status = {
52
- type: "pending",
53
- promise,
54
- };
55
- queueMicrotask(async () => {
56
- const iterator = Runic.unwrap(config.runic);
57
- let nextArg;
58
- try {
59
- let current = await iterator.next(nextArg);
60
- while (!current.done) {
61
- const rune = current.value;
62
- const nextArg = await rune(this);
63
- current = await iterator.next(nextArg);
64
- }
65
- const { value } = current;
66
- this.handler({
67
- [LEventTag]: "fiber_resolved",
68
- value,
69
- });
70
- resolve(value);
71
- }
72
- catch (reason) {
73
- reject(reason);
74
- }
75
- });
76
- return await promise;
77
- }
78
- }
79
- //# sourceMappingURL=Fiber.js.map
package/dist/Fiber.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Fiber.js","sourceRoot":"","sources":["../Fiber.ts"],"names":[],"mappings":"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"}
package/dist/L/all.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import type { Fiber } from "../Fiber.ts";
2
- import type { Rune } from "../Rune.ts";
3
- export interface all<A extends Array<any>> extends Generator<Rune<never>, Fiber<A>> {
4
- }
5
- export declare function all<XA extends Array<Fiber>>(...fibers: XA): all<{
6
- [I in keyof XA]: XA[I]["T"];
7
- }>;
package/dist/L/all.js DELETED
@@ -1,5 +0,0 @@
1
- import { rune } from "./rune.js";
2
- export function* all(...fibers) {
3
- return (yield* rune((_fiber) => Promise.all(fibers.map((fiber) => fiber.run()))));
4
- }
5
- //# sourceMappingURL=all.js.map
package/dist/L/all.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"all.js","sourceRoot":"","sources":["../../L/all.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIhC,MAAM,SAAS,CAAC,CAAC,GAAG,CAClB,GAAG,MAAU;IAEb,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAU,CAAA;AAC5F,CAAC"}
package/dist/L/join.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import type { Fiber } from "../Fiber.ts";
2
- import type { Rune } from "../Rune.ts";
3
- export interface join<X extends Fiber> extends Generator<Rune<never>, X["T"]> {
4
- }
5
- export declare function join<X extends Fiber>(fiber: X): join<X>;
package/dist/L/join.js DELETED
@@ -1,5 +0,0 @@
1
- import { rune } from "./rune.js";
2
- export function* join(fiber) {
3
- return yield* rune((_fiber) => fiber.run());
4
- }
5
- //# sourceMappingURL=join.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"join.js","sourceRoot":"","sources":["../../L/join.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIhC,MAAM,SAAS,CAAC,CAAC,IAAI,CAAkB,KAAQ;IAC7C,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;AAC7C,CAAC"}
package/dist/L/self.d.ts DELETED
@@ -1,6 +0,0 @@
1
- import type { Fiber } from "../Fiber.ts";
2
- import type { Rune } from "../Rune.ts";
3
- export interface self {
4
- [Symbol.iterator](): Generator<Rune<never>, Fiber>;
5
- }
6
- export declare const self: self;
package/dist/L/self.js DELETED
@@ -1,7 +0,0 @@
1
- import { rune } from "./rune.js";
2
- export const self = {
3
- *[Symbol.iterator]() {
4
- return yield* rune((fiber) => fiber);
5
- },
6
- };
7
- //# sourceMappingURL=self.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"self.js","sourceRoot":"","sources":["../../L/self.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAMhC,MAAM,CAAC,MAAM,IAAI,GAAS;IACxB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;CACF,CAAA"}
package/dist/L/state.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import type { Rune } from "../Rune.ts";
2
- import type { StateConstructor } from "../state/StateMap.ts";
3
- export interface state<CA extends Array<StateConstructor>> extends Generator<Rune<never>, {
4
- [I in keyof CA]: InstanceType<CA[I]>;
5
- }> {
6
- }
7
- export declare function state<CA extends Array<StateConstructor>>(...constructors: CA): state<CA>;
package/dist/L/state.js DELETED
@@ -1,14 +0,0 @@
1
- import { rune } from "./rune.js";
2
- export function* state(...constructors) {
3
- return yield* rune((fiber) => {
4
- return constructors.map((constructor) => {
5
- let instance = fiber.state.get(constructor);
6
- if (!instance) {
7
- instance = new constructor();
8
- fiber.state.set(constructor, instance);
9
- }
10
- return instance;
11
- });
12
- });
13
- }
14
- //# sourceMappingURL=state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../L/state.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAMhC,MAAM,SAAS,CAAC,CAAC,KAAK,CAAqC,GAAG,YAAgB;IAC5E,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;YACtC,IAAI,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAA;gBAC5B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;YACxC,CAAC;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC,CAAU,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -1,6 +0,0 @@
1
- export declare class Counter {
2
- count: number;
3
- constructor(count?: number);
4
- next(): number;
5
- clone(): Counter;
6
- }
@@ -1,13 +0,0 @@
1
- export class Counter {
2
- count;
3
- constructor(count = 0) {
4
- this.count = count;
5
- }
6
- next() {
7
- return this.count++;
8
- }
9
- clone() {
10
- return new Counter(this.count);
11
- }
12
- }
13
- //# sourceMappingURL=Counter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Counter.js","sourceRoot":"","sources":["../../state/Counter.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,OAAO;IACC;IAAnB,YAAmB,QAAgB,CAAC;QAAjB,UAAK,GAAL,KAAK,CAAY;IAAG,CAAC;IAExC,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;IAED,KAAK;QACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;CACF"}
@@ -1,4 +0,0 @@
1
- import { StateMap } from "./StateMap.ts";
2
- export declare class DefaultStateMap extends StateMap {
3
- constructor();
4
- }
@@ -1,14 +0,0 @@
1
- import { MessageRegistry } from "./MessageRegistry.js";
2
- import { ModelConfig } from "./ModelConfig.js";
3
- import { ModelRegistry } from "./ModelRegistry.js";
4
- import { StateMap } from "./StateMap.js";
5
- export class DefaultStateMap extends StateMap {
6
- constructor() {
7
- super([
8
- [ModelRegistry, new ModelRegistry()],
9
- [MessageRegistry, new MessageRegistry()],
10
- [ModelConfig, new ModelConfig()],
11
- ]);
12
- }
13
- }
14
- //# sourceMappingURL=DefaultStateMap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultStateMap.js","sourceRoot":"","sources":["../../state/DefaultStateMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C;QACE,KAAK,CAAC;YACJ,CAAC,aAAa,EAAE,IAAI,aAAa,EAAE,CAAC;YACpC,CAAC,eAAe,EAAE,IAAI,eAAe,EAAE,CAAC;YACxC,CAAC,WAAW,EAAE,IAAI,WAAW,EAAE,CAAC;SACjC,CAAC,CAAA;IACJ,CAAC;CACF"}
package/state/Counter.ts DELETED
@@ -1,11 +0,0 @@
1
- export class Counter {
2
- constructor(public count: number = 0) {}
3
-
4
- next() {
5
- return this.count++
6
- }
7
-
8
- clone() {
9
- return new Counter(this.count)
10
- }
11
- }
@@ -1,14 +0,0 @@
1
- import { MessageRegistry } from "./MessageRegistry.ts"
2
- import { ModelConfig } from "./ModelConfig.ts"
3
- import { ModelRegistry } from "./ModelRegistry.ts"
4
- import { StateMap } from "./StateMap.ts"
5
-
6
- export class DefaultStateMap extends StateMap {
7
- constructor() {
8
- super([
9
- [ModelRegistry, new ModelRegistry()],
10
- [MessageRegistry, new MessageRegistry()],
11
- [ModelConfig, new ModelConfig()],
12
- ])
13
- }
14
- }