@lgriffin/esi.ts 10.2.0 → 11.0.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 (431) hide show
  1. package/CHANGELOG.md +414 -32
  2. package/LICENSE +667 -19
  3. package/NOTICE +19 -0
  4. package/README.md +149 -902
  5. package/dist/EsiClient.d.mts +5 -36
  6. package/dist/EsiClient.d.ts +5 -36
  7. package/dist/EsiClient.d.ts.map +1 -1
  8. package/dist/EsiClientBuilder.d.mts +128 -1
  9. package/dist/EsiClientBuilder.d.ts +128 -1
  10. package/dist/EsiClientBuilder.d.ts.map +1 -1
  11. package/dist/adapters/PipelineTransport.d.ts +16 -0
  12. package/dist/adapters/PipelineTransport.d.ts.map +1 -0
  13. package/dist/auth/EsiTokenManager.d.mts +62 -21
  14. package/dist/auth/EsiTokenManager.d.ts +62 -21
  15. package/dist/auth/EsiTokenManager.d.ts.map +1 -1
  16. package/dist/auth/EveSsoClient.d.mts +9 -9
  17. package/dist/auth/EveSsoClient.d.ts +9 -9
  18. package/dist/auth/EveSsoClient.d.ts.map +1 -1
  19. package/dist/auth/errors.d.mts +2 -2
  20. package/dist/auth/errors.d.ts +2 -2
  21. package/dist/auth/errors.d.ts.map +1 -1
  22. package/dist/auth/jwt.d.mts +7 -7
  23. package/dist/auth/jwt.d.ts +7 -7
  24. package/dist/auth/jwt.d.ts.map +1 -1
  25. package/dist/auth/storage/FileTokenStorage.d.mts +1 -1
  26. package/dist/auth/storage/FileTokenStorage.d.ts +1 -1
  27. package/dist/auth/storage/FileTokenStorage.d.ts.map +1 -1
  28. package/dist/{chunk-BBSHKVPI.js → chunk-CM63VGGF.js} +1 -1
  29. package/dist/chunk-CM63VGGF.js.map +1 -0
  30. package/dist/chunk-DFRTIZK4.js +275 -0
  31. package/dist/chunk-DFRTIZK4.js.map +1 -0
  32. package/dist/{chunk-VZS32UQ3.mjs → chunk-HXS7ZVEL.mjs} +129 -28
  33. package/dist/chunk-HXS7ZVEL.mjs.map +1 -0
  34. package/dist/chunk-JNFQXEWZ.mjs +275 -0
  35. package/dist/chunk-JNFQXEWZ.mjs.map +1 -0
  36. package/dist/chunk-KIY3XA5Q.mjs +2980 -0
  37. package/dist/chunk-KIY3XA5Q.mjs.map +1 -0
  38. package/dist/{chunk-R7D7M2LQ.mjs → chunk-MGOE2YNH.mjs} +1 -1
  39. package/dist/chunk-MGOE2YNH.mjs.map +1 -0
  40. package/dist/{chunk-SAQBXXTM.js → chunk-MRKZ55XI.js} +130 -29
  41. package/dist/chunk-MRKZ55XI.js.map +1 -0
  42. package/dist/chunk-NKFIHGC6.js +2980 -0
  43. package/dist/chunk-NKFIHGC6.js.map +1 -0
  44. package/dist/{chunk-MSJHIJXA.js → chunk-S73PKM2Y.js} +20 -5
  45. package/dist/chunk-S73PKM2Y.js.map +1 -0
  46. package/dist/{chunk-3ZI5A37L.mjs → chunk-YUHGSPQ7.mjs} +19 -4
  47. package/dist/chunk-YUHGSPQ7.mjs.map +1 -0
  48. package/dist/client/identity.d.mts +20 -0
  49. package/dist/client/identity.d.ts +20 -0
  50. package/dist/client/identity.d.ts.map +1 -0
  51. package/dist/client/index.d.mts +11 -0
  52. package/dist/client/index.d.ts +11 -0
  53. package/dist/client/index.d.ts.map +1 -0
  54. package/dist/client/index.js +6607 -0
  55. package/dist/client/index.js.map +1 -0
  56. package/dist/client/index.mjs +6607 -0
  57. package/dist/client/index.mjs.map +1 -0
  58. package/dist/client/runtime.d.mts +67 -0
  59. package/dist/client/runtime.d.ts +67 -0
  60. package/dist/client/runtime.d.ts.map +1 -0
  61. package/dist/clients/BaseEsiClient.d.ts.map +1 -1
  62. package/dist/clients/ClientRegistry.d.mts +45 -0
  63. package/dist/clients/ClientRegistry.d.ts +45 -0
  64. package/dist/clients/ClientRegistry.d.ts.map +1 -0
  65. package/dist/clients/CorporationsClient.d.mts +3 -3
  66. package/dist/clients/CorporationsClient.d.ts +3 -3
  67. package/dist/clients/CorporationsClient.d.ts.map +1 -1
  68. package/dist/clients/MailClient.d.mts +2 -2
  69. package/dist/clients/MailClient.d.ts +2 -2
  70. package/dist/clients/MailClient.d.ts.map +1 -1
  71. package/dist/clients/MetaClient.d.mts +3 -2
  72. package/dist/clients/MetaClient.d.ts +3 -2
  73. package/dist/clients/MetaClient.d.ts.map +1 -1
  74. package/dist/clients/MilitaryCampaignsClient.d.mts +14 -7
  75. package/dist/clients/MilitaryCampaignsClient.d.ts +14 -7
  76. package/dist/clients/MilitaryCampaignsClient.d.ts.map +1 -1
  77. package/dist/clients/RouteClient.d.mts +4 -4
  78. package/dist/clients/RouteClient.d.ts +4 -4
  79. package/dist/clients/RouteClient.d.ts.map +1 -1
  80. package/dist/clients/SkillsClient.d.mts +1 -1
  81. package/dist/clients/SkillsClient.d.ts +1 -1
  82. package/dist/clients/SkillsClient.d.ts.map +1 -1
  83. package/dist/clients/SkyhooksClient.d.mts +4 -3
  84. package/dist/clients/SkyhooksClient.d.ts +4 -3
  85. package/dist/clients/SkyhooksClient.d.ts.map +1 -1
  86. package/dist/core/ApiClient.d.mts +11 -0
  87. package/dist/core/ApiClient.d.ts +11 -0
  88. package/dist/core/ApiClient.d.ts.map +1 -1
  89. package/dist/core/ApiClientBuilder.d.ts.map +1 -1
  90. package/dist/core/ApiRequestHandler.d.ts +2 -1
  91. package/dist/core/ApiRequestHandler.d.ts.map +1 -1
  92. package/dist/core/BatchRequestHandler.d.mts +13 -2
  93. package/dist/core/BatchRequestHandler.d.ts +13 -2
  94. package/dist/core/BatchRequestHandler.d.ts.map +1 -1
  95. package/dist/core/EsiClientConfig.d.mts +60 -0
  96. package/dist/core/EsiClientConfig.d.ts +60 -0
  97. package/dist/core/EsiClientConfig.d.ts.map +1 -0
  98. package/dist/core/RetryStrategy.d.mts +3 -3
  99. package/dist/core/RetryStrategy.d.ts +3 -3
  100. package/dist/core/RetryStrategy.d.ts.map +1 -1
  101. package/dist/core/cache/ETagCacheManager.d.mts +9 -4
  102. package/dist/core/cache/ETagCacheManager.d.ts +9 -4
  103. package/dist/core/cache/ETagCacheManager.d.ts.map +1 -1
  104. package/dist/core/cache/cacheKey.d.ts +31 -6
  105. package/dist/core/cache/cacheKey.d.ts.map +1 -1
  106. package/dist/core/circuitBreaker/CircuitBreaker.d.mts +8 -12
  107. package/dist/core/circuitBreaker/CircuitBreaker.d.ts +8 -12
  108. package/dist/core/circuitBreaker/CircuitBreaker.d.ts.map +1 -1
  109. package/dist/core/clock.d.ts +8 -0
  110. package/dist/core/clock.d.ts.map +1 -0
  111. package/dist/core/configureApiClient.d.mts +1 -1
  112. package/dist/core/configureApiClient.d.ts +1 -1
  113. package/dist/core/configureApiClient.d.ts.map +1 -1
  114. package/dist/core/constants.d.ts +3 -3
  115. package/dist/core/constants.d.ts.map +1 -1
  116. package/dist/core/endpoints/EndpointDefinition.d.mts +17 -0
  117. package/dist/core/endpoints/EndpointDefinition.d.ts +17 -0
  118. package/dist/core/endpoints/EndpointDefinition.d.ts.map +1 -1
  119. package/dist/core/endpoints/assetEndpoints.d.mts +12 -0
  120. package/dist/core/endpoints/assetEndpoints.d.ts +12 -0
  121. package/dist/core/endpoints/assetEndpoints.d.ts.map +1 -1
  122. package/dist/core/endpoints/characterEndpoints.d.mts +10 -0
  123. package/dist/core/endpoints/characterEndpoints.d.ts +10 -0
  124. package/dist/core/endpoints/characterEndpoints.d.ts.map +1 -1
  125. package/dist/core/endpoints/contactEndpoints.d.mts +1 -0
  126. package/dist/core/endpoints/contactEndpoints.d.ts +1 -0
  127. package/dist/core/endpoints/contactEndpoints.d.ts.map +1 -1
  128. package/dist/core/endpoints/contractEndpoints.d.mts +2 -0
  129. package/dist/core/endpoints/contractEndpoints.d.ts +2 -0
  130. package/dist/core/endpoints/contractEndpoints.d.ts.map +1 -1
  131. package/dist/core/endpoints/corporationEndpoints.d.mts +16 -3
  132. package/dist/core/endpoints/corporationEndpoints.d.ts +16 -3
  133. package/dist/core/endpoints/corporationEndpoints.d.ts.map +1 -1
  134. package/dist/core/endpoints/createClient.d.mts +2 -2
  135. package/dist/core/endpoints/createClient.d.ts +2 -2
  136. package/dist/core/endpoints/createClient.d.ts.map +1 -1
  137. package/dist/core/endpoints/esi-cache-ttls.generated.d.ts.map +1 -1
  138. package/dist/core/endpoints/esi-rate-limit-groups.generated.d.ts.map +1 -1
  139. package/dist/core/endpoints/esi-scopes.generated.d.ts.map +1 -1
  140. package/dist/core/endpoints/fittingEndpoints.d.mts +3 -0
  141. package/dist/core/endpoints/fittingEndpoints.d.ts +3 -0
  142. package/dist/core/endpoints/fittingEndpoints.d.ts.map +1 -1
  143. package/dist/core/endpoints/fleetEndpoints.d.mts +6 -0
  144. package/dist/core/endpoints/fleetEndpoints.d.ts +6 -0
  145. package/dist/core/endpoints/fleetEndpoints.d.ts.map +1 -1
  146. package/dist/core/endpoints/industryEndpoints.d.mts +2 -2
  147. package/dist/core/endpoints/industryEndpoints.d.ts +2 -2
  148. package/dist/core/endpoints/mailEndpoints.d.mts +2 -0
  149. package/dist/core/endpoints/mailEndpoints.d.ts +2 -0
  150. package/dist/core/endpoints/mailEndpoints.d.ts.map +1 -1
  151. package/dist/core/endpoints/mercenaryEndpoints.d.mts +1 -1
  152. package/dist/core/endpoints/mercenaryEndpoints.d.ts +1 -1
  153. package/dist/core/endpoints/metaEndpoints.d.mts +23 -8
  154. package/dist/core/endpoints/metaEndpoints.d.ts +23 -8
  155. package/dist/core/endpoints/metaEndpoints.d.ts.map +1 -1
  156. package/dist/core/endpoints/militaryCampaignEndpoints.d.mts +78 -49
  157. package/dist/core/endpoints/militaryCampaignEndpoints.d.ts +78 -49
  158. package/dist/core/endpoints/militaryCampaignEndpoints.d.ts.map +1 -1
  159. package/dist/core/endpoints/paragonHubEndpoints.d.mts +5 -5
  160. package/dist/core/endpoints/paragonHubEndpoints.d.ts +5 -5
  161. package/dist/core/endpoints/skyhookEndpoints.d.mts +10 -8
  162. package/dist/core/endpoints/skyhookEndpoints.d.ts +10 -8
  163. package/dist/core/endpoints/skyhookEndpoints.d.ts.map +1 -1
  164. package/dist/core/logger/DefaultLogger.d.mts +20 -1
  165. package/dist/core/logger/DefaultLogger.d.ts +20 -1
  166. package/dist/core/logger/DefaultLogger.d.ts.map +1 -1
  167. package/dist/core/logger/ILogger.d.mts +9 -0
  168. package/dist/core/logger/ILogger.d.ts +9 -0
  169. package/dist/core/logger/ILogger.d.ts.map +1 -1
  170. package/dist/core/logger/NoopLogger.d.ts.map +1 -1
  171. package/dist/core/logger/clientLog.d.ts.map +1 -1
  172. package/dist/core/logger/loggerUtil.d.ts.map +1 -1
  173. package/dist/core/logger/redactLog.d.ts +23 -0
  174. package/dist/core/logger/redactLog.d.ts.map +1 -0
  175. package/dist/core/logger/resolveLogger.d.ts +3 -3
  176. package/dist/core/logger/resolveLogger.d.ts.map +1 -1
  177. package/dist/core/pagination/AsyncPaginationIterator.d.ts.map +1 -1
  178. package/dist/core/pagination/CursorPaginationHandler.d.mts +2 -1
  179. package/dist/core/pagination/CursorPaginationHandler.d.ts +2 -1
  180. package/dist/core/pagination/CursorPaginationHandler.d.ts.map +1 -1
  181. package/dist/core/ports/CacheStore.d.mts +32 -0
  182. package/dist/core/ports/CacheStore.d.ts +32 -0
  183. package/dist/core/ports/CacheStore.d.ts.map +1 -0
  184. package/dist/core/ports/Clock.d.mts +13 -0
  185. package/dist/core/ports/Clock.d.ts +13 -0
  186. package/dist/core/ports/Clock.d.ts.map +1 -0
  187. package/dist/core/ports/HttpTransport.d.mts +7 -0
  188. package/dist/core/ports/HttpTransport.d.ts +7 -0
  189. package/dist/core/ports/HttpTransport.d.ts.map +1 -0
  190. package/dist/core/ports/Identity.d.mts +31 -0
  191. package/dist/core/ports/Identity.d.ts +31 -0
  192. package/dist/core/ports/Identity.d.ts.map +1 -0
  193. package/dist/core/ports/Logger.d.mts +17 -0
  194. package/dist/core/ports/Logger.d.ts +17 -0
  195. package/dist/core/ports/Logger.d.ts.map +1 -0
  196. package/dist/core/ports/OperationTransport.d.mts +42 -0
  197. package/dist/core/ports/OperationTransport.d.ts +42 -0
  198. package/dist/core/ports/OperationTransport.d.ts.map +1 -0
  199. package/dist/core/ports/TokenProvider.d.mts +7 -0
  200. package/dist/core/ports/TokenProvider.d.ts +7 -0
  201. package/dist/core/ports/TokenProvider.d.ts.map +1 -0
  202. package/dist/core/ports/index.d.mts +14 -0
  203. package/dist/core/ports/index.d.ts +14 -0
  204. package/dist/core/ports/index.d.ts.map +1 -0
  205. package/dist/core/rateLimiter/RateLimiter.d.mts +11 -4
  206. package/dist/core/rateLimiter/RateLimiter.d.ts +11 -4
  207. package/dist/core/rateLimiter/RateLimiter.d.ts.map +1 -1
  208. package/dist/core/requestPipeline/cachePolicy.d.ts +5 -3
  209. package/dist/core/requestPipeline/cachePolicy.d.ts.map +1 -1
  210. package/dist/core/requestPipeline/fetchExecution.d.ts +3 -1
  211. package/dist/core/requestPipeline/fetchExecution.d.ts.map +1 -1
  212. package/dist/core/requestPipeline/headers.d.ts +1 -1
  213. package/dist/core/requestPipeline/headers.d.ts.map +1 -1
  214. package/dist/core/requestPipeline/index.d.ts +3 -5
  215. package/dist/core/requestPipeline/index.d.ts.map +1 -1
  216. package/dist/core/requestPipeline/paginationOrchestration.d.ts +1 -1
  217. package/dist/core/requestPipeline/paginationOrchestration.d.ts.map +1 -1
  218. package/dist/core/requestPipeline/statusHandling.d.ts +3 -3
  219. package/dist/core/requestPipeline/statusHandling.d.ts.map +1 -1
  220. package/dist/core/util/callerIdentity.d.ts +10 -0
  221. package/dist/core/util/callerIdentity.d.ts.map +1 -0
  222. package/dist/core/util/concurrency.d.ts +2 -2
  223. package/dist/core/util/concurrency.d.ts.map +1 -1
  224. package/dist/core/util/error.d.mts +92 -3
  225. package/dist/core/util/error.d.ts +92 -3
  226. package/dist/core/util/error.d.ts.map +1 -1
  227. package/dist/core/util/retry.d.mts +4 -4
  228. package/dist/core/util/retry.d.ts +4 -4
  229. package/dist/core/util/retry.d.ts.map +1 -1
  230. package/dist/core/util/validation.d.ts +6 -0
  231. package/dist/core/util/validation.d.ts.map +1 -1
  232. package/dist/errors.d.mts +2 -3
  233. package/dist/errors.d.ts +2 -3
  234. package/dist/errors.d.ts.map +1 -1
  235. package/dist/errors.js +29 -3
  236. package/dist/errors.js.map +1 -1
  237. package/dist/errors.mjs +28 -2
  238. package/dist/generated/operations.generated.d.mts +9379 -0
  239. package/dist/generated/operations.generated.d.ts +9379 -0
  240. package/dist/generated/operations.generated.d.ts.map +1 -0
  241. package/dist/index.d.mts +4 -4
  242. package/dist/index.d.ts +4 -4
  243. package/dist/index.d.ts.map +1 -1
  244. package/dist/index.js +699 -2865
  245. package/dist/index.js.map +1 -1
  246. package/dist/index.mjs +359 -2525
  247. package/dist/index.mjs.map +1 -1
  248. package/dist/schemas/character.d.mts +5 -0
  249. package/dist/schemas/character.d.ts +5 -0
  250. package/dist/schemas/character.d.ts.map +1 -1
  251. package/dist/schemas/contacts.d.mts +2 -0
  252. package/dist/schemas/contacts.d.ts +2 -0
  253. package/dist/schemas/contacts.d.ts.map +1 -1
  254. package/dist/schemas/corporation.d.mts +24 -3
  255. package/dist/schemas/corporation.d.ts +24 -3
  256. package/dist/schemas/corporation.d.ts.map +1 -1
  257. package/dist/schemas/fittings.d.mts +4 -0
  258. package/dist/schemas/fittings.d.ts +4 -0
  259. package/dist/schemas/fittings.d.ts.map +1 -1
  260. package/dist/schemas/fleet.d.mts +8 -0
  261. package/dist/schemas/fleet.d.ts +8 -0
  262. package/dist/schemas/fleet.d.ts.map +1 -1
  263. package/dist/schemas/index.js +24 -2
  264. package/dist/schemas/index.js.map +1 -1
  265. package/dist/schemas/index.mjs +23 -1
  266. package/dist/schemas/industry.d.mts +2 -2
  267. package/dist/schemas/industry.d.ts +2 -2
  268. package/dist/schemas/mail.d.mts +4 -0
  269. package/dist/schemas/mail.d.ts +4 -0
  270. package/dist/schemas/mail.d.ts.map +1 -1
  271. package/dist/schemas/mercenary.d.mts +1 -1
  272. package/dist/schemas/mercenary.d.ts +1 -1
  273. package/dist/schemas/meta.d.mts +18 -9
  274. package/dist/schemas/meta.d.ts +18 -9
  275. package/dist/schemas/meta.d.ts.map +1 -1
  276. package/dist/schemas/military-campaigns.d.mts +54 -10
  277. package/dist/schemas/military-campaigns.d.ts +54 -10
  278. package/dist/schemas/military-campaigns.d.ts.map +1 -1
  279. package/dist/schemas/paragon-hub.d.mts +4 -4
  280. package/dist/schemas/paragon-hub.d.ts +4 -4
  281. package/dist/schemas/skyhooks.d.mts +18 -6
  282. package/dist/schemas/skyhooks.d.ts +18 -6
  283. package/dist/schemas/skyhooks.d.ts.map +1 -1
  284. package/dist/sde/clock.d.ts +11 -0
  285. package/dist/sde/clock.d.ts.map +1 -0
  286. package/dist/sde/domain/characters/schemas.d.ts +149 -0
  287. package/dist/sde/domain/characters/schemas.d.ts.map +1 -0
  288. package/dist/sde/domain/characters/types.d.mts +163 -0
  289. package/dist/sde/domain/characters/types.d.ts +163 -0
  290. package/dist/sde/domain/characters/types.d.ts.map +1 -0
  291. package/dist/sde/domain/content/schemas.d.ts +84 -0
  292. package/dist/sde/domain/content/schemas.d.ts.map +1 -0
  293. package/dist/sde/domain/content/types.d.mts +91 -0
  294. package/dist/sde/domain/content/types.d.ts +91 -0
  295. package/dist/sde/domain/content/types.d.ts.map +1 -0
  296. package/dist/sde/domain/corporations/schemas.d.ts +113 -0
  297. package/dist/sde/domain/corporations/schemas.d.ts.map +1 -0
  298. package/dist/sde/domain/corporations/types.d.mts +118 -0
  299. package/dist/sde/domain/corporations/types.d.ts +118 -0
  300. package/dist/sde/domain/corporations/types.d.ts.map +1 -0
  301. package/dist/sde/domain/dogma/schemas.d.ts +76 -0
  302. package/dist/sde/domain/dogma/schemas.d.ts.map +1 -0
  303. package/dist/sde/domain/dogma/types.d.mts +80 -0
  304. package/dist/sde/domain/dogma/types.d.ts +80 -0
  305. package/dist/sde/domain/dogma/types.d.ts.map +1 -0
  306. package/dist/sde/domain/industry/schemas.d.ts +204 -0
  307. package/dist/sde/domain/industry/schemas.d.ts.map +1 -0
  308. package/dist/sde/domain/industry/types.d.mts +88 -0
  309. package/dist/sde/domain/industry/types.d.ts +88 -0
  310. package/dist/sde/domain/industry/types.d.ts.map +1 -0
  311. package/dist/sde/domain/market/schemas.d.ts +24 -0
  312. package/dist/sde/domain/market/schemas.d.ts.map +1 -0
  313. package/dist/sde/domain/market/types.d.mts +25 -0
  314. package/dist/sde/domain/market/types.d.ts +25 -0
  315. package/dist/sde/domain/market/types.d.ts.map +1 -0
  316. package/dist/sde/domain/schemas.d.ts +15 -0
  317. package/dist/sde/domain/schemas.d.ts.map +1 -0
  318. package/dist/sde/domain/skins/schemas.d.ts +109 -0
  319. package/dist/sde/domain/skins/schemas.d.ts.map +1 -0
  320. package/dist/sde/domain/skins/types.d.mts +121 -0
  321. package/dist/sde/domain/skins/types.d.ts +121 -0
  322. package/dist/sde/domain/skins/types.d.ts.map +1 -0
  323. package/dist/sde/domain/types/schemas.d.ts +163 -0
  324. package/dist/sde/domain/types/schemas.d.ts.map +1 -0
  325. package/dist/sde/domain/types/types.d.mts +182 -0
  326. package/dist/sde/domain/types/types.d.ts +182 -0
  327. package/dist/sde/domain/types/types.d.ts.map +1 -0
  328. package/dist/sde/domain/types.d.mts +16 -0
  329. package/dist/sde/domain/types.d.ts +16 -0
  330. package/dist/sde/domain/types.d.ts.map +1 -0
  331. package/dist/sde/domain/ui/schemas.d.ts +42 -0
  332. package/dist/sde/domain/ui/schemas.d.ts.map +1 -0
  333. package/dist/sde/domain/ui/types.d.mts +45 -0
  334. package/dist/sde/domain/ui/types.d.ts +45 -0
  335. package/dist/sde/domain/ui/types.d.ts.map +1 -0
  336. package/dist/sde/domain/universe/schemas.d.ts +239 -0
  337. package/dist/sde/domain/universe/schemas.d.ts.map +1 -0
  338. package/dist/sde/domain/universe/types.d.mts +206 -0
  339. package/dist/sde/domain/universe/types.d.ts +206 -0
  340. package/dist/sde/domain/universe/types.d.ts.map +1 -0
  341. package/dist/sde/domain/version/schemas.d.ts +11 -0
  342. package/dist/sde/domain/version/schemas.d.ts.map +1 -0
  343. package/dist/sde/errors.d.mts +1 -1
  344. package/dist/sde/errors.d.ts +1 -1
  345. package/dist/sde/errors.d.ts.map +1 -1
  346. package/dist/sde/index.d.mts +7 -6
  347. package/dist/sde/index.d.ts +7 -6
  348. package/dist/sde/index.d.ts.map +1 -1
  349. package/dist/sde/index.js +31 -21
  350. package/dist/sde/index.js.map +1 -1
  351. package/dist/sde/index.mjs +26 -16
  352. package/dist/sde/index.mjs.map +1 -1
  353. package/dist/sde/ingestion/SdeDatabaseBuilder.d.ts +11 -0
  354. package/dist/sde/ingestion/SdeDatabaseBuilder.d.ts.map +1 -1
  355. package/dist/sde/ingestion/SdeDownloader.d.ts +2 -2
  356. package/dist/sde/ingestion/SdeDownloader.d.ts.map +1 -1
  357. package/dist/sde/memory.d.mts +5 -5
  358. package/dist/sde/memory.d.ts +5 -5
  359. package/dist/sde/memory.d.ts.map +1 -1
  360. package/dist/sde/memory.js +2 -2
  361. package/dist/sde/memory.mjs +1 -1
  362. package/dist/sde/{IStaticDataProvider.d.mts → ports/IStaticDataProvider.d.mts} +9 -2
  363. package/dist/sde/{IStaticDataProvider.d.ts → ports/IStaticDataProvider.d.ts} +9 -2
  364. package/dist/sde/ports/IStaticDataProvider.d.ts.map +1 -0
  365. package/dist/sde/{MemorySdeProvider.d.mts → providers/memory/MemorySdeProvider.d.mts} +3 -3
  366. package/dist/sde/{MemorySdeProvider.d.ts → providers/memory/MemorySdeProvider.d.ts} +3 -3
  367. package/dist/sde/providers/memory/MemorySdeProvider.d.ts.map +1 -0
  368. package/dist/sde/providers/order.d.ts +10 -0
  369. package/dist/sde/providers/order.d.ts.map +1 -0
  370. package/dist/sde/{SdeDataProvider.d.mts → providers/yaml/SdeDataProvider.d.mts} +14 -5
  371. package/dist/sde/{SdeDataProvider.d.ts → providers/yaml/SdeDataProvider.d.ts} +14 -5
  372. package/dist/sde/providers/yaml/SdeDataProvider.d.ts.map +1 -0
  373. package/dist/sde/{SdeTestDataFactory.d.mts → testing/SdeTestDataFactory.d.mts} +3 -3
  374. package/dist/sde/{SdeTestDataFactory.d.ts → testing/SdeTestDataFactory.d.ts} +3 -3
  375. package/dist/sde/testing/SdeTestDataFactory.d.ts.map +1 -0
  376. package/dist/sde/version.d.mts +1 -1
  377. package/dist/sde/version.d.ts +1 -1
  378. package/dist/sde/version.d.ts.map +1 -1
  379. package/dist/testing/TestDataFactory.d.mts +21 -3
  380. package/dist/testing/TestDataFactory.d.ts +21 -3
  381. package/dist/testing/TestDataFactory.d.ts.map +1 -1
  382. package/dist/testing/index.d.mts +1 -0
  383. package/dist/testing/index.d.ts +1 -0
  384. package/dist/testing/index.d.ts.map +1 -1
  385. package/dist/testing/index.js +157 -10
  386. package/dist/testing/index.js.map +1 -1
  387. package/dist/testing/index.mjs +155 -8
  388. package/dist/testing/index.mjs.map +1 -1
  389. package/dist/testing/mockTransport.d.mts +87 -0
  390. package/dist/testing/mockTransport.d.ts +87 -0
  391. package/dist/testing/mockTransport.d.ts.map +1 -0
  392. package/dist/types/generated/esi-spec.generated.d.mts +230 -10
  393. package/dist/types/generated/esi-spec.generated.d.ts +230 -10
  394. package/dist/types/generated/esi-spec.generated.d.ts.map +1 -1
  395. package/dist/types/military-campaigns.d.mts +4 -1
  396. package/dist/types/military-campaigns.d.ts +4 -1
  397. package/dist/types/military-campaigns.d.ts.map +1 -1
  398. package/dist/types/skyhooks.d.mts +2 -1
  399. package/dist/types/skyhooks.d.ts +2 -1
  400. package/dist/types/skyhooks.d.ts.map +1 -1
  401. package/package.json +167 -131
  402. package/dist/chunk-3ZI5A37L.mjs.map +0 -1
  403. package/dist/chunk-BBSHKVPI.js.map +0 -1
  404. package/dist/chunk-D5L5HZVF.mjs +0 -417
  405. package/dist/chunk-D5L5HZVF.mjs.map +0 -1
  406. package/dist/chunk-MSJHIJXA.js.map +0 -1
  407. package/dist/chunk-R7D7M2LQ.mjs.map +0 -1
  408. package/dist/chunk-SAQBXXTM.js.map +0 -1
  409. package/dist/chunk-VZS32UQ3.mjs.map +0 -1
  410. package/dist/chunk-XIB2OXEZ.js +0 -417
  411. package/dist/chunk-XIB2OXEZ.js.map +0 -1
  412. package/dist/config/jest/globalSetup.d.ts +0 -2
  413. package/dist/config/jest/globalSetup.d.ts.map +0 -1
  414. package/dist/config/jest/globalTeardown.d.ts +0 -2
  415. package/dist/config/jest/globalTeardown.d.ts.map +0 -1
  416. package/dist/config/jest/jest.setup.d.ts +0 -3
  417. package/dist/config/jest/jest.setup.d.ts.map +0 -1
  418. package/dist/core/ClientRegistry.d.mts +0 -45
  419. package/dist/core/ClientRegistry.d.ts +0 -45
  420. package/dist/core/ClientRegistry.d.ts.map +0 -1
  421. package/dist/core/logger/logger.d.ts +0 -12
  422. package/dist/core/logger/logger.d.ts.map +0 -1
  423. package/dist/sde/IStaticDataProvider.d.ts.map +0 -1
  424. package/dist/sde/MemorySdeProvider.d.ts.map +0 -1
  425. package/dist/sde/SdeDataProvider.d.ts.map +0 -1
  426. package/dist/sde/SdeTestDataFactory.d.ts.map +0 -1
  427. package/dist/sde/schemas.d.ts +0 -1121
  428. package/dist/sde/schemas.d.ts.map +0 -1
  429. package/dist/sde/types.d.mts +0 -1039
  430. package/dist/sde/types.d.ts +0 -1039
  431. package/dist/sde/types.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/ESI.ts/ESI.ts/dist/testing/index.js","../../src/testing/TestDataFactory.ts"],"names":[],"mappings":"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","file":"/home/runner/work/ESI.ts/ESI.ts/dist/testing/index.js","sourcesContent":[null,"/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n AllianceInfo,\n CharacterInfo,\n CorporationInfo,\n AllianceContact,\n AllianceContactLabel,\n CharacterPortrait,\n CharacterAttributes,\n CharacterSkill,\n MarketOrder,\n WalletTransaction,\n CorporationWalletTransaction,\n Contract,\n PublicContract,\n SovereigntySystem,\n SovereigntyHub,\n OrbitalSkyhook,\n RaidableSkyhook,\n MercenaryDen,\n MercenaryTacticalOperation,\n AccessListEntry,\n} from '../types/api-responses';\nimport { EsiError } from '../core/util/error';\n\nexport class TestDataFactory {\n // Alliance test data\n\n /** `GET /alliances/{alliance_id}`: the alliance ID is in the path, not the body. */\n static createAllianceInfo(\n overrides: Partial<AllianceInfo> = {},\n ): AllianceInfo {\n return {\n name: 'Goonswarm Federation',\n ticker: 'CONDI',\n creator_id: 1689391488,\n creator_corporation_id: 1344654522,\n executor_corporation_id: 1344654522,\n date_founded: '2010-06-01T00:00:00Z',\n faction_id: 500001,\n ...overrides,\n };\n }\n\n static createAllianceContact(\n overrides: Partial<AllianceContact> = {},\n ): AllianceContact {\n return {\n contact_id: 1689391488,\n contact_type: 'character',\n standing: 10.0,\n label_ids: [1, 2],\n ...overrides,\n };\n }\n\n static createAllianceContactLabel(\n overrides: Partial<AllianceContactLabel> = {},\n ): AllianceContactLabel {\n return {\n label_id: 1,\n label_name: 'Friendly',\n ...overrides,\n };\n }\n\n // Character test data\n static createCharacterInfo(\n overrides: Partial<CharacterInfo> = {},\n ): CharacterInfo {\n return {\n name: 'Test Character',\n corporation_id: 1344654522,\n alliance_id: 99005338,\n bloodline_id: 4,\n race_id: 1,\n gender: 'male',\n birthday: '2003-05-06T00:00:00Z',\n description: 'A test character for BDD scenarios',\n security_status: 5.0,\n title: 'Test Pilot',\n ...overrides,\n };\n }\n\n static createCharacterPortrait(\n characterId: number = 1689391488,\n ): CharacterPortrait {\n return {\n px64x64: `https://images.evetech.net/characters/${characterId}/portrait?size=64`,\n px128x128: `https://images.evetech.net/characters/${characterId}/portrait?size=128`,\n px256x256: `https://images.evetech.net/characters/${characterId}/portrait?size=256`,\n px512x512: `https://images.evetech.net/characters/${characterId}/portrait?size=512`,\n };\n }\n\n static createCharacterAttributes(\n overrides: Partial<CharacterAttributes> = {},\n ): CharacterAttributes {\n return {\n charisma: 20,\n intelligence: 24,\n memory: 21,\n perception: 23,\n willpower: 22,\n bonus_remaps: 2,\n last_remap_date: '2023-01-01T00:00:00Z',\n accrued_remap_cooldown_date: '2024-01-01T00:00:00Z',\n ...overrides,\n };\n }\n\n static createCharacterSkill(\n overrides: Partial<CharacterSkill> = {},\n ): CharacterSkill {\n return {\n skill_id: 3300,\n skillpoints_in_skill: 256000,\n trained_skill_level: 5,\n active_skill_level: 5,\n ...overrides,\n };\n }\n\n static createCharacterRoles(overrides: Record<string, any> = {}): any {\n return {\n roles: ['Director'],\n roles_at_base: [],\n roles_at_hq: ['Director'],\n roles_at_other: [],\n ...overrides,\n };\n }\n\n static createCorporationHistoryEntry(\n overrides: Record<string, any> = {},\n ): any {\n return {\n corporation_id: 1344654522,\n is_deleted: false,\n record_id: 1,\n start_date: '2020-01-01T00:00:00Z',\n ...overrides,\n };\n }\n\n static createCharacterMedal(overrides: Record<string, any> = {}): any {\n return {\n medal_id: 1,\n title: 'Test Medal',\n description: 'A test medal for demonstration',\n corporation_id: 1344654522,\n date: '2023-01-01T00:00:00Z',\n issuer_id: 1689391489,\n reason: 'Outstanding service',\n status: 'public',\n graphics: [\n { part: 1, layer: 0, graphic: 'caldari.1_1', color: -1 },\n { part: 2, layer: 1, graphic: 'caldari.2_3' },\n ],\n ...overrides,\n };\n }\n\n static createCharacterNotification(overrides: Record<string, any> = {}): any {\n return {\n notification_id: 1000001,\n sender_id: 1689391489,\n sender_type: 'character',\n text: 'Test notification',\n timestamp: '2024-01-15T12:00:00Z',\n type: 'AllWarDeclaredMsg',\n is_read: false,\n ...overrides,\n };\n }\n\n // Market test data\n static createMarketPrice(overrides: Record<string, any> = {}): any {\n return {\n type_id: 34,\n average_price: 4.5,\n adjusted_price: 4.55,\n ...overrides,\n };\n }\n\n static createMarketHistory(overrides: Record<string, any> = {}): any {\n return {\n date: '2024-01-15',\n volume: 1000000000,\n order_count: 2500,\n lowest: 4.2,\n highest: 4.8,\n average: 4.5,\n ...overrides,\n };\n }\n\n static createCharacterMarketOrder(overrides: Record<string, any> = {}): any {\n return {\n order_id: 5000000001,\n type_id: 34,\n region_id: 10000002,\n location_id: 60003760,\n range: 'region',\n volume_total: 1000000,\n volume_remain: 750000,\n min_volume: 1,\n price: 4.5,\n is_buy_order: true,\n is_corporation: false,\n duration: 90,\n issued: '2024-01-15T12:00:00Z',\n ...overrides,\n };\n }\n\n static createCharacterOrderHistory(overrides: Record<string, any> = {}): any {\n return {\n order_id: 5000000001,\n type_id: 34,\n region_id: 10000002,\n location_id: 60003760,\n range: 'region',\n volume_total: 1000000,\n volume_remain: 0,\n min_volume: 1,\n price: 4.5,\n is_buy_order: true,\n is_corporation: false,\n duration: 90,\n issued: '2024-01-10T12:00:00Z',\n state: 'expired',\n ...overrides,\n };\n }\n\n // Universe test data\n static createSolarSystem(overrides: Record<string, any> = {}): any {\n return {\n system_id: 30000142,\n name: 'Jita',\n constellation_id: 20000020,\n position: {\n x: -129064861735000000,\n y: 60755306910000000,\n z: 117469227060000000,\n },\n security_status: 0.9459991455078125,\n star_id: 40000001,\n stargates: [50000001, 50000002],\n stations: [60003760, 60003761],\n planets: [\n { planet_id: 40000001, moons: [40000002, 40000003] },\n { planet_id: 40000004, moons: [40000005] },\n ],\n ...overrides,\n };\n }\n\n static createStation(overrides: Record<string, any> = {}): any {\n return {\n station_id: 60003760,\n name: 'Jita IV - Moon 4 - Caldari Navy Assembly Plant',\n owner: 1000035,\n type_id: 52678,\n race_id: 1,\n system_id: 30000142,\n position: { x: 3813196800, y: 1016750000, z: -2305570000 },\n reprocessing_efficiency: 0.5,\n reprocessing_stations_take: 0.05,\n max_dockable_ship_volume: 50000000,\n office_rental_cost: 10000000,\n services: [\n 'bounty-missions',\n 'courier-missions',\n 'interbus',\n 'reprocessing-plant',\n 'market',\n 'stock-exchange',\n ],\n ...overrides,\n };\n }\n\n /** `GET /universe/structures/{structure_id}`: the ID is in the path, not the body. */\n static createStructure(overrides: Record<string, any> = {}): any {\n return {\n name: 'Test Citadel',\n owner_id: 1689391488,\n solar_system_id: 30000142,\n type_id: 35832,\n position: { x: 1000000000, y: 2000000000, z: 3000000000 },\n ...overrides,\n };\n }\n\n /** `GET /universe/types/{type_id}`: the category is on the group, not the type. */\n static createItemType(overrides: Record<string, any> = {}): any {\n return {\n type_id: 34,\n name: 'Tritanium',\n description: 'The most common ore type in the known universe.',\n group_id: 18,\n market_group_id: 1857,\n mass: 1.0,\n volume: 0.01,\n capacity: 0.0,\n portion_size: 1,\n radius: 1.0,\n published: true,\n ...overrides,\n };\n }\n\n static createItemGroup(overrides: Record<string, any> = {}): any {\n return {\n group_id: 18,\n name: 'Mineral',\n category_id: 4,\n published: true,\n types: [34, 35, 36, 37, 38, 39, 40, 11399],\n ...overrides,\n };\n }\n\n /** `GET /universe/stars/{star_id}`: the star ID is in the path, not the body. */\n static createStar(overrides: Record<string, any> = {}): any {\n return {\n name: 'Jita - Star',\n type_id: 3802,\n solar_system_id: 30000142,\n age: 4600000000,\n luminosity: 0.06575,\n radius: 62140000,\n spectral_class: 'K2 V',\n temperature: 4567,\n ...overrides,\n };\n }\n\n static createPlanet(overrides: Record<string, any> = {}): any {\n return {\n planet_id: 40000004,\n name: 'Jita IV',\n type_id: 11,\n system_id: 30000142,\n position: { x: 150000000000, y: 0, z: 0 },\n ...overrides,\n };\n }\n\n /**\n * `GET /characters/{character_id}/search`: one list per requested category,\n * keyed by the singular category name.\n */\n static createSearchResults(overrides: Record<string, any> = {}): any {\n return {\n solar_system: [],\n station: [],\n structure: [],\n character: [],\n corporation: [],\n alliance: [],\n ...overrides,\n };\n }\n\n static createEntityName(overrides: Record<string, any> = {}): any {\n return {\n id: 30000142,\n name: 'Jita',\n category: 'solar_system',\n ...overrides,\n };\n }\n\n // Corporation test data\n static createCorporationMemberRoles(\n overrides: Record<string, any> = {},\n ): any {\n return {\n character_id: 1689391488,\n roles: ['Director', 'Personnel_Manager'],\n grantable_roles: ['Hangar_Take_1', 'Hangar_Take_2'],\n roles_at_hq: ['Director'],\n roles_at_base: [],\n roles_at_other: [],\n ...overrides,\n };\n }\n\n static createCorporationAsset(overrides: Record<string, any> = {}): any {\n return {\n item_id: 1000000000001,\n type_id: 587,\n quantity: 100,\n location_id: 60003760,\n location_flag: 'CorpSAG1',\n location_type: 'station',\n is_singleton: false,\n ...overrides,\n };\n }\n\n static createCorporationStructure(overrides: Record<string, any> = {}): any {\n return {\n structure_id: 1021975535893,\n corporation_id: 1344654522,\n type_id: 35832,\n system_id: 30000142,\n profile_id: 101853,\n fuel_expires: '2024-02-01T12:00:00Z',\n state_timer_start: '2024-01-15T12:00:00Z',\n state_timer_end: '2024-01-22T12:00:00Z',\n state: 'shield_vulnerable',\n ...overrides,\n };\n }\n\n static createCorporationWallet(overrides: Record<string, any> = {}): any {\n return {\n division: 1,\n balance: 1000000000.0,\n ...overrides,\n };\n }\n\n static createWalletJournalEntry(overrides: Record<string, any> = {}): any {\n return {\n id: 1000000001,\n date: '2024-01-15T12:00:00Z',\n ref_type: 'market_transaction',\n first_party_id: 1344654522,\n amount: 1000000.0,\n balance: 1000000000.0,\n reason: 'Market transaction',\n description: 'Sold items on market',\n ...overrides,\n };\n }\n\n // Fleet test data\n\n /** `GET /fleets/{fleet_id}`: the fleet ID is in the path, not the body. */\n static createFleetInfo(overrides: Record<string, any> = {}): any {\n return {\n is_free_move: false,\n is_registered: true,\n is_voice_enabled: true,\n motd: 'Fleet operations in progress',\n ...overrides,\n };\n }\n\n /**\n * A fleet member as `GET /fleets/{fleet_id}/members` sends it. The default\n * is the fleet commander, whom ESI places in no wing or squad (-1).\n */\n static createFleetMember(overrides: Record<string, any> = {}): any {\n return {\n character_id: 1689391488,\n join_time: '2024-01-15T18:00:00Z',\n role: 'fleet_commander',\n role_name: 'Fleet Commander (Boss)',\n ship_type_id: 17918,\n solar_system_id: 30000142,\n squad_id: -1,\n station_id: 60003760,\n takes_fleet_warp: true,\n wing_id: -1,\n ...overrides,\n };\n }\n\n /** A wing as `GET /fleets/{fleet_id}/wings` sends it: keyed by `id`. */\n static createFleetWing(overrides: Record<string, any> = {}): any {\n return {\n id: 2073711261968,\n name: 'Wing 1',\n squads: [{ id: 3129411261968, name: 'Squad 1' }],\n ...overrides,\n };\n }\n\n // Industry test data\n static createIndustryJob(overrides: Record<string, any> = {}): any {\n return {\n job_id: 1000001,\n installer_id: 1689391488,\n facility_id: 60003760,\n station_id: 60003760,\n activity_id: 1,\n blueprint_id: 1000000001,\n blueprint_type_id: 17918,\n blueprint_location_id: 60003760,\n output_location_id: 60003760,\n product_type_id: 17918,\n runs: 1,\n status: 'active',\n duration: 86400,\n start_date: '2024-01-15T12:00:00Z',\n end_date: '2024-01-16T12:00:00Z',\n ...overrides,\n };\n }\n\n /**\n * A corporation industry job as `GET /corporations/{corporation_id}/industry/jobs`\n * sends it: placed by `location_id`, where a character job has `station_id`.\n */\n static createCorporationIndustryJob(\n overrides: Record<string, any> = {},\n ): any {\n return {\n job_id: 2000001,\n installer_id: 1689391488,\n facility_id: 1021975535893,\n location_id: 1021975535893,\n activity_id: 1,\n blueprint_id: 1000000001,\n blueprint_type_id: 17918,\n blueprint_location_id: 1021975535893,\n output_location_id: 1021975535893,\n product_type_id: 17918,\n runs: 1,\n status: 'active',\n duration: 86400,\n start_date: '2024-01-15T12:00:00Z',\n end_date: '2024-01-16T12:00:00Z',\n ...overrides,\n };\n }\n\n static createBlueprint(overrides: Record<string, any> = {}): any {\n return {\n item_id: 1000000001,\n type_id: 17918,\n location_id: 60003760,\n location_flag: 'Hangar',\n quantity: -2,\n time_efficiency: 10,\n material_efficiency: 10,\n runs: 100,\n ...overrides,\n };\n }\n\n static createCharacterAsset(overrides: Record<string, any> = {}): any {\n return {\n item_id: 1000000002,\n type_id: 34,\n quantity: 1000000,\n location_id: 60003760,\n location_flag: 'Hangar',\n location_type: 'station',\n is_singleton: false,\n ...overrides,\n };\n }\n\n static createCharacterLocation(overrides: Record<string, any> = {}): any {\n return {\n solar_system_id: 30000142,\n station_id: 60003760,\n structure_id: undefined,\n ...overrides,\n };\n }\n\n static createCharacterSkills(overrides: Record<string, any> = {}): any {\n return {\n skills: [\n {\n skill_id: 3300,\n skillpoints_in_skill: 256000,\n trained_skill_level: 5,\n active_skill_level: 5,\n },\n {\n skill_id: 3301,\n skillpoints_in_skill: 128000,\n trained_skill_level: 4,\n active_skill_level: 4,\n },\n ],\n total_sp: 384000,\n unallocated_sp: 0,\n ...overrides,\n };\n }\n\n // Corporation test data\n\n /** `GET /corporations/{corporation_id}`: the ID is in the path, not the body. */\n static createCorporationInfo(\n overrides: Partial<CorporationInfo> = {},\n ): CorporationInfo {\n return {\n name: 'GoonWaffe',\n ticker: 'GEWNS',\n ceo_id: 1689391488,\n creator_id: 1689391488,\n member_count: 15000,\n tax_rate: 0.1,\n alliance_id: 99005338,\n date_founded: '2003-05-06T00:00:00Z',\n description: 'The founding corporation of Goonswarm Federation',\n home_station_id: 60003760,\n shares: 1000,\n // eslint-disable-next-line sonarjs/no-clear-text-protocols\n url: 'http://www.goonfleet.com/',\n faction_id: 500001,\n war_eligible: true,\n ...overrides,\n };\n }\n\n // Market test data\n static createMarketOrder(overrides: Partial<MarketOrder> = {}): MarketOrder {\n return {\n order_id: 123456789,\n type_id: 34, // Tritanium\n location_id: 60003760, // Jita 4-4\n volume_total: 1000000,\n volume_remain: 500000,\n min_volume: 1,\n price: 5.5,\n is_buy_order: false,\n system_id: 30000142,\n duration: 90,\n issued: '2023-12-01T12:00:00Z',\n range: 'region',\n ...overrides,\n };\n }\n\n // Wallet test data\n static createWalletTransaction(\n overrides: Partial<WalletTransaction> = {},\n ): WalletTransaction {\n return {\n transaction_id: 123456789,\n date: '2023-12-01T12:00:00Z',\n type_id: 34,\n location_id: 60003760,\n unit_price: 5.5,\n quantity: 1000,\n client_id: 1689391488,\n is_buy: false,\n is_personal: true,\n journal_ref_id: 987654321,\n ...overrides,\n };\n }\n\n /**\n * A corporation wallet transaction as\n * `GET /corporations/{corporation_id}/wallets/{division}/transactions` sends\n * it: no is_personal.\n */\n static createCorporationWalletTransaction(\n overrides: Partial<CorporationWalletTransaction> = {},\n ): CorporationWalletTransaction {\n return {\n transaction_id: 123456790,\n date: '2023-12-01T12:00:00Z',\n type_id: 34,\n location_id: 60003760,\n unit_price: 5.5,\n quantity: 1000,\n client_id: 1689391488,\n is_buy: true,\n journal_ref_id: 987654322,\n ...overrides,\n };\n }\n\n // Contract test data\n static createContract(overrides: Partial<Contract> = {}): Contract {\n return {\n contract_id: 123456789,\n issuer_id: 1689391488,\n issuer_corporation_id: 1344654522,\n assignee_id: 987654321,\n acceptor_id: 0,\n start_location_id: 60003760,\n end_location_id: 60008494,\n type: 'courier',\n status: 'outstanding',\n title: 'Test Courier Contract',\n for_corporation: false,\n availability: 'public',\n date_issued: '2023-12-01T12:00:00Z',\n date_expired: '2023-12-08T12:00:00Z',\n days_to_complete: 3,\n price: 1000000,\n reward: 500000,\n collateral: 10000000,\n volume: 1000,\n ...overrides,\n };\n }\n\n static createPublicContract(\n overrides: Partial<PublicContract> = {},\n ): PublicContract {\n return {\n contract_id: 123456790,\n issuer_id: 1689391488,\n issuer_corporation_id: 1344654522,\n start_location_id: 60003760,\n type: 'item_exchange',\n title: 'Test Item Exchange Contract',\n for_corporation: false,\n date_issued: '2023-12-01T12:00:00Z',\n date_expired: '2023-12-15T12:00:00Z',\n price: 50000000,\n volume: 10,\n ...overrides,\n };\n }\n\n // Sovereignty test data (Equinox)\n static createSovereigntySystem(\n overrides: Partial<SovereigntySystem> = {},\n ): SovereigntySystem {\n return {\n solar_systems: [\n {\n solar_system_id: 30000142,\n claim: {\n alliance: {\n alliance_id: 99005338,\n corporation_id: 1344654522,\n claimed_since: '2020-10-08T00:38:16Z',\n is_capital_system: false,\n development: {\n activity_defense_multiplier: 4.5,\n military_level: 5,\n industrial_level: 3,\n strategic_level: 1,\n },\n },\n },\n },\n ],\n ...overrides,\n };\n }\n\n static createSovereigntyHub(\n overrides: Partial<SovereigntyHub> = {},\n ): SovereigntyHub {\n return {\n structure_id: 100000001,\n system_id: 30000142,\n corporation_id: 98000002,\n alliance_id: 99000006,\n online: true,\n remaining_reagents: 500,\n installed_upgrades: [1, 2, 3],\n ...overrides,\n };\n }\n\n static createOrbitalSkyhook(\n overrides: Partial<OrbitalSkyhook> = {},\n ): OrbitalSkyhook {\n return {\n structure_id: 200000001,\n system_id: 30000142,\n corporation_id: 98000002,\n alliance_id: 99000006,\n online: true,\n reagent_silo_capacity: 1000,\n reagent_silo_level: 750,\n ...overrides,\n };\n }\n\n static createRaidableSkyhook(\n overrides: Partial<RaidableSkyhook> = {},\n ): RaidableSkyhook {\n return {\n structure_id: 200000001,\n system_id: 30000142,\n corporation_id: 98000002,\n alliance_id: 99000006,\n raidable_at: '2026-05-20T12:00:00Z',\n is_raidable: true,\n ...overrides,\n };\n }\n\n static createMercenaryDen(\n overrides: Partial<MercenaryDen> = {},\n ): MercenaryDen {\n return {\n den_id: 5001,\n system_id: 30000142,\n constellation_id: 20000125,\n region_id: 10000002,\n development_level: 3,\n anarchy_level: 2,\n active_operations: 1,\n ...overrides,\n };\n }\n\n static createMercenaryTacticalOperation(\n overrides: Partial<MercenaryTacticalOperation> = {},\n ): MercenaryTacticalOperation {\n return {\n operation_id: 7001,\n den_id: 5001,\n system_id: 30000142,\n site_type: 'assault',\n status: 'active',\n started_at: '2026-05-20T10:00:00Z',\n expires_at: '2026-05-20T22:00:00Z',\n ...overrides,\n };\n }\n\n static createAccessListEntry(\n overrides: Partial<AccessListEntry> = {},\n ): AccessListEntry {\n return {\n entity_id: 1689391488,\n entity_type: 'character',\n access_type: 'allowed',\n ...overrides,\n };\n }\n\n // Error test data\n static createError(statusCode: number, message?: string): EsiError {\n const defaultMessages: Record<number, string> = {\n 400: 'Bad request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Resource not found',\n 429: 'Rate limit exceeded',\n 500: 'Internal server error',\n 503: 'Service unavailable',\n };\n return new EsiError(\n statusCode,\n // eslint-disable-next-line security/detect-object-injection\n message || defaultMessages[statusCode] || 'Unknown error',\n );\n }\n\n // Test scenarios\n static createTestScenarios() {\n return {\n alliances: [\n { id: 99005338, name: 'Goonswarm Federation', ticker: 'CONDI' },\n { id: 99000001, name: 'Test Alliance Please Ignore', ticker: 'TEST' },\n { id: 99000002, name: 'Brave Collective', ticker: 'BRAVE' },\n { id: 99000003, name: 'Pandemic Legion', ticker: 'PL' },\n { id: 99000004, name: 'Northern Coalition.', ticker: 'NC.' },\n ],\n characters: [\n {\n id: 1689391488,\n name: 'Test Character',\n corp: 1344654522,\n alliance: 99005338,\n },\n {\n id: 123456789,\n name: 'Demo Pilot',\n corp: 987654321,\n alliance: 99000001,\n },\n {\n id: 111111111,\n name: 'Alpha Tester',\n corp: 222222222,\n alliance: 99000002,\n },\n {\n id: 333333333,\n name: 'Beta User',\n corp: 444444444,\n alliance: 99000003,\n },\n {\n id: 555555555,\n name: 'Gamma Pilot',\n corp: 666666666,\n alliance: 99000004,\n },\n ],\n corporations: [\n {\n id: 1344654522,\n name: 'GoonWaffe',\n ticker: 'GEWNS',\n alliance: 99005338,\n },\n {\n id: 987654321,\n name: 'Test Corp Please Ignore',\n ticker: 'TCPI',\n alliance: 99000001,\n },\n {\n id: 222222222,\n name: 'Brave Newbies Inc.',\n ticker: 'BNI',\n alliance: 99000002,\n },\n {\n id: 444444444,\n name: 'Sniggerdly',\n ticker: 'SNIGG',\n alliance: 99000003,\n },\n {\n id: 666666666,\n name: 'Tactical Narcotics Team',\n ticker: 'TNT',\n alliance: 99000004,\n },\n ],\n errorScenarios: [\n { statusCode: 0, label: 'network_error', probability: 0.1 },\n { statusCode: 429, label: 'rate_limited', probability: 0.05 },\n { statusCode: 500, label: 'server_error', probability: 0.02 },\n { statusCode: 504, label: 'timeout', probability: 0.03 },\n { statusCode: 404, label: 'not_found', probability: 0.01 },\n ],\n };\n }\n\n // Performance test data\n static createPerformanceTestData(\n size: 'small' | 'medium' | 'large' = 'medium',\n ) {\n const sizes = {\n small: { alliances: 5, characters: 20, corporations: 10 },\n medium: { alliances: 20, characters: 100, corporations: 50 },\n large: { alliances: 100, characters: 1000, corporations: 500 },\n };\n\n // eslint-disable-next-line security/detect-object-injection\n const config = sizes[size];\n const data = {\n alliances: [] as AllianceInfo[],\n characters: [] as CharacterInfo[],\n corporations: [] as CorporationInfo[],\n };\n\n // Generate alliances\n for (let i = 1; i <= config.alliances; i++) {\n data.alliances.push(\n this.createAllianceInfo({\n alliance_id: 99000000 + i,\n name: `Test Alliance ${i}`,\n ticker: `TST${i.toString().padStart(2, '0')}`,\n creator_id: 1000000 + i,\n }),\n );\n }\n\n // Generate corporations\n for (let i = 1; i <= config.corporations; i++) {\n const allianceIndex = Math.floor(\n (i - 1) / (config.corporations / config.alliances),\n );\n data.corporations.push(\n this.createCorporationInfo({\n corporation_id: 2000000 + i,\n name: `Test Corporation ${i}`,\n ticker: `TC${i.toString().padStart(3, '0')}`,\n // eslint-disable-next-line security/detect-object-injection\n alliance_id: data.alliances[allianceIndex]?.alliance_id,\n ceo_id: 3000000 + i,\n }),\n );\n }\n\n // Generate characters\n for (let i = 1; i <= config.characters; i++) {\n const corpIndex = Math.floor(\n (i - 1) / (config.characters / config.corporations),\n );\n // eslint-disable-next-line security/detect-object-injection\n const corp = data.corporations[corpIndex];\n data.characters.push(\n this.createCharacterInfo({\n character_id: 3000000 + i,\n name: `Test Character ${i}`,\n corporation_id: corp?.corporation_id || 2000001,\n alliance_id: corp?.alliance_id,\n }),\n );\n }\n\n return data;\n }\n\n // Realistic test data with relationships\n static createRealisticTestData() {\n const goonswarm = this.createAllianceInfo({\n alliance_id: 99005338,\n name: 'Goonswarm Federation',\n ticker: 'CONDI',\n creator_id: 1689391488,\n creator_corporation_id: 1344654522,\n executor_corporation_id: 1344654522,\n date_founded: '2010-06-01T00:00:00Z',\n });\n\n const goonwaffe = this.createCorporationInfo({\n corporation_id: 1344654522,\n name: 'GoonWaffe',\n ticker: 'GEWNS',\n alliance_id: 99005338,\n ceo_id: 1689391488,\n creator_id: 1689391488,\n member_count: 15000,\n date_founded: '2003-05-06T00:00:00Z',\n });\n\n const testCharacter = this.createCharacterInfo({\n character_id: 1689391488,\n name: 'The Mittani',\n corporation_id: 1344654522,\n alliance_id: 99005338,\n birthday: '2003-05-06T00:00:00Z',\n });\n\n return {\n alliances: [goonswarm],\n corporations: [goonwaffe],\n characters: [testCharacter],\n relationships: {\n allianceExecutor: { alliance: 99005338, corporation: 1344654522 },\n corporationCEO: { corporation: 1344654522, character: 1689391488 },\n characterMembership: {\n character: 1689391488,\n corporation: 1344654522,\n alliance: 99005338,\n },\n },\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/ESI.ts/ESI.ts/dist/testing/index.js","../../src/testing/TestDataFactory.ts","../../src/testing/mockTransport.ts"],"names":[],"mappings":"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","file":"/home/runner/work/ESI.ts/ESI.ts/dist/testing/index.js","sourcesContent":[null,"/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n AllianceInfo,\n CharacterInfo,\n CorporationInfo,\n AllianceContact,\n AllianceContactLabel,\n CharacterPortrait,\n CharacterAttributes,\n CharacterSkill,\n MarketOrder,\n WalletTransaction,\n CorporationWalletTransaction,\n Contract,\n PublicContract,\n SovereigntySystem,\n SovereigntyHub,\n OrbitalSkyhook,\n RaidableSkyhook,\n MercenaryDen,\n MercenaryTacticalOperation,\n AccessListEntry,\n} from '../types/api-responses';\nimport { EsiError } from '../core/util/error';\n\nexport class TestDataFactory {\n // Alliance test data\n\n /** `GET /alliances/{alliance_id}`: the alliance ID is in the path, not the body. */\n static createAllianceInfo(\n overrides: Partial<AllianceInfo> = {},\n ): AllianceInfo {\n return {\n name: 'Goonswarm Federation',\n ticker: 'CONDI',\n creator_id: 1689391488,\n creator_corporation_id: 1344654522,\n executor_corporation_id: 1344654522,\n date_founded: '2010-06-01T00:00:00Z',\n faction_id: 500001,\n ...overrides,\n };\n }\n\n static createAllianceContact(\n overrides: Partial<AllianceContact> = {},\n ): AllianceContact {\n return {\n contact_id: 1689391488,\n contact_type: 'character',\n standing: 10.0,\n label_ids: [1, 2],\n ...overrides,\n };\n }\n\n static createAllianceContactLabel(\n overrides: Partial<AllianceContactLabel> = {},\n ): AllianceContactLabel {\n return {\n label_id: 1,\n label_name: 'Friendly',\n ...overrides,\n };\n }\n\n // Character test data\n static createCharacterInfo(\n overrides: Partial<CharacterInfo> = {},\n ): CharacterInfo {\n return {\n name: 'Test Character',\n corporation_id: 1344654522,\n alliance_id: 99005338,\n bloodline_id: 4,\n race_id: 1,\n gender: 'male',\n birthday: '2003-05-06T00:00:00Z',\n description: 'A test character for BDD scenarios',\n security_status: 5.0,\n title: 'Test Pilot',\n ...overrides,\n };\n }\n\n static createCharacterPortrait(\n characterId: number = 1689391488,\n ): CharacterPortrait {\n return {\n px64x64: `https://images.evetech.net/characters/${characterId}/portrait?size=64`,\n px128x128: `https://images.evetech.net/characters/${characterId}/portrait?size=128`,\n px256x256: `https://images.evetech.net/characters/${characterId}/portrait?size=256`,\n px512x512: `https://images.evetech.net/characters/${characterId}/portrait?size=512`,\n };\n }\n\n static createCharacterAttributes(\n overrides: Partial<CharacterAttributes> = {},\n ): CharacterAttributes {\n return {\n charisma: 20,\n intelligence: 24,\n memory: 21,\n perception: 23,\n willpower: 22,\n bonus_remaps: 2,\n last_remap_date: '2023-01-01T00:00:00Z',\n accrued_remap_cooldown_date: '2024-01-01T00:00:00Z',\n ...overrides,\n };\n }\n\n static createCharacterSkill(\n overrides: Partial<CharacterSkill> = {},\n ): CharacterSkill {\n return {\n skill_id: 3300,\n skillpoints_in_skill: 256000,\n trained_skill_level: 5,\n active_skill_level: 5,\n ...overrides,\n };\n }\n\n static createCharacterRoles(overrides: Record<string, any> = {}): any {\n return {\n roles: ['Director'],\n roles_at_base: [],\n roles_at_hq: ['Director'],\n roles_at_other: [],\n ...overrides,\n };\n }\n\n static createCorporationHistoryEntry(\n overrides: Record<string, any> = {},\n ): any {\n return {\n corporation_id: 1344654522,\n is_deleted: false,\n record_id: 1,\n start_date: '2020-01-01T00:00:00Z',\n ...overrides,\n };\n }\n\n static createCharacterMedal(overrides: Record<string, any> = {}): any {\n return {\n medal_id: 1,\n title: 'Test Medal',\n description: 'A test medal for demonstration',\n corporation_id: 1344654522,\n date: '2023-01-01T00:00:00Z',\n issuer_id: 1689391489,\n reason: 'Outstanding service',\n status: 'public',\n graphics: [\n { part: 1, layer: 0, graphic: 'caldari.1_1', color: -1 },\n { part: 2, layer: 1, graphic: 'caldari.2_3' },\n ],\n ...overrides,\n };\n }\n\n static createCharacterNotification(overrides: Record<string, any> = {}): any {\n return {\n notification_id: 1000001,\n sender_id: 1689391489,\n sender_type: 'character',\n text: 'Test notification',\n timestamp: '2024-01-15T12:00:00Z',\n type: 'AllWarDeclaredMsg',\n is_read: false,\n ...overrides,\n };\n }\n\n // Market test data\n static createMarketPrice(overrides: Record<string, any> = {}): any {\n return {\n type_id: 34,\n average_price: 4.5,\n adjusted_price: 4.55,\n ...overrides,\n };\n }\n\n static createMarketHistory(overrides: Record<string, any> = {}): any {\n return {\n date: '2024-01-15',\n volume: 1000000000,\n order_count: 2500,\n lowest: 4.2,\n highest: 4.8,\n average: 4.5,\n ...overrides,\n };\n }\n\n static createCharacterMarketOrder(overrides: Record<string, any> = {}): any {\n return {\n order_id: 5000000001,\n type_id: 34,\n region_id: 10000002,\n location_id: 60003760,\n range: 'region',\n volume_total: 1000000,\n volume_remain: 750000,\n min_volume: 1,\n price: 4.5,\n is_buy_order: true,\n is_corporation: false,\n duration: 90,\n issued: '2024-01-15T12:00:00Z',\n ...overrides,\n };\n }\n\n static createCharacterOrderHistory(overrides: Record<string, any> = {}): any {\n return {\n order_id: 5000000001,\n type_id: 34,\n region_id: 10000002,\n location_id: 60003760,\n range: 'region',\n volume_total: 1000000,\n volume_remain: 0,\n min_volume: 1,\n price: 4.5,\n is_buy_order: true,\n is_corporation: false,\n duration: 90,\n issued: '2024-01-10T12:00:00Z',\n state: 'expired',\n ...overrides,\n };\n }\n\n // Universe test data\n static createSolarSystem(overrides: Record<string, any> = {}): any {\n return {\n system_id: 30000142,\n name: 'Jita',\n constellation_id: 20000020,\n position: {\n x: -129064861735000000,\n y: 60755306910000000,\n z: 117469227060000000,\n },\n security_status: 0.9459991455078125,\n star_id: 40000001,\n stargates: [50000001, 50000002],\n stations: [60003760, 60003761],\n planets: [\n { planet_id: 40000001, moons: [40000002, 40000003] },\n { planet_id: 40000004, moons: [40000005] },\n ],\n ...overrides,\n };\n }\n\n static createStation(overrides: Record<string, any> = {}): any {\n return {\n station_id: 60003760,\n name: 'Jita IV - Moon 4 - Caldari Navy Assembly Plant',\n owner: 1000035,\n type_id: 52678,\n race_id: 1,\n system_id: 30000142,\n position: { x: 3813196800, y: 1016750000, z: -2305570000 },\n reprocessing_efficiency: 0.5,\n reprocessing_stations_take: 0.05,\n max_dockable_ship_volume: 50000000,\n office_rental_cost: 10000000,\n services: [\n 'bounty-missions',\n 'courier-missions',\n 'interbus',\n 'reprocessing-plant',\n 'market',\n 'stock-exchange',\n ],\n ...overrides,\n };\n }\n\n /** `GET /universe/structures/{structure_id}`: the ID is in the path, not the body. */\n static createStructure(overrides: Record<string, any> = {}): any {\n return {\n name: 'Test Citadel',\n owner_id: 1689391488,\n solar_system_id: 30000142,\n type_id: 35832,\n position: { x: 1000000000, y: 2000000000, z: 3000000000 },\n ...overrides,\n };\n }\n\n /** `GET /universe/types/{type_id}`: the category is on the group, not the type. */\n static createItemType(overrides: Record<string, any> = {}): any {\n return {\n type_id: 34,\n name: 'Tritanium',\n description: 'The most common ore type in the known universe.',\n group_id: 18,\n market_group_id: 1857,\n mass: 1.0,\n volume: 0.01,\n capacity: 0.0,\n portion_size: 1,\n radius: 1.0,\n published: true,\n ...overrides,\n };\n }\n\n static createItemGroup(overrides: Record<string, any> = {}): any {\n return {\n group_id: 18,\n name: 'Mineral',\n category_id: 4,\n published: true,\n types: [34, 35, 36, 37, 38, 39, 40, 11399],\n ...overrides,\n };\n }\n\n /** `GET /universe/stars/{star_id}`: the star ID is in the path, not the body. */\n static createStar(overrides: Record<string, any> = {}): any {\n return {\n name: 'Jita - Star',\n type_id: 3802,\n solar_system_id: 30000142,\n age: 4600000000,\n luminosity: 0.06575,\n radius: 62140000,\n spectral_class: 'K2 V',\n temperature: 4567,\n ...overrides,\n };\n }\n\n static createPlanet(overrides: Record<string, any> = {}): any {\n return {\n planet_id: 40000004,\n name: 'Jita IV',\n type_id: 11,\n system_id: 30000142,\n position: { x: 150000000000, y: 0, z: 0 },\n ...overrides,\n };\n }\n\n /**\n * `GET /characters/{character_id}/search`: one list per requested category,\n * keyed by the singular category name.\n */\n static createSearchResults(overrides: Record<string, any> = {}): any {\n return {\n solar_system: [],\n station: [],\n structure: [],\n character: [],\n corporation: [],\n alliance: [],\n ...overrides,\n };\n }\n\n static createEntityName(overrides: Record<string, any> = {}): any {\n return {\n id: 30000142,\n name: 'Jita',\n category: 'solar_system',\n ...overrides,\n };\n }\n\n // Corporation test data\n static createCorporationMemberRoles(\n overrides: Record<string, any> = {},\n ): any {\n return {\n character_id: 1689391488,\n roles: ['Director', 'Personnel_Manager'],\n grantable_roles: ['Hangar_Take_1', 'Hangar_Take_2'],\n roles_at_hq: ['Director'],\n roles_at_base: [],\n roles_at_other: [],\n ...overrides,\n };\n }\n\n static createCorporationAsset(overrides: Record<string, any> = {}): any {\n return {\n item_id: 1000000000001,\n type_id: 587,\n quantity: 100,\n location_id: 60003760,\n location_flag: 'CorpSAG1',\n location_type: 'station',\n is_singleton: false,\n ...overrides,\n };\n }\n\n static createCorporationStructure(overrides: Record<string, any> = {}): any {\n return {\n structure_id: 1021975535893,\n corporation_id: 1344654522,\n type_id: 35832,\n system_id: 30000142,\n profile_id: 101853,\n fuel_expires: '2024-02-01T12:00:00Z',\n state_timer_start: '2024-01-15T12:00:00Z',\n state_timer_end: '2024-01-22T12:00:00Z',\n state: 'shield_vulnerable',\n ...overrides,\n };\n }\n\n static createCorporationWallet(overrides: Record<string, any> = {}): any {\n return {\n division: 1,\n balance: 1000000000.0,\n ...overrides,\n };\n }\n\n static createWalletJournalEntry(overrides: Record<string, any> = {}): any {\n return {\n id: 1000000001,\n date: '2024-01-15T12:00:00Z',\n ref_type: 'market_transaction',\n first_party_id: 1344654522,\n amount: 1000000.0,\n balance: 1000000000.0,\n reason: 'Market transaction',\n description: 'Sold items on market',\n ...overrides,\n };\n }\n\n // Fleet test data\n\n /** `GET /fleets/{fleet_id}`: the fleet ID is in the path, not the body. */\n static createFleetInfo(overrides: Record<string, any> = {}): any {\n return {\n is_free_move: false,\n is_registered: true,\n is_voice_enabled: true,\n motd: 'Fleet operations in progress',\n ...overrides,\n };\n }\n\n /**\n * A fleet member as `GET /fleets/{fleet_id}/members` sends it. The default\n * is the fleet commander, whom ESI places in no wing or squad (-1).\n */\n static createFleetMember(overrides: Record<string, any> = {}): any {\n return {\n character_id: 1689391488,\n join_time: '2024-01-15T18:00:00Z',\n role: 'fleet_commander',\n role_name: 'Fleet Commander (Boss)',\n ship_type_id: 17918,\n solar_system_id: 30000142,\n squad_id: -1,\n station_id: 60003760,\n takes_fleet_warp: true,\n wing_id: -1,\n ...overrides,\n };\n }\n\n /** A wing as `GET /fleets/{fleet_id}/wings` sends it: keyed by `id`. */\n static createFleetWing(overrides: Record<string, any> = {}): any {\n return {\n id: 2073711261968,\n name: 'Wing 1',\n squads: [{ id: 3129411261968, name: 'Squad 1' }],\n ...overrides,\n };\n }\n\n // Industry test data\n static createIndustryJob(overrides: Record<string, any> = {}): any {\n return {\n job_id: 1000001,\n installer_id: 1689391488,\n facility_id: 60003760,\n station_id: 60003760,\n activity_id: 1,\n blueprint_id: 1000000001,\n blueprint_type_id: 17918,\n blueprint_location_id: 60003760,\n output_location_id: 60003760,\n product_type_id: 17918,\n runs: 1,\n status: 'active',\n duration: 86400,\n start_date: '2024-01-15T12:00:00Z',\n end_date: '2024-01-16T12:00:00Z',\n ...overrides,\n };\n }\n\n /**\n * A corporation industry job as `GET /corporations/{corporation_id}/industry/jobs`\n * sends it: placed by `location_id`, where a character job has `station_id`.\n */\n static createCorporationIndustryJob(\n overrides: Record<string, any> = {},\n ): any {\n return {\n job_id: 2000001,\n installer_id: 1689391488,\n facility_id: 1021975535893,\n location_id: 1021975535893,\n activity_id: 1,\n blueprint_id: 1000000001,\n blueprint_type_id: 17918,\n blueprint_location_id: 1021975535893,\n output_location_id: 1021975535893,\n product_type_id: 17918,\n runs: 1,\n status: 'active',\n duration: 86400,\n start_date: '2024-01-15T12:00:00Z',\n end_date: '2024-01-16T12:00:00Z',\n ...overrides,\n };\n }\n\n static createBlueprint(overrides: Record<string, any> = {}): any {\n return {\n item_id: 1000000001,\n type_id: 17918,\n location_id: 60003760,\n location_flag: 'Hangar',\n quantity: -2,\n time_efficiency: 10,\n material_efficiency: 10,\n runs: 100,\n ...overrides,\n };\n }\n\n static createCharacterAsset(overrides: Record<string, any> = {}): any {\n return {\n item_id: 1000000002,\n type_id: 34,\n quantity: 1000000,\n location_id: 60003760,\n location_flag: 'Hangar',\n location_type: 'station',\n is_singleton: false,\n ...overrides,\n };\n }\n\n static createCharacterLocation(overrides: Record<string, any> = {}): any {\n return {\n solar_system_id: 30000142,\n station_id: 60003760,\n structure_id: undefined,\n ...overrides,\n };\n }\n\n static createCharacterSkills(overrides: Record<string, any> = {}): any {\n return {\n skills: [\n {\n skill_id: 3300,\n skillpoints_in_skill: 256000,\n trained_skill_level: 5,\n active_skill_level: 5,\n },\n {\n skill_id: 3301,\n skillpoints_in_skill: 128000,\n trained_skill_level: 4,\n active_skill_level: 4,\n },\n ],\n total_sp: 384000,\n unallocated_sp: 0,\n ...overrides,\n };\n }\n\n // Corporation test data\n\n /** `GET /corporations/{corporation_id}`: the ID is in the path, not the body. */\n static createCorporationInfo(\n overrides: Partial<CorporationInfo> = {},\n ): CorporationInfo {\n return {\n name: 'GoonWaffe',\n ticker: 'GEWNS',\n ceo_id: 1689391488,\n creator_id: 1689391488,\n member_count: 15000,\n tax_rate: 0.1,\n alliance_id: 99005338,\n date_founded: '2003-05-06T00:00:00Z',\n description: 'The founding corporation of Goonswarm Federation',\n home_station_id: 60003760,\n shares: 1000,\n // eslint-disable-next-line sonarjs/no-clear-text-protocols\n url: 'http://www.goonfleet.com/',\n faction_id: 500001,\n war_eligible: true,\n ...overrides,\n };\n }\n\n // Market test data\n static createMarketOrder(overrides: Partial<MarketOrder> = {}): MarketOrder {\n return {\n order_id: 123456789,\n type_id: 34, // Tritanium\n location_id: 60003760, // Jita 4-4\n volume_total: 1000000,\n volume_remain: 500000,\n min_volume: 1,\n price: 5.5,\n is_buy_order: false,\n system_id: 30000142,\n duration: 90,\n issued: '2023-12-01T12:00:00Z',\n range: 'region',\n ...overrides,\n };\n }\n\n // Wallet test data\n static createWalletTransaction(\n overrides: Partial<WalletTransaction> = {},\n ): WalletTransaction {\n return {\n transaction_id: 123456789,\n date: '2023-12-01T12:00:00Z',\n type_id: 34,\n location_id: 60003760,\n unit_price: 5.5,\n quantity: 1000,\n client_id: 1689391488,\n is_buy: false,\n is_personal: true,\n journal_ref_id: 987654321,\n ...overrides,\n };\n }\n\n /**\n * A corporation wallet transaction as\n * `GET /corporations/{corporation_id}/wallets/{division}/transactions` sends\n * it: no is_personal.\n */\n static createCorporationWalletTransaction(\n overrides: Partial<CorporationWalletTransaction> = {},\n ): CorporationWalletTransaction {\n return {\n transaction_id: 123456790,\n date: '2023-12-01T12:00:00Z',\n type_id: 34,\n location_id: 60003760,\n unit_price: 5.5,\n quantity: 1000,\n client_id: 1689391488,\n is_buy: true,\n journal_ref_id: 987654322,\n ...overrides,\n };\n }\n\n // Contract test data\n static createContract(overrides: Partial<Contract> = {}): Contract {\n return {\n contract_id: 123456789,\n issuer_id: 1689391488,\n issuer_corporation_id: 1344654522,\n assignee_id: 987654321,\n acceptor_id: 0,\n start_location_id: 60003760,\n end_location_id: 60008494,\n type: 'courier',\n status: 'outstanding',\n title: 'Test Courier Contract',\n for_corporation: false,\n availability: 'public',\n date_issued: '2023-12-01T12:00:00Z',\n date_expired: '2023-12-08T12:00:00Z',\n days_to_complete: 3,\n price: 1000000,\n reward: 500000,\n collateral: 10000000,\n volume: 1000,\n ...overrides,\n };\n }\n\n static createPublicContract(\n overrides: Partial<PublicContract> = {},\n ): PublicContract {\n return {\n contract_id: 123456790,\n issuer_id: 1689391488,\n issuer_corporation_id: 1344654522,\n start_location_id: 60003760,\n type: 'item_exchange',\n title: 'Test Item Exchange Contract',\n for_corporation: false,\n date_issued: '2023-12-01T12:00:00Z',\n date_expired: '2023-12-15T12:00:00Z',\n price: 50000000,\n volume: 10,\n ...overrides,\n };\n }\n\n // Sovereignty test data (Equinox)\n static createSovereigntySystem(\n overrides: Partial<SovereigntySystem> = {},\n ): SovereigntySystem {\n return {\n solar_systems: [\n {\n solar_system_id: 30000142,\n claim: {\n alliance: {\n alliance_id: 99005338,\n corporation_id: 1344654522,\n claimed_since: '2020-10-08T00:38:16Z',\n is_capital_system: false,\n development: {\n activity_defense_multiplier: 4.5,\n military_level: 5,\n industrial_level: 3,\n strategic_level: 1,\n },\n },\n },\n },\n ],\n ...overrides,\n };\n }\n\n static createSovereigntyHub(\n overrides: Partial<SovereigntyHub> = {},\n ): SovereigntyHub {\n return {\n structure_id: 100000001,\n system_id: 30000142,\n corporation_id: 98000002,\n alliance_id: 99000006,\n online: true,\n remaining_reagents: 500,\n installed_upgrades: [1, 2, 3],\n ...overrides,\n };\n }\n\n static createOrbitalSkyhook(\n overrides: Partial<OrbitalSkyhook> = {},\n ): OrbitalSkyhook {\n return {\n structure_id: 200000001,\n system_id: 30000142,\n corporation_id: 98000002,\n alliance_id: 99000006,\n online: true,\n reagent_silo_capacity: 1000,\n reagent_silo_level: 750,\n ...overrides,\n };\n }\n\n static createRaidableSkyhook(\n overrides: Partial<RaidableSkyhook> = {},\n ): RaidableSkyhook {\n return {\n planet_id: 40229601,\n solar_system_id: 30003618,\n theft_vulnerability: {\n start: '2026-09-17T12:14:02Z',\n end: '2026-09-17T14:14:02Z',\n },\n ...overrides,\n };\n }\n\n static createMercenaryDen(\n overrides: Partial<MercenaryDen> = {},\n ): MercenaryDen {\n return {\n den_id: 5001,\n system_id: 30000142,\n constellation_id: 20000125,\n region_id: 10000002,\n development_level: 3,\n anarchy_level: 2,\n active_operations: 1,\n ...overrides,\n };\n }\n\n static createMercenaryTacticalOperation(\n overrides: Partial<MercenaryTacticalOperation> = {},\n ): MercenaryTacticalOperation {\n return {\n operation_id: 7001,\n den_id: 5001,\n system_id: 30000142,\n site_type: 'assault',\n status: 'active',\n started_at: '2026-05-20T10:00:00Z',\n expires_at: '2026-05-20T22:00:00Z',\n ...overrides,\n };\n }\n\n static createAccessListEntry(\n overrides: Partial<AccessListEntry> = {},\n ): AccessListEntry {\n return {\n entity_id: 1689391488,\n entity_type: 'character',\n access_type: 'allowed',\n ...overrides,\n };\n }\n\n // Error test data\n static createError(statusCode: number, message?: string): EsiError {\n const defaultMessages: Record<number, string> = {\n 400: 'Bad request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Resource not found',\n 429: 'Rate limit exceeded',\n 500: 'Internal server error',\n 503: 'Service unavailable',\n };\n return new EsiError(\n statusCode,\n // eslint-disable-next-line security/detect-object-injection\n message || defaultMessages[statusCode] || 'Unknown error',\n );\n }\n\n // Test scenarios\n static createTestScenarios() {\n return {\n alliances: [\n { id: 99005338, name: 'Goonswarm Federation', ticker: 'CONDI' },\n { id: 99000001, name: 'Test Alliance Please Ignore', ticker: 'TEST' },\n { id: 99000002, name: 'Brave Collective', ticker: 'BRAVE' },\n { id: 99000003, name: 'Pandemic Legion', ticker: 'PL' },\n { id: 99000004, name: 'Northern Coalition.', ticker: 'NC.' },\n ],\n characters: [\n {\n id: 1689391488,\n name: 'Test Character',\n corp: 1344654522,\n alliance: 99005338,\n },\n {\n id: 123456789,\n name: 'Demo Pilot',\n corp: 987654321,\n alliance: 99000001,\n },\n {\n id: 111111111,\n name: 'Alpha Tester',\n corp: 222222222,\n alliance: 99000002,\n },\n {\n id: 333333333,\n name: 'Beta User',\n corp: 444444444,\n alliance: 99000003,\n },\n {\n id: 555555555,\n name: 'Gamma Pilot',\n corp: 666666666,\n alliance: 99000004,\n },\n ],\n corporations: [\n {\n id: 1344654522,\n name: 'GoonWaffe',\n ticker: 'GEWNS',\n alliance: 99005338,\n },\n {\n id: 987654321,\n name: 'Test Corp Please Ignore',\n ticker: 'TCPI',\n alliance: 99000001,\n },\n {\n id: 222222222,\n name: 'Brave Newbies Inc.',\n ticker: 'BNI',\n alliance: 99000002,\n },\n {\n id: 444444444,\n name: 'Sniggerdly',\n ticker: 'SNIGG',\n alliance: 99000003,\n },\n {\n id: 666666666,\n name: 'Tactical Narcotics Team',\n ticker: 'TNT',\n alliance: 99000004,\n },\n ],\n errorScenarios: [\n { statusCode: 0, label: 'network_error', probability: 0.1 },\n { statusCode: 429, label: 'rate_limited', probability: 0.05 },\n { statusCode: 500, label: 'server_error', probability: 0.02 },\n { statusCode: 504, label: 'timeout', probability: 0.03 },\n { statusCode: 404, label: 'not_found', probability: 0.01 },\n ],\n };\n }\n\n // Performance test data\n static createPerformanceTestData(\n size: 'small' | 'medium' | 'large' = 'medium',\n ) {\n const sizes = {\n small: { alliances: 5, characters: 20, corporations: 10 },\n medium: { alliances: 20, characters: 100, corporations: 50 },\n large: { alliances: 100, characters: 1000, corporations: 500 },\n };\n\n // eslint-disable-next-line security/detect-object-injection\n const config = sizes[size];\n const data = {\n alliances: [] as AllianceInfo[],\n characters: [] as CharacterInfo[],\n corporations: [] as CorporationInfo[],\n };\n\n // Generate alliances\n for (let i = 1; i <= config.alliances; i++) {\n data.alliances.push(\n this.createAllianceInfo({\n alliance_id: 99000000 + i,\n name: `Test Alliance ${i}`,\n ticker: `TST${i.toString().padStart(2, '0')}`,\n creator_id: 1000000 + i,\n }),\n );\n }\n\n // Generate corporations\n for (let i = 1; i <= config.corporations; i++) {\n const allianceIndex = Math.floor(\n (i - 1) / (config.corporations / config.alliances),\n );\n data.corporations.push(\n this.createCorporationInfo({\n corporation_id: 2000000 + i,\n name: `Test Corporation ${i}`,\n ticker: `TC${i.toString().padStart(3, '0')}`,\n // eslint-disable-next-line security/detect-object-injection\n alliance_id: data.alliances[allianceIndex]?.alliance_id,\n ceo_id: 3000000 + i,\n }),\n );\n }\n\n // Generate characters\n for (let i = 1; i <= config.characters; i++) {\n const corpIndex = Math.floor(\n (i - 1) / (config.characters / config.corporations),\n );\n // eslint-disable-next-line security/detect-object-injection\n const corp = data.corporations[corpIndex];\n data.characters.push(\n this.createCharacterInfo({\n character_id: 3000000 + i,\n name: `Test Character ${i}`,\n corporation_id: corp?.corporation_id || 2000001,\n alliance_id: corp?.alliance_id,\n }),\n );\n }\n\n return data;\n }\n\n // Realistic test data with relationships\n static createRealisticTestData() {\n const goonswarm = this.createAllianceInfo({\n alliance_id: 99005338,\n name: 'Goonswarm Federation',\n ticker: 'CONDI',\n creator_id: 1689391488,\n creator_corporation_id: 1344654522,\n executor_corporation_id: 1344654522,\n date_founded: '2010-06-01T00:00:00Z',\n });\n\n const goonwaffe = this.createCorporationInfo({\n corporation_id: 1344654522,\n name: 'GoonWaffe',\n ticker: 'GEWNS',\n alliance_id: 99005338,\n ceo_id: 1689391488,\n creator_id: 1689391488,\n member_count: 15000,\n date_founded: '2003-05-06T00:00:00Z',\n });\n\n const testCharacter = this.createCharacterInfo({\n character_id: 1689391488,\n name: 'The Mittani',\n corporation_id: 1344654522,\n alliance_id: 99005338,\n birthday: '2003-05-06T00:00:00Z',\n });\n\n return {\n alliances: [goonswarm],\n corporations: [goonwaffe],\n characters: [testCharacter],\n relationships: {\n allianceExecutor: { alliance: 99005338, corporation: 1344654522 },\n corporationCEO: { corporation: 1344654522, character: 1689391488 },\n characterMembership: {\n character: 1689391488,\n corporation: 1344654522,\n alliance: 99005338,\n },\n },\n };\n }\n}\n","/**\n * A mock `HttpTransport` for an application's own tests.\n *\n * `createMockTransport()` answers the requests the SDK sends from a table of\n * routes and records every request it saw. It is passed to\n * `createEsi({ transport })`, so everything between the application's call\n * and the transport (URL building, headers, retries, the cache, pagination,\n * response validation) is the SDK's real pipeline.\n *\n * Specification: tests/bdd/features/core/0057-mock-transport.feature.\n */\nimport type { HttpTransport } from '../core/ports/HttpTransport';\nimport { EsiConfigurationError } from '../core/util/error';\n\n/** What the mock transport answers a request with. */\nexport interface MockRoute {\n /**\n * The HTTP method the route answers, compared without regard to case.\n * Omitted, the route answers any method.\n */\n readonly method?: string;\n /**\n * The ESI path template as the spec writes it, such as\n * `/characters/{character_id}/wallet`, where `{name}` stands for one path\n * segment; a trailing slash is ignored. Or a regular expression tested\n * against the whole URL, query string included.\n */\n readonly path: string | RegExp;\n /** The HTTP status, 200 to 599. Default 200. */\n readonly status?: number;\n /** Response headers, such as `x-pages` or `etag`. */\n readonly headers?: Readonly<Record<string, string>>;\n /**\n * The response body. An object, array, number or boolean is JSON-encoded\n * and sent as `application/json`; a string is sent verbatim; omitted, the\n * response has no body.\n */\n readonly body?: unknown;\n /**\n * How many matching requests the route answers before it is retired.\n * Omitted, the route answers every matching request.\n */\n readonly times?: number;\n}\n\n/** One request the mock transport received. */\nexport interface SentRequest {\n /** The HTTP method, upper case. */\n readonly method: string;\n /** The full URL, query string included. */\n readonly url: string;\n /** Request headers, names in lower case. */\n readonly headers: Readonly<Record<string, string>>;\n /** The request body as a string, or `undefined` when the request had none. */\n readonly body: string | undefined;\n}\n\n/**\n * An `HttpTransport` that answers from a route table and records what it\n * received. Callable in place of `fetch`.\n */\nexport interface MockTransport extends HttpTransport {\n /** Add a route. Routes are tried in the order added; the first match answers. Returns the transport, for chaining. */\n respond(route: MockRoute): MockTransport;\n /** The routes still able to answer, in order. */\n readonly routes: readonly MockRoute[];\n /** Every request received, in the order sent. */\n readonly sent: readonly SentRequest[];\n /** The `METHOD url` of every request no route answered, in order. */\n readonly unrouted: readonly string[];\n /**\n * Forget every route and every recorded request. The transport keeps\n * nothing else, but a runtime built over it does: once a route has answered\n * with an `etag` header, the runtime's response cache can answer the same\n * request again without reaching the transport. A test that repeats a\n * request across `reset()` uses a runtime per test, or builds it with\n * `enableETagCache: false`.\n */\n reset(): void;\n}\n\ninterface ActiveRoute {\n readonly route: MockRoute;\n readonly method: string | undefined;\n readonly matcher: (url: URL) => boolean;\n remaining: number;\n}\n\n/** Statuses whose responses carry no body; the Response constructor rejects even ''. */\nconst NULL_BODY_STATUSES = new Set([204, 205, 304]);\n\n/** A path template as the ESI spec writes it, `{name}` standing for one segment. */\nfunction templateMatcher(template: string): (url: URL) => boolean {\n let trimmed = template;\n while (trimmed.endsWith('/')) trimmed = trimmed.slice(0, -1);\n const pattern = trimmed\n .split('/')\n .map((segment) =>\n /^\\{[^}]+\\}$/.test(segment)\n ? '[^/]+'\n : segment.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'),\n )\n .join('/');\n const expression = new RegExp(`^${pattern}/?$`);\n return (url) => expression.test(url.pathname);\n}\n\nfunction matcherFor(path: string | RegExp): (url: URL) => boolean {\n if (typeof path === 'string') return templateMatcher(path);\n return (url) => {\n path.lastIndex = 0;\n return path.test(url.href);\n };\n}\n\nfunction activate(route: MockRoute): ActiveRoute {\n if (\n route.times !== undefined &&\n (!Number.isInteger(route.times) || route.times < 1)\n ) {\n throw new Error(\n `createMockTransport: times must be a positive integer, got ${String(route.times)}`,\n );\n }\n // What the Response constructor accepts: a 1xx cannot be built.\n if (\n route.status !== undefined &&\n (!Number.isInteger(route.status) ||\n route.status < 200 ||\n route.status > 599)\n ) {\n throw new Error(\n `createMockTransport: status must be an integer from 200 to 599, got ${String(route.status)}`,\n );\n }\n return {\n route,\n method: route.method?.toUpperCase(),\n matcher: matcherFor(route.path),\n remaining: route.times ?? Number.POSITIVE_INFINITY,\n };\n}\n\nfunction requestUrl(input: RequestInfo | URL): string {\n if (typeof input === 'string') return input;\n if (input instanceof URL) return input.href;\n return input.url;\n}\n\nfunction requestHeaders(\n input: RequestInfo | URL,\n init: RequestInit | undefined,\n): Record<string, string> {\n const headers: Record<string, string> = {};\n const source =\n init?.headers ??\n (typeof input === 'object' && !(input instanceof URL)\n ? input.headers\n : undefined);\n if (source) {\n new Headers(source).forEach((value, name) => {\n headers[name] = value;\n });\n }\n return headers;\n}\n\nasync function requestBody(\n input: RequestInfo | URL,\n init: RequestInit | undefined,\n): Promise<string | undefined> {\n const body = init?.body;\n if (body === undefined || body === null) {\n if (typeof input === 'object' && !(input instanceof URL) && input.body) {\n return input.clone().text();\n }\n return undefined;\n }\n if (typeof body === 'string') return body;\n return new Response(body).text();\n}\n\nfunction encode(route: MockRoute): {\n body: string | null;\n status: number;\n headers: Record<string, string>;\n} {\n const status = route.status ?? 200;\n const headers: Record<string, string> = { ...route.headers };\n let body: string | null = null;\n if (typeof route.body === 'string') {\n body = route.body;\n } else if (route.body !== undefined) {\n body = JSON.stringify(route.body);\n const hasContentType = Object.keys(headers).some(\n (name) => name.toLowerCase() === 'content-type',\n );\n if (!hasContentType) headers['content-type'] = 'application/json';\n }\n if (NULL_BODY_STATUSES.has(status)) {\n if (body !== null && body !== '') {\n throw new Error(\n `createMockTransport: a ${status} response cannot carry a body`,\n );\n }\n body = null;\n }\n return { body, status, headers };\n}\n\nfunction describeRoute(route: MockRoute): string {\n const method = route.method?.toUpperCase() ?? 'ANY';\n return `${method} ${String(route.path)}`;\n}\n\n/**\n * Builds a mock `HttpTransport` for tests. Pass it to\n * `createEsi({ transport })`; add routes with `respond()`; read what the\n * application sent from `sent`.\n *\n * A request no route answers rejects with an `EsiConfigurationError` carrying\n * the code `CONFIGURATION_ERROR` and naming the request, which the pipeline\n * raises unchanged and without retrying, and is listed under `unrouted`.\n */\nexport function createMockTransport(\n routes: readonly MockRoute[] = [],\n): MockTransport {\n let active: ActiveRoute[] = routes.map(activate);\n const sent: SentRequest[] = [];\n const unrouted: string[] = [];\n\n const transport = (async (\n input: RequestInfo | URL,\n init?: RequestInit,\n ): Promise<Response> => {\n const url = requestUrl(input);\n const method = (\n init?.method ??\n (typeof input === 'object' && !(input instanceof URL)\n ? input.method\n : undefined) ??\n 'GET'\n ).toUpperCase();\n sent.push({\n method,\n url,\n headers: requestHeaders(input, init),\n body: await requestBody(input, init),\n });\n\n const parsed = new URL(url);\n const index = active.findIndex(\n (candidate) =>\n (candidate.method === undefined || candidate.method === method) &&\n candidate.matcher(parsed),\n );\n if (index === -1) {\n const description = `${method} ${url}`;\n unrouted.push(description);\n const table =\n active.length === 0\n ? 'no routes'\n : `routes: ${active.map((candidate) => describeRoute(candidate.route)).join(', ')}`;\n throw new EsiConfigurationError(\n 'CONFIGURATION_ERROR',\n `createMockTransport has no route for ${description} (${table})`,\n );\n }\n\n const matched = active[index]!;\n matched.remaining -= 1;\n if (matched.remaining === 0) active.splice(index, 1);\n const encoded = encode(matched.route);\n return new Response(encoded.body, {\n status: encoded.status,\n headers: encoded.headers,\n });\n }) as MockTransport;\n\n Object.defineProperties(transport, {\n respond: {\n value: (route: MockRoute): MockTransport => {\n active.push(activate(route));\n return transport;\n },\n },\n routes: { get: () => active.map((candidate) => candidate.route) },\n sent: { get: () => sent.slice() },\n unrouted: { get: () => unrouted.slice() },\n reset: {\n value: (): void => {\n active = [];\n sent.length = 0;\n unrouted.length = 0;\n },\n },\n });\n return transport;\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import {
2
+ EsiConfigurationError,
2
3
  EsiError
3
- } from "../chunk-D5L5HZVF.mjs";
4
+ } from "../chunk-JNFQXEWZ.mjs";
4
5
  import "../chunk-JIW4BXLP.mjs";
5
6
 
6
7
  // src/testing/TestDataFactory.ts
@@ -681,12 +682,12 @@ var TestDataFactory = class {
681
682
  }
682
683
  static createRaidableSkyhook(overrides = {}) {
683
684
  return {
684
- structure_id: 200000001,
685
- system_id: 30000142,
686
- corporation_id: 98000002,
687
- alliance_id: 99000006,
688
- raidable_at: "2026-05-20T12:00:00Z",
689
- is_raidable: true,
685
+ planet_id: 40229601,
686
+ solar_system_id: 30003618,
687
+ theft_vulnerability: {
688
+ start: "2026-09-17T12:14:02Z",
689
+ end: "2026-09-17T14:14:02Z"
690
+ },
690
691
  ...overrides
691
692
  };
692
693
  }
@@ -920,7 +921,153 @@ var TestDataFactory = class {
920
921
  };
921
922
  }
922
923
  };
924
+
925
+ // src/testing/mockTransport.ts
926
+ var NULL_BODY_STATUSES = /* @__PURE__ */ new Set([204, 205, 304]);
927
+ function templateMatcher(template) {
928
+ let trimmed = template;
929
+ while (trimmed.endsWith("/")) trimmed = trimmed.slice(0, -1);
930
+ const pattern = trimmed.split("/").map(
931
+ (segment) => /^\{[^}]+\}$/.test(segment) ? "[^/]+" : segment.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
932
+ ).join("/");
933
+ const expression = new RegExp(`^${pattern}/?$`);
934
+ return (url) => expression.test(url.pathname);
935
+ }
936
+ function matcherFor(path) {
937
+ if (typeof path === "string") return templateMatcher(path);
938
+ return (url) => {
939
+ path.lastIndex = 0;
940
+ return path.test(url.href);
941
+ };
942
+ }
943
+ function activate(route) {
944
+ if (route.times !== void 0 && (!Number.isInteger(route.times) || route.times < 1)) {
945
+ throw new Error(
946
+ `createMockTransport: times must be a positive integer, got ${String(route.times)}`
947
+ );
948
+ }
949
+ if (route.status !== void 0 && (!Number.isInteger(route.status) || route.status < 200 || route.status > 599)) {
950
+ throw new Error(
951
+ `createMockTransport: status must be an integer from 200 to 599, got ${String(route.status)}`
952
+ );
953
+ }
954
+ return {
955
+ route,
956
+ method: route.method?.toUpperCase(),
957
+ matcher: matcherFor(route.path),
958
+ remaining: route.times ?? Number.POSITIVE_INFINITY
959
+ };
960
+ }
961
+ function requestUrl(input) {
962
+ if (typeof input === "string") return input;
963
+ if (input instanceof URL) return input.href;
964
+ return input.url;
965
+ }
966
+ function requestHeaders(input, init) {
967
+ const headers = {};
968
+ const source = init?.headers ?? (typeof input === "object" && !(input instanceof URL) ? input.headers : void 0);
969
+ if (source) {
970
+ new Headers(source).forEach((value, name) => {
971
+ headers[name] = value;
972
+ });
973
+ }
974
+ return headers;
975
+ }
976
+ async function requestBody(input, init) {
977
+ const body = init?.body;
978
+ if (body === void 0 || body === null) {
979
+ if (typeof input === "object" && !(input instanceof URL) && input.body) {
980
+ return input.clone().text();
981
+ }
982
+ return void 0;
983
+ }
984
+ if (typeof body === "string") return body;
985
+ return new Response(body).text();
986
+ }
987
+ function encode(route) {
988
+ const status = route.status ?? 200;
989
+ const headers = { ...route.headers };
990
+ let body = null;
991
+ if (typeof route.body === "string") {
992
+ body = route.body;
993
+ } else if (route.body !== void 0) {
994
+ body = JSON.stringify(route.body);
995
+ const hasContentType = Object.keys(headers).some(
996
+ (name) => name.toLowerCase() === "content-type"
997
+ );
998
+ if (!hasContentType) headers["content-type"] = "application/json";
999
+ }
1000
+ if (NULL_BODY_STATUSES.has(status)) {
1001
+ if (body !== null && body !== "") {
1002
+ throw new Error(
1003
+ `createMockTransport: a ${status} response cannot carry a body`
1004
+ );
1005
+ }
1006
+ body = null;
1007
+ }
1008
+ return { body, status, headers };
1009
+ }
1010
+ function describeRoute(route) {
1011
+ const method = route.method?.toUpperCase() ?? "ANY";
1012
+ return `${method} ${String(route.path)}`;
1013
+ }
1014
+ function createMockTransport(routes = []) {
1015
+ let active = routes.map(activate);
1016
+ const sent = [];
1017
+ const unrouted = [];
1018
+ const transport = (async (input, init) => {
1019
+ const url = requestUrl(input);
1020
+ const method = (init?.method ?? (typeof input === "object" && !(input instanceof URL) ? input.method : void 0) ?? "GET").toUpperCase();
1021
+ sent.push({
1022
+ method,
1023
+ url,
1024
+ headers: requestHeaders(input, init),
1025
+ body: await requestBody(input, init)
1026
+ });
1027
+ const parsed = new URL(url);
1028
+ const index = active.findIndex(
1029
+ (candidate) => (candidate.method === void 0 || candidate.method === method) && candidate.matcher(parsed)
1030
+ );
1031
+ if (index === -1) {
1032
+ const description = `${method} ${url}`;
1033
+ unrouted.push(description);
1034
+ const table = active.length === 0 ? "no routes" : `routes: ${active.map((candidate) => describeRoute(candidate.route)).join(", ")}`;
1035
+ throw new EsiConfigurationError(
1036
+ "CONFIGURATION_ERROR",
1037
+ `createMockTransport has no route for ${description} (${table})`
1038
+ );
1039
+ }
1040
+ const matched = active[index];
1041
+ matched.remaining -= 1;
1042
+ if (matched.remaining === 0) active.splice(index, 1);
1043
+ const encoded = encode(matched.route);
1044
+ return new Response(encoded.body, {
1045
+ status: encoded.status,
1046
+ headers: encoded.headers
1047
+ });
1048
+ });
1049
+ Object.defineProperties(transport, {
1050
+ respond: {
1051
+ value: (route) => {
1052
+ active.push(activate(route));
1053
+ return transport;
1054
+ }
1055
+ },
1056
+ routes: { get: () => active.map((candidate) => candidate.route) },
1057
+ sent: { get: () => sent.slice() },
1058
+ unrouted: { get: () => unrouted.slice() },
1059
+ reset: {
1060
+ value: () => {
1061
+ active = [];
1062
+ sent.length = 0;
1063
+ unrouted.length = 0;
1064
+ }
1065
+ }
1066
+ });
1067
+ return transport;
1068
+ }
923
1069
  export {
924
- TestDataFactory
1070
+ TestDataFactory,
1071
+ createMockTransport
925
1072
  };
926
1073
  //# sourceMappingURL=index.mjs.map