Skip to content

Instantly share code, notes, and snippets.

View shrawan2015's full-sized avatar
🎯
Focusing

Shrawan Kr Sharma shrawan2015

🎯
Focusing
View GitHub Profile
import { useDispatch, useSelector } from "react-redux";
import React, { Fragment, useEffect, useRef, useState } from "react";
import * as Yup from "yup";
import { useFormik } from "formik";
const validationSchema = Yup.object({
firstName: Yup.string().required("Required"),
lastName: Yup.string().required("Required"),
});
func addAnimation(node: SCNNode) {
let rotateOne = SCNAction.rotateBy(x: 0, y: CGFloat(Float.pi), z: 0, duration: 5.0)
let hoverUp = SCNAction.moveBy(x: 0, y: 0.2, z: 0, duration: 2.5)
let hoverDown = SCNAction.moveBy(x: 0, y: -0.2, z: 0, duration: 2.5)
let hoverSequence = SCNAction.sequence([hoverUp, hoverDown])
let rotateAndHover = SCNAction.group([rotateOne, hoverSequence])
let repeatForever = SCNAction.repeatForever(rotateAndHover)
node.runAction(repeatForever)
}
let pinchGesture = UIPinchGestureRecognizer(target: self, action: #selector(didPinch(_:)))
sceneView.addGestureRecognizer(pinchGesture)
@objc
func didPinch(_ gesture: UIPinchGestureRecognizer) {
guard let _ = object else { return }
var originalScale = object?.scale
switch gesture.state {
case .began:
ref.child("users").child(user.uid).setValue(["username": username]) {
(error:Error?, ref:DatabaseReference) in
if let error = error {
print("Data could not be saved: \(error).")
} else {
print("Data saved successfully!")
}
}
@shrawan2015
shrawan2015 / gist:4d31d8d28bbdba212f857705ad5791b2
Last active February 5, 2019 06:45
Sealed class in kotlin
sealed class Response
data class Success(val body: String): Response()
data class Error(val code: Int, val message: String): Response()
object Timeout: Response()
fun sugar(response: Response) = when (response) {
is Success -> ...
class VenuAdapter(val context: Context,val venueList:List<Venue> , val itemClick: (Venue) -> Unit): RecyclerView.Adapter<VenuAdapter.ViewHolder>() {
override fun onCreateViewHolder(parentView: ViewGroup, position: Int):ViewHolder {
val inflateview = LayoutInflater.from(context).inflate(R.layout.venue_cell,parentView,false)
return ViewHolder(context,itemView = inflateview , itemClick = itemClick )
}
override fun getItemCount(): Int {
return venueList.count()
}
@shrawan2015
shrawan2015 / gist:bd14656ae32bcfee52d0efa4881764e5
Created January 25, 2019 11:09
difference in let,run,with,apply,also in kotlin
class MyClass {
fun test() {
val str: String = "..."
val result = str.xxx {
print(this) // Receiver
print(it) // Argument
42 // Block return value
}
}
}
<!-- Divider -->
<style name="LayoutDivider">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">1dp</item>
<item name="android:background">@color/colorPrimaryDark</item>
<item name="android:alpha">0.5</item>
</style>
let rotationGesture = UIRotationGestureRecognizer(target: self, action: #selector(viewRotated))
sceneView.addGestureRecognizer(rotationGesture)
@objc private func viewRotated(_ gesture: UIRotationGestureRecognizer) {
let location = gesture.location(in: sceneView)
guard let node = self.object(at: location) else { return }
switch gesture.state {
case .began:
// on Tap to reposition the cube
@objc func addCubeToSceneView(withGestureRecognizer recognizer: UIGestureRecognizer) {
let tapLocation = recognizer.location(in: sceneView)
switch recognizer.state {
case .began:
print("Object began to move")
let hitResults = self.sceneView.hitTest(tapLocation, options: nil)
if hitResults.isEmpty { return }
let hitResult = hitResults.first
if let node = hitResult?.node.parent?.parent?.parent {