@smartdcc/duis-templates 0.0.3

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 (309) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +206 -0
  3. package/dist/gbcs-mapping-table.json +1037 -0
  4. package/dist/index.d.ts +3 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +26 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/load.d.ts +27 -0
  9. package/dist/load.d.ts.map +1 -0
  10. package/dist/load.js +94 -0
  11. package/dist/load.js.map +1 -0
  12. package/dist/search.d.ts +10 -0
  13. package/dist/search.d.ts.map +1 -0
  14. package/dist/search.js +50 -0
  15. package/dist/search.js.map +1 -0
  16. package/package.json +59 -0
  17. package/templates/12.2_DEVICE_PRE_NOTIFICATION_REQUEST_DUIS.XML +43 -0
  18. package/templates/8.13_RETURN_LOCAL_COMMAND_RESPONSE_CS06_REQUEST_DUIS.XML +38 -0
  19. package/templates/8.14.1_COMMUNICATIONS_HUB_STATUS_UPDATE_INSTALL_SUCCESS_REQUEST_DUIS.XML +41 -0
  20. package/templates/8.14.2_COMMUNICATIONS_HUB_STATUS_UPDATE_INSTALL_NO_SM_WAN_REQUEST_DUIS.XML +45 -0
  21. package/templates/8.14.3_COMMUNICATIONS_HUB_STATUS_UPDATE_FAULT_RETURN_REQUEST_DUIS.XML +41 -0
  22. package/templates/8.14.4_COMMUNICATIONS_HUB_STATUS_UPDATE_NO_FAULT_RETURN_REQUEST_DUIS.XML +38 -0
  23. package/templates/8.2_READ_INVENTORY_REQUEST_DUIS.XML +37 -0
  24. package/templates/8.3_DECOMMISSION_DEVICE_REQUEST_DUIS.XML +37 -0
  25. package/templates/8.4_UPDATE_INVENTORY_REQUEST_DUIS.XML +38 -0
  26. package/templates/8.6_SERVICE_OPTIN_REQUEST_DUIS.XML +44 -0
  27. package/templates/CCS01_8.11_SUCCESS_REQUEST_DUIS.XML +44 -0
  28. package/templates/CCS02_8.11_SUCCESS_REQUEST_DUIS.XML +38 -0
  29. package/templates/CCS03_8.12.1_SUCCESS_REQUEST_DUIS.XML +37 -0
  30. package/templates/CCS05CCS04_8.9_SUCCESS_REQUEST_DUIS.XML +35 -0
  31. package/templates/CCS06_8.9_SUCCESS_REQUEST_DUIS.XML +35 -0
  32. package/templates/CCS07_8.9_SUCCESS_REQUEST_DUIS.XML +37 -0
  33. package/templates/CS01a_2.2_SUCCESS_REQUEST_DUIS.XML +37 -0
  34. package/templates/CS01b_2.2_SUCCESS_REQUEST_DUIS.XML +37 -0
  35. package/templates/CS02aMAC_6.24.1_SUCCESS_REQUEST_DUIS.XML +38 -0
  36. package/templates/CS02bACBByACB_8.5_SUCCESS_REQUEST_DUIS.XML +45 -0
  37. package/templates/CS02bNOByNOHandover_6.21_SUCCESS_REQUEST_DUIS.XML +46 -0
  38. package/templates/CS02bNOByNO_6.15.1_SUCCESS_REQUEST_DUIS.XML +48 -0
  39. package/templates/CS02bSupplierBySupplierHandover_6.21_SUCCESS_REQUEST_DUIS.XML +48 -0
  40. package/templates/CS02bSupplierBySupplier_6.15.1_CANCELLATION_SUCCESS_REQUEST_DUIS.XML +51 -0
  41. package/templates/CS02bSupplierBySupplier_6.15.1_FUTURE_DATED_SUCCESS_REQUEST_DUIS.XML +51 -0
  42. package/templates/CS02bSupplierBySupplier_6.15.1_IMMEDIATE_SUCCESS_REQUEST_DUIS.XML +50 -0
  43. package/templates/CS02bSupplierByTransCoS_6.23_CANCELLATION_SUCCESS_REQUEST_DUIS.XML +49 -0
  44. package/templates/CS02bSupplierByTransCoS_6.23_FUTURE_DATED_SUCCESS_REQUEST_DUIS.XML +49 -0
  45. package/templates/CS02bSupplierByTransCoS_6.23_IMMEDIATE_SUCCESS_REQUEST_DUIS.XML +48 -0
  46. package/templates/CS02c_6.17_SUCCESS_REQUEST_DUIS.XML +37 -0
  47. package/templates/CS02d_6.15.2_SUCCESS_REQUEST_DUIS.XML +37 -0
  48. package/templates/CS02e_6.24.2_SUCCESS_REQUEST_DUIS.XML +37 -0
  49. package/templates/CS02fMAC_6.24.1_SUCCESS_REQUEST_DUIS.XML +38 -0
  50. package/templates/CS02gLoadControllerBySupplier_6.15.1_CANCELLATION_SUCCESS_REQUEST_DUIS.XML +49 -0
  51. package/templates/CS02gLoadControllerBySupplier_6.15.1_FUTURE_DATED_SUCCESS_REQUEST_DUIS.XML +49 -0
  52. package/templates/CS02gLoadControllerBySupplier_6.15.1_IMMEDIATE_SUCCESS_REQUEST_DUIS.XML +48 -0
  53. package/templates/CS03A1_8.7.1_SUCCESS_REQUEST_DUIS.XML +37 -0
  54. package/templates/CS03A2Critical_8.7.1_SUCCESS_REQUEST_DUIS.XML +37 -0
  55. package/templates/CS03A2NonCritical_8.7.2_SUCCESS_REQUEST_DUIS.XML +37 -0
  56. package/templates/CS03B_8.7.2_SUCCESS_REQUEST_DUIS.XML +38 -0
  57. package/templates/CS03CCritical_8.7.1_SUCCESS_REQUEST_DUIS.XML +38 -0
  58. package/templates/CS03CNonCritical_8.7.2_SUCCESS_REQUEST_DUIS.XML +37 -0
  59. package/templates/CS04ACCritical_8.8.1_SUCCESS_REQUEST_DUIS.XML +38 -0
  60. package/templates/CS04ACNonCritical_8.8.2_SUCCESS_REQUEST_DUIS.XML +37 -0
  61. package/templates/CS04B_8.8.2_SUCCESS_REQUEST_DUIS.XML +38 -0
  62. package/templates/CS06_11.3_CANCELLATION_SUCCESS_REQUEST_DUIS.XML +38 -0
  63. package/templates/CS06_11.3_FUTURE_DATED_SUCCESS_REQUEST_DUIS.XML +38 -0
  64. package/templates/CS06_11.3_IMMEDIATE_SUCCESS_REQUEST_DUIS.XML +37 -0
  65. package/templates/CS07_8.9_SUCCESS_REQUEST_DUIS.XML +36 -0
  66. package/templates/CS08_11.2_SUCCESS_REQUEST_DUIS.XML +35 -0
  67. package/templates/CS10a_6.13_SUCCESS_REQUEST_DUIS.XML +41 -0
  68. package/templates/CS10b_6.13_SUCCESS_REQUEST_DUIS.XML +41 -0
  69. package/templates/CS11_3.3_SUCCESS_REQUEST_DUIS.XML +35 -0
  70. package/templates/DBCH01_6.31_SUCCESS_REQUEST_DUIS.XML +35 -0
  71. package/templates/DBCH02_6.32_SUCCESS_REQUEST_DUIS.XML +40 -0
  72. package/templates/DBCH03_6.30_SUCCESS_REQUEST_DUIS.XML +35 -0
  73. package/templates/DBCH04_6.28_SUCCESS_REQUEST_DUIS.XML +63 -0
  74. package/templates/DBCH05_6.29_SUCCESS_REQUEST_DUIS.XML +35 -0
  75. package/templates/ECS01a_1.1.1_CANCELLATION_TOU_BLOCK_SUCCESS_REQUEST_DUIS.XML +215 -0
  76. package/templates/ECS01a_1.1.1_FUTURE_DATED_TOU_BLOCK_SUCCESS_REQUEST_DUIS.XML +215 -0
  77. package/templates/ECS01a_1.1.1_IMMEDIATE_BLOCK_SUCCESS_REQUEST_DUIS.XML +125 -0
  78. package/templates/ECS01a_1.1.1_IMMEDIATE_TOU_SUCCESS_REQUEST_DUIS.XML +206 -0
  79. package/templates/ECS01b_1.2.1_CANCELLATION_TOU_BLOCK_SUCCESS_REQUEST_DUIS.XML +55 -0
  80. package/templates/ECS01b_1.2.1_FUTURE_DATED_TOU_BLOCK_SUCCESS_REQUEST_DUIS.XML +55 -0
  81. package/templates/ECS01b_1.2.1_IMMEDIATE_BLOCK_SUCCESS_REQUEST_DUIS.XML +50 -0
  82. package/templates/ECS01b_1.2.1_IMMEDIATE_TOU_SUCCESS_REQUEST_DUIS.XML +48 -0
  83. package/templates/ECS01c_1.1.2_CANCELLATION_SUCCESS_REQUEST_DUIS.XML +181 -0
  84. package/templates/ECS01c_1.1.2_FUTURE_DATED_SUCCESS_REQUEST_DUIS.XML +181 -0
  85. package/templates/ECS01c_1.1.2_IMMEDIATE_SUCCESS_REQUEST_DUIS.XML +180 -0
  86. package/templates/ECS01d_1.2.2_CANCELLATION_SUCCESS_REQUEST_DUIS.XML +44 -0
  87. package/templates/ECS01d_1.2.2_FUTURE_DATED_SUCCESS_REQUEST_DUIS.XML +44 -0
  88. package/templates/ECS01d_1.2.2_IMMEDIATE_SUCCESS_REQUEST_DUIS.XML +43 -0
  89. package/templates/ECS02_1.6_CANCELLATION_TWIN_SUCCESS_REQUEST_DUIS.XML +38 -0
  90. package/templates/ECS02_1.6_FUTURE_DATED_TWIN_SUCCESS_REQUEST_DUIS.XML +38 -0
  91. package/templates/ECS02_1.6_IMMEDIATE_SINGLE_SUCCESS_REQUEST_DUIS.XML +37 -0
  92. package/templates/ECS03_1.6_CANCELLATION_TWIN_SUCCESS_REQUEST_DUIS.XML +42 -0
  93. package/templates/ECS03_1.6_FUTURE_DATED_TWIN_SUCCESS_REQUEST_DUIS.XML +42 -0
  94. package/templates/ECS03_1.6_IMMEDIATE_SINGLE_SUCCESS_REQUEST_DUIS.XML +41 -0
  95. package/templates/ECS04a_1.5_SUCCESS_REQUEST_DUIS.XML +39 -0
  96. package/templates/ECS04b_1.5_SUCCESS_REQUEST_DUIS.XML +39 -0
  97. package/templates/ECS05_1.7_SUCCESS_REQUEST_DUIS.XML +35 -0
  98. package/templates/ECS07_2.3_SUCCESS_REQUEST_DUIS.XML +50 -0
  99. package/templates/ECS08_2.1_CANCELLATION_SUCCESS_REQUEST_DUIS.XML +461 -0
  100. package/templates/ECS08_2.1_FUTURE_DATED_SUCCESS_REQUEST_DUIS.XML +461 -0
  101. package/templates/ECS08_2.1_IMMEDIATE_SUCCESS_REQUEST_DUIS.XML +460 -0
  102. package/templates/ECS08a_2.1_CANCELLATION_SUCCESS_REQUEST_DUIS.XML +461 -0
  103. package/templates/ECS08a_2.1_FUTURE_DATED_SUCCESS_REQUEST_DUIS.XML +461 -0
  104. package/templates/ECS08a_2.1_IMMEDIATE_SUCCESS_REQUEST_DUIS.XML +460 -0
  105. package/templates/ECS09_2.5_SUCCESS_REQUEST_DUIS.XML +35 -0
  106. package/templates/ECS10_3.1_SUCCESS_REQUEST_DUIS.XML +37 -0
  107. package/templates/ECS12_3.2_SUCCESS_REQUEST_DUIS.XML +37 -0
  108. package/templates/ECS14_3.5_SUCCESS_REQUEST_DUIS.XML +35 -0
  109. package/templates/ECS15a_3.3_SUCCESS_REQUEST_DUIS.XML +37 -0
  110. package/templates/ECS15c_3.3_SUCCESS_REQUEST_DUIS.XML +37 -0
  111. package/templates/ECS16_3.4_SUCCESS_REQUEST_DUIS.XML +38 -0
  112. package/templates/ECS17a_4.2_SUCCESS_REQUEST_DUIS.XML +35 -0
  113. package/templates/ECS17b_4.1.1_DSP_FUTURE_DATED_REQUEST_DUIS.XML +37 -0
  114. package/templates/ECS17b_4.1.1_REQUEST_DUIS.XML +35 -0
  115. package/templates/ECS17b_4.1.1_SINGLE_SUCCESS_REQUEST_DUIS.XML +35 -0
  116. package/templates/ECS17b_4.1.1_TWIN_SUCCESS_REQUEST_DUIS.XML +35 -0
  117. package/templates/ECS17c_4.16_SUCCESS_REQUEST_DUIS.XML +35 -0
  118. package/templates/ECS17d_4.1.2_SINGLE_SUCCESS_REQUEST_DUIS.XML +35 -0
  119. package/templates/ECS17d_4.1.2_TWIN_SUCCESS_REQUEST_DUIS.XML +35 -0
  120. package/templates/ECS17e_4.1.3_SUCCESS_REQUEST_DUIS.XML +35 -0
  121. package/templates/ECS18a_4.12.2_SUCCESS_REQUEST_DUIS.XML +35 -0
  122. package/templates/ECS18b_4.12.1_SUCCESS_REQUEST_DUIS.XML +35 -0
  123. package/templates/ECS19_4.3_SUCCESS_REQUEST_DUIS.XML +35 -0
  124. package/templates/ECS20a_4.4.4_SUCCESS_REQUEST_DUIS.XML +40 -0
  125. package/templates/ECS20b_4.4.2_SINGLE_SUCCESS_REQUEST_DUIS.XML +40 -0
  126. package/templates/ECS20b_4.4.2_TWIN_SUCCESS_REQUEST_DUIS.XML +40 -0
  127. package/templates/ECS20c_4.4.3_SINGLE_SUCCESS_REQUEST_DUIS.XML +40 -0
  128. package/templates/ECS20c_4.4.3_TWIN_SUCCESS_REQUEST_DUIS.XML +40 -0
  129. package/templates/ECS20d_4.4.5_SUCCESS_REQUEST_DUIS.XML +40 -0
  130. package/templates/ECS21a_4.6.1_SINGLE_SUCCESS_REQUEST_DUIS.XML +40 -0
  131. package/templates/ECS21a_4.6.1_TWIN_SUCCESS_REQUEST_DUIS.XML +40 -0
  132. package/templates/ECS21a_5.1._DCC_SCHEDULED_REQUEST_DUIS.XML +47 -0
  133. package/templates/ECS21b_4.14_KRP_SUCCESS_REQUEST_DUIS.XML +40 -0
  134. package/templates/ECS21b_4.14_URP_SUCCESS_REQUEST_DUIS.XML +41 -0
  135. package/templates/ECS21c_4.6.2_SUCCESS_REQUEST_DUIS.XML +40 -0
  136. package/templates/ECS22a_4.8.3_SUCCESS_REQUEST_DUIS.XML +40 -0
  137. package/templates/ECS22b_4.8.1_SINGLE_SUCCESS_REQUEST_DUIS.XML +40 -0
  138. package/templates/ECS22b_4.8.1_TWIN_SUCCESS_REQUEST_DUIS.XML +40 -0
  139. package/templates/ECS22c_4.8.2_SUCCESS_REQUEST_DUIS.XML +40 -0
  140. package/templates/ECS23_4.10_SUCCESS_REQUEST_DUIS.XML +40 -0
  141. package/templates/ECS23b_4.10_SUCCESS_REQUEST_DUIS.XML +40 -0
  142. package/templates/ECS24_4.11.1_SUCCESS_REQUEST_DUIS.XML +35 -0
  143. package/templates/ECS24b_4.11.2_SUCCESS_REQUEST_DUIS.XML +35 -0
  144. package/templates/ECS25a1_6.22_SUCCESS_REQUEST_DUIS.XML +43 -0
  145. package/templates/ECS25a2_6.22_SUCCESS_REQUEST_DUIS.XML +44 -0
  146. package/templates/ECS25a3_6.22_SUCCESS_REQUEST_DUIS.XML +46 -0
  147. package/templates/ECS25a_6.22_SUCCESS_REQUEST_DUIS.XML +45 -0
  148. package/templates/ECS25b3_6.22_SUCCESS_REQUEST_DUIS.XML +42 -0
  149. package/templates/ECS25b_6.22_SUCCESS_REQUEST_DUIS.XML +45 -0
  150. package/templates/ECS25r1_6.2.10_SUCCESS_REQUEST_DUIS.XML +35 -0
  151. package/templates/ECS25r2_6.2.10_SUCCESS_REQUEST_DUIS.XML +35 -0
  152. package/templates/ECS26a_4.13_SINGLE_SUCCESS_REQUEST_DUIS.XML +35 -0
  153. package/templates/ECS26a_4.13_TWIN_SUCCESS_REQUEST_DUIS.XML +35 -0
  154. package/templates/ECS26b_6.2.1_SUCCESS_REQUEST_DUIS.XML +35 -0
  155. package/templates/ECS26c_6.2.2_SUCCESS_REQUEST_DUIS.XML +35 -0
  156. package/templates/ECS26d_6.2.3_SUCCESS_REQUEST_DUIS.XML +35 -0
  157. package/templates/ECS26e_6.2.4_SUCCESS_REQUEST_DUIS.XML +35 -0
  158. package/templates/ECS26f_6.2.5_SUCCESS_REQUEST_DUIS.XML +35 -0
  159. package/templates/ECS26i_6.2.4_SUCCESS_REQUEST_DUIS.XML +35 -0
  160. package/templates/ECS26j_6.2.9_SUCCESS_REQUEST_DUIS.XML +35 -0
  161. package/templates/ECS26k_6.2.1_SUCCESS_REQUEST_DUIS.XML +35 -0
  162. package/templates/ECS26l_6.2.3_SUCCESS_REQUEST_DUIS.XML +35 -0
  163. package/templates/ECS26m_6.2.4_SUCCESS_REQUEST_DUIS.XML +35 -0
  164. package/templates/ECS26n_6.2.4_SUCCESS_REQUEST_DUIS.XML +35 -0
  165. package/templates/ECS27_4.15_SUCCESS_REQUEST_DUIS.XML +35 -0
  166. package/templates/ECS28a_6.4.1_CANCELLATION_SUCCESS_REQUEST_DUIS.XML +41 -0
  167. package/templates/ECS28a_6.4.1_FUTURE_DATED_SUCCESS_REQUEST_DUIS.XML +41 -0
  168. package/templates/ECS28a_6.4.1_IMMEDIATE_SUCCESS_REQUEST_DUIS.XML +40 -0
  169. package/templates/ECS28b_6.4.2_SUCCESS_REQUEST_DUIS.XML +35 -0
  170. package/templates/ECS29a_6.5_SUCCESS_REQUEST_DUIS.XML +51 -0
  171. package/templates/ECS29b_6.5_SUCCESS_REQUEST_DUIS.XML +70 -0
  172. package/templates/ECS29c_6.5_SUCCESS_REQUEST_DUIS.XML +52 -0
  173. package/templates/ECS29d_6.5_SUCCESS_REQUEST_DUIS.XML +71 -0
  174. package/templates/ECS29e_6.27_SUCCESS_REQUEST_DUIS.XML +35 -0
  175. package/templates/ECS29f_6.27_SUCCESS_REQUEST_DUIS.XML +35 -0
  176. package/templates/ECS30_6.8_SUCCESS_REQUEST_DUIS.XML +40 -0
  177. package/templates/ECS30a_6.8_SUCCESS_REQUEST_DUIS.XML +43 -0
  178. package/templates/ECS34_6.12_SUCCESS_REQUEST_DUIS.XML +38 -0
  179. package/templates/ECS35a_6.13_SUCCESS_REQUEST_DUIS.XML +41 -0
  180. package/templates/ECS35b_6.13_SUCCESS_REQUEST_DUIS.XML +41 -0
  181. package/templates/ECS35c_6.13_SUCCESS_REQUEST_DUIS.XML +41 -0
  182. package/templates/ECS35d_6.13_SUCCESS_REQUEST_DUIS.XML +41 -0
  183. package/templates/ECS35e_6.13_SUCCESS_REQUEST_DUIS.XML +41 -0
  184. package/templates/ECS35f_6.13_SUCCESS_REQUEST_DUIS.XML +41 -0
  185. package/templates/ECS35g_6.13_SUCCESS_REQUEST_DUIS.XML +41 -0
  186. package/templates/ECS37_6.18.1_SUCCESS_REQUEST_DUIS.XML +40 -0
  187. package/templates/ECS38_7.12_SUCCESS_REQUEST_DUIS.XML +37 -0
  188. package/templates/ECS39a_6.20.1_SINGLE_SUCCESS_REQUEST_DUIS.XML +39 -0
  189. package/templates/ECS39a_6.20.1_TWIN_SUCCESS_REQUEST_DUIS.XML +40 -0
  190. package/templates/ECS39b_6.20.2_SUCCESS_REQUEST_DUIS.XML +37 -0
  191. package/templates/ECS40_6.2.7_SINGLE_SUCCESS_REQUEST_DUIS.XML +35 -0
  192. package/templates/ECS40_6.2.7_TWIN_SUCCESS_REQUEST_DUIS.XML +35 -0
  193. package/templates/ECS42_7.1_REQUEST_DUIS.XML +37 -0
  194. package/templates/ECS42_7.1_SUCCESS_REQUEST_DUIS.XML +35 -0
  195. package/templates/ECS43_7.2_SUCCESS_REQUEST_DUIS.XML +35 -0
  196. package/templates/ECS44_7.3_SUCCESS_REQUEST_DUIS.XML +35 -0
  197. package/templates/ECS45_7.4_SUCCESS_REQUEST_DUIS.XML +35 -0
  198. package/templates/ECS46a_6.14.1_ALL_OPTIONALS_SUCCESS_REQUEST_DUIS.XML +51 -0
  199. package/templates/ECS46a_6.14.1_SOME_OPTIONALS_SUCCESS_REQUEST_DUIS.XML +45 -0
  200. package/templates/ECS46c_6.14.2_CANCELLATION_ALL_OPTIONALS_SUCCESS_REQUEST_DUIS.XML +430 -0
  201. package/templates/ECS46c_6.14.2_FUTURE_DATED_ALL_OPTIONALS_SUCCESS_REQUEST_DUIS.XML +430 -0
  202. package/templates/ECS46c_6.14.2_IMMEDIATE_SOME_OPTIONALS_SUCCESS_REQUEST_DUIS.XML +420 -0
  203. package/templates/ECS46d_6.14.3_CANCELLATION_APC_OUTPUT_SUCCESS_REQUEST_DUIS.XML +659 -0
  204. package/templates/ECS46d_6.14.3_FUTURE_DATED_APC_OUTPUT_SUCCESS_REQUEST_DUIS.XML +659 -0
  205. package/templates/ECS46d_6.14.3_IMMEDIATE_ALCS_SUCCESS_REQUEST_DUIS.XML +638 -0
  206. package/templates/ECS46d_6.14.3_IMMEDIATE_APC_INPUT_SUCCESS_REQUEST_DUIS.XML +648 -0
  207. package/templates/ECS46d_6.14.3_IMMEDIATE_APC_OUTPUT_SUCCESS_REQUEST_DUIS.XML +638 -0
  208. package/templates/ECS47Activate_7.5_SUCCESS_REQUEST_DUIS.XML +39 -0
  209. package/templates/ECS47Deactivate_7.6_SUCCESS_REQUEST_DUIS.XML +39 -0
  210. package/templates/ECS47Reset_7.8_SUCCESS_REQUEST_DUIS.XML +37 -0
  211. package/templates/ECS47a_7.13_ALCS_ACTIVATE_SUCCESS_REQUEST_DUIS.XML +39 -0
  212. package/templates/ECS47a_7.13_ALCS_DEACTIVATE_SUCCESS_REQUEST_DUIS.XML +39 -0
  213. package/templates/ECS47a_7.13_APC_INPUT_SUCCESS_REQUEST_DUIS.XML +40 -0
  214. package/templates/ECS47a_7.13_APC_OUTPUT_SUCCESS_REQUEST_DUIS.XML +39 -0
  215. package/templates/ECS47e_7.16_APC_INPUT_SUCCESS_REQUEST_DUIS.XML +40 -0
  216. package/templates/ECS47e_7.16_APC_OUTPUT_SUCCESS_REQUEST_DUIS.XML +39 -0
  217. package/templates/ECS48_6.26_SUCCESS_REQUEST_DUIS.XML +37 -0
  218. package/templates/ECS50_9.1_SUCCESS_REQUEST_DUIS.XML +35 -0
  219. package/templates/ECS52_11.2_SUCCESS_REQUEST_DUIS.XML +35 -0
  220. package/templates/ECS57_6.18.2_ALL_OPTIONALS_SUCCESS_REQUEST_DUIS.XML +39 -0
  221. package/templates/ECS57_6.18.2_SOME_OPTIONALS_SUCCESS_REQUEST_DUIS.XML +37 -0
  222. package/templates/ECS61a_7.7_ALL_OPTIONALS_SUCCESS_REQUEST_DUIS.XML +35 -0
  223. package/templates/ECS61c_7.11_SUCCESS_REQUEST_DUIS.XML +40 -0
  224. package/templates/ECS61d_7.14_SUCCESS_REQUEST_DUIS.XML +35 -0
  225. package/templates/ECS61e_7.15_SUCCESS_REQUEST_DUIS.XML +35 -0
  226. package/templates/ECS62Add_7.9_SUCCESS_REQUEST_DUIS.XML +41 -0
  227. package/templates/ECS62Remove_7.10_SUCCESS_REQUEST_DUIS.XML +41 -0
  228. package/templates/ECS66_4.17_SUCCESS_REQUEST_DUIS.XML +40 -0
  229. package/templates/ECS70Commission_8.1.1_SUCCESS_REQUEST_DUIS.XML +38 -0
  230. package/templates/ECS70_6.11_SUCCESS_REQUEST_DUIS.XML +38 -0
  231. package/templates/ECS81_6.25_SUCCESS_REQUEST_DUIS.XML +37 -0
  232. package/templates/ECS82_4.18_SUCCESS_REQUEST_DUIS.XML +35 -0
  233. package/templates/GCS01a_1.1.1_CANCELLATION_BLOCK_SUCCESS_REQUEST_DUIS.XML +97 -0
  234. package/templates/GCS01a_1.1.1_FUTURE_DATED_BLOCK_SUCCESS_REQUEST_DUIS.XML +97 -0
  235. package/templates/GCS01a_1.1.1_IMMEDIATE_TOU_SUCCESS_REQUEST_DUIS.XML +304 -0
  236. package/templates/GCS01b_1.2.1_CANCELLATION_BLOCK_SUCCESS_REQUEST_DUIS.XML +50 -0
  237. package/templates/GCS01b_1.2.1_FUTURE_DATED_BLOCK_SUCCESS_REQUEST_DUIS.XML +50 -0
  238. package/templates/GCS01b_1.2.1_IMMEDIATE_TOU_SUCCESS_REQUEST_DUIS.XML +48 -0
  239. package/templates/GCS02_1.6_CANCELLATION_SUCCESS_REQUEST_DUIS.XML +38 -0
  240. package/templates/GCS02_1.6_FUTURE_DATED_SUCCESS_REQUEST_DUIS.XML +38 -0
  241. package/templates/GCS02_1.6_IMMEDIATE_SUCCESS_REQUEST_DUIS.XML +37 -0
  242. package/templates/GCS03_1.6_CANCELLATION_SUCCESS_REQUEST_DUIS.XML +42 -0
  243. package/templates/GCS03_1.6_FUTURE_DATED_SUCCESS_REQUEST_DUIS.XML +42 -0
  244. package/templates/GCS03_1.6_IMMEDIATE_SUCCESS_REQUEST_DUIS.XML +41 -0
  245. package/templates/GCS04_2.3_SUCCESS_REQUEST_DUIS.XML +48 -0
  246. package/templates/GCS05_2.1_CANCELLATION_SUCCESS_REQUEST_DUIS.XML +214 -0
  247. package/templates/GCS05_2.1_FUTURE_DATED_SUCCESS_REQUEST_DUIS.XML +214 -0
  248. package/templates/GCS05_2.1_IMMEDIATE_SUCCESS_REQUEST_DUIS.XML +213 -0
  249. package/templates/GCS06_2.5_SUCCESS_REQUEST_DUIS.XML +35 -0
  250. package/templates/GCS07_3.1_SUCCESS_REQUEST_DUIS.XML +37 -0
  251. package/templates/GCS09_3.2_SUCCESS_REQUEST_DUIS.XML +37 -0
  252. package/templates/GCS11_3.5_SUCCESS_REQUEST_DUIS.XML +35 -0
  253. package/templates/GCS13a_4.1.1_SUCCESS_RELIABLE_GPF_REQUEST_DUIS.XML +35 -0
  254. package/templates/GCS13a_4.1.1_SUCCESS_RELIABLE_GSME_REQUEST_DUIS.XML +35 -0
  255. package/templates/GCS13a_4.1.1_SUCCESS_UNRELIABLE_REQUEST_DUIS.XML +35 -0
  256. package/templates/GCS13b_4.1.4_SUCCESS_RELIABLE_GPF_REQUEST_DUIS.XML +35 -0
  257. package/templates/GCS13b_4.1.4_SUCCESS_RELIABLE_GSME_REQUEST_DUIS.XML +35 -0
  258. package/templates/GCS13b_4.1.4_SUCCESS_UNRELIABLE_REQUEST_DUIS.XML +35 -0
  259. package/templates/GCS13c_4.1.2_SUCCESS_RELIABLE_GPF_REQUEST_DUIS.XML +35 -0
  260. package/templates/GCS13c_4.1.2_SUCCESS_RELIABLE_GSME_REQUEST_DUIS.XML +35 -0
  261. package/templates/GCS13c_4.1.2_SUCCESS_UNRELIABLE_REQUEST_DUIS.XML +35 -0
  262. package/templates/GCS14_4.3_SUCCESS_RELIABLE_GPF_REQUEST_DUIS.XML +35 -0
  263. package/templates/GCS14_4.3_SUCCESS_RELIABLE_GSME_REQUEST_DUIS.XML +35 -0
  264. package/templates/GCS14_4.3_SUCCESS_UNRELIABLE_REQUEST_DUIS.XML +35 -0
  265. package/templates/GCS15b_4.4.2_SUCCESS_REQUEST_DUIS.XML +40 -0
  266. package/templates/GCS15c_4.4.3_SUCCESS_REQUEST_DUIS.XML +40 -0
  267. package/templates/GCS15d_4.4.4_SUCCESS_REQUEST_DUIS.XML +40 -0
  268. package/templates/GCS15e_4.4.5_SUCCESS_REQUEST_DUIS.XML +40 -0
  269. package/templates/GCS16a_4.6.1_SUCCESS_REQUEST_DUIS.XML +40 -0
  270. package/templates/GCS16b_4.14_KRP_SUCCESS_REQUEST_DUIS.XML +40 -0
  271. package/templates/GCS16b_4.14_URP_SUCCESS_REQUEST_DUIS.XML +41 -0
  272. package/templates/GCS17_4.8.1_SUCCESS_REQUEST_DUIS.XML +40 -0
  273. package/templates/GCS18_4.10_SUCCESS_REQUEST_DUIS.XML +40 -0
  274. package/templates/GCS20_6.22_SUCCESS_REQUEST_DUIS.XML +104 -0
  275. package/templates/GCS20r_6.2.10_SUCCESS_REQUEST_DUIS.XML +35 -0
  276. package/templates/GCS21a_6.2.8_SUCCESS_REQUEST_DUIS.XML +35 -0
  277. package/templates/GCS21b_4.13_SUCCESS_REQUEST_DUIS.XML +35 -0
  278. package/templates/GCS21d_6.2.3_SUCCESS_REQUEST_DUIS.XML +35 -0
  279. package/templates/GCS21e_6.2.4_SUCCESS_REQUEST_DUIS.XML +35 -0
  280. package/templates/GCS21f_4.11.1_SUCCESS_REQUEST_DUIS.XML +35 -0
  281. package/templates/GCS21j_6.2.9_SUCCESS_REQUEST_DUIS.XML +35 -0
  282. package/templates/GCS21k_6.2.3_SUCCESS_REQUEST_DUIS.XML +35 -0
  283. package/templates/GCS21m_6.2.4_SUCCESS_REQUEST_DUIS.XML +35 -0
  284. package/templates/GCS23_6.6_SUCCESS_REQUEST_DUIS.XML +38 -0
  285. package/templates/GCS24_6.7_SUCCESS_REQUEST_DUIS.XML +41 -0
  286. package/templates/GCS24a_6.7_SUCCESS_REQUEST_DUIS.XML +41 -0
  287. package/templates/GCS25_6.8_SUCCESS_REQUEST_DUIS.XML +40 -0
  288. package/templates/GCS25a_6.8_SUCCESS_REQUEST_DUIS.XML +40 -0
  289. package/templates/GCS28Commission_8.1.1_SUCCESS_REQUEST_DUIS.XML +38 -0
  290. package/templates/GCS28_6.11_SUCCESS_REQUEST_DUIS.XML +38 -0
  291. package/templates/GCS31_14.1_SUCCESS_REQUEST_DUIS.XML +35 -0
  292. package/templates/GCS32_7.2_SUCCESS_REQUEST_DUIS.XML +35 -0
  293. package/templates/GCS33_7.4_SUCCESS_REQUEST_DUIS.XML +35 -0
  294. package/templates/GCS36_9.1_SUCCESS_REQUEST_DUIS.XML +35 -0
  295. package/templates/GCS38_11.2_SUCCESS_REQUEST_DUIS.XML +35 -0
  296. package/templates/GCS39_7.3_SUCCESS_REQUEST_DUIS.XML +35 -0
  297. package/templates/GCS40a_1.5_SUCCESS_REQUEST_DUIS.XML +39 -0
  298. package/templates/GCS40b_1.5_SUCCESS_REQUEST_DUIS.XML +39 -0
  299. package/templates/GCS40c_1.5_SUCCESS_REQUEST_DUIS.XML +39 -0
  300. package/templates/GCS40d_1.5_SUCCESS_REQUEST_DUIS.XML +39 -0
  301. package/templates/GCS41_6.20.1_SUCCESS_REQUEST_DUIS.XML +37 -0
  302. package/templates/GCS44_3.4_SUCCESS_REQUEST_DUIS.XML +38 -0
  303. package/templates/GCS46_6.2.7_SUCCESS_REQUEST_DUIS.XML +35 -0
  304. package/templates/GCS59_8.12.2_SUCCESS_REQUEST_DUIS.XML +37 -0
  305. package/templates/GCS60_4.18_SUCCESS_REQUEST_DUIS.XML +35 -0
  306. package/templates/GCS60a_4.18_SUCCESS_RELIABLE_GPF_REQUEST_DUIS.XML +35 -0
  307. package/templates/GCS60a_4.18_SUCCESS_RELIABLE_GSME_REQUEST_DUIS.XML +35 -0
  308. package/templates/GCS60a_4.18_SUCCESS_UNRELIABLE_GSME_REQUEST_DUIS.XML +35 -0
  309. package/templates/GCS61_4.17_SUCCESS_REQUEST_DUIS.XML +41 -0
package/README.md ADDED
@@ -0,0 +1,206 @@
1
+ # DUIS Templates
2
+
3
+ [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
4
+ [![Tests](https://github.com/SmartDCCInnovation/duis-templates/actions/workflows/node.yml/badge.svg?branch=main&event=push)](https://github.com/SmartDCCInnovation/duis-templates/actions/workflows/node.yml)
5
+ [![codecov](https://codecov.io/gh/SmartDCCInnovation/duis-templates/branch/main/graph/badge.svg?token=1FGAXZ5OS6)](https://codecov.io/gh/SmartDCCInnovation/duis-templates)
6
+ [![GitHub version](https://badge.fury.io/gh/SmartDCCInnovation%2Fduis-templates.svg)](https://badge.fury.io/gh/SmartDCCInnovation%2Fduis-templates)
7
+
8
+ Provides a number of DUIS templates intended for use with [DCC Boxed][boxed].
9
+ The templates originate from the Reference Test Data Set project. Conversion of
10
+ the templates from `XML` into `JSON` is managed by the
11
+ [duis-parser][duis-parser] tool. Further, provides a binding for the
12
+ [Fuse.js][fusejs] library to easily search the templates, e.g. by *GBCS Use
13
+ Case*, *Service Request Variant*, *Service Request Name*.
14
+
15
+ ## Usage
16
+
17
+ Developed and tested against `node 16`. Install from `npm`:
18
+
19
+ ```
20
+ npm i @smartdcc/duis-templates
21
+ ```
22
+
23
+ ### Load Templates
24
+
25
+ ```ts
26
+ import { loadTemplates, TemplateDirectory } from '@smartdcc/duis-templates'
27
+
28
+ const templates: TemplateDirectory = await loadTemplates({})
29
+ ```
30
+
31
+ Or with a `logger` specified, which will write a line of text in the case it is
32
+ unable to load a template:
33
+
34
+ ```ts
35
+ const templates = await loadTemplates({ logger: console.log })
36
+ ```
37
+
38
+ ### Template Usage
39
+
40
+ Once the templates are loaded, a `TemplateDirectory` will be obtained. This is
41
+ of the following type:
42
+
43
+ ```ts
44
+ type TemplateDirectory = Record<string, Template>
45
+ ```
46
+
47
+ The `keys` of the directory are tags obtained (i.e. normalised) from the file
48
+ names of the templates. For example, a typical *meter read* has the tag
49
+ `ECS17b_4.1.1_SINGLE`. This includes the GBCS use case code, the service request
50
+ variant and optional additional data (in this case `SINGLE`). As these tags are
51
+ chosen when the Reference Test Data Set is put together, they are fixed in this
52
+ project.
53
+
54
+ The `Template` stored in the dictionary has a number of meta-data items
55
+ associated, as well as a the `JSON` representation of the template. The
56
+ templates is provided in two options, `normal` and `simplified` - the meaning of
57
+ these two options is described in [duis-parser][duis-parser]. In most (if not
58
+ all) cases its recommended to use the `simplified` version.
59
+
60
+ As an example, the `Template` for the `ECS17b_4.1.1_SINGLE` is as follows when
61
+ printed from a Node REPL session. Notice the additional meta-data associated
62
+ with the templates, such as `serviceReferenceVariant` and `gbcsTitle` keys.
63
+
64
+ ```js
65
+ > directory['ECS17b_4.1.1_SINGLE']
66
+ {
67
+ fileName: '/path/to/package/templates/ECS17b_4.1.1_SINGLE_SUCCESS_REQUEST_DUIS.XML',
68
+ normal: {
69
+ '?xml': { '@_version': '1.0', '@_encoding': 'UTF-8' },
70
+ 'sr:Request': {
71
+ 'sr:Header': [Object],
72
+ 'sr:Body': [Object],
73
+ 'ds:Signature': [Object],
74
+ '@_xmlns:ds': 'http://www.w3.org/2000/09/xmldsig#',
75
+ '@_xmlns:sr': 'http://www.dccinterface.co.uk/ServiceUserGateway',
76
+ '@_xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',
77
+ '@_schemaVersion': '5.1'
78
+ }
79
+ },
80
+ simplified: {
81
+ header: {
82
+ type: 'request',
83
+ requestId: [Object],
84
+ commandVariant: [Object],
85
+ serviceReference: '4.1',
86
+ serviceReferenceVariant: [Object]
87
+ },
88
+ body: { ReadInstantaneousImportRegisters: '' }
89
+ },
90
+ serviceReferenceVariant: {
91
+ 'Service Request Name': 'Read Instantaneous Import Registers',
92
+ 'Service Reference': '4.1',
93
+ 'Service Reference Variant': '4.1.1',
94
+ Critical: 'No',
95
+ 'On Demand': 'Yes',
96
+ 'Future Dated Response Pattern': 'DSP',
97
+ 'DCC Scheduled': 'No',
98
+ 'Non-Device Request': 'No',
99
+ 'Eligible User Roles': [ 'IS', 'GS', 'ED', 'GT' ]
100
+ },
101
+ gbcs: 'ECS17b',
102
+ gbcsVariant: undefined,
103
+ gbcsTitle: 'ECS17b Read ESME Energy Registers (Import Energy)',
104
+ info: 'SINGLE'
105
+ }
106
+ ```
107
+
108
+ To convert templates back into XML, please see the [duis-parser][duis-parser]
109
+ library as it provides a `constructDuis` function. It also provides guidance on
110
+ how to sign the XML.
111
+
112
+ ### Searching
113
+
114
+ As there are lots of templates, often with slight variants a search feature is
115
+ provided. This is a light-weight wraparound the [Fuse.js][fusejs] with some of
116
+ the parameters set to useable defaults.
117
+
118
+ However, as Fuse.js expects the data it searches to be a list instead of a
119
+ dictionary, the dictionary is converted into a list using `Object.entries`
120
+ function. The result of this is that the format of the searched data is as
121
+ follows:
122
+
123
+ ```js
124
+ [
125
+ [ tag1, Template1 ],
126
+ [ tag2, Template2 ],
127
+ [ tag3, Template3 ],
128
+ ...
129
+ ]
130
+ ```
131
+
132
+ Thus, in the results of the search, each tag is referenced as `0` and the fields
133
+ of the template are prefixed with `1.`.
134
+
135
+ Below is an example of how to use the search:
136
+
137
+ ```ts
138
+ import { search } from '@smartdcc/duis-templates'
139
+
140
+ const fuse = search(directory)
141
+ console.log(fuse.search('4.1.1'))
142
+ ```
143
+
144
+ Which could output the following:
145
+
146
+ ```js
147
+ [
148
+ {
149
+ item: [ 'ECS17b_4.1.1_DSP_FUTURE_DATED', [Object] ],
150
+ refIndex: 90,
151
+ matches: [ [Object], [Object] ]
152
+ },
153
+ {
154
+ item: [ 'ECS17b_4.1.1', [Object] ],
155
+ refIndex: 91,
156
+ matches: [ [Object], [Object] ]
157
+ },
158
+ {
159
+ item: [ 'ECS17b_4.1.1_SINGLE', [Object] ],
160
+ refIndex: 92,
161
+ matches: [ [Object], [Object] ]
162
+ },
163
+ {
164
+ item: [ 'ECS17b_4.1.1_TWIN', [Object] ],
165
+ refIndex: 93,
166
+ matches: [ [Object], [Object] ]
167
+ },
168
+ {
169
+ item: [ 'GCS13a_4.1.1_RELIABLE_GPF', [Object] ],
170
+ refIndex: 211,
171
+ matches: [ [Object], [Object] ]
172
+ },
173
+ ...
174
+ ```
175
+
176
+ The structure of the result set is described in the Fuse.js documentation. Of
177
+ interest, the `matches` item shows which key in the Template was matched and the
178
+ position in the string too.
179
+
180
+ ## Contributing
181
+
182
+ Contributions are welcome!
183
+
184
+ When submitting a pull request, please ensure:
185
+
186
+ 1. Each PR is concise and provides only one feature/bug fix.
187
+ 2. Unit test are provided to cover feature. The project uses `jest`. To test,
188
+ run `npm run test:cov` to view code coverage metrics.
189
+ 3. Bugfixes are reference the GitHub issue.
190
+ 4. If appropriate, update documentation.
191
+ 5. Before committing, run `npm run lint` and `npm run prettier-check`.
192
+
193
+ If you are planning a new non-trivial feature, please first raise a GitHub issue
194
+ to discuss it to before investing your time to avoid disappointment.
195
+
196
+ Any contributions will be expected to be licensable under GPLv3.
197
+
198
+ ## Other Info
199
+
200
+ Copyright 2022, Smart DCC Limited, All rights reserved. Project is licensed under GPLv3.
201
+
202
+
203
+ [duis]: https://smartenergycodecompany.co.uk/the-smart-energy-code-2/ "Smart Energy Code"
204
+ [duis-parser]: https://github.com/SmartDCCInnovation/duis-parser "DUIS Parser"
205
+ [boxed]: https://www.smartdcc.co.uk/our-smart-network/network-products-services/dcc-boxed/ "DCC Boxed"
206
+ [fusejs]: https://fusejs.io/ "Fuse.js"