@dereekb/dbx-components-mcp 13.40.0 → 13.42.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.
- package/dbx-components-mcp.js +324 -78
- package/generated/dereekb-date.semantic-types.mcp.generated.json +130 -0
- package/generated/dereekb-firebase.semantic-types.mcp.generated.json +56 -0
- package/generated/dereekb-firebase.utils.mcp.generated.json +130 -0
- package/generated/dereekb-util.semantic-types.mcp.generated.json +26 -0
- package/generated/dereekb-util.utils.mcp.generated.json +190 -0
- package/package.json +3 -3
|
@@ -72,6 +72,136 @@
|
|
|
72
72
|
],
|
|
73
73
|
"notes": "The week in the year. Starts from 1."
|
|
74
74
|
},
|
|
75
|
+
{
|
|
76
|
+
"name": "ICalendarComponentName",
|
|
77
|
+
"package": "@dereekb/date",
|
|
78
|
+
"module": "src/lib/icalendar/icalendar",
|
|
79
|
+
"kind": "semantic-type",
|
|
80
|
+
"definition": "SuggestedString<'VCALENDAR' | 'VEVENT' | 'VALARM' | 'VTIMEZONE' | 'STANDARD' | 'DAYLIGHT'>",
|
|
81
|
+
"baseType": "other",
|
|
82
|
+
"topics": [
|
|
83
|
+
"string",
|
|
84
|
+
"dereekb-date:icalendar"
|
|
85
|
+
],
|
|
86
|
+
"notes": "The name of an iCalendar component. I.E. VCALENDAR, VEVENT, VALARM, VTIMEZONE, STANDARD, DAYLIGHT.\n\nhttps://datatracker.ietf.org/doc/html/rfc5545#section-3.6"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"name": "ICalendarPropertyName",
|
|
90
|
+
"package": "@dereekb/date",
|
|
91
|
+
"module": "src/lib/icalendar/icalendar",
|
|
92
|
+
"kind": "semantic-type",
|
|
93
|
+
"definition": "string",
|
|
94
|
+
"baseType": "string",
|
|
95
|
+
"topics": [
|
|
96
|
+
"string",
|
|
97
|
+
"dereekb-date:icalendar"
|
|
98
|
+
],
|
|
99
|
+
"notes": "The name of an iCalendar property. I.E. DTSTART, SUMMARY, X-WR-CALNAME.\n\nhttps://datatracker.ietf.org/doc/html/rfc5545#section-3.7"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"name": "ICalendarParameterName",
|
|
103
|
+
"package": "@dereekb/date",
|
|
104
|
+
"module": "src/lib/icalendar/icalendar",
|
|
105
|
+
"kind": "semantic-type",
|
|
106
|
+
"definition": "SuggestedString<'TZID' | 'VALUE' | 'CN' | 'ROLE' | 'PARTSTAT' | 'RSVP' | 'RELATED'>",
|
|
107
|
+
"baseType": "other",
|
|
108
|
+
"topics": [
|
|
109
|
+
"string",
|
|
110
|
+
"dereekb-date:icalendar"
|
|
111
|
+
],
|
|
112
|
+
"notes": "The name of an iCalendar property parameter. I.E. TZID, VALUE, CN.\n\nhttps://datatracker.ietf.org/doc/html/rfc5545#section-3.2"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": "ICalendarParameterValue",
|
|
116
|
+
"package": "@dereekb/date",
|
|
117
|
+
"module": "src/lib/icalendar/icalendar",
|
|
118
|
+
"kind": "semantic-type",
|
|
119
|
+
"definition": "string",
|
|
120
|
+
"baseType": "string",
|
|
121
|
+
"topics": [
|
|
122
|
+
"string",
|
|
123
|
+
"dereekb-date:icalendar"
|
|
124
|
+
],
|
|
125
|
+
"notes": "An already-encoded iCalendar property parameter value."
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"name": "ICalendarValue",
|
|
129
|
+
"package": "@dereekb/date",
|
|
130
|
+
"module": "src/lib/icalendar/icalendar",
|
|
131
|
+
"kind": "semantic-type",
|
|
132
|
+
"definition": "string",
|
|
133
|
+
"baseType": "string",
|
|
134
|
+
"topics": [
|
|
135
|
+
"string",
|
|
136
|
+
"dereekb-date:icalendar"
|
|
137
|
+
],
|
|
138
|
+
"notes": "An already-encoded iCalendar property value. Escaping (where the value type calls for it) has already been applied."
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"name": "ICalendarTextValue",
|
|
142
|
+
"package": "@dereekb/date",
|
|
143
|
+
"module": "src/lib/icalendar/icalendar",
|
|
144
|
+
"kind": "semantic-type",
|
|
145
|
+
"definition": "string",
|
|
146
|
+
"baseType": "string",
|
|
147
|
+
"topics": [
|
|
148
|
+
"string",
|
|
149
|
+
"dereekb-date:icalendar"
|
|
150
|
+
],
|
|
151
|
+
"notes": "An escaped iCalendar TEXT value.\n\nhttps://datatracker.ietf.org/doc/html/rfc5545#section-3.3.11"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"name": "ICalendarIcsString",
|
|
155
|
+
"package": "@dereekb/date",
|
|
156
|
+
"module": "src/lib/icalendar/icalendar",
|
|
157
|
+
"kind": "semantic-type",
|
|
158
|
+
"definition": "string",
|
|
159
|
+
"baseType": "string",
|
|
160
|
+
"topics": [
|
|
161
|
+
"string",
|
|
162
|
+
"dereekb-date:icalendar"
|
|
163
|
+
],
|
|
164
|
+
"notes": "A complete iCalendar (RFC 5545) document, folded and CRLF-terminated."
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"name": "ICalendarUid",
|
|
168
|
+
"package": "@dereekb/date",
|
|
169
|
+
"module": "src/lib/icalendar/icalendar",
|
|
170
|
+
"kind": "semantic-type",
|
|
171
|
+
"definition": "string",
|
|
172
|
+
"baseType": "string",
|
|
173
|
+
"topics": [
|
|
174
|
+
"string",
|
|
175
|
+
"dereekb-date:icalendar"
|
|
176
|
+
],
|
|
177
|
+
"notes": "A globally-unique, stable identifier for an event.\n\nhttps://datatracker.ietf.org/doc/html/rfc5545#section-3.8.4.7\n\nStability across publishes is what lets a subscribing client correlate an update or a deletion with the\nevent it already has. A UID that changes between publishes produces a duplicate event instead of an update."
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"name": "ICalendarProductId",
|
|
181
|
+
"package": "@dereekb/date",
|
|
182
|
+
"module": "src/lib/icalendar/icalendar",
|
|
183
|
+
"kind": "semantic-type",
|
|
184
|
+
"definition": "string",
|
|
185
|
+
"baseType": "string",
|
|
186
|
+
"topics": [
|
|
187
|
+
"string",
|
|
188
|
+
"dereekb-date:icalendar"
|
|
189
|
+
],
|
|
190
|
+
"notes": "The PRODID of the product that generated the calendar.\n\nhttps://datatracker.ietf.org/doc/html/rfc5545#section-3.7.3"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"name": "ICalendarCalAddress",
|
|
194
|
+
"package": "@dereekb/date",
|
|
195
|
+
"module": "src/lib/icalendar/icalendar",
|
|
196
|
+
"kind": "semantic-type",
|
|
197
|
+
"definition": "string",
|
|
198
|
+
"baseType": "string",
|
|
199
|
+
"topics": [
|
|
200
|
+
"string",
|
|
201
|
+
"dereekb-date:icalendar"
|
|
202
|
+
],
|
|
203
|
+
"notes": "A CAL-ADDRESS URI value. I.E. \"mailto:person@example.com\".\n\nhttps://datatracker.ietf.org/doc/html/rfc5545#section-3.3.3"
|
|
204
|
+
},
|
|
75
205
|
{
|
|
76
206
|
"name": "RRuleLineString",
|
|
77
207
|
"package": "@dereekb/date",
|
|
@@ -131,6 +131,20 @@
|
|
|
131
131
|
],
|
|
132
132
|
"notes": "Storage bucket identifier for Firebase Cloud Storage.\n\nShould contain no slashes — just the bucket name (e.g., `\"my-app.appspot.com\"`)."
|
|
133
133
|
},
|
|
134
|
+
{
|
|
135
|
+
"name": "StoragePublicUrlApiEndpoint",
|
|
136
|
+
"package": "@dereekb/firebase",
|
|
137
|
+
"module": "src/lib/common/storage/storage.url",
|
|
138
|
+
"kind": "semantic-type",
|
|
139
|
+
"definition": "string",
|
|
140
|
+
"baseType": "string",
|
|
141
|
+
"topics": [
|
|
142
|
+
"url",
|
|
143
|
+
"string",
|
|
144
|
+
"dereekb-firebase:storage"
|
|
145
|
+
],
|
|
146
|
+
"notes": "Origin (protocol and host, with no trailing slash) that serves GCS-native public object urls."
|
|
147
|
+
},
|
|
134
148
|
{
|
|
135
149
|
"name": "StorageDownloadUrl",
|
|
136
150
|
"package": "@dereekb/firebase",
|
|
@@ -214,6 +228,48 @@
|
|
|
214
228
|
],
|
|
215
229
|
"notes": "Example:\n'data:text/plain;base64,5b6p5Y+344GX44G+44GX44Gf77yB44GK44KB44Gn44Go44GG77yB'"
|
|
216
230
|
},
|
|
231
|
+
{
|
|
232
|
+
"name": "CalendarEventId",
|
|
233
|
+
"package": "@dereekb/firebase",
|
|
234
|
+
"module": "src/lib/model/calendar/calendar.id",
|
|
235
|
+
"kind": "semantic-type",
|
|
236
|
+
"definition": "string",
|
|
237
|
+
"baseType": "string",
|
|
238
|
+
"topics": [
|
|
239
|
+
"identifier",
|
|
240
|
+
"string",
|
|
241
|
+
"dereekb-firebase:calendar"
|
|
242
|
+
],
|
|
243
|
+
"notes": "Identifier for a single event embedded in a Calendar. Unique within its own calendar only."
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"name": "CalendarOccurrenceKey",
|
|
247
|
+
"package": "@dereekb/firebase",
|
|
248
|
+
"module": "src/lib/model/calendar/calendar.id",
|
|
249
|
+
"kind": "semantic-type",
|
|
250
|
+
"definition": "string",
|
|
251
|
+
"baseType": "string",
|
|
252
|
+
"topics": [
|
|
253
|
+
"identifier",
|
|
254
|
+
"string",
|
|
255
|
+
"dereekb-firebase:calendar"
|
|
256
|
+
],
|
|
257
|
+
"notes": "Identifier for a single expanded OCCURRENCE of a calendar event.\n\nA one-off event's occurrence key is its {@link CalendarEventId}. A recurring event's occurrence key is\nits id plus the occurrence's unix seconds, which is what keeps a published VEVENT's UID stable across\nrepublishes of the same series."
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"name": "CalendarType",
|
|
261
|
+
"package": "@dereekb/firebase",
|
|
262
|
+
"module": "src/lib/model/calendar/calendar.id",
|
|
263
|
+
"kind": "semantic-type",
|
|
264
|
+
"definition": "string",
|
|
265
|
+
"baseType": "string",
|
|
266
|
+
"topics": [
|
|
267
|
+
"identifier",
|
|
268
|
+
"string",
|
|
269
|
+
"dereekb-firebase:calendar"
|
|
270
|
+
],
|
|
271
|
+
"notes": "Arbitrary string describing the kind of calendar a document is, driving its retention policy and its ICS\nemission config through the app's {@link CalendarTypeConfig} registry.\n\nOpen by design, exactly like {@link StorageFilePurpose}: a downstream app registers its own types without\na library change."
|
|
272
|
+
},
|
|
217
273
|
{
|
|
218
274
|
"name": "NotificationTemplateType",
|
|
219
275
|
"package": "@dereekb/firebase",
|
|
@@ -263,6 +263,136 @@
|
|
|
263
263
|
"firebase-auth-oob-code-data-pair-delimiter"
|
|
264
264
|
]
|
|
265
265
|
},
|
|
266
|
+
{
|
|
267
|
+
"slug": "is-nth-hour-of-day",
|
|
268
|
+
"name": "isNthHourOfDay",
|
|
269
|
+
"kind": "function",
|
|
270
|
+
"category": "date",
|
|
271
|
+
"module": "@dereekb/firebase",
|
|
272
|
+
"subpath": "model/system/system.scheduler",
|
|
273
|
+
"signature": "isNthHourOfDay(everyNHours: Hours, date?: Maybe<Date>): boolean",
|
|
274
|
+
"description": "Whether the date's hour-of-day is an Nth hour, in the ambient timezone.\n\nThis is a modulo against the hour-of-day, NOT an interval since some epoch — so at hour 12 it is\ntrue for N = 1, 2, 3, 4, 6, and 12, and false for N = 5. Only divisors of 24 divide the day\nevenly; a non-divisor (5, 7, 9, …) will still fire, just with a short window across midnight.\n\nAn `everyNHours` of zero or less has no meaningful Nth hour and returns false rather than\ndividing by zero.",
|
|
275
|
+
"params": [
|
|
276
|
+
{
|
|
277
|
+
"name": "everyNHours",
|
|
278
|
+
"type": "Hours",
|
|
279
|
+
"description": "- Run every Nth hour of the day.",
|
|
280
|
+
"optional": false
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
"name": "date",
|
|
284
|
+
"type": "Maybe<Date>",
|
|
285
|
+
"description": "- Moment to test; defaults to now.",
|
|
286
|
+
"optional": true
|
|
287
|
+
}
|
|
288
|
+
],
|
|
289
|
+
"returns": "True when the date's hour-of-day is an Nth hour.",
|
|
290
|
+
"tags": [
|
|
291
|
+
"schedule",
|
|
292
|
+
"hour",
|
|
293
|
+
"throttle",
|
|
294
|
+
"cron",
|
|
295
|
+
"gate",
|
|
296
|
+
"modulo",
|
|
297
|
+
"date",
|
|
298
|
+
"is",
|
|
299
|
+
"nth",
|
|
300
|
+
"of",
|
|
301
|
+
"day",
|
|
302
|
+
"isnthhourofday"
|
|
303
|
+
],
|
|
304
|
+
"example": "isNthHourOfDay(3, new Date('2024-01-01T12:30:00')); // true (12 % 3 === 0)\nisNthHourOfDay(5, new Date('2024-01-01T12:30:00')); // false (12 % 5 === 2)",
|
|
305
|
+
"relatedSlugs": [
|
|
306
|
+
"has-run-in-current-hour"
|
|
307
|
+
]
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"slug": "has-run-in-current-hour",
|
|
311
|
+
"name": "hasRunInCurrentHour",
|
|
312
|
+
"kind": "function",
|
|
313
|
+
"category": "date",
|
|
314
|
+
"module": "@dereekb/firebase",
|
|
315
|
+
"subpath": "model/system/system.scheduler",
|
|
316
|
+
"signature": "hasRunInCurrentHour(lastRunAt: Maybe<Date>, now?: Maybe<Date>): boolean",
|
|
317
|
+
"description": "Whether the last run falls inside the same hour as now.\n\nThis is a same-hour-bucket compare, not an elapsed-time compare: a run at 12:59 and a `now` of\n13:01 are two minutes apart but in different hours, so this returns false. That is what makes the\ngate track the hourly cron rather than drift with it.\n\nA null `lastRunAt` means nothing has run, so it returns false.",
|
|
318
|
+
"params": [
|
|
319
|
+
{
|
|
320
|
+
"name": "lastRunAt",
|
|
321
|
+
"type": "Maybe<Date>",
|
|
322
|
+
"description": "- Moment the work last ran.",
|
|
323
|
+
"optional": false
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"name": "now",
|
|
327
|
+
"type": "Maybe<Date>",
|
|
328
|
+
"description": "- Moment to compare against; defaults to now.",
|
|
329
|
+
"optional": true
|
|
330
|
+
}
|
|
331
|
+
],
|
|
332
|
+
"returns": "True when both moments fall in the same hour.",
|
|
333
|
+
"tags": [
|
|
334
|
+
"schedule",
|
|
335
|
+
"hour",
|
|
336
|
+
"throttle",
|
|
337
|
+
"cron",
|
|
338
|
+
"gate",
|
|
339
|
+
"window",
|
|
340
|
+
"date",
|
|
341
|
+
"has",
|
|
342
|
+
"run",
|
|
343
|
+
"in",
|
|
344
|
+
"current",
|
|
345
|
+
"hasrunincurrenthour"
|
|
346
|
+
],
|
|
347
|
+
"example": "hasRunInCurrentHour(new Date('2024-01-01T12:05:00'), new Date('2024-01-01T12:55:00')); // true\nhasRunInCurrentHour(new Date('2024-01-01T12:59:00'), new Date('2024-01-01T13:01:00')); // false",
|
|
348
|
+
"relatedSlugs": [
|
|
349
|
+
"is-nth-hour-of-day",
|
|
350
|
+
"round-down-to-hour"
|
|
351
|
+
]
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"slug": "nth-hour-of-day-index",
|
|
355
|
+
"name": "nthHourOfDayIndex",
|
|
356
|
+
"kind": "function",
|
|
357
|
+
"category": "date",
|
|
358
|
+
"module": "@dereekb/firebase",
|
|
359
|
+
"subpath": "model/system/system.scheduler",
|
|
360
|
+
"signature": "nthHourOfDayIndex(everyNHours: Hours, date?: Maybe<Date>): Maybe<number>",
|
|
361
|
+
"description": "The zero-based index of the date's hour within the day's every-N-hours schedule, or null when the\nhour is not an Nth hour.\n\nAt hour 12 with N=3 the day's matching hours are 0, 3, 6, 9, 12 — so the index is 4. Use it to\nrotate work across a day's windows (\"do the expensive pass only on index 0\") without each caller\nre-deriving the arithmetic from the hour-of-day.\n\nReturns null rather than a number for a non-matching hour, so a falsy check cannot confuse\n\"index 0\" — the first window of the day — with \"no window\".",
|
|
362
|
+
"params": [
|
|
363
|
+
{
|
|
364
|
+
"name": "everyNHours",
|
|
365
|
+
"type": "Hours",
|
|
366
|
+
"description": "- Run every Nth hour of the day.",
|
|
367
|
+
"optional": false
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"name": "date",
|
|
371
|
+
"type": "Maybe<Date>",
|
|
372
|
+
"description": "- Moment to test; defaults to now.",
|
|
373
|
+
"optional": true
|
|
374
|
+
}
|
|
375
|
+
],
|
|
376
|
+
"returns": "The zero-based window index, or null when the hour is not an Nth hour.",
|
|
377
|
+
"tags": [
|
|
378
|
+
"schedule",
|
|
379
|
+
"hour",
|
|
380
|
+
"throttle",
|
|
381
|
+
"cron",
|
|
382
|
+
"gate",
|
|
383
|
+
"index",
|
|
384
|
+
"window",
|
|
385
|
+
"date",
|
|
386
|
+
"nth",
|
|
387
|
+
"of",
|
|
388
|
+
"day",
|
|
389
|
+
"nthhourofdayindex"
|
|
390
|
+
],
|
|
391
|
+
"example": "nthHourOfDayIndex(3, new Date('2024-01-01T12:30:00')); // 4 (0, 3, 6, 9, 12)\nnthHourOfDayIndex(3, new Date('2024-01-01T13:30:00')); // null (13 % 3 !== 0)",
|
|
392
|
+
"relatedSlugs": [
|
|
393
|
+
"is-nth-hour-of-day"
|
|
394
|
+
]
|
|
395
|
+
},
|
|
266
396
|
{
|
|
267
397
|
"slug": "new-documents",
|
|
268
398
|
"name": "newDocuments",
|
|
@@ -489,6 +489,19 @@
|
|
|
489
489
|
],
|
|
490
490
|
"notes": "The minute of the day.\n\nNumber from 0-1439."
|
|
491
491
|
},
|
|
492
|
+
{
|
|
493
|
+
"name": "UtcOffsetString",
|
|
494
|
+
"package": "@dereekb/util",
|
|
495
|
+
"module": "src/lib/date/offset",
|
|
496
|
+
"kind": "semantic-type",
|
|
497
|
+
"definition": "string",
|
|
498
|
+
"baseType": "string",
|
|
499
|
+
"topics": [
|
|
500
|
+
"timezone",
|
|
501
|
+
"string"
|
|
502
|
+
],
|
|
503
|
+
"notes": "A UTC offset rendered in the ISO 8601 basic format, as a sign followed by two-digit hours and minutes.\n\nExamples:\n- -0600\n- +0530\n- +0000"
|
|
504
|
+
},
|
|
492
505
|
{
|
|
493
506
|
"name": "EncryptedString",
|
|
494
507
|
"package": "@dereekb/util",
|
|
@@ -1340,6 +1353,19 @@
|
|
|
1340
1353
|
],
|
|
1341
1354
|
"notes": "A website's domain and path combined, without the BaseWebsiteUrl\n\nExamples:\n- dereekb.com\n- components.dereekb.com/\n- components.dereekb.com/doc/home"
|
|
1342
1355
|
},
|
|
1356
|
+
{
|
|
1357
|
+
"name": "UriScheme",
|
|
1358
|
+
"package": "@dereekb/util",
|
|
1359
|
+
"module": "src/lib/string/url",
|
|
1360
|
+
"kind": "semantic-type",
|
|
1361
|
+
"definition": "string",
|
|
1362
|
+
"baseType": "string",
|
|
1363
|
+
"topics": [
|
|
1364
|
+
"url",
|
|
1365
|
+
"string"
|
|
1366
|
+
],
|
|
1367
|
+
"notes": "A URI scheme, without the trailing colon.\n\nExamples:\n- https\n- mailto\n- tel"
|
|
1368
|
+
},
|
|
1343
1369
|
{
|
|
1344
1370
|
"name": "CityString",
|
|
1345
1371
|
"package": "@dereekb/util",
|
|
@@ -3817,6 +3817,32 @@
|
|
|
3817
3817
|
"seconds-in-minute"
|
|
3818
3818
|
]
|
|
3819
3819
|
},
|
|
3820
|
+
{
|
|
3821
|
+
"slug": "minutes-in-year",
|
|
3822
|
+
"name": "MINUTES_IN_YEAR",
|
|
3823
|
+
"kind": "const",
|
|
3824
|
+
"category": "date",
|
|
3825
|
+
"module": "@dereekb/util",
|
|
3826
|
+
"subpath": "date/date",
|
|
3827
|
+
"signature": "const MINUTES_IN_YEAR: Minutes",
|
|
3828
|
+
"description": "Number of minutes in a year (ignoring leap years).",
|
|
3829
|
+
"params": [],
|
|
3830
|
+
"returns": "Minutes",
|
|
3831
|
+
"tags": [
|
|
3832
|
+
"date",
|
|
3833
|
+
"minute",
|
|
3834
|
+
"year",
|
|
3835
|
+
"duration",
|
|
3836
|
+
"constant",
|
|
3837
|
+
"minutes",
|
|
3838
|
+
"in",
|
|
3839
|
+
"minutes_in_year"
|
|
3840
|
+
],
|
|
3841
|
+
"relatedSlugs": [
|
|
3842
|
+
"minutes-in-day",
|
|
3843
|
+
"days-in-year"
|
|
3844
|
+
]
|
|
3845
|
+
},
|
|
3820
3846
|
{
|
|
3821
3847
|
"slug": "seconds-in-hour",
|
|
3822
3848
|
"name": "SECONDS_IN_HOUR",
|
|
@@ -4712,6 +4738,38 @@
|
|
|
4712
4738
|
"check-atleast-one-not-expired"
|
|
4713
4739
|
]
|
|
4714
4740
|
},
|
|
4741
|
+
{
|
|
4742
|
+
"slug": "utc-offset-string",
|
|
4743
|
+
"name": "utcOffsetString",
|
|
4744
|
+
"kind": "function",
|
|
4745
|
+
"category": "date",
|
|
4746
|
+
"module": "@dereekb/util",
|
|
4747
|
+
"subpath": "date/offset",
|
|
4748
|
+
"signature": "utcOffsetString(minutes: Minutes): UtcOffsetString",
|
|
4749
|
+
"description": "Formats a UTC offset in minutes as a {@link UtcOffsetString}. I.E. \"-0600\", \"+0530\".\n\nThis is the ISO 8601 basic-format offset, which is also the format RFC 5545 3.3.14 defines for a UTC-OFFSET\nvalue. A zero offset renders as \"+0000\".",
|
|
4750
|
+
"params": [
|
|
4751
|
+
{
|
|
4752
|
+
"name": "minutes",
|
|
4753
|
+
"type": "Minutes",
|
|
4754
|
+
"description": "- The offset from UTC in minutes. Negative is west of UTC.",
|
|
4755
|
+
"optional": false
|
|
4756
|
+
}
|
|
4757
|
+
],
|
|
4758
|
+
"returns": "The UTC offset string.",
|
|
4759
|
+
"tags": [
|
|
4760
|
+
"date",
|
|
4761
|
+
"timezone",
|
|
4762
|
+
"utc",
|
|
4763
|
+
"offset",
|
|
4764
|
+
"string",
|
|
4765
|
+
"format",
|
|
4766
|
+
"utcoffsetstring"
|
|
4767
|
+
],
|
|
4768
|
+
"relatedSlugs": [
|
|
4769
|
+
"utc-timezone-string",
|
|
4770
|
+
"has-same-timezone"
|
|
4771
|
+
]
|
|
4772
|
+
},
|
|
4715
4773
|
{
|
|
4716
4774
|
"slug": "make-timer",
|
|
4717
4775
|
"name": "makeTimer",
|
|
@@ -11851,6 +11909,73 @@
|
|
|
11851
11909
|
"flatten-whitespace"
|
|
11852
11910
|
]
|
|
11853
11911
|
},
|
|
11912
|
+
{
|
|
11913
|
+
"slug": "normalize-line-breaks",
|
|
11914
|
+
"name": "normalizeLineBreaks",
|
|
11915
|
+
"kind": "function",
|
|
11916
|
+
"category": "string",
|
|
11917
|
+
"module": "@dereekb/util",
|
|
11918
|
+
"subpath": "string/string",
|
|
11919
|
+
"signature": "normalizeLineBreaks(input: string): string",
|
|
11920
|
+
"description": "Normalizes every CRLF and bare CR line break in the input to a single LF.\n\nUseful ahead of any per-character transform, which would otherwise treat a single CRLF as two line breaks.",
|
|
11921
|
+
"params": [
|
|
11922
|
+
{
|
|
11923
|
+
"name": "input",
|
|
11924
|
+
"type": "string",
|
|
11925
|
+
"description": "- String to normalize.",
|
|
11926
|
+
"optional": false
|
|
11927
|
+
}
|
|
11928
|
+
],
|
|
11929
|
+
"returns": "The string with all line breaks rendered as LF.",
|
|
11930
|
+
"tags": [
|
|
11931
|
+
"string",
|
|
11932
|
+
"whitespace",
|
|
11933
|
+
"newline",
|
|
11934
|
+
"line-break",
|
|
11935
|
+
"normalize",
|
|
11936
|
+
"crlf",
|
|
11937
|
+
"line",
|
|
11938
|
+
"breaks",
|
|
11939
|
+
"normalizelinebreaks"
|
|
11940
|
+
],
|
|
11941
|
+
"relatedSlugs": [
|
|
11942
|
+
"simplify-whitespace",
|
|
11943
|
+
"flatten-whitespace"
|
|
11944
|
+
]
|
|
11945
|
+
},
|
|
11946
|
+
{
|
|
11947
|
+
"slug": "is-not-blank-string",
|
|
11948
|
+
"name": "isNotBlankString",
|
|
11949
|
+
"kind": "function",
|
|
11950
|
+
"category": "string",
|
|
11951
|
+
"module": "@dereekb/util",
|
|
11952
|
+
"subpath": "string/string",
|
|
11953
|
+
"signature": "isNotBlankString(input: Maybe<string>): input is string",
|
|
11954
|
+
"description": "Returns true if the input is a string with at least one non-whitespace character.\n\nUseful for deciding whether an optional string value is worth emitting.",
|
|
11955
|
+
"params": [
|
|
11956
|
+
{
|
|
11957
|
+
"name": "input",
|
|
11958
|
+
"type": "Maybe<string>",
|
|
11959
|
+
"description": "- The value to test.",
|
|
11960
|
+
"optional": false
|
|
11961
|
+
}
|
|
11962
|
+
],
|
|
11963
|
+
"returns": "Whether the value is a non-blank string.",
|
|
11964
|
+
"tags": [
|
|
11965
|
+
"string",
|
|
11966
|
+
"whitespace",
|
|
11967
|
+
"blank",
|
|
11968
|
+
"empty",
|
|
11969
|
+
"predicate",
|
|
11970
|
+
"type-guard",
|
|
11971
|
+
"is",
|
|
11972
|
+
"not",
|
|
11973
|
+
"isnotblankstring"
|
|
11974
|
+
],
|
|
11975
|
+
"relatedSlugs": [
|
|
11976
|
+
"flatten-whitespace"
|
|
11977
|
+
]
|
|
11978
|
+
},
|
|
11854
11979
|
{
|
|
11855
11980
|
"slug": "string-trim-function",
|
|
11856
11981
|
"name": "stringTrimFunction",
|
|
@@ -12179,6 +12304,71 @@
|
|
|
12179
12304
|
"fix-extra-query-parameters"
|
|
12180
12305
|
]
|
|
12181
12306
|
},
|
|
12307
|
+
{
|
|
12308
|
+
"slug": "has-uri-scheme",
|
|
12309
|
+
"name": "hasUriScheme",
|
|
12310
|
+
"kind": "function",
|
|
12311
|
+
"category": "string",
|
|
12312
|
+
"module": "@dereekb/util",
|
|
12313
|
+
"subpath": "string/url",
|
|
12314
|
+
"signature": "hasUriScheme(input: string): boolean",
|
|
12315
|
+
"description": "Returns true if the input carries a URI scheme prefix.\n\nExamples where it will return true:\n- mailto:hello@dereekb.com\n- tel:+15550100\n- https://dereekb.com",
|
|
12316
|
+
"params": [
|
|
12317
|
+
{
|
|
12318
|
+
"name": "input",
|
|
12319
|
+
"type": "string",
|
|
12320
|
+
"description": "- The string to check.",
|
|
12321
|
+
"optional": false
|
|
12322
|
+
}
|
|
12323
|
+
],
|
|
12324
|
+
"returns": "Whether the input starts with a URI scheme.",
|
|
12325
|
+
"tags": [
|
|
12326
|
+
"string",
|
|
12327
|
+
"url",
|
|
12328
|
+
"uri",
|
|
12329
|
+
"scheme",
|
|
12330
|
+
"protocol",
|
|
12331
|
+
"predicate",
|
|
12332
|
+
"has",
|
|
12333
|
+
"hasurischeme"
|
|
12334
|
+
],
|
|
12335
|
+
"relatedSlugs": [
|
|
12336
|
+
"read-uri-scheme",
|
|
12337
|
+
"read-website-protocol"
|
|
12338
|
+
]
|
|
12339
|
+
},
|
|
12340
|
+
{
|
|
12341
|
+
"slug": "read-uri-scheme",
|
|
12342
|
+
"name": "readUriScheme",
|
|
12343
|
+
"kind": "function",
|
|
12344
|
+
"category": "string",
|
|
12345
|
+
"module": "@dereekb/util",
|
|
12346
|
+
"subpath": "string/url",
|
|
12347
|
+
"signature": "readUriScheme(input: string): Maybe<UriScheme>",
|
|
12348
|
+
"description": "Reads the URI scheme from the input string, if one exists. Does not include the trailing colon.",
|
|
12349
|
+
"params": [
|
|
12350
|
+
{
|
|
12351
|
+
"name": "input",
|
|
12352
|
+
"type": "string",
|
|
12353
|
+
"description": "- The URI string to extract the scheme from.",
|
|
12354
|
+
"optional": false
|
|
12355
|
+
}
|
|
12356
|
+
],
|
|
12357
|
+
"returns": "The scheme (e.g. `\"mailto\"`), or `undefined` if the input carries no scheme.",
|
|
12358
|
+
"tags": [
|
|
12359
|
+
"string",
|
|
12360
|
+
"url",
|
|
12361
|
+
"uri",
|
|
12362
|
+
"scheme",
|
|
12363
|
+
"protocol",
|
|
12364
|
+
"read",
|
|
12365
|
+
"readurischeme"
|
|
12366
|
+
],
|
|
12367
|
+
"relatedSlugs": [
|
|
12368
|
+
"has-uri-scheme",
|
|
12369
|
+
"read-website-protocol"
|
|
12370
|
+
]
|
|
12371
|
+
},
|
|
12182
12372
|
{
|
|
12183
12373
|
"slug": "expand-flatten-tree-function",
|
|
12184
12374
|
"name": "expandFlattenTreeFunction",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/dbx-components-mcp",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.42.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"dbx-components-mcp": "dbx-components-mcp.js"
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"ts-morph": "^21.0.0"
|
|
12
12
|
},
|
|
13
13
|
"peerDependencies": {
|
|
14
|
-
"@dereekb/dbx-cli": "13.
|
|
15
|
-
"@dereekb/util": "13.
|
|
14
|
+
"@dereekb/dbx-cli": "13.42.0",
|
|
15
|
+
"@dereekb/util": "13.42.0"
|
|
16
16
|
}
|
|
17
17
|
}
|