@dereekb/dbx-components-mcp 13.11.3 → 13.11.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -866,6 +866,354 @@
866
866
  "date-cell-index-range"
867
867
  ]
868
868
  },
869
+ {
870
+ "slug": "time-duration-data-is-empty",
871
+ "name": "timeDurationDataIsEmpty",
872
+ "kind": "function",
873
+ "category": "date",
874
+ "module": "@dereekb/date",
875
+ "subpath": "date/date.duration.data",
876
+ "signature": "timeDurationDataIsEmpty(data: TimeDurationData): boolean",
877
+ "description": "Returns true if the input TimeDurationData has no meaningful values (all zero or undefined).",
878
+ "params": [
879
+ {
880
+ "name": "data",
881
+ "type": "TimeDurationData",
882
+ "description": "- The duration data to check",
883
+ "optional": false
884
+ }
885
+ ],
886
+ "returns": "True if empty",
887
+ "tags": [
888
+ "date",
889
+ "duration",
890
+ "empty",
891
+ "check",
892
+ "time",
893
+ "zero",
894
+ "data",
895
+ "is",
896
+ "timedurationdataisempty"
897
+ ],
898
+ "example": "timeDurationDataIsEmpty({}); // true\ntimeDurationDataIsEmpty({ hours: 0, minutes: 0 }); // true\ntimeDurationDataIsEmpty({ hours: 1 }); // false",
899
+ "relatedSlugs": [
900
+ "duration-data-to-milliseconds",
901
+ "milliseconds-to-duration-data"
902
+ ]
903
+ },
904
+ {
905
+ "slug": "duration-data-to-milliseconds",
906
+ "name": "durationDataToMilliseconds",
907
+ "kind": "function",
908
+ "category": "date",
909
+ "module": "@dereekb/date",
910
+ "subpath": "date/date.duration.data",
911
+ "signature": "durationDataToMilliseconds(data: TimeDurationData): Milliseconds",
912
+ "description": "Converts a TimeDurationData to total milliseconds by summing all fields.",
913
+ "params": [
914
+ {
915
+ "name": "data",
916
+ "type": "TimeDurationData",
917
+ "description": "- The duration data to convert",
918
+ "optional": false
919
+ }
920
+ ],
921
+ "returns": "Total milliseconds",
922
+ "tags": [
923
+ "date",
924
+ "duration",
925
+ "milliseconds",
926
+ "convert",
927
+ "sum",
928
+ "time",
929
+ "total",
930
+ "data",
931
+ "to",
932
+ "durationdatatomilliseconds"
933
+ ],
934
+ "example": "durationDataToMilliseconds({ hours: 1, minutes: 30 }); // 5400000\ndurationDataToMilliseconds({ days: 1, hours: 2 }); // 93600000",
935
+ "relatedSlugs": [
936
+ "milliseconds-to-duration-data",
937
+ "parse-duration-string-to-milliseconds",
938
+ "time-duration-data-is-empty"
939
+ ]
940
+ },
941
+ {
942
+ "slug": "milliseconds-to-duration-data",
943
+ "name": "millisecondsToDurationData",
944
+ "kind": "function",
945
+ "category": "date",
946
+ "module": "@dereekb/date",
947
+ "subpath": "date/date.duration.data",
948
+ "signature": "millisecondsToDurationData(ms: Milliseconds, units?: readonly TimeUnit[]): TimeDurationData",
949
+ "description": "Decomposes milliseconds into a TimeDurationData object using the specified units.\n\nBreaks down from largest to smallest unit, only using units in the provided list.",
950
+ "params": [
951
+ {
952
+ "name": "ms",
953
+ "type": "Milliseconds",
954
+ "description": "- The total milliseconds to decompose",
955
+ "optional": false
956
+ },
957
+ {
958
+ "name": "units",
959
+ "type": "readonly TimeUnit[]",
960
+ "description": "- Which units to decompose into (defaults to days, hours, minutes, seconds)",
961
+ "optional": true
962
+ }
963
+ ],
964
+ "returns": "A TimeDurationData with the decomposed values",
965
+ "tags": [
966
+ "date",
967
+ "duration",
968
+ "milliseconds",
969
+ "decompose",
970
+ "convert",
971
+ "breakdown",
972
+ "units",
973
+ "time",
974
+ "to",
975
+ "data",
976
+ "millisecondstodurationdata"
977
+ ],
978
+ "example": "millisecondsToDurationData(5400000); // { days: 0, hours: 1, minutes: 30, seconds: 0 }\nmillisecondsToDurationData(90000, ['min', 's']); // { minutes: 1, seconds: 30 }",
979
+ "relatedSlugs": [
980
+ "duration-data-to-milliseconds",
981
+ "parse-duration-string",
982
+ "format-duration-string"
983
+ ]
984
+ },
985
+ {
986
+ "slug": "get-duration-data-value",
987
+ "name": "getDurationDataValue",
988
+ "kind": "function",
989
+ "category": "date",
990
+ "module": "@dereekb/date",
991
+ "subpath": "date/date.duration.data",
992
+ "signature": "getDurationDataValue(data: TimeDurationData, unit: TimeUnit): number",
993
+ "description": "Reads a specific time unit value from a TimeDurationData object.",
994
+ "params": [
995
+ {
996
+ "name": "data",
997
+ "type": "TimeDurationData",
998
+ "description": "- The duration data",
999
+ "optional": false
1000
+ },
1001
+ {
1002
+ "name": "unit",
1003
+ "type": "TimeUnit",
1004
+ "description": "- The time unit to read",
1005
+ "optional": false
1006
+ }
1007
+ ],
1008
+ "returns": "The value for that unit, or 0 if not set",
1009
+ "tags": [
1010
+ "date",
1011
+ "duration",
1012
+ "get",
1013
+ "read",
1014
+ "value",
1015
+ "unit",
1016
+ "time",
1017
+ "field",
1018
+ "data",
1019
+ "getdurationdatavalue"
1020
+ ],
1021
+ "relatedSlugs": [
1022
+ "set-duration-data-value",
1023
+ "duration-data-to-milliseconds"
1024
+ ]
1025
+ },
1026
+ {
1027
+ "slug": "set-duration-data-value",
1028
+ "name": "setDurationDataValue",
1029
+ "kind": "function",
1030
+ "category": "date",
1031
+ "module": "@dereekb/date",
1032
+ "subpath": "date/date.duration.data",
1033
+ "signature": "setDurationDataValue(data: TimeDurationData, unit: TimeUnit, value: number): TimeDurationData",
1034
+ "description": "Returns a new TimeDurationData with the specified unit set to the given value.",
1035
+ "params": [
1036
+ {
1037
+ "name": "data",
1038
+ "type": "TimeDurationData",
1039
+ "description": "- The original duration data",
1040
+ "optional": false
1041
+ },
1042
+ {
1043
+ "name": "unit",
1044
+ "type": "TimeUnit",
1045
+ "description": "- The time unit to set",
1046
+ "optional": false
1047
+ },
1048
+ {
1049
+ "name": "value",
1050
+ "type": "number",
1051
+ "description": "- The new value",
1052
+ "optional": false
1053
+ }
1054
+ ],
1055
+ "returns": "A new TimeDurationData with the updated value",
1056
+ "tags": [
1057
+ "date",
1058
+ "duration",
1059
+ "set",
1060
+ "update",
1061
+ "value",
1062
+ "unit",
1063
+ "time",
1064
+ "field",
1065
+ "immutable",
1066
+ "data",
1067
+ "setdurationdatavalue"
1068
+ ],
1069
+ "relatedSlugs": [
1070
+ "get-duration-data-value",
1071
+ "duration-data-to-milliseconds"
1072
+ ]
1073
+ },
1074
+ {
1075
+ "slug": "parse-duration-string",
1076
+ "name": "parseDurationString",
1077
+ "kind": "function",
1078
+ "category": "date",
1079
+ "module": "@dereekb/date",
1080
+ "subpath": "date/date.duration.data",
1081
+ "signature": "parseDurationString(input: string): TimeDurationData",
1082
+ "description": "Parses a human-readable duration string into a TimeDurationData object.\n\nSupports compact formats (\"3d10h5m8s\"), spaced formats (\"3d 10h 5m 8s\"),\nand long formats (\"3 days 10 hours 5 minutes 8 seconds\"). Mixed formats\nare also supported. If the same unit appears multiple times, values are summed.\n\nIf the string contains only a number with no unit, it is treated as the\nsmallest unit that would make sense (milliseconds by default).",
1083
+ "params": [
1084
+ {
1085
+ "name": "input",
1086
+ "type": "string",
1087
+ "description": "- The duration string to parse",
1088
+ "optional": false
1089
+ }
1090
+ ],
1091
+ "returns": "A TimeDurationData object with the parsed values",
1092
+ "tags": [
1093
+ "date",
1094
+ "duration",
1095
+ "parse",
1096
+ "string",
1097
+ "time",
1098
+ "human-readable",
1099
+ "decode",
1100
+ "parsedurationstring"
1101
+ ],
1102
+ "example": "parseDurationString('3d10h5m8s'); // { days: 3, hours: 10, minutes: 5, seconds: 8 }\nparseDurationString('2 hours 30 minutes'); // { hours: 2, minutes: 30 }\nparseDurationString('1w 2d'); // { weeks: 1, days: 2 }\nparseDurationString('500ms'); // { milliseconds: 500 }",
1103
+ "relatedSlugs": [
1104
+ "parse-duration-string-to-milliseconds",
1105
+ "format-duration-string",
1106
+ "format-duration-string-long",
1107
+ "milliseconds-to-duration-data"
1108
+ ]
1109
+ },
1110
+ {
1111
+ "slug": "parse-duration-string-to-milliseconds",
1112
+ "name": "parseDurationStringToMilliseconds",
1113
+ "kind": "function",
1114
+ "category": "date",
1115
+ "module": "@dereekb/date",
1116
+ "subpath": "date/date.duration.data",
1117
+ "signature": "parseDurationStringToMilliseconds(input: string): Milliseconds",
1118
+ "description": "Parses a duration string directly to milliseconds.",
1119
+ "params": [
1120
+ {
1121
+ "name": "input",
1122
+ "type": "string",
1123
+ "description": "- The duration string to parse",
1124
+ "optional": false
1125
+ }
1126
+ ],
1127
+ "returns": "Total milliseconds",
1128
+ "tags": [
1129
+ "date",
1130
+ "duration",
1131
+ "parse",
1132
+ "string",
1133
+ "milliseconds",
1134
+ "convert",
1135
+ "decode",
1136
+ "to",
1137
+ "parsedurationstringtomilliseconds"
1138
+ ],
1139
+ "example": "parseDurationStringToMilliseconds('1h30m'); // 5400000",
1140
+ "relatedSlugs": [
1141
+ "parse-duration-string",
1142
+ "duration-data-to-milliseconds",
1143
+ "format-duration-string"
1144
+ ]
1145
+ },
1146
+ {
1147
+ "slug": "format-duration-string",
1148
+ "name": "formatDurationString",
1149
+ "kind": "function",
1150
+ "category": "date",
1151
+ "module": "@dereekb/date",
1152
+ "subpath": "date/date.duration.data",
1153
+ "signature": "formatDurationString(data: TimeDurationData): string",
1154
+ "description": "Formats a TimeDurationData to a compact string like \"3d10h5m8s\".\n\nOmits zero-value units. Returns \"0s\" if all fields are zero or empty.",
1155
+ "params": [
1156
+ {
1157
+ "name": "data",
1158
+ "type": "TimeDurationData",
1159
+ "description": "- The duration data to format",
1160
+ "optional": false
1161
+ }
1162
+ ],
1163
+ "returns": "A compact duration string",
1164
+ "tags": [
1165
+ "date",
1166
+ "duration",
1167
+ "format",
1168
+ "string",
1169
+ "compact",
1170
+ "encode",
1171
+ "time",
1172
+ "formatdurationstring"
1173
+ ],
1174
+ "example": "formatDurationString({ days: 3, hours: 10, minutes: 5, seconds: 8 }); // \"3d10h5m8s\"\nformatDurationString({ hours: 2, minutes: 30 }); // \"2h30m\"\nformatDurationString({}); // \"0s\"",
1175
+ "relatedSlugs": [
1176
+ "format-duration-string-long",
1177
+ "parse-duration-string",
1178
+ "duration-data-to-milliseconds"
1179
+ ]
1180
+ },
1181
+ {
1182
+ "slug": "format-duration-string-long",
1183
+ "name": "formatDurationStringLong",
1184
+ "kind": "function",
1185
+ "category": "date",
1186
+ "module": "@dereekb/date",
1187
+ "subpath": "date/date.duration.data",
1188
+ "signature": "formatDurationStringLong(data: TimeDurationData): string",
1189
+ "description": "Formats a TimeDurationData to a long human-readable string.\n\nOmits zero-value units. Returns \"0 seconds\" if all fields are zero or empty.",
1190
+ "params": [
1191
+ {
1192
+ "name": "data",
1193
+ "type": "TimeDurationData",
1194
+ "description": "- The duration data to format",
1195
+ "optional": false
1196
+ }
1197
+ ],
1198
+ "returns": "A human-readable duration string",
1199
+ "tags": [
1200
+ "date",
1201
+ "duration",
1202
+ "format",
1203
+ "string",
1204
+ "long",
1205
+ "human-readable",
1206
+ "encode",
1207
+ "time",
1208
+ "formatdurationstringlong"
1209
+ ],
1210
+ "example": "formatDurationStringLong({ days: 3, hours: 10 }); // \"3 days 10 hours\"\nformatDurationStringLong({ hours: 1, minutes: 1 }); // \"1 hour 1 minute\"",
1211
+ "relatedSlugs": [
1212
+ "format-duration-string",
1213
+ "parse-duration-string",
1214
+ "duration-data-to-milliseconds"
1215
+ ]
1216
+ },
869
1217
  {
870
1218
  "slug": "date-duration-span-end-date",
871
1219
  "name": "dateDurationSpanEndDate",
@@ -0,0 +1,33 @@
1
+ {
2
+ "version": 1,
3
+ "source": "@dereekb/dbx-firebase",
4
+ "module": "@dereekb/dbx-firebase",
5
+ "generatedAt": "1970-01-01T00:00:00.000Z",
6
+ "generator": "@dereekb/dbx-components-mcp/scripts/generate-manifests.mjs",
7
+ "entries": [
8
+ {
9
+ "slug": "firebase-collection-change",
10
+ "category": "action",
11
+ "kind": "directive",
12
+ "selector": "[dbxFirebaseCollectionChange]",
13
+ "className": "DbxFirebaseCollectionChangeDirective",
14
+ "module": "@dereekb/dbx-firebase",
15
+ "description": "Watches a sibling {@link DbxFirebaseCollectionStoreDirective}'s query inputs\n(constraints, collection mode, refs, etc.) and, when set to `'auto'`, calls\n`store.restart()` so the collection re-runs and pulls fresh results.\n\nUse this directive when a `DbxFirebaseCollectionStoreDirective` subclass has\nquery inputs that change at runtime — by default the store does not react to\nthose changes, so this directive bridges the gap by composing\n{@link dbxFirebaseCollectionChangeWatcher} with\n{@link dbxFirebaseCollectionChangeTriggerForWatcher}.\n\nModes (`DbxFirebaseCollectionChangeWatcherTriggerMode`):\n- `'auto'` — automatically `restart()` the store when the query changes.\n- `'off'` (default) — observe only; consumers may read `triggered$` / `event$` themselves.",
16
+ "inputs": [
17
+ {
18
+ "name": "dbxFirebaseCollectionChange",
19
+ "type": "DbxFirebaseCollectionChangeWatcherTriggerMode",
20
+ "description": "",
21
+ "required": false,
22
+ "default": "'off'"
23
+ }
24
+ ],
25
+ "outputs": [],
26
+ "relatedSlugs": [
27
+ "firebase-collection-store"
28
+ ],
29
+ "example": "<!-- dbxFirebaseItemCollection extends DbxFirebaseCollectionStoreDirective; -->\n<!-- when [constraints] changes, the store restarts and reloads. -->\n<my-items-list\n dbxFirebaseItemCollection\n [constraints]=\"currentConstraints()\"\n [dbxFirebaseCollectionChange]=\"'auto'\">\n</my-items-list>",
30
+ "minimalExample": "<my-items-list dbxFirebaseItemCollection [dbxFirebaseCollectionChange]=\"'auto'\"></my-items-list>"
31
+ }
32
+ ]
33
+ }