Skip to content

Instantly share code, notes, and snippets.

View jacobjuul's full-sized avatar
🎯
Focusing

Jacob Juul Christiansen jacobjuul

🎯
Focusing
  • juuli IVS
  • Denmark
View GitHub Profile
@jacobjuul
jacobjuul / mutations.ts
Created November 29, 2023 13:25
Mutations with inferred types
// Explicit types
export const useCreateDocumentBookmarkMutation = (
options: UseMutationOptions<UserAlertOld, unknown, CreateDocumentBookmarkArgs>
): UseMutationResult<UserAlertOld, unknown, CreateDocumentBookmarkArgs> =>
useMutation({
mutationFn: params => addDocumentBookmark(params),
onSuccess: () => {
queryClient.invalidateQueries([queryKeys.documentBookmarks])
},
...options
return new Promise((resolve, reject) => {
superagent
.post(params.url)
.auth(params.auth.username, params.auth.password)
.send(params.payload)
.set('Accept', 'application/json')
.end((error, res) => {
error ? reject(error) : resolve(res);
});
});
const userNotificationSettings = userId => {
const targetUser = Meteor.users.findOne({ _id: userId });
return notificationType => channel => {
if (typeof userId !== 'string' ||
typeof notificationType !== 'string' ||
typeof channel !== 'string') {
throw new Meteor.Error('All args must be of type string');
}
// ActivityView.js
notificationSender(notificationTypes.USER_UNJOINED_ACTIVITY_USER, {
payload: { activity },
sender: userId
});
notificationSender(notificationTypes.USER_UNJOINED_ACTIVITY_COACH, {
payload: { activityId: activity._id },
sender: userId,
reciever: activity.coachId
// Object assign
const someObject = {
prop1: '123',
prop2: '1234,
};
const newObj = Object.assign({}, someObject, { prop1: '1337' });
const newObj2 = { ...someObject, prop1: '1337' };
@jacobjuul
jacobjuul / reactElementHeight.js
Created June 24, 2016 09:38
Example for @hallandsen on how to get element height
import ReactDOM from 'react-dom';
someMethod() {
const elementHeight = ReactDOM.findDOMNode(this.refs.refName).offsetHeight;
}
render() {
return (
<div ref="refName">Some element</div>
)