@dereekb/dbx-components-mcp 13.10.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.
@@ -0,0 +1,681 @@
1
+ {
2
+ "version": 1,
3
+ "source": "@dereekb/dbx-core",
4
+ "module": "@dereekb/dbx-core",
5
+ "generatedAt": "1970-01-01T00:00:00.000Z",
6
+ "generator": "@dereekb/dbx-components-mcp/scripts/generate-manifests.mjs",
7
+ "entries": [
8
+ {
9
+ "slug": "cut-text",
10
+ "category": "value",
11
+ "pipeName": "cutText",
12
+ "className": "CutTextPipe",
13
+ "module": "@dereekb/dbx-core",
14
+ "inputType": "Maybe<string>",
15
+ "outputType": "Maybe<string>",
16
+ "purity": "pure",
17
+ "description": "Truncates the input string to a maximum length and appends an ellipsis (or custom suffix) using {@link cutString}.\n\nReturns the original value if the input is `null` or `undefined`.",
18
+ "args": [
19
+ {
20
+ "name": "maxLength",
21
+ "type": "number",
22
+ "description": "Maximum allowed length before truncation.",
23
+ "required": true
24
+ },
25
+ {
26
+ "name": "endText",
27
+ "type": "Maybe<string>",
28
+ "description": "Suffix appended when truncation occurs.",
29
+ "required": false
30
+ }
31
+ ],
32
+ "example": "<span>{{ 'Hello World' | cutText:5 }}</span>\n<!-- Output: \"Hello...\" -->\n\n<span>{{ longText | cutText:20:'--' }}</span>\n<!-- Output: \"Some long text here--\" -->",
33
+ "sourcePath": "lib/pipe/value/cuttext.pipe.ts",
34
+ "skillRefs": [
35
+ "dbx-value-pipes"
36
+ ],
37
+ "sourceLocation": {
38
+ "file": "src/lib/pipe/value/cuttext.pipe.ts",
39
+ "line": 24
40
+ }
41
+ },
42
+ {
43
+ "slug": "dollar-amount",
44
+ "category": "value",
45
+ "pipeName": "dollarAmount",
46
+ "className": "DollarAmountPipe",
47
+ "module": "@dereekb/dbx-core",
48
+ "inputType": "Maybe<number>",
49
+ "outputType": "Maybe<string>",
50
+ "purity": "pure",
51
+ "description": "Formats a numeric value as a US dollar currency string using {@link dollarAmountString}.\n\nOptionally accepts a default string to display when the input is `null` or `undefined`.",
52
+ "args": [
53
+ {
54
+ "name": "defaultIfNull",
55
+ "type": "Maybe<string>",
56
+ "description": "String to display when the input is `null` or `undefined`. Defaults to formatting `null` through `dollarAmountString`.",
57
+ "required": false
58
+ }
59
+ ],
60
+ "example": "<span>{{ 19.5 | dollarAmount }}</span>\n<!-- Output: \"$19.50\" -->\n\n<span>{{ nullValue | dollarAmount:'N/A' }}</span>\n<!-- Output: \"N/A\" -->",
61
+ "sourcePath": "lib/pipe/value/dollar.pipe.ts",
62
+ "skillRefs": [
63
+ "dbx-value-pipes"
64
+ ],
65
+ "sourceLocation": {
66
+ "file": "src/lib/pipe/value/dollar.pipe.ts",
67
+ "line": 23
68
+ }
69
+ },
70
+ {
71
+ "slug": "get-value",
72
+ "category": "value",
73
+ "pipeName": "getValue",
74
+ "className": "GetValuePipe",
75
+ "module": "@dereekb/dbx-core",
76
+ "inputType": "GetterOrValue<T>",
77
+ "outputType": "T",
78
+ "purity": "impure",
79
+ "description": "Resolves a {@link GetterOrValue} to its underlying value using {@link getValueFromGetter}.\n\nThis is an impure pipe that re-evaluates on every change detection cycle, making it suitable\nfor getter functions whose return value may change over time.\nUse {@link GetValueOncePipe} (`getValueOnce`) for a pure alternative when the value is static.",
80
+ "args": [
81
+ {
82
+ "name": "args",
83
+ "type": "A",
84
+ "description": "Optional argument forwarded to the getter function.",
85
+ "required": false
86
+ }
87
+ ],
88
+ "example": "<span>{{ myGetterOrValue | getValue }}</span>\n<span>{{ myGetterFn | getValue:someArg }}</span>",
89
+ "sourcePath": "lib/pipe/value/getvalue.pipe.ts",
90
+ "relatedSlugs": [
91
+ "get-value-once"
92
+ ],
93
+ "skillRefs": [
94
+ "dbx-value-pipes"
95
+ ],
96
+ "sourceLocation": {
97
+ "file": "src/lib/pipe/value/getvalue.pipe.ts",
98
+ "line": 23
99
+ }
100
+ },
101
+ {
102
+ "slug": "get-value-once",
103
+ "category": "value",
104
+ "pipeName": "getValueOnce",
105
+ "className": "GetValueOncePipe",
106
+ "module": "@dereekb/dbx-core",
107
+ "inputType": "GetterOrValue<T>",
108
+ "outputType": "T",
109
+ "purity": "pure",
110
+ "description": "Resolves a {@link GetterOrValue} to its underlying value using {@link getValueFromGetter}.\n\nThis is a pure pipe that only re-evaluates when the input reference changes.\nUse {@link GetValuePipe} (`getValue`) if the getter function's return value may change between cycles.",
111
+ "args": [
112
+ {
113
+ "name": "args",
114
+ "type": "A",
115
+ "description": "Optional argument forwarded to the getter function.",
116
+ "required": false
117
+ }
118
+ ],
119
+ "example": "<span>{{ myGetterOrValue | getValueOnce }}</span>",
120
+ "sourcePath": "lib/pipe/value/getvalue.pipe.ts",
121
+ "relatedSlugs": [
122
+ "get-value"
123
+ ],
124
+ "skillRefs": [
125
+ "dbx-value-pipes"
126
+ ],
127
+ "sourceLocation": {
128
+ "file": "src/lib/pipe/value/getvalue.pipe.ts",
129
+ "line": 51
130
+ }
131
+ },
132
+ {
133
+ "slug": "prettyjson",
134
+ "category": "misc",
135
+ "pipeName": "prettyjson",
136
+ "className": "PrettyJsonPipe",
137
+ "module": "@dereekb/dbx-core",
138
+ "inputType": "Maybe<unknown>",
139
+ "outputType": "Maybe<string>",
140
+ "purity": "pure",
141
+ "description": "Formats a value as a pretty-printed JSON string using {@link JSON.stringify} with configurable indentation.\n\nReturns `undefined` for falsy input. If serialization fails, returns `'ERROR'` and logs the error to the console.",
142
+ "args": [
143
+ {
144
+ "name": "spacing",
145
+ "type": "number",
146
+ "description": "Indent spaces; defaults to `2`.",
147
+ "required": false
148
+ }
149
+ ],
150
+ "example": "<pre>{{ myObject | prettyjson }}</pre>\n<!-- Output: formatted JSON with 2-space indentation -->\n\n<pre>{{ myObject | prettyjson:4 }}</pre>\n<!-- Output: formatted JSON with 4-space indentation -->",
151
+ "sourcePath": "lib/pipe/misc/prettyjson.pipe.ts",
152
+ "sourceLocation": {
153
+ "file": "src/lib/pipe/misc/prettyjson.pipe.ts",
154
+ "line": 22
155
+ }
156
+ },
157
+ {
158
+ "slug": "date-day-range",
159
+ "category": "date",
160
+ "pipeName": "dateDayRange",
161
+ "className": "DateDayRangePipe",
162
+ "module": "@dereekb/dbx-core",
163
+ "inputType": "Maybe<DateRange>",
164
+ "outputType": "string",
165
+ "purity": "pure",
166
+ "description": "Formats a {@link DateRange} as a human-readable day range string using {@link formatToDayRangeString}.\n\nDisplays only the date portion (no times). Returns a fallback string when the input is `null` or `undefined`.",
167
+ "args": [
168
+ {
169
+ "name": "unavailable",
170
+ "type": "string",
171
+ "description": "",
172
+ "required": false
173
+ }
174
+ ],
175
+ "example": "<span>{{ dateRange | dateDayRange }}</span>\n<!-- Output: \"Jan 5 - Jan 8\" -->\n\n<span>{{ nullRange | dateDayRange:'No dates' }}</span>\n<!-- Output: \"No dates\" -->",
176
+ "sourcePath": "lib/pipe/date/datedayrange.pipe.ts",
177
+ "relatedSlugs": [
178
+ "date-time-range",
179
+ "date-day-time-range"
180
+ ],
181
+ "sourceLocation": {
182
+ "file": "src/lib/pipe/date/datedayrange.pipe.ts",
183
+ "line": 23
184
+ }
185
+ },
186
+ {
187
+ "slug": "date-day-time-range",
188
+ "category": "date",
189
+ "pipeName": "dateDayTimeRange",
190
+ "className": "DateDayTimeRangePipe",
191
+ "module": "@dereekb/dbx-core",
192
+ "inputType": "Maybe<DateRange>",
193
+ "outputType": "string",
194
+ "purity": "pure",
195
+ "description": "Formats a {@link DateRange} as a human-readable day and time range string using {@link formatToDayTimeRangeString}.\n\nIncludes both the date and time portions. Returns a fallback string when the input is `null` or `undefined`.",
196
+ "args": [
197
+ {
198
+ "name": "unavailable",
199
+ "type": "string",
200
+ "description": "",
201
+ "required": false
202
+ }
203
+ ],
204
+ "example": "<span>{{ dateRange | dateDayTimeRange }}</span>\n<!-- Output: \"Jan 5, 2:00 PM - Jan 8, 4:00 PM\" -->\n\n<span>{{ nullRange | dateDayTimeRange:'No dates' }}</span>\n<!-- Output: \"No dates\" -->",
205
+ "sourcePath": "lib/pipe/date/datedaytimerange.pipe.ts",
206
+ "relatedSlugs": [
207
+ "date-time-range",
208
+ "date-day-range"
209
+ ],
210
+ "sourceLocation": {
211
+ "file": "src/lib/pipe/date/datedaytimerange.pipe.ts",
212
+ "line": 23
213
+ }
214
+ },
215
+ {
216
+ "slug": "date-distance",
217
+ "category": "date",
218
+ "pipeName": "dateDistance",
219
+ "className": "DateDistancePipe",
220
+ "module": "@dereekb/dbx-core",
221
+ "inputType": "Maybe<DateOrDateString>",
222
+ "outputType": "string",
223
+ "purity": "impure",
224
+ "description": "Formats a date as a human-readable distance string relative to another date (or now) using {@link formatDateDistance}.\n\nAccepts an optional comparison date (defaults to now) and a fallback string for `null`/`undefined` input.",
225
+ "args": [
226
+ {
227
+ "name": "inputTo",
228
+ "type": "Maybe<Date>",
229
+ "description": "",
230
+ "required": false
231
+ },
232
+ {
233
+ "name": "unavailable",
234
+ "type": "string",
235
+ "description": "",
236
+ "required": false
237
+ }
238
+ ],
239
+ "example": "<span>{{ someDate | dateDistance }}</span>\n<!-- Output: \"3 hours ago\" -->\n\n<span>{{ someDate | dateDistance:referenceDate }}</span>\n<!-- Output: \"2 days ago\" -->\n\n<span>{{ nullDate | dateDistance:null:'Unknown' }}</span>\n<!-- Output: \"Unknown\" -->",
240
+ "sourcePath": "lib/pipe/date/datedistance.pipe.ts",
241
+ "relatedSlugs": [
242
+ "date-range-distance",
243
+ "date-format-distance",
244
+ "time-distance"
245
+ ],
246
+ "sourceLocation": {
247
+ "file": "src/lib/pipe/date/datedistance.pipe.ts",
248
+ "line": 27
249
+ }
250
+ },
251
+ {
252
+ "slug": "date-format-distance",
253
+ "category": "date",
254
+ "pipeName": "dateFormatDistance",
255
+ "className": "DateFormatDistancePipe",
256
+ "module": "@dereekb/dbx-core",
257
+ "inputType": "Maybe<DateOrDateString>",
258
+ "outputType": "Maybe<string>",
259
+ "purity": "impure",
260
+ "description": "Formats a date using a locale-aware format string and appends the relative distance to now in parentheses.\n\nReturns `undefined` if the input is falsy or not a valid date.",
261
+ "args": [
262
+ {
263
+ "name": "format",
264
+ "type": "string",
265
+ "description": "",
266
+ "required": true
267
+ },
268
+ {
269
+ "name": "includeSeconds",
270
+ "type": "boolean",
271
+ "description": "",
272
+ "required": false
273
+ }
274
+ ],
275
+ "example": "<span>{{ someDate | dateFormatDistance:'MMM d, y' }}</span>\n<!-- Output: \"Jan 5, 2024 (3 days ago)\" -->\n\n<span>{{ someDate | dateFormatDistance:'short':true }}</span>\n<!-- Output: \"1/5/24, 2:30 PM (about 3 days ago)\" with includeSeconds enabled -->",
276
+ "sourcePath": "lib/pipe/date/dateformatdistance.pipe.ts",
277
+ "relatedSlugs": [
278
+ "date-distance",
279
+ "date-format-from-to"
280
+ ],
281
+ "sourceLocation": {
282
+ "file": "src/lib/pipe/date/dateformatdistance.pipe.ts",
283
+ "line": 25
284
+ }
285
+ },
286
+ {
287
+ "slug": "date-format-from-to",
288
+ "category": "date",
289
+ "pipeName": "dateFormatFromTo",
290
+ "className": "DateFormatFromToPipe",
291
+ "module": "@dereekb/dbx-core",
292
+ "inputType": "Maybe<DateOrDateString>",
293
+ "outputType": "Maybe<string>",
294
+ "purity": "pure",
295
+ "description": "Formats a date as a \"from - to\" time range string given a start date, format string, and duration in minutes.\n\nThe start date is formatted using the Angular locale-aware {@link formatDate}, and the end time\nis computed by adding the given minutes and formatted as a time-only string.",
296
+ "args": [
297
+ {
298
+ "name": "format",
299
+ "type": "string",
300
+ "description": "",
301
+ "required": true
302
+ },
303
+ {
304
+ "name": "minutes",
305
+ "type": "Minutes",
306
+ "description": "",
307
+ "required": true
308
+ }
309
+ ],
310
+ "example": "<span>{{ eventStart | dateFormatFromTo:'MMM d, h:mm a':90 }}</span>\n<!-- Output: \"Jan 5, 2:00 PM - 3:30 PM\" -->",
311
+ "sourcePath": "lib/pipe/date/dateformatfromto.pipe.ts",
312
+ "relatedSlugs": [
313
+ "date-time-range",
314
+ "date-format-distance"
315
+ ],
316
+ "sourceLocation": {
317
+ "file": "src/lib/pipe/date/dateformatfromto.pipe.ts",
318
+ "line": 23
319
+ }
320
+ },
321
+ {
322
+ "slug": "date-range-distance",
323
+ "category": "date",
324
+ "pipeName": "dateRangeDistance",
325
+ "className": "DateRangeDistancePipe",
326
+ "module": "@dereekb/dbx-core",
327
+ "inputType": "Maybe<Date | DateRange>",
328
+ "outputType": "string",
329
+ "purity": "impure",
330
+ "description": "Formats a {@link Date} or {@link DateRange} as a human-readable distance string relative to now using {@link formatDateDistance}.\n\nThis is an impure pipe that recalculates on every change detection cycle to keep the distance up to date.\nReturns a fallback string when the input is `null` or `undefined`.",
331
+ "args": [
332
+ {
333
+ "name": "unavailable",
334
+ "type": "string",
335
+ "description": "",
336
+ "required": false
337
+ }
338
+ ],
339
+ "example": "<span>{{ someDate | dateRangeDistance }}</span>\n<!-- Output: \"3 hours ago\" -->\n\n<span>{{ nullDate | dateRangeDistance:'Unknown' }}</span>\n<!-- Output: \"Unknown\" -->",
340
+ "sourcePath": "lib/pipe/date/daterangedistance.pipe.ts",
341
+ "relatedSlugs": [
342
+ "date-distance"
343
+ ],
344
+ "sourceLocation": {
345
+ "file": "src/lib/pipe/date/daterangedistance.pipe.ts",
346
+ "line": 24
347
+ }
348
+ },
349
+ {
350
+ "slug": "date-time-range",
351
+ "category": "date",
352
+ "pipeName": "dateTimeRange",
353
+ "className": "DateTimeRangePipe",
354
+ "module": "@dereekb/dbx-core",
355
+ "inputType": "Maybe<DateRange>",
356
+ "outputType": "string",
357
+ "purity": "pure",
358
+ "description": "Formats a {@link DateRange} as a time range string using {@link formatToTimeRangeString}.\n\nDisplays the date and time of both the start and end. Returns a fallback string when the input is `null` or `undefined`.",
359
+ "args": [
360
+ {
361
+ "name": "unavailable",
362
+ "type": "string",
363
+ "description": "",
364
+ "required": false
365
+ }
366
+ ],
367
+ "example": "<span>{{ dateRange | dateTimeRange }}</span>\n<!-- Output: \"Jan 5, 2:00 PM - 4:00 PM\" -->\n\n<span>{{ nullRange | dateTimeRange:'TBD' }}</span>\n<!-- Output: \"TBD\" -->",
368
+ "sourcePath": "lib/pipe/date/datetimerange.pipe.ts",
369
+ "relatedSlugs": [
370
+ "date-time-range-only",
371
+ "date-day-range",
372
+ "date-day-time-range"
373
+ ],
374
+ "sourceLocation": {
375
+ "file": "src/lib/pipe/date/datetimerange.pipe.ts",
376
+ "line": 23
377
+ }
378
+ },
379
+ {
380
+ "slug": "date-time-range-only",
381
+ "category": "date",
382
+ "pipeName": "dateTimeRangeOnly",
383
+ "className": "DateTimeRangeOnlyPipe",
384
+ "module": "@dereekb/dbx-core",
385
+ "inputType": "Maybe<DateRange>",
386
+ "outputType": "string",
387
+ "purity": "pure",
388
+ "description": "Formats a {@link DateRange} as a time-only range string using {@link formatToTimeRangeString} with the time-only flag enabled.\n\nDisplays only the time portion (no date). Returns a fallback string when the input is `null` or `undefined`.",
389
+ "args": [
390
+ {
391
+ "name": "unavailable",
392
+ "type": "string",
393
+ "description": "",
394
+ "required": false
395
+ }
396
+ ],
397
+ "example": "<span>{{ dateRange | dateTimeRangeOnly }}</span>\n<!-- Output: \"2:00 PM - 4:00 PM\" -->\n\n<span>{{ nullRange | dateTimeRangeOnly:'TBD' }}</span>\n<!-- Output: \"TBD\" -->",
398
+ "sourcePath": "lib/pipe/date/datetimerangeonly.pipe.ts",
399
+ "relatedSlugs": [
400
+ "date-time-range"
401
+ ],
402
+ "sourceLocation": {
403
+ "file": "src/lib/pipe/date/datetimerangeonly.pipe.ts",
404
+ "line": 23
405
+ }
406
+ },
407
+ {
408
+ "slug": "date-time-range-only-distance",
409
+ "category": "date",
410
+ "pipeName": "dateTimeRangeOnlyDistance",
411
+ "className": "DateTimeRangeOnlyDistancePipe",
412
+ "module": "@dereekb/dbx-core",
413
+ "inputType": "Maybe<DateRange>",
414
+ "outputType": "string",
415
+ "purity": "pure",
416
+ "description": "Formats a {@link DateRange} as a human-readable distance string using {@link formatDateRangeDistance}.\n\nAccepts an optional {@link FormatDateRangeDistanceFunctionConfig} to customize the output format.\nReturns a fallback string when the input is `null` or `undefined`.",
417
+ "args": [
418
+ {
419
+ "name": "config",
420
+ "type": "FormatDateRangeDistanceFunctionConfig",
421
+ "description": "",
422
+ "required": false
423
+ },
424
+ {
425
+ "name": "unavailable",
426
+ "type": "string",
427
+ "description": "",
428
+ "required": false
429
+ }
430
+ ],
431
+ "example": "<span>{{ dateRange | dateTimeRangeOnlyDistance }}</span>\n<!-- Output: \"3 hours\" -->\n\n<span>{{ dateRange | dateTimeRangeOnlyDistance:config }}</span>\n<!-- Output varies based on config -->\n\n<span>{{ nullRange | dateTimeRangeOnlyDistance:null:'TBD' }}</span>\n<!-- Output: \"TBD\" -->",
432
+ "sourcePath": "lib/pipe/date/datetimerangeonlydistance.pipe.ts",
433
+ "relatedSlugs": [
434
+ "date-time-range",
435
+ "date-range-distance"
436
+ ],
437
+ "sourceLocation": {
438
+ "file": "src/lib/pipe/date/datetimerangeonlydistance.pipe.ts",
439
+ "line": 27
440
+ }
441
+ },
442
+ {
443
+ "slug": "minutes-string",
444
+ "category": "date",
445
+ "pipeName": "minutesString",
446
+ "className": "MinutesStringPipe",
447
+ "module": "@dereekb/dbx-core",
448
+ "inputType": "Maybe<Minutes | string>",
449
+ "outputType": "Maybe<string>",
450
+ "purity": "impure",
451
+ "description": "Converts a numeric minute value into a human-readable duration string with automatic unit scaling.\n\n- Values over 3600 minutes are displayed as days (e.g., \"~2 days\")\n- Values over 180 minutes are displayed as hours (e.g., \"~4 hours\")\n- Values at or below 180 minutes are displayed as minutes (e.g., \"90 minutes\")\n\nA `~` prefix is added when the value is rounded up. Returns `undefined` for `null` or non-numeric input.",
452
+ "args": [],
453
+ "example": "<span>{{ 90 | minutesString }}</span>\n<!-- Output: \"90 minutes\" -->\n\n<span>{{ 250 | minutesString }}</span>\n<!-- Output: \"~5 hours\" -->\n\n<span>{{ 5000 | minutesString }}</span>\n<!-- Output: \"~4 days\" -->",
454
+ "sourcePath": "lib/pipe/date/minutesstring.pipe.ts",
455
+ "relatedSlugs": [
456
+ "to-minutes"
457
+ ],
458
+ "sourceLocation": {
459
+ "file": "src/lib/pipe/date/minutesstring.pipe.ts",
460
+ "line": 29
461
+ }
462
+ },
463
+ {
464
+ "slug": "system-date-to-target-date",
465
+ "category": "date",
466
+ "pipeName": "systemDateToTargetDate",
467
+ "className": "SystemDateToTargetDatePipe",
468
+ "module": "@dereekb/dbx-core",
469
+ "inputType": "Maybe<Date>",
470
+ "outputType": "Maybe<Date>",
471
+ "purity": "impure",
472
+ "description": "Converts a system (UTC-based) date to the equivalent local date in the given timezone using {@link dateTimezoneUtcNormal}.\n\nThis is useful when you have a date in the system's timezone and need to display it as if it were in the target timezone.\nReturns `undefined` if either the input date or timezone is falsy.",
473
+ "args": [
474
+ {
475
+ "name": "timezone",
476
+ "type": "Maybe<TimezoneString>",
477
+ "description": "",
478
+ "required": true
479
+ }
480
+ ],
481
+ "example": "<span>{{ systemDate | systemDateToTargetDate:'America/New_York' | date:'short' }}</span>\n<!-- Output: the date/time as it appears in the New York timezone -->",
482
+ "sourcePath": "lib/pipe/date/systemdatetotargetdate.pipe.ts",
483
+ "relatedSlugs": [
484
+ "target-date-to-system-date",
485
+ "timezone-abbreviation"
486
+ ],
487
+ "sourceLocation": {
488
+ "file": "src/lib/pipe/date/systemdatetotargetdate.pipe.ts",
489
+ "line": 21
490
+ }
491
+ },
492
+ {
493
+ "slug": "target-date-to-system-date",
494
+ "category": "date",
495
+ "pipeName": "targetDateToSystemDate",
496
+ "className": "TargetDateToSystemDatePipe",
497
+ "module": "@dereekb/dbx-core",
498
+ "inputType": "Maybe<Date>",
499
+ "outputType": "Maybe<Date>",
500
+ "purity": "impure",
501
+ "description": "Converts a target timezone date back to the equivalent system (UTC-based) date using {@link dateTimezoneUtcNormal}.\n\nThis is the inverse of {@link SystemDateToTargetDatePipe}. Useful when you have a date representing\nlocal time in a target timezone and need to convert it back to the system timezone.\nReturns `undefined` if either the input date or timezone is falsy.",
502
+ "args": [
503
+ {
504
+ "name": "timezone",
505
+ "type": "Maybe<TimezoneString>",
506
+ "description": "",
507
+ "required": true
508
+ }
509
+ ],
510
+ "example": "<span>{{ targetDate | targetDateToSystemDate:'America/New_York' | date:'short' }}</span>\n<!-- Output: the date/time converted back to the system timezone -->",
511
+ "sourcePath": "lib/pipe/date/targetdatetosystemdate.pipe.ts",
512
+ "relatedSlugs": [
513
+ "system-date-to-target-date",
514
+ "timezone-abbreviation"
515
+ ],
516
+ "sourceLocation": {
517
+ "file": "src/lib/pipe/date/targetdatetosystemdate.pipe.ts",
518
+ "line": 22
519
+ }
520
+ },
521
+ {
522
+ "slug": "time-countdown-distance",
523
+ "category": "date",
524
+ "pipeName": "timeCountdownDistance",
525
+ "className": "TimeDistanceCountdownPipe",
526
+ "module": "@dereekb/dbx-core",
527
+ "inputType": "Maybe<DateOrDateString>",
528
+ "outputType": "string",
529
+ "purity": "impure",
530
+ "description": "Formats the distance from now to a future date as a countdown string.\n\nIf the target date is in the past, returns the `soonString` (defaults to `\"Soon\"`).\nOtherwise, returns a human-readable distance string with suffix (e.g., \"in 3 hours\").\nReturns the `unavailable` string when the input is falsy.",
531
+ "args": [
532
+ {
533
+ "name": "soonString",
534
+ "type": "string",
535
+ "description": "",
536
+ "required": false
537
+ },
538
+ {
539
+ "name": "unavailable",
540
+ "type": "string",
541
+ "description": "",
542
+ "required": false
543
+ }
544
+ ],
545
+ "example": "<span>{{ futureDate | timeCountdownDistance }}</span>\n<!-- Output: \"in 3 hours\" or \"Soon\" if past -->\n\n<span>{{ futureDate | timeCountdownDistance:'Imminent':'N/A' }}</span>\n<!-- Output: \"Imminent\" if past, \"N/A\" if null -->",
546
+ "sourcePath": "lib/pipe/date/timedistance.pipe.ts",
547
+ "relatedSlugs": [
548
+ "time-distance"
549
+ ],
550
+ "sourceLocation": {
551
+ "file": "src/lib/pipe/date/timedistance.pipe.ts",
552
+ "line": 26
553
+ }
554
+ },
555
+ {
556
+ "slug": "time-distance",
557
+ "category": "date",
558
+ "pipeName": "timeDistance",
559
+ "className": "TimeDistancePipe",
560
+ "module": "@dereekb/dbx-core",
561
+ "inputType": "Maybe<DateOrDateString>",
562
+ "outputType": "string",
563
+ "purity": "impure",
564
+ "description": "Formats the distance between a date and a reference date (defaults to now) as a human-readable string with suffix.\n\nUses date-fns {@link formatDistance} to produce output like \"3 hours ago\" or \"in 2 days\".\nReturns the `unavailable` string when the input is falsy.",
565
+ "args": [
566
+ {
567
+ "name": "to",
568
+ "type": "Maybe<Date>",
569
+ "description": "",
570
+ "required": false
571
+ },
572
+ {
573
+ "name": "unavailable",
574
+ "type": "string",
575
+ "description": "",
576
+ "required": false
577
+ }
578
+ ],
579
+ "example": "<span>{{ someDate | timeDistance }}</span>\n<!-- Output: \"3 hours ago\" -->\n\n<span>{{ someDate | timeDistance:referenceDate }}</span>\n<!-- Output: \"2 days ago\" (relative to referenceDate) -->\n\n<span>{{ nullDate | timeDistance:null:'Unknown' }}</span>\n<!-- Output: \"Unknown\" -->",
580
+ "sourcePath": "lib/pipe/date/timedistance.pipe.ts",
581
+ "relatedSlugs": [
582
+ "date-distance",
583
+ "time-countdown-distance"
584
+ ],
585
+ "sourceLocation": {
586
+ "file": "src/lib/pipe/date/timedistance.pipe.ts",
587
+ "line": 76
588
+ }
589
+ },
590
+ {
591
+ "slug": "timezone-abbreviation",
592
+ "category": "date",
593
+ "pipeName": "timezoneAbbreviation",
594
+ "className": "TimezoneAbbreviationPipe",
595
+ "module": "@dereekb/dbx-core",
596
+ "inputType": "Maybe<TimezoneString>",
597
+ "outputType": "Maybe<string>",
598
+ "purity": "impure",
599
+ "description": "Returns the abbreviated name for a timezone string (e.g., \"EST\", \"PDT\") using {@link getTimezoneAbbreviation}.\n\nOptionally accepts a reference date to determine the correct abbreviation (e.g., for daylight saving time).\nDefaults to the current date if no reference date is provided.\nReturns `undefined` if the timezone is falsy.",
600
+ "args": [
601
+ {
602
+ "name": "input",
603
+ "type": "Maybe<Date>",
604
+ "description": "",
605
+ "required": false
606
+ }
607
+ ],
608
+ "example": "<span>{{ 'America/New_York' | timezoneAbbreviation }}</span>\n<!-- Output: \"EST\" or \"EDT\" depending on the current date -->\n\n<span>{{ timezone | timezoneAbbreviation:referenceDate }}</span>\n<!-- Output: abbreviation for the timezone at the given reference date -->",
609
+ "sourcePath": "lib/pipe/date/timezoneabbreviation.pipe.ts",
610
+ "relatedSlugs": [
611
+ "system-date-to-target-date",
612
+ "target-date-to-system-date"
613
+ ],
614
+ "sourceLocation": {
615
+ "file": "src/lib/pipe/date/timezoneabbreviation.pipe.ts",
616
+ "line": 25
617
+ }
618
+ },
619
+ {
620
+ "slug": "to-js-date",
621
+ "category": "date",
622
+ "pipeName": "toJsDate",
623
+ "className": "ToJsDatePipe",
624
+ "module": "@dereekb/dbx-core",
625
+ "inputType": "Maybe<DateOrDateString>",
626
+ "outputType": "Maybe<Date>",
627
+ "purity": "pure",
628
+ "description": "Converts a {@link DateOrDateString} value to a JavaScript {@link Date} object using {@link toJsDate}.\n\nReturns `undefined` if the input is `null`, `undefined`, or results in an invalid date.\nAlso provides a static `toJsDate()` method used by other pipes in this package.",
629
+ "args": [],
630
+ "example": "<span>{{ '2024-01-05T12:00:00Z' | toJsDate | date:'short' }}</span>\n<!-- Output: \"1/5/24, 12:00 PM\" -->\n\n<span>{{ dateOrString | toJsDate | date:'fullDate' }}</span>",
631
+ "sourcePath": "lib/pipe/date/tojsdate.pipe.ts",
632
+ "relatedSlugs": [
633
+ "date-distance",
634
+ "date-format-distance"
635
+ ],
636
+ "sourceLocation": {
637
+ "file": "src/lib/pipe/date/tojsdate.pipe.ts",
638
+ "line": 24
639
+ }
640
+ },
641
+ {
642
+ "slug": "to-minutes",
643
+ "category": "date",
644
+ "pipeName": "toMinutes",
645
+ "className": "ToMinutesPipe",
646
+ "module": "@dereekb/dbx-core",
647
+ "inputType": "Milliseconds",
648
+ "outputType": "Minutes",
649
+ "purity": "pure",
650
+ "description": "Converts a duration in milliseconds to whole minutes using {@link millisecondsToMinutes}.\n\nReturns the original value (0 or falsy) if the input is falsy.",
651
+ "args": [],
652
+ "example": "<span>{{ 180000 | toMinutes }}</span>\n<!-- Output: 3 -->\n\n<span>{{ durationMs | toMinutes }} min</span>\n<!-- Output: \"5 min\" -->",
653
+ "sourcePath": "lib/pipe/date/tominutes.pipe.ts",
654
+ "relatedSlugs": [
655
+ "minutes-string"
656
+ ],
657
+ "sourceLocation": {
658
+ "file": "src/lib/pipe/date/tominutes.pipe.ts",
659
+ "line": 22
660
+ }
661
+ },
662
+ {
663
+ "slug": "as-observable",
664
+ "category": "async",
665
+ "pipeName": "asObservable",
666
+ "className": "AsObservablePipe",
667
+ "module": "@dereekb/dbx-core",
668
+ "inputType": "ObservableOrValueGetter<T>",
669
+ "outputType": "Observable<T>",
670
+ "purity": "pure",
671
+ "description": "Converts an {@link ObservableOrValueGetter} into an {@link Observable}.\n\nUseful for normalizing values that may be plain values, getter functions, or Observables\ninto a consistent Observable stream for use with the `async` pipe.",
672
+ "args": [],
673
+ "example": "<span>{{ valueOrGetter | asObservable | async }}</span>",
674
+ "sourcePath": "lib/pipe/async/asobservable.pipe.ts",
675
+ "sourceLocation": {
676
+ "file": "src/lib/pipe/async/asobservable.pipe.ts",
677
+ "line": 19
678
+ }
679
+ }
680
+ ]
681
+ }