@static-suite/static-suite-data-server 0.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 (484) hide show
  1. package/.eslintignore +4 -0
  2. package/.eslintrc.json +49 -0
  3. package/.nvmrc +1 -0
  4. package/.prettierrc +10 -0
  5. package/.vscode/launch.json +44 -0
  6. package/LICENSE.txt +339 -0
  7. package/README.md +300 -0
  8. package/__mocks__/clear-module.js +7 -0
  9. package/api-extractor.json +339 -0
  10. package/dist/bin/serve.d.ts +3 -0
  11. package/dist/bin/serve.d.ts.map +1 -0
  12. package/dist/bin/serve.js +105 -0
  13. package/dist/http/README.md +300 -0
  14. package/dist/http/httpServer.d.ts +4 -0
  15. package/dist/http/httpServer.d.ts.map +1 -0
  16. package/dist/http/httpServer.js +24 -0
  17. package/dist/http/public/assets/bulma/bulma-tooltip.min.css +2 -0
  18. package/dist/http/public/assets/bulma/bulma.min.css +1 -0
  19. package/dist/http/public/assets/clipboard/clipboard.min.js +7 -0
  20. package/dist/http/public/assets/simple-datatables/index.js +12 -0
  21. package/dist/http/public/assets/simple-datatables/style.css +173 -0
  22. package/dist/http/routes/cache.d.ts +4 -0
  23. package/dist/http/routes/cache.d.ts.map +1 -0
  24. package/dist/http/routes/cache.js +19 -0
  25. package/dist/http/routes/data.d.ts +4 -0
  26. package/dist/http/routes/data.d.ts.map +1 -0
  27. package/dist/http/routes/data.js +104 -0
  28. package/dist/http/routes/docs.d.ts +3 -0
  29. package/dist/http/routes/docs.d.ts.map +1 -0
  30. package/dist/http/routes/docs.js +14 -0
  31. package/dist/http/routes/dump.d.ts +8 -0
  32. package/dist/http/routes/dump.d.ts.map +1 -0
  33. package/dist/http/routes/dump.js +57 -0
  34. package/dist/http/routes/home.d.ts +3 -0
  35. package/dist/http/routes/home.d.ts.map +1 -0
  36. package/dist/http/routes/home.js +17 -0
  37. package/dist/http/routes/index.d.ts +3 -0
  38. package/dist/http/routes/index.d.ts.map +1 -0
  39. package/dist/http/routes/index.js +33 -0
  40. package/dist/http/routes/query.d.ts +5 -0
  41. package/dist/http/routes/query.d.ts.map +1 -0
  42. package/dist/http/routes/query.js +21 -0
  43. package/dist/http/routes/status.d.ts +9 -0
  44. package/dist/http/routes/status.d.ts.map +1 -0
  45. package/dist/http/routes/status.js +74 -0
  46. package/dist/http/routes/task.d.ts +5 -0
  47. package/dist/http/routes/task.d.ts.map +1 -0
  48. package/dist/http/routes/task.js +22 -0
  49. package/dist/http/views/cacheClear.pug +17 -0
  50. package/dist/http/views/cacheIndex.pug +19 -0
  51. package/dist/http/views/data.pug +68 -0
  52. package/dist/http/views/docs.pug +7 -0
  53. package/dist/http/views/dumpIndex.pug +14 -0
  54. package/dist/http/views/home.pug +15 -0
  55. package/dist/http/views/includes/layout.pug +23 -0
  56. package/dist/http/views/queryIndex.pug +17 -0
  57. package/dist/http/views/statusIndex.pug +14 -0
  58. package/dist/http/views/taskIndex.pug +17 -0
  59. package/dist/lib/config/config.d.ts +26 -0
  60. package/dist/lib/config/config.d.ts.map +1 -0
  61. package/dist/lib/config/config.js +122 -0
  62. package/dist/lib/config/config.types.d.ts +74 -0
  63. package/dist/lib/config/config.types.d.ts.map +1 -0
  64. package/dist/lib/config/config.types.js +2 -0
  65. package/dist/lib/config/error/InvalidRunMode.d.ts +15 -0
  66. package/dist/lib/config/error/InvalidRunMode.d.ts.map +1 -0
  67. package/dist/lib/config/error/InvalidRunMode.js +20 -0
  68. package/dist/lib/config/error/MissingDirectory.d.ts +24 -0
  69. package/dist/lib/config/error/MissingDirectory.d.ts.map +1 -0
  70. package/dist/lib/config/error/MissingDirectory.js +23 -0
  71. package/dist/lib/config/error/MissingRequiredOption.d.ts +19 -0
  72. package/dist/lib/config/error/MissingRequiredOption.d.ts.map +1 -0
  73. package/dist/lib/config/error/MissingRequiredOption.js +21 -0
  74. package/dist/lib/config/error/NonWritableDirectory.d.ts +24 -0
  75. package/dist/lib/config/error/NonWritableDirectory.d.ts.map +1 -0
  76. package/dist/lib/config/error/NonWritableDirectory.js +23 -0
  77. package/dist/lib/config/error/index.d.ts +5 -0
  78. package/dist/lib/config/error/index.d.ts.map +1 -0
  79. package/dist/lib/config/error/index.js +16 -0
  80. package/dist/lib/config/index.d.ts +2 -0
  81. package/dist/lib/config/index.d.ts.map +1 -0
  82. package/dist/lib/config/index.js +13 -0
  83. package/dist/lib/dataServer.d.ts +21 -0
  84. package/dist/lib/dataServer.d.ts.map +1 -0
  85. package/dist/lib/dataServer.js +56 -0
  86. package/dist/lib/dataServer.types.d.ts +84 -0
  87. package/dist/lib/dataServer.types.d.ts.map +1 -0
  88. package/dist/lib/dataServer.types.js +13 -0
  89. package/dist/lib/error/DomainError.d.ts +9 -0
  90. package/dist/lib/error/DomainError.d.ts.map +1 -0
  91. package/dist/lib/error/DomainError.js +20 -0
  92. package/dist/lib/index.d.ts +2 -0
  93. package/dist/lib/index.d.ts.map +1 -0
  94. package/dist/lib/index.js +15 -0
  95. package/dist/lib/query/index.d.ts +3 -0
  96. package/dist/lib/query/index.d.ts.map +1 -0
  97. package/dist/lib/query/index.js +14 -0
  98. package/dist/lib/query/query.types.d.ts +206 -0
  99. package/dist/lib/query/query.types.d.ts.map +1 -0
  100. package/dist/lib/query/query.types.js +21 -0
  101. package/dist/lib/query/queryManager.d.ts +10 -0
  102. package/dist/lib/query/queryManager.d.ts.map +1 -0
  103. package/dist/lib/query/queryManager.js +12 -0
  104. package/dist/lib/query/queryRunner copy.d.ts +3 -0
  105. package/dist/lib/query/queryRunner copy.d.ts.map +1 -0
  106. package/dist/lib/query/queryRunner copy.js +87 -0
  107. package/dist/lib/query/queryRunner.d.ts +3 -0
  108. package/dist/lib/query/queryRunner.d.ts.map +1 -0
  109. package/dist/lib/query/queryRunner.js +96 -0
  110. package/dist/lib/query/queryTagManager.d.ts +3 -0
  111. package/dist/lib/query/queryTagManager.d.ts.map +1 -0
  112. package/dist/lib/query/queryTagManager.js +47 -0
  113. package/dist/lib/store/dataDir/dataDir.types.d.ts +36 -0
  114. package/dist/lib/store/dataDir/dataDir.types.d.ts.map +1 -0
  115. package/dist/lib/store/dataDir/dataDir.types.js +2 -0
  116. package/dist/lib/store/dataDir/dataDirManager.d.ts +3 -0
  117. package/dist/lib/store/dataDir/dataDirManager.d.ts.map +1 -0
  118. package/dist/lib/store/dataDir/dataDirManager.js +97 -0
  119. package/dist/lib/store/dataDir/index.d.ts +2 -0
  120. package/dist/lib/store/dataDir/index.d.ts.map +1 -0
  121. package/dist/lib/store/dataDir/index.js +13 -0
  122. package/dist/lib/store/dependency/dependency.types.d.ts +70 -0
  123. package/dist/lib/store/dependency/dependency.types.d.ts.map +1 -0
  124. package/dist/lib/store/dependency/dependency.types.js +2 -0
  125. package/dist/lib/store/dependency/dependencyFileHelper.d.ts +6 -0
  126. package/dist/lib/store/dependency/dependencyFileHelper.d.ts.map +1 -0
  127. package/dist/lib/store/dependency/dependencyFileHelper.js +46 -0
  128. package/dist/lib/store/dependency/dependencyManager copy.d.ts +6 -0
  129. package/dist/lib/store/dependency/dependencyManager copy.d.ts.map +1 -0
  130. package/dist/lib/store/dependency/dependencyManager copy.js +91 -0
  131. package/dist/lib/store/dependency/dependencyManager.d.ts +6 -0
  132. package/dist/lib/store/dependency/dependencyManager.d.ts.map +1 -0
  133. package/dist/lib/store/dependency/dependencyManager.js +78 -0
  134. package/dist/lib/store/dependency/dependencyManager.types.d.ts +48 -0
  135. package/dist/lib/store/dependency/dependencyManager.types.d.ts.map +1 -0
  136. package/dist/lib/store/dependency/dependencyManager.types.js +2 -0
  137. package/dist/lib/store/dependency/dependencyTagManager.d.ts +6 -0
  138. package/dist/lib/store/dependency/dependencyTagManager.d.ts.map +1 -0
  139. package/dist/lib/store/dependency/dependencyTagManager.js +33 -0
  140. package/dist/lib/store/dependency/dependencyTagger.d.ts +11 -0
  141. package/dist/lib/store/dependency/dependencyTagger.d.ts.map +1 -0
  142. package/dist/lib/store/dependency/dependencyTagger.js +99 -0
  143. package/dist/lib/store/diff/diffManager.d.ts +3 -0
  144. package/dist/lib/store/diff/diffManager.d.ts.map +1 -0
  145. package/dist/lib/store/diff/diffManager.js +114 -0
  146. package/dist/lib/store/diff/diffManager.types.d.ts +50 -0
  147. package/dist/lib/store/diff/diffManager.types.d.ts.map +1 -0
  148. package/dist/lib/store/diff/diffManager.types.js +2 -0
  149. package/dist/lib/store/diff/index.d.ts +2 -0
  150. package/dist/lib/store/diff/index.d.ts.map +1 -0
  151. package/dist/lib/store/diff/index.js +13 -0
  152. package/dist/lib/store/diff/tracker.d.ts +3 -0
  153. package/dist/lib/store/diff/tracker.d.ts.map +1 -0
  154. package/dist/lib/store/diff/tracker.js +82 -0
  155. package/dist/lib/store/diff/tracker.types.d.ts +31 -0
  156. package/dist/lib/store/diff/tracker.types.d.ts.map +1 -0
  157. package/dist/lib/store/diff/tracker.types.js +2 -0
  158. package/dist/lib/store/dump/dumpManager.d.ts +3 -0
  159. package/dist/lib/store/dump/dumpManager.d.ts.map +1 -0
  160. package/dist/lib/store/dump/dumpManager.js +199 -0
  161. package/dist/lib/store/dump/dumpManager.types.d.ts +62 -0
  162. package/dist/lib/store/dump/dumpManager.types.d.ts.map +1 -0
  163. package/dist/lib/store/dump/dumpManager.types.js +2 -0
  164. package/dist/lib/store/dump/index.d.ts +2 -0
  165. package/dist/lib/store/dump/index.d.ts.map +1 -0
  166. package/dist/lib/store/dump/index.js +13 -0
  167. package/dist/lib/store/hook/hook.types.d.ts +205 -0
  168. package/dist/lib/store/hook/hook.types.d.ts.map +1 -0
  169. package/dist/lib/store/hook/hook.types.js +2 -0
  170. package/dist/lib/store/hook/hookManager.d.ts +6 -0
  171. package/dist/lib/store/hook/hookManager.d.ts.map +1 -0
  172. package/dist/lib/store/hook/hookManager.js +168 -0
  173. package/dist/lib/store/hook/index.d.ts +2 -0
  174. package/dist/lib/store/hook/index.d.ts.map +1 -0
  175. package/dist/lib/store/hook/index.js +13 -0
  176. package/dist/lib/store/include/includeIndex.d.ts +6 -0
  177. package/dist/lib/store/include/includeIndex.d.ts.map +1 -0
  178. package/dist/lib/store/include/includeIndex.js +65 -0
  179. package/dist/lib/store/include/includeIndex.types.d.ts +29 -0
  180. package/dist/lib/store/include/includeIndex.types.d.ts.map +1 -0
  181. package/dist/lib/store/include/includeIndex.types.js +2 -0
  182. package/dist/lib/store/include/includeParser.d.ts +3 -0
  183. package/dist/lib/store/include/includeParser.d.ts.map +1 -0
  184. package/dist/lib/store/include/includeParser.js +46 -0
  185. package/dist/lib/store/include/includeParser.types.d.ts +88 -0
  186. package/dist/lib/store/include/includeParser.types.d.ts.map +1 -0
  187. package/dist/lib/store/include/includeParser.types.js +2 -0
  188. package/dist/lib/store/include/index.d.ts +2 -0
  189. package/dist/lib/store/include/index.d.ts.map +1 -0
  190. package/dist/lib/store/include/index.js +13 -0
  191. package/dist/lib/store/include/parsers/configIncludeParser.d.ts +3 -0
  192. package/dist/lib/store/include/parsers/configIncludeParser.d.ts.map +1 -0
  193. package/dist/lib/store/include/parsers/configIncludeParser.js +8 -0
  194. package/dist/lib/store/include/parsers/customIncludeParser.d.ts +3 -0
  195. package/dist/lib/store/include/parsers/customIncludeParser.d.ts.map +1 -0
  196. package/dist/lib/store/include/parsers/customIncludeParser.js +8 -0
  197. package/dist/lib/store/include/parsers/entityIncludeParser.d.ts +3 -0
  198. package/dist/lib/store/include/parsers/entityIncludeParser.d.ts.map +1 -0
  199. package/dist/lib/store/include/parsers/entityIncludeParser.js +13 -0
  200. package/dist/lib/store/include/parsers/index.d.ts +6 -0
  201. package/dist/lib/store/include/parsers/index.d.ts.map +1 -0
  202. package/dist/lib/store/include/parsers/index.js +17 -0
  203. package/dist/lib/store/include/parsers/localeIncludeParser.d.ts +3 -0
  204. package/dist/lib/store/include/parsers/localeIncludeParser.d.ts.map +1 -0
  205. package/dist/lib/store/include/parsers/localeIncludeParser.js +8 -0
  206. package/dist/lib/store/include/parsers/queryIncludeParser.d.ts +11 -0
  207. package/dist/lib/store/include/parsers/queryIncludeParser.d.ts.map +1 -0
  208. package/dist/lib/store/include/parsers/queryIncludeParser.js +45 -0
  209. package/dist/lib/store/include/parsers/types/aliasIncludeParser.d.ts +3 -0
  210. package/dist/lib/store/include/parsers/types/aliasIncludeParser.d.ts.map +1 -0
  211. package/dist/lib/store/include/parsers/types/aliasIncludeParser.js +10 -0
  212. package/dist/lib/store/include/parsers/types/aliasWithoutTypeIncludeParser.d.ts +8 -0
  213. package/dist/lib/store/include/parsers/types/aliasWithoutTypeIncludeParser.d.ts.map +1 -0
  214. package/dist/lib/store/include/parsers/types/aliasWithoutTypeIncludeParser.js +18 -0
  215. package/dist/lib/store/index.d.ts +2 -0
  216. package/dist/lib/store/index.d.ts.map +1 -0
  217. package/dist/lib/store/index.js +13 -0
  218. package/dist/lib/store/store.d.ts +7 -0
  219. package/dist/lib/store/store.d.ts.map +1 -0
  220. package/dist/lib/store/store.js +89 -0
  221. package/dist/lib/store/store.types.d.ts +231 -0
  222. package/dist/lib/store/store.types.d.ts.map +1 -0
  223. package/dist/lib/store/store.types.js +2 -0
  224. package/dist/lib/store/storeManager.d.ts +3 -0
  225. package/dist/lib/store/storeManager.d.ts.map +1 -0
  226. package/dist/lib/store/storeManager.js +149 -0
  227. package/dist/lib/store/workDir/index.d.ts +2 -0
  228. package/dist/lib/store/workDir/index.d.ts.map +1 -0
  229. package/dist/lib/store/workDir/index.js +13 -0
  230. package/dist/lib/store/workDir/storage/getChangedLinesSince.d.ts +9 -0
  231. package/dist/lib/store/workDir/storage/getChangedLinesSince.d.ts.map +1 -0
  232. package/dist/lib/store/workDir/storage/getChangedLinesSince.js +47 -0
  233. package/dist/lib/store/workDir/storage/getDataFromLogLine.d.ts +10 -0
  234. package/dist/lib/store/workDir/storage/getDataFromLogLine.d.ts.map +1 -0
  235. package/dist/lib/store/workDir/storage/getDataFromLogLine.js +33 -0
  236. package/dist/lib/store/workDir/storage/getLogFile.d.ts +8 -0
  237. package/dist/lib/store/workDir/storage/getLogFile.d.ts.map +1 -0
  238. package/dist/lib/store/workDir/storage/getLogFile.js +11 -0
  239. package/dist/lib/store/workDir/storage/index.d.ts +4 -0
  240. package/dist/lib/store/workDir/storage/index.d.ts.map +1 -0
  241. package/dist/lib/store/workDir/storage/index.js +20 -0
  242. package/dist/lib/store/workDir/workDir.types.d.ts +44 -0
  243. package/dist/lib/store/workDir/workDir.types.d.ts.map +1 -0
  244. package/dist/lib/store/workDir/workDir.types.js +2 -0
  245. package/dist/lib/store/workDir/workDirHelper.d.ts +20 -0
  246. package/dist/lib/store/workDir/workDirHelper.d.ts.map +1 -0
  247. package/dist/lib/store/workDir/workDirHelper.js +52 -0
  248. package/dist/lib/task/index.d.ts +3 -0
  249. package/dist/lib/task/index.d.ts.map +1 -0
  250. package/dist/lib/task/index.js +14 -0
  251. package/dist/lib/task/task.types.d.ts +140 -0
  252. package/dist/lib/task/task.types.d.ts.map +1 -0
  253. package/dist/lib/task/task.types.js +11 -0
  254. package/dist/lib/task/taskManager.d.ts +10 -0
  255. package/dist/lib/task/taskManager.d.ts.map +1 -0
  256. package/dist/lib/task/taskManager.js +12 -0
  257. package/dist/lib/task/taskRunner.d.ts +3 -0
  258. package/dist/lib/task/taskRunner.d.ts.map +1 -0
  259. package/dist/lib/task/taskRunner.js +71 -0
  260. package/dist/lib/tsdoc-metadata.json +11 -0
  261. package/dist/lib/utils/array/arrayUtils.d.ts +2 -0
  262. package/dist/lib/utils/array/arrayUtils.d.ts.map +1 -0
  263. package/dist/lib/utils/array/arrayUtils.js +11 -0
  264. package/dist/lib/utils/cache/cacheBinManager.d.ts +37 -0
  265. package/dist/lib/utils/cache/cacheBinManager.d.ts.map +1 -0
  266. package/dist/lib/utils/cache/cacheBinManager.js +53 -0
  267. package/dist/lib/utils/cache/index.d.ts +2 -0
  268. package/dist/lib/utils/cache/index.d.ts.map +1 -0
  269. package/dist/lib/utils/cache/index.js +13 -0
  270. package/dist/lib/utils/fs/fs.types.d.ts +20 -0
  271. package/dist/lib/utils/fs/fs.types.d.ts.map +1 -0
  272. package/dist/lib/utils/fs/fs.types.js +2 -0
  273. package/dist/lib/utils/fs/fsUtils.d.ts +62 -0
  274. package/dist/lib/utils/fs/fsUtils.d.ts.map +1 -0
  275. package/dist/lib/utils/fs/fsUtils.js +137 -0
  276. package/dist/lib/utils/fs/index.d.ts +2 -0
  277. package/dist/lib/utils/fs/index.d.ts.map +1 -0
  278. package/dist/lib/utils/fs/index.js +13 -0
  279. package/dist/lib/utils/logger/index.d.ts +2 -0
  280. package/dist/lib/utils/logger/index.d.ts.map +1 -0
  281. package/dist/lib/utils/logger/index.js +13 -0
  282. package/dist/lib/utils/logger/logger.d.ts +32 -0
  283. package/dist/lib/utils/logger/logger.d.ts.map +1 -0
  284. package/dist/lib/utils/logger/logger.js +82 -0
  285. package/dist/lib/utils/logger/logger.types.d.ts +37 -0
  286. package/dist/lib/utils/logger/logger.types.d.ts.map +1 -0
  287. package/dist/lib/utils/logger/logger.types.js +15 -0
  288. package/dist/lib/utils/module/dirBasedModuleGroupManager.d.ts +30 -0
  289. package/dist/lib/utils/module/dirBasedModuleGroupManager.d.ts.map +1 -0
  290. package/dist/lib/utils/module/dirBasedModuleGroupManager.js +78 -0
  291. package/dist/lib/utils/module/index.d.ts +3 -0
  292. package/dist/lib/utils/module/index.d.ts.map +1 -0
  293. package/dist/lib/utils/module/index.js +14 -0
  294. package/dist/lib/utils/module/module.types.d.ts +53 -0
  295. package/dist/lib/utils/module/module.types.d.ts.map +1 -0
  296. package/dist/lib/utils/module/module.types.js +2 -0
  297. package/dist/lib/utils/module/moduleManager.d.ts +64 -0
  298. package/dist/lib/utils/module/moduleManager.d.ts.map +1 -0
  299. package/dist/lib/utils/module/moduleManager.js +139 -0
  300. package/dist/lib/utils/object/index.d.ts +2 -0
  301. package/dist/lib/utils/object/index.d.ts.map +1 -0
  302. package/dist/lib/utils/object/index.js +13 -0
  303. package/dist/lib/utils/object/object.types.d.ts +72 -0
  304. package/dist/lib/utils/object/object.types.d.ts.map +1 -0
  305. package/dist/lib/utils/object/object.types.js +2 -0
  306. package/dist/lib/utils/object/objectUtils.d.ts +45 -0
  307. package/dist/lib/utils/object/objectUtils.d.ts.map +1 -0
  308. package/dist/lib/utils/object/objectUtils.js +64 -0
  309. package/dist/lib/utils/string/index.d.ts +2 -0
  310. package/dist/lib/utils/string/index.d.ts.map +1 -0
  311. package/dist/lib/utils/string/index.js +13 -0
  312. package/dist/lib/utils/string/string.types.d.ts +2 -0
  313. package/dist/lib/utils/string/string.types.d.ts.map +1 -0
  314. package/dist/lib/utils/string/string.types.js +2 -0
  315. package/dist/lib/utils/string/stringUtils.d.ts +37 -0
  316. package/dist/lib/utils/string/stringUtils.d.ts.map +1 -0
  317. package/dist/lib/utils/string/stringUtils.js +62 -0
  318. package/dist/lib/watcher/index.d.ts +2 -0
  319. package/dist/lib/watcher/index.d.ts.map +1 -0
  320. package/dist/lib/watcher/index.js +13 -0
  321. package/dist/lib/watcher/watcher.d.ts +17 -0
  322. package/dist/lib/watcher/watcher.d.ts.map +1 -0
  323. package/dist/lib/watcher/watcher.js +65 -0
  324. package/dist/static-suite-data-server.d.ts +392 -0
  325. package/package.json +102 -0
  326. package/scripts/copy-http-files-to-src.js +45 -0
  327. package/src/__tests__/fixtures/data/en/en.json +3 -0
  328. package/src/__tests__/fixtures/data/en/entity/entity.json +3 -0
  329. package/src/__tests__/fixtures/data/en/entity/node/article/article1--card.json +3 -0
  330. package/src/__tests__/fixtures/data/en/entity/node/article/article1--small.json +3 -0
  331. package/src/__tests__/fixtures/data/en/entity/node/article/article1.json +40 -0
  332. package/src/__tests__/fixtures/data/en/entity/node/article/article2--card.json +3 -0
  333. package/src/__tests__/fixtures/data/en/entity/node/article/article2--small.json +3 -0
  334. package/src/__tests__/fixtures/data/en/entity/node/article/article2.json +40 -0
  335. package/src/__tests__/fixtures/data/en/entity/node/article/article3--card.json +3 -0
  336. package/src/__tests__/fixtures/data/en/entity/node/article/article3--small.json +3 -0
  337. package/src/__tests__/fixtures/data/en/entity/node/article/article3.json +7 -0
  338. package/src/__tests__/fixtures/data/en/entity/node/node.json +3 -0
  339. package/src/__tests__/fixtures/data/en/entity/node/page/page1--card.json +3 -0
  340. package/src/__tests__/fixtures/data/en/entity/node/page/page1--small.json +3 -0
  341. package/src/__tests__/fixtures/data/en/entity/node/page/page1.json +3 -0
  342. package/src/__tests__/fixtures/data/en/entity/node/page/page2--card.json +3 -0
  343. package/src/__tests__/fixtures/data/en/entity/node/page/page2--small.json +3 -0
  344. package/src/__tests__/fixtures/data/en/entity/node/page/page2.json +3 -0
  345. package/src/__tests__/fixtures/data/global--block.json +3 -0
  346. package/src/__tests__/fixtures/data/global.json +3 -0
  347. package/src/__tests__/fixtures/hook/main.hook.js +15 -0
  348. package/src/__tests__/fixtures/hook/taxonomy/main.hook.js +15 -0
  349. package/src/__tests__/fixtures/hook/taxonomy/taxo.hook.js +15 -0
  350. package/src/__tests__/fixtures/query/error.query.js +6 -0
  351. package/src/__tests__/fixtures/query/noHandler.query.js +14 -0
  352. package/src/__tests__/fixtures/query/query1.query.js +15 -0
  353. package/src/__tests__/fixtures/query/query2.query.js +14 -0
  354. package/src/__tests__/fixtures/query/wrongNamequery.js +14 -0
  355. package/src/__tests__/fixtures/task/error.task.js +6 -0
  356. package/src/__tests__/fixtures/task/noHandler.task.js +13 -0
  357. package/src/__tests__/fixtures/task/task1.task.js +14 -0
  358. package/src/__tests__/fixtures/task/task2.task.js +13 -0
  359. package/src/__tests__/fixtures/task/wrongNametask.js +13 -0
  360. package/src/bin/serve.ts +107 -0
  361. package/src/http/httpServer.ts +21 -0
  362. package/src/http/routes/cache.ts +17 -0
  363. package/src/http/routes/data.ts +114 -0
  364. package/src/http/routes/docs.ts +9 -0
  365. package/src/http/routes/dump.ts +61 -0
  366. package/src/http/routes/home.ts +16 -0
  367. package/src/http/routes/index.ts +47 -0
  368. package/src/http/routes/query.ts +27 -0
  369. package/src/http/routes/status.ts +89 -0
  370. package/src/http/routes/task.ts +29 -0
  371. package/src/http/views/cacheClear.pug +17 -0
  372. package/src/http/views/cacheIndex.pug +19 -0
  373. package/src/http/views/data.pug +68 -0
  374. package/src/http/views/docs.pug +7 -0
  375. package/src/http/views/dumpIndex.pug +14 -0
  376. package/src/http/views/home.pug +15 -0
  377. package/src/http/views/includes/layout.pug +23 -0
  378. package/src/http/views/queryIndex.pug +17 -0
  379. package/src/http/views/statusIndex.pug +14 -0
  380. package/src/http/views/taskIndex.pug +17 -0
  381. package/src/lib/config/__tests__/config.test.ts +132 -0
  382. package/src/lib/config/config.ts +143 -0
  383. package/src/lib/config/config.types.ts +87 -0
  384. package/src/lib/config/error/InvalidRunMode.ts +17 -0
  385. package/src/lib/config/error/MissingDirectory.ts +30 -0
  386. package/src/lib/config/error/MissingRequiredOption.ts +23 -0
  387. package/src/lib/config/error/NonWritableDirectory.ts +30 -0
  388. package/src/lib/config/error/index.ts +4 -0
  389. package/src/lib/config/index.ts +1 -0
  390. package/src/lib/dataServer.ts +81 -0
  391. package/src/lib/dataServer.types.ts +98 -0
  392. package/src/lib/error/DomainError.ts +18 -0
  393. package/src/lib/index.ts +4 -0
  394. package/src/lib/query/__tests__/queryRunner.test.ts +61 -0
  395. package/src/lib/query/index.ts +2 -0
  396. package/src/lib/query/query.types.ts +231 -0
  397. package/src/lib/query/queryManager.ts +11 -0
  398. package/src/lib/query/queryRunner.ts +110 -0
  399. package/src/lib/query/queryTagManager.ts +53 -0
  400. package/src/lib/store/dataDir/__tests__/dataDirManager.test.ts +15 -0
  401. package/src/lib/store/dataDir/dataDir.types.ts +38 -0
  402. package/src/lib/store/dataDir/dataDirManager.ts +121 -0
  403. package/src/lib/store/dataDir/index.ts +1 -0
  404. package/src/lib/store/dependency/dependency.types.ts +78 -0
  405. package/src/lib/store/dependency/dependencyFileHelper.ts +50 -0
  406. package/src/lib/store/dependency/dependencyManager.ts +82 -0
  407. package/src/lib/store/dependency/dependencyTagger.ts +105 -0
  408. package/src/lib/store/diff/diffManager.ts +122 -0
  409. package/src/lib/store/diff/diffManager.types.ts +51 -0
  410. package/src/lib/store/diff/index.ts +1 -0
  411. package/src/lib/store/dump/dumpManager.ts +235 -0
  412. package/src/lib/store/dump/dumpManager.types.ts +61 -0
  413. package/src/lib/store/dump/index.ts +1 -0
  414. package/src/lib/store/hook/hook.types.ts +232 -0
  415. package/src/lib/store/hook/hookManager.ts +180 -0
  416. package/src/lib/store/hook/index.ts +1 -0
  417. package/src/lib/store/include/__tests__/includeParser.test.ts +80 -0
  418. package/src/lib/store/include/includeParser.ts +54 -0
  419. package/src/lib/store/include/includeParser.types.ts +99 -0
  420. package/src/lib/store/include/index.ts +1 -0
  421. package/src/lib/store/include/parsers/__tests__/entityIncludeParser.test.ts +43 -0
  422. package/src/lib/store/include/parsers/configIncludeParser.ts +8 -0
  423. package/src/lib/store/include/parsers/customIncludeParser.ts +8 -0
  424. package/src/lib/store/include/parsers/entityIncludeParser.ts +15 -0
  425. package/src/lib/store/include/parsers/index.ts +5 -0
  426. package/src/lib/store/include/parsers/localeIncludeParser.ts +8 -0
  427. package/src/lib/store/include/parsers/queryIncludeParser.ts +51 -0
  428. package/src/lib/store/include/parsers/types/__tests__/aliasIncludeParser.test.ts +37 -0
  429. package/src/lib/store/include/parsers/types/__tests__/aliasWithoutTypeIncludeParser.test.ts +43 -0
  430. package/src/lib/store/include/parsers/types/aliasIncludeParser.ts +13 -0
  431. package/src/lib/store/include/parsers/types/aliasWithoutTypeIncludeParser.ts +22 -0
  432. package/src/lib/store/index.ts +1 -0
  433. package/src/lib/store/store.ts +105 -0
  434. package/src/lib/store/store.types.ts +251 -0
  435. package/src/lib/store/storeManager.ts +187 -0
  436. package/src/lib/store/workDir/__tests__/workDirHelper.test.ts +25 -0
  437. package/src/lib/store/workDir/index.ts +1 -0
  438. package/src/lib/store/workDir/storage/__tests__/getChangedLinesSince.test.ts +23 -0
  439. package/src/lib/store/workDir/storage/__tests__/getDataFromLogLine.test.ts +21 -0
  440. package/src/lib/store/workDir/storage/getChangedLinesSince.ts +47 -0
  441. package/src/lib/store/workDir/storage/getDataFromLogLine.ts +31 -0
  442. package/src/lib/store/workDir/storage/getLogFile.ts +11 -0
  443. package/src/lib/store/workDir/storage/index.ts +8 -0
  444. package/src/lib/store/workDir/workDir.types.ts +48 -0
  445. package/src/lib/store/workDir/workDirHelper.ts +59 -0
  446. package/src/lib/task/__tests__/taskRunner.test.ts +47 -0
  447. package/src/lib/task/index.ts +2 -0
  448. package/src/lib/task/task.types.ts +151 -0
  449. package/src/lib/task/taskManager.ts +11 -0
  450. package/src/lib/task/taskRunner.ts +79 -0
  451. package/src/lib/utils/array/__tests__/arrayUtils.test.ts +16 -0
  452. package/src/lib/utils/array/arrayUtils.ts +7 -0
  453. package/src/lib/utils/cache/__tests__/cache.test.ts +24 -0
  454. package/src/lib/utils/cache/cacheBinManager.ts +88 -0
  455. package/src/lib/utils/cache/index.ts +1 -0
  456. package/src/lib/utils/fs/__tests__/fixtures/file.json +3 -0
  457. package/src/lib/utils/fs/__tests__/fixtures/file.txt +3 -0
  458. package/src/lib/utils/fs/__tests__/fsUtils.test.ts +93 -0
  459. package/src/lib/utils/fs/fs.types.ts +21 -0
  460. package/src/lib/utils/fs/fsUtils.ts +141 -0
  461. package/src/lib/utils/fs/index.ts +1 -0
  462. package/src/lib/utils/logger/__tests__/logger.test.ts +12 -0
  463. package/src/lib/utils/logger/index.ts +1 -0
  464. package/src/lib/utils/logger/logger.ts +87 -0
  465. package/src/lib/utils/logger/logger.types.ts +41 -0
  466. package/src/lib/utils/module/__mocks__/dummyModule.query.js +4 -0
  467. package/src/lib/utils/module/__mocks__/dummyModule2.query.js +4 -0
  468. package/src/lib/utils/module/__tests__/dirBasedModuleGroupManager.test.ts +34 -0
  469. package/src/lib/utils/module/__tests__/moduleHandler.test.ts +100 -0
  470. package/src/lib/utils/module/dirBasedModuleGroupManager.ts +78 -0
  471. package/src/lib/utils/module/index.ts +2 -0
  472. package/src/lib/utils/module/module.types.ts +57 -0
  473. package/src/lib/utils/module/moduleManager.ts +144 -0
  474. package/src/lib/utils/object/__tests__/objectUtils.test.ts +62 -0
  475. package/src/lib/utils/object/index.ts +1 -0
  476. package/src/lib/utils/object/object.types.ts +74 -0
  477. package/src/lib/utils/object/objectUtils.ts +71 -0
  478. package/src/lib/utils/string/__tests__/stringUtils.test.ts +30 -0
  479. package/src/lib/utils/string/index.ts +1 -0
  480. package/src/lib/utils/string/string.types.ts +1 -0
  481. package/src/lib/utils/string/stringUtils.ts +61 -0
  482. package/src/lib/watcher/index.ts +1 -0
  483. package/src/lib/watcher/watcher.ts +66 -0
  484. package/tsconfig.json +83 -0
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./moduleManager"), exports);
14
+ __exportStar(require("./dirBasedModuleGroupManager"), exports);
@@ -0,0 +1,53 @@
1
+ /**
2
+ * A manager for a group of user-land modules.
3
+ *
4
+ * @typeParam ModuleType - The type of module being managed.
5
+ */
6
+ export declare type ModuleGroupManager<ModuleType> = {
7
+ /**
8
+ * Gets an array with information of each module inside a module group.
9
+ *
10
+ * @returns An array with information of each detected module, containing:
11
+ * - module ID
12
+ * - module's absolute path
13
+ * - module's relative path
14
+ * - a function to load the module on demand
15
+ */
16
+ getModuleGroupInfo(): Map<string, ModuleInfo<ModuleType>>;
17
+ /**
18
+ * Resets the cache of found modules inside a module group.
19
+ */
20
+ reset(): void;
21
+ };
22
+ /**
23
+ * Information about a user-land module.
24
+ *
25
+ * @typeParam ModuleType - The type of the module.
26
+ */
27
+ export declare type ModuleInfo<ModuleType> = {
28
+ /**
29
+ * Module ID.
30
+ *
31
+ * Given the following modules, their IDs are:
32
+ * - main.hook.js: main
33
+ * - dir/main.hook.js: dir/main
34
+ * - dir/taxonomy.hook.js: dir/taxonomy
35
+ * - latestContents.query.js: latestContents
36
+ * - dir/latestContents.query.js: dir/latestContents
37
+ * - dir/searchByTitle.query.js: dir/searchByTitle
38
+ */
39
+ id: string;
40
+ /**
41
+ * Module's absolute path.
42
+ */
43
+ absolutePath: string;
44
+ /**
45
+ * Module's relative path inside module group directory.
46
+ */
47
+ relativePath: string;
48
+ /**
49
+ * Gets a module, loading it if not already loaded.
50
+ */
51
+ getModule(): ModuleType;
52
+ };
53
+ //# sourceMappingURL=module.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.types.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/module/module.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,kBAAkB,CAAC,UAAU,IAAI;IAC3C;;;;;;;;OAQG;IACH,kBAAkB,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAE1D;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAEF;;;;GAIG;AACH,oBAAY,UAAU,CAAC,UAAU,IAAI;IACnC;;;;;;;;;;OAUG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,SAAS,IAAI,UAAU,CAAC;CACzB,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Module system that manages the caching of modules.
3
+ *
4
+ * @remarks
5
+ * Modules are cached by Node.js when they are required. This module handler
6
+ * is able to remove them from Node.js cache and reload them from scratch.
7
+ *
8
+ * This manager is aimed at handling "user-land" modules, i.e.- modules managed
9
+ * by users and not part of the Data Server core. Those "user-land" modules are
10
+ * queries and hooks, so trying to manage other kind of module will throw and error.
11
+ */
12
+ export declare const moduleManager: {
13
+ /**
14
+ * Loads a module from scratch
15
+ *
16
+ * @remarks
17
+ * Removes a module from Node.js cache, and loads it from scratch.
18
+ * If the module is not valid or not found, it logs an error and throws
19
+ * an exception.
20
+ *
21
+ * @param modulePath - Path to the module to be loaded
22
+ * @typeParam Type - Type of the module to be loaded
23
+ *
24
+ * @returns - The requested module
25
+ *
26
+ * @throws
27
+ * An exception if the module is not valid or it cannot be loaded.
28
+ */
29
+ load: <Type>(modulePath: string) => Type;
30
+ /**
31
+ * Removes a single module from Node.js cache
32
+ *
33
+ * @param modulePath - Path to the module to be removed
34
+ * @param options - Object of options:
35
+ * useLogger: Flag to use logger or not. Useful to avoid
36
+ * "remove" log lines when this function is called from
37
+ * other functions.
38
+ */
39
+ remove: (modulePath: string, options?: {
40
+ useLogger: boolean;
41
+ }) => void;
42
+ /**
43
+ * Removes several modules from Node.js cache at once
44
+ *
45
+ * @param regex - Regular expression to be tested again cached modules path
46
+ */
47
+ removeAll: (regex: RegExp) => void;
48
+ /**
49
+ * Gets a module from cache or loads it from scratch
50
+ *
51
+ * @remarks
52
+ * If module is not found, logs an error and throws an exception.
53
+ *
54
+ * @param modulePath - Path to the module to be loaded
55
+ * @typeParam Type - Type of the module to be loaded
56
+ *
57
+ * @returns - The requested module
58
+ *
59
+ * @throws
60
+ * An exception if the module cannot be loaded.
61
+ */
62
+ get: <Type_1>(modulePath: string) => Type_1;
63
+ };
64
+ //# sourceMappingURL=moduleManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moduleManager.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/module/moduleManager.ts"],"names":[],"mappings":"AA8CA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa;IACxB;;;;;;;;;;;;;;;OAeG;6BACsB,MAAM;IAgB/B;;;;;;;;OAQG;yBACkB,MAAM;;UAAkC,IAAI;IASjE;;;;OAIG;uBACgB,MAAM,KAAG,IAAI;IAShC;;;;;;;;;;;;;OAaG;8BACqB,MAAM;CAO/B,CAAC"}
@@ -0,0 +1,139 @@
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.moduleManager = void 0;
7
+ /* eslint-disable global-require */
8
+ /* eslint-disable import/no-dynamic-require */
9
+ const clear_module_1 = __importDefault(require("clear-module"));
10
+ const logger_1 = require("@lib/utils/logger");
11
+ const config_1 = require("@lib/config");
12
+ const store_1 = require("@lib/store");
13
+ /**
14
+ * Internal module cache.
15
+ *
16
+ * @remarks
17
+ * It does not use the shared cache util since this cache must to be
18
+ * managed only by this module, and should not be accessible nor
19
+ * managed from the outside.
20
+ */
21
+ const internalModuleCache = {};
22
+ /**
23
+ * Internal resolve cache.
24
+ *
25
+ * @remarks
26
+ * It does not use the shared cache util since this cache must be
27
+ * managed only by this module, and should not be accessible nor
28
+ * managed from the outside.
29
+ */
30
+ const internalResolveCache = {};
31
+ /**
32
+ * Resolves a path to a module
33
+ *
34
+ * @param modulePath - A path to a module
35
+ * @returns The resolved path, or the given unresolved path if module cannot be found
36
+ */
37
+ const resolve = (modulePath) => {
38
+ let resolvedModulePath = internalResolveCache[modulePath];
39
+ if (!resolvedModulePath) {
40
+ try {
41
+ resolvedModulePath = require.resolve(modulePath);
42
+ }
43
+ catch (e) {
44
+ resolvedModulePath = modulePath;
45
+ }
46
+ internalResolveCache[modulePath] = resolvedModulePath;
47
+ }
48
+ return resolvedModulePath;
49
+ };
50
+ /**
51
+ * Module system that manages the caching of modules.
52
+ *
53
+ * @remarks
54
+ * Modules are cached by Node.js when they are required. This module handler
55
+ * is able to remove them from Node.js cache and reload them from scratch.
56
+ *
57
+ * This manager is aimed at handling "user-land" modules, i.e.- modules managed
58
+ * by users and not part of the Data Server core. Those "user-land" modules are
59
+ * queries and hooks, so trying to manage other kind of module will throw and error.
60
+ */
61
+ exports.moduleManager = {
62
+ /**
63
+ * Loads a module from scratch
64
+ *
65
+ * @remarks
66
+ * Removes a module from Node.js cache, and loads it from scratch.
67
+ * If the module is not valid or not found, it logs an error and throws
68
+ * an exception.
69
+ *
70
+ * @param modulePath - Path to the module to be loaded
71
+ * @typeParam Type - Type of the module to be loaded
72
+ *
73
+ * @returns - The requested module
74
+ *
75
+ * @throws
76
+ * An exception if the module is not valid or it cannot be loaded.
77
+ */
78
+ load: (modulePath) => {
79
+ const resolvedModulePath = resolve(modulePath);
80
+ exports.moduleManager.remove(resolvedModulePath, { useLogger: false });
81
+ try {
82
+ internalModuleCache[resolvedModulePath] = require(resolvedModulePath);
83
+ }
84
+ catch (e) {
85
+ logger_1.logger.error(`Module "${resolvedModulePath}" not found.`);
86
+ throw e;
87
+ }
88
+ if (internalModuleCache[resolvedModulePath].onModuleLoad) {
89
+ internalModuleCache[resolvedModulePath].onModuleLoad({ config: config_1.config, store: store_1.store });
90
+ }
91
+ logger_1.logger.debug(`Module ${resolvedModulePath} successfully loaded.`);
92
+ return internalModuleCache[resolvedModulePath];
93
+ },
94
+ /**
95
+ * Removes a single module from Node.js cache
96
+ *
97
+ * @param modulePath - Path to the module to be removed
98
+ * @param options - Object of options:
99
+ * useLogger: Flag to use logger or not. Useful to avoid
100
+ * "remove" log lines when this function is called from
101
+ * other functions.
102
+ */
103
+ remove: (modulePath, options = { useLogger: true }) => {
104
+ const resolvedModulePath = resolve(modulePath);
105
+ (0, clear_module_1.default)(resolvedModulePath);
106
+ delete internalModuleCache[resolvedModulePath];
107
+ if (options.useLogger) {
108
+ logger_1.logger.debug(`Module ${resolvedModulePath} successfully removed.`);
109
+ }
110
+ },
111
+ /**
112
+ * Removes several modules from Node.js cache at once
113
+ *
114
+ * @param regex - Regular expression to be tested again cached modules path
115
+ */
116
+ removeAll: (regex) => {
117
+ const modulePathsToBeRemoved = Object.keys(require.cache).filter(modulePath => regex.test(modulePath));
118
+ modulePathsToBeRemoved.forEach(modulePath => exports.moduleManager.remove(modulePath));
119
+ },
120
+ /**
121
+ * Gets a module from cache or loads it from scratch
122
+ *
123
+ * @remarks
124
+ * If module is not found, logs an error and throws an exception.
125
+ *
126
+ * @param modulePath - Path to the module to be loaded
127
+ * @typeParam Type - Type of the module to be loaded
128
+ *
129
+ * @returns - The requested module
130
+ *
131
+ * @throws
132
+ * An exception if the module cannot be loaded.
133
+ */
134
+ get: (modulePath) => {
135
+ const resolvedModulePath = resolve(modulePath);
136
+ return (internalModuleCache[resolvedModulePath] ||
137
+ exports.moduleManager.load(resolvedModulePath));
138
+ },
139
+ };
@@ -0,0 +1,2 @@
1
+ export * from './objectUtils';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/object/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./objectUtils"), exports);
@@ -0,0 +1,72 @@
1
+ export declare type ObjectType = Record<string, unknown>;
2
+ /**
3
+ * Structure where a content's data and metadata os hold.
4
+ *
5
+ * @remarks
6
+ * This type describes any JSON object, which can contain any data, but
7
+ * it is usually structured this way:
8
+ *
9
+ * @example
10
+ * ```
11
+ * {
12
+ * "data": {
13
+ * "content": {
14
+ * ...,
15
+ * }
16
+ * }
17
+ * "metadata": {
18
+ * "includes": [
19
+ * "data.content.author.entity.entityInclude",
20
+ * "data.content.image.entity.entityInclude",
21
+ * "data.content.queryInclude"
22
+ * ]
23
+ * }
24
+ * }
25
+ * ```
26
+ */
27
+ export declare type Json = {
28
+ [key: string]: any;
29
+ /**
30
+ * Optional structure for a content's data.
31
+ */
32
+ data?: {
33
+ [key: string]: any;
34
+ /**
35
+ * Optional object that holds the fields of a Drupal content.
36
+ */
37
+ content?: Record<string, any>;
38
+ };
39
+ /**
40
+ * Optional structure for metadata includes.
41
+ */
42
+ metadata?: {
43
+ [key: string]: any;
44
+ /**
45
+ * Optional array for metadata includes.
46
+ *
47
+ * @remarks
48
+ * Every include path is stored in this array, so they can be
49
+ * easily accessed.
50
+ *
51
+ * @example
52
+ * ```
53
+ * "metadata": {
54
+ * "includes": [
55
+ * "static": [
56
+ * "data.content.author.entity.entityInclude",
57
+ * "data.content.image.entity.entityInclude",
58
+ * ]
59
+ * "dynamic": [
60
+ * "data.content.queryInclude"
61
+ * ]
62
+ * ]
63
+ * }
64
+ * ```
65
+ */
66
+ includes?: {
67
+ static?: Record<string, string>;
68
+ dynamic?: Record<string, string>;
69
+ };
70
+ };
71
+ };
72
+ //# sourceMappingURL=object.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.types.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/object/object.types.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,oBAAY,IAAI,GAAG;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE;QACL,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;QACnB;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC/B,CAAC;IAEF;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;QACnB;;;;;;;;;;;;;;;;;;;;;WAqBG;QACH,QAAQ,CAAC,EAAE;YACT,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAClC,CAAC;KACH,CAAC;CACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,45 @@
1
+ import { ObjectType } from './object.types';
2
+ /**
3
+ * Checks if an object is empty (i.e.- contains zero keys)
4
+ *
5
+ * @param object - An object
6
+ *
7
+ * @returns True if the object contains zero keys, false otherwise.
8
+ */
9
+ export declare const isEmptyObject: (object: ObjectType) => boolean;
10
+ /**
11
+ * Checks if an object contains a key
12
+ *
13
+ * @param object - An object
14
+ * @param key - The name of a key
15
+ *
16
+ * @returns True if the object has the given key, false otherwise.
17
+ */
18
+ export declare const hasKey: <O>(object: O, key: PropertyKey) => key is keyof O;
19
+ /**
20
+ * Clones an object and all its nested objects
21
+ *
22
+ * @param object - An object to be cloned
23
+ *
24
+ * @returns An identical object without references to nested objects
25
+ */
26
+ export declare const deepClone: (object: ObjectType) => ObjectType;
27
+ /**
28
+ * Gets object property by property path
29
+ *
30
+ * @param object - An object
31
+ * @param path - A string or array of strings
32
+ * @param separator - Optional separator if path is a string. '.' by default.
33
+ *
34
+ * @returns Value of the path or undefined
35
+ */
36
+ export declare const getObjValue: (object: ObjectType, path: string | string[], separator?: string | undefined) => any | undefined;
37
+ /**
38
+ * Converts a JavaScript value containing Set and Map, to a JSON object.
39
+ *
40
+ * @param value - A JavaScript value to be converted.
41
+ *
42
+ * @returns A JSON object
43
+ */
44
+ export declare const jsonify: <T>(value: T) => T;
45
+ //# sourceMappingURL=objectUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectUtils.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/object/objectUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,WAAY,UAAU,KAAG,OACjB,CAAC;AAEnC;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,sBAAuB,WAAW,mBAEpD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,WAAY,UAAU,KAAG,UACX,CAAC;AAErC;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,WACd,UAAU,QACZ,MAAM,GAAG,MAAM,EAAE,qCAEtB,GAAG,GAAG,SAMR,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,oBAQnB,CAAC"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.jsonify = exports.getObjValue = exports.deepClone = exports.hasKey = exports.isEmptyObject = void 0;
4
+ /**
5
+ * Checks if an object is empty (i.e.- contains zero keys)
6
+ *
7
+ * @param object - An object
8
+ *
9
+ * @returns True if the object contains zero keys, false otherwise.
10
+ */
11
+ const isEmptyObject = (object) => Object.keys(object).length === 0;
12
+ exports.isEmptyObject = isEmptyObject;
13
+ /**
14
+ * Checks if an object contains a key
15
+ *
16
+ * @param object - An object
17
+ * @param key - The name of a key
18
+ *
19
+ * @returns True if the object has the given key, false otherwise.
20
+ */
21
+ const hasKey = (object, key) => {
22
+ return key in object;
23
+ };
24
+ exports.hasKey = hasKey;
25
+ /**
26
+ * Clones an object and all its nested objects
27
+ *
28
+ * @param object - An object to be cloned
29
+ *
30
+ * @returns An identical object without references to nested objects
31
+ */
32
+ const deepClone = (object) => JSON.parse(JSON.stringify(object));
33
+ exports.deepClone = deepClone;
34
+ /**
35
+ * Gets object property by property path
36
+ *
37
+ * @param object - An object
38
+ * @param path - A string or array of strings
39
+ * @param separator - Optional separator if path is a string. '.' by default.
40
+ *
41
+ * @returns Value of the path or undefined
42
+ */
43
+ const getObjValue = (object, path, separator) => {
44
+ const pathArray = Array.isArray(path) ? path : path.split(separator || '.');
45
+ return pathArray.reduce((previous, current) => previous?.[current], object);
46
+ };
47
+ exports.getObjValue = getObjValue;
48
+ /**
49
+ * Converts a JavaScript value containing Set and Map, to a JSON object.
50
+ *
51
+ * @param value - A JavaScript value to be converted.
52
+ *
53
+ * @returns A JSON object
54
+ */
55
+ const jsonify = (value) => {
56
+ return JSON.parse(JSON.stringify(value, (k, v) => {
57
+ if (v instanceof Set)
58
+ return [...v];
59
+ if (v instanceof Map)
60
+ return Object.fromEntries(v);
61
+ return v;
62
+ }));
63
+ };
64
+ exports.jsonify = jsonify;
@@ -0,0 +1,2 @@
1
+ export * from './stringUtils';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/string/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./stringUtils"), exports);
@@ -0,0 +1,2 @@
1
+ export declare type URLSearchParamsObject = Record<string, string | string[] | null>;
2
+ //# sourceMappingURL=string.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.types.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/string/string.types.ts"],"names":[],"mappings":"AAAA,oBAAY,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,37 @@
1
+ import { URLSearchParamsObject } from './string.types';
2
+ /**
3
+ * Separator for variant data files saved to storage.
4
+ *
5
+ * @remarks
6
+ * Refers to the separator that is used by variant data files when they are
7
+ * saved. If a "master" data file name is "12345.json", and its variant keys
8
+ * are "card" and "search", its resulting variant file names are:
9
+ * - 12345--card.json
10
+ * - 12345--search.json
11
+ * @see ExporterPluginInterface::VARIANT_SEPARATOR in https://www.drupal.org/project/static_suite
12
+ *
13
+ * @sealed
14
+ * Not intended to be over ride.
15
+ */
16
+ export declare const VARIANT_SEPARATOR = "--";
17
+ /**
18
+ * Parses a JSON string and logs an error on failure.
19
+ *
20
+ * @param jsonString - The string to be parsed.
21
+ *
22
+ * @returns A JSON object or null on error.
23
+ */
24
+ export declare const parseJsonString: (jsonString: string) => any;
25
+ /**
26
+ * Parses a raw URL search (aka "query string") into an object.
27
+ *
28
+ * @remarks
29
+ * Turns a string like "arg1=a&arg2=b" into an object like
30
+ * \{ arg1: 'a', arg2: 'b'\}
31
+ *
32
+ * @param queryString - A raw URL search string
33
+ *
34
+ * @returns An object where its keys are the query arguments.
35
+ */
36
+ export declare const parseURLSearchParams: (queryString: string) => URLSearchParamsObject;
37
+ //# sourceMappingURL=stringUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringUtils.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/string/stringUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,eAAgB,MAAM,KAAG,GAQpD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,gBAClB,MAAM,KAClB,qBAWF,CAAC"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseURLSearchParams = exports.parseJsonString = exports.VARIANT_SEPARATOR = void 0;
4
+ const logger_1 = require("@lib/utils/logger");
5
+ /**
6
+ * Separator for variant data files saved to storage.
7
+ *
8
+ * @remarks
9
+ * Refers to the separator that is used by variant data files when they are
10
+ * saved. If a "master" data file name is "12345.json", and its variant keys
11
+ * are "card" and "search", its resulting variant file names are:
12
+ * - 12345--card.json
13
+ * - 12345--search.json
14
+ * @see ExporterPluginInterface::VARIANT_SEPARATOR in https://www.drupal.org/project/static_suite
15
+ *
16
+ * @sealed
17
+ * Not intended to be over ride.
18
+ */
19
+ exports.VARIANT_SEPARATOR = '--';
20
+ /**
21
+ * Parses a JSON string and logs an error on failure.
22
+ *
23
+ * @param jsonString - The string to be parsed.
24
+ *
25
+ * @returns A JSON object or null on error.
26
+ */
27
+ const parseJsonString = (jsonString) => {
28
+ let json = null;
29
+ try {
30
+ json = JSON.parse(jsonString);
31
+ }
32
+ catch (error) {
33
+ logger_1.logger.error(`Error parsing JSON data "${jsonString}": ${error}`);
34
+ }
35
+ return json;
36
+ };
37
+ exports.parseJsonString = parseJsonString;
38
+ /**
39
+ * Parses a raw URL search (aka "query string") into an object.
40
+ *
41
+ * @remarks
42
+ * Turns a string like "arg1=a&arg2=b" into an object like
43
+ * \{ arg1: 'a', arg2: 'b'\}
44
+ *
45
+ * @param queryString - A raw URL search string
46
+ *
47
+ * @returns An object where its keys are the query arguments.
48
+ */
49
+ const parseURLSearchParams = (queryString) => {
50
+ const params = new URLSearchParams(queryString);
51
+ const obj = {};
52
+ Array.from(params.keys()).forEach(key => {
53
+ if (params.getAll(key).length > 1) {
54
+ obj[key] = params.getAll(key);
55
+ }
56
+ else {
57
+ obj[key] = params.get(key);
58
+ }
59
+ });
60
+ return obj;
61
+ };
62
+ exports.parseURLSearchParams = parseURLSearchParams;
@@ -0,0 +1,2 @@
1
+ export * from './watcher';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/watcher/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./watcher"), exports);