@equinor/fusion-framework-module-bookmark 4.0.2 → 4.0.4

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 (117) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/esm/BookmarkClient.js +18 -3
  3. package/dist/esm/BookmarkClient.js.map +1 -1
  4. package/dist/esm/{BookmarkProvider.error.js → BookmarkFlowError.js} +9 -7
  5. package/dist/esm/BookmarkFlowError.js.map +1 -0
  6. package/dist/esm/{BookmarkConfigurator.js → BookmarkModuleConfigurator.js} +38 -6
  7. package/dist/esm/BookmarkModuleConfigurator.js.map +1 -0
  8. package/dist/esm/BookmarkProvider.js +112 -23
  9. package/dist/esm/BookmarkProvider.js.map +1 -1
  10. package/dist/esm/BookmarkProvider.selectors.js +8 -0
  11. package/dist/esm/BookmarkProvider.selectors.js.map +1 -1
  12. package/dist/esm/BookmarkProviderError.js +20 -0
  13. package/dist/esm/BookmarkProviderError.js.map +1 -0
  14. package/dist/esm/{BookmarkProvider.actions.js → bookmark-actions.js} +1 -1
  15. package/dist/esm/bookmark-actions.js.map +1 -0
  16. package/dist/esm/bookmark-config.schema.js +2 -0
  17. package/dist/esm/bookmark-config.schema.js.map +1 -1
  18. package/dist/esm/bookmark-flows/bookmark-api-flows.js +28 -0
  19. package/dist/esm/bookmark-flows/bookmark-api-flows.js.map +1 -0
  20. package/dist/esm/bookmark-flows/handle-add-bookmark-as-favorite.js +27 -0
  21. package/dist/esm/bookmark-flows/handle-add-bookmark-as-favorite.js.map +1 -0
  22. package/dist/esm/bookmark-flows/handle-create-bookmark.js +27 -0
  23. package/dist/esm/bookmark-flows/handle-create-bookmark.js.map +1 -0
  24. package/dist/esm/bookmark-flows/handle-delete-bookmark.js +26 -0
  25. package/dist/esm/bookmark-flows/handle-delete-bookmark.js.map +1 -0
  26. package/dist/esm/bookmark-flows/handle-fetch-all-bookmark.js +29 -0
  27. package/dist/esm/bookmark-flows/handle-fetch-all-bookmark.js.map +1 -0
  28. package/dist/esm/bookmark-flows/handle-fetch-bookmark-data.js +26 -0
  29. package/dist/esm/bookmark-flows/handle-fetch-bookmark-data.js.map +1 -0
  30. package/dist/esm/bookmark-flows/handle-fetch-bookmark.js +30 -0
  31. package/dist/esm/bookmark-flows/handle-fetch-bookmark.js.map +1 -0
  32. package/dist/esm/bookmark-flows/handle-remove-bookmark-from-favorites.js +28 -0
  33. package/dist/esm/bookmark-flows/handle-remove-bookmark-from-favorites.js.map +1 -0
  34. package/dist/esm/bookmark-flows/handle-remove-bookmark.js +49 -0
  35. package/dist/esm/bookmark-flows/handle-remove-bookmark.js.map +1 -0
  36. package/dist/esm/bookmark-flows/handle-update-bookmark.js +28 -0
  37. package/dist/esm/bookmark-flows/handle-update-bookmark.js.map +1 -0
  38. package/dist/esm/bookmark-flows/index.js +11 -0
  39. package/dist/esm/bookmark-flows/index.js.map +1 -0
  40. package/dist/esm/bookmark-module.js +2 -2
  41. package/dist/esm/bookmark-module.js.map +1 -1
  42. package/dist/esm/bookmark.schemas.js +9 -3
  43. package/dist/esm/bookmark.schemas.js.map +1 -1
  44. package/dist/esm/create-bookmark-reducer.js +122 -0
  45. package/dist/esm/create-bookmark-reducer.js.map +1 -0
  46. package/dist/esm/{BookmarkProvider.store.js → create-bookmark-store.js} +3 -3
  47. package/dist/esm/create-bookmark-store.js.map +1 -0
  48. package/dist/esm/enable-bookmark.js +2 -1
  49. package/dist/esm/enable-bookmark.js.map +1 -1
  50. package/dist/esm/index.js +12 -1
  51. package/dist/esm/index.js.map +1 -1
  52. package/dist/esm/version.js +1 -1
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/dist/types/BookmarkClient.d.ts +1 -0
  55. package/dist/types/{BookmarkProvider.error.d.ts → BookmarkFlowError.d.ts} +9 -4
  56. package/dist/types/{BookmarkConfigurator.d.ts → BookmarkModuleConfigurator.d.ts} +10 -4
  57. package/dist/types/BookmarkProvider.d.ts +81 -18
  58. package/dist/types/BookmarkProvider.interface.d.ts +1 -1
  59. package/dist/types/BookmarkProvider.selectors.d.ts +3 -3
  60. package/dist/types/BookmarkProviderError.d.ts +16 -0
  61. package/dist/types/{BookmarkProvider.actions.d.ts → bookmark-actions.d.ts} +3 -3
  62. package/dist/types/bookmark-flows/bookmark-api-flows.d.ts +11 -0
  63. package/dist/types/bookmark-flows/handle-add-bookmark-as-favorite.d.ts +10 -0
  64. package/dist/types/bookmark-flows/handle-create-bookmark.d.ts +10 -0
  65. package/dist/types/bookmark-flows/handle-delete-bookmark.d.ts +10 -0
  66. package/dist/types/bookmark-flows/handle-fetch-all-bookmark.d.ts +10 -0
  67. package/dist/types/bookmark-flows/handle-fetch-bookmark-data.d.ts +10 -0
  68. package/dist/types/bookmark-flows/handle-fetch-bookmark.d.ts +10 -0
  69. package/dist/types/bookmark-flows/handle-remove-bookmark-from-favorites.d.ts +10 -0
  70. package/dist/types/bookmark-flows/handle-remove-bookmark.d.ts +14 -0
  71. package/dist/types/bookmark-flows/handle-update-bookmark.d.ts +10 -0
  72. package/dist/types/bookmark-flows/index.d.ts +10 -0
  73. package/dist/types/bookmark-module.d.ts +1 -1
  74. package/dist/types/{BookmarkProvider.reducer.d.ts → create-bookmark-reducer.d.ts} +39 -39
  75. package/dist/types/{BookmarkProvider.store.d.ts → create-bookmark-store.d.ts} +2 -2
  76. package/dist/types/enable-bookmark.d.ts +1 -1
  77. package/dist/types/index.d.ts +12 -1
  78. package/dist/types/version.d.ts +1 -1
  79. package/package.json +11 -11
  80. package/src/BookmarkClient.ts +21 -3
  81. package/src/{BookmarkProvider.error.ts → BookmarkFlowError.ts} +9 -7
  82. package/src/{BookmarkConfigurator.ts → BookmarkModuleConfigurator.ts} +42 -12
  83. package/src/BookmarkProvider.interface.ts +3 -2
  84. package/src/BookmarkProvider.selectors.ts +10 -2
  85. package/src/BookmarkProvider.ts +112 -23
  86. package/src/BookmarkProviderError.ts +19 -0
  87. package/src/{BookmarkProvider.actions.ts → bookmark-actions.ts} +1 -1
  88. package/src/bookmark-config.schema.ts +2 -0
  89. package/src/bookmark-flows/bookmark-api-flows.ts +45 -0
  90. package/src/bookmark-flows/handle-add-bookmark-as-favorite.ts +49 -0
  91. package/src/bookmark-flows/handle-create-bookmark.ts +47 -0
  92. package/src/bookmark-flows/handle-delete-bookmark.ts +47 -0
  93. package/src/bookmark-flows/handle-fetch-all-bookmark.ts +53 -0
  94. package/src/bookmark-flows/handle-fetch-bookmark-data.ts +58 -0
  95. package/src/bookmark-flows/handle-fetch-bookmark.ts +64 -0
  96. package/src/bookmark-flows/handle-remove-bookmark-from-favorites.ts +49 -0
  97. package/src/bookmark-flows/handle-remove-bookmark.ts +76 -0
  98. package/src/bookmark-flows/handle-update-bookmark.ts +48 -0
  99. package/src/bookmark-flows/index.ts +10 -0
  100. package/src/bookmark-module.ts +2 -2
  101. package/src/bookmark.schemas.ts +10 -4
  102. package/src/create-bookmark-reducer.ts +149 -0
  103. package/src/{BookmarkProvider.store.ts → create-bookmark-store.ts} +4 -4
  104. package/src/enable-bookmark.ts +3 -2
  105. package/src/index.ts +12 -1
  106. package/src/version.ts +1 -1
  107. package/dist/esm/BookmarkConfigurator.js.map +0 -1
  108. package/dist/esm/BookmarkProvider.actions.js.map +0 -1
  109. package/dist/esm/BookmarkProvider.error.js.map +0 -1
  110. package/dist/esm/BookmarkProvider.flows.js +0 -217
  111. package/dist/esm/BookmarkProvider.flows.js.map +0 -1
  112. package/dist/esm/BookmarkProvider.reducer.js +0 -113
  113. package/dist/esm/BookmarkProvider.reducer.js.map +0 -1
  114. package/dist/esm/BookmarkProvider.store.js.map +0 -1
  115. package/dist/types/BookmarkProvider.flows.d.ts +0 -79
  116. package/src/BookmarkProvider.flows.ts +0 -421
  117. package/src/BookmarkProvider.reducer.ts +0 -144
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # Change Log
2
2
 
3
+ ## 4.0.4
4
+
5
+ ### Patch Changes
6
+
7
+ - de2b4fb: Added missing TSDoc comments on class fields flagged by the new `require-property-tsdoc` fusion-lint rule.
8
+
9
+ ## 4.0.3
10
+
11
+ ### Patch Changes
12
+
13
+ - 80c3e4a: Internal: resolve `noExplicitAny`/`noConfusingVoidType` Biome warnings in `enableBookmark`'s configurator widening, `BookmarkCreateArgs`/`BookmarkPayloadGenerator`'s generic defaults, and safely tighten `BookmarkModuleConfigurator`'s internal resolver method return types from `| void` to `| undefined`. No public API or behavior change.
14
+ - 80c3e4a: Internal: add required fusion-lint intent comments explaining `as unknown as T` casts in `BookmarkConfigurator` and `BookmarkProvider`. `bookmarkWithDataSchema`'s `schema` parameter is now optional instead of defaulted, to allow the default schema's cast to be documented with an intent comment; behavior is unchanged for all callers, which never pass a `schema` argument.
15
+ - 80c3e4a: Internal: Resolve fusion-lint warnings across the module — added missing TSDoc `@throws`/`@template` tags and fixed stale parameter/return docs on `BookmarkProvider`'s public API, added intent comments for control-flow and RxJS `.pipe()` chains, and extracted `BookmarkProviderError` into its own file (re-exported from `BookmarkProvider.error.ts` for backwards compatibility).
16
+
17
+ Split the 421-line `BookmarkProvider.flows.ts` into one-handler-per-file modules under `bookmark-flows/*.ts` for maintainability.
18
+
19
+ - 80c3e4a: Internal: renamed 45 source files across these packages to comply with the `filename-convention` lint rule (e.g. `AIConfigurator.ts` → `AiConfigurator.ts`, `BookmarkProvider.actions.ts` → `bookmark-actions.ts`, `errors/app-build-error.ts` → `errors/AppBuildError.ts`, `plugins/api/plugin.ts` → `plugins/api/ApiPlugin.ts`, `errors.ts` → `UnsupportedApiVersion.ts`, etc.). Also added `enable-signalr.ts` to the `filename-convention` exclude list since the suggested rename would incorrectly split the "SignalR" brand name. No public API changes.
20
+ - 80c3e4a: Internal: added missing intent comments ahead of non-obvious control flow, RxJS `.pipe()` chains, iterator calls, and multi-source object merges to comply with the `require-intent-comment` and `require-tsdoc` lint rules. Also removed dead duplicate files left over from an earlier refactor in `navigation` (`events.ts`, `navigated-event.ts`, `history.flows.ts` — all fully superseded by their split replacements) and renamed `bookmarks/schemas.ts` to `bookmarks/bookmark.schemas.ts` in `services` to match the `*.schemas.ts` filename convention. No public API changes.
21
+
3
22
  ## 4.0.2
4
23
 
5
24
  ### Patch Changes
@@ -57,6 +57,7 @@ export class BookmarkClient {
57
57
  * Constructs a new `BookmarkClient` instance with the provided `BookmarksApiClient`.
58
58
  *
59
59
  * @param api - The `BookmarksApiClient` instance to use for making API requests.
60
+ * @param options - Optional client options, such as the cache expiry time.
60
61
  */
61
62
  constructor(api, options) {
62
63
  this.#api = api;
@@ -65,6 +66,7 @@ export class BookmarkClient {
65
66
  this.#queryBookmark = new Query({
66
67
  client: {
67
68
  fn: (args) => {
69
+ // strip the payload from the fetched bookmark before caching
68
70
  return this.#api.get('v2', args).pipe(map(parseBookmarkWithoutPayload));
69
71
  },
70
72
  },
@@ -75,9 +77,10 @@ export class BookmarkClient {
75
77
  this.#queryBookmarks = new Query({
76
78
  client: {
77
79
  fn: (filter) => {
78
- return this.#api
79
- .query('v2', { filter })
80
- .pipe(map((res) => res.map(parseBookmarkWithoutPayload)));
80
+ // strip the payload from each fetched bookmark before caching
81
+ return this.#api.query('v2', { filter }).pipe(map((res) =>
82
+ // strip the payload field from each bookmark
83
+ res.map(parseBookmarkWithoutPayload)));
81
84
  },
82
85
  },
83
86
  key: (args) => JSON.stringify(args ?? ''),
@@ -86,6 +89,7 @@ export class BookmarkClient {
86
89
  this.#queryBookmarkData = new Query({
87
90
  client: {
88
91
  fn: (args) => {
92
+ // extract only the payload from the API response
89
93
  return this.#api.getPayload('v1', args).pipe(map((res) => res.payload));
90
94
  },
91
95
  },
@@ -100,19 +104,24 @@ export class BookmarkClient {
100
104
  }
101
105
  /** @inheritdoc */
102
106
  getAllBookmarks(filter) {
107
+ // unwrap the query result value
103
108
  return this.#queryBookmarks.query(filter).pipe(map((res) => res.value));
104
109
  }
105
110
  /** @inheritdoc */
106
111
  getBookmarkById(bookmarkId) {
112
+ // unwrap the query result value
107
113
  return this.#queryBookmark.query({ bookmarkId }).pipe(map((res) => res.value));
108
114
  }
109
115
  /** @inheritdoc */
110
116
  getBookmarkData(bookmarkId) {
117
+ // unwrap the query result value
111
118
  return this.#queryBookmarkData.query({ bookmarkId }).pipe(map((res) => res.value));
112
119
  }
113
120
  /** @inheritdoc */
114
121
  setBookmarkData(bookmarkId, data) {
122
+ // update the payload cache once the mutation succeeds
115
123
  return this.#api.patch('v1', { bookmarkId, updates: { payload: data } }).pipe(map((res) => res.payload), tap((updatedData) => {
124
+ // only update the cache when data was actually returned
116
125
  if (updatedData) {
117
126
  this.#queryBookmarkData.mutate({ bookmarkId }, { value: updatedData, updated: Date.now() }, { allowCreation: true });
118
127
  }
@@ -120,12 +129,14 @@ export class BookmarkClient {
120
129
  }
121
130
  /** @inheritdoc */
122
131
  createBookmark(newBookmark) {
132
+ // parse the response and update caches once the bookmark is created
123
133
  return this.#api.create('v1', newBookmark).pipe(map((response) => parseBookmark(response)),
124
134
  /** update the bookmark cache */
125
135
  tap((createdBookmark) => {
126
136
  console.log('createdBookmark', createdBookmark);
127
137
  const { payload, ...bookmark } = createdBookmark;
128
138
  this.#queryBookmark.mutate({ bookmarkId: bookmark.id }, { value: bookmark, updated: Date.now() }, { allowCreation: true });
139
+ // only cache the payload if the created bookmark has one
129
140
  if (payload) {
130
141
  this.#queryBookmarkData.mutate({ bookmarkId: bookmark.id }, { value: payload, updated: Date.now() }, { allowCreation: true });
131
142
  }
@@ -134,6 +145,7 @@ export class BookmarkClient {
134
145
  }
135
146
  /** @inheritdoc */
136
147
  updateBookmark(bookmarkId, updates) {
148
+ // parse the response and share it across the cache-update subscriptions below
137
149
  const update$ = this.#api.patch('v1', { bookmarkId, updates: updates }).pipe(map((response) => parseBookmark(response)), shareReplay());
138
150
  return new Observable((subscriber) => {
139
151
  // update the query cache for the specific bookmark
@@ -146,6 +158,7 @@ export class BookmarkClient {
146
158
  // update the cache for bookmark data
147
159
  subscriber.add(update$.subscribe((updatedBookmark) => {
148
160
  const { payload } = updatedBookmark;
161
+ // only cache the payload when present, otherwise clear any stale cache entry
149
162
  if (payload) {
150
163
  this.#queryBookmarkData.mutate({
151
164
  bookmarkId: updatedBookmark.id,
@@ -172,12 +185,14 @@ export class BookmarkClient {
172
185
  }
173
186
  /** @inheritdoc */
174
187
  addBookmarkToFavorites(bookmarkId) {
188
+ // invalidate the bookmarks list cache once favorited
175
189
  return this.#api
176
190
  .addFavourite('v1', { bookmarkId })
177
191
  .pipe(tap(() => this.#queryBookmarks.invalidate()));
178
192
  }
179
193
  /** @inheritdoc */
180
194
  removeBookmarkFromFavorites(bookmarkId) {
195
+ // invalidate the bookmarks list cache once unfavorited
181
196
  return this.#api
182
197
  .removeFavourite('v1', { bookmarkId })
183
198
  .pipe(tap(() => this.#queryBookmarks.invalidate()));
@@ -1 +1 @@
1
- {"version":3,"file":"BookmarkClient.js","sourceRoot":"","sources":["../../src/BookmarkClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BookmarkClient.js","sourceRoot":"","sources":["../../src/BookmarkClient.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,13 @@
7
7
  */
8
8
  export class BookmarkFlowError extends Error {
9
9
  action;
10
+ /**
11
+ * Constructs a new `BookmarkFlowError`.
12
+ *
13
+ * @param message - Human-readable error message.
14
+ * @param action - The request action that triggered the failed flow.
15
+ * @param options - Optional `ErrorOptions` (e.g. `cause`).
16
+ */
10
17
  constructor(message,
11
18
  /** The request action that triggered the failed flow. */
12
19
  action, options) {
@@ -22,10 +29,5 @@ export class BookmarkFlowError extends Error {
22
29
  * Distinct from {@link BookmarkFlowError}, which is scoped to internal
23
30
  * store flow pipelines.
24
31
  */
25
- export class BookmarkProviderError extends Error {
26
- constructor(message, options) {
27
- super(message, options);
28
- this.name = 'BookmarkProviderError';
29
- }
30
- }
31
- //# sourceMappingURL=BookmarkProvider.error.js.map
32
+ export { BookmarkProviderError } from './BookmarkProviderError';
33
+ //# sourceMappingURL=BookmarkFlowError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BookmarkFlowError.js","sourceRoot":"","sources":["../../src/BookmarkFlowError.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAWxB,MAAM;IAVxB;;;;;;OAMG;IACH,YACE,OAAe;IACf,yDAAyD;IACzC,MAAoD,EACpE,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;sBAHR,MAAM;QAItB,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED;;;;;;GAMG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -25,7 +25,15 @@ const parseInitialBookmarkConfigConfig = (initial) => {
25
25
  */
26
26
  export class BookmarkModuleConfigurator extends BaseConfigBuilder {
27
27
  #log;
28
- defaultExpireTime = 1 * 60 * 1000; // Default expiration time for bookmarks
28
+ /** Default expiration time, in milliseconds, for bookmarks. */
29
+ defaultExpireTime = 1 * 60 * 1000;
30
+ /**
31
+ * Constructs a new `BookmarkModuleConfigurator`.
32
+ *
33
+ * @param options - Optional configurator options.
34
+ * @param options.log - Logger instance inherited from the parent module, if any.
35
+ * @param options.ref - Reference to sibling module instances available during configuration.
36
+ */
29
37
  constructor(options) {
30
38
  super();
31
39
  const { log } = options ?? {};
@@ -44,6 +52,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
44
52
  */
45
53
  setLogLevel(level) {
46
54
  this._set('logLevel', async () => level);
55
+ // propagate the level to the configurator's own logger, if one is set
47
56
  if (this.#log) {
48
57
  this.#log.level = level;
49
58
  }
@@ -61,6 +70,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
61
70
  * @see {@link BookmarkModuleConfig.client}
62
71
  */
63
72
  setClient(client) {
73
+ // a callback receives the module initializer and resolves the client itself
64
74
  if (typeof client === 'function') {
65
75
  this._set('client', (init) => client(init));
66
76
  }
@@ -77,6 +87,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
77
87
  * - If a configuration object is provided directly, it is wrapped in a Promise and used as-is.
78
88
  */
79
89
  setParent(parent) {
90
+ // a callback receives the module initializer and resolves the parent itself
80
91
  if (typeof parent === 'function') {
81
92
  this._set('parent', (init) => parent(init));
82
93
  }
@@ -99,6 +110,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
99
110
  * ```
100
111
  */
101
112
  setSourceSystem(sourceSystem) {
113
+ // a callback receives the module initializer and resolves the source system itself
102
114
  if (typeof sourceSystem === 'function') {
103
115
  this._set('sourceSystem', sourceSystem);
104
116
  }
@@ -134,6 +146,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
134
146
  }
135
147
  /**
136
148
  * Sets a filter for the bookmark module.
149
+ * @template TKey - The filter key being set.
137
150
  * @param key - The key of the filter to set.
138
151
  * @param value - The value to set for the filter.
139
152
  *
@@ -143,7 +156,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
143
156
  */
144
157
  setFilter(key, value) {
145
158
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
146
- // @ts-ignore
159
+ // @ts-expect-error
147
160
  this._set(`filters.${key}`, async () => value);
148
161
  }
149
162
  /**
@@ -163,10 +176,14 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
163
176
  this.#log?.debug('No parent provided, using default parent');
164
177
  // Check if parent and parent version compatible
165
178
  const parentModules = init.ref;
179
+ // only use the parent module's bookmark provider if it's actually present
166
180
  if (parentModules && 'bookmark' in parentModules) {
167
181
  const parent = parentModules.bookmark;
168
- if ('version' in parent &&
169
- parent.version.satisfies('>=2.0.0')) {
182
+ // `parent` is narrowed to `{ version: unknown }` by the `'version' in parent` check below,
183
+ // so it must be cast through `unknown` to access `BookmarkProvider`-specific members.
184
+ const parentProvider = parent;
185
+ // only inherit from a parent whose version satisfies the minimum supported range
186
+ if ('version' in parent && parentProvider.version.satisfies('>=2.0.0')) {
170
187
  this._set('parent', async () => parent);
171
188
  }
172
189
  else {
@@ -231,6 +248,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
231
248
  this.#log?.debug('App provider available, creating application resolver');
232
249
  return async () => {
233
250
  const app = appProvider.current;
251
+ // only resolve the application if there is a currently loaded app
234
252
  if (app) {
235
253
  return {
236
254
  appKey: app.appKey,
@@ -242,6 +260,11 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
242
260
  };
243
261
  }
244
262
  }
263
+ /**
264
+ * @internal Resolves the {@link AppModuleProvider} for the bookmark module.
265
+ * @param init - The configuration initialization object.
266
+ * @returns A promise that resolves to the app module provider, or undefined if unavailable.
267
+ */
245
268
  async _resolveAppProvider(init) {
246
269
  // Check if app module is available
247
270
  if (init.hasModule('app')) {
@@ -274,7 +297,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
274
297
  const api = await apiProvider.createBookmarksClient('json$');
275
298
  return new BookmarkClient(api);
276
299
  }
277
- catch (err) {
300
+ catch (_err) {
278
301
  this.#log?.warn('Failed to create bookmark api client');
279
302
  }
280
303
  }
@@ -282,6 +305,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
282
305
  * @internal retrieves the service provider from the configuration initialization object.
283
306
  * @param init - The configuration initialization object.
284
307
  * @returns A promise that resolves to the service provider.
308
+ * @throws {Error} When no services module or parent service module is available.
285
309
  */
286
310
  async _getServiceProvider(init) {
287
311
  // check if services module is available
@@ -292,6 +316,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
292
316
  this.#log?.debug('No services module available, will use ref services module if available');
293
317
  // check if parent has services module
294
318
  const parentServiceModule = init.ref?.services;
319
+ // reuse the parent's service module if one is available
295
320
  if (parentServiceModule) {
296
321
  return parentServiceModule;
297
322
  }
@@ -299,6 +324,13 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
299
324
  this.#log?.error('No service provider available, cannot create bookmarks client');
300
325
  throw Error('[BookmarkConfigurator] No service provider configures [ServicesModule] ');
301
326
  }
327
+ /**
328
+ * @internal Validates and normalizes the resolved config before it's returned from `build`.
329
+ * @param config - The partially-resolved bookmark module config.
330
+ * @param _init - The configuration initialization object (unused).
331
+ * @returns The validated {@link BookmarkModuleConfig}.
332
+ * @throws {ZodError} When the config fails schema validation.
333
+ */
302
334
  async _processConfig(config, _init) {
303
335
  try {
304
336
  return parseBookmarkConfig(config);
@@ -310,4 +342,4 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
310
342
  }
311
343
  }
312
344
  export default BookmarkModuleConfigurator;
313
- //# sourceMappingURL=BookmarkConfigurator.js.map
345
+ //# sourceMappingURL=BookmarkModuleConfigurator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BookmarkModuleConfigurator.js","sourceRoot":"","sources":["../../src/BookmarkModuleConfigurator.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,GAIlB,MAAM,kCAAkC,CAAC;AAM1C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAIrF,MAAM,qBAAqB,GAAG,oBAAoB;KAC/C,IAAI,CAAC;IACJ,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,IAAI;CACd,CAAC;KACD,OAAO,EAAE;KACT,QAAQ,EAAE,CAAC;AAEd,MAAM,gCAAgC,GAAG,CAAC,OAAiB,EAAwB,EAAE;IACnF,OAAO,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAyB,CAAC;AACtE,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,OAAO,0BAA2B,SAAQ,iBAAuC;IACrF,IAAI,CAAW;IACf,+DAA+D;IAC/D,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAElC;;;;;;OAMG;IACH,YAAY,OAAwE;QAClF,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;;OASG;IACI,WAAW,CAAC,KAAe;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;QACzC,sEAAsE;QACtE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACI,SAAS,CACd,MAA8F;QAE9F,4EAA4E;QAC5E,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACI,SAAS,CACd,MAA8F;QAE9F,4EAA4E;QAC5E,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,eAAe,CACpB,YAEwC;QAExC,mFAAmF;QACnF,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACI,kBAAkB,CAAC,EAAqE;QAC7F,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;OASG;IACI,sBAAsB,CAC3B,EAAyE;QAEzE,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;;OASG;IACI,SAAS,CACd,GAAS,EACT,KAA4C;QAE5C,6DAA6D;QAC7D,mBAAmB;QACnB,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;;OAUG;IACO,aAAa,CACrB,IAA+B,EAC/B,OAAuC;QAEvC,8BAA8B;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAE7D,gDAAgD;YAChD,MAAM,aAAa,GAAG,IAAI,CAAC,GAA4C,CAAC;YACxE,0EAA0E;YAC1E,IAAI,aAAa,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;gBACjD,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC;gBACtC,2FAA2F;gBAC3F,sFAAsF;gBACtF,MAAM,cAAc,GAAG,MAAqC,CAAC;gBAC7D,iFAAiF;gBACjF,IAAI,SAAS,IAAI,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;oBACvE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,qDAAqD,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,8DAA8D,CAAC,CAAC;YACjF,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,mEAAmE;QACnE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,sEAAsE,CAAC,CAAC;YACzF,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtF,CAAC;QAED,6DAA6D;QAC7D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC7E,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,8BAA8B;QAC9B,OAAO,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,gCAAgC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,6BAA6B,CAC3C,IAA+B;QAE/B,6EAA6E;QAC7E,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAChE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAE9D,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,uDAAuD,CAAC,CAAC;YAC1E,OAAO,KAAK,IAAI,EAAE;gBAChB,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACpD,MAAM,EAAE,GAAG,eAAe,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC9C,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACjC,CAAC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,iCAAiC,CAC/C,IAA+B;QAE/B,qEAAqE;QACrE,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAEtD,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,uDAAuD,CAAC,CAAC;YAC1E,OAAO,KAAK,IAAI,EAAE;gBAChB,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC;gBAChC,kEAAkE;gBAClE,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO;wBACL,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI;qBACzB,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,8BAA8B,CAAC,CAAC;gBAChD,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,mBAAmB,CACjC,IAA+B;QAE/B,mCAAmC;QACnC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACrF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,qBAAqB,CACnC,IAA+B;QAE/B,qCAAqC;QACrC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,oBAAoB,CAClC,IAA+B;QAE/B,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAC7D,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,mBAAmB,CAAC,IAA+B;QACjE,wCAAwC;QACxC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAE5F,sCAAsC;QACtC,MAAM,mBAAmB,GAAI,IAAI,CAAC,GAA6C,EAAE,QAAQ,CAAC;QAC1F,wDAAwD;QACxD,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAClF,MAAM,KAAK,CAAC,yEAAyE,CAAC,CAAC;IACzF,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,cAAc,CAC5B,MAAqC,EACrC,KAAgC;QAEhC,IAAI,CAAC;YACH,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,wBAAwB,EAAE,MAAM,EAAG,GAAgB,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;YACpF,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,eAAe,0BAA0B,CAAC"}