hyper-store 1.0.alpha1.1 → 1.0.alpha1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f04957ec78bfaf502b596fba162164826efa8810ed8abb8cc8c1d2e738ad129c
4
- data.tar.gz: 64045f82f168a565f9b747a898aa1543560c8482bf49ba2d3eb66419872bc246
3
+ metadata.gz: 745e3c8442f854b2b97c742b15e7f227ca7c40fd9b29f2315df21f6b4e112ab0
4
+ data.tar.gz: facba0c36b7bd1c73c522807b5e35b4b2bb450db59d22be209637047a377b636
5
5
  SHA512:
6
- metadata.gz: c48eefc54a419a24d43ff5daa31747a71855f48c968b5571f1e9bcbf0b03b06092c196781b4d21996e6a9a505882131de8e74ee492b22032c5c7f5f62b61d652
7
- data.tar.gz: 7ad43493f161a85d4ac50abe34f83e7ae1ffe26413ad446103e9c04fe6cefb420081efd891504fe6d50a2ae0746e163fba43417d394267326dd7829cacfec778
6
+ metadata.gz: 5b4591cd3315803752854b10f79c69a36069c8f86fb282da373e5a2b34f0f79168fa5572d1bfe8d963bc997d5bb245f410b0d576926e5507e671e58034185cd9
7
+ data.tar.gz: 8df5516267f45a064d7895951c0ac38076914fefc0d57b0d25f8871334a114b1acf30f1f5d086265956b51ab7cec04dab4c0eecb181c1e3358c9192c120d3060
@@ -20,8 +20,6 @@ require 'hyperstack/internal/store/mutator_wrapper'
20
20
  require 'hyperstack/internal/store/observable'
21
21
  require 'hyperstack/internal/store/state_wrapper/argument_validator'
22
22
  require 'hyperstack/internal/store/state_wrapper'
23
- require 'hyperstack/internal/store/state'
24
-
25
23
  require 'hyperstack/legacy/store'
26
24
  require 'hyperstack/legacy/store/version'
27
25
 
@@ -8,15 +8,15 @@ module Hyperstack
8
8
  define_method(:"#{method_name}") do |*args|
9
9
  from = opts[:scope] == :shared ? klass.state.__from__ : __from__
10
10
  from.init_store if from.respond_to? :init_store
11
- current_value = State.get_state(from, method_name.to_s)
11
+ current_value = State::Variable.get(from, method_name.to_s)
12
12
 
13
13
  if args.count > 0
14
- State.set_state(from, method_name.to_s, args[0])
14
+ State::Variable.set(from, method_name.to_s, args[0])
15
15
  current_value
16
16
  else
17
- State.set_state(from, method_name.to_s, current_value)
17
+ State::Variable.set(from, method_name.to_s, current_value)
18
18
  Observable.new(current_value) do |update|
19
- State.set_state(from, method_name.to_s, update)
19
+ State::Variable.set(from, method_name.to_s, update)
20
20
  end
21
21
  end
22
22
  end
@@ -71,7 +71,7 @@ module Hyperstack
71
71
  define_method(:"#{method_name}") do
72
72
  from = opts[:scope] == :shared ? klass.state.__from__ : @__from__
73
73
  from.init_store if from.respond_to? :init_store
74
- State.get_state(from, method_name.to_s)
74
+ State::Variable.get(from, method_name.to_s)
75
75
  end
76
76
  end
77
77
 
@@ -1,7 +1,7 @@
1
1
  module Hyperstack
2
2
  module Legacy
3
3
  module Store
4
- VERSION = '1.0.alpha1.1'
4
+ VERSION = '1.0.alpha1.2'
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyper-store
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.alpha1.1
4
+ version: 1.0.alpha1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mitch VanDuyn
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2018-11-14 00:00:00.000000000 Z
13
+ date: 2018-11-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: hyperstack-config
@@ -18,28 +18,28 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 1.0.alpha1.1
21
+ version: 1.0.alpha1.2
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 1.0.alpha1.1
28
+ version: 1.0.alpha1.2
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: hyper-state
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 1.0.alpha1.1
35
+ version: 1.0.alpha1.2
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 1.0.alpha1.1
42
+ version: 1.0.alpha1.2
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: opal
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -94,28 +94,28 @@ dependencies:
94
94
  requirements:
95
95
  - - '='
96
96
  - !ruby/object:Gem::Version
97
- version: 1.0.alpha1.1
97
+ version: 1.0.alpha1.2
98
98
  type: :development
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - '='
103
103
  - !ruby/object:Gem::Version
104
- version: 1.0.alpha1.1
104
+ version: 1.0.alpha1.2
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: hyper-spec
107
107
  requirement: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - '='
110
110
  - !ruby/object:Gem::Version
111
- version: 1.0.alpha1.1
111
+ version: 1.0.alpha1.2
112
112
  type: :development
113
113
  prerelease: false
114
114
  version_requirements: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - '='
117
117
  - !ruby/object:Gem::Version
118
- version: 1.0.alpha1.1
118
+ version: 1.0.alpha1.2
119
119
  - !ruby/object:Gem::Dependency
120
120
  name: listen
121
121
  requirement: !ruby/object:Gem::Requirement
@@ -367,7 +367,6 @@ files:
367
367
  - lib/hyperstack/internal/store/instance_methods.rb
368
368
  - lib/hyperstack/internal/store/mutator_wrapper.rb
369
369
  - lib/hyperstack/internal/store/observable.rb
370
- - lib/hyperstack/internal/store/state.rb
371
370
  - lib/hyperstack/internal/store/state_wrapper.rb
372
371
  - lib/hyperstack/internal/store/state_wrapper/argument_validator.rb
373
372
  - lib/hyperstack/legacy/store.rb
@@ -1,174 +0,0 @@
1
- module Hyperstack
2
- module Internal
3
- module Store
4
- class State
5
- class << self
6
- def legacy_map
7
- @legacy_map ||= Hash.new { |h, k| h[k] = Hash.new { |h2, k2| h2[k2] = Array.new }}
8
- end
9
-
10
- def get_state(obj, name)
11
- map_object = legacy_map[obj][name]
12
- Hyperstack::Internal::State::Mapper.observed!(map_object.object_id)
13
- map_object[0]
14
- end
15
-
16
- def set_state(obj, name, value)
17
- map_object = legacy_map[obj][name]
18
- map_object[0] = value
19
- Hyperstack::Internal::State::Mapper.mutated!(map_object.object_id)
20
- value
21
- end
22
-
23
- def observed?(obj, name)
24
- map_object = legacy_map[obj][name]
25
- Hyperstack::Internal::State::Mapper.observed?(map_object.object_id)
26
- end
27
- end
28
- end
29
- end
30
- end
31
- end
32
-
33
- # ALWAYS_UPDATE_STATE_AFTER_RENDER = Hyperstack.on_client? # if on server then we don't wait to update the state
34
- # @rendering_level = 0
35
- #
36
- # class << self
37
- # attr_reader :current_observer
38
- #
39
- # def has_observers?(object, name)
40
- # !observers_by_name[object][name].empty?
41
- # end
42
- #
43
- # def bulk_update
44
- # saved_bulk_update_flag = @bulk_update_flag
45
- # @bulk_update_flag = true
46
- # yield
47
- # ensure
48
- # @bulk_update_flag = saved_bulk_update_flag
49
- # end
50
- #
51
- # def set_state2(object, name, value, updates, exclusions = nil)
52
- # # set object's name state to value, tell all observers it has changed.
53
- # # Observers must implement update_react_js_state
54
- # object_needs_notification = object.respond_to?(:update_react_js_state)
55
- # observers_by_name[object][name].dup.each do |observer|
56
- # next if exclusions && exclusions.include?(observer)
57
- # updates[observer] += [object, name, value]
58
- # object_needs_notification = false if object == observer
59
- # end
60
- # updates[object] += [nil, name, value] if object_needs_notification
61
- # end
62
- #
63
- # def initialize_states(object, initial_values) # initialize objects' name/value pairs
64
- # states[object].merge!(initial_values || {})
65
- # end
66
- #
67
- # def get_state(object, name, current_observer = @current_observer)
68
- # # get current value of name for object, remember that the current object depends on this state,
69
- # # current observer can be overriden with last param
70
- # if current_observer && !new_observers[current_observer][object].include?(name)
71
- # new_observers[current_observer][object] << name
72
- # end
73
- # if @delayed_updates && @delayed_updates[object][name]
74
- # @delayed_updates[object][name][1] << current_observer
75
- # end
76
- # states[object][name]
77
- # end
78
- #
79
- # # ReactDOM.unstable_batchedUpdates does not seem to improve things here, ill leave it here commented for reference
80
- # # and later investigation
81
- # #if `ReactDOM.unstable_batchedUpdates !== undefined`
82
- # # %x{
83
- # # ReactDOM.unstable_batchedUpdates(function(){
84
- # # #{updates.each { |observer, args| observer.update_react_js_state(*args) }}
85
- # # });
86
- # # }
87
- # #else # run the other one
88
- # def set_state(object, name, value, delay=ALWAYS_UPDATE_STATE_AFTER_RENDER)
89
- # states[object][name] = value
90
- # delay = false if object.respond_to?(:set_state_synchronously?) && object.set_state_synchronously?
91
- # if delay || @bulk_update_flag
92
- # @delayed_updates ||= Hash.new { |h, k| h[k] = {} }
93
- # @delayed_updates[object][name] = [value, Set.new]
94
- # @delayed_updater ||= after(0.001) do
95
- # delayed_updates = @delayed_updates
96
- # @delayed_updates = Hash.new { |h, k| h[k] = {} } # could this be nil???
97
- # @delayed_updater = nil
98
- # updates = Hash.new { |hash, key| hash[key] = Array.new }
99
- # delayed_updates.each do |object, name_hash|
100
- # name_hash.each do |name, value_and_set|
101
- # set_state2(object, name, value_and_set[0], updates, value_and_set[1])
102
- # end
103
- # end
104
- # updates.each { |observer, args| observer.update_react_js_state(*args) }
105
- # end
106
- # elsif @rendering_level == 0
107
- # updates = Hash.new { |hash, key| hash[key] = Array.new }
108
- # set_state2(object, name, value, updates)
109
- # updates.each { |observer, args| observer.update_react_js_state(*args) }
110
- # end
111
- # value
112
- # end
113
- #
114
- # def will_be_observing?(object, name, current_observer)
115
- # current_observer && new_observers[current_observer][object].include?(name)
116
- # end
117
- #
118
- # def is_observing?(object, name, current_observer)
119
- # current_observer && observers_by_name[object][name].include?(current_observer)
120
- # end
121
- #
122
- # def update_states_to_observe(current_observer = @current_observer) # should be called after the last after_render callback, currently called after components render method
123
- # raise "update_states_to_observer called outside of watch block" unless current_observer
124
- # current_observers[current_observer].each do |object, names|
125
- # names.each do |name|
126
- # observers_by_name[object][name].delete(current_observer)
127
- # end
128
- # end
129
- # observers = current_observers[current_observer] = new_observers[current_observer]
130
- # new_observers.delete(current_observer)
131
- # observers.each do |object, names|
132
- # names.each do |name|
133
- # observers_by_name[object][name] << current_observer
134
- # end
135
- # end
136
- # end
137
- #
138
- # def remove # call after component is unmounted
139
- # raise "remove called outside of watch block" unless @current_observer
140
- # current_observers[@current_observer].each do |object, names|
141
- # names.each do |name|
142
- # observers_by_name[object][name].delete(@current_observer)
143
- # end
144
- # end
145
- # current_observers.delete(@current_observer)
146
- # end
147
- #
148
- # def set_state_context_to(observer, rendering = nil) # wrap all execution that may set or get states in a block so we know which observer is executing
149
- # saved_current_observer = @current_observer
150
- # @current_observer = observer
151
- # @rendering_level += 1 if rendering
152
- # return_value = yield
153
- # return_value
154
- # ensure
155
- # @current_observer = saved_current_observer
156
- # @rendering_level -= 1 if rendering
157
- # return_value
158
- # end
159
- #
160
- # def states
161
- # @states ||= Hash.new { |h, k| h[k] = {} }
162
- # end
163
- #
164
- # [:new_observers, :current_observers, :observers_by_name].each do |method_name|
165
- # define_method(method_name) do
166
- # instance_variable_get("@#{method_name}") ||
167
- # instance_variable_set("@#{method_name}", Hash.new { |h, k| h[k] = Hash.new { |h, k| h[k] = [] } })
168
- # end
169
- # end
170
- # end
171
- # end
172
- # end
173
- # end
174
- # end