@equinor/fusion-framework-module-bookmark 4.0.1 → 4.0.3

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} +36 -5
  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} +9 -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 +12 -12
  80. package/src/BookmarkClient.ts +21 -3
  81. package/src/{BookmarkProvider.error.ts → BookmarkFlowError.ts} +9 -7
  82. package/src/{BookmarkConfigurator.ts → BookmarkModuleConfigurator.ts} +40 -11
  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.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 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.
8
+ - 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.
9
+ - 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).
10
+
11
+ Split the 421-line `BookmarkProvider.flows.ts` into one-handler-per-file modules under `bookmark-flows/*.ts` for maintainability.
12
+
13
+ - 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.
14
+ - 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.
15
+
16
+ ## 4.0.2
17
+
18
+ ### Patch Changes
19
+
20
+ - f045ac0: Internal: upgrade `zod` from 4.3.6 to 4.4.3 to resolve validation issues; no public API changes.
21
+
3
22
  ## 4.0.1
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"}
@@ -26,6 +26,13 @@ const parseInitialBookmarkConfigConfig = (initial) => {
26
26
  export class BookmarkModuleConfigurator extends BaseConfigBuilder {
27
27
  #log;
28
28
  defaultExpireTime = 1 * 60 * 1000; // Default expiration time for bookmarks
29
+ /**
30
+ * Constructs a new `BookmarkModuleConfigurator`.
31
+ *
32
+ * @param options - Optional configurator options.
33
+ * @param options.log - Logger instance inherited from the parent module, if any.
34
+ * @param options.ref - Reference to sibling module instances available during configuration.
35
+ */
29
36
  constructor(options) {
30
37
  super();
31
38
  const { log } = options ?? {};
@@ -44,6 +51,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
44
51
  */
45
52
  setLogLevel(level) {
46
53
  this._set('logLevel', async () => level);
54
+ // propagate the level to the configurator's own logger, if one is set
47
55
  if (this.#log) {
48
56
  this.#log.level = level;
49
57
  }
@@ -61,6 +69,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
61
69
  * @see {@link BookmarkModuleConfig.client}
62
70
  */
63
71
  setClient(client) {
72
+ // a callback receives the module initializer and resolves the client itself
64
73
  if (typeof client === 'function') {
65
74
  this._set('client', (init) => client(init));
66
75
  }
@@ -77,6 +86,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
77
86
  * - If a configuration object is provided directly, it is wrapped in a Promise and used as-is.
78
87
  */
79
88
  setParent(parent) {
89
+ // a callback receives the module initializer and resolves the parent itself
80
90
  if (typeof parent === 'function') {
81
91
  this._set('parent', (init) => parent(init));
82
92
  }
@@ -99,6 +109,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
99
109
  * ```
100
110
  */
101
111
  setSourceSystem(sourceSystem) {
112
+ // a callback receives the module initializer and resolves the source system itself
102
113
  if (typeof sourceSystem === 'function') {
103
114
  this._set('sourceSystem', sourceSystem);
104
115
  }
@@ -134,6 +145,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
134
145
  }
135
146
  /**
136
147
  * Sets a filter for the bookmark module.
148
+ * @template TKey - The filter key being set.
137
149
  * @param key - The key of the filter to set.
138
150
  * @param value - The value to set for the filter.
139
151
  *
@@ -143,7 +155,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
143
155
  */
144
156
  setFilter(key, value) {
145
157
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
146
- // @ts-ignore
158
+ // @ts-expect-error
147
159
  this._set(`filters.${key}`, async () => value);
148
160
  }
149
161
  /**
@@ -163,10 +175,14 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
163
175
  this.#log?.debug('No parent provided, using default parent');
164
176
  // Check if parent and parent version compatible
165
177
  const parentModules = init.ref;
178
+ // only use the parent module's bookmark provider if it's actually present
166
179
  if (parentModules && 'bookmark' in parentModules) {
167
180
  const parent = parentModules.bookmark;
168
- if ('version' in parent &&
169
- parent.version.satisfies('>=2.0.0')) {
181
+ // `parent` is narrowed to `{ version: unknown }` by the `'version' in parent` check below,
182
+ // so it must be cast through `unknown` to access `BookmarkProvider`-specific members.
183
+ const parentProvider = parent;
184
+ // only inherit from a parent whose version satisfies the minimum supported range
185
+ if ('version' in parent && parentProvider.version.satisfies('>=2.0.0')) {
170
186
  this._set('parent', async () => parent);
171
187
  }
172
188
  else {
@@ -231,6 +247,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
231
247
  this.#log?.debug('App provider available, creating application resolver');
232
248
  return async () => {
233
249
  const app = appProvider.current;
250
+ // only resolve the application if there is a currently loaded app
234
251
  if (app) {
235
252
  return {
236
253
  appKey: app.appKey,
@@ -242,6 +259,11 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
242
259
  };
243
260
  }
244
261
  }
262
+ /**
263
+ * @internal Resolves the {@link AppModuleProvider} for the bookmark module.
264
+ * @param init - The configuration initialization object.
265
+ * @returns A promise that resolves to the app module provider, or undefined if unavailable.
266
+ */
245
267
  async _resolveAppProvider(init) {
246
268
  // Check if app module is available
247
269
  if (init.hasModule('app')) {
@@ -274,7 +296,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
274
296
  const api = await apiProvider.createBookmarksClient('json$');
275
297
  return new BookmarkClient(api);
276
298
  }
277
- catch (err) {
299
+ catch (_err) {
278
300
  this.#log?.warn('Failed to create bookmark api client');
279
301
  }
280
302
  }
@@ -282,6 +304,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
282
304
  * @internal retrieves the service provider from the configuration initialization object.
283
305
  * @param init - The configuration initialization object.
284
306
  * @returns A promise that resolves to the service provider.
307
+ * @throws {Error} When no services module or parent service module is available.
285
308
  */
286
309
  async _getServiceProvider(init) {
287
310
  // check if services module is available
@@ -292,6 +315,7 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
292
315
  this.#log?.debug('No services module available, will use ref services module if available');
293
316
  // check if parent has services module
294
317
  const parentServiceModule = init.ref?.services;
318
+ // reuse the parent's service module if one is available
295
319
  if (parentServiceModule) {
296
320
  return parentServiceModule;
297
321
  }
@@ -299,6 +323,13 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
299
323
  this.#log?.error('No service provider available, cannot create bookmarks client');
300
324
  throw Error('[BookmarkConfigurator] No service provider configures [ServicesModule] ');
301
325
  }
326
+ /**
327
+ * @internal Validates and normalizes the resolved config before it's returned from `build`.
328
+ * @param config - The partially-resolved bookmark module config.
329
+ * @param _init - The configuration initialization object (unused).
330
+ * @returns The validated {@link BookmarkModuleConfig}.
331
+ * @throws {ZodError} When the config fails schema validation.
332
+ */
302
333
  async _processConfig(config, _init) {
303
334
  try {
304
335
  return parseBookmarkConfig(config);
@@ -310,4 +341,4 @@ export class BookmarkModuleConfigurator extends BaseConfigBuilder {
310
341
  }
311
342
  }
312
343
  export default BookmarkModuleConfigurator;
313
- //# sourceMappingURL=BookmarkConfigurator.js.map
344
+ //# sourceMappingURL=BookmarkModuleConfigurator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BookmarkModuleConfigurator.js","sourceRoot":"","sources":["../../src/BookmarkModuleConfigurator.ts"],"names":[],"mappings":"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"}