react-cron-generator 2.0.11 → 2.0.12

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.
package/README.md CHANGED
@@ -9,7 +9,9 @@ Package helps to build linux scheduler cron expression.
9
9
  [![npm version](https://badge.fury.io/js/react-cron-generator.svg)](https://badge.fury.io/js/react-cron-generator) ![Downloads](https://img.shields.io/npm/dm/react-cron-generator.svg)
10
10
  <a href="https://github.com/sojinantony01/react-spread-sheet/blob/main/LICENSE">
11
11
  <img src="https://img.shields.io/npm/l/react-cron-generator.svg" alt="license">
12
- </a>
12
+ </a> <span>E2E tests passing.</span>
13
+
14
+
13
15
 
14
16
  ```
15
17
  data = '* * * * * * *'
@@ -27,32 +29,25 @@ npm install react-cron-generator
27
29
 
28
30
 
29
31
  ```
30
- import React, { Component } from 'react'
32
+ import React, { useState } from 'react'
31
33
  import Cron from 'react-cron-generator'
32
34
  import 'react-cron-generator/dist/cron-builder.css'
33
35
 
34
36
 
35
- class App extends Component {
36
-
37
- constructor(props) {
38
- super(props);
39
- this.state = {
40
-
41
- };
42
- }
43
-
44
- render() {
45
- return (<div>
46
- <Cron
47
- onChange={(e)=> {this.setState({value:e});}}
48
- value={this.state.value}
49
- showResultText={true}
50
- showResultCron={true}
51
- />
52
-
53
- </div>)
54
- }
55
- }
37
+ const App = () => {
38
+ const [state, setState] = useState<State>({});
39
+
40
+ return (
41
+ <Cron
42
+ onChange={(e, text) => {
43
+ setState({ value: e });
44
+ }}
45
+ value={state.value}
46
+ showResultText={true}
47
+ showResultCron={true}
48
+ />
49
+ );
50
+ };
56
51
 
57
52
  export default App;
58
53
 
package/build/index.js CHANGED
@@ -26,11 +26,36 @@ var cronstrueI18n = {exports: {}};
26
26
  this.monthStartIndexZero = monthStartIndexZero;
27
27
  }
28
28
  CronParser.prototype.parse = function () {
29
- var parsed = this.extractParts(this.expression);
29
+ var _a;
30
+ var parsed;
31
+ var expression = (_a = this.expression) !== null && _a !== void 0 ? _a : '';
32
+ if (expression.startsWith('@')) {
33
+ var special = this.parseSpecial(this.expression);
34
+ parsed = this.extractParts(special);
35
+ }
36
+ else {
37
+ parsed = this.extractParts(this.expression);
38
+ }
30
39
  this.normalize(parsed);
31
40
  this.validate(parsed);
32
41
  return parsed;
33
42
  };
43
+ CronParser.prototype.parseSpecial = function (expression) {
44
+ var specialExpressions = {
45
+ '@yearly': '0 0 1 1 *',
46
+ '@annually': '0 0 1 1 *',
47
+ '@monthly': '0 0 1 * *',
48
+ '@weekly': '0 0 * * 0',
49
+ '@daily': '0 0 * * *',
50
+ '@midnight': '0 0 * * *',
51
+ '@hourly': '0 * * * *'
52
+ };
53
+ var special = specialExpressions[expression];
54
+ if (!special) {
55
+ throw new Error('Unknown special expression.');
56
+ }
57
+ return special;
58
+ };
34
59
  CronParser.prototype.extractParts = function (expression) {
35
60
  if (!this.expression) {
36
61
  throw new Error("cron expression is empty");
@@ -4777,13 +4802,13 @@ var cronstrueI18n = {exports: {}};
4777
4802
  return "Er is een fout opgetreden bij het vertalen van de gegevens. Controleer de gegevens.";
4778
4803
  };
4779
4804
  nl.prototype.atSpace = function () {
4780
- return "Op ";
4805
+ return "Om ";
4781
4806
  };
4782
4807
  nl.prototype.everyMinuteBetweenX0AndX1 = function () {
4783
4808
  return "Elke minuut tussen %s en %s";
4784
4809
  };
4785
4810
  nl.prototype.at = function () {
4786
- return "Op";
4811
+ return "Om";
4787
4812
  };
4788
4813
  nl.prototype.spaceAnd = function () {
4789
4814
  return " en";
@@ -4816,7 +4841,7 @@ var cronstrueI18n = {exports: {}};
4816
4841
  return "tussen %s en %s";
4817
4842
  };
4818
4843
  nl.prototype.atX0 = function () {
4819
- return "op %s";
4844
+ return "om %s";
4820
4845
  };
4821
4846
  nl.prototype.commaEveryDay = function () {
4822
4847
  return ", elke dag";
@@ -7509,7 +7534,7 @@ var cronstrueI18n = {exports: {}};
7509
7534
  return ", 仅%s";
7510
7535
  };
7511
7536
  zh_CN.prototype.commaAndOnX0 = function () {
7512
- return ", 并且为%s";
7537
+ return ", 或者为%s";
7513
7538
  };
7514
7539
  zh_CN.prototype.commaEveryX0Months = function () {
7515
7540
  return ", 每隔 %s 个月";
@@ -7690,7 +7715,7 @@ var cronstrueI18n = {exports: {}};
7690
7715
  return ", 僅在 %s";
7691
7716
  };
7692
7717
  zh_TW.prototype.commaAndOnX0 = function () {
7693
- return ", %s";
7718
+ return ", %s";
7694
7719
  };
7695
7720
  zh_TW.prototype.commaEveryX0Months = function () {
7696
7721
  return ", 每 %s 月";
@@ -8283,7 +8308,7 @@ function styleInject(css, ref) {
8283
8308
  }
8284
8309
  }
8285
8310
 
8286
- var css_248z = ".cron_builder_bordering {\n border: 1px solid #ddd;\n border-top: none;\n text-align: center;\n padding: 10px;\n background: #fff;\n}\n.cron_builder_bordering input, .cron_builder_bordering select {\n width: 100px;\n margin-right: 10px;\n margin-left: 10px;\n border: 1px solid #ddd;\n border-radius: 4px;\n outline: none;\n padding: 0px 5px;\n min-height: 28px;\n}\n.df {\n display: flex;\n}\n.cron-builder-bg {\n background-color: #086090;\n color: white;\n text-align: center;\n margin-bottom: 4px;\n padding: 8px 0px;\n}\n.cron_builder_bordering select {\n background-color: white;\n width: 75px;\n cursor: pointer;\n padding: 4px 2px;\n border-radius: 4px;\n}\n.cron_builder_bordering select:disabled{\n background-color: #f5f5f5;\n cursor: default;\n}\n.cron_builder_bordering select option:hover {\n background-color: #086090;\n}\n.well-small input {\n width: auto !important;\n}\n.cron_builder_bordering input[type='radio'] {\n margin-top: 0px;\n vertical-align: middle;\n}\n.cron_builder {\n border: 1px solid #d0cbcb;\n padding: 5px;\n background-color: #dddef13d;\n width: 100%;\n max-width: 600px;\n}\n.text_align_left {\n text-align: left;\n}\n.cron_builder .nav li {\n cursor: pointer;\n flex: 1 1 10px;\n text-align: center;\n width: 10px;\n display: flex;\n padding: 0px 1px;\n}\n.cron_builder .nav li a {\n color:#337ab7;\n width: 100%;\n padding: 10px;\n display: inline-block;\n border-radius: 4px 4px 0px 0px;\n}\n.cron_builder .nav-tabs .nav-link:focus, .cron_builder .nav-tabs .nav-link:hover {\n border-color: transparent transparent transparent;\n background-color: #eeeeee;\n}\n.cron_builder .nav-tabs .nav-item.show .nav-link, .cron_builder .nav-tabs .nav-link.active {\n border-color: #dee2e6 #dee2e6 #fff;\n background-color: #ffffff;\n}\n.cron_builder .nav-tabs .nav-item.show .nav-link, .cron_builder .nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: #ffffff;\n border-color: transparent transparent #ffffff;\n cursor: not-allowed;\n}\n.cron_builder { \n font-size: 14px;\n}\n.cron_builder .well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 5%);\n box-shadow: inset 0 1px 1px rgb(0 0 0 / 5%);\n}\n@media screen and (max-width:767px) {\n .cron_builder .nav li {\n cursor: pointer;\n flex: 0 0 65px;\n text-align: center;\n }\n}\n\n/* ---- boostrap ----- */\n.nav.nav-tabs {\n list-style: none;\n display: flex;\n margin: 0 0;\n padding-left: 0;\n}\n.row {\n display: flex;\n}\n.col-sm-6 {\n flex: 0 0 50%;\n}\n.min_height_auto {\n min-height: auto !important;\n}\nbody {\n font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";\n}";
8311
+ var css_248z = ".cron_builder_bordering {\n border: 1px solid #ddd;\n border-top: none;\n text-align: center;\n padding: 10px;\n background: #fff;\n}\n.cron_builder_bordering input, .cron_builder_bordering select {\n width: 100px;\n margin-right: 10px;\n margin-left: 10px;\n border: 1px solid #ddd;\n border-radius: 4px;\n outline: none;\n padding: 0px 5px;\n min-height: 28px;\n}\n.df {\n display: flex;\n}\n.cron-builder-bg {\n background-color: #086090;\n color: white;\n text-align: center;\n margin-bottom: 4px;\n padding: 8px 0px;\n}\n.cron_builder_bordering select {\n background-color: white;\n width: 75px;\n cursor: pointer;\n padding: 4px 2px;\n border-radius: 4px;\n}\n.cron_builder_bordering select:disabled{\n background-color: #f5f5f5;\n cursor: default;\n}\n.cron_builder_bordering select option:hover {\n background-color: #086090;\n}\n.well-small input {\n width: auto !important;\n}\n.cron_builder_bordering input[type='radio'] {\n margin-top: 0px;\n vertical-align: middle;\n}\n.cron_builder {\n border: 1px solid #d0cbcb;\n padding: 5px;\n background-color: #dddef13d;\n width: 100%;\n max-width: 600px;\n}\n.text_align_left {\n text-align: left;\n}\n.cron_builder .nav li {\n cursor: pointer;\n flex: 1 1 10px;\n text-align: center;\n width: 10px;\n display: flex;\n padding: 0px 1px;\n}\n.cron_builder .nav li a {\n color:#337ab7;\n width: 100%;\n padding: 10px;\n display: inline-block;\n border-radius: 4px 4px 0px 0px;\n}\n.cron_builder .nav-tabs .nav-link:focus, .cron_builder .nav-tabs .nav-link:hover {\n border-color: transparent transparent transparent;\n background-color: #eeeeee;\n}\n.cron_builder .nav-tabs .nav-item.show .nav-link, .cron_builder .nav-tabs .nav-link.active {\n border-color: #dee2e6 #dee2e6 #fff;\n background-color: #ffffff;\n}\n.cron_builder .nav-tabs .nav-item.show .nav-link, .cron_builder .nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: #ffffff;\n border-color: transparent transparent #ffffff;\n cursor: not-allowed;\n}\n.cron_builder { \n font-size: 14px;\n}\n.cron_builder .well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 5%);\n box-shadow: inset 0 1px 1px rgb(0 0 0 / 5%);\n}\n@media screen and (max-width:767px) {\n .cron_builder .nav li {\n cursor: pointer;\n flex: 0 0 65px;\n text-align: center;\n }\n}\n\n/* ---- boostrap ----- */\n.cron_builder .nav.nav-tabs {\n list-style: none;\n display: flex;\n margin: 0 0;\n padding-left: 0;\n}\n.cron_builder .row {\n display: flex;\n}\n.cron_builder .col-sm-6 {\n flex: 0 0 50%;\n}\n.cron_builder .min_height_auto {\n min-height: auto !important;\n}\n.cron_builder {\n font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";\n}\n";
8287
8312
  styleInject(css_248z);
8288
8313
 
8289
8314
  const defaultCron = '0 0 00 1/1 * ? *';