@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.
- package/build/esm/index.d.ts +1 -0
- package/build/esm/index.js +1 -0
- package/build/esm/utilities/DateUtilBuilder.d.ts +6 -0
- package/build/esm/utilities/DateUtilBuilder.js +16 -0
- package/build/esm/utilities/dateAssert.d.ts +1 -0
- package/build/esm/utilities/dateAssert.js +9 -2
- package/build/index.d.ts +1 -0
- package/build/index.js +3 -1
- package/build/utilities/DateUtilBuilder.d.ts +6 -0
- package/build/utilities/DateUtilBuilder.js +22 -0
- package/build/utilities/dateAssert.d.ts +1 -0
- package/build/utilities/dateAssert.js +12 -2
- package/package.json +1 -1
package/build/esm/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/esm/index.js
CHANGED
|
@@ -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,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
|
|
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
|
|
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,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
|
|
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
|
|
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);
|