rrule-rust 3.0.0-alpha.7 → 3.0.0-alpha.8

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.
@@ -10,7 +10,7 @@ export interface DtStartLike<DT extends DateTimeLike | DateLike> {
10
10
  export declare class DtStart<DT extends DateTime<Time> | DateTime<undefined> = DateTime<Time>> {
11
11
  readonly datetime: DT;
12
12
  readonly tzid?: string;
13
- constructor(datetime: DateTime<Time> | DateTime<undefined>, tzid?: string);
13
+ constructor(datetime: DT, tzid?: string);
14
14
  constructor(options: DtStartOptions<DT>);
15
15
  static fromPlain(plain: DtStartLike<DateTimeLike>): DtStart<DateTime<Time>>;
16
16
  static fromPlain(plain: DtStartLike<DateLike>): DtStart<DateTime<undefined>>;
@@ -0,0 +1,20 @@
1
+ import { DateTime, type Time, type DateTimeLike, type DateLike } from './datetime';
2
+ export interface ExDateOptions<DT extends DateTime<Time> | DateTime<undefined>> {
3
+ values: DT[];
4
+ tzid?: string;
5
+ }
6
+ export interface ExDateLike<DT extends DateTimeLike | DateLike> {
7
+ values: DT[];
8
+ tzid?: string;
9
+ }
10
+ export declare class ExDate<DT extends DateTime<Time> | DateTime<undefined> = DateTime<Time>> {
11
+ readonly values: DT[];
12
+ readonly tzid?: string;
13
+ constructor(values: DT[], tzid?: string);
14
+ constructor(options: ExDateOptions<DT>);
15
+ static fromPlain(plain: ExDateLike<DateTimeLike>): ExDate<DateTime<Time>>;
16
+ static fromPlain(plain: ExDateLike<DateLike>): ExDate<DateTime<undefined>>;
17
+ setTzid(tzid: string | undefined): ExDate<DT>;
18
+ setValues<NDT extends DateTime<Time> | DateTime<undefined>>(datetimes: NDT[]): ExDate<NDT>;
19
+ toPlain<DTL extends DateTimeLike | DateLike = DT extends DateTime<Time> ? DateTimeLike : DateLike>(): ExDateLike<DTL>;
20
+ }
@@ -0,0 +1,47 @@
1
+ import { DateTime, } from './datetime';
2
+ import { ExDate as Rust } from './lib';
3
+ export class ExDate {
4
+ constructor(valuesOrOptions, tzid) {
5
+ if (!Array.isArray(valuesOrOptions)) {
6
+ this.values = valuesOrOptions.values;
7
+ this.tzid = valuesOrOptions.tzid;
8
+ }
9
+ else {
10
+ this.values = valuesOrOptions;
11
+ this.tzid = tzid;
12
+ }
13
+ }
14
+ /**
15
+ * @internal
16
+ */
17
+ static fromRust(rust) {
18
+ const rrule = new this(rust.values.map((dt) => DateTime.fromNumeric(dt)), rust.tzid ?? undefined);
19
+ rrule.rust = rust;
20
+ return rrule;
21
+ }
22
+ static fromPlain(plain) {
23
+ return new this({
24
+ values: plain.values.map((dt) => DateTime.fromPlain(dt)),
25
+ tzid: plain.tzid,
26
+ });
27
+ }
28
+ setTzid(tzid) {
29
+ return new ExDate(this.values, tzid);
30
+ }
31
+ setValues(datetimes) {
32
+ return new ExDate(datetimes, this.tzid);
33
+ }
34
+ toPlain() {
35
+ return {
36
+ values: this.values.map((dt) => dt.toPlain()),
37
+ tzid: this.tzid,
38
+ };
39
+ }
40
+ /**
41
+ * @internal
42
+ */
43
+ toRust() {
44
+ this.rust ??= new Rust(this.values.map((dt) => dt.toNumeric()), this.tzid);
45
+ return this.rust;
46
+ }
47
+ }
@@ -2,3 +2,5 @@ export * from './rrule-set';
2
2
  export * from './rrule';
3
3
  export * from './datetime';
4
4
  export * from './dtstart';
5
+ export * from './exdate';
6
+ export * from './rdate';
@@ -2,3 +2,5 @@ export * from './rrule-set';
2
2
  export * from './rrule';
3
3
  export * from './datetime';
4
4
  export * from './dtstart';
5
+ export * from './exdate';
6
+ export * from './rdate';
@@ -0,0 +1,20 @@
1
+ import { DateTime, type Time, type DateTimeLike, type DateLike } from './datetime';
2
+ export interface RDateOptions<DT extends DateTime<Time> | DateTime<undefined>> {
3
+ values: DT[];
4
+ tzid?: string;
5
+ }
6
+ export interface RDateLike<DT extends DateTimeLike | DateLike> {
7
+ values: DT[];
8
+ tzid?: string;
9
+ }
10
+ export declare class RDate<DT extends DateTime<Time> | DateTime<undefined> = DateTime<Time>> {
11
+ readonly values: DT[];
12
+ readonly tzid?: string;
13
+ constructor(values: DT[], tzid?: string);
14
+ constructor(options: RDateOptions<DT>);
15
+ static fromPlain(plain: RDateLike<DateTimeLike>): RDate<DateTime<Time>>;
16
+ static fromPlain(plain: RDateLike<DateLike>): RDate<DateTime<undefined>>;
17
+ setTzid(tzid: string | undefined): RDate<DT>;
18
+ setValues<NDT extends DateTime<Time> | DateTime<undefined>>(datetimes: NDT[]): RDate<NDT>;
19
+ toPlain<DTL extends DateTimeLike | DateLike = DT extends DateTime<Time> ? DateTimeLike : DateLike>(): RDateLike<DTL>;
20
+ }
@@ -0,0 +1,47 @@
1
+ import { DateTime, } from './datetime';
2
+ import { RDate as Rust } from './lib';
3
+ export class RDate {
4
+ constructor(valuesOrOptions, tzid) {
5
+ if (!Array.isArray(valuesOrOptions)) {
6
+ this.values = valuesOrOptions.values;
7
+ this.tzid = valuesOrOptions.tzid;
8
+ }
9
+ else {
10
+ this.values = valuesOrOptions;
11
+ this.tzid = tzid;
12
+ }
13
+ }
14
+ /**
15
+ * @internal
16
+ */
17
+ static fromRust(rust) {
18
+ const rrule = new this(rust.values.map((dt) => DateTime.fromNumeric(dt)), rust.tzid ?? undefined);
19
+ rrule.rust = rust;
20
+ return rrule;
21
+ }
22
+ static fromPlain(plain) {
23
+ return new this({
24
+ values: plain.values.map((dt) => DateTime.fromPlain(dt)),
25
+ tzid: plain.tzid,
26
+ });
27
+ }
28
+ setTzid(tzid) {
29
+ return new RDate(this.values, tzid);
30
+ }
31
+ setValues(datetimes) {
32
+ return new RDate(datetimes, this.tzid);
33
+ }
34
+ toPlain() {
35
+ return {
36
+ values: this.values.map((dt) => dt.toPlain()),
37
+ tzid: this.tzid,
38
+ };
39
+ }
40
+ /**
41
+ * @internal
42
+ */
43
+ toRust() {
44
+ this.rust ??= new Rust(this.values.map((dt) => dt.toNumeric()), this.tzid);
45
+ return this.rust;
46
+ }
47
+ }
@@ -1,26 +1,28 @@
1
1
  import { RRule, type RRuleLike } from './rrule';
2
2
  import { type Time, DateTime, type DateTimeLike, type DateLike } from './datetime';
3
3
  import { DtStart, type DtStartLike } from './dtstart';
4
+ import { ExDate, type ExDateLike } from './exdate';
5
+ import { RDate, type RDateLike } from './rdate';
4
6
  export interface RRuleSetOptions<DT extends DateTime<Time> | DateTime<undefined> = DateTime<Time>> {
5
7
  readonly dtstart: DtStart<DT>;
6
8
  readonly rrules?: readonly RRule<DT>[];
7
9
  readonly exrules?: readonly RRule<DT>[];
8
- readonly exdates?: readonly DT[];
9
- readonly rdates?: readonly DT[];
10
+ readonly exdates?: readonly ExDate<DT>[];
11
+ readonly rdates?: readonly RDate<DT>[];
10
12
  }
11
13
  export interface RRuleSetLike<DT extends DateTimeLike | DateLike> {
12
14
  readonly dtstart: DtStartLike<DT>;
13
15
  readonly rrules: readonly RRuleLike<DT>[];
14
16
  readonly exrules: readonly RRuleLike<DT>[];
15
- readonly exdates: readonly DT[];
16
- readonly rdates: readonly DT[];
17
+ readonly exdates: readonly ExDateLike<DT>[];
18
+ readonly rdates: readonly RDateLike<DT>[];
17
19
  }
18
20
  export declare class RRuleSet<DT extends DateTime<Time> | DateTime<undefined>> implements Iterable<DateTime<Time> | DateTime<undefined>> {
19
21
  readonly dtstart: DtStart<DT>;
20
22
  readonly rrules: readonly RRule<DT>[];
21
23
  readonly exrules: readonly RRule<DT>[];
22
- readonly exdates: readonly DT[];
23
- readonly rdates: readonly DT[];
24
+ readonly exdates: readonly ExDate<DT>[];
25
+ readonly rdates: readonly RDate<DT>[];
24
26
  constructor(dtstart: DtStart<DT>);
25
27
  constructor(options: RRuleSetOptions<DT>);
26
28
  /**
@@ -34,10 +36,10 @@ export declare class RRuleSet<DT extends DateTime<Time> | DateTime<undefined>> i
34
36
  setRrules(rrules: readonly RRule<DT>[]): RRuleSet<DT>;
35
37
  addExrule(rrule: RRule<DT>): RRuleSet<DT>;
36
38
  setExrules(rrules: readonly RRule<DT>[]): RRuleSet<DT>;
37
- addExdate(datetime: DT): RRuleSet<DT>;
38
- setExdates(datetimes: readonly DT[]): RRuleSet<DT>;
39
- addRdate(datetime: DT): RRuleSet<DT>;
40
- setRdates(datetimes: readonly DT[]): RRuleSet<DT>;
39
+ addExdate(exdate: ExDate<DT>): RRuleSet<DT>;
40
+ setExdates(exdates: readonly ExDate<DT>[]): RRuleSet<DT>;
41
+ addRdate(datetime: RDate<DT>): RRuleSet<DT>;
42
+ setRdates(datetimes: readonly RDate<DT>[]): RRuleSet<DT>;
41
43
  /**
42
44
  * Returns all the occurrences of the rrule.
43
45
  *
@@ -2,6 +2,8 @@ import { RRule } from './rrule';
2
2
  import { RRuleSet as Rust } from './lib';
3
3
  import { DateTime, } from './datetime';
4
4
  import { DtStart } from './dtstart';
5
+ import { ExDate } from './exdate';
6
+ import { RDate } from './rdate';
5
7
  export class RRuleSet {
6
8
  constructor(optionsOrDtstart) {
7
9
  if ('dtstart' in optionsOrDtstart) {
@@ -30,8 +32,8 @@ export class RRuleSet {
30
32
  dtstart: DtStart.fromPlain(plain.dtstart),
31
33
  rrules: plain.rrules.map((rrule) => RRule.fromPlain(rrule)),
32
34
  exrules: plain.exrules.map((rrule) => RRule.fromPlain(rrule)),
33
- exdates: plain.exdates.map((datetime) => DateTime.fromPlain(datetime)),
34
- rdates: plain.rdates.map((datetime) => DateTime.fromPlain(datetime)),
35
+ exdates: plain.exdates.map((datetime) => ExDate.fromPlain(datetime)),
36
+ rdates: plain.rdates.map((datetime) => RDate.fromPlain(datetime)),
35
37
  });
36
38
  }
37
39
  /**
@@ -45,8 +47,8 @@ export class RRuleSet {
45
47
  }),
46
48
  rrules: rust.rrules.map((rrule) => RRule.fromRust(rrule)),
47
49
  exrules: rust.exrules.map((rrule) => RRule.fromRust(rrule)),
48
- exdates: rust.exdates.map((datetime) => DateTime.fromNumeric(datetime)),
49
- rdates: rust.rdates.map((datetime) => DateTime.fromNumeric(datetime)),
50
+ exdates: rust.exdates.map((exdate) => ExDate.fromRust(exdate)),
51
+ rdates: rust.rdates.map((rdate) => RDate.fromRust(rdate)),
50
52
  });
51
53
  set.rust = rust;
52
54
  return set;
@@ -81,16 +83,16 @@ export class RRuleSet {
81
83
  exrules: rrules,
82
84
  });
83
85
  }
84
- addExdate(datetime) {
86
+ addExdate(exdate) {
85
87
  return new RRuleSet({
86
88
  ...this.toOptions(),
87
- exdates: [...this.exdates, datetime],
89
+ exdates: [...this.exdates, exdate],
88
90
  });
89
91
  }
90
- setExdates(datetimes) {
92
+ setExdates(exdates) {
91
93
  return new RRuleSet({
92
94
  ...this.toOptions(),
93
- exdates: datetimes,
95
+ exdates: exdates,
94
96
  });
95
97
  }
96
98
  addRdate(datetime) {
@@ -139,7 +141,7 @@ export class RRuleSet {
139
141
  * @internal
140
142
  */
141
143
  toRust() {
142
- this.rust ??= new Rust(this.dtstart.datetime.toNumeric(), this.dtstart.tzid, undefined, this.rrules.map((rrule) => rrule.toRust()), this.exrules.map((rrule) => rrule.toRust()), this.exdates.map((datetime) => datetime.toNumeric()), this.rdates.map((datetime) => datetime.toNumeric()));
144
+ this.rust ??= new Rust(this.dtstart.datetime.toNumeric(), this.dtstart.tzid, undefined, this.rrules.map((rrule) => rrule.toRust()), this.exrules.map((rrule) => rrule.toRust()), this.exdates.map((exdate) => exdate.toRust()), this.rdates.map((rdate) => rdate.toRust()));
143
145
  return this.rust;
144
146
  }
145
147
  toString() {
@@ -10,7 +10,7 @@ export interface DtStartLike<DT extends DateTimeLike | DateLike> {
10
10
  export declare class DtStart<DT extends DateTime<Time> | DateTime<undefined> = DateTime<Time>> {
11
11
  readonly datetime: DT;
12
12
  readonly tzid?: string;
13
- constructor(datetime: DateTime<Time> | DateTime<undefined>, tzid?: string);
13
+ constructor(datetime: DT, tzid?: string);
14
14
  constructor(options: DtStartOptions<DT>);
15
15
  static fromPlain(plain: DtStartLike<DateTimeLike>): DtStart<DateTime<Time>>;
16
16
  static fromPlain(plain: DtStartLike<DateLike>): DtStart<DateTime<undefined>>;
@@ -0,0 +1,20 @@
1
+ import { DateTime, type Time, type DateTimeLike, type DateLike } from './datetime';
2
+ export interface ExDateOptions<DT extends DateTime<Time> | DateTime<undefined>> {
3
+ values: DT[];
4
+ tzid?: string;
5
+ }
6
+ export interface ExDateLike<DT extends DateTimeLike | DateLike> {
7
+ values: DT[];
8
+ tzid?: string;
9
+ }
10
+ export declare class ExDate<DT extends DateTime<Time> | DateTime<undefined> = DateTime<Time>> {
11
+ readonly values: DT[];
12
+ readonly tzid?: string;
13
+ constructor(values: DT[], tzid?: string);
14
+ constructor(options: ExDateOptions<DT>);
15
+ static fromPlain(plain: ExDateLike<DateTimeLike>): ExDate<DateTime<Time>>;
16
+ static fromPlain(plain: ExDateLike<DateLike>): ExDate<DateTime<undefined>>;
17
+ setTzid(tzid: string | undefined): ExDate<DT>;
18
+ setValues<NDT extends DateTime<Time> | DateTime<undefined>>(datetimes: NDT[]): ExDate<NDT>;
19
+ toPlain<DTL extends DateTimeLike | DateLike = DT extends DateTime<Time> ? DateTimeLike : DateLike>(): ExDateLike<DTL>;
20
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExDate = void 0;
4
+ const datetime_1 = require("./datetime");
5
+ const lib_1 = require("./lib");
6
+ class ExDate {
7
+ constructor(valuesOrOptions, tzid) {
8
+ if (!Array.isArray(valuesOrOptions)) {
9
+ this.values = valuesOrOptions.values;
10
+ this.tzid = valuesOrOptions.tzid;
11
+ }
12
+ else {
13
+ this.values = valuesOrOptions;
14
+ this.tzid = tzid;
15
+ }
16
+ }
17
+ /**
18
+ * @internal
19
+ */
20
+ static fromRust(rust) {
21
+ const rrule = new this(rust.values.map((dt) => datetime_1.DateTime.fromNumeric(dt)), rust.tzid ?? undefined);
22
+ rrule.rust = rust;
23
+ return rrule;
24
+ }
25
+ static fromPlain(plain) {
26
+ return new this({
27
+ values: plain.values.map((dt) => datetime_1.DateTime.fromPlain(dt)),
28
+ tzid: plain.tzid,
29
+ });
30
+ }
31
+ setTzid(tzid) {
32
+ return new ExDate(this.values, tzid);
33
+ }
34
+ setValues(datetimes) {
35
+ return new ExDate(datetimes, this.tzid);
36
+ }
37
+ toPlain() {
38
+ return {
39
+ values: this.values.map((dt) => dt.toPlain()),
40
+ tzid: this.tzid,
41
+ };
42
+ }
43
+ /**
44
+ * @internal
45
+ */
46
+ toRust() {
47
+ this.rust ??= new lib_1.ExDate(this.values.map((dt) => dt.toNumeric()), this.tzid);
48
+ return this.rust;
49
+ }
50
+ }
51
+ exports.ExDate = ExDate;
@@ -2,3 +2,5 @@ export * from './rrule-set';
2
2
  export * from './rrule';
3
3
  export * from './datetime';
4
4
  export * from './dtstart';
5
+ export * from './exdate';
6
+ export * from './rdate';
@@ -18,3 +18,5 @@ __exportStar(require("./rrule-set"), exports);
18
18
  __exportStar(require("./rrule"), exports);
19
19
  __exportStar(require("./datetime"), exports);
20
20
  __exportStar(require("./dtstart"), exports);
21
+ __exportStar(require("./exdate"), exports);
22
+ __exportStar(require("./rdate"), exports);
@@ -393,6 +393,8 @@ if (!nativeBinding) {
393
393
  }
394
394
 
395
395
  module.exports = nativeBinding
396
+ module.exports.ExDate = nativeBinding.ExDate
397
+ module.exports.RDate = nativeBinding.RDate
396
398
  module.exports.RRule = nativeBinding.RRule
397
399
  module.exports.RRuleSet = nativeBinding.RRuleSet
398
400
  module.exports.RRuleSetIterator = nativeBinding.RRuleSetIterator
@@ -108,6 +108,8 @@ const { instance: __napiInstance, module: __wasiModule, napiModule: __napiModule
108
108
  },
109
109
  })
110
110
  module.exports = __napiModule.exports
111
+ module.exports.ExDate = __napiModule.exports.ExDate
112
+ module.exports.RDate = __napiModule.exports.RDate
111
113
  module.exports.RRule = __napiModule.exports.RRule
112
114
  module.exports.RRuleSet = __napiModule.exports.RRuleSet
113
115
  module.exports.RRuleSetIterator = __napiModule.exports.RRuleSetIterator
@@ -0,0 +1,20 @@
1
+ import { DateTime, type Time, type DateTimeLike, type DateLike } from './datetime';
2
+ export interface RDateOptions<DT extends DateTime<Time> | DateTime<undefined>> {
3
+ values: DT[];
4
+ tzid?: string;
5
+ }
6
+ export interface RDateLike<DT extends DateTimeLike | DateLike> {
7
+ values: DT[];
8
+ tzid?: string;
9
+ }
10
+ export declare class RDate<DT extends DateTime<Time> | DateTime<undefined> = DateTime<Time>> {
11
+ readonly values: DT[];
12
+ readonly tzid?: string;
13
+ constructor(values: DT[], tzid?: string);
14
+ constructor(options: RDateOptions<DT>);
15
+ static fromPlain(plain: RDateLike<DateTimeLike>): RDate<DateTime<Time>>;
16
+ static fromPlain(plain: RDateLike<DateLike>): RDate<DateTime<undefined>>;
17
+ setTzid(tzid: string | undefined): RDate<DT>;
18
+ setValues<NDT extends DateTime<Time> | DateTime<undefined>>(datetimes: NDT[]): RDate<NDT>;
19
+ toPlain<DTL extends DateTimeLike | DateLike = DT extends DateTime<Time> ? DateTimeLike : DateLike>(): RDateLike<DTL>;
20
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RDate = void 0;
4
+ const datetime_1 = require("./datetime");
5
+ const lib_1 = require("./lib");
6
+ class RDate {
7
+ constructor(valuesOrOptions, tzid) {
8
+ if (!Array.isArray(valuesOrOptions)) {
9
+ this.values = valuesOrOptions.values;
10
+ this.tzid = valuesOrOptions.tzid;
11
+ }
12
+ else {
13
+ this.values = valuesOrOptions;
14
+ this.tzid = tzid;
15
+ }
16
+ }
17
+ /**
18
+ * @internal
19
+ */
20
+ static fromRust(rust) {
21
+ const rrule = new this(rust.values.map((dt) => datetime_1.DateTime.fromNumeric(dt)), rust.tzid ?? undefined);
22
+ rrule.rust = rust;
23
+ return rrule;
24
+ }
25
+ static fromPlain(plain) {
26
+ return new this({
27
+ values: plain.values.map((dt) => datetime_1.DateTime.fromPlain(dt)),
28
+ tzid: plain.tzid,
29
+ });
30
+ }
31
+ setTzid(tzid) {
32
+ return new RDate(this.values, tzid);
33
+ }
34
+ setValues(datetimes) {
35
+ return new RDate(datetimes, this.tzid);
36
+ }
37
+ toPlain() {
38
+ return {
39
+ values: this.values.map((dt) => dt.toPlain()),
40
+ tzid: this.tzid,
41
+ };
42
+ }
43
+ /**
44
+ * @internal
45
+ */
46
+ toRust() {
47
+ this.rust ??= new lib_1.RDate(this.values.map((dt) => dt.toNumeric()), this.tzid);
48
+ return this.rust;
49
+ }
50
+ }
51
+ exports.RDate = RDate;
@@ -1,26 +1,28 @@
1
1
  import { RRule, type RRuleLike } from './rrule';
2
2
  import { type Time, DateTime, type DateTimeLike, type DateLike } from './datetime';
3
3
  import { DtStart, type DtStartLike } from './dtstart';
4
+ import { ExDate, type ExDateLike } from './exdate';
5
+ import { RDate, type RDateLike } from './rdate';
4
6
  export interface RRuleSetOptions<DT extends DateTime<Time> | DateTime<undefined> = DateTime<Time>> {
5
7
  readonly dtstart: DtStart<DT>;
6
8
  readonly rrules?: readonly RRule<DT>[];
7
9
  readonly exrules?: readonly RRule<DT>[];
8
- readonly exdates?: readonly DT[];
9
- readonly rdates?: readonly DT[];
10
+ readonly exdates?: readonly ExDate<DT>[];
11
+ readonly rdates?: readonly RDate<DT>[];
10
12
  }
11
13
  export interface RRuleSetLike<DT extends DateTimeLike | DateLike> {
12
14
  readonly dtstart: DtStartLike<DT>;
13
15
  readonly rrules: readonly RRuleLike<DT>[];
14
16
  readonly exrules: readonly RRuleLike<DT>[];
15
- readonly exdates: readonly DT[];
16
- readonly rdates: readonly DT[];
17
+ readonly exdates: readonly ExDateLike<DT>[];
18
+ readonly rdates: readonly RDateLike<DT>[];
17
19
  }
18
20
  export declare class RRuleSet<DT extends DateTime<Time> | DateTime<undefined>> implements Iterable<DateTime<Time> | DateTime<undefined>> {
19
21
  readonly dtstart: DtStart<DT>;
20
22
  readonly rrules: readonly RRule<DT>[];
21
23
  readonly exrules: readonly RRule<DT>[];
22
- readonly exdates: readonly DT[];
23
- readonly rdates: readonly DT[];
24
+ readonly exdates: readonly ExDate<DT>[];
25
+ readonly rdates: readonly RDate<DT>[];
24
26
  constructor(dtstart: DtStart<DT>);
25
27
  constructor(options: RRuleSetOptions<DT>);
26
28
  /**
@@ -34,10 +36,10 @@ export declare class RRuleSet<DT extends DateTime<Time> | DateTime<undefined>> i
34
36
  setRrules(rrules: readonly RRule<DT>[]): RRuleSet<DT>;
35
37
  addExrule(rrule: RRule<DT>): RRuleSet<DT>;
36
38
  setExrules(rrules: readonly RRule<DT>[]): RRuleSet<DT>;
37
- addExdate(datetime: DT): RRuleSet<DT>;
38
- setExdates(datetimes: readonly DT[]): RRuleSet<DT>;
39
- addRdate(datetime: DT): RRuleSet<DT>;
40
- setRdates(datetimes: readonly DT[]): RRuleSet<DT>;
39
+ addExdate(exdate: ExDate<DT>): RRuleSet<DT>;
40
+ setExdates(exdates: readonly ExDate<DT>[]): RRuleSet<DT>;
41
+ addRdate(datetime: RDate<DT>): RRuleSet<DT>;
42
+ setRdates(datetimes: readonly RDate<DT>[]): RRuleSet<DT>;
41
43
  /**
42
44
  * Returns all the occurrences of the rrule.
43
45
  *
@@ -5,6 +5,8 @@ const rrule_1 = require("./rrule");
5
5
  const lib_1 = require("./lib");
6
6
  const datetime_1 = require("./datetime");
7
7
  const dtstart_1 = require("./dtstart");
8
+ const exdate_1 = require("./exdate");
9
+ const rdate_1 = require("./rdate");
8
10
  class RRuleSet {
9
11
  constructor(optionsOrDtstart) {
10
12
  if ('dtstart' in optionsOrDtstart) {
@@ -33,8 +35,8 @@ class RRuleSet {
33
35
  dtstart: dtstart_1.DtStart.fromPlain(plain.dtstart),
34
36
  rrules: plain.rrules.map((rrule) => rrule_1.RRule.fromPlain(rrule)),
35
37
  exrules: plain.exrules.map((rrule) => rrule_1.RRule.fromPlain(rrule)),
36
- exdates: plain.exdates.map((datetime) => datetime_1.DateTime.fromPlain(datetime)),
37
- rdates: plain.rdates.map((datetime) => datetime_1.DateTime.fromPlain(datetime)),
38
+ exdates: plain.exdates.map((datetime) => exdate_1.ExDate.fromPlain(datetime)),
39
+ rdates: plain.rdates.map((datetime) => rdate_1.RDate.fromPlain(datetime)),
38
40
  });
39
41
  }
40
42
  /**
@@ -48,8 +50,8 @@ class RRuleSet {
48
50
  }),
49
51
  rrules: rust.rrules.map((rrule) => rrule_1.RRule.fromRust(rrule)),
50
52
  exrules: rust.exrules.map((rrule) => rrule_1.RRule.fromRust(rrule)),
51
- exdates: rust.exdates.map((datetime) => datetime_1.DateTime.fromNumeric(datetime)),
52
- rdates: rust.rdates.map((datetime) => datetime_1.DateTime.fromNumeric(datetime)),
53
+ exdates: rust.exdates.map((exdate) => exdate_1.ExDate.fromRust(exdate)),
54
+ rdates: rust.rdates.map((rdate) => rdate_1.RDate.fromRust(rdate)),
53
55
  });
54
56
  set.rust = rust;
55
57
  return set;
@@ -84,16 +86,16 @@ class RRuleSet {
84
86
  exrules: rrules,
85
87
  });
86
88
  }
87
- addExdate(datetime) {
89
+ addExdate(exdate) {
88
90
  return new RRuleSet({
89
91
  ...this.toOptions(),
90
- exdates: [...this.exdates, datetime],
92
+ exdates: [...this.exdates, exdate],
91
93
  });
92
94
  }
93
- setExdates(datetimes) {
95
+ setExdates(exdates) {
94
96
  return new RRuleSet({
95
97
  ...this.toOptions(),
96
- exdates: datetimes,
98
+ exdates: exdates,
97
99
  });
98
100
  }
99
101
  addRdate(datetime) {
@@ -142,7 +144,7 @@ class RRuleSet {
142
144
  * @internal
143
145
  */
144
146
  toRust() {
145
- this.rust ??= new lib_1.RRuleSet(this.dtstart.datetime.toNumeric(), this.dtstart.tzid, undefined, this.rrules.map((rrule) => rrule.toRust()), this.exrules.map((rrule) => rrule.toRust()), this.exdates.map((datetime) => datetime.toNumeric()), this.rdates.map((datetime) => datetime.toNumeric()));
147
+ this.rust ??= new lib_1.RRuleSet(this.dtstart.datetime.toNumeric(), this.dtstart.tzid, undefined, this.rrules.map((rrule) => rrule.toRust()), this.exrules.map((rrule) => rrule.toRust()), this.exdates.map((exdate) => exdate.toRust()), this.rdates.map((rdate) => rdate.toRust()));
146
148
  return this.rust;
147
149
  }
148
150
  toString() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rrule-rust",
3
- "version": "3.0.0-alpha.7",
3
+ "version": "3.0.0-alpha.8",
4
4
  "main": "dist/node/index.js",
5
5
  "browser": "dist/browser/index.js",
6
6
  "keywords": [
@@ -96,19 +96,19 @@
96
96
  "prepublishOnly": "npm run build && napi prepublish -t npm"
97
97
  },
98
98
  "optionalDependencies": {
99
- "@rrule-rust/lib-win32-x64-msvc": "3.0.0-alpha.7",
100
- "@rrule-rust/lib-darwin-x64": "3.0.0-alpha.7",
101
- "@rrule-rust/lib-linux-x64-gnu": "3.0.0-alpha.7",
102
- "@rrule-rust/lib-linux-x64-musl": "3.0.0-alpha.7",
103
- "@rrule-rust/lib-linux-arm64-gnu": "3.0.0-alpha.7",
104
- "@rrule-rust/lib-win32-ia32-msvc": "3.0.0-alpha.7",
105
- "@rrule-rust/lib-linux-arm-gnueabihf": "3.0.0-alpha.7",
106
- "@rrule-rust/lib-darwin-arm64": "3.0.0-alpha.7",
107
- "@rrule-rust/lib-android-arm64": "3.0.0-alpha.7",
108
- "@rrule-rust/lib-freebsd-x64": "3.0.0-alpha.7",
109
- "@rrule-rust/lib-linux-arm64-musl": "3.0.0-alpha.7",
110
- "@rrule-rust/lib-win32-arm64-msvc": "3.0.0-alpha.7",
111
- "@rrule-rust/lib-android-arm-eabi": "3.0.0-alpha.7",
112
- "@rrule-rust/lib-wasm32-wasi": "3.0.0-alpha.7"
99
+ "@rrule-rust/lib-win32-x64-msvc": "3.0.0-alpha.8",
100
+ "@rrule-rust/lib-darwin-x64": "3.0.0-alpha.8",
101
+ "@rrule-rust/lib-linux-x64-gnu": "3.0.0-alpha.8",
102
+ "@rrule-rust/lib-linux-x64-musl": "3.0.0-alpha.8",
103
+ "@rrule-rust/lib-linux-arm64-gnu": "3.0.0-alpha.8",
104
+ "@rrule-rust/lib-win32-ia32-msvc": "3.0.0-alpha.8",
105
+ "@rrule-rust/lib-linux-arm-gnueabihf": "3.0.0-alpha.8",
106
+ "@rrule-rust/lib-darwin-arm64": "3.0.0-alpha.8",
107
+ "@rrule-rust/lib-android-arm64": "3.0.0-alpha.8",
108
+ "@rrule-rust/lib-freebsd-x64": "3.0.0-alpha.8",
109
+ "@rrule-rust/lib-linux-arm64-musl": "3.0.0-alpha.8",
110
+ "@rrule-rust/lib-win32-arm64-msvc": "3.0.0-alpha.8",
111
+ "@rrule-rust/lib-android-arm-eabi": "3.0.0-alpha.8",
112
+ "@rrule-rust/lib-wasm32-wasi": "3.0.0-alpha.8"
113
113
  }
114
114
  }