sonamu 0.7.21 → 0.7.23

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 (200) hide show
  1. package/dist/ai/agents/agent.d.ts +6 -1
  2. package/dist/ai/agents/agent.d.ts.map +1 -1
  3. package/dist/ai/agents/agent.js +20 -5
  4. package/dist/api/base-frame.d.ts +4 -0
  5. package/dist/api/base-frame.d.ts.map +1 -1
  6. package/dist/api/base-frame.js +9 -1
  7. package/dist/api/caster.d.ts.map +1 -1
  8. package/dist/api/caster.js +2 -2
  9. package/dist/api/config.d.ts +35 -3
  10. package/dist/api/config.d.ts.map +1 -1
  11. package/dist/api/config.js +1 -1
  12. package/dist/api/decorators.d.ts +4 -4
  13. package/dist/api/decorators.d.ts.map +1 -1
  14. package/dist/api/decorators.js +80 -18
  15. package/dist/api/index.d.ts +1 -0
  16. package/dist/api/index.d.ts.map +1 -1
  17. package/dist/api/index.js +2 -1
  18. package/dist/api/secret.d.ts +7 -0
  19. package/dist/api/secret.d.ts.map +1 -0
  20. package/dist/api/secret.js +17 -0
  21. package/dist/api/sonamu.d.ts +17 -8
  22. package/dist/api/sonamu.d.ts.map +1 -1
  23. package/dist/api/sonamu.js +265 -47
  24. package/dist/cache/cache-manager.d.ts +11 -0
  25. package/dist/cache/cache-manager.d.ts.map +1 -0
  26. package/dist/cache/cache-manager.js +22 -0
  27. package/dist/cache/decorator.d.ts +31 -0
  28. package/dist/cache/decorator.d.ts.map +1 -0
  29. package/dist/cache/decorator.js +86 -0
  30. package/dist/cache/drivers.d.ts +33 -0
  31. package/dist/cache/drivers.d.ts.map +1 -0
  32. package/dist/cache/drivers.js +36 -0
  33. package/dist/cache/index.d.ts +4 -0
  34. package/dist/cache/index.d.ts.map +1 -0
  35. package/dist/cache/index.js +8 -0
  36. package/dist/cache/types.d.ts +28 -0
  37. package/dist/cache/types.d.ts.map +1 -0
  38. package/dist/cache/types.js +6 -0
  39. package/dist/database/base-model.d.ts +4 -2
  40. package/dist/database/base-model.d.ts.map +1 -1
  41. package/dist/database/base-model.js +9 -4
  42. package/dist/database/code-generator.d.ts +3 -1
  43. package/dist/database/code-generator.d.ts.map +1 -1
  44. package/dist/database/code-generator.js +3 -2
  45. package/dist/database/db.d.ts +1 -1
  46. package/dist/database/db.d.ts.map +1 -1
  47. package/dist/database/db.js +5 -5
  48. package/dist/database/knex.d.ts +3 -0
  49. package/dist/database/knex.d.ts.map +1 -0
  50. package/dist/database/knex.js +29 -0
  51. package/dist/database/puri.types.d.ts.map +1 -1
  52. package/dist/database/puri.types.js +1 -1
  53. package/dist/database/upsert-builder.d.ts.map +1 -1
  54. package/dist/database/upsert-builder.js +49 -5
  55. package/dist/index.d.ts +4 -0
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +4 -1
  58. package/dist/logger/category.d.ts +4 -0
  59. package/dist/logger/category.d.ts.map +1 -0
  60. package/dist/logger/category.js +34 -0
  61. package/dist/logger/configure.d.ts +9 -0
  62. package/dist/logger/configure.d.ts.map +1 -0
  63. package/dist/logger/configure.js +115 -0
  64. package/dist/migration/code-generation.d.ts +5 -1
  65. package/dist/migration/code-generation.d.ts.map +1 -1
  66. package/dist/migration/code-generation.js +13 -7
  67. package/dist/migration/migrator.d.ts +1 -1
  68. package/dist/migration/migrator.d.ts.map +1 -1
  69. package/dist/migration/migrator.js +7 -7
  70. package/dist/migration/postgresql-schema-reader.d.ts.map +1 -1
  71. package/dist/migration/postgresql-schema-reader.js +5 -3
  72. package/dist/naite/naite.d.ts +0 -4
  73. package/dist/naite/naite.d.ts.map +1 -1
  74. package/dist/naite/naite.js +11 -19
  75. package/dist/ssr/index.d.ts +4 -0
  76. package/dist/ssr/index.d.ts.map +1 -0
  77. package/dist/ssr/index.js +4 -0
  78. package/dist/ssr/registry.d.ts +10 -0
  79. package/dist/ssr/registry.d.ts.map +1 -0
  80. package/dist/ssr/registry.js +43 -0
  81. package/dist/ssr/renderer.d.ts +6 -0
  82. package/dist/ssr/renderer.d.ts.map +1 -0
  83. package/dist/ssr/renderer.js +70 -0
  84. package/dist/ssr/types.d.ts +19 -0
  85. package/dist/ssr/types.d.ts.map +1 -0
  86. package/dist/ssr/types.js +4 -0
  87. package/dist/syncer/syncer.d.ts +1 -0
  88. package/dist/syncer/syncer.d.ts.map +1 -1
  89. package/dist/syncer/syncer.js +58 -1
  90. package/dist/tasks/decorator.d.ts +1 -0
  91. package/dist/tasks/decorator.d.ts.map +1 -1
  92. package/dist/tasks/decorator.js +9 -7
  93. package/dist/tasks/step-wrapper.d.ts +5 -0
  94. package/dist/tasks/step-wrapper.d.ts.map +1 -1
  95. package/dist/tasks/step-wrapper.js +11 -6
  96. package/dist/tasks/workflow-manager.d.ts +2 -0
  97. package/dist/tasks/workflow-manager.d.ts.map +1 -1
  98. package/dist/tasks/workflow-manager.js +5 -2
  99. package/dist/template/implementations/entry-server.template.d.ts +17 -0
  100. package/dist/template/implementations/entry-server.template.d.ts.map +1 -0
  101. package/dist/template/implementations/entry-server.template.js +78 -0
  102. package/dist/template/implementations/model.template.d.ts.map +1 -1
  103. package/dist/template/implementations/model.template.js +5 -3
  104. package/dist/template/implementations/queries.template.d.ts +17 -0
  105. package/dist/template/implementations/queries.template.d.ts.map +1 -0
  106. package/dist/template/implementations/queries.template.js +83 -0
  107. package/dist/template/implementations/view_enums_select.template.d.ts.map +1 -1
  108. package/dist/template/implementations/view_enums_select.template.js +34 -20
  109. package/dist/template/implementations/view_form.template.d.ts +2 -1
  110. package/dist/template/implementations/view_form.template.d.ts.map +1 -1
  111. package/dist/template/implementations/view_form.template.js +301 -129
  112. package/dist/template/implementations/view_id_async_select.template.d.ts.map +1 -1
  113. package/dist/template/implementations/view_id_async_select.template.js +136 -57
  114. package/dist/template/implementations/view_list.template.d.ts +2 -0
  115. package/dist/template/implementations/view_list.template.d.ts.map +1 -1
  116. package/dist/template/implementations/view_list.template.js +392 -227
  117. package/dist/template/implementations/view_search_input.template.d.ts.map +1 -1
  118. package/dist/template/implementations/view_search_input.template.js +46 -30
  119. package/dist/template/zod-converter.d.ts.map +1 -1
  120. package/dist/template/zod-converter.js +2 -2
  121. package/dist/testing/bootstrap.d.ts +28 -0
  122. package/dist/testing/bootstrap.d.ts.map +1 -0
  123. package/dist/testing/bootstrap.js +120 -0
  124. package/dist/testing/fixture-loader.d.ts +21 -0
  125. package/dist/testing/fixture-loader.d.ts.map +1 -0
  126. package/dist/testing/fixture-loader.js +28 -0
  127. package/dist/testing/fixture-manager.d.ts +1 -1
  128. package/dist/testing/fixture-manager.d.ts.map +1 -1
  129. package/dist/testing/fixture-manager.js +7 -7
  130. package/dist/testing/index.d.ts +4 -0
  131. package/dist/testing/index.d.ts.map +1 -0
  132. package/dist/testing/index.js +5 -0
  133. package/dist/testing/naite-vitest-reporter.d.ts +12 -0
  134. package/dist/testing/naite-vitest-reporter.d.ts.map +1 -0
  135. package/dist/testing/naite-vitest-reporter.js +17 -0
  136. package/dist/types/types.d.ts +5 -6
  137. package/dist/types/types.d.ts.map +1 -1
  138. package/dist/types/types.js +7 -8
  139. package/dist/ui/ai-client.d.ts +3 -1
  140. package/dist/ui/ai-client.d.ts.map +1 -1
  141. package/dist/ui/ai-client.js +27 -8
  142. package/dist/ui-web/assets/index-CTYv3qL6.js +92 -0
  143. package/dist/ui-web/index.html +1 -1
  144. package/package.json +43 -20
  145. package/src/ai/agents/agent.ts +38 -19
  146. package/src/api/base-frame.ts +8 -0
  147. package/src/api/caster.ts +6 -1
  148. package/src/api/config.ts +38 -4
  149. package/src/api/decorators.ts +106 -20
  150. package/src/api/index.ts +1 -0
  151. package/src/api/secret.ts +23 -0
  152. package/src/api/sonamu.ts +334 -61
  153. package/src/cache/cache-manager.ts +23 -0
  154. package/src/cache/decorator.ts +116 -0
  155. package/src/cache/drivers.ts +42 -0
  156. package/src/cache/index.ts +16 -0
  157. package/src/cache/types.ts +32 -0
  158. package/src/database/base-model.ts +7 -3
  159. package/src/database/code-generator.ts +3 -1
  160. package/src/database/db.ts +5 -5
  161. package/src/database/knex.ts +34 -0
  162. package/src/database/puri.types.ts +2 -3
  163. package/src/database/upsert-builder.ts +58 -4
  164. package/src/index.ts +4 -0
  165. package/src/logger/category.ts +42 -0
  166. package/src/logger/configure.ts +132 -0
  167. package/src/migration/code-generation.ts +19 -6
  168. package/src/migration/migrator.ts +7 -6
  169. package/src/migration/postgresql-schema-reader.ts +7 -2
  170. package/src/naite/naite.ts +10 -18
  171. package/src/shared/web.shared.ts.txt +1 -1
  172. package/src/ssr/index.ts +13 -0
  173. package/src/ssr/registry.ts +52 -0
  174. package/src/ssr/renderer.ts +105 -0
  175. package/src/ssr/types.ts +20 -0
  176. package/src/syncer/syncer.ts +59 -0
  177. package/src/tasks/decorator.ts +20 -4
  178. package/src/tasks/step-wrapper.ts +14 -5
  179. package/src/tasks/workflow-manager.ts +9 -1
  180. package/src/template/implementations/entry-server.template.ts +81 -0
  181. package/src/template/implementations/model.template.ts +4 -2
  182. package/src/template/implementations/queries.template.ts +111 -0
  183. package/src/template/implementations/view_enums_select.template.ts +33 -19
  184. package/src/template/implementations/view_form.template.ts +324 -145
  185. package/src/template/implementations/view_id_async_select.template.ts +145 -56
  186. package/src/template/implementations/view_list.template.ts +446 -236
  187. package/src/template/implementations/view_search_input.template.ts +45 -29
  188. package/src/template/zod-converter.ts +4 -1
  189. package/src/testing/bootstrap.ts +176 -0
  190. package/src/testing/fixture-loader.ts +28 -0
  191. package/src/testing/fixture-manager.ts +7 -6
  192. package/src/testing/index.ts +3 -0
  193. package/src/testing/naite-vitest-reporter.ts +18 -0
  194. package/src/types/types.ts +4 -5
  195. package/src/ui/ai-client.ts +82 -50
  196. package/dist/template/implementations/view_enums_dropdown.template.d.ts +0 -17
  197. package/dist/template/implementations/view_enums_dropdown.template.d.ts.map +0 -1
  198. package/dist/template/implementations/view_enums_dropdown.template.js +0 -50
  199. package/dist/ui-web/assets/index-B87IyofX.js +0 -92
  200. package/src/template/implementations/view_enums_dropdown.template.ts +0 -53
@@ -1,12 +1,10 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import inflection from "inflection";
3
- // 워크플로우 정의를 위한 데코레이터,
4
- // 이것들은 syncer에서 한번에 load한 다음, WorkflowManager에서 synchronize를 통해 등록됨.
5
- export function workflow(options) {
6
- return (fn)=>{
3
+ export function workflow(options, fn) {
4
+ const decorated = (fn)=>{
7
5
  const id = randomUUID();
8
6
  const workflowName = options.name ?? inflection.underscore(fn.name);
9
- const decorated = {
7
+ const metadata = {
10
8
  type: "workflow",
11
9
  id,
12
10
  name: workflowName,
@@ -21,8 +19,12 @@ export function workflow(options) {
21
19
  }),
22
20
  fn: fn
23
21
  };
24
- return decorated;
22
+ return metadata;
25
23
  };
24
+ if (!fn) {
25
+ return decorated;
26
+ }
27
+ return decorated(fn);
26
28
  }
27
29
 
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YXNrcy9kZWNvcmF0b3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmFuZG9tVVVJRCB9IGZyb20gXCJub2RlOmNyeXB0b1wiO1xuaW1wb3J0IHR5cGUge1xuICBTY2hlbWFJbnB1dCxcbiAgU2NoZW1hT3V0cHV0LFxuICBTdGFuZGFyZFNjaGVtYVYxLFxuICBXb3JrZmxvd1NwZWMsXG59IGZyb20gXCJAc29uYW11LWtpdC90YXNrcy9pbnRlcm5hbFwiO1xuaW1wb3J0IGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIjtcbmltcG9ydCB0eXBlIHsgRXhlY3V0YWJsZSB9IGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBXb3JrZmxvd0Z1bmN0aW9uIH0gZnJvbSBcIi4vd29ya2Zsb3ctbWFuYWdlclwiO1xuXG4vLyDsm4ztgaztlIzroZzsmrDsnZgg66mU7YOA642w7J207YSwIOqwneyytFxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd01ldGFkYXRhIHtcbiAgdHlwZTogXCJ3b3JrZmxvd1wiO1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHZlcnNpb246IHN0cmluZyB8IG51bGw7XG4gIHNjaGVtYTogU3RhbmRhcmRTY2hlbWFWMTx1bmtub3duLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgc2NoZWR1bGVzOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGV4cHJlc3Npb246IHN0cmluZztcbiAgICBpbnB1dDogRXhlY3V0YWJsZTxTY2hlbWFJbnB1dDx1bmtub3duLCB1bmtub3duPiB8IHVuZGVmaW5lZD47XG4gIH1bXTtcbiAgZm46IFdvcmtmbG93RnVuY3Rpb248dW5rbm93biwgdW5rbm93bj47XG59XG5cbi8vIOybjO2BrO2UjOuhnOyasCDsoJXsnZgg6rO87KCV7JeQ7ISc7J2YIOyYteyFmFxuZXhwb3J0IHR5cGUgRGVmaW5lV29ya2Zsb3dPcHRpb25zPFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUU2NoZW1hIGV4dGVuZHMgU3RhbmRhcmRTY2hlbWFWMSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbj4gPSBPbWl0PFxuICBXb3JrZmxvd1NwZWM8U2NoZW1hT3V0cHV0PFRTY2hlbWEsIElucHV0PiwgT3V0cHV0LCBTY2hlbWFJbnB1dDxUU2NoZW1hLCBJbnB1dD4+LFxuICBcIm5hbWVcIlxuPiAmIHtcbiAgbmFtZT86IHN0cmluZztcbiAgc2NoZWR1bGVzPzoge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgZXhwcmVzc2lvbjogc3RyaW5nO1xuICAgIGlucHV0PzogRXhlY3V0YWJsZTxTY2hlbWFJbnB1dDxUU2NoZW1hLCBJbnB1dD4gfCB1bmRlZmluZWQ+O1xuICB9W107XG59O1xuXG4vLyDsm4ztgaztlIzroZzsmrAg7KCV7J2Y66W8IOychO2VnCDrjbDsvZTroIjsnbTthLAsXG4vLyDsnbTqsoPrk6TsnYAgc3luY2Vy7JeQ7IScIO2VnOuyiOyXkCBsb2Fk7ZWcIOuLpOydjCwgV29ya2Zsb3dNYW5hZ2Vy7JeQ7IScIHN5bmNocm9uaXpl66W8IO2Gte2VtCDrk7HroZ3rkKguXG5leHBvcnQgZnVuY3Rpb24gd29ya2Zsb3c8SW5wdXQsIE91dHB1dCwgVFNjaGVtYSBleHRlbmRzIFN0YW5kYXJkU2NoZW1hVjEgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+KFxuICBvcHRpb25zOiBEZWZpbmVXb3JrZmxvd09wdGlvbnM8SW5wdXQsIE91dHB1dCwgVFNjaGVtYT4sXG4pIHtcbiAgcmV0dXJuIChmbjogV29ya2Zsb3dGdW5jdGlvbjxTY2hlbWFPdXRwdXQ8VFNjaGVtYSwgSW5wdXQ+LCBPdXRwdXQ+KSA9PiB7XG4gICAgY29uc3QgaWQgPSByYW5kb21VVUlEKCk7XG4gICAgY29uc3Qgd29ya2Zsb3dOYW1lID0gb3B0aW9ucy5uYW1lID8/IGluZmxlY3Rpb24udW5kZXJzY29yZShmbi5uYW1lKTtcblxuICAgIGNvbnN0IGRlY29yYXRlZDogV29ya2Zsb3dNZXRhZGF0YSA9IHtcbiAgICAgIHR5cGU6IFwid29ya2Zsb3dcIiBhcyBjb25zdCxcbiAgICAgIGlkLFxuICAgICAgbmFtZTogd29ya2Zsb3dOYW1lLFxuICAgICAgc2NoZW1hOiBvcHRpb25zLnNjaGVtYSxcbiAgICAgIHZlcnNpb246IG9wdGlvbnMudmVyc2lvbiA/PyBudWxsLFxuICAgICAgc2NoZWR1bGVzOiAob3B0aW9ucy5zY2hlZHVsZXMgPz8gW10pLm1hcCgoc2NoZWR1bGUpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBuYW1lOiBzY2hlZHVsZS5uYW1lID8/IGAke3dvcmtmbG93TmFtZX1bJHtzY2hlZHVsZS5leHByZXNzaW9ufV1gLFxuICAgICAgICAgIGV4cHJlc3Npb246IHNjaGVkdWxlLmV4cHJlc3Npb24sXG4gICAgICAgICAgaW5wdXQ6IHNjaGVkdWxlLmlucHV0LFxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgICBmbjogZm4gYXMgV29ya2Zsb3dGdW5jdGlvbjx1bmtub3duLCB1bmtub3duPixcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRlY29yYXRlZDtcbiAgfTtcbn1cbiJdLCJuYW1lcyI6WyJyYW5kb21VVUlEIiwiaW5mbGVjdGlvbiIsIndvcmtmbG93Iiwib3B0aW9ucyIsImZuIiwiaWQiLCJ3b3JrZmxvd05hbWUiLCJuYW1lIiwidW5kZXJzY29yZSIsImRlY29yYXRlZCIsInR5cGUiLCJzY2hlbWEiLCJ2ZXJzaW9uIiwic2NoZWR1bGVzIiwibWFwIiwic2NoZWR1bGUiLCJleHByZXNzaW9uIiwiaW5wdXQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFVBQVUsUUFBUSxjQUFjO0FBT3pDLE9BQU9DLGdCQUFnQixhQUFhO0FBb0NwQyxzQkFBc0I7QUFDdEIscUVBQXFFO0FBQ3JFLE9BQU8sU0FBU0MsU0FDZEMsT0FBc0Q7SUFFdEQsT0FBTyxDQUFDQztRQUNOLE1BQU1DLEtBQUtMO1FBQ1gsTUFBTU0sZUFBZUgsUUFBUUksSUFBSSxJQUFJTixXQUFXTyxVQUFVLENBQUNKLEdBQUdHLElBQUk7UUFFbEUsTUFBTUUsWUFBOEI7WUFDbENDLE1BQU07WUFDTkw7WUFDQUUsTUFBTUQ7WUFDTkssUUFBUVIsUUFBUVEsTUFBTTtZQUN0QkMsU0FBU1QsUUFBUVMsT0FBTyxJQUFJO1lBQzVCQyxXQUFXLEFBQUNWLENBQUFBLFFBQVFVLFNBQVMsSUFBSSxFQUFFLEFBQUQsRUFBR0MsR0FBRyxDQUFDLENBQUNDO2dCQUN4QyxPQUFPO29CQUNMUixNQUFNUSxTQUFTUixJQUFJLElBQUksR0FBR0QsYUFBYSxDQUFDLEVBQUVTLFNBQVNDLFVBQVUsQ0FBQyxDQUFDLENBQUM7b0JBQ2hFQSxZQUFZRCxTQUFTQyxVQUFVO29CQUMvQkMsT0FBT0YsU0FBU0UsS0FBSztnQkFDdkI7WUFDRjtZQUNBYixJQUFJQTtRQUNOO1FBRUEsT0FBT0s7SUFDVDtBQUNGIn0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YXNrcy9kZWNvcmF0b3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmFuZG9tVVVJRCB9IGZyb20gXCJub2RlOmNyeXB0b1wiO1xuaW1wb3J0IHR5cGUge1xuICBTY2hlbWFJbnB1dCxcbiAgU2NoZW1hT3V0cHV0LFxuICBTdGFuZGFyZFNjaGVtYVYxLFxuICBXb3JrZmxvd1NwZWMsXG59IGZyb20gXCJAc29uYW11LWtpdC90YXNrcy9pbnRlcm5hbFwiO1xuaW1wb3J0IGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIjtcbmltcG9ydCB0eXBlIHsgRXhlY3V0YWJsZSB9IGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBXb3JrZmxvd0Z1bmN0aW9uIH0gZnJvbSBcIi4vd29ya2Zsb3ctbWFuYWdlclwiO1xuXG4vLyDsm4ztgaztlIzroZzsmrDsnZgg66mU7YOA642w7J207YSwIOqwneyytFxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd01ldGFkYXRhIHtcbiAgdHlwZTogXCJ3b3JrZmxvd1wiO1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHZlcnNpb246IHN0cmluZyB8IG51bGw7XG4gIHNjaGVtYTogU3RhbmRhcmRTY2hlbWFWMTx1bmtub3duLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgc2NoZWR1bGVzOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGV4cHJlc3Npb246IHN0cmluZztcbiAgICBpbnB1dDogRXhlY3V0YWJsZTxTY2hlbWFJbnB1dDx1bmtub3duLCB1bmtub3duPiB8IHVuZGVmaW5lZD47XG4gIH1bXTtcbiAgZm46IFdvcmtmbG93RnVuY3Rpb248dW5rbm93biwgdW5rbm93bj47XG59XG5cbi8vIOybjO2BrO2UjOuhnOyasCDsoJXsnZgg6rO87KCV7JeQ7ISc7J2YIOyYteyFmFxuZXhwb3J0IHR5cGUgRGVmaW5lV29ya2Zsb3dPcHRpb25zPFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUU2NoZW1hIGV4dGVuZHMgU3RhbmRhcmRTY2hlbWFWMSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbj4gPSBPbWl0PFxuICBXb3JrZmxvd1NwZWM8U2NoZW1hT3V0cHV0PFRTY2hlbWEsIElucHV0PiwgT3V0cHV0LCBTY2hlbWFJbnB1dDxUU2NoZW1hLCBJbnB1dD4+LFxuICBcIm5hbWVcIlxuPiAmIHtcbiAgbmFtZT86IHN0cmluZztcbiAgc2NoZWR1bGVzPzoge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgZXhwcmVzc2lvbjogc3RyaW5nO1xuICAgIGlucHV0PzogRXhlY3V0YWJsZTxTY2hlbWFJbnB1dDxUU2NoZW1hLCBJbnB1dD4gfCB1bmRlZmluZWQ+O1xuICB9W107XG59O1xuXG4vLyDsm4ztgaztlIzroZzsmrAg7KCV7J2Y66W8IOychO2VnCDrjbDsvZTroIjsnbTthLAsXG4vLyDsnbTqsoPrk6TsnYAgc3luY2Vy7JeQ7IScIO2VnOuyiOyXkCBsb2Fk7ZWcIOuLpOydjCwgV29ya2Zsb3dNYW5hZ2Vy7JeQ7IScIHN5bmNocm9uaXpl66W8IO2Gte2VtCDrk7HroZ3rkKguXG5leHBvcnQgZnVuY3Rpb24gd29ya2Zsb3c8SW5wdXQsIE91dHB1dCwgVFNjaGVtYSBleHRlbmRzIFN0YW5kYXJkU2NoZW1hVjEgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+KFxuICBvcHRpb25zOiBEZWZpbmVXb3JrZmxvd09wdGlvbnM8SW5wdXQsIE91dHB1dCwgVFNjaGVtYT4sXG4pOiAoZm46IFdvcmtmbG93RnVuY3Rpb248U2NoZW1hT3V0cHV0PFRTY2hlbWEsIElucHV0PiwgT3V0cHV0PikgPT4gV29ya2Zsb3dNZXRhZGF0YTtcbmV4cG9ydCBmdW5jdGlvbiB3b3JrZmxvdzxJbnB1dCwgT3V0cHV0LCBUU2NoZW1hIGV4dGVuZHMgU3RhbmRhcmRTY2hlbWFWMSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZD4oXG4gIG9wdGlvbnM6IERlZmluZVdvcmtmbG93T3B0aW9uczxJbnB1dCwgT3V0cHV0LCBUU2NoZW1hPixcbiAgZm46IFdvcmtmbG93RnVuY3Rpb248U2NoZW1hT3V0cHV0PFRTY2hlbWEsIElucHV0PiwgT3V0cHV0Pixcbik6IFdvcmtmbG93TWV0YWRhdGE7XG5leHBvcnQgZnVuY3Rpb24gd29ya2Zsb3c8SW5wdXQsIE91dHB1dCwgVFNjaGVtYSBleHRlbmRzIFN0YW5kYXJkU2NoZW1hVjEgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+KFxuICBvcHRpb25zOiBEZWZpbmVXb3JrZmxvd09wdGlvbnM8SW5wdXQsIE91dHB1dCwgVFNjaGVtYT4sXG4gIGZuPzogV29ya2Zsb3dGdW5jdGlvbjxTY2hlbWFPdXRwdXQ8VFNjaGVtYSwgSW5wdXQ+LCBPdXRwdXQ+LFxuKTpcbiAgfCBXb3JrZmxvd01ldGFkYXRhXG4gIHwgKChmbjogV29ya2Zsb3dGdW5jdGlvbjxTY2hlbWFPdXRwdXQ8VFNjaGVtYSwgSW5wdXQ+LCBPdXRwdXQ+KSA9PiBXb3JrZmxvd01ldGFkYXRhKSB7XG4gIGNvbnN0IGRlY29yYXRlZCA9IChmbjogV29ya2Zsb3dGdW5jdGlvbjxTY2hlbWFPdXRwdXQ8VFNjaGVtYSwgSW5wdXQ+LCBPdXRwdXQ+KSA9PiB7XG4gICAgY29uc3QgaWQgPSByYW5kb21VVUlEKCk7XG4gICAgY29uc3Qgd29ya2Zsb3dOYW1lID0gb3B0aW9ucy5uYW1lID8/IGluZmxlY3Rpb24udW5kZXJzY29yZShmbi5uYW1lKTtcblxuICAgIGNvbnN0IG1ldGFkYXRhOiBXb3JrZmxvd01ldGFkYXRhID0ge1xuICAgICAgdHlwZTogXCJ3b3JrZmxvd1wiIGFzIGNvbnN0LFxuICAgICAgaWQsXG4gICAgICBuYW1lOiB3b3JrZmxvd05hbWUsXG4gICAgICBzY2hlbWE6IG9wdGlvbnMuc2NoZW1hLFxuICAgICAgdmVyc2lvbjogb3B0aW9ucy52ZXJzaW9uID8/IG51bGwsXG4gICAgICBzY2hlZHVsZXM6IChvcHRpb25zLnNjaGVkdWxlcyA/PyBbXSkubWFwKChzY2hlZHVsZSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5hbWU6IHNjaGVkdWxlLm5hbWUgPz8gYCR7d29ya2Zsb3dOYW1lfVske3NjaGVkdWxlLmV4cHJlc3Npb259XWAsXG4gICAgICAgICAgZXhwcmVzc2lvbjogc2NoZWR1bGUuZXhwcmVzc2lvbixcbiAgICAgICAgICBpbnB1dDogc2NoZWR1bGUuaW5wdXQsXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICAgIGZuOiBmbiBhcyBXb3JrZmxvd0Z1bmN0aW9uPHVua25vd24sIHVua25vd24+LFxuICAgIH07XG5cbiAgICByZXR1cm4gbWV0YWRhdGE7XG4gIH07XG5cbiAgaWYgKCFmbikge1xuICAgIHJldHVybiBkZWNvcmF0ZWQ7XG4gIH1cblxuICByZXR1cm4gZGVjb3JhdGVkKGZuKTtcbn1cbiJdLCJuYW1lcyI6WyJyYW5kb21VVUlEIiwiaW5mbGVjdGlvbiIsIndvcmtmbG93Iiwib3B0aW9ucyIsImZuIiwiZGVjb3JhdGVkIiwiaWQiLCJ3b3JrZmxvd05hbWUiLCJuYW1lIiwidW5kZXJzY29yZSIsIm1ldGFkYXRhIiwidHlwZSIsInNjaGVtYSIsInZlcnNpb24iLCJzY2hlZHVsZXMiLCJtYXAiLCJzY2hlZHVsZSIsImV4cHJlc3Npb24iLCJpbnB1dCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVSxRQUFRLGNBQWM7QUFPekMsT0FBT0MsZ0JBQWdCLGFBQWE7QUE2Q3BDLE9BQU8sU0FBU0MsU0FDZEMsT0FBc0QsRUFDdERDLEVBQTJEO0lBSTNELE1BQU1DLFlBQVksQ0FBQ0Q7UUFDakIsTUFBTUUsS0FBS047UUFDWCxNQUFNTyxlQUFlSixRQUFRSyxJQUFJLElBQUlQLFdBQVdRLFVBQVUsQ0FBQ0wsR0FBR0ksSUFBSTtRQUVsRSxNQUFNRSxXQUE2QjtZQUNqQ0MsTUFBTTtZQUNOTDtZQUNBRSxNQUFNRDtZQUNOSyxRQUFRVCxRQUFRUyxNQUFNO1lBQ3RCQyxTQUFTVixRQUFRVSxPQUFPLElBQUk7WUFDNUJDLFdBQVcsQUFBQ1gsQ0FBQUEsUUFBUVcsU0FBUyxJQUFJLEVBQUUsQUFBRCxFQUFHQyxHQUFHLENBQUMsQ0FBQ0M7Z0JBQ3hDLE9BQU87b0JBQ0xSLE1BQU1RLFNBQVNSLElBQUksSUFBSSxHQUFHRCxhQUFhLENBQUMsRUFBRVMsU0FBU0MsVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFDaEVBLFlBQVlELFNBQVNDLFVBQVU7b0JBQy9CQyxPQUFPRixTQUFTRSxLQUFLO2dCQUN2QjtZQUNGO1lBQ0FkLElBQUlBO1FBQ047UUFFQSxPQUFPTTtJQUNUO0lBRUEsSUFBSSxDQUFDTixJQUFJO1FBQ1AsT0FBT0M7SUFDVDtJQUVBLE9BQU9BLFVBQVVEO0FBQ25CIn0=
@@ -13,6 +13,11 @@ export declare class StepWrapper {
13
13
  name: string;
14
14
  }, object: T, name: MethodNames<T, TKey>): RunnableStep<TArgs, TResult>;
15
15
  get<T, TKey extends keyof T, TArgs extends MethodArguments<T, TKey>, TResult extends MethodReturnType<T, TKey>>(object: T, name: MethodNames<T, TKey>): RunnableStep<TArgs, TResult>;
16
+ define<TArgs extends unknown[], TResult>(config: {
17
+ name: string;
18
+ }, fn: StepFunction<TArgs, TResult>): {
19
+ run: (...args: TArgs) => Promise<TResult>;
20
+ };
16
21
  sleep(name: string, duration: DurationString): Promise<void>;
17
22
  }
18
23
  //# sourceMappingURL=step-wrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-wrapper.d.ts","sourceRoot":"","sources":["../../src/tasks/step-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAG1E,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC;AACzF,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,IAAI;IAC3D,GAAG,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CACjE,GAAG,IAAI,EAAE,MAAM,MAAM,KAClB,MAAM,QAAQ,GACf,IAAI,GACJ,KAAK,CAAC;AAEV,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CACrE,GAAG,IAAI,EAAE,MAAM,KAAK,KACjB,OAAO,GACR,KAAK,GACL,KAAK,CAAC;AAEV,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CACtE,IAAI,EAAE,CAAC,EACP,GAAG,IAAI,EAAE,MAAM,MAAM,KAClB,MAAM,OAAO,GACd,OAAO,GACP,KAAK,CAAC;AAEV,qBAAa,WAAW;;gBAGV,OAAO,EAAE,OAAO;IAI5B,GAAG,CACD,CAAC,EACD,IAAI,SAAS,MAAM,CAAC,EACpB,KAAK,SAAS,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EACtC,OAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,EACzC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;IAChG,GAAG,CACD,CAAC,EACD,IAAI,SAAS,MAAM,CAAC,EACpB,KAAK,SAAS,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EACtC,OAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,EACzC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;IAmCtE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc;CAG7C"}
1
+ {"version":3,"file":"step-wrapper.d.ts","sourceRoot":"","sources":["../../src/tasks/step-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAG1E,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC;AACzF,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,IAAI;IAC3D,GAAG,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CACjE,GAAG,IAAI,EAAE,MAAM,MAAM,KAClB,MAAM,QAAQ,GACf,IAAI,GACJ,KAAK,CAAC;AAEV,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CACrE,GAAG,IAAI,EAAE,MAAM,KAAK,KACjB,OAAO,GACR,KAAK,GACL,KAAK,CAAC;AAEV,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CACtE,IAAI,EAAE,CAAC,EACP,GAAG,IAAI,EAAE,MAAM,MAAM,KAClB,MAAM,OAAO,GACd,OAAO,GACP,KAAK,CAAC;AAEV,qBAAa,WAAW;;gBAGV,OAAO,EAAE,OAAO;IAI5B,GAAG,CACD,CAAC,EACD,IAAI,SAAS,MAAM,CAAC,EACpB,KAAK,SAAS,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EACtC,OAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,EACzC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;IAChG,GAAG,CACD,CAAC,EACD,IAAI,SAAS,MAAM,CAAC,EACpB,KAAK,SAAS,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EACtC,OAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,EACzC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;IAiCtE,MAAM,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EACrC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EACxB,EAAE,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;;;IASlC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc;CAG7C"}
@@ -23,11 +23,16 @@ export class StepWrapper {
23
23
  fn = (...args)=>method.bind(rawObject)(...args);
24
24
  }
25
25
  return {
26
- run: ((stepApi)=>{
27
- return (...args)=>{
28
- return stepApi.run(config, ()=>fn(...args));
29
- };
30
- })(this.#stepApi)
26
+ run: ((stepApi, ...args)=>{
27
+ return stepApi.run(config, ()=>fn(...args));
28
+ }).bind(null, this.#stepApi)
29
+ };
30
+ }
31
+ define(config, fn) {
32
+ return {
33
+ run: ((stepApi, ...args)=>{
34
+ return stepApi.run(config, ()=>fn(...args));
35
+ }).bind(null, this.#stepApi)
31
36
  };
32
37
  }
33
38
  sleep(name, duration) {
@@ -35,4 +40,4 @@ export class StepWrapper {
35
40
  }
36
41
  }
37
42
 
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YXNrcy9zdGVwLXdyYXBwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEdXJhdGlvblN0cmluZywgU3RlcEFwaSB9IGZyb20gXCJAc29uYW11LWtpdC90YXNrcy9pbnRlcm5hbFwiO1xuaW1wb3J0IGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIjtcblxuZXhwb3J0IHR5cGUgU3RlcEZ1bmN0aW9uPFRBcmdzIGV4dGVuZHMgdW5rbm93bltdLCBUUmVzdWx0PiA9ICguLi5hcmdzOiBUQXJncykgPT4gVFJlc3VsdDtcbmV4cG9ydCB0eXBlIFJ1bm5hYmxlU3RlcDxUQXJncyBleHRlbmRzIHVua25vd25bXSwgVFJlc3VsdD4gPSB7XG4gIHJ1bjogU3RlcEZ1bmN0aW9uPFRBcmdzLCBQcm9taXNlPFRSZXN1bHQ+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIE1ldGhvZE5hbWVzPFQsIFRLZXkgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbVEtleV0gZXh0ZW5kcyAoXG4gIC4uLmFyZ3M6IGluZmVyIF9UQXJnc1xuKSA9PiBpbmZlciBfVFJlc3VsdFxuICA/IFRLZXlcbiAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgTWV0aG9kQXJndW1lbnRzPFQsIFRLZXkgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbVEtleV0gZXh0ZW5kcyAoXG4gIC4uLmFyZ3M6IGluZmVyIFRBcmdzXG4pID0+IHVua25vd25cbiAgPyBUQXJnc1xuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBNZXRob2RSZXR1cm5UeXBlPFQsIFRLZXkgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbVEtleV0gZXh0ZW5kcyAoXG4gIHRoaXM6IFQsXG4gIC4uLmFyZ3M6IGluZmVyIF9UQXJnc1xuKSA9PiBpbmZlciBUUmVzdWx0XG4gID8gVFJlc3VsdFxuICA6IG5ldmVyO1xuXG5leHBvcnQgY2xhc3MgU3RlcFdyYXBwZXIge1xuICByZWFkb25seSAjc3RlcEFwaTogU3RlcEFwaTtcblxuICBjb25zdHJ1Y3RvcihzdGVwQXBpOiBTdGVwQXBpKSB7XG4gICAgdGhpcy4jc3RlcEFwaSA9IHN0ZXBBcGk7XG4gIH1cblxuICBnZXQ8XG4gICAgVCxcbiAgICBUS2V5IGV4dGVuZHMga2V5b2YgVCxcbiAgICBUQXJncyBleHRlbmRzIE1ldGhvZEFyZ3VtZW50czxULCBUS2V5PixcbiAgICBUUmVzdWx0IGV4dGVuZHMgTWV0aG9kUmV0dXJuVHlwZTxULCBUS2V5PixcbiAgPihjb25maWc6IHsgbmFtZTogc3RyaW5nIH0sIG9iamVjdDogVCwgbmFtZTogTWV0aG9kTmFtZXM8VCwgVEtleT4pOiBSdW5uYWJsZVN0ZXA8VEFyZ3MsIFRSZXN1bHQ+O1xuICBnZXQ8XG4gICAgVCxcbiAgICBUS2V5IGV4dGVuZHMga2V5b2YgVCxcbiAgICBUQXJncyBleHRlbmRzIE1ldGhvZEFyZ3VtZW50czxULCBUS2V5PixcbiAgICBUUmVzdWx0IGV4dGVuZHMgTWV0aG9kUmV0dXJuVHlwZTxULCBUS2V5PixcbiAgPihvYmplY3Q6IFQsIG5hbWU6IE1ldGhvZE5hbWVzPFQsIFRLZXk+KTogUnVubmFibGVTdGVwPFRBcmdzLCBUUmVzdWx0PjtcbiAgZ2V0PFxuICAgIFQsXG4gICAgVEtleSBleHRlbmRzIGtleW9mIFQsXG4gICAgVEFyZ3MgZXh0ZW5kcyBNZXRob2RBcmd1bWVudHM8VCwgVEtleT4sXG4gICAgVFJlc3VsdCBleHRlbmRzIE1ldGhvZFJldHVyblR5cGU8VCwgVEtleT4sXG4gID4oXG4gICAgLi4uYXJnczogW3sgbmFtZTogc3RyaW5nIH0sIFQsIE1ldGhvZE5hbWVzPFQsIFRLZXk+XSB8IFtULCBNZXRob2ROYW1lczxULCBUS2V5Pl1cbiAgKTogUnVubmFibGVTdGVwPFRBcmdzLCBUUmVzdWx0PiB7XG4gICAgbGV0IGNvbmZpZzogeyBuYW1lOiBzdHJpbmcgfTtcbiAgICBsZXQgZm46IFN0ZXBGdW5jdGlvbjxUQXJncywgRXhjbHVkZTxUUmVzdWx0LCBuZXZlcj4+O1xuXG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAyKSB7XG4gICAgICBjb25zdCBbcmF3T2JqZWN0LCBtZXRob2ROYW1lXSA9IGFyZ3M7XG4gICAgICBjb25zdCBtZXRob2QgPSByYXdPYmplY3RbbWV0aG9kTmFtZV0gYXMgQ2FsbGFibGVGdW5jdGlvbjtcbiAgICAgIGNvbmZpZyA9IHsgbmFtZTogaW5mbGVjdGlvbi51bmRlcnNjb3JlKG1ldGhvZE5hbWUudG9TdHJpbmcoKSkgfTtcblxuICAgICAgZm4gPSAoLi4uYXJnczogVEFyZ3MpID0+IG1ldGhvZC5iaW5kKHJhd09iamVjdCkoLi4uYXJncyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IFtyYXdDb25maWcsIHJhd09iamVjdCwgbmFtZV0gPSBhcmdzO1xuICAgICAgY29uc3QgbWV0aG9kID0gcmF3T2JqZWN0W25hbWVdIGFzIENhbGxhYmxlRnVuY3Rpb247XG5cbiAgICAgIGNvbmZpZyA9IHsgbmFtZTogcmF3Q29uZmlnLm5hbWUgPz8gaW5mbGVjdGlvbi51bmRlcnNjb3JlKG5hbWUudG9TdHJpbmcoKSkgfTtcbiAgICAgIGZuID0gKC4uLmFyZ3M6IFRBcmdzKSA9PiBtZXRob2QuYmluZChyYXdPYmplY3QpKC4uLmFyZ3MpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBydW46ICgoc3RlcEFwaTogU3RlcEFwaSkgPT4ge1xuICAgICAgICByZXR1cm4gKC4uLmFyZ3M6IFRBcmdzKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHN0ZXBBcGkucnVuKGNvbmZpZywgKCkgPT4gZm4oLi4uYXJncykpO1xuICAgICAgICB9O1xuICAgICAgfSkodGhpcy4jc3RlcEFwaSksXG4gICAgfTtcbiAgfVxuXG4gIHNsZWVwKG5hbWU6IHN0cmluZywgZHVyYXRpb246IER1cmF0aW9uU3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuI3N0ZXBBcGkuc2xlZXAobmFtZSwgZHVyYXRpb24pO1xuICB9XG59XG4iXSwibmFtZXMiOlsiaW5mbGVjdGlvbiIsIlN0ZXBXcmFwcGVyIiwic3RlcEFwaSIsImdldCIsImFyZ3MiLCJjb25maWciLCJmbiIsImxlbmd0aCIsInJhd09iamVjdCIsIm1ldGhvZE5hbWUiLCJtZXRob2QiLCJuYW1lIiwidW5kZXJzY29yZSIsInRvU3RyaW5nIiwiYmluZCIsInJhd0NvbmZpZyIsInJ1biIsInNsZWVwIiwiZHVyYXRpb24iXSwibWFwcGluZ3MiOiJBQUNBLE9BQU9BLGdCQUFnQixhQUFhO0FBMEJwQyxPQUFPLE1BQU1DO0lBQ0YsQ0FBQSxPQUFRLENBQVU7SUFFM0IsWUFBWUMsT0FBZ0IsQ0FBRTtRQUM1QixJQUFJLENBQUMsQ0FBQSxPQUFRLEdBQUdBO0lBQ2xCO0lBY0FDLElBTUUsR0FBR0MsSUFBNkUsRUFDbEQ7UUFDOUIsSUFBSUM7UUFDSixJQUFJQztRQUVKLElBQUlGLEtBQUtHLE1BQU0sS0FBSyxHQUFHO1lBQ3JCLE1BQU0sQ0FBQ0MsV0FBV0MsV0FBVyxHQUFHTDtZQUNoQyxNQUFNTSxTQUFTRixTQUFTLENBQUNDLFdBQVc7WUFDcENKLFNBQVM7Z0JBQUVNLE1BQU1YLFdBQVdZLFVBQVUsQ0FBQ0gsV0FBV0ksUUFBUTtZQUFJO1lBRTlEUCxLQUFLLENBQUMsR0FBR0YsT0FBZ0JNLE9BQU9JLElBQUksQ0FBQ04sY0FBY0o7UUFDckQsT0FBTztZQUNMLE1BQU0sQ0FBQ1csV0FBV1AsV0FBV0csS0FBSyxHQUFHUDtZQUNyQyxNQUFNTSxTQUFTRixTQUFTLENBQUNHLEtBQUs7WUFFOUJOLFNBQVM7Z0JBQUVNLE1BQU1JLFVBQVVKLElBQUksSUFBSVgsV0FBV1ksVUFBVSxDQUFDRCxLQUFLRSxRQUFRO1lBQUk7WUFDMUVQLEtBQUssQ0FBQyxHQUFHRixPQUFnQk0sT0FBT0ksSUFBSSxDQUFDTixjQUFjSjtRQUNyRDtRQUVBLE9BQU87WUFDTFksS0FBSyxBQUFDLENBQUEsQ0FBQ2Q7Z0JBQ0wsT0FBTyxDQUFDLEdBQUdFO29CQUNULE9BQU9GLFFBQVFjLEdBQUcsQ0FBQ1gsUUFBUSxJQUFNQyxNQUFNRjtnQkFDekM7WUFDRixDQUFBLEVBQUcsSUFBSSxDQUFDLENBQUEsT0FBUTtRQUNsQjtJQUNGO0lBRUFhLE1BQU1OLElBQVksRUFBRU8sUUFBd0IsRUFBRTtRQUM1QyxPQUFPLElBQUksQ0FBQyxDQUFBLE9BQVEsQ0FBQ0QsS0FBSyxDQUFDTixNQUFNTztJQUNuQztBQUNGIn0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YXNrcy9zdGVwLXdyYXBwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEdXJhdGlvblN0cmluZywgU3RlcEFwaSB9IGZyb20gXCJAc29uYW11LWtpdC90YXNrcy9pbnRlcm5hbFwiO1xuaW1wb3J0IGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIjtcblxuZXhwb3J0IHR5cGUgU3RlcEZ1bmN0aW9uPFRBcmdzIGV4dGVuZHMgdW5rbm93bltdLCBUUmVzdWx0PiA9ICguLi5hcmdzOiBUQXJncykgPT4gVFJlc3VsdDtcbmV4cG9ydCB0eXBlIFJ1bm5hYmxlU3RlcDxUQXJncyBleHRlbmRzIHVua25vd25bXSwgVFJlc3VsdD4gPSB7XG4gIHJ1bjogU3RlcEZ1bmN0aW9uPFRBcmdzLCBQcm9taXNlPFRSZXN1bHQ+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIE1ldGhvZE5hbWVzPFQsIFRLZXkgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbVEtleV0gZXh0ZW5kcyAoXG4gIC4uLmFyZ3M6IGluZmVyIF9UQXJnc1xuKSA9PiBpbmZlciBfVFJlc3VsdFxuICA/IFRLZXlcbiAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgTWV0aG9kQXJndW1lbnRzPFQsIFRLZXkgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbVEtleV0gZXh0ZW5kcyAoXG4gIC4uLmFyZ3M6IGluZmVyIFRBcmdzXG4pID0+IHVua25vd25cbiAgPyBUQXJnc1xuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBNZXRob2RSZXR1cm5UeXBlPFQsIFRLZXkgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbVEtleV0gZXh0ZW5kcyAoXG4gIHRoaXM6IFQsXG4gIC4uLmFyZ3M6IGluZmVyIF9UQXJnc1xuKSA9PiBpbmZlciBUUmVzdWx0XG4gID8gVFJlc3VsdFxuICA6IG5ldmVyO1xuXG5leHBvcnQgY2xhc3MgU3RlcFdyYXBwZXIge1xuICByZWFkb25seSAjc3RlcEFwaTogU3RlcEFwaTtcblxuICBjb25zdHJ1Y3RvcihzdGVwQXBpOiBTdGVwQXBpKSB7XG4gICAgdGhpcy4jc3RlcEFwaSA9IHN0ZXBBcGk7XG4gIH1cblxuICBnZXQ8XG4gICAgVCxcbiAgICBUS2V5IGV4dGVuZHMga2V5b2YgVCxcbiAgICBUQXJncyBleHRlbmRzIE1ldGhvZEFyZ3VtZW50czxULCBUS2V5PixcbiAgICBUUmVzdWx0IGV4dGVuZHMgTWV0aG9kUmV0dXJuVHlwZTxULCBUS2V5PixcbiAgPihjb25maWc6IHsgbmFtZTogc3RyaW5nIH0sIG9iamVjdDogVCwgbmFtZTogTWV0aG9kTmFtZXM8VCwgVEtleT4pOiBSdW5uYWJsZVN0ZXA8VEFyZ3MsIFRSZXN1bHQ+O1xuICBnZXQ8XG4gICAgVCxcbiAgICBUS2V5IGV4dGVuZHMga2V5b2YgVCxcbiAgICBUQXJncyBleHRlbmRzIE1ldGhvZEFyZ3VtZW50czxULCBUS2V5PixcbiAgICBUUmVzdWx0IGV4dGVuZHMgTWV0aG9kUmV0dXJuVHlwZTxULCBUS2V5PixcbiAgPihvYmplY3Q6IFQsIG5hbWU6IE1ldGhvZE5hbWVzPFQsIFRLZXk+KTogUnVubmFibGVTdGVwPFRBcmdzLCBUUmVzdWx0PjtcbiAgZ2V0PFxuICAgIFQsXG4gICAgVEtleSBleHRlbmRzIGtleW9mIFQsXG4gICAgVEFyZ3MgZXh0ZW5kcyBNZXRob2RBcmd1bWVudHM8VCwgVEtleT4sXG4gICAgVFJlc3VsdCBleHRlbmRzIE1ldGhvZFJldHVyblR5cGU8VCwgVEtleT4sXG4gID4oXG4gICAgLi4uYXJnczogW3sgbmFtZTogc3RyaW5nIH0sIFQsIE1ldGhvZE5hbWVzPFQsIFRLZXk+XSB8IFtULCBNZXRob2ROYW1lczxULCBUS2V5Pl1cbiAgKTogUnVubmFibGVTdGVwPFRBcmdzLCBUUmVzdWx0PiB7XG4gICAgbGV0IGNvbmZpZzogeyBuYW1lOiBzdHJpbmcgfTtcbiAgICBsZXQgZm46IFN0ZXBGdW5jdGlvbjxUQXJncywgRXhjbHVkZTxUUmVzdWx0LCBuZXZlcj4+O1xuXG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAyKSB7XG4gICAgICBjb25zdCBbcmF3T2JqZWN0LCBtZXRob2ROYW1lXSA9IGFyZ3M7XG4gICAgICBjb25zdCBtZXRob2QgPSByYXdPYmplY3RbbWV0aG9kTmFtZV0gYXMgQ2FsbGFibGVGdW5jdGlvbjtcbiAgICAgIGNvbmZpZyA9IHsgbmFtZTogaW5mbGVjdGlvbi51bmRlcnNjb3JlKG1ldGhvZE5hbWUudG9TdHJpbmcoKSkgfTtcblxuICAgICAgZm4gPSAoLi4uYXJnczogVEFyZ3MpID0+IG1ldGhvZC5iaW5kKHJhd09iamVjdCkoLi4uYXJncyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IFtyYXdDb25maWcsIHJhd09iamVjdCwgbmFtZV0gPSBhcmdzO1xuICAgICAgY29uc3QgbWV0aG9kID0gcmF3T2JqZWN0W25hbWVdIGFzIENhbGxhYmxlRnVuY3Rpb247XG5cbiAgICAgIGNvbmZpZyA9IHsgbmFtZTogcmF3Q29uZmlnLm5hbWUgPz8gaW5mbGVjdGlvbi51bmRlcnNjb3JlKG5hbWUudG9TdHJpbmcoKSkgfTtcbiAgICAgIGZuID0gKC4uLmFyZ3M6IFRBcmdzKSA9PiBtZXRob2QuYmluZChyYXdPYmplY3QpKC4uLmFyZ3MpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBydW46ICgoc3RlcEFwaTogU3RlcEFwaSwgLi4uYXJnczogVEFyZ3MpID0+IHtcbiAgICAgICAgcmV0dXJuIHN0ZXBBcGkucnVuKGNvbmZpZywgKCkgPT4gZm4oLi4uYXJncykpO1xuICAgICAgfSkuYmluZChudWxsLCB0aGlzLiNzdGVwQXBpKSxcbiAgICB9O1xuICB9XG5cbiAgZGVmaW5lPFRBcmdzIGV4dGVuZHMgdW5rbm93bltdLCBUUmVzdWx0PihcbiAgICBjb25maWc6IHsgbmFtZTogc3RyaW5nIH0sXG4gICAgZm46IFN0ZXBGdW5jdGlvbjxUQXJncywgVFJlc3VsdD4sXG4gICkge1xuICAgIHJldHVybiB7XG4gICAgICBydW46ICgoc3RlcEFwaTogU3RlcEFwaSwgLi4uYXJnczogVEFyZ3MpID0+IHtcbiAgICAgICAgcmV0dXJuIHN0ZXBBcGkucnVuKGNvbmZpZywgKCkgPT4gZm4oLi4uYXJncykpO1xuICAgICAgfSkuYmluZChudWxsLCB0aGlzLiNzdGVwQXBpKSxcbiAgICB9O1xuICB9XG5cbiAgc2xlZXAobmFtZTogc3RyaW5nLCBkdXJhdGlvbjogRHVyYXRpb25TdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy4jc3RlcEFwaS5zbGVlcChuYW1lLCBkdXJhdGlvbik7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJpbmZsZWN0aW9uIiwiU3RlcFdyYXBwZXIiLCJzdGVwQXBpIiwiZ2V0IiwiYXJncyIsImNvbmZpZyIsImZuIiwibGVuZ3RoIiwicmF3T2JqZWN0IiwibWV0aG9kTmFtZSIsIm1ldGhvZCIsIm5hbWUiLCJ1bmRlcnNjb3JlIiwidG9TdHJpbmciLCJiaW5kIiwicmF3Q29uZmlnIiwicnVuIiwiZGVmaW5lIiwic2xlZXAiLCJkdXJhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBT0EsZ0JBQWdCLGFBQWE7QUEwQnBDLE9BQU8sTUFBTUM7SUFDRixDQUFBLE9BQVEsQ0FBVTtJQUUzQixZQUFZQyxPQUFnQixDQUFFO1FBQzVCLElBQUksQ0FBQyxDQUFBLE9BQVEsR0FBR0E7SUFDbEI7SUFjQUMsSUFNRSxHQUFHQyxJQUE2RSxFQUNsRDtRQUM5QixJQUFJQztRQUNKLElBQUlDO1FBRUosSUFBSUYsS0FBS0csTUFBTSxLQUFLLEdBQUc7WUFDckIsTUFBTSxDQUFDQyxXQUFXQyxXQUFXLEdBQUdMO1lBQ2hDLE1BQU1NLFNBQVNGLFNBQVMsQ0FBQ0MsV0FBVztZQUNwQ0osU0FBUztnQkFBRU0sTUFBTVgsV0FBV1ksVUFBVSxDQUFDSCxXQUFXSSxRQUFRO1lBQUk7WUFFOURQLEtBQUssQ0FBQyxHQUFHRixPQUFnQk0sT0FBT0ksSUFBSSxDQUFDTixjQUFjSjtRQUNyRCxPQUFPO1lBQ0wsTUFBTSxDQUFDVyxXQUFXUCxXQUFXRyxLQUFLLEdBQUdQO1lBQ3JDLE1BQU1NLFNBQVNGLFNBQVMsQ0FBQ0csS0FBSztZQUU5Qk4sU0FBUztnQkFBRU0sTUFBTUksVUFBVUosSUFBSSxJQUFJWCxXQUFXWSxVQUFVLENBQUNELEtBQUtFLFFBQVE7WUFBSTtZQUMxRVAsS0FBSyxDQUFDLEdBQUdGLE9BQWdCTSxPQUFPSSxJQUFJLENBQUNOLGNBQWNKO1FBQ3JEO1FBRUEsT0FBTztZQUNMWSxLQUFLLEFBQUMsQ0FBQSxDQUFDZCxTQUFrQixHQUFHRTtnQkFDMUIsT0FBT0YsUUFBUWMsR0FBRyxDQUFDWCxRQUFRLElBQU1DLE1BQU1GO1lBQ3pDLENBQUEsRUFBR1UsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUEsT0FBUTtRQUM3QjtJQUNGO0lBRUFHLE9BQ0VaLE1BQXdCLEVBQ3hCQyxFQUFnQyxFQUNoQztRQUNBLE9BQU87WUFDTFUsS0FBSyxBQUFDLENBQUEsQ0FBQ2QsU0FBa0IsR0FBR0U7Z0JBQzFCLE9BQU9GLFFBQVFjLEdBQUcsQ0FBQ1gsUUFBUSxJQUFNQyxNQUFNRjtZQUN6QyxDQUFBLEVBQUdVLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFBLE9BQVE7UUFDN0I7SUFDRjtJQUVBSSxNQUFNUCxJQUFZLEVBQUVRLFFBQXdCLEVBQUU7UUFDNUMsT0FBTyxJQUFJLENBQUMsQ0FBQSxPQUFRLENBQUNELEtBQUssQ0FBQ1AsTUFBTVE7SUFDbkM7QUFDRiJ9
@@ -1,3 +1,4 @@
1
+ import { type Logger } from "@logtape/logtape";
1
2
  import type { RunnableWorkflow, SchemaInput, SchemaOutput, StandardSchemaV1, WorkflowRunHandle, WorkflowSpec } from "@sonamu-kit/tasks/internal";
2
3
  import type { Knex } from "knex";
3
4
  import type { WorkflowMetadata } from "./decorator";
@@ -8,6 +9,7 @@ export interface WorkflowOptions {
8
9
  listenDelay?: number;
9
10
  }
10
11
  export type WorkflowFunction<Input, Output> = (params: Readonly<{
12
+ logger: Logger;
11
13
  input: Input;
12
14
  step: StepWrapper;
13
15
  version: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-manager.d.ts","sourceRoot":"","sources":["../../src/tasks/workflow-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAEhB,iBAAiB,EACjB,YAAY,EACb,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAQjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,WAAW,eAAe;IAE9B,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,SAAS,CAAC,EAAE,OAAO,CAAC;IAGpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,MAAM,gBAAgB,CAAC,KAAK,EAAE,MAAM,IAAI,CAC5C,MAAM,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC,KACC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAG9B,MAAM,MAAM,qBAAqB,CAC/B,KAAK,EACL,MAAM,EACN,OAAO,SAAS,gBAAgB,GAAG,SAAS,GAAG,SAAS,IACtD,IAAI,CACN,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAC/E,SAAS,CACV,GAAG;IACF,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,gBAAgB,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;CAClE,CAAC;AAEF,qBAAa,eAAe;;gBAwBd,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,GAAE,OAAc;IAW9D;;OAEG;IACG,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAqF9D,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAS,gBAAgB,GAAG,SAAS,GAAG,SAAS,EACzE,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC,EAC1F,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,GACjC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAW/B,YAAY,CAChB,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC,EAC3D,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IA8B3C,cAAc,CAAC,IAAI,EAAE,MAAM;IAajC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAS,gBAAgB,GAAG,SAAS,GAAG,SAAS,EACtF,OAAO,EAAE,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,GACrD,gBAAgB,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IA4ChF,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAKpF,WAAW,CAAC,OAAO,EAAE,eAAe;IAK9B,WAAW;IAUX,UAAU;IAKV,aAAa;IAOb,gBAAgB;IAOhB,OAAO;IAOb,CAAC,MAAM,CAAC,YAAY,CAAC;CAGtB"}
1
+ {"version":3,"file":"workflow-manager.d.ts","sourceRoot":"","sources":["../../src/tasks/workflow-manager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
+ import { getLogger } from "@logtape/logtape";
1
2
  import { BackendPostgres, OpenWorkflow } from "@sonamu-kit/tasks";
2
3
  import assert from "assert";
3
4
  import { schedule as cronSchedule } from "node-cron";
4
5
  import { Sonamu } from "../api/sonamu.js";
6
+ import { convertDomainToCategory } from "../logger/category.js";
5
7
  import { Naite } from "../naite/naite.js";
6
8
  import { createMockSSEFactory } from "../stream/sse.js";
7
9
  import { StepWrapper } from "./step-wrapper.js";
@@ -144,7 +146,8 @@ export class WorkflowManager {
144
146
  }, ()=>options.function({
145
147
  input: params.input,
146
148
  step,
147
- version: params.version
149
+ version: params.version,
150
+ logger: getLogger(convertDomainToCategory(options.name, "workflow"))
148
151
  }));
149
152
  };
150
153
  const workflow = this.#ow.defineWorkflow({
@@ -194,4 +197,4 @@ export class WorkflowManager {
194
197
  }
195
198
  }
196
199
 
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YXNrcy93b3JrZmxvdy1tYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhY2tlbmRQb3N0Z3JlcywgT3BlbldvcmtmbG93LCB0eXBlIFdvcmtlciB9IGZyb20gXCJAc29uYW11LWtpdC90YXNrc1wiO1xuaW1wb3J0IHR5cGUge1xuICBSdW5uYWJsZVdvcmtmbG93LFxuICBTY2hlbWFJbnB1dCxcbiAgU2NoZW1hT3V0cHV0LFxuICBTdGFuZGFyZFNjaGVtYVYxLFxuICBTdGVwQXBpLFxuICBXb3JrZmxvd1J1bkhhbmRsZSxcbiAgV29ya2Zsb3dTcGVjLFxufSBmcm9tIFwiQHNvbmFtdS1raXQvdGFza3MvaW50ZXJuYWxcIjtcbmltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiO1xuaW1wb3J0IHR5cGUgeyBLbmV4IH0gZnJvbSBcImtuZXhcIjtcbmltcG9ydCB7IHNjaGVkdWxlIGFzIGNyb25TY2hlZHVsZSwgdHlwZSBTY2hlZHVsZWRUYXNrIH0gZnJvbSBcIm5vZGUtY3JvblwiO1xuaW1wb3J0IHR5cGUgeyBab2RPYmplY3QgfSBmcm9tIFwiem9kXCI7XG5pbXBvcnQgdHlwZSB7IENvbnRleHQgfSBmcm9tIFwiLi4vYXBpL2NvbnRleHRcIjtcbmltcG9ydCB7IFNvbmFtdSB9IGZyb20gXCIuLi9hcGkvc29uYW11XCI7XG5pbXBvcnQgeyBOYWl0ZSB9IGZyb20gXCIuLi9uYWl0ZS9uYWl0ZVwiO1xuaW1wb3J0IHsgY3JlYXRlTW9ja1NTRUZhY3RvcnkgfSBmcm9tIFwiLi4vc3RyZWFtL3NzZVwiO1xuaW1wb3J0IHR5cGUgeyBFeGVjdXRhYmxlIH0gZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IFdvcmtmbG93TWV0YWRhdGEgfSBmcm9tIFwiLi9kZWNvcmF0b3JcIjtcbmltcG9ydCB7IFN0ZXBXcmFwcGVyIH0gZnJvbSBcIi4vc3RlcC13cmFwcGVyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dPcHRpb25zIHtcbiAgLy8gd29ya2Vy7JeQ7IScIOuPmeyLnCDsi6TtlontlaAg7YOc7Iqk7YGsIOyImCwg6riw67O47J2AIENQVSDsvZTslrQg7IiYIC0gMeqwnFxuICBjb25jdXJyZW5jeT86IG51bWJlcjtcblxuICAvLyB3b3JrZXLsl5DshJwg7IKs7Jqp7ZWgIHB1Yi9zdWIg7Jes67aALCDquLDrs7jsnYAgdHJ1ZVxuICB1c2VQdWJTdWI/OiBib29sZWFuO1xuXG4gIC8vIHB1Yi9zdWLsnLzroZwg7YOc7Iqk7YGs66W8IOyImOyLoO2WiOydhCDrlYwg7JuM7YGs7ZSM66Gc7JqwIOyLpO2Wieq5jOyngCDsp4Dsl7Ag7Iuc6rCELCDquLDrs7jsnYAgNTAwbXNcbiAgbGlzdGVuRGVsYXk/OiBudW1iZXI7XG59XG5cbi8vIFdvcmtmbG93IO2VqOyImOydmCDtg4DsnoUsIEBzb25hbXUta2l0L3Rhc2tz7JmAIOuLpOuluCDsoJDsnYAgc3RlcOydhCDtlZzrsogg6rCQ7Iu8IO2Yle2DnC5cbmV4cG9ydCB0eXBlIFdvcmtmbG93RnVuY3Rpb248SW5wdXQsIE91dHB1dD4gPSAoXG4gIHBhcmFtczogUmVhZG9ubHk8e1xuICAgIGlucHV0OiBJbnB1dDtcbiAgICBzdGVwOiBTdGVwV3JhcHBlcjtcbiAgICB2ZXJzaW9uOiBzdHJpbmcgfCBudWxsO1xuICB9PixcbikgPT4gUHJvbWlzZTxPdXRwdXQ+IHwgT3V0cHV0O1xuXG4vLyBXb3JrZmxvd+ulvCDrk7HroZ3tlaAg65WM66W8IOychO2VnCDtg4DsnoVcbmV4cG9ydCB0eXBlIFdvcmtmbG93Q3JlYXRlT3B0aW9uczxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVFNjaGVtYSBleHRlbmRzIFN0YW5kYXJkU2NoZW1hVjEgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4+ID0gT21pdDxcbiAgV29ya2Zsb3dTcGVjPFNjaGVtYU91dHB1dDxUU2NoZW1hLCBJbnB1dD4sIE91dHB1dCwgU2NoZW1hSW5wdXQ8VFNjaGVtYSwgSW5wdXQ+PixcbiAgXCJ2ZXJzaW9uXCJcbj4gJiB7XG4gIGlkOiBzdHJpbmc7XG4gIHZlcnNpb246IHN0cmluZyB8IG51bGw7XG4gIGZ1bmN0aW9uOiBXb3JrZmxvd0Z1bmN0aW9uPFNjaGVtYU91dHB1dDxUU2NoZW1hLCBJbnB1dD4sIE91dHB1dD47XG59O1xuXG5leHBvcnQgY2xhc3MgV29ya2Zsb3dNYW5hZ2VyIHtcbiAgLy8gYmFja2VuZCDsnbjsiqTthLTsiqRcbiAgcmVhZG9ubHkgI2JhY2tlbmQ6IEJhY2tlbmRQb3N0Z3JlcztcblxuICAvLyBPcGVuV29ya2Zsb3cg7J247Iqk7YS07IqkXG4gIHJlYWRvbmx5ICNvdzogT3BlbldvcmtmbG93O1xuXG4gIC8vIFdvcmtlciDsnbjsiqTthLTsiqQgKOyXhuydhCDsiJgg7J6I7Jy866mwLCDsnbQg65WM64qUIOu2hOyCsOuQnCDshJzrsoQg7ZmY6rK97JeQ7IScIERC7JeQIHB1Ymxpc2jrp4wg7ZWc64uk6rOgIOqwgOygle2VqClcbiAgI3dvcmtlcjogV29ya2VyIHwgbnVsbDtcblxuICAvLyDtjIzsnbwg6rK966GcIC0+IO2MjOydvOyXkCDsoJXsnZjrkJwg7JuM7YGs7ZSM66Gc7JqwIOuplO2DgOuNsOydtO2EsCDrqqnroZ1cbiAgI3dvcmtmbG93c01hcDogTWFwPHN0cmluZywgV29ya2Zsb3dNZXRhZGF0YVtdPjtcblxuICAvLyBUYXNrIOydtOumhCAtPiBUYXNrIOygleuztCDrsI8gSW5wdXQg6rCSLCBXb3JrZmxvdyBJRFxuICAjc2NoZWR1bGVkVGFza3M6IE1hcDxcbiAgICBzdHJpbmcsXG4gICAge1xuICAgICAgdGFzazogU2NoZWR1bGVkVGFzaztcbiAgICAgIGlucHV0Rm46IEV4ZWN1dGFibGU8U2NoZW1hSW5wdXQ8dW5rbm93biwgdW5rbm93bj4+O1xuICAgICAgd29ya2Zsb3dJZDogc3RyaW5nO1xuICAgIH1cbiAgPjtcblxuICAvLyBCYWNrZW5kUG9zdGdyZXPsl5DshJwg7LKY66as7ZWY64qUIOqyg+uTpOydtCDsnojslrTshJwgS25leCDsu6TrhKXshZjsnbQg7JWE64uI6528IOyEpOygleqwkuydhCDrhKPslrTspJjslbztlaguXG4gIGNvbnN0cnVjdG9yKGRiQ29uZjogS25leC5Db25maWcsIHJ1bk1pZ3JhdGlvbnM6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgY29uc3QgYmFja2VuZCA9IG5ldyBCYWNrZW5kUG9zdGdyZXMoZGJDb25mLCB7IHJ1bk1pZ3JhdGlvbnMgfSk7XG5cbiAgICB0aGlzLiNiYWNrZW5kID0gYmFja2VuZDtcbiAgICB0aGlzLiNvdyA9IG5ldyBPcGVuV29ya2Zsb3coeyBiYWNrZW5kIH0pO1xuICAgIHRoaXMuI3dvcmtlciA9IG51bGw7XG5cbiAgICB0aGlzLiN3b3JrZmxvd3NNYXAgPSBuZXcgTWFwKCk7XG4gICAgdGhpcy4jc2NoZWR1bGVkVGFza3MgPSBuZXcgTWFwKCk7XG4gIH1cblxuICAvKipcbiAgICog7KCV7J2Y65CcIOybjO2BrO2UjOuhnOyasCDrsI8g7JuM7YGs7ZSM66Gc7Jqw7JeQIOuMgO2VnCBzY2hlZHVsZWQgdGFza3Prpbwg64+Z6riw7ZmU7ZWp64uI64ukLlxuICAgKi9cbiAgYXN5bmMgc3luY2hyb25pemUod29ya2Zsb3dNYXA6IE1hcDxzdHJpbmcsIFdvcmtmbG93TWV0YWRhdGFbXT4pIHtcbiAgICAvLyAxLiDsgq3soJzrkJwg7YyM7J287J2AIOydvOq0hCDsgq3soJxcbiAgICBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoXG4gICAgICBBcnJheS5mcm9tKHRoaXMuI3dvcmtmbG93c01hcC5lbnRyaWVzKCkpXG4gICAgICAgIC5maWx0ZXIoKFtrZXldKSA9PiAhd29ya2Zsb3dNYXAuaGFzKGtleSkpXG4gICAgICAgIC5mbGF0TWFwKChbXywgd29ya2Zsb3dzXSkgPT5cbiAgICAgICAgICB3b3JrZmxvd3MubWFwKCh3b3JrZmxvdykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsU2V0dGxlZChbXG4gICAgICAgICAgICAgIC4uLndvcmtmbG93LnNjaGVkdWxlcy5tYXAoKHNjaGVkdWxlKSA9PiB0aGlzLnVuc2NoZWR1bGVUYXNrKHNjaGVkdWxlLm5hbWUpKSxcbiAgICAgICAgICAgICAgdGhpcy51bnJlZ2lzdGVyV29ya2Zsb3cod29ya2Zsb3cpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIC8vIDIuIOyDiOuhnCDstpTqsIDrkJwg7YyM7J287J2AIOydvOq0hCDrk7HroZ1cbiAgICBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoXG4gICAgICBBcnJheS5mcm9tKHdvcmtmbG93TWFwLmVudHJpZXMoKSlcbiAgICAgICAgLmZpbHRlcigoW2tleV0pID0+ICF0aGlzLiN3b3JrZmxvd3NNYXAuaGFzKGtleSkpXG4gICAgICAgIC5mbGF0TWFwKChbXywgd29ya2Zsb3dzXSkgPT5cbiAgICAgICAgICB3b3JrZmxvd3MubWFwKCh3b3JrZmxvdykgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlcldvcmtmbG93KHtcbiAgICAgICAgICAgICAgaWQ6IHdvcmtmbG93LmlkLFxuICAgICAgICAgICAgICBuYW1lOiB3b3JrZmxvdy5uYW1lLFxuICAgICAgICAgICAgICB2ZXJzaW9uOiB3b3JrZmxvdy52ZXJzaW9uID8/IG51bGwsXG4gICAgICAgICAgICAgIHNjaGVtYTogd29ya2Zsb3cuc2NoZW1hLFxuICAgICAgICAgICAgICBmdW5jdGlvbjogd29ya2Zsb3cuZm4sXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsU2V0dGxlZChcbiAgICAgICAgICAgICAgd29ya2Zsb3cuc2NoZWR1bGVzLm1hcCgoc2NoZWR1bGUpID0+IHRoaXMuc2NoZWR1bGVUYXNrKHdvcmtmbG93LCBzY2hlZHVsZSkpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgLy8gMy4g6riw7KG06rO8IOuLpOuluCDqsoPsnYQgZGlmZuy5nCDri6TsnYwsIOyCreygnCDtm4Qg7J6s65Ox66GdXG4gICAgYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFxuICAgICAgQXJyYXkuZnJvbSh3b3JrZmxvd01hcC5lbnRyaWVzKCkpXG4gICAgICAgIC5maWx0ZXIoKFtrZXldKSA9PiB0aGlzLiN3b3JrZmxvd3NNYXAuaGFzKGtleSkpXG4gICAgICAgIC5tYXA8W3N0cmluZywgW1dvcmtmbG93TWV0YWRhdGFbXSwgV29ya2Zsb3dNZXRhZGF0YVtdXV0+KChba2V5LCBuZXdXb3JrZmxvd3NdKSA9PiB7XG4gICAgICAgICAgY29uc3QgcHJldmlvdXNXb3JrZmxvd3MgPSB0aGlzLiN3b3JrZmxvd3NNYXAuZ2V0KGtleSk7XG4gICAgICAgICAgYXNzZXJ0KHByZXZpb3VzV29ya2Zsb3dzLCBcInByZXZpb3VzIHdvcmtmbG93cyBub3QgZm91bmRcIik7XG4gICAgICAgICAgcmV0dXJuIFtrZXksIFtwcmV2aW91c1dvcmtmbG93cywgbmV3V29ya2Zsb3dzXV07XG4gICAgICAgIH0pXG4gICAgICAgIC5tYXAoYXN5bmMgKFtfLCBbcHJldmlvdXNXb3JrZmxvd3MsIG5ld1dvcmtmbG93c11dKSA9PiB7XG4gICAgICAgICAgLy8g6riw7KG0IOqyg+uTpOydhCDsgq3soJzrtoDthLAg7ZW07JW87ZWoLlxuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChcbiAgICAgICAgICAgIHByZXZpb3VzV29ya2Zsb3dzXG4gICAgICAgICAgICAgIC5maWx0ZXIoKHByZXZJdGVtKSA9PiAhbmV3V29ya2Zsb3dzLnNvbWUoKG5ld0l0ZW0pID0+IG5ld0l0ZW0uaWQgPT09IHByZXZJdGVtLmlkKSlcbiAgICAgICAgICAgICAgLm1hcCgocHJldkl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGxTZXR0bGVkKFtcbiAgICAgICAgICAgICAgICAgIC4uLnByZXZJdGVtLnNjaGVkdWxlcy5tYXAoKHNjaGVkdWxlKSA9PiB0aGlzLnVuc2NoZWR1bGVUYXNrKHNjaGVkdWxlLm5hbWUpKSxcbiAgICAgICAgICAgICAgICAgIHRoaXMudW5yZWdpc3RlcldvcmtmbG93KHByZXZJdGVtKSxcbiAgICAgICAgICAgICAgICBdKTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIC8vIOyDiOuhnCDstpTqsIDrkJwg6rKD65Ok7J2EIOuTseuhnVxuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChcbiAgICAgICAgICAgIG5ld1dvcmtmbG93c1xuICAgICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChuZXdJdGVtKSA9PiAhcHJldmlvdXNXb3JrZmxvd3Muc29tZSgocHJldkl0ZW0pID0+IHByZXZJdGVtLmlkID09PSBuZXdJdGVtLmlkKSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAubWFwKGFzeW5jIChuZXdJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWdpc3RlcldvcmtmbG93KHtcbiAgICAgICAgICAgICAgICAgIGlkOiBuZXdJdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgbmFtZTogbmV3SXRlbS5uYW1lLFxuICAgICAgICAgICAgICAgICAgdmVyc2lvbjogbmV3SXRlbS52ZXJzaW9uID8/IG51bGwsXG4gICAgICAgICAgICAgICAgICBzY2hlbWE6IG5ld0l0ZW0uc2NoZW1hLFxuICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IG5ld0l0ZW0uZm4sXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGxTZXR0bGVkKFxuICAgICAgICAgICAgICAgICAgbmV3SXRlbS5zY2hlZHVsZXMubWFwKChzY2hlZHVsZSkgPT4gdGhpcy5zY2hlZHVsZVRhc2sobmV3SXRlbSwgc2NoZWR1bGUpKSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICApO1xuXG4gICAgdGhpcy4jd29ya2Zsb3dzTWFwID0gd29ya2Zsb3dNYXA7XG4gIH1cblxuICAvLyDsm4ztgaztlIzroZzsmrDrpbwg7Iuk7ZaJXG4gIHJ1bjxJbnB1dCwgT3V0cHV0LCBUU2NoZW1hIGV4dGVuZHMgU3RhbmRhcmRTY2hlbWFWMSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZD4oXG4gICAgb3B0aW9uczogT21pdDxXb3JrZmxvd0NyZWF0ZU9wdGlvbnM8SW5wdXQsIE91dHB1dCwgVFNjaGVtYT4sIFwiZnVuY3Rpb25cIiB8IFwic2NoZW1hXCIgfCBcImlkXCI+LFxuICAgIGlucHV0OiBTY2hlbWFJbnB1dDxUU2NoZW1hLCBJbnB1dD4sXG4gICk6IFByb21pc2U8V29ya2Zsb3dSdW5IYW5kbGU8T3V0cHV0Pj4ge1xuICAgIHJldHVybiB0aGlzLiNvdy5ydW5Xb3JrZmxvdyhcbiAgICAgIHtcbiAgICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgICB2ZXJzaW9uOiBvcHRpb25zLnZlcnNpb24gPz8gdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICAgIGlucHV0LFxuICAgICk7XG4gIH1cblxuICAvLyBjcm9uIHRhc2vrpbwg65Ox66GdXG4gIGFzeW5jIHNjaGVkdWxlVGFzayhcbiAgICB3b3JrZmxvdzogUGljazxXb3JrZmxvd01ldGFkYXRhLCBcImlkXCIgfCBcIm5hbWVcIiB8IFwidmVyc2lvblwiPixcbiAgICBzY2hlZHVsZTogV29ya2Zsb3dNZXRhZGF0YVtcInNjaGVkdWxlc1wiXVtudW1iZXJdLFxuICApIHtcbiAgICBjb25zdCB0YXNrID0gY3JvblNjaGVkdWxlKFxuICAgICAgc2NoZWR1bGUuZXhwcmVzc2lvbixcbiAgICAgIChhc3luYyAoXG4gICAgICAgIHsgbmFtZSwgdmVyc2lvbiB9OiBQaWNrPFdvcmtmbG93TWV0YWRhdGEsIFwibmFtZVwiIHwgXCJ2ZXJzaW9uXCI+LFxuICAgICAgICB7IGlucHV0IH06IFdvcmtmbG93TWV0YWRhdGFbXCJzY2hlZHVsZXNcIl1bbnVtYmVyXSxcbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBpbnB1dERhdGEgPSBhd2FpdCAodHlwZW9mIGlucHV0ID09PSBcImZ1bmN0aW9uXCJcbiAgICAgICAgICA/IFByb21pc2UucmVzb2x2ZShpbnB1dCgpKVxuICAgICAgICAgIDogUHJvbWlzZS5yZXNvbHZlKGlucHV0KSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucnVuKHsgbmFtZSwgdmVyc2lvbjogdmVyc2lvbiA/PyBudWxsIH0sIGlucHV0RGF0YSk7XG4gICAgICB9KS5iaW5kKHRoaXMsIHdvcmtmbG93LCBzY2hlZHVsZSksXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHNjaGVkdWxlLm5hbWUsXG4gICAgICAgIHRpbWV6b25lOiBTb25hbXUuY29uZmlnLmFwaS50aW1lem9uZSxcbiAgICAgICAgbm9PdmVybGFwOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHRoaXMuI3NjaGVkdWxlZFRhc2tzLnNldChzY2hlZHVsZS5uYW1lLCB7XG4gICAgICB0YXNrLFxuICAgICAgaW5wdXRGbjogc2NoZWR1bGUuaW5wdXQsXG4gICAgICB3b3JrZmxvd0lkOiB3b3JrZmxvdy5pZCxcbiAgICB9KTtcbiAgICBhd2FpdCB0YXNrLnN0YXJ0KCk7XG4gIH1cblxuICAvLyBjcm9uIHRhc2vrpbwg7KSR7KeAXG4gIGFzeW5jIHVuc2NoZWR1bGVUYXNrKG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IHRhc2tJdGVtID0gdGhpcy4jc2NoZWR1bGVkVGFza3MuZ2V0KG5hbWUpO1xuICAgIGlmICghdGFza0l0ZW0pIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJzY2hlZHVsZWQgdGFzayBub3QgZm91bmRcIiwgbmFtZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy4jc2NoZWR1bGVkVGFza3MuZGVsZXRlKG5hbWUpO1xuICAgIGF3YWl0IHRhc2tJdGVtLnRhc2suc3RvcCgpO1xuICAgIGF3YWl0IHRhc2tJdGVtLnRhc2suZGVzdHJveSgpO1xuICB9XG5cbiAgLy8g7JuM7YGs7ZSM66Gc7Jqw66W8IOuTseuhnSwg6rSA66Co65CcIOyKpOy8gOykhOydgCDrs4Trj4TroZwg65Ox66Gd7ZW07JW8IO2VqC5cbiAgcmVnaXN0ZXJXb3JrZmxvdzxJbnB1dCwgT3V0cHV0LCBUU2NoZW1hIGV4dGVuZHMgU3RhbmRhcmRTY2hlbWFWMSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZD4oXG4gICAgb3B0aW9uczogV29ya2Zsb3dDcmVhdGVPcHRpb25zPElucHV0LCBPdXRwdXQsIFRTY2hlbWE+LFxuICApOiBSdW5uYWJsZVdvcmtmbG93PFNjaGVtYU91dHB1dDxUU2NoZW1hLCBJbnB1dD4sIE91dHB1dCwgU2NoZW1hSW5wdXQ8VFNjaGVtYSwgSW5wdXQ+PiB7XG4gICAgY29uc3QgZm4gPSBhc3luYyAoXG4gICAgICBwYXJhbXM6IFJlYWRvbmx5PHtcbiAgICAgICAgaW5wdXQ6IFNjaGVtYU91dHB1dDxUU2NoZW1hLCBJbnB1dD47XG4gICAgICAgIHN0ZXA6IFN0ZXBBcGk7XG4gICAgICAgIHZlcnNpb246IHN0cmluZyB8IG51bGw7XG4gICAgICB9PixcbiAgICApID0+IHtcbiAgICAgIGNvbnN0IGJhc2VDb250ZXh0ID0ge1xuICAgICAgICByZXF1ZXN0OiBudWxsLFxuICAgICAgICByZXBseTogbnVsbCxcbiAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgIGNyZWF0ZVNTRTogKHNjaGVtYTogWm9kT2JqZWN0KSA9PiBjcmVhdGVNb2NrU1NFRmFjdG9yeShzY2hlbWEpLFxuICAgICAgICBuYWl0ZVN0b3JlOiBOYWl0ZS5jcmVhdGVTdG9yZSgpLFxuICAgICAgICB1c2VyOiBudWxsLFxuICAgICAgICBwYXNzcG9ydDoge1xuICAgICAgICAgIGxvZ2luOiBhc3luYyAoKSA9PiB7fSxcbiAgICAgICAgICBsb2dvdXQ6ICgpID0+IHt9LFxuICAgICAgICB9LFxuICAgICAgfSBhcyB1bmtub3duIGFzIENvbnRleHQ7XG5cbiAgICAgIGNvbnN0IGNvbnRleHRQcm92aWRlciA9IFNvbmFtdS5jb25maWcudGFza3M/LmNvbnRleHRQcm92aWRlcjtcbiAgICAgIGNvbnN0IGNvbnRleHQ6IENvbnRleHQgPSBjb250ZXh0UHJvdmlkZXJcbiAgICAgICAgPyBhd2FpdCBQcm9taXNlLnJlc29sdmUoY29udGV4dFByb3ZpZGVyKGJhc2VDb250ZXh0KSlcbiAgICAgICAgOiBiYXNlQ29udGV4dDtcblxuICAgICAgY29uc3Qgc3RlcCA9IG5ldyBTdGVwV3JhcHBlcihwYXJhbXMuc3RlcCk7XG4gICAgICByZXR1cm4gU29uYW11LmFzeW5jTG9jYWxTdG9yYWdlLnJ1bih7IGNvbnRleHQgfSwgKCkgPT5cbiAgICAgICAgb3B0aW9ucy5mdW5jdGlvbih7IGlucHV0OiBwYXJhbXMuaW5wdXQsIHN0ZXAsIHZlcnNpb246IHBhcmFtcy52ZXJzaW9uIH0pLFxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgd29ya2Zsb3cgPSB0aGlzLiNvdy5kZWZpbmVXb3JrZmxvdyhcbiAgICAgIHtcbiAgICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgICB2ZXJzaW9uOiBvcHRpb25zLnZlcnNpb24gPz8gdW5kZWZpbmVkLFxuICAgICAgICBzY2hlbWE6IG9wdGlvbnMuc2NoZW1hLFxuICAgICAgfSxcbiAgICAgIGZuLFxuICAgICk7XG4gICAgcmV0dXJuIHdvcmtmbG93O1xuICB9XG5cbiAgLy8g7JuM7YGs7ZSM66Gc7Jqw66W8IOuTseuhnSDtlbTsoJwsIOq0gOugqOuQnCDsiqTsvIDspITsnYAg67OE64+E66GcIO2VtOygnO2VtOyVvCDtlaguXG4gIGFzeW5jIHVucmVnaXN0ZXJXb3JrZmxvdyh3b3JrZmxvdzogUGljazxXb3JrZmxvd01ldGFkYXRhLCBcIm5hbWVcIiB8IFwidmVyc2lvblwiIHwgXCJpZFwiPikge1xuICAgIHRoaXMuI293LnVucmVnaXN0ZXJXb3JrZmxvdyh3b3JrZmxvdy5uYW1lLCB3b3JrZmxvdy52ZXJzaW9uID8/IG51bGwpO1xuICB9XG5cbiAgLy8gV29ya2Vy66W8IOyEpOyglSDtm4Qg7Iuc7J6RXG4gIHNldHVwV29ya2VyKG9wdGlvbnM6IFdvcmtmbG93T3B0aW9ucykge1xuICAgIHRoaXMuI3dvcmtlciA9IHRoaXMuI293Lm5ld1dvcmtlcihvcHRpb25zKTtcbiAgfVxuXG4gIC8vIFdvcmtlcuulvCDstIjquLDtmZRcbiAgYXN5bmMgc3RhcnRXb3JrZXIoKSB7XG4gICAgaWYgKCF0aGlzLiN3b3JrZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLiNiYWNrZW5kLmluaXRpYWxpemUoKTtcbiAgICBhd2FpdCB0aGlzLiN3b3JrZXI/LnN0YXJ0KCk7XG4gIH1cblxuICAvLyBXb3JrZXLrpbwg7KSR7KeAXG4gIGFzeW5jIHN0b3BXb3JrZXIoKSB7XG4gICAgYXdhaXQgdGhpcy4jd29ya2VyPy5zdG9wKCk7XG4gIH1cblxuICAvLyBjcm9uIHRhc2vrk6TsnYQg66qo65GQIOykkeyngFxuICBhc3luYyBzdG9wU2NoZWR1bGVzKCkge1xuICAgIGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChcbiAgICAgIEFycmF5LmZyb20odGhpcy4jc2NoZWR1bGVkVGFza3MudmFsdWVzKCkpLm1hcCgoeyB0YXNrIH0pID0+IFByb21pc2UucmVzb2x2ZSh0YXNrLnN0b3AoKSkpLFxuICAgICk7XG4gIH1cblxuICAvLyBjcm9uIHRhc2vrk6TsnYQg66qo65GQIOygleumrFxuICBhc3luYyBkZXN0cm95U2NoZWR1bGVzKCkge1xuICAgIGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChcbiAgICAgIEFycmF5LmZyb20odGhpcy4jc2NoZWR1bGVkVGFza3MudmFsdWVzKCkpLm1hcCgoeyB0YXNrIH0pID0+IFByb21pc2UucmVzb2x2ZSh0YXNrLmRlc3Ryb3koKSkpLFxuICAgICk7XG4gICAgdGhpcy4jc2NoZWR1bGVkVGFza3MuY2xlYXIoKTtcbiAgfVxuXG4gIGFzeW5jIGRlc3Ryb3koKSB7XG4gICAgYXdhaXQgdGhpcy5zdG9wU2NoZWR1bGVzKCk7XG4gICAgYXdhaXQgdGhpcy5zdG9wV29ya2VyKCk7XG4gICAgYXdhaXQgdGhpcy5kZXN0cm95U2NoZWR1bGVzKCk7XG4gICAgYXdhaXQgdGhpcy4jYmFja2VuZC5zdG9wKCk7XG4gIH1cblxuICBbU3ltYm9sLmFzeW5jRGlzcG9zZV0oKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVzdHJveSgpO1xuICB9XG59XG4iXSwibmFtZXMiOlsiQmFja2VuZFBvc3RncmVzIiwiT3BlbldvcmtmbG93IiwiYXNzZXJ0Iiwic2NoZWR1bGUiLCJjcm9uU2NoZWR1bGUiLCJTb25hbXUiLCJOYWl0ZSIsImNyZWF0ZU1vY2tTU0VGYWN0b3J5IiwiU3RlcFdyYXBwZXIiLCJXb3JrZmxvd01hbmFnZXIiLCJkYkNvbmYiLCJydW5NaWdyYXRpb25zIiwiYmFja2VuZCIsIk1hcCIsInN5bmNocm9uaXplIiwid29ya2Zsb3dNYXAiLCJQcm9taXNlIiwiYWxsU2V0dGxlZCIsIkFycmF5IiwiZnJvbSIsImVudHJpZXMiLCJmaWx0ZXIiLCJrZXkiLCJoYXMiLCJmbGF0TWFwIiwiXyIsIndvcmtmbG93cyIsIm1hcCIsIndvcmtmbG93Iiwic2NoZWR1bGVzIiwidW5zY2hlZHVsZVRhc2siLCJuYW1lIiwidW5yZWdpc3RlcldvcmtmbG93IiwicmVnaXN0ZXJXb3JrZmxvdyIsImlkIiwidmVyc2lvbiIsInNjaGVtYSIsImZ1bmN0aW9uIiwiZm4iLCJzY2hlZHVsZVRhc2siLCJuZXdXb3JrZmxvd3MiLCJwcmV2aW91c1dvcmtmbG93cyIsImdldCIsInByZXZJdGVtIiwic29tZSIsIm5ld0l0ZW0iLCJydW4iLCJvcHRpb25zIiwiaW5wdXQiLCJydW5Xb3JrZmxvdyIsInVuZGVmaW5lZCIsInRhc2siLCJleHByZXNzaW9uIiwiaW5wdXREYXRhIiwicmVzb2x2ZSIsImJpbmQiLCJ0aW1lem9uZSIsImNvbmZpZyIsImFwaSIsIm5vT3ZlcmxhcCIsInNldCIsImlucHV0Rm4iLCJ3b3JrZmxvd0lkIiwic3RhcnQiLCJ0YXNrSXRlbSIsImNvbnNvbGUiLCJlcnJvciIsImRlbGV0ZSIsInN0b3AiLCJkZXN0cm95IiwicGFyYW1zIiwiYmFzZUNvbnRleHQiLCJyZXF1ZXN0IiwicmVwbHkiLCJoZWFkZXJzIiwiY3JlYXRlU1NFIiwibmFpdGVTdG9yZSIsImNyZWF0ZVN0b3JlIiwidXNlciIsInBhc3Nwb3J0IiwibG9naW4iLCJsb2dvdXQiLCJjb250ZXh0UHJvdmlkZXIiLCJ0YXNrcyIsImNvbnRleHQiLCJzdGVwIiwiYXN5bmNMb2NhbFN0b3JhZ2UiLCJkZWZpbmVXb3JrZmxvdyIsInNldHVwV29ya2VyIiwibmV3V29ya2VyIiwic3RhcnRXb3JrZXIiLCJpbml0aWFsaXplIiwic3RvcFdvcmtlciIsInN0b3BTY2hlZHVsZXMiLCJ2YWx1ZXMiLCJkZXN0cm95U2NoZWR1bGVzIiwiY2xlYXIiLCJTeW1ib2wiLCJhc3luY0Rpc3Bvc2UiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGVBQWUsRUFBRUMsWUFBWSxRQUFxQixvQkFBb0I7QUFVL0UsT0FBT0MsWUFBWSxTQUFTO0FBRTVCLFNBQVNDLFlBQVlDLFlBQVksUUFBNEIsWUFBWTtBQUd6RSxTQUFTQyxNQUFNLFFBQVEsbUJBQWdCO0FBQ3ZDLFNBQVNDLEtBQUssUUFBUSxvQkFBaUI7QUFDdkMsU0FBU0Msb0JBQW9CLFFBQVEsbUJBQWdCO0FBR3JELFNBQVNDLFdBQVcsUUFBUSxvQkFBaUI7QUFvQzdDLE9BQU8sTUFBTUM7SUFDWCxlQUFlO0lBQ04sQ0FBQSxPQUFRLENBQWtCO0lBRW5DLG9CQUFvQjtJQUNYLENBQUEsRUFBRyxDQUFlO0lBRTNCLGdFQUFnRTtJQUNoRSxDQUFBLE1BQU8sQ0FBZ0I7SUFFdkIsa0NBQWtDO0lBQ2xDLENBQUEsWUFBYSxDQUFrQztJQUUvQyw0Q0FBNEM7SUFDNUMsQ0FBQSxjQUFlLENBT2I7SUFFRiwyREFBMkQ7SUFDM0QsWUFBWUMsTUFBbUIsRUFBRUMsZ0JBQXlCLElBQUksQ0FBRTtRQUM5RCxNQUFNQyxVQUFVLElBQUlaLGdCQUFnQlUsUUFBUTtZQUFFQztR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
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YXNrcy93b3JrZmxvdy1tYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldExvZ2dlciwgdHlwZSBMb2dnZXIgfSBmcm9tIFwiQGxvZ3RhcGUvbG9ndGFwZVwiO1xuaW1wb3J0IHsgQmFja2VuZFBvc3RncmVzLCBPcGVuV29ya2Zsb3csIHR5cGUgV29ya2VyIH0gZnJvbSBcIkBzb25hbXUta2l0L3Rhc2tzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIFJ1bm5hYmxlV29ya2Zsb3csXG4gIFNjaGVtYUlucHV0LFxuICBTY2hlbWFPdXRwdXQsXG4gIFN0YW5kYXJkU2NoZW1hVjEsXG4gIFN0ZXBBcGksXG4gIFdvcmtmbG93UnVuSGFuZGxlLFxuICBXb3JrZmxvd1NwZWMsXG59IGZyb20gXCJAc29uYW11LWtpdC90YXNrcy9pbnRlcm5hbFwiO1xuaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCI7XG5pbXBvcnQgdHlwZSB7IEtuZXggfSBmcm9tIFwia25leFwiO1xuaW1wb3J0IHsgc2NoZWR1bGUgYXMgY3JvblNjaGVkdWxlLCB0eXBlIFNjaGVkdWxlZFRhc2sgfSBmcm9tIFwibm9kZS1jcm9uXCI7XG5pbXBvcnQgdHlwZSB7IFpvZE9iamVjdCB9IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB0eXBlIHsgQ29udGV4dCB9IGZyb20gXCIuLi9hcGkvY29udGV4dFwiO1xuaW1wb3J0IHsgU29uYW11IH0gZnJvbSBcIi4uL2FwaS9zb25hbXVcIjtcbmltcG9ydCB7IGNvbnZlcnREb21haW5Ub0NhdGVnb3J5IH0gZnJvbSBcIi4uL2xvZ2dlci9jYXRlZ29yeVwiO1xuaW1wb3J0IHsgTmFpdGUgfSBmcm9tIFwiLi4vbmFpdGUvbmFpdGVcIjtcbmltcG9ydCB7IGNyZWF0ZU1vY2tTU0VGYWN0b3J5IH0gZnJvbSBcIi4uL3N0cmVhbS9zc2VcIjtcbmltcG9ydCB0eXBlIHsgRXhlY3V0YWJsZSB9IGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBXb3JrZmxvd01ldGFkYXRhIH0gZnJvbSBcIi4vZGVjb3JhdG9yXCI7XG5pbXBvcnQgeyBTdGVwV3JhcHBlciB9IGZyb20gXCIuL3N0ZXAtd3JhcHBlclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93T3B0aW9ucyB7XG4gIC8vIHdvcmtlcuyXkOyEnCDrj5nsi5wg7Iuk7ZaJ7ZWgIO2DnOyKpO2BrCDsiJgsIOq4sOuzuOydgCBDUFUg7L2U7Ja0IOyImCAtIDHqsJxcbiAgY29uY3VycmVuY3k/OiBudW1iZXI7XG5cbiAgLy8gd29ya2Vy7JeQ7IScIOyCrOyaqe2VoCBwdWIvc3ViIOyXrOu2gCwg6riw67O47J2AIHRydWVcbiAgdXNlUHViU3ViPzogYm9vbGVhbjtcblxuICAvLyBwdWIvc3Vi7Jy866GcIO2DnOyKpO2BrOulvCDsiJjsi6DtlojsnYQg65WMIOybjO2BrO2UjOuhnOyasCDsi6TtlonquYzsp4Ag7KeA7JewIOyLnOqwhCwg6riw67O47J2AIDUwMG1zXG4gIGxpc3RlbkRlbGF5PzogbnVtYmVyO1xufVxuXG4vLyBXb3JrZmxvdyDtlajsiJjsnZgg7YOA7J6FLCBAc29uYW11LWtpdC90YXNrc+yZgCDri6Trpbgg7KCQ7J2AIHN0ZXDsnYQg7ZWc67KIIOqwkOyLvCDtmJXtg5wuXG5leHBvcnQgdHlwZSBXb3JrZmxvd0Z1bmN0aW9uPElucHV0LCBPdXRwdXQ+ID0gKFxuICBwYXJhbXM6IFJlYWRvbmx5PHtcbiAgICBsb2dnZXI6IExvZ2dlcjtcbiAgICBpbnB1dDogSW5wdXQ7XG4gICAgc3RlcDogU3RlcFdyYXBwZXI7XG4gICAgdmVyc2lvbjogc3RyaW5nIHwgbnVsbDtcbiAgfT4sXG4pID0+IFByb21pc2U8T3V0cHV0PiB8IE91dHB1dDtcblxuLy8gV29ya2Zsb3frpbwg65Ox66Gd7ZWgIOuVjOulvCDsnITtlZwg7YOA7J6FXG5leHBvcnQgdHlwZSBXb3JrZmxvd0NyZWF0ZU9wdGlvbnM8XG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRTY2hlbWEgZXh0ZW5kcyBTdGFuZGFyZFNjaGVtYVYxIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuPiA9IE9taXQ8XG4gIFdvcmtmbG93U3BlYzxTY2hlbWFPdXRwdXQ8VFNjaGVtYSwgSW5wdXQ+LCBPdXRwdXQsIFNjaGVtYUlucHV0PFRTY2hlbWEsIElucHV0Pj4sXG4gIFwidmVyc2lvblwiXG4+ICYge1xuICBpZDogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmcgfCBudWxsO1xuICBmdW5jdGlvbjogV29ya2Zsb3dGdW5jdGlvbjxTY2hlbWFPdXRwdXQ8VFNjaGVtYSwgSW5wdXQ+LCBPdXRwdXQ+O1xufTtcblxuZXhwb3J0IGNsYXNzIFdvcmtmbG93TWFuYWdlciB7XG4gIC8vIGJhY2tlbmQg7J247Iqk7YS07IqkXG4gIHJlYWRvbmx5ICNiYWNrZW5kOiBCYWNrZW5kUG9zdGdyZXM7XG5cbiAgLy8gT3BlbldvcmtmbG93IOyduOyKpO2EtOyKpFxuICByZWFkb25seSAjb3c6IE9wZW5Xb3JrZmxvdztcblxuICAvLyBXb3JrZXIg7J247Iqk7YS07IqkICjsl4bsnYQg7IiYIOyeiOycvOupsCwg7J20IOuVjOuKlCDrtoTsgrDrkJwg7ISc67KEIO2ZmOqyveyXkOyEnCBEQuyXkCBwdWJsaXNo66eMIO2VnOuLpOqzoCDqsIDsoJXtlagpXG4gICN3b3JrZXI6IFdvcmtlciB8IG51bGw7XG5cbiAgLy8g7YyM7J28IOqyveuhnCAtPiDtjIzsnbzsl5Ag7KCV7J2Y65CcIOybjO2BrO2UjOuhnOyasCDrqZTtg4DrjbDsnbTthLAg66qp66GdXG4gICN3b3JrZmxvd3NNYXA6IE1hcDxzdHJpbmcsIFdvcmtmbG93TWV0YWRhdGFbXT47XG5cbiAgLy8gVGFzayDsnbTrpoQgLT4gVGFzayDsoJXrs7Qg67CPIElucHV0IOqwkiwgV29ya2Zsb3cgSURcbiAgI3NjaGVkdWxlZFRhc2tzOiBNYXA8XG4gICAgc3RyaW5nLFxuICAgIHtcbiAgICAgIHRhc2s6IFNjaGVkdWxlZFRhc2s7XG4gICAgICBpbnB1dEZuOiBFeGVjdXRhYmxlPFNjaGVtYUlucHV0PHVua25vd24sIHVua25vd24+PjtcbiAgICAgIHdvcmtmbG93SWQ6IHN0cmluZztcbiAgICB9XG4gID47XG5cbiAgLy8gQmFja2VuZFBvc3RncmVz7JeQ7IScIOyymOumrO2VmOuKlCDqsoPrk6TsnbQg7J6I7Ja07IScIEtuZXgg7Luk64Sl7IWY7J20IOyVhOuLiOudvCDshKTsoJXqsJLsnYQg64Sj7Ja07KSY7JW87ZWoLlxuICBjb25zdHJ1Y3RvcihkYkNvbmY6IEtuZXguQ29uZmlnLCBydW5NaWdyYXRpb25zOiBib29sZWFuID0gdHJ1ZSkge1xuICAgIGNvbnN0IGJhY2tlbmQgPSBuZXcgQmFja2VuZFBvc3RncmVzKGRiQ29uZiwgeyBydW5NaWdyYXRpb25zIH0pO1xuXG4gICAgdGhpcy4jYmFja2VuZCA9IGJhY2tlbmQ7XG4gICAgdGhpcy4jb3cgPSBuZXcgT3BlbldvcmtmbG93KHsgYmFja2VuZCB9KTtcbiAgICB0aGlzLiN3b3JrZXIgPSBudWxsO1xuXG4gICAgdGhpcy4jd29ya2Zsb3dzTWFwID0gbmV3IE1hcCgpO1xuICAgIHRoaXMuI3NjaGVkdWxlZFRhc2tzID0gbmV3IE1hcCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOygleydmOuQnCDsm4ztgaztlIzroZzsmrAg67CPIOybjO2BrO2UjOuhnOyasOyXkCDrjIDtlZwgc2NoZWR1bGVkIHRhc2tz66W8IOuPmeq4sO2ZlO2VqeuLiOuLpC5cbiAgICovXG4gIGFzeW5jIHN5bmNocm9uaXplKHdvcmtmbG93TWFwOiBNYXA8c3RyaW5nLCBXb3JrZmxvd01ldGFkYXRhW10+KSB7XG4gICAgLy8gMS4g7IKt7KCc65CcIO2MjOydvOydgCDsnbzqtIQg7IKt7KCcXG4gICAgYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFxuICAgICAgQXJyYXkuZnJvbSh0aGlzLiN3b3JrZmxvd3NNYXAuZW50cmllcygpKVxuICAgICAgICAuZmlsdGVyKChba2V5XSkgPT4gIXdvcmtmbG93TWFwLmhhcyhrZXkpKVxuICAgICAgICAuZmxhdE1hcCgoW18sIHdvcmtmbG93c10pID0+XG4gICAgICAgICAgd29ya2Zsb3dzLm1hcCgod29ya2Zsb3cpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbFNldHRsZWQoW1xuICAgICAgICAgICAgICAuLi53b3JrZmxvdy5zY2hlZHVsZXMubWFwKChzY2hlZHVsZSkgPT4gdGhpcy51bnNjaGVkdWxlVGFzayhzY2hlZHVsZS5uYW1lKSksXG4gICAgICAgICAgICAgIHRoaXMudW5yZWdpc3RlcldvcmtmbG93KHdvcmtmbG93KSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICAvLyAyLiDsg4jroZwg7LaU6rCA65CcIO2MjOydvOydgCDsnbzqtIQg65Ox66GdXG4gICAgYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFxuICAgICAgQXJyYXkuZnJvbSh3b3JrZmxvd01hcC5lbnRyaWVzKCkpXG4gICAgICAgIC5maWx0ZXIoKFtrZXldKSA9PiAhdGhpcy4jd29ya2Zsb3dzTWFwLmhhcyhrZXkpKVxuICAgICAgICAuZmxhdE1hcCgoW18sIHdvcmtmbG93c10pID0+XG4gICAgICAgICAgd29ya2Zsb3dzLm1hcCgod29ya2Zsb3cpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJXb3JrZmxvdyh7XG4gICAgICAgICAgICAgIGlkOiB3b3JrZmxvdy5pZCxcbiAgICAgICAgICAgICAgbmFtZTogd29ya2Zsb3cubmFtZSxcbiAgICAgICAgICAgICAgdmVyc2lvbjogd29ya2Zsb3cudmVyc2lvbiA/PyBudWxsLFxuICAgICAgICAgICAgICBzY2hlbWE6IHdvcmtmbG93LnNjaGVtYSxcbiAgICAgICAgICAgICAgZnVuY3Rpb246IHdvcmtmbG93LmZuLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbFNldHRsZWQoXG4gICAgICAgICAgICAgIHdvcmtmbG93LnNjaGVkdWxlcy5tYXAoKHNjaGVkdWxlKSA9PiB0aGlzLnNjaGVkdWxlVGFzayh3b3JrZmxvdywgc2NoZWR1bGUpKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIC8vIDMuIOq4sOyhtOqzvCDri6Trpbgg6rKD7J2EIGRpZmbsuZwg64uk7J2MLCDsgq3soJwg7ZuEIOyerOuTseuhnVxuICAgIGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChcbiAgICAgIEFycmF5LmZyb20od29ya2Zsb3dNYXAuZW50cmllcygpKVxuICAgICAgICAuZmlsdGVyKChba2V5XSkgPT4gdGhpcy4jd29ya2Zsb3dzTWFwLmhhcyhrZXkpKVxuICAgICAgICAubWFwPFtzdHJpbmcsIFtXb3JrZmxvd01ldGFkYXRhW10sIFdvcmtmbG93TWV0YWRhdGFbXV1dPigoW2tleSwgbmV3V29ya2Zsb3dzXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHByZXZpb3VzV29ya2Zsb3dzID0gdGhpcy4jd29ya2Zsb3dzTWFwLmdldChrZXkpO1xuICAgICAgICAgIGFzc2VydChwcmV2aW91c1dvcmtmbG93cywgXCJwcmV2aW91cyB3b3JrZmxvd3Mgbm90IGZvdW5kXCIpO1xuICAgICAgICAgIHJldHVybiBba2V5LCBbcHJldmlvdXNXb3JrZmxvd3MsIG5ld1dvcmtmbG93c11dO1xuICAgICAgICB9KVxuICAgICAgICAubWFwKGFzeW5jIChbXywgW3ByZXZpb3VzV29ya2Zsb3dzLCBuZXdXb3JrZmxvd3NdXSkgPT4ge1xuICAgICAgICAgIC8vIOq4sOyhtCDqsoPrk6TsnYQg7IKt7KCc67aA7YSwIO2VtOyVvO2VqC5cbiAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoXG4gICAgICAgICAgICBwcmV2aW91c1dvcmtmbG93c1xuICAgICAgICAgICAgICAuZmlsdGVyKChwcmV2SXRlbSkgPT4gIW5ld1dvcmtmbG93cy5zb21lKChuZXdJdGVtKSA9PiBuZXdJdGVtLmlkID09PSBwcmV2SXRlbS5pZCkpXG4gICAgICAgICAgICAgIC5tYXAoKHByZXZJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsU2V0dGxlZChbXG4gICAgICAgICAgICAgICAgICAuLi5wcmV2SXRlbS5zY2hlZHVsZXMubWFwKChzY2hlZHVsZSkgPT4gdGhpcy51bnNjaGVkdWxlVGFzayhzY2hlZHVsZS5uYW1lKSksXG4gICAgICAgICAgICAgICAgICB0aGlzLnVucmVnaXN0ZXJXb3JrZmxvdyhwcmV2SXRlbSksXG4gICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICAvLyDsg4jroZwg7LaU6rCA65CcIOqyg+uTpOydhCDrk7HroZ1cbiAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoXG4gICAgICAgICAgICBuZXdXb3JrZmxvd3NcbiAgICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICAobmV3SXRlbSkgPT4gIXByZXZpb3VzV29ya2Zsb3dzLnNvbWUoKHByZXZJdGVtKSA9PiBwcmV2SXRlbS5pZCA9PT0gbmV3SXRlbS5pZCksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLm1hcChhc3luYyAobmV3SXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJXb3JrZmxvdyh7XG4gICAgICAgICAgICAgICAgICBpZDogbmV3SXRlbS5pZCxcbiAgICAgICAgICAgICAgICAgIG5hbWU6IG5ld0l0ZW0ubmFtZSxcbiAgICAgICAgICAgICAgICAgIHZlcnNpb246IG5ld0l0ZW0udmVyc2lvbiA/PyBudWxsLFxuICAgICAgICAgICAgICAgICAgc2NoZW1hOiBuZXdJdGVtLnNjaGVtYSxcbiAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uOiBuZXdJdGVtLmZuLFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsU2V0dGxlZChcbiAgICAgICAgICAgICAgICAgIG5ld0l0ZW0uc2NoZWR1bGVzLm1hcCgoc2NoZWR1bGUpID0+IHRoaXMuc2NoZWR1bGVUYXNrKG5ld0l0ZW0sIHNjaGVkdWxlKSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgKTtcblxuICAgIHRoaXMuI3dvcmtmbG93c01hcCA9IHdvcmtmbG93TWFwO1xuICB9XG5cbiAgLy8g7JuM7YGs7ZSM66Gc7Jqw66W8IOyLpO2WiVxuICBydW48SW5wdXQsIE91dHB1dCwgVFNjaGVtYSBleHRlbmRzIFN0YW5kYXJkU2NoZW1hVjEgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+KFxuICAgIG9wdGlvbnM6IE9taXQ8V29ya2Zsb3dDcmVhdGVPcHRpb25zPElucHV0LCBPdXRwdXQsIFRTY2hlbWE+LCBcImZ1bmN0aW9uXCIgfCBcInNjaGVtYVwiIHwgXCJpZFwiPixcbiAgICBpbnB1dDogU2NoZW1hSW5wdXQ8VFNjaGVtYSwgSW5wdXQ+LFxuICApOiBQcm9taXNlPFdvcmtmbG93UnVuSGFuZGxlPE91dHB1dD4+IHtcbiAgICByZXR1cm4gdGhpcy4jb3cucnVuV29ya2Zsb3coXG4gICAgICB7XG4gICAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgICAgdmVyc2lvbjogb3B0aW9ucy52ZXJzaW9uID8/IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgICBpbnB1dCxcbiAgICApO1xuICB9XG5cbiAgLy8gY3JvbiB0YXNr66W8IOuTseuhnVxuICBhc3luYyBzY2hlZHVsZVRhc2soXG4gICAgd29ya2Zsb3c6IFBpY2s8V29ya2Zsb3dNZXRhZGF0YSwgXCJpZFwiIHwgXCJuYW1lXCIgfCBcInZlcnNpb25cIj4sXG4gICAgc2NoZWR1bGU6IFdvcmtmbG93TWV0YWRhdGFbXCJzY2hlZHVsZXNcIl1bbnVtYmVyXSxcbiAgKSB7XG4gICAgY29uc3QgdGFzayA9IGNyb25TY2hlZHVsZShcbiAgICAgIHNjaGVkdWxlLmV4cHJlc3Npb24sXG4gICAgICAoYXN5bmMgKFxuICAgICAgICB7IG5hbWUsIHZlcnNpb24gfTogUGljazxXb3JrZmxvd01ldGFkYXRhLCBcIm5hbWVcIiB8IFwidmVyc2lvblwiPixcbiAgICAgICAgeyBpbnB1dCB9OiBXb3JrZmxvd01ldGFkYXRhW1wic2NoZWR1bGVzXCJdW251bWJlcl0sXG4gICAgICApID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXREYXRhID0gYXdhaXQgKHR5cGVvZiBpbnB1dCA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgICAgPyBQcm9taXNlLnJlc29sdmUoaW5wdXQoKSlcbiAgICAgICAgICA6IFByb21pc2UucmVzb2x2ZShpbnB1dCkpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnJ1bih7IG5hbWUsIHZlcnNpb246IHZlcnNpb24gPz8gbnVsbCB9LCBpbnB1dERhdGEpO1xuICAgICAgfSkuYmluZCh0aGlzLCB3b3JrZmxvdywgc2NoZWR1bGUpLFxuICAgICAge1xuICAgICAgICBuYW1lOiBzY2hlZHVsZS5uYW1lLFxuICAgICAgICB0aW1lem9uZTogU29uYW11LmNvbmZpZy5hcGkudGltZXpvbmUsXG4gICAgICAgIG5vT3ZlcmxhcDogZmFsc2UsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICB0aGlzLiNzY2hlZHVsZWRUYXNrcy5zZXQoc2NoZWR1bGUubmFtZSwge1xuICAgICAgdGFzayxcbiAgICAgIGlucHV0Rm46IHNjaGVkdWxlLmlucHV0LFxuICAgICAgd29ya2Zsb3dJZDogd29ya2Zsb3cuaWQsXG4gICAgfSk7XG4gICAgYXdhaXQgdGFzay5zdGFydCgpO1xuICB9XG5cbiAgLy8gY3JvbiB0YXNr66W8IOykkeyngFxuICBhc3luYyB1bnNjaGVkdWxlVGFzayhuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCB0YXNrSXRlbSA9IHRoaXMuI3NjaGVkdWxlZFRhc2tzLmdldChuYW1lKTtcbiAgICBpZiAoIXRhc2tJdGVtKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwic2NoZWR1bGVkIHRhc2sgbm90IGZvdW5kXCIsIG5hbWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuI3NjaGVkdWxlZFRhc2tzLmRlbGV0ZShuYW1lKTtcbiAgICBhd2FpdCB0YXNrSXRlbS50YXNrLnN0b3AoKTtcbiAgICBhd2FpdCB0YXNrSXRlbS50YXNrLmRlc3Ryb3koKTtcbiAgfVxuXG4gIC8vIOybjO2BrO2UjOuhnOyasOulvCDrk7HroZ0sIOq0gOugqOuQnCDsiqTsvIDspITsnYAg67OE64+E66GcIOuTseuhne2VtOyVvCDtlaguXG4gIHJlZ2lzdGVyV29ya2Zsb3c8SW5wdXQsIE91dHB1dCwgVFNjaGVtYSBleHRlbmRzIFN0YW5kYXJkU2NoZW1hVjEgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+KFxuICAgIG9wdGlvbnM6IFdvcmtmbG93Q3JlYXRlT3B0aW9uczxJbnB1dCwgT3V0cHV0LCBUU2NoZW1hPixcbiAgKTogUnVubmFibGVXb3JrZmxvdzxTY2hlbWFPdXRwdXQ8VFNjaGVtYSwgSW5wdXQ+LCBPdXRwdXQsIFNjaGVtYUlucHV0PFRTY2hlbWEsIElucHV0Pj4ge1xuICAgIGNvbnN0IGZuID0gYXN5bmMgKFxuICAgICAgcGFyYW1zOiBSZWFkb25seTx7XG4gICAgICAgIGlucHV0OiBTY2hlbWFPdXRwdXQ8VFNjaGVtYSwgSW5wdXQ+O1xuICAgICAgICBzdGVwOiBTdGVwQXBpO1xuICAgICAgICB2ZXJzaW9uOiBzdHJpbmcgfCBudWxsO1xuICAgICAgfT4sXG4gICAgKSA9PiB7XG4gICAgICBjb25zdCBiYXNlQ29udGV4dCA9IHtcbiAgICAgICAgcmVxdWVzdDogbnVsbCxcbiAgICAgICAgcmVwbHk6IG51bGwsXG4gICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICBjcmVhdGVTU0U6IChzY2hlbWE6IFpvZE9iamVjdCkgPT4gY3JlYXRlTW9ja1NTRUZhY3Rvcnkoc2NoZW1hKSxcbiAgICAgICAgbmFpdGVTdG9yZTogTmFpdGUuY3JlYXRlU3RvcmUoKSxcbiAgICAgICAgdXNlcjogbnVsbCxcbiAgICAgICAgcGFzc3BvcnQ6IHtcbiAgICAgICAgICBsb2dpbjogYXN5bmMgKCkgPT4ge30sXG4gICAgICAgICAgbG9nb3V0OiAoKSA9PiB7fSxcbiAgICAgICAgfSxcbiAgICAgIH0gYXMgdW5rbm93biBhcyBDb250ZXh0O1xuXG4gICAgICBjb25zdCBjb250ZXh0UHJvdmlkZXIgPSBTb25hbXUuY29uZmlnLnRhc2tzPy5jb250ZXh0UHJvdmlkZXI7XG4gICAgICBjb25zdCBjb250ZXh0OiBDb250ZXh0ID0gY29udGV4dFByb3ZpZGVyXG4gICAgICAgID8gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGNvbnRleHRQcm92aWRlcihiYXNlQ29udGV4dCkpXG4gICAgICAgIDogYmFzZUNvbnRleHQ7XG5cbiAgICAgIGNvbnN0IHN0ZXAgPSBuZXcgU3RlcFdyYXBwZXIocGFyYW1zLnN0ZXApO1xuICAgICAgcmV0dXJuIFNvbmFtdS5hc3luY0xvY2FsU3RvcmFnZS5ydW4oeyBjb250ZXh0IH0sICgpID0+XG4gICAgICAgIG9wdGlvbnMuZnVuY3Rpb24oe1xuICAgICAgICAgIGlucHV0OiBwYXJhbXMuaW5wdXQsXG4gICAgICAgICAgc3RlcCxcbiAgICAgICAgICB2ZXJzaW9uOiBwYXJhbXMudmVyc2lvbixcbiAgICAgICAgICBsb2dnZXI6IGdldExvZ2dlcihjb252ZXJ0RG9tYWluVG9DYXRlZ29yeShvcHRpb25zLm5hbWUsIFwid29ya2Zsb3dcIikpLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IHdvcmtmbG93ID0gdGhpcy4jb3cuZGVmaW5lV29ya2Zsb3coXG4gICAgICB7XG4gICAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgICAgdmVyc2lvbjogb3B0aW9ucy52ZXJzaW9uID8/IHVuZGVmaW5lZCxcbiAgICAgICAgc2NoZW1hOiBvcHRpb25zLnNjaGVtYSxcbiAgICAgIH0sXG4gICAgICBmbixcbiAgICApO1xuICAgIHJldHVybiB3b3JrZmxvdztcbiAgfVxuXG4gIC8vIOybjO2BrO2UjOuhnOyasOulvCDrk7HroZ0g7ZW07KCcLCDqtIDroKjrkJwg7Iqk7LyA7KSE7J2AIOuzhOuPhOuhnCDtlbTsoJztlbTslbwg7ZWoLlxuICBhc3luYyB1bnJlZ2lzdGVyV29ya2Zsb3cod29ya2Zsb3c6IFBpY2s8V29ya2Zsb3dNZXRhZGF0YSwgXCJuYW1lXCIgfCBcInZlcnNpb25cIiB8IFwiaWRcIj4pIHtcbiAgICB0aGlzLiNvdy51bnJlZ2lzdGVyV29ya2Zsb3cod29ya2Zsb3cubmFtZSwgd29ya2Zsb3cudmVyc2lvbiA/PyBudWxsKTtcbiAgfVxuXG4gIC8vIFdvcmtlcuulvCDshKTsoJUg7ZuEIOyLnOyekVxuICBzZXR1cFdvcmtlcihvcHRpb25zOiBXb3JrZmxvd09wdGlvbnMpIHtcbiAgICB0aGlzLiN3b3JrZXIgPSB0aGlzLiNvdy5uZXdXb3JrZXIob3B0aW9ucyk7XG4gIH1cblxuICAvLyBXb3JrZXLrpbwg7LSI6riw7ZmUXG4gIGFzeW5jIHN0YXJ0V29ya2VyKCkge1xuICAgIGlmICghdGhpcy4jd29ya2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy4jYmFja2VuZC5pbml0aWFsaXplKCk7XG4gICAgYXdhaXQgdGhpcy4jd29ya2VyPy5zdGFydCgpO1xuICB9XG5cbiAgLy8gV29ya2Vy66W8IOykkeyngFxuICBhc3luYyBzdG9wV29ya2VyKCkge1xuICAgIGF3YWl0IHRoaXMuI3dvcmtlcj8uc3RvcCgpO1xuICB9XG5cbiAgLy8gY3JvbiB0YXNr65Ok7J2EIOuqqOuRkCDspJHsp4BcbiAgYXN5bmMgc3RvcFNjaGVkdWxlcygpIHtcbiAgICBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoXG4gICAgICBBcnJheS5mcm9tKHRoaXMuI3NjaGVkdWxlZFRhc2tzLnZhbHVlcygpKS5tYXAoKHsgdGFzayB9KSA9PiBQcm9taXNlLnJlc29sdmUodGFzay5zdG9wKCkpKSxcbiAgICApO1xuICB9XG5cbiAgLy8gY3JvbiB0YXNr65Ok7J2EIOuqqOuRkCDsoJXrpqxcbiAgYXN5bmMgZGVzdHJveVNjaGVkdWxlcygpIHtcbiAgICBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoXG4gICAgICBBcnJheS5mcm9tKHRoaXMuI3NjaGVkdWxlZFRhc2tzLnZhbHVlcygpKS5tYXAoKHsgdGFzayB9KSA9PiBQcm9taXNlLnJlc29sdmUodGFzay5kZXN0cm95KCkpKSxcbiAgICApO1xuICAgIHRoaXMuI3NjaGVkdWxlZFRhc2tzLmNsZWFyKCk7XG4gIH1cblxuICBhc3luYyBkZXN0cm95KCkge1xuICAgIGF3YWl0IHRoaXMuc3RvcFNjaGVkdWxlcygpO1xuICAgIGF3YWl0IHRoaXMuc3RvcFdvcmtlcigpO1xuICAgIGF3YWl0IHRoaXMuZGVzdHJveVNjaGVkdWxlcygpO1xuICAgIGF3YWl0IHRoaXMuI2JhY2tlbmQuc3RvcCgpO1xuICB9XG5cbiAgW1N5bWJvbC5hc3luY0Rpc3Bvc2VdKCkge1xuICAgIHJldHVybiB0aGlzLmRlc3Ryb3koKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImdldExvZ2dlciIsIkJhY2tlbmRQb3N0Z3JlcyIsIk9wZW5Xb3JrZmxvdyIsImFzc2VydCIsInNjaGVkdWxlIiwiY3JvblNjaGVkdWxlIiwiU29uYW11IiwiY29udmVydERvbWFpblRvQ2F0ZWdvcnkiLCJOYWl0ZSIsImNyZWF0ZU1vY2tTU0VGYWN0b3J5IiwiU3RlcFdyYXBwZXIiLCJXb3JrZmxvd01hbmFnZXIiLCJkYkNvbmYiLCJydW5NaWdyYXRpb25zIiwiYmFja2VuZCIsIk1hcCIsInN5bmNocm9uaXplIiwid29ya2Zsb3dNYXAiLCJQcm9taXNlIiwiYWxsU2V0dGxlZCIsIkFycmF5IiwiZnJvbSIsImVudHJpZXMiLCJmaWx0ZXIiLCJrZXkiLCJoYXMiLCJmbGF0TWFwIiwiXyIsIndvcmtmbG93cyIsIm1hcCIsIndvcmtmbG93Iiwic2NoZWR1bGVzIiwidW5zY2hlZHVsZVRhc2siLCJuYW1lIiwidW5yZWdpc3RlcldvcmtmbG93IiwicmVnaXN0ZXJXb3JrZmxvdyIsImlkIiwidmVyc2lvbiIsInNjaGVtYSIsImZ1bmN0aW9uIiwiZm4iLCJzY2hlZHVsZVRhc2siLCJuZXdXb3JrZmxvd3MiLCJwcmV2aW91c1dvcmtmbG93cyIsImdldCIsInByZXZJdGVtIiwic29tZSIsIm5ld0l0ZW0iLCJydW4iLCJvcHRpb25zIiwiaW5wdXQiLCJydW5Xb3JrZmxvdyIsInVuZGVmaW5lZCIsInRhc2siLCJleHByZXNzaW9uIiwiaW5wdXREYXRhIiwicmVzb2x2ZSIsImJpbmQiLCJ0aW1lem9uZSIsImNvbmZpZyIsImFwaSIsIm5vT3ZlcmxhcCIsInNldCIsImlucHV0Rm4iLCJ3b3JrZmxvd0lkIiwic3RhcnQiLCJ0YXNrSXRlbSIsImNvbnNvbGUiLCJlcnJvciIsImRlbGV0ZSIsInN0b3AiLCJkZXN0cm95IiwicGFyYW1zIiwiYmFzZUNvbnRleHQiLCJyZXF1ZXN0IiwicmVwbHkiLCJoZWFkZXJzIiwiY3JlYXRlU1NFIiwibmFpdGVTdG9yZSIsImNyZWF0ZVN0b3JlIiwidXNlciIsInBhc3Nwb3J0IiwibG9naW4iLCJsb2dvdXQiLCJjb250ZXh0UHJvdmlkZXIiLCJ0YXNrcyIsImNvbnRleHQiLCJzdGVwIiwiYXN5bmNMb2NhbFN0b3JhZ2UiLCJsb2dnZXIiLCJkZWZpbmVXb3JrZmxvdyIsInNldHVwV29ya2VyIiwibmV3V29ya2VyIiwic3RhcnRXb3JrZXIiLCJpbml0aWFsaXplIiwic3RvcFdvcmtlciIsInN0b3BTY2hlZHVsZXMiLCJ2YWx1ZXMiLCJkZXN0cm95U2NoZWR1bGVzIiwiY2xlYXIiLCJTeW1ib2wiLCJhc3luY0Rpc3Bvc2UiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFNBQVMsUUFBcUIsbUJBQW1CO0FBQzFELFNBQVNDLGVBQWUsRUFBRUMsWUFBWSxRQUFxQixvQkFBb0I7QUFVL0UsT0FBT0MsWUFBWSxTQUFTO0FBRTVCLFNBQVNDLFlBQVlDLFlBQVksUUFBNEIsWUFBWTtBQUd6RSxTQUFTQyxNQUFNLFFBQVEsbUJBQWdCO0FBQ3ZDLFNBQVNDLHVCQUF1QixR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
@@ -0,0 +1,17 @@
1
+ import type { TemplateOptions } from "../../types/types";
2
+ import { Template } from "../template";
3
+ export declare class Template__entry_server extends Template {
4
+ constructor();
5
+ getTargetAndPath(): {
6
+ target: string;
7
+ path: string;
8
+ };
9
+ render({}: TemplateOptions["entry_server"]): {
10
+ body: string;
11
+ importKeys: never[];
12
+ customHeaders: never[];
13
+ target: string;
14
+ path: string;
15
+ };
16
+ }
17
+ //# sourceMappingURL=entry-server.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry-server.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/entry-server.template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,sBAAuB,SAAQ,QAAQ;;IAKlD,gBAAgB;;;;IAOhB,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,cAAc,CAAC;;;;;;;CAiE3C"}
@@ -0,0 +1,78 @@
1
+ import { Template } from "../template.js";
2
+ export class Template__entry_server extends Template {
3
+ constructor(){
4
+ super("entry_server");
5
+ }
6
+ getTargetAndPath() {
7
+ return {
8
+ target: "web/src",
9
+ path: `entry-server.generated.tsx`
10
+ };
11
+ }
12
+ render({}) {
13
+ const body = `
14
+ import { QueryClient, dehydrate } from '@tanstack/react-query';
15
+ import { createMemoryHistory, createRouter, RouterProvider } from '@tanstack/react-router';
16
+ import { renderToString } from 'react-dom/server';
17
+ import { routeTree } from './routeTree.gen';
18
+ import { Suspense } from "react";
19
+
20
+ export type PreloadedData = {
21
+ queryKey: any[];
22
+ data: any;
23
+ };
24
+
25
+ export async function render(url: string, preloadedData: PreloadedData[] = []) {
26
+ // QueryClient 생성
27
+ const queryClient = new QueryClient({
28
+ defaultOptions: {
29
+ queries: {
30
+ staleTime: 5000,
31
+ retry: false,
32
+ },
33
+ },
34
+ });
35
+
36
+ // Preloaded 데이터를 queryClient에 직접 주입
37
+ for (const { queryKey, data } of preloadedData) {
38
+ queryClient.setQueryData(queryKey, data);
39
+ }
40
+
41
+ // Dehydrate
42
+ const dehydratedState = dehydrate(queryClient);
43
+
44
+ // SSR용 메모리 히스토리 생성
45
+ const memoryHistory = createMemoryHistory({
46
+ initialEntries: [url],
47
+ });
48
+
49
+ // Router 생성 (SSR 모드)
50
+ const router = createRouter({
51
+ routeTree,
52
+ context: { queryClient },
53
+ history: memoryHistory,
54
+ defaultPreload: 'intent',
55
+ });
56
+
57
+ // 라우터 초기화: SSR에서 반드시 await router.load() 호출 필요
58
+ await router.load();
59
+
60
+ // RouterProvider만 렌더링 (Suspense로 래핑 - hydration mismatch 방지)
61
+ const appHtml = renderToString(<Suspense fallback={null}><RouterProvider router={router} /></Suspense>);
62
+
63
+ return {
64
+ html: appHtml,
65
+ dehydratedState,
66
+ };
67
+ }
68
+ `.trim();
69
+ return {
70
+ ...this.getTargetAndPath(),
71
+ body,
72
+ importKeys: [],
73
+ customHeaders: []
74
+ };
75
+ }
76
+ }
77
+
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvZW50cnktc2VydmVyLnRlbXBsYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGVtcGxhdGVPcHRpb25zIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gXCIuLi90ZW1wbGF0ZVwiO1xuXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVfX2VudHJ5X3NlcnZlciBleHRlbmRzIFRlbXBsYXRlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJlbnRyeV9zZXJ2ZXJcIik7XG4gIH1cblxuICBnZXRUYXJnZXRBbmRQYXRoKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXQ6IFwid2ViL3NyY1wiLFxuICAgICAgcGF0aDogYGVudHJ5LXNlcnZlci5nZW5lcmF0ZWQudHN4YCxcbiAgICB9O1xuICB9XG5cbiAgcmVuZGVyKHt9OiBUZW1wbGF0ZU9wdGlvbnNbXCJlbnRyeV9zZXJ2ZXJcIl0pIHtcbiAgICBjb25zdCBib2R5ID0gYFxuaW1wb3J0IHsgUXVlcnlDbGllbnQsIGRlaHlkcmF0ZSB9IGZyb20gJ0B0YW5zdGFjay9yZWFjdC1xdWVyeSc7XG5pbXBvcnQgeyBjcmVhdGVNZW1vcnlIaXN0b3J5LCBjcmVhdGVSb3V0ZXIsIFJvdXRlclByb3ZpZGVyIH0gZnJvbSAnQHRhbnN0YWNrL3JlYWN0LXJvdXRlcic7XG5pbXBvcnQgeyByZW5kZXJUb1N0cmluZyB9IGZyb20gJ3JlYWN0LWRvbS9zZXJ2ZXInO1xuaW1wb3J0IHsgcm91dGVUcmVlIH0gZnJvbSAnLi9yb3V0ZVRyZWUuZ2VuJztcbmltcG9ydCB7IFN1c3BlbnNlIH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCB0eXBlIFByZWxvYWRlZERhdGEgPSB7XG4gIHF1ZXJ5S2V5OiBhbnlbXTtcbiAgZGF0YTogYW55O1xufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbmRlcih1cmw6IHN0cmluZywgcHJlbG9hZGVkRGF0YTogUHJlbG9hZGVkRGF0YVtdID0gW10pIHtcbiAgLy8gUXVlcnlDbGllbnQg7IOd7ISxXG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gbmV3IFF1ZXJ5Q2xpZW50KHtcbiAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgcXVlcmllczoge1xuICAgICAgICBzdGFsZVRpbWU6IDUwMDAsXG4gICAgICAgIHJldHJ5OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSk7XG5cbiAgLy8gUHJlbG9hZGVkIOuNsOydtO2EsOulvCBxdWVyeUNsaWVudOyXkCDsp4HsoJEg7KO87J6FXG4gIGZvciAoY29uc3QgeyBxdWVyeUtleSwgZGF0YSB9IG9mIHByZWxvYWRlZERhdGEpIHtcbiAgICBxdWVyeUNsaWVudC5zZXRRdWVyeURhdGEocXVlcnlLZXksIGRhdGEpO1xuICB9XG5cbiAgLy8gRGVoeWRyYXRlXG4gIGNvbnN0IGRlaHlkcmF0ZWRTdGF0ZSA9IGRlaHlkcmF0ZShxdWVyeUNsaWVudCk7XG5cbiAgLy8gU1NS7JqpIOuplOuqqOumrCDtnojsiqTthqDrpqwg7IOd7ISxXG4gIGNvbnN0IG1lbW9yeUhpc3RvcnkgPSBjcmVhdGVNZW1vcnlIaXN0b3J5KHtcbiAgICBpbml0aWFsRW50cmllczogW3VybF0sXG4gIH0pO1xuXG4gIC8vIFJvdXRlciDsg53shLEgKFNTUiDrqqjrk5wpXG4gIGNvbnN0IHJvdXRlciA9IGNyZWF0ZVJvdXRlcih7XG4gICAgcm91dGVUcmVlLFxuICAgIGNvbnRleHQ6IHsgcXVlcnlDbGllbnQgfSxcbiAgICBoaXN0b3J5OiBtZW1vcnlIaXN0b3J5LFxuICAgIGRlZmF1bHRQcmVsb2FkOiAnaW50ZW50JyxcbiAgfSk7XG5cbiAgLy8g65287Jqw7YSwIOy0iOq4sO2ZlDogU1NS7JeQ7IScIOuwmOuTnOyLnCBhd2FpdCByb3V0ZXIubG9hZCgpIO2YuOy2nCDtlYTsmpRcbiAgYXdhaXQgcm91dGVyLmxvYWQoKTtcblxuICAvLyBSb3V0ZXJQcm92aWRlcuunjCDroIzrjZTrp4EgKFN1c3BlbnNl66GcIOuemO2VkSAtIGh5ZHJhdGlvbiBtaXNtYXRjaCDrsKnsp4ApXG4gIGNvbnN0IGFwcEh0bWwgPSByZW5kZXJUb1N0cmluZyg8U3VzcGVuc2UgZmFsbGJhY2s9e251bGx9PjxSb3V0ZXJQcm92aWRlciByb3V0ZXI9e3JvdXRlcn0gLz48L1N1c3BlbnNlPik7XG5cbiAgcmV0dXJuIHtcbiAgICBodG1sOiBhcHBIdG1sLFxuICAgIGRlaHlkcmF0ZWRTdGF0ZSxcbiAgfTtcbn1cbiAgICBgLnRyaW0oKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldFRhcmdldEFuZFBhdGgoKSxcbiAgICAgIGJvZHksXG4gICAgICBpbXBvcnRLZXlzOiBbXSxcbiAgICAgIGN1c3RvbUhlYWRlcnM6IFtdLFxuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJUZW1wbGF0ZSIsIlRlbXBsYXRlX19lbnRyeV9zZXJ2ZXIiLCJnZXRUYXJnZXRBbmRQYXRoIiwidGFyZ2V0IiwicGF0aCIsInJlbmRlciIsImJvZHkiLCJ0cmltIiwiaW1wb3J0S2V5cyIsImN1c3RvbUhlYWRlcnMiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLFFBQVEsUUFBUSxpQkFBYztBQUV2QyxPQUFPLE1BQU1DLCtCQUErQkQ7SUFDMUMsYUFBYztRQUNaLEtBQUssQ0FBQztJQUNSO0lBRUFFLG1CQUFtQjtRQUNqQixPQUFPO1lBQ0xDLFFBQVE7WUFDUkMsTUFBTSxDQUFDLDBCQUEwQixDQUFDO1FBQ3BDO0lBQ0Y7SUFFQUMsT0FBTyxFQUFtQyxFQUFFO1FBQzFDLE1BQU1DLE9BQU8sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXVEZCxDQUFDLENBQUNDLElBQUk7UUFFTixPQUFPO1lBQ0wsR0FBRyxJQUFJLENBQUNMLGdCQUFnQixFQUFFO1lBQzFCSTtZQUNBRSxZQUFZLEVBQUU7WUFDZEMsZUFBZSxFQUFFO1FBQ25CO0lBQ0Y7QUFDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"model.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/model.template.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,qBAAa,eAAgB,SAAQ,QAAQ;;IAK3C,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IASnC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,CAAC,OAAO,CAAC;;;;;;CA6KpD"}
1
+ {"version":3,"file":"model.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/model.template.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,qBAAa,eAAgB,SAAQ,QAAQ;;IAK3C,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IASnC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,CAAC,OAAO,CAAC;;;;;;CA+KpD"}
@@ -53,7 +53,9 @@ class ${entityId}ModelClass extends BaseModelClass<
53
53
  typeof ${names.camel}SubsetQueries,
54
54
  typeof ${names.camel}LoaderQueries
55
55
  > {
56
- modelName = "${entityId}";
56
+ constructor() {
57
+ super("${entityId}", ${names.camel}SubsetQueries, ${names.camel}LoaderQueries);
58
+ }
57
59
 
58
60
  @api({ httpMethod: "GET", clients: ["axios", "tanstack-query"], resourceName: "${entityId}" })
59
61
  async findById<T extends ${entityId}SubsetKey>(
@@ -176,11 +178,11 @@ class ${entityId}ModelClass extends BaseModelClass<
176
178
  }
177
179
  }
178
180
 
179
- export const ${entityId}Model = new ${entityId}ModelClass(${names.camel}SubsetQueries, ${names.camel}LoaderQueries);
181
+ export const ${entityId}Model = new ${entityId}ModelClass();
180
182
  `.trim(),
181
183
  importKeys: []
182
184
  };
183
185
  }
184
186
  }
185
187
 
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvbW9kZWwudGVtcGxhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeiBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyBTb25hbXUgfSBmcm9tIFwiLi4vLi4vYXBpXCI7XG5pbXBvcnQgeyBFbnRpdHlNYW5hZ2VyLCB0eXBlIEVudGl0eU5hbWVzUmVjb3JkIH0gZnJvbSBcIi4uLy4uL2VudGl0eS9lbnRpdHktbWFuYWdlclwiO1xuaW1wb3J0IHsgTmFpdGUgfSBmcm9tIFwiLi4vLi4vbmFpdGUvbmFpdGVcIjtcbmltcG9ydCB0eXBlIHsgVGVtcGxhdGVPcHRpb25zIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gXCIuLi90ZW1wbGF0ZVwiO1xuaW1wb3J0IHsgZ2V0Wm9kVHlwZUJ5SWQsIHpvZFR5cGVUb1JlbmRlcmluZ05vZGUgfSBmcm9tIFwiLi4vem9kLWNvbnZlcnRlclwiO1xuaW1wb3J0IHsgVGVtcGxhdGVfX3ZpZXdfbGlzdCB9IGZyb20gXCIuL3ZpZXdfbGlzdC50ZW1wbGF0ZVwiO1xuZXhwb3J0IGNsYXNzIFRlbXBsYXRlX19tb2RlbCBleHRlbmRzIFRlbXBsYXRlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJtb2RlbFwiKTtcbiAgfVxuXG4gIGdldFRhcmdldEFuZFBhdGgobmFtZXM6IEVudGl0eU5hbWVzUmVjb3JkKSB7XG4gICAgY29uc3QgeyBkaXIgfSA9IFNvbmFtdS5jb25maWcuYXBpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRhcmdldDogYCR7ZGlyfS9zcmMvYXBwbGljYXRpb25gLFxuICAgICAgcGF0aDogYCR7bmFtZXMuZnN9LyR7bmFtZXMuZnN9Lm1vZGVsLnRzYCxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgcmVuZGVyKHsgZW50aXR5SWQgfTogVGVtcGxhdGVPcHRpb25zW1wibW9kZWxcIl0pIHtcbiAgICBOYWl0ZS50KFwicmVuZGVyXCIsIHsgZW50aXR5SWQgfSk7XG5cbiAgICBjb25zdCBsaXN0UGFyYW1zWm9kVHlwZSA9IGF3YWl0IGdldFpvZFR5cGVCeUlkKGAke2VudGl0eUlkfUxpc3RQYXJhbXNgKTtcbiAgICBjb25zdCBsaXN0UGFyYW1zTm9kZSA9IHpvZFR5cGVUb1JlbmRlcmluZ05vZGUobGlzdFBhcmFtc1pvZFR5cGUpO1xuXG4gICAgY29uc3Qgc3Vic2V0S2V5Wm9kVHlwZSA9IGF3YWl0IGdldFpvZFR5cGVCeUlkKGAke2VudGl0eUlkfVN1YnNldEtleWApO1xuICAgIGNvbnN0IHN1YnNldEtleXMgPSAoc3Vic2V0S2V5Wm9kVHlwZSBhcyB6LlpvZEVudW0pLmVudW07XG5cbiAgICBjb25zdCBuYW1lcyA9IEVudGl0eU1hbmFnZXIuZ2V0TmFtZXNGcm9tSWQoZW50aXR5SWQpO1xuICAgIGNvbnN0IGVudGl0eSA9IEVudGl0eU1hbmFnZXIuZ2V0KGVudGl0eUlkKTtcblxuICAgIGNvbnN0IHZsVHBsID0gbmV3IFRlbXBsYXRlX192aWV3X2xpc3QoKTtcbiAgICBpZiAobGlzdFBhcmFtc05vZGU/LmNoaWxkcmVuID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbGlzdFBhcmFtc05vZGXqsIAg7JeG7Iq164uI64ukLiAke2VudGl0eUlkfWApO1xuICAgIH1cbiAgICBjb25zdCBkZWYgPSB2bFRwbC5nZXREZWZhdWx0KGxpc3RQYXJhbXNOb2RlLmNoaWxkcmVuKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldFRhcmdldEFuZFBhdGgobmFtZXMpLFxuICAgICAgYm9keTogYFxuaW1wb3J0IHsgQmFzZU1vZGVsQ2xhc3MsIHR5cGUgTGlzdFJlc3VsdCwgYXNBcnJheSwgTm90Rm91bmRFeGNlcHRpb24sIEJhZFJlcXVlc3RFeGNlcHRpb24sIGFwaSwgZXhoYXVzdGl2ZSB9IGZyb20gJ3NvbmFtdSc7XG5pbXBvcnQge1xuICAke2VudGl0eUlkfVN1YnNldEtleSxcbiAgJHtlbnRpdHlJZH1TdWJzZXRNYXBwaW5nLFxufSBmcm9tIFwiLi4vc29uYW11LmdlbmVyYXRlZFwiO1xuaW1wb3J0IHtcbiAgJHtuYW1lcy5jYW1lbH1TdWJzZXRRdWVyaWVzLFxuICAke25hbWVzLmNhbWVsfUxvYWRlclF1ZXJpZXMsXG59IGZyb20gXCIuLi9zb25hbXUuZ2VuZXJhdGVkLnNzb1wiO1xuaW1wb3J0IHsgJHtlbnRpdHlJZH1MaXN0UGFyYW1zLCAke2VudGl0eUlkfVNhdmVQYXJhbXMgfSBmcm9tIFwiLi8ke25hbWVzLmZzfS50eXBlc1wiO1xuXG4vKlxuICAke2VudGl0eUlkfSBNb2RlbFxuKi9cbmNsYXNzICR7ZW50aXR5SWR9TW9kZWxDbGFzcyBleHRlbmRzIEJhc2VNb2RlbENsYXNzPFxuICAke2VudGl0eUlkfVN1YnNldEtleSxcbiAgJHtlbnRpdHlJZH1TdWJzZXRNYXBwaW5nLFxuICB0eXBlb2YgJHtuYW1lcy5jYW1lbH1TdWJzZXRRdWVyaWVzLFxuICB0eXBlb2YgJHtuYW1lcy5jYW1lbH1Mb2FkZXJRdWVyaWVzXG4+IHtcbiAgbW9kZWxOYW1lID0gXCIke2VudGl0eUlkfVwiO1xuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIkdFVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLXF1ZXJ5XCJdLCByZXNvdXJjZU5hbWU6IFwiJHtlbnRpdHlJZH1cIiB9KVxuICBhc3luYyBmaW5kQnlJZDxUIGV4dGVuZHMgJHtlbnRpdHlJZH1TdWJzZXRLZXk+KFxuICAgIHN1YnNldDogVCxcbiAgICBpZDogbnVtYmVyXG4gICk6IFByb21pc2U8JHtlbnRpdHlJZH1TdWJzZXRNYXBwaW5nW1RdPiB7XG4gICAgY29uc3QgeyByb3dzIH0gPSBhd2FpdCB0aGlzLmZpbmRNYW55KHN1YnNldCwge1xuICAgICAgaWQsXG4gICAgICBudW06IDEsXG4gICAgICBwYWdlOiAxLFxuICAgIH0pO1xuICAgIGlmICghcm93c1swXSkge1xuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXhjZXB0aW9uKFxcYOyhtOyerO2VmOyngCDslYrripQgJHtuYW1lcy5jYXBpdGFsfSBJRCBcXCR7aWR9XFxgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm93c1swXTtcbiAgfVxuXG4gIGFzeW5jIGZpbmRPbmU8VCBleHRlbmRzICR7ZW50aXR5SWR9U3Vic2V0S2V5PihcbiAgICBzdWJzZXQ6IFQsXG4gICAgbGlzdFBhcmFtczogJHtlbnRpdHlJZH1MaXN0UGFyYW1zXG4gICk6IFByb21pc2U8JHtlbnRpdHlJZH1TdWJzZXRNYXBwaW5nW1RdIHwgbnVsbD4ge1xuICAgIGNvbnN0IHsgcm93cyB9ID0gYXdhaXQgdGhpcy5maW5kTWFueShzdWJzZXQsIHtcbiAgICAgIC4uLmxpc3RQYXJhbXMsXG4gICAgICBudW06IDEsXG4gICAgICBwYWdlOiAxLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJvd3NbMF0gPz8gbnVsbDtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIkdFVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLXF1ZXJ5XCJdLCByZXNvdXJjZU5hbWU6IFwiJHtuYW1lcy5jYXBpdGFsUGx1cmFsfVwiIH0pXG4gIGFzeW5jIGZpbmRNYW55PFQgZXh0ZW5kcyAke2VudGl0eUlkfVN1YnNldEtleSwgTFAgZXh0ZW5kcyAke2VudGl0eUlkfUxpc3RQYXJhbXM+KFxuICAgIHN1YnNldDogVCxcbiAgICByYXdQYXJhbXM/OiBMUCxcbiAgKTogUHJvbWlzZTxMaXN0UmVzdWx0PExQLCAke2VudGl0eUlkfVN1YnNldE1hcHBpbmdbVF0+PiB7XG4gICAgLy8gcGFyYW1zIHdpdGggZGVmYXVsdHNcbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICBudW06IDI0LFxuICAgICAgcGFnZTogMSxcbiAgICAgIHNlYXJjaDogXCIke2RlZi5zZWFyY2h9XCIgYXMgY29uc3QsXG4gICAgICBvcmRlckJ5OiBcIiR7ZGVmLm9yZGVyQnl9XCIgYXMgY29uc3QsXG4gICAgICAuLi5yYXdQYXJhbXMsXG4gICAgfSBzYXRpc2ZpZXMgJHtlbnRpdHlJZH1MaXN0UGFyYW1zO1xuXG4gICAgLy8gYnVpbGQgcXVlcmllc1xuICAgIGNvbnN0IHsgcWIsIG9uU3Vic2V0OiBfIH0gPSB0aGlzLmdldFN1YnNldFF1ZXJpZXMoc3Vic2V0KTtcbiAgICBcbiAgICAvLyBpZFxuICAgIGlmIChwYXJhbXMuaWQpIHtcbiAgICAgIHFiLndoZXJlSW4oXCIke2VudGl0eS50YWJsZX0uaWRcIiwgYXNBcnJheShwYXJhbXMuaWQpKTtcbiAgICB9XG5cbiAgICAvLyBzZWFyY2gta2V5d29yZFxuICAgIGlmIChwYXJhbXMuc2VhcmNoICYmIHBhcmFtcy5rZXl3b3JkICYmIHBhcmFtcy5rZXl3b3JkLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmIChwYXJhbXMuc2VhcmNoID09PSBcImlkXCIpIHtcbiAgICAgICAgcWIud2hlcmUoXCIke2VudGl0eS50YWJsZX0uaWRcIiwgTnVtYmVyKHBhcmFtcy5rZXl3b3JkKSk7XG4gICAgICAgIC8vIH0gZWxzZSBpZiAocGFyYW1zLnNlYXJjaCA9PT0gXCJmaWVsZFwiKSB7XG4gICAgICAgIC8vICAgcWIud2hlcmUoXCIke2VudGl0eS50YWJsZX0uZmllbGRcIiwgXCJsaWtlXCIsIFxcYCVcXCR7cGFyYW1zLmtleXdvcmR9JVxcYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEV4Y2VwdGlvbihcXGDqtaztmITrkJjsp4Ag7JWK7J2AIOqygOyDiSDtlYTrk5wgXFwke3BhcmFtcy5zZWFyY2h9XFxgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgICBcbiAgICAvLyBvcmRlckJ5XG4gICAgaWYgKHBhcmFtcy5vcmRlckJ5KSB7XG4gICAgICAvLyBkZWZhdWx0IG9yZGVyQnlcbiAgICAgIGlmIChwYXJhbXMub3JkZXJCeSA9PT0gXCJpZC1kZXNjXCIpIHtcbiAgICAgICAgcWIub3JkZXJCeShcIiR7ZW50aXR5LnRhYmxlfS5pZFwiLCBcImRlc2NcIik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleGhhdXN0aXZlKHBhcmFtcy5vcmRlckJ5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBlbmhhbmNlcnMgPSB0aGlzLmNyZWF0ZUVuaGFuY2Vycyh7XG4gICAgICAke09iamVjdC5rZXlzKHN1YnNldEtleXMpXG4gICAgICAgIC5tYXAoXG4gICAgICAgICAgKGtleSkgPT4gYCR7a2V5fTogKHJvdykgPT4gKHtcbiAgICAgICAgICAuLi5yb3csXG4gICAgICAgICAgLy8g7ISc67iM7IWL67OE66GcIHZpcnR1YWwg7ZWE65OcIOqzhOyCsOuhnOyngSDstpTqsIBcbiAgICAgICAgfSksYCxcbiAgICAgICAgKVxuICAgICAgICAuam9pbihcIlxcblwiKX1cbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVTdWJzZXRRdWVyeSh7XG4gICAgICBzdWJzZXQsXG4gICAgICBxYixcbiAgICAgIHBhcmFtcyxcbiAgICAgIGVuaGFuY2VycyxcbiAgICAgIGRlYnVnOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIlBPU1RcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1tdXRhdGlvblwiXSB9KVxuICBhc3luYyBzYXZlKFxuICAgIHNwYTogJHtlbnRpdHlJZH1TYXZlUGFyYW1zW11cbiAgKTogUHJvbWlzZTxudW1iZXJbXT4ge1xuICAgIGNvbnN0IHdkYiA9IHRoaXMuZ2V0UHVyaShcIndcIik7XG5cbiAgICAvLyByZWdpc3RlclxuICAgIHNwYS5mb3JFYWNoKChzcCkgPT4ge1xuICAgICAgd2RiLnViUmVnaXN0ZXIoXCIke2VudGl0eS50YWJsZX1cIiwgc3ApO1xuICAgIH0pO1xuXG4gICAgLy8gdHJhbnNhY3Rpb25cbiAgICByZXR1cm4gd2RiLnRyYW5zYWN0aW9uKGFzeW5jICh0cngpID0+IHtcbiAgICAgIGNvbnN0IGlkcyA9IGF3YWl0IHRyeC51YlVwc2VydChcIiR7ZW50aXR5LnRhYmxlfVwiKTtcblxuICAgICAgcmV0dXJuIGlkcztcbiAgICB9KTtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIlBPU1RcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1tdXRhdGlvblwiXSwgZ3VhcmRzOiBbIFwiYWRtaW5cIiBdIH0pXG4gIGFzeW5jIGRlbChpZHM6IG51bWJlcltdKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBjb25zdCB3ZGIgPSB0aGlzLmdldFB1cmkoXCJ3XCIpO1xuXG4gICAgLy8gdHJhbnNhY3Rpb25cbiAgICBhd2FpdCB3ZGIudHJhbnNhY3Rpb24oYXN5bmMgKHRyeCkgPT4ge1xuICAgICAgcmV0dXJuIHRyeC50YWJsZShcIiR7ZW50aXR5LnRhYmxlfVwiKS53aGVyZUluKFwiJHtlbnRpdHkudGFibGV9LmlkXCIsIGlkcykuZGVsZXRlKCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gaWRzLmxlbmd0aDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgJHtlbnRpdHlJZH1Nb2RlbCA9IG5ldyAke2VudGl0eUlkfU1vZGVsQ2xhc3MoJHtuYW1lcy5jYW1lbH1TdWJzZXRRdWVyaWVzLCAke25hbWVzLmNhbWVsfUxvYWRlclF1ZXJpZXMpO1xuICAgICAgYC50cmltKCksXG4gICAgICBpbXBvcnRLZXlzOiBbXSxcbiAgICB9O1xuICB9XG59XG4iXSwibmFtZXMiOlsiU29uYW11IiwiRW50aXR5TWFuYWdlciIsIk5haXRlIiwiVGVtcGxhdGUiLCJnZXRab2RUeXBlQnlJZCIsInpvZFR5cGVUb1JlbmRlcmluZ05vZGUiLCJUZW1wbGF0ZV9fdmlld19saXN0IiwiVGVtcGxhdGVfX21vZGVsIiwiZ2V0VGFyZ2V0QW5kUGF0aCIsIm5hbWVzIiwiZGlyIiwiY29uZmlnIiwiYXBpIiwidGFyZ2V0IiwicGF0aCIsImZzIiwicmVuZGVyIiwiZW50aXR5SWQiLCJ0IiwibGlzdFBhcmFtc1pvZFR5cGUiLCJsaXN0UGFyYW1zTm9kZSIsInN1YnNldEtleVpvZFR5cGUiLCJzdWJzZXRLZXlzIiwiZW51bSIsImdldE5hbWVzRnJvbUlkIiwiZW50aXR5IiwiZ2V0IiwidmxUcGwiLCJjaGlsZHJlbiIsInVuZGVmaW5lZCIsIkVycm9yIiwiZGVmIiwiZ2V0RGVmYXVsdCIsImJvZHkiLCJjYW1lbCIsImNhcGl0YWwiLCJjYXBpdGFsUGx1cmFsIiwic2VhcmNoIiwib3JkZXJCeSIsInRhYmxlIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImtleSIsImpvaW4iLCJ0cmltIiwiaW1wb3J0S2V5cyJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsTUFBTSxRQUFRLHFCQUFZO0FBQ25DLFNBQVNDLGFBQWEsUUFBZ0MsaUNBQThCO0FBQ3BGLFNBQVNDLEtBQUssUUFBUSx1QkFBb0I7QUFFMUMsU0FBU0MsUUFBUSxRQUFRLGlCQUFjO0FBQ3ZDLFNBQVNDLGNBQWMsRUFBRUMsc0JBQXNCLFFBQVEsc0JBQW1CO0FBQzFFLFNBQVNDLG1CQUFtQixRQUFRLDBCQUF1QjtBQUMzRCxPQUFPLE1BQU1DLHdCQUF3Qko7SUFDbkMsYUFBYztRQUNaLEtBQUssQ0FBQztJQUNSO0lBRUFLLGlCQUFpQkMsS0FBd0IsRUFBRTtRQUN6QyxNQUFNLEVBQUVDLEdBQUcsRUFBRSxHQUFHVixPQUFPVyxNQUFNLENBQUNDLEdBQUc7UUFFakMsT0FBTztZQUNMQyxRQUFRLEdBQUdILElBQUksZ0JBQWdCLENBQUM7WUFDaENJLE1BQU0sR0FBR0wsTUFBTU0sRUFBRSxDQUFDLENBQUMsRUFBRU4sTUFBTU0sRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUMxQztJQUNGO0lBRUEsTUFBTUMsT0FBTyxFQUFFQyxRQUFRLEVBQTRCLEVBQUU7UUFDbkRmLE1BQU1nQixDQUFDLENBQUMsVUFBVTtZQUFFRDtRQUFTO1FBRTdCLE1BQU1FLG9CQUFvQixNQUFNZixlQUFlLEdBQUdhLFNBQVMsVUFBVSxDQUFDO1FBQ3RFLE1BQU1HLGlCQUFpQmYsdUJBQXVCYztRQUU5QyxNQUFNRSxtQkFBbUIsTUFBTWpCLGVBQWUs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
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvbW9kZWwudGVtcGxhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeiBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyBTb25hbXUgfSBmcm9tIFwiLi4vLi4vYXBpXCI7XG5pbXBvcnQgeyBFbnRpdHlNYW5hZ2VyLCB0eXBlIEVudGl0eU5hbWVzUmVjb3JkIH0gZnJvbSBcIi4uLy4uL2VudGl0eS9lbnRpdHktbWFuYWdlclwiO1xuaW1wb3J0IHsgTmFpdGUgfSBmcm9tIFwiLi4vLi4vbmFpdGUvbmFpdGVcIjtcbmltcG9ydCB0eXBlIHsgVGVtcGxhdGVPcHRpb25zIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gXCIuLi90ZW1wbGF0ZVwiO1xuaW1wb3J0IHsgZ2V0Wm9kVHlwZUJ5SWQsIHpvZFR5cGVUb1JlbmRlcmluZ05vZGUgfSBmcm9tIFwiLi4vem9kLWNvbnZlcnRlclwiO1xuaW1wb3J0IHsgVGVtcGxhdGVfX3ZpZXdfbGlzdCB9IGZyb20gXCIuL3ZpZXdfbGlzdC50ZW1wbGF0ZVwiO1xuZXhwb3J0IGNsYXNzIFRlbXBsYXRlX19tb2RlbCBleHRlbmRzIFRlbXBsYXRlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJtb2RlbFwiKTtcbiAgfVxuXG4gIGdldFRhcmdldEFuZFBhdGgobmFtZXM6IEVudGl0eU5hbWVzUmVjb3JkKSB7XG4gICAgY29uc3QgeyBkaXIgfSA9IFNvbmFtdS5jb25maWcuYXBpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRhcmdldDogYCR7ZGlyfS9zcmMvYXBwbGljYXRpb25gLFxuICAgICAgcGF0aDogYCR7bmFtZXMuZnN9LyR7bmFtZXMuZnN9Lm1vZGVsLnRzYCxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgcmVuZGVyKHsgZW50aXR5SWQgfTogVGVtcGxhdGVPcHRpb25zW1wibW9kZWxcIl0pIHtcbiAgICBOYWl0ZS50KFwicmVuZGVyXCIsIHsgZW50aXR5SWQgfSk7XG5cbiAgICBjb25zdCBsaXN0UGFyYW1zWm9kVHlwZSA9IGF3YWl0IGdldFpvZFR5cGVCeUlkKGAke2VudGl0eUlkfUxpc3RQYXJhbXNgKTtcbiAgICBjb25zdCBsaXN0UGFyYW1zTm9kZSA9IHpvZFR5cGVUb1JlbmRlcmluZ05vZGUobGlzdFBhcmFtc1pvZFR5cGUpO1xuXG4gICAgY29uc3Qgc3Vic2V0S2V5Wm9kVHlwZSA9IGF3YWl0IGdldFpvZFR5cGVCeUlkKGAke2VudGl0eUlkfVN1YnNldEtleWApO1xuICAgIGNvbnN0IHN1YnNldEtleXMgPSAoc3Vic2V0S2V5Wm9kVHlwZSBhcyB6LlpvZEVudW0pLmVudW07XG5cbiAgICBjb25zdCBuYW1lcyA9IEVudGl0eU1hbmFnZXIuZ2V0TmFtZXNGcm9tSWQoZW50aXR5SWQpO1xuICAgIGNvbnN0IGVudGl0eSA9IEVudGl0eU1hbmFnZXIuZ2V0KGVudGl0eUlkKTtcblxuICAgIGNvbnN0IHZsVHBsID0gbmV3IFRlbXBsYXRlX192aWV3X2xpc3QoKTtcbiAgICBpZiAobGlzdFBhcmFtc05vZGU/LmNoaWxkcmVuID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbGlzdFBhcmFtc05vZGXqsIAg7JeG7Iq164uI64ukLiAke2VudGl0eUlkfWApO1xuICAgIH1cbiAgICBjb25zdCBkZWYgPSB2bFRwbC5nZXREZWZhdWx0KGxpc3RQYXJhbXNOb2RlLmNoaWxkcmVuKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldFRhcmdldEFuZFBhdGgobmFtZXMpLFxuICAgICAgYm9keTogYFxuaW1wb3J0IHsgQmFzZU1vZGVsQ2xhc3MsIHR5cGUgTGlzdFJlc3VsdCwgYXNBcnJheSwgTm90Rm91bmRFeGNlcHRpb24sIEJhZFJlcXVlc3RFeGNlcHRpb24sIGFwaSwgZXhoYXVzdGl2ZSB9IGZyb20gJ3NvbmFtdSc7XG5pbXBvcnQge1xuICAke2VudGl0eUlkfVN1YnNldEtleSxcbiAgJHtlbnRpdHlJZH1TdWJzZXRNYXBwaW5nLFxufSBmcm9tIFwiLi4vc29uYW11LmdlbmVyYXRlZFwiO1xuaW1wb3J0IHtcbiAgJHtuYW1lcy5jYW1lbH1TdWJzZXRRdWVyaWVzLFxuICAke25hbWVzLmNhbWVsfUxvYWRlclF1ZXJpZXMsXG59IGZyb20gXCIuLi9zb25hbXUuZ2VuZXJhdGVkLnNzb1wiO1xuaW1wb3J0IHsgJHtlbnRpdHlJZH1MaXN0UGFyYW1zLCAke2VudGl0eUlkfVNhdmVQYXJhbXMgfSBmcm9tIFwiLi8ke25hbWVzLmZzfS50eXBlc1wiO1xuXG4vKlxuICAke2VudGl0eUlkfSBNb2RlbFxuKi9cbmNsYXNzICR7ZW50aXR5SWR9TW9kZWxDbGFzcyBleHRlbmRzIEJhc2VNb2RlbENsYXNzPFxuICAke2VudGl0eUlkfVN1YnNldEtleSxcbiAgJHtlbnRpdHlJZH1TdWJzZXRNYXBwaW5nLFxuICB0eXBlb2YgJHtuYW1lcy5jYW1lbH1TdWJzZXRRdWVyaWVzLFxuICB0eXBlb2YgJHtuYW1lcy5jYW1lbH1Mb2FkZXJRdWVyaWVzXG4+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCIke2VudGl0eUlkfVwiLCAke25hbWVzLmNhbWVsfVN1YnNldFF1ZXJpZXMsICR7bmFtZXMuY2FtZWx9TG9hZGVyUXVlcmllcyk7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJHRVRcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1xdWVyeVwiXSwgcmVzb3VyY2VOYW1lOiBcIiR7ZW50aXR5SWR9XCIgfSlcbiAgYXN5bmMgZmluZEJ5SWQ8VCBleHRlbmRzICR7ZW50aXR5SWR9U3Vic2V0S2V5PihcbiAgICBzdWJzZXQ6IFQsXG4gICAgaWQ6IG51bWJlclxuICApOiBQcm9taXNlPCR7ZW50aXR5SWR9U3Vic2V0TWFwcGluZ1tUXT4ge1xuICAgIGNvbnN0IHsgcm93cyB9ID0gYXdhaXQgdGhpcy5maW5kTWFueShzdWJzZXQsIHtcbiAgICAgIGlkLFxuICAgICAgbnVtOiAxLFxuICAgICAgcGFnZTogMSxcbiAgICB9KTtcbiAgICBpZiAoIXJvd3NbMF0pIHtcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEV4Y2VwdGlvbihcXGDsobTsnqztlZjsp4Ag7JWK64qUICR7bmFtZXMuY2FwaXRhbH0gSUQgXFwke2lkfVxcYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvd3NbMF07XG4gIH1cblxuICBhc3luYyBmaW5kT25lPFQgZXh0ZW5kcyAke2VudGl0eUlkfVN1YnNldEtleT4oXG4gICAgc3Vic2V0OiBULFxuICAgIGxpc3RQYXJhbXM6ICR7ZW50aXR5SWR9TGlzdFBhcmFtc1xuICApOiBQcm9taXNlPCR7ZW50aXR5SWR9U3Vic2V0TWFwcGluZ1tUXSB8IG51bGw+IHtcbiAgICBjb25zdCB7IHJvd3MgfSA9IGF3YWl0IHRoaXMuZmluZE1hbnkoc3Vic2V0LCB7XG4gICAgICAuLi5saXN0UGFyYW1zLFxuICAgICAgbnVtOiAxLFxuICAgICAgcGFnZTogMSxcbiAgICB9KTtcblxuICAgIHJldHVybiByb3dzWzBdID8/IG51bGw7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJHRVRcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1xdWVyeVwiXSwgcmVzb3VyY2VOYW1lOiBcIiR7bmFtZXMuY2FwaXRhbFBsdXJhbH1cIiB9KVxuICBhc3luYyBmaW5kTWFueTxUIGV4dGVuZHMgJHtlbnRpdHlJZH1TdWJzZXRLZXksIExQIGV4dGVuZHMgJHtlbnRpdHlJZH1MaXN0UGFyYW1zPihcbiAgICBzdWJzZXQ6IFQsXG4gICAgcmF3UGFyYW1zPzogTFAsXG4gICk6IFByb21pc2U8TGlzdFJlc3VsdDxMUCwgJHtlbnRpdHlJZH1TdWJzZXRNYXBwaW5nW1RdPj4ge1xuICAgIC8vIHBhcmFtcyB3aXRoIGRlZmF1bHRzXG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgbnVtOiAyNCxcbiAgICAgIHBhZ2U6IDEsXG4gICAgICBzZWFyY2g6IFwiJHtkZWYuc2VhcmNofVwiIGFzIGNvbnN0LFxuICAgICAgb3JkZXJCeTogXCIke2RlZi5vcmRlckJ5fVwiIGFzIGNvbnN0LFxuICAgICAgLi4ucmF3UGFyYW1zLFxuICAgIH0gc2F0aXNmaWVzICR7ZW50aXR5SWR9TGlzdFBhcmFtcztcblxuICAgIC8vIGJ1aWxkIHF1ZXJpZXNcbiAgICBjb25zdCB7IHFiLCBvblN1YnNldDogXyB9ID0gdGhpcy5nZXRTdWJzZXRRdWVyaWVzKHN1YnNldCk7XG4gICAgXG4gICAgLy8gaWRcbiAgICBpZiAocGFyYW1zLmlkKSB7XG4gICAgICBxYi53aGVyZUluKFwiJHtlbnRpdHkudGFibGV9LmlkXCIsIGFzQXJyYXkocGFyYW1zLmlkKSk7XG4gICAgfVxuXG4gICAgLy8gc2VhcmNoLWtleXdvcmRcbiAgICBpZiAocGFyYW1zLnNlYXJjaCAmJiBwYXJhbXMua2V5d29yZCAmJiBwYXJhbXMua2V5d29yZC5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAocGFyYW1zLnNlYXJjaCA9PT0gXCJpZFwiKSB7XG4gICAgICAgIHFiLndoZXJlKFwiJHtlbnRpdHkudGFibGV9LmlkXCIsIE51bWJlcihwYXJhbXMua2V5d29yZCkpO1xuICAgICAgICAvLyB9IGVsc2UgaWYgKHBhcmFtcy5zZWFyY2ggPT09IFwiZmllbGRcIikge1xuICAgICAgICAvLyAgIHFiLndoZXJlKFwiJHtlbnRpdHkudGFibGV9LmZpZWxkXCIsIFwibGlrZVwiLCBcXGAlXFwke3BhcmFtcy5rZXl3b3JkfSVcXGApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFeGNlcHRpb24oXFxg6rWs7ZiE65CY7KeAIOyViuydgCDqsoDsg4kg7ZWE65OcIFxcJHtwYXJhbXMuc2VhcmNofVxcYCk7XG4gICAgICB9XG4gICAgfVxuICAgICAgXG4gICAgLy8gb3JkZXJCeVxuICAgIGlmIChwYXJhbXMub3JkZXJCeSkge1xuICAgICAgLy8gZGVmYXVsdCBvcmRlckJ5XG4gICAgICBpZiAocGFyYW1zLm9yZGVyQnkgPT09IFwiaWQtZGVzY1wiKSB7XG4gICAgICAgIHFiLm9yZGVyQnkoXCIke2VudGl0eS50YWJsZX0uaWRcIiwgXCJkZXNjXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXhoYXVzdGl2ZShwYXJhbXMub3JkZXJCeSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZW5oYW5jZXJzID0gdGhpcy5jcmVhdGVFbmhhbmNlcnMoe1xuICAgICAgJHtPYmplY3Qua2V5cyhzdWJzZXRLZXlzKVxuICAgICAgICAubWFwKFxuICAgICAgICAgIChrZXkpID0+IGAke2tleX06IChyb3cpID0+ICh7XG4gICAgICAgICAgLi4ucm93LFxuICAgICAgICAgIC8vIOyEnOu4jOyFi+uzhOuhnCB2aXJ0dWFsIO2VhOuTnCDqs4TsgrDroZzsp4Eg7LaU6rCAXG4gICAgICAgIH0pLGAsXG4gICAgICAgIClcbiAgICAgICAgLmpvaW4oXCJcXG5cIil9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5leGVjdXRlU3Vic2V0UXVlcnkoe1xuICAgICAgc3Vic2V0LFxuICAgICAgcWIsXG4gICAgICBwYXJhbXMsXG4gICAgICBlbmhhbmNlcnMsXG4gICAgICBkZWJ1ZzogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJQT1NUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stbXV0YXRpb25cIl0gfSlcbiAgYXN5bmMgc2F2ZShcbiAgICBzcGE6ICR7ZW50aXR5SWR9U2F2ZVBhcmFtc1tdXG4gICk6IFByb21pc2U8bnVtYmVyW10+IHtcbiAgICBjb25zdCB3ZGIgPSB0aGlzLmdldFB1cmkoXCJ3XCIpO1xuXG4gICAgLy8gcmVnaXN0ZXJcbiAgICBzcGEuZm9yRWFjaCgoc3ApID0+IHtcbiAgICAgIHdkYi51YlJlZ2lzdGVyKFwiJHtlbnRpdHkudGFibGV9XCIsIHNwKTtcbiAgICB9KTtcblxuICAgIC8vIHRyYW5zYWN0aW9uXG4gICAgcmV0dXJuIHdkYi50cmFuc2FjdGlvbihhc3luYyAodHJ4KSA9PiB7XG4gICAgICBjb25zdCBpZHMgPSBhd2FpdCB0cngudWJVcHNlcnQoXCIke2VudGl0eS50YWJsZX1cIik7XG5cbiAgICAgIHJldHVybiBpZHM7XG4gICAgfSk7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJQT1NUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stbXV0YXRpb25cIl0sIGd1YXJkczogWyBcImFkbWluXCIgXSB9KVxuICBhc3luYyBkZWwoaWRzOiBudW1iZXJbXSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3Qgd2RiID0gdGhpcy5nZXRQdXJpKFwid1wiKTtcblxuICAgIC8vIHRyYW5zYWN0aW9uXG4gICAgYXdhaXQgd2RiLnRyYW5zYWN0aW9uKGFzeW5jICh0cngpID0+IHtcbiAgICAgIHJldHVybiB0cngudGFibGUoXCIke2VudGl0eS50YWJsZX1cIikud2hlcmVJbihcIiR7ZW50aXR5LnRhYmxlfS5pZFwiLCBpZHMpLmRlbGV0ZSgpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGlkcy5sZW5ndGg7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0ICR7ZW50aXR5SWR9TW9kZWwgPSBuZXcgJHtlbnRpdHlJZH1Nb2RlbENsYXNzKCk7XG4gICAgICBgLnRyaW0oKSxcbiAgICAgIGltcG9ydEtleXM6IFtdLFxuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTb25hbXUiLCJFbnRpdHlNYW5hZ2VyIiwiTmFpdGUiLCJUZW1wbGF0ZSIsImdldFpvZFR5cGVCeUlkIiwiem9kVHlwZVRvUmVuZGVyaW5nTm9kZSIsIlRlbXBsYXRlX192aWV3X2xpc3QiLCJUZW1wbGF0ZV9fbW9kZWwiLCJnZXRUYXJnZXRBbmRQYXRoIiwibmFtZXMiLCJkaXIiLCJjb25maWciLCJhcGkiLCJ0YXJnZXQiLCJwYXRoIiwiZnMiLCJyZW5kZXIiLCJlbnRpdHlJZCIsInQiLCJsaXN0UGFyYW1zWm9kVHlwZSIsImxpc3RQYXJhbXNOb2RlIiwic3Vic2V0S2V5Wm9kVHlwZSIsInN1YnNldEtleXMiLCJlbnVtIiwiZ2V0TmFtZXNGcm9tSWQiLCJlbnRpdHkiLCJnZXQiLCJ2bFRwbCIsImNoaWxkcmVuIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJkZWYiLCJnZXREZWZhdWx0IiwiYm9keSIsImNhbWVsIiwiY2FwaXRhbCIsImNhcGl0YWxQbHVyYWwiLCJzZWFyY2giLCJvcmRlckJ5IiwidGFibGUiLCJPYmplY3QiLCJrZXlzIiwibWFwIiwia2V5Iiwiam9pbiIsInRyaW0iLCJpbXBvcnRLZXlzIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxNQUFNLFFBQVEscUJBQVk7QUFDbkMsU0FBU0MsYUFBYSxRQUFnQyxpQ0FBOEI7QUFDcEYsU0FBU0MsS0FBSyxRQUFRLHVCQUFvQjtBQUUxQyxTQUFTQyxRQUFRLFFBQVEsaUJBQWM7QUFDdkMsU0FBU0MsY0FBYyxFQUFFQyxzQkFBc0IsUUFBUSxzQkFBbUI7QUFDMUUsU0FBU0MsbUJBQW1CLFFBQVEsMEJBQXVCO0FBQzNELE9BQU8sTUFBTUMsd0JBQXdCSjtJQUNuQyxhQUFjO1FBQ1osS0FBSyxDQUFDO0lBQ1I7SUFFQUssaUJBQWlCQyxLQUF3QixFQUFFO1FBQ3pDLE1BQU0sRUFBRUMsR0FBRyxFQUFFLEdBQUdWLE9BQU9XLE1BQU0sQ0FBQ0MsR0FBRztRQUVqQyxPQUFPO1lBQ0xDLFFBQVEsR0FBR0gsSUFBSSxnQkFBZ0IsQ0FBQztZQUNoQ0ksTUFBTSxHQUFHTCxNQUFNTSxFQUFFLENBQUMsQ0FBQyxFQUFFTixNQUFNTSxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQzFDO0lBQ0Y7SUFFQSxNQUFNQyxPQUFPLEVBQUVDLFFBQVEsRUFBNEIsRUFBRTtRQUNuRGYsTUFBTWdCLENBQUMsQ0FBQyxVQUFVO1lBQUVEO1FBQVM7UUFFN0IsTUFBTUUsb0JBQW9CLE1BQU1mLGVBQWUsR0FBR2EsU0FBUyxVQUFVLENBQUM7UUFDdEUsTUFBTUcsaUJBQWlCZix1QkFBdUJjO1FBRTlDLE1B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
@@ -0,0 +1,17 @@
1
+ import type { TemplateOptions } from "../../types/types";
2
+ import { Template } from "../template";
3
+ export declare class Template__queries extends Template {
4
+ constructor();
5
+ getTargetAndPath(): {
6
+ target: string;
7
+ path: string;
8
+ };
9
+ render({}: TemplateOptions["queries"]): {
10
+ body: string;
11
+ importKeys: string[];
12
+ customHeaders: string[];
13
+ target: string;
14
+ path: string;
15
+ };
16
+ }
17
+ //# sourceMappingURL=queries.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/queries.template.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,iBAAkB,SAAQ,QAAQ;;IAK7C,gBAAgB;;;;IAQhB,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,SAAS,CAAC;;;;;;;CAwFtC"}
@@ -0,0 +1,83 @@
1
+ import inflection from "inflection";
2
+ import { diff, unique } from "radashi";
3
+ import { apiParamToTsCode, apiParamTypeToTsType } from "../../api/code-converters.js";
4
+ import { Sonamu } from "../../api/sonamu.js";
5
+ import { ApiParamType } from "../../types/types.js";
6
+ import { Template } from "../template.js";
7
+ export class Template__queries extends Template {
8
+ constructor(){
9
+ super("queries");
10
+ }
11
+ getTargetAndPath() {
12
+ const { dir } = Sonamu.config.api;
13
+ return {
14
+ target: `${dir}/src/application`,
15
+ path: `queries.generated.ts`
16
+ };
17
+ }
18
+ render({}) {
19
+ const { apis } = Sonamu.syncer;
20
+ // tanstack-query를 포함한 API만 필터링
21
+ const queryApis = apis.filter((api)=>api.options.clients?.includes("tanstack-query"));
22
+ // 모델별로 그룹화
23
+ const apisByModel = new Map();
24
+ for (const api of queryApis){
25
+ const modelName = api.modelName.replace(/Model$/, "").replace(/Frame$/, "");
26
+ if (!apisByModel.has(modelName)) {
27
+ apisByModel.set(modelName, []);
28
+ }
29
+ apisByModel.get(modelName)?.push(api);
30
+ }
31
+ const namespaces = [];
32
+ const importKeys = [];
33
+ let typeParamNames = [];
34
+ for (const [modelName, modelApis] of apisByModel){
35
+ const functions = [];
36
+ for (const api of modelApis){
37
+ // Context 제외한 파라미터
38
+ const paramsWithoutContext = api.parameters.filter((param)=>!ApiParamType.isContext(param.type) && !ApiParamType.isRefKnex(param.type) && !(param.optional === true && param.name.startsWith("_")));
39
+ // 타입 파라미터 이름 수집
40
+ typeParamNames = typeParamNames.concat(api.typeParameters.map((tp)=>tp.id));
41
+ // 타입 파라미터 정의
42
+ const typeParametersAsTsType = api.typeParameters.map((typeParam)=>{
43
+ return apiParamTypeToTsType(typeParam, importKeys);
44
+ }).join(", ");
45
+ const typeParamsDef = typeParametersAsTsType ? `<${typeParametersAsTsType}>` : "";
46
+ // 파라미터 정의
47
+ const paramsDef = apiParamToTsCode(paramsWithoutContext, importKeys);
48
+ const paramNames = paramsWithoutContext.map((p)=>p.name).join(", ");
49
+ // serviceMethodName 계산 (services.template.ts와 동일한 로직)
50
+ const serviceMethodName = api.options.resourceName ? `get${inflection.camelize(api.options.resourceName)}` : api.methodName;
51
+ // SSRQuery 함수 생성 (함수명도 serviceMethodName 사용)
52
+ functions.push(`
53
+ export const ${serviceMethodName} = ${typeParamsDef}(${paramsDef}): SSRQuery =>
54
+ createSSRQuery('${api.modelName}', '${api.methodName}', [${paramNames}], ['${modelName}', '${serviceMethodName}']);
55
+ `.trim());
56
+ }
57
+ namespaces.push(`
58
+ export namespace ${modelName}Service {
59
+ ${functions.join("\n\n")}
60
+ }
61
+ `.trim());
62
+ }
63
+ return {
64
+ ...this.getTargetAndPath(),
65
+ body: namespaces.join("\n\n"),
66
+ importKeys: diff(unique(importKeys), typeParamNames),
67
+ customHeaders: [
68
+ "/** biome-ignore-all lint: generated는 무시 */",
69
+ "/** biome-ignore-all assist: generated는 무시 */",
70
+ "",
71
+ `import type { SSRQuery } from 'sonamu/ssr';`,
72
+ "",
73
+ `// SSRQuery 헬퍼 함수`,
74
+ `function createSSRQuery(modelName: string, methodName: string, params: any[], serviceKey: [string, string]): SSRQuery {`,
75
+ ` return { modelName, methodName, params, serviceKey, __brand: 'SSRQuery' } as SSRQuery;`,
76
+ `}`,
77
+ ""
78
+ ]
79
+ };
80
+ }
81
+ }
82
+
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvcXVlcmllcy50ZW1wbGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiO1xuaW1wb3J0IHsgZGlmZiwgdW5pcXVlIH0gZnJvbSBcInJhZGFzaGlcIjtcbmltcG9ydCB7IGFwaVBhcmFtVG9Uc0NvZGUsIGFwaVBhcmFtVHlwZVRvVHNUeXBlIH0gZnJvbSBcIi4uLy4uL2FwaS9jb2RlLWNvbnZlcnRlcnNcIjtcbmltcG9ydCB0eXBlIHsgRXh0ZW5kZWRBcGkgfSBmcm9tIFwiLi4vLi4vYXBpL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IFNvbmFtdSB9IGZyb20gXCIuLi8uLi9hcGkvc29uYW11XCI7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlT3B0aW9ucyB9IGZyb20gXCIuLi8uLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgQXBpUGFyYW1UeXBlIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gXCIuLi90ZW1wbGF0ZVwiO1xuXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVfX3F1ZXJpZXMgZXh0ZW5kcyBUZW1wbGF0ZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFwicXVlcmllc1wiKTtcbiAgfVxuXG4gIGdldFRhcmdldEFuZFBhdGgoKSB7XG4gICAgY29uc3QgeyBkaXIgfSA9IFNvbmFtdS5jb25maWcuYXBpO1xuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXQ6IGAke2Rpcn0vc3JjL2FwcGxpY2F0aW9uYCxcbiAgICAgIHBhdGg6IGBxdWVyaWVzLmdlbmVyYXRlZC50c2AsXG4gICAgfTtcbiAgfVxuXG4gIHJlbmRlcih7fTogVGVtcGxhdGVPcHRpb25zW1wicXVlcmllc1wiXSkge1xuICAgIGNvbnN0IHsgYXBpcyB9ID0gU29uYW11LnN5bmNlcjtcblxuICAgIC8vIHRhbnN0YWNrLXF1ZXJ566W8IO2PrO2VqO2VnCBBUEnrp4wg7ZWE7YSw66eBXG4gICAgY29uc3QgcXVlcnlBcGlzID0gYXBpcy5maWx0ZXIoKGFwaSkgPT4gYXBpLm9wdGlvbnMuY2xpZW50cz8uaW5jbHVkZXMoXCJ0YW5zdGFjay1xdWVyeVwiKSk7XG5cbiAgICAvLyDrqqjrjbjrs4TroZwg6re466O57ZmUXG4gICAgY29uc3QgYXBpc0J5TW9kZWwgPSBuZXcgTWFwPHN0cmluZywgRXh0ZW5kZWRBcGlbXT4oKTtcbiAgICBmb3IgKGNvbnN0IGFwaSBvZiBxdWVyeUFwaXMpIHtcbiAgICAgIGNvbnN0IG1vZGVsTmFtZSA9IGFwaS5tb2RlbE5hbWUucmVwbGFjZSgvTW9kZWwkLywgXCJcIikucmVwbGFjZSgvRnJhbWUkLywgXCJcIik7XG4gICAgICBpZiAoIWFwaXNCeU1vZGVsLmhhcyhtb2RlbE5hbWUpKSB7XG4gICAgICAgIGFwaXNCeU1vZGVsLnNldChtb2RlbE5hbWUsIFtdKTtcbiAgICAgIH1cbiAgICAgIGFwaXNCeU1vZGVsLmdldChtb2RlbE5hbWUpPy5wdXNoKGFwaSk7XG4gICAgfVxuXG4gICAgY29uc3QgbmFtZXNwYWNlczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBpbXBvcnRLZXlzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGxldCB0eXBlUGFyYW1OYW1lczogc3RyaW5nW10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgW21vZGVsTmFtZSwgbW9kZWxBcGlzXSBvZiBhcGlzQnlNb2RlbCkge1xuICAgICAgY29uc3QgZnVuY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICBmb3IgKGNvbnN0IGFwaSBvZiBtb2RlbEFwaXMpIHtcbiAgICAgICAgLy8gQ29udGV4dCDsoJzsmbjtlZwg7YyM652866+47YSwXG4gICAgICAgIGNvbnN0IHBhcmFtc1dpdGhvdXRDb250ZXh0ID0gYXBpLnBhcmFtZXRlcnMuZmlsdGVyKFxuICAgICAgICAgIChwYXJhbSkgPT5cbiAgICAgICAgICAgICFBcGlQYXJhbVR5cGUuaXNDb250ZXh0KHBhcmFtLnR5cGUpICYmXG4gICAgICAgICAgICAhQXBpUGFyYW1UeXBlLmlzUmVmS25leChwYXJhbS50eXBlKSAmJlxuICAgICAgICAgICAgIShwYXJhbS5vcHRpb25hbCA9PT0gdHJ1ZSAmJiBwYXJhbS5uYW1lLnN0YXJ0c1dpdGgoXCJfXCIpKSxcbiAgICAgICAgKTtcblxuICAgICAgICAvLyDtg4DsnoUg7YyM652866+47YSwIOydtOumhCDsiJjsp5FcbiAgICAgICAgdHlwZVBhcmFtTmFtZXMgPSB0eXBlUGFyYW1OYW1lcy5jb25jYXQoYXBpLnR5cGVQYXJhbWV0ZXJzLm1hcCgodHApID0+IHRwLmlkKSk7XG5cbiAgICAgICAgLy8g7YOA7J6FIO2MjOudvOuvuO2EsCDsoJXsnZhcbiAgICAgICAgY29uc3QgdHlwZVBhcmFtZXRlcnNBc1RzVHlwZSA9IGFwaS50eXBlUGFyYW1ldGVyc1xuICAgICAgICAgIC5tYXAoKHR5cGVQYXJhbSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGFwaVBhcmFtVHlwZVRvVHNUeXBlKHR5cGVQYXJhbSwgaW1wb3J0S2V5cyk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuam9pbihcIiwgXCIpO1xuICAgICAgICBjb25zdCB0eXBlUGFyYW1zRGVmID0gdHlwZVBhcmFtZXRlcnNBc1RzVHlwZSA/IGA8JHt0eXBlUGFyYW1ldGVyc0FzVHNUeXBlfT5gIDogXCJcIjtcblxuICAgICAgICAvLyDtjIzrnbzrr7jthLAg7KCV7J2YXG4gICAgICAgIGNvbnN0IHBhcmFtc0RlZiA9IGFwaVBhcmFtVG9Uc0NvZGUocGFyYW1zV2l0aG91dENvbnRleHQsIGltcG9ydEtleXMpO1xuICAgICAgICBjb25zdCBwYXJhbU5hbWVzID0gcGFyYW1zV2l0aG91dENvbnRleHQubWFwKChwKSA9PiBwLm5hbWUpLmpvaW4oXCIsIFwiKTtcblxuICAgICAgICAvLyBzZXJ2aWNlTWV0aG9kTmFtZSDqs4TsgrAgKHNlcnZpY2VzLnRlbXBsYXRlLnRz7JmAIOuPmeydvO2VnCDroZzsp4EpXG4gICAgICAgIGNvbnN0IHNlcnZpY2VNZXRob2ROYW1lID0gYXBpLm9wdGlvbnMucmVzb3VyY2VOYW1lXG4gICAgICAgICAgPyBgZ2V0JHtpbmZsZWN0aW9uLmNhbWVsaXplKGFwaS5vcHRpb25zLnJlc291cmNlTmFtZSl9YFxuICAgICAgICAgIDogYXBpLm1ldGhvZE5hbWU7XG5cbiAgICAgICAgLy8gU1NSUXVlcnkg7ZWo7IiYIOyDneyEsSAo7ZWo7IiY66qF64+EIHNlcnZpY2VNZXRob2ROYW1lIOyCrOyaqSlcbiAgICAgICAgZnVuY3Rpb25zLnB1c2goXG4gICAgICAgICAgYFxuICBleHBvcnQgY29uc3QgJHtzZXJ2aWNlTWV0aG9kTmFtZX0gPSAke3R5cGVQYXJhbXNEZWZ9KCR7cGFyYW1zRGVmfSk6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoJyR7YXBpLm1vZGVsTmFtZX0nLCAnJHthcGkubWV0aG9kTmFtZX0nLCBbJHtwYXJhbU5hbWVzfV0sIFsnJHttb2RlbE5hbWV9JywgJyR7c2VydmljZU1ldGhvZE5hbWV9J10pO1xuICAgICAgICAgIGAudHJpbSgpLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBuYW1lc3BhY2VzLnB1c2goXG4gICAgICAgIGBcbmV4cG9ydCBuYW1lc3BhY2UgJHttb2RlbE5hbWV9U2VydmljZSB7XG4ke2Z1bmN0aW9ucy5qb2luKFwiXFxuXFxuXCIpfVxufVxuICAgICAgYC50cmltKCksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldFRhcmdldEFuZFBhdGgoKSxcbiAgICAgIGJvZHk6IG5hbWVzcGFjZXMuam9pbihcIlxcblxcblwiKSxcbiAgICAgIGltcG9ydEtleXM6IGRpZmYodW5pcXVlKGltcG9ydEtleXMpLCB0eXBlUGFyYW1OYW1lcyksXG4gICAgICBjdXN0b21IZWFkZXJzOiBbXG4gICAgICAgIFwiLyoqIGJpb21lLWlnbm9yZS1hbGwgbGludDogZ2VuZXJhdGVk64qUIOustOyLnCAqL1wiLFxuICAgICAgICBcIi8qKiBiaW9tZS1pZ25vcmUtYWxsIGFzc2lzdDogZ2VuZXJhdGVk64qUIOustOyLnCAqL1wiLFxuICAgICAgICBcIlwiLFxuICAgICAgICBgaW1wb3J0IHR5cGUgeyBTU1JRdWVyeSB9IGZyb20gJ3NvbmFtdS9zc3InO2AsXG4gICAgICAgIFwiXCIsXG4gICAgICAgIGAvLyBTU1JRdWVyeSDtl6ztjbwg7ZWo7IiYYCxcbiAgICAgICAgYGZ1bmN0aW9uIGNyZWF0ZVNTUlF1ZXJ5KG1vZGVsTmFtZTogc3RyaW5nLCBtZXRob2ROYW1lOiBzdHJpbmcsIHBhcmFtczogYW55W10sIHNlcnZpY2VLZXk6IFtzdHJpbmcsIHN0cmluZ10pOiBTU1JRdWVyeSB7YCxcbiAgICAgICAgYCAgcmV0dXJuIHsgbW9kZWxOYW1lLCBtZXRob2ROYW1lLCBwYXJhbXMsIHNlcnZpY2VLZXksIF9fYnJhbmQ6ICdTU1JRdWVyeScgfSBhcyBTU1JRdWVyeTtgLFxuICAgICAgICBgfWAsXG4gICAgICAgIFwiXCIsXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJpbmZsZWN0aW9uIiwiZGlmZiIsInVuaXF1ZSIsImFwaVBhcmFtVG9Uc0NvZGUiLCJhcGlQYXJhbVR5cGVUb1RzVHlwZSIsIlNvbmFtdSIsIkFwaVBhcmFtVHlwZSIsIlRlbXBsYXRlIiwiVGVtcGxhdGVfX3F1ZXJpZXMiLCJnZXRUYXJnZXRBbmRQYXRoIiwiZGlyIiwiY29uZmlnIiwiYXBpIiwidGFyZ2V0IiwicGF0aCIsInJlbmRlciIsImFwaXMiLCJzeW5jZXIiLCJxdWVyeUFwaXMiLCJmaWx0ZXIiLCJvcHRpb25zIiwiY2xpZW50cyIsImluY2x1ZGVzIiwiYXBpc0J5TW9kZWwiLCJNYXAiLCJtb2RlbE5hbWUiLCJyZXBsYWNlIiwiaGFzIiwic2V0IiwiZ2V0IiwicHVzaCIsIm5hbWVzcGFjZXMiLCJpbXBvcnRLZXlzIiwidHlwZVBhcmFtTmFtZXMiLCJtb2RlbEFwaXMiLCJmdW5jdGlvbnMiLCJwYXJhbXNXaXRob3V0Q29udGV4dCIsInBhcmFtZXRlcnMiLCJwYXJhbSIsImlzQ29udGV4dCIsInR5cGUiLCJpc1JlZktuZXgiLCJvcHRpb25hbCIsIm5hbWUiLCJzdGFydHNXaXRoIiwiY29uY2F0IiwidHlwZVBhcmFtZXRlcnMiLCJtYXAiLCJ0cCIsImlkIiwidHlwZVBhcmFtZXRlcnNBc1RzVHlwZSIsInR5cGVQYXJhbSIsImpvaW4iLCJ0eXBlUGFyYW1zRGVmIiwicGFyYW1zRGVmIiwicGFyYW1OYW1lcyIsInAiLCJzZXJ2aWNlTWV0aG9kTmFtZSIsInJlc291cmNlTmFtZSIsImNhbWVsaXplIiwibWV0aG9kTmFtZSIsInRyaW0iLCJib2R5IiwiY3VzdG9tSGVhZGVycyJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsZ0JBQWdCLGFBQWE7QUFDcEMsU0FBU0MsSUFBSSxFQUFFQyxNQUFNLFFBQVEsVUFBVTtBQUN2QyxTQUFTQyxnQkFBZ0IsRUFBRUMsb0JBQW9CLFFBQVEsK0JBQTRCO0FBRW5GLFNBQVNDLE1BQU0sUUFBUSxzQkFBbUI7QUFFMUMsU0FBU0MsWUFBWSxRQUFRLHVCQUFvQjtBQUNqRCxTQUFTQyxRQUFRLFFBQVEsaUJBQWM7QUFFdkMsT0FBTyxNQUFNQywwQkFBMEJEO0lBQ3JDLGFBQWM7UUFDWixLQUFLLENBQUM7SUFDUjtJQUVBRSxtQkFBbUI7UUFDakIsTUFBTSxFQUFFQyxHQUFHLEVBQUUsR0FBR0wsT0FBT00sTUFBTSxDQUFDQyxHQUFHO1FBQ2pDLE9BQU87WUFDTEMsUUFBUSxHQUFHSCxJQUFJLGdCQUFnQixDQUFDO1lBQ2hDSSxNQUFNLENBQUMsb0JBQW9CLENBQUM7UUFDOUI7SUFDRjtJQUVBQyxPQUFPLEVBQThCLEVBQUU7UUFDckMsTUFBTSxFQUFFQyxJQUFJLEVBQUUsR0FBR1gsT0FBT1ksTUFBTTtRQUU5QiwrQkFBK0I7UUFDL0IsTUFBTUMsWUFBWUYsS0FBS0csTUFBTSxDQUFDLENBQUNQLE1BQVFBLElBQUlRLE9BQU8sQ0FBQ0MsT0FBTyxFQUFF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
@@ -1 +1 @@
1
- {"version":3,"file":"view_enums_select.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/view_enums_select.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,2BAA4B,SAAQ,QAAQ;;IAKvD,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM;;;;IAOzD,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,mBAAmB,CAAC;;;;;;CAwClE"}
1
+ {"version":3,"file":"view_enums_select.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/view_enums_select.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,2BAA4B,SAAQ,QAAQ;;IAKvD,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM;;;;IAOzD,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,mBAAmB,CAAC;;;;;;CAsDlE"}