@sprucelabs/calendar-utils 43.1.10 → 43.1.11

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.
@@ -19,6 +19,7 @@ export { default as calendarEventLineIconSchema } from './.spruce/schemas/calend
19
19
  export { default as DateParser } from './parsing/DateParser';
20
20
  export { default as sortTimezoneChoices } from './utilities/sortTimezoneChoices';
21
21
  export { default as RepeatingRuleTextGenerator } from './utilities/RepeatingRuleTextGenerator';
22
+ export { default as generateCalendarEventValues } from './utilities/generateEventValues';
22
23
  export * from './dates';
23
24
  export { SpruceSchemas } from './.spruce/schemas/schemas.types';
24
25
  export * from './constants';
@@ -19,6 +19,7 @@ export { default as calendarEventLineIconSchema } from './.spruce/schemas/calend
19
19
  export { default as DateParser } from './parsing/DateParser.js';
20
20
  export { default as sortTimezoneChoices } from './utilities/sortTimezoneChoices.js';
21
21
  export { default as RepeatingRuleTextGenerator } from './utilities/RepeatingRuleTextGenerator.js';
22
+ export { default as generateCalendarEventValues } from './utilities/generateEventValues.js';
22
23
  export * from './dates.js';
23
24
  export * from './constants.js';
24
25
  export { default as DurationUtilBuilder } from './utilities/DurationUtilBuilder.js';
@@ -0,0 +1,4 @@
1
+ import { SpruceSchemas } from '@sprucelabs/mercury-types';
2
+ type Event = SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEvent;
3
+ export default function generateEventValues(values?: Partial<Event>): Event;
4
+ export {};
@@ -0,0 +1,31 @@
1
+ import dateUtil from './date.utility.js';
2
+ function generateRandomMinutes(maxMinutes) {
3
+ return Math.round((Math.random() * maxMinutes + 15) / 15) * 15;
4
+ }
5
+ let idCount = 0;
6
+ export default function generateEventValues(values) {
7
+ const blocks = [1, 3];
8
+ const totalTimeBlocks = blocks[Math.round(Math.random())];
9
+ const hour = Math.round(Math.random() * 8) + 9;
10
+ return {
11
+ id: `${random()}-${idCount++}`,
12
+ startDateTimeMs: dateUtil.setTimeOfDay(new Date().getTime(), hour, generateRandomMinutes(45), 0, 0),
13
+ target: {
14
+ personId: `${random()}`,
15
+ locationId: `${random()}`,
16
+ },
17
+ calendarId: `${random()}`,
18
+ timeBlocks: new Array(totalTimeBlocks).fill(0).map((_, idx) => ({
19
+ durationMinutes: generateRandomMinutes(75),
20
+ isBusy: !(idx % 2),
21
+ title: `Block ${random()}-${idCount++}`,
22
+ subtitle: `Subtitle ${random()}-${idCount++}`,
23
+ })),
24
+ source: {},
25
+ dateCreated: new Date().getTime(),
26
+ ...values,
27
+ };
28
+ }
29
+ function random() {
30
+ return new Date().getTime() * Math.random();
31
+ }
package/build/index.d.ts CHANGED
@@ -19,6 +19,7 @@ export { default as calendarEventLineIconSchema } from './.spruce/schemas/calend
19
19
  export { default as DateParser } from './parsing/DateParser';
20
20
  export { default as sortTimezoneChoices } from './utilities/sortTimezoneChoices';
21
21
  export { default as RepeatingRuleTextGenerator } from './utilities/RepeatingRuleTextGenerator';
22
+ export { default as generateCalendarEventValues } from './utilities/generateEventValues';
22
23
  export * from './dates';
23
24
  export { SpruceSchemas } from './.spruce/schemas/schemas.types';
24
25
  export * from './constants';
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.venueSchema = exports.decorateDateUtilWithMockMethods = 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;
20
+ exports.venueSchema = exports.decorateDateUtilWithMockMethods = exports.DateUtilBuilder = exports.DurationUtilBuilder = exports.generateCalendarEventValues = 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");
@@ -57,6 +57,8 @@ var sortTimezoneChoices_1 = require("./utilities/sortTimezoneChoices");
57
57
  Object.defineProperty(exports, "sortTimezoneChoices", { enumerable: true, get: function () { return __importDefault(sortTimezoneChoices_1).default; } });
58
58
  var RepeatingRuleTextGenerator_1 = require("./utilities/RepeatingRuleTextGenerator");
59
59
  Object.defineProperty(exports, "RepeatingRuleTextGenerator", { enumerable: true, get: function () { return __importDefault(RepeatingRuleTextGenerator_1).default; } });
60
+ var generateEventValues_1 = require("./utilities/generateEventValues");
61
+ Object.defineProperty(exports, "generateCalendarEventValues", { enumerable: true, get: function () { return __importDefault(generateEventValues_1).default; } });
60
62
  __exportStar(require("./dates"), exports);
61
63
  __exportStar(require("./constants"), exports);
62
64
  var DurationUtilBuilder_1 = require("./utilities/DurationUtilBuilder");
@@ -0,0 +1,4 @@
1
+ import { SpruceSchemas } from '@sprucelabs/mercury-types';
2
+ type Event = SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEvent;
3
+ export default function generateEventValues(values?: Partial<Event>): Event;
4
+ export {};
@@ -0,0 +1,37 @@
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
+ exports.default = generateEventValues;
7
+ const date_utility_1 = __importDefault(require("./date.utility"));
8
+ function generateRandomMinutes(maxMinutes) {
9
+ return Math.round((Math.random() * maxMinutes + 15) / 15) * 15;
10
+ }
11
+ let idCount = 0;
12
+ function generateEventValues(values) {
13
+ const blocks = [1, 3];
14
+ const totalTimeBlocks = blocks[Math.round(Math.random())];
15
+ const hour = Math.round(Math.random() * 8) + 9;
16
+ return {
17
+ id: `${random()}-${idCount++}`,
18
+ startDateTimeMs: date_utility_1.default.setTimeOfDay(new Date().getTime(), hour, generateRandomMinutes(45), 0, 0),
19
+ target: {
20
+ personId: `${random()}`,
21
+ locationId: `${random()}`,
22
+ },
23
+ calendarId: `${random()}`,
24
+ timeBlocks: new Array(totalTimeBlocks).fill(0).map((_, idx) => ({
25
+ durationMinutes: generateRandomMinutes(75),
26
+ isBusy: !(idx % 2),
27
+ title: `Block ${random()}-${idCount++}`,
28
+ subtitle: `Subtitle ${random()}-${idCount++}`,
29
+ })),
30
+ source: {},
31
+ dateCreated: new Date().getTime(),
32
+ ...values,
33
+ };
34
+ }
35
+ function random() {
36
+ return new Date().getTime() * Math.random();
37
+ }
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "43.1.10",
6
+ "version": "43.1.11",
7
7
  "files": [
8
8
  "build/**/*",
9
9
  "!build/__tests__",