@voxgig/sdkgen 4.5.1 → 4.5.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.
package/bin/voxgig-sdkgen CHANGED
@@ -8,7 +8,7 @@ const { Shape, One, Skip } = require('shape')
8
8
 
9
9
  const { SdkGen } = require('../dist/sdkgen.js')
10
10
 
11
- const VERSION = '4.5.1'
11
+ const VERSION = '4.5.2'
12
12
  const KONSOLE = console
13
13
 
14
14
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voxgig/sdkgen",
3
- "version": "4.5.1",
3
+ "version": "4.5.2",
4
4
  "main": "dist/sdkgen.js",
5
5
  "type": "commonjs",
6
6
  "engines": {
@@ -1440,7 +1440,15 @@ local function merge(val, maxdepth)
1440
1440
  -- Descend into override node.
1441
1441
  else
1442
1442
  -- Descend into destination node using same key.
1443
- dst[pI + 1] = 0 < pI and getprop(dst[pI], key) or dst[pI + 1]
1443
+ -- NOT `a and b or c`: that idiom silently yields `c` whenever `b`
1444
+ -- is falsy, and `getprop` returns exactly that for a key the
1445
+ -- destination does not have. `dst[pI + 1]` then kept the PREVIOUS
1446
+ -- sibling's destination node, so the next key descended into it:
1447
+ -- merging {auth={prefix}} with {auth={...}, feature={...}} left
1448
+ -- `auth` and `feature` as ONE table holding the union of both.
1449
+ if 0 < pI then
1450
+ dst[pI + 1] = getprop(dst[pI], key)
1451
+ end
1444
1452
  local tval = dst[pI + 1]
1445
1453
 
1446
1454
  -- Destination empty, so create node (unless override is class instance).
@@ -3,7 +3,7 @@
3
3
  "package": 1
4
4
  },
5
5
  "name": "@voxgig/sdkgen",
6
- "version": "4.5.1",
6
+ "version": "4.5.2",
7
7
  "provides": {
8
8
  "target": [
9
9
  "c",