Skip to content

Instantly share code, notes, and snippets.

View Noitidart's full-sized avatar

Noitidart Noitidart

View GitHub Profile
@Noitidart
Noitidart / .gitignore
Last active May 4, 2026 03:39
Difftastic Git Shortcuts — structural diff aliases (gdu, gds, gdh, gdb, gdr, gl, glo)
.DS_Store
import * as FileSystem from 'expo-file-system';
import { Platform } from 'react-native';
import { IStorageEngine } from 'lib/persistoid';
import { addDebugBreadcrumb, addErrorBreadcrumb } from 'lib/sentry';
function isAndroidMissingFileOrDirectoryError(error: unknown) {
if (
Platform.OS === 'android' &&
hasMessage(error) &&
{
"editor.inlineSuggest.enabled": true,
"github.copilot.enable": {
"*": false,
"plaintext": false,
"markdown": false,
"scminput": false,
"ts": true,
"js": true,
"jsx": true,
@Noitidart
Noitidart / useRadio.ts
Created April 8, 2022 23:49
maybe useful maybe not. i made but never used it.
import { useMemo, useRef } from 'react';
import { useMemoizedFn } from 'ahooks';
import { noop } from 'lodash';
type UseRadioInputs = {
// Defaults to undefined
defaultValue?: any;
onChange?: (value: any) => void;
1. yarn add --dev detox jest-circus
2. detox init -r jest (This creates the e2e folder along with the .detoxrc.json)
3. yarn add --dev eslint-plugin-detox (optional)
plugins: [...'detox'...],
- Add this to your eslint config plugins
4.Make sure your your **eas.json** has a simulator build set up that looks like this then create a simulator release build by running: **eas build --profile simulator --platform ios**
"simulator": {
"ios": {
"simulator": true,
Cu.import('resource://gre/modules/ctypes.jsm');
const cg = ctypes.open('/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics');
const CFTimeInterval = ctypes.double;
const CGEventSourceStateID = ctypes.uint32_t;
const CGEventType = ctypes.uint32_t;
const kCGEventSourceStateCombinedSessionState = 0;
const kCGAnyInputEventType = 0xFFFFFFFF;
import React, {
Children,
createContext,
useContext,
useEffect,
useRef,
useState
} from 'react';
import {
import React, { useCallback, useEffect, useRef } from 'react';import { defaults, omit, pick } from 'lodash';
import { useController, UseControllerProps } from 'react-hook-form';
import { TextInput, TextInputProps } from 'react-native';import { HookedInputTransformer } from 'src/lib/react-hook-form-transforms';interface HookedTextInputProps
extends Omit<TextInputProps, 'defaultValue'>,
UseControllerProps {
transform?: HookedInputTransformer;
}export default function withHookedInput(
ControlledInputComponent: typeof TextInput
) {
function HookedInput({ transform, ...props }: HookedTextInputProps) {