pmxtjs 2.33.4 → 2.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/generated/src/apis/DefaultApi.d.ts +72 -7
- package/dist/esm/generated/src/apis/DefaultApi.js +107 -6
- package/dist/esm/generated/src/models/ArbitrageOpportunity.d.ts +23 -0
- package/dist/esm/generated/src/models/ArbitrageOpportunity.js +14 -0
- package/dist/esm/generated/src/models/CompareMarketPricesRequest.d.ts +3 -3
- package/dist/esm/generated/src/models/CompareMarketPricesRequest.js +3 -3
- package/dist/esm/generated/src/models/FetchArbitrageParams.d.ts +17 -0
- package/dist/esm/generated/src/models/FetchArbitrageParams.js +12 -0
- package/dist/esm/generated/src/models/FetchEventMatchesParams.d.ts +7 -0
- package/dist/esm/generated/src/models/FetchEventMatchesParams.js +3 -0
- package/dist/esm/generated/src/models/FetchMarketMatches200Response.d.ts +46 -0
- package/dist/esm/generated/src/models/{FetchMatches200Response.js → FetchMarketMatches200Response.js} +8 -8
- package/dist/esm/generated/src/models/FetchMarketMatchesParams.d.ts +86 -0
- package/dist/esm/generated/src/models/{FetchMatchesParams.js → FetchMarketMatchesParams.js} +12 -9
- package/dist/esm/generated/src/models/UnifiedEvent.d.ts +6 -0
- package/dist/esm/generated/src/models/UnifiedEvent.js +2 -0
- package/dist/esm/generated/src/models/UnifiedMarket.d.ts +6 -0
- package/dist/esm/generated/src/models/UnifiedMarket.js +2 -0
- package/dist/esm/generated/src/models/index.d.ts +2 -2
- package/dist/esm/generated/src/models/index.js +2 -2
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/pmxt/client.js +2 -0
- package/dist/esm/pmxt/models.d.ts +66 -0
- package/dist/esm/pmxt/router.d.ts +133 -0
- package/dist/esm/pmxt/router.js +338 -0
- package/dist/generated/src/apis/DefaultApi.d.ts +72 -7
- package/dist/generated/src/apis/DefaultApi.js +108 -7
- package/dist/generated/src/models/ArbitrageOpportunity.d.ts +23 -0
- package/dist/generated/src/models/ArbitrageOpportunity.js +15 -0
- package/dist/generated/src/models/CompareMarketPricesRequest.d.ts +3 -3
- package/dist/generated/src/models/CompareMarketPricesRequest.js +3 -3
- package/dist/generated/src/models/FetchArbitrageParams.d.ts +17 -0
- package/dist/generated/src/models/FetchArbitrageParams.js +13 -0
- package/dist/generated/src/models/FetchEventMatchesParams.d.ts +7 -0
- package/dist/generated/src/models/FetchEventMatchesParams.js +3 -0
- package/dist/generated/src/models/FetchMarketMatches200Response.d.ts +46 -0
- package/dist/generated/src/models/{FetchMatches200Response.js → FetchMarketMatches200Response.js} +13 -13
- package/dist/generated/src/models/FetchMarketMatchesParams.d.ts +86 -0
- package/dist/generated/src/models/{FetchMatchesParams.js → FetchMarketMatchesParams.js} +18 -15
- package/dist/generated/src/models/UnifiedEvent.d.ts +6 -0
- package/dist/generated/src/models/UnifiedEvent.js +2 -0
- package/dist/generated/src/models/UnifiedMarket.d.ts +6 -0
- package/dist/generated/src/models/UnifiedMarket.js +2 -0
- package/dist/generated/src/models/index.d.ts +2 -2
- package/dist/generated/src/models/index.js +2 -2
- package/dist/index.d.ts +3 -0
- package/dist/index.js +5 -1
- package/dist/pmxt/client.js +2 -0
- package/dist/pmxt/models.d.ts +66 -0
- package/dist/pmxt/router.d.ts +133 -0
- package/dist/pmxt/router.js +375 -0
- package/generated/.openapi-generator/FILES +4 -4
- package/generated/docs/ArbitrageOpportunity.md +4 -0
- package/generated/docs/CompareMarketPricesRequest.md +1 -1
- package/generated/docs/DefaultApi.md +112 -10
- package/generated/docs/FetchArbitrageParams.md +2 -0
- package/generated/docs/FetchEventMatchesParams.md +2 -0
- package/generated/docs/{FetchMatches200Response.md → FetchMarketMatches200Response.md} +4 -4
- package/generated/docs/{FetchMatchesParams.md → FetchMarketMatchesParams.md} +6 -4
- package/generated/docs/UnifiedEvent.md +2 -0
- package/generated/docs/UnifiedMarket.md +2 -0
- package/generated/package.json +1 -1
- package/generated/src/apis/DefaultApi.ts +159 -10
- package/generated/src/models/ArbitrageOpportunity.ts +30 -0
- package/generated/src/models/CompareMarketPricesRequest.ts +11 -11
- package/generated/src/models/FetchArbitrageParams.ts +22 -0
- package/generated/src/models/FetchEventMatchesParams.ts +16 -0
- package/generated/src/models/{FetchMatches200Response.ts → FetchMarketMatches200Response.ts} +13 -13
- package/generated/src/models/{FetchMatchesParams.ts → FetchMarketMatchesParams.ts} +36 -20
- package/generated/src/models/UnifiedEvent.ts +8 -0
- package/generated/src/models/UnifiedMarket.ts +8 -0
- package/generated/src/models/index.ts +2 -2
- package/index.ts +3 -0
- package/package.json +2 -2
- package/pmxt/client.ts +2 -0
- package/pmxt/models.ts +97 -0
- package/pmxt/router.ts +385 -0
- package/dist/esm/generated/src/models/FetchMatches200Response.d.ts +0 -46
- package/dist/esm/generated/src/models/FetchMatchesParams.d.ts +0 -79
- package/dist/generated/src/models/FetchMatches200Response.d.ts +0 -46
- package/dist/generated/src/models/FetchMatchesParams.d.ts +0 -79
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Router — cross-venue intelligence layer.
|
|
3
|
+
*
|
|
4
|
+
* Search, match, compare prices, find hedges, and detect arbitrage across
|
|
5
|
+
* every venue PMXT supports. Only requires a PMXT API key.
|
|
6
|
+
*/
|
|
7
|
+
import { Exchange } from "./client.js";
|
|
8
|
+
function convertMarket(raw) {
|
|
9
|
+
const outcomes = (raw.outcomes || []).map((o) => ({
|
|
10
|
+
outcomeId: o.outcomeId,
|
|
11
|
+
marketId: o.marketId,
|
|
12
|
+
label: o.label,
|
|
13
|
+
price: o.price,
|
|
14
|
+
priceChange24h: o.priceChange24h,
|
|
15
|
+
metadata: o.metadata,
|
|
16
|
+
}));
|
|
17
|
+
const convertOutcome = (o) => o ? ({
|
|
18
|
+
outcomeId: o.outcomeId,
|
|
19
|
+
marketId: o.marketId,
|
|
20
|
+
label: o.label,
|
|
21
|
+
price: o.price,
|
|
22
|
+
priceChange24h: o.priceChange24h,
|
|
23
|
+
metadata: o.metadata,
|
|
24
|
+
}) : undefined;
|
|
25
|
+
return {
|
|
26
|
+
marketId: raw.marketId,
|
|
27
|
+
title: raw.title,
|
|
28
|
+
slug: raw.slug,
|
|
29
|
+
outcomes,
|
|
30
|
+
volume24h: raw.volume24h || 0,
|
|
31
|
+
liquidity: raw.liquidity || 0,
|
|
32
|
+
url: raw.url,
|
|
33
|
+
description: raw.description,
|
|
34
|
+
resolutionDate: raw.resolutionDate ? new Date(raw.resolutionDate) : undefined,
|
|
35
|
+
volume: raw.volume,
|
|
36
|
+
openInterest: raw.openInterest,
|
|
37
|
+
image: raw.image,
|
|
38
|
+
category: raw.category,
|
|
39
|
+
tags: raw.tags,
|
|
40
|
+
tickSize: raw.tickSize,
|
|
41
|
+
status: raw.status,
|
|
42
|
+
contractAddress: raw.contractAddress,
|
|
43
|
+
sourceExchange: raw.sourceExchange,
|
|
44
|
+
eventId: raw.eventId,
|
|
45
|
+
yes: convertOutcome(raw.yes),
|
|
46
|
+
no: convertOutcome(raw.no),
|
|
47
|
+
up: convertOutcome(raw.up),
|
|
48
|
+
down: convertOutcome(raw.down),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function convertEvent(raw) {
|
|
52
|
+
return {
|
|
53
|
+
id: raw.id,
|
|
54
|
+
title: raw.title,
|
|
55
|
+
description: raw.description,
|
|
56
|
+
slug: raw.slug,
|
|
57
|
+
markets: (raw.markets || []).map(convertMarket),
|
|
58
|
+
volume24h: raw.volume24h,
|
|
59
|
+
volume: raw.volume,
|
|
60
|
+
url: raw.url,
|
|
61
|
+
image: raw.image,
|
|
62
|
+
category: raw.category,
|
|
63
|
+
tags: raw.tags,
|
|
64
|
+
sourceExchange: raw.sourceExchange,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
function parseMatchResult(raw) {
|
|
68
|
+
const marketData = raw.market || {};
|
|
69
|
+
return {
|
|
70
|
+
market: convertMarket(marketData),
|
|
71
|
+
relation: raw.relation || 'identity',
|
|
72
|
+
confidence: raw.confidence || 0,
|
|
73
|
+
reasoning: raw.reasoning,
|
|
74
|
+
bestBid: raw.bestBid ?? marketData.bestBid,
|
|
75
|
+
bestAsk: raw.bestAsk ?? marketData.bestAsk,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Cross-venue intelligence layer.
|
|
80
|
+
*
|
|
81
|
+
* Search markets and events across every venue, find semantically
|
|
82
|
+
* equivalent markets on other platforms, compare prices, discover
|
|
83
|
+
* hedges, and scan for arbitrage — all from a single PMXT API key.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* import pmxt from "pmxtjs";
|
|
88
|
+
*
|
|
89
|
+
* const router = new pmxt.Router({ pmxtApiKey: "pmxt_live_..." });
|
|
90
|
+
* const markets = await router.fetchMarkets({ query: "election" });
|
|
91
|
+
* const matches = await router.fetchMarketMatches({ market: markets[0] });
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export class Router extends Exchange {
|
|
95
|
+
constructor(options = {}) {
|
|
96
|
+
super("router", options);
|
|
97
|
+
}
|
|
98
|
+
// ------------------------------------------------------------------
|
|
99
|
+
// Matching
|
|
100
|
+
// ------------------------------------------------------------------
|
|
101
|
+
/**
|
|
102
|
+
* Find markets on other venues that correspond to a given market.
|
|
103
|
+
*
|
|
104
|
+
* @param params.market - A UnifiedMarket object (extracts marketId automatically).
|
|
105
|
+
* @param params.marketId - PMXT market ID.
|
|
106
|
+
* @param params.slug - Market slug (alternative to marketId).
|
|
107
|
+
* @param params.url - Market URL on the source venue.
|
|
108
|
+
* @param params.relation - Filter to a specific relation type.
|
|
109
|
+
* @param params.minConfidence - Minimum confidence threshold (0–1).
|
|
110
|
+
* @param params.limit - Maximum number of matches to return.
|
|
111
|
+
* @param params.includePrices - Attach live bestBid/bestAsk to each match.
|
|
112
|
+
*/
|
|
113
|
+
async fetchMarketMatches(params = {}) {
|
|
114
|
+
await this.initPromise;
|
|
115
|
+
const query = {};
|
|
116
|
+
const marketId = params.marketId ?? params.market?.marketId;
|
|
117
|
+
if (marketId)
|
|
118
|
+
query.marketId = marketId;
|
|
119
|
+
if (params.slug)
|
|
120
|
+
query.slug = params.slug;
|
|
121
|
+
if (params.url)
|
|
122
|
+
query.url = params.url;
|
|
123
|
+
if (params.relation)
|
|
124
|
+
query.relation = params.relation;
|
|
125
|
+
if (params.minConfidence !== undefined)
|
|
126
|
+
query.minConfidence = params.minConfidence;
|
|
127
|
+
if (params.limit !== undefined)
|
|
128
|
+
query.limit = params.limit;
|
|
129
|
+
if (params.includePrices)
|
|
130
|
+
query.includePrices = true;
|
|
131
|
+
try {
|
|
132
|
+
const json = await this.sidecarReadRequest('fetchMatches', query, [query]);
|
|
133
|
+
const data = this.handleResponse(json);
|
|
134
|
+
if (!data)
|
|
135
|
+
return [];
|
|
136
|
+
return data.map(parseMatchResult);
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
if (error instanceof Error)
|
|
140
|
+
throw error;
|
|
141
|
+
throw new Error(`Failed to fetchMarketMatches: ${error}`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* @deprecated Use {@link fetchMarketMatches} instead.
|
|
146
|
+
*/
|
|
147
|
+
async fetchMatches(params = {}) {
|
|
148
|
+
console.warn('[pmxt] fetchMatches is deprecated, use fetchMarketMatches instead');
|
|
149
|
+
return this.fetchMarketMatches(params);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Match an entire event across venues.
|
|
153
|
+
*
|
|
154
|
+
* @param params.event - A UnifiedEvent object (extracts id automatically).
|
|
155
|
+
* @param params.eventId - PMXT event ID.
|
|
156
|
+
* @param params.slug - Event slug.
|
|
157
|
+
* @param params.relation - Filter market matches to a specific relation type.
|
|
158
|
+
* @param params.minConfidence - Minimum confidence threshold (0–1).
|
|
159
|
+
* @param params.limit - Maximum number of event matches to return.
|
|
160
|
+
* @param params.includePrices - Attach live prices to each market match.
|
|
161
|
+
*/
|
|
162
|
+
async fetchEventMatches(params = {}) {
|
|
163
|
+
await this.initPromise;
|
|
164
|
+
const query = {};
|
|
165
|
+
const eventId = params.eventId ?? params.event?.id;
|
|
166
|
+
if (eventId)
|
|
167
|
+
query.eventId = eventId;
|
|
168
|
+
if (params.slug)
|
|
169
|
+
query.slug = params.slug;
|
|
170
|
+
if (params.relation)
|
|
171
|
+
query.relation = params.relation;
|
|
172
|
+
if (params.minConfidence !== undefined)
|
|
173
|
+
query.minConfidence = params.minConfidence;
|
|
174
|
+
if (params.limit !== undefined)
|
|
175
|
+
query.limit = params.limit;
|
|
176
|
+
if (params.includePrices)
|
|
177
|
+
query.includePrices = true;
|
|
178
|
+
try {
|
|
179
|
+
const json = await this.sidecarReadRequest('fetchEventMatches', query, [query]);
|
|
180
|
+
const data = this.handleResponse(json);
|
|
181
|
+
if (!data)
|
|
182
|
+
return [];
|
|
183
|
+
return data.map((entry) => ({
|
|
184
|
+
event: convertEvent(entry.event || {}),
|
|
185
|
+
marketMatches: (entry.marketMatches || []).map(parseMatchResult),
|
|
186
|
+
}));
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
if (error instanceof Error)
|
|
190
|
+
throw error;
|
|
191
|
+
throw new Error(`Failed to fetchEventMatches: ${error}`);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
// ------------------------------------------------------------------
|
|
195
|
+
// Price comparison
|
|
196
|
+
// ------------------------------------------------------------------
|
|
197
|
+
/**
|
|
198
|
+
* Compare prices for the same market across venues.
|
|
199
|
+
*
|
|
200
|
+
* @param params.market - A UnifiedMarket object (extracts marketId automatically).
|
|
201
|
+
* @param params.marketId - PMXT market ID.
|
|
202
|
+
* @param params.slug - Market slug.
|
|
203
|
+
* @param params.url - Market URL.
|
|
204
|
+
*/
|
|
205
|
+
async compareMarketPrices(params = {}) {
|
|
206
|
+
await this.initPromise;
|
|
207
|
+
const query = {};
|
|
208
|
+
const marketId = params.marketId ?? params.market?.marketId;
|
|
209
|
+
if (marketId)
|
|
210
|
+
query.marketId = marketId;
|
|
211
|
+
if (params.slug)
|
|
212
|
+
query.slug = params.slug;
|
|
213
|
+
if (params.url)
|
|
214
|
+
query.url = params.url;
|
|
215
|
+
try {
|
|
216
|
+
const url = `${this.config.basePath}/api/${this.exchangeName}/compareMarketPrices`;
|
|
217
|
+
const response = await fetch(url, {
|
|
218
|
+
method: 'POST',
|
|
219
|
+
headers: { 'Content-Type': 'application/json', ...this.getAuthHeaders() },
|
|
220
|
+
body: JSON.stringify({ args: [query], credentials: this.getCredentials() }),
|
|
221
|
+
});
|
|
222
|
+
if (!response.ok) {
|
|
223
|
+
const body = await response.json().catch(() => ({}));
|
|
224
|
+
if (body.error && typeof body.error === 'object') {
|
|
225
|
+
const { fromServerError } = await import('./errors.js');
|
|
226
|
+
throw fromServerError(body.error);
|
|
227
|
+
}
|
|
228
|
+
throw new Error(body.error?.message || response.statusText);
|
|
229
|
+
}
|
|
230
|
+
const json = await response.json();
|
|
231
|
+
const data = this.handleResponse(json);
|
|
232
|
+
if (!data)
|
|
233
|
+
return [];
|
|
234
|
+
return data.map((r) => ({
|
|
235
|
+
market: convertMarket(r.market || {}),
|
|
236
|
+
relation: r.relation || 'identity',
|
|
237
|
+
confidence: r.confidence || 0,
|
|
238
|
+
reasoning: r.reasoning,
|
|
239
|
+
bestBid: r.bestBid,
|
|
240
|
+
bestAsk: r.bestAsk,
|
|
241
|
+
venue: r.venue || '',
|
|
242
|
+
}));
|
|
243
|
+
}
|
|
244
|
+
catch (error) {
|
|
245
|
+
if (error instanceof Error)
|
|
246
|
+
throw error;
|
|
247
|
+
throw new Error(`Failed to compareMarketPrices: ${error}`);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
// ------------------------------------------------------------------
|
|
251
|
+
// Hedging
|
|
252
|
+
// ------------------------------------------------------------------
|
|
253
|
+
/**
|
|
254
|
+
* Find markets that partially hedge a position.
|
|
255
|
+
*
|
|
256
|
+
* @param params.market - A UnifiedMarket object (extracts marketId automatically).
|
|
257
|
+
* @param params.marketId - PMXT market ID.
|
|
258
|
+
* @param params.slug - Market slug.
|
|
259
|
+
* @param params.url - Market URL.
|
|
260
|
+
*/
|
|
261
|
+
async fetchHedges(params = {}) {
|
|
262
|
+
await this.initPromise;
|
|
263
|
+
const query = {};
|
|
264
|
+
const marketId = params.marketId ?? params.market?.marketId;
|
|
265
|
+
if (marketId)
|
|
266
|
+
query.marketId = marketId;
|
|
267
|
+
if (params.slug)
|
|
268
|
+
query.slug = params.slug;
|
|
269
|
+
if (params.url)
|
|
270
|
+
query.url = params.url;
|
|
271
|
+
try {
|
|
272
|
+
const json = await this.sidecarReadRequest('fetchHedges', query, [query]);
|
|
273
|
+
const data = this.handleResponse(json);
|
|
274
|
+
if (!data)
|
|
275
|
+
return [];
|
|
276
|
+
return data.map((r) => ({
|
|
277
|
+
market: convertMarket(r.market || {}),
|
|
278
|
+
relation: r.relation || 'identity',
|
|
279
|
+
confidence: r.confidence || 0,
|
|
280
|
+
reasoning: r.reasoning,
|
|
281
|
+
bestBid: r.bestBid,
|
|
282
|
+
bestAsk: r.bestAsk,
|
|
283
|
+
venue: r.venue || '',
|
|
284
|
+
}));
|
|
285
|
+
}
|
|
286
|
+
catch (error) {
|
|
287
|
+
if (error instanceof Error)
|
|
288
|
+
throw error;
|
|
289
|
+
throw new Error(`Failed to fetchHedges: ${error}`);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
// ------------------------------------------------------------------
|
|
293
|
+
// Arbitrage
|
|
294
|
+
// ------------------------------------------------------------------
|
|
295
|
+
/**
|
|
296
|
+
* Scan for cross-venue arbitrage opportunities.
|
|
297
|
+
*
|
|
298
|
+
* @param params.minSpread - Only return pairs with spread >= this value.
|
|
299
|
+
* @param params.category - Filter source markets by category.
|
|
300
|
+
* @param params.limit - Max source markets to scan (default: 50).
|
|
301
|
+
* @param params.relations - Relation types to include (default: ['identity']).
|
|
302
|
+
*/
|
|
303
|
+
async fetchArbitrage(params = {}) {
|
|
304
|
+
await this.initPromise;
|
|
305
|
+
const query = {};
|
|
306
|
+
if (params.minSpread !== undefined)
|
|
307
|
+
query.minSpread = params.minSpread;
|
|
308
|
+
if (params.category)
|
|
309
|
+
query.category = params.category;
|
|
310
|
+
if (params.limit !== undefined)
|
|
311
|
+
query.limit = params.limit;
|
|
312
|
+
if (params.relations && params.relations.length > 0) {
|
|
313
|
+
query.relations = params.relations.join(',');
|
|
314
|
+
}
|
|
315
|
+
try {
|
|
316
|
+
const json = await this.sidecarReadRequest('fetchArbitrage', query, [query]);
|
|
317
|
+
const data = this.handleResponse(json);
|
|
318
|
+
if (!data)
|
|
319
|
+
return [];
|
|
320
|
+
return data.map((r) => ({
|
|
321
|
+
marketA: convertMarket(r.marketA || {}),
|
|
322
|
+
marketB: convertMarket(r.marketB || {}),
|
|
323
|
+
spread: r.spread || 0,
|
|
324
|
+
buyVenue: r.buyVenue || '',
|
|
325
|
+
sellVenue: r.sellVenue || '',
|
|
326
|
+
buyPrice: r.buyPrice || 0,
|
|
327
|
+
sellPrice: r.sellPrice || 0,
|
|
328
|
+
relation: r.relation,
|
|
329
|
+
confidence: r.confidence,
|
|
330
|
+
}));
|
|
331
|
+
}
|
|
332
|
+
catch (error) {
|
|
333
|
+
if (error instanceof Error)
|
|
334
|
+
throw error;
|
|
335
|
+
throw new Error(`Failed to fetchArbitrage: ${error}`);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
12
|
import * as runtime from '../runtime';
|
|
13
|
-
import type { BaseResponse, BuildOrder200Response, BuildOrderRequest, CancelOrderRequest, CloseRequest, CompareMarketPrices200Response, CompareMarketPricesRequest, CreateOrder200Response, CreateOrderRequest, EventFilterCriteria, FetchArbitrage200Response, FetchBalance200Response, FetchEvent200Response, FetchEventMatches200Response, FetchEvents200Response, FetchMarket200Response, FetchMarkets200Response, FetchMarketsPaginated200Response,
|
|
13
|
+
import type { BaseResponse, BuildOrder200Response, BuildOrderRequest, CancelOrderRequest, CloseRequest, CompareMarketPrices200Response, CompareMarketPricesRequest, CreateOrder200Response, CreateOrderRequest, EventFilterCriteria, FetchArbitrage200Response, FetchBalance200Response, FetchEvent200Response, FetchEventMatches200Response, FetchEvents200Response, FetchMarket200Response, FetchMarketMatches200Response, FetchMarkets200Response, FetchMarketsPaginated200Response, FetchMyTrades200Response, FetchOHLCV200Response, FetchOpenOrders200Response, FetchOrderBook200Response, FetchPositions200Response, FetchTrades200Response, FilterEventsRequest, FilterMarketsRequest, GetExecutionPrice200Response, GetExecutionPriceDetailed200Response, GetExecutionPriceDetailedRequest, GetExecutionPriceRequest, HealthCheck200Response, LoadMarkets200Response, LoadMarketsRequest, MarketFilterCriteria, SubmitOrderRequest, UnifiedEvent, UnifiedMarket, UnwatchAddressRequest, UnwatchOrderBookRequest, WatchAddress200Response, WatchAddressRequest, WatchOrderBookRequest, WatchTradesRequest } from '../models/index';
|
|
14
14
|
export interface BuildOrderOperationRequest {
|
|
15
15
|
exchange: BuildOrderOperationExchangeEnum;
|
|
16
16
|
buildOrderRequest?: BuildOrderRequest;
|
|
@@ -44,6 +44,7 @@ export interface FetchArbitrageRequest {
|
|
|
44
44
|
minSpread?: number;
|
|
45
45
|
category?: string;
|
|
46
46
|
limit?: number;
|
|
47
|
+
relations?: Array<FetchArbitrageRelationsEnum>;
|
|
47
48
|
}
|
|
48
49
|
export interface FetchBalanceRequest {
|
|
49
50
|
exchange: FetchBalanceExchangeEnum;
|
|
@@ -73,6 +74,7 @@ export interface FetchEventRequest {
|
|
|
73
74
|
}
|
|
74
75
|
export interface FetchEventMatchesRequest {
|
|
75
76
|
exchange: FetchEventMatchesExchangeEnum;
|
|
77
|
+
event?: UnifiedEvent;
|
|
76
78
|
eventId?: string;
|
|
77
79
|
slug?: string;
|
|
78
80
|
relation?: FetchEventMatchesRelationEnum;
|
|
@@ -96,6 +98,7 @@ export interface FetchEventsRequest {
|
|
|
96
98
|
}
|
|
97
99
|
export interface FetchHedgesRequest {
|
|
98
100
|
exchange: FetchHedgesExchangeEnum;
|
|
101
|
+
market?: UnifiedMarket;
|
|
99
102
|
marketId?: string;
|
|
100
103
|
slug?: string;
|
|
101
104
|
url?: string;
|
|
@@ -119,6 +122,17 @@ export interface FetchMarketRequest {
|
|
|
119
122
|
page?: number;
|
|
120
123
|
similarityThreshold?: number;
|
|
121
124
|
}
|
|
125
|
+
export interface FetchMarketMatchesRequest {
|
|
126
|
+
exchange: FetchMarketMatchesExchangeEnum;
|
|
127
|
+
market?: UnifiedMarket;
|
|
128
|
+
marketId?: string;
|
|
129
|
+
slug?: string;
|
|
130
|
+
url?: string;
|
|
131
|
+
relation?: FetchMarketMatchesRelationEnum;
|
|
132
|
+
minConfidence?: number;
|
|
133
|
+
limit?: number;
|
|
134
|
+
includePrices?: boolean;
|
|
135
|
+
}
|
|
122
136
|
export interface FetchMarketsRequest {
|
|
123
137
|
exchange: FetchMarketsExchangeEnum;
|
|
124
138
|
limit?: number;
|
|
@@ -142,6 +156,7 @@ export interface FetchMarketsPaginatedRequest {
|
|
|
142
156
|
}
|
|
143
157
|
export interface FetchMatchesRequest {
|
|
144
158
|
exchange: FetchMatchesExchangeEnum;
|
|
159
|
+
market?: UnifiedMarket;
|
|
145
160
|
marketId?: string;
|
|
146
161
|
slug?: string;
|
|
147
162
|
url?: string;
|
|
@@ -374,6 +389,16 @@ export declare class DefaultApi extends runtime.BaseAPI {
|
|
|
374
389
|
* Fetch Market
|
|
375
390
|
*/
|
|
376
391
|
fetchMarket(requestParameters: FetchMarketRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FetchMarket200Response>;
|
|
392
|
+
/**
|
|
393
|
+
* Find the same or related market on other venues. Given a market on one venue, discover semantically equivalent markets across every other venue PMXT ingests — each with a relation type (identity, subset, superset, overlap, disjoint), confidence score, and reasoning.
|
|
394
|
+
* Find Similar Markets
|
|
395
|
+
*/
|
|
396
|
+
fetchMarketMatchesRaw(requestParameters: FetchMarketMatchesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FetchMarketMatches200Response>>;
|
|
397
|
+
/**
|
|
398
|
+
* Find the same or related market on other venues. Given a market on one venue, discover semantically equivalent markets across every other venue PMXT ingests — each with a relation type (identity, subset, superset, overlap, disjoint), confidence score, and reasoning.
|
|
399
|
+
* Find Similar Markets
|
|
400
|
+
*/
|
|
401
|
+
fetchMarketMatches(requestParameters: FetchMarketMatchesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FetchMarketMatches200Response>;
|
|
377
402
|
/**
|
|
378
403
|
* Fetch markets with optional filtering, search, or slug lookup. Always hits the exchange API — results reflect the live state at the time of the call.
|
|
379
404
|
* Fetch Markets
|
|
@@ -395,15 +420,15 @@ export declare class DefaultApi extends runtime.BaseAPI {
|
|
|
395
420
|
*/
|
|
396
421
|
fetchMarketsPaginated(requestParameters: FetchMarketsPaginatedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FetchMarketsPaginated200Response>;
|
|
397
422
|
/**
|
|
398
|
-
* Find
|
|
399
|
-
*
|
|
423
|
+
* Find Similar Markets (Deprecated)
|
|
424
|
+
* @deprecated
|
|
400
425
|
*/
|
|
401
|
-
fetchMatchesRaw(requestParameters: FetchMatchesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<
|
|
426
|
+
fetchMatchesRaw(requestParameters: FetchMatchesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FetchMarketMatches200Response>>;
|
|
402
427
|
/**
|
|
403
|
-
* Find
|
|
404
|
-
*
|
|
428
|
+
* Find Similar Markets (Deprecated)
|
|
429
|
+
* @deprecated
|
|
405
430
|
*/
|
|
406
|
-
fetchMatches(requestParameters: FetchMatchesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<
|
|
431
|
+
fetchMatches(requestParameters: FetchMatchesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FetchMarketMatches200Response>;
|
|
407
432
|
/**
|
|
408
433
|
* Fetch My Trades
|
|
409
434
|
*/
|
|
@@ -717,6 +742,17 @@ export declare const FetchArbitrageExchangeEnum: {
|
|
|
717
742
|
readonly Router: "router";
|
|
718
743
|
};
|
|
719
744
|
export type FetchArbitrageExchangeEnum = typeof FetchArbitrageExchangeEnum[keyof typeof FetchArbitrageExchangeEnum];
|
|
745
|
+
/**
|
|
746
|
+
* @export
|
|
747
|
+
*/
|
|
748
|
+
export declare const FetchArbitrageRelationsEnum: {
|
|
749
|
+
readonly Identity: "identity";
|
|
750
|
+
readonly Subset: "subset";
|
|
751
|
+
readonly Superset: "superset";
|
|
752
|
+
readonly Overlap: "overlap";
|
|
753
|
+
readonly Disjoint: "disjoint";
|
|
754
|
+
};
|
|
755
|
+
export type FetchArbitrageRelationsEnum = typeof FetchArbitrageRelationsEnum[keyof typeof FetchArbitrageRelationsEnum];
|
|
720
756
|
/**
|
|
721
757
|
* @export
|
|
722
758
|
*/
|
|
@@ -949,6 +985,35 @@ export declare const FetchMarketSearchInEnum: {
|
|
|
949
985
|
readonly Both: "both";
|
|
950
986
|
};
|
|
951
987
|
export type FetchMarketSearchInEnum = typeof FetchMarketSearchInEnum[keyof typeof FetchMarketSearchInEnum];
|
|
988
|
+
/**
|
|
989
|
+
* @export
|
|
990
|
+
*/
|
|
991
|
+
export declare const FetchMarketMatchesExchangeEnum: {
|
|
992
|
+
readonly Polymarket: "polymarket";
|
|
993
|
+
readonly Kalshi: "kalshi";
|
|
994
|
+
readonly KalshiDemo: "kalshi-demo";
|
|
995
|
+
readonly Limitless: "limitless";
|
|
996
|
+
readonly Probable: "probable";
|
|
997
|
+
readonly Baozi: "baozi";
|
|
998
|
+
readonly Myriad: "myriad";
|
|
999
|
+
readonly Opinion: "opinion";
|
|
1000
|
+
readonly Metaculus: "metaculus";
|
|
1001
|
+
readonly Smarkets: "smarkets";
|
|
1002
|
+
readonly PolymarketUs: "polymarket_us";
|
|
1003
|
+
readonly Router: "router";
|
|
1004
|
+
};
|
|
1005
|
+
export type FetchMarketMatchesExchangeEnum = typeof FetchMarketMatchesExchangeEnum[keyof typeof FetchMarketMatchesExchangeEnum];
|
|
1006
|
+
/**
|
|
1007
|
+
* @export
|
|
1008
|
+
*/
|
|
1009
|
+
export declare const FetchMarketMatchesRelationEnum: {
|
|
1010
|
+
readonly Identity: "identity";
|
|
1011
|
+
readonly Subset: "subset";
|
|
1012
|
+
readonly Superset: "superset";
|
|
1013
|
+
readonly Overlap: "overlap";
|
|
1014
|
+
readonly Disjoint: "disjoint";
|
|
1015
|
+
};
|
|
1016
|
+
export type FetchMarketMatchesRelationEnum = typeof FetchMarketMatchesRelationEnum[keyof typeof FetchMarketMatchesRelationEnum];
|
|
952
1017
|
/**
|
|
953
1018
|
* @export
|
|
954
1019
|
*/
|
|
@@ -46,8 +46,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
46
46
|
};
|
|
47
47
|
})();
|
|
48
48
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
-
exports.
|
|
50
|
-
exports.WatchTradesOperationExchangeEnum = exports.WatchOrderBookOperationExchangeEnum = void 0;
|
|
49
|
+
exports.SubmitOrderOperationExchangeEnum = exports.LoadMarketsOperationExchangeEnum = exports.GetExecutionPriceDetailedOperationExchangeEnum = exports.GetExecutionPriceOperationExchangeEnum = exports.FilterMarketsOperationExchangeEnum = exports.FilterEventsOperationExchangeEnum = exports.FetchTradesExchangeEnum = exports.FetchPositionsExchangeEnum = exports.FetchOrderBookExchangeEnum = exports.FetchOrderExchangeEnum = exports.FetchOpenOrdersExchangeEnum = exports.FetchOHLCVResolutionEnum = exports.FetchOHLCVExchangeEnum = exports.FetchMyTradesExchangeEnum = exports.FetchMatchesRelationEnum = exports.FetchMatchesExchangeEnum = exports.FetchMarketsPaginatedExchangeEnum = exports.FetchMarketsSearchInEnum = exports.FetchMarketsStatusEnum = exports.FetchMarketsSortEnum = exports.FetchMarketsExchangeEnum = exports.FetchMarketMatchesRelationEnum = exports.FetchMarketMatchesExchangeEnum = exports.FetchMarketSearchInEnum = exports.FetchMarketStatusEnum = exports.FetchMarketSortEnum = exports.FetchMarketExchangeEnum = exports.FetchHedgesRelationEnum = exports.FetchHedgesExchangeEnum = exports.FetchEventsSearchInEnum = exports.FetchEventsStatusEnum = exports.FetchEventsSortEnum = exports.FetchEventsExchangeEnum = exports.FetchEventMatchesRelationEnum = exports.FetchEventMatchesExchangeEnum = exports.FetchEventSearchInEnum = exports.FetchEventStatusEnum = exports.FetchEventSortEnum = exports.FetchEventExchangeEnum = exports.FetchClosedOrdersExchangeEnum = exports.FetchBalanceExchangeEnum = exports.FetchArbitrageRelationsEnum = exports.FetchArbitrageExchangeEnum = exports.FetchAllOrdersExchangeEnum = exports.CreateOrderOperationExchangeEnum = exports.CompareMarketPricesOperationExchangeEnum = exports.CloseOperationExchangeEnum = exports.CancelOrderOperationExchangeEnum = exports.BuildOrderOperationExchangeEnum = exports.DefaultApi = void 0;
|
|
50
|
+
exports.WatchTradesOperationExchangeEnum = exports.WatchOrderBookOperationExchangeEnum = exports.WatchAddressOperationExchangeEnum = exports.UnwatchOrderBookOperationExchangeEnum = exports.UnwatchAddressOperationExchangeEnum = void 0;
|
|
51
51
|
const runtime = __importStar(require("../runtime"));
|
|
52
52
|
const index_1 = require("../models/index");
|
|
53
53
|
/**
|
|
@@ -263,6 +263,9 @@ class DefaultApi extends runtime.BaseAPI {
|
|
|
263
263
|
if (requestParameters['limit'] != null) {
|
|
264
264
|
queryParameters['limit'] = requestParameters['limit'];
|
|
265
265
|
}
|
|
266
|
+
if (requestParameters['relations'] != null) {
|
|
267
|
+
queryParameters['relations'] = requestParameters['relations'];
|
|
268
|
+
}
|
|
266
269
|
const headerParameters = {};
|
|
267
270
|
let urlPath = `/api/{exchange}/fetchArbitrage`;
|
|
268
271
|
urlPath = urlPath.replace(`{${"exchange"}}`, encodeURIComponent(String(requestParameters['exchange'])));
|
|
@@ -424,6 +427,9 @@ class DefaultApi extends runtime.BaseAPI {
|
|
|
424
427
|
throw new runtime.RequiredError('exchange', 'Required parameter "exchange" was null or undefined when calling fetchEventMatches().');
|
|
425
428
|
}
|
|
426
429
|
const queryParameters = {};
|
|
430
|
+
if (requestParameters['event'] != null) {
|
|
431
|
+
queryParameters['event'] = requestParameters['event'];
|
|
432
|
+
}
|
|
427
433
|
if (requestParameters['eventId'] != null) {
|
|
428
434
|
queryParameters['eventId'] = requestParameters['eventId'];
|
|
429
435
|
}
|
|
@@ -531,6 +537,9 @@ class DefaultApi extends runtime.BaseAPI {
|
|
|
531
537
|
throw new runtime.RequiredError('exchange', 'Required parameter "exchange" was null or undefined when calling fetchHedges().');
|
|
532
538
|
}
|
|
533
539
|
const queryParameters = {};
|
|
540
|
+
if (requestParameters['market'] != null) {
|
|
541
|
+
queryParameters['market'] = requestParameters['market'];
|
|
542
|
+
}
|
|
534
543
|
if (requestParameters['marketId'] != null) {
|
|
535
544
|
queryParameters['marketId'] = requestParameters['marketId'];
|
|
536
545
|
}
|
|
@@ -635,6 +644,58 @@ class DefaultApi extends runtime.BaseAPI {
|
|
|
635
644
|
const response = await this.fetchMarketRaw(requestParameters, initOverrides);
|
|
636
645
|
return await response.value();
|
|
637
646
|
}
|
|
647
|
+
/**
|
|
648
|
+
* Find the same or related market on other venues. Given a market on one venue, discover semantically equivalent markets across every other venue PMXT ingests — each with a relation type (identity, subset, superset, overlap, disjoint), confidence score, and reasoning.
|
|
649
|
+
* Find Similar Markets
|
|
650
|
+
*/
|
|
651
|
+
async fetchMarketMatchesRaw(requestParameters, initOverrides) {
|
|
652
|
+
if (requestParameters['exchange'] == null) {
|
|
653
|
+
throw new runtime.RequiredError('exchange', 'Required parameter "exchange" was null or undefined when calling fetchMarketMatches().');
|
|
654
|
+
}
|
|
655
|
+
const queryParameters = {};
|
|
656
|
+
if (requestParameters['market'] != null) {
|
|
657
|
+
queryParameters['market'] = requestParameters['market'];
|
|
658
|
+
}
|
|
659
|
+
if (requestParameters['marketId'] != null) {
|
|
660
|
+
queryParameters['marketId'] = requestParameters['marketId'];
|
|
661
|
+
}
|
|
662
|
+
if (requestParameters['slug'] != null) {
|
|
663
|
+
queryParameters['slug'] = requestParameters['slug'];
|
|
664
|
+
}
|
|
665
|
+
if (requestParameters['url'] != null) {
|
|
666
|
+
queryParameters['url'] = requestParameters['url'];
|
|
667
|
+
}
|
|
668
|
+
if (requestParameters['relation'] != null) {
|
|
669
|
+
queryParameters['relation'] = requestParameters['relation'];
|
|
670
|
+
}
|
|
671
|
+
if (requestParameters['minConfidence'] != null) {
|
|
672
|
+
queryParameters['minConfidence'] = requestParameters['minConfidence'];
|
|
673
|
+
}
|
|
674
|
+
if (requestParameters['limit'] != null) {
|
|
675
|
+
queryParameters['limit'] = requestParameters['limit'];
|
|
676
|
+
}
|
|
677
|
+
if (requestParameters['includePrices'] != null) {
|
|
678
|
+
queryParameters['includePrices'] = requestParameters['includePrices'];
|
|
679
|
+
}
|
|
680
|
+
const headerParameters = {};
|
|
681
|
+
let urlPath = `/api/{exchange}/fetchMarketMatches`;
|
|
682
|
+
urlPath = urlPath.replace(`{${"exchange"}}`, encodeURIComponent(String(requestParameters['exchange'])));
|
|
683
|
+
const response = await this.request({
|
|
684
|
+
path: urlPath,
|
|
685
|
+
method: 'GET',
|
|
686
|
+
headers: headerParameters,
|
|
687
|
+
query: queryParameters,
|
|
688
|
+
}, initOverrides);
|
|
689
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.FetchMarketMatches200ResponseFromJSON)(jsonValue));
|
|
690
|
+
}
|
|
691
|
+
/**
|
|
692
|
+
* Find the same or related market on other venues. Given a market on one venue, discover semantically equivalent markets across every other venue PMXT ingests — each with a relation type (identity, subset, superset, overlap, disjoint), confidence score, and reasoning.
|
|
693
|
+
* Find Similar Markets
|
|
694
|
+
*/
|
|
695
|
+
async fetchMarketMatches(requestParameters, initOverrides) {
|
|
696
|
+
const response = await this.fetchMarketMatchesRaw(requestParameters, initOverrides);
|
|
697
|
+
return await response.value();
|
|
698
|
+
}
|
|
638
699
|
/**
|
|
639
700
|
* Fetch markets with optional filtering, search, or slug lookup. Always hits the exchange API — results reflect the live state at the time of the call.
|
|
640
701
|
* Fetch Markets
|
|
@@ -737,14 +798,17 @@ class DefaultApi extends runtime.BaseAPI {
|
|
|
737
798
|
return await response.value();
|
|
738
799
|
}
|
|
739
800
|
/**
|
|
740
|
-
* Find
|
|
741
|
-
*
|
|
801
|
+
* Find Similar Markets (Deprecated)
|
|
802
|
+
* @deprecated
|
|
742
803
|
*/
|
|
743
804
|
async fetchMatchesRaw(requestParameters, initOverrides) {
|
|
744
805
|
if (requestParameters['exchange'] == null) {
|
|
745
806
|
throw new runtime.RequiredError('exchange', 'Required parameter "exchange" was null or undefined when calling fetchMatches().');
|
|
746
807
|
}
|
|
747
808
|
const queryParameters = {};
|
|
809
|
+
if (requestParameters['market'] != null) {
|
|
810
|
+
queryParameters['market'] = requestParameters['market'];
|
|
811
|
+
}
|
|
748
812
|
if (requestParameters['marketId'] != null) {
|
|
749
813
|
queryParameters['marketId'] = requestParameters['marketId'];
|
|
750
814
|
}
|
|
@@ -775,11 +839,11 @@ class DefaultApi extends runtime.BaseAPI {
|
|
|
775
839
|
headers: headerParameters,
|
|
776
840
|
query: queryParameters,
|
|
777
841
|
}, initOverrides);
|
|
778
|
-
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.
|
|
842
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.FetchMarketMatches200ResponseFromJSON)(jsonValue));
|
|
779
843
|
}
|
|
780
844
|
/**
|
|
781
|
-
* Find
|
|
782
|
-
*
|
|
845
|
+
* Find Similar Markets (Deprecated)
|
|
846
|
+
* @deprecated
|
|
783
847
|
*/
|
|
784
848
|
async fetchMatches(requestParameters, initOverrides) {
|
|
785
849
|
const response = await this.fetchMatchesRaw(requestParameters, initOverrides);
|
|
@@ -1521,6 +1585,16 @@ exports.FetchArbitrageExchangeEnum = {
|
|
|
1521
1585
|
PolymarketUs: 'polymarket_us',
|
|
1522
1586
|
Router: 'router'
|
|
1523
1587
|
};
|
|
1588
|
+
/**
|
|
1589
|
+
* @export
|
|
1590
|
+
*/
|
|
1591
|
+
exports.FetchArbitrageRelationsEnum = {
|
|
1592
|
+
Identity: 'identity',
|
|
1593
|
+
Subset: 'subset',
|
|
1594
|
+
Superset: 'superset',
|
|
1595
|
+
Overlap: 'overlap',
|
|
1596
|
+
Disjoint: 'disjoint'
|
|
1597
|
+
};
|
|
1524
1598
|
/**
|
|
1525
1599
|
* @export
|
|
1526
1600
|
*/
|
|
@@ -1735,6 +1809,33 @@ exports.FetchMarketSearchInEnum = {
|
|
|
1735
1809
|
Description: 'description',
|
|
1736
1810
|
Both: 'both'
|
|
1737
1811
|
};
|
|
1812
|
+
/**
|
|
1813
|
+
* @export
|
|
1814
|
+
*/
|
|
1815
|
+
exports.FetchMarketMatchesExchangeEnum = {
|
|
1816
|
+
Polymarket: 'polymarket',
|
|
1817
|
+
Kalshi: 'kalshi',
|
|
1818
|
+
KalshiDemo: 'kalshi-demo',
|
|
1819
|
+
Limitless: 'limitless',
|
|
1820
|
+
Probable: 'probable',
|
|
1821
|
+
Baozi: 'baozi',
|
|
1822
|
+
Myriad: 'myriad',
|
|
1823
|
+
Opinion: 'opinion',
|
|
1824
|
+
Metaculus: 'metaculus',
|
|
1825
|
+
Smarkets: 'smarkets',
|
|
1826
|
+
PolymarketUs: 'polymarket_us',
|
|
1827
|
+
Router: 'router'
|
|
1828
|
+
};
|
|
1829
|
+
/**
|
|
1830
|
+
* @export
|
|
1831
|
+
*/
|
|
1832
|
+
exports.FetchMarketMatchesRelationEnum = {
|
|
1833
|
+
Identity: 'identity',
|
|
1834
|
+
Subset: 'subset',
|
|
1835
|
+
Superset: 'superset',
|
|
1836
|
+
Overlap: 'overlap',
|
|
1837
|
+
Disjoint: 'disjoint'
|
|
1838
|
+
};
|
|
1738
1839
|
/**
|
|
1739
1840
|
* @export
|
|
1740
1841
|
*/
|