@aneuhold/core-ts-db-lib 2.0.90 → 3.0.1

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.
Files changed (76) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/lib/documents/BaseDocument.d.ts +3 -4
  3. package/lib/documents/BaseDocument.d.ts.map +1 -1
  4. package/lib/documents/BaseDocument.js +2 -2
  5. package/lib/documents/BaseDocument.js.map +1 -1
  6. package/lib/documents/BaseDocument.ts +4 -4
  7. package/lib/documents/common/ApiKey.d.ts +2 -3
  8. package/lib/documents/common/ApiKey.d.ts.map +1 -1
  9. package/lib/documents/common/ApiKey.js +2 -2
  10. package/lib/documents/common/ApiKey.js.map +1 -1
  11. package/lib/documents/common/ApiKey.ts +4 -4
  12. package/lib/documents/common/User.d.ts +2 -2
  13. package/lib/documents/common/User.d.ts.map +1 -1
  14. package/lib/documents/common/User.js +0 -1
  15. package/lib/documents/common/User.js.map +1 -1
  16. package/lib/documents/common/User.ts +2 -2
  17. package/lib/documents/dashboard/NonogramKatanaItem.d.ts +3 -3
  18. package/lib/documents/dashboard/NonogramKatanaItem.d.ts.map +1 -1
  19. package/lib/documents/dashboard/NonogramKatanaItem.js +0 -1
  20. package/lib/documents/dashboard/NonogramKatanaItem.js.map +1 -1
  21. package/lib/documents/dashboard/NonogramKatanaItem.ts +3 -3
  22. package/lib/documents/dashboard/NonogramKatanaUpgrade.d.ts +3 -3
  23. package/lib/documents/dashboard/NonogramKatanaUpgrade.d.ts.map +1 -1
  24. package/lib/documents/dashboard/NonogramKatanaUpgrade.js +0 -1
  25. package/lib/documents/dashboard/NonogramKatanaUpgrade.js.map +1 -1
  26. package/lib/documents/dashboard/NonogramKatanaUpgrade.ts +3 -3
  27. package/lib/documents/dashboard/Task.d.ts +8 -8
  28. package/lib/documents/dashboard/Task.d.ts.map +1 -1
  29. package/lib/documents/dashboard/Task.js +3 -3
  30. package/lib/documents/dashboard/Task.js.map +1 -1
  31. package/lib/documents/dashboard/Task.ts +10 -10
  32. package/lib/documents/dashboard/UserConfig.d.ts +5 -5
  33. package/lib/documents/dashboard/UserConfig.d.ts.map +1 -1
  34. package/lib/documents/dashboard/UserConfig.js +3 -3
  35. package/lib/documents/dashboard/UserConfig.js.map +1 -1
  36. package/lib/documents/dashboard/UserConfig.ts +7 -6
  37. package/lib/embedded-types/dashboard/task/FilterSettings.d.ts +4 -3
  38. package/lib/embedded-types/dashboard/task/FilterSettings.d.ts.map +1 -1
  39. package/lib/embedded-types/dashboard/task/FilterSettings.js +1 -1
  40. package/lib/embedded-types/dashboard/task/FilterSettings.js.map +1 -1
  41. package/lib/embedded-types/dashboard/task/FilterSettings.ts +5 -4
  42. package/lib/embedded-types/dashboard/task/RecurrenceInfo.d.ts +2 -2
  43. package/lib/embedded-types/dashboard/task/RecurrenceInfo.d.ts.map +1 -1
  44. package/lib/embedded-types/dashboard/task/RecurrenceInfo.js +0 -1
  45. package/lib/embedded-types/dashboard/task/RecurrenceInfo.js.map +1 -1
  46. package/lib/embedded-types/dashboard/task/RecurrenceInfo.ts +2 -2
  47. package/lib/embedded-types/dashboard/task/SortSettings.d.ts +4 -3
  48. package/lib/embedded-types/dashboard/task/SortSettings.d.ts.map +1 -1
  49. package/lib/embedded-types/dashboard/task/SortSettings.js +1 -1
  50. package/lib/embedded-types/dashboard/task/SortSettings.js.map +1 -1
  51. package/lib/embedded-types/dashboard/task/SortSettings.ts +5 -4
  52. package/lib/schemas/required-refs/RequiredUserId.d.ts +2 -2
  53. package/lib/schemas/required-refs/RequiredUserId.d.ts.map +1 -1
  54. package/lib/schemas/required-refs/RequiredUserId.js +0 -1
  55. package/lib/schemas/required-refs/RequiredUserId.js.map +1 -1
  56. package/lib/schemas/required-refs/RequiredUserId.ts +2 -2
  57. package/lib/services/DocumentService.d.ts +3 -1
  58. package/lib/services/DocumentService.d.ts.map +1 -1
  59. package/lib/services/DocumentService.js +4 -0
  60. package/lib/services/DocumentService.js.map +1 -1
  61. package/lib/services/DocumentService.ts +7 -1
  62. package/lib/services/dashboard/Task/TaskFilterService.d.ts +4 -3
  63. package/lib/services/dashboard/Task/TaskFilterService.d.ts.map +1 -1
  64. package/lib/services/dashboard/Task/TaskFilterService.js +2 -2
  65. package/lib/services/dashboard/Task/TaskFilterService.js.map +1 -1
  66. package/lib/services/dashboard/Task/TaskFilterService.ts +8 -7
  67. package/lib/services/dashboard/Task/TaskService.d.ts +8 -8
  68. package/lib/services/dashboard/Task/TaskService.d.ts.map +1 -1
  69. package/lib/services/dashboard/Task/TaskService.js +8 -9
  70. package/lib/services/dashboard/Task/TaskService.js.map +1 -1
  71. package/lib/services/dashboard/Task/TaskService.ts +25 -28
  72. package/lib/services/dashboard/Task/TaskSortService.d.ts +3 -2
  73. package/lib/services/dashboard/Task/TaskSortService.d.ts.map +1 -1
  74. package/lib/services/dashboard/Task/TaskSortService.js.map +1 -1
  75. package/lib/services/dashboard/Task/TaskSortService.ts +11 -10
  76. package/package.json +11 -6
@@ -1,4 +1,4 @@
1
- import { ObjectId } from 'bson';
1
+ import type { UUID } from 'crypto';
2
2
  import type { DashboardTaskMap } from '../../../documents/dashboard/Task.js';
3
3
  import DashboardTask from '../../../documents/dashboard/Task.js';
4
4
  import type { DashboardTaskListFilterSettings } from '../../../embedded-types/dashboard/task/FilterSettings.js';
@@ -10,20 +10,20 @@ import type { DashboardTagSettings } from '../../../embedded-types/dashboard/use
10
10
  * A type for the task filter settings for a particular task.
11
11
  */
12
12
  export type DashboardTaskFilterTaskInfo = {
13
- taskId: string;
14
- allChildrenIds: string[];
13
+ taskId: UUID;
14
+ allChildrenIds: UUID[];
15
15
  };
16
16
  /**
17
17
  * The result of filtering and sorting tasks.
18
18
  */
19
19
  export type DashboardTaskFilterAndSortResult = {
20
- filteredAndSortedIds: string[];
20
+ filteredAndSortedIds: UUID[];
21
21
  /**
22
22
  * The IDs of the tasks that were filtered, but still apply to the same
23
23
  * category. Does not include tasks that were filtered because of grand
24
24
  * children tasks.
25
25
  */
26
- removedIds: string[];
26
+ removedIds: UUID[];
27
27
  };
28
28
  /**
29
29
  * A service for handling many different operations related to {@link DashboardTask}s.
@@ -34,9 +34,9 @@ export default class DashboardTaskService {
34
34
  *
35
35
  * @param allUserTasks - All tasks of the user.
36
36
  * @param parentTaskIds - The IDs of the parent tasks.
37
- * @returns An array of ObjectId representing the children task IDs.
37
+ * @returns An array of UUID representing the children task IDs.
38
38
  */
39
- static getChildrenIds: (allUserTasks: DashboardTask[], parentTaskIds: ObjectId[]) => ObjectId[];
39
+ static getChildrenIds: (allUserTasks: DashboardTask[], parentTaskIds: UUID[]) => UUID[];
40
40
  /**
41
41
  * Gets the next frequency date from the provided basis date. Returns null
42
42
  * if the provided frequency is in an invalid state.
@@ -83,7 +83,7 @@ export default class DashboardTaskService {
83
83
  * @param sortDirection - The direction to sort the tasks.
84
84
  * @returns A map of task IDs to tag header names.
85
85
  */
86
- static getTagHeaderMap(taskMap: DashboardTaskMap, taskIds: string[], userId: string, tagSettings: DashboardTagSettings, noPriorityTagsIndicator: string, sortDirection: DashboardTaskSortDirection): Record<string, string>;
86
+ static getTagHeaderMap(taskMap: DashboardTaskMap, taskIds: UUID[], userId: UUID, tagSettings: DashboardTagSettings, noPriorityTagsIndicator: string, sortDirection: DashboardTaskSortDirection): Record<UUID, string>;
87
87
  /**
88
88
  * Gets all the children task IDs for a given task ID.
89
89
  *
@@ -1 +1 @@
1
- {"version":3,"file":"TaskService.d.ts","sourceRoot":"","sources":["../../../../src/services/dashboard/Task/TaskService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,0DAA0D,CAAC;AAChH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;AACpG,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wDAAwD,CAAC;AAC5G,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;AACpG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAMjG;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC7C,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B;;;;OAIG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,GACnB,cAAc,aAAa,EAAE,EAC7B,eAAe,QAAQ,EAAE,KACxB,QAAQ,EAAE,CAyBX;IAEF;;;;;;;OAOG;IACH,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI;IAIzF;;;;;;;;;;OAUG;IACH,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAI1D;;;;;;;;;;OAUG;IACH,MAAM,CAAC,2BAA2B,CAChC,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,+BAA+B,EAC/C,YAAY,EAAE,6BAA6B,EAC3C,WAAW,EAAE,oBAAoB,EACjC,QAAQ,CAAC,EAAE,2BAA2B,GACrC,gCAAgC;IA8BnC;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,eAAe,CACpB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,oBAAoB,EACjC,uBAAuB,EAAE,MAAM,EAC/B,aAAa,EAAE,0BAA0B,GACxC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAWzB;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAsBlC"}
1
+ {"version":3,"file":"TaskService.d.ts","sourceRoot":"","sources":["../../../../src/services/dashboard/Task/TaskService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,0DAA0D,CAAC;AAChH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;AACpG,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wDAAwD,CAAC;AAC5G,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;AACpG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAMjG;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,IAAI,CAAC;IACb,cAAc,EAAE,IAAI,EAAE,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC7C,oBAAoB,EAAE,IAAI,EAAE,CAAC;IAC7B;;;;OAIG;IACH,UAAU,EAAE,IAAI,EAAE,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,GAAI,cAAc,aAAa,EAAE,EAAE,eAAe,IAAI,EAAE,KAAG,IAAI,EAAE,CAyBpF;IAEF;;;;;;;OAOG;IACH,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI;IAIzF;;;;;;;;;;OAUG;IACH,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAI1D;;;;;;;;;;OAUG;IACH,MAAM,CAAC,2BAA2B,CAChC,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,+BAA+B,EAC/C,YAAY,EAAE,6BAA6B,EAC3C,WAAW,EAAE,oBAAoB,EACjC,QAAQ,CAAC,EAAE,2BAA2B,GACrC,gCAAgC;IA8BnC;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,eAAe,CACpB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,IAAI,EAAE,EACf,MAAM,EAAE,IAAI,EACZ,WAAW,EAAE,oBAAoB,EACjC,uBAAuB,EAAE,MAAM,EAC/B,aAAa,EAAE,0BAA0B,GACxC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;IAWvB;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAsBlC"}
@@ -1,4 +1,3 @@
1
- import { ObjectId } from 'bson';
2
1
  import DashboardTask from '../../../documents/dashboard/Task.js';
3
2
  import { DashboardTaskSortDirection } from '../../../embedded-types/dashboard/task/SortSettings.js';
4
3
  import DashboardTaskFilterService from './TaskFilterService.js';
@@ -13,26 +12,26 @@ export default class DashboardTaskService {
13
12
  *
14
13
  * @param allUserTasks - All tasks of the user.
15
14
  * @param parentTaskIds - The IDs of the parent tasks.
16
- * @returns An array of ObjectId representing the children task IDs.
15
+ * @returns An array of UUID representing the children task IDs.
17
16
  */
18
17
  static getChildrenIds = (allUserTasks, parentTaskIds) => {
19
18
  const parentToTaskIdsDict = {};
20
19
  const taskIdToTaskDict = {};
21
20
  allUserTasks.forEach((task) => {
22
- taskIdToTaskDict[task._id.toString()] = task;
21
+ taskIdToTaskDict[task._id] = task;
23
22
  if (task.parentTaskId) {
24
- if (!parentToTaskIdsDict[task.parentTaskId.toString()]) {
25
- parentToTaskIdsDict[task.parentTaskId.toString()] = [];
23
+ if (!parentToTaskIdsDict[task.parentTaskId]) {
24
+ parentToTaskIdsDict[task.parentTaskId] = [];
26
25
  }
27
- parentToTaskIdsDict[task.parentTaskId.toString()].push(task._id.toString());
26
+ parentToTaskIdsDict[task.parentTaskId].push(task._id);
28
27
  }
29
28
  });
30
29
  const childrenIds = [];
31
30
  parentTaskIds.forEach((taskId) => {
32
- const task = taskIdToTaskDict[taskId.toString()];
31
+ const task = taskIdToTaskDict[taskId];
33
32
  if (task) {
34
- const childrenTaskIds = this.getChildrenTaskIds(taskIdToTaskDict, parentToTaskIdsDict, taskId.toString());
35
- childrenIds.push(...childrenTaskIds.map((id) => new ObjectId(id)));
33
+ const childrenTaskIds = this.getChildrenTaskIds(taskIdToTaskDict, parentToTaskIdsDict, taskId);
34
+ childrenIds.push(...childrenTaskIds);
36
35
  }
37
36
  });
38
37
  return childrenIds;
@@ -1 +1 @@
1
- {"version":3,"file":"TaskService.js","sourceRoot":"","sources":["../../../../src/services/dashboard/Task/TaskService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskService.js","sourceRoot":"","sources":["../../../../src/services/dashboard/Task/TaskService.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ObjectId } from 'bson';
1
+ import type { UUID } from 'crypto';
2
2
  import type { DashboardTaskMap } from '../../../documents/dashboard/Task.js';
3
3
  import DashboardTask from '../../../documents/dashboard/Task.js';
4
4
  import type { DashboardTaskListFilterSettings } from '../../../embedded-types/dashboard/task/FilterSettings.js';
@@ -15,21 +15,21 @@ import DashboardTaskSortService from './TaskSortService.js';
15
15
  * A type for the task filter settings for a particular task.
16
16
  */
17
17
  export type DashboardTaskFilterTaskInfo = {
18
- taskId: string;
19
- allChildrenIds: string[];
18
+ taskId: UUID;
19
+ allChildrenIds: UUID[];
20
20
  };
21
21
 
22
22
  /**
23
23
  * The result of filtering and sorting tasks.
24
24
  */
25
25
  export type DashboardTaskFilterAndSortResult = {
26
- filteredAndSortedIds: string[];
26
+ filteredAndSortedIds: UUID[];
27
27
  /**
28
28
  * The IDs of the tasks that were filtered, but still apply to the same
29
29
  * category. Does not include tasks that were filtered because of grand
30
30
  * children tasks.
31
31
  */
32
- removedIds: string[];
32
+ removedIds: UUID[];
33
33
  };
34
34
 
35
35
  /**
@@ -41,33 +41,30 @@ export default class DashboardTaskService {
41
41
  *
42
42
  * @param allUserTasks - All tasks of the user.
43
43
  * @param parentTaskIds - The IDs of the parent tasks.
44
- * @returns An array of ObjectId representing the children task IDs.
44
+ * @returns An array of UUID representing the children task IDs.
45
45
  */
46
- static getChildrenIds = (
47
- allUserTasks: DashboardTask[],
48
- parentTaskIds: ObjectId[]
49
- ): ObjectId[] => {
50
- const parentToTaskIdsDict: Record<string, string[]> = {};
51
- const taskIdToTaskDict: Record<string, DashboardTask> = {};
46
+ static getChildrenIds = (allUserTasks: DashboardTask[], parentTaskIds: UUID[]): UUID[] => {
47
+ const parentToTaskIdsDict: Record<UUID, UUID[]> = {};
48
+ const taskIdToTaskDict: Record<UUID, DashboardTask> = {};
52
49
  allUserTasks.forEach((task) => {
53
- taskIdToTaskDict[task._id.toString()] = task;
50
+ taskIdToTaskDict[task._id] = task;
54
51
  if (task.parentTaskId) {
55
- if (!parentToTaskIdsDict[task.parentTaskId.toString()]) {
56
- parentToTaskIdsDict[task.parentTaskId.toString()] = [];
52
+ if (!parentToTaskIdsDict[task.parentTaskId]) {
53
+ parentToTaskIdsDict[task.parentTaskId] = [];
57
54
  }
58
- parentToTaskIdsDict[task.parentTaskId.toString()].push(task._id.toString());
55
+ parentToTaskIdsDict[task.parentTaskId].push(task._id);
59
56
  }
60
57
  });
61
- const childrenIds: ObjectId[] = [];
58
+ const childrenIds: UUID[] = [];
62
59
  parentTaskIds.forEach((taskId) => {
63
- const task = taskIdToTaskDict[taskId.toString()];
60
+ const task = taskIdToTaskDict[taskId];
64
61
  if (task) {
65
62
  const childrenTaskIds = this.getChildrenTaskIds(
66
63
  taskIdToTaskDict,
67
64
  parentToTaskIdsDict,
68
- taskId.toString()
65
+ taskId
69
66
  );
70
- childrenIds.push(...childrenTaskIds.map((id) => new ObjectId(id)));
67
+ childrenIds.push(...childrenTaskIds);
71
68
  }
72
69
  });
73
70
  return childrenIds;
@@ -124,7 +121,7 @@ export default class DashboardTaskService {
124
121
  if (!taskInfo) {
125
122
  filterResult = DashboardTaskFilterService.filter(
126
123
  taskMap,
127
- Object.keys(taskMap),
124
+ Object.keys(taskMap) as UUID[],
128
125
  filterSettings,
129
126
  category
130
127
  );
@@ -163,12 +160,12 @@ export default class DashboardTaskService {
163
160
  */
164
161
  static getTagHeaderMap(
165
162
  taskMap: DashboardTaskMap,
166
- taskIds: string[],
167
- userId: string,
163
+ taskIds: UUID[],
164
+ userId: UUID,
168
165
  tagSettings: DashboardTagSettings,
169
166
  noPriorityTagsIndicator: string,
170
167
  sortDirection: DashboardTaskSortDirection
171
- ): Record<string, string> {
168
+ ): Record<UUID, string> {
172
169
  return DashboardTaskSortService.getTagHeaderMap(
173
170
  taskMap,
174
171
  taskIds,
@@ -188,10 +185,10 @@ export default class DashboardTaskService {
188
185
  * @returns An array of strings representing the children task IDs.
189
186
  */
190
187
  private static getChildrenTaskIds(
191
- taskIdToTaskDict: Record<string, DashboardTask>,
192
- parentToTaskIdsDict: Record<string, string[]>,
193
- taskId: string
194
- ): string[] {
188
+ taskIdToTaskDict: Record<UUID, DashboardTask>,
189
+ parentToTaskIdsDict: Record<UUID, UUID[]>,
190
+ taskId: UUID
191
+ ): UUID[] {
195
192
  const childrenIds = parentToTaskIdsDict[taskId];
196
193
  if (!childrenIds) {
197
194
  return [];
@@ -1,3 +1,4 @@
1
+ import type { UUID } from 'crypto';
1
2
  import type { DashboardTaskMap } from '../../../documents/dashboard/Task.js';
2
3
  import type { DashboardTaskListSortSettings } from '../../../embedded-types/dashboard/task/SortSettings.js';
3
4
  import { DashboardTaskSortDirection } from '../../../embedded-types/dashboard/task/SortSettings.js';
@@ -15,7 +16,7 @@ export default class DashboardTaskSortService {
15
16
  * @param tagSettings The tag settings.
16
17
  * @returns The sorted task IDs.
17
18
  */
18
- static sort(taskMap: DashboardTaskMap, taskIds: string[], sortSettings: DashboardTaskListSortSettings, tagSettings: DashboardTagSettings): string[];
19
+ static sort(taskMap: DashboardTaskMap, taskIds: UUID[], sortSettings: DashboardTaskListSortSettings, tagSettings: DashboardTagSettings): UUID[];
19
20
  /**
20
21
  * Gets a map of task IDs to tag header names. Used only for when sorting by
21
22
  * tags. If the first task in the list has no high-priority tags, then
@@ -29,7 +30,7 @@ export default class DashboardTaskSortService {
29
30
  * @param sortDirection The sort direction.
30
31
  * @returns A map of task IDs to tag header names.
31
32
  */
32
- static getTagHeaderMap(taskMap: DashboardTaskMap, taskIds: string[], userId: string, tagSettings: DashboardTagSettings, noPriorityTagsIndicator: string, sortDirection: DashboardTaskSortDirection): Record<string, string>;
33
+ static getTagHeaderMap(taskMap: DashboardTaskMap, taskIds: UUID[], userId: UUID, tagSettings: DashboardTagSettings, noPriorityTagsIndicator: string, sortDirection: DashboardTaskSortDirection): Record<UUID, string>;
33
34
  /**
34
35
  * Gets the task sort function based on the sort by and sort direction.
35
36
  *
@@ -1 +1 @@
1
- {"version":3,"file":"TaskSortService.d.ts","sourceRoot":"","sources":["../../../../src/services/dashboard/Task/TaskSortService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wDAAwD,CAAC;AAC5G,OAAO,EAEL,0BAA0B,EAC3B,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAEjG;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,wBAAwB;IAC3C;;;;;;;;OAQG;IACH,MAAM,CAAC,IAAI,CACT,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,MAAM,EAAE,EACjB,YAAY,EAAE,6BAA6B,EAC3C,WAAW,EAAE,oBAAoB,GAChC,MAAM,EAAE;IAyBX;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,eAAe,CACpB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,oBAAoB,EACjC,uBAAuB,EAAE,MAAM,EAC/B,aAAa,EAAE,0BAA0B,GACxC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAwBzB;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAkElC;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAUpC;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAUzC;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;CAgCrC"}
1
+ {"version":3,"file":"TaskSortService.d.ts","sourceRoot":"","sources":["../../../../src/services/dashboard/Task/TaskSortService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wDAAwD,CAAC;AAC5G,OAAO,EAEL,0BAA0B,EAC3B,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAEjG;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,wBAAwB;IAC3C;;;;;;;;OAQG;IACH,MAAM,CAAC,IAAI,CACT,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,IAAI,EAAE,EACf,YAAY,EAAE,6BAA6B,EAC3C,WAAW,EAAE,oBAAoB,GAChC,IAAI,EAAE;IAyBT;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,eAAe,CACpB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,IAAI,EAAE,EACf,MAAM,EAAE,IAAI,EACZ,WAAW,EAAE,oBAAoB,EACjC,uBAAuB,EAAE,MAAM,EAC/B,aAAa,EAAE,0BAA0B,GACxC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;IAwBvB;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAkElC;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAUpC;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAUzC;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;CAgCrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TaskSortService.js","sourceRoot":"","sources":["../../../../src/services/dashboard/Task/TaskSortService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskSortService.js","sourceRoot":"","sources":["../../../../src/services/dashboard/Task/TaskSortService.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { UUID } from 'crypto';
1
2
  import type { DashboardTaskMap } from '../../../documents/dashboard/Task.js';
2
3
  import DashboardTask from '../../../documents/dashboard/Task.js';
3
4
  import type { DashboardTaskListSortSettings } from '../../../embedded-types/dashboard/task/SortSettings.js';
@@ -22,10 +23,10 @@ export default class DashboardTaskSortService {
22
23
  */
23
24
  static sort(
24
25
  taskMap: DashboardTaskMap,
25
- taskIds: string[],
26
+ taskIds: UUID[],
26
27
  sortSettings: DashboardTaskListSortSettings,
27
28
  tagSettings: DashboardTagSettings
28
- ): string[] {
29
+ ): UUID[] {
29
30
  return taskIds.sort((idA, idB) => {
30
31
  const taskA = taskMap[idA];
31
32
  const taskB = taskMap[idB];
@@ -65,13 +66,13 @@ export default class DashboardTaskSortService {
65
66
  */
66
67
  static getTagHeaderMap(
67
68
  taskMap: DashboardTaskMap,
68
- taskIds: string[],
69
- userId: string,
69
+ taskIds: UUID[],
70
+ userId: UUID,
70
71
  tagSettings: DashboardTagSettings,
71
72
  noPriorityTagsIndicator: string,
72
73
  sortDirection: DashboardTaskSortDirection
73
- ): Record<string, string> {
74
- const tagHeaderMap: Record<string, string> = {};
74
+ ): Record<UUID, string> {
75
+ const tagHeaderMap: Record<UUID, string> = {};
75
76
  if (taskIds.length === 0 || taskIds.length === 1) return tagHeaderMap;
76
77
  const firstTask = taskMap[taskIds[0]];
77
78
  if (!firstTask) return tagHeaderMap;
@@ -107,7 +108,7 @@ export default class DashboardTaskSortService {
107
108
  sortBy: DashboardTaskSortBy,
108
109
  sortDirection: DashboardTaskSortDirection,
109
110
  tagSettings: DashboardTagSettings,
110
- userId: string
111
+ userId: UUID
111
112
  ): (taskA: DashboardTask, taskB: DashboardTask) => number {
112
113
  switch (sortBy) {
113
114
  case DashboardTaskSortBy.tags:
@@ -181,7 +182,7 @@ export default class DashboardTaskSortService {
181
182
  */
182
183
  private static getHighestPriorityTag(
183
184
  task: DashboardTask,
184
- userId: string,
185
+ userId: UUID,
185
186
  tagSettings: DashboardTagSettings,
186
187
  sortDirection: DashboardTaskSortDirection
187
188
  ): string | null {
@@ -200,7 +201,7 @@ export default class DashboardTaskSortService {
200
201
  */
201
202
  private static getHighestPriorityTagValue(
202
203
  task: DashboardTask,
203
- userId: string,
204
+ userId: UUID,
204
205
  tagSettings: DashboardTagSettings,
205
206
  sortDirection: DashboardTaskSortDirection
206
207
  ): number {
@@ -219,7 +220,7 @@ export default class DashboardTaskSortService {
219
220
  */
220
221
  private static getPriorityTagForTask(
221
222
  task: DashboardTask,
222
- userId: string,
223
+ userId: UUID,
223
224
  tagSettings: DashboardTagSettings,
224
225
  sortDirection: DashboardTaskSortDirection
225
226
  ): { tag: string; priority: number } | null {
package/package.json CHANGED
@@ -2,19 +2,22 @@
2
2
  "name": "@aneuhold/core-ts-db-lib",
3
3
  "author": "Anton G. Neuhold Jr.",
4
4
  "license": "MIT",
5
- "version": "2.0.90",
5
+ "version": "3.0.1",
6
6
  "description": "A core database library used for personal projects",
7
7
  "packageManager": "pnpm@10.12.1",
8
8
  "type": "module",
9
9
  "scripts": {
10
- "build": "rimraf lib && tsc --project tsconfig.build.json && tsx ./scripts/copyTsFiles.ts",
11
- "watch": "nodemon --ignore lib/ -e ts --exec \"tsc --project tsconfig.build.json && tsx ./scripts/copyTsFiles.ts && local-npm publish\"",
10
+ "build": "rimraf lib && pnpm build:withoutClean",
11
+ "build:withoutClean": "tsc --project tsconfig.build.json && tsx ./scripts/copyTsFiles.ts && pnpm propagateVersion",
12
+ "propagateVersion": "tsx ../../scripts/propagateVersion.ts",
13
+ "watch": "nodemon --ignore lib/ -e ts --exec \"pnpm build:withoutClean && local-npm publish\"",
12
14
  "unpub:local": "local-npm unpublish || true",
13
15
  "lint": "eslint",
14
16
  "test": "vitest run",
15
17
  "preparePkg": "tb pkg prepare",
16
18
  "jsr:validate": "tb pkg validateJsr",
17
19
  "npm:validate": "tb pkg validateNpm",
20
+ "versionPropagation:validate": "tsx ../../scripts/validatePackageVersions.ts",
18
21
  "checkAll": "pnpm build && pnpm lint && pnpm test && pnpm jsr:validate",
19
22
  "jsr:publish": "tb pkg publishJsr",
20
23
  "npm:publish": "tb pkg publishNpm",
@@ -68,11 +71,13 @@
68
71
  "Node.js"
69
72
  ],
70
73
  "dependencies": {
71
- "@aneuhold/core-ts-lib": "*",
72
- "bson": "^7.0.0"
74
+ "@aneuhold/core-ts-lib": "^2.3.11",
75
+ "bson": "^7.0.0",
76
+ "uuid": "^13.0.0",
77
+ "zod": "^4.1.12"
73
78
  },
74
79
  "devDependencies": {
75
- "@aneuhold/local-npm-registry": "*",
80
+ "@aneuhold/local-npm-registry": "^0.2.18",
76
81
  "@aneuhold/main-scripts": "^2.7.2",
77
82
  "@types/node": "^24.10.0",
78
83
  "eslint": "^9.39.1",