@shuji-bonji/rxjs-mcp 0.2.2 → 0.3.0

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.
@@ -1,4 +1,4 @@
1
- import { DOC_BASE_URL } from '../types.js';
1
+ import { buildOfficialUrl, buildSourceUrl, buildGuideUrl, } from '../types.js';
2
2
  /**
3
3
  * RxJS Pipeable Operators Database
4
4
  * Based on https://shuji-bonji.github.io/RxJS-with-TypeScript/
@@ -9,492 +9,649 @@ export const operatorDatabase = {
9
9
  name: 'map',
10
10
  category: 'transformation',
11
11
  description: 'Transforms each value by applying a function',
12
- docUrl: `${DOC_BASE_URL}/operators/transformation/map`,
12
+ officialUrl: buildOfficialUrl('operator', 'map'),
13
+ sourceUrl: buildSourceUrl('operators/map.ts'),
14
+ guideUrl: buildGuideUrl('operators/transformation/map'),
13
15
  },
14
16
  'scan': {
15
17
  name: 'scan',
16
18
  category: 'transformation',
17
19
  description: 'Accumulates values over time, emits each step',
18
- docUrl: `${DOC_BASE_URL}/operators/transformation/scan`,
20
+ officialUrl: buildOfficialUrl('operator', 'scan'),
21
+ sourceUrl: buildSourceUrl('operators/scan.ts'),
22
+ guideUrl: buildGuideUrl('operators/transformation/scan'),
19
23
  },
20
24
  'mergeScan': {
21
25
  name: 'mergeScan',
22
26
  category: 'transformation',
23
27
  description: 'Like scan but with inner Observable merging',
24
- docUrl: `${DOC_BASE_URL}/operators/transformation/mergeScan`,
28
+ officialUrl: buildOfficialUrl('operator', 'mergeScan'),
29
+ sourceUrl: buildSourceUrl('operators/mergeScan.ts'),
30
+ guideUrl: buildGuideUrl('operators/transformation/mergeScan'),
25
31
  },
26
32
  'reduce': {
27
33
  name: 'reduce',
28
34
  category: 'transformation',
29
35
  description: 'Accumulates values and emits final result on completion',
30
- docUrl: `${DOC_BASE_URL}/operators/transformation/reduce`,
36
+ officialUrl: buildOfficialUrl('operator', 'reduce'),
37
+ sourceUrl: buildSourceUrl('operators/reduce.ts'),
38
+ guideUrl: buildGuideUrl('operators/transformation/reduce'),
31
39
  },
32
40
  'pairwise': {
33
41
  name: 'pairwise',
34
42
  category: 'transformation',
35
43
  description: 'Emits previous and current value as array',
36
- docUrl: `${DOC_BASE_URL}/operators/transformation/pairwise`,
44
+ officialUrl: buildOfficialUrl('operator', 'pairwise'),
45
+ sourceUrl: buildSourceUrl('operators/pairwise.ts'),
46
+ guideUrl: buildGuideUrl('operators/transformation/pairwise'),
37
47
  },
38
48
  'groupBy': {
39
49
  name: 'groupBy',
40
50
  category: 'transformation',
41
51
  description: 'Groups emissions by key into separate Observables',
42
- docUrl: `${DOC_BASE_URL}/operators/transformation/groupBy`,
52
+ officialUrl: buildOfficialUrl('operator', 'groupBy'),
53
+ sourceUrl: buildSourceUrl('operators/groupBy.ts'),
54
+ guideUrl: buildGuideUrl('operators/transformation/groupBy'),
43
55
  },
44
56
  'mergeMap': {
45
57
  name: 'mergeMap',
46
58
  category: 'transformation',
47
59
  description: 'Projects values to inner Observable, running concurrently',
48
- docUrl: `${DOC_BASE_URL}/operators/transformation/mergeMap`,
60
+ officialUrl: buildOfficialUrl('operator', 'mergeMap'),
61
+ sourceUrl: buildSourceUrl('operators/mergeMap.ts'),
62
+ guideUrl: buildGuideUrl('operators/transformation/mergeMap'),
49
63
  marblePattern: '-a---b---c--| → -A-B-C-D-E-F-|',
50
64
  },
51
65
  'switchMap': {
52
66
  name: 'switchMap',
53
67
  category: 'transformation',
54
68
  description: 'Projects values to inner Observable, cancelling previous',
55
- docUrl: `${DOC_BASE_URL}/operators/transformation/switchMap`,
69
+ officialUrl: buildOfficialUrl('operator', 'switchMap'),
70
+ sourceUrl: buildSourceUrl('operators/switchMap.ts'),
71
+ guideUrl: buildGuideUrl('operators/transformation/switchMap'),
56
72
  marblePattern: '-a---b---c--| → -A-B-C-D-E-F-|',
57
73
  },
58
74
  'concatMap': {
59
75
  name: 'concatMap',
60
76
  category: 'transformation',
61
77
  description: 'Projects values to inner Observable, waiting for completion',
62
- docUrl: `${DOC_BASE_URL}/operators/transformation/concatMap`,
78
+ officialUrl: buildOfficialUrl('operator', 'concatMap'),
79
+ sourceUrl: buildSourceUrl('operators/concatMap.ts'),
80
+ guideUrl: buildGuideUrl('operators/transformation/concatMap'),
63
81
  marblePattern: '-a---b---c--| → -A-A-B-B-C-C-|',
64
82
  },
65
83
  'exhaustMap': {
66
84
  name: 'exhaustMap',
67
85
  category: 'transformation',
68
86
  description: 'Projects values to inner Observable, ignoring new while active',
69
- docUrl: `${DOC_BASE_URL}/operators/transformation/exhaustMap`,
87
+ officialUrl: buildOfficialUrl('operator', 'exhaustMap'),
88
+ sourceUrl: buildSourceUrl('operators/exhaustMap.ts'),
89
+ guideUrl: buildGuideUrl('operators/transformation/exhaustMap'),
70
90
  marblePattern: '-a---b---c--| → -A-A-A---C-C-|',
71
91
  },
72
92
  'expand': {
73
93
  name: 'expand',
74
94
  category: 'transformation',
75
95
  description: 'Recursively projects values to inner Observables',
76
- docUrl: `${DOC_BASE_URL}/operators/transformation/expand`,
96
+ officialUrl: buildOfficialUrl('operator', 'expand'),
97
+ sourceUrl: buildSourceUrl('operators/expand.ts'),
98
+ guideUrl: buildGuideUrl('operators/transformation/expand'),
77
99
  },
78
100
  'buffer': {
79
101
  name: 'buffer',
80
102
  category: 'transformation',
81
103
  description: 'Buffers values until notifier emits',
82
- docUrl: `${DOC_BASE_URL}/operators/transformation/buffer`,
104
+ officialUrl: buildOfficialUrl('operator', 'buffer'),
105
+ sourceUrl: buildSourceUrl('operators/buffer.ts'),
106
+ guideUrl: buildGuideUrl('operators/transformation/buffer'),
83
107
  },
84
108
  'bufferTime': {
85
109
  name: 'bufferTime',
86
110
  category: 'transformation',
87
111
  description: 'Buffers values for specified time periods',
88
- docUrl: `${DOC_BASE_URL}/operators/transformation/bufferTime`,
112
+ officialUrl: buildOfficialUrl('operator', 'bufferTime'),
113
+ sourceUrl: buildSourceUrl('operators/bufferTime.ts'),
114
+ guideUrl: buildGuideUrl('operators/transformation/bufferTime'),
89
115
  },
90
116
  'bufferCount': {
91
117
  name: 'bufferCount',
92
118
  category: 'transformation',
93
119
  description: 'Buffers specified number of values',
94
- docUrl: `${DOC_BASE_URL}/operators/transformation/bufferCount`,
120
+ officialUrl: buildOfficialUrl('operator', 'bufferCount'),
121
+ sourceUrl: buildSourceUrl('operators/bufferCount.ts'),
122
+ guideUrl: buildGuideUrl('operators/transformation/bufferCount'),
95
123
  },
96
124
  'bufferWhen': {
97
125
  name: 'bufferWhen',
98
126
  category: 'transformation',
99
127
  description: 'Buffers values using closing selector',
100
- docUrl: `${DOC_BASE_URL}/operators/transformation/bufferWhen`,
128
+ officialUrl: buildOfficialUrl('operator', 'bufferWhen'),
129
+ sourceUrl: buildSourceUrl('operators/bufferWhen.ts'),
130
+ guideUrl: buildGuideUrl('operators/transformation/bufferWhen'),
101
131
  },
102
132
  'bufferToggle': {
103
133
  name: 'bufferToggle',
104
134
  category: 'transformation',
105
135
  description: 'Buffers values based on opening and closing signals',
106
- docUrl: `${DOC_BASE_URL}/operators/transformation/bufferToggle`,
136
+ officialUrl: buildOfficialUrl('operator', 'bufferToggle'),
137
+ sourceUrl: buildSourceUrl('operators/bufferToggle.ts'),
138
+ guideUrl: buildGuideUrl('operators/transformation/bufferToggle'),
107
139
  },
108
140
  'windowTime': {
109
141
  name: 'windowTime',
110
142
  category: 'transformation',
111
143
  description: 'Splits source into nested Observables by time',
112
- docUrl: `${DOC_BASE_URL}/operators/transformation/windowTime`,
144
+ officialUrl: buildOfficialUrl('operator', 'windowTime'),
145
+ sourceUrl: buildSourceUrl('operators/windowTime.ts'),
146
+ guideUrl: buildGuideUrl('operators/transformation/windowTime'),
113
147
  },
114
148
  'window': {
115
149
  name: 'window',
116
150
  category: 'transformation',
117
151
  description: 'Splits source into nested Observable windows',
118
- docUrl: `${DOC_BASE_URL}/operators/transformation/window`,
152
+ officialUrl: buildOfficialUrl('operator', 'window'),
153
+ sourceUrl: buildSourceUrl('operators/window.ts'),
154
+ guideUrl: buildGuideUrl('operators/transformation/window'),
119
155
  },
120
156
  'windowCount': {
121
157
  name: 'windowCount',
122
158
  category: 'transformation',
123
159
  description: 'Splits source into nested Observables by count',
124
- docUrl: `${DOC_BASE_URL}/operators/transformation/windowCount`,
160
+ officialUrl: buildOfficialUrl('operator', 'windowCount'),
161
+ sourceUrl: buildSourceUrl('operators/windowCount.ts'),
162
+ guideUrl: buildGuideUrl('operators/transformation/windowCount'),
125
163
  },
126
164
  'windowToggle': {
127
165
  name: 'windowToggle',
128
166
  category: 'transformation',
129
167
  description: 'Splits source based on opening and closing signals',
130
- docUrl: `${DOC_BASE_URL}/operators/transformation/windowToggle`,
168
+ officialUrl: buildOfficialUrl('operator', 'windowToggle'),
169
+ sourceUrl: buildSourceUrl('operators/windowToggle.ts'),
170
+ guideUrl: buildGuideUrl('operators/transformation/windowToggle'),
131
171
  },
132
172
  'windowWhen': {
133
173
  name: 'windowWhen',
134
174
  category: 'transformation',
135
175
  description: 'Splits source using closing selector',
136
- docUrl: `${DOC_BASE_URL}/operators/transformation/windowWhen`,
176
+ officialUrl: buildOfficialUrl('operator', 'windowWhen'),
177
+ sourceUrl: buildSourceUrl('operators/windowWhen.ts'),
178
+ guideUrl: buildGuideUrl('operators/transformation/windowWhen'),
137
179
  },
138
180
  // Filtering operators
139
181
  'filter': {
140
182
  name: 'filter',
141
183
  category: 'filtering',
142
184
  description: 'Emits only values that pass a predicate test',
143
- docUrl: `${DOC_BASE_URL}/operators/filtering/filter`,
185
+ officialUrl: buildOfficialUrl('operator', 'filter'),
186
+ sourceUrl: buildSourceUrl('operators/filter.ts'),
187
+ guideUrl: buildGuideUrl('operators/filtering/filter'),
144
188
  },
145
189
  'take': {
146
190
  name: 'take',
147
191
  category: 'filtering',
148
192
  description: 'Emits only the first n values, then completes',
149
- docUrl: `${DOC_BASE_URL}/operators/filtering/take`,
193
+ officialUrl: buildOfficialUrl('operator', 'take'),
194
+ sourceUrl: buildSourceUrl('operators/take.ts'),
195
+ guideUrl: buildGuideUrl('operators/filtering/take'),
150
196
  },
151
197
  'takeLast': {
152
198
  name: 'takeLast',
153
199
  category: 'filtering',
154
200
  description: 'Emits only the last n values on completion',
155
- docUrl: `${DOC_BASE_URL}/operators/filtering/takeLast`,
201
+ officialUrl: buildOfficialUrl('operator', 'takeLast'),
202
+ sourceUrl: buildSourceUrl('operators/takeLast.ts'),
203
+ guideUrl: buildGuideUrl('operators/filtering/takeLast'),
156
204
  },
157
205
  'takeWhile': {
158
206
  name: 'takeWhile',
159
207
  category: 'filtering',
160
208
  description: 'Emits while condition is true',
161
- docUrl: `${DOC_BASE_URL}/operators/filtering/takeWhile`,
209
+ officialUrl: buildOfficialUrl('operator', 'takeWhile'),
210
+ sourceUrl: buildSourceUrl('operators/takeWhile.ts'),
211
+ guideUrl: buildGuideUrl('operators/filtering/takeWhile'),
162
212
  },
163
213
  'skip': {
164
214
  name: 'skip',
165
215
  category: 'filtering',
166
216
  description: 'Skips the first n emissions',
167
- docUrl: `${DOC_BASE_URL}/operators/filtering/skip`,
217
+ officialUrl: buildOfficialUrl('operator', 'skip'),
218
+ sourceUrl: buildSourceUrl('operators/skip.ts'),
219
+ guideUrl: buildGuideUrl('operators/filtering/skip'),
168
220
  },
169
221
  'skipLast': {
170
222
  name: 'skipLast',
171
223
  category: 'filtering',
172
224
  description: 'Skips the last n emissions',
173
- docUrl: `${DOC_BASE_URL}/operators/filtering/skipLast`,
225
+ officialUrl: buildOfficialUrl('operator', 'skipLast'),
226
+ sourceUrl: buildSourceUrl('operators/skipLast.ts'),
227
+ guideUrl: buildGuideUrl('operators/filtering/skipLast'),
174
228
  },
175
229
  'skipWhile': {
176
230
  name: 'skipWhile',
177
231
  category: 'filtering',
178
232
  description: 'Skips while condition is true',
179
- docUrl: `${DOC_BASE_URL}/operators/filtering/skipWhile`,
233
+ officialUrl: buildOfficialUrl('operator', 'skipWhile'),
234
+ sourceUrl: buildSourceUrl('operators/skipWhile.ts'),
235
+ guideUrl: buildGuideUrl('operators/filtering/skipWhile'),
180
236
  },
181
237
  'skipUntil': {
182
238
  name: 'skipUntil',
183
239
  category: 'filtering',
184
240
  description: 'Skips until another Observable emits',
185
- docUrl: `${DOC_BASE_URL}/operators/filtering/skipUntil`,
241
+ officialUrl: buildOfficialUrl('operator', 'skipUntil'),
242
+ sourceUrl: buildSourceUrl('operators/skipUntil.ts'),
243
+ guideUrl: buildGuideUrl('operators/filtering/skipUntil'),
186
244
  },
187
245
  'first': {
188
246
  name: 'first',
189
247
  category: 'filtering',
190
248
  description: 'Emits only the first value (or first matching)',
191
- docUrl: `${DOC_BASE_URL}/operators/filtering/first`,
249
+ officialUrl: buildOfficialUrl('operator', 'first'),
250
+ sourceUrl: buildSourceUrl('operators/first.ts'),
251
+ guideUrl: buildGuideUrl('operators/filtering/first'),
192
252
  },
193
253
  'last': {
194
254
  name: 'last',
195
255
  category: 'filtering',
196
256
  description: 'Emits only the last value (or last matching)',
197
- docUrl: `${DOC_BASE_URL}/operators/filtering/last`,
257
+ officialUrl: buildOfficialUrl('operator', 'last'),
258
+ sourceUrl: buildSourceUrl('operators/last.ts'),
259
+ guideUrl: buildGuideUrl('operators/filtering/last'),
198
260
  },
199
261
  'elementAt': {
200
262
  name: 'elementAt',
201
263
  category: 'filtering',
202
264
  description: 'Emits only the value at specified index',
203
- docUrl: `${DOC_BASE_URL}/operators/filtering/elementAt`,
265
+ officialUrl: buildOfficialUrl('operator', 'elementAt'),
266
+ sourceUrl: buildSourceUrl('operators/elementAt.ts'),
267
+ guideUrl: buildGuideUrl('operators/filtering/elementAt'),
204
268
  },
205
269
  'find': {
206
270
  name: 'find',
207
271
  category: 'filtering',
208
272
  description: 'Emits first value that matches predicate',
209
- docUrl: `${DOC_BASE_URL}/operators/filtering/find`,
273
+ officialUrl: buildOfficialUrl('operator', 'find'),
274
+ sourceUrl: buildSourceUrl('operators/find.ts'),
275
+ guideUrl: buildGuideUrl('operators/filtering/find'),
210
276
  },
211
277
  'findIndex': {
212
278
  name: 'findIndex',
213
279
  category: 'filtering',
214
280
  description: 'Emits index of first value that matches',
215
- docUrl: `${DOC_BASE_URL}/operators/filtering/findIndex`,
281
+ officialUrl: buildOfficialUrl('operator', 'findIndex'),
282
+ sourceUrl: buildSourceUrl('operators/findIndex.ts'),
283
+ guideUrl: buildGuideUrl('operators/filtering/findIndex'),
216
284
  },
217
285
  'debounceTime': {
218
286
  name: 'debounceTime',
219
287
  category: 'filtering',
220
288
  description: 'Emits after a period of inactivity',
221
- docUrl: `${DOC_BASE_URL}/operators/filtering/debounceTime`,
289
+ officialUrl: buildOfficialUrl('operator', 'debounceTime'),
290
+ sourceUrl: buildSourceUrl('operators/debounceTime.ts'),
291
+ guideUrl: buildGuideUrl('operators/filtering/debounceTime'),
222
292
  },
223
293
  'throttleTime': {
224
294
  name: 'throttleTime',
225
295
  category: 'filtering',
226
296
  description: 'Emits first value, then ignores for duration',
227
- docUrl: `${DOC_BASE_URL}/operators/filtering/throttleTime`,
297
+ officialUrl: buildOfficialUrl('operator', 'throttleTime'),
298
+ sourceUrl: buildSourceUrl('operators/throttleTime.ts'),
299
+ guideUrl: buildGuideUrl('operators/filtering/throttleTime'),
228
300
  },
229
301
  'auditTime': {
230
302
  name: 'auditTime',
231
303
  category: 'filtering',
232
304
  description: 'Emits most recent value after duration',
233
- docUrl: `${DOC_BASE_URL}/operators/filtering/auditTime`,
305
+ officialUrl: buildOfficialUrl('operator', 'auditTime'),
306
+ sourceUrl: buildSourceUrl('operators/auditTime.ts'),
307
+ guideUrl: buildGuideUrl('operators/filtering/auditTime'),
234
308
  },
235
309
  'audit': {
236
310
  name: 'audit',
237
311
  category: 'filtering',
238
312
  description: 'Emits most recent value when notifier emits',
239
- docUrl: `${DOC_BASE_URL}/operators/filtering/audit`,
313
+ officialUrl: buildOfficialUrl('operator', 'audit'),
314
+ sourceUrl: buildSourceUrl('operators/audit.ts'),
315
+ guideUrl: buildGuideUrl('operators/filtering/audit'),
240
316
  },
241
317
  'sampleTime': {
242
318
  name: 'sampleTime',
243
319
  category: 'filtering',
244
320
  description: 'Emits most recent value at intervals',
245
- docUrl: `${DOC_BASE_URL}/operators/filtering/sampleTime`,
321
+ officialUrl: buildOfficialUrl('operator', 'sampleTime'),
322
+ sourceUrl: buildSourceUrl('operators/sampleTime.ts'),
323
+ guideUrl: buildGuideUrl('operators/filtering/sampleTime'),
246
324
  },
247
325
  'ignoreElements': {
248
326
  name: 'ignoreElements',
249
327
  category: 'filtering',
250
328
  description: 'Ignores all emissions, only passes complete/error',
251
- docUrl: `${DOC_BASE_URL}/operators/filtering/ignoreElements`,
329
+ officialUrl: buildOfficialUrl('operator', 'ignoreElements'),
330
+ sourceUrl: buildSourceUrl('operators/ignoreElements.ts'),
331
+ guideUrl: buildGuideUrl('operators/filtering/ignoreElements'),
252
332
  },
253
333
  'distinct': {
254
334
  name: 'distinct',
255
335
  category: 'filtering',
256
336
  description: 'Emits only distinct values',
257
- docUrl: `${DOC_BASE_URL}/operators/filtering/distinct`,
337
+ officialUrl: buildOfficialUrl('operator', 'distinct'),
338
+ sourceUrl: buildSourceUrl('operators/distinct.ts'),
339
+ guideUrl: buildGuideUrl('operators/filtering/distinct'),
258
340
  },
259
341
  'distinctUntilChanged': {
260
342
  name: 'distinctUntilChanged',
261
343
  category: 'filtering',
262
344
  description: 'Emits when value changes from previous',
263
- docUrl: `${DOC_BASE_URL}/operators/filtering/distinctUntilChanged`,
345
+ officialUrl: buildOfficialUrl('operator', 'distinctUntilChanged'),
346
+ sourceUrl: buildSourceUrl('operators/distinctUntilChanged.ts'),
347
+ guideUrl: buildGuideUrl('operators/filtering/distinctUntilChanged'),
264
348
  },
265
349
  'distinctUntilKeyChanged': {
266
350
  name: 'distinctUntilKeyChanged',
267
351
  category: 'filtering',
268
352
  description: 'Emits when specific key value changes',
269
- docUrl: `${DOC_BASE_URL}/operators/filtering/distinctUntilKeyChanged`,
353
+ officialUrl: buildOfficialUrl('operator', 'distinctUntilKeyChanged'),
354
+ sourceUrl: buildSourceUrl('operators/distinctUntilKeyChanged.ts'),
355
+ guideUrl: buildGuideUrl('operators/filtering/distinctUntilKeyChanged'),
270
356
  },
271
357
  // Combination operators (pipeable)
272
358
  'concatWith': {
273
359
  name: 'concatWith',
274
360
  category: 'combination',
275
361
  description: 'Concatenates with other Observables in sequence',
276
- docUrl: `${DOC_BASE_URL}/operators/combination/concatWith`,
362
+ officialUrl: buildOfficialUrl('operator', 'concatWith'),
363
+ sourceUrl: buildSourceUrl('operators/concatWith.ts'),
364
+ guideUrl: buildGuideUrl('operators/combination/concatWith'),
277
365
  },
278
366
  'mergeWith': {
279
367
  name: 'mergeWith',
280
368
  category: 'combination',
281
369
  description: 'Merges with other Observables concurrently',
282
- docUrl: `${DOC_BASE_URL}/operators/combination/mergeWith`,
370
+ officialUrl: buildOfficialUrl('operator', 'mergeWith'),
371
+ sourceUrl: buildSourceUrl('operators/mergeWith.ts'),
372
+ guideUrl: buildGuideUrl('operators/combination/mergeWith'),
283
373
  },
284
374
  'combineLatestWith': {
285
375
  name: 'combineLatestWith',
286
376
  category: 'combination',
287
377
  description: 'Combines latest values with other Observables',
288
- docUrl: `${DOC_BASE_URL}/operators/combination/combineLatestWith`,
378
+ officialUrl: buildOfficialUrl('operator', 'combineLatestWith'),
379
+ sourceUrl: buildSourceUrl('operators/combineLatestWith.ts'),
380
+ guideUrl: buildGuideUrl('operators/combination/combineLatestWith'),
289
381
  },
290
382
  'zipWith': {
291
383
  name: 'zipWith',
292
384
  category: 'combination',
293
385
  description: 'Zips with other Observables by index',
294
- docUrl: `${DOC_BASE_URL}/operators/combination/zipWith`,
386
+ officialUrl: buildOfficialUrl('operator', 'zipWith'),
387
+ sourceUrl: buildSourceUrl('operators/zipWith.ts'),
388
+ guideUrl: buildGuideUrl('operators/combination/zipWith'),
295
389
  },
296
390
  'raceWith': {
297
391
  name: 'raceWith',
298
392
  category: 'combination',
299
393
  description: 'Races with other Observables, first wins',
300
- docUrl: `${DOC_BASE_URL}/operators/combination/raceWith`,
394
+ officialUrl: buildOfficialUrl('operator', 'raceWith'),
395
+ sourceUrl: buildSourceUrl('operators/raceWith.ts'),
396
+ guideUrl: buildGuideUrl('operators/combination/raceWith'),
301
397
  },
302
398
  'withLatestFrom': {
303
399
  name: 'withLatestFrom',
304
400
  category: 'combination',
305
401
  description: 'Combines with latest value from another Observable',
306
- docUrl: `${DOC_BASE_URL}/operators/combination/withLatestFrom`,
402
+ officialUrl: buildOfficialUrl('operator', 'withLatestFrom'),
403
+ sourceUrl: buildSourceUrl('operators/withLatestFrom.ts'),
404
+ guideUrl: buildGuideUrl('operators/combination/withLatestFrom'),
307
405
  },
308
406
  'mergeAll': {
309
407
  name: 'mergeAll',
310
408
  category: 'combination',
311
409
  description: 'Flattens higher-order Observable concurrently',
312
- docUrl: `${DOC_BASE_URL}/operators/combination/mergeAll`,
410
+ officialUrl: buildOfficialUrl('operator', 'mergeAll'),
411
+ sourceUrl: buildSourceUrl('operators/mergeAll.ts'),
412
+ guideUrl: buildGuideUrl('operators/combination/mergeAll'),
313
413
  },
314
414
  'concatAll': {
315
415
  name: 'concatAll',
316
416
  category: 'combination',
317
417
  description: 'Flattens higher-order Observable in sequence',
318
- docUrl: `${DOC_BASE_URL}/operators/combination/concatAll`,
418
+ officialUrl: buildOfficialUrl('operator', 'concatAll'),
419
+ sourceUrl: buildSourceUrl('operators/concatAll.ts'),
420
+ guideUrl: buildGuideUrl('operators/combination/concatAll'),
319
421
  },
320
422
  'switchAll': {
321
423
  name: 'switchAll',
322
424
  category: 'combination',
323
425
  description: 'Flattens to latest inner Observable',
324
- docUrl: `${DOC_BASE_URL}/operators/combination/switchAll`,
426
+ officialUrl: buildOfficialUrl('operator', 'switchAll'),
427
+ sourceUrl: buildSourceUrl('operators/switchAll.ts'),
428
+ guideUrl: buildGuideUrl('operators/combination/switchAll'),
325
429
  },
326
430
  'exhaustAll': {
327
431
  name: 'exhaustAll',
328
432
  category: 'combination',
329
433
  description: 'Flattens, ignoring new while active',
330
- docUrl: `${DOC_BASE_URL}/operators/combination/exhaustAll`,
434
+ officialUrl: buildOfficialUrl('operator', 'exhaustAll'),
435
+ sourceUrl: buildSourceUrl('operators/exhaustAll.ts'),
436
+ guideUrl: buildGuideUrl('operators/combination/exhaustAll'),
331
437
  },
332
438
  'combineLatestAll': {
333
439
  name: 'combineLatestAll',
334
440
  category: 'combination',
335
441
  description: 'Flattens with combineLatest strategy',
336
- docUrl: `${DOC_BASE_URL}/operators/combination/combineLatestAll`,
442
+ officialUrl: buildOfficialUrl('operator', 'combineLatestAll'),
443
+ sourceUrl: buildSourceUrl('operators/combineLatestAll.ts'),
444
+ guideUrl: buildGuideUrl('operators/combination/combineLatestAll'),
337
445
  },
338
446
  'zipAll': {
339
447
  name: 'zipAll',
340
448
  category: 'combination',
341
449
  description: 'Flattens with zip strategy',
342
- docUrl: `${DOC_BASE_URL}/operators/combination/zipAll`,
450
+ officialUrl: buildOfficialUrl('operator', 'zipAll'),
451
+ sourceUrl: buildSourceUrl('operators/zipAll.ts'),
452
+ guideUrl: buildGuideUrl('operators/combination/zipAll'),
343
453
  },
344
454
  // Utility operators
345
455
  'tap': {
346
456
  name: 'tap',
347
457
  category: 'utility',
348
458
  description: 'Performs side effects without altering emissions',
349
- docUrl: `${DOC_BASE_URL}/operators/utility/tap`,
459
+ officialUrl: buildOfficialUrl('operator', 'tap'),
460
+ sourceUrl: buildSourceUrl('operators/tap.ts'),
461
+ guideUrl: buildGuideUrl('operators/utility/tap'),
350
462
  },
351
463
  'delay': {
352
464
  name: 'delay',
353
465
  category: 'utility',
354
466
  description: 'Delays emissions by specified time',
355
- docUrl: `${DOC_BASE_URL}/operators/utility/delay`,
467
+ officialUrl: buildOfficialUrl('operator', 'delay'),
468
+ sourceUrl: buildSourceUrl('operators/delay.ts'),
469
+ guideUrl: buildGuideUrl('operators/utility/delay'),
356
470
  },
357
471
  'delayWhen': {
358
472
  name: 'delayWhen',
359
473
  category: 'utility',
360
474
  description: 'Delays emissions based on another Observable',
361
- docUrl: `${DOC_BASE_URL}/operators/utility/delayWhen`,
475
+ officialUrl: buildOfficialUrl('operator', 'delayWhen'),
476
+ sourceUrl: buildSourceUrl('operators/delayWhen.ts'),
477
+ guideUrl: buildGuideUrl('operators/utility/delayWhen'),
362
478
  },
363
479
  'timeout': {
364
480
  name: 'timeout',
365
481
  category: 'utility',
366
482
  description: 'Errors if no emission within specified time',
367
- docUrl: `${DOC_BASE_URL}/operators/utility/timeout`,
483
+ officialUrl: buildOfficialUrl('operator', 'timeout'),
484
+ sourceUrl: buildSourceUrl('operators/timeout.ts'),
485
+ guideUrl: buildGuideUrl('operators/utility/timeout'),
368
486
  },
369
487
  'takeUntil': {
370
488
  name: 'takeUntil',
371
489
  category: 'utility',
372
490
  description: 'Emits until another Observable emits',
373
- docUrl: `${DOC_BASE_URL}/operators/utility/takeUntil`,
491
+ officialUrl: buildOfficialUrl('operator', 'takeUntil'),
492
+ sourceUrl: buildSourceUrl('operators/takeUntil.ts'),
493
+ guideUrl: buildGuideUrl('operators/utility/takeUntil'),
374
494
  },
375
495
  'finalize': {
376
496
  name: 'finalize',
377
497
  category: 'utility',
378
498
  description: 'Executes callback on completion or error',
379
- docUrl: `${DOC_BASE_URL}/operators/utility/finalize`,
499
+ officialUrl: buildOfficialUrl('operator', 'finalize'),
500
+ sourceUrl: buildSourceUrl('operators/finalize.ts'),
501
+ guideUrl: buildGuideUrl('operators/utility/finalize'),
380
502
  },
381
503
  'repeat': {
382
504
  name: 'repeat',
383
505
  category: 'utility',
384
506
  description: 'Resubscribes to source on completion',
385
- docUrl: `${DOC_BASE_URL}/operators/utility/repeat`,
507
+ officialUrl: buildOfficialUrl('operator', 'repeat'),
508
+ sourceUrl: buildSourceUrl('operators/repeat.ts'),
509
+ guideUrl: buildGuideUrl('operators/utility/repeat'),
386
510
  },
387
511
  'startWith': {
388
512
  name: 'startWith',
389
513
  category: 'utility',
390
514
  description: 'Emits specified values before source emissions',
391
- docUrl: `${DOC_BASE_URL}/operators/utility/startWith`,
515
+ officialUrl: buildOfficialUrl('operator', 'startWith'),
516
+ sourceUrl: buildSourceUrl('operators/startWith.ts'),
517
+ guideUrl: buildGuideUrl('operators/utility/startWith'),
392
518
  },
393
519
  'endWith': {
394
520
  name: 'endWith',
395
521
  category: 'utility',
396
522
  description: 'Emits specified values after source completes',
397
- docUrl: `${DOC_BASE_URL}/operators/utility/endWith`,
523
+ officialUrl: buildOfficialUrl('operator', 'endWith'),
524
+ sourceUrl: buildSourceUrl('operators/endWith.ts'),
398
525
  },
399
526
  'toArray': {
400
527
  name: 'toArray',
401
528
  category: 'utility',
402
529
  description: 'Collects all emissions into an array',
403
- docUrl: `${DOC_BASE_URL}/operators/utility/toArray`,
530
+ officialUrl: buildOfficialUrl('operator', 'toArray'),
531
+ sourceUrl: buildSourceUrl('operators/toArray.ts'),
532
+ guideUrl: buildGuideUrl('operators/utility/toArray'),
404
533
  },
405
534
  'materialize': {
406
535
  name: 'materialize',
407
536
  category: 'utility',
408
537
  description: 'Converts emissions to Notification objects',
409
- docUrl: `${DOC_BASE_URL}/operators/utility/materialize`,
538
+ officialUrl: buildOfficialUrl('operator', 'materialize'),
539
+ sourceUrl: buildSourceUrl('operators/materialize.ts'),
540
+ guideUrl: buildGuideUrl('operators/utility/materialize'),
410
541
  },
411
542
  'dematerialize': {
412
543
  name: 'dematerialize',
413
544
  category: 'utility',
414
545
  description: 'Converts Notification objects to emissions',
415
- docUrl: `${DOC_BASE_URL}/operators/utility/dematerialize`,
546
+ officialUrl: buildOfficialUrl('operator', 'dematerialize'),
547
+ sourceUrl: buildSourceUrl('operators/dematerialize.ts'),
548
+ guideUrl: buildGuideUrl('operators/utility/dematerialize'),
416
549
  },
417
550
  'observeOn': {
418
551
  name: 'observeOn',
419
552
  category: 'utility',
420
553
  description: 'Re-emits values on specified scheduler',
421
- docUrl: `${DOC_BASE_URL}/operators/utility/observeOn`,
554
+ officialUrl: buildOfficialUrl('operator', 'observeOn'),
555
+ sourceUrl: buildSourceUrl('operators/observeOn.ts'),
556
+ guideUrl: buildGuideUrl('operators/utility/observeOn'),
422
557
  },
423
558
  'subscribeOn': {
424
559
  name: 'subscribeOn',
425
560
  category: 'utility',
426
561
  description: 'Subscribes on specified scheduler',
427
- docUrl: `${DOC_BASE_URL}/operators/utility/subscribeOn`,
562
+ officialUrl: buildOfficialUrl('operator', 'subscribeOn'),
563
+ sourceUrl: buildSourceUrl('operators/subscribeOn.ts'),
564
+ guideUrl: buildGuideUrl('operators/utility/subscribeOn'),
428
565
  },
429
566
  'timestamp': {
430
567
  name: 'timestamp',
431
568
  category: 'utility',
432
569
  description: 'Attaches timestamp to each emission',
433
- docUrl: `${DOC_BASE_URL}/operators/utility/timestamp`,
570
+ officialUrl: buildOfficialUrl('operator', 'timestamp'),
571
+ sourceUrl: buildSourceUrl('operators/timestamp.ts'),
572
+ guideUrl: buildGuideUrl('operators/utility/timestamp'),
434
573
  },
435
574
  // Conditional operators
436
575
  'defaultIfEmpty': {
437
576
  name: 'defaultIfEmpty',
438
577
  category: 'conditional',
439
578
  description: 'Emits default value if source completes empty',
440
- docUrl: `${DOC_BASE_URL}/operators/conditional/defaultIfEmpty`,
579
+ officialUrl: buildOfficialUrl('operator', 'defaultIfEmpty'),
580
+ sourceUrl: buildSourceUrl('operators/defaultIfEmpty.ts'),
581
+ guideUrl: buildGuideUrl('operators/conditional/defaultIfEmpty'),
441
582
  },
442
583
  'every': {
443
584
  name: 'every',
444
585
  category: 'conditional',
445
586
  description: 'Emits true if all values pass predicate',
446
- docUrl: `${DOC_BASE_URL}/operators/conditional/every`,
587
+ officialUrl: buildOfficialUrl('operator', 'every'),
588
+ sourceUrl: buildSourceUrl('operators/every.ts'),
589
+ guideUrl: buildGuideUrl('operators/conditional/every'),
447
590
  },
448
591
  'isEmpty': {
449
592
  name: 'isEmpty',
450
593
  category: 'conditional',
451
594
  description: 'Emits true if source completes without emitting',
452
- docUrl: `${DOC_BASE_URL}/operators/conditional/isEmpty`,
595
+ officialUrl: buildOfficialUrl('operator', 'isEmpty'),
596
+ sourceUrl: buildSourceUrl('operators/isEmpty.ts'),
597
+ guideUrl: buildGuideUrl('operators/conditional/isEmpty'),
453
598
  },
454
599
  // Error handling operators
455
600
  'catchError': {
456
601
  name: 'catchError',
457
602
  category: 'error-handling',
458
603
  description: 'Catches errors and returns new Observable',
459
- docUrl: `${DOC_BASE_URL}/operators/error-handling/catchError`,
604
+ officialUrl: buildOfficialUrl('operator', 'catchError'),
605
+ sourceUrl: buildSourceUrl('operators/catchError.ts'),
460
606
  },
461
607
  'retry': {
462
608
  name: 'retry',
463
609
  category: 'error-handling',
464
610
  description: 'Retries the source Observable on error',
465
- docUrl: `${DOC_BASE_URL}/operators/error-handling/retry`,
611
+ officialUrl: buildOfficialUrl('operator', 'retry'),
612
+ sourceUrl: buildSourceUrl('operators/retry.ts'),
466
613
  },
467
614
  'retryWhen': {
468
615
  name: 'retryWhen',
469
616
  category: 'error-handling',
470
617
  description: 'Retries based on custom logic',
471
- docUrl: `${DOC_BASE_URL}/operators/error-handling/retryWhen`,
618
+ officialUrl: buildOfficialUrl('operator', 'retryWhen'),
619
+ sourceUrl: buildSourceUrl('operators/retryWhen.ts'),
620
+ deprecation: { deprecated: true, since: '7.3.0', replacement: 'retry({ delay: (error, retryCount) => ... })' },
472
621
  },
473
622
  // Multicasting operators
474
623
  'share': {
475
624
  name: 'share',
476
625
  category: 'multicasting',
477
626
  description: 'Shares a single subscription among observers',
478
- docUrl: `${DOC_BASE_URL}/operators/multicasting/share`,
627
+ officialUrl: buildOfficialUrl('operator', 'share'),
628
+ sourceUrl: buildSourceUrl('operators/share.ts'),
629
+ guideUrl: buildGuideUrl('operators/multicasting/share'),
479
630
  },
480
631
  'shareReplay': {
481
632
  name: 'shareReplay',
482
633
  category: 'multicasting',
483
634
  description: 'Shares and replays specified emissions',
484
- docUrl: `${DOC_BASE_URL}/operators/multicasting/shareReplay`,
635
+ officialUrl: buildOfficialUrl('operator', 'shareReplay'),
636
+ sourceUrl: buildSourceUrl('operators/shareReplay.ts'),
637
+ guideUrl: buildGuideUrl('operators/multicasting/shareReplay'),
485
638
  },
486
639
  // Legacy/deprecated but still commonly used
487
640
  'pluck': {
488
641
  name: 'pluck',
489
642
  category: 'transformation',
490
643
  description: 'Plucks a nested property from emitted objects (deprecated: use map)',
491
- docUrl: `${DOC_BASE_URL}/operators/transformation/pluck`,
644
+ officialUrl: buildOfficialUrl('operator', 'pluck'),
645
+ sourceUrl: buildSourceUrl('operators/pluck.ts'),
646
+ deprecation: { deprecated: true, since: '7.2.0', replacement: 'map(obj => obj.prop)' },
492
647
  },
493
648
  'mapTo': {
494
649
  name: 'mapTo',
495
650
  category: 'transformation',
496
651
  description: 'Maps every emission to a constant value (deprecated: use map)',
497
- docUrl: `${DOC_BASE_URL}/operators/transformation/mapTo`,
652
+ officialUrl: buildOfficialUrl('operator', 'mapTo'),
653
+ sourceUrl: buildSourceUrl('operators/mapTo.ts'),
654
+ deprecation: { deprecated: true, since: '7.2.0', replacement: 'map(() => value)' },
498
655
  },
499
656
  };
500
657
  //# sourceMappingURL=operators.js.map