rodash 2.0.0 → 4.0.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.
- checksums.yaml +5 -5
- data/lib/rodash.rb +16 -11
- metadata +6 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: bbb69e1ae3e796ebf133983a5bad41414f4e2178e4e7e364480aefd8849f21fe
|
4
|
+
data.tar.gz: 62df9d3a934288dbe0b5e9fefcbcd3db94dadf503a63be7206ba9180739abef1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b73b37cb3fe80006f9a0ac5c263a3f506f73879de09f7ae4e0f02044153487324e4ecc51ad49fdf1f32167058409aa3eee4e5439f0db46602fbbfa363efba5a
|
7
|
+
data.tar.gz: b26b0a476f722cb6a321df96fbd318dec71d3525e0e5d966a2ec2fca66e16ce07acd4ba72735e6a1c84d62f8e6b62ad3aeea9ff1ed3440b9502e8650de2ffaf3
|
data/lib/rodash.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Rodash 1.0.0
|
2
2
|
# Rodash.get and Rodash.set
|
3
|
-
# MIT License
|
3
|
+
# MIT License
|
4
4
|
# Based on Lodash.js 4.3.0 <https://lodash.com/>
|
5
5
|
|
6
6
|
class Rodash
|
@@ -30,7 +30,7 @@ class Rodash
|
|
30
30
|
def self.set(object, path, value)
|
31
31
|
object.nil? ? object : baseSet(object, path, value)
|
32
32
|
end
|
33
|
-
|
33
|
+
|
34
34
|
# Gets the value at `path` of `object`. If the resolved value is
|
35
35
|
# `nil` the `defaultValue` is used in its place.
|
36
36
|
#
|
@@ -96,23 +96,26 @@ class Rodash
|
|
96
96
|
nested = object
|
97
97
|
newNested = nil
|
98
98
|
|
99
|
-
[*path, nil].each_cons(2) do |key,nextkey|
|
99
|
+
[*path, nil].each_cons(2) do |key, nextkey|
|
100
100
|
if isIndex(key) && nested.is_a?(Array)
|
101
101
|
key = key.to_i
|
102
102
|
end
|
103
103
|
if nextkey.nil?
|
104
104
|
newNested = nested[key] = value
|
105
|
-
else
|
105
|
+
else
|
106
106
|
newNested = nested[key]
|
107
107
|
if isIndex(nextkey) && (!newNested.is_a?(Hash) || !newNested.is_a(Array))
|
108
|
-
nested[key] =
|
108
|
+
nested[key] = []
|
109
|
+
newNested = [] if newNested == nil
|
110
|
+
nested[key] = newNested if newNested != nil
|
109
111
|
elsif not newNested.is_a? Hash
|
110
|
-
nested[key] =
|
112
|
+
nested[key] = {}
|
113
|
+
newNested = {} if newNested == nil
|
114
|
+
nested[key] = newNested if newNested != nil
|
111
115
|
end
|
112
116
|
end
|
113
117
|
nested = newNested
|
114
118
|
end
|
115
|
-
|
116
119
|
return object
|
117
120
|
end
|
118
121
|
|
@@ -160,9 +163,11 @@ class Rodash
|
|
160
163
|
def self.isKey(value, object)
|
161
164
|
return true if value.is_a? Numeric
|
162
165
|
|
163
|
-
return
|
164
|
-
|
165
|
-
|
166
|
+
return false if value.is_a?(Array)
|
167
|
+
|
168
|
+
@@reIsPlainProp.match?(value) ||
|
169
|
+
!@@reIsDeepProp.match?(value) ||
|
170
|
+
(object && !object.is_a?(Array) && object.has_key?(value))
|
166
171
|
end
|
167
172
|
|
168
173
|
def self.baseToPath(value)
|
@@ -189,4 +194,4 @@ class Rodash
|
|
189
194
|
length = length.nil? ? @@MAX_SAFE_INTEGER : length
|
190
195
|
return value > -1 && value % 1 == 0 && value < length
|
191
196
|
end
|
192
|
-
end
|
197
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rodash
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Antoine Pultier
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: _.set, _.get, and _.unset for Ruby
|
14
14
|
email: antoine.pultier@sintef.no
|
@@ -21,7 +21,7 @@ homepage: https://github.com/SINTEF-9012/Rodash
|
|
21
21
|
licenses:
|
22
22
|
- MIT
|
23
23
|
metadata: {}
|
24
|
-
post_install_message:
|
24
|
+
post_install_message:
|
25
25
|
rdoc_options: []
|
26
26
|
require_paths:
|
27
27
|
- lib
|
@@ -36,9 +36,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
36
36
|
- !ruby/object:Gem::Version
|
37
37
|
version: '0'
|
38
38
|
requirements: []
|
39
|
-
|
40
|
-
|
41
|
-
signing_key:
|
39
|
+
rubygems_version: 3.5.3
|
40
|
+
signing_key:
|
42
41
|
specification_version: 4
|
43
42
|
summary: Rodash
|
44
43
|
test_files: []
|