osv 0.3.4 → 0.3.6

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: 3b8a537d24e23250ff18da51bc59f9b4329b02e2fec9b881d4ee203a766e5514
4
- data.tar.gz: dbdb8b1accd5897df7079adb98cc2ae50939f8ffeebf80c5095a06412dc69699
3
+ metadata.gz: 6d51b65a56cd4a514b4e7746bc87d78be5abe033b390251d0e111ad4ad30813c
4
+ data.tar.gz: 59f4377530f2e5e54649b4c35a0ca78448f3a965279b358810ea9fcc17ddc5a8
5
5
  SHA512:
6
- metadata.gz: d32dc649748d62092414047bc5f7666cab3b1a4cbfb58a00edb2c0ec1a634d375e3c522ac716b57a6bb37292436433d867042b922383366a8da44a3500a6e2a4
7
- data.tar.gz: deec4d1433d6da2b8242fae9c3ff2f17e5c56143f0c39d1f0ceaadd3351ef05641bb03f219a02c47b50a3e36c41048894963da41a0b1729cd153f579277cf448
6
+ metadata.gz: 397350596a09659e20fc9db840006649687db469cefcd5be09965ba147cc688957316cb9675d434594c3a19aa66efd2c734a41c71235dcc8d0b445c24e42f1a2
7
+ data.tar.gz: c225c5d016026a21afe8e90bf5a89e0465304236899d367b6484757073beefb1b75bb7381c37834bc2e344d1ee259d05e9ff82bba3d8214de098b3cf53eb571c
data/Cargo.lock CHANGED
@@ -422,9 +422,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
422
422
 
423
423
  [[package]]
424
424
  name = "syn"
425
- version = "2.0.90"
425
+ version = "2.0.91"
426
426
  source = "registry+https://github.com/rust-lang/crates.io-index"
427
- checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31"
427
+ checksum = "d53cbcb5a243bd33b7858b1d7f4aca2153490815872d86d955d6ea29f743c035"
428
428
  dependencies = [
429
429
  "proc-macro2",
430
430
  "quote",
@@ -439,18 +439,18 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
439
439
 
440
440
  [[package]]
441
441
  name = "thiserror"
442
- version = "1.0.69"
442
+ version = "2.0.9"
443
443
  source = "registry+https://github.com/rust-lang/crates.io-index"
444
- checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
444
+ checksum = "f072643fd0190df67a8bab670c20ef5d8737177d6ac6b2e9a236cb096206b2cc"
445
445
  dependencies = [
446
446
  "thiserror-impl",
447
447
  ]
448
448
 
449
449
  [[package]]
450
450
  name = "thiserror-impl"
451
- version = "1.0.69"
451
+ version = "2.0.9"
452
452
  source = "registry+https://github.com/rust-lang/crates.io-index"
453
- checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
453
+ checksum = "7b50fa271071aae2e6ee85f842e2e28ba8cd2c5fb67f11fcb1fd70b276f9e7d4"
454
454
  dependencies = [
455
455
  "proc-macro2",
456
456
  "quote",
data/README.md CHANGED
@@ -65,19 +65,12 @@ Both methods support the following options:
65
65
 
66
66
  - `has_headers`: Boolean indicating if the first row contains headers (default: true)
67
67
  - `col_sep`: String specifying the field separator (default: ",")
68
-
69
- ```ruby
70
- # Reading TSV files
71
- OSV.for_each("path/to/file.tsv", col_sep: "\t") do |row|
72
- puts row["name"]
73
- end
74
-
75
- # Reading without headers
76
- OSV.for_each("path/to/file.csv", has_headers: false) do |row|
77
- # Headers will be automatically generated as "c0", "c1", etc.
78
- puts row["c0"]
79
- end
80
- ```
68
+ - `quote_char`: String specifying the quote character (default: "\"")
69
+ - `nil_string`: String that should be interpreted as nil
70
+ - by default, empty strings are interpreted as empty strings
71
+ - if you want to interpret empty strings as nil, set this to an empty string
72
+ - `buffer_size`: Integer specifying the read buffer size
73
+ - `result_type`: String specifying the output format ("hash" or "array")
81
74
 
82
75
  ### Input Sources
83
76
 
data/ext/osv/Cargo.toml CHANGED
@@ -14,4 +14,4 @@ magnus = { version = "0.7", features = ["rb-sys"] }
14
14
  rb-sys = "^0.9"
15
15
  serde = { version = "1.0", features = ["derive"] }
16
16
  serde_magnus = "0.8.1"
17
- thiserror = "1.0"
17
+ thiserror = "2.0"
@@ -52,7 +52,7 @@ pub struct RecordReaderBuilder<'a, T: RecordParser + Send + 'static> {
52
52
  has_headers: bool,
53
53
  delimiter: u8,
54
54
  quote_char: u8,
55
- null_string: String,
55
+ null_string: Option<String>,
56
56
  buffer: usize,
57
57
  _phantom: PhantomData<T>,
58
58
  }
@@ -65,7 +65,7 @@ impl<'a, T: RecordParser + Send + 'static> RecordReaderBuilder<'a, T> {
65
65
  has_headers: true,
66
66
  delimiter: b',',
67
67
  quote_char: b'"',
68
- null_string: String::new(),
68
+ null_string: None,
69
69
  buffer: 1000,
70
70
  _phantom: PhantomData,
71
71
  }
@@ -86,7 +86,7 @@ impl<'a, T: RecordParser + Send + 'static> RecordReaderBuilder<'a, T> {
86
86
  self
87
87
  }
88
88
 
89
- pub fn null_string(mut self, null_string: String) -> Self {
89
+ pub fn null_string(mut self, null_string: Option<String>) -> Self {
90
90
  self.null_string = null_string;
91
91
  self
92
92
  }
@@ -189,7 +189,7 @@ impl<'a, T: RecordParser + Send + 'static> RecordReaderBuilder<'a, T> {
189
189
  let handle = thread::spawn(move || {
190
190
  let mut record = csv::StringRecord::new();
191
191
  while let Ok(true) = reader.read_record(&mut record) {
192
- let row = T::parse(&static_headers, &record, &null_string);
192
+ let row = T::parse(&static_headers, &record, null_string.as_deref());
193
193
  if sender.send(row).is_err() {
194
194
  break;
195
195
  }
@@ -6,7 +6,7 @@ pub trait RecordParser {
6
6
  fn parse(
7
7
  headers: &[&'static str],
8
8
  record: &csv::StringRecord,
9
- null_string: &str,
9
+ null_string: Option<&str>,
10
10
  ) -> Self::Output;
11
11
  }
12
12
 
@@ -17,7 +17,7 @@ impl RecordParser for HashMap<&'static str, Option<String>> {
17
17
  fn parse(
18
18
  headers: &[&'static str],
19
19
  record: &csv::StringRecord,
20
- null_string: &str,
20
+ null_string: Option<&str>,
21
21
  ) -> Self::Output {
22
22
  let mut map = HashMap::with_capacity(headers.len());
23
23
  headers
@@ -26,7 +26,7 @@ impl RecordParser for HashMap<&'static str, Option<String>> {
26
26
  .for_each(|(header, field)| {
27
27
  map.insert(
28
28
  *header,
29
- if field == null_string {
29
+ if null_string == Some(field) {
30
30
  None
31
31
  } else {
32
32
  // Avoid allocating for empty strings
@@ -49,11 +49,11 @@ impl RecordParser for Vec<Option<String>> {
49
49
  fn parse(
50
50
  _headers: &[&'static str],
51
51
  record: &csv::StringRecord,
52
- null_string: &str,
52
+ null_string: Option<&str>,
53
53
  ) -> Self::Output {
54
54
  let mut vec = Vec::with_capacity(record.len());
55
55
  vec.extend(record.iter().map(|field| {
56
- if field == null_string {
56
+ if null_string == Some(field) {
57
57
  None
58
58
  } else {
59
59
  // Avoid allocating for empty strings
@@ -5,7 +5,7 @@ pub enum ReadImpl<T: RecordParser> {
5
5
  SingleThreaded {
6
6
  reader: csv::Reader<Box<dyn Read>>,
7
7
  headers: Vec<&'static str>,
8
- null_string: String,
8
+ null_string: Option<String>,
9
9
  },
10
10
  MultiThreaded {
11
11
  headers: Vec<&'static str>,
@@ -36,7 +36,7 @@ impl<T: RecordParser> ReadImpl<T> {
36
36
  } => {
37
37
  let mut record = csv::StringRecord::new();
38
38
  match reader.read_record(&mut record) {
39
- Ok(true) => Some(T::parse(headers, &record, null_string)),
39
+ Ok(true) => Some(T::parse(headers, &record, null_string.as_deref())),
40
40
  _ => None,
41
41
  }
42
42
  }
@@ -71,7 +71,7 @@ struct EnumeratorArgs {
71
71
  has_headers: bool,
72
72
  delimiter: u8,
73
73
  quote_char: u8,
74
- null_string: String,
74
+ null_string: Option<String>,
75
75
  buffer_size: usize,
76
76
  result_type: String,
77
77
  }
data/ext/osv/src/utils.rs CHANGED
@@ -10,7 +10,7 @@ pub struct CsvArgs {
10
10
  pub has_headers: bool,
11
11
  pub delimiter: u8,
12
12
  pub quote_char: u8,
13
- pub null_string: String,
13
+ pub null_string: Option<String>,
14
14
  pub buffer_size: usize,
15
15
  pub result_type: String,
16
16
  }
@@ -27,7 +27,7 @@ pub fn parse_csv_args(ruby: &Ruby, args: &[Value]) -> Result<CsvArgs, Error> {
27
27
  Option<bool>,
28
28
  Option<String>,
29
29
  Option<String>,
30
- Option<String>,
30
+ Option<Option<String>>,
31
31
  Option<usize>,
32
32
  Option<Value>,
33
33
  ),
@@ -73,7 +73,7 @@ pub fn parse_csv_args(ruby: &Ruby, args: &[Value]) -> Result<CsvArgs, Error> {
73
73
  )
74
74
  })?;
75
75
 
76
- let null_string = kwargs.optional.3.unwrap_or_else(|| "".to_string());
76
+ let null_string = kwargs.optional.3.unwrap_or_default();
77
77
 
78
78
  let buffer_size = kwargs.optional.4.unwrap_or(1000);
79
79
 
data/lib/osv/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module OSV
2
- VERSION = "0.3.4"
2
+ VERSION = "0.3.6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: osv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Jaremko
@@ -52,7 +52,6 @@ files:
52
52
  - LICENSE
53
53
  - README.md
54
54
  - Rakefile
55
- - ext/osv/Cargo.lock
56
55
  - ext/osv/Cargo.toml
57
56
  - ext/osv/extconf.rb
58
57
  - ext/osv/src/csv/builder.rs
@@ -89,7 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
88
  - !ruby/object:Gem::Version
90
89
  version: '0'
91
90
  requirements: []
92
- rubygems_version: 3.4.10
91
+ rubygems_version: 3.4.19
93
92
  signing_key:
94
93
  specification_version: 4
95
94
  summary: CSV parser for Ruby
data/ext/osv/Cargo.lock DELETED
@@ -1,402 +0,0 @@
1
- # This file is automatically @generated by Cargo.
2
- # It is not intended for manual editing.
3
- version = 3
4
-
5
- [[package]]
6
- name = "aho-corasick"
7
- version = "1.1.3"
8
- source = "registry+https://github.com/rust-lang/crates.io-index"
9
- checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
10
- dependencies = [
11
- "memchr",
12
- ]
13
-
14
- [[package]]
15
- name = "bindgen"
16
- version = "0.69.5"
17
- source = "registry+https://github.com/rust-lang/crates.io-index"
18
- checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
19
- dependencies = [
20
- "bitflags",
21
- "cexpr",
22
- "clang-sys",
23
- "itertools",
24
- "lazy_static",
25
- "lazycell",
26
- "proc-macro2",
27
- "quote",
28
- "regex",
29
- "rustc-hash",
30
- "shlex",
31
- "syn",
32
- ]
33
-
34
- [[package]]
35
- name = "bitflags"
36
- version = "2.6.0"
37
- source = "registry+https://github.com/rust-lang/crates.io-index"
38
- checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
39
-
40
- [[package]]
41
- name = "cexpr"
42
- version = "0.6.0"
43
- source = "registry+https://github.com/rust-lang/crates.io-index"
44
- checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
45
- dependencies = [
46
- "nom",
47
- ]
48
-
49
- [[package]]
50
- name = "cfg-if"
51
- version = "1.0.0"
52
- source = "registry+https://github.com/rust-lang/crates.io-index"
53
- checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
54
-
55
- [[package]]
56
- name = "clang-sys"
57
- version = "1.8.1"
58
- source = "registry+https://github.com/rust-lang/crates.io-index"
59
- checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
60
- dependencies = [
61
- "glob",
62
- "libc",
63
- "libloading",
64
- ]
65
-
66
- [[package]]
67
- name = "csv"
68
- version = "1.3.1"
69
- source = "registry+https://github.com/rust-lang/crates.io-index"
70
- checksum = "acdc4883a9c96732e4733212c01447ebd805833b7275a73ca3ee080fd77afdaf"
71
- dependencies = [
72
- "csv-core",
73
- "itoa",
74
- "ryu",
75
- "serde",
76
- ]
77
-
78
- [[package]]
79
- name = "csv-core"
80
- version = "0.1.11"
81
- source = "registry+https://github.com/rust-lang/crates.io-index"
82
- checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70"
83
- dependencies = [
84
- "memchr",
85
- ]
86
-
87
- [[package]]
88
- name = "either"
89
- version = "1.13.0"
90
- source = "registry+https://github.com/rust-lang/crates.io-index"
91
- checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
92
-
93
- [[package]]
94
- name = "glob"
95
- version = "0.3.1"
96
- source = "registry+https://github.com/rust-lang/crates.io-index"
97
- checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
98
-
99
- [[package]]
100
- name = "itertools"
101
- version = "0.12.1"
102
- source = "registry+https://github.com/rust-lang/crates.io-index"
103
- checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
104
- dependencies = [
105
- "either",
106
- ]
107
-
108
- [[package]]
109
- name = "itoa"
110
- version = "1.0.14"
111
- source = "registry+https://github.com/rust-lang/crates.io-index"
112
- checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674"
113
-
114
- [[package]]
115
- name = "lazy_static"
116
- version = "1.5.0"
117
- source = "registry+https://github.com/rust-lang/crates.io-index"
118
- checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
119
-
120
- [[package]]
121
- name = "lazycell"
122
- version = "1.3.0"
123
- source = "registry+https://github.com/rust-lang/crates.io-index"
124
- checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
125
-
126
- [[package]]
127
- name = "libc"
128
- version = "0.2.169"
129
- source = "registry+https://github.com/rust-lang/crates.io-index"
130
- checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
131
-
132
- [[package]]
133
- name = "libloading"
134
- version = "0.8.6"
135
- source = "registry+https://github.com/rust-lang/crates.io-index"
136
- checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34"
137
- dependencies = [
138
- "cfg-if",
139
- "windows-targets",
140
- ]
141
-
142
- [[package]]
143
- name = "magnus"
144
- version = "0.7.1"
145
- source = "registry+https://github.com/rust-lang/crates.io-index"
146
- checksum = "3d87ae53030f3a22e83879e666cb94e58a7bdf31706878a0ba48752994146dab"
147
- dependencies = [
148
- "magnus-macros",
149
- "rb-sys",
150
- "rb-sys-env",
151
- "seq-macro",
152
- ]
153
-
154
- [[package]]
155
- name = "magnus-macros"
156
- version = "0.6.0"
157
- source = "registry+https://github.com/rust-lang/crates.io-index"
158
- checksum = "5968c820e2960565f647819f5928a42d6e874551cab9d88d75e3e0660d7f71e3"
159
- dependencies = [
160
- "proc-macro2",
161
- "quote",
162
- "syn",
163
- ]
164
-
165
- [[package]]
166
- name = "memchr"
167
- version = "2.7.4"
168
- source = "registry+https://github.com/rust-lang/crates.io-index"
169
- checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
170
-
171
- [[package]]
172
- name = "minimal-lexical"
173
- version = "0.2.1"
174
- source = "registry+https://github.com/rust-lang/crates.io-index"
175
- checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
176
-
177
- [[package]]
178
- name = "nom"
179
- version = "7.1.3"
180
- source = "registry+https://github.com/rust-lang/crates.io-index"
181
- checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
182
- dependencies = [
183
- "memchr",
184
- "minimal-lexical",
185
- ]
186
-
187
- [[package]]
188
- name = "osv"
189
- version = "0.1.0"
190
- dependencies = [
191
- "csv",
192
- "magnus",
193
- "rb-sys",
194
- ]
195
-
196
- [[package]]
197
- name = "proc-macro2"
198
- version = "1.0.92"
199
- source = "registry+https://github.com/rust-lang/crates.io-index"
200
- checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0"
201
- dependencies = [
202
- "unicode-ident",
203
- ]
204
-
205
- [[package]]
206
- name = "quote"
207
- version = "1.0.37"
208
- source = "registry+https://github.com/rust-lang/crates.io-index"
209
- checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
210
- dependencies = [
211
- "proc-macro2",
212
- ]
213
-
214
- [[package]]
215
- name = "rb-sys"
216
- version = "0.9.103"
217
- source = "registry+https://github.com/rust-lang/crates.io-index"
218
- checksum = "91dbe37ab6ac2fba187480fb6544b92445e41e5c6f553bf0c33743f3c450a1df"
219
- dependencies = [
220
- "rb-sys-build",
221
- ]
222
-
223
- [[package]]
224
- name = "rb-sys-build"
225
- version = "0.9.103"
226
- source = "registry+https://github.com/rust-lang/crates.io-index"
227
- checksum = "c4d56a49dcb646b70b758789c0d16c055a386a4f2a3346333abb69850fa860ce"
228
- dependencies = [
229
- "bindgen",
230
- "lazy_static",
231
- "proc-macro2",
232
- "quote",
233
- "regex",
234
- "shell-words",
235
- "syn",
236
- ]
237
-
238
- [[package]]
239
- name = "rb-sys-env"
240
- version = "0.1.2"
241
- source = "registry+https://github.com/rust-lang/crates.io-index"
242
- checksum = "a35802679f07360454b418a5d1735c89716bde01d35b1560fc953c1415a0b3bb"
243
-
244
- [[package]]
245
- name = "regex"
246
- version = "1.11.1"
247
- source = "registry+https://github.com/rust-lang/crates.io-index"
248
- checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
249
- dependencies = [
250
- "aho-corasick",
251
- "memchr",
252
- "regex-automata",
253
- "regex-syntax",
254
- ]
255
-
256
- [[package]]
257
- name = "regex-automata"
258
- version = "0.4.9"
259
- source = "registry+https://github.com/rust-lang/crates.io-index"
260
- checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
261
- dependencies = [
262
- "aho-corasick",
263
- "memchr",
264
- "regex-syntax",
265
- ]
266
-
267
- [[package]]
268
- name = "regex-syntax"
269
- version = "0.8.5"
270
- source = "registry+https://github.com/rust-lang/crates.io-index"
271
- checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
272
-
273
- [[package]]
274
- name = "rustc-hash"
275
- version = "1.1.0"
276
- source = "registry+https://github.com/rust-lang/crates.io-index"
277
- checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
278
-
279
- [[package]]
280
- name = "ryu"
281
- version = "1.0.18"
282
- source = "registry+https://github.com/rust-lang/crates.io-index"
283
- checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
284
-
285
- [[package]]
286
- name = "seq-macro"
287
- version = "0.3.5"
288
- source = "registry+https://github.com/rust-lang/crates.io-index"
289
- checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4"
290
-
291
- [[package]]
292
- name = "serde"
293
- version = "1.0.216"
294
- source = "registry+https://github.com/rust-lang/crates.io-index"
295
- checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e"
296
- dependencies = [
297
- "serde_derive",
298
- ]
299
-
300
- [[package]]
301
- name = "serde_derive"
302
- version = "1.0.216"
303
- source = "registry+https://github.com/rust-lang/crates.io-index"
304
- checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e"
305
- dependencies = [
306
- "proc-macro2",
307
- "quote",
308
- "syn",
309
- ]
310
-
311
- [[package]]
312
- name = "shell-words"
313
- version = "1.1.0"
314
- source = "registry+https://github.com/rust-lang/crates.io-index"
315
- checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
316
-
317
- [[package]]
318
- name = "shlex"
319
- version = "1.3.0"
320
- source = "registry+https://github.com/rust-lang/crates.io-index"
321
- checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
322
-
323
- [[package]]
324
- name = "syn"
325
- version = "2.0.90"
326
- source = "registry+https://github.com/rust-lang/crates.io-index"
327
- checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31"
328
- dependencies = [
329
- "proc-macro2",
330
- "quote",
331
- "unicode-ident",
332
- ]
333
-
334
- [[package]]
335
- name = "unicode-ident"
336
- version = "1.0.14"
337
- source = "registry+https://github.com/rust-lang/crates.io-index"
338
- checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"
339
-
340
- [[package]]
341
- name = "windows-targets"
342
- version = "0.52.6"
343
- source = "registry+https://github.com/rust-lang/crates.io-index"
344
- checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
345
- dependencies = [
346
- "windows_aarch64_gnullvm",
347
- "windows_aarch64_msvc",
348
- "windows_i686_gnu",
349
- "windows_i686_gnullvm",
350
- "windows_i686_msvc",
351
- "windows_x86_64_gnu",
352
- "windows_x86_64_gnullvm",
353
- "windows_x86_64_msvc",
354
- ]
355
-
356
- [[package]]
357
- name = "windows_aarch64_gnullvm"
358
- version = "0.52.6"
359
- source = "registry+https://github.com/rust-lang/crates.io-index"
360
- checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
361
-
362
- [[package]]
363
- name = "windows_aarch64_msvc"
364
- version = "0.52.6"
365
- source = "registry+https://github.com/rust-lang/crates.io-index"
366
- checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
367
-
368
- [[package]]
369
- name = "windows_i686_gnu"
370
- version = "0.52.6"
371
- source = "registry+https://github.com/rust-lang/crates.io-index"
372
- checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
373
-
374
- [[package]]
375
- name = "windows_i686_gnullvm"
376
- version = "0.52.6"
377
- source = "registry+https://github.com/rust-lang/crates.io-index"
378
- checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
379
-
380
- [[package]]
381
- name = "windows_i686_msvc"
382
- version = "0.52.6"
383
- source = "registry+https://github.com/rust-lang/crates.io-index"
384
- checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
385
-
386
- [[package]]
387
- name = "windows_x86_64_gnu"
388
- version = "0.52.6"
389
- source = "registry+https://github.com/rust-lang/crates.io-index"
390
- checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
391
-
392
- [[package]]
393
- name = "windows_x86_64_gnullvm"
394
- version = "0.52.6"
395
- source = "registry+https://github.com/rust-lang/crates.io-index"
396
- checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
397
-
398
- [[package]]
399
- name = "windows_x86_64_msvc"
400
- version = "0.52.6"
401
- source = "registry+https://github.com/rust-lang/crates.io-index"
402
- checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"