@voxgig/sdkgen 0.35.2 → 0.36.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 (385) hide show
  1. package/bin/voxgig-sdkgen +1 -1
  2. package/dist/cmp/Readme.js +5 -5
  3. package/dist/cmp/Readme.js.map +1 -1
  4. package/dist/cmp/ReadmeEntity.js +74 -24
  5. package/dist/cmp/ReadmeEntity.js.map +1 -1
  6. package/dist/cmp/ReadmeExplanation.d.ts +2 -0
  7. package/dist/cmp/ReadmeExplanation.js +308 -0
  8. package/dist/cmp/ReadmeExplanation.js.map +1 -0
  9. package/dist/cmp/ReadmeHowto.d.ts +2 -0
  10. package/dist/cmp/ReadmeHowto.js +18 -0
  11. package/dist/cmp/ReadmeHowto.js.map +1 -0
  12. package/dist/cmp/ReadmeIntro.js +8 -23
  13. package/dist/cmp/ReadmeIntro.js.map +1 -1
  14. package/dist/cmp/ReadmeModel.js +55 -91
  15. package/dist/cmp/ReadmeModel.js.map +1 -1
  16. package/dist/cmp/ReadmeOptions.js +35 -11
  17. package/dist/cmp/ReadmeOptions.js.map +1 -1
  18. package/dist/cmp/ReadmeQuick.js +4 -1
  19. package/dist/cmp/ReadmeQuick.js.map +1 -1
  20. package/dist/cmp/ReadmeRef.js +1042 -40
  21. package/dist/cmp/ReadmeRef.js.map +1 -1
  22. package/dist/cmp/ReadmeTop.d.ts +2 -0
  23. package/dist/cmp/ReadmeTop.js +171 -0
  24. package/dist/cmp/ReadmeTop.js.map +1 -0
  25. package/dist/sdkgen.d.ts +7 -1
  26. package/dist/sdkgen.js +13 -1
  27. package/dist/sdkgen.js.map +1 -1
  28. package/dist/tsconfig.tsbuildinfo +1 -1
  29. package/package.json +2 -2
  30. package/project/.sdk/model/feature/feature-index.jsonic +5 -0
  31. package/project/.sdk/model/feature/log.jsonic +5 -1
  32. package/project/.sdk/model/feature/test.jsonic +1 -1
  33. package/project/.sdk/model/target/lua.jsonic +23 -0
  34. package/project/.sdk/model/target/php.jsonic +22 -0
  35. package/project/.sdk/model/target/py.jsonic +23 -0
  36. package/project/.sdk/model/target/rb.jsonic +23 -0
  37. package/project/.sdk/src/cmp/go/Main_go.ts +2 -6
  38. package/project/.sdk/src/cmp/go/ReadmeExplanation_go.ts +42 -0
  39. package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +112 -0
  40. package/project/.sdk/src/cmp/go/ReadmeInstall_go.ts +29 -0
  41. package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +129 -0
  42. package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +163 -0
  43. package/project/.sdk/src/cmp/go/ReadmeTopHowto_go.ts +24 -0
  44. package/project/.sdk/src/cmp/go/ReadmeTopQuick_go.ts +67 -0
  45. package/project/.sdk/src/cmp/go/ReadmeTopTest_go.ts +40 -0
  46. package/project/.sdk/src/cmp/go/TestDirect_go.ts +46 -2
  47. package/project/.sdk/src/cmp/go/TestEntity_go.ts +360 -160
  48. package/project/.sdk/src/cmp/go/Test_go.ts +24 -1
  49. package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +1 -1
  50. package/project/.sdk/src/cmp/lua/Config_lua.ts +112 -0
  51. package/project/.sdk/src/cmp/lua/EntityOperation_lua.ts +44 -0
  52. package/project/.sdk/src/cmp/lua/Entity_lua.ts +62 -0
  53. package/project/.sdk/src/cmp/lua/MainEntity_lua.ts +23 -0
  54. package/project/.sdk/src/cmp/lua/Main_lua.ts +133 -0
  55. package/project/.sdk/src/cmp/lua/Package_lua.ts +80 -0
  56. package/project/.sdk/src/cmp/lua/ReadmeExplanation_lua.ts +42 -0
  57. package/project/.sdk/src/cmp/lua/ReadmeHowto_lua.ts +100 -0
  58. package/project/.sdk/src/cmp/lua/ReadmeInstall_lua.ts +26 -0
  59. package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +129 -0
  60. package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +99 -0
  61. package/project/.sdk/src/cmp/lua/ReadmeTopHowto_lua.ts +24 -0
  62. package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +55 -0
  63. package/project/.sdk/src/cmp/lua/ReadmeTopTest_lua.ts +38 -0
  64. package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +261 -0
  65. package/project/.sdk/src/cmp/lua/TestEntity_lua.ts +483 -0
  66. package/project/.sdk/src/cmp/lua/Test_lua.ts +49 -0
  67. package/project/.sdk/src/cmp/lua/fragment/Entity.fragment.lua +147 -0
  68. package/project/.sdk/src/cmp/lua/fragment/EntityCreateOp.fragment.lua +27 -0
  69. package/project/.sdk/src/cmp/lua/fragment/EntityListOp.fragment.lua +24 -0
  70. package/project/.sdk/src/cmp/lua/fragment/EntityLoadOp.fragment.lua +30 -0
  71. package/project/.sdk/src/cmp/lua/fragment/EntityRemoveOp.fragment.lua +30 -0
  72. package/project/.sdk/src/cmp/lua/fragment/EntityUpdateOp.fragment.lua +30 -0
  73. package/project/.sdk/src/cmp/lua/fragment/Main.fragment.lua +256 -0
  74. package/project/.sdk/src/cmp/lua/fragment/SdkError.fragment.lua +26 -0
  75. package/project/.sdk/src/cmp/lua/tsconfig.json +15 -0
  76. package/project/.sdk/src/cmp/lua/utility_lua.ts +84 -0
  77. package/project/.sdk/src/cmp/php/Config_php.ts +107 -0
  78. package/project/.sdk/src/cmp/php/EntityOperation_php.ts +44 -0
  79. package/project/.sdk/src/cmp/php/Entity_php.ts +62 -0
  80. package/project/.sdk/src/cmp/php/MainEntity_php.ts +24 -0
  81. package/project/.sdk/src/cmp/php/Main_php.ts +135 -0
  82. package/project/.sdk/src/cmp/php/Package_php.ts +87 -0
  83. package/project/.sdk/src/cmp/php/ReadmeExplanation_php.ts +42 -0
  84. package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +101 -0
  85. package/project/.sdk/src/cmp/php/ReadmeInstall_php.ts +19 -0
  86. package/project/.sdk/src/cmp/php/ReadmeModel_php.ts +129 -0
  87. package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +100 -0
  88. package/project/.sdk/src/cmp/php/ReadmeTopHowto_php.ts +24 -0
  89. package/project/.sdk/src/cmp/php/ReadmeTopQuick_php.ts +56 -0
  90. package/project/.sdk/src/cmp/php/ReadmeTopTest_php.ts +38 -0
  91. package/project/.sdk/src/cmp/php/TestDirect_php.ts +270 -0
  92. package/project/.sdk/src/cmp/php/TestEntity_php.ts +484 -0
  93. package/project/.sdk/src/cmp/php/Test_php.ts +56 -0
  94. package/project/.sdk/src/cmp/php/fragment/Entity.fragment.php +146 -0
  95. package/project/.sdk/src/cmp/php/fragment/EntityCreateOp.fragment.php +26 -0
  96. package/project/.sdk/src/cmp/php/fragment/EntityListOp.fragment.php +23 -0
  97. package/project/.sdk/src/cmp/php/fragment/EntityLoadOp.fragment.php +29 -0
  98. package/project/.sdk/src/cmp/php/fragment/EntityRemoveOp.fragment.php +29 -0
  99. package/project/.sdk/src/cmp/php/fragment/EntityUpdateOp.fragment.php +29 -0
  100. package/project/.sdk/src/cmp/php/fragment/Main.fragment.php +233 -0
  101. package/project/.sdk/src/cmp/php/fragment/SdkError.fragment.php +24 -0
  102. package/project/.sdk/src/cmp/php/tsconfig.json +15 -0
  103. package/project/.sdk/src/cmp/php/utility_php.ts +85 -0
  104. package/project/.sdk/src/cmp/py/Config_py.ts +93 -0
  105. package/project/.sdk/src/cmp/py/EntityOperation_py.ts +44 -0
  106. package/project/.sdk/src/cmp/py/Entity_py.ts +62 -0
  107. package/project/.sdk/src/cmp/py/MainEntity_py.ts +22 -0
  108. package/project/.sdk/src/cmp/py/Main_py.ts +156 -0
  109. package/project/.sdk/src/cmp/py/Package_py.ts +75 -0
  110. package/project/.sdk/src/cmp/py/ReadmeExplanation_py.ts +41 -0
  111. package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +98 -0
  112. package/project/.sdk/src/cmp/py/ReadmeInstall_py.ts +25 -0
  113. package/project/.sdk/src/cmp/py/ReadmeModel_py.ts +130 -0
  114. package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +100 -0
  115. package/project/.sdk/src/cmp/py/ReadmeTopHowto_py.ts +24 -0
  116. package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +56 -0
  117. package/project/.sdk/src/cmp/py/ReadmeTopTest_py.ts +38 -0
  118. package/project/.sdk/src/cmp/py/TestDirect_py.ts +248 -0
  119. package/project/.sdk/src/cmp/py/TestEntity_py.ts +475 -0
  120. package/project/.sdk/src/cmp/py/Test_py.ts +55 -0
  121. package/project/.sdk/src/cmp/py/fragment/Entity.fragment.py +112 -0
  122. package/project/.sdk/src/cmp/py/fragment/EntityCreateOp.fragment.py +25 -0
  123. package/project/.sdk/src/cmp/py/fragment/EntityListOp.fragment.py +22 -0
  124. package/project/.sdk/src/cmp/py/fragment/EntityLoadOp.fragment.py +27 -0
  125. package/project/.sdk/src/cmp/py/fragment/EntityRemoveOp.fragment.py +27 -0
  126. package/project/.sdk/src/cmp/py/fragment/EntityUpdateOp.fragment.py +27 -0
  127. package/project/.sdk/src/cmp/py/fragment/Main.fragment.py +222 -0
  128. package/project/.sdk/src/cmp/py/fragment/SdkError.fragment.py +16 -0
  129. package/project/.sdk/src/cmp/py/tsconfig.json +15 -0
  130. package/project/.sdk/src/cmp/py/utility_py.ts +84 -0
  131. package/project/.sdk/src/cmp/rb/Config_rb.ts +101 -0
  132. package/project/.sdk/src/cmp/rb/EntityOperation_rb.ts +44 -0
  133. package/project/.sdk/src/cmp/rb/Entity_rb.ts +62 -0
  134. package/project/.sdk/src/cmp/rb/MainEntity_rb.ts +23 -0
  135. package/project/.sdk/src/cmp/rb/Main_rb.ts +130 -0
  136. package/project/.sdk/src/cmp/rb/Package_rb.ts +111 -0
  137. package/project/.sdk/src/cmp/rb/ReadmeExplanation_rb.ts +42 -0
  138. package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +98 -0
  139. package/project/.sdk/src/cmp/rb/ReadmeInstall_rb.ts +31 -0
  140. package/project/.sdk/src/cmp/rb/ReadmeModel_rb.ts +129 -0
  141. package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +99 -0
  142. package/project/.sdk/src/cmp/rb/ReadmeTopHowto_rb.ts +24 -0
  143. package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +55 -0
  144. package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +38 -0
  145. package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +260 -0
  146. package/project/.sdk/src/cmp/rb/TestEntity_rb.ts +476 -0
  147. package/project/.sdk/src/cmp/rb/Test_rb.ts +50 -0
  148. package/project/.sdk/src/cmp/rb/fragment/Entity.fragment.rb +116 -0
  149. package/project/.sdk/src/cmp/rb/fragment/EntityCreateOp.fragment.rb +25 -0
  150. package/project/.sdk/src/cmp/rb/fragment/EntityListOp.fragment.rb +20 -0
  151. package/project/.sdk/src/cmp/rb/fragment/EntityLoadOp.fragment.rb +26 -0
  152. package/project/.sdk/src/cmp/rb/fragment/EntityRemoveOp.fragment.rb +26 -0
  153. package/project/.sdk/src/cmp/rb/fragment/EntityUpdateOp.fragment.rb +26 -0
  154. package/project/.sdk/src/cmp/rb/fragment/Main.fragment.rb +203 -0
  155. package/project/.sdk/src/cmp/rb/fragment/SdkError.fragment.rb +16 -0
  156. package/project/.sdk/src/cmp/rb/tsconfig.json +15 -0
  157. package/project/.sdk/src/cmp/rb/utility_rb.ts +84 -0
  158. package/project/.sdk/src/cmp/ts/ReadmeExplanation_ts.ts +34 -0
  159. package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +123 -0
  160. package/project/.sdk/src/cmp/ts/ReadmeInstall_ts.ts +1 -1
  161. package/project/.sdk/src/cmp/ts/ReadmeModel_ts.ts +159 -0
  162. package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +69 -54
  163. package/project/.sdk/src/cmp/ts/ReadmeTopHowto_ts.ts +25 -0
  164. package/project/.sdk/src/cmp/ts/ReadmeTopQuick_ts.ts +65 -0
  165. package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +36 -0
  166. package/project/.sdk/tm/go/feature/log_feature.go +133 -0
  167. package/project/.sdk/tm/go/src/feature/log/.gitkeep +0 -0
  168. package/project/.sdk/tm/lua/LICENSE +22 -0
  169. package/project/.sdk/tm/lua/Makefile +10 -0
  170. package/project/.sdk/tm/lua/core/context.lua +208 -0
  171. package/project/.sdk/tm/lua/core/control.lua +17 -0
  172. package/project/.sdk/tm/lua/core/error.lua +30 -0
  173. package/project/.sdk/tm/lua/core/helpers.lua +30 -0
  174. package/project/.sdk/tm/lua/core/operation.lua +51 -0
  175. package/project/.sdk/tm/lua/core/response.lua +45 -0
  176. package/project/.sdk/tm/lua/core/result.lua +58 -0
  177. package/project/.sdk/tm/lua/core/spec.lua +29 -0
  178. package/project/.sdk/tm/lua/core/utility_type.lua +90 -0
  179. package/project/.sdk/tm/lua/feature/base_feature.lua +35 -0
  180. package/project/.sdk/tm/lua/feature/log_feature.lua +80 -0
  181. package/project/.sdk/tm/lua/feature/test_feature.lua +202 -0
  182. package/project/.sdk/tm/lua/src/feature/README.md +3 -0
  183. package/project/.sdk/tm/lua/src/feature/base/.gitkeep +0 -0
  184. package/project/.sdk/tm/lua/src/feature/log/.gitkeep +0 -0
  185. package/project/.sdk/tm/lua/src/feature/test/.gitkeep +0 -0
  186. package/project/.sdk/tm/lua/test/runner.lua +86 -0
  187. package/project/.sdk/tm/lua/utility/clean.lua +7 -0
  188. package/project/.sdk/tm/lua/utility/done.lua +19 -0
  189. package/project/.sdk/tm/lua/utility/feature_add.lua +8 -0
  190. package/project/.sdk/tm/lua/utility/feature_hook.lua +21 -0
  191. package/project/.sdk/tm/lua/utility/feature_init.lua +24 -0
  192. package/project/.sdk/tm/lua/utility/fetcher.lua +96 -0
  193. package/project/.sdk/tm/lua/utility/make_context.lua +9 -0
  194. package/project/.sdk/tm/lua/utility/make_error.lua +73 -0
  195. package/project/.sdk/tm/lua/utility/make_fetch_def.lua +43 -0
  196. package/project/.sdk/tm/lua/utility/make_options.lua +116 -0
  197. package/project/.sdk/tm/lua/utility/make_point.lua +92 -0
  198. package/project/.sdk/tm/lua/utility/make_request.lua +58 -0
  199. package/project/.sdk/tm/lua/utility/make_response.lua +44 -0
  200. package/project/.sdk/tm/lua/utility/make_result.lua +51 -0
  201. package/project/.sdk/tm/lua/utility/make_spec.lua +72 -0
  202. package/project/.sdk/tm/lua/utility/make_url.lua +46 -0
  203. package/project/.sdk/tm/lua/utility/param.lua +68 -0
  204. package/project/.sdk/tm/lua/utility/prepare_auth.lua +39 -0
  205. package/project/.sdk/tm/lua/utility/prepare_body.lua +14 -0
  206. package/project/.sdk/tm/lua/utility/prepare_headers.lua +20 -0
  207. package/project/.sdk/tm/lua/utility/prepare_method.lua +17 -0
  208. package/project/.sdk/tm/lua/utility/prepare_params.lua +36 -0
  209. package/project/.sdk/tm/lua/utility/prepare_path.lua +19 -0
  210. package/project/.sdk/tm/lua/utility/prepare_query.lua +41 -0
  211. package/project/.sdk/tm/lua/utility/register.lua +71 -0
  212. package/project/.sdk/tm/lua/utility/result_basic.lua +32 -0
  213. package/project/.sdk/tm/lua/utility/result_body.lua +17 -0
  214. package/project/.sdk/tm/lua/utility/result_headers.lua +22 -0
  215. package/project/.sdk/tm/lua/utility/struct/struct.lua +3417 -0
  216. package/project/.sdk/tm/lua/utility/transform_request.lua +31 -0
  217. package/project/.sdk/tm/lua/utility/transform_response.lua +44 -0
  218. package/project/.sdk/tm/php/LICENSE +22 -0
  219. package/project/.sdk/tm/php/Makefile +10 -0
  220. package/project/.sdk/tm/php/core/Context.php +139 -0
  221. package/project/.sdk/tm/php/core/Control.php +18 -0
  222. package/project/.sdk/tm/php/core/Error.php +37 -0
  223. package/project/.sdk/tm/php/core/Helpers.php +25 -0
  224. package/project/.sdk/tm/php/core/Operation.php +36 -0
  225. package/project/.sdk/tm/php/core/Response.php +30 -0
  226. package/project/.sdk/tm/php/core/Result.php +35 -0
  227. package/project/.sdk/tm/php/core/Spec.php +38 -0
  228. package/project/.sdk/tm/php/core/UtilityType.php +89 -0
  229. package/project/.sdk/tm/php/feature/BaseFeature.php +37 -0
  230. package/project/.sdk/tm/php/feature/LogFeature.php +65 -0
  231. package/project/.sdk/tm/php/feature/TestFeature.php +193 -0
  232. package/project/.sdk/tm/php/src/feature/README.md +3 -0
  233. package/project/.sdk/tm/php/src/feature/base/.gitkeep +0 -0
  234. package/project/.sdk/tm/php/src/feature/log/.gitkeep +0 -0
  235. package/project/.sdk/tm/php/src/feature/test/.gitkeep +0 -0
  236. package/project/.sdk/tm/php/test/Runner.php +89 -0
  237. package/project/.sdk/tm/php/utility/Clean.php +12 -0
  238. package/project/.sdk/tm/php/utility/Done.php +26 -0
  239. package/project/.sdk/tm/php/utility/FeatureAdd.php +12 -0
  240. package/project/.sdk/tm/php/utility/FeatureHook.php +23 -0
  241. package/project/.sdk/tm/php/utility/FeatureInit.php +25 -0
  242. package/project/.sdk/tm/php/utility/Fetcher.php +101 -0
  243. package/project/.sdk/tm/php/utility/MakeContext.php +14 -0
  244. package/project/.sdk/tm/php/utility/MakeError.php +59 -0
  245. package/project/.sdk/tm/php/utility/MakeFetchDef.php +36 -0
  246. package/project/.sdk/tm/php/utility/MakeOptions.php +98 -0
  247. package/project/.sdk/tm/php/utility/MakePoint.php +87 -0
  248. package/project/.sdk/tm/php/utility/MakeRequest.php +57 -0
  249. package/project/.sdk/tm/php/utility/MakeResponse.php +43 -0
  250. package/project/.sdk/tm/php/utility/MakeResult.php +50 -0
  251. package/project/.sdk/tm/php/utility/MakeSpec.php +64 -0
  252. package/project/.sdk/tm/php/utility/MakeUrl.php +41 -0
  253. package/project/.sdk/tm/php/utility/Param.php +66 -0
  254. package/project/.sdk/tm/php/utility/PrepareAuth.php +33 -0
  255. package/project/.sdk/tm/php/utility/PrepareBody.php +15 -0
  256. package/project/.sdk/tm/php/utility/PrepareHeaders.php +18 -0
  257. package/project/.sdk/tm/php/utility/PrepareMethod.php +21 -0
  258. package/project/.sdk/tm/php/utility/PrepareParams.php +34 -0
  259. package/project/.sdk/tm/php/utility/PreparePath.php +20 -0
  260. package/project/.sdk/tm/php/utility/PrepareQuery.php +32 -0
  261. package/project/.sdk/tm/php/utility/Register.php +67 -0
  262. package/project/.sdk/tm/php/utility/ResultBasic.php +29 -0
  263. package/project/.sdk/tm/php/utility/ResultBody.php +17 -0
  264. package/project/.sdk/tm/php/utility/ResultHeaders.php +21 -0
  265. package/project/.sdk/tm/php/utility/TransformRequest.php +27 -0
  266. package/project/.sdk/tm/php/utility/TransformResponse.php +42 -0
  267. package/project/.sdk/tm/php/utility/struct/Struct.php +3431 -0
  268. package/project/.sdk/tm/py/Makefile +10 -0
  269. package/project/.sdk/tm/py/core/__init__.py +0 -0
  270. package/project/.sdk/tm/py/core/context.py +199 -0
  271. package/project/.sdk/tm/py/core/control.py +12 -0
  272. package/project/.sdk/tm/py/core/error.py +18 -0
  273. package/project/.sdk/tm/py/core/helpers.py +15 -0
  274. package/project/.sdk/tm/py/core/operation.py +37 -0
  275. package/project/.sdk/tm/py/core/response.py +34 -0
  276. package/project/.sdk/tm/py/core/result.py +44 -0
  277. package/project/.sdk/tm/py/core/spec.py +23 -0
  278. package/project/.sdk/tm/py/core/utility_type.py +82 -0
  279. package/project/.sdk/tm/py/entity/__init__.py +0 -0
  280. package/project/.sdk/tm/py/feature/__init__.py +0 -0
  281. package/project/.sdk/tm/py/feature/base_feature.py +61 -0
  282. package/project/.sdk/tm/py/feature/log_feature.py +84 -0
  283. package/project/.sdk/tm/py/feature/test_feature.py +164 -0
  284. package/project/.sdk/tm/py/src/feature/README.md +3 -0
  285. package/project/.sdk/tm/py/src/feature/base/.gitkeep +0 -0
  286. package/project/.sdk/tm/py/src/feature/log/.gitkeep +0 -0
  287. package/project/.sdk/tm/py/src/feature/test/.gitkeep +0 -0
  288. package/project/.sdk/tm/py/test/__init__.py +0 -0
  289. package/project/.sdk/tm/py/test/runner.py +77 -0
  290. package/project/.sdk/tm/py/utility/__init__.py +0 -0
  291. package/project/.sdk/tm/py/utility/clean.py +5 -0
  292. package/project/.sdk/tm/py/utility/done.py +14 -0
  293. package/project/.sdk/tm/py/utility/feature_add.py +6 -0
  294. package/project/.sdk/tm/py/utility/feature_hook.py +15 -0
  295. package/project/.sdk/tm/py/utility/feature_init.py +18 -0
  296. package/project/.sdk/tm/py/utility/fetcher.py +95 -0
  297. package/project/.sdk/tm/py/utility/make_context.py +7 -0
  298. package/project/.sdk/tm/py/utility/make_error.py +64 -0
  299. package/project/.sdk/tm/py/utility/make_fetch_def.py +37 -0
  300. package/project/.sdk/tm/py/utility/make_options.py +103 -0
  301. package/project/.sdk/tm/py/utility/make_point.py +74 -0
  302. package/project/.sdk/tm/py/utility/make_request.py +52 -0
  303. package/project/.sdk/tm/py/utility/make_response.py +36 -0
  304. package/project/.sdk/tm/py/utility/make_result.py +41 -0
  305. package/project/.sdk/tm/py/utility/make_spec.py +68 -0
  306. package/project/.sdk/tm/py/utility/make_url.py +34 -0
  307. package/project/.sdk/tm/py/utility/param.py +55 -0
  308. package/project/.sdk/tm/py/utility/prepare_auth.py +34 -0
  309. package/project/.sdk/tm/py/utility/prepare_body.py +11 -0
  310. package/project/.sdk/tm/py/utility/prepare_headers.py +17 -0
  311. package/project/.sdk/tm/py/utility/prepare_method.py +15 -0
  312. package/project/.sdk/tm/py/utility/prepare_params.py +28 -0
  313. package/project/.sdk/tm/py/utility/prepare_path.py +16 -0
  314. package/project/.sdk/tm/py/utility/prepare_query.py +33 -0
  315. package/project/.sdk/tm/py/utility/register.py +68 -0
  316. package/project/.sdk/tm/py/utility/result_basic.py +26 -0
  317. package/project/.sdk/tm/py/utility/result_body.py +13 -0
  318. package/project/.sdk/tm/py/utility/result_headers.py +17 -0
  319. package/project/.sdk/tm/py/utility/transform_request.py +27 -0
  320. package/project/.sdk/tm/py/utility/transform_response.py +39 -0
  321. package/project/.sdk/tm/py/utility/voxgig_struct/__init__.py +72 -0
  322. package/project/.sdk/tm/py/utility/voxgig_struct/voxgig_struct.py +2770 -0
  323. package/project/.sdk/tm/rb/Gemfile +4 -0
  324. package/project/.sdk/tm/rb/LICENSE +22 -0
  325. package/project/.sdk/tm/rb/Makefile +10 -0
  326. package/project/.sdk/tm/rb/core/context.rb +105 -0
  327. package/project/.sdk/tm/rb/core/control.rb +11 -0
  328. package/project/.sdk/tm/rb/core/error.rb +24 -0
  329. package/project/.sdk/tm/rb/core/helpers.rb +16 -0
  330. package/project/.sdk/tm/rb/core/operation.rb +26 -0
  331. package/project/.sdk/tm/rb/core/response.rb +20 -0
  332. package/project/.sdk/tm/rb/core/result.rb +23 -0
  333. package/project/.sdk/tm/rb/core/spec.rb +23 -0
  334. package/project/.sdk/tm/rb/core/utility_type.rb +32 -0
  335. package/project/.sdk/tm/rb/feature/base_feature.rb +30 -0
  336. package/project/.sdk/tm/rb/feature/log_feature.rb +50 -0
  337. package/project/.sdk/tm/rb/feature/test_feature.rb +154 -0
  338. package/project/.sdk/tm/rb/src/feature/README.md +3 -0
  339. package/project/.sdk/tm/rb/src/feature/base/.gitkeep +0 -0
  340. package/project/.sdk/tm/rb/src/feature/log/.gitkeep +0 -0
  341. package/project/.sdk/tm/rb/src/feature/test/.gitkeep +0 -0
  342. package/project/.sdk/tm/rb/test/runner.rb +65 -0
  343. package/project/.sdk/tm/rb/utility/clean.rb +4 -0
  344. package/project/.sdk/tm/rb/utility/done.rb +14 -0
  345. package/project/.sdk/tm/rb/utility/feature_add.rb +6 -0
  346. package/project/.sdk/tm/rb/utility/feature_hook.rb +11 -0
  347. package/project/.sdk/tm/rb/utility/feature_init.rb +16 -0
  348. package/project/.sdk/tm/rb/utility/fetcher.rb +67 -0
  349. package/project/.sdk/tm/rb/utility/make_context.rb +7 -0
  350. package/project/.sdk/tm/rb/utility/make_error.rb +44 -0
  351. package/project/.sdk/tm/rb/utility/make_fetch_def.rb +24 -0
  352. package/project/.sdk/tm/rb/utility/make_options.rb +57 -0
  353. package/project/.sdk/tm/rb/utility/make_point.rb +77 -0
  354. package/project/.sdk/tm/rb/utility/make_request.rb +44 -0
  355. package/project/.sdk/tm/rb/utility/make_response.rb +25 -0
  356. package/project/.sdk/tm/rb/utility/make_result.rb +33 -0
  357. package/project/.sdk/tm/rb/utility/make_spec.rb +50 -0
  358. package/project/.sdk/tm/rb/utility/make_url.rb +32 -0
  359. package/project/.sdk/tm/rb/utility/param.rb +48 -0
  360. package/project/.sdk/tm/rb/utility/prepare_auth.rb +26 -0
  361. package/project/.sdk/tm/rb/utility/prepare_body.rb +6 -0
  362. package/project/.sdk/tm/rb/utility/prepare_headers.rb +11 -0
  363. package/project/.sdk/tm/rb/utility/prepare_method.rb +5 -0
  364. package/project/.sdk/tm/rb/utility/prepare_params.rb +25 -0
  365. package/project/.sdk/tm/rb/utility/prepare_path.rb +13 -0
  366. package/project/.sdk/tm/rb/utility/prepare_query.rb +22 -0
  367. package/project/.sdk/tm/rb/utility/register.rb +63 -0
  368. package/project/.sdk/tm/rb/utility/result_basic.rb +23 -0
  369. package/project/.sdk/tm/rb/utility/result_body.rb +11 -0
  370. package/project/.sdk/tm/rb/utility/result_headers.rb +15 -0
  371. package/project/.sdk/tm/rb/utility/struct/voxgig_struct.rb +2256 -0
  372. package/project/.sdk/tm/rb/utility/transform_request.rb +15 -0
  373. package/project/.sdk/tm/rb/utility/transform_response.rb +23 -0
  374. package/src/cmp/Readme.ts +5 -5
  375. package/src/cmp/ReadmeEntity.ts +77 -25
  376. package/src/cmp/ReadmeExplanation.ts +333 -0
  377. package/src/cmp/ReadmeHowto.ts +28 -0
  378. package/src/cmp/ReadmeIntro.ts +10 -24
  379. package/src/cmp/ReadmeModel.ts +57 -88
  380. package/src/cmp/ReadmeOptions.ts +40 -11
  381. package/src/cmp/ReadmeQuick.ts +4 -1
  382. package/src/cmp/ReadmeRef.ts +1057 -40
  383. package/src/cmp/ReadmeTop.ts +213 -0
  384. package/src/sdkgen.ts +12 -0
  385. package/project/.sdk/tm/go/test/exists_test.go +0 -16
@@ -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
@@ -0,0 +1,35 @@
1
+ -- ProjectName SDK base feature
2
+
3
+ local BaseFeature = {}
4
+ BaseFeature.__index = BaseFeature
5
+
6
+
7
+ function BaseFeature.new()
8
+ local self = setmetatable({}, BaseFeature)
9
+ self.version = "0.0.1"
10
+ self.name = "base"
11
+ self.active = true
12
+ return self
13
+ end
14
+
15
+ function BaseFeature:get_version() return self.version end
16
+ function BaseFeature:get_name() return self.name end
17
+ function BaseFeature:get_active() return self.active end
18
+
19
+ function BaseFeature:init(ctx, options) end
20
+ function BaseFeature:PostConstruct(ctx) end
21
+ function BaseFeature:PostConstructEntity(ctx) end
22
+ function BaseFeature:SetData(ctx) end
23
+ function BaseFeature:GetData(ctx) end
24
+ function BaseFeature:GetMatch(ctx) end
25
+ function BaseFeature:SetMatch(ctx) end
26
+ function BaseFeature:PrePoint(ctx) end
27
+ function BaseFeature:PreSpec(ctx) end
28
+ function BaseFeature:PreRequest(ctx) end
29
+ function BaseFeature:PreResponse(ctx) end
30
+ function BaseFeature:PreResult(ctx) end
31
+ function BaseFeature:PreDone(ctx) end
32
+ function BaseFeature:PreUnexpected(ctx) end
33
+
34
+
35
+ return BaseFeature
@@ -0,0 +1,80 @@
1
+ -- ProjectName SDK log feature
2
+
3
+ local BaseFeature = require("feature.base_feature")
4
+
5
+ local LogFeature = {}
6
+ LogFeature.__index = LogFeature
7
+ setmetatable(LogFeature, { __index = BaseFeature })
8
+
9
+
10
+ function LogFeature.new()
11
+ local self = setmetatable(BaseFeature.new(), LogFeature)
12
+ self.version = "0.0.1"
13
+ self.name = "log"
14
+ self.active = true
15
+ self.client = nil
16
+ self.options = nil
17
+ self.logger = nil
18
+ return self
19
+ end
20
+
21
+
22
+ function LogFeature:init(ctx, options)
23
+ self.client = ctx.client
24
+ self.options = options
25
+
26
+ if options["active"] == true then
27
+ self.active = true
28
+ else
29
+ self.active = false
30
+ end
31
+
32
+ if self.active then
33
+ if type(options["logger"]) == "table" then
34
+ self.logger = options["logger"]
35
+ else
36
+ self.logger = {
37
+ info = function(_, msg, ...) io.stderr:write("[INFO] " .. msg .. "\n") end,
38
+ debug = function(_, msg, ...) io.stderr:write("[DEBUG] " .. msg .. "\n") end,
39
+ warn = function(_, msg, ...) io.stderr:write("[WARN] " .. msg .. "\n") end,
40
+ error = function(_, msg, ...) io.stderr:write("[ERROR] " .. msg .. "\n") end,
41
+ }
42
+ end
43
+ end
44
+ end
45
+
46
+
47
+ function LogFeature:_loghook(hook, ctx, level)
48
+ if self.logger == nil then
49
+ return
50
+ end
51
+
52
+ level = level or "info"
53
+ local opname = ""
54
+ if ctx.op ~= nil then
55
+ opname = ctx.op.name
56
+ end
57
+
58
+ local msg = "hook=" .. hook .. " op=" .. opname
59
+
60
+ local log_fn = self.logger[level]
61
+ if type(log_fn) == "function" then
62
+ log_fn(self.logger, msg)
63
+ end
64
+ end
65
+
66
+
67
+ function LogFeature:PostConstruct(ctx) self:_loghook("PostConstruct", ctx) end
68
+ function LogFeature:PostConstructEntity(ctx) self:_loghook("PostConstructEntity", ctx) end
69
+ function LogFeature:SetData(ctx) self:_loghook("SetData", ctx) end
70
+ function LogFeature:GetData(ctx) self:_loghook("GetData", ctx) end
71
+ function LogFeature:SetMatch(ctx) self:_loghook("SetMatch", ctx) end
72
+ function LogFeature:GetMatch(ctx) self:_loghook("GetMatch", ctx) end
73
+ function LogFeature:PrePoint(ctx) self:_loghook("PrePoint", ctx) end
74
+ function LogFeature:PreSpec(ctx) self:_loghook("PreSpec", ctx) end
75
+ function LogFeature:PreRequest(ctx) self:_loghook("PreRequest", ctx) end
76
+ function LogFeature:PreResponse(ctx) self:_loghook("PreResponse", ctx) end
77
+ function LogFeature:PreResult(ctx) self:_loghook("PreResult", ctx) end
78
+
79
+
80
+ return LogFeature
@@ -0,0 +1,202 @@
1
+ -- ProjectName SDK test feature
2
+
3
+ local vs = require("utility.struct.struct")
4
+ local BaseFeature = require("feature.base_feature")
5
+
6
+ local TestFeature = {}
7
+ TestFeature.__index = TestFeature
8
+ setmetatable(TestFeature, { __index = BaseFeature })
9
+
10
+
11
+ function TestFeature.new()
12
+ local self = setmetatable(BaseFeature.new(), TestFeature)
13
+ self.version = "0.0.1"
14
+ self.name = "test"
15
+ self.active = true
16
+ self.client = nil
17
+ self.options = nil
18
+ return self
19
+ end
20
+
21
+
22
+ function TestFeature:init(ctx, options)
23
+ self.client = ctx.client
24
+ self.options = options
25
+
26
+ local entity = vs.getprop(options, "entity")
27
+ if type(entity) ~= "table" then
28
+ entity = {}
29
+ end
30
+
31
+ self.client.mode = "test"
32
+
33
+ -- Ensure entity ids are correct.
34
+ vs.walk(entity, function(key, val, parent, path)
35
+ if #path == 2 and type(val) == "table" and key ~= nil then
36
+ val["id"] = key
37
+ end
38
+ return val
39
+ end)
40
+
41
+ local test_self = self
42
+
43
+ local function test_fetcher(fctx, _fullurl, _fetchdef)
44
+ local function respond(status, data, extra)
45
+ local out = {
46
+ status = status,
47
+ statusText = "OK",
48
+ json = function() return data end,
49
+ body = "not-used",
50
+ }
51
+ if type(extra) == "table" then
52
+ for k, v in pairs(extra) do
53
+ out[k] = v
54
+ end
55
+ end
56
+ return out, nil
57
+ end
58
+
59
+ local op = fctx.op
60
+ local entmap = vs.getprop(entity, op.entity)
61
+ if type(entmap) ~= "table" then
62
+ entmap = {}
63
+ end
64
+
65
+ if op.name == "load" then
66
+ local args = test_self:build_args(fctx, op, fctx.reqmatch)
67
+ local found = vs.select(entmap, args)
68
+ local ent = vs.getelem(found, 0)
69
+ if ent == nil then
70
+ return respond(404, nil, { statusText = "Not found" })
71
+ end
72
+ vs.delprop(ent, "$KEY")
73
+ local out = vs.clone(ent)
74
+ return respond(200, out, nil)
75
+
76
+ elseif op.name == "list" then
77
+ local args = test_self:build_args(fctx, op, fctx.reqmatch)
78
+ local found = vs.select(entmap, args)
79
+ if found == nil then
80
+ return respond(404, nil, { statusText = "Not found" })
81
+ end
82
+ if type(found) == "table" then
83
+ for _, item in ipairs(found) do
84
+ vs.delprop(item, "$KEY")
85
+ end
86
+ end
87
+ local out = vs.clone(found)
88
+ return respond(200, out, nil)
89
+
90
+ elseif op.name == "update" then
91
+ local args = test_self:build_args(fctx, op, fctx.reqdata)
92
+ local found = vs.select(entmap, args)
93
+ local ent = vs.getelem(found, 0)
94
+ if ent == nil then
95
+ return respond(404, nil, { statusText = "Not found" })
96
+ end
97
+ if type(ent) == "table" then
98
+ local reqdata = fctx.reqdata
99
+ if reqdata ~= nil then
100
+ for k, v in pairs(reqdata) do
101
+ ent[k] = v
102
+ end
103
+ end
104
+ end
105
+ vs.delprop(ent, "$KEY")
106
+ local out = vs.clone(ent)
107
+ return respond(200, out, nil)
108
+
109
+ elseif op.name == "remove" then
110
+ local args = test_self:build_args(fctx, op, fctx.reqmatch)
111
+ local found = vs.select(entmap, args)
112
+ local ent = vs.getelem(found, 0)
113
+ if ent == nil then
114
+ return respond(404, nil, { statusText = "Not found" })
115
+ end
116
+ if type(ent) == "table" then
117
+ local id = vs.getprop(ent, "id")
118
+ vs.delprop(entmap, id)
119
+ end
120
+ return respond(200, nil, nil)
121
+
122
+ elseif op.name == "create" then
123
+ test_self:build_args(fctx, op, fctx.reqdata)
124
+ local id = fctx.utility.param(fctx, "id")
125
+ if id == nil then
126
+ id = string.format("%04x%04x%04x%04x",
127
+ math.random(0, 0xFFFF), math.random(0, 0xFFFF),
128
+ math.random(0, 0xFFFF), math.random(0, 0xFFFF))
129
+ end
130
+
131
+ local ent = vs.clone(fctx.reqdata)
132
+ if type(ent) == "table" then
133
+ ent["id"] = id
134
+ if type(id) == "string" then
135
+ entmap[id] = ent
136
+ end
137
+ vs.delprop(ent, "$KEY")
138
+ local out = vs.clone(ent)
139
+ return respond(200, out, nil)
140
+ end
141
+ return respond(200, ent, nil)
142
+ end
143
+
144
+ return respond(404, nil, { statusText = "Unknown operation" })
145
+ end
146
+
147
+ ctx.utility.fetcher = test_fetcher
148
+ end
149
+
150
+
151
+ function TestFeature:build_args(ctx, op, args)
152
+ local opname = op.name
153
+
154
+ -- Get last point from config.
155
+ local points = vs.getpath(ctx.config, "entity." .. ctx.entity:get_name() .. ".op." .. opname .. ".points")
156
+ local point = vs.getelem(points, -1)
157
+
158
+ -- Get required params.
159
+ local params_path = vs.getpath(point, "args.params")
160
+ local reqd_params = vs.select(params_path, { reqd = true })
161
+ local reqd = vs.transform(reqd_params, { "`$EACH`", "", "`$KEY.name`" })
162
+
163
+ local qand = {}
164
+ local q = { ["`$AND`"] = qand }
165
+
166
+ if args ~= nil then
167
+ local keys = vs.keysof(args)
168
+ if keys ~= nil then
169
+ for _, key in ipairs(keys) do
170
+ local is_id = (key == "id")
171
+ local selected = vs.select(reqd, key)
172
+ local is_reqd = not vs.isempty(selected)
173
+
174
+ if is_id or is_reqd then
175
+ local v = ctx.utility.param(ctx, key)
176
+ local ka = nil
177
+ if op.alias ~= nil then
178
+ ka = vs.getprop(op.alias, key)
179
+ end
180
+
181
+ local qor = { { [key] = v } }
182
+ if ka ~= nil and type(ka) == "string" then
183
+ table.insert(qor, { [ka] = v })
184
+ end
185
+
186
+ table.insert(qand, { ["`$OR`"] = qor })
187
+ end
188
+ end
189
+ end
190
+ end
191
+
192
+ q["`$AND`"] = qand
193
+
194
+ if ctx.ctrl.explain ~= nil then
195
+ ctx.ctrl.explain["test"] = { query = q }
196
+ end
197
+
198
+ return q
199
+ end
200
+
201
+
202
+ return TestFeature
@@ -0,0 +1,3 @@
1
+ # Features
2
+
3
+ This folder contains the feature source templates.
File without changes
File without changes
File without changes