@voxgig/sdkgen 4.7.0 → 4.8.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.
Files changed (50) hide show
  1. package/bin/voxgig-sdkgen +1 -1
  2. package/dist/helpers/opShape.js +8 -11
  3. package/dist/helpers/opShape.js.map +1 -1
  4. package/dist/helpers/pointPath.d.ts +10 -0
  5. package/dist/helpers/pointPath.js +54 -0
  6. package/dist/helpers/pointPath.js.map +1 -0
  7. package/dist/sdkgen.d.ts +4 -2
  8. package/dist/sdkgen.js +8 -3
  9. package/dist/sdkgen.js.map +1 -1
  10. package/dist/tsconfig.tsbuildinfo +1 -1
  11. package/dist/utility.js +26 -1
  12. package/dist/utility.js.map +1 -1
  13. package/package.json +2 -2
  14. package/project/.sdk/src/cmp/c/Config_c.ts +7 -8
  15. package/project/.sdk/src/cmp/c/TestDirect_c.ts +4 -3
  16. package/project/.sdk/src/cmp/cpp/TestDirect_cpp.ts +4 -3
  17. package/project/.sdk/src/cmp/csharp/TestDirect_csharp.ts +5 -4
  18. package/project/.sdk/src/cmp/dart/Config_dart.ts +7 -8
  19. package/project/.sdk/src/cmp/dart/TestDirect_dart.ts +6 -5
  20. package/project/.sdk/src/cmp/elixir/Config_elixir.ts +9 -8
  21. package/project/.sdk/src/cmp/go/Config_go.ts +1 -7
  22. package/project/.sdk/src/cmp/go/TestDirect_go.ts +5 -4
  23. package/project/.sdk/src/cmp/java/Config_java.ts +7 -7
  24. package/project/.sdk/src/cmp/java/TestDirect_java.ts +5 -4
  25. package/project/.sdk/src/cmp/js/Config_js.ts +7 -8
  26. package/project/.sdk/src/cmp/js/TestDirect_js.ts +5 -4
  27. package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +7 -7
  28. package/project/.sdk/src/cmp/kotlin/TestDirect_kotlin.ts +5 -4
  29. package/project/.sdk/src/cmp/lean/Config_lean.ts +9 -8
  30. package/project/.sdk/src/cmp/lua/Config_lua.ts +1 -7
  31. package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +5 -4
  32. package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +5 -4
  33. package/project/.sdk/src/cmp/php/Config_php.ts +1 -7
  34. package/project/.sdk/src/cmp/php/TestDirect_php.ts +5 -4
  35. package/project/.sdk/src/cmp/py/Config_py.ts +1 -7
  36. package/project/.sdk/src/cmp/py/TestDirect_py.ts +5 -4
  37. package/project/.sdk/src/cmp/rb/Config_rb.ts +1 -7
  38. package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +5 -4
  39. package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +5 -4
  40. package/project/.sdk/src/cmp/scala/Config_scala.ts +9 -7
  41. package/project/.sdk/src/cmp/scala/TestDirect_scala.ts +4 -3
  42. package/project/.sdk/src/cmp/seneca-provider/Extras_seneca-provider.ts +3 -1
  43. package/project/.sdk/src/cmp/seneca-provider/Main_seneca-provider.ts +9 -5
  44. package/project/.sdk/src/cmp/ts/Config_ts.ts +7 -8
  45. package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +6 -5
  46. package/project/sdkgen-package.json +1 -1
  47. package/src/helpers/opShape.ts +9 -14
  48. package/src/helpers/pointPath.ts +88 -0
  49. package/src/sdkgen.ts +11 -0
  50. package/src/utility.ts +31 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voxgig/sdkgen",
3
- "version": "4.7.0",
3
+ "version": "4.8.0",
4
4
  "main": "dist/sdkgen.js",
5
5
  "type": "commonjs",
6
6
  "engines": {
@@ -88,7 +88,7 @@
88
88
  "peerDependencies": {
89
89
  "@tabnas/jsonic": "0.6.0",
90
90
  "@tabnas/parser": "0.8.0",
91
- "@voxgig/apidef": ">=8.0",
91
+ "@voxgig/apidef": ">=8.2",
92
92
  "@voxgig/struct": ">=0.2",
93
93
  "@voxgig/util": ">=0.5",
94
94
  "aontu": ">=0.52",
@@ -22,7 +22,6 @@ import {
22
22
 
23
23
  import {
24
24
  cStringLiteral,
25
- clean,
26
25
  formatCValue,
27
26
  } from './utility_c'
28
27
 
@@ -81,13 +80,13 @@ const Config = cmp(async function Config(props: any) {
81
80
  options.auth = { prefix: authPrefix }
82
81
  }
83
82
 
84
- const entityConfig = Object.values(entity || {}).reduce((a: any, n: any) => (
85
- a[n.name] = clean({
86
- fields: n.fields,
87
- name: n.name,
88
- op: n.op,
89
- relations: n.relations,
90
- }, true), a), {})
83
+ // configDefinition's `def.entity` verbatim, NOT rebuilt here. This reduce
84
+ // was one of fourteen copies of that function's entityDefs loop, and when
85
+ // configDefinition started reconstructing a point's `parts` from apidef's
86
+ // segment vector (its ADR-003), only the copies that read `configDef` got
87
+ // it — this target's literal config emitted paths with no parts at all
88
+ // while its data config had them. One rule, one place.
89
+ const entityConfig = configDef.entity
91
90
 
92
91
  const config = {
93
92
  // main from configDefinition's def, not re-derived here, so the literal
@@ -11,6 +11,7 @@ import {
11
11
  File,
12
12
  cmp,
13
13
  snakify,
14
+ pointParts,
14
15
  } from '@voxgig/sdkgen'
15
16
 
16
17
 
@@ -75,10 +76,10 @@ const TestDirect = cmp(function TestDirect(props: any) {
75
76
  const listOp = (entity.op as any)?.list
76
77
 
77
78
  const loadPoint = loadOp?.points?.[0]
78
- const loadPath = loadPoint ? normalizePathParams(loadPoint.parts || [], loadPoint?.args?.params || [], loadPoint?.rename?.param) : ''
79
+ const loadPath = loadPoint ? normalizePathParams(pointParts(loadPoint), loadPoint?.args?.params || [], loadPoint?.rename?.param) : ''
79
80
  const allLoadParams = loadPoint?.args?.params || []
80
81
  const _pathPlaceholders = new Set<string>()
81
- for (const part of (loadPoint?.parts || [])) {
82
+ for (const part of pointParts(loadPoint)) {
82
83
  if (typeof part === 'string' && part.startsWith('{') && part.endsWith('}')) {
83
84
  _pathPlaceholders.add(part.slice(1, -1))
84
85
  }
@@ -95,7 +96,7 @@ const TestDirect = cmp(function TestDirect(props: any) {
95
96
  _renamedPlaceholders.has(p.name) || _renamedPlaceholders.has(p.orig))
96
97
 
97
98
  const listPoint = listOp?.points?.[0]
98
- const listPath = listPoint ? normalizePathParams(listPoint.parts || [], listPoint?.args?.params || [], listPoint?.rename?.param) : ''
99
+ const listPath = listPoint ? normalizePathParams(pointParts(listPoint), listPoint?.args?.params || [], listPoint?.rename?.param) : ''
99
100
  const listParams = listPoint?.args?.params || []
100
101
 
101
102
  File({ name: entity.name + '_direct_test.c' }, () => {
@@ -11,6 +11,7 @@ import {
11
11
  File,
12
12
  cmp,
13
13
  snakify,
14
+ pointParts,
14
15
  } from '@voxgig/sdkgen'
15
16
 
16
17
 
@@ -71,10 +72,10 @@ const TestDirect = cmp(function TestDirect(props: any) {
71
72
  const listOp = (entity.op as any)?.list
72
73
 
73
74
  const loadPoint = loadOp?.points?.[0]
74
- const loadPath = loadPoint ? normalizePathParams(loadPoint.parts || [], loadPoint?.args?.params || [], loadPoint?.rename?.param) : ''
75
+ const loadPath = loadPoint ? normalizePathParams(pointParts(loadPoint), loadPoint?.args?.params || [], loadPoint?.rename?.param) : ''
75
76
  const allLoadParams = loadPoint?.args?.params || []
76
77
  const _pathPlaceholders = new Set<string>()
77
- for (const part of (loadPoint?.parts || [])) {
78
+ for (const part of pointParts(loadPoint)) {
78
79
  if (typeof part === 'string' && part.startsWith('{') && part.endsWith('}')) {
79
80
  _pathPlaceholders.add(part.slice(1, -1))
80
81
  }
@@ -91,7 +92,7 @@ const TestDirect = cmp(function TestDirect(props: any) {
91
92
  _renamedPlaceholders.has(p.name) || _renamedPlaceholders.has(p.orig))
92
93
 
93
94
  const listPoint = listOp?.points?.[0]
94
- const listPath = listPoint ? normalizePathParams(listPoint.parts || [], listPoint?.args?.params || [], listPoint?.rename?.param) : ''
95
+ const listPath = listPoint ? normalizePathParams(pointParts(listPoint), listPoint?.args?.params || [], listPoint?.rename?.param) : ''
95
96
  const listParams = listPoint?.args?.params || []
96
97
 
97
98
  const evar = cppVarName(entity.name)
@@ -13,7 +13,8 @@ import {
13
13
  snakify,
14
14
  isAuthActive, envName, envToken,
15
15
  serverVarEnv,
16
- serverVariables
16
+ serverVariables,
17
+ pointParts,
17
18
  } from '@voxgig/sdkgen'
18
19
 
19
20
  import { formatCsValue } from './utility_csharp'
@@ -102,12 +103,12 @@ const TestDirect = cmp(function TestDirect(props: any) {
102
103
 
103
104
  // Get load point info
104
105
  const loadPoint = loadOp?.points?.[0]
105
- const loadPath = loadPoint ? normalizePathParams(loadPoint.parts || [], loadPoint?.args?.params || [], loadPoint?.rename?.param) : ''
106
+ const loadPath = loadPoint ? normalizePathParams(pointParts(loadPoint), loadPoint?.args?.params || [], loadPoint?.rename?.param) : ''
106
107
  const allLoadParams = loadPoint?.args?.params || []
107
108
  // Only path params that actually appear in the URL template drive direct
108
109
  // path-param setup and URL-substitution asserts.
109
110
  const _pathPlaceholders = new Set<string>()
110
- for (const part of (loadPoint?.parts || [])) {
111
+ for (const part of pointParts(loadPoint)) {
111
112
  if (typeof part === 'string' && part.startsWith('{') && part.endsWith('}')) {
112
113
  _pathPlaceholders.add(part.slice(1, -1))
113
114
  }
@@ -125,7 +126,7 @@ const TestDirect = cmp(function TestDirect(props: any) {
125
126
 
126
127
  // Get list point info
127
128
  const listPoint = listOp?.points?.[0]
128
- const listPath = listPoint ? normalizePathParams(listPoint.parts || [], listPoint?.args?.params || [], listPoint?.rename?.param) : ''
129
+ const listPath = listPoint ? normalizePathParams(pointParts(listPoint), listPoint?.args?.params || [], listPoint?.rename?.param) : ''
129
130
  const listParams = listPoint?.args?.params || []
130
131
 
131
132
  // Required query params with spec-provided examples - needed in live mode.
@@ -26,7 +26,6 @@ import {
26
26
 
27
27
 
28
28
  import {
29
- clean,
30
29
  dartStringLiteral,
31
30
  dartValue,
32
31
  } from './utility_dart'
@@ -159,13 +158,13 @@ const Config = cmp(async function Config(props: any) {
159
158
  Line(` '${entity.name}': <String, dynamic>{},`)
160
159
  }),
161
160
 
162
- "'ENTITYMAP'": dartValue(Object.values(entity)
163
- .reduce((a: any, n: any) => (a[n.name] = clean({
164
- fields: n.fields,
165
- name: n.name,
166
- op: n.op,
167
- relations: n.relations,
168
- }, true), a), {}), 1),
161
+ // configDefinition's `def.entity` verbatim, NOT rebuilt here. This
162
+ // reduce was a second copy of that function's entityDefs loop, and
163
+ // when configDefinition started reconstructing a point's `parts`
164
+ // from apidef's segment vector (its ADR-003), only the data
165
+ // representation got it — the literal one emitted empty paths. The
166
+ // config-repr equivalence test caught it, which is what it is for.
167
+ "'ENTITYMAP'": dartValue(configDef.entity, 1),
169
168
  }
170
169
  })
171
170
  })
@@ -18,7 +18,8 @@ import {
18
18
  snakify,
19
19
  isAuthActive, envName, envToken,
20
20
  serverVarEnv,
21
- serverVariables
21
+ serverVariables,
22
+ pointParts,
22
23
  } from '@voxgig/sdkgen'
23
24
 
24
25
 
@@ -182,12 +183,12 @@ function generateDirectLoad(model: Model, entity: ModelEntity) {
182
183
  }
183
184
 
184
185
  const allLoadParams = loadPoint.args?.params || []
185
- const loadPath = normalizePathParams(loadPoint.parts || [], allLoadParams, loadPoint.rename?.param)
186
+ const loadPath = normalizePathParams(pointParts(loadPoint), allLoadParams, loadPoint.rename?.param)
186
187
 
187
188
  // Only path params that actually appear in the URL template drive the
188
189
  // direct-test path-param setup and URL-substitution asserts.
189
190
  const pathPlaceholders = new Set<string>()
190
- for (const part of (loadPoint.parts || [])) {
191
+ for (const part of pointParts(loadPoint)) {
191
192
  if (typeof part === 'string' && part.startsWith('{') && part.endsWith('}')) {
192
193
  pathPlaceholders.add(part.slice(1, -1))
193
194
  }
@@ -217,7 +218,7 @@ function generateDirectLoad(model: Model, entity: ModelEntity) {
217
218
  const listOp = entity.op?.list
218
219
  const listPoint = listOp?.points?.[0]
219
220
  const listParams = listPoint?.args?.params || []
220
- const listPath = listPoint ? normalizePathParams(listPoint.parts || [], listParams, listPoint.rename?.param) : ''
221
+ const listPath = listPoint ? normalizePathParams(pointParts(listPoint), listParams, listPoint.rename?.param) : ''
221
222
  const hasList = null != listPoint
222
223
 
223
224
  // Ancestor params (not 'id') for live mode
@@ -375,7 +376,7 @@ function generateDirectList(model: Model, entity: ModelEntity) {
375
376
  }
376
377
 
377
378
  const listParams = listPoint.args?.params || []
378
- const listPath = normalizePathParams(listPoint.parts || [], listParams, listPoint.rename?.param)
379
+ const listPath = normalizePathParams(pointParts(listPoint), listParams, listPoint.rename?.param)
379
380
 
380
381
  const listQuery = listPoint.args?.query || []
381
382
  const liveQueryLines = listQuery
@@ -22,7 +22,6 @@ import {
22
22
 
23
23
 
24
24
  import {
25
- clean,
26
25
  formatElixir,
27
26
  elixirString,
28
27
  } from './utility_elixir'
@@ -53,13 +52,6 @@ const Config = cmp(async function Config(props: any) {
53
52
  ? ` "auth" => %{"prefix" => ${elixirString(authPrefix)}},\n`
54
53
  : ''
55
54
 
56
- const entityClean = Object.values(entity).reduce((a: any, n: any) => (a[n.name] = clean({
57
- fields: n.fields,
58
- name: n.name,
59
- op: n.op,
60
- relations: n.relations,
61
- }, true), a), {})
62
-
63
55
  Folder({ name: 'lib' }, () => {
64
56
  // The same config as an OBJECT, built by the shared helper so this
65
57
  // target's literal and the data that replaces it above the threshold are
@@ -72,6 +64,15 @@ const Config = cmp(async function Config(props: any) {
72
64
  const { def: configDef, json: configJson } = configDefinition(model, target.name)
73
65
  const asData = isConfigData(configJson, configReprSetting(model))
74
66
 
67
+ // configDefinition's `def.entity` verbatim, NOT rebuilt here. The reduce
68
+ // this replaces was one of fourteen copies of that function's entityDefs
69
+ // loop, and when configDefinition started reconstructing a point's
70
+ // `parts` from apidef's segment vector (its ADR-003), only the copies
71
+ // that read `configDef` got it — this target's literal config emitted
72
+ // paths with no parts at all while its data config had them. One rule,
73
+ // one place.
74
+ const entityClean = configDef.entity
75
+
75
76
  File({ name: 'config.ex' }, () => {
76
77
 
77
78
  // ABOVE THE THRESHOLD: emit the model as DATA.
@@ -9,7 +9,6 @@ import {
9
9
  Line,
10
10
  cmp,
11
11
  each,
12
- clean,
13
12
  configDefinition,
14
13
  configReprSetting,
15
14
  isAuthActive,
@@ -200,12 +199,7 @@ ${serverBlock}${authBlock} "headers": ${formatGoMap(headers, 3)},
200
199
  Content(` },
201
200
  },
202
201
  "entity": ${formatGoMap(
203
- Object.values(entity).reduce((a: any, n: any) => (a[n.name] = clean({
204
- fields: n.fields,
205
- name: n.name,
206
- op: n.op,
207
- relations: n.relations,
208
- }, true), a), {}), 2)},
202
+ configDef.entity, 2)},
209
203
  }
210
204
  }
211
205
  `)
@@ -13,7 +13,8 @@ import {
13
13
  snakify,
14
14
  isAuthActive,
15
15
  serverVarEnv,
16
- serverVariables, envName, envToken, liveStrict
16
+ serverVariables, envName, envToken, liveStrict,
17
+ pointParts,
17
18
  } from '@voxgig/sdkgen'
18
19
 
19
20
 
@@ -109,7 +110,7 @@ const TestDirect = cmp(function TestDirect(props: any) {
109
110
  // Get load point info
110
111
  const loadPoint = loadOp?.points?.[0]
111
112
  const loadIsGraphql = 'graphql' === (loadPoint as any)?.kind
112
- const loadPath = loadPoint ? normalizePathParams(loadPoint.parts || [], loadPoint?.args?.params || [], loadPoint?.rename?.param) : ''
113
+ const loadPath = loadPoint ? normalizePathParams(pointParts(loadPoint), loadPoint?.args?.params || [], loadPoint?.rename?.param) : ''
113
114
  const allLoadParams = loadPoint?.args?.params || []
114
115
  // Some upstream OpenAPI specs declare a parameter as `in: path` even when
115
116
  // that path has no `{name}` placeholder for it. Only path params that
@@ -117,7 +118,7 @@ const TestDirect = cmp(function TestDirect(props: any) {
117
118
  // setup and URL-substitution asserts; otherwise the SDK silently drops
118
119
  // them and the URL-includes assert fails.
119
120
  const _pathPlaceholders = new Set<string>()
120
- for (const part of (loadPoint?.parts || [])) {
121
+ for (const part of pointParts(loadPoint)) {
121
122
  if (typeof part === 'string' && part.startsWith('{') && part.endsWith('}')) {
122
123
  _pathPlaceholders.add(part.slice(1, -1))
123
124
  }
@@ -136,7 +137,7 @@ const TestDirect = cmp(function TestDirect(props: any) {
136
137
  // Get list point info
137
138
  const listPoint = listOp?.points?.[0]
138
139
  const listIsGraphql = 'graphql' === (listPoint as any)?.kind
139
- const listPath = listPoint ? normalizePathParams(listPoint.parts || [], listPoint?.args?.params || [], listPoint?.rename?.param) : ''
140
+ const listPath = listPoint ? normalizePathParams(pointParts(listPoint), listPoint?.args?.params || [], listPoint?.rename?.param) : ''
140
141
  const listParams = listPoint?.args?.params || []
141
142
 
142
143
  // Required query params with spec-provided examples — needed in live mode
@@ -98,13 +98,13 @@ const Config = cmp(async function Config(props: any) {
98
98
  options.headers = headers
99
99
  options.entity = optionsEntity
100
100
 
101
- const entityConfig = Object.values(entity).reduce((a: any, n: any) => (
102
- a[n.name] = cleanModel({
103
- fields: n.fields,
104
- name: n.name,
105
- op: n.op,
106
- relations: n.relations,
107
- }, true), a), {})
101
+ // configDefinition's `def.entity` verbatim, NOT rebuilt here. This reduce
102
+ // was one of fourteen copies of that function's entityDefs loop, and when
103
+ // configDefinition started reconstructing a point's `parts` from apidef's
104
+ // segment vector (its ADR-003), only the copies that read `configDef` got
105
+ // it — this target's literal config emitted paths with no parts at all
106
+ // while its data config had them. One rule, one place.
107
+ const entityConfig = configDef.entity
108
108
 
109
109
  const config = {
110
110
  main: configDef.main,
@@ -13,7 +13,8 @@ import {
13
13
  snakify,
14
14
  isAuthActive,
15
15
  serverVarEnv,
16
- serverVariables, envName, envToken
16
+ serverVariables, envName, envToken,
17
+ pointParts,
17
18
  } from '@voxgig/sdkgen'
18
19
 
19
20
 
@@ -116,12 +117,12 @@ const TestDirect = cmp(function TestDirect(props: any) {
116
117
 
117
118
  // Get load point info
118
119
  const loadPoint = loadOp?.points?.[0]
119
- const loadPath = loadPoint ? normalizePathParams(loadPoint.parts || [], loadPoint?.args?.params || [], loadPoint?.rename?.param) : ''
120
+ const loadPath = loadPoint ? normalizePathParams(pointParts(loadPoint), loadPoint?.args?.params || [], loadPoint?.rename?.param) : ''
120
121
  const allLoadParams = loadPoint?.args?.params || []
121
122
  // Only path params that actually appear in the URL template drive
122
123
  // direct-test path-param setup and URL-substitution asserts.
123
124
  const _pathPlaceholders = new Set<string>()
124
- for (const part of (loadPoint?.parts || [])) {
125
+ for (const part of pointParts(loadPoint)) {
125
126
  if (typeof part === 'string' && part.startsWith('{') && part.endsWith('}')) {
126
127
  _pathPlaceholders.add(part.slice(1, -1))
127
128
  }
@@ -139,7 +140,7 @@ const TestDirect = cmp(function TestDirect(props: any) {
139
140
 
140
141
  // Get list point info
141
142
  const listPoint = listOp?.points?.[0]
142
- const listPath = listPoint ? normalizePathParams(listPoint.parts || [], listPoint?.args?.params || [], listPoint?.rename?.param) : ''
143
+ const listPath = listPoint ? normalizePathParams(pointParts(listPoint), listPoint?.args?.params || [], listPoint?.rename?.param) : ''
143
144
  const listParams = listPoint?.args?.params || []
144
145
 
145
146
  // Required query params with spec-provided examples — needed in live mode.
@@ -8,7 +8,6 @@ import {
8
8
  Fragment,
9
9
  Line,
10
10
  cmp,
11
- clean,
12
11
  configDefinition,
13
12
  configReprSetting,
14
13
  each,
@@ -161,13 +160,13 @@ const Config = cmp(async function Config(props: any) {
161
160
  `)
162
161
  }),
163
162
 
164
- "'ENTITYMAP'": formatJson(Object.values(entity)
165
- .reduce((a: any, n: any) => (a[n.name] = clean({
166
- fields: n.fields,
167
- name: n.name,
168
- op: n.op,
169
- relations: n.relations,
170
- }, true), a), {}), { margin: 2 }).trim(),
163
+ // configDefinition's `def.entity` verbatim, NOT rebuilt here. This
164
+ // reduce was a second copy of that function's entityDefs loop, and
165
+ // when configDefinition started reconstructing a point's `parts`
166
+ // from apidef's segment vector (its ADR-003), only the data
167
+ // representation got it — the literal one emitted empty paths. The
168
+ // config-repr equivalence test caught it, which is what it is for.
169
+ "'ENTITYMAP'": formatJson(configDef.entity, { margin: 2 }).trim(),
171
170
  }
172
171
  })
173
172
  })
@@ -20,7 +20,8 @@ import {
20
20
  serverVarEnv,
21
21
  serverVariables,
22
22
  jsProp, envName, envToken,
23
- jsKey
23
+ jsKey,
24
+ pointParts,
24
25
  } from '@voxgig/sdkgen'
25
26
 
26
27
 
@@ -172,13 +173,13 @@ function generateDirectLoad(model: Model, entity: ModelEntity) {
172
173
  }
173
174
 
174
175
  const loadParams = loadPoint.args?.params || []
175
- const loadPath = normalizePathParams(loadPoint.parts || [], loadParams, loadPoint.rename?.param)
176
+ const loadPath = normalizePathParams(pointParts(loadPoint), loadParams, loadPoint.rename?.param)
176
177
 
177
178
  // Get list info for live mode bootstrapping
178
179
  const listOp = entity.op?.list
179
180
  const listPoint = listOp?.points?.[0]
180
181
  const listParams = listPoint?.args?.params || []
181
- const listPath = listPoint ? normalizePathParams(listPoint.parts || [], listParams, listPoint.rename?.param) : ''
182
+ const listPath = listPoint ? normalizePathParams(pointParts(listPoint), listParams, listPoint.rename?.param) : ''
182
183
  const hasList = null != listPoint
183
184
 
184
185
  // Ancestor params (not 'id') for live mode
@@ -274,7 +275,7 @@ function generateDirectList(model: Model, entity: ModelEntity) {
274
275
  }
275
276
 
276
277
  const listParams = listPoint.args?.params || []
277
- const listPath = normalizePathParams(listPoint.parts || [], listParams, listPoint.rename?.param)
278
+ const listPath = normalizePathParams(pointParts(listPoint), listParams, listPoint.rename?.param)
278
279
 
279
280
  // Build live params
280
281
  const liveParams = listParams.map((p: any) => {
@@ -79,13 +79,13 @@ const Config = cmp(async function Config(props: any) {
79
79
  options.headers = headers
80
80
  options.entity = optionsEntity
81
81
 
82
- const entityConfig = Object.values(entity).reduce((a: any, n: any) => (
83
- a[n.name] = cleanModel({
84
- fields: n.fields,
85
- name: n.name,
86
- op: n.op,
87
- relations: n.relations,
88
- }, true), a), {})
82
+ // configDefinition's `def.entity` verbatim, NOT rebuilt here. This reduce
83
+ // was one of fourteen copies of that function's entityDefs loop, and when
84
+ // configDefinition started reconstructing a point's `parts` from apidef's
85
+ // segment vector (its ADR-003), only the copies that read `configDef` got
86
+ // it — this target's literal config emitted paths with no parts at all
87
+ // while its data config had them. One rule, one place.
88
+ const entityConfig = configDef.entity
89
89
 
90
90
  const config = {
91
91
  main: configDef.main,
@@ -11,7 +11,8 @@ import {
11
11
  File,
12
12
  cmp,
13
13
  snakify,
14
- isAuthActive, envName, envToken
14
+ isAuthActive, envName, envToken,
15
+ pointParts,
15
16
  } from '@voxgig/sdkgen'
16
17
 
17
18
 
@@ -84,10 +85,10 @@ const TestDirect = cmp(function TestDirect(props: any) {
84
85
  const listOp = entity.op?.list
85
86
 
86
87
  const loadPoint = loadOp?.points?.[0]
87
- const loadPath = loadPoint ? normalizePathParams(loadPoint.parts || [], loadPoint?.args?.params || [], loadPoint?.rename?.param) : ''
88
+ const loadPath = loadPoint ? normalizePathParams(pointParts(loadPoint), loadPoint?.args?.params || [], loadPoint?.rename?.param) : ''
88
89
  const allLoadParams = loadPoint?.args?.params || []
89
90
  const _pathPlaceholders = new Set<string>()
90
- for (const part of (loadPoint?.parts || [])) {
91
+ for (const part of pointParts(loadPoint)) {
91
92
  if (typeof part === 'string' && part.startsWith('{') && part.endsWith('}')) {
92
93
  _pathPlaceholders.add(part.slice(1, -1))
93
94
  }
@@ -104,7 +105,7 @@ const TestDirect = cmp(function TestDirect(props: any) {
104
105
  _renamedPlaceholders.has(p.name) || _renamedPlaceholders.has(p.orig))
105
106
 
106
107
  const listPoint = listOp?.points?.[0]
107
- const listPath = listPoint ? normalizePathParams(listPoint.parts || [], listPoint?.args?.params || [], listPoint?.rename?.param) : ''
108
+ const listPath = listPoint ? normalizePathParams(pointParts(listPoint), listPoint?.args?.params || [], listPoint?.rename?.param) : ''
108
109
  const listParams = listPoint?.args?.params || []
109
110
 
110
111
  const loadQuery = loadPoint?.args?.query || []
@@ -6,6 +6,7 @@ import {
6
6
  isAuthActive,
7
7
  resolveAuthPrefix,
8
8
  targetFeatures,
9
+ configDefinition,
9
10
  } from '@voxgig/sdkgen'
10
11
 
11
12
  import {
@@ -15,7 +16,6 @@ import {
15
16
  } from '@voxgig/apidef'
16
17
 
17
18
  import {
18
- clean,
19
19
  leanString,
20
20
  } from './utility_lean'
21
21
 
@@ -30,6 +30,7 @@ const Config = cmp(async function Config(props: any) {
30
30
  const model: Model = ctx$.model
31
31
 
32
32
  const entity = getModelPath(model, `main.${KIT}.entity`)
33
+ const { def: configDef } = configDefinition(model, target.name)
33
34
  // Gated by the applicability tags, so this target never imports or
34
35
  // registers a feature it has no source for. One rule, one place:
35
36
  // helpers/applicability.
@@ -57,13 +58,13 @@ const Config = cmp(async function Config(props: any) {
57
58
  options.auth = { prefix: authPrefix }
58
59
  }
59
60
 
60
- const entityConfig = Object.values(entity || {}).reduce((a: any, n: any) => (
61
- a[n.name] = clean({
62
- fields: n.fields,
63
- name: n.name,
64
- op: n.op,
65
- relations: n.relations,
66
- }, true), a), {})
61
+ // configDefinition's `def.entity` verbatim, NOT rebuilt here. This reduce
62
+ // was one of fourteen copies of that function's entityDefs loop, and when
63
+ // configDefinition started reconstructing a point's `parts` from apidef's
64
+ // segment vector (its ADR-003), only the copies that read `configDef` got
65
+ // it — this target's literal config emitted paths with no parts at all
66
+ // while its data config had them. One rule, one place.
67
+ const entityConfig = configDef.entity
67
68
 
68
69
  const config = {
69
70
  main: { name: model.const.Name },
@@ -28,7 +28,6 @@ import {
28
28
 
29
29
 
30
30
  import {
31
- clean,
32
31
  formatLuaTable,
33
32
  luaLongString,
34
33
  } from './utility_lua'
@@ -160,12 +159,7 @@ ${serverBlock}${authBlock} headers = ${formatLuaTable(headers, 3)},
160
159
  Content(` },
161
160
  },
162
161
  entity = ${formatLuaTable(
163
- Object.values(entity).reduce((a: any, n: any) => (a[n.name] = clean({
164
- fields: n.fields,
165
- name: n.name,
166
- op: n.op,
167
- relations: n.relations,
168
- }, true), a), {}), 2)},
162
+ configDef.entity, 2)},
169
163
  }
170
164
  end
171
165
  `)