@lcap/nasl 3.7.3-beta.1 → 3.8.0-beta.2

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 (370) hide show
  1. package/.mocharc.js +0 -1
  2. package/out/automate/engine/utils.js +6 -1
  3. package/out/automate/engine/utils.js.map +1 -1
  4. package/out/bak/translator.js +37 -0
  5. package/out/bak/translator.js.map +1 -1
  6. package/out/breakpoint/shared/utils.d.ts +1 -0
  7. package/out/breakpoint/shared/utils.js +1 -1
  8. package/out/breakpoint/shared/utils.js.map +1 -1
  9. package/out/common/BaseNode.d.ts +11 -0
  10. package/out/common/BaseNode.js +101 -5
  11. package/out/common/BaseNode.js.map +1 -1
  12. package/out/concepts/Annotatable__.d.ts +109 -0
  13. package/out/concepts/Annotatable__.js +161 -0
  14. package/out/concepts/Annotatable__.js.map +1 -0
  15. package/out/concepts/AnnotationProperty__.d.ts +48 -0
  16. package/out/concepts/AnnotationProperty__.js +74 -0
  17. package/out/concepts/AnnotationProperty__.js.map +1 -0
  18. package/out/concepts/Annotation__.d.ts +128 -0
  19. package/out/concepts/Annotation__.js +248 -0
  20. package/out/concepts/Annotation__.js.map +1 -0
  21. package/out/concepts/App__.d.ts +14 -26
  22. package/out/concepts/App__.js +50 -20
  23. package/out/concepts/App__.js.map +1 -1
  24. package/out/concepts/ApplyAnnotation__.d.ts +87 -0
  25. package/out/concepts/ApplyAnnotation__.js +140 -0
  26. package/out/concepts/ApplyAnnotation__.js.map +1 -0
  27. package/out/concepts/Argument__.d.ts +19 -0
  28. package/out/concepts/Argument__.js +126 -0
  29. package/out/concepts/Argument__.js.map +1 -1
  30. package/out/concepts/AssigneeV2__.d.ts +169 -0
  31. package/out/concepts/AssigneeV2__.js +176 -1
  32. package/out/concepts/AssigneeV2__.js.map +1 -1
  33. package/out/concepts/AuthLogicForCallInterface__.js +1 -1
  34. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  35. package/out/concepts/AuthLogic__.js +1 -1
  36. package/out/concepts/AuthLogic__.js.map +1 -1
  37. package/out/concepts/BooleanLiteral__.d.ts +1 -0
  38. package/out/concepts/BooleanLiteral__.js +9 -0
  39. package/out/concepts/BooleanLiteral__.js.map +1 -1
  40. package/out/concepts/BusinessLogic__.js +1 -1
  41. package/out/concepts/BusinessLogic__.js.map +1 -1
  42. package/out/concepts/CallFunction__.js +1 -1
  43. package/out/concepts/CallFunction__.js.map +1 -1
  44. package/out/concepts/CallLogic__.d.ts +15 -0
  45. package/out/concepts/CallLogic__.js +149 -17
  46. package/out/concepts/CallLogic__.js.map +1 -1
  47. package/out/concepts/ConnectorLogic__.js +1 -1
  48. package/out/concepts/ConnectorLogic__.js.map +1 -1
  49. package/out/concepts/DatabaseTypeAnnotation__.d.ts +0 -2
  50. package/out/concepts/DatabaseTypeAnnotation__.js +0 -20
  51. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  52. package/out/concepts/DepartmentManagerV2__.d.ts +29 -0
  53. package/out/concepts/DepartmentManagerV2__.js +56 -0
  54. package/out/concepts/DepartmentManagerV2__.js.map +1 -0
  55. package/out/concepts/DepartmentV2__.d.ts +33 -0
  56. package/out/concepts/DepartmentV2__.js +63 -0
  57. package/out/concepts/DepartmentV2__.js.map +1 -0
  58. package/out/concepts/DirectManagerV2__.d.ts +25 -0
  59. package/out/concepts/DirectManagerV2__.js +53 -0
  60. package/out/concepts/DirectManagerV2__.js.map +1 -0
  61. package/out/concepts/End__.js +9 -1
  62. package/out/concepts/End__.js.map +1 -1
  63. package/out/concepts/EntityProperty__.js +0 -2
  64. package/out/concepts/EntityProperty__.js.map +1 -1
  65. package/out/concepts/Entity__.d.ts +2 -2
  66. package/out/concepts/Entity__.js +4 -7
  67. package/out/concepts/Entity__.js.map +1 -1
  68. package/out/concepts/EnumItem__.d.ts +1 -12
  69. package/out/concepts/EnumItem__.js +17 -49
  70. package/out/concepts/EnumItem__.js.map +1 -1
  71. package/out/concepts/EnumSelectSetter__.d.ts +4 -0
  72. package/out/concepts/EnumSelectSetter__.js +7 -0
  73. package/out/concepts/EnumSelectSetter__.js.map +1 -1
  74. package/out/concepts/Enum__.js +1 -4
  75. package/out/concepts/Enum__.js.map +1 -1
  76. package/out/concepts/ForEachStatement__.js +1 -1
  77. package/out/concepts/ForEachStatement__.js.map +1 -1
  78. package/out/concepts/FrontendLibrary__.d.ts +52 -48
  79. package/out/concepts/FrontendLibrary__.js +45 -36
  80. package/out/concepts/FrontendLibrary__.js.map +1 -1
  81. package/out/concepts/FrontendType__.d.ts +4 -0
  82. package/out/concepts/FrontendType__.js +7 -0
  83. package/out/concepts/FrontendType__.js.map +1 -1
  84. package/out/concepts/Frontend__.d.ts +2 -0
  85. package/out/concepts/Frontend__.js +21 -2
  86. package/out/concepts/Frontend__.js.map +1 -1
  87. package/out/concepts/HistoryProcessV2__.js +4 -1
  88. package/out/concepts/HistoryProcessV2__.js.map +1 -1
  89. package/out/concepts/I18nInfo__.d.ts +0 -1
  90. package/out/concepts/I18nInfo__.js +0 -7
  91. package/out/concepts/I18nInfo__.js.map +1 -1
  92. package/out/concepts/Identifier__.d.ts +2 -0
  93. package/out/concepts/Identifier__.js +31 -0
  94. package/out/concepts/Identifier__.js.map +1 -1
  95. package/out/concepts/IfStatement__.js +2 -2
  96. package/out/concepts/IfStatement__.js.map +1 -1
  97. package/out/concepts/Interface__.js +1 -4
  98. package/out/concepts/Interface__.js.map +1 -1
  99. package/out/concepts/LogicItem__.d.ts +1 -1
  100. package/out/concepts/LogicItem__.js.map +1 -1
  101. package/out/concepts/Logic__.d.ts +16 -1
  102. package/out/concepts/Logic__.js +133 -15
  103. package/out/concepts/Logic__.js.map +1 -1
  104. package/out/concepts/ManagerV2__.d.ts +34 -0
  105. package/out/concepts/ManagerV2__.js +61 -0
  106. package/out/concepts/ManagerV2__.js.map +1 -0
  107. package/out/concepts/MatchCase__.d.ts +2 -2
  108. package/out/concepts/MatchCase__.js +7 -7
  109. package/out/concepts/MatchCase__.js.map +1 -1
  110. package/out/concepts/MemberExpression__.js +1 -0
  111. package/out/concepts/MemberExpression__.js.map +1 -1
  112. package/out/concepts/Module__.d.ts +88 -0
  113. package/out/concepts/Module__.js +85 -0
  114. package/out/concepts/Module__.js.map +1 -1
  115. package/out/concepts/OperatePermissionV2__.d.ts +1 -1
  116. package/out/concepts/OperatePermissionV2__.js.map +1 -1
  117. package/out/concepts/Param__.d.ts +4 -0
  118. package/out/concepts/Param__.js +13 -21
  119. package/out/concepts/Param__.js.map +1 -1
  120. package/out/concepts/ProcessElementV2__.d.ts +6 -1
  121. package/out/concepts/ProcessElementV2__.js +20 -0
  122. package/out/concepts/ProcessElementV2__.js.map +1 -1
  123. package/out/concepts/ProcessElement__.d.ts +7 -0
  124. package/out/concepts/ProcessElement__.js +47 -0
  125. package/out/concepts/ProcessElement__.js.map +1 -1
  126. package/out/concepts/ProcessV2__.d.ts +1 -34
  127. package/out/concepts/ProcessV2__.js +3 -70
  128. package/out/concepts/ProcessV2__.js.map +1 -1
  129. package/out/concepts/QueryFromExpression__.js +2 -2
  130. package/out/concepts/QueryFromExpression__.js.map +1 -1
  131. package/out/concepts/QueryJoinExpression__.js +2 -2
  132. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  133. package/out/concepts/StaticString__.d.ts +0 -4
  134. package/out/concepts/StaticString__.js +0 -11
  135. package/out/concepts/StaticString__.js.map +1 -1
  136. package/out/concepts/StructureProperty__.d.ts +1 -0
  137. package/out/concepts/StructureProperty__.js +14 -5
  138. package/out/concepts/StructureProperty__.js.map +1 -1
  139. package/out/concepts/Structure__.d.ts +4 -0
  140. package/out/concepts/Structure__.js +6 -9
  141. package/out/concepts/Structure__.js.map +1 -1
  142. package/out/concepts/SubLogic__.d.ts +418 -0
  143. package/out/concepts/SubLogic__.js +992 -0
  144. package/out/concepts/SubLogic__.js.map +1 -0
  145. package/out/concepts/Theme__.d.ts +9 -0
  146. package/out/concepts/Theme__.js +10 -0
  147. package/out/concepts/Theme__.js.map +1 -1
  148. package/out/concepts/Transactional__.d.ts +0 -1
  149. package/out/concepts/Transactional__.js +0 -7
  150. package/out/concepts/Transactional__.js.map +1 -1
  151. package/out/concepts/TypeAnnotation__.js +18 -0
  152. package/out/concepts/TypeAnnotation__.js.map +1 -1
  153. package/out/concepts/TypeParam__.d.ts +1 -0
  154. package/out/concepts/TypeParam__.js.map +1 -1
  155. package/out/concepts/ValidationRule__.d.ts +6 -1
  156. package/out/concepts/ValidationRule__.js +6 -1
  157. package/out/concepts/ValidationRule__.js.map +1 -1
  158. package/out/concepts/ViewElement__.d.ts +8 -2
  159. package/out/concepts/ViewElement__.js +213 -32
  160. package/out/concepts/ViewElement__.js.map +1 -1
  161. package/out/concepts/View__.d.ts +10 -2
  162. package/out/concepts/View__.js +129 -17
  163. package/out/concepts/View__.js.map +1 -1
  164. package/out/concepts/basics/stdlib/nasl.processV2.d.ts +2 -0
  165. package/out/concepts/basics/stdlib/nasl.processV2.js +50 -4
  166. package/out/concepts/basics/stdlib/nasl.processV2.js.map +1 -1
  167. package/out/concepts/basics/types/index.d.ts +1 -1
  168. package/out/concepts/basics/types/index.js +2 -1
  169. package/out/concepts/basics/types/index.js.map +1 -1
  170. package/out/concepts/index__.d.ts +9 -0
  171. package/out/concepts/index__.js +9 -0
  172. package/out/concepts/index__.js.map +1 -1
  173. package/out/concepts/utils/asserts.d.ts +409 -0
  174. package/out/concepts/utils/asserts.js +564 -14
  175. package/out/concepts/utils/asserts.js.map +1 -1
  176. package/out/concepts/utils/types.d.ts +33 -2
  177. package/out/generator/genBundleFiles.d.ts +13 -9
  178. package/out/generator/genBundleFiles.js +383 -63
  179. package/out/generator/genBundleFiles.js.map +1 -1
  180. package/out/generator/genMetaData.js +2 -0
  181. package/out/generator/genMetaData.js.map +1 -1
  182. package/out/generator/release-body/body.js +1 -0
  183. package/out/generator/release-body/body.js.map +1 -1
  184. package/out/generator/release-body/utils.d.ts +15 -7
  185. package/out/generator/release-body/utils.js +50 -7
  186. package/out/generator/release-body/utils.js.map +1 -1
  187. package/out/natural/genNaturalTS.js +2 -4
  188. package/out/natural/genNaturalTS.js.map +1 -1
  189. package/out/natural/getContext/index.js +0 -2
  190. package/out/natural/getContext/index.js.map +1 -1
  191. package/out/natural/transformTS2UI.js.map +1 -1
  192. package/out/natural/transformTSCode.d.ts +1 -1
  193. package/out/natural/transformTSCode.js.map +1 -1
  194. package/out/server/extendBaseNode.js +9 -0
  195. package/out/server/extendBaseNode.js.map +1 -1
  196. package/out/server/getLogics.js +10 -6
  197. package/out/server/getLogics.js.map +1 -1
  198. package/out/server/getMemberIdentifier.js +6 -0
  199. package/out/server/getMemberIdentifier.js.map +1 -1
  200. package/out/server/getProcessesV2.d.ts +3 -2
  201. package/out/server/getProcessesV2.js +15 -6
  202. package/out/server/getProcessesV2.js.map +1 -1
  203. package/out/server/naslServer.d.ts +5 -1
  204. package/out/server/naslServer.js +120 -30
  205. package/out/server/naslServer.js.map +1 -1
  206. package/out/server/translator.js +4 -0
  207. package/out/server/translator.js.map +1 -1
  208. package/out/service/storage/init.d.ts +2 -1
  209. package/out/service/storage/init.js +28 -71
  210. package/out/service/storage/init.js.map +1 -1
  211. package/out/templator/genCreateBlock.d.ts +6 -2
  212. package/out/templator/genCreateBlock.js +25 -8
  213. package/out/templator/genCreateBlock.js.map +1 -1
  214. package/out/templator/genCurdEditMultipleKeyBlock.d.ts +22 -0
  215. package/out/templator/genCurdEditMultipleKeyBlock.js +60 -1
  216. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  217. package/out/templator/genCurdMultipleKeyBlock.d.ts +13 -3
  218. package/out/templator/genCurdMultipleKeyBlock.js +29 -23
  219. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  220. package/out/templator/genGetBlock.d.ts +1 -1
  221. package/out/templator/genGetBlock.js +3 -2
  222. package/out/templator/genGetBlock.js.map +1 -1
  223. package/out/templator/genListViewBlock.d.ts +1 -1
  224. package/out/templator/genListViewBlock.js +3 -2
  225. package/out/templator/genListViewBlock.js.map +1 -1
  226. package/out/templator/genSelectBlock.d.ts +1 -1
  227. package/out/templator/genSelectBlock.js +3 -2
  228. package/out/templator/genSelectBlock.js.map +1 -1
  229. package/out/templator/genTableBlock.d.ts +9 -4
  230. package/out/templator/genTableBlock.js +31 -17
  231. package/out/templator/genTableBlock.js.map +1 -1
  232. package/out/templator/genUpdateBlock.d.ts +2 -2
  233. package/out/templator/genUpdateBlock.js +11 -11
  234. package/out/templator/genUpdateBlock.js.map +1 -1
  235. package/out/translator/types.d.ts +0 -4
  236. package/out/translator/utils.d.ts +0 -1
  237. package/out/translator/utils.js +1 -6
  238. package/out/translator/utils.js.map +1 -1
  239. package/out/utils/delay/index.d.ts +0 -0
  240. package/out/utils/delay/index.js +1 -0
  241. package/out/utils/delay/index.js.map +1 -0
  242. package/out/utils/env.d.ts +0 -4
  243. package/out/utils/env.js +3 -6
  244. package/out/utils/env.js.map +1 -1
  245. package/out/utils/index.d.ts +3 -2
  246. package/out/utils/index.js +18 -14
  247. package/out/utils/index.js.map +1 -1
  248. package/out/utils/time-slicing/controller.js.map +1 -1
  249. package/out/utils/types.d.ts +0 -17
  250. package/package.json +27 -20
  251. package/sandbox/stdlib/extension.component.ts +29 -0
  252. package/sandbox/stdlib/nasl.process.ts +17 -0
  253. package/sandbox/stdlib/nasl.processV2.ts +10 -5
  254. package/sandbox/stdlib/nasl.util.ts +3 -1
  255. package/src/automate/engine/utils.js +7 -2
  256. package/src/bak/translator.js +42 -1
  257. package/src/breakpoint/shared/utils.ts +2 -1
  258. package/src/common/BaseNode.ts +117 -5
  259. package/src/concepts/Annotatable__.ts +263 -0
  260. package/src/concepts/AnnotationProperty__.ts +102 -0
  261. package/src/concepts/Annotation__.ts +344 -0
  262. package/src/concepts/App__.ts +917 -26
  263. package/src/concepts/ApplyAnnotation__.ts +198 -0
  264. package/src/concepts/Argument__.ts +145 -1
  265. package/src/concepts/AssigneeV2__.ts +387 -1
  266. package/src/concepts/AuthLogicForCallInterface__.ts +1 -1
  267. package/src/concepts/AuthLogic__.ts +1 -1
  268. package/src/concepts/BooleanLiteral__.ts +9 -1
  269. package/src/concepts/BusinessLogic__.ts +1 -1
  270. package/src/concepts/CallFunction__.ts +1 -1
  271. package/src/concepts/CallLogic__.ts +153 -16
  272. package/src/concepts/ConnectorLogic__.ts +1 -1
  273. package/src/concepts/DatabaseTypeAnnotation__.ts +0 -11
  274. package/src/concepts/DepartmentManagerV2__.ts +70 -0
  275. package/src/concepts/DepartmentV2__.ts +75 -0
  276. package/src/concepts/DirectManagerV2__.ts +65 -0
  277. package/src/concepts/End__.ts +10 -1
  278. package/src/concepts/EntityProperty__.ts +0 -5
  279. package/src/concepts/Entity__.ts +5 -9
  280. package/src/concepts/EnumItem__.ts +16 -65
  281. package/src/concepts/EnumSelectSetter__.ts +6 -0
  282. package/src/concepts/Enum__.ts +1 -6
  283. package/src/concepts/ForEachStatement__.ts +1 -1
  284. package/src/concepts/FrontendLibrary__.ts +88 -80
  285. package/src/concepts/FrontendType__.ts +6 -0
  286. package/src/concepts/Frontend__.ts +26 -3
  287. package/src/concepts/HistoryProcessV2__.ts +5 -0
  288. package/src/concepts/I18nInfo__.ts +0 -5
  289. package/src/concepts/Identifier__.ts +32 -0
  290. package/src/concepts/IfStatement__.ts +2 -2
  291. package/src/concepts/Interface__.ts +1 -6
  292. package/src/concepts/LogicItem__.ts +1 -0
  293. package/src/concepts/Logic__.ts +140 -17
  294. package/src/concepts/ManagerV2__.ts +78 -0
  295. package/src/concepts/MatchCase__.ts +9 -8
  296. package/src/concepts/MemberExpression__.ts +1 -0
  297. package/src/concepts/Module__.ts +194 -0
  298. package/src/concepts/OperatePermissionV2__.ts +1 -1
  299. package/src/concepts/Param__.ts +17 -20
  300. package/src/concepts/ProcessElementV2__.ts +23 -0
  301. package/src/concepts/ProcessElement__.ts +18 -0
  302. package/src/concepts/ProcessV2__.ts +4 -70
  303. package/src/concepts/QueryFromExpression__.ts +2 -2
  304. package/src/concepts/QueryJoinExpression__.ts +2 -2
  305. package/src/concepts/StaticString__.ts +0 -13
  306. package/src/concepts/StructureProperty__.ts +16 -7
  307. package/src/concepts/Structure__.ts +10 -11
  308. package/src/concepts/SubLogic__.ts +1516 -0
  309. package/src/concepts/Theme__.ts +9 -0
  310. package/src/concepts/Transactional__.ts +0 -5
  311. package/src/concepts/TriggerLauncher__.ts +1 -1
  312. package/src/concepts/TypeAnnotation__.ts +17 -0
  313. package/src/concepts/TypeParam__.ts +3 -0
  314. package/src/concepts/ValidationRule__.ts +6 -1
  315. package/src/concepts/ViewElement__.ts +224 -34
  316. package/src/concepts/View__.ts +135 -22
  317. package/src/concepts/basics/stdlib/nasl.processV2.ts +56 -3
  318. package/src/concepts/basics/types/index.ts +1 -1
  319. package/src/concepts/index__.ts +9 -0
  320. package/src/concepts/utils/asserts.ts +595 -0
  321. package/src/concepts/utils/types.ts +53 -0
  322. package/src/generator/genBundleFiles.ts +408 -68
  323. package/src/generator/genMetaData.ts +3 -0
  324. package/src/generator/release-body/body.ts +1 -0
  325. package/src/generator/release-body/utils.ts +159 -55
  326. package/src/natural/genNaturalTS.ts +3 -5
  327. package/src/natural/getContext/index.ts +0 -2
  328. package/src/natural/transformTS2UI.ts +5 -2
  329. package/src/natural/transformTSCode.ts +2 -2
  330. package/src/server/extendBaseNode.ts +11 -2
  331. package/src/server/getLogics.ts +9 -7
  332. package/src/server/getMemberIdentifier.ts +7 -0
  333. package/src/server/getProcessesV2.ts +16 -6
  334. package/src/server/naslServer.ts +133 -30
  335. package/src/server/translator.ts +4 -0
  336. package/src/service/storage/init.ts +52 -97
  337. package/src/templator/genCreateBlock.ts +35 -14
  338. package/src/templator/genCurdEditMultipleKeyBlock.ts +65 -1
  339. package/src/templator/genCurdMultipleKeyBlock.ts +42 -23
  340. package/src/templator/genGetBlock.ts +4 -3
  341. package/src/templator/genListViewBlock.ts +3 -3
  342. package/src/templator/genSelectBlock.ts +4 -2
  343. package/src/templator/genTableBlock.ts +32 -17
  344. package/src/templator/genUpdateBlock.ts +21 -18
  345. package/src/translator/types.ts +0 -4
  346. package/src/translator/utils.ts +0 -6
  347. package/src/utils/delay/index.ts +0 -0
  348. package/src/utils/env.ts +4 -5
  349. package/src/utils/index.ts +16 -4
  350. package/src/utils/time-slicing/controller.ts +1 -0
  351. package/src/utils/types.ts +0 -20
  352. package/test/concepts/validation-rule/__snapshots__/toEmbeddedTS.spec.ts.snap +2 -1
  353. package/ts-worker/bundle.js +1 -1
  354. package/ts-worker/src/index.js +1 -0
  355. package/out/utils/language-cache/constant.d.ts +0 -18
  356. package/out/utils/language-cache/constant.js +0 -35
  357. package/out/utils/language-cache/constant.js.map +0 -1
  358. package/out/utils/language-cache/index.d.ts +0 -2
  359. package/out/utils/language-cache/index.js +0 -19
  360. package/out/utils/language-cache/index.js.map +0 -1
  361. package/out/utils/language-cache/nasl.d.ts +0 -10
  362. package/out/utils/language-cache/nasl.js +0 -98
  363. package/out/utils/language-cache/nasl.js.map +0 -1
  364. package/out/utils/language-cache/types.d.ts +0 -44
  365. package/out/utils/language-cache/types.js +0 -4
  366. package/out/utils/language-cache/types.js.map +0 -1
  367. package/src/utils/language-cache/constant.ts +0 -37
  368. package/src/utils/language-cache/index.ts +0 -2
  369. package/src/utils/language-cache/nasl.ts +0 -83
  370. package/src/utils/language-cache/types.ts +0 -48
@@ -81,6 +81,7 @@ const context = {
81
81
  system: undefined,
82
82
  session: undefined,
83
83
  async start() {
84
+ console.log('start');
84
85
  Object.assign(this, await start(webHost));
85
86
  },
86
87
  /**
@@ -1,18 +0,0 @@
1
- /** 数据库名称 */
2
- export declare const DbName = "language-cache";
3
- /**
4
- * 缓存时长
5
- *
6
- * @description 3 天时间
7
- */
8
- export declare const NaslCacheLimit: number;
9
- /** 数据库储存表 */
10
- export declare enum StoreName {
11
- Nasl = "Nasl"
12
- }
13
- /**
14
- * 标签页 ID
15
- *
16
- * @description 应用初始化时通过 sessionStorage 获取,Tab 页刷新时不会变化,tab 页关闭后消失
17
- */
18
- export declare const tabId: number;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tabId = exports.StoreName = exports.NaslCacheLimit = exports.DbName = void 0;
4
- const env_1 = require("../env");
5
- /** 数据库名称 */
6
- exports.DbName = 'language-cache';
7
- /**
8
- * 缓存时长
9
- *
10
- * @description 3 天时间
11
- */
12
- exports.NaslCacheLimit = 3 * 24 * 60 * 60 * 1000;
13
- /** 数据库储存表 */
14
- var StoreName;
15
- (function (StoreName) {
16
- StoreName["Nasl"] = "Nasl";
17
- })(StoreName = exports.StoreName || (exports.StoreName = {}));
18
- /**
19
- * 标签页 ID
20
- *
21
- * @description 应用初始化时通过 sessionStorage 获取,Tab 页刷新时不会变化,tab 页关闭后消失
22
- */
23
- exports.tabId = (() => {
24
- if (!env_1.isBrowser) {
25
- return 0;
26
- }
27
- const tabId = sessionStorage.getItem('tabId');
28
- if (tabId) {
29
- return Number(tabId);
30
- }
31
- const newId = Date.now();
32
- sessionStorage.setItem('tabId', String(newId));
33
- return newId;
34
- })();
35
- //# sourceMappingURL=constant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../src/utils/language-cache/constant.ts"],"names":[],"mappings":";;;AAAA,gCAAmC;AAEnC,YAAY;AACC,QAAA,MAAM,GAAG,gBAAgB,CAAC;AAEvC;;;;GAIG;AACU,QAAA,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtD,aAAa;AACb,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,0BAAa,CAAA;AACf,CAAC,EAFW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEpB;AAED;;;;GAIG;AACU,QAAA,KAAK,GAAG,CAAC,GAAG,EAAE;IACzB,IAAI,CAAC,eAAS,EAAE;QACd,OAAO,CAAC,CAAC;KACV;IAED,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C,IAAI,KAAK,EAAE;QACT,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;KACtB;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC,CAAC,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './nasl';
2
- export * from './types';
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./nasl"), exports);
18
- __exportStar(require("./types"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/language-cache/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,0CAAwB"}
@@ -1,10 +0,0 @@
1
- import { NaslCacheData, NaslCacheUpdateData } from './types';
2
- export declare function canUseNaslCache(appId: string, globalChangedTime: number): Promise<boolean>;
3
- /**
4
- * 取出缓存
5
- *
6
- * @description 只是取出缓存,并不校验缓存的有效性
7
- */
8
- export declare function getNaslCacheWithoutCheck(appId: string): Promise<NaslCacheData>;
9
- export declare function clearCache(appId: string): Promise<void>;
10
- export declare function updateNaslCache(appId: string, data: NaslCacheUpdateData): Promise<void>;
@@ -1,98 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.updateNaslCache = exports.clearCache = exports.getNaslCacheWithoutCheck = exports.canUseNaslCache = void 0;
27
- const env_1 = require("../env");
28
- const constant_1 = require("./constant");
29
- /** 缓存数据库 */
30
- const database = env_1.isNode
31
- ? undefined
32
- : Promise.resolve().then(() => __importStar(require('idb'))).then((idb) => idb.openDB(constant_1.DbName, 1, {
33
- upgrade(db) {
34
- db.createObjectStore(constant_1.StoreName.Nasl);
35
- },
36
- blocked(currentVersion, blockedVersion, event) {
37
- // TODO: 超出容量限制
38
- },
39
- }));
40
- async function canUseNaslCache(appId, globalChangedTime) {
41
- const data = await getNaslCacheWithoutCheck(appId);
42
- const now = Date.now();
43
- if (!data || data.forceUpdate || ((now - data.createdTime) > constant_1.NaslCacheLimit)) {
44
- return false;
45
- }
46
- // 缓存等于服务端,则表示可以使用缓存
47
- return data.updatedTime === globalChangedTime;
48
- }
49
- exports.canUseNaslCache = canUseNaslCache;
50
- /**
51
- * 取出缓存
52
- *
53
- * @description 只是取出缓存,并不校验缓存的有效性
54
- */
55
- async function getNaslCacheWithoutCheck(appId) {
56
- if (env_1.isNode) {
57
- return;
58
- }
59
- const db = await database;
60
- const data = await db.get(constant_1.StoreName.Nasl, appId);
61
- return data;
62
- }
63
- exports.getNaslCacheWithoutCheck = getNaslCacheWithoutCheck;
64
- async function clearCache(appId) {
65
- if (env_1.isNode) {
66
- return;
67
- }
68
- const db = await database;
69
- await db.delete(constant_1.StoreName.Nasl, appId);
70
- }
71
- exports.clearCache = clearCache;
72
- async function updateNaslCache(appId, data) {
73
- if (env_1.isNode) {
74
- return;
75
- }
76
- const db = await database;
77
- const cache = await db.get(constant_1.StoreName.Nasl, appId);
78
- // 数据库中数据为新的,不更新缓存
79
- if (cache && (data.globalChangedTime <= cache.updatedTime)) {
80
- return;
81
- }
82
- const newData = {
83
- id: appId,
84
- tabId: constant_1.tabId,
85
- data: data.getData(),
86
- updatedTime: data.globalChangedTime,
87
- forceUpdate: cache
88
- ? (cache.forceUpdate ||
89
- data.preGlobalChangedTime !== cache.updatedTime ||
90
- constant_1.tabId !== cache.tabId)
91
- : false,
92
- createdTime: cache?.createdTime ?? Date.now(),
93
- };
94
- // await db.delete(StoreName.Nasl, appId);
95
- await db.put(constant_1.StoreName.Nasl, newData, appId);
96
- }
97
- exports.updateNaslCache = updateNaslCache;
98
- //# sourceMappingURL=nasl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nasl.js","sourceRoot":"","sources":["../../../src/utils/language-cache/nasl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gCAAgC;AAChC,yCAAsE;AAGtE,YAAY;AACZ,MAAM,QAAQ,GAAG,YAAM;IACrB,CAAC,CAAC,SAAS;IACX,CAAC,CAAC,kDAAO,KAAK,IAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAmB,iBAAM,EAAE,CAAC,EAAE;QAClE,OAAO,CAAC,EAAE;YACR,EAAE,CAAC,iBAAiB,CAAC,oBAAS,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK;YAC3C,eAAe;QACjB,CAAC;KACF,CAAC,CAAC,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,KAAa,EAAE,iBAAyB;IAC5E,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,yBAAc,CAAC,EAAE;QAC5E,OAAO,KAAK,CAAC;KACd;IAED,oBAAoB;IACpB,OAAO,IAAI,CAAC,WAAW,KAAK,iBAAiB,CAAC;AAChD,CAAC;AAVD,0CAUC;AAED;;;;GAIG;AACI,KAAK,UAAU,wBAAwB,CAAC,KAAa;IAC1D,IAAI,YAAM,EAAE;QACV,OAAO;KACR;IAED,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,oBAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC;AACd,CAAC;AARD,4DAQC;AAEM,KAAK,UAAU,UAAU,CAAC,KAAa;IAC5C,IAAI,YAAM,EAAE;QACV,OAAO;KACR;IAED,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC;IAC1B,MAAM,EAAE,CAAC,MAAM,CAAC,oBAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACzC,CAAC;AAPD,gCAOC;AAEM,KAAK,UAAU,eAAe,CAAC,KAAa,EAAE,IAAyB;IAC5E,IAAI,YAAM,EAAE;QACV,OAAO;KACR;IAED,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,oBAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAElD,kBAAkB;IAClB,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE;QAC1D,OAAO;KACR;IAED,MAAM,OAAO,GAAkB;QAC7B,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,gBAAK;QACZ,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;QACpB,WAAW,EAAE,IAAI,CAAC,iBAAiB;QACnC,WAAW,EAAE,KAAK;YAChB,CAAC,CAAC,CACA,KAAK,CAAC,WAAW;gBACjB,IAAI,CAAC,oBAAoB,KAAK,KAAK,CAAC,WAAW;gBAC/C,gBAAK,KAAK,KAAK,CAAC,KAAK,CACtB;YACD,CAAC,CAAC,KAAK;QACT,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE;KAC9C,CAAC;IAEF,0CAA0C;IAC1C,MAAM,EAAE,CAAC,GAAG,CAAC,oBAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC;AA9BD,0CA8BC"}
@@ -1,44 +0,0 @@
1
- import { DBSchema } from 'idb';
2
- import { StoreName } from './constant';
3
- export declare type NaslData = object;
4
- export interface NaslCacheData {
5
- /** 应用编号 appId */
6
- id: string;
7
- /** 开始缓存的时间 */
8
- createdTime: number;
9
- /**
10
- * 变更时间
11
- *
12
- * @description 后端为空时,默认为当前时间
13
- */
14
- updatedTime: number;
15
- /**
16
- * 强制弃用缓存标志位
17
- *
18
- * 在某些特殊情况下,比如 A、B 两个人,A 先改了页面 PageA,然后 B 改了页面 PageB,再然后 A 又修改了页面 PageA。
19
- * 此时 A 的电脑上标志位是最新的,所以他刷新页面是会走缓存,而不会走后端。
20
- * 此时两个后端的 Nasl 已经不同,但是因为两个人改的是不同的页面,所以继续走缓存也没关系。
21
- * 当 A 进入 B 页面的时候,后端会判定产生互锁,让 A 强制刷新页面,此时 A 的标志位是最新的,所以 A 即便刷新页面也会走缓存,
22
- * 所以这里就需要另外的标志位来让 A 强制不走缓存。
23
- */
24
- forceUpdate: boolean;
25
- /**
26
- * 当前标签页编号
27
- */
28
- tabId: number;
29
- /** 应用 Nasl 数据 */
30
- data: NaslData;
31
- }
32
- export interface NaslCacheUpdateData {
33
- preGlobalChangedTime: number;
34
- globalChangedTime: number;
35
- getData: () => NaslData;
36
- }
37
- export interface LanguageDatabase extends DBSchema {
38
- /** Nasl 缓存数据库 */
39
- [StoreName.Nasl]: {
40
- /** AppId 为键名 */
41
- key: string;
42
- value: NaslCacheData;
43
- };
44
- }
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const constant_1 = require("./constant");
4
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/language-cache/types.ts"],"names":[],"mappings":";;AACA,yCAAuC"}
@@ -1,37 +0,0 @@
1
- import { isBrowser } from '../env';
2
-
3
- /** 数据库名称 */
4
- export const DbName = 'language-cache';
5
-
6
- /**
7
- * 缓存时长
8
- *
9
- * @description 3 天时间
10
- */
11
- export const NaslCacheLimit = 3 * 24 * 60 * 60 * 1000;
12
-
13
- /** 数据库储存表 */
14
- export enum StoreName {
15
- Nasl = 'Nasl',
16
- }
17
-
18
- /**
19
- * 标签页 ID
20
- *
21
- * @description 应用初始化时通过 sessionStorage 获取,Tab 页刷新时不会变化,tab 页关闭后消失
22
- */
23
- export const tabId = (() => {
24
- if (!isBrowser) {
25
- return 0;
26
- }
27
-
28
- const tabId = sessionStorage.getItem('tabId');
29
-
30
- if (tabId) {
31
- return Number(tabId);
32
- }
33
-
34
- const newId = Date.now();
35
- sessionStorage.setItem('tabId', String(newId));
36
- return newId;
37
- })();
@@ -1,2 +0,0 @@
1
- export * from './nasl';
2
- export * from './types';
@@ -1,83 +0,0 @@
1
- import { isNode } from '../env';
2
- import { StoreName, DbName, NaslCacheLimit, tabId } from './constant';
3
- import { LanguageDatabase, NaslCacheData, NaslCacheUpdateData } from './types';
4
-
5
- /** 缓存数据库 */
6
- const database = isNode
7
- ? undefined
8
- : import('idb').then((idb) => idb.openDB<LanguageDatabase>(DbName, 1, {
9
- upgrade(db) {
10
- db.createObjectStore(StoreName.Nasl);
11
- },
12
- blocked(currentVersion, blockedVersion, event) {
13
- // TODO: 超出容量限制
14
- },
15
- }));
16
-
17
- export async function canUseNaslCache(appId: string, globalChangedTime: number) {
18
- const data = await getNaslCacheWithoutCheck(appId);
19
- const now = Date.now();
20
-
21
- if (!data || data.forceUpdate || ((now - data.createdTime) > NaslCacheLimit)) {
22
- return false;
23
- }
24
-
25
- // 缓存等于服务端,则表示可以使用缓存
26
- return data.updatedTime === globalChangedTime;
27
- }
28
-
29
- /**
30
- * 取出缓存
31
- *
32
- * @description 只是取出缓存,并不校验缓存的有效性
33
- */
34
- export async function getNaslCacheWithoutCheck(appId: string) {
35
- if (isNode) {
36
- return;
37
- }
38
-
39
- const db = await database;
40
- const data = await db.get(StoreName.Nasl, appId);
41
- return data;
42
- }
43
-
44
- export async function clearCache(appId: string) {
45
- if (isNode) {
46
- return;
47
- }
48
-
49
- const db = await database;
50
- await db.delete(StoreName.Nasl, appId);
51
- }
52
-
53
- export async function updateNaslCache(appId: string, data: NaslCacheUpdateData) {
54
- if (isNode) {
55
- return;
56
- }
57
-
58
- const db = await database;
59
- const cache = await db.get(StoreName.Nasl, appId);
60
-
61
- // 数据库中数据为新的,不更新缓存
62
- if (cache && (data.globalChangedTime <= cache.updatedTime)) {
63
- return;
64
- }
65
-
66
- const newData: NaslCacheData = {
67
- id: appId,
68
- tabId: tabId,
69
- data: data.getData(),
70
- updatedTime: data.globalChangedTime,
71
- forceUpdate: cache
72
- ? (
73
- cache.forceUpdate ||
74
- data.preGlobalChangedTime !== cache.updatedTime ||
75
- tabId !== cache.tabId
76
- )
77
- : false,
78
- createdTime: cache?.createdTime ?? Date.now(),
79
- };
80
-
81
- // await db.delete(StoreName.Nasl, appId);
82
- await db.put(StoreName.Nasl, newData, appId);
83
- }
@@ -1,48 +0,0 @@
1
- import { DBSchema } from 'idb';
2
- import { StoreName } from './constant';
3
-
4
- export type NaslData = object;
5
-
6
- export interface NaslCacheData {
7
- /** 应用编号 appId */
8
- id: string;
9
- /** 开始缓存的时间 */
10
- createdTime: number;
11
- /**
12
- * 变更时间
13
- *
14
- * @description 后端为空时,默认为当前时间
15
- */
16
- updatedTime: number;
17
- /**
18
- * 强制弃用缓存标志位
19
- *
20
- * 在某些特殊情况下,比如 A、B 两个人,A 先改了页面 PageA,然后 B 改了页面 PageB,再然后 A 又修改了页面 PageA。
21
- * 此时 A 的电脑上标志位是最新的,所以他刷新页面是会走缓存,而不会走后端。
22
- * 此时两个后端的 Nasl 已经不同,但是因为两个人改的是不同的页面,所以继续走缓存也没关系。
23
- * 当 A 进入 B 页面的时候,后端会判定产生互锁,让 A 强制刷新页面,此时 A 的标志位是最新的,所以 A 即便刷新页面也会走缓存,
24
- * 所以这里就需要另外的标志位来让 A 强制不走缓存。
25
- */
26
- forceUpdate: boolean;
27
- /**
28
- * 当前标签页编号
29
- */
30
- tabId: number;
31
- /** 应用 Nasl 数据 */
32
- data: NaslData;
33
- }
34
-
35
- export interface NaslCacheUpdateData {
36
- preGlobalChangedTime: number;
37
- globalChangedTime: number;
38
- getData: () => NaslData;
39
- }
40
-
41
- export interface LanguageDatabase extends DBSchema {
42
- /** Nasl 缓存数据库 */
43
- [StoreName.Nasl]: {
44
- /** AppId 为键名 */
45
- key: string;
46
- value: NaslCacheData;
47
- };
48
- }