@mailwoman/bdc 8.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.
Files changed (87) hide show
  1. package/README.md +7 -0
  2. package/index.ts +2 -0
  3. package/out/index.d.ts +3 -0
  4. package/out/index.d.ts.map +1 -0
  5. package/out/index.js +3 -0
  6. package/out/index.js.map +1 -0
  7. package/out/schema.d.ts +138 -0
  8. package/out/schema.d.ts.map +1 -0
  9. package/out/schema.js +88 -0
  10. package/out/schema.js.map +1 -0
  11. package/out/sdk/build-bdc.d.ts +214 -0
  12. package/out/sdk/build-bdc.d.ts.map +1 -0
  13. package/out/sdk/build-bdc.js +500 -0
  14. package/out/sdk/build-bdc.js.map +1 -0
  15. package/out/sdk/buildings.d.ts +84 -0
  16. package/out/sdk/buildings.d.ts.map +1 -0
  17. package/out/sdk/buildings.js +75 -0
  18. package/out/sdk/buildings.js.map +1 -0
  19. package/out/sdk/client.d.ts +237 -0
  20. package/out/sdk/client.d.ts.map +1 -0
  21. package/out/sdk/client.js +430 -0
  22. package/out/sdk/client.js.map +1 -0
  23. package/out/sdk/common.d.ts +279 -0
  24. package/out/sdk/common.d.ts.map +1 -0
  25. package/out/sdk/common.js +162 -0
  26. package/out/sdk/common.js.map +1 -0
  27. package/out/sdk/data-collection.d.ts +244 -0
  28. package/out/sdk/data-collection.d.ts.map +1 -0
  29. package/out/sdk/data-collection.js +50 -0
  30. package/out/sdk/data-collection.js.map +1 -0
  31. package/out/sdk/download.d.ts +36 -0
  32. package/out/sdk/download.d.ts.map +1 -0
  33. package/out/sdk/download.js +76 -0
  34. package/out/sdk/download.js.map +1 -0
  35. package/out/sdk/filing-dates.d.ts +57 -0
  36. package/out/sdk/filing-dates.d.ts.map +1 -0
  37. package/out/sdk/filing-dates.js +50 -0
  38. package/out/sdk/filing-dates.js.map +1 -0
  39. package/out/sdk/filing-landscape.d.ts +124 -0
  40. package/out/sdk/filing-landscape.d.ts.map +1 -0
  41. package/out/sdk/filing-landscape.js +216 -0
  42. package/out/sdk/filing-landscape.js.map +1 -0
  43. package/out/sdk/index.d.ts +15 -0
  44. package/out/sdk/index.d.ts.map +1 -0
  45. package/out/sdk/index.js +15 -0
  46. package/out/sdk/index.js.map +1 -0
  47. package/out/sdk/list-files.d.ts +39 -0
  48. package/out/sdk/list-files.d.ts.map +1 -0
  49. package/out/sdk/list-files.js +26 -0
  50. package/out/sdk/list-files.js.map +1 -0
  51. package/out/sdk/location.d.ts +40 -0
  52. package/out/sdk/location.d.ts.map +1 -0
  53. package/out/sdk/location.js +23 -0
  54. package/out/sdk/location.js.map +1 -0
  55. package/out/sdk/nearest-infrastructure.d.ts +84 -0
  56. package/out/sdk/nearest-infrastructure.d.ts.map +1 -0
  57. package/out/sdk/nearest-infrastructure.js +84 -0
  58. package/out/sdk/nearest-infrastructure.js.map +1 -0
  59. package/out/sdk/parsing.d.ts +57 -0
  60. package/out/sdk/parsing.d.ts.map +1 -0
  61. package/out/sdk/parsing.js +87 -0
  62. package/out/sdk/parsing.js.map +1 -0
  63. package/out/sdk/plausibility.d.ts +256 -0
  64. package/out/sdk/plausibility.d.ts.map +1 -0
  65. package/out/sdk/plausibility.js +334 -0
  66. package/out/sdk/plausibility.js.map +1 -0
  67. package/out/sdk/technologies.d.ts +229 -0
  68. package/out/sdk/technologies.d.ts.map +1 -0
  69. package/out/sdk/technologies.js +217 -0
  70. package/out/sdk/technologies.js.map +1 -0
  71. package/package.json +97 -0
  72. package/schema.ts +172 -0
  73. package/sdk/build-bdc.ts +810 -0
  74. package/sdk/buildings.ts +87 -0
  75. package/sdk/client.ts +643 -0
  76. package/sdk/common.ts +363 -0
  77. package/sdk/data-collection.ts +268 -0
  78. package/sdk/download.ts +91 -0
  79. package/sdk/filing-dates.ts +88 -0
  80. package/sdk/filing-landscape.ts +287 -0
  81. package/sdk/index.ts +14 -0
  82. package/sdk/list-files.ts +72 -0
  83. package/sdk/location.ts +45 -0
  84. package/sdk/nearest-infrastructure.ts +129 -0
  85. package/sdk/parsing.ts +124 -0
  86. package/sdk/plausibility.ts +512 -0
  87. package/sdk/technologies.ts +258 -0
@@ -0,0 +1,258 @@
1
+ /**
2
+ * @copyright Sister Software.
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ */
6
+
7
+ /**
8
+ * FCC broadband technology codes.
9
+ *
10
+ * @category Broadband
11
+ * @category FCC
12
+ * @title Broadband Technology Codes
13
+ * @see {@link https://www.fcc.gov/general/broadband-deployment-data-fcc-form-477 FCC Broadband Deployment Data}
14
+ */
15
+ export const BroadbandTechnologyCode = {
16
+ /**
17
+ * @title Asymmetric xDSL
18
+ */
19
+ AsymmetricXDSL: 10,
20
+ /**
21
+ * @title ADSL2/ADSL2+
22
+ */
23
+ ADSL2ADSL2Plus: 11,
24
+ /**
25
+ * @title VDSL
26
+ */
27
+ VDSL: 12,
28
+ /**
29
+ * @title Symmetric xDSL
30
+ */
31
+ SymmetricXDSL: 20,
32
+ /**
33
+ * @title Other Copper Wireline
34
+ */
35
+ OtherCopperWireline: 30,
36
+ /**
37
+ * @title Cable Modem (other than DOCSIS 1)
38
+ */
39
+ CableModemOtherThanDOCSIS1: 40,
40
+ /**
41
+ * @title Cable Modem (DOCSIS 1)
42
+ */
43
+ CableModemDOCSIS1: 41,
44
+ /**
45
+ * @title Cable Modem (DOCSIS 3)
46
+ */
47
+ CableModemDOCSIS3: 42,
48
+ /**
49
+ * @title Cable Modem (DOCSIS 3.1)
50
+ */
51
+ CableModemDOCSIS31: 43,
52
+ /**
53
+ * @title Optical Carrier Fiber
54
+ */
55
+ OpticalCarrierFiber: 50,
56
+ /**
57
+ * @title Geostationary Satellite
58
+ */
59
+ GeostationarySatellite: 60,
60
+ /**
61
+ * @title Non-Geostationary Satellite
62
+ */
63
+ NonGeostationarySatellite: 61,
64
+ /**
65
+ * @title Unlicensed Terrestrial Fixed Wireless
66
+ */
67
+ UnlicensedTerrestrialFixedWireless: 70,
68
+ /**
69
+ * @title Licensed Terrestrial Fixed Wireless
70
+ */
71
+ LicensedTerrestrialFixedWireless: 71,
72
+ /**
73
+ * @title Licensed by Rule Terrestrial Fixed Wireless
74
+ */
75
+ LicensedByRuleTerrestrialFixedWireless: 72,
76
+ /**
77
+ * @title Electric Power Line
78
+ */
79
+ ElectricPowerLine: 90,
80
+ /**
81
+ * @title All Other
82
+ */
83
+ AllOther: 0,
84
+ } as const
85
+
86
+ /**
87
+ * @category Broadband
88
+ * @category FCC
89
+ */
90
+ export type BroadbandTechnologyCode = (typeof BroadbandTechnologyCode)[keyof typeof BroadbandTechnologyCode]
91
+
92
+ /**
93
+ * FCC broadband technology categories.
94
+ *
95
+ * @category Broadband
96
+ * @category FCC
97
+ * @title Broadband Technology Categories
98
+ */
99
+ export const BroadbandTechnologyCategory = {
100
+ /**
101
+ * Cable, including DOCSIS 1, 3, and 3.1.
102
+ *
103
+ * @title Cable
104
+ */
105
+ Cable: "CABLE",
106
+ /**
107
+ * DSL, including ADSL, ADSL2/ADSL2+, VDSL, and symmetric xDSL.
108
+ *
109
+ * @title DSL
110
+ */
111
+ DSL: "DSL",
112
+ /**
113
+ * Fiber, e.g. optical carrier fiber.
114
+ *
115
+ * @title Fiber
116
+ */
117
+ Fiber: "FIBER",
118
+ /**
119
+ * Fixed wireless, including unlicensed, licensed, and licensed by rule.
120
+ *
121
+ * @title Fixed Wireless
122
+ */
123
+ FixedWireless: "FIXED_WIRELESS",
124
+ /**
125
+ * Satellite, including geostationary and non-geostationary.
126
+ *
127
+ * @title Satellite
128
+ */
129
+ Satellite: "SATELLITE",
130
+ /**
131
+ * Electric power line, e.g. broadband over power lines.
132
+ *
133
+ * @title Electric Power Line
134
+ */
135
+ ElectricPowerLine: "ELECTRIC_POWER_LINE",
136
+ /**
137
+ * All other technologies not covered by the above categories.
138
+ *
139
+ * @title Other
140
+ */
141
+ Other: "OTHER",
142
+ } as const
143
+
144
+ /**
145
+ * @category Broadband
146
+ * @category FCC
147
+ */
148
+ export type BroadbandTechnologyCategory = (typeof BroadbandTechnologyCategory)[keyof typeof BroadbandTechnologyCategory]
149
+
150
+ /**
151
+ * A mapping of broadband technology codes to their respective category names.
152
+ *
153
+ * @category Broadband
154
+ * @category FCC
155
+ * @see {@linkcode BroadbandTechnologyCategory} for the available categories.
156
+ * @see {@linkcode BroadbandTechnologyCategoryToCodeSet} for the reverse mapping.
157
+ */
158
+ export const BroadbandTechnologyCodeToCategoryName = {
159
+ [BroadbandTechnologyCode.CableModemOtherThanDOCSIS1]: BroadbandTechnologyCategory.Cable,
160
+ [BroadbandTechnologyCode.CableModemDOCSIS1]: BroadbandTechnologyCategory.Cable,
161
+ [BroadbandTechnologyCode.CableModemDOCSIS3]: BroadbandTechnologyCategory.Cable,
162
+ [BroadbandTechnologyCode.CableModemDOCSIS31]: BroadbandTechnologyCategory.Cable,
163
+ [BroadbandTechnologyCode.AsymmetricXDSL]: BroadbandTechnologyCategory.DSL,
164
+ [BroadbandTechnologyCode.ADSL2ADSL2Plus]: BroadbandTechnologyCategory.DSL,
165
+ [BroadbandTechnologyCode.VDSL]: BroadbandTechnologyCategory.DSL,
166
+ [BroadbandTechnologyCode.SymmetricXDSL]: BroadbandTechnologyCategory.DSL,
167
+ [BroadbandTechnologyCode.OtherCopperWireline]: BroadbandTechnologyCategory.Other,
168
+ [BroadbandTechnologyCode.OpticalCarrierFiber]: BroadbandTechnologyCategory.Fiber,
169
+ [BroadbandTechnologyCode.GeostationarySatellite]: BroadbandTechnologyCategory.Satellite,
170
+ [BroadbandTechnologyCode.NonGeostationarySatellite]: BroadbandTechnologyCategory.Satellite,
171
+ [BroadbandTechnologyCode.UnlicensedTerrestrialFixedWireless]: BroadbandTechnologyCategory.FixedWireless,
172
+ [BroadbandTechnologyCode.LicensedTerrestrialFixedWireless]: BroadbandTechnologyCategory.FixedWireless,
173
+ [BroadbandTechnologyCode.LicensedByRuleTerrestrialFixedWireless]: BroadbandTechnologyCategory.FixedWireless,
174
+ [BroadbandTechnologyCode.ElectricPowerLine]: BroadbandTechnologyCategory.ElectricPowerLine,
175
+ [BroadbandTechnologyCode.AllOther]: BroadbandTechnologyCategory.Other,
176
+ } as const satisfies Record<BroadbandTechnologyCode, BroadbandTechnologyCategory>
177
+
178
+ /**
179
+ * @internal
180
+ */
181
+ export type BroadbandTechnologyCodeToCategoryName = typeof BroadbandTechnologyCodeToCategoryName
182
+
183
+ /**
184
+ * Infers the member type of a `Set`.
185
+ *
186
+ * Local stand-in for Nexus's `InferTupleMember` (`@isp.nexus/core`), which supports any `SetLike` shape. This file only
187
+ * ever applies it to a real `Set`, so a narrower local type covers the one use below.
188
+ */
189
+ type InferSetMember<T extends ReadonlySet<unknown>> = T extends ReadonlySet<infer U> ? U : never
190
+
191
+ /**
192
+ * A mapping of broadband technology categories to their respective technology codes.
193
+ *
194
+ * @category Broadband
195
+ * @category FCC
196
+ * @see {@linkcode BroadbandTechnologyCodeToCategoryName} for the reverse mapping.
197
+ * @see {@linkcode BroadbandTechnologyCategory} for the available categories.
198
+ */
199
+ export const BroadbandTechnologyCategoryToCodeSet = {
200
+ [BroadbandTechnologyCategory.Cable]: new Set([
201
+ BroadbandTechnologyCode.CableModemOtherThanDOCSIS1,
202
+ BroadbandTechnologyCode.CableModemDOCSIS1,
203
+ BroadbandTechnologyCode.CableModemDOCSIS3,
204
+ BroadbandTechnologyCode.CableModemDOCSIS31,
205
+ ] as const),
206
+ [BroadbandTechnologyCategory.DSL]: new Set([
207
+ BroadbandTechnologyCode.AsymmetricXDSL,
208
+ BroadbandTechnologyCode.ADSL2ADSL2Plus,
209
+ BroadbandTechnologyCode.VDSL,
210
+ BroadbandTechnologyCode.SymmetricXDSL,
211
+ ] as const),
212
+ [BroadbandTechnologyCategory.Fiber]: new Set([BroadbandTechnologyCode.OpticalCarrierFiber] as const),
213
+ [BroadbandTechnologyCategory.FixedWireless]: new Set([
214
+ BroadbandTechnologyCode.UnlicensedTerrestrialFixedWireless,
215
+ BroadbandTechnologyCode.LicensedTerrestrialFixedWireless,
216
+ BroadbandTechnologyCode.LicensedByRuleTerrestrialFixedWireless,
217
+ ] as const),
218
+ [BroadbandTechnologyCategory.Satellite]: new Set([
219
+ BroadbandTechnologyCode.GeostationarySatellite,
220
+ BroadbandTechnologyCode.NonGeostationarySatellite,
221
+ ] as const),
222
+ [BroadbandTechnologyCategory.ElectricPowerLine]: new Set([BroadbandTechnologyCode.ElectricPowerLine] as const),
223
+ [BroadbandTechnologyCategory.Other]: new Set([
224
+ BroadbandTechnologyCode.AllOther,
225
+ BroadbandTechnologyCode.OtherCopperWireline,
226
+ ] as const),
227
+ } as const satisfies Record<BroadbandTechnologyCategory, Set<BroadbandTechnologyCode>>
228
+
229
+ /**
230
+ * @internal
231
+ */
232
+ export type BroadbandTechnologyCategoryToCodeSet = {
233
+ [K in BroadbandTechnologyCategory]: InferSetMember<(typeof BroadbandTechnologyCategoryToCodeSet)[K]>
234
+ }
235
+
236
+ /**
237
+ * Given a broadband technology code, return the category name.
238
+ *
239
+ * @category Broadband
240
+ * @category FCC
241
+ */
242
+ export function pluckBroadbandTechnologyCategoryFromCode<T extends BroadbandTechnologyCode>(
243
+ technologyCode: T
244
+ ): BroadbandTechnologyCodeToCategoryName[T] {
245
+ return BroadbandTechnologyCodeToCategoryName[technologyCode]
246
+ }
247
+
248
+ /**
249
+ * Given a broadband technology category, return the set of technology codes.
250
+ *
251
+ * @category Broadband
252
+ * @category FCC
253
+ */
254
+ export function pluckBroadbandTechnologyCodesFromCategory<T extends BroadbandTechnologyCategory>(
255
+ technologyCategory: T
256
+ ) {
257
+ return BroadbandTechnologyCategoryToCodeSet[technologyCategory]
258
+ }