@voxgig/sdkgen 0.26.1 → 0.28.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 (157) hide show
  1. package/bin/voxgig-sdkgen +1 -1
  2. package/dist/cmp/Feature.js +11 -9
  3. package/dist/cmp/Feature.js.map +1 -1
  4. package/dist/cmp/Main.js +6 -2
  5. package/dist/cmp/Main.js.map +1 -1
  6. package/model/sdkgen.jsonic +1 -1
  7. package/package.json +3 -3
  8. package/project/.sdk/model/feature/log.jsonic +1 -1
  9. package/project/.sdk/model/feature/test.jsonic +1 -1
  10. package/project/.sdk/model/target/go.jsonic +19 -4
  11. package/project/.sdk/model/target/ts.jsonic +3 -3
  12. package/project/.sdk/src/cmp/go/Config_go.ts +119 -0
  13. package/project/.sdk/src/cmp/go/EntityOperation_go.ts +48 -0
  14. package/project/.sdk/src/cmp/go/Entity_go.ts +67 -0
  15. package/project/.sdk/src/cmp/go/MainEntity_go.ts +22 -0
  16. package/project/.sdk/src/cmp/go/Main_go.ts +209 -0
  17. package/project/.sdk/src/cmp/go/Package_go.ts +89 -0
  18. package/project/.sdk/src/cmp/go/TestDirect_go.ts +373 -0
  19. package/project/.sdk/src/cmp/go/TestEntity_go.ts +341 -0
  20. package/project/.sdk/src/cmp/go/Test_go.ts +37 -0
  21. package/project/.sdk/src/cmp/go/fragment/Entity.fragment.go +146 -0
  22. package/project/.sdk/src/cmp/go/fragment/EntityCreateOp.fragment.go +35 -0
  23. package/project/.sdk/src/cmp/go/fragment/EntityListOp.fragment.go +26 -0
  24. package/project/.sdk/src/cmp/go/fragment/EntityLoadOp.fragment.go +38 -0
  25. package/project/.sdk/src/cmp/go/fragment/EntityRemoveOp.fragment.go +38 -0
  26. package/project/.sdk/src/cmp/go/fragment/EntityUpdateOp.fragment.go +38 -0
  27. package/project/.sdk/src/cmp/go/fragment/Main.fragment.go +250 -0
  28. package/project/.sdk/src/cmp/go/fragment/SdkError.fragment.go +22 -0
  29. package/project/.sdk/src/cmp/go/tsconfig.json +15 -0
  30. package/project/.sdk/src/cmp/go/utility_go.ts +88 -0
  31. package/project/.sdk/src/cmp/js/fragment/EntityCreateOp.fragment.js +6 -6
  32. package/project/.sdk/src/cmp/js/fragment/EntityListOp.fragment.js +6 -6
  33. package/project/.sdk/src/cmp/js/fragment/EntityLoadOp.fragment.js +6 -6
  34. package/project/.sdk/src/cmp/js/fragment/EntityRemoveOp.fragment.js +6 -6
  35. package/project/.sdk/src/cmp/js/fragment/EntityUpdateOp.fragment.js +6 -6
  36. package/project/.sdk/src/cmp/js/fragment/Main.fragment.js +85 -1
  37. package/project/.sdk/src/cmp/ts/EntityOperation_ts.ts +1 -1
  38. package/project/.sdk/src/cmp/ts/Main_ts.ts +4 -4
  39. package/project/.sdk/src/cmp/ts/SdkError_ts.ts +42 -0
  40. package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +288 -0
  41. package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +14 -6
  42. package/project/.sdk/src/cmp/ts/Test_ts.ts +2 -0
  43. package/project/.sdk/src/cmp/ts/fragment/Direct.test.fragment.ts +30 -0
  44. package/project/.sdk/src/cmp/ts/fragment/EntityCreateOp.fragment.ts +12 -12
  45. package/project/.sdk/src/cmp/ts/fragment/EntityListOp.fragment.ts +12 -12
  46. package/project/.sdk/src/cmp/ts/fragment/EntityLoadOp.fragment.ts +12 -12
  47. package/project/.sdk/src/cmp/ts/fragment/EntityRemoveOp.fragment.ts +13 -13
  48. package/project/.sdk/src/cmp/ts/fragment/EntityUpdateOp.fragment.ts +12 -12
  49. package/project/.sdk/src/cmp/ts/fragment/Main.fragment.ts +102 -6
  50. package/project/.sdk/src/cmp/ts/fragment/SdkError.fragment.ts +25 -0
  51. package/project/.sdk/tm/go/Makefile +10 -0
  52. package/project/.sdk/tm/go/core/context.go +267 -0
  53. package/project/.sdk/tm/go/core/control.go +7 -0
  54. package/project/.sdk/tm/go/core/error.go +25 -0
  55. package/project/.sdk/tm/go/core/helpers.go +33 -0
  56. package/project/.sdk/tm/go/core/operation.go +61 -0
  57. package/project/.sdk/tm/go/core/response.go +55 -0
  58. package/project/.sdk/tm/go/core/result.go +73 -0
  59. package/project/.sdk/tm/go/core/spec.go +97 -0
  60. package/project/.sdk/tm/go/core/target.go +102 -0
  61. package/project/.sdk/tm/go/core/types.go +44 -0
  62. package/project/.sdk/tm/go/core/utility_type.go +54 -0
  63. package/project/.sdk/tm/go/feature/base_feature.go +40 -0
  64. package/project/.sdk/tm/go/feature/test_feature.go +196 -0
  65. package/project/.sdk/tm/go/src/feature/README.md +1 -0
  66. package/project/.sdk/tm/go/src/feature/base/.gitkeep +0 -0
  67. package/project/.sdk/tm/go/src/feature/test/.gitkeep +0 -0
  68. package/project/.sdk/tm/go/test/custom_utility_test.go +80 -0
  69. package/project/.sdk/tm/go/test/exists_test.go +16 -0
  70. package/project/.sdk/tm/go/test/primary_utility_test.go +899 -0
  71. package/project/.sdk/tm/go/test/runner_test.go +428 -0
  72. package/project/.sdk/tm/go/test/struct_runner_test.go +1094 -0
  73. package/project/.sdk/tm/go/test/struct_utility_test.go +1423 -0
  74. package/project/.sdk/tm/go/utility/clean.go +7 -0
  75. package/project/.sdk/tm/go/utility/done.go +20 -0
  76. package/project/.sdk/tm/go/utility/feature_add.go +10 -0
  77. package/project/.sdk/tm/go/utility/feature_hook.go +30 -0
  78. package/project/.sdk/tm/go/utility/feature_init.go +30 -0
  79. package/project/.sdk/tm/go/utility/fetcher.go +102 -0
  80. package/project/.sdk/tm/go/utility/make_context.go +7 -0
  81. package/project/.sdk/tm/go/utility/make_error.go +69 -0
  82. package/project/.sdk/tm/go/utility/make_fetch_def.go +44 -0
  83. package/project/.sdk/tm/go/utility/make_options.go +130 -0
  84. package/project/.sdk/tm/go/utility/make_request.go +59 -0
  85. package/project/.sdk/tm/go/utility/make_response.go +46 -0
  86. package/project/.sdk/tm/go/utility/make_result.go +55 -0
  87. package/project/.sdk/tm/go/utility/make_spec.go +68 -0
  88. package/project/.sdk/tm/go/utility/make_target.go +95 -0
  89. package/project/.sdk/tm/go/utility/make_url.go +41 -0
  90. package/project/.sdk/tm/go/utility/param.go +66 -0
  91. package/project/.sdk/tm/go/utility/prepare_auth.go +40 -0
  92. package/project/.sdk/tm/go/utility/prepare_body.go +14 -0
  93. package/project/.sdk/tm/go/utility/prepare_headers.go +22 -0
  94. package/project/.sdk/tm/go/utility/prepare_method.go +21 -0
  95. package/project/.sdk/tm/go/utility/prepare_params.go +41 -0
  96. package/project/.sdk/tm/go/utility/prepare_path.go +21 -0
  97. package/project/.sdk/tm/go/utility/prepare_query.go +47 -0
  98. package/project/.sdk/tm/go/utility/register.go +39 -0
  99. package/project/.sdk/tm/go/utility/result_basic.go +31 -0
  100. package/project/.sdk/tm/go/utility/result_body.go +17 -0
  101. package/project/.sdk/tm/go/utility/result_headers.go +22 -0
  102. package/project/.sdk/tm/go/utility/struct/go.mod +3 -0
  103. package/project/.sdk/tm/go/utility/struct/voxgigstruct.go +4891 -0
  104. package/project/.sdk/tm/go/utility/transform_request.go +32 -0
  105. package/project/.sdk/tm/go/utility/transform_response.go +45 -0
  106. package/project/.sdk/tm/js/src/feature/log/LogFeature.js +2 -2
  107. package/project/.sdk/tm/ts/src/Context.ts +144 -0
  108. package/project/.sdk/tm/ts/src/Control.ts +20 -0
  109. package/project/.sdk/tm/ts/src/Operation.ts +24 -0
  110. package/project/.sdk/tm/ts/src/Response.ts +26 -0
  111. package/project/.sdk/tm/ts/src/Result.ts +30 -0
  112. package/project/.sdk/tm/ts/src/Spec.ts +40 -0
  113. package/project/.sdk/tm/ts/src/Target.ts +36 -0
  114. package/project/.sdk/tm/ts/src/feature/base/BaseFeature.ts +1 -1
  115. package/project/.sdk/tm/ts/src/feature/log/LogFeature.ts +2 -2
  116. package/project/.sdk/tm/ts/src/feature/test/TestFeature.ts +7 -7
  117. package/project/.sdk/tm/ts/src/types.ts +15 -205
  118. package/project/.sdk/tm/ts/src/utility/DoneUtility.ts +2 -3
  119. package/project/.sdk/tm/ts/src/utility/{AddfeatureUtility.ts → FeatureAddUtility.ts} +2 -2
  120. package/project/.sdk/tm/ts/src/utility/{InitfeatureUtility.ts → FeatureInitUtility.ts} +2 -2
  121. package/project/.sdk/tm/ts/src/utility/FetcherUtility.ts +5 -3
  122. package/project/.sdk/tm/ts/src/utility/{ErrorUtility.ts → MakeErrorUtility.ts} +4 -4
  123. package/project/.sdk/tm/ts/src/utility/MakeFetchDefUtility.ts +46 -0
  124. package/project/.sdk/tm/ts/src/utility/{OptionsUtility.ts → MakeOptionsUtility.ts} +10 -7
  125. package/project/.sdk/tm/ts/src/utility/MakeRequestUtility.ts +66 -0
  126. package/project/.sdk/tm/ts/src/utility/MakeResponseUtility.ts +61 -0
  127. package/project/.sdk/tm/ts/src/utility/{ResultUtility.ts → MakeResultUtility.ts} +6 -6
  128. package/project/.sdk/tm/ts/src/utility/MakeSpecUtility.ts +61 -0
  129. package/project/.sdk/tm/ts/src/utility/{SelectionUtility.ts → MakeTargetUtility.ts} +22 -24
  130. package/project/.sdk/tm/ts/src/utility/{FullurlUtility.ts → MakeUrlUtility.ts} +7 -8
  131. package/project/.sdk/tm/ts/src/utility/{FindparamUtility.ts → ParamUtility.ts} +21 -8
  132. package/project/.sdk/tm/ts/src/utility/{AuthUtility.ts → PrepareAuthUtility.ts} +4 -4
  133. package/project/.sdk/tm/ts/src/utility/{BodyUtility.ts → PrepareBodyUtility.ts} +7 -7
  134. package/project/.sdk/tm/ts/src/utility/{HeadersUtility.ts → PrepareHeadersUtility.ts} +5 -7
  135. package/project/.sdk/tm/ts/src/utility/{MethodUtility.ts → PrepareMethodUtility.ts} +6 -6
  136. package/project/.sdk/tm/ts/src/utility/PrepareParamsUtility.ts +37 -0
  137. package/project/.sdk/tm/ts/src/utility/PreparePathUtility.ts +3 -4
  138. package/project/.sdk/tm/ts/src/utility/PrepareQueryUtility.ts +30 -0
  139. package/project/.sdk/tm/ts/src/utility/{ResbasicUtility.ts → ResultBasicUtility.ts} +11 -6
  140. package/project/.sdk/tm/ts/src/utility/{ResbodyUtility.ts → ResultBodyUtility.ts} +4 -3
  141. package/project/.sdk/tm/ts/src/utility/{ResheadersUtility.ts → ResultHeadersUtility.ts} +4 -3
  142. package/project/.sdk/tm/ts/src/utility/{ReqformUtility.ts → TransformRequestUtility.ts} +9 -7
  143. package/project/.sdk/tm/ts/src/utility/{ResformUtility.ts → TransformResponseUtility.ts} +10 -7
  144. package/project/.sdk/tm/ts/src/utility/Utility.ts +47 -62
  145. package/project/.sdk/tm/ts/test/runner.ts +25 -4
  146. package/project/.sdk/tm/ts/test/utility/PrimaryUtility.test.ts +386 -175
  147. package/src/cmp/Feature.ts +11 -9
  148. package/src/cmp/Main.ts +8 -2
  149. package/project/.sdk/tm/ts/src/utility/JoinurlUtility.ts +0 -15
  150. package/project/.sdk/tm/ts/src/utility/OperationUtility.ts +0 -23
  151. package/project/.sdk/tm/ts/src/utility/ParamsUtility.ts +0 -37
  152. package/project/.sdk/tm/ts/src/utility/QueryUtility.ts +0 -27
  153. package/project/.sdk/tm/ts/src/utility/RequestUtility.ts +0 -83
  154. package/project/.sdk/tm/ts/src/utility/ResponseUtility.ts +0 -61
  155. package/project/.sdk/tm/ts/src/utility/SpecUtility.ts +0 -68
  156. /package/project/.sdk/tm/ts/src/utility/{FeaturehookUtility.ts → FeatureHookUtility.ts} +0 -0
  157. /package/project/.sdk/tm/ts/src/utility/{ContextUtility.ts → MakeContextUtility.ts} +0 -0
@@ -1,84 +1,69 @@
1
1
 
2
- /* Utility functions.
3
- *
4
- * Many of these functions expect the operation context as the first argument, and
5
- * assume the following top level properties of the context:
6
- * * client: SDK client instance
7
- * * op: operation definition
8
- * * utility: map of these utility functions
9
- * * entity?: SDK entity instance
10
- * * spec?: request specification
11
- * * response?: unprocessed response
12
- * * result?: processed result built from response
13
- * * config?: SDK builtin configuration
14
- *
15
- */
16
2
 
17
-
18
- import { addfeature } from './AddfeatureUtility'
19
- import { auth } from './AuthUtility'
20
- import { body } from './BodyUtility'
21
3
  import { clean } from './CleanUtility'
22
4
  import { done } from './DoneUtility'
23
- import { error } from './ErrorUtility'
5
+ import { makeError } from './MakeErrorUtility'
6
+ import { featureAdd } from './FeatureAddUtility'
24
7
  import { featureHook } from './FeatureHookUtility'
8
+ import { featureInit } from './FeatureInitUtility'
25
9
  import { fetcher } from './FetcherUtility'
26
- import { findparam } from './FindparamUtility'
27
- import { fullurl } from './FullurlUtility'
28
- import { headers } from './HeadersUtility'
29
- import { initfeature } from './InitfeatureUtility'
30
- import { makeContext } from './ContextUtility'
31
- import { makeOperation } from './OperationUtility'
32
- import { method } from './MethodUtility'
33
- import { options } from './OptionsUtility'
34
- import { params } from './ParamsUtility'
10
+ import { makeFetchDef } from './MakeFetchDefUtility'
11
+ import { makeContext } from './MakeContextUtility'
12
+ import { makeOptions } from './MakeOptionsUtility'
13
+ import { makeRequest } from './MakeRequestUtility'
14
+ import { makeResponse } from './MakeResponseUtility'
15
+ import { makeResult } from './MakeResultUtility'
16
+ import { makeTarget } from './MakeTargetUtility'
17
+ import { makeSpec } from './MakeSpecUtility'
18
+ import { makeUrl } from './MakeUrlUtility'
19
+ import { param } from './ParamUtility'
20
+ import { prepareAuth } from './PrepareAuthUtility'
21
+ import { prepareBody } from './PrepareBodyUtility'
22
+ import { prepareHeaders } from './PrepareHeadersUtility'
23
+ import { prepareMethod } from './PrepareMethodUtility'
24
+ import { prepareParams } from './PrepareParamsUtility'
35
25
  import { preparePath } from './PreparePathUtility'
36
- import { query } from './QueryUtility'
37
- import { reqform } from './ReqformUtility'
38
- import { request } from './RequestUtility'
39
- import { resbasic } from './ResbasicUtility'
40
- import { resbody } from './ResbodyUtility'
41
- import { resform } from './ResformUtility'
42
- import { resheaders } from './ResheadersUtility'
43
- import { response } from './ResponseUtility'
44
- import { result } from './ResultUtility'
45
- import { selection } from './SelectionUtility'
46
- import { spec } from './SpecUtility'
26
+ import { prepareQuery } from './PrepareQueryUtility'
27
+ import { resultBasic } from './ResultBasicUtility'
28
+ import { resultBody } from './ResultBodyUtility'
29
+ import { resultHeaders } from './ResultHeadersUtility'
30
+ import { transformRequest } from './TransformRequestUtility'
31
+ import { transformResponse } from './TransformResponseUtility'
47
32
 
48
33
  import { StructUtility } from './StructUtility'
49
34
 
50
35
 
51
36
  class Utility {
52
37
 
53
- addfeature = addfeature
54
- auth = auth
55
- body = body
56
38
  clean = clean
57
39
  done = done
58
- error = error
40
+ makeError = makeError
41
+ featureAdd = featureAdd
59
42
  featureHook = featureHook
43
+ featureInit = featureInit
60
44
  fetcher = fetcher
61
- findparam = findparam
62
- fullurl = fullurl
63
- headers = headers
64
- initfeature = initfeature
45
+ makeFetchDef = makeFetchDef
65
46
  makeContext = makeContext
66
- makeOperation = makeOperation
67
- method = method
68
- options = options
69
- params = params
47
+ makeOptions = makeOptions
48
+ makeRequest = makeRequest
49
+ makeResponse = makeResponse
50
+ makeResult = makeResult
51
+ makeTarget = makeTarget
52
+ makeSpec = makeSpec
53
+ makeUrl = makeUrl
54
+ param = param
55
+ prepareAuth = prepareAuth
56
+ prepareBody = prepareBody
57
+ prepareHeaders = prepareHeaders
58
+ prepareMethod = prepareMethod
59
+ prepareParams = prepareParams
70
60
  preparePath = preparePath
71
- query = query
72
- reqform = reqform
73
- request = request
74
- resbasic = resbasic
75
- resbody = resbody
76
- resform = resform
77
- resheaders = resheaders
78
- response = response
79
- result = result
80
- selection = selection
81
- spec = spec
61
+ prepareQuery = prepareQuery
62
+ resultBasic = resultBasic
63
+ resultBody = resultBody
64
+ resultHeaders = resultHeaders
65
+ transformRequest = transformRequest
66
+ transformResponse = transformResponse
82
67
 
83
68
  struct = new StructUtility()
84
69
  }
@@ -170,7 +170,7 @@ function checkResult(entry: any, args: any[], res: any, structUtils: Record<stri
170
170
 
171
171
  if (entry.err) {
172
172
  return fail('Expected error did not occur: ' + entry.err +
173
- '\n\nENTRY: ' + JSON.stringify(entry, null, 2))
173
+ '\n\nENTRY: ' + safeStringify(entry))
174
174
  }
175
175
 
176
176
  if (entry.match) {
@@ -195,7 +195,7 @@ function checkResult(entry: any, args: any[], res: any, structUtils: Record<stri
195
195
  return
196
196
  }
197
197
 
198
- deepStrictEqual(null != res ? JSON.parse(JSON.stringify(res)) : res, entry.out)
198
+ deepStrictEqual(null != res ? JSON.parse(safeStringify(res)) : res, entry.out)
199
199
  }
200
200
 
201
201
 
@@ -223,10 +223,10 @@ function handleError(entry: any, err: any, structUtils: Record<string, any>) {
223
223
 
224
224
  // Unexpected error (test didn't specify an error expectation)
225
225
  else if (err instanceof AssertionError) {
226
- fail(err.message + '\n\nENTRY: ' + JSON.stringify(entry, null, 2))
226
+ fail(err.message + '\n\nENTRY: ' + safeStringify(entry))
227
227
  }
228
228
  else {
229
- fail(err.stack + '\\nnENTRY: ' + JSON.stringify(entry, null, 2))
229
+ fail(err.stack + '\n\nENTRY: ' + safeStringify(entry))
230
230
  }
231
231
  }
232
232
 
@@ -356,11 +356,27 @@ function matchval(
356
356
  }
357
357
 
358
358
 
359
+ function safeStringify(val: any): string {
360
+ const seen = new WeakSet()
361
+ return JSON.stringify(val, (_k, v) => {
362
+ if ('object' === typeof v && null !== v) {
363
+ if (seen.has(v)) return '[Circular]'
364
+ seen.add(v)
365
+ }
366
+ if (v instanceof Error) {
367
+ return { name: v.name, message: v.message }
368
+ }
369
+ return v
370
+ }, 2)
371
+ }
372
+
373
+
359
374
  function fixJSON(val: any, flags?: Flags): any {
360
375
  if (null == val) {
361
376
  return flags?.null ? NULLMARK : val
362
377
  }
363
378
 
379
+ const seen = new WeakSet()
364
380
  const replacer = (_k: string, v: any) => {
365
381
  if (null == v && flags?.null) {
366
382
  return NULLMARK
@@ -374,6 +390,11 @@ function fixJSON(val: any, flags?: Flags): any {
374
390
  }
375
391
  }
376
392
 
393
+ if ('object' === typeof v && null !== v) {
394
+ if (seen.has(v)) return '[Circular]'
395
+ seen.add(v)
396
+ }
397
+
377
398
  return v
378
399
  }
379
400