1.2.3 • Published 6 months ago

crush-feelings v1.2.3

Weekly downloads
-
License
MIT
Repository
-
Last release
6 months ago

Crush Feelings Simulator 💘

A humorous TypeScript package that simulates the experience of having a crush, complete with awkward interactions and guaranteed system failures when trying to process feelings!

Features 🌟

  • 🤗 Create virtual personas
  • 😳 Simulate realistic crush interactions
  • 🦋 Experience virtual butterflies
  • 💝 Track crush intensity levels
  • 💔 Guaranteed to throw errors when feelings develop
  • 🔄 Reset functionality when you need a fresh start

Installation 📦

npm install crush-feelings

Usage 🚀

import { Person, Relationship } from 'crush-feelings';

// Create the people involved
const you = new Person("Your Name");
const crush = new Person("Crush's Name");

// Initialize the relationship
const relationship = new Relationship(you, crush);

// Simulate an interaction
console.log(relationship.simulateInteraction());
// Output: "Interaction #1: Your Name had an awkward wave with Crush's Name and felt nervous."

// Check crush intensity
console.log(relationship.getCrushIntensity());
// Output: "Crush intensity: 20.0%"

// Try (and fail) to develop feelings
try {
    relationship.tryToDevelopFeelings();
  } catch (error: unknown) {
    if (error instanceof Error) {
      console.error(error.message);
    } else {
      console.error("An unknown error occurred");
    }
  }

API Reference 📚

Person Class

class Person {
  constructor(name: string)
  getName(): string
  setMood(mood: Mood): void
  getMood(): Mood
}

Relationship Class

class Relationship {
  constructor(person1: Person, person2: Person)
  simulateInteraction(): string
  tryToDevelopFeelings(): never  // Always throws CrushError
  getInteractionCount(): number
  getCrushIntensity(): string
  reset(): void
}

Types

type Mood = 'happy' | 'nervous' | 'flustered' | 'overthinking'
type Interaction = 'small talk' | 'awkward wave' | 'shared laugh' | 'accidental eye contact'

Features in Detail 🔍

Interaction Simulation

  • Random interaction generation from predefined scenarios
  • Mood tracking and updates
  • Interaction counter with maximum limit
  • Various response formats for realistic simulation

Crush Intensity Tracking

  • Percentage-based intensity calculation
  • Increases with each interaction
  • Maximum cap to prevent overflow (just like your feelings!)

Error Messages

The package includes various humorous error messages when trying to develop feelings:

  • "Error: Cannot process feelings.exe - Overthinking detected"
  • "Critical failure: Butterflies in stomach causing system malfunction"
  • "Fatal error: Brain.exe stopped working near crush"
  • "Stack overflow: Too many thoughts about crush name"
  • And many more!

Development 🛠️

# Clone the repository
git clone https://github.com/yourusername/crush-feelings

# Install dependencies
npm install

# Build the project
npm run build

# Run tests
npm test

Contributing 🤝

Feel free to contribute to this project! Whether it's adding new interactions, moods, or error messages, all PRs are welcome. Just try not to develop feelings for the codebase. 😉

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License 📄

MIT

Disclaimer ⚠️

This package is for entertainment purposes only. Any resemblance to real-life crushing experiences is purely coincidental (but probably accurate). No hearts were permanently damaged in the making of this package.

Support 💪

If you're experiencing actual crush-related errors that this simulator can't handle, please consult your local relationship expert. This package can only simulate the awkwardness, not cure it!

1.2.3

6 months ago

1.1.2

6 months ago

1.0.2

6 months ago

1.0.1

6 months ago