Skip to content

Instantly share code, notes, and snippets.

View iOSGaurav's full-sized avatar
🏠
Working from home

Gaurav Parmar iOSGaurav

🏠
Working from home
View GitHub Profile
#!/bin/bash
# Release Notes Generator Script
# Usage: ./generate_release_notes.sh [CHANGELOG_FILE] [VERSION] [OUTPUT_FILE]
# Default values
CHANGELOG_FILE="${1:-CHANGELOG.md}"
VERSION="${2:-latest}"
OUTPUT_FILE="${3:-release_notes.md}"
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Scenario & Steps Generator</title>
<style>
* {
box-sizing: border-box;
margin: 0;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Advanced JSON Configuration Generator</title>
<style>
:root {
--primary-color: #4a6fa5;
--secondary-color: #166088;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Scenario Builder</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/prismjs@1.29.0/themes/prism-tomorrow.css" rel="stylesheet" />
<style>
body { height: 100vh; font-family: Arial, sans-serif; transition: background 0.3s, color 0.3s;}
#sidebar { width: 280px; border-right: 1px solid #ddd; background: #f8f9fa; transition: background 0.3s;}
import XCTest
import FBSnapshotTestCase
// MARK: - Step & Scenario Models
struct TestStep: Codable {
let action: String
let target: String?
let value: String?
let snapshotName: String?
let scenario: String? // for "goto"
import XCTest
struct TestStep: Decodable {
let action: String?
let target: String?
let value: String?
let assert: String?
}
struct TestScenario: Decodable {
#!/bin/bash
# Git Automation Script with Strict Message Validation
# Configuration
VALID_BRANCH_PATTERN="^(feature|bugfix|hotfix)\/[a-z0-9-]+$"
RELEASE_BRANCH_PATTERN="^release\/[a-z0-9-]+$"
JIRA_TICKET_PATTERN="[A-Z]{2,}-[0-9]+"
MAX_MESSAGE_LENGTH=72
REMOTE="origin"
//
// AsyncImageView.swift
// Component
//
// Created by Gaurav Parmar on 26/07/25.
//
import SwiftUI
struct AsyncImageView: View {
enum ImageShape {
struct MyEquatableView: EquatableView {
let value: Int
static func == (lhs: MyEquatableView, rhs: MyEquatableView) -> Bool {
return lhs.value == rhs.value
}
var body: some View {
Text("Value: \(value)")
}
@iOSGaurav
iOSGaurav / Font.swift
Created July 2, 2023 02:46 — forked from ryanrey/Font.swift
UIFont Extension
import UIKit
typealias Font = UIFont
public extension Font {
convenience init(_ family: FontFamily = .system, size: CGFloat = 17.0, weight: FontWeight = FontWeight.regular) {
let descriptor: UIFontDescriptor
if family == .system {
descriptor = UIFont.systemFont(ofSize: size, weight: UIFont.Weight(rawValue: weight.value)).fontDescriptor
} else {