@voxgig/sdkgen 0.35.2 → 0.37.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 (498) 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/dist/cmp/Readme.js +5 -5
  5. package/dist/cmp/Readme.js.map +1 -1
  6. package/dist/cmp/ReadmeEntity.js +74 -24
  7. package/dist/cmp/ReadmeEntity.js.map +1 -1
  8. package/dist/cmp/ReadmeExplanation.d.ts +2 -0
  9. package/dist/cmp/ReadmeExplanation.js +308 -0
  10. package/dist/cmp/ReadmeExplanation.js.map +1 -0
  11. package/dist/cmp/ReadmeHowto.d.ts +2 -0
  12. package/dist/cmp/ReadmeHowto.js +18 -0
  13. package/dist/cmp/ReadmeHowto.js.map +1 -0
  14. package/dist/cmp/ReadmeIntro.js +8 -23
  15. package/dist/cmp/ReadmeIntro.js.map +1 -1
  16. package/dist/cmp/ReadmeModel.js +55 -91
  17. package/dist/cmp/ReadmeModel.js.map +1 -1
  18. package/dist/cmp/ReadmeOptions.js +35 -11
  19. package/dist/cmp/ReadmeOptions.js.map +1 -1
  20. package/dist/cmp/ReadmeQuick.js +4 -1
  21. package/dist/cmp/ReadmeQuick.js.map +1 -1
  22. package/dist/cmp/ReadmeRef.js +1042 -40
  23. package/dist/cmp/ReadmeRef.js.map +1 -1
  24. package/dist/cmp/ReadmeTop.d.ts +2 -0
  25. package/dist/cmp/ReadmeTop.js +171 -0
  26. package/dist/cmp/ReadmeTop.js.map +1 -0
  27. package/dist/sdkgen.d.ts +7 -1
  28. package/dist/sdkgen.js +13 -1
  29. package/dist/sdkgen.js.map +1 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/package.json +2 -2
  32. package/project/.sdk/model/feature/feature-index.jsonic +5 -0
  33. package/project/.sdk/model/feature/log.jsonic +5 -1
  34. package/project/.sdk/model/feature/test.jsonic +1 -1
  35. package/project/.sdk/model/target/lua.jsonic +23 -0
  36. package/project/.sdk/model/target/php.jsonic +22 -0
  37. package/project/.sdk/model/target/py.jsonic +23 -0
  38. package/project/.sdk/model/target/rb.jsonic +23 -0
  39. package/project/.sdk/src/cmp/go/Config_go.ts +6 -2
  40. package/project/.sdk/src/cmp/go/Main_go.ts +2 -6
  41. package/project/.sdk/src/cmp/go/ReadmeExplanation_go.ts +42 -0
  42. package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +112 -0
  43. package/project/.sdk/src/cmp/go/ReadmeInstall_go.ts +29 -0
  44. package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +129 -0
  45. package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +163 -0
  46. package/project/.sdk/src/cmp/go/ReadmeTopHowto_go.ts +24 -0
  47. package/project/.sdk/src/cmp/go/ReadmeTopQuick_go.ts +67 -0
  48. package/project/.sdk/src/cmp/go/ReadmeTopTest_go.ts +40 -0
  49. package/project/.sdk/src/cmp/go/TestDirect_go.ts +46 -2
  50. package/project/.sdk/src/cmp/go/TestEntity_go.ts +360 -160
  51. package/project/.sdk/src/cmp/go/Test_go.ts +24 -1
  52. package/project/.sdk/src/cmp/js/EntityBase_js.ts +34 -0
  53. package/project/.sdk/src/cmp/js/Main_js.ts +10 -0
  54. package/project/.sdk/src/cmp/js/ReadmeExplanation_js.ts +33 -0
  55. package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +123 -0
  56. package/project/.sdk/src/cmp/js/ReadmeModel_js.ts +152 -0
  57. package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +1 -1
  58. package/project/.sdk/src/cmp/js/ReadmeTopHowto_js.ts +25 -0
  59. package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +65 -0
  60. package/project/.sdk/src/cmp/js/ReadmeTopTest_js.ts +36 -0
  61. package/project/.sdk/src/cmp/js/TestDirect_js.ts +53 -5
  62. package/project/.sdk/src/cmp/js/TestEntity_js.ts +114 -20
  63. package/project/.sdk/src/cmp/js/fragment/Entity.fragment.js +7 -139
  64. package/project/.sdk/src/cmp/js/fragment/EntityBase.fragment.js +149 -0
  65. package/project/.sdk/src/cmp/js/fragment/EntityCreateOp.fragment.js +6 -10
  66. package/project/.sdk/src/cmp/js/fragment/EntityListOp.fragment.js +6 -10
  67. package/project/.sdk/src/cmp/js/fragment/EntityLoadOp.fragment.js +7 -11
  68. package/project/.sdk/src/cmp/js/fragment/EntityRemoveOp.fragment.js +7 -11
  69. package/project/.sdk/src/cmp/js/fragment/EntityUpdateOp.fragment.js +7 -11
  70. package/project/.sdk/src/cmp/js/fragment/Main.fragment.js +2 -0
  71. package/project/.sdk/src/cmp/js/fragment/SdkError.fragment.js +0 -2
  72. package/project/.sdk/src/cmp/lua/Config_lua.ts +116 -0
  73. package/project/.sdk/src/cmp/lua/EntityOperation_lua.ts +44 -0
  74. package/project/.sdk/src/cmp/lua/Entity_lua.ts +62 -0
  75. package/project/.sdk/src/cmp/lua/MainEntity_lua.ts +23 -0
  76. package/project/.sdk/src/cmp/lua/Main_lua.ts +133 -0
  77. package/project/.sdk/src/cmp/lua/Package_lua.ts +80 -0
  78. package/project/.sdk/src/cmp/lua/ReadmeExplanation_lua.ts +42 -0
  79. package/project/.sdk/src/cmp/lua/ReadmeHowto_lua.ts +100 -0
  80. package/project/.sdk/src/cmp/lua/ReadmeInstall_lua.ts +26 -0
  81. package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +129 -0
  82. package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +99 -0
  83. package/project/.sdk/src/cmp/lua/ReadmeTopHowto_lua.ts +24 -0
  84. package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +55 -0
  85. package/project/.sdk/src/cmp/lua/ReadmeTopTest_lua.ts +38 -0
  86. package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +261 -0
  87. package/project/.sdk/src/cmp/lua/TestEntity_lua.ts +485 -0
  88. package/project/.sdk/src/cmp/lua/Test_lua.ts +49 -0
  89. package/project/.sdk/src/cmp/lua/fragment/Entity.fragment.lua +147 -0
  90. package/project/.sdk/src/cmp/lua/fragment/EntityCreateOp.fragment.lua +27 -0
  91. package/project/.sdk/src/cmp/lua/fragment/EntityListOp.fragment.lua +24 -0
  92. package/project/.sdk/src/cmp/lua/fragment/EntityLoadOp.fragment.lua +30 -0
  93. package/project/.sdk/src/cmp/lua/fragment/EntityRemoveOp.fragment.lua +30 -0
  94. package/project/.sdk/src/cmp/lua/fragment/EntityUpdateOp.fragment.lua +30 -0
  95. package/project/.sdk/src/cmp/lua/fragment/Main.fragment.lua +256 -0
  96. package/project/.sdk/src/cmp/lua/fragment/SdkError.fragment.lua +26 -0
  97. package/project/.sdk/src/cmp/lua/tsconfig.json +15 -0
  98. package/project/.sdk/src/cmp/lua/utility_lua.ts +84 -0
  99. package/project/.sdk/src/cmp/php/Config_php.ts +111 -0
  100. package/project/.sdk/src/cmp/php/EntityOperation_php.ts +44 -0
  101. package/project/.sdk/src/cmp/php/Entity_php.ts +62 -0
  102. package/project/.sdk/src/cmp/php/MainEntity_php.ts +24 -0
  103. package/project/.sdk/src/cmp/php/Main_php.ts +135 -0
  104. package/project/.sdk/src/cmp/php/Package_php.ts +87 -0
  105. package/project/.sdk/src/cmp/php/ReadmeExplanation_php.ts +42 -0
  106. package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +101 -0
  107. package/project/.sdk/src/cmp/php/ReadmeInstall_php.ts +19 -0
  108. package/project/.sdk/src/cmp/php/ReadmeModel_php.ts +129 -0
  109. package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +100 -0
  110. package/project/.sdk/src/cmp/php/ReadmeTopHowto_php.ts +24 -0
  111. package/project/.sdk/src/cmp/php/ReadmeTopQuick_php.ts +56 -0
  112. package/project/.sdk/src/cmp/php/ReadmeTopTest_php.ts +38 -0
  113. package/project/.sdk/src/cmp/php/TestDirect_php.ts +270 -0
  114. package/project/.sdk/src/cmp/php/TestEntity_php.ts +479 -0
  115. package/project/.sdk/src/cmp/php/Test_php.ts +56 -0
  116. package/project/.sdk/src/cmp/php/fragment/Entity.fragment.php +146 -0
  117. package/project/.sdk/src/cmp/php/fragment/EntityCreateOp.fragment.php +26 -0
  118. package/project/.sdk/src/cmp/php/fragment/EntityListOp.fragment.php +23 -0
  119. package/project/.sdk/src/cmp/php/fragment/EntityLoadOp.fragment.php +29 -0
  120. package/project/.sdk/src/cmp/php/fragment/EntityRemoveOp.fragment.php +29 -0
  121. package/project/.sdk/src/cmp/php/fragment/EntityUpdateOp.fragment.php +29 -0
  122. package/project/.sdk/src/cmp/php/fragment/Main.fragment.php +233 -0
  123. package/project/.sdk/src/cmp/php/fragment/SdkError.fragment.php +24 -0
  124. package/project/.sdk/src/cmp/php/tsconfig.json +15 -0
  125. package/project/.sdk/src/cmp/php/utility_php.ts +85 -0
  126. package/project/.sdk/src/cmp/py/Config_py.ts +97 -0
  127. package/project/.sdk/src/cmp/py/EntityOperation_py.ts +44 -0
  128. package/project/.sdk/src/cmp/py/Entity_py.ts +62 -0
  129. package/project/.sdk/src/cmp/py/MainEntity_py.ts +22 -0
  130. package/project/.sdk/src/cmp/py/Main_py.ts +156 -0
  131. package/project/.sdk/src/cmp/py/Package_py.ts +75 -0
  132. package/project/.sdk/src/cmp/py/ReadmeExplanation_py.ts +41 -0
  133. package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +98 -0
  134. package/project/.sdk/src/cmp/py/ReadmeInstall_py.ts +25 -0
  135. package/project/.sdk/src/cmp/py/ReadmeModel_py.ts +130 -0
  136. package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +100 -0
  137. package/project/.sdk/src/cmp/py/ReadmeTopHowto_py.ts +24 -0
  138. package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +56 -0
  139. package/project/.sdk/src/cmp/py/ReadmeTopTest_py.ts +38 -0
  140. package/project/.sdk/src/cmp/py/TestDirect_py.ts +248 -0
  141. package/project/.sdk/src/cmp/py/TestEntity_py.ts +477 -0
  142. package/project/.sdk/src/cmp/py/Test_py.ts +55 -0
  143. package/project/.sdk/src/cmp/py/fragment/Entity.fragment.py +112 -0
  144. package/project/.sdk/src/cmp/py/fragment/EntityCreateOp.fragment.py +25 -0
  145. package/project/.sdk/src/cmp/py/fragment/EntityListOp.fragment.py +22 -0
  146. package/project/.sdk/src/cmp/py/fragment/EntityLoadOp.fragment.py +27 -0
  147. package/project/.sdk/src/cmp/py/fragment/EntityRemoveOp.fragment.py +27 -0
  148. package/project/.sdk/src/cmp/py/fragment/EntityUpdateOp.fragment.py +27 -0
  149. package/project/.sdk/src/cmp/py/fragment/Main.fragment.py +222 -0
  150. package/project/.sdk/src/cmp/py/fragment/SdkError.fragment.py +16 -0
  151. package/project/.sdk/src/cmp/py/tsconfig.json +15 -0
  152. package/project/.sdk/src/cmp/py/utility_py.ts +84 -0
  153. package/project/.sdk/src/cmp/rb/Config_rb.ts +105 -0
  154. package/project/.sdk/src/cmp/rb/EntityOperation_rb.ts +44 -0
  155. package/project/.sdk/src/cmp/rb/Entity_rb.ts +62 -0
  156. package/project/.sdk/src/cmp/rb/MainEntity_rb.ts +23 -0
  157. package/project/.sdk/src/cmp/rb/Main_rb.ts +130 -0
  158. package/project/.sdk/src/cmp/rb/Package_rb.ts +111 -0
  159. package/project/.sdk/src/cmp/rb/ReadmeExplanation_rb.ts +42 -0
  160. package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +98 -0
  161. package/project/.sdk/src/cmp/rb/ReadmeInstall_rb.ts +31 -0
  162. package/project/.sdk/src/cmp/rb/ReadmeModel_rb.ts +129 -0
  163. package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +99 -0
  164. package/project/.sdk/src/cmp/rb/ReadmeTopHowto_rb.ts +24 -0
  165. package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +55 -0
  166. package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +38 -0
  167. package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +260 -0
  168. package/project/.sdk/src/cmp/rb/TestEntity_rb.ts +476 -0
  169. package/project/.sdk/src/cmp/rb/Test_rb.ts +50 -0
  170. package/project/.sdk/src/cmp/rb/fragment/Entity.fragment.rb +116 -0
  171. package/project/.sdk/src/cmp/rb/fragment/EntityCreateOp.fragment.rb +25 -0
  172. package/project/.sdk/src/cmp/rb/fragment/EntityListOp.fragment.rb +20 -0
  173. package/project/.sdk/src/cmp/rb/fragment/EntityLoadOp.fragment.rb +26 -0
  174. package/project/.sdk/src/cmp/rb/fragment/EntityRemoveOp.fragment.rb +26 -0
  175. package/project/.sdk/src/cmp/rb/fragment/EntityUpdateOp.fragment.rb +26 -0
  176. package/project/.sdk/src/cmp/rb/fragment/Main.fragment.rb +203 -0
  177. package/project/.sdk/src/cmp/rb/fragment/SdkError.fragment.rb +16 -0
  178. package/project/.sdk/src/cmp/rb/tsconfig.json +15 -0
  179. package/project/.sdk/src/cmp/rb/utility_rb.ts +84 -0
  180. package/project/.sdk/src/cmp/ts/Main_ts.ts +7 -0
  181. package/project/.sdk/src/cmp/ts/ReadmeExplanation_ts.ts +34 -0
  182. package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +123 -0
  183. package/project/.sdk/src/cmp/ts/ReadmeInstall_ts.ts +1 -1
  184. package/project/.sdk/src/cmp/ts/ReadmeModel_ts.ts +159 -0
  185. package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +69 -54
  186. package/project/.sdk/src/cmp/ts/ReadmeTopHowto_ts.ts +25 -0
  187. package/project/.sdk/src/cmp/ts/ReadmeTopQuick_ts.ts +65 -0
  188. package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +36 -0
  189. package/project/.sdk/tm/go/feature/log_feature.go +133 -0
  190. package/project/.sdk/tm/go/src/feature/log/.gitkeep +0 -0
  191. package/project/.sdk/tm/go/test/runner_test.go +16 -2
  192. package/project/.sdk/tm/js/src/Context.js +142 -0
  193. package/project/.sdk/tm/js/src/Control.js +16 -0
  194. package/project/.sdk/tm/js/src/Operation.js +19 -0
  195. package/project/.sdk/tm/js/src/Point.js +24 -0
  196. package/project/.sdk/tm/js/src/README.md +1 -0
  197. package/project/.sdk/tm/js/src/Response.js +19 -0
  198. package/project/.sdk/tm/js/src/Result.js +21 -0
  199. package/project/.sdk/tm/js/src/Spec.js +26 -0
  200. package/project/.sdk/tm/js/src/feature/README.md +1 -0
  201. package/project/.sdk/tm/js/src/feature/base/BaseFeature.js +45 -0
  202. package/project/.sdk/tm/js/src/feature/log/LogFeature.js +46 -47
  203. package/project/.sdk/tm/js/src/feature/test/TestFeature.js +207 -0
  204. package/project/.sdk/tm/js/src/types.js +22 -0
  205. package/project/.sdk/tm/js/src/utility/CleanUtility.js +31 -0
  206. package/project/.sdk/tm/js/src/utility/DoneUtility.js +11 -4
  207. package/project/.sdk/tm/js/src/utility/FeatureAddUtility.js +42 -0
  208. package/project/.sdk/tm/js/src/utility/FeatureHookUtility.js +25 -0
  209. package/project/.sdk/tm/js/src/utility/FeatureInitUtility.js +11 -0
  210. package/project/.sdk/tm/js/src/utility/FetcherUtility.js +28 -0
  211. package/project/.sdk/tm/js/src/utility/MakeContextUtility.js +11 -0
  212. package/project/.sdk/tm/js/src/utility/MakeErrorUtility.js +55 -0
  213. package/project/.sdk/tm/js/src/utility/MakeFetchDefUtility.js +44 -0
  214. package/project/.sdk/tm/js/src/utility/MakeOptionsUtility.js +93 -0
  215. package/project/.sdk/tm/js/src/utility/MakePointUtility.js +77 -0
  216. package/project/.sdk/tm/js/src/utility/MakeRequestUtility.js +63 -0
  217. package/project/.sdk/tm/js/src/utility/MakeResponseUtility.js +55 -0
  218. package/project/.sdk/tm/js/src/utility/MakeResultUtility.js +54 -0
  219. package/project/.sdk/tm/js/src/utility/MakeSpecUtility.js +58 -0
  220. package/project/.sdk/tm/js/src/utility/MakeUrlUtility.js +40 -0
  221. package/project/.sdk/tm/js/src/utility/ParamUtility.js +61 -0
  222. package/project/.sdk/tm/js/src/utility/PrepareAuthUtility.js +41 -0
  223. package/project/.sdk/tm/js/src/utility/PrepareBodyUtility.js +25 -0
  224. package/project/.sdk/tm/js/src/utility/PrepareHeadersUtility.js +18 -0
  225. package/project/.sdk/tm/js/src/utility/{MethodUtility.js → PrepareMethodUtility.js} +7 -7
  226. package/project/.sdk/tm/js/src/utility/PrepareParamsUtility.js +25 -0
  227. package/project/.sdk/tm/js/src/utility/PreparePathUtility.js +13 -0
  228. package/project/.sdk/tm/js/src/utility/PrepareQueryUtility.js +26 -0
  229. package/project/.sdk/tm/js/src/utility/README.md +1 -0
  230. package/project/.sdk/tm/js/src/utility/ResultBasicUtility.js +34 -0
  231. package/project/.sdk/tm/js/src/utility/ResultBodyUtility.js +18 -0
  232. package/project/.sdk/tm/js/src/utility/ResultHeadersUtility.js +22 -0
  233. package/project/.sdk/tm/js/src/utility/StructUtility.js +2219 -1078
  234. package/project/.sdk/tm/js/src/utility/TransformRequestUtility.js +28 -0
  235. package/project/.sdk/tm/js/src/utility/TransformResponseUtility.js +31 -0
  236. package/project/.sdk/tm/js/src/utility/Utility.js +61 -61
  237. package/project/.sdk/tm/js/test/README.md +1 -0
  238. package/project/.sdk/tm/js/test/exists.test.js +16 -0
  239. package/project/.sdk/tm/js/test/runner.js +323 -107
  240. package/project/.sdk/tm/js/test/utility/Custom.test.js +41 -63
  241. package/project/.sdk/tm/js/test/utility/PrimaryUtility.test.js +390 -116
  242. package/project/.sdk/tm/js/test/utility/StructUtility.test.js +728 -175
  243. package/project/.sdk/tm/js/test/utility/index.js +9 -0
  244. package/project/.sdk/tm/js/test/utility.js +72 -0
  245. package/project/.sdk/tm/lua/LICENSE +22 -0
  246. package/project/.sdk/tm/lua/Makefile +10 -0
  247. package/project/.sdk/tm/lua/core/context.lua +208 -0
  248. package/project/.sdk/tm/lua/core/control.lua +17 -0
  249. package/project/.sdk/tm/lua/core/error.lua +30 -0
  250. package/project/.sdk/tm/lua/core/helpers.lua +30 -0
  251. package/project/.sdk/tm/lua/core/operation.lua +51 -0
  252. package/project/.sdk/tm/lua/core/response.lua +45 -0
  253. package/project/.sdk/tm/lua/core/result.lua +58 -0
  254. package/project/.sdk/tm/lua/core/spec.lua +29 -0
  255. package/project/.sdk/tm/lua/core/utility_type.lua +90 -0
  256. package/project/.sdk/tm/lua/feature/base_feature.lua +35 -0
  257. package/project/.sdk/tm/lua/feature/log_feature.lua +80 -0
  258. package/project/.sdk/tm/lua/feature/test_feature.lua +202 -0
  259. package/project/.sdk/tm/lua/src/feature/README.md +3 -0
  260. package/project/.sdk/tm/lua/src/feature/base/.gitkeep +0 -0
  261. package/project/.sdk/tm/lua/src/feature/log/.gitkeep +0 -0
  262. package/project/.sdk/tm/lua/src/feature/test/.gitkeep +0 -0
  263. package/project/.sdk/tm/lua/test/primary_utility_test.lua +1213 -0
  264. package/project/.sdk/tm/lua/test/runner.lua +86 -0
  265. package/project/.sdk/tm/lua/test/struct_runner.lua +602 -0
  266. package/project/.sdk/tm/lua/test/struct_utility_test.lua +959 -0
  267. package/project/.sdk/tm/lua/utility/clean.lua +7 -0
  268. package/project/.sdk/tm/lua/utility/done.lua +19 -0
  269. package/project/.sdk/tm/lua/utility/feature_add.lua +8 -0
  270. package/project/.sdk/tm/lua/utility/feature_hook.lua +21 -0
  271. package/project/.sdk/tm/lua/utility/feature_init.lua +24 -0
  272. package/project/.sdk/tm/lua/utility/fetcher.lua +96 -0
  273. package/project/.sdk/tm/lua/utility/make_context.lua +9 -0
  274. package/project/.sdk/tm/lua/utility/make_error.lua +73 -0
  275. package/project/.sdk/tm/lua/utility/make_fetch_def.lua +43 -0
  276. package/project/.sdk/tm/lua/utility/make_options.lua +116 -0
  277. package/project/.sdk/tm/lua/utility/make_point.lua +92 -0
  278. package/project/.sdk/tm/lua/utility/make_request.lua +58 -0
  279. package/project/.sdk/tm/lua/utility/make_response.lua +44 -0
  280. package/project/.sdk/tm/lua/utility/make_result.lua +51 -0
  281. package/project/.sdk/tm/lua/utility/make_spec.lua +72 -0
  282. package/project/.sdk/tm/lua/utility/make_url.lua +46 -0
  283. package/project/.sdk/tm/lua/utility/param.lua +68 -0
  284. package/project/.sdk/tm/lua/utility/prepare_auth.lua +39 -0
  285. package/project/.sdk/tm/lua/utility/prepare_body.lua +14 -0
  286. package/project/.sdk/tm/lua/utility/prepare_headers.lua +20 -0
  287. package/project/.sdk/tm/lua/utility/prepare_method.lua +17 -0
  288. package/project/.sdk/tm/lua/utility/prepare_params.lua +36 -0
  289. package/project/.sdk/tm/lua/utility/prepare_path.lua +19 -0
  290. package/project/.sdk/tm/lua/utility/prepare_query.lua +41 -0
  291. package/project/.sdk/tm/lua/utility/register.lua +71 -0
  292. package/project/.sdk/tm/lua/utility/result_basic.lua +32 -0
  293. package/project/.sdk/tm/lua/utility/result_body.lua +17 -0
  294. package/project/.sdk/tm/lua/utility/result_headers.lua +22 -0
  295. package/project/.sdk/tm/lua/utility/struct/struct.lua +3427 -0
  296. package/project/.sdk/tm/lua/utility/transform_request.lua +31 -0
  297. package/project/.sdk/tm/lua/utility/transform_response.lua +44 -0
  298. package/project/.sdk/tm/php/LICENSE +22 -0
  299. package/project/.sdk/tm/php/Makefile +10 -0
  300. package/project/.sdk/tm/php/core/Context.php +139 -0
  301. package/project/.sdk/tm/php/core/Control.php +18 -0
  302. package/project/.sdk/tm/php/core/Error.php +37 -0
  303. package/project/.sdk/tm/php/core/Helpers.php +25 -0
  304. package/project/.sdk/tm/php/core/Operation.php +36 -0
  305. package/project/.sdk/tm/php/core/Response.php +30 -0
  306. package/project/.sdk/tm/php/core/Result.php +35 -0
  307. package/project/.sdk/tm/php/core/Spec.php +38 -0
  308. package/project/.sdk/tm/php/core/UtilityType.php +89 -0
  309. package/project/.sdk/tm/php/feature/BaseFeature.php +37 -0
  310. package/project/.sdk/tm/php/feature/LogFeature.php +65 -0
  311. package/project/.sdk/tm/php/feature/TestFeature.php +156 -0
  312. package/project/.sdk/tm/php/src/feature/README.md +3 -0
  313. package/project/.sdk/tm/php/src/feature/base/.gitkeep +0 -0
  314. package/project/.sdk/tm/php/src/feature/log/.gitkeep +0 -0
  315. package/project/.sdk/tm/php/src/feature/test/.gitkeep +0 -0
  316. package/project/.sdk/tm/php/test/PrimaryUtilityTest.php +1309 -0
  317. package/project/.sdk/tm/php/test/Runner.php +112 -0
  318. package/project/.sdk/tm/php/test/StructRunner.php +275 -0
  319. package/project/.sdk/tm/php/test/StructUtilityTest.php +1336 -0
  320. package/project/.sdk/tm/php/utility/Clean.php +12 -0
  321. package/project/.sdk/tm/php/utility/Done.php +26 -0
  322. package/project/.sdk/tm/php/utility/FeatureAdd.php +12 -0
  323. package/project/.sdk/tm/php/utility/FeatureHook.php +23 -0
  324. package/project/.sdk/tm/php/utility/FeatureInit.php +25 -0
  325. package/project/.sdk/tm/php/utility/Fetcher.php +105 -0
  326. package/project/.sdk/tm/php/utility/MakeContext.php +14 -0
  327. package/project/.sdk/tm/php/utility/MakeError.php +59 -0
  328. package/project/.sdk/tm/php/utility/MakeFetchDef.php +36 -0
  329. package/project/.sdk/tm/php/utility/MakeOptions.php +102 -0
  330. package/project/.sdk/tm/php/utility/MakePoint.php +87 -0
  331. package/project/.sdk/tm/php/utility/MakeRequest.php +57 -0
  332. package/project/.sdk/tm/php/utility/MakeResponse.php +43 -0
  333. package/project/.sdk/tm/php/utility/MakeResult.php +53 -0
  334. package/project/.sdk/tm/php/utility/MakeSpec.php +64 -0
  335. package/project/.sdk/tm/php/utility/MakeUrl.php +41 -0
  336. package/project/.sdk/tm/php/utility/Param.php +68 -0
  337. package/project/.sdk/tm/php/utility/PrepareAuth.php +33 -0
  338. package/project/.sdk/tm/php/utility/PrepareBody.php +15 -0
  339. package/project/.sdk/tm/php/utility/PrepareHeaders.php +18 -0
  340. package/project/.sdk/tm/php/utility/PrepareMethod.php +21 -0
  341. package/project/.sdk/tm/php/utility/PrepareParams.php +34 -0
  342. package/project/.sdk/tm/php/utility/PreparePath.php +20 -0
  343. package/project/.sdk/tm/php/utility/PrepareQuery.php +32 -0
  344. package/project/.sdk/tm/php/utility/Register.php +67 -0
  345. package/project/.sdk/tm/php/utility/ResultBasic.php +29 -0
  346. package/project/.sdk/tm/php/utility/ResultBody.php +17 -0
  347. package/project/.sdk/tm/php/utility/ResultHeaders.php +21 -0
  348. package/project/.sdk/tm/php/utility/TransformRequest.php +27 -0
  349. package/project/.sdk/tm/php/utility/TransformResponse.php +42 -0
  350. package/project/.sdk/tm/php/utility/struct/Struct.php +3535 -0
  351. package/project/.sdk/tm/py/Makefile +10 -0
  352. package/project/.sdk/tm/py/core/__init__.py +0 -0
  353. package/project/.sdk/tm/py/core/context.py +199 -0
  354. package/project/.sdk/tm/py/core/control.py +12 -0
  355. package/project/.sdk/tm/py/core/error.py +18 -0
  356. package/project/.sdk/tm/py/core/helpers.py +15 -0
  357. package/project/.sdk/tm/py/core/operation.py +37 -0
  358. package/project/.sdk/tm/py/core/response.py +34 -0
  359. package/project/.sdk/tm/py/core/result.py +44 -0
  360. package/project/.sdk/tm/py/core/spec.py +23 -0
  361. package/project/.sdk/tm/py/core/utility_type.py +82 -0
  362. package/project/.sdk/tm/py/entity/__init__.py +0 -0
  363. package/project/.sdk/tm/py/feature/__init__.py +0 -0
  364. package/project/.sdk/tm/py/feature/base_feature.py +61 -0
  365. package/project/.sdk/tm/py/feature/log_feature.py +84 -0
  366. package/project/.sdk/tm/py/feature/test_feature.py +164 -0
  367. package/project/.sdk/tm/py/src/feature/README.md +3 -0
  368. package/project/.sdk/tm/py/src/feature/base/.gitkeep +0 -0
  369. package/project/.sdk/tm/py/src/feature/log/.gitkeep +0 -0
  370. package/project/.sdk/tm/py/src/feature/test/.gitkeep +0 -0
  371. package/project/.sdk/tm/py/test/__init__.py +0 -0
  372. package/project/.sdk/tm/py/test/runner.py +90 -0
  373. package/project/.sdk/tm/py/test/struct_runner.py +411 -0
  374. package/project/.sdk/tm/py/test/test_primary_utility.py +1101 -0
  375. package/project/.sdk/tm/py/test/test_struct_utility.py +751 -0
  376. package/project/.sdk/tm/py/utility/__init__.py +0 -0
  377. package/project/.sdk/tm/py/utility/clean.py +5 -0
  378. package/project/.sdk/tm/py/utility/done.py +14 -0
  379. package/project/.sdk/tm/py/utility/feature_add.py +6 -0
  380. package/project/.sdk/tm/py/utility/feature_hook.py +15 -0
  381. package/project/.sdk/tm/py/utility/feature_init.py +18 -0
  382. package/project/.sdk/tm/py/utility/fetcher.py +95 -0
  383. package/project/.sdk/tm/py/utility/make_context.py +7 -0
  384. package/project/.sdk/tm/py/utility/make_error.py +64 -0
  385. package/project/.sdk/tm/py/utility/make_fetch_def.py +37 -0
  386. package/project/.sdk/tm/py/utility/make_options.py +103 -0
  387. package/project/.sdk/tm/py/utility/make_point.py +74 -0
  388. package/project/.sdk/tm/py/utility/make_request.py +52 -0
  389. package/project/.sdk/tm/py/utility/make_response.py +36 -0
  390. package/project/.sdk/tm/py/utility/make_result.py +41 -0
  391. package/project/.sdk/tm/py/utility/make_spec.py +68 -0
  392. package/project/.sdk/tm/py/utility/make_url.py +34 -0
  393. package/project/.sdk/tm/py/utility/param.py +55 -0
  394. package/project/.sdk/tm/py/utility/prepare_auth.py +34 -0
  395. package/project/.sdk/tm/py/utility/prepare_body.py +11 -0
  396. package/project/.sdk/tm/py/utility/prepare_headers.py +17 -0
  397. package/project/.sdk/tm/py/utility/prepare_method.py +15 -0
  398. package/project/.sdk/tm/py/utility/prepare_params.py +28 -0
  399. package/project/.sdk/tm/py/utility/prepare_path.py +16 -0
  400. package/project/.sdk/tm/py/utility/prepare_query.py +33 -0
  401. package/project/.sdk/tm/py/utility/register.py +68 -0
  402. package/project/.sdk/tm/py/utility/result_basic.py +26 -0
  403. package/project/.sdk/tm/py/utility/result_body.py +13 -0
  404. package/project/.sdk/tm/py/utility/result_headers.py +17 -0
  405. package/project/.sdk/tm/py/utility/transform_request.py +27 -0
  406. package/project/.sdk/tm/py/utility/transform_response.py +39 -0
  407. package/project/.sdk/tm/py/utility/voxgig_struct/__init__.py +72 -0
  408. package/project/.sdk/tm/py/utility/voxgig_struct/voxgig_struct.py +2770 -0
  409. package/project/.sdk/tm/rb/Gemfile +4 -0
  410. package/project/.sdk/tm/rb/LICENSE +22 -0
  411. package/project/.sdk/tm/rb/Makefile +10 -0
  412. package/project/.sdk/tm/rb/core/context.rb +105 -0
  413. package/project/.sdk/tm/rb/core/control.rb +11 -0
  414. package/project/.sdk/tm/rb/core/error.rb +24 -0
  415. package/project/.sdk/tm/rb/core/helpers.rb +16 -0
  416. package/project/.sdk/tm/rb/core/operation.rb +26 -0
  417. package/project/.sdk/tm/rb/core/response.rb +20 -0
  418. package/project/.sdk/tm/rb/core/result.rb +23 -0
  419. package/project/.sdk/tm/rb/core/spec.rb +23 -0
  420. package/project/.sdk/tm/rb/core/utility_type.rb +32 -0
  421. package/project/.sdk/tm/rb/feature/base_feature.rb +30 -0
  422. package/project/.sdk/tm/rb/feature/log_feature.rb +50 -0
  423. package/project/.sdk/tm/rb/feature/test_feature.rb +154 -0
  424. package/project/.sdk/tm/rb/src/feature/README.md +3 -0
  425. package/project/.sdk/tm/rb/src/feature/base/.gitkeep +0 -0
  426. package/project/.sdk/tm/rb/src/feature/log/.gitkeep +0 -0
  427. package/project/.sdk/tm/rb/src/feature/test/.gitkeep +0 -0
  428. package/project/.sdk/tm/rb/test/primary_utility_test.rb +1083 -0
  429. package/project/.sdk/tm/rb/test/runner.rb +70 -0
  430. package/project/.sdk/tm/rb/test/struct_runner.rb +309 -0
  431. package/project/.sdk/tm/rb/test/struct_utility_test.rb +670 -0
  432. package/project/.sdk/tm/rb/utility/clean.rb +4 -0
  433. package/project/.sdk/tm/rb/utility/done.rb +14 -0
  434. package/project/.sdk/tm/rb/utility/feature_add.rb +6 -0
  435. package/project/.sdk/tm/rb/utility/feature_hook.rb +11 -0
  436. package/project/.sdk/tm/rb/utility/feature_init.rb +16 -0
  437. package/project/.sdk/tm/rb/utility/fetcher.rb +67 -0
  438. package/project/.sdk/tm/rb/utility/make_context.rb +7 -0
  439. package/project/.sdk/tm/rb/utility/make_error.rb +44 -0
  440. package/project/.sdk/tm/rb/utility/make_fetch_def.rb +24 -0
  441. package/project/.sdk/tm/rb/utility/make_options.rb +57 -0
  442. package/project/.sdk/tm/rb/utility/make_point.rb +77 -0
  443. package/project/.sdk/tm/rb/utility/make_request.rb +44 -0
  444. package/project/.sdk/tm/rb/utility/make_response.rb +25 -0
  445. package/project/.sdk/tm/rb/utility/make_result.rb +33 -0
  446. package/project/.sdk/tm/rb/utility/make_spec.rb +50 -0
  447. package/project/.sdk/tm/rb/utility/make_url.rb +32 -0
  448. package/project/.sdk/tm/rb/utility/param.rb +48 -0
  449. package/project/.sdk/tm/rb/utility/prepare_auth.rb +26 -0
  450. package/project/.sdk/tm/rb/utility/prepare_body.rb +6 -0
  451. package/project/.sdk/tm/rb/utility/prepare_headers.rb +11 -0
  452. package/project/.sdk/tm/rb/utility/prepare_method.rb +5 -0
  453. package/project/.sdk/tm/rb/utility/prepare_params.rb +25 -0
  454. package/project/.sdk/tm/rb/utility/prepare_path.rb +13 -0
  455. package/project/.sdk/tm/rb/utility/prepare_query.rb +22 -0
  456. package/project/.sdk/tm/rb/utility/register.rb +63 -0
  457. package/project/.sdk/tm/rb/utility/result_basic.rb +23 -0
  458. package/project/.sdk/tm/rb/utility/result_body.rb +11 -0
  459. package/project/.sdk/tm/rb/utility/result_headers.rb +15 -0
  460. package/project/.sdk/tm/rb/utility/struct/voxgig_struct.rb +2256 -0
  461. package/project/.sdk/tm/rb/utility/transform_request.rb +15 -0
  462. package/project/.sdk/tm/rb/utility/transform_response.rb +23 -0
  463. package/src/cmp/Main.ts +1 -16
  464. package/src/cmp/Readme.ts +5 -5
  465. package/src/cmp/ReadmeEntity.ts +77 -25
  466. package/src/cmp/ReadmeExplanation.ts +333 -0
  467. package/src/cmp/ReadmeHowto.ts +28 -0
  468. package/src/cmp/ReadmeIntro.ts +10 -24
  469. package/src/cmp/ReadmeModel.ts +57 -88
  470. package/src/cmp/ReadmeOptions.ts +40 -11
  471. package/src/cmp/ReadmeQuick.ts +4 -1
  472. package/src/cmp/ReadmeRef.ts +1057 -40
  473. package/src/cmp/ReadmeTop.ts +213 -0
  474. package/src/sdkgen.ts +12 -0
  475. package/project/.sdk/src/cmp/js/Quick_js.ts +0 -78
  476. package/project/.sdk/src/cmp/js/TestAcceptEntity_js.ts +0 -13
  477. package/project/.sdk/src/cmp/js/TestAccept_js.ts +0 -18
  478. package/project/.sdk/tm/go/test/exists_test.go +0 -16
  479. package/project/.sdk/tm/js/src/utility/AuthUtility.js +0 -21
  480. package/project/.sdk/tm/js/src/utility/BodyUtility.js +0 -29
  481. package/project/.sdk/tm/js/src/utility/ErrorUtility.js +0 -33
  482. package/project/.sdk/tm/js/src/utility/FindparamUtility.js +0 -31
  483. package/project/.sdk/tm/js/src/utility/FullurlUtility.js +0 -39
  484. package/project/.sdk/tm/js/src/utility/HeadersUtility.js +0 -13
  485. package/project/.sdk/tm/js/src/utility/JoinurlUtility.js +0 -14
  486. package/project/.sdk/tm/js/src/utility/OperatorUtility.js +0 -44
  487. package/project/.sdk/tm/js/src/utility/OptionsUtility.js +0 -54
  488. package/project/.sdk/tm/js/src/utility/ParamsUtility.js +0 -21
  489. package/project/.sdk/tm/js/src/utility/QueryUtility.js +0 -21
  490. package/project/.sdk/tm/js/src/utility/ReqformUtility.js +0 -32
  491. package/project/.sdk/tm/js/src/utility/RequestUtility.js +0 -48
  492. package/project/.sdk/tm/js/src/utility/ResbasicUtility.js +0 -27
  493. package/project/.sdk/tm/js/src/utility/ResbodyUtility.js +0 -15
  494. package/project/.sdk/tm/js/src/utility/ResformUtility.js +0 -34
  495. package/project/.sdk/tm/js/src/utility/ResheadersUtility.js +0 -19
  496. package/project/.sdk/tm/js/src/utility/ResponseUtility.js +0 -37
  497. package/project/.sdk/tm/js/src/utility/ResultUtility.js +0 -28
  498. package/project/.sdk/tm/js/src/utility/SpecUtility.js +0 -35
@@ -0,0 +1,9 @@
1
+
2
+ const { SDK } = require('../..')
3
+
4
+ const TEST_JSON_FILE = '../../.sdk/test/test.json'
5
+
6
+ module.exports = {
7
+ SDK,
8
+ TEST_JSON_FILE,
9
+ }
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Shared utility functions for unit tests
3
+ *
4
+ * This module provides common helper functions used across unit tests
5
+ * for creating test data, transformations, validations, and environment overrides.
6
+ */
7
+
8
+ // Creates a new step data structure within the data model
9
+ function makeStepData(dm, stepname) {
10
+ dm.s[stepname] = {
11
+ entity: undefined,
12
+ match: undefined,
13
+ reqdata: undefined,
14
+ resdata: undefined,
15
+ }
16
+ return dm.s[stepname]
17
+ }
18
+
19
+
20
+ // Transforms and creates a match object using the provided transform function
21
+ function makeMatch(dm, transform, match) {
22
+ return transform({}, match, { meta: { dm } })
23
+ }
24
+
25
+
26
+ // Transforms and creates request data using the provided transform function
27
+ function makeReqdata(dm, transform, data) {
28
+ return transform({}, data, { meta: { dm } })
29
+ }
30
+
31
+
32
+ // Validates data against validation rules and returns the result
33
+ function makeValid(dm, validate, data, valid) {
34
+ valid["`$OPEN`"] = true
35
+ return validate(data, valid, { meta: { '`$EXISTS`': true, dm } })
36
+ }
37
+
38
+
39
+ // Creates a control object for test explanations when enabled
40
+ function makeCtrl(explain) {
41
+ return explain ? { explain: {} } : undefined
42
+ }
43
+
44
+ // Overrides configuration values with environment variables if available
45
+ function envOverride(m) {
46
+ if (
47
+ 'TRUE' === process.env.PROJECTNAME_TEST_LIVE ||
48
+ 'TRUE' === process.env.PROJECTNAME_TEST_OVERRIDE
49
+ ) {
50
+ Object.entries(m).map(n => {
51
+ let envval = process.env[n[0]]
52
+ if (null != envval) {
53
+ envval = envval.trim()
54
+ m[n[0]] = envval.startsWith('{') ? JSON.parse(envval) : envval
55
+ }
56
+ })
57
+ }
58
+
59
+ m.PROJECTNAME_TEST_EXPLAIN = process.env.PROJECTNAME_TEST_EXPLAIN || m.PROJECTNAME_TEST_EXPLAIN
60
+
61
+ return m
62
+ }
63
+
64
+
65
+ module.exports = {
66
+ makeStepData,
67
+ makeMatch,
68
+ makeReqdata,
69
+ makeValid,
70
+ makeCtrl,
71
+ envOverride
72
+ }
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) $$const.year$$ $$const.Name$$
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
@@ -0,0 +1,10 @@
1
+ .PHONY: test build clean
2
+
3
+ test:
4
+ busted test/
5
+
6
+ build:
7
+ @echo "No build step for Lua"
8
+
9
+ clean:
10
+ @echo "No clean step for Lua"
@@ -0,0 +1,208 @@
1
+ -- ProjectName SDK context
2
+
3
+ local vs = require("utility.struct.struct")
4
+ local Control = require("core.control")
5
+ local Operation = require("core.operation")
6
+ local Spec = require("core.spec")
7
+ local Result = require("core.result")
8
+ local Response = require("core.response")
9
+ local ProjectNameError = require("core.error")
10
+ local helpers = require("core.helpers")
11
+
12
+ local Context = {}
13
+ Context.__index = Context
14
+
15
+
16
+ function Context.new(ctxmap, basectx)
17
+ local self = setmetatable({}, Context)
18
+
19
+ self.id = "C" .. tostring(math.random(10000000, 99999999))
20
+ self.out = {}
21
+
22
+ ctxmap = ctxmap or {}
23
+
24
+ -- Client
25
+ local c = helpers.get_ctx_prop(ctxmap, "client")
26
+ if c ~= nil then
27
+ self.client = c
28
+ elseif basectx ~= nil then
29
+ self.client = basectx.client
30
+ end
31
+
32
+ -- Utility
33
+ local u = helpers.get_ctx_prop(ctxmap, "utility")
34
+ if u ~= nil then
35
+ self.utility = u
36
+ elseif basectx ~= nil then
37
+ self.utility = basectx.utility
38
+ end
39
+
40
+ -- Ctrl
41
+ self.ctrl = Control.new()
42
+ local ctrl_raw = helpers.get_ctx_prop(ctxmap, "ctrl")
43
+ if type(ctrl_raw) == "table" then
44
+ if ctrl_raw.throw_err ~= nil then
45
+ self.ctrl.throw_err = ctrl_raw.throw_err
46
+ elseif type(ctrl_raw["throw"]) == "boolean" then
47
+ self.ctrl.throw_err = ctrl_raw["throw"]
48
+ end
49
+ if type(ctrl_raw.explain) == "table" then
50
+ self.ctrl.explain = ctrl_raw.explain
51
+ end
52
+ elseif basectx ~= nil and basectx.ctrl ~= nil then
53
+ self.ctrl = basectx.ctrl
54
+ end
55
+
56
+ -- Meta
57
+ self.meta = {}
58
+ local m = helpers.get_ctx_prop(ctxmap, "meta")
59
+ if type(m) == "table" then
60
+ self.meta = m
61
+ elseif basectx ~= nil and basectx.meta ~= nil then
62
+ self.meta = basectx.meta
63
+ end
64
+
65
+ -- Config
66
+ local cfg = helpers.get_ctx_prop(ctxmap, "config")
67
+ if type(cfg) == "table" then
68
+ self.config = cfg
69
+ elseif basectx ~= nil then
70
+ self.config = basectx.config
71
+ end
72
+
73
+ -- Entopts
74
+ local eo = helpers.get_ctx_prop(ctxmap, "entopts")
75
+ if type(eo) == "table" then
76
+ self.entopts = eo
77
+ elseif basectx ~= nil then
78
+ self.entopts = basectx.entopts
79
+ end
80
+
81
+ -- Options
82
+ local o = helpers.get_ctx_prop(ctxmap, "options")
83
+ if type(o) == "table" then
84
+ self.options = o
85
+ elseif basectx ~= nil then
86
+ self.options = basectx.options
87
+ end
88
+
89
+ -- Entity
90
+ local e = helpers.get_ctx_prop(ctxmap, "entity")
91
+ if e ~= nil then
92
+ self.entity = e
93
+ elseif basectx ~= nil then
94
+ self.entity = basectx.entity
95
+ end
96
+
97
+ -- Shared
98
+ local s = helpers.get_ctx_prop(ctxmap, "shared")
99
+ if type(s) == "table" then
100
+ self.shared = s
101
+ elseif basectx ~= nil then
102
+ self.shared = basectx.shared
103
+ end
104
+
105
+ -- Opmap
106
+ local om = helpers.get_ctx_prop(ctxmap, "opmap")
107
+ if type(om) == "table" then
108
+ self.opmap = om
109
+ elseif basectx ~= nil then
110
+ self.opmap = basectx.opmap
111
+ end
112
+ if self.opmap == nil then
113
+ self.opmap = {}
114
+ end
115
+
116
+ -- Data
117
+ self.data = helpers.to_map(helpers.get_ctx_prop(ctxmap, "data")) or {}
118
+ self.reqdata = helpers.to_map(helpers.get_ctx_prop(ctxmap, "reqdata")) or {}
119
+ self.match = helpers.to_map(helpers.get_ctx_prop(ctxmap, "match")) or {}
120
+ self.reqmatch = helpers.to_map(helpers.get_ctx_prop(ctxmap, "reqmatch")) or {}
121
+
122
+ -- Point
123
+ local pt = helpers.get_ctx_prop(ctxmap, "point")
124
+ if type(pt) == "table" then
125
+ self.point = pt
126
+ elseif basectx ~= nil then
127
+ self.point = basectx.point
128
+ end
129
+
130
+ -- Spec
131
+ local sp = helpers.get_ctx_prop(ctxmap, "spec")
132
+ if sp ~= nil and getmetatable(sp) == Spec then
133
+ self.spec = sp
134
+ elseif basectx ~= nil then
135
+ self.spec = basectx.spec
136
+ end
137
+
138
+ -- Result
139
+ local r = helpers.get_ctx_prop(ctxmap, "result")
140
+ if r ~= nil and getmetatable(r) == Result then
141
+ self.result = r
142
+ elseif basectx ~= nil then
143
+ self.result = basectx.result
144
+ end
145
+
146
+ -- Response
147
+ local rp = helpers.get_ctx_prop(ctxmap, "response")
148
+ if rp ~= nil and getmetatable(rp) == Response then
149
+ self.response = rp
150
+ elseif basectx ~= nil then
151
+ self.response = basectx.response
152
+ end
153
+
154
+ -- Resolve operation
155
+ local opname = helpers.get_ctx_prop(ctxmap, "opname") or ""
156
+ self.op = self:resolve_op(opname)
157
+
158
+ return self
159
+ end
160
+
161
+
162
+ function Context:resolve_op(opname)
163
+ if self.opmap[opname] ~= nil then
164
+ return self.opmap[opname]
165
+ end
166
+
167
+ if opname == "" then
168
+ return Operation.new({})
169
+ end
170
+
171
+ local entname = "_"
172
+ if self.entity ~= nil and type(self.entity.get_name) == "function" then
173
+ entname = self.entity:get_name()
174
+ end
175
+
176
+ local opcfg = vs.getpath(self.config, "entity." .. entname .. ".op." .. opname)
177
+
178
+ local input = "match"
179
+ if opname == "update" or opname == "create" then
180
+ input = "data"
181
+ end
182
+
183
+ local points = {}
184
+ if type(opcfg) == "table" then
185
+ local t = vs.getprop(opcfg, "points")
186
+ if type(t) == "table" then
187
+ points = t
188
+ end
189
+ end
190
+
191
+ local op = Operation.new({
192
+ entity = entname,
193
+ name = opname,
194
+ input = input,
195
+ points = points,
196
+ })
197
+
198
+ self.opmap[opname] = op
199
+ return op
200
+ end
201
+
202
+
203
+ function Context:make_error(code, msg)
204
+ return ProjectNameError.new(code, msg, self)
205
+ end
206
+
207
+
208
+ return Context
@@ -0,0 +1,17 @@
1
+ -- ProjectName SDK control
2
+
3
+ local Control = {}
4
+ Control.__index = Control
5
+
6
+
7
+ function Control.new(opts)
8
+ opts = opts or {}
9
+ local self = setmetatable({}, Control)
10
+ self.throw_err = opts.throw_err
11
+ self.err = nil
12
+ self.explain = opts.explain
13
+ return self
14
+ end
15
+
16
+
17
+ return Control
@@ -0,0 +1,30 @@
1
+ -- ProjectName SDK error
2
+
3
+ local ProjectNameError = {}
4
+ ProjectNameError.__index = ProjectNameError
5
+
6
+
7
+ function ProjectNameError.new(code, msg, ctx)
8
+ local self = setmetatable({}, ProjectNameError)
9
+ self.is_sdk_error = true
10
+ self.sdk = "ProjectName"
11
+ self.code = code or ""
12
+ self.msg = msg or ""
13
+ self.ctx = ctx
14
+ self.result = nil
15
+ self.spec = nil
16
+ return self
17
+ end
18
+
19
+
20
+ function ProjectNameError:error()
21
+ return self.msg
22
+ end
23
+
24
+
25
+ function ProjectNameError:__tostring()
26
+ return self.msg
27
+ end
28
+
29
+
30
+ return ProjectNameError
@@ -0,0 +1,30 @@
1
+ -- ProjectName SDK helpers
2
+
3
+ local helpers = {}
4
+
5
+
6
+ function helpers.to_map(v)
7
+ if type(v) == "table" then
8
+ return v
9
+ end
10
+ return nil
11
+ end
12
+
13
+
14
+ function helpers.to_int(v)
15
+ if type(v) == "number" then
16
+ return math.floor(v)
17
+ end
18
+ return -1
19
+ end
20
+
21
+
22
+ function helpers.get_ctx_prop(m, key)
23
+ if m == nil then
24
+ return nil
25
+ end
26
+ return m[key]
27
+ end
28
+
29
+
30
+ return helpers
@@ -0,0 +1,51 @@
1
+ -- ProjectName SDK operation
2
+
3
+ local vs = require("utility.struct.struct")
4
+
5
+ local Operation = {}
6
+ Operation.__index = Operation
7
+
8
+
9
+ function Operation.new(opmap)
10
+ local self = setmetatable({}, Operation)
11
+ opmap = opmap or {}
12
+
13
+ local entity = vs.getprop(opmap, "entity")
14
+ if type(entity) ~= "string" or entity == "" then
15
+ entity = "_"
16
+ end
17
+ self.entity = entity
18
+
19
+ local name = vs.getprop(opmap, "name")
20
+ if type(name) ~= "string" or name == "" then
21
+ name = "_"
22
+ end
23
+ self.name = name
24
+
25
+ local input = vs.getprop(opmap, "input")
26
+ if type(input) ~= "string" or input == "" then
27
+ input = "_"
28
+ end
29
+ self.input = input
30
+
31
+ self.points = {}
32
+ local raw_points = vs.getprop(opmap, "points")
33
+ if type(raw_points) == "table" then
34
+ for _, t in ipairs(raw_points) do
35
+ if type(t) == "table" then
36
+ table.insert(self.points, t)
37
+ end
38
+ end
39
+ end
40
+
41
+ self.alias = nil
42
+ local raw_alias = vs.getprop(opmap, "alias")
43
+ if type(raw_alias) == "table" then
44
+ self.alias = raw_alias
45
+ end
46
+
47
+ return self
48
+ end
49
+
50
+
51
+ return Operation
@@ -0,0 +1,45 @@
1
+ -- ProjectName SDK response
2
+
3
+ local vs = require("utility.struct.struct")
4
+
5
+ local Response = {}
6
+ Response.__index = Response
7
+
8
+
9
+ function Response.new(resmap)
10
+ local self = setmetatable({}, Response)
11
+ resmap = resmap or {}
12
+
13
+ self.status = -1
14
+ local s = vs.getprop(resmap, "status")
15
+ if s ~= nil and type(s) == "number" then
16
+ self.status = math.floor(s)
17
+ end
18
+
19
+ self.status_text = ""
20
+ local st = vs.getprop(resmap, "statusText")
21
+ if type(st) == "string" then
22
+ self.status_text = st
23
+ end
24
+
25
+ self.headers = vs.getprop(resmap, "headers")
26
+
27
+ self.json_func = nil
28
+ local jf = vs.getprop(resmap, "json")
29
+ if type(jf) == "function" then
30
+ self.json_func = jf
31
+ end
32
+
33
+ self.body = vs.getprop(resmap, "body")
34
+
35
+ self.err = nil
36
+ local e = vs.getprop(resmap, "err")
37
+ if e ~= nil then
38
+ self.err = e
39
+ end
40
+
41
+ return self
42
+ end
43
+
44
+
45
+ return Response
@@ -0,0 +1,58 @@
1
+ -- ProjectName SDK result
2
+
3
+ local vs = require("utility.struct.struct")
4
+
5
+ local Result = {}
6
+ Result.__index = Result
7
+
8
+
9
+ function Result.new(resmap)
10
+ local self = setmetatable({}, Result)
11
+ resmap = resmap or {}
12
+
13
+ self.ok = false
14
+ if vs.getprop(resmap, "ok") == true then
15
+ self.ok = true
16
+ end
17
+
18
+ self.status = -1
19
+ local s = vs.getprop(resmap, "status")
20
+ if s ~= nil then
21
+ if type(s) == "number" then
22
+ self.status = math.floor(s)
23
+ end
24
+ end
25
+
26
+ self.status_text = ""
27
+ local st = vs.getprop(resmap, "statusText")
28
+ if type(st) == "string" then
29
+ self.status_text = st
30
+ end
31
+
32
+ self.headers = {}
33
+ local h = vs.getprop(resmap, "headers")
34
+ if type(h) == "table" then
35
+ self.headers = h
36
+ end
37
+
38
+ self.body = vs.getprop(resmap, "body")
39
+
40
+ self.err = nil
41
+ local e = vs.getprop(resmap, "err")
42
+ if e ~= nil then
43
+ self.err = e
44
+ end
45
+
46
+ self.resdata = vs.getprop(resmap, "resdata")
47
+
48
+ self.resmatch = nil
49
+ local rm = vs.getprop(resmap, "resmatch")
50
+ if type(rm) == "table" then
51
+ self.resmatch = rm
52
+ end
53
+
54
+ return self
55
+ end
56
+
57
+
58
+ return Result
@@ -0,0 +1,29 @@
1
+ -- ProjectName SDK spec
2
+
3
+ local Spec = {}
4
+ Spec.__index = Spec
5
+
6
+
7
+ function Spec.new(specmap)
8
+ local self = setmetatable({}, Spec)
9
+ specmap = specmap or {}
10
+
11
+ self.parts = specmap.parts or {}
12
+ self.headers = specmap.headers or {}
13
+ self.alias = specmap.alias or {}
14
+ self.base = specmap.base or ""
15
+ self.prefix = specmap.prefix or ""
16
+ self.suffix = specmap.suffix or ""
17
+ self.params = specmap.params or {}
18
+ self.query = specmap.query or {}
19
+ self.step = specmap.step or ""
20
+ self.method = specmap.method or "GET"
21
+ self.body = specmap.body
22
+ self.url = specmap.url or ""
23
+ self.path = specmap.path or ""
24
+
25
+ return self
26
+ end
27
+
28
+
29
+ return Spec
@@ -0,0 +1,90 @@
1
+ -- ProjectName SDK utility type
2
+
3
+ local Utility = {}
4
+ Utility.__index = Utility
5
+
6
+
7
+ function Utility.new()
8
+ local self = setmetatable({}, Utility)
9
+ self.custom = {}
10
+
11
+ -- All utility functions are set by the register module
12
+ self.clean = nil
13
+ self.done = nil
14
+ self.make_error = nil
15
+ self.feature_add = nil
16
+ self.feature_hook = nil
17
+ self.feature_init = nil
18
+ self.fetcher = nil
19
+ self.make_fetch_def = nil
20
+ self.make_context = nil
21
+ self.make_options = nil
22
+ self.make_request = nil
23
+ self.make_response = nil
24
+ self.make_result = nil
25
+ self.make_point = nil
26
+ self.make_spec = nil
27
+ self.make_url = nil
28
+ self.param = nil
29
+ self.prepare_auth = nil
30
+ self.prepare_body = nil
31
+ self.prepare_headers = nil
32
+ self.prepare_method = nil
33
+ self.prepare_params = nil
34
+ self.prepare_path = nil
35
+ self.prepare_query = nil
36
+ self.result_basic = nil
37
+ self.result_body = nil
38
+ self.result_headers = nil
39
+ self.transform_request = nil
40
+ self.transform_response = nil
41
+
42
+ -- Let the registrar fill in all functions
43
+ if Utility._registrar ~= nil then
44
+ Utility._registrar(self)
45
+ end
46
+
47
+ return self
48
+ end
49
+
50
+
51
+ function Utility.copy(src)
52
+ local u = Utility.new()
53
+ u.clean = src.clean
54
+ u.done = src.done
55
+ u.make_error = src.make_error
56
+ u.feature_add = src.feature_add
57
+ u.feature_hook = src.feature_hook
58
+ u.feature_init = src.feature_init
59
+ u.fetcher = src.fetcher
60
+ u.make_fetch_def = src.make_fetch_def
61
+ u.make_context = src.make_context
62
+ u.make_options = src.make_options
63
+ u.make_request = src.make_request
64
+ u.make_response = src.make_response
65
+ u.make_result = src.make_result
66
+ u.make_point = src.make_point
67
+ u.make_spec = src.make_spec
68
+ u.make_url = src.make_url
69
+ u.param = src.param
70
+ u.prepare_auth = src.prepare_auth
71
+ u.prepare_body = src.prepare_body
72
+ u.prepare_headers = src.prepare_headers
73
+ u.prepare_method = src.prepare_method
74
+ u.prepare_params = src.prepare_params
75
+ u.prepare_path = src.prepare_path
76
+ u.prepare_query = src.prepare_query
77
+ u.result_basic = src.result_basic
78
+ u.result_body = src.result_body
79
+ u.result_headers = src.result_headers
80
+ u.transform_request = src.transform_request
81
+ u.transform_response = src.transform_response
82
+ u.custom = {}
83
+ for k, v in pairs(src.custom) do
84
+ u.custom[k] = v
85
+ end
86
+ return u
87
+ end
88
+
89
+
90
+ return Utility