New source found from dndbeyond.com
This commit is contained in:
Generated
Vendored
+63
@@ -0,0 +1,63 @@
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
import { AuthUtils } from '@dndbeyond/authentication-lib-js';
|
||||
import { isValidGameId } from '@dndbeyond/message-broker-lib';
|
||||
import { useEffect, useMemo } from 'react';
|
||||
import { useAwaitMessageBroker } from '../useAwaitMessageBroker';
|
||||
export const useActiveCampaign = (authUrl, baseUrl, callback) => {
|
||||
const mb = useAwaitMessageBroker();
|
||||
const getShortTermToken = useMemo(() => AuthUtils.makeGetShortTermToken({ authUrl }), [authUrl]);
|
||||
useEffect(() => {
|
||||
if (process.env.NODE_ENV === 'test' ||
|
||||
!(mb && mb.gameId && isValidGameId(mb.gameId))) {
|
||||
return;
|
||||
}
|
||||
const controller = new AbortController();
|
||||
const { signal } = controller;
|
||||
(() => __awaiter(void 0, void 0, void 0, function* () {
|
||||
let stt = undefined;
|
||||
let response = undefined;
|
||||
let data = undefined;
|
||||
try {
|
||||
stt = yield getShortTermToken();
|
||||
}
|
||||
catch (error) {
|
||||
console.error('Failed to get stt', error);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
response = yield fetch(`${baseUrl}/campaigns/v1/details/${mb.gameId}`, {
|
||||
signal,
|
||||
headers: {
|
||||
Authorization: `Bearer ${stt}`,
|
||||
},
|
||||
});
|
||||
}
|
||||
catch (error) {
|
||||
console.error('Failed to fetch', error);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
({ data } = yield response.json());
|
||||
}
|
||||
catch (error) {
|
||||
console.error('Failed to parse json', error);
|
||||
return;
|
||||
}
|
||||
if (!signal.aborted && data !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
}))();
|
||||
return () => {
|
||||
controller.abort();
|
||||
};
|
||||
}, [baseUrl, callback, getShortTermToken, mb, mb === null || mb === void 0 ? void 0 : mb.gameId]);
|
||||
};
|
||||
//# sourceMappingURL=useActiveCampaign.js.map
|
||||
Generated
Vendored
+63
@@ -0,0 +1,63 @@
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
import { AuthUtils } from '@dndbeyond/authentication-lib-js';
|
||||
import { isValidGameId } from '@dndbeyond/message-broker-lib';
|
||||
import { useEffect, useMemo } from 'react';
|
||||
import { useAwaitMessageBroker } from '../useAwaitMessageBroker';
|
||||
export const useActiveCharacters = (authUrl, baseUrl, callback) => {
|
||||
const mb = useAwaitMessageBroker();
|
||||
const getShortTermToken = useMemo(() => AuthUtils.makeGetShortTermToken({ authUrl }), [authUrl]);
|
||||
useEffect(() => {
|
||||
if (process.env.NODE_ENV === 'test' ||
|
||||
!(mb && mb.gameId && isValidGameId(mb.gameId))) {
|
||||
return;
|
||||
}
|
||||
const controller = new AbortController();
|
||||
const { signal } = controller;
|
||||
(() => __awaiter(void 0, void 0, void 0, function* () {
|
||||
let stt = undefined;
|
||||
let response = undefined;
|
||||
let data = undefined;
|
||||
try {
|
||||
stt = yield getShortTermToken();
|
||||
}
|
||||
catch (error) {
|
||||
console.error('Failed to get stt', error);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
response = yield fetch(`${baseUrl}/campaigns/v1/${mb.gameId}/characters`, {
|
||||
signal,
|
||||
headers: {
|
||||
Authorization: `Bearer ${stt}`,
|
||||
},
|
||||
});
|
||||
}
|
||||
catch (error) {
|
||||
console.error('Failed to fetch', error);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
({ data } = yield response.json());
|
||||
}
|
||||
catch (error) {
|
||||
console.error('Failed to parse json', error);
|
||||
return;
|
||||
}
|
||||
if (!signal.aborted && data !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
}))();
|
||||
return () => {
|
||||
controller.abort();
|
||||
};
|
||||
}, [baseUrl, callback, getShortTermToken, mb, mb === null || mb === void 0 ? void 0 : mb.gameId]);
|
||||
};
|
||||
//# sourceMappingURL=useActiveCharacters.js.map
|
||||
ddb_main/node_modules/@dndbeyond/game-log-components/dist/hooks/useActivePlayers/useActivePlayers.js
Generated
Vendored
+63
@@ -0,0 +1,63 @@
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
import { AuthUtils } from '@dndbeyond/authentication-lib-js';
|
||||
import { isValidGameId } from '@dndbeyond/message-broker-lib';
|
||||
import { useEffect, useMemo } from 'react';
|
||||
import { useAwaitMessageBroker } from '../useAwaitMessageBroker';
|
||||
export const useActivePlayers = (authUrl, baseUrl, callback) => {
|
||||
const mb = useAwaitMessageBroker();
|
||||
const getShortTermToken = useMemo(() => AuthUtils.makeGetShortTermToken({ authUrl }), [authUrl]);
|
||||
useEffect(() => {
|
||||
if (process.env.NODE_ENV === 'test' ||
|
||||
!(mb && mb.gameId && isValidGameId(mb.gameId))) {
|
||||
return;
|
||||
}
|
||||
const controller = new AbortController();
|
||||
const { signal } = controller;
|
||||
(() => __awaiter(void 0, void 0, void 0, function* () {
|
||||
let stt = undefined;
|
||||
let response = undefined;
|
||||
let data = undefined;
|
||||
try {
|
||||
stt = yield getShortTermToken();
|
||||
}
|
||||
catch (error) {
|
||||
console.error('Failed to get stt', error);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
response = yield fetch(`${baseUrl}/campaigns/v1/details/${mb.gameId}`, {
|
||||
signal,
|
||||
headers: {
|
||||
Authorization: `Bearer ${stt}`,
|
||||
},
|
||||
});
|
||||
}
|
||||
catch (error) {
|
||||
console.error('Failed to fetch', error);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
({ data } = yield response.json());
|
||||
}
|
||||
catch (error) {
|
||||
console.error('Failed to parse json', error);
|
||||
return;
|
||||
}
|
||||
if (!signal.aborted && data !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
}))();
|
||||
return () => {
|
||||
controller.abort();
|
||||
};
|
||||
}, [baseUrl, callback, getShortTermToken, mb, mb === null || mb === void 0 ? void 0 : mb.gameId]);
|
||||
};
|
||||
//# sourceMappingURL=useActivePlayers.js.map
|
||||
Generated
Vendored
+28
@@ -0,0 +1,28 @@
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
import { getMessageBroker } from '@dndbeyond/message-broker-lib';
|
||||
import { useEffect, useState } from 'react';
|
||||
export const useAwaitMessageBroker = () => {
|
||||
const [mb, setMb] = useState();
|
||||
useEffect(() => {
|
||||
(() => __awaiter(void 0, void 0, void 0, function* () {
|
||||
try {
|
||||
setMb(yield getMessageBroker());
|
||||
}
|
||||
catch (error) {
|
||||
if (process.env.NODE_ENV !== 'test') {
|
||||
console.error(error.message);
|
||||
}
|
||||
}
|
||||
}))();
|
||||
}, []);
|
||||
return mb;
|
||||
};
|
||||
//# sourceMappingURL=useAwaitMessageBroker.js.map
|
||||
Generated
Vendored
+28
@@ -0,0 +1,28 @@
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
import { useEffect } from 'react';
|
||||
export const useDiceFamilies = (diceServiceUrl, callback) => {
|
||||
useEffect(() => {
|
||||
if (process.env.NODE_ENV === 'test') {
|
||||
return;
|
||||
}
|
||||
(() => __awaiter(void 0, void 0, void 0, function* () {
|
||||
try {
|
||||
const response = yield fetch(`${diceServiceUrl}/dice/v1/getallfamilysets`);
|
||||
const { data } = yield response.json();
|
||||
callback(data);
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error.message);
|
||||
}
|
||||
}))();
|
||||
}, [callback, diceServiceUrl]);
|
||||
};
|
||||
//# sourceMappingURL=useDiceFamilies.js.map
|
||||
Generated
Vendored
+12
@@ -0,0 +1,12 @@
|
||||
import { useEffect } from 'react';
|
||||
import { useAwaitMessageBroker } from '../useAwaitMessageBroker';
|
||||
export const useFetchHistory = (callback) => {
|
||||
const mb = useAwaitMessageBroker();
|
||||
useEffect(() => {
|
||||
if (!mb) {
|
||||
return;
|
||||
}
|
||||
callback(() => mb.fetchHistory());
|
||||
}, [callback, mb]);
|
||||
};
|
||||
//# sourceMappingURL=useFetchHistory.js.map
|
||||
Generated
Vendored
+59
@@ -0,0 +1,59 @@
|
||||
import { useEffect, useRef } from 'react';
|
||||
/**
|
||||
* this hook takes an optional callback, wires it up to be called when a
|
||||
* "sentinel" element scrolls into view inside of a scroll container, and
|
||||
* returns `RefObject`s to use to attach to the appropriate DOM elements, e.g.
|
||||
*
|
||||
* ```jsx
|
||||
* export const InfiniteScroller: FC = () => {
|
||||
* const myCallback = useCallback(() => {
|
||||
* // do something when the sentinel scrolls into view inside the scroll
|
||||
* // container
|
||||
* }, []);
|
||||
*
|
||||
* const [scrollContainerRef, sentinelRef] = useInfiniteScroll(myCallback);
|
||||
*
|
||||
* return (
|
||||
* <div className="scroll-container" ref={scrollContainerRef}>
|
||||
* <div className="taller-than-scroll-container">
|
||||
* // other stuff could go here ...
|
||||
* <hr className="sentinel" ref={sentinelRef} />
|
||||
* // ... or other stuff could go here
|
||||
* </div>
|
||||
* </div>
|
||||
* );
|
||||
* }
|
||||
* ```
|
||||
*
|
||||
* the styling and exact structure is up to the implementor
|
||||
*
|
||||
* @see https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
|
||||
*/
|
||||
export const useInfiniteScroll = (callback) => {
|
||||
const scrollContainerRef = useRef(null);
|
||||
const sentinelRef = useRef(null);
|
||||
useEffect(() => {
|
||||
if (!(scrollContainerRef.current && sentinelRef.current)) {
|
||||
return;
|
||||
}
|
||||
const observer = new IntersectionObserver((entries) => {
|
||||
entries.forEach((entry) => {
|
||||
if (!(scrollContainerRef.current &&
|
||||
scrollContainerRef.current.scrollHeight >
|
||||
scrollContainerRef.current.clientHeight &&
|
||||
entry.isIntersecting)) {
|
||||
return;
|
||||
}
|
||||
callback === null || callback === void 0 ? void 0 : callback();
|
||||
});
|
||||
}, {
|
||||
root: scrollContainerRef.current,
|
||||
});
|
||||
observer.observe(sentinelRef.current);
|
||||
return () => {
|
||||
observer.disconnect();
|
||||
};
|
||||
}, [callback]);
|
||||
return [scrollContainerRef, sentinelRef];
|
||||
};
|
||||
//# sourceMappingURL=useInfiniteScroll.js.map
|
||||
Generated
Vendored
+23
@@ -0,0 +1,23 @@
|
||||
import { useEffect, useRef } from 'react';
|
||||
/**
|
||||
* heavily inspired by @dan_abramov's post
|
||||
*
|
||||
* @see https://overreacted.io/making-setinterval-declarative-with-react-hooks/
|
||||
*/
|
||||
export const useInterval = (handler, timeout) => {
|
||||
const handlerRef = useRef();
|
||||
useEffect(() => {
|
||||
handlerRef.current = handler;
|
||||
}, [handler]);
|
||||
useEffect(() => {
|
||||
if (timeout === null) {
|
||||
return;
|
||||
}
|
||||
const intervalId = setInterval(() => {
|
||||
var _a;
|
||||
typeof handlerRef.current === 'function' && ((_a = handlerRef.current) === null || _a === void 0 ? void 0 : _a.call(handlerRef));
|
||||
}, timeout);
|
||||
return () => clearInterval(intervalId);
|
||||
}, [timeout]);
|
||||
};
|
||||
//# sourceMappingURL=useInterval.js.map
|
||||
ddb_main/node_modules/@dndbeyond/game-log-components/dist/hooks/useMessageBroker/useMessageBroker.js
Generated
Vendored
+12
@@ -0,0 +1,12 @@
|
||||
import { useEffect } from 'react';
|
||||
import { useAwaitMessageBroker } from '../useAwaitMessageBroker';
|
||||
export const useMessageBroker = (callback) => {
|
||||
const mb = useAwaitMessageBroker();
|
||||
useEffect(() => {
|
||||
if (!mb) {
|
||||
return;
|
||||
}
|
||||
return mb.subscribe(callback);
|
||||
}, [callback, mb]);
|
||||
};
|
||||
//# sourceMappingURL=useMessageBroker.js.map
|
||||
Reference in New Issue
Block a user