@sprucelabs/calendar-utils 42.0.491 → 42.0.492

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.
@@ -23,3 +23,4 @@ export * from './dates';
23
23
  export { SpruceSchemas } from './.spruce/schemas/schemas.types';
24
24
  export * from './constants';
25
25
  export { default as DurationUtilBuilder } from './utilities/DurationUtilBuilder';
26
+ export { default as DateUtilBuilder } from './utilities/DateUtilBuilder';
@@ -22,3 +22,4 @@ export { default as RepeatingRuleTextGenerator } from './utilities/RepeatingRule
22
22
  export * from './dates.js';
23
23
  export * from './constants.js';
24
24
  export { default as DurationUtilBuilder } from './utilities/DurationUtilBuilder.js';
25
+ export { default as DateUtilBuilder } from './utilities/DateUtilBuilder.js';
@@ -0,0 +1,6 @@
1
+ import { DateUtil, TimezoneName } from '../types/calendar.types';
2
+ export default class DateUtilBuilder {
3
+ static lastBuiltDateUtil?: DateUtil;
4
+ static getForTimezone(timezone: TimezoneName): Promise<DateUtil>;
5
+ static reset(): void;
6
+ }
@@ -0,0 +1,16 @@
1
+ import DateUtilDecorator from '../locales/DateUtilDecorator.js';
2
+ import LocaleImpl from '../locales/Locale.js';
3
+ import dateUtil from './date.utility.js';
4
+ export default class DateUtilBuilder {
5
+ static async getForTimezone(timezone) {
6
+ const locale = new LocaleImpl();
7
+ await locale.setZoneName(timezone);
8
+ const decorator = new DateUtilDecorator(locale);
9
+ const results = decorator.makeLocaleAware(dateUtil);
10
+ this.lastBuiltDateUtil = results;
11
+ return results;
12
+ }
13
+ static reset() {
14
+ delete this.lastBuiltDateUtil;
15
+ }
16
+ }
@@ -1,6 +1,7 @@
1
1
  import { DateUtil, DurationUtil, TimezoneName } from '../types/calendar.types';
2
2
  declare const dateAssert: {
3
3
  isLocaleAware(datesOrDuration: DateUtil | DurationUtil): void;
4
+ timezoneOfLastBuiltDateUtilEquals(timezone: TimezoneName): void;
4
5
  currentTimezoneEquals(datesOrDuration: DateUtil | DurationUtil, timezone: TimezoneName): void;
5
6
  };
6
7
  export default dateAssert;
@@ -1,15 +1,22 @@
1
+ import { assertOptions } from '@sprucelabs/schema';
1
2
  import { assert } from '@sprucelabs/test-utils';
3
+ import DateUtilBuilder from './DateUtilBuilder.js';
2
4
  const dateAssert = {
3
5
  isLocaleAware(datesOrDuration) {
4
6
  //@ts-ignore
5
- if (datesOrDuration.dates) {
7
+ if (datesOrDuration?.dates) {
6
8
  //@ts-ignore
7
9
  this.isLocaleAware(datesOrDuration.dates);
8
10
  return;
9
11
  }
10
12
  assert.isTrue(
11
13
  //@ts-ignore
12
- datesOrDuration.__beenDecorated, `DateUtil is not locale aware. Try using the DateUtilDecorator to make it locale aware.`);
14
+ datesOrDuration?.__beenDecorated, `DateUtil is not locale aware. Try using the DateUtilDecorator to make it locale aware.`);
15
+ },
16
+ timezoneOfLastBuiltDateUtilEquals(timezone) {
17
+ assertOptions({ timezone }, ['timezone']);
18
+ this.isLocaleAware(DateUtilBuilder.lastBuiltDateUtil);
19
+ this.currentTimezoneEquals(DateUtilBuilder.lastBuiltDateUtil, timezone);
13
20
  },
14
21
  currentTimezoneEquals(datesOrDuration, timezone) {
15
22
  this.isLocaleAware(datesOrDuration);
package/build/index.d.ts CHANGED
@@ -23,3 +23,4 @@ export * from './dates';
23
23
  export { SpruceSchemas } from './.spruce/schemas/schemas.types';
24
24
  export * from './constants';
25
25
  export { default as DurationUtilBuilder } from './utilities/DurationUtilBuilder';
26
+ export { default as DateUtilBuilder } from './utilities/DateUtilBuilder';
package/build/index.js CHANGED
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.DurationUtilBuilder = exports.RepeatingRuleTextGenerator = exports.sortTimezoneChoices = exports.DateParser = exports.calendarEventLineIconSchema = exports.eventTimeBlockSchema = exports.eventExclusionDateSchema = exports.calendarEventTargetSchema = exports.calendarEventSchema = exports.calculateEventDurationMinutes = exports.calculateEventDurationMillis = exports.TimezoneChoiceSorter = exports.DateUtilDecorator = exports.LocaleImpl = exports.PeopleSorter = exports.dateAssert = exports.durationUtil = exports.dateUtil = exports.calendarUtil = void 0;
20
+ exports.DateUtilBuilder = exports.DurationUtilBuilder = exports.RepeatingRuleTextGenerator = exports.sortTimezoneChoices = exports.DateParser = exports.calendarEventLineIconSchema = exports.eventTimeBlockSchema = exports.eventExclusionDateSchema = exports.calendarEventTargetSchema = exports.calendarEventSchema = exports.calculateEventDurationMinutes = exports.calculateEventDurationMillis = exports.TimezoneChoiceSorter = exports.DateUtilDecorator = exports.LocaleImpl = exports.PeopleSorter = exports.dateAssert = exports.durationUtil = exports.dateUtil = exports.calendarUtil = void 0;
21
21
  var calendar_utility_1 = require("./utilities/calendar.utility");
22
22
  Object.defineProperty(exports, "calendarUtil", { enumerable: true, get: function () { return __importDefault(calendar_utility_1).default; } });
23
23
  var date_utility_1 = require("./utilities/date.utility");
@@ -61,3 +61,5 @@ __exportStar(require("./dates"), exports);
61
61
  __exportStar(require("./constants"), exports);
62
62
  var DurationUtilBuilder_1 = require("./utilities/DurationUtilBuilder");
63
63
  Object.defineProperty(exports, "DurationUtilBuilder", { enumerable: true, get: function () { return __importDefault(DurationUtilBuilder_1).default; } });
64
+ var DateUtilBuilder_1 = require("./utilities/DateUtilBuilder");
65
+ Object.defineProperty(exports, "DateUtilBuilder", { enumerable: true, get: function () { return __importDefault(DateUtilBuilder_1).default; } });
@@ -0,0 +1,6 @@
1
+ import { DateUtil, TimezoneName } from '../types/calendar.types';
2
+ export default class DateUtilBuilder {
3
+ static lastBuiltDateUtil?: DateUtil;
4
+ static getForTimezone(timezone: TimezoneName): Promise<DateUtil>;
5
+ static reset(): void;
6
+ }
@@ -0,0 +1,22 @@
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
+ const DateUtilDecorator_1 = __importDefault(require("../locales/DateUtilDecorator"));
7
+ const Locale_1 = __importDefault(require("../locales/Locale"));
8
+ const date_utility_1 = __importDefault(require("./date.utility"));
9
+ class DateUtilBuilder {
10
+ static async getForTimezone(timezone) {
11
+ const locale = new Locale_1.default();
12
+ await locale.setZoneName(timezone);
13
+ const decorator = new DateUtilDecorator_1.default(locale);
14
+ const results = decorator.makeLocaleAware(date_utility_1.default);
15
+ this.lastBuiltDateUtil = results;
16
+ return results;
17
+ }
18
+ static reset() {
19
+ delete this.lastBuiltDateUtil;
20
+ }
21
+ }
22
+ exports.default = DateUtilBuilder;
@@ -1,6 +1,7 @@
1
1
  import { DateUtil, DurationUtil, TimezoneName } from '../types/calendar.types';
2
2
  declare const dateAssert: {
3
3
  isLocaleAware(datesOrDuration: DateUtil | DurationUtil): void;
4
+ timezoneOfLastBuiltDateUtilEquals(timezone: TimezoneName): void;
4
5
  currentTimezoneEquals(datesOrDuration: DateUtil | DurationUtil, timezone: TimezoneName): void;
5
6
  };
6
7
  export default dateAssert;
@@ -1,17 +1,27 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const schema_1 = require("@sprucelabs/schema");
3
7
  const test_utils_1 = require("@sprucelabs/test-utils");
8
+ const DateUtilBuilder_1 = __importDefault(require("./DateUtilBuilder"));
4
9
  const dateAssert = {
5
10
  isLocaleAware(datesOrDuration) {
6
11
  //@ts-ignore
7
- if (datesOrDuration.dates) {
12
+ if (datesOrDuration?.dates) {
8
13
  //@ts-ignore
9
14
  this.isLocaleAware(datesOrDuration.dates);
10
15
  return;
11
16
  }
12
17
  test_utils_1.assert.isTrue(
13
18
  //@ts-ignore
14
- datesOrDuration.__beenDecorated, `DateUtil is not locale aware. Try using the DateUtilDecorator to make it locale aware.`);
19
+ datesOrDuration?.__beenDecorated, `DateUtil is not locale aware. Try using the DateUtilDecorator to make it locale aware.`);
20
+ },
21
+ timezoneOfLastBuiltDateUtilEquals(timezone) {
22
+ (0, schema_1.assertOptions)({ timezone }, ['timezone']);
23
+ this.isLocaleAware(DateUtilBuilder_1.default.lastBuiltDateUtil);
24
+ this.currentTimezoneEquals(DateUtilBuilder_1.default.lastBuiltDateUtil, timezone);
15
25
  },
16
26
  currentTimezoneEquals(datesOrDuration, timezone) {
17
27
  this.isLocaleAware(datesOrDuration);
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "42.0.491",
6
+ "version": "42.0.492",
7
7
  "files": [
8
8
  "build/**/*",
9
9
  "!build/__tests__",