cddl 0.8.11 → 0.8.12

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: 77b28f069a663ccb82301ec6db8cf42db6b00127b36272020baf874416029a2b
4
- data.tar.gz: c37387e5d6b1009d054cb9a345d337e43fbc2a9bcc826d009aa0b1cdfeded437
3
+ metadata.gz: 2ede21b4292e6f546745029c7a071eb1af1259366e676d90e19f400dfe089d7a
4
+ data.tar.gz: 57ed90f75d58941bd28c5afef7d5eb29eea5d5483a6a3b2c4fc65d49df0370aa
5
5
  SHA512:
6
- metadata.gz: b7818289a708b07c08a58c8b114730777d70a4dbfb43ec94f10fbcacfae21cdbdcd72b11dd225e52471963e1570d30cb5703790f424b470015ab67064cc48ae8
7
- data.tar.gz: 301eb0733448db7eae4dff9404d51b436c018ede13ed9a2288a6285d783e58d479186e80193e90e38ed075bd24b33fccf1ed2055eb57fd99cd99594621aa1df7
6
+ metadata.gz: 65de704e842bb6d48265e7024922edf0406d6cb521d2977b07db2926d396b8b2d6bdc103619d579b861cb53b8914b4383e25c2e610e86f7b4d88d89983a64dff
7
+ data.tar.gz: c0919845b3ee5bba3b2a5d77f9e182a4a9f1904f187843501abf29954d37033d62f1cfd50545865ba878c92583f26151f9024dc1093c0d4607442038b36008b0
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'cddl'
3
- s.version = '0.8.11'
3
+ s.version = '0.8.12'
4
4
  s.summary = "CDDL generator and validator."
5
5
  s.description = %{A parser, generator, and validator for CDDL}
6
6
  s.add_dependency('cbor-diag')
@@ -16,6 +16,7 @@ type1 = type2 [S (rangeop / annotator) S type2]
16
16
  / "#" "6" ["." uint] "(" S type S ")" ; note no space!
17
17
  / "#" DIGIT ["." uint] ; major/ai
18
18
  / "#" ; any
19
+ / "~" S typename [genericarg]
19
20
  / "{" S group S "}"
20
21
  / "[" S group S "]"
21
22
  / "&" S "(" S group S ")"
@@ -1241,6 +1241,26 @@ module CDDL
1241
1241
  v
1242
1242
  }
1243
1243
  ]
1244
+ when /\A~/
1245
+ if tn = n.typename
1246
+ s = type_recall(tn.to_s, false, n.genericarg).flatten(1)
1247
+ else
1248
+ fail "No typename in unwrap #{n}"
1249
+ end
1250
+ if s[0] != :type1
1251
+ fail [:UNWRAPs0, s].inspect
1252
+ end
1253
+ case s[1]
1254
+ when :map, :array
1255
+ [:grpent, s[2..-1]]
1256
+ when :prim
1257
+ if s[2] != 6
1258
+ fail [:UNWRAPs2, s].inspect
1259
+ end
1260
+ s[4] # check :type1?
1261
+ else
1262
+ fail [:UNWRAPs1, s].inspect
1263
+ end
1244
1264
  else
1245
1265
  "unimplemented #{n}"
1246
1266
  end
@@ -1,4 +1,4 @@
1
- foo = {
1
+ bla = {
2
2
  a: int
3
3
  ? ("b" .feature "foo") => float
4
4
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cddl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.11
4
+ version: 0.8.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-14 00:00:00.000000000 Z
11
+ date: 2020-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cbor-diag