@nocobase/plugin-backups 2.0.56

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 (380) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +99 -0
  3. package/client.d.ts +2 -0
  4. package/client.js +1 -0
  5. package/dist/client/components/BackupSettings.d.ts +2 -0
  6. package/dist/client/components/BackupsManagement.d.ts +2 -0
  7. package/dist/client/components/BackupsTable.d.ts +16 -0
  8. package/dist/client/components/NewBackup.d.ts +10 -0
  9. package/dist/client/components/RefreshBackups.d.ts +10 -0
  10. package/dist/client/components/RestoreFromBackup.d.ts +5 -0
  11. package/dist/client/components/RestoreFromLocal.d.ts +2 -0
  12. package/dist/client/constants.d.ts +1 -0
  13. package/dist/client/contexts.d.ts +17 -0
  14. package/dist/client/hooks/useBackupAppInfo.d.ts +8 -0
  15. package/dist/client/hooks/useCheckBackupMessage.d.ts +4 -0
  16. package/dist/client/hooks/useRestoreTask.d.ts +2 -0
  17. package/dist/client/index.d.ts +7 -0
  18. package/dist/client/index.js +10 -0
  19. package/dist/client/locale.d.ts +10 -0
  20. package/dist/externalVersion.js +32 -0
  21. package/dist/index.d.ts +2 -0
  22. package/dist/index.js +48 -0
  23. package/dist/locale/de-DE.json +52 -0
  24. package/dist/locale/en-US.json +52 -0
  25. package/dist/locale/es-ES.json +52 -0
  26. package/dist/locale/fr-FR.json +52 -0
  27. package/dist/locale/hu-HU.json +52 -0
  28. package/dist/locale/id-ID.json +52 -0
  29. package/dist/locale/it-IT.json +52 -0
  30. package/dist/locale/ja-JP.json +52 -0
  31. package/dist/locale/ko-KR.json +52 -0
  32. package/dist/locale/nl-NL.json +52 -0
  33. package/dist/locale/pt-BR.json +52 -0
  34. package/dist/locale/ru-RU.json +52 -0
  35. package/dist/locale/tr-TR.json +52 -0
  36. package/dist/locale/uk-UA.json +52 -0
  37. package/dist/locale/vi-VN.json +52 -0
  38. package/dist/locale/zh-CN.json +52 -0
  39. package/dist/locale/zh-TW.json +52 -0
  40. package/dist/node_modules/archiver/LICENSE +22 -0
  41. package/dist/node_modules/archiver/index.js +68 -0
  42. package/dist/node_modules/archiver/lib/core.js +974 -0
  43. package/dist/node_modules/archiver/lib/error.js +40 -0
  44. package/dist/node_modules/archiver/lib/plugins/json.js +110 -0
  45. package/dist/node_modules/archiver/lib/plugins/tar.js +167 -0
  46. package/dist/node_modules/archiver/lib/plugins/zip.js +120 -0
  47. package/dist/node_modules/archiver/node_modules/async/all.js +119 -0
  48. package/dist/node_modules/archiver/node_modules/async/allLimit.js +46 -0
  49. package/dist/node_modules/archiver/node_modules/async/allSeries.js +45 -0
  50. package/dist/node_modules/archiver/node_modules/async/any.js +122 -0
  51. package/dist/node_modules/archiver/node_modules/async/anyLimit.js +47 -0
  52. package/dist/node_modules/archiver/node_modules/async/anySeries.js +46 -0
  53. package/dist/node_modules/archiver/node_modules/async/apply.js +11 -0
  54. package/dist/node_modules/archiver/node_modules/async/applyEach.js +57 -0
  55. package/dist/node_modules/archiver/node_modules/async/applyEachSeries.js +37 -0
  56. package/dist/node_modules/archiver/node_modules/async/asyncify.js +118 -0
  57. package/dist/node_modules/archiver/node_modules/async/auto.js +333 -0
  58. package/dist/node_modules/archiver/node_modules/async/autoInject.js +182 -0
  59. package/dist/node_modules/archiver/node_modules/async/bower.json +17 -0
  60. package/dist/node_modules/archiver/node_modules/async/cargo.js +63 -0
  61. package/dist/node_modules/archiver/node_modules/async/cargoQueue.js +71 -0
  62. package/dist/node_modules/archiver/node_modules/async/compose.js +55 -0
  63. package/dist/node_modules/archiver/node_modules/async/concat.js +115 -0
  64. package/dist/node_modules/archiver/node_modules/async/concatLimit.js +60 -0
  65. package/dist/node_modules/archiver/node_modules/async/concatSeries.js +41 -0
  66. package/dist/node_modules/archiver/node_modules/async/constant.js +14 -0
  67. package/dist/node_modules/archiver/node_modules/async/detect.js +96 -0
  68. package/dist/node_modules/archiver/node_modules/async/detectLimit.js +48 -0
  69. package/dist/node_modules/archiver/node_modules/async/detectSeries.js +47 -0
  70. package/dist/node_modules/archiver/node_modules/async/dir.js +43 -0
  71. package/dist/node_modules/archiver/node_modules/async/dist/async.js +6062 -0
  72. package/dist/node_modules/archiver/node_modules/async/dist/async.min.js +1 -0
  73. package/dist/node_modules/archiver/node_modules/async/doDuring.js +68 -0
  74. package/dist/node_modules/archiver/node_modules/async/doUntil.js +46 -0
  75. package/dist/node_modules/archiver/node_modules/async/doWhilst.js +68 -0
  76. package/dist/node_modules/archiver/node_modules/async/during.js +78 -0
  77. package/dist/node_modules/archiver/node_modules/async/each.js +129 -0
  78. package/dist/node_modules/archiver/node_modules/async/eachLimit.js +50 -0
  79. package/dist/node_modules/archiver/node_modules/async/eachOf.js +185 -0
  80. package/dist/node_modules/archiver/node_modules/async/eachOfLimit.js +47 -0
  81. package/dist/node_modules/archiver/node_modules/async/eachOfSeries.js +39 -0
  82. package/dist/node_modules/archiver/node_modules/async/eachSeries.js +44 -0
  83. package/dist/node_modules/archiver/node_modules/async/ensureAsync.js +67 -0
  84. package/dist/node_modules/archiver/node_modules/async/every.js +119 -0
  85. package/dist/node_modules/archiver/node_modules/async/everyLimit.js +46 -0
  86. package/dist/node_modules/archiver/node_modules/async/everySeries.js +45 -0
  87. package/dist/node_modules/archiver/node_modules/async/filter.js +93 -0
  88. package/dist/node_modules/archiver/node_modules/async/filterLimit.js +45 -0
  89. package/dist/node_modules/archiver/node_modules/async/filterSeries.js +43 -0
  90. package/dist/node_modules/archiver/node_modules/async/find.js +96 -0
  91. package/dist/node_modules/archiver/node_modules/async/findLimit.js +48 -0
  92. package/dist/node_modules/archiver/node_modules/async/findSeries.js +47 -0
  93. package/dist/node_modules/archiver/node_modules/async/flatMap.js +115 -0
  94. package/dist/node_modules/archiver/node_modules/async/flatMapLimit.js +60 -0
  95. package/dist/node_modules/archiver/node_modules/async/flatMapSeries.js +41 -0
  96. package/dist/node_modules/archiver/node_modules/async/foldl.js +153 -0
  97. package/dist/node_modules/archiver/node_modules/async/foldr.js +41 -0
  98. package/dist/node_modules/archiver/node_modules/async/forEach.js +129 -0
  99. package/dist/node_modules/archiver/node_modules/async/forEachLimit.js +50 -0
  100. package/dist/node_modules/archiver/node_modules/async/forEachOf.js +185 -0
  101. package/dist/node_modules/archiver/node_modules/async/forEachOfLimit.js +47 -0
  102. package/dist/node_modules/archiver/node_modules/async/forEachOfSeries.js +39 -0
  103. package/dist/node_modules/archiver/node_modules/async/forEachSeries.js +44 -0
  104. package/dist/node_modules/archiver/node_modules/async/forever.js +68 -0
  105. package/dist/node_modules/archiver/node_modules/async/groupBy.js +108 -0
  106. package/dist/node_modules/archiver/node_modules/async/groupByLimit.js +71 -0
  107. package/dist/node_modules/archiver/node_modules/async/groupBySeries.js +36 -0
  108. package/dist/node_modules/archiver/node_modules/async/index.js +588 -0
  109. package/dist/node_modules/archiver/node_modules/async/inject.js +153 -0
  110. package/dist/node_modules/archiver/node_modules/async/internal/DoublyLinkedList.js +92 -0
  111. package/dist/node_modules/archiver/node_modules/async/internal/Heap.js +120 -0
  112. package/dist/node_modules/archiver/node_modules/async/internal/applyEach.js +29 -0
  113. package/dist/node_modules/archiver/node_modules/async/internal/asyncEachOfLimit.js +75 -0
  114. package/dist/node_modules/archiver/node_modules/async/internal/awaitify.js +28 -0
  115. package/dist/node_modules/archiver/node_modules/async/internal/breakLoop.js +10 -0
  116. package/dist/node_modules/archiver/node_modules/async/internal/consoleFunc.js +31 -0
  117. package/dist/node_modules/archiver/node_modules/async/internal/createTester.js +40 -0
  118. package/dist/node_modules/archiver/node_modules/async/internal/eachOfLimit.js +90 -0
  119. package/dist/node_modules/archiver/node_modules/async/internal/filter.js +55 -0
  120. package/dist/node_modules/archiver/node_modules/async/internal/getIterator.js +11 -0
  121. package/dist/node_modules/archiver/node_modules/async/internal/initialParams.js +14 -0
  122. package/dist/node_modules/archiver/node_modules/async/internal/isArrayLike.js +10 -0
  123. package/dist/node_modules/archiver/node_modules/async/internal/iterator.js +57 -0
  124. package/dist/node_modules/archiver/node_modules/async/internal/map.js +30 -0
  125. package/dist/node_modules/archiver/node_modules/async/internal/once.js +17 -0
  126. package/dist/node_modules/archiver/node_modules/async/internal/onlyOnce.js +15 -0
  127. package/dist/node_modules/archiver/node_modules/async/internal/parallel.js +34 -0
  128. package/dist/node_modules/archiver/node_modules/async/internal/promiseCallback.js +23 -0
  129. package/dist/node_modules/archiver/node_modules/async/internal/queue.js +294 -0
  130. package/dist/node_modules/archiver/node_modules/async/internal/range.js +14 -0
  131. package/dist/node_modules/archiver/node_modules/async/internal/reject.js +26 -0
  132. package/dist/node_modules/archiver/node_modules/async/internal/setImmediate.js +34 -0
  133. package/dist/node_modules/archiver/node_modules/async/internal/withoutIndex.js +10 -0
  134. package/dist/node_modules/archiver/node_modules/async/internal/wrapAsync.js +34 -0
  135. package/dist/node_modules/archiver/node_modules/async/log.js +41 -0
  136. package/dist/node_modules/archiver/node_modules/async/map.js +142 -0
  137. package/dist/node_modules/archiver/node_modules/async/mapLimit.js +45 -0
  138. package/dist/node_modules/archiver/node_modules/async/mapSeries.js +44 -0
  139. package/dist/node_modules/archiver/node_modules/async/mapValues.js +152 -0
  140. package/dist/node_modules/archiver/node_modules/async/mapValuesLimit.js +61 -0
  141. package/dist/node_modules/archiver/node_modules/async/mapValuesSeries.js +37 -0
  142. package/dist/node_modules/archiver/node_modules/async/memoize.js +91 -0
  143. package/dist/node_modules/archiver/node_modules/async/nextTick.js +52 -0
  144. package/dist/node_modules/archiver/node_modules/async/package.json +75 -0
  145. package/dist/node_modules/archiver/node_modules/async/parallel.js +180 -0
  146. package/dist/node_modules/archiver/node_modules/async/parallelLimit.js +41 -0
  147. package/dist/node_modules/archiver/node_modules/async/priorityQueue.js +60 -0
  148. package/dist/node_modules/archiver/node_modules/async/queue.js +24 -0
  149. package/dist/node_modules/archiver/node_modules/async/race.js +67 -0
  150. package/dist/node_modules/archiver/node_modules/async/reduce.js +153 -0
  151. package/dist/node_modules/archiver/node_modules/async/reduceRight.js +41 -0
  152. package/dist/node_modules/archiver/node_modules/async/reflect.js +78 -0
  153. package/dist/node_modules/archiver/node_modules/async/reflectAll.js +93 -0
  154. package/dist/node_modules/archiver/node_modules/async/reject.js +87 -0
  155. package/dist/node_modules/archiver/node_modules/async/rejectLimit.js +45 -0
  156. package/dist/node_modules/archiver/node_modules/async/rejectSeries.js +43 -0
  157. package/dist/node_modules/archiver/node_modules/async/retry.js +159 -0
  158. package/dist/node_modules/archiver/node_modules/async/retryable.js +77 -0
  159. package/dist/node_modules/archiver/node_modules/async/select.js +93 -0
  160. package/dist/node_modules/archiver/node_modules/async/selectLimit.js +45 -0
  161. package/dist/node_modules/archiver/node_modules/async/selectSeries.js +43 -0
  162. package/dist/node_modules/archiver/node_modules/async/seq.js +79 -0
  163. package/dist/node_modules/archiver/node_modules/async/series.js +186 -0
  164. package/dist/node_modules/archiver/node_modules/async/setImmediate.js +45 -0
  165. package/dist/node_modules/archiver/node_modules/async/some.js +122 -0
  166. package/dist/node_modules/archiver/node_modules/async/someLimit.js +47 -0
  167. package/dist/node_modules/archiver/node_modules/async/someSeries.js +46 -0
  168. package/dist/node_modules/archiver/node_modules/async/sortBy.js +190 -0
  169. package/dist/node_modules/archiver/node_modules/async/timeout.js +89 -0
  170. package/dist/node_modules/archiver/node_modules/async/times.js +50 -0
  171. package/dist/node_modules/archiver/node_modules/async/timesLimit.js +43 -0
  172. package/dist/node_modules/archiver/node_modules/async/timesSeries.js +32 -0
  173. package/dist/node_modules/archiver/node_modules/async/transform.js +173 -0
  174. package/dist/node_modules/archiver/node_modules/async/tryEach.js +78 -0
  175. package/dist/node_modules/archiver/node_modules/async/unmemoize.js +25 -0
  176. package/dist/node_modules/archiver/node_modules/async/until.js +61 -0
  177. package/dist/node_modules/archiver/node_modules/async/waterfall.js +105 -0
  178. package/dist/node_modules/archiver/node_modules/async/whilst.js +78 -0
  179. package/dist/node_modules/archiver/node_modules/async/wrapSync.js +118 -0
  180. package/dist/node_modules/archiver/node_modules/readable-stream/errors-browser.js +127 -0
  181. package/dist/node_modules/archiver/node_modules/readable-stream/errors.js +116 -0
  182. package/dist/node_modules/archiver/node_modules/readable-stream/experimentalWarning.js +17 -0
  183. package/dist/node_modules/archiver/node_modules/readable-stream/lib/_stream_duplex.js +126 -0
  184. package/dist/node_modules/archiver/node_modules/readable-stream/lib/_stream_passthrough.js +37 -0
  185. package/dist/node_modules/archiver/node_modules/readable-stream/lib/_stream_readable.js +1027 -0
  186. package/dist/node_modules/archiver/node_modules/readable-stream/lib/_stream_transform.js +190 -0
  187. package/dist/node_modules/archiver/node_modules/readable-stream/lib/_stream_writable.js +641 -0
  188. package/dist/node_modules/archiver/node_modules/readable-stream/lib/internal/streams/async_iterator.js +180 -0
  189. package/dist/node_modules/archiver/node_modules/readable-stream/lib/internal/streams/buffer_list.js +183 -0
  190. package/dist/node_modules/archiver/node_modules/readable-stream/lib/internal/streams/destroy.js +96 -0
  191. package/dist/node_modules/archiver/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +86 -0
  192. package/dist/node_modules/archiver/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
  193. package/dist/node_modules/archiver/node_modules/readable-stream/lib/internal/streams/from.js +52 -0
  194. package/dist/node_modules/archiver/node_modules/readable-stream/lib/internal/streams/pipeline.js +86 -0
  195. package/dist/node_modules/archiver/node_modules/readable-stream/lib/internal/streams/state.js +22 -0
  196. package/dist/node_modules/archiver/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  197. package/dist/node_modules/archiver/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  198. package/dist/node_modules/archiver/node_modules/readable-stream/package.json +68 -0
  199. package/dist/node_modules/archiver/node_modules/readable-stream/readable-browser.js +9 -0
  200. package/dist/node_modules/archiver/node_modules/readable-stream/readable.js +16 -0
  201. package/dist/node_modules/archiver/node_modules/tar-stream/extract.js +257 -0
  202. package/dist/node_modules/archiver/node_modules/tar-stream/headers.js +295 -0
  203. package/dist/node_modules/archiver/node_modules/tar-stream/index.js +2 -0
  204. package/dist/node_modules/archiver/node_modules/tar-stream/pack.js +255 -0
  205. package/dist/node_modules/archiver/node_modules/tar-stream/package.json +58 -0
  206. package/dist/node_modules/archiver/node_modules/tar-stream/sandbox.js +11 -0
  207. package/dist/node_modules/archiver/package.json +1 -0
  208. package/dist/node_modules/cron-parser/.eslintrc.json +15 -0
  209. package/dist/node_modules/cron-parser/.travis.yml +7 -0
  210. package/dist/node_modules/cron-parser/LICENSE +21 -0
  211. package/dist/node_modules/cron-parser/component.json +11 -0
  212. package/dist/node_modules/cron-parser/index.d.ts +1 -0
  213. package/dist/node_modules/cron-parser/lib/date.js +252 -0
  214. package/dist/node_modules/cron-parser/lib/expression.js +983 -0
  215. package/dist/node_modules/cron-parser/lib/field_compactor.js +70 -0
  216. package/dist/node_modules/cron-parser/lib/field_stringify.js +38 -0
  217. package/dist/node_modules/cron-parser/lib/parser.js +1 -0
  218. package/dist/node_modules/cron-parser/node_modules/luxon/build/amd/luxon.js +8489 -0
  219. package/dist/node_modules/cron-parser/node_modules/luxon/build/cjs-browser/luxon.js +8487 -0
  220. package/dist/node_modules/cron-parser/node_modules/luxon/build/global/luxon.js +8490 -0
  221. package/dist/node_modules/cron-parser/node_modules/luxon/build/global/luxon.min.js +1 -0
  222. package/dist/node_modules/cron-parser/node_modules/luxon/build/node/luxon.js +7522 -0
  223. package/dist/node_modules/cron-parser/node_modules/luxon/package.json +96 -0
  224. package/dist/node_modules/cron-parser/node_modules/luxon/src/datetime.js +2169 -0
  225. package/dist/node_modules/cron-parser/node_modules/luxon/src/duration.js +880 -0
  226. package/dist/node_modules/cron-parser/node_modules/luxon/src/errors.js +61 -0
  227. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/conversions.js +157 -0
  228. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/diff.js +80 -0
  229. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/digits.js +76 -0
  230. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/english.js +233 -0
  231. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/formats.js +191 -0
  232. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/formatter.js +386 -0
  233. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/invalid.js +14 -0
  234. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/locale.js +482 -0
  235. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/regexParser.js +335 -0
  236. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/tokenParser.js +424 -0
  237. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/util.js +292 -0
  238. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/zoneUtil.js +36 -0
  239. package/dist/node_modules/cron-parser/node_modules/luxon/src/info.js +193 -0
  240. package/dist/node_modules/cron-parser/node_modules/luxon/src/interval.js +602 -0
  241. package/dist/node_modules/cron-parser/node_modules/luxon/src/luxon.js +26 -0
  242. package/dist/node_modules/cron-parser/node_modules/luxon/src/luxonFilled.js +13 -0
  243. package/dist/node_modules/cron-parser/node_modules/luxon/src/settings.js +137 -0
  244. package/dist/node_modules/cron-parser/node_modules/luxon/src/zone.js +88 -0
  245. package/dist/node_modules/cron-parser/node_modules/luxon/src/zones/IANAZone.js +191 -0
  246. package/dist/node_modules/cron-parser/node_modules/luxon/src/zones/fixedOffsetZone.js +94 -0
  247. package/dist/node_modules/cron-parser/node_modules/luxon/src/zones/invalidZone.js +53 -0
  248. package/dist/node_modules/cron-parser/node_modules/luxon/src/zones/localZone.js +63 -0
  249. package/dist/node_modules/cron-parser/package.json +1 -0
  250. package/dist/node_modules/cron-parser/test/31_of_month.js +17 -0
  251. package/dist/node_modules/cron-parser/test/bug.js +29 -0
  252. package/dist/node_modules/cron-parser/test/crondate.js +16 -0
  253. package/dist/node_modules/cron-parser/test/crontab.example +7 -0
  254. package/dist/node_modules/cron-parser/test/empty_around_comma.js +22 -0
  255. package/dist/node_modules/cron-parser/test/expression.js +1489 -0
  256. package/dist/node_modules/cron-parser/test/field_compactor.js +250 -0
  257. package/dist/node_modules/cron-parser/test/field_stringify.js +84 -0
  258. package/dist/node_modules/cron-parser/test/fields.js +32 -0
  259. package/dist/node_modules/cron-parser/test/increment_on_first_iteration.js +22 -0
  260. package/dist/node_modules/cron-parser/test/index-ts3.test-d.ts +133 -0
  261. package/dist/node_modules/cron-parser/test/index.test-d.ts +138 -0
  262. package/dist/node_modules/cron-parser/test/leap_year.js +17 -0
  263. package/dist/node_modules/cron-parser/test/parser.js +46 -0
  264. package/dist/node_modules/cron-parser/test/parser_crondate_formats.js +145 -0
  265. package/dist/node_modules/cron-parser/test/parser_day_of_month.js +169 -0
  266. package/dist/node_modules/cron-parser/test/prev_date.js +32 -0
  267. package/dist/node_modules/cron-parser/test/stringify.js +402 -0
  268. package/dist/node_modules/cron-parser/test/timezone.js +422 -0
  269. package/dist/node_modules/cron-parser/types/common.d.ts +131 -0
  270. package/dist/node_modules/cron-parser/types/index.d.ts +45 -0
  271. package/dist/node_modules/cron-parser/types/ts3/index.d.ts +28 -0
  272. package/dist/node_modules/fs-extra/LICENSE +15 -0
  273. package/dist/node_modules/fs-extra/lib/copy/copy.js +232 -0
  274. package/dist/node_modules/fs-extra/lib/copy/index.js +6 -0
  275. package/dist/node_modules/fs-extra/lib/copy-sync/copy-sync.js +166 -0
  276. package/dist/node_modules/fs-extra/lib/copy-sync/index.js +5 -0
  277. package/dist/node_modules/fs-extra/lib/empty/index.js +48 -0
  278. package/dist/node_modules/fs-extra/lib/ensure/file.js +69 -0
  279. package/dist/node_modules/fs-extra/lib/ensure/index.js +23 -0
  280. package/dist/node_modules/fs-extra/lib/ensure/link.js +61 -0
  281. package/dist/node_modules/fs-extra/lib/ensure/symlink-paths.js +99 -0
  282. package/dist/node_modules/fs-extra/lib/ensure/symlink-type.js +31 -0
  283. package/dist/node_modules/fs-extra/lib/ensure/symlink.js +63 -0
  284. package/dist/node_modules/fs-extra/lib/fs/index.js +130 -0
  285. package/dist/node_modules/fs-extra/lib/index.js +1 -0
  286. package/dist/node_modules/fs-extra/lib/json/index.js +16 -0
  287. package/dist/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
  288. package/dist/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
  289. package/dist/node_modules/fs-extra/lib/json/output-json.js +12 -0
  290. package/dist/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
  291. package/dist/node_modules/fs-extra/lib/mkdirs/make-dir.js +141 -0
  292. package/dist/node_modules/fs-extra/lib/move/index.js +6 -0
  293. package/dist/node_modules/fs-extra/lib/move/move.js +65 -0
  294. package/dist/node_modules/fs-extra/lib/move-sync/index.js +5 -0
  295. package/dist/node_modules/fs-extra/lib/move-sync/move-sync.js +47 -0
  296. package/dist/node_modules/fs-extra/lib/output/index.js +40 -0
  297. package/dist/node_modules/fs-extra/lib/path-exists/index.js +12 -0
  298. package/dist/node_modules/fs-extra/lib/remove/index.js +9 -0
  299. package/dist/node_modules/fs-extra/lib/remove/rimraf.js +302 -0
  300. package/dist/node_modules/fs-extra/lib/util/stat.js +139 -0
  301. package/dist/node_modules/fs-extra/lib/util/utimes.js +26 -0
  302. package/dist/node_modules/fs-extra/package.json +1 -0
  303. package/dist/node_modules/semver/LICENSE +15 -0
  304. package/dist/node_modules/semver/bin/semver.js +197 -0
  305. package/dist/node_modules/semver/classes/comparator.js +141 -0
  306. package/dist/node_modules/semver/classes/index.js +5 -0
  307. package/dist/node_modules/semver/classes/range.js +539 -0
  308. package/dist/node_modules/semver/classes/semver.js +302 -0
  309. package/dist/node_modules/semver/functions/clean.js +6 -0
  310. package/dist/node_modules/semver/functions/cmp.js +52 -0
  311. package/dist/node_modules/semver/functions/coerce.js +60 -0
  312. package/dist/node_modules/semver/functions/compare-build.js +7 -0
  313. package/dist/node_modules/semver/functions/compare-loose.js +3 -0
  314. package/dist/node_modules/semver/functions/compare.js +5 -0
  315. package/dist/node_modules/semver/functions/diff.js +65 -0
  316. package/dist/node_modules/semver/functions/eq.js +3 -0
  317. package/dist/node_modules/semver/functions/gt.js +3 -0
  318. package/dist/node_modules/semver/functions/gte.js +3 -0
  319. package/dist/node_modules/semver/functions/inc.js +19 -0
  320. package/dist/node_modules/semver/functions/lt.js +3 -0
  321. package/dist/node_modules/semver/functions/lte.js +3 -0
  322. package/dist/node_modules/semver/functions/major.js +3 -0
  323. package/dist/node_modules/semver/functions/minor.js +3 -0
  324. package/dist/node_modules/semver/functions/neq.js +3 -0
  325. package/dist/node_modules/semver/functions/parse.js +16 -0
  326. package/dist/node_modules/semver/functions/patch.js +3 -0
  327. package/dist/node_modules/semver/functions/prerelease.js +6 -0
  328. package/dist/node_modules/semver/functions/rcompare.js +3 -0
  329. package/dist/node_modules/semver/functions/rsort.js +3 -0
  330. package/dist/node_modules/semver/functions/satisfies.js +10 -0
  331. package/dist/node_modules/semver/functions/sort.js +3 -0
  332. package/dist/node_modules/semver/functions/valid.js +6 -0
  333. package/dist/node_modules/semver/index.js +1 -0
  334. package/dist/node_modules/semver/internal/constants.js +35 -0
  335. package/dist/node_modules/semver/internal/debug.js +9 -0
  336. package/dist/node_modules/semver/internal/identifiers.js +23 -0
  337. package/dist/node_modules/semver/internal/parse-options.js +15 -0
  338. package/dist/node_modules/semver/internal/re.js +217 -0
  339. package/dist/node_modules/semver/package.json +1 -0
  340. package/dist/node_modules/semver/preload.js +2 -0
  341. package/dist/node_modules/semver/range.bnf +16 -0
  342. package/dist/node_modules/semver/ranges/gtr.js +4 -0
  343. package/dist/node_modules/semver/ranges/intersects.js +7 -0
  344. package/dist/node_modules/semver/ranges/ltr.js +4 -0
  345. package/dist/node_modules/semver/ranges/max-satisfying.js +25 -0
  346. package/dist/node_modules/semver/ranges/min-satisfying.js +24 -0
  347. package/dist/node_modules/semver/ranges/min-version.js +61 -0
  348. package/dist/node_modules/semver/ranges/outside.js +80 -0
  349. package/dist/node_modules/semver/ranges/simplify.js +47 -0
  350. package/dist/node_modules/semver/ranges/subset.js +247 -0
  351. package/dist/node_modules/semver/ranges/to-comparators.js +8 -0
  352. package/dist/node_modules/semver/ranges/valid.js +11 -0
  353. package/dist/node_modules/yauzl/LICENSE +21 -0
  354. package/dist/node_modules/yauzl/fd-slicer.js +314 -0
  355. package/dist/node_modules/yauzl/index.js +1 -0
  356. package/dist/node_modules/yauzl/package.json +1 -0
  357. package/dist/server/adapters/database.d.ts +9 -0
  358. package/dist/server/adapters/database.js +486 -0
  359. package/dist/server/collections/backup-settings.d.ts +2 -0
  360. package/dist/server/collections/backup-settings.js +67 -0
  361. package/dist/server/index.d.ts +1 -0
  362. package/dist/server/index.js +42 -0
  363. package/dist/server/managers/backup.d.ts +41 -0
  364. package/dist/server/managers/backup.js +448 -0
  365. package/dist/server/managers/restore.d.ts +24 -0
  366. package/dist/server/managers/restore.js +434 -0
  367. package/dist/server/plugin.d.ts +26 -0
  368. package/dist/server/plugin.js +251 -0
  369. package/dist/server/resourcers/backup-cli.d.ts +23 -0
  370. package/dist/server/resourcers/backup-cli.js +237 -0
  371. package/dist/server/resourcers/backups.d.ts +24 -0
  372. package/dist/server/resourcers/backups.js +192 -0
  373. package/dist/server/types.d.ts +12 -0
  374. package/dist/server/types.js +24 -0
  375. package/dist/server/utils.d.ts +48 -0
  376. package/dist/server/utils.js +323 -0
  377. package/dist/swagger/index.json +313 -0
  378. package/package.json +51 -0
  379. package/server.d.ts +2 -0
  380. package/server.js +1 -0
@@ -0,0 +1,422 @@
1
+ var test = require('tap').test;
2
+ var CronExpression = require('../lib/expression');
3
+
4
+ test('It works on DST start', function(t) {
5
+ try {
6
+ var options = {
7
+ currentDate: '2016-03-27 02:00:01',
8
+ tz: 'Europe/Athens'
9
+ };
10
+
11
+ var interval, date;
12
+
13
+ interval = CronExpression.parse('0 * * * *', options);
14
+ t.ok(interval, 'Interval parsed');
15
+
16
+ date = interval.next();
17
+ t.equal(date.getMinutes(), 0, '0 Minutes');
18
+ t.equal(date.getHours(), 4, 'Due to DST start in Athens, 3 is skipped');
19
+ t.equal(date.getDate(), 27, 'on the 27th');
20
+
21
+ date = interval.next();
22
+ t.equal(date.getMinutes(), 0, '0 Minutes');
23
+ t.equal(date.getHours(), 5, '5 AM');
24
+ t.equal(date.getDate(), 27, 'on the 27th');
25
+
26
+ interval = CronExpression.parse('30 2 * * *', options);
27
+ t.ok(interval, 'Interval parsed');
28
+
29
+ date = interval.next();
30
+ t.equal(date.getMinutes(), 30, '30 Minutes');
31
+ t.equal(date.getHours(), 2, '2 AM');
32
+ t.equal(date.getDate(), 27, 'on the 27th');
33
+
34
+ date = interval.next();
35
+ t.equal(date.getMinutes(), 30, '30 Minutes');
36
+ t.equal(date.getHours(), 2, '2 AM');
37
+ t.equal(date.getDate(), 28, 'on the 28th');
38
+
39
+ interval = CronExpression.parse('0 3 * * *', options);
40
+ t.ok(interval, 'Interval parsed');
41
+
42
+ date = interval.next();
43
+ t.equal(date.getMinutes(), 0, '0 Minutes');
44
+ t.equal(date.getHours(), 4, 'Due to DST start in Athens, 3 is skipped');
45
+ t.equal(date.getDate(), 27, 'on the 27th');
46
+
47
+ date = interval.next();
48
+ t.equal(date.getMinutes(), 0, '0 Minutes');
49
+ t.equal(date.getHours(), 3, '3 on the 28th');
50
+ t.equal(date.getDate(), 28, 'on the 28th');
51
+
52
+ interval = CronExpression.parse('*/20 3 * * *', options);
53
+ t.ok(interval, 'Interval parsed');
54
+
55
+ date = interval.next();
56
+ t.equal(date.getMinutes(), 0, '0 Minutes');
57
+ t.equal(date.getHours(), 4, 'Due to DST start in Athens, 3 is skipped');
58
+ t.equal(date.getDate(), 27, 'on the 27th');
59
+
60
+ date = interval.next();
61
+ t.equal(date.getMinutes(), 20, '20 Minutes');
62
+ t.equal(date.getHours(), 4, 'Due to DST start in Athens, 3 is skipped');
63
+ t.equal(date.getDate(), 27, 'on the 27th');
64
+
65
+ date = interval.next();
66
+ t.equal(date.getMinutes(), 40, '20 Minutes');
67
+ t.equal(date.getHours(), 4, 'Due to DST start in Athens, 3 is skipped');
68
+ t.equal(date.getDate(), 27, 'on the 27th');
69
+
70
+ date = interval.next();
71
+ t.equal(date.getMinutes(), 0, '0 Minutes');
72
+ t.equal(date.getHours(), 3, '3 AM');
73
+ t.equal(date.getDate(), 28, 'on the 28th');
74
+
75
+ options.currentDate = '2016-03-27 00:00:01';
76
+
77
+ interval = CronExpression.parse('0 * 27 * *', options);
78
+ t.ok(interval, 'Interval parsed');
79
+
80
+ date = interval.next();
81
+ t.equal(date.getMinutes(), 0, '0 Minutes');
82
+ t.equal(date.getHours(), 1, '1 AM');
83
+ t.equal(date.getDate(), 27, 'on the 27th');
84
+
85
+ date = interval.next();
86
+ t.equal(date.getMinutes(), 0, '0 Minutes');
87
+ t.equal(date.getHours(), 2, '2 AM');
88
+ t.equal(date.getDate(), 27, 'on the 27th');
89
+
90
+ date = interval.next();
91
+ t.equal(date.getMinutes(), 0, '0 Minutes');
92
+ t.equal(date.getHours(), 4, '4 AM');
93
+ t.equal(date.getDate(), 27, 'on the 27th');
94
+
95
+ date = interval.next();
96
+ t.equal(date.getMinutes(), 0, '0 Minutes');
97
+ t.equal(date.getHours(), 5, '5 AM');
98
+ t.equal(date.getDate(), 27, 'on the 27th');
99
+
100
+ options.currentDate = '2016-03-27 00:00:01';
101
+ options.endDate = '2016-03-27 03:00:01';
102
+
103
+ interval = CronExpression.parse('0 * * * *', options);
104
+ t.ok(interval, 'Interval parsed');
105
+
106
+ date = interval.next();
107
+ t.equal(date.getMinutes(), 0, '0 Minutes');
108
+ t.equal(date.getHours(), 1, '1 AM');
109
+ t.equal(date.getDate(), 27, 'on the 27th');
110
+
111
+ date = interval.next();
112
+ t.equal(date.getMinutes(), 0, '0 Minutes');
113
+ t.equal(date.getHours(), 2, '2 AM');
114
+ t.equal(date.getDate(), 27, 'on the 27th');
115
+
116
+ date = interval.next();
117
+ t.equal(date.getMinutes(), 0, '0 Minutes');
118
+ t.equal(date.getHours(), 4, '4 AM');
119
+ t.equal(date.getDate(), 27, 'on the 27th');
120
+
121
+ // Out of the timespan range
122
+ t.throws(function() {
123
+ date = interval.next();
124
+ });
125
+ } catch (err) {
126
+ t.error(err, 'Interval parse error');
127
+ }
128
+
129
+ t.end();
130
+ });
131
+
132
+ test('It works on DST end', function(t) {
133
+ try {
134
+ var options = {
135
+ currentDate: '2016-10-30 02:00:01',
136
+ tz: 'Europe/Athens'
137
+ };
138
+
139
+ var interval, date;
140
+
141
+ interval = CronExpression.parse('0 * * * *', options);
142
+ t.ok(interval, 'Interval parsed');
143
+
144
+ date = interval.next();
145
+ t.equal(date.getHours(), 3, '3 AM');
146
+ t.equal(date.getDate(), 30, '30th');
147
+
148
+ date = interval.next();
149
+ t.equal(date.getHours(), 3, 'Due to DST end in Athens (4-->3)');
150
+ t.equal(date.getDate(), 30, '30th');
151
+
152
+ date = interval.next();
153
+ t.equal(date.getHours(), 4, '4 AM');
154
+ t.equal(date.getDate(), 30, '30th');
155
+
156
+ interval = CronExpression.parse('0 3 * * *', options);
157
+ t.ok(interval, 'Interval parsed');
158
+
159
+ date = interval.next();
160
+ t.equal(date.getHours(), 3, '3 AM');
161
+ t.equal(date.getDate(), 30, '30th');
162
+
163
+ date = interval.next();
164
+ t.equal(date.getHours(), 3, '3 AM');
165
+ t.equal(date.getDate(), 31, '31st');
166
+
167
+ interval = CronExpression.parse('*/20 3 * * *', options);
168
+ t.ok(interval, 'Interval parsed');
169
+
170
+ date = interval.next();
171
+ t.equal(date.getMinutes(), 0, '0');
172
+ t.equal(date.getHours(), 3, '3 AM');
173
+ t.equal(date.getDate(), 30, '30th');
174
+
175
+ date = interval.next();
176
+ t.equal(date.getMinutes(), 20, '20');
177
+ t.equal(date.getHours(), 3, '3 AM');
178
+ t.equal(date.getDate(), 30, '30th');
179
+
180
+ date = interval.next();
181
+ t.equal(date.getMinutes(), 40, '40');
182
+ t.equal(date.getHours(), 3, '3 AM');
183
+ t.equal(date.getDate(), 30, '30th');
184
+
185
+ date = interval.next();
186
+ t.equal(date.getMinutes(), 0, '0');
187
+ t.equal(date.getHours(), 3, '3 AM');
188
+ t.equal(date.getDate(), 31, '31st');
189
+
190
+ options.currentDate = '2016-10-30 00:00:01';
191
+
192
+ interval = CronExpression.parse('0 * 30 * *', options);
193
+ t.ok(interval, 'Interval parsed');
194
+
195
+ date = interval.next();
196
+ t.equal(date.getHours(), 1, '1 AM');
197
+ t.equal(date.getDate(), 30, '30th');
198
+
199
+ date = interval.next();
200
+ t.equal(date.getHours(), 2, '2 AM');
201
+ t.equal(date.getDate(), 30, '30th');
202
+
203
+ date = interval.next();
204
+ t.equal(date.getHours(), 3, '3 AM');
205
+ t.equal(date.getDate(), 30, '30th');
206
+
207
+ date = interval.next();
208
+ t.equal(date.getHours(), 3, '3 AM');
209
+ t.equal(date.getDate(), 30, '30th');
210
+
211
+ date = interval.next();
212
+ t.equal(date.getHours(), 4, '4 AM');
213
+ t.equal(date.getDate(), 30, '30th');
214
+
215
+ options.currentDate = '2016-10-30 00:00:01';
216
+ // specify the DST offset via ISO 8601 format, as 3am is repeated
217
+ options.endDate = '2016-10-30T03:00:01+03';
218
+
219
+ interval = CronExpression.parse('0 * * * *', options);
220
+ t.ok(interval, 'Interval parsed');
221
+
222
+ date = interval.next();
223
+ t.equal(date.getHours(), 1, '1 AM');
224
+ t.equal(date.getDate(), 30, '30th');
225
+
226
+ date = interval.next();
227
+ t.equal(date.getHours(), 2, '2 AM');
228
+ t.equal(date.getDate(), 30, '30th');
229
+
230
+ date = interval.next();
231
+ t.equal(date.getHours(), 3, '3 AM');
232
+ t.equal(date.getDate(), 30, '30th');
233
+
234
+ // Out of the timespan range
235
+ t.throws(function() {
236
+ date = interval.next();
237
+ });
238
+
239
+ options.endDate = '2016-10-30 04:00:01';
240
+
241
+ interval = CronExpression.parse('0 * * * *', options);
242
+ t.ok(interval, 'Interval parsed');
243
+
244
+ date = interval.next();
245
+ t.equal(date.getHours(), 1, '1 AM');
246
+ t.equal(date.getDate(), 30, '30th');
247
+
248
+ date = interval.next();
249
+ t.equal(date.getHours(), 2, '2 AM');
250
+ t.equal(date.getDate(), 30, '30th');
251
+
252
+ date = interval.next();
253
+ t.equal(date.getHours(), 3, '3 AM');
254
+ t.equal(date.getDate(), 30, '30th');
255
+
256
+ date = interval.next();
257
+ t.equal(date.getHours(), 3, '3 AM');
258
+ t.equal(date.getDate(), 30, '30th');
259
+
260
+ date = interval.next();
261
+ t.equal(date.getHours(), 4, '4 AM');
262
+ t.equal(date.getDate(), 30, '30th');
263
+
264
+ // Out of the timespan range
265
+ t.throws(function() {
266
+ date = interval.next();
267
+ });
268
+
269
+ options = {
270
+ currentDate : new Date('Sun Oct 29 2016 01:00:00 GMT+0200')
271
+ };
272
+
273
+ interval = CronExpression.parse('0 12 * * *', options);
274
+ t.ok(interval, 'Interval parsed');
275
+
276
+ date = interval.next();
277
+ t.equal(date.getHours(), 12, '12');
278
+ t.equal(date.getDate(), 29, '29th');
279
+ date = interval.next();
280
+ t.equal(date.getHours(), 12, '12');
281
+ t.equal(date.getDate(), 30, '30th');
282
+ date = interval.next();
283
+ t.equal(date.getHours(), 12, '12');
284
+ t.equal(date.getDate(), 31, '31st');
285
+
286
+ options = {
287
+ currentDate : new Date('Sun Oct 29 2016 02:59:00 GMT+0200')
288
+ };
289
+
290
+ interval = CronExpression.parse('0 12 * * *', options);
291
+ t.ok(interval, 'Interval parsed');
292
+
293
+ date = interval.next();
294
+ t.equal(date.getHours(), 12, '12');
295
+ t.equal(date.getDate(), 29, '29th');
296
+ date = interval.next();
297
+ t.equal(date.getHours(), 12, '12');
298
+ t.equal(date.getDate(), 30, '30th');
299
+ date = interval.next();
300
+ t.equal(date.getHours(), 12, '12');
301
+ t.equal(date.getDate(), 31, '31st');
302
+
303
+ options = {
304
+ currentDate : new Date('Sun Oct 29 2016 02:59:59 GMT+0200')
305
+ };
306
+
307
+ interval = CronExpression.parse('0 12 * * *', options);
308
+ t.ok(interval, 'Interval parsed');
309
+
310
+ date = interval.next();
311
+ t.equal(date.getHours(), 12, '12');
312
+ t.equal(date.getDate(), 29, '29th');
313
+ date = interval.next();
314
+ t.equal(date.getHours(), 12, '12');
315
+ t.equal(date.getDate(), 30, '30th');
316
+ date = interval.next();
317
+ t.equal(date.getHours(), 12, '12');
318
+ t.equal(date.getDate(), 31, '31st');
319
+
320
+ options = {
321
+ currentDate : new Date('Sun Oct 30 2016 01:00:00 GMT+0200')
322
+ };
323
+
324
+ interval = CronExpression.parse('0 12 * * *', options);
325
+ t.ok(interval, 'Interval parsed');
326
+
327
+ date = interval.next();
328
+ t.equal(date.getHours(), 12, '12');
329
+ t.equal(date.getDate(), 30, '30th');
330
+ date = interval.next();
331
+ t.equal(date.getHours(), 12, '12');
332
+ t.equal(date.getDate(), 31, '31st');
333
+
334
+ options = {
335
+ currentDate : new Date('Sun Oct 30 2016 01:59:00 GMT+0200')
336
+ };
337
+
338
+ interval = CronExpression.parse('0 12 * * *', options);
339
+ t.ok(interval, 'Interval parsed');
340
+
341
+ date = interval.next();
342
+ t.equal(date.getHours(), 12, '12');
343
+ t.equal(date.getDate(), 30, '30th');
344
+ date = interval.next();
345
+ t.equal(date.getHours(), 12, '12');
346
+ t.equal(date.getDate(), 31, '31st');
347
+
348
+ options = {
349
+ currentDate : new Date('Sun Oct 30 2016 01:59:59 GMT+0200')
350
+ };
351
+
352
+ interval = CronExpression.parse('0 12 * * *', options);
353
+ t.ok(interval, 'Interval parsed');
354
+
355
+ date = interval.next();
356
+ t.equal(date.getHours(), 12, '12');
357
+ t.equal(date.getDate(), 30, '30th');
358
+ date = interval.next();
359
+ t.equal(date.getHours(), 12, '12');
360
+ t.equal(date.getDate(), 31, '31st');
361
+
362
+ options = {
363
+ currentDate : new Date('Sun Oct 30 2016 02:59:00 GMT+0200')
364
+ };
365
+
366
+ interval = CronExpression.parse('0 12 * * *', options);
367
+ t.ok(interval, 'Interval parsed');
368
+
369
+ date = interval.next();
370
+ t.equal(date.getHours(), 12, '12');
371
+ t.equal(date.getDate(), 30, '30th');
372
+ date = interval.next();
373
+ t.equal(date.getHours(), 12, '12');
374
+ t.equal(date.getDate(), 31, '31st');
375
+ } catch (err) {
376
+ t.error(err, 'Interval parse error');
377
+ }
378
+
379
+ t.end();
380
+ });
381
+
382
+ test('it will work with #131 issue case', function(t) {
383
+ var options = {
384
+ tz: 'America/Sao_Paulo',
385
+ currentDate : new Date('Sun Oct 30 2018 02:59:00 GMT+0200')
386
+ };
387
+
388
+ var interval = CronExpression.parse('0 9 1 1 *', options);
389
+ var date = interval.next();
390
+
391
+ t.equal(date.getFullYear(), 2019);
392
+ t.equal(date.getDate(), 1);
393
+ t.equal(date.getMonth(), 0);
394
+
395
+ date = interval.prev();
396
+ t.equal(date.getFullYear(), 2018);
397
+ t.equal(date.getDate(), 1);
398
+ t.equal(date.getMonth(), 0);
399
+
400
+ date = interval.prev();
401
+ t.equal(date.getFullYear(), 2017);
402
+ t.equal(date.getDate(), 1);
403
+ t.equal(date.getMonth(), 0);
404
+
405
+ t.end();
406
+ });
407
+
408
+ test('it will work with #137 issue case', function(t) {
409
+ var options = {
410
+ tz: 'America/New_York',
411
+ currentDate : new Date('10/28/2018')
412
+ };
413
+
414
+ var interval = CronExpression.parse('0 12 * * 3', options);
415
+ var date = interval.next();
416
+
417
+ t.equal(date.getFullYear(), 2018);
418
+ t.equal(date.getDate(), 31);
419
+ t.equal(date.getMonth(), 9);
420
+
421
+ t.end();
422
+ });
@@ -0,0 +1,131 @@
1
+ export type DateType = Date | number | string
2
+
3
+ export interface CronDate {
4
+ addYear(): void
5
+
6
+ addMonth(): void
7
+
8
+ addDay(): void
9
+
10
+ addHour(): void
11
+
12
+ addMinute(): void
13
+
14
+ addSecond(): void
15
+
16
+ subtractYear(): void
17
+
18
+ subtractMonth(): void
19
+
20
+ subtractDay(): void
21
+
22
+ subtractHour(): void
23
+
24
+ subtractMinute(): void
25
+
26
+ subtractSecond(): void
27
+
28
+ getDate(): number
29
+
30
+ getFullYear(): number
31
+
32
+ getDay(): number
33
+
34
+ getMonth(): number
35
+
36
+ getHours(): number
37
+
38
+ getMinutes(): number
39
+
40
+ getSeconds(): number
41
+
42
+ getMilliseconds(): number
43
+
44
+ getTime(): number
45
+
46
+ getUTCDate(): number
47
+
48
+ getUTCFullYear(): number
49
+
50
+ getUTCDay(): number
51
+
52
+ getUTCMonth(): number
53
+
54
+ getUTCHours(): number
55
+
56
+ getUTCMinutes(): number
57
+
58
+ getUTCSeconds(): number
59
+
60
+ toISOString(): string
61
+
62
+ toJSON(): string
63
+
64
+ setDate(d: number): void
65
+
66
+ setFullYear(y: number): void
67
+
68
+ setDay(d: number): void
69
+
70
+ setMonth(m: number): void
71
+
72
+ setHours(h: number): void
73
+
74
+ setMinutes(m: number): void
75
+
76
+ setSeconds(s: number): void
77
+
78
+ setMilliseconds(s: number): void
79
+
80
+ getTime(): number
81
+
82
+ toString(): string
83
+
84
+ toDate(): Date
85
+
86
+ isLastDayOfMonth(): boolean
87
+ }
88
+
89
+ export interface ParserOptions<IsIterable extends boolean = false> {
90
+ currentDate?: DateType
91
+ startDate?: DateType
92
+ endDate?: DateType
93
+ utc?: boolean
94
+ tz?: string
95
+ nthDayOfWeek?: number
96
+ iterator?: IsIterable
97
+ }
98
+
99
+ type IteratorResultOrCronDate<IsIterable extends boolean> = IsIterable extends true
100
+ ? IteratorResult<CronDate, CronDate>
101
+ : CronDate;
102
+
103
+ export interface ICronExpression<CronFields, IsIterable extends boolean> {
104
+ readonly fields: CronFields;
105
+
106
+ /** Find next suitable date */
107
+ next(): IteratorResultOrCronDate<IsIterable>
108
+
109
+ /** Find previous suitable date */
110
+ prev(): IteratorResultOrCronDate<IsIterable>
111
+
112
+ /** Check if next suitable date exists */
113
+ hasNext(): boolean
114
+
115
+ /** Check if previous suitable date exists */
116
+ hasPrev(): boolean
117
+
118
+ /** Iterate over expression iterator */
119
+ iterate(steps: number, callback?: (item: IteratorResultOrCronDate<IsIterable>, i: number) => void): IteratorResultOrCronDate<IsIterable>[]
120
+
121
+ /** Reset expression iterator state */
122
+ reset(resetDate?: string | number | Date): void
123
+
124
+ stringify(includeSeconds?: boolean): string
125
+ }
126
+
127
+ export interface IStringResult<CronFields> {
128
+ variables: Record<string, string>,
129
+ expressions: ICronExpression<CronFields, false>[],
130
+ errors: Record<string, any>,
131
+ }
@@ -0,0 +1,45 @@
1
+ import {
2
+ CronDate,
3
+ DateType,
4
+ ICronExpression,
5
+ IStringResult,
6
+ ParserOptions,
7
+ } from './common';
8
+
9
+ type BuildRangeTuple<Current extends [...number[]], Count extends number> =
10
+ Current["length"] extends Count
11
+ ? Current
12
+ : BuildRangeTuple<[number, ...Current], Count>
13
+ type RangeTuple<Count extends number> = BuildRangeTuple<[], Count>
14
+ type BuildRange<Current extends number, End extends number, Accu extends [...number[]]> =
15
+ Accu["length"] extends End
16
+ ? Current
17
+ : BuildRange<Current | Accu["length"], End, [number, ...Accu]>
18
+ type Range<StartInclusive extends number, EndExclusive extends number> = BuildRange<StartInclusive, EndExclusive, RangeTuple<StartInclusive>>
19
+
20
+ export type SixtyRange = Range<0, 30> | Range<30, 60>; // Typescript restriction on recursion depth
21
+ export type HourRange = Range<0, 24>;
22
+ export type DayOfTheMonthRange = Range<1, 32> | 'L';
23
+ export type MonthRange = Range<1, 13>;
24
+ export type DayOfTheWeekRange = Range<0, 8>;
25
+
26
+ export type CronFields = {
27
+ readonly second: readonly SixtyRange[];
28
+ readonly minute: readonly SixtyRange[];
29
+ readonly hour: readonly HourRange[];
30
+ readonly dayOfMonth: readonly DayOfTheMonthRange[];
31
+ readonly month: readonly MonthRange[];
32
+ readonly dayOfWeek: readonly DayOfTheWeekRange[];
33
+ }
34
+
35
+ export {ParserOptions, CronDate, DateType}
36
+ export type CronExpression<IsIterable extends boolean = false> = ICronExpression<CronFields, IsIterable>
37
+ export type StringResult = IStringResult<CronFields>
38
+
39
+ export function parseExpression<IsIterable extends boolean = false>(expression: string, options?: ParserOptions<IsIterable>): CronExpression<IsIterable>;
40
+
41
+ export function fieldsToExpression<IsIterable extends boolean = false>(fields: CronFields, options?: ParserOptions<IsIterable>): CronExpression<IsIterable>;
42
+
43
+ export function parseFile(filePath: string, callback: (err: any, data: StringResult) => any): void;
44
+
45
+ export function parseString(data: string): StringResult;
@@ -0,0 +1,28 @@
1
+ import {
2
+ CronDate,
3
+ DateType,
4
+ ICronExpression,
5
+ IStringResult,
6
+ ParserOptions,
7
+ } from '../common';
8
+
9
+ export type CronFields = {
10
+ readonly second: readonly number[];
11
+ readonly minute: readonly number[];
12
+ readonly hour: readonly number[];
13
+ readonly dayOfMonth: readonly (number | 'L')[];
14
+ readonly month: readonly number[];
15
+ readonly dayOfWeek: readonly number[];
16
+ }
17
+
18
+ export {ParserOptions, CronDate, DateType}
19
+ export type CronExpression<IsIterable extends boolean = false> = ICronExpression<CronFields, IsIterable>
20
+ export type StringResult = IStringResult<CronFields>
21
+
22
+ export function parseExpression<IsIterable extends boolean = false>(expression: string, options?: ParserOptions<IsIterable>): CronExpression<IsIterable>;
23
+
24
+ export function fieldsToExpression<IsIterable extends boolean = false>(fields: CronFields, options?: ParserOptions<IsIterable>): CronExpression<IsIterable>;
25
+
26
+ export function parseFile(filePath: string, callback: (err: any, data: StringResult) => any): void;
27
+
28
+ export function parseString(data: string): StringResult;
@@ -0,0 +1,15 @@
1
+ (The MIT License)
2
+
3
+ Copyright (c) 2011-2017 JP Richardson
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
6
+ (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify,
7
+ merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
11
+
12
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
14
+ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
15
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.