@voxgig/sdkgen 0.36.0 → 0.38.1

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 (141) hide show
  1. package/bin/voxgig-sdkgen +1 -1
  2. package/dist/cmp/Main.js +0 -12
  3. package/dist/cmp/Main.js.map +1 -1
  4. package/package.json +2 -3
  5. package/project/.sdk/model/feature/log.jsonic +1 -1
  6. package/project/.sdk/model/target/js.jsonic +1 -1
  7. package/project/.sdk/model/target/py.jsonic +1 -1
  8. package/project/.sdk/model/target/ts.jsonic +2 -2
  9. package/project/.sdk/src/cmp/go/Config_go.ts +6 -2
  10. package/project/.sdk/src/cmp/js/EntityBase_js.ts +34 -0
  11. package/project/.sdk/src/cmp/js/Main_js.ts +10 -0
  12. package/project/.sdk/src/cmp/js/ReadmeExplanation_js.ts +33 -0
  13. package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +123 -0
  14. package/project/.sdk/src/cmp/js/ReadmeModel_js.ts +152 -0
  15. package/project/.sdk/src/cmp/js/ReadmeTopHowto_js.ts +25 -0
  16. package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +65 -0
  17. package/project/.sdk/src/cmp/js/ReadmeTopTest_js.ts +36 -0
  18. package/project/.sdk/src/cmp/js/TestDirect_js.ts +53 -5
  19. package/project/.sdk/src/cmp/js/TestEntity_js.ts +114 -20
  20. package/project/.sdk/src/cmp/js/fragment/Entity.fragment.js +7 -139
  21. package/project/.sdk/src/cmp/js/fragment/EntityBase.fragment.js +149 -0
  22. package/project/.sdk/src/cmp/js/fragment/EntityCreateOp.fragment.js +6 -10
  23. package/project/.sdk/src/cmp/js/fragment/EntityListOp.fragment.js +6 -10
  24. package/project/.sdk/src/cmp/js/fragment/EntityLoadOp.fragment.js +7 -11
  25. package/project/.sdk/src/cmp/js/fragment/EntityRemoveOp.fragment.js +7 -11
  26. package/project/.sdk/src/cmp/js/fragment/EntityUpdateOp.fragment.js +7 -11
  27. package/project/.sdk/src/cmp/js/fragment/Main.fragment.js +2 -0
  28. package/project/.sdk/src/cmp/js/fragment/SdkError.fragment.js +0 -2
  29. package/project/.sdk/src/cmp/lua/Config_lua.ts +6 -2
  30. package/project/.sdk/src/cmp/lua/TestEntity_lua.ts +3 -1
  31. package/project/.sdk/src/cmp/php/Config_php.ts +6 -2
  32. package/project/.sdk/src/cmp/php/Package_php.ts +2 -2
  33. package/project/.sdk/src/cmp/php/TestDirect_php.ts +2 -2
  34. package/project/.sdk/src/cmp/php/TestEntity_php.ts +10 -15
  35. package/project/.sdk/src/cmp/py/Config_py.ts +6 -2
  36. package/project/.sdk/src/cmp/py/Package_py.ts +1 -1
  37. package/project/.sdk/src/cmp/py/TestEntity_py.ts +3 -1
  38. package/project/.sdk/src/cmp/rb/Config_rb.ts +6 -2
  39. package/project/.sdk/src/cmp/ts/Main_ts.ts +7 -0
  40. package/project/.sdk/tm/go/feature/log_feature.go +1 -1
  41. package/project/.sdk/tm/go/test/runner_test.go +16 -2
  42. package/project/.sdk/tm/js/src/Context.js +142 -0
  43. package/project/.sdk/tm/js/src/Control.js +16 -0
  44. package/project/.sdk/tm/js/src/Operation.js +19 -0
  45. package/project/.sdk/tm/js/src/Point.js +24 -0
  46. package/project/.sdk/tm/js/src/README.md +1 -0
  47. package/project/.sdk/tm/js/src/Response.js +19 -0
  48. package/project/.sdk/tm/js/src/Result.js +21 -0
  49. package/project/.sdk/tm/js/src/Spec.js +26 -0
  50. package/project/.sdk/tm/js/src/feature/README.md +1 -0
  51. package/project/.sdk/tm/js/src/feature/base/BaseFeature.js +45 -0
  52. package/project/.sdk/tm/js/src/feature/log/LogFeature.js +46 -47
  53. package/project/.sdk/tm/js/src/feature/test/TestFeature.js +207 -0
  54. package/project/.sdk/tm/js/src/types.js +22 -0
  55. package/project/.sdk/tm/js/src/utility/CleanUtility.js +31 -0
  56. package/project/.sdk/tm/js/src/utility/DoneUtility.js +11 -4
  57. package/project/.sdk/tm/js/src/utility/FeatureAddUtility.js +42 -0
  58. package/project/.sdk/tm/js/src/utility/FeatureHookUtility.js +25 -0
  59. package/project/.sdk/tm/js/src/utility/FeatureInitUtility.js +11 -0
  60. package/project/.sdk/tm/js/src/utility/FetcherUtility.js +28 -0
  61. package/project/.sdk/tm/js/src/utility/MakeContextUtility.js +11 -0
  62. package/project/.sdk/tm/js/src/utility/MakeErrorUtility.js +55 -0
  63. package/project/.sdk/tm/js/src/utility/MakeFetchDefUtility.js +44 -0
  64. package/project/.sdk/tm/js/src/utility/MakeOptionsUtility.js +93 -0
  65. package/project/.sdk/tm/js/src/utility/MakePointUtility.js +77 -0
  66. package/project/.sdk/tm/js/src/utility/MakeRequestUtility.js +63 -0
  67. package/project/.sdk/tm/js/src/utility/MakeResponseUtility.js +55 -0
  68. package/project/.sdk/tm/js/src/utility/MakeResultUtility.js +54 -0
  69. package/project/.sdk/tm/js/src/utility/MakeSpecUtility.js +58 -0
  70. package/project/.sdk/tm/js/src/utility/MakeUrlUtility.js +40 -0
  71. package/project/.sdk/tm/js/src/utility/ParamUtility.js +61 -0
  72. package/project/.sdk/tm/js/src/utility/PrepareAuthUtility.js +41 -0
  73. package/project/.sdk/tm/js/src/utility/PrepareBodyUtility.js +25 -0
  74. package/project/.sdk/tm/js/src/utility/PrepareHeadersUtility.js +18 -0
  75. package/project/.sdk/tm/js/src/utility/{MethodUtility.js → PrepareMethodUtility.js} +7 -7
  76. package/project/.sdk/tm/js/src/utility/PrepareParamsUtility.js +25 -0
  77. package/project/.sdk/tm/js/src/utility/PreparePathUtility.js +13 -0
  78. package/project/.sdk/tm/js/src/utility/PrepareQueryUtility.js +26 -0
  79. package/project/.sdk/tm/js/src/utility/README.md +1 -0
  80. package/project/.sdk/tm/js/src/utility/ResultBasicUtility.js +34 -0
  81. package/project/.sdk/tm/js/src/utility/ResultBodyUtility.js +18 -0
  82. package/project/.sdk/tm/js/src/utility/ResultHeadersUtility.js +22 -0
  83. package/project/.sdk/tm/js/src/utility/StructUtility.js +2219 -1078
  84. package/project/.sdk/tm/js/src/utility/TransformRequestUtility.js +28 -0
  85. package/project/.sdk/tm/js/src/utility/TransformResponseUtility.js +31 -0
  86. package/project/.sdk/tm/js/src/utility/Utility.js +61 -61
  87. package/project/.sdk/tm/js/test/README.md +1 -0
  88. package/project/.sdk/tm/js/test/exists.test.js +16 -0
  89. package/project/.sdk/tm/js/test/runner.js +323 -107
  90. package/project/.sdk/tm/js/test/utility/Custom.test.js +41 -63
  91. package/project/.sdk/tm/js/test/utility/PrimaryUtility.test.js +390 -116
  92. package/project/.sdk/tm/js/test/utility/StructUtility.test.js +728 -175
  93. package/project/.sdk/tm/js/test/utility/index.js +9 -0
  94. package/project/.sdk/tm/js/test/utility.js +72 -0
  95. package/project/.sdk/tm/lua/test/primary_utility_test.lua +1213 -0
  96. package/project/.sdk/tm/lua/test/runner.lua +2 -2
  97. package/project/.sdk/tm/lua/test/struct_runner.lua +602 -0
  98. package/project/.sdk/tm/lua/test/struct_utility_test.lua +959 -0
  99. package/project/.sdk/tm/lua/utility/struct/struct.lua +10 -0
  100. package/project/.sdk/tm/php/feature/TestFeature.php +59 -96
  101. package/project/.sdk/tm/php/test/PrimaryUtilityTest.php +1309 -0
  102. package/project/.sdk/tm/php/test/Runner.php +24 -1
  103. package/project/.sdk/tm/php/test/StructRunner.php +275 -0
  104. package/project/.sdk/tm/php/test/StructUtilityTest.php +1336 -0
  105. package/project/.sdk/tm/php/utility/Fetcher.php +6 -2
  106. package/project/.sdk/tm/php/utility/MakeOptions.php +5 -1
  107. package/project/.sdk/tm/php/utility/MakeResult.php +3 -0
  108. package/project/.sdk/tm/php/utility/Param.php +9 -7
  109. package/project/.sdk/tm/php/utility/struct/Struct.php +312 -208
  110. package/project/.sdk/tm/py/test/runner.py +13 -0
  111. package/project/.sdk/tm/py/test/struct_runner.py +411 -0
  112. package/project/.sdk/tm/py/test/test_primary_utility.py +1101 -0
  113. package/project/.sdk/tm/py/test/test_struct_utility.py +751 -0
  114. package/project/.sdk/tm/rb/test/primary_utility_test.rb +1083 -0
  115. package/project/.sdk/tm/rb/test/runner.rb +5 -0
  116. package/project/.sdk/tm/rb/test/struct_runner.rb +309 -0
  117. package/project/.sdk/tm/rb/test/struct_utility_test.rb +670 -0
  118. package/src/cmp/Main.ts +1 -16
  119. package/project/.sdk/src/cmp/js/Quick_js.ts +0 -78
  120. package/project/.sdk/src/cmp/js/TestAcceptEntity_js.ts +0 -13
  121. package/project/.sdk/src/cmp/js/TestAccept_js.ts +0 -18
  122. package/project/.sdk/tm/js/src/utility/AuthUtility.js +0 -21
  123. package/project/.sdk/tm/js/src/utility/BodyUtility.js +0 -29
  124. package/project/.sdk/tm/js/src/utility/ErrorUtility.js +0 -33
  125. package/project/.sdk/tm/js/src/utility/FindparamUtility.js +0 -31
  126. package/project/.sdk/tm/js/src/utility/FullurlUtility.js +0 -39
  127. package/project/.sdk/tm/js/src/utility/HeadersUtility.js +0 -13
  128. package/project/.sdk/tm/js/src/utility/JoinurlUtility.js +0 -14
  129. package/project/.sdk/tm/js/src/utility/OperatorUtility.js +0 -44
  130. package/project/.sdk/tm/js/src/utility/OptionsUtility.js +0 -54
  131. package/project/.sdk/tm/js/src/utility/ParamsUtility.js +0 -21
  132. package/project/.sdk/tm/js/src/utility/QueryUtility.js +0 -21
  133. package/project/.sdk/tm/js/src/utility/ReqformUtility.js +0 -32
  134. package/project/.sdk/tm/js/src/utility/RequestUtility.js +0 -48
  135. package/project/.sdk/tm/js/src/utility/ResbasicUtility.js +0 -27
  136. package/project/.sdk/tm/js/src/utility/ResbodyUtility.js +0 -15
  137. package/project/.sdk/tm/js/src/utility/ResformUtility.js +0 -34
  138. package/project/.sdk/tm/js/src/utility/ResheadersUtility.js +0 -19
  139. package/project/.sdk/tm/js/src/utility/ResponseUtility.js +0 -37
  140. package/project/.sdk/tm/js/src/utility/ResultUtility.js +0 -28
  141. package/project/.sdk/tm/js/src/utility/SpecUtility.js +0 -35
@@ -0,0 +1,40 @@
1
+
2
+ function makeUrl(ctx) {
3
+ const utility = ctx.utility
4
+ const spec = ctx.spec
5
+ const result = ctx.result
6
+
7
+ const struct = utility.struct
8
+ const escurl = struct.escurl
9
+ const escre = struct.escre
10
+ const join = struct.join
11
+ const items = struct.items
12
+
13
+ if (null == spec) {
14
+ return ctx.error('url_no_spec', 'Expected context spec property to be defined.')
15
+ }
16
+
17
+ if (null == result) {
18
+ return ctx.error('url_no_result', 'Expected context result property to be defined.')
19
+ }
20
+
21
+ let url = join([spec.base, spec.prefix, spec.path, spec.suffix], '/', true)
22
+ let resmatch = {}
23
+
24
+ const params = spec.params
25
+
26
+ for (let [key, val] of items(params)) {
27
+ if (null != val) {
28
+ url = url.replace(RegExp('{' + escre(key) + '}'), escurl(val))
29
+ resmatch[key] = val
30
+ }
31
+ }
32
+
33
+ result.resmatch = resmatch
34
+
35
+ return url
36
+ }
37
+
38
+ module.exports = {
39
+ makeUrl
40
+ }
@@ -0,0 +1,61 @@
1
+
2
+ function param(ctx, paramdef) {
3
+ const point = ctx.point
4
+ const spec = ctx.spec
5
+ const match = ctx.match
6
+ const reqmatch = ctx.reqmatch
7
+ const data = ctx.data
8
+ const reqdata = ctx.reqdata
9
+
10
+ const utility = ctx.utility
11
+ const struct = utility.struct
12
+
13
+ const getprop = struct.getprop
14
+ const setprop = struct.setprop
15
+
16
+ const typify = struct.typify
17
+ const T_string = struct.T_string
18
+
19
+ const pt = typify(paramdef)
20
+
21
+ const key = 0 < (T_string & pt) ? paramdef : getprop(paramdef, 'name')
22
+
23
+ let akey = getprop(point.alias, key)
24
+
25
+ let val = getprop(reqmatch, key)
26
+
27
+ if (null == val) {
28
+ val = getprop(match, key)
29
+ }
30
+
31
+ if (null == val && null != akey) {
32
+
33
+ if (null != spec) {
34
+ setprop(spec.alias, akey, key)
35
+ }
36
+
37
+ val = getprop(reqmatch, akey)
38
+ }
39
+
40
+ if (null == val) {
41
+ val = getprop(reqdata, key)
42
+ }
43
+
44
+ if (null == val) {
45
+ val = getprop(data, key)
46
+ }
47
+
48
+ if (null == val && null != akey) {
49
+ val = getprop(reqdata, akey)
50
+
51
+ if (null == val) {
52
+ val = getprop(data, akey)
53
+ }
54
+ }
55
+
56
+ return val
57
+ }
58
+
59
+ module.exports = {
60
+ param
61
+ }
@@ -0,0 +1,41 @@
1
+
2
+ const HEADER_auth = 'authorization'
3
+
4
+ const OPTION_apikey = 'apikey'
5
+
6
+ const NOTFOUND = '__NOTFOUND__'
7
+
8
+ function prepareAuth(ctx) {
9
+ const utility = ctx.utility
10
+
11
+ const struct = utility.struct
12
+ const getprop = struct.getprop
13
+ const setprop = struct.setprop
14
+ const delprop = struct.delprop
15
+
16
+ const client = ctx.client
17
+ const spec = ctx.spec
18
+
19
+ if (null == spec) {
20
+ return ctx.error('auth_no_spec', 'Expected context spec property to be defined.')
21
+ }
22
+
23
+ const headers = spec.headers
24
+
25
+ const options = client.options()
26
+
27
+ const apikey = getprop(options, OPTION_apikey, NOTFOUND)
28
+
29
+ if (NOTFOUND === apikey) {
30
+ delprop(headers, HEADER_auth)
31
+ }
32
+ else {
33
+ setprop(headers, HEADER_auth, options.auth.prefix + ' ' + apikey)
34
+ }
35
+
36
+ return spec
37
+ }
38
+
39
+ module.exports = {
40
+ prepareAuth
41
+ }
@@ -0,0 +1,25 @@
1
+
2
+ function prepareBody(ctx) {
3
+ const op = ctx.op
4
+
5
+ const utility = ctx.utility
6
+ const error = utility.makeError
7
+ const transformRequest = utility.transformRequest
8
+
9
+ let body = undefined
10
+
11
+ if ('data' === op.input) {
12
+ try {
13
+ body = transformRequest(ctx)
14
+ }
15
+ catch (err) {
16
+ return error(ctx, err)
17
+ }
18
+ }
19
+
20
+ return body
21
+ }
22
+
23
+ module.exports = {
24
+ prepareBody
25
+ }
@@ -0,0 +1,18 @@
1
+
2
+ function prepareHeaders(ctx) {
3
+ const struct = ctx.utility.struct
4
+ const clone = struct.clone
5
+ const getprop = struct.getprop
6
+
7
+ const client = ctx.client
8
+
9
+ const options = client.options()
10
+
11
+ let out = clone(getprop(options, 'headers', {}))
12
+
13
+ return out
14
+ }
15
+
16
+ module.exports = {
17
+ prepareHeaders
18
+ }
@@ -1,22 +1,22 @@
1
1
 
2
- function method(ctx) {
3
- const { op } = ctx
2
+ function prepareMethod(ctx) {
3
+ const op = ctx.op
4
4
  const opname = op.name
5
-
5
+
6
6
  let key = opname
7
7
 
8
- // TODO: options
9
- const mmap = {
8
+ const methodMap = {
10
9
  create: 'POST',
11
10
  update: 'PUT',
12
11
  load: 'GET',
13
12
  list: 'GET',
14
13
  remove: 'DELETE',
14
+ patch: 'PATCH',
15
15
  }
16
16
 
17
- return mmap[key]
17
+ return methodMap[key]
18
18
  }
19
19
 
20
20
  module.exports = {
21
- method
21
+ prepareMethod
22
22
  }
@@ -0,0 +1,25 @@
1
+
2
+ function prepareParams(ctx) {
3
+ const utility = ctx.utility
4
+ const findparam = utility.param
5
+
6
+ const point = ctx.point
7
+
8
+ let params = point.args.params
9
+
10
+ params = params || []
11
+
12
+ let out = {}
13
+ for (let pd of params) {
14
+ let val = findparam(ctx, pd)
15
+ if (null != val) {
16
+ out[pd.name] = val
17
+ }
18
+ }
19
+
20
+ return out
21
+ }
22
+
23
+ module.exports = {
24
+ prepareParams
25
+ }
@@ -0,0 +1,13 @@
1
+
2
+ function preparePath(ctx) {
3
+ const join = ctx.utility.struct.join
4
+ const point = ctx.point
5
+
6
+ const path = join(point.parts, '/', true)
7
+
8
+ return path
9
+ }
10
+
11
+ module.exports = {
12
+ preparePath
13
+ }
@@ -0,0 +1,26 @@
1
+
2
+ function prepareQuery(ctx) {
3
+ const utility = ctx.utility
4
+ const struct = utility.struct
5
+ const items = struct.items
6
+
7
+ const point = ctx.point
8
+ let params = point.params
9
+ let reqmatch = ctx.reqmatch
10
+
11
+ params = params || []
12
+ reqmatch = reqmatch || {}
13
+
14
+ const out = {}
15
+ for (let [key, val] of items(reqmatch)) {
16
+ if (null != val && !params.includes(key)) {
17
+ out[key] = val
18
+ }
19
+ }
20
+
21
+ return out
22
+ }
23
+
24
+ module.exports = {
25
+ prepareQuery
26
+ }
@@ -0,0 +1 @@
1
+ # Utility
@@ -0,0 +1,34 @@
1
+
2
+ function resultBasic(ctx) {
3
+ const utility = ctx.utility
4
+ const struct = utility.struct
5
+ const getprop = struct.getprop
6
+
7
+ const response = ctx.response
8
+ const result = ctx.result
9
+
10
+ if (null != result && null != response) {
11
+ result.status = getprop(response, 'status', -1)
12
+ result.statusText = getprop(response, 'statusText', 'no-status')
13
+
14
+ if (400 <= result.status) {
15
+ const msg = 'request: ' + result.status + ': ' + result.statusText
16
+ if (result.err) {
17
+ const prevmsg = null == result.err.message ? '' : result.err.message
18
+ result.err.message = prevmsg + ': ' + msg
19
+ }
20
+ else {
21
+ result.err = ctx.error('request_status', msg)
22
+ }
23
+ }
24
+ else if (response.err) {
25
+ result.err = response.err
26
+ }
27
+ }
28
+
29
+ return result
30
+ }
31
+
32
+ module.exports = {
33
+ resultBasic
34
+ }
@@ -0,0 +1,18 @@
1
+
2
+ async function resultBody(ctx) {
3
+ const response = ctx.response
4
+ const result = ctx.result
5
+
6
+ if (result) {
7
+ if (response && response.json && null != response.body) {
8
+ const json = await response.json()
9
+ result.body = json
10
+ }
11
+ }
12
+
13
+ return result
14
+ }
15
+
16
+ module.exports = {
17
+ resultBody
18
+ }
@@ -0,0 +1,22 @@
1
+
2
+ function resultHeaders(ctx) {
3
+ const response = ctx.response
4
+ const result = ctx.result
5
+
6
+ if (result) {
7
+ if (response && response.headers && response.headers.forEach) {
8
+ const headers = {}
9
+ response.headers.forEach((v, k) => headers[k] = v)
10
+ result.headers = headers
11
+ }
12
+ else {
13
+ result.headers = {}
14
+ }
15
+ }
16
+
17
+ return result
18
+ }
19
+
20
+ module.exports = {
21
+ resultHeaders
22
+ }