@orderly.network/hooks 1.5.5 → 1.5.6
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.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.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.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";
|
|
4
4
|
}
|
|
5
|
-
export default "1.5.
|
|
5
|
+
export default "1.5.6";
|
|
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\";\n};\n\nexport default \"1.5.6\";\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,QAAQ"}
|
|
@@ -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.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";
|
|
14
14
|
}
|
|
15
|
-
const _default = "1.5.
|
|
15
|
+
const _default = "1.5.6";
|
|
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\";\n};\n\nexport default \"1.5.6\";\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",
|
|
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"
|
|
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/
|
|
45
|
-
"@orderly.network/
|
|
46
|
-
"@orderly.network/perp": "3.3.
|
|
47
|
-
"@orderly.network/types": "1.5.
|
|
48
|
-
"@orderly.network/utils": "1.5.
|
|
44
|
+
"@orderly.network/net": "1.5.6",
|
|
45
|
+
"@orderly.network/core": "1.5.6",
|
|
46
|
+
"@orderly.network/perp": "3.3.6",
|
|
47
|
+
"@orderly.network/types": "1.5.6",
|
|
48
|
+
"@orderly.network/utils": "1.5.6"
|
|
49
49
|
},
|
|
50
50
|
"publishConfig": {
|
|
51
51
|
"access": "public"
|