@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
File without changes
@@ -0,0 +1,5 @@
1
+ # ProjectName SDK utility: clean
2
+
3
+
4
+ def clean_util(ctx, val):
5
+ return val
@@ -0,0 +1,14 @@
1
+ # ProjectName SDK utility: done
2
+
3
+
4
+ def done_util(ctx):
5
+ if ctx.ctrl.explain is not None:
6
+ ctx.ctrl.explain = ctx.utility.clean(ctx, ctx.ctrl.explain)
7
+ explain_result = ctx.ctrl.explain.get("result") if isinstance(ctx.ctrl.explain, dict) else None
8
+ if isinstance(explain_result, dict):
9
+ explain_result.pop("err", None)
10
+
11
+ if ctx.result is not None and ctx.result.ok:
12
+ return ctx.result.resdata, None
13
+
14
+ return ctx.utility.make_error(ctx, None)
@@ -0,0 +1,6 @@
1
+ # ProjectName SDK utility: feature_add
2
+
3
+
4
+ def feature_add_util(ctx, f):
5
+ client = ctx.client
6
+ client.features.append(f)
@@ -0,0 +1,15 @@
1
+ # ProjectName SDK utility: feature_hook
2
+
3
+
4
+ def feature_hook_util(ctx, name):
5
+ client = ctx.client
6
+ if client is None:
7
+ return
8
+ features = client.features
9
+ if features is None:
10
+ return
11
+
12
+ for f in features:
13
+ method = getattr(f, name, None)
14
+ if callable(method):
15
+ method(ctx)
@@ -0,0 +1,18 @@
1
+ # ProjectName SDK utility: feature_init
2
+
3
+ from utility.voxgig_struct import voxgig_struct as vs
4
+
5
+
6
+ def feature_init_util(ctx, f):
7
+ fname = f.get_name()
8
+ fopts = {}
9
+
10
+ if ctx.options is not None:
11
+ feature_opts = vs.getprop(ctx.options, "feature")
12
+ if isinstance(feature_opts, dict):
13
+ fo = vs.getprop(feature_opts, fname)
14
+ if isinstance(fo, dict):
15
+ fopts = fo
16
+
17
+ if fopts.get("active") is True:
18
+ f.init(ctx, fopts)
@@ -0,0 +1,95 @@
1
+ # ProjectName SDK utility: fetcher
2
+
3
+ from __future__ import annotations
4
+ import json
5
+ from utility.voxgig_struct import voxgig_struct as vs
6
+
7
+
8
+ def _default_http_fetch(fullurl, fetchdef):
9
+ import urllib.request
10
+ import urllib.error
11
+
12
+ method = fetchdef.get("method", "GET")
13
+ body_str = fetchdef.get("body")
14
+ headers = fetchdef.get("headers", {})
15
+
16
+ if not isinstance(body_str, str):
17
+ body_str = None
18
+
19
+ data = body_str.encode("utf-8") if body_str is not None else None
20
+
21
+ req = urllib.request.Request(fullurl, data=data, method=method)
22
+ for k, v in headers.items():
23
+ req.add_header(k, v)
24
+
25
+ try:
26
+ resp = urllib.request.urlopen(req)
27
+ body = resp.read().decode("utf-8")
28
+ resp_headers = {}
29
+ for k, v in resp.getheaders():
30
+ resp_headers[k.lower()] = v
31
+
32
+ json_body = None
33
+ if len(body) > 0:
34
+ try:
35
+ json_body = json.loads(body)
36
+ except Exception:
37
+ pass
38
+
39
+ status = resp.getcode()
40
+ status_text = "OK" if status < 400 else "Error"
41
+
42
+ return {
43
+ "status": status,
44
+ "statusText": status_text,
45
+ "headers": resp_headers,
46
+ "json": lambda: json_body,
47
+ "body": body,
48
+ }, None
49
+ except urllib.error.HTTPError as e:
50
+ body = e.read().decode("utf-8")
51
+ resp_headers = {}
52
+ for k, v in e.headers.items():
53
+ resp_headers[k.lower()] = v
54
+
55
+ json_body = None
56
+ if len(body) > 0:
57
+ try:
58
+ json_body = json.loads(body)
59
+ except Exception:
60
+ pass
61
+
62
+ status_text = "OK" if e.code < 400 else "Error"
63
+
64
+ return {
65
+ "status": e.code,
66
+ "statusText": status_text,
67
+ "headers": resp_headers,
68
+ "json": lambda: json_body,
69
+ "body": body,
70
+ }, None
71
+ except Exception as e:
72
+ return None, str(e)
73
+
74
+
75
+ def fetcher_util(ctx, fullurl, fetchdef):
76
+ if ctx.client.mode != "live":
77
+ return None, ctx.make_error("fetch_mode_block",
78
+ 'Request blocked by mode: "' + ctx.client.mode +
79
+ '" (URL was: "' + fullurl + '")')
80
+
81
+ options = ctx.client.options_map()
82
+ if vs.getpath(options, "feature.test.active") is True:
83
+ return None, ctx.make_error("fetch_test_block",
84
+ 'Request blocked as test feature is active'
85
+ ' (URL was: "' + fullurl + '")')
86
+
87
+ sys_fetch = vs.getpath(options, "system.fetch")
88
+
89
+ if sys_fetch is None:
90
+ return _default_http_fetch(fullurl, fetchdef)
91
+
92
+ if callable(sys_fetch):
93
+ return sys_fetch(fullurl, fetchdef)
94
+
95
+ return None, ctx.make_error("fetch_invalid", "system.fetch is not a valid function")
@@ -0,0 +1,7 @@
1
+ # ProjectName SDK utility: make_context
2
+
3
+ from core.context import ProjectNameContext
4
+
5
+
6
+ def make_context_util(ctxmap, basectx):
7
+ return ProjectNameContext(ctxmap, basectx)
@@ -0,0 +1,64 @@
1
+ # ProjectName SDK utility: make_error
2
+
3
+ from __future__ import annotations
4
+ from core.operation import ProjectNameOperation
5
+ from core.result import ProjectNameResult
6
+ from core.control import ProjectNameControl
7
+ from core.error import ProjectNameError
8
+
9
+
10
+ def make_error_util(ctx, err):
11
+ if ctx is None:
12
+ from core.context import ProjectNameContext
13
+ ctx = ProjectNameContext({}, None)
14
+
15
+ op = ctx.op
16
+ if op is None:
17
+ op = ProjectNameOperation({})
18
+ opname = op.name
19
+ if opname == "" or opname == "_":
20
+ opname = "unknown operation"
21
+
22
+ result = ctx.result
23
+ if result is None:
24
+ result = ProjectNameResult({})
25
+ result.ok = False
26
+
27
+ if err is None:
28
+ err = result.err
29
+ if err is None:
30
+ err = ctx.make_error("unknown", "unknown error")
31
+
32
+ errmsg = ""
33
+ if isinstance(err, ProjectNameError):
34
+ errmsg = err.msg
35
+ elif hasattr(err, "msg") and err.msg is not None:
36
+ errmsg = err.msg
37
+ elif isinstance(err, str):
38
+ errmsg = err
39
+ else:
40
+ errmsg = str(err)
41
+
42
+ msg = "ProjectNameSDK: " + opname + ": " + errmsg
43
+ msg = ctx.utility.clean(ctx, msg)
44
+
45
+ result.err = None
46
+
47
+ spec = ctx.spec
48
+
49
+ if ctx.ctrl.explain is not None:
50
+ ctx.ctrl.explain["err"] = {"message": msg}
51
+
52
+ sdk_err = ProjectNameError("", msg, ctx)
53
+ sdk_err.result = ctx.utility.clean(ctx, result)
54
+ sdk_err.spec = ctx.utility.clean(ctx, spec)
55
+
56
+ if isinstance(err, ProjectNameError):
57
+ sdk_err.code = err.code
58
+
59
+ ctx.ctrl.err = sdk_err
60
+
61
+ if ctx.ctrl.throw_err is False:
62
+ return result.resdata, None
63
+
64
+ return None, sdk_err
@@ -0,0 +1,37 @@
1
+ # ProjectName SDK utility: make_fetch_def
2
+
3
+ from __future__ import annotations
4
+ from utility.voxgig_struct import voxgig_struct as vs
5
+
6
+
7
+ def make_fetch_def_util(ctx):
8
+ spec = ctx.spec
9
+ if spec is None:
10
+ return None, ctx.make_error("fetchdef_no_spec",
11
+ "Expected context spec property to be defined.")
12
+
13
+ from core.result import ProjectNameResult
14
+ if ctx.result is None:
15
+ ctx.result = ProjectNameResult({})
16
+
17
+ spec.step = "prepare"
18
+
19
+ url, err = ctx.utility.make_url(ctx)
20
+ if err is not None:
21
+ return None, err
22
+
23
+ spec.url = url
24
+
25
+ fetchdef = {
26
+ "url": url,
27
+ "method": spec.method,
28
+ "headers": spec.headers,
29
+ }
30
+
31
+ if spec.body is not None:
32
+ if isinstance(spec.body, dict):
33
+ fetchdef["body"] = vs.jsonify(spec.body)
34
+ else:
35
+ fetchdef["body"] = spec.body
36
+
37
+ return fetchdef, None
@@ -0,0 +1,103 @@
1
+ # ProjectName SDK utility: make_options
2
+
3
+ from __future__ import annotations
4
+ from utility.voxgig_struct import voxgig_struct as vs
5
+
6
+
7
+ def make_options_util(ctx):
8
+ options = ctx.options or {}
9
+
10
+ # Merge custom utility overrides.
11
+ custom_utils = vs.getprop(options, "utility")
12
+ if isinstance(custom_utils, dict):
13
+ utility = ctx.utility
14
+ if utility is not None:
15
+ for key, val in custom_utils.items():
16
+ utility.custom[key] = val
17
+
18
+ opts = vs.clone(options)
19
+ if not isinstance(opts, dict):
20
+ opts = {}
21
+
22
+ config = ctx.config or {}
23
+ cfgopts = {}
24
+ co = config.get("options") if isinstance(config, dict) else None
25
+ if isinstance(co, dict):
26
+ cfgopts = co
27
+
28
+ optspec = {
29
+ "apikey": "",
30
+ "base": "http://localhost:8000",
31
+ "prefix": "",
32
+ "suffix": "",
33
+ "auth": {
34
+ "prefix": "",
35
+ },
36
+ "headers": {
37
+ "`$CHILD`": "`$STRING`",
38
+ },
39
+ "allow": {
40
+ "method": "GET,PUT,POST,PATCH,DELETE,OPTIONS",
41
+ "op": "create,update,load,list,remove,command,direct",
42
+ },
43
+ "entity": {
44
+ "`$CHILD`": {
45
+ "`$OPEN`": True,
46
+ "active": False,
47
+ "alias": {},
48
+ },
49
+ },
50
+ "feature": {
51
+ "`$CHILD`": {
52
+ "`$OPEN`": True,
53
+ "active": False,
54
+ },
55
+ },
56
+ "utility": {},
57
+ "system": {},
58
+ "test": {
59
+ "active": False,
60
+ "entity": {
61
+ "`$OPEN`": True,
62
+ },
63
+ },
64
+ "clean": {
65
+ "keys": "key,token,id",
66
+ },
67
+ }
68
+
69
+ # Preserve system.fetch before merge/validate.
70
+ sys_fetch = vs.getpath(opts, "system.fetch")
71
+
72
+ merged = vs.merge([{}, cfgopts, opts])
73
+ validated = vs.validate(merged, optspec)
74
+ if not isinstance(validated, dict):
75
+ validated = {}
76
+ opts = validated
77
+
78
+ # Restore system.fetch.
79
+ if sys_fetch is not None:
80
+ if isinstance(opts.get("system"), dict):
81
+ opts["system"]["fetch"] = sys_fetch
82
+ else:
83
+ opts["system"] = {"fetch": sys_fetch}
84
+
85
+ # Derived clean config.
86
+ clean_keys = "key,token,id"
87
+ ck = vs.getpath(opts, "clean.keys")
88
+ if isinstance(ck, str):
89
+ clean_keys = ck
90
+
91
+ parts = []
92
+ for part in clean_keys.split(","):
93
+ trimmed = part.strip()
94
+ if trimmed != "":
95
+ parts.append(vs.escre(trimmed))
96
+ keyre = "|".join(parts)
97
+
98
+ derived = {"clean": {}}
99
+ if keyre != "":
100
+ derived["clean"] = {"keyre": keyre}
101
+ opts["__derived__"] = derived
102
+
103
+ return opts
@@ -0,0 +1,74 @@
1
+ # ProjectName SDK utility: make_point
2
+
3
+ from __future__ import annotations
4
+ from utility.voxgig_struct import voxgig_struct as vs
5
+ from core.helpers import to_map
6
+
7
+
8
+ def make_point_util(ctx):
9
+ if ctx.out.get("point") is not None:
10
+ ctx.point = ctx.out["point"]
11
+ return ctx.point, None
12
+
13
+ op = ctx.op
14
+ options = ctx.options
15
+
16
+ allow_op = vs.getpath(options, "allow.op") or ""
17
+ if isinstance(allow_op, str) and op.name not in allow_op:
18
+ return None, ctx.make_error("point_op_allow",
19
+ 'Operation "' + op.name +
20
+ '" not allowed by SDK option allow.op value: "' + allow_op + '"')
21
+
22
+ if len(op.points) == 0:
23
+ return None, ctx.make_error("point_no_points",
24
+ 'Operation "' + op.name + '" has no endpoint definitions.')
25
+
26
+ if len(op.points) == 1:
27
+ ctx.point = op.points[0]
28
+ else:
29
+ if op.input == "data":
30
+ reqselector = ctx.reqdata
31
+ selector = ctx.data
32
+ else:
33
+ reqselector = ctx.reqmatch
34
+ selector = ctx.match
35
+
36
+ point = None
37
+ for i in range(len(op.points)):
38
+ point = op.points[i]
39
+ select_def = to_map(vs.getprop(point, "select"))
40
+ found = True
41
+
42
+ if selector is not None and select_def is not None:
43
+ exist = vs.getprop(select_def, "exist")
44
+ if isinstance(exist, list):
45
+ for ek in exist:
46
+ existkey = str(ek)
47
+ rv = vs.getprop(reqselector, existkey)
48
+ sv = vs.getprop(selector, existkey)
49
+ if rv is None and sv is None:
50
+ found = False
51
+ break
52
+
53
+ if found:
54
+ req_action = vs.getprop(reqselector, "$action")
55
+ select_action = vs.getprop(select_def, "$action")
56
+ if req_action != select_action:
57
+ found = False
58
+
59
+ if found:
60
+ break
61
+
62
+ if reqselector is not None:
63
+ req_action = vs.getprop(reqselector, "$action")
64
+ if req_action is not None and point is not None:
65
+ point_select = to_map(vs.getprop(point, "select"))
66
+ point_action = vs.getprop(point_select, "$action")
67
+ if req_action != point_action:
68
+ return None, ctx.make_error("point_action_invalid",
69
+ 'Operation "' + op.name +
70
+ '" action "' + vs.stringify(req_action) + '" is not valid.')
71
+
72
+ ctx.point = point
73
+
74
+ return ctx.point, None
@@ -0,0 +1,52 @@
1
+ # ProjectName SDK utility: make_request
2
+
3
+ from __future__ import annotations
4
+ from core.response import ProjectNameResponse
5
+ from core.result import ProjectNameResult
6
+
7
+
8
+ def make_request_util(ctx):
9
+ if ctx.out.get("request") is not None:
10
+ return ctx.out["request"], None
11
+
12
+ spec = ctx.spec
13
+ utility = ctx.utility
14
+
15
+ response = ProjectNameResponse({})
16
+ result = ProjectNameResult({})
17
+ ctx.result = result
18
+
19
+ if spec is None:
20
+ return None, ctx.make_error("request_no_spec",
21
+ "Expected context spec property to be defined.")
22
+
23
+ fetchdef, err = utility.make_fetch_def(ctx)
24
+ if err is not None:
25
+ response.err = err
26
+ ctx.response = response
27
+ spec.step = "postrequest"
28
+ return response, None
29
+
30
+ if ctx.ctrl.explain is not None:
31
+ ctx.ctrl.explain["fetchdef"] = fetchdef
32
+
33
+ spec.step = "prerequest"
34
+
35
+ url = fetchdef.get("url", "")
36
+ fetched, fetch_err = utility.fetcher(ctx, url, fetchdef)
37
+
38
+ if fetch_err is not None:
39
+ response.err = fetch_err
40
+ elif fetched is None:
41
+ response = ProjectNameResponse({
42
+ "err": ctx.make_error("request_no_response", "response: undefined"),
43
+ })
44
+ elif isinstance(fetched, dict):
45
+ response = ProjectNameResponse(fetched)
46
+ else:
47
+ response.err = ctx.make_error("request_invalid_response", "response: invalid type")
48
+
49
+ spec.step = "postrequest"
50
+ ctx.response = response
51
+
52
+ return response, None
@@ -0,0 +1,36 @@
1
+ # ProjectName SDK utility: make_response
2
+
3
+
4
+ def make_response_util(ctx):
5
+ if ctx.out.get("response") is not None:
6
+ return ctx.out["response"], None
7
+
8
+ utility = ctx.utility
9
+ spec = ctx.spec
10
+ result = ctx.result
11
+ response = ctx.response
12
+
13
+ if spec is None:
14
+ return None, ctx.make_error("response_no_spec",
15
+ "Expected context spec property to be defined.")
16
+ if response is None:
17
+ return None, ctx.make_error("response_no_response",
18
+ "Expected context response property to be defined.")
19
+ if result is None:
20
+ return None, ctx.make_error("response_no_result",
21
+ "Expected context result property to be defined.")
22
+
23
+ spec.step = "response"
24
+
25
+ utility.result_basic(ctx)
26
+ utility.result_headers(ctx)
27
+ utility.result_body(ctx)
28
+ utility.transform_response(ctx)
29
+
30
+ if result.err is None:
31
+ result.ok = True
32
+
33
+ if ctx.ctrl.explain is not None:
34
+ ctx.ctrl.explain["result"] = result
35
+
36
+ return response, None
@@ -0,0 +1,41 @@
1
+ # ProjectName SDK utility: make_result
2
+
3
+
4
+ def make_result_util(ctx):
5
+ if ctx.out.get("result") is not None:
6
+ return ctx.out["result"], None
7
+
8
+ utility = ctx.utility
9
+ op = ctx.op
10
+ entity = ctx.entity
11
+ spec = ctx.spec
12
+ result = ctx.result
13
+
14
+ if spec is None:
15
+ return None, ctx.make_error("result_no_spec",
16
+ "Expected context spec property to be defined.")
17
+ if result is None:
18
+ return None, ctx.make_error("result_no_result",
19
+ "Expected context result property to be defined.")
20
+
21
+ spec.step = "result"
22
+
23
+ utility.transform_response(ctx)
24
+
25
+ if op.name == "list":
26
+ resdata = result.resdata
27
+ result.resdata = []
28
+
29
+ if resdata is not None and isinstance(resdata, list) and entity is not None:
30
+ entities = []
31
+ for entry in resdata:
32
+ ent = entity.make()
33
+ if isinstance(entry, dict):
34
+ ent.data_set(entry)
35
+ entities.append(ent)
36
+ result.resdata = entities
37
+
38
+ if ctx.ctrl.explain is not None:
39
+ ctx.ctrl.explain["result"] = result
40
+
41
+ return result, None
@@ -0,0 +1,68 @@
1
+ # ProjectName SDK utility: make_spec
2
+
3
+ from __future__ import annotations
4
+ from utility.voxgig_struct import voxgig_struct as vs
5
+ from core.spec import ProjectNameSpec
6
+
7
+
8
+ def make_spec_util(ctx):
9
+ if ctx.out.get("spec") is not None:
10
+ ctx.spec = ctx.out["spec"]
11
+ return ctx.spec, None
12
+
13
+ point = ctx.point
14
+ options = ctx.options
15
+ utility = ctx.utility
16
+
17
+ base = ""
18
+ b = vs.getprop(options, "base")
19
+ if isinstance(b, str):
20
+ base = b
21
+
22
+ prefix = ""
23
+ p = vs.getprop(options, "prefix")
24
+ if isinstance(p, str):
25
+ prefix = p
26
+
27
+ suffix = ""
28
+ s = vs.getprop(options, "suffix")
29
+ if isinstance(s, str):
30
+ suffix = s
31
+
32
+ parts = []
33
+ if point is not None:
34
+ pt = vs.getprop(point, "parts")
35
+ if isinstance(pt, list):
36
+ parts = pt
37
+
38
+ ctx.spec = ProjectNameSpec({
39
+ "base": base,
40
+ "prefix": prefix,
41
+ "parts": parts,
42
+ "suffix": suffix,
43
+ "step": "start",
44
+ })
45
+
46
+ ctx.spec.method = utility.prepare_method(ctx)
47
+
48
+ allow_method = vs.getpath(options, "allow.method") or ""
49
+ if isinstance(allow_method, str) and ctx.spec.method not in allow_method:
50
+ return None, ctx.make_error("spec_method_allow",
51
+ 'Method "' + ctx.spec.method +
52
+ '" not allowed by SDK option allow.method value: "' + allow_method + '"')
53
+
54
+ ctx.spec.params = utility.prepare_params(ctx)
55
+ ctx.spec.query = utility.prepare_query(ctx)
56
+ ctx.spec.headers = utility.prepare_headers(ctx)
57
+ ctx.spec.body = utility.prepare_body(ctx)
58
+ ctx.spec.path = utility.prepare_path(ctx)
59
+
60
+ if ctx.ctrl.explain is not None:
61
+ ctx.ctrl.explain["spec"] = ctx.spec
62
+
63
+ spec, err = utility.prepare_auth(ctx)
64
+ if err is not None:
65
+ return None, err
66
+
67
+ ctx.spec = spec
68
+ return spec, None
@@ -0,0 +1,34 @@
1
+ # ProjectName SDK utility: make_url
2
+
3
+ from __future__ import annotations
4
+ from utility.voxgig_struct import voxgig_struct as vs
5
+
6
+
7
+ def make_url_util(ctx):
8
+ spec = ctx.spec
9
+ result = ctx.result
10
+
11
+ if spec is None:
12
+ return "", ctx.make_error("url_no_spec",
13
+ "Expected context spec property to be defined.")
14
+ if result is None:
15
+ return "", ctx.make_error("url_no_result",
16
+ "Expected context result property to be defined.")
17
+
18
+ url = vs.join([spec.base, spec.prefix, spec.path, spec.suffix], "/", True)
19
+ resmatch = {}
20
+
21
+ param_items = vs.items(spec.params)
22
+ if param_items is not None:
23
+ for item in param_items:
24
+ key = item[0]
25
+ val = item[1]
26
+ if val is not None and isinstance(key, str):
27
+ val_str = val if isinstance(val, str) else str(val)
28
+ encoded = vs.escurl(val_str)
29
+ url = url.replace("{" + key + "}", encoded)
30
+ resmatch[key] = val
31
+
32
+ result.resmatch = resmatch
33
+
34
+ return url, None