@servicenow/sdk-build-plugins 3.0.3 → 4.0.1

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 (359) hide show
  1. package/dist/acl-plugin.d.ts +19 -0
  2. package/dist/acl-plugin.js +210 -0
  3. package/dist/acl-plugin.js.map +1 -0
  4. package/dist/application-menu-plugin.d.ts +18 -0
  5. package/dist/application-menu-plugin.js +104 -0
  6. package/dist/application-menu-plugin.js.map +1 -0
  7. package/dist/arrow-function-plugin.d.ts +16 -0
  8. package/dist/arrow-function-plugin.js +107 -0
  9. package/dist/arrow-function-plugin.js.map +1 -0
  10. package/dist/atf/step-configs.d.ts +39 -0
  11. package/dist/atf/step-configs.js +2334 -0
  12. package/dist/atf/step-configs.js.map +1 -0
  13. package/dist/atf/test-plugin.d.ts +4 -0
  14. package/dist/atf/test-plugin.js +600 -0
  15. package/dist/atf/test-plugin.js.map +1 -0
  16. package/dist/basic-syntax-plugin.d.ts +2 -0
  17. package/dist/basic-syntax-plugin.js +636 -0
  18. package/dist/basic-syntax-plugin.js.map +1 -0
  19. package/dist/business-rule-plugin.d.ts +3 -0
  20. package/dist/business-rule-plugin.js +205 -0
  21. package/dist/business-rule-plugin.js.map +1 -0
  22. package/dist/call-expression-plugin.d.ts +2 -0
  23. package/dist/call-expression-plugin.js +175 -0
  24. package/dist/call-expression-plugin.js.map +1 -0
  25. package/dist/client-script-plugin.d.ts +29 -0
  26. package/dist/client-script-plugin.js +164 -0
  27. package/dist/client-script-plugin.js.map +1 -0
  28. package/dist/column/column-helper.d.ts +12 -0
  29. package/dist/column/column-helper.js +84 -0
  30. package/dist/column/column-helper.js.map +1 -0
  31. package/dist/column/column-to-record.d.ts +3 -0
  32. package/dist/column/column-to-record.js +105 -0
  33. package/dist/column/column-to-record.js.map +1 -0
  34. package/dist/column-plugin.d.ts +8 -0
  35. package/dist/column-plugin.js +453 -0
  36. package/dist/column-plugin.js.map +1 -0
  37. package/dist/cross-scope-privilege-plugin.d.ts +15 -0
  38. package/dist/cross-scope-privilege-plugin.js +82 -0
  39. package/dist/cross-scope-privilege-plugin.js.map +1 -0
  40. package/dist/html-import-plugin.d.ts +2 -0
  41. package/dist/html-import-plugin.js +72 -0
  42. package/dist/html-import-plugin.js.map +1 -0
  43. package/dist/index.d.ts +37 -21
  44. package/dist/index.js +40 -45
  45. package/dist/index.js.map +1 -1
  46. package/dist/json-plugin.d.ts +15 -0
  47. package/dist/json-plugin.js +104 -0
  48. package/dist/json-plugin.js.map +1 -0
  49. package/dist/list-plugin.d.ts +2 -0
  50. package/dist/list-plugin.js +191 -0
  51. package/dist/list-plugin.js.map +1 -0
  52. package/dist/now-config-plugin.d.ts +4 -0
  53. package/dist/now-config-plugin.js +154 -0
  54. package/dist/now-config-plugin.js.map +1 -0
  55. package/dist/now-id-plugin.d.ts +11 -0
  56. package/dist/now-id-plugin.js +71 -0
  57. package/dist/now-id-plugin.js.map +1 -0
  58. package/dist/now-include-plugin.d.ts +16 -0
  59. package/dist/now-include-plugin.js +118 -0
  60. package/dist/now-include-plugin.js.map +1 -0
  61. package/dist/now-ref-plugin.d.ts +2 -0
  62. package/dist/now-ref-plugin.js +43 -0
  63. package/dist/now-ref-plugin.js.map +1 -0
  64. package/dist/now-unresolved-plugin.d.ts +2 -0
  65. package/dist/now-unresolved-plugin.js +32 -0
  66. package/dist/now-unresolved-plugin.js.map +1 -0
  67. package/dist/package-json-plugin.d.ts +2 -0
  68. package/dist/package-json-plugin.js +70 -0
  69. package/dist/package-json-plugin.js.map +1 -0
  70. package/dist/property-plugin.d.ts +2 -0
  71. package/dist/property-plugin.js +105 -0
  72. package/dist/property-plugin.js.map +1 -0
  73. package/dist/record-plugin.d.ts +43 -0
  74. package/dist/record-plugin.js +147 -0
  75. package/dist/record-plugin.js.map +1 -0
  76. package/dist/repack/index.d.ts +1 -0
  77. package/dist/repack/index.js +10 -2
  78. package/dist/repack/index.js.map +1 -1
  79. package/dist/repack/lint/Rules.d.ts +1 -1
  80. package/dist/repack/lint/Rules.js +7 -3
  81. package/dist/repack/lint/Rules.js.map +1 -1
  82. package/dist/repack/lint/index.js +1 -1
  83. package/dist/rest-api-plugin.d.ts +2 -0
  84. package/dist/rest-api-plugin.js +469 -0
  85. package/dist/rest-api-plugin.js.map +1 -0
  86. package/dist/role-plugin.d.ts +2 -0
  87. package/dist/role-plugin.js +117 -0
  88. package/dist/role-plugin.js.map +1 -0
  89. package/dist/script-action-plugin.d.ts +2 -0
  90. package/dist/script-action-plugin.js +62 -0
  91. package/dist/script-action-plugin.js.map +1 -0
  92. package/dist/script-include-plugin.d.ts +2 -0
  93. package/dist/script-include-plugin.js +102 -0
  94. package/dist/script-include-plugin.js.map +1 -0
  95. package/dist/server-module-plugin/index.d.ts +14 -0
  96. package/dist/server-module-plugin/index.js +378 -0
  97. package/dist/server-module-plugin/index.js.map +1 -0
  98. package/dist/server-module-plugin/sbom-builder.d.ts +45 -0
  99. package/dist/server-module-plugin/sbom-builder.js +179 -0
  100. package/dist/server-module-plugin/sbom-builder.js.map +1 -0
  101. package/dist/service-portal/angular-provider-plugin.d.ts +2 -0
  102. package/dist/service-portal/angular-provider-plugin.js +78 -0
  103. package/dist/service-portal/angular-provider-plugin.js.map +1 -0
  104. package/dist/service-portal/dependency-plugin.d.ts +2 -0
  105. package/dist/service-portal/dependency-plugin.js +235 -0
  106. package/dist/service-portal/dependency-plugin.js.map +1 -0
  107. package/dist/service-portal/widget-plugin.d.ts +6 -0
  108. package/dist/service-portal/widget-plugin.js +230 -0
  109. package/dist/service-portal/widget-plugin.js.map +1 -0
  110. package/dist/static-content-plugin.d.ts +2 -0
  111. package/dist/static-content-plugin.js +272 -0
  112. package/dist/static-content-plugin.js.map +1 -0
  113. package/dist/table-plugin.d.ts +3 -0
  114. package/dist/table-plugin.js +1324 -0
  115. package/dist/table-plugin.js.map +1 -0
  116. package/dist/ui-action-plugin.d.ts +2 -0
  117. package/dist/ui-action-plugin.js +291 -0
  118. package/dist/ui-action-plugin.js.map +1 -0
  119. package/dist/ui-page-plugin.d.ts +2 -0
  120. package/dist/ui-page-plugin.js +165 -0
  121. package/dist/ui-page-plugin.js.map +1 -0
  122. package/dist/user-preference-plugin.d.ts +15 -0
  123. package/dist/user-preference-plugin.js +63 -0
  124. package/dist/user-preference-plugin.js.map +1 -0
  125. package/dist/utils.d.ts +17 -0
  126. package/dist/utils.js +72 -0
  127. package/dist/utils.js.map +1 -0
  128. package/dist/view-plugin.d.ts +2 -0
  129. package/dist/view-plugin.js +45 -0
  130. package/dist/view-plugin.js.map +1 -0
  131. package/package.json +17 -13
  132. package/src/acl-plugin.ts +256 -0
  133. package/src/application-menu-plugin.ts +109 -0
  134. package/src/arrow-function-plugin.ts +127 -0
  135. package/src/atf/step-configs.ts +2384 -0
  136. package/src/atf/test-plugin.ts +739 -0
  137. package/src/basic-syntax-plugin.ts +729 -0
  138. package/src/business-rule-plugin.ts +266 -0
  139. package/src/call-expression-plugin.ts +202 -0
  140. package/src/client-script-plugin.ts +179 -0
  141. package/src/column/column-helper.ts +119 -0
  142. package/src/column/column-to-record.ts +131 -0
  143. package/src/column-plugin.ts +506 -0
  144. package/src/cross-scope-privilege-plugin.ts +82 -0
  145. package/src/html-import-plugin.ts +79 -0
  146. package/src/index.ts +39 -21
  147. package/src/json-plugin.ts +128 -0
  148. package/src/list-plugin.ts +222 -0
  149. package/src/now-config-plugin.ts +194 -0
  150. package/src/now-id-plugin.ts +78 -0
  151. package/src/now-include-plugin.ts +140 -0
  152. package/src/now-ref-plugin.ts +48 -0
  153. package/src/now-unresolved-plugin.ts +30 -0
  154. package/src/package-json-plugin.ts +87 -0
  155. package/src/property-plugin.ts +118 -0
  156. package/src/record-plugin.ts +171 -0
  157. package/src/repack/index.ts +10 -1
  158. package/src/repack/lint/Rules.ts +5 -4
  159. package/src/repack/lint/index.ts +1 -1
  160. package/src/rest-api-plugin.ts +658 -0
  161. package/src/role-plugin.ts +128 -0
  162. package/src/script-action-plugin.ts +63 -0
  163. package/src/script-include-plugin.ts +110 -0
  164. package/src/server-module-plugin/index.ts +470 -0
  165. package/src/server-module-plugin/sbom-builder.ts +183 -0
  166. package/src/service-portal/angular-provider-plugin.ts +83 -0
  167. package/src/service-portal/dependency-plugin.ts +284 -0
  168. package/src/service-portal/widget-plugin.ts +263 -0
  169. package/src/static-content-plugin.ts +254 -0
  170. package/src/table-plugin.ts +1698 -0
  171. package/src/ui-action-plugin.ts +324 -0
  172. package/src/ui-page-plugin.ts +168 -0
  173. package/src/user-preference-plugin.ts +62 -0
  174. package/src/utils.ts +69 -0
  175. package/src/view-plugin.ts +46 -0
  176. package/dist/AttachmentPlugin.d.ts +0 -254
  177. package/dist/AttachmentPlugin.js +0 -220
  178. package/dist/AttachmentPlugin.js.map +0 -1
  179. package/dist/BusinessRulePlugin.d.ts +0 -30
  180. package/dist/BusinessRulePlugin.js +0 -149
  181. package/dist/BusinessRulePlugin.js.map +0 -1
  182. package/dist/CrossScopePrivilegePlugin.d.ts +0 -35
  183. package/dist/CrossScopePrivilegePlugin.js +0 -80
  184. package/dist/CrossScopePrivilegePlugin.js.map +0 -1
  185. package/dist/DefaultPlugin.d.ts +0 -86
  186. package/dist/DefaultPlugin.js +0 -226
  187. package/dist/DefaultPlugin.js.map +0 -1
  188. package/dist/HtmlTemplatePlugin.d.ts +0 -21
  189. package/dist/HtmlTemplatePlugin.js +0 -29
  190. package/dist/HtmlTemplatePlugin.js.map +0 -1
  191. package/dist/IdPlugin.d.ts +0 -28
  192. package/dist/IdPlugin.js +0 -68
  193. package/dist/IdPlugin.js.map +0 -1
  194. package/dist/IncludePlugin.d.ts +0 -34
  195. package/dist/IncludePlugin.js +0 -155
  196. package/dist/IncludePlugin.js.map +0 -1
  197. package/dist/JsonPlugin.d.ts +0 -28
  198. package/dist/JsonPlugin.js +0 -69
  199. package/dist/JsonPlugin.js.map +0 -1
  200. package/dist/ListPlugin.d.ts +0 -93
  201. package/dist/ListPlugin.js +0 -456
  202. package/dist/ListPlugin.js.map +0 -1
  203. package/dist/NowConfigPlugin.d.ts +0 -45
  204. package/dist/NowConfigPlugin.js +0 -64
  205. package/dist/NowConfigPlugin.js.map +0 -1
  206. package/dist/PackageJsonPlugin.d.ts +0 -34
  207. package/dist/PackageJsonPlugin.js +0 -63
  208. package/dist/PackageJsonPlugin.js.map +0 -1
  209. package/dist/PropertyPlugin.d.ts +0 -51
  210. package/dist/PropertyPlugin.js +0 -181
  211. package/dist/PropertyPlugin.js.map +0 -1
  212. package/dist/ScriptTemplatePlugin.d.ts +0 -13
  213. package/dist/ScriptTemplatePlugin.js +0 -55
  214. package/dist/ScriptTemplatePlugin.js.map +0 -1
  215. package/dist/ServerModulePlugin.d.ts +0 -75
  216. package/dist/ServerModulePlugin.js +0 -368
  217. package/dist/ServerModulePlugin.js.map +0 -1
  218. package/dist/UserPreferencePlugin.d.ts +0 -19
  219. package/dist/UserPreferencePlugin.js +0 -32
  220. package/dist/UserPreferencePlugin.js.map +0 -1
  221. package/dist/aclAndRole/AclPlugin.d.ts +0 -82
  222. package/dist/aclAndRole/AclPlugin.js +0 -262
  223. package/dist/aclAndRole/AclPlugin.js.map +0 -1
  224. package/dist/aclAndRole/RolePlugin.d.ts +0 -66
  225. package/dist/aclAndRole/RolePlugin.js +0 -179
  226. package/dist/aclAndRole/RolePlugin.js.map +0 -1
  227. package/dist/aclAndRole/Util.d.ts +0 -3
  228. package/dist/aclAndRole/Util.js +0 -90
  229. package/dist/aclAndRole/Util.js.map +0 -1
  230. package/dist/app/ApplicationMenuPlugin.d.ts +0 -34
  231. package/dist/app/ApplicationMenuPlugin.js +0 -112
  232. package/dist/app/ApplicationMenuPlugin.js.map +0 -1
  233. package/dist/db/ColumnPlugins.d.ts +0 -750
  234. package/dist/db/ColumnPlugins.js +0 -114
  235. package/dist/db/ColumnPlugins.js.map +0 -1
  236. package/dist/db/DBUtils.d.ts +0 -2
  237. package/dist/db/DBUtils.js +0 -27
  238. package/dist/db/DBUtils.js.map +0 -1
  239. package/dist/db/DocumentationPlugin.d.ts +0 -67
  240. package/dist/db/DocumentationPlugin.js +0 -258
  241. package/dist/db/DocumentationPlugin.js.map +0 -1
  242. package/dist/db/LicensingPlugin.d.ts +0 -60
  243. package/dist/db/LicensingPlugin.js +0 -117
  244. package/dist/db/LicensingPlugin.js.map +0 -1
  245. package/dist/db/RecordPlugin.d.ts +0 -133
  246. package/dist/db/RecordPlugin.js +0 -337
  247. package/dist/db/RecordPlugin.js.map +0 -1
  248. package/dist/db/TablePlugin.d.ts +0 -231
  249. package/dist/db/TablePlugin.js +0 -1630
  250. package/dist/db/TablePlugin.js.map +0 -1
  251. package/dist/db/index.d.ts +0 -6
  252. package/dist/db/index.js +0 -32
  253. package/dist/db/index.js.map +0 -1
  254. package/dist/scriptedRESTAPI/RESTDeserializationUtils.d.ts +0 -10
  255. package/dist/scriptedRESTAPI/RESTDeserializationUtils.js +0 -373
  256. package/dist/scriptedRESTAPI/RESTDeserializationUtils.js.map +0 -1
  257. package/dist/scriptedRESTAPI/RESTSerializationUtils.d.ts +0 -13
  258. package/dist/scriptedRESTAPI/RESTSerializationUtils.js +0 -177
  259. package/dist/scriptedRESTAPI/RESTSerializationUtils.js.map +0 -1
  260. package/dist/scriptedRESTAPI/RestApiPlugin.d.ts +0 -81
  261. package/dist/scriptedRESTAPI/RestApiPlugin.js +0 -345
  262. package/dist/scriptedRESTAPI/RestApiPlugin.js.map +0 -1
  263. package/dist/scriptedRESTAPI/RestSchemaUtils.d.ts +0 -190
  264. package/dist/scriptedRESTAPI/RestSchemaUtils.js +0 -53
  265. package/dist/scriptedRESTAPI/RestSchemaUtils.js.map +0 -1
  266. package/dist/scriptedRESTAPI/RestUtils.d.ts +0 -69
  267. package/dist/scriptedRESTAPI/RestUtils.js +0 -497
  268. package/dist/scriptedRESTAPI/RestUtils.js.map +0 -1
  269. package/dist/scripts/ClientScriptPlugin.d.ts +0 -64
  270. package/dist/scripts/ClientScriptPlugin.js +0 -170
  271. package/dist/scripts/ClientScriptPlugin.js.map +0 -1
  272. package/dist/scripts/scriptUtils.d.ts +0 -1
  273. package/dist/scripts/scriptUtils.js +0 -9
  274. package/dist/scripts/scriptUtils.js.map +0 -1
  275. package/dist/uxf/ExperiencePlugin.d.ts +0 -45
  276. package/dist/uxf/ExperiencePlugin.js +0 -61
  277. package/dist/uxf/ExperiencePlugin.js.map +0 -1
  278. package/dist/uxf/RoutesPlugin.d.ts +0 -29
  279. package/dist/uxf/RoutesPlugin.js +0 -181
  280. package/dist/uxf/RoutesPlugin.js.map +0 -1
  281. package/dist/uxf/UxfFormulaParser/cleanUxValue.d.ts +0 -4
  282. package/dist/uxf/UxfFormulaParser/cleanUxValue.js +0 -65
  283. package/dist/uxf/UxfFormulaParser/cleanUxValue.js.map +0 -1
  284. package/dist/uxf/UxfFormulaParser/grammerParser/api.d.ts +0 -189
  285. package/dist/uxf/UxfFormulaParser/grammerParser/api.js +0 -158
  286. package/dist/uxf/UxfFormulaParser/grammerParser/api.js.map +0 -1
  287. package/dist/uxf/UxfFormulaParser/grammerParser/clientTransformMap.d.ts +0 -13
  288. package/dist/uxf/UxfFormulaParser/grammerParser/clientTransformMap.js +0 -604
  289. package/dist/uxf/UxfFormulaParser/grammerParser/clientTransformMap.js.map +0 -1
  290. package/dist/uxf/UxfFormulaParser/grammerParser/grammarParser.d.ts +0 -12
  291. package/dist/uxf/UxfFormulaParser/grammerParser/grammarParser.js +0 -551
  292. package/dist/uxf/UxfFormulaParser/grammerParser/grammarParser.js.map +0 -1
  293. package/dist/uxf/UxfFormulaParser/grammerParser/spanHelpers.d.ts +0 -31
  294. package/dist/uxf/UxfFormulaParser/grammerParser/spanHelpers.js +0 -64
  295. package/dist/uxf/UxfFormulaParser/grammerParser/spanHelpers.js.map +0 -1
  296. package/dist/uxf/UxfFormulaParser/index.d.ts +0 -3
  297. package/dist/uxf/UxfFormulaParser/index.js +0 -11
  298. package/dist/uxf/UxfFormulaParser/index.js.map +0 -1
  299. package/dist/uxf/UxfFormulaParser/parser.d.ts +0 -8
  300. package/dist/uxf/UxfFormulaParser/parser.js +0 -87
  301. package/dist/uxf/UxfFormulaParser/parser.js.map +0 -1
  302. package/dist/uxf/UxfFormulaParser/utils/getErrorMsg.d.ts +0 -8
  303. package/dist/uxf/UxfFormulaParser/utils/getErrorMsg.js +0 -17
  304. package/dist/uxf/UxfFormulaParser/utils/getErrorMsg.js.map +0 -1
  305. package/dist/uxf/constants.d.ts +0 -2
  306. package/dist/uxf/constants.js +0 -8
  307. package/dist/uxf/constants.js.map +0 -1
  308. package/dist/uxf/index.d.ts +0 -2
  309. package/dist/uxf/index.js +0 -11
  310. package/dist/uxf/index.js.map +0 -1
  311. package/dist/uxf/tectonicIdGenerator.d.ts +0 -12
  312. package/dist/uxf/tectonicIdGenerator.js +0 -79
  313. package/dist/uxf/tectonicIdGenerator.js.map +0 -1
  314. package/src/AttachmentPlugin.ts +0 -268
  315. package/src/BusinessRulePlugin.ts +0 -238
  316. package/src/CrossScopePrivilegePlugin.ts +0 -115
  317. package/src/DefaultPlugin.ts +0 -288
  318. package/src/HtmlTemplatePlugin.ts +0 -31
  319. package/src/IdPlugin.ts +0 -74
  320. package/src/IncludePlugin.ts +0 -206
  321. package/src/JsonPlugin.ts +0 -76
  322. package/src/ListPlugin.ts +0 -570
  323. package/src/NowConfigPlugin.ts +0 -69
  324. package/src/PackageJsonPlugin.ts +0 -68
  325. package/src/PropertyPlugin.ts +0 -237
  326. package/src/ScriptTemplatePlugin.ts +0 -53
  327. package/src/ServerModulePlugin.ts +0 -480
  328. package/src/UserPreferencePlugin.ts +0 -45
  329. package/src/aclAndRole/AclPlugin.ts +0 -420
  330. package/src/aclAndRole/RolePlugin.ts +0 -254
  331. package/src/aclAndRole/Util.ts +0 -113
  332. package/src/app/ApplicationMenuPlugin.ts +0 -165
  333. package/src/db/ColumnPlugins.ts +0 -114
  334. package/src/db/DBUtils.ts +0 -36
  335. package/src/db/DocumentationPlugin.ts +0 -316
  336. package/src/db/LicensingPlugin.ts +0 -138
  337. package/src/db/RecordPlugin.ts +0 -459
  338. package/src/db/TablePlugin.ts +0 -2072
  339. package/src/db/index.ts +0 -6
  340. package/src/scriptedRESTAPI/RESTDeserializationUtils.ts +0 -419
  341. package/src/scriptedRESTAPI/RESTSerializationUtils.ts +0 -228
  342. package/src/scriptedRESTAPI/RestApiPlugin.ts +0 -469
  343. package/src/scriptedRESTAPI/RestSchemaUtils.ts +0 -72
  344. package/src/scriptedRESTAPI/RestUtils.ts +0 -569
  345. package/src/scripts/ClientScriptPlugin.ts +0 -257
  346. package/src/scripts/scriptUtils.ts +0 -5
  347. package/src/uxf/ExperiencePlugin.ts +0 -67
  348. package/src/uxf/RoutesPlugin.ts +0 -211
  349. package/src/uxf/UxfFormulaParser/cleanUxValue.ts +0 -73
  350. package/src/uxf/UxfFormulaParser/grammerParser/api.js +0 -166
  351. package/src/uxf/UxfFormulaParser/grammerParser/clientTransformMap.js +0 -606
  352. package/src/uxf/UxfFormulaParser/grammerParser/grammarParser.js +0 -551
  353. package/src/uxf/UxfFormulaParser/grammerParser/spanHelpers.js +0 -65
  354. package/src/uxf/UxfFormulaParser/index.ts +0 -4
  355. package/src/uxf/UxfFormulaParser/parser.ts +0 -64
  356. package/src/uxf/UxfFormulaParser/utils/getErrorMsg.ts +0 -13
  357. package/src/uxf/constants.ts +0 -4
  358. package/src/uxf/index.ts +0 -2
  359. package/src/uxf/tectonicIdGenerator.ts +0 -78
@@ -1,64 +0,0 @@
1
- "use strict";
2
- // Copied from sn-uxf-formula-parser-library - https://code.devsnc.com/dev/uxf-formula-parser
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.tokenSpan = tokenSpan;
5
- exports.getBinarySpan = getBinarySpan;
6
- exports.getUnarySpan = getUnarySpan;
7
- exports.getBindingSpan = getBindingSpan;
8
- /**
9
- * https://code.devsnc.com/dev/uxf-formula-parser/blob/ci/master/src/uxf-formula-parser/grammar-parser/spanHelpers.js
10
- */
11
- // given a token, gets the line and col where it starts (helper function, no need to export)
12
- function tokenStart(token) {
13
- return {
14
- line: token.line,
15
- col: token.col,
16
- };
17
- }
18
- // given a token, gets the line and col where it ends (helper function, no need to export)
19
- function tokenEnd(token) {
20
- const lastNewLine = token.text?.lastIndexOf('\n') ?? -1;
21
- if (lastNewLine !== -1) {
22
- throw new Error('Unsupported case: token with line breaks');
23
- }
24
- return {
25
- line: token.line,
26
- col: token.col + token.text.length,
27
- };
28
- }
29
- // given two tokens, returns the span of the two tokens
30
- function tokenSpan(token, endToken = null) {
31
- const start = tokenStart(token);
32
- const end = tokenEnd(endToken ?? token);
33
- return { start, end };
34
- }
35
- // given two ux values (left and right operands in a binary expression), return the span of the entire expression
36
- function getBinarySpan(left, right) {
37
- const start = left._span.start;
38
- const end = right._span.end;
39
- return { start, end };
40
- }
41
- // given the token of the unary operator and the operand ux value, returns the span of a unary expression
42
- function getUnarySpan(token, operand) {
43
- const start = tokenStart(token);
44
- const end = operand._span.end;
45
- return { start, end };
46
- }
47
- // given the binding token and the address of a binding, returns the span of the binding
48
- function getBindingSpan(token, address) {
49
- const start = tokenStart(token);
50
- const { line, col } = start;
51
- var totalLength = 0;
52
- if (address) {
53
- for (let i = 0; i < address.length; i++) {
54
- totalLength += address[i].length;
55
- if (i !== 0) {
56
- totalLength += 1;
57
- }
58
- }
59
- }
60
- const endCol = col + token.value.length + totalLength;
61
- const end = { line, col: endCol };
62
- return { start, end };
63
- }
64
- //# sourceMappingURL=spanHelpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spanHelpers.js","sourceRoot":"","sources":["../../../../src/uxf/UxfFormulaParser/grammerParser/spanHelpers.js"],"names":[],"mappings":";AAAA,6FAA6F;;AA2B7F,8BAKC;AAGD,sCAIC;AAGD,oCAIC;AAGD,wCAeC;AA9DD;;GAEG;AAEH,4FAA4F;AAC5F,SAAS,UAAU,CAAC,KAAK;IACrB,OAAO;QACH,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,EAAE,KAAK,CAAC,GAAG;KACjB,CAAA;AACL,CAAC;AAED,0FAA0F;AAC1F,SAAS,QAAQ,CAAC,KAAK;IACnB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACvD,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO;QACH,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM;KACrC,CAAA;AACL,CAAC;AAED,uDAAuD;AACvD,SAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAA;IAEvC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;AACzB,CAAC;AAED,iHAAiH;AACjH,SAAgB,aAAa,CAAC,IAAI,EAAE,KAAK;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;IAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAA;IAC3B,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;AACzB,CAAC;AAED,yGAAyG;AACzG,SAAgB,YAAY,CAAC,KAAK,EAAE,OAAO;IACvC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAA;IAC7B,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;AACzB,CAAC;AAED,wFAAwF;AACxF,SAAgB,cAAc,CAAC,KAAK,EAAE,OAAO;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAA;IAC3B,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,OAAO,EAAE,CAAC;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YAChC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACV,WAAW,IAAI,CAAC,CAAA;YACpB,CAAC;QACL,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAA;IACrD,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA;IACjC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;AACzB,CAAC"}
@@ -1,3 +0,0 @@
1
- import UxfFormulaParser from './parser';
2
- import { cleanUxValue } from './cleanUxValue';
3
- export { UxfFormulaParser as parser, cleanUxValue };
@@ -1,11 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.cleanUxValue = exports.parser = void 0;
7
- const parser_1 = __importDefault(require("./parser"));
8
- exports.parser = parser_1.default;
9
- const cleanUxValue_1 = require("./cleanUxValue");
10
- Object.defineProperty(exports, "cleanUxValue", { enumerable: true, get: function () { return cleanUxValue_1.cleanUxValue; } });
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/uxf/UxfFormulaParser/index.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAuC;AAGV,iBAHtB,gBAAgB,CAGY;AAFnC,iDAA6C;AAER,6FAF5B,2BAAY,OAE4B"}
@@ -1,8 +0,0 @@
1
- declare class UxfFormulaParser {
2
- constructor();
3
- parse(expression: any): {
4
- result: any;
5
- errors: any[];
6
- };
7
- }
8
- export default UxfFormulaParser;
@@ -1,87 +0,0 @@
1
- "use strict";
2
- // Copied from sn-uxf-formula-parser-library - https://code.devsnc.com/dev/uxf-formula-parser
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
26
- var __importDefault = (this && this.__importDefault) || function (mod) {
27
- return (mod && mod.__esModule) ? mod : { "default": mod };
28
- };
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- /**
31
- * https://code.devsnc.com/dev/uxf-formula-parser/blob/ci/master/src/uxf-formula-parser/parser/expressionParser.js
32
- */
33
- const nearley_1 = __importDefault(require("nearley"));
34
- const grammar = __importStar(require("./grammerParser/grammarParser.js"));
35
- const getErrorMsg_1 = require("./utils/getErrorMsg");
36
- class UxfFormulaParser {
37
- constructor() { }
38
- parse(expression) {
39
- let ans;
40
- const parser = new nearley_1.default.Parser(nearley_1.default.Grammar.fromCompiled(grammar));
41
- parser.reportError = function (token) {
42
- const message = token.value
43
- ? `Invalid Syntax: did not expect the token "${token.value}" when parsing expression.`
44
- : 'Invalid Syntax: unparsable expression entered';
45
- throw (0, getErrorMsg_1.getErrorMsg)(message, {
46
- start: { line: token.line, col: token.col },
47
- end: { line: token.line, col: token.col + token.value.length },
48
- });
49
- };
50
- try {
51
- // Make a parser and feed the input
52
- ans = parser.feed(expression);
53
- // Check if there are any results
54
- if (ans.results.length) {
55
- return {
56
- result: ans.results[0],
57
- errors: [],
58
- };
59
- }
60
- else {
61
- // This means the input is incomplete.
62
- const out = 'Error: incomplete input, parse failed. :(';
63
- return {
64
- result: out,
65
- errors: [
66
- {
67
- message: 'Syntax error: Incomplete formula.',
68
- severity: '8',
69
- startLineNumber: ans.lexerState.line,
70
- startColumn: ans.lexerState.col,
71
- endLineNumber: ans.lexerState.line,
72
- endColumn: ans.lexerState.col + 1,
73
- },
74
- ],
75
- };
76
- }
77
- }
78
- catch (e) {
79
- return {
80
- result: e.message,
81
- errors: [e],
82
- };
83
- }
84
- }
85
- }
86
- exports.default = UxfFormulaParser;
87
- //# sourceMappingURL=parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/uxf/UxfFormulaParser/parser.ts"],"names":[],"mappings":";AAAA,6FAA6F;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE7F;;GAEG;AAEH,sDAA6B;AAC7B,0EAA2D;AAC3D,qDAAiD;AAEjD,MAAM,gBAAgB;IAClB,gBAAe,CAAC;IAEhB,KAAK,CAAC,UAAU;QACZ,IAAI,GAAG,CAAA;QACP,MAAM,MAAM,GAAG,IAAI,iBAAO,CAAC,MAAM,CAAC,iBAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;QAExE,MAAM,CAAC,WAAW,GAAG,UAAU,KAAK;YAChC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK;gBACvB,CAAC,CAAC,6CAA6C,KAAK,CAAC,KAAK,4BAA4B;gBACtF,CAAC,CAAC,+CAA+C,CAAA;YACrD,MAAM,IAAA,yBAAW,EAAC,OAAO,EAAE;gBACvB,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE;gBAC3C,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;aACjE,CAAC,CAAA;QACN,CAAC,CAAA;QAED,IAAI,CAAC;YACD,mCAAmC;YACnC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAE7B,iCAAiC;YACjC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACrB,OAAO;oBACH,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;oBACtB,MAAM,EAAE,EAAE;iBACb,CAAA;YACL,CAAC;iBAAM,CAAC;gBACJ,sCAAsC;gBACtC,MAAM,GAAG,GAAG,2CAA2C,CAAA;gBACvD,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,MAAM,EAAE;wBACJ;4BACI,OAAO,EAAE,mCAAmC;4BAC5C,QAAQ,EAAE,GAAG;4BACb,eAAe,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI;4BACpC,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG;4BAC/B,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI;4BAClC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC;yBACpC;qBACJ;iBACJ,CAAA;YACL,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,OAAO;gBACH,MAAM,EAAE,CAAC,CAAC,OAAO;gBACjB,MAAM,EAAE,CAAC,CAAC,CAAC;aACd,CAAA;QACL,CAAC;IACL,CAAC;CACJ;AAED,kBAAe,gBAAgB,CAAA"}
@@ -1,8 +0,0 @@
1
- export declare const getErrorMsg: (message: any, span: any) => {
2
- message: any;
3
- severity: string;
4
- startLineNumber: any;
5
- startColumn: any;
6
- endLineNumber: any;
7
- endColumn: any;
8
- };
@@ -1,17 +0,0 @@
1
- "use strict";
2
- // Copied from https://code.devsnc.com/dev/uxf-formula-parser/blob/ci/master/src/utils/getErrorMsg.js
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.getErrorMsg = void 0;
5
- // function that generates an object with error information
6
- const getErrorMsg = (message, span) => {
7
- return {
8
- message,
9
- severity: '8',
10
- startLineNumber: span.start.line,
11
- startColumn: span.start.col,
12
- endLineNumber: span.end.line,
13
- endColumn: span.end.col,
14
- };
15
- };
16
- exports.getErrorMsg = getErrorMsg;
17
- //# sourceMappingURL=getErrorMsg.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getErrorMsg.js","sourceRoot":"","sources":["../../../../src/uxf/UxfFormulaParser/utils/getErrorMsg.ts"],"names":[],"mappings":";AAAA,qGAAqG;;;AAErG,2DAA2D;AACpD,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;IACzC,OAAO;QACH,OAAO;QACP,QAAQ,EAAE,GAAG;QACb,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;QAChC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG;QAC3B,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;QAC5B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG;KAC1B,CAAA;AACL,CAAC,CAAA;AATY,QAAA,WAAW,eASvB"}
@@ -1,2 +0,0 @@
1
- export declare const WORKSPACE_APP_SHELL_ID = "c276387cc331101080d6d3658940ddd2";
2
- export declare const PARENT_APP_SHELL_ID = "c86a62e2c7022010099a308dc7c26022";
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PARENT_APP_SHELL_ID = exports.WORKSPACE_APP_SHELL_ID = void 0;
4
- // Workspace app shell ID
5
- exports.WORKSPACE_APP_SHELL_ID = 'c276387cc331101080d6d3658940ddd2';
6
- // Polaris app shell ID
7
- exports.PARENT_APP_SHELL_ID = 'c86a62e2c7022010099a308dc7c26022';
8
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/uxf/constants.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACZ,QAAA,sBAAsB,GAAG,kCAAkC,CAAA;AACxE,uBAAuB;AACV,QAAA,mBAAmB,GAAG,kCAAkC,CAAA"}
@@ -1,2 +0,0 @@
1
- export { default as ExperiencePlugin } from './ExperiencePlugin';
2
- export { default as RoutesPlugin } from './RoutesPlugin';
package/dist/uxf/index.js DELETED
@@ -1,11 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.RoutesPlugin = exports.ExperiencePlugin = void 0;
7
- var ExperiencePlugin_1 = require("./ExperiencePlugin");
8
- Object.defineProperty(exports, "ExperiencePlugin", { enumerable: true, get: function () { return __importDefault(ExperiencePlugin_1).default; } });
9
- var RoutesPlugin_1 = require("./RoutesPlugin");
10
- Object.defineProperty(exports, "RoutesPlugin", { enumerable: true, get: function () { return __importDefault(RoutesPlugin_1).default; } });
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/uxf/index.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAgE;AAAvD,qIAAA,OAAO,OAAoB;AACpC,+CAAwD;AAA/C,6HAAA,OAAO,OAAgB"}
@@ -1,12 +0,0 @@
1
- /**
2
- * TODO: This functionality is copied pretty directly from @tectonic/metadata-transform-core,
3
- * which implements an id generator. Unfortunately, we can't use it due to some
4
- * code in Tectonic doing weird stuff with Yargs, which breaks our `fluent --help`
5
- * command.
6
- *
7
- * If this file is deleted in favor of leveraging a dependency on Tectonic instead
8
- * (which is a good idea), we need to fix the above issue first. Test that `fluent --help` works.
9
- *
10
- * STRY56098244
11
- */
12
- export declare function idGenerator(componentTagName: string): any;
@@ -1,79 +0,0 @@
1
- "use strict";
2
- /**
3
- * TODO: This functionality is copied pretty directly from @tectonic/metadata-transform-core,
4
- * which implements an id generator. Unfortunately, we can't use it due to some
5
- * code in Tectonic doing weird stuff with Yargs, which breaks our `fluent --help`
6
- * command.
7
- *
8
- * If this file is deleted in favor of leveraging a dependency on Tectonic instead
9
- * (which is a good idea), we need to fix the above issue first. Test that `fluent --help` works.
10
- *
11
- * STRY56098244
12
- */
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.idGenerator = idGenerator;
18
- const md5_js_1 = __importDefault(require("md5.js"));
19
- const lodash_1 = require("lodash");
20
- const HASH_SEPARATOR = ':';
21
- const ID_PREFIX = 'tectonic-mvp';
22
- const hash = (parts) => {
23
- const hash = new md5_js_1.default().update((0, lodash_1.join)(parts, HASH_SEPARATOR));
24
- return hash.digest('hex');
25
- };
26
- const componentAliasTable = {
27
- 'now-alert': 'eds-alert',
28
- 'now-alert-list': 'eds-alert-list',
29
- 'now-avatar': 'eds-avatar',
30
- 'now-badge': 'eds-badge',
31
- 'now-button': 'eds-button',
32
- 'now-button-bare': 'eds-button-bare',
33
- 'now-button-iconic': 'eds-button-iconic',
34
- 'now-checkbox': 'sn-checkbox',
35
- 'now-collapse': 'eds-collapse',
36
- 'now-collapse-trigger': 'eds-collapse-trigger',
37
- 'now-content-tree': 'eds-content-tree',
38
- 'now-date-picker': 'sn-date',
39
- 'now-date-range-picker': 'now-date-range-picker',
40
- 'now-dropdown': 'eds-dropdown',
41
- 'now-dropdown-panel': 'eds-dropdown-panel',
42
- 'now-glide-field-lookup': 'glide-field-lookup',
43
- 'now-heading': 'eds-heading',
44
- 'now-highlighted-value': 'eds-highlighted-value',
45
- 'now-html-editor': 'sn-html-editor',
46
- 'now-icon': 'eds-icon',
47
- 'now-icon-presence': 'eds-icon-presence',
48
- 'now-ip-address': 'sn-glide-ip-address',
49
- 'now-label-value-inline': 'eds-label-value-inline',
50
- 'now-label-value-stacked': 'eds-label-value-stacked',
51
- 'now-label-value-tabbed': 'eds-label-value-tabbed',
52
- 'now-legacy-icon': 'eds-legacy-icon',
53
- 'now-loader': 'eds-loader',
54
- 'now-mini-calendar': 'sn-calendar',
55
- 'now-modal': 'eds-modal',
56
- 'now-multi-record-associator': 'sn-declarative-edit-action',
57
- 'now-number': 'glide-number',
58
- 'now-pill': 'eds-pill',
59
- 'now-radio': 'sn-radio',
60
- 'now-reference': 'sn-reference',
61
- 'now-split-button': 'eds-split-button',
62
- 'now-text-link': 'eds-text-link',
63
- 'now-toggle': 'eds-toggle',
64
- 'now-tooltip': 'eds-tooltip',
65
- 'now-list': 'sn-component-list',
66
- 'sn-workspace-list-menu': 'sn-component-workspace-list-menu',
67
- 'sn-workspace-list-module': 'sn-component-workspace-list-module',
68
- 'sn-glide-currency': 'glide-currency',
69
- 'sn-glide-email': 'glide-email',
70
- 'sn-glide-input': 'glide-input',
71
- 'sn-glide-phone': 'glide-phone',
72
- 'sn-glide-reference': 'glide-reference',
73
- 'sn-url': 'glide-url',
74
- };
75
- const resolveComponentName = (componentName) => componentAliasTable[componentName] || componentName;
76
- function idGenerator(componentTagName) {
77
- return hash([ID_PREFIX, resolveComponentName(componentTagName), 'macroponent']);
78
- }
79
- //# sourceMappingURL=tectonicIdGenerator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tectonicIdGenerator.js","sourceRoot":"","sources":["../../src/uxf/tectonicIdGenerator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;AAiEH,kCAEC;AAjED,oDAAwB;AACxB,mCAA6B;AAE7B,MAAM,cAAc,GAAG,GAAG,CAAA;AAC1B,MAAM,SAAS,GAAG,cAAc,CAAA;AAEhC,MAAM,IAAI,GAAG,CAAC,KAAe,EAAE,EAAE;IAC7B,MAAM,IAAI,GAAG,IAAI,gBAAG,EAAE,CAAC,MAAM,CAAC,IAAA,aAAI,EAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAA;IAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG;IACxB,WAAW,EAAE,WAAW;IACxB,gBAAgB,EAAE,gBAAgB;IAClC,YAAY,EAAE,YAAY;IAC1B,WAAW,EAAE,WAAW;IACxB,YAAY,EAAE,YAAY;IAC1B,iBAAiB,EAAE,iBAAiB;IACpC,mBAAmB,EAAE,mBAAmB;IACxC,cAAc,EAAE,aAAa;IAC7B,cAAc,EAAE,cAAc;IAC9B,sBAAsB,EAAE,sBAAsB;IAC9C,kBAAkB,EAAE,kBAAkB;IACtC,iBAAiB,EAAE,SAAS;IAC5B,uBAAuB,EAAE,uBAAuB;IAChD,cAAc,EAAE,cAAc;IAC9B,oBAAoB,EAAE,oBAAoB;IAC1C,wBAAwB,EAAE,oBAAoB;IAC9C,aAAa,EAAE,aAAa;IAC5B,uBAAuB,EAAE,uBAAuB;IAChD,iBAAiB,EAAE,gBAAgB;IACnC,UAAU,EAAE,UAAU;IACtB,mBAAmB,EAAE,mBAAmB;IACxC,gBAAgB,EAAE,qBAAqB;IACvC,wBAAwB,EAAE,wBAAwB;IAClD,yBAAyB,EAAE,yBAAyB;IACpD,wBAAwB,EAAE,wBAAwB;IAClD,iBAAiB,EAAE,iBAAiB;IACpC,YAAY,EAAE,YAAY;IAC1B,mBAAmB,EAAE,aAAa;IAClC,WAAW,EAAE,WAAW;IACxB,6BAA6B,EAAE,4BAA4B;IAC3D,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,UAAU;IACvB,eAAe,EAAE,cAAc;IAC/B,kBAAkB,EAAE,kBAAkB;IACtC,eAAe,EAAE,eAAe;IAChC,YAAY,EAAE,YAAY;IAC1B,aAAa,EAAE,aAAa;IAC5B,UAAU,EAAE,mBAAmB;IAC/B,wBAAwB,EAAE,kCAAkC;IAC5D,0BAA0B,EAAE,oCAAoC;IAChE,mBAAmB,EAAE,gBAAgB;IACrC,gBAAgB,EAAE,aAAa;IAC/B,gBAAgB,EAAE,aAAa;IAC/B,gBAAgB,EAAE,aAAa;IAC/B,oBAAoB,EAAE,iBAAiB;IACvC,QAAQ,EAAE,WAAW;CACxB,CAAA;AAED,MAAM,oBAAoB,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,aAAa,CAAA;AAEnG,SAAgB,WAAW,CAAC,gBAAwB;IAChD,OAAO,IAAI,CAAC,CAAC,SAAS,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,aAAa,CAAC,CAAC,CAAA;AACnF,CAAC"}
@@ -1,268 +0,0 @@
1
- import {
2
- Plugin,
3
- extractCallExpression,
4
- generateCallExpression,
5
- getSysUpdateName,
6
- getCallExpressionName,
7
- getOrCreateEntitySourceFile,
8
- linkDocument,
9
- recordXml,
10
- removeNode,
11
- transformFunctionArguments,
12
- unloadBuilder,
13
- } from '@servicenow/sdk-build-core'
14
- import * as zlib from 'node:zlib'
15
- import md5 from 'md5.js'
16
- import { RecordXmlSchema } from './db/RecordPlugin'
17
- import * as z from 'zod'
18
- import { SysAttachment, SysAttachmentConfig } from '@servicenow/sdk-core/runtime/sys'
19
- import { Diagnostic, FileSystem, path, ts } from '@servicenow/sdk-project'
20
-
21
- export const AttachmentPlugin = Plugin({
22
- name: 'Attachment',
23
- ownedTables: {
24
- sys_attachment: { diagnosticLevel: Diagnostic.Level.Warn },
25
- },
26
- extractors: {
27
- entity: {
28
- fluent: {
29
- CallExpression: (node, context) => {
30
- return extractCallExpression(
31
- SysAttachment,
32
- 'attachment',
33
- node,
34
- context,
35
- (attachment) => attachment.id
36
- )
37
- },
38
- },
39
- },
40
- },
41
-
42
- composers: {
43
- entity: {
44
- attachment(entity) {
45
- return Promise.resolve({
46
- kind: 'attachment',
47
- node: entity.getNode(),
48
- guid: entity.getGuid(),
49
- data: entity.getValue() as SysAttachmentConfig,
50
- })
51
- },
52
- },
53
-
54
- xml: {
55
- record(xml) {
56
- const parseResult = AttachmentXmlSchema.safeParse(xml.data['record_update'])
57
- if (!parseResult.success) {
58
- return undefined
59
- }
60
-
61
- const { sys_attachment, sys_attachment_doc } = parseResult.data
62
-
63
- const data: AttachmentEntityData = {
64
- attachment: sys_attachment,
65
- attachmentDocs: Array.isArray(sys_attachment_doc) ? sys_attachment_doc : [sys_attachment_doc],
66
- }
67
-
68
- return {
69
- action: sys_attachment['@_action'],
70
- kind: 'attachment',
71
- guid: sys_attachment.sys_id,
72
- data,
73
- }
74
- },
75
- },
76
- },
77
-
78
- generators: {
79
- attachment(document, context) {
80
- return linkDocument(
81
- document,
82
- generateCallExpression(
83
- context,
84
- getOrCreateEntitySourceFile(context, getSysUpdateName(document, 'sys_attachment')),
85
- '@servicenow/sdk/core',
86
- SysAttachment,
87
- {}
88
- )
89
- )
90
- },
91
- },
92
-
93
- transformers: {
94
- attachment: {
95
- CallExpression(document, context) {
96
- const expressionName = getCallExpressionName(document.node)
97
- if (expressionName !== SysAttachment.name) {
98
- return false
99
- }
100
-
101
- if (document.action === 'DELETE') {
102
- removeNode(document.node)
103
- return true
104
- }
105
-
106
- if (document.action !== 'INSERT_OR_UPDATE') {
107
- return false
108
- }
109
-
110
- const { attachment, attachmentDocs } = document.data as AttachmentEntityData
111
-
112
- transformFunctionArguments(document.node, SysAttachment, {
113
- id: document.guid,
114
- fileName: attachment.file_name,
115
- contentType: attachment.content_type,
116
- filePath: `./${attachment.file_name}`,
117
- tableName: attachment.table_name as SysAttachmentConfig['tableName'],
118
- tableSysId: attachment.table_sys_id,
119
- })
120
-
121
- /**
122
- * Attachments are gzip compressed and base64 encoded into multiple sys_attachment_doc chunks
123
- * Rebuild the archive and decompress it to disk
124
- */
125
-
126
- const dataBuffer = Buffer.alloc(attachment.size_compressed)
127
-
128
- let position = 0
129
-
130
- attachmentDocs
131
- .sort((a, b) => a.position - b.position)
132
- .forEach((doc) => {
133
- position += dataBuffer.write(doc.data, position, 'base64')
134
- })
135
-
136
- const filePath = getSourceFileDirectory(document.node.getSourceFile())
137
-
138
- if (!FileSystem.existsSync(context.fs, filePath)) {
139
- context.fs.mkdirSync(filePath, { recursive: true })
140
- }
141
-
142
- context.fs.writeFileSync(path.join(filePath, attachment.file_name), zlib.gunzipSync(dataBuffer), {
143
- encoding: 'binary',
144
- })
145
-
146
- return true
147
- },
148
- },
149
- },
150
-
151
- serializers: {
152
- attachment(document, context) {
153
- /**
154
- <unload>
155
- <sys_attachment/>
156
- <sys_attachment_doc/>
157
- <sys_attachment_doc/>
158
- </unload>
159
- */
160
- const data = document.data as SysAttachmentConfig
161
-
162
- const xmlBuilder = unloadBuilder(context)
163
-
164
- const CHUNK_SIZE = 4 * 1024
165
-
166
- const attachmentEle = recordXml(xmlBuilder.xml, 'sys_attachment', document.guid)
167
- attachmentEle.addSysScope(context)
168
- attachmentEle.fields({
169
- compressed: true,
170
- content_type: data.contentType,
171
- file_name: data.fileName,
172
- table_name: data.tableName,
173
- table_sys_id: data.tableSysId,
174
- chunk_size: CHUNK_SIZE,
175
- })
176
-
177
- const directoryPath = getSourceFileDirectory(document.node!.getSourceFile())
178
- const contentFilePath = path.join(directoryPath, data.filePath)
179
- if (!FileSystem.existsSync(context.fs, contentFilePath)) {
180
- throw new Error(`Attachment file not found for attachment ${document.guid}: ${contentFilePath}`)
181
- }
182
-
183
- // Compress the file with gzip, then break into chuncks and base64 encode for each sys_attachment_doc
184
- const hash = new md5()
185
-
186
- const contents = context.fs.readFileSync(contentFilePath, { flag: 'r' })
187
-
188
- attachmentEle.field('size_bites', contents.length)
189
-
190
- const zipEncoded = zlib.gzipSync(contents)
191
- attachmentEle.field('size_compressed', zipEncoded.length)
192
-
193
- hash.update(zipEncoded)
194
- attachmentEle.field('hash', hash.digest('hex'))
195
-
196
- const dataArray = Uint8Array.from(zipEncoded)
197
-
198
- let position = 0
199
- let readOffset = position * CHUNK_SIZE
200
- while (readOffset < dataArray.length) {
201
- const dataChunk = dataArray.slice(readOffset, readOffset + CHUNK_SIZE)
202
-
203
- const dataChunkBase64 = Buffer.from(dataChunk).toString('base64')
204
- const attachmentDoc = recordXml(
205
- xmlBuilder.xml,
206
- 'sys_attachment_doc',
207
- context.keys.registerCompositeId('sys_attachment_doc', {
208
- attachment: document.guid,
209
- data: dataChunkBase64,
210
- })
211
- )
212
-
213
- attachmentDoc.fields({
214
- data: dataChunkBase64,
215
- length: dataChunkBase64.length,
216
- position,
217
- sys_attachment: document.guid,
218
- })
219
-
220
- position++
221
-
222
- readOffset = position * CHUNK_SIZE
223
- }
224
-
225
- return {
226
- name: `sys_attachment_${document.guid}.xml`,
227
- directory: 'update',
228
- content: xmlBuilder.end(),
229
- }
230
- },
231
- },
232
- })
233
-
234
- function getSourceFileDirectory(sourceFile: ts.SourceFile): string {
235
- const parsedPath = path.parse(sourceFile.getFilePath())
236
- return parsedPath.dir
237
- }
238
-
239
- const TextStringSchema = z.object({ '#text': z.string() }).transform((val) => val['#text'])
240
- const TextIntSchema = z.object({ '#text': z.number() }).transform((val) => val['#text'])
241
-
242
- const SysAttachmentSchema = RecordXmlSchema.extend({
243
- sys_id: TextStringSchema,
244
- content_type: TextStringSchema,
245
- file_name: TextStringSchema,
246
- hash: TextStringSchema,
247
- table_name: TextStringSchema,
248
- table_sys_id: TextStringSchema,
249
- size_bytes: TextIntSchema,
250
- size_compressed: TextIntSchema,
251
- })
252
-
253
- const SysAttachmentDocSchema = RecordXmlSchema.extend({
254
- data: TextStringSchema,
255
- length: TextIntSchema,
256
- position: TextIntSchema,
257
- sys_attachment: TextStringSchema,
258
- })
259
-
260
- const AttachmentXmlSchema = z.object({
261
- sys_attachment: SysAttachmentSchema,
262
- sys_attachment_doc: z.union([z.array(SysAttachmentDocSchema), SysAttachmentDocSchema]),
263
- })
264
-
265
- type AttachmentEntityData = {
266
- attachment: z.infer<typeof SysAttachmentSchema>
267
- attachmentDocs: Array<z.infer<typeof SysAttachmentDocSchema>>
268
- }