Issue:
Eliminate Lack of Diagnostics Information because of macro panicking

Proc macro should not panic.  When proc macro panics, it will be the only error message returned by the rust compiler. Instead, in case of errors, proc macro should emit compile_error!() to communicate error to the user. This will allow other errors to be displayed.

https://github.com/juspay/orca/blob/01cafe753bc4ea0cf33ec604dcbe0017abfebcad/crates/router_derive/src/macros/operation.rs#L92

Resolution:
<think>
PR Context:
- Title: fix(router_derive): use compile_error instead of panic
- Merged: 2023-01-11T10:20:01Z
- Files changed: 3 files
- Commits: 7 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [ ] New feature
- [x] Enhancement
- [ ] Refactoring
- [ ] Dependency updates

## Description
<!-- Describe your changes in detail -->
Use compile_error in proc macros instead of panic.

### Additional Changes

- [ ] This PR modifies the database schema
- [ ] This PR modifies application configuration/environment variables

<!-- 
Provide links to the files with corresponding changes.

Following are 
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** router_derive: fix: Use compile_error instead of panic (#332)
Files to modify:


**crates/router_derive/src/lib.rs**
  Modify existing code

**crates/router_derive/src/macros/helpers.rs**
  Add:
    - function: pub::syn_error

**crates/router_derive/src/macros/operation.rs**
  Modify existing code