@orderly.network/hooks 1.5.5 → 1.5.6-alpha.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/esm/orderly/usePrivateDataObserver.d.ts.map +1 -1
- package/esm/orderly/usePrivateDataObserver.js +18 -34
- package/esm/orderly/usePrivateDataObserver.js.map +1 -1
- package/esm/version.d.ts +1 -1
- package/esm/version.d.ts.map +1 -1
- package/esm/version.js +2 -2
- package/esm/version.js.map +1 -1
- package/lib/orderly/usePrivateDataObserver.d.ts.map +1 -1
- package/lib/orderly/usePrivateDataObserver.js +18 -34
- package/lib/orderly/usePrivateDataObserver.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.d.ts.map +1 -1
- package/lib/version.js +2 -2
- package/lib/version.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePrivateDataObserver.d.ts","sourceRoot":"","sources":["../../src/orderly/usePrivateDataObserver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePrivateDataObserver.d.ts","sourceRoot":"","sources":["../../src/orderly/usePrivateDataObserver.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMjD,eAAO,MAAM,sBAAsB;uBAEd,MAAM,KAAK,IAAI,MAAM,EAAE,cAAc,CAAC;UAyJ1D,CAAC"}
|
|
@@ -85,40 +85,34 @@ export const usePrivateDataObserver = (options)=>{
|
|
|
85
85
|
const unsubscribe = ws.privateSubscribe("position", {
|
|
86
86
|
onMessage: (data)=>{
|
|
87
87
|
const { positions: nextPostions } = data;
|
|
88
|
-
// console.log("ws----- positions data-----", data);
|
|
89
88
|
// updatePositions();
|
|
90
89
|
mutate(key, (prevPositions)=>{
|
|
91
90
|
// return nextPostions;
|
|
92
91
|
if (!!prevPositions) {
|
|
93
|
-
|
|
92
|
+
const newPostions = {
|
|
94
93
|
...prevPositions,
|
|
95
94
|
rows: prevPositions.rows.map((row)=>{
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
pending_short_qty: item.pendingShortQty,
|
|
105
|
-
settle_price: item.settlePrice,
|
|
106
|
-
average_open_price: item.averageOpenPrice,
|
|
107
|
-
unsettled_pnl: item.unsettledPnl,
|
|
108
|
-
mark_price: item.markPrice,
|
|
109
|
-
est_liq_price: item.estLiqPrice,
|
|
110
|
-
timestamp: Date.now(),
|
|
111
|
-
imr: item.imr,
|
|
112
|
-
mmr: item.mmr,
|
|
113
|
-
IMR_withdraw_orders: item.imrwithOrders,
|
|
114
|
-
MMR_with_orders: item.mmrwithOrders,
|
|
115
|
-
pnl_24_h: item.pnl24H,
|
|
116
|
-
fee_24_h: item.fee24H
|
|
117
|
-
};
|
|
95
|
+
const itemIndex = nextPostions.findIndex((item)=>item.symbol === row.symbol);
|
|
96
|
+
// const item = nextPostions.find(
|
|
97
|
+
// (item) => item.symbol === row.symbol
|
|
98
|
+
// );
|
|
99
|
+
if (itemIndex >= 0) {
|
|
100
|
+
const itemArr = nextPostions.splice(itemIndex, 1);
|
|
101
|
+
const item = itemArr[0];
|
|
102
|
+
return object2underscore(item);
|
|
118
103
|
}
|
|
119
104
|
return row;
|
|
120
105
|
})
|
|
121
106
|
};
|
|
107
|
+
if (nextPostions.length > 0) {
|
|
108
|
+
newPostions.rows = [
|
|
109
|
+
...newPostions.rows,
|
|
110
|
+
...nextPostions.map((item)=>{
|
|
111
|
+
return object2underscore(item);
|
|
112
|
+
})
|
|
113
|
+
];
|
|
114
|
+
}
|
|
115
|
+
return newPostions;
|
|
122
116
|
}
|
|
123
117
|
}, {
|
|
124
118
|
revalidate: false
|
|
@@ -131,16 +125,6 @@ export const usePrivateDataObserver = (options)=>{
|
|
|
131
125
|
}, [
|
|
132
126
|
state.accountId
|
|
133
127
|
]);
|
|
134
|
-
// cache algo orders
|
|
135
|
-
// useEffect(() => {
|
|
136
|
-
// const handler = (data: API.AlgoOrder) => {
|
|
137
|
-
// algoOrderCacheQuneue.current.push(data);
|
|
138
|
-
// };
|
|
139
|
-
// ee.on("algoOrder:cache", handler);
|
|
140
|
-
// return () => {
|
|
141
|
-
// ee.off("algoOrder:cache", handler);
|
|
142
|
-
// };
|
|
143
|
-
// }, []);
|
|
144
128
|
};
|
|
145
129
|
|
|
146
130
|
//# sourceMappingURL=usePrivateDataObserver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/orderly/usePrivateDataObserver.ts"],"sourcesContent":["import { useEffect
|
|
1
|
+
{"version":3,"sources":["../../src/orderly/usePrivateDataObserver.ts"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useWS } from \"../useWS\";\nimport { mutate } from \"swr\";\nimport { WSMessage } from \"@orderly.network/types\";\nimport { useAccount } from \"../useAccount\";\nimport { unstable_serialize } from \"swr/infinite\";\nimport { useEventEmitter } from \"../useEventEmitter\";\nimport { getKeyFunction } from \"../dataProvider\";\nimport { updateOrdersHandler, updateAlgoOrdersHandler } from \"../utils/swr\";\nimport { AlgoOrderMergeHandler } from \"../services/orderMerge/algoOrderMergeHandler\";\nimport { object2underscore } from \"../utils/ws\";\nimport { useLocalStorage } from \"../useLocalStorage\";\n\nexport const usePrivateDataObserver = (options: {\n // onUpdateOrders: (data: any) => void;\n getKeysMap: (type: string) => Map<string, getKeyFunction>;\n}) => {\n const ws = useWS();\n // const { mutate } = useSWRConfig();\n const ee = useEventEmitter();\n const { state } = useAccount();\n\n // TODO: remove this when the WS service provides the correct data\n // const algoOrderCacheQuneue = useRef<API.AlgoOrder[]>([]);\n\n const [subOrder, setSubOrder] = useLocalStorage(\n \"orderly_subscribe_order\",\n true\n );\n\n const updateOrders = (\n data: WSMessage.AlgoOrder[] | WSMessage.Order,\n isAlgoOrder: boolean\n ) => {\n const keysMap = options.getKeysMap(\"orders\");\n\n keysMap.forEach((getKey, key) => {\n mutate(\n unstable_serialize((index, prevData) => [\n getKey(index, prevData),\n state.accountId,\n ]),\n (prevData?: any[]) => {\n try {\n if (isAlgoOrder) {\n const result = updateAlgoOrdersHandler(\n key,\n data as WSMessage.AlgoOrder[],\n prevData!\n );\n\n return result;\n }\n return updateOrdersHandler(key, data as WSMessage.Order, prevData);\n } catch (error) {\n return prevData;\n }\n },\n {\n revalidate: false,\n }\n );\n });\n\n // emit events;\n // ee.emit(\"orders:changed\", {\n // ...data,\n // status: data.status || (data as WSMessage.AlgoOrder).algoStatus,\n // });\n\n const formattedData = isAlgoOrder\n ? AlgoOrderMergeHandler.groupOrders(data as WSMessage.AlgoOrder[])\n : object2underscore(data);\n\n ee.emit(\"orders:changed\", {\n ...formattedData,\n status: isAlgoOrder\n ? formattedData.algo_status\n : (data as WSMessage.Order).status,\n });\n };\n\n // orders\n useEffect(() => {\n if (!state.accountId) return;\n if (subOrder !== true) return;\n const unsubscribe = ws.privateSubscribe(\"executionreport\", {\n onMessage: (data: any) => {\n updateOrders(data, false);\n },\n });\n\n return () => unsubscribe?.();\n }, [state.accountId, subOrder]);\n\n // algo orders\n useEffect(() => {\n if (!state.accountId) return;\n if (subOrder !== true) return;\n const unsubscribe = ws.privateSubscribe(\"algoexecutionreport\", {\n onMessage: (data: any) => {\n updateOrders(data, true);\n },\n });\n\n return () => unsubscribe?.();\n }, [state.accountId, subOrder]);\n\n // positions\n useEffect(() => {\n if (!state.accountId) return;\n const key = [\"/v1/positions\", state.accountId];\n const unsubscribe = ws.privateSubscribe(\"position\", {\n onMessage: (data: { positions: WSMessage.Position[] }) => {\n const { positions: nextPostions } = data;\n\n // updatePositions();\n\n mutate(\n key,\n (prevPositions: any) => {\n // return nextPostions;\n if (!!prevPositions) {\n const newPostions = {\n ...prevPositions,\n rows: prevPositions.rows.map((row: any) => {\n const itemIndex = nextPostions.findIndex(\n (item) => item.symbol === row.symbol\n );\n\n // const item = nextPostions.find(\n // (item) => item.symbol === row.symbol\n // );\n\n if (itemIndex >= 0) {\n const itemArr = nextPostions.splice(itemIndex, 1);\n\n const item = itemArr[0];\n\n return object2underscore(item);\n }\n\n return row;\n }),\n };\n\n if (nextPostions.length > 0) {\n newPostions.rows = [\n ...newPostions.rows,\n ...nextPostions.map((item) => {\n return object2underscore(item);\n }),\n ];\n }\n\n return newPostions;\n }\n },\n {\n revalidate: false,\n }\n );\n },\n });\n return () => {\n unsubscribe?.();\n };\n }, [state.accountId]);\n};\n"],"names":["useEffect","useWS","mutate","useAccount","unstable_serialize","useEventEmitter","updateOrdersHandler","updateAlgoOrdersHandler","AlgoOrderMergeHandler","object2underscore","useLocalStorage","usePrivateDataObserver","options","ws","ee","state","subOrder","setSubOrder","updateOrders","data","isAlgoOrder","keysMap","getKeysMap","forEach","getKey","key","index","prevData","accountId","result","error","revalidate","formattedData","groupOrders","emit","status","algo_status","unsubscribe","privateSubscribe","onMessage","positions","nextPostions","prevPositions","newPostions","rows","map","row","itemIndex","findIndex","item","symbol","itemArr","splice","length"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
package/esm/version.d.ts
CHANGED
package/esm/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,mBAAmB,CAAC,EAAE;YAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;SACzB,CAAC;KACL;CACJ;;AAMD,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,mBAAmB,CAAC,EAAE;YAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;SACzB,CAAC;KACL;CACJ;;AAMD,wBAA+B"}
|
package/esm/version.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
if (typeof window !== 'undefined') {
|
|
2
2
|
window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};
|
|
3
|
-
window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "1.5.
|
|
3
|
+
window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "1.5.6-alpha.0";
|
|
4
4
|
}
|
|
5
|
-
export default "1.5.
|
|
5
|
+
export default "1.5.6-alpha.0";
|
|
6
6
|
|
|
7
7
|
//# sourceMappingURL=version.js.map
|
package/esm/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/version.ts"],"sourcesContent":["\ndeclare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif(typeof window !== 'undefined') {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@orderly.network/hooks\"] = \"1.5.
|
|
1
|
+
{"version":3,"sources":["../src/version.ts"],"sourcesContent":["\ndeclare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif(typeof window !== 'undefined') {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@orderly.network/hooks\"] = \"1.5.6-alpha.0\";\n};\n\nexport default \"1.5.6-alpha.0\";\n"],"names":["window","__ORDERLY_VERSION__"],"rangeMappings":";;;;","mappings":"AAQA,IAAG,OAAOA,WAAW,aAAa;IAC9BA,OAAOC,mBAAmB,GAAGD,OAAOC,mBAAmB,IAAI,CAAC;IAC5DD,OAAOC,mBAAmB,CAAC,yBAAyB,GAAG;AAC3D;AAEA,eAAe,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePrivateDataObserver.d.ts","sourceRoot":"","sources":["../../src/orderly/usePrivateDataObserver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePrivateDataObserver.d.ts","sourceRoot":"","sources":["../../src/orderly/usePrivateDataObserver.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMjD,eAAO,MAAM,sBAAsB;uBAEd,MAAM,KAAK,IAAI,MAAM,EAAE,cAAc,CAAC;UAyJ1D,CAAC"}
|
|
@@ -95,40 +95,34 @@ const usePrivateDataObserver = (options)=>{
|
|
|
95
95
|
const unsubscribe = ws.privateSubscribe("position", {
|
|
96
96
|
onMessage: (data)=>{
|
|
97
97
|
const { positions: nextPostions } = data;
|
|
98
|
-
// console.log("ws----- positions data-----", data);
|
|
99
98
|
// updatePositions();
|
|
100
99
|
(0, _swr.mutate)(key, (prevPositions)=>{
|
|
101
100
|
// return nextPostions;
|
|
102
101
|
if (!!prevPositions) {
|
|
103
|
-
|
|
102
|
+
const newPostions = {
|
|
104
103
|
...prevPositions,
|
|
105
104
|
rows: prevPositions.rows.map((row)=>{
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
pending_short_qty: item.pendingShortQty,
|
|
115
|
-
settle_price: item.settlePrice,
|
|
116
|
-
average_open_price: item.averageOpenPrice,
|
|
117
|
-
unsettled_pnl: item.unsettledPnl,
|
|
118
|
-
mark_price: item.markPrice,
|
|
119
|
-
est_liq_price: item.estLiqPrice,
|
|
120
|
-
timestamp: Date.now(),
|
|
121
|
-
imr: item.imr,
|
|
122
|
-
mmr: item.mmr,
|
|
123
|
-
IMR_withdraw_orders: item.imrwithOrders,
|
|
124
|
-
MMR_with_orders: item.mmrwithOrders,
|
|
125
|
-
pnl_24_h: item.pnl24H,
|
|
126
|
-
fee_24_h: item.fee24H
|
|
127
|
-
};
|
|
105
|
+
const itemIndex = nextPostions.findIndex((item)=>item.symbol === row.symbol);
|
|
106
|
+
// const item = nextPostions.find(
|
|
107
|
+
// (item) => item.symbol === row.symbol
|
|
108
|
+
// );
|
|
109
|
+
if (itemIndex >= 0) {
|
|
110
|
+
const itemArr = nextPostions.splice(itemIndex, 1);
|
|
111
|
+
const item = itemArr[0];
|
|
112
|
+
return (0, _ws.object2underscore)(item);
|
|
128
113
|
}
|
|
129
114
|
return row;
|
|
130
115
|
})
|
|
131
116
|
};
|
|
117
|
+
if (nextPostions.length > 0) {
|
|
118
|
+
newPostions.rows = [
|
|
119
|
+
...newPostions.rows,
|
|
120
|
+
...nextPostions.map((item)=>{
|
|
121
|
+
return (0, _ws.object2underscore)(item);
|
|
122
|
+
})
|
|
123
|
+
];
|
|
124
|
+
}
|
|
125
|
+
return newPostions;
|
|
132
126
|
}
|
|
133
127
|
}, {
|
|
134
128
|
revalidate: false
|
|
@@ -141,16 +135,6 @@ const usePrivateDataObserver = (options)=>{
|
|
|
141
135
|
}, [
|
|
142
136
|
state.accountId
|
|
143
137
|
]);
|
|
144
|
-
// cache algo orders
|
|
145
|
-
// useEffect(() => {
|
|
146
|
-
// const handler = (data: API.AlgoOrder) => {
|
|
147
|
-
// algoOrderCacheQuneue.current.push(data);
|
|
148
|
-
// };
|
|
149
|
-
// ee.on("algoOrder:cache", handler);
|
|
150
|
-
// return () => {
|
|
151
|
-
// ee.off("algoOrder:cache", handler);
|
|
152
|
-
// };
|
|
153
|
-
// }, []);
|
|
154
138
|
};
|
|
155
139
|
|
|
156
140
|
//# sourceMappingURL=usePrivateDataObserver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/orderly/usePrivateDataObserver.ts"],"sourcesContent":["import { useEffect
|
|
1
|
+
{"version":3,"sources":["../../src/orderly/usePrivateDataObserver.ts"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useWS } from \"../useWS\";\nimport { mutate } from \"swr\";\nimport { WSMessage } from \"@orderly.network/types\";\nimport { useAccount } from \"../useAccount\";\nimport { unstable_serialize } from \"swr/infinite\";\nimport { useEventEmitter } from \"../useEventEmitter\";\nimport { getKeyFunction } from \"../dataProvider\";\nimport { updateOrdersHandler, updateAlgoOrdersHandler } from \"../utils/swr\";\nimport { AlgoOrderMergeHandler } from \"../services/orderMerge/algoOrderMergeHandler\";\nimport { object2underscore } from \"../utils/ws\";\nimport { useLocalStorage } from \"../useLocalStorage\";\n\nexport const usePrivateDataObserver = (options: {\n // onUpdateOrders: (data: any) => void;\n getKeysMap: (type: string) => Map<string, getKeyFunction>;\n}) => {\n const ws = useWS();\n // const { mutate } = useSWRConfig();\n const ee = useEventEmitter();\n const { state } = useAccount();\n\n // TODO: remove this when the WS service provides the correct data\n // const algoOrderCacheQuneue = useRef<API.AlgoOrder[]>([]);\n\n const [subOrder, setSubOrder] = useLocalStorage(\n \"orderly_subscribe_order\",\n true\n );\n\n const updateOrders = (\n data: WSMessage.AlgoOrder[] | WSMessage.Order,\n isAlgoOrder: boolean\n ) => {\n const keysMap = options.getKeysMap(\"orders\");\n\n keysMap.forEach((getKey, key) => {\n mutate(\n unstable_serialize((index, prevData) => [\n getKey(index, prevData),\n state.accountId,\n ]),\n (prevData?: any[]) => {\n try {\n if (isAlgoOrder) {\n const result = updateAlgoOrdersHandler(\n key,\n data as WSMessage.AlgoOrder[],\n prevData!\n );\n\n return result;\n }\n return updateOrdersHandler(key, data as WSMessage.Order, prevData);\n } catch (error) {\n return prevData;\n }\n },\n {\n revalidate: false,\n }\n );\n });\n\n // emit events;\n // ee.emit(\"orders:changed\", {\n // ...data,\n // status: data.status || (data as WSMessage.AlgoOrder).algoStatus,\n // });\n\n const formattedData = isAlgoOrder\n ? AlgoOrderMergeHandler.groupOrders(data as WSMessage.AlgoOrder[])\n : object2underscore(data);\n\n ee.emit(\"orders:changed\", {\n ...formattedData,\n status: isAlgoOrder\n ? formattedData.algo_status\n : (data as WSMessage.Order).status,\n });\n };\n\n // orders\n useEffect(() => {\n if (!state.accountId) return;\n if (subOrder !== true) return;\n const unsubscribe = ws.privateSubscribe(\"executionreport\", {\n onMessage: (data: any) => {\n updateOrders(data, false);\n },\n });\n\n return () => unsubscribe?.();\n }, [state.accountId, subOrder]);\n\n // algo orders\n useEffect(() => {\n if (!state.accountId) return;\n if (subOrder !== true) return;\n const unsubscribe = ws.privateSubscribe(\"algoexecutionreport\", {\n onMessage: (data: any) => {\n updateOrders(data, true);\n },\n });\n\n return () => unsubscribe?.();\n }, [state.accountId, subOrder]);\n\n // positions\n useEffect(() => {\n if (!state.accountId) return;\n const key = [\"/v1/positions\", state.accountId];\n const unsubscribe = ws.privateSubscribe(\"position\", {\n onMessage: (data: { positions: WSMessage.Position[] }) => {\n const { positions: nextPostions } = data;\n\n // updatePositions();\n\n mutate(\n key,\n (prevPositions: any) => {\n // return nextPostions;\n if (!!prevPositions) {\n const newPostions = {\n ...prevPositions,\n rows: prevPositions.rows.map((row: any) => {\n const itemIndex = nextPostions.findIndex(\n (item) => item.symbol === row.symbol\n );\n\n // const item = nextPostions.find(\n // (item) => item.symbol === row.symbol\n // );\n\n if (itemIndex >= 0) {\n const itemArr = nextPostions.splice(itemIndex, 1);\n\n const item = itemArr[0];\n\n return object2underscore(item);\n }\n\n return row;\n }),\n };\n\n if (nextPostions.length > 0) {\n newPostions.rows = [\n ...newPostions.rows,\n ...nextPostions.map((item) => {\n return object2underscore(item);\n }),\n ];\n }\n\n return newPostions;\n }\n },\n {\n revalidate: false,\n }\n );\n },\n });\n return () => {\n unsubscribe?.();\n };\n }, [state.accountId]);\n};\n"],"names":["usePrivateDataObserver","options","ws","useWS","ee","useEventEmitter","state","useAccount","subOrder","setSubOrder","useLocalStorage","updateOrders","data","isAlgoOrder","keysMap","getKeysMap","forEach","getKey","key","mutate","unstable_serialize","index","prevData","accountId","result","updateAlgoOrdersHandler","updateOrdersHandler","error","revalidate","formattedData","AlgoOrderMergeHandler","groupOrders","object2underscore","emit","status","algo_status","useEffect","unsubscribe","privateSubscribe","onMessage","positions","nextPostions","prevPositions","newPostions","rows","map","row","itemIndex","findIndex","item","symbol","itemArr","splice","length"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
package/lib/version.d.ts
CHANGED
package/lib/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,mBAAmB,CAAC,EAAE;YAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;SACzB,CAAC;KACL;CACJ;;AAMD,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,mBAAmB,CAAC,EAAE;YAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;SACzB,CAAC;KACL;CACJ;;AAMD,wBAA+B"}
|
package/lib/version.js
CHANGED
|
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
if (typeof window !== 'undefined') {
|
|
12
12
|
window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};
|
|
13
|
-
window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "1.5.
|
|
13
|
+
window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "1.5.6-alpha.0";
|
|
14
14
|
}
|
|
15
|
-
const _default = "1.5.
|
|
15
|
+
const _default = "1.5.6-alpha.0";
|
|
16
16
|
|
|
17
17
|
//# sourceMappingURL=version.js.map
|
package/lib/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/version.ts"],"sourcesContent":["\ndeclare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif(typeof window !== 'undefined') {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@orderly.network/hooks\"] = \"1.5.
|
|
1
|
+
{"version":3,"sources":["../src/version.ts"],"sourcesContent":["\ndeclare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif(typeof window !== 'undefined') {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@orderly.network/hooks\"] = \"1.5.6-alpha.0\";\n};\n\nexport default \"1.5.6-alpha.0\";\n"],"names":["window","__ORDERLY_VERSION__"],"rangeMappings":";;;;;;;;;;;;;;","mappings":";;;;+BAaA;;;eAAA;;;AALA,IAAG,OAAOA,WAAW,aAAa;IAC9BA,OAAOC,mBAAmB,GAAGD,OAAOC,mBAAmB,IAAI,CAAC;IAC5DD,OAAOC,mBAAmB,CAAC,yBAAyB,GAAG;AAC3D;MAEA,WAAe"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orderly.network/hooks",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.6-alpha.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"tsup": "^7.1.0",
|
|
34
34
|
"typedoc": "^0.24.8",
|
|
35
35
|
"typescript": "^5.1.6",
|
|
36
|
-
"tsconfig": "0.3.
|
|
36
|
+
"tsconfig": "0.3.6-alpha.0"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@akamfoad/qr": "^0.4.0",
|
|
@@ -41,11 +41,11 @@
|
|
|
41
41
|
"swr": "2.2.4",
|
|
42
42
|
"use-constant": "^1.1.1",
|
|
43
43
|
"use-debounce": "^9.0.4",
|
|
44
|
-
"@orderly.network/core": "1.5.
|
|
45
|
-
"@orderly.network/net": "1.5.
|
|
46
|
-
"@orderly.network/perp": "3.3.
|
|
47
|
-
"@orderly.network/types": "1.5.
|
|
48
|
-
"@orderly.network/utils": "1.5.
|
|
44
|
+
"@orderly.network/core": "1.5.6-alpha.0",
|
|
45
|
+
"@orderly.network/net": "1.5.6-alpha.0",
|
|
46
|
+
"@orderly.network/perp": "3.3.6-alpha.0",
|
|
47
|
+
"@orderly.network/types": "1.5.6-alpha.0",
|
|
48
|
+
"@orderly.network/utils": "1.5.6-alpha.0"
|
|
49
49
|
},
|
|
50
50
|
"publishConfig": {
|
|
51
51
|
"access": "public"
|