Simulate crush interactions in code!
npm install crush-feelingsbash
npm install crush-feelings
`
Usage 🚀
`typescript
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 📚
$3
`typescript
class Person {
constructor(name: string)
getName(): string
setMood(mood: Mood): void
getMood(): Mood
}
`
$3
`typescript
class Relationship {
constructor(person1: Person, person2: Person)
simulateInteraction(): string
tryToDevelopFeelings(): never // Always throws CrushError
getInteractionCount(): number
getCrushIntensity(): string
reset(): void
}
`
$3
`typescript
type Mood = 'happy' | 'nervous' | 'flustered' | 'overthinking'
type Interaction = 'small talk' | 'awkward wave' | 'shared laugh' | 'accidental eye contact'
`
Features in Detail 🔍
$3
- Random interaction generation from predefined scenarios
- Mood tracking and updates
- Interaction counter with maximum limit
- Various response formats for realistic simulation
$3
- Percentage-based intensity calculation
- Increases with each interaction
- Maximum cap to prevent overflow (just like your feelings!)
$3
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 🛠️
`bash
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`)