@aneuhold/core-ts-db-lib 3.0.3 → 4.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 (116) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/lib/browser.d.ts +25 -20
  3. package/lib/browser.d.ts.map +1 -1
  4. package/lib/browser.js +15 -15
  5. package/lib/browser.js.map +1 -1
  6. package/lib/browser.ts +97 -39
  7. package/lib/documents/BaseDocument.d.ts +22 -9
  8. package/lib/documents/BaseDocument.d.ts.map +1 -1
  9. package/lib/documents/BaseDocument.js +16 -7
  10. package/lib/documents/BaseDocument.js.map +1 -1
  11. package/lib/documents/BaseDocument.ts +27 -7
  12. package/lib/documents/common/ApiKey.d.ts +8 -25
  13. package/lib/documents/common/ApiKey.d.ts.map +1 -1
  14. package/lib/documents/common/ApiKey.js +7 -36
  15. package/lib/documents/common/ApiKey.js.map +1 -1
  16. package/lib/documents/common/ApiKey.ts +11 -41
  17. package/lib/documents/common/User.d.ts +25 -31
  18. package/lib/documents/common/User.d.ts.map +1 -1
  19. package/lib/documents/common/User.js +22 -39
  20. package/lib/documents/common/User.js.map +1 -1
  21. package/lib/documents/common/User.ts +29 -53
  22. package/lib/documents/dashboard/NonogramKatanaItem.d.ts +18 -27
  23. package/lib/documents/dashboard/NonogramKatanaItem.d.ts.map +1 -1
  24. package/lib/documents/dashboard/NonogramKatanaItem.js +17 -31
  25. package/lib/documents/dashboard/NonogramKatanaItem.js.map +1 -1
  26. package/lib/documents/dashboard/NonogramKatanaItem.ts +21 -45
  27. package/lib/documents/dashboard/NonogramKatanaUpgrade.d.ts +16 -41
  28. package/lib/documents/dashboard/NonogramKatanaUpgrade.d.ts.map +1 -1
  29. package/lib/documents/dashboard/NonogramKatanaUpgrade.js +16 -43
  30. package/lib/documents/dashboard/NonogramKatanaUpgrade.js.map +1 -1
  31. package/lib/documents/dashboard/NonogramKatanaUpgrade.ts +20 -55
  32. package/lib/documents/dashboard/Task.d.ts +73 -97
  33. package/lib/documents/dashboard/Task.d.ts.map +1 -1
  34. package/lib/documents/dashboard/Task.js +38 -80
  35. package/lib/documents/dashboard/Task.js.map +1 -1
  36. package/lib/documents/dashboard/Task.ts +71 -111
  37. package/lib/documents/dashboard/UserConfig.d.ts +49 -69
  38. package/lib/documents/dashboard/UserConfig.d.ts.map +1 -1
  39. package/lib/documents/dashboard/UserConfig.js +31 -51
  40. package/lib/documents/dashboard/UserConfig.js.map +1 -1
  41. package/lib/documents/dashboard/UserConfig.ts +41 -87
  42. package/lib/embedded-types/dashboard/nonogramKatanaItem/ItemName.d.ts +5 -0
  43. package/lib/embedded-types/dashboard/nonogramKatanaItem/ItemName.d.ts.map +1 -1
  44. package/lib/embedded-types/dashboard/nonogramKatanaItem/ItemName.js +5 -0
  45. package/lib/embedded-types/dashboard/nonogramKatanaItem/ItemName.js.map +1 -1
  46. package/lib/embedded-types/dashboard/nonogramKatanaItem/ItemName.ts +7 -0
  47. package/lib/embedded-types/dashboard/nonogramKatanaUpgrade/UpgradeName.d.ts +5 -0
  48. package/lib/embedded-types/dashboard/nonogramKatanaUpgrade/UpgradeName.d.ts.map +1 -1
  49. package/lib/embedded-types/dashboard/nonogramKatanaUpgrade/UpgradeName.js +5 -0
  50. package/lib/embedded-types/dashboard/nonogramKatanaUpgrade/UpgradeName.js.map +1 -1
  51. package/lib/embedded-types/dashboard/nonogramKatanaUpgrade/UpgradeName.ts +7 -0
  52. package/lib/embedded-types/dashboard/task/FilterSettings.d.ts +69 -41
  53. package/lib/embedded-types/dashboard/task/FilterSettings.d.ts.map +1 -1
  54. package/lib/embedded-types/dashboard/task/FilterSettings.js +29 -36
  55. package/lib/embedded-types/dashboard/task/FilterSettings.js.map +1 -1
  56. package/lib/embedded-types/dashboard/task/FilterSettings.ts +51 -74
  57. package/lib/embedded-types/dashboard/task/RecurrenceInfo.d.ts +74 -52
  58. package/lib/embedded-types/dashboard/task/RecurrenceInfo.d.ts.map +1 -1
  59. package/lib/embedded-types/dashboard/task/RecurrenceInfo.js +66 -28
  60. package/lib/embedded-types/dashboard/task/RecurrenceInfo.js.map +1 -1
  61. package/lib/embedded-types/dashboard/task/RecurrenceInfo.ts +83 -77
  62. package/lib/embedded-types/dashboard/task/SortSettings.d.ts +61 -42
  63. package/lib/embedded-types/dashboard/task/SortSettings.d.ts.map +1 -1
  64. package/lib/embedded-types/dashboard/task/SortSettings.js +34 -31
  65. package/lib/embedded-types/dashboard/task/SortSettings.js.map +1 -1
  66. package/lib/embedded-types/dashboard/task/SortSettings.ts +66 -61
  67. package/lib/embedded-types/dashboard/userConfig/Tags.d.ts +18 -11
  68. package/lib/embedded-types/dashboard/userConfig/Tags.d.ts.map +1 -1
  69. package/lib/embedded-types/dashboard/userConfig/Tags.js +15 -1
  70. package/lib/embedded-types/dashboard/userConfig/Tags.js.map +1 -1
  71. package/lib/embedded-types/dashboard/userConfig/Tags.ts +21 -9
  72. package/lib/schemas/required-refs/RequiredUserId.d.ts +9 -5
  73. package/lib/schemas/required-refs/RequiredUserId.d.ts.map +1 -1
  74. package/lib/schemas/required-refs/RequiredUserId.js +9 -4
  75. package/lib/schemas/required-refs/RequiredUserId.js.map +1 -1
  76. package/lib/schemas/required-refs/RequiredUserId.ts +13 -4
  77. package/lib/services/DocumentService.d.ts +1 -1
  78. package/lib/services/DocumentService.d.ts.map +1 -1
  79. package/lib/services/DocumentService.js +0 -1
  80. package/lib/services/DocumentService.js.map +1 -1
  81. package/lib/services/DocumentService.ts +1 -1
  82. package/lib/services/dashboard/Task/TaskRecurrenceService.d.ts +4 -4
  83. package/lib/services/dashboard/Task/TaskRecurrenceService.d.ts.map +1 -1
  84. package/lib/services/dashboard/Task/TaskRecurrenceService.js +3 -4
  85. package/lib/services/dashboard/Task/TaskRecurrenceService.js.map +1 -1
  86. package/lib/services/dashboard/Task/TaskRecurrenceService.ts +8 -5
  87. package/lib/services/dashboard/Task/TaskService.d.ts +1 -2
  88. package/lib/services/dashboard/Task/TaskService.d.ts.map +1 -1
  89. package/lib/services/dashboard/Task/TaskService.js +0 -1
  90. package/lib/services/dashboard/Task/TaskService.js.map +1 -1
  91. package/lib/services/dashboard/Task/TaskService.ts +1 -2
  92. package/lib/services/dashboard/Task/TaskSortService.d.ts.map +1 -1
  93. package/lib/services/dashboard/Task/TaskSortService.js +0 -1
  94. package/lib/services/dashboard/Task/TaskSortService.js.map +1 -1
  95. package/lib/services/dashboard/Task/TaskSortService.ts +1 -2
  96. package/package.json +9 -9
  97. package/lib/documents/BaseDocumentWithType.d.ts +0 -8
  98. package/lib/documents/BaseDocumentWithType.d.ts.map +0 -1
  99. package/lib/documents/BaseDocumentWithType.js +0 -7
  100. package/lib/documents/BaseDocumentWithType.js.map +0 -1
  101. package/lib/documents/BaseDocumentWithType.ts +0 -8
  102. package/lib/schemas/type-guards/commonTypeGuards.d.ts +0 -36
  103. package/lib/schemas/type-guards/commonTypeGuards.d.ts.map +0 -1
  104. package/lib/schemas/type-guards/commonTypeGuards.js +0 -46
  105. package/lib/schemas/type-guards/commonTypeGuards.js.map +0 -1
  106. package/lib/schemas/type-guards/commonTypeGuards.ts +0 -49
  107. package/lib/schemas/validators/DocumentValidator.d.ts +0 -9
  108. package/lib/schemas/validators/DocumentValidator.d.ts.map +0 -1
  109. package/lib/schemas/validators/DocumentValidator.js +0 -2
  110. package/lib/schemas/validators/DocumentValidator.js.map +0 -1
  111. package/lib/schemas/validators/DocumentValidator.ts +0 -9
  112. package/lib/schemas/validators/ValidateUtil.d.ts +0 -122
  113. package/lib/schemas/validators/ValidateUtil.d.ts.map +0 -1
  114. package/lib/schemas/validators/ValidateUtil.js +0 -216
  115. package/lib/schemas/validators/ValidateUtil.js.map +0 -1
  116. package/lib/schemas/validators/ValidateUtil.ts +0 -240
package/CHANGELOG.md CHANGED
@@ -5,6 +5,46 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## 🔖 [4.0.1] (2025-12-08)
9
+
10
+ ### 🏗️ Changed
11
+
12
+ - Updated all dashboard filter, sort, and recurrence schemas to use Zod defaults for improved type safety and usability.
13
+ - Refactored `NonogramKatanaUpgradeSchema` to use `NonogramKatanaItemNameSchema` for `currentItemAmounts` for better schema consistency.
14
+ - Added missing schema exports to `src/browser.ts` for dashboard and embedded types.
15
+ - Improved type and schema imports/exports in `src/browser.ts` for maintainability.
16
+
17
+ ### 🩹 Fixed
18
+
19
+ - Fixed default values in dashboard filter settings schemas to ensure correct behavior for completed and grandChildrenTasks fields.
20
+ - Fixed dashboard filter settings to default tags to an empty object, preventing undefined errors.
21
+
22
+ ## 🔖 [4.0.0] (2025-12-07)
23
+
24
+ ### ✅ Added
25
+
26
+ - Added Zod-based schemas for all document, embedded, and type files.
27
+ - Added new and updated tests for all document and service logic using Zod schemas.
28
+
29
+ ### 🏗️ Changed
30
+
31
+ - _Breaking Change:_ Migrated all document, type, and service code from legacy validation and type-guards to Zod schemas.
32
+ - _Breaking Change:_ All type-only imports now use `import type` for clarity and build performance.
33
+ - Refactored all document, embedded, and service files to use new Zod-based validation and schemas.
34
+ - Updated dependencies: now requires `@aneuhold/core-ts-lib@^2.3.13`, `zod@^4.1.13`, and `@aneuhold/local-npm-registry@^0.2.20`.
35
+ - Updated dev dependencies for compatibility: `prettier`, `tsx`, and `vitest`.
36
+ - Improved test coverage for all document and embedded types.
37
+
38
+ ### 🩹 Fixed
39
+
40
+ - Fixed issues with partial updates and field validation in document schemas.
41
+ - Fixed bugs in document creation and migration logic for dashboard-related entities.
42
+
43
+ ### 🔥 Removed
44
+
45
+ - _Breaking Change:_ Removed all legacy validation utilities, type-guards, and helper files in favor of Zod schemas.
46
+ - Removed unused files and legacy test utilities.
47
+
8
48
  ## 🔖 [3.0.3] (2025-12-07)
9
49
 
10
50
  ### 🏗️ Changed
@@ -122,6 +162,8 @@ Updated dependency: now requires `@aneuhold/core-ts-lib@^2.3.11`.
122
162
 
123
163
  <!-- Link References -->
124
164
 
165
+ [4.0.1]: https://github.com/aneuhold/ts-libs/compare/core-ts-db-lib-v4.0.0...core-ts-db-lib-v4.0.1
166
+ [4.0.0]: https://github.com/aneuhold/ts-libs/compare/core-ts-db-lib-v3.0.3...core-ts-db-lib-v4.0.0
125
167
  [3.0.3]: https://github.com/aneuhold/ts-libs/compare/core-ts-db-lib-v3.0.2...core-ts-db-lib-v3.0.3
126
168
  [3.0.2]: https://github.com/aneuhold/ts-libs/compare/core-ts-db-lib-v3.0.1...core-ts-db-lib-v3.0.2
127
169
  [3.0.1]: https://github.com/aneuhold/ts-libs/compare/core-ts-db-lib-v3.0.0...core-ts-db-lib-v3.0.1
package/lib/browser.d.ts CHANGED
@@ -1,28 +1,33 @@
1
- import BaseDocument from './documents/BaseDocument.js';
2
- import BaseDocumentWithType from './documents/BaseDocumentWithType.js';
3
- import ApiKey, { validateApiKey } from './documents/common/ApiKey.js';
4
- import type { UserCTO } from './documents/common/User.js';
5
- import User, { validateUser } from './documents/common/User.js';
6
- import NonogramKatanaItem, { validateNonogramKatanaItem } from './documents/dashboard/NonogramKatanaItem.js';
7
- import NonogramKatanaUpgrade, { validateNonogramKatanaUpgrade } from './documents/dashboard/NonogramKatanaUpgrade.js';
8
- import type { DashboardTaskMap } from './documents/dashboard/Task.js';
9
- import DashboardTask, { validateDashboardTask } from './documents/dashboard/Task.js';
10
- import DashboardUserConfig, { validateDashboardUserConfig } from './documents/dashboard/UserConfig.js';
11
- import NonogramKatanaItemName from './embedded-types/dashboard/nonogramKatanaItem/ItemName.js';
12
- import NonogramKatanaUpgradeName from './embedded-types/dashboard/nonogramKatanaUpgrade/UpgradeName.js';
13
- import type { DashboardTaskFilterSettings, DashboardTaskListFilterSettings, DashboardTaskListGlobalFilterSettings } from './embedded-types/dashboard/task/FilterSettings.js';
14
- import { getDefaultTaskListFilterSettings } from './embedded-types/dashboard/task/FilterSettings.js';
1
+ import type { BaseDocument, BaseDocumentWithType } from './documents/BaseDocument.js';
2
+ import { BaseDocumentSchema, BaseDocumentWithTypeSchema } from './documents/BaseDocument.js';
3
+ import type { ApiKey } from './documents/common/ApiKey.js';
4
+ import { ApiKeySchema } from './documents/common/ApiKey.js';
5
+ import type { User, UserCTO } from './documents/common/User.js';
6
+ import { UserCTOSchema, UserSchema } from './documents/common/User.js';
7
+ import type { NonogramKatanaItem } from './documents/dashboard/NonogramKatanaItem.js';
8
+ import { NonogramKatanaItem_docType, NonogramKatanaItemSchema } from './documents/dashboard/NonogramKatanaItem.js';
9
+ import type { NonogramKatanaUpgrade } from './documents/dashboard/NonogramKatanaUpgrade.js';
10
+ import { NonogramKatanaUpgrade_docType, NonogramKatanaUpgradeSchema } from './documents/dashboard/NonogramKatanaUpgrade.js';
11
+ import type { DashboardTask, DashboardTaskMap } from './documents/dashboard/Task.js';
12
+ import { DashboardTask_docType, DashboardTaskSchema } from './documents/dashboard/Task.js';
13
+ import type { DashboardUserConfig } from './documents/dashboard/UserConfig.js';
14
+ import { DashboardUserConfig_docType, DashboardUserConfigSchema } from './documents/dashboard/UserConfig.js';
15
+ import NonogramKatanaItemName, { NonogramKatanaItemNameSchema } from './embedded-types/dashboard/nonogramKatanaItem/ItemName.js';
16
+ import NonogramKatanaUpgradeName, { NonogramKatanaUpgradeNameSchema } from './embedded-types/dashboard/nonogramKatanaUpgrade/UpgradeName.js';
17
+ import type { DashboardTaskFilterSettings, DashboardTaskListFilterSettings, DashboardTaskListGlobalFilterSettings, StandardFilterSetting } from './embedded-types/dashboard/task/FilterSettings.js';
18
+ import { DashboardTaskFilterSettingsSchema, DashboardTaskListFilterSettingsSchema, DashboardTaskListGlobalFilterSettingsSchema, StandardFilterSettingSchema } from './embedded-types/dashboard/task/FilterSettings.js';
15
19
  import type { ParentRecurringTaskInfo, RecurrenceFrequency, RecurrenceInfo } from './embedded-types/dashboard/task/RecurrenceInfo.js';
16
- import { RecurrenceBasis, RecurrenceEffect, RecurrenceFrequencyType } from './embedded-types/dashboard/task/RecurrenceInfo.js';
20
+ import { ParentRecurringTaskInfoSchema, RecurrenceBasis, RecurrenceBasisSchema, RecurrenceEffect, RecurrenceEffectSchema, RecurrenceFrequencySchema, RecurrenceFrequencyType, RecurrenceFrequencyTypeSchema, RecurrenceInfoSchema } from './embedded-types/dashboard/task/RecurrenceInfo.js';
17
21
  import type { DashboardTaskListGlobalSortSettings, DashboardTaskListSortSettings, DashboardTaskSortSetting, DashboardTaskSortSettings } from './embedded-types/dashboard/task/SortSettings.js';
18
- import { DashboardTaskSortBy, DashboardTaskSortDirection, getDefaultTaskListSortSettings } from './embedded-types/dashboard/task/SortSettings.js';
22
+ import { DashboardTaskListGlobalSortSettingsSchema, DashboardTaskListSortSettingsSchema, DashboardTaskSortBy, DashboardTaskSortBySchema, DashboardTaskSortDirection, DashboardTaskSortDirectionSchema, DashboardTaskSortSettingSchema, DashboardTaskSortSettingsSchema } from './embedded-types/dashboard/task/SortSettings.js';
19
23
  import type { DashboardTagSetting, DashboardTagSettings } from './embedded-types/dashboard/userConfig/Tags.js';
20
- import RequiredUserId from './schemas/required-refs/RequiredUserId.js';
21
- import type { DocumentValidator } from './schemas/validators/DocumentValidator.js';
24
+ import { DashboardTagSettingSchema, DashboardTagSettingsSchema } from './embedded-types/dashboard/userConfig/Tags.js';
25
+ import type { RequiredUserId } from './schemas/required-refs/RequiredUserId.js';
26
+ import { RequiredUserIdSchema } from './schemas/required-refs/RequiredUserId.js';
22
27
  import type { DocumentMap } from './services/DocumentService.js';
23
28
  import DocumentService from './services/DocumentService.js';
24
29
  import type { DashboardTaskFilterAndSortResult } from './services/dashboard/Task/TaskService.js';
25
30
  import DashboardTaskService from './services/dashboard/Task/TaskService.js';
26
- export { ApiKey, BaseDocument, BaseDocumentWithType, DashboardTask, DashboardTaskService, DashboardTaskSortBy, DashboardTaskSortDirection, DashboardUserConfig, DocumentService, getDefaultTaskListFilterSettings, getDefaultTaskListSortSettings, NonogramKatanaItem, NonogramKatanaItemName, NonogramKatanaUpgrade, NonogramKatanaUpgradeName, RecurrenceBasis, RecurrenceEffect, RecurrenceFrequencyType, RequiredUserId, User, validateApiKey, validateDashboardTask, validateDashboardUserConfig, validateNonogramKatanaItem, validateNonogramKatanaUpgrade, validateUser };
27
- export type { DashboardTagSetting, DashboardTagSettings, DashboardTaskFilterAndSortResult, DashboardTaskFilterSettings, DashboardTaskListFilterSettings, DashboardTaskListGlobalFilterSettings, DashboardTaskListGlobalSortSettings, DashboardTaskListSortSettings, DashboardTaskMap, DashboardTaskSortSetting, DashboardTaskSortSettings, DocumentMap, DocumentValidator, ParentRecurringTaskInfo, RecurrenceFrequency, RecurrenceInfo, UserCTO };
31
+ export { ApiKeySchema, BaseDocumentSchema, BaseDocumentWithTypeSchema, DashboardTagSettingSchema, DashboardTagSettingsSchema, DashboardTask_docType, DashboardTaskFilterSettingsSchema, DashboardTaskListFilterSettingsSchema, DashboardTaskListGlobalFilterSettingsSchema, DashboardTaskListGlobalSortSettingsSchema, DashboardTaskListSortSettingsSchema, DashboardTaskSchema, DashboardTaskService, DashboardTaskSortBy, DashboardTaskSortBySchema, DashboardTaskSortDirection, DashboardTaskSortDirectionSchema, DashboardTaskSortSettingSchema, DashboardTaskSortSettingsSchema, DashboardUserConfig_docType, DashboardUserConfigSchema, DocumentService, NonogramKatanaItem_docType, NonogramKatanaItemName, NonogramKatanaItemNameSchema, NonogramKatanaItemSchema, NonogramKatanaUpgrade_docType, NonogramKatanaUpgradeName, NonogramKatanaUpgradeNameSchema, NonogramKatanaUpgradeSchema, ParentRecurringTaskInfoSchema, RecurrenceBasis, RecurrenceBasisSchema, RecurrenceEffect, RecurrenceEffectSchema, RecurrenceFrequencySchema, RecurrenceFrequencyType, RecurrenceFrequencyTypeSchema, RecurrenceInfoSchema, RequiredUserIdSchema, StandardFilterSettingSchema, UserCTOSchema, UserSchema };
32
+ export type { ApiKey, BaseDocument, BaseDocumentWithType, DashboardTagSetting, DashboardTagSettings, DashboardTask, DashboardTaskFilterAndSortResult, DashboardTaskFilterSettings, DashboardTaskListFilterSettings, DashboardTaskListGlobalFilterSettings, DashboardTaskListGlobalSortSettings, DashboardTaskListSortSettings, DashboardTaskMap, DashboardTaskSortSetting, DashboardTaskSortSettings, DashboardUserConfig, DocumentMap, NonogramKatanaItem, NonogramKatanaUpgrade, ParentRecurringTaskInfo, RecurrenceFrequency, RecurrenceInfo, RequiredUserId, StandardFilterSetting, User, UserCTO };
28
33
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,oBAAoB,MAAM,qCAAqC,CAAC;AACvE,OAAO,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,kBAAkB,EAAE,EACzB,0BAA0B,EAC3B,MAAM,6CAA6C,CAAC;AACrD,OAAO,qBAAqB,EAAE,EAC5B,6BAA6B,EAC9B,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,aAAa,EAAE,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,mBAAmB,EAAE,EAC1B,2BAA2B,EAC5B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,sBAAsB,MAAM,2DAA2D,CAAC;AAC/F,OAAO,yBAAyB,MAAM,iEAAiE,CAAC;AACxG,OAAO,KAAK,EACV,2BAA2B,EAC3B,+BAA+B,EAC/B,qCAAqC,EACtC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,gCAAgC,EAAE,MAAM,mDAAmD,CAAC;AACrG,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACf,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EACV,mCAAmC,EACnC,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,8BAA8B,EAC/B,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,+CAA+C,CAAC;AACvD,OAAO,cAAc,MAAM,2CAA2C,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AACjG,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAG5E,OAAO,EACL,MAAM,EACN,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,eAAe,EACf,gCAAgC,EAChC,8BAA8B,EAC9B,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,IAAI,EACJ,cAAc,EACd,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,YAAY,EACb,CAAC;AAGF,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,gCAAgC,EAChC,2BAA2B,EAC3B,+BAA+B,EAC/B,qCAAqC,EACrC,mCAAmC,EACnC,6BAA6B,EAC7B,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EACzB,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,OAAO,EACR,CAAC"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
package/lib/browser.js CHANGED
@@ -1,19 +1,19 @@
1
- import BaseDocument from './documents/BaseDocument.js';
2
- import BaseDocumentWithType from './documents/BaseDocumentWithType.js';
3
- import ApiKey, { validateApiKey } from './documents/common/ApiKey.js';
4
- import User, { validateUser } from './documents/common/User.js';
5
- import NonogramKatanaItem, { validateNonogramKatanaItem } from './documents/dashboard/NonogramKatanaItem.js';
6
- import NonogramKatanaUpgrade, { validateNonogramKatanaUpgrade } from './documents/dashboard/NonogramKatanaUpgrade.js';
7
- import DashboardTask, { validateDashboardTask } from './documents/dashboard/Task.js';
8
- import DashboardUserConfig, { validateDashboardUserConfig } from './documents/dashboard/UserConfig.js';
9
- import NonogramKatanaItemName from './embedded-types/dashboard/nonogramKatanaItem/ItemName.js';
10
- import NonogramKatanaUpgradeName from './embedded-types/dashboard/nonogramKatanaUpgrade/UpgradeName.js';
11
- import { getDefaultTaskListFilterSettings } from './embedded-types/dashboard/task/FilterSettings.js';
12
- import { RecurrenceBasis, RecurrenceEffect, RecurrenceFrequencyType } from './embedded-types/dashboard/task/RecurrenceInfo.js';
13
- import { DashboardTaskSortBy, DashboardTaskSortDirection, getDefaultTaskListSortSettings } from './embedded-types/dashboard/task/SortSettings.js';
14
- import RequiredUserId from './schemas/required-refs/RequiredUserId.js';
1
+ import { BaseDocumentSchema, BaseDocumentWithTypeSchema } from './documents/BaseDocument.js';
2
+ import { ApiKeySchema } from './documents/common/ApiKey.js';
3
+ import { UserCTOSchema, UserSchema } from './documents/common/User.js';
4
+ import { NonogramKatanaItem_docType, NonogramKatanaItemSchema } from './documents/dashboard/NonogramKatanaItem.js';
5
+ import { NonogramKatanaUpgrade_docType, NonogramKatanaUpgradeSchema } from './documents/dashboard/NonogramKatanaUpgrade.js';
6
+ import { DashboardTask_docType, DashboardTaskSchema } from './documents/dashboard/Task.js';
7
+ import { DashboardUserConfig_docType, DashboardUserConfigSchema } from './documents/dashboard/UserConfig.js';
8
+ import NonogramKatanaItemName, { NonogramKatanaItemNameSchema } from './embedded-types/dashboard/nonogramKatanaItem/ItemName.js';
9
+ import NonogramKatanaUpgradeName, { NonogramKatanaUpgradeNameSchema } from './embedded-types/dashboard/nonogramKatanaUpgrade/UpgradeName.js';
10
+ import { DashboardTaskFilterSettingsSchema, DashboardTaskListFilterSettingsSchema, DashboardTaskListGlobalFilterSettingsSchema, StandardFilterSettingSchema } from './embedded-types/dashboard/task/FilterSettings.js';
11
+ import { ParentRecurringTaskInfoSchema, RecurrenceBasis, RecurrenceBasisSchema, RecurrenceEffect, RecurrenceEffectSchema, RecurrenceFrequencySchema, RecurrenceFrequencyType, RecurrenceFrequencyTypeSchema, RecurrenceInfoSchema } from './embedded-types/dashboard/task/RecurrenceInfo.js';
12
+ import { DashboardTaskListGlobalSortSettingsSchema, DashboardTaskListSortSettingsSchema, DashboardTaskSortBy, DashboardTaskSortBySchema, DashboardTaskSortDirection, DashboardTaskSortDirectionSchema, DashboardTaskSortSettingSchema, DashboardTaskSortSettingsSchema } from './embedded-types/dashboard/task/SortSettings.js';
13
+ import { DashboardTagSettingSchema, DashboardTagSettingsSchema } from './embedded-types/dashboard/userConfig/Tags.js';
14
+ import { RequiredUserIdSchema } from './schemas/required-refs/RequiredUserId.js';
15
15
  import DocumentService from './services/DocumentService.js';
16
16
  import DashboardTaskService from './services/dashboard/Task/TaskService.js';
17
17
  // Export all browser-safe functions and classes from this library
18
- export { ApiKey, BaseDocument, BaseDocumentWithType, DashboardTask, DashboardTaskService, DashboardTaskSortBy, DashboardTaskSortDirection, DashboardUserConfig, DocumentService, getDefaultTaskListFilterSettings, getDefaultTaskListSortSettings, NonogramKatanaItem, NonogramKatanaItemName, NonogramKatanaUpgrade, NonogramKatanaUpgradeName, RecurrenceBasis, RecurrenceEffect, RecurrenceFrequencyType, RequiredUserId, User, validateApiKey, validateDashboardTask, validateDashboardUserConfig, validateNonogramKatanaItem, validateNonogramKatanaUpgrade, validateUser };
18
+ export { ApiKeySchema, BaseDocumentSchema, BaseDocumentWithTypeSchema, DashboardTagSettingSchema, DashboardTagSettingsSchema, DashboardTask_docType, DashboardTaskFilterSettingsSchema, DashboardTaskListFilterSettingsSchema, DashboardTaskListGlobalFilterSettingsSchema, DashboardTaskListGlobalSortSettingsSchema, DashboardTaskListSortSettingsSchema, DashboardTaskSchema, DashboardTaskService, DashboardTaskSortBy, DashboardTaskSortBySchema, DashboardTaskSortDirection, DashboardTaskSortDirectionSchema, DashboardTaskSortSettingSchema, DashboardTaskSortSettingsSchema, DashboardUserConfig_docType, DashboardUserConfigSchema, DocumentService, NonogramKatanaItem_docType, NonogramKatanaItemName, NonogramKatanaItemNameSchema, NonogramKatanaItemSchema, NonogramKatanaUpgrade_docType, NonogramKatanaUpgradeName, NonogramKatanaUpgradeNameSchema, NonogramKatanaUpgradeSchema, ParentRecurringTaskInfoSchema, RecurrenceBasis, RecurrenceBasisSchema, RecurrenceEffect, RecurrenceEffectSchema, RecurrenceFrequencySchema, RecurrenceFrequencyType, RecurrenceFrequencyTypeSchema, RecurrenceInfoSchema, RequiredUserIdSchema, StandardFilterSettingSchema, UserCTOSchema, UserSchema };
19
19
  //# sourceMappingURL=browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,oBAAoB,MAAM,qCAAqC,CAAC;AACvE,OAAO,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,kBAAkB,EAAE,EACzB,0BAA0B,EAC3B,MAAM,6CAA6C,CAAC;AACrD,OAAO,qBAAqB,EAAE,EAC5B,6BAA6B,EAC9B,MAAM,gDAAgD,CAAC;AAExD,OAAO,aAAa,EAAE,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,mBAAmB,EAAE,EAC1B,2BAA2B,EAC5B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,sBAAsB,MAAM,2DAA2D,CAAC;AAC/F,OAAO,yBAAyB,MAAM,iEAAiE,CAAC;AAMxG,OAAO,EAAE,gCAAgC,EAAE,MAAM,mDAAmD,CAAC;AAMrG,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,mDAAmD,CAAC;AAO3D,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,8BAA8B,EAC/B,MAAM,iDAAiD,CAAC;AAKzD,OAAO,cAAc,MAAM,2CAA2C,CAAC;AAGvE,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAE5D,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAE5E,kEAAkE;AAClE,OAAO,EACL,MAAM,EACN,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,eAAe,EACf,gCAAgC,EAChC,8BAA8B,EAC9B,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,IAAI,EACJ,cAAc,EACd,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,YAAY,EACb,CAAC"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAE7F,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,6CAA6C,CAAC;AAErD,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC5B,MAAM,gDAAgD,CAAC;AAExD,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE3F,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,sBAAsB,EAAE,EAC7B,4BAA4B,EAC7B,MAAM,2DAA2D,CAAC;AACnE,OAAO,yBAAyB,EAAE,EAChC,+BAA+B,EAChC,MAAM,iEAAiE,CAAC;AAOzE,OAAO,EACL,iCAAiC,EACjC,qCAAqC,EACrC,2CAA2C,EAC3C,2BAA2B,EAC5B,MAAM,mDAAmD,CAAC;AAM3D,OAAO,EACL,6BAA6B,EAC7B,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,6BAA6B,EAC7B,oBAAoB,EACrB,MAAM,mDAAmD,CAAC;AAO3D,OAAO,EACL,yCAAyC,EACzC,mCAAmC,EACnC,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,gCAAgC,EAChC,8BAA8B,EAC9B,+BAA+B,EAChC,MAAM,iDAAiD,CAAC;AAKzD,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAE5D,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAE5E,kEAAkE;AAClE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,iCAAiC,EACjC,qCAAqC,EACrC,2CAA2C,EAC3C,yCAAyC,EACzC,mCAAmC,EACnC,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,gCAAgC,EAChC,8BAA8B,EAC9B,+BAA+B,EAC/B,2BAA2B,EAC3B,yBAAyB,EACzB,eAAe,EACf,0BAA0B,EAC1B,sBAAsB,EACtB,4BAA4B,EAC5B,wBAAwB,EACxB,6BAA6B,EAC7B,yBAAyB,EACzB,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC7B,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,6BAA6B,EAC7B,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,aAAa,EACb,UAAU,EACX,CAAC"}
package/lib/browser.ts CHANGED
@@ -1,36 +1,59 @@
1
- import BaseDocument from './documents/BaseDocument.js';
2
- import BaseDocumentWithType from './documents/BaseDocumentWithType.js';
3
- import ApiKey, { validateApiKey } from './documents/common/ApiKey.js';
4
- import type { UserCTO } from './documents/common/User.js';
5
- import User, { validateUser } from './documents/common/User.js';
6
- import NonogramKatanaItem, {
7
- validateNonogramKatanaItem
1
+ import type { BaseDocument, BaseDocumentWithType } from './documents/BaseDocument.js';
2
+ import { BaseDocumentSchema, BaseDocumentWithTypeSchema } from './documents/BaseDocument.js';
3
+ import type { ApiKey } from './documents/common/ApiKey.js';
4
+ import { ApiKeySchema } from './documents/common/ApiKey.js';
5
+ import type { User, UserCTO } from './documents/common/User.js';
6
+ import { UserCTOSchema, UserSchema } from './documents/common/User.js';
7
+ import type { NonogramKatanaItem } from './documents/dashboard/NonogramKatanaItem.js';
8
+ import {
9
+ NonogramKatanaItem_docType,
10
+ NonogramKatanaItemSchema
8
11
  } from './documents/dashboard/NonogramKatanaItem.js';
9
- import NonogramKatanaUpgrade, {
10
- validateNonogramKatanaUpgrade
12
+ import type { NonogramKatanaUpgrade } from './documents/dashboard/NonogramKatanaUpgrade.js';
13
+ import {
14
+ NonogramKatanaUpgrade_docType,
15
+ NonogramKatanaUpgradeSchema
11
16
  } from './documents/dashboard/NonogramKatanaUpgrade.js';
12
- import type { DashboardTaskMap } from './documents/dashboard/Task.js';
13
- import DashboardTask, { validateDashboardTask } from './documents/dashboard/Task.js';
14
- import DashboardUserConfig, {
15
- validateDashboardUserConfig
17
+ import type { DashboardTask, DashboardTaskMap } from './documents/dashboard/Task.js';
18
+ import { DashboardTask_docType, DashboardTaskSchema } from './documents/dashboard/Task.js';
19
+ import type { DashboardUserConfig } from './documents/dashboard/UserConfig.js';
20
+ import {
21
+ DashboardUserConfig_docType,
22
+ DashboardUserConfigSchema
16
23
  } from './documents/dashboard/UserConfig.js';
17
- import NonogramKatanaItemName from './embedded-types/dashboard/nonogramKatanaItem/ItemName.js';
18
- import NonogramKatanaUpgradeName from './embedded-types/dashboard/nonogramKatanaUpgrade/UpgradeName.js';
24
+ import NonogramKatanaItemName, {
25
+ NonogramKatanaItemNameSchema
26
+ } from './embedded-types/dashboard/nonogramKatanaItem/ItemName.js';
27
+ import NonogramKatanaUpgradeName, {
28
+ NonogramKatanaUpgradeNameSchema
29
+ } from './embedded-types/dashboard/nonogramKatanaUpgrade/UpgradeName.js';
19
30
  import type {
20
31
  DashboardTaskFilterSettings,
21
32
  DashboardTaskListFilterSettings,
22
- DashboardTaskListGlobalFilterSettings
33
+ DashboardTaskListGlobalFilterSettings,
34
+ StandardFilterSetting
35
+ } from './embedded-types/dashboard/task/FilterSettings.js';
36
+ import {
37
+ DashboardTaskFilterSettingsSchema,
38
+ DashboardTaskListFilterSettingsSchema,
39
+ DashboardTaskListGlobalFilterSettingsSchema,
40
+ StandardFilterSettingSchema
23
41
  } from './embedded-types/dashboard/task/FilterSettings.js';
24
- import { getDefaultTaskListFilterSettings } from './embedded-types/dashboard/task/FilterSettings.js';
25
42
  import type {
26
43
  ParentRecurringTaskInfo,
27
44
  RecurrenceFrequency,
28
45
  RecurrenceInfo
29
46
  } from './embedded-types/dashboard/task/RecurrenceInfo.js';
30
47
  import {
48
+ ParentRecurringTaskInfoSchema,
31
49
  RecurrenceBasis,
50
+ RecurrenceBasisSchema,
32
51
  RecurrenceEffect,
33
- RecurrenceFrequencyType
52
+ RecurrenceEffectSchema,
53
+ RecurrenceFrequencySchema,
54
+ RecurrenceFrequencyType,
55
+ RecurrenceFrequencyTypeSchema,
56
+ RecurrenceInfoSchema
34
57
  } from './embedded-types/dashboard/task/RecurrenceInfo.js';
35
58
  import type {
36
59
  DashboardTaskListGlobalSortSettings,
@@ -39,16 +62,25 @@ import type {
39
62
  DashboardTaskSortSettings
40
63
  } from './embedded-types/dashboard/task/SortSettings.js';
41
64
  import {
65
+ DashboardTaskListGlobalSortSettingsSchema,
66
+ DashboardTaskListSortSettingsSchema,
42
67
  DashboardTaskSortBy,
68
+ DashboardTaskSortBySchema,
43
69
  DashboardTaskSortDirection,
44
- getDefaultTaskListSortSettings
70
+ DashboardTaskSortDirectionSchema,
71
+ DashboardTaskSortSettingSchema,
72
+ DashboardTaskSortSettingsSchema
45
73
  } from './embedded-types/dashboard/task/SortSettings.js';
46
74
  import type {
47
75
  DashboardTagSetting,
48
76
  DashboardTagSettings
49
77
  } from './embedded-types/dashboard/userConfig/Tags.js';
50
- import RequiredUserId from './schemas/required-refs/RequiredUserId.js';
51
- import type { DocumentValidator } from './schemas/validators/DocumentValidator.js';
78
+ import {
79
+ DashboardTagSettingSchema,
80
+ DashboardTagSettingsSchema
81
+ } from './embedded-types/dashboard/userConfig/Tags.js';
82
+ import type { RequiredUserId } from './schemas/required-refs/RequiredUserId.js';
83
+ import { RequiredUserIdSchema } from './schemas/required-refs/RequiredUserId.js';
52
84
  import type { DocumentMap } from './services/DocumentService.js';
53
85
  import DocumentService from './services/DocumentService.js';
54
86
  import type { DashboardTaskFilterAndSortResult } from './services/dashboard/Task/TaskService.js';
@@ -56,38 +88,59 @@ import DashboardTaskService from './services/dashboard/Task/TaskService.js';
56
88
 
57
89
  // Export all browser-safe functions and classes from this library
58
90
  export {
59
- ApiKey,
60
- BaseDocument,
61
- BaseDocumentWithType,
62
- DashboardTask,
91
+ ApiKeySchema,
92
+ BaseDocumentSchema,
93
+ BaseDocumentWithTypeSchema,
94
+ DashboardTagSettingSchema,
95
+ DashboardTagSettingsSchema,
96
+ DashboardTask_docType,
97
+ DashboardTaskFilterSettingsSchema,
98
+ DashboardTaskListFilterSettingsSchema,
99
+ DashboardTaskListGlobalFilterSettingsSchema,
100
+ DashboardTaskListGlobalSortSettingsSchema,
101
+ DashboardTaskListSortSettingsSchema,
102
+ DashboardTaskSchema,
63
103
  DashboardTaskService,
64
104
  DashboardTaskSortBy,
105
+ DashboardTaskSortBySchema,
65
106
  DashboardTaskSortDirection,
66
- DashboardUserConfig,
107
+ DashboardTaskSortDirectionSchema,
108
+ DashboardTaskSortSettingSchema,
109
+ DashboardTaskSortSettingsSchema,
110
+ DashboardUserConfig_docType,
111
+ DashboardUserConfigSchema,
67
112
  DocumentService,
68
- getDefaultTaskListFilterSettings,
69
- getDefaultTaskListSortSettings,
70
- NonogramKatanaItem,
113
+ NonogramKatanaItem_docType,
71
114
  NonogramKatanaItemName,
72
- NonogramKatanaUpgrade,
115
+ NonogramKatanaItemNameSchema,
116
+ NonogramKatanaItemSchema,
117
+ NonogramKatanaUpgrade_docType,
73
118
  NonogramKatanaUpgradeName,
119
+ NonogramKatanaUpgradeNameSchema,
120
+ NonogramKatanaUpgradeSchema,
121
+ ParentRecurringTaskInfoSchema,
74
122
  RecurrenceBasis,
123
+ RecurrenceBasisSchema,
75
124
  RecurrenceEffect,
125
+ RecurrenceEffectSchema,
126
+ RecurrenceFrequencySchema,
76
127
  RecurrenceFrequencyType,
77
- RequiredUserId,
78
- User,
79
- validateApiKey,
80
- validateDashboardTask,
81
- validateDashboardUserConfig,
82
- validateNonogramKatanaItem,
83
- validateNonogramKatanaUpgrade,
84
- validateUser
128
+ RecurrenceFrequencyTypeSchema,
129
+ RecurrenceInfoSchema,
130
+ RequiredUserIdSchema,
131
+ StandardFilterSettingSchema,
132
+ UserCTOSchema,
133
+ UserSchema
85
134
  };
86
135
 
87
136
  // Export TypeScript types where needed
88
137
  export type {
138
+ ApiKey,
139
+ BaseDocument,
140
+ BaseDocumentWithType,
89
141
  DashboardTagSetting,
90
142
  DashboardTagSettings,
143
+ DashboardTask,
91
144
  DashboardTaskFilterAndSortResult,
92
145
  DashboardTaskFilterSettings,
93
146
  DashboardTaskListFilterSettings,
@@ -97,10 +150,15 @@ export type {
97
150
  DashboardTaskMap,
98
151
  DashboardTaskSortSetting,
99
152
  DashboardTaskSortSettings,
153
+ DashboardUserConfig,
100
154
  DocumentMap,
101
- DocumentValidator,
155
+ NonogramKatanaItem,
156
+ NonogramKatanaUpgrade,
102
157
  ParentRecurringTaskInfo,
103
158
  RecurrenceFrequency,
104
159
  RecurrenceInfo,
160
+ RequiredUserId,
161
+ StandardFilterSetting,
162
+ User,
105
163
  UserCTO
106
164
  };
@@ -1,12 +1,25 @@
1
- import type { UUID } from 'crypto';
1
+ import z from 'zod';
2
2
  /**
3
- * Base class for all document types stored in a document database.
4
- *
5
- * Provides the common `_id` field required by MongoDB and other
6
- * document databases. All document types should extend this class.
3
+ * Base schema for all documents. Provides the common `_id` field required by
4
+ * MongoDB and other document databases. All document schemas should extend
5
+ * this schema.
7
6
  */
8
- export default abstract class BaseDocument {
9
- /** The unique identifier for this document */
10
- _id: UUID;
11
- }
7
+ export declare const BaseDocumentSchema: z.ZodObject<{
8
+ _id: z.ZodPipe<z.ZodDefault<z.ZodUUID>, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
9
+ }, z.z.core.$strip>;
10
+ /**
11
+ * Base schema for all documents with a `docType` field.
12
+ */
13
+ export declare const BaseDocumentWithTypeSchema: z.ZodObject<{
14
+ _id: z.ZodPipe<z.ZodDefault<z.ZodUUID>, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
15
+ docType: z.ZodString;
16
+ }, z.z.core.$strip>;
17
+ /**
18
+ * Base document type for all documents stored in a document database.
19
+ */
20
+ export type BaseDocument = z.infer<typeof BaseDocumentSchema>;
21
+ /**
22
+ * Base document type with a `docType` field.
23
+ */
24
+ export type BaseDocumentWithType = z.infer<typeof BaseDocumentWithTypeSchema>;
12
25
  //# sourceMappingURL=BaseDocument.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDocument.d.ts","sourceRoot":"","sources":["../../src/documents/BaseDocument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAGnC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,YAAY;IACxC,8CAA8C;IAC9C,GAAG,EAAE,IAAI,CAAgC;CAC1C"}
1
+ {"version":3,"file":"BaseDocument.d.ts","sourceRoot":"","sources":["../../src/documents/BaseDocument.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;mBAM7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;mBAErC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
@@ -1,12 +1,21 @@
1
+ import z from 'zod';
1
2
  import DocumentService from '../services/DocumentService.js';
2
3
  /**
3
- * Base class for all document types stored in a document database.
4
- *
5
- * Provides the common `_id` field required by MongoDB and other
6
- * document databases. All document types should extend this class.
4
+ * Base schema for all documents. Provides the common `_id` field required by
5
+ * MongoDB and other document databases. All document schemas should extend
6
+ * this schema.
7
7
  */
8
- export default class BaseDocument {
8
+ export const BaseDocumentSchema = z.object({
9
9
  /** The unique identifier for this document */
10
- _id = DocumentService.generateID();
11
- }
10
+ _id: z
11
+ .uuidv7()
12
+ .default(() => DocumentService.generateID())
13
+ .transform((val) => val)
14
+ });
15
+ /**
16
+ * Base schema for all documents with a `docType` field.
17
+ */
18
+ export const BaseDocumentWithTypeSchema = BaseDocumentSchema.extend({
19
+ docType: z.string()
20
+ });
12
21
  //# sourceMappingURL=BaseDocument.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDocument.js","sourceRoot":"","sources":["../../src/documents/BaseDocument.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAgB,YAAY;IACxC,8CAA8C;IAC9C,GAAG,GAAS,eAAe,CAAC,UAAU,EAAE,CAAC;CAC1C"}
1
+ {"version":3,"file":"BaseDocument.js","sourceRoot":"","sources":["../../src/documents/BaseDocument.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,8CAA8C;IAC9C,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;SAC3C,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAW,CAAC;CACnC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAClE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC"}
@@ -1,13 +1,33 @@
1
1
  import type { UUID } from 'crypto';
2
+ import z from 'zod';
2
3
  import DocumentService from '../services/DocumentService.js';
3
4
 
4
5
  /**
5
- * Base class for all document types stored in a document database.
6
- *
7
- * Provides the common `_id` field required by MongoDB and other
8
- * document databases. All document types should extend this class.
6
+ * Base schema for all documents. Provides the common `_id` field required by
7
+ * MongoDB and other document databases. All document schemas should extend
8
+ * this schema.
9
9
  */
10
- export default abstract class BaseDocument {
10
+ export const BaseDocumentSchema = z.object({
11
11
  /** The unique identifier for this document */
12
- _id: UUID = DocumentService.generateID();
13
- }
12
+ _id: z
13
+ .uuidv7()
14
+ .default(() => DocumentService.generateID())
15
+ .transform((val) => val as UUID)
16
+ });
17
+
18
+ /**
19
+ * Base schema for all documents with a `docType` field.
20
+ */
21
+ export const BaseDocumentWithTypeSchema = BaseDocumentSchema.extend({
22
+ docType: z.string()
23
+ });
24
+
25
+ /**
26
+ * Base document type for all documents stored in a document database.
27
+ */
28
+ export type BaseDocument = z.infer<typeof BaseDocumentSchema>;
29
+
30
+ /**
31
+ * Base document type with a `docType` field.
32
+ */
33
+ export type BaseDocumentWithType = z.infer<typeof BaseDocumentWithTypeSchema>;
@@ -1,32 +1,15 @@
1
- import type { UUID } from 'crypto';
2
- import RequiredUserId from '../../schemas/required-refs/RequiredUserId.js';
3
- import type { DocumentValidator } from '../../schemas/validators/DocumentValidator.js';
4
- import BaseDocument from '../BaseDocument.js';
1
+ import { z } from 'zod';
5
2
  /**
6
- * Validates the provided {@link ApiKey} instance.
7
- *
8
- * @param apiKey - The {@link ApiKey} instance to validate.
9
- * @returns An object containing the updated document and any validation errors.
3
+ * The schema for {@link ApiKey} documents.
10
4
  */
11
- export declare const validateApiKey: DocumentValidator<ApiKey>;
5
+ export declare const ApiKeySchema: z.ZodObject<{
6
+ _id: z.ZodPipe<z.ZodDefault<z.ZodUUID>, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
7
+ userId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
8
+ key: z.ZodDefault<z.ZodUUID>;
9
+ }, z.core.$strip>;
12
10
  /**
13
11
  * A document containing an API key for a particular user. This is stored
14
12
  * separately from the {@link User} document to enhance security a bit.
15
13
  */
16
- export default class ApiKey extends BaseDocument implements RequiredUserId {
17
- /**
18
- * The API key for the user. This is indexed in the DB.
19
- */
20
- key: UUID;
21
- /**
22
- * The user ID that this key is for. This field is indexed in the database.
23
- */
24
- userId: UUID;
25
- /**
26
- * Constructs a new {@link ApiKey} for the provided user.
27
- *
28
- * @param userId - The ID of the user.
29
- */
30
- constructor(userId: UUID);
31
- }
14
+ export type ApiKey = z.infer<typeof ApiKeySchema>;
32
15
  //# sourceMappingURL=ApiKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApiKey.d.ts","sourceRoot":"","sources":["../../../src/documents/common/ApiKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,cAAc,MAAM,+CAA+C,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAGvF,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,iBAAiB,CAAC,MAAM,CAQpD,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAa,YAAW,cAAc;IACxE;;OAEG;IACH,GAAG,EAAE,IAAI,CAAuB;IAEhC;;OAEG;IACH,MAAM,EAAE,IAAI,CAAC;IAEb;;;;OAIG;gBACS,MAAM,EAAE,IAAI;CAIzB"}
1
+ {"version":3,"file":"ApiKey.d.ts","sourceRoot":"","sources":["../../../src/documents/common/ApiKey.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,YAAY;;;;iBAKvB,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -1,42 +1,13 @@
1
- import crypto from 'crypto';
2
- import RequiredUserId from '../../schemas/required-refs/RequiredUserId.js';
3
- import Validate from '../../schemas/validators/ValidateUtil.js';
4
- import DocumentService from '../../services/DocumentService.js';
5
- import BaseDocument from '../BaseDocument.js';
1
+ import { randomUUID } from 'crypto';
2
+ import { z } from 'zod';
3
+ import { RequiredUserIdSchema } from '../../schemas/required-refs/RequiredUserId.js';
6
4
  /**
7
- * Validates the provided {@link ApiKey} instance.
8
- *
9
- * @param apiKey - The {@link ApiKey} instance to validate.
10
- * @returns An object containing the updated document and any validation errors.
5
+ * The schema for {@link ApiKey} documents.
11
6
  */
12
- export const validateApiKey = (apiKey) => {
13
- const errors = [];
14
- const exampleApiKey = new ApiKey(DocumentService.generateID());
15
- const validate = new Validate(apiKey, errors);
16
- validate.string('key', exampleApiKey.key);
17
- return { updatedDoc: apiKey, errors };
18
- };
19
- /**
20
- * A document containing an API key for a particular user. This is stored
21
- * separately from the {@link User} document to enhance security a bit.
22
- */
23
- export default class ApiKey extends BaseDocument {
7
+ export const ApiKeySchema = RequiredUserIdSchema.extend({
24
8
  /**
25
9
  * The API key for the user. This is indexed in the DB.
26
10
  */
27
- key = crypto.randomUUID();
28
- /**
29
- * The user ID that this key is for. This field is indexed in the database.
30
- */
31
- userId;
32
- /**
33
- * Constructs a new {@link ApiKey} for the provided user.
34
- *
35
- * @param userId - The ID of the user.
36
- */
37
- constructor(userId) {
38
- super();
39
- this.userId = userId;
40
- }
41
- }
11
+ key: z.uuid().default(() => randomUUID())
12
+ });
42
13
  //# sourceMappingURL=ApiKey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApiKey.js","sourceRoot":"","sources":["../../../src/documents/common/ApiKey.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,cAAc,MAAM,+CAA+C,CAAC;AAE3E,OAAO,QAAQ,MAAM,0CAA0C,CAAC;AAChE,OAAO,eAAe,MAAM,mCAAmC,CAAC;AAChE,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAA8B,CAAC,MAAc,EAAE,EAAE;IAC1E,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9C,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACxC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAY;IAC9C;;OAEG;IACH,GAAG,GAAS,MAAM,CAAC,UAAU,EAAE,CAAC;IAEhC;;OAEG;IACH,MAAM,CAAO;IAEb;;;;OAIG;IACH,YAAY,MAAY;QACtB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"ApiKey.js","sourceRoot":"","sources":["../../../src/documents/common/ApiKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAErF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC;IACtD;;OAEG;IACH,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;CAC1C,CAAC,CAAC"}