@legendapp/state 2.0.0-next.0 → 2.0.0-next.10

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 (55) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +1 -1
  3. package/history.js +1 -1
  4. package/history.js.map +1 -1
  5. package/history.mjs +2 -2
  6. package/history.mjs.map +1 -1
  7. package/index.d.ts +13 -8
  8. package/index.js +438 -428
  9. package/index.js.map +1 -1
  10. package/index.mjs +439 -427
  11. package/index.mjs.map +1 -1
  12. package/package.json +1 -19
  13. package/persist.js +61 -28
  14. package/persist.js.map +1 -1
  15. package/persist.mjs +62 -29
  16. package/persist.mjs.map +1 -1
  17. package/react-hooks/useObservableQuery.d.ts +1 -1
  18. package/react-hooks/useObservableQuery.js.map +1 -1
  19. package/react-hooks/useObservableQuery.mjs.map +1 -1
  20. package/react.d.ts +0 -6
  21. package/react.js +25 -72
  22. package/react.js.map +1 -1
  23. package/react.mjs +27 -73
  24. package/react.mjs.map +1 -1
  25. package/src/ObservableObject.d.ts +3 -0
  26. package/src/globals.d.ts +3 -2
  27. package/src/observable.d.ts +0 -3
  28. package/src/observableInterfaces.d.ts +41 -21
  29. package/src/persist/observablePersistRemoteSimple.d.ts +2 -0
  30. package/src/proxy.d.ts +5 -3
  31. package/src/react/For.d.ts +1 -1
  32. package/src/react/reactive-observer.d.ts +4 -8
  33. package/src/react/useSelector.d.ts +1 -1
  34. package/src/react-hooks/useObservableQuery.d.ts +1 -1
  35. package/src/tracking.d.ts +0 -1
  36. package/config/enableReactDirectRender.d.ts +0 -7
  37. package/config/enableReactDirectRender.js +0 -63
  38. package/config/enableReactDirectRender.js.map +0 -1
  39. package/config/enableReactDirectRender.mjs +0 -60
  40. package/config/enableReactDirectRender.mjs.map +0 -1
  41. package/react-components.d.ts +0 -2
  42. package/react-components.js +0 -41
  43. package/react-components.js.map +0 -1
  44. package/react-components.mjs +0 -28
  45. package/react-components.mjs.map +0 -1
  46. package/react-native-components.d.ts +0 -2
  47. package/react-native-components.js +0 -64
  48. package/react-native-components.js.map +0 -1
  49. package/react-native-components.mjs +0 -51
  50. package/react-native-components.mjs.map +0 -1
  51. package/src/config/enableReactDirectRender.d.ts +0 -7
  52. package/src/react/enableLegendStateReact.d.ts +0 -1
  53. package/src/react-components/react-components.d.ts +0 -7
  54. package/src/react-native-components/rn-components.d.ts +0 -21
  55. package/types.d.ts +0 -13
package/CHANGELOG.md CHANGED
@@ -1,7 +1,33 @@
1
+ ## 1.11.0
2
+
3
+ - This version displays deprecation warnings to prepare for version 2.0 release which will remove the deprecated features. See https://legendapp.com/open-source/state/migrating/ for details on migration or disabling the warning.
4
+
5
+ ## 1.10.3
6
+
7
+ - Fix: Reactive elements were not supporting observable children
8
+
9
+ ## 1.10.2
10
+
11
+ - Types: Improve types of useObservableQuery - By @bram209 https://github.com/LegendApp/legend-state/pull/182
12
+
13
+ ## 1.10.1
14
+
15
+ - Types: Types of Map and Set were not correct if at the root of an observable
16
+ - Fix: `size` property of Map was not an observable
17
+
18
+ ## 1.10.0
19
+
20
+ - Feat: `proxy` supports three modes like computed: proxy to a computed plain object, proxy to an observable, proxy to a two-way computed
21
+ - Feat: `proxy` sets raw values on parents and notifies when proxied children change
22
+ - Fix: optimize batching so that modifying a child after modifying its parent merges into the existing change rather than creating a new change
23
+ - Fix: `Show` was not passing value to children when children is a function
24
+
1
25
  ## 1.9.0
26
+
2
27
  - Feat: Nested computeds set their value on the raw object so that `get()` on the parent will include the values of child computeds
3
28
 
4
29
  ## 1.8.1
30
+
5
31
  - Feat: Added findIDKey and optimized to internal
6
32
  - Fix: Added more safety around dev-only assertions because they were throwing errors in some build systems
7
33
 
package/README.md CHANGED
@@ -18,7 +18,7 @@ state$.settings.theme.set('light')
18
18
 
19
19
  // observe re-runs when accessed observables change
20
20
  observe(() => {
21
- console.log(state.settings.theme.get())
21
+ console.log(state$.settings.theme.get())
22
22
  })
23
23
 
24
24
  const Component = function Component() {
package/history.js CHANGED
@@ -7,7 +7,7 @@ function trackHistory(obs, targetObservable) {
7
7
  obs.onChange(({ changes }) => {
8
8
  // Don't save history if this is a remote change.
9
9
  // History will be saved remotely by the client making the local change.
10
- if (!state.tracking.inRemoteChange) {
10
+ if (!state.internal.globalState.isLoadingRemote && !state.internal.globalState.isLoadingLocal) {
11
11
  const time = Date.now().toString();
12
12
  // Save to history observable by date, with the previous value
13
13
  for (let i = 0; i < changes.length; i++) {
package/history.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sources":["../../src/history/trackHistory.ts"],"sourcesContent":[null],"names":["observable","tracking","constructObjectWithPath","mergeIntoObservable"],"mappings":";;;;AAYgB,SAAA,YAAY,CACxB,GAA0B,EAC1B,gBAA6E,EAAA;IAE7E,MAAM,OAAO,GAAG,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,cAAhB,gBAAgB,GAAIA,gBAAU,EAAyC,CAAC;IAExF,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAI;;;AAGzB,QAAA,IAAI,CAACC,cAAQ,CAAC,cAAc,EAAE;YAC1B,MAAM,IAAI,GAAsB,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;;AAGtD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEnD,MAAM,GAAG,GAAGC,6BAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gBACjEC,yBAAmB,CAAE,OAAe,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;AACL,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,OAAO,CAAC;AACnB;;;;"}
1
+ {"version":3,"file":"history.js","sources":["../../src/history/trackHistory.ts"],"sourcesContent":[null],"names":["observable","internal","constructObjectWithPath","mergeIntoObservable"],"mappings":";;;;AAYgB,SAAA,YAAY,CACxB,GAA0B,EAC1B,gBAA6E,EAAA;IAE7E,MAAM,OAAO,GAAG,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,cAAhB,gBAAgB,GAAIA,gBAAU,EAAyC,CAAC;IAExF,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAI;;;AAGzB,QAAA,IAAI,CAACC,cAAQ,CAAC,WAAW,CAAC,eAAe,IAAI,CAACA,cAAQ,CAAC,WAAW,CAAC,cAAc,EAAE;YAC/E,MAAM,IAAI,GAAsB,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;;AAGtD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEnD,MAAM,GAAG,GAAGC,6BAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gBACjEC,yBAAmB,CAAE,OAAe,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;AACL,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,OAAO,CAAC;AACnB;;;;"}
package/history.mjs CHANGED
@@ -1,11 +1,11 @@
1
- import { observable, tracking, constructObjectWithPath, mergeIntoObservable } from '@legendapp/state';
1
+ import { observable, internal, constructObjectWithPath, mergeIntoObservable } from '@legendapp/state';
2
2
 
3
3
  function trackHistory(obs, targetObservable) {
4
4
  const history = targetObservable !== null && targetObservable !== void 0 ? targetObservable : observable();
5
5
  obs.onChange(({ changes }) => {
6
6
  // Don't save history if this is a remote change.
7
7
  // History will be saved remotely by the client making the local change.
8
- if (!tracking.inRemoteChange) {
8
+ if (!internal.globalState.isLoadingRemote && !internal.globalState.isLoadingLocal) {
9
9
  const time = Date.now().toString();
10
10
  // Save to history observable by date, with the previous value
11
11
  for (let i = 0; i < changes.length; i++) {
package/history.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"history.mjs","sources":["../../src/history/trackHistory.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAYgB,SAAA,YAAY,CACxB,GAA0B,EAC1B,gBAA6E,EAAA;IAE7E,MAAM,OAAO,GAAG,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,cAAhB,gBAAgB,GAAI,UAAU,EAAyC,CAAC;IAExF,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAI;;;AAGzB,QAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;YAC1B,MAAM,IAAI,GAAsB,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;;AAGtD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEnD,MAAM,GAAG,GAAG,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gBACjE,mBAAmB,CAAE,OAAe,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;AACL,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,OAAO,CAAC;AACnB;;;;"}
1
+ {"version":3,"file":"history.mjs","sources":["../../src/history/trackHistory.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAYgB,SAAA,YAAY,CACxB,GAA0B,EAC1B,gBAA6E,EAAA;IAE7E,MAAM,OAAO,GAAG,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,cAAhB,gBAAgB,GAAI,UAAU,EAAyC,CAAC;IAExF,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAI;;;AAGzB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,cAAc,EAAE;YAC/E,MAAM,IAAI,GAAsB,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;;AAGtD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEnD,MAAM,GAAG,GAAG,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gBACjE,mBAAmB,CAAE,OAAe,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;AACL,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,OAAO,CAAC;AACnB;;;;"}
package/index.d.ts CHANGED
@@ -1,24 +1,29 @@
1
- export { computeSelector, constructObjectWithPath, deconstructObjectWithPath, getObservableIndex, isObservable, isObservableValueReady, lockObservable, mergeIntoObservable, opaqueObject, setAtPath, setInObservableAtPath, setSilently } from './src/helpers';
2
- export { trackSelector, } from './src/trackSelector';
3
- export { observable, observablePrimitive } from './src/observable';
4
1
  export { batch, beginBatch, endBatch } from './src/batching';
5
2
  export { computed } from './src/computed';
3
+ export { configureLegendState } from './src/config';
6
4
  export { event } from './src/event';
5
+ export { computeSelector, constructObjectWithPath, deconstructObjectWithPath, getObservableIndex, isObservable, isObservableValueReady, lockObservable, mergeIntoObservable, opaqueObject, setAtPath, setInObservableAtPath, setSilently, } from './src/helpers';
6
+ export { isArray, isBoolean, isEmpty, isFunction, isObject, isPrimitive, isPromise, isString, isSymbol, } from './src/is';
7
+ export { observable, observablePrimitive } from './src/observable';
8
+ export * from './src/observableInterfaces';
7
9
  export { observe } from './src/observe';
8
10
  export { proxy } from './src/proxy';
11
+ export { trackSelector } from './src/trackSelector';
9
12
  export { when, whenReady } from './src/when';
10
- export { configureLegendState } from './src/config';
11
- export * from './src/observableInterfaces';
12
- export { isEmpty, isArray, isBoolean, isFunction, isObject, isPrimitive, isPromise, isString, isSymbol, } from './src/is';
13
- import { setAtPath } from './src/helpers';
14
- import { ensureNodeValue, findIDKey, get, getNode, peek, setNodeValue } from './src/globals';
15
13
  import { getProxy, set } from './src/ObservableObject';
14
+ import { ensureNodeValue, findIDKey, get, getNode, peek, setNodeValue } from './src/globals';
15
+ import { setAtPath } from './src/helpers';
16
16
  export declare const internal: {
17
17
  ensureNodeValue: typeof ensureNodeValue;
18
18
  findIDKey: typeof findIDKey;
19
19
  get: typeof get;
20
20
  getNode: typeof getNode;
21
21
  getProxy: typeof getProxy;
22
+ globalState: {
23
+ isLoadingLocal: boolean;
24
+ isLoadingRemote: boolean;
25
+ isMerging: boolean;
26
+ };
22
27
  optimized: symbol;
23
28
  peek: typeof peek;
24
29
  set: typeof set;