xstate 4.16.1 → 4.18.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.
package/lib/model.js CHANGED
@@ -1,11 +1,53 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __read = (this && this.__read) || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o), r, ar = [], e;
17
+ try {
18
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
+ }
20
+ catch (error) { e = { error: error }; }
21
+ finally {
22
+ try {
23
+ if (r && !r.done && (m = i["return"])) m.call(i);
24
+ }
25
+ finally { if (e) throw e.error; }
26
+ }
27
+ return ar;
28
+ };
29
+ var __spread = (this && this.__spread) || function () {
30
+ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
31
+ return ar;
32
+ };
2
33
  Object.defineProperty(exports, "__esModule", { value: true });
3
34
  exports.createModel = void 0;
4
35
  var actions_1 = require("./actions");
5
- function createModel(initialContext) {
36
+ var utils_1 = require("./utils");
37
+ function createModel(initialContext, creators) {
38
+ var eventCreators = creators === null || creators === void 0 ? void 0 : creators.events;
6
39
  var model = {
7
40
  initialContext: initialContext,
8
41
  assign: actions_1.assign,
42
+ events: (eventCreators
43
+ ? utils_1.mapValues(eventCreators, function (fn, eventType) { return function () {
44
+ var args = [];
45
+ for (var _i = 0; _i < arguments.length; _i++) {
46
+ args[_i] = arguments[_i];
47
+ }
48
+ return (__assign(__assign({}, fn.apply(void 0, __spread(args))), { type: eventType }));
49
+ }; })
50
+ : undefined),
9
51
  reset: function () { return actions_1.assign(initialContext); }
10
52
  };
11
53
  return model;
@@ -0,0 +1,2 @@
1
+ export declare function createSchema<T>(schema?: any): T;
2
+ //# sourceMappingURL=schema.d.ts.map
package/lib/schema.js ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSchema = void 0;
4
+ function createSchema(schema) {
5
+ return schema;
6
+ }
7
+ exports.createSchema = createSchema;
package/lib/types.d.ts CHANGED
@@ -448,6 +448,23 @@ export interface MachineConfig<TContext, TStateSchema extends StateSchema, TEven
448
448
  * The machine's own version.
449
449
  */
450
450
  version?: string;
451
+ schema?: MachineSchema<TContext, TEvent>;
452
+ }
453
+ export interface MachineSchema<TContext, TEvent extends EventObject> {
454
+ context?: TContext;
455
+ events?: TEvent;
456
+ actions?: {
457
+ type: string;
458
+ [key: string]: any;
459
+ };
460
+ guards?: {
461
+ type: string;
462
+ [key: string]: any;
463
+ };
464
+ services?: {
465
+ type: string;
466
+ [key: string]: any;
467
+ };
451
468
  }
452
469
  export interface StandardMachineConfig<TContext, TStateSchema extends StateSchema, TEvent extends EventObject> extends StateNodeConfig<TContext, TStateSchema, TEvent> {
453
470
  }
@@ -870,5 +887,6 @@ export declare type ActorRefFrom<T extends StateMachine<any, any, any>> = T exte
870
887
  state: State<TContext, TEvent, any, TTypestate>;
871
888
  } : never;
872
889
  export declare type AnyInterpreter = Interpreter<any, any, any, any>;
890
+ export declare type InterpreterFrom<T extends StateMachine<any, any, any, any>> = T extends StateMachine<infer TContext, infer TStateSchema, infer TEvent, infer TTypestate> ? Interpreter<TContext, TStateSchema, TEvent, TTypestate> : never;
873
891
  export {};
874
892
  //# sourceMappingURL=types.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xstate",
3
- "version": "4.16.1",
3
+ "version": "4.18.0",
4
4
  "description": "Finite State Machines and Statecharts for the Modern Web.",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",