@jbrowse/mobx-state-tree 5.5.0 → 5.6.2

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 (99) hide show
  1. package/README.md +18 -0
  2. package/dist/core/action.d.ts +1 -1
  3. package/dist/core/action.js +228 -0
  4. package/dist/core/action.js.map +1 -1
  5. package/dist/core/actionContext.js +42 -0
  6. package/dist/core/actionContext.js.map +1 -1
  7. package/dist/core/flow.d.ts +1 -1
  8. package/dist/core/flow.js +180 -0
  9. package/dist/core/flow.js.map +1 -1
  10. package/dist/core/json-patch.js +133 -0
  11. package/dist/core/json-patch.js.map +1 -1
  12. package/dist/core/mst-operations.js +885 -0
  13. package/dist/core/mst-operations.js.map +1 -1
  14. package/dist/core/node/BaseNode.js +152 -0
  15. package/dist/core/node/BaseNode.js.map +1 -1
  16. package/dist/core/node/Hook.js +15 -0
  17. package/dist/core/node/Hook.js.map +1 -1
  18. package/dist/core/node/create-node.js +41 -0
  19. package/dist/core/node/create-node.js.map +1 -1
  20. package/dist/core/node/identifier-cache.js +115 -0
  21. package/dist/core/node/identifier-cache.js.map +1 -1
  22. package/dist/core/node/livelinessChecking.js +38 -0
  23. package/dist/core/node/livelinessChecking.js.map +1 -1
  24. package/dist/core/node/node-utils.js +165 -0
  25. package/dist/core/node/node-utils.js.map +1 -1
  26. package/dist/core/node/object-node.js +545 -0
  27. package/dist/core/node/object-node.js.map +1 -1
  28. package/dist/core/node/scalar-node.js +89 -0
  29. package/dist/core/node/scalar-node.js.map +1 -1
  30. package/dist/core/process.d.ts +1 -1
  31. package/dist/core/process.js +39 -0
  32. package/dist/core/process.js.map +1 -1
  33. package/dist/core/type/type-checker.js +154 -0
  34. package/dist/core/type/type-checker.js.map +1 -1
  35. package/dist/core/type/type.d.ts +1 -1
  36. package/dist/core/type/type.js +251 -0
  37. package/dist/core/type/type.js.map +1 -1
  38. package/dist/index.js +85 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/internal.d.ts +1 -0
  41. package/dist/internal.js +60 -0
  42. package/dist/internal.js.map +1 -1
  43. package/dist/middlewares/create-action-tracking-middleware.js +81 -0
  44. package/dist/middlewares/create-action-tracking-middleware.js.map +1 -1
  45. package/dist/middlewares/createActionTrackingMiddleware2.js +133 -0
  46. package/dist/middlewares/createActionTrackingMiddleware2.js.map +1 -1
  47. package/dist/middlewares/on-action.js +215 -0
  48. package/dist/middlewares/on-action.js.map +1 -1
  49. package/dist/mobx-state-tree.js +83 -6750
  50. package/dist/mobx-state-tree.module.js +83 -6672
  51. package/dist/types/complex-types/array.d.ts +1 -1
  52. package/dist/types/complex-types/array.js +352 -0
  53. package/dist/types/complex-types/array.js.map +1 -1
  54. package/dist/types/complex-types/map.d.ts +1 -1
  55. package/dist/types/complex-types/map.js +361 -0
  56. package/dist/types/complex-types/map.js.map +1 -1
  57. package/dist/types/complex-types/model.js +477 -0
  58. package/dist/types/complex-types/model.js.map +1 -1
  59. package/dist/types/index.d.ts +2 -1
  60. package/dist/types/index.js +38 -0
  61. package/dist/types/index.js.map +1 -1
  62. package/dist/types/primitives.js +182 -0
  63. package/dist/types/primitives.js.map +1 -1
  64. package/dist/types/utility-types/custom.js +110 -0
  65. package/dist/types/utility-types/custom.js.map +1 -1
  66. package/dist/types/utility-types/enumeration.js +34 -0
  67. package/dist/types/utility-types/enumeration.js.map +1 -1
  68. package/dist/types/utility-types/frozen.js +97 -0
  69. package/dist/types/utility-types/frozen.js.map +1 -1
  70. package/dist/types/utility-types/identifier.js +129 -0
  71. package/dist/types/utility-types/identifier.js.map +1 -1
  72. package/dist/types/utility-types/late.js +109 -0
  73. package/dist/types/utility-types/late.js.map +1 -1
  74. package/dist/types/utility-types/lazy.js +76 -0
  75. package/dist/types/utility-types/lazy.js.map +1 -1
  76. package/dist/types/utility-types/literal.js +63 -0
  77. package/dist/types/utility-types/literal.js.map +1 -1
  78. package/dist/types/utility-types/maybe.js +30 -0
  79. package/dist/types/utility-types/maybe.js.map +1 -1
  80. package/dist/types/utility-types/optional.js +140 -0
  81. package/dist/types/utility-types/optional.js.map +1 -1
  82. package/dist/types/utility-types/reference.d.ts +2 -2
  83. package/dist/types/utility-types/reference.js +392 -0
  84. package/dist/types/utility-types/reference.js.map +1 -1
  85. package/dist/types/utility-types/refinement.js +85 -0
  86. package/dist/types/utility-types/refinement.js.map +1 -1
  87. package/dist/types/utility-types/resilient.d.ts +18 -0
  88. package/dist/types/utility-types/resilient.js +120 -0
  89. package/dist/types/utility-types/resilient.js.map +1 -0
  90. package/dist/types/utility-types/snapshotProcessor.js +161 -0
  91. package/dist/types/utility-types/snapshotProcessor.js.map +1 -1
  92. package/dist/types/utility-types/union.d.ts +1 -0
  93. package/dist/types/utility-types/union.js +245 -0
  94. package/dist/types/utility-types/union.js.map +1 -1
  95. package/dist/utils.js +483 -0
  96. package/dist/utils.js.map +1 -1
  97. package/package.json +26 -24
  98. package/changelog.md +0 -677
  99. package/dist/mobx-state-tree.umd.js +0 -6756
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.splitPatch = splitPatch;
4
+ exports.stripPatch = stripPatch;
5
+ exports.escapeJsonPath = escapeJsonPath;
6
+ exports.unescapeJsonPath = unescapeJsonPath;
7
+ exports.joinJsonPath = joinJsonPath;
8
+ exports.splitJsonPath = splitJsonPath;
9
+ const internal_ts_1 = require("../internal.js");
10
+ /**
11
+ * @internal
12
+ * @hidden
13
+ */
14
+ function splitPatch(patch) {
15
+ if (!("oldValue" in patch)) {
16
+ throw (0, internal_ts_1.fail)(`Patches without \`oldValue\` field cannot be inversed`);
17
+ }
18
+ return [stripPatch(patch), invertPatch(patch)];
19
+ }
20
+ /**
21
+ * @internal
22
+ * @hidden
23
+ */
24
+ function stripPatch(patch) {
25
+ // strips `oldvalue` information from the patch, so that it becomes a patch conform the json-patch spec
26
+ // this removes the ability to undo the patch
27
+ switch (patch.op) {
28
+ case "add":
29
+ return { op: "add", path: patch.path, value: patch.value };
30
+ case "remove":
31
+ return { op: "remove", path: patch.path };
32
+ case "replace":
33
+ return { op: "replace", path: patch.path, value: patch.value };
34
+ }
35
+ }
36
+ function invertPatch(patch) {
37
+ switch (patch.op) {
38
+ case "add":
39
+ return {
40
+ op: "remove",
41
+ path: patch.path
42
+ };
43
+ case "remove":
44
+ return {
45
+ op: "add",
46
+ path: patch.path,
47
+ value: patch.oldValue
48
+ };
49
+ case "replace":
50
+ return {
51
+ op: "replace",
52
+ path: patch.path,
53
+ value: patch.oldValue
54
+ };
55
+ }
56
+ }
57
+ /**
58
+ * Simple simple check to check it is a number.
59
+ */
60
+ function isNumber(x) {
61
+ return typeof x === "number";
62
+ }
63
+ /**
64
+ * Escape slashes and backslashes.
65
+ *
66
+ * http://tools.ietf.org/html/rfc6901
67
+ */
68
+ function escapeJsonPath(path) {
69
+ if (isNumber(path) === true) {
70
+ return "" + path;
71
+ }
72
+ if (path.indexOf("/") === -1 && path.indexOf("~") === -1) {
73
+ return path;
74
+ }
75
+ return path.replace(/~/g, "~0").replace(/\//g, "~1");
76
+ }
77
+ /**
78
+ * Unescape slashes and backslashes.
79
+ */
80
+ function unescapeJsonPath(path) {
81
+ return path.replace(/~1/g, "/").replace(/~0/g, "~");
82
+ }
83
+ /**
84
+ * Generates a json-path compliant json path from path parts.
85
+ *
86
+ * @param path
87
+ * @returns
88
+ */
89
+ function joinJsonPath(path) {
90
+ // `/` refers to property with an empty name, while `` refers to root itself!
91
+ if (path.length === 0) {
92
+ return "";
93
+ }
94
+ const getPathStr = (p) => p.map(escapeJsonPath).join("/");
95
+ if (path[0] === "." || path[0] === "..") {
96
+ // relative
97
+ return getPathStr(path);
98
+ }
99
+ else {
100
+ // absolute
101
+ return "/" + getPathStr(path);
102
+ }
103
+ }
104
+ /**
105
+ * Splits and decodes a json path into several parts.
106
+ *
107
+ * @param path
108
+ * @returns
109
+ */
110
+ function splitJsonPath(path) {
111
+ // `/` refers to property with an empty name, while `` refers to root itself!
112
+ const parts = path.split("/").map(unescapeJsonPath);
113
+ const valid = path === "" ||
114
+ path === "." ||
115
+ path === ".." ||
116
+ (0, internal_ts_1.stringStartsWith)(path, "/") ||
117
+ (0, internal_ts_1.stringStartsWith)(path, "./") ||
118
+ (0, internal_ts_1.stringStartsWith)(path, "../");
119
+ if (!valid) {
120
+ throw (0, internal_ts_1.fail)(`a json path must be either rooted, empty or relative, but got '${path}'`);
121
+ }
122
+ // '/a/b/c' -> ["a", "b", "c"]
123
+ // '../../b/c' -> ["..", "..", "b", "c"]
124
+ // '' -> []
125
+ // '/' -> ['']
126
+ // './a' -> [".", "a"]
127
+ // /./a' -> [".", "a"] equivalent to './a'
128
+ if (parts[0] === "") {
129
+ parts.shift();
130
+ }
131
+ return parts;
132
+ }
133
+ //# sourceMappingURL=json-patch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-patch.js","sourceRoot":"","sources":["../../src/core/json-patch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-patch.js","sourceRoot":"","sources":["../../src/core/json-patch.ts"],"names":[],"mappings":";;AAoBA,gCAOC;AAMD,gCAWC;AAoCD,wCAQC;AAKD,4CAEC;AAQD,oCAcC;AAQD,sCA4BC;AAzJD,gDAAuD;AAgBvD;;;GAGG;AACH,SAAgB,UAAU,CACxB,KAA2B;IAE3B,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAA,kBAAI,EAAC,uDAAuD,CAAC,CAAA;IACrE,CAAC;IACD,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;AAChD,CAAC;AAED;;;GAGG;AACH,SAAgB,UAAU,CAAC,KAA2B;IACpD,uGAAuG;IACvG,6CAA6C;IAC7C,QAAQ,KAAK,CAAC,EAAE,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAA;QAC5D,KAAK,QAAQ;YACX,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;QAC3C,KAAK,SAAS;YACZ,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAA;IAClE,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAA2B;IAC9C,QAAQ,KAAK,CAAC,EAAE,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,OAAO;gBACL,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAA;QACH,KAAK,QAAQ;YACX,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,QAAQ;aACtB,CAAA;QACH,KAAK,SAAS;YACZ,OAAO;gBACL,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,QAAQ;aACtB,CAAA;IACL,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,CAAS;IACzB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAA;AAC9B,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,IAAY;IACzC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5B,OAAO,EAAE,GAAG,IAAI,CAAA;IAClB,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AACtD,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACrD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,IAAc;IACzC,6EAA6E;IAC7E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxC,WAAW;QACX,OAAO,UAAU,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;SAAM,CAAC;QACN,WAAW;QACX,OAAO,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,IAAY;IACxC,6EAA6E;IAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAEnD,MAAM,KAAK,GACT,IAAI,KAAK,EAAE;QACX,IAAI,KAAK,GAAG;QACZ,IAAI,KAAK,IAAI;QACb,IAAA,8BAAgB,EAAC,IAAI,EAAE,GAAG,CAAC;QAC3B,IAAA,8BAAgB,EAAC,IAAI,EAAE,IAAI,CAAC;QAC5B,IAAA,8BAAgB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAA,kBAAI,EACR,kEAAkE,IAAI,GAAG,CAC1E,CAAA;IACH,CAAC;IAED,8BAA8B;IAC9B,wCAAwC;IACxC,WAAW;IACX,cAAc;IACd,sBAAsB;IACtB,0CAA0C;IAE1C,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACpB,KAAK,CAAC,KAAK,EAAE,CAAA;IACf,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}