@particle-network/connectkit
Version:
72 lines (67 loc) • 1.68 kB
JavaScript
"use client";
import {
deepEqual,
init_context,
init_deepEqual,
useContext
} from "./chunk-4TIAGANX.mjs";
import {
__esm
} from "./chunk-Y7A564BU.mjs";
// src/actions/getConnectors.ts
function getConnectors(config) {
const connectors = config.connectors;
if (deepEqual(previousConnectors, connectors))
return previousConnectors;
previousConnectors = connectors;
return connectors;
}
var previousConnectors;
var init_getConnectors = __esm({
"src/actions/getConnectors.ts"() {
"use strict";
init_deepEqual();
previousConnectors = [];
}
});
// src/actions/watchConnectors.ts
function watchConnectors(config, parameters) {
const { onChange } = parameters;
return config._internal.connectors.subscribe((connectors, prevConnectors) => {
onChange(Object.values(connectors), prevConnectors);
});
}
var init_watchConnectors = __esm({
"src/actions/watchConnectors.ts"() {
"use strict";
}
});
// src/hooks/useConnectors.ts
import { useSyncExternalStore } from "react";
function useConnector(id) {
const connectors = useConnectors();
return connectors.find((c) => c.id === id);
}
var useConnectors;
var init_useConnectors = __esm({
"src/hooks/useConnectors.ts"() {
"use strict";
init_getConnectors();
init_watchConnectors();
init_context();
useConnectors = () => {
const { config } = useContext();
return useSyncExternalStore(
(onChange) => watchConnectors(config, { onChange }),
() => getConnectors(config),
() => getConnectors(config)
);
};
}
});
export {
useConnectors,
useConnector,
init_useConnectors
};
//# sourceMappingURL=chunk-CUETFWJ4.mjs.map