hyper-store 1.0.alpha1.1 → 1.0.alpha1.2

Sign up to get free protection for your applications and to get access to all the features.
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