@matheuspuel/state-machine 0.6.0 → 0.7.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 (48) hide show
  1. package/dist/definition.js +5 -2
  2. package/dist/definition.js.map +1 -1
  3. package/dist/dts/definition.d.ts +4 -1
  4. package/dist/dts/definition.d.ts.map +1 -1
  5. package/dist/dts/machines/Form/Error.d.ts +9 -0
  6. package/dist/dts/machines/Form/Error.d.ts.map +1 -0
  7. package/dist/dts/machines/Form/Field/index.d.ts +56 -0
  8. package/dist/dts/machines/Form/Field/index.d.ts.map +1 -0
  9. package/dist/dts/machines/{Form.d.ts → Form/index.d.ts} +6 -42
  10. package/dist/dts/machines/Form/index.d.ts.map +1 -0
  11. package/dist/dts/machines/basic.d.ts +8 -0
  12. package/dist/dts/machines/basic.d.ts.map +1 -0
  13. package/dist/dts/machines/index copy.d.ts +10 -0
  14. package/dist/dts/machines/index copy.d.ts.map +1 -0
  15. package/dist/dts/machines/index.d.ts +2 -3
  16. package/dist/dts/machines/index.d.ts.map +1 -1
  17. package/dist/dts/machines/index.test copy.d.ts +2 -0
  18. package/dist/dts/machines/index.test copy.d.ts.map +1 -0
  19. package/dist/machines/Form/Error.js +4 -0
  20. package/dist/machines/Form/Error.js.map +1 -0
  21. package/dist/machines/Form/Field/index.js +102 -0
  22. package/dist/machines/Form/Field/index.js.map +1 -0
  23. package/dist/machines/{Form.js → Form/index.js} +9 -55
  24. package/dist/machines/Form/index.js.map +1 -0
  25. package/dist/machines/QueryState.js +2 -2
  26. package/dist/machines/QueryState.js.map +1 -1
  27. package/dist/machines/basic.js +37 -0
  28. package/dist/machines/basic.js.map +1 -0
  29. package/dist/machines/index copy.js +39 -0
  30. package/dist/machines/index copy.js.map +1 -0
  31. package/dist/machines/index.js +2 -3
  32. package/dist/machines/index.js.map +1 -1
  33. package/dist/machines/index.test copy.js +37 -0
  34. package/dist/machines/index.test copy.js.map +1 -0
  35. package/package.json +13 -24
  36. package/src/definition.ts +9 -5
  37. package/src/machines/Form/Error.ts +5 -0
  38. package/src/machines/Form/Field/index.ts +234 -0
  39. package/src/machines/{Form.test.ts → Form/index.test.ts} +10 -11
  40. package/src/machines/{Form.ts → Form/index.ts} +9 -146
  41. package/src/machines/QueryState.ts +2 -2
  42. package/src/machines/{Struct.ts → basic.ts} +23 -7
  43. package/src/machines/{Struct.test.ts → index.test.ts} +13 -1
  44. package/src/machines/index.ts +2 -3
  45. package/dist/dts/machines/Form.d.ts.map +0 -1
  46. package/dist/machines/Form.js.map +0 -1
  47. package/src/machines/of.test.ts +0 -15
  48. package/src/machines/of.ts +0 -11
@@ -4,20 +4,36 @@ import {
4
4
  make,
5
5
  makeStore,
6
6
  StateMachine,
7
+ withState,
7
8
  } from '../definition.js'
8
9
 
10
+ export const of = <A>(initialState: A) =>
11
+ withState<A>().make({
12
+ initialState,
13
+ actions: ({ Store }) => ({
14
+ get: Store.get,
15
+ update: (f: (previous: A) => A) => Store.update(f),
16
+ set: (value: A) => Store.update(() => value),
17
+ }),
18
+ })
19
+
9
20
  export const Struct = <
10
21
  A extends Record<string, StateMachine<any, AnyStateActions>>,
11
22
  >(
12
23
  fields: A,
13
24
  ) =>
14
- make<{
15
- [K in keyof A]: A[K] extends StateMachine<infer State, any> ? State : never
16
- }>()<{
17
- [K in keyof A]: A[K] extends StateMachine<any, infer Actions>
18
- ? Actions
19
- : never
20
- }>({
25
+ make<
26
+ {
27
+ [K in keyof A]: A[K] extends StateMachine<infer State, any>
28
+ ? State
29
+ : never
30
+ },
31
+ {
32
+ [K in keyof A]: A[K] extends StateMachine<any, infer Actions>
33
+ ? Actions
34
+ : never
35
+ }
36
+ >({
21
37
  initialState: Record.map(fields, _ => _.initialState) as any,
22
38
  actions: ({ Store }) => ({
23
39
  ...(Record.map(fields, (_, key) =>
@@ -2,6 +2,18 @@ import { describe, expect, it } from '@effect/vitest'
2
2
  import { StateMachine } from '@matheuspuel/state-machine'
3
3
  import { Effect, pipe } from 'effect'
4
4
 
5
+ describe('of', () => {
6
+ it('should work', () => {
7
+ const machine = StateMachine.of('')
8
+ const instance = StateMachine.run(machine)
9
+ instance.actions.set('a')
10
+ const state = instance.ref.get.pipe(Effect.runSync)
11
+ expect(state).toStrictEqual('a')
12
+ const data = instance.actions.get()
13
+ expect(data).toStrictEqual('a')
14
+ })
15
+ })
16
+
5
17
  describe('Struct', () => {
6
18
  it('should work', () => {
7
19
  const machine = pipe(
@@ -10,7 +22,7 @@ describe('Struct', () => {
10
22
  b: StateMachine.of(''),
11
23
  }),
12
24
  base =>
13
- StateMachine.make<(typeof base)['initialState']>()({
25
+ StateMachine.make({
14
26
  ...base,
15
27
  actions: ({ Store }) => ({
16
28
  ...base.actions({ Store }),
@@ -1,4 +1,3 @@
1
- export * as Form from './Form.js'
2
- export { of } from './of.js'
1
+ export * from './basic.js'
2
+ export * as Form from './Form/index.js'
3
3
  export { QueryState, trackEffect } from './QueryState.js'
4
- export { Struct } from './Struct.js'
@@ -1 +0,0 @@
1
- {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../src/machines/Form.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../src/machines/Form.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { describe, expect, it } from '@effect/vitest'
2
- import { StateMachine } from '@matheuspuel/state-machine'
3
- import { Effect } from 'effect'
4
-
5
- describe('of', () => {
6
- it('should work', () => {
7
- const machine = StateMachine.of('')
8
- const instance = StateMachine.run(machine)
9
- instance.actions.set('a')
10
- const state = instance.ref.get.pipe(Effect.runSync)
11
- expect(state).toStrictEqual('a')
12
- const data = instance.actions.get()
13
- expect(data).toStrictEqual('a')
14
- })
15
- })
@@ -1,11 +0,0 @@
1
- import { make } from '../definition.js'
2
-
3
- export const of = <A>(initialState: A) =>
4
- make<A>()({
5
- initialState,
6
- actions: ({ Store }) => ({
7
- get: Store.get,
8
- update: (f: (previous: A) => A) => Store.update(f),
9
- set: (value: A) => Store.update(() => value),
10
- }),
11
- })