sgh-receipt-lib
v0.6.1
Published
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.1.0.
Readme
SghReceiptLib
This library was generated with Angular CLI version 15.1.0.
Code scaffolding
Run ng generate component component-name --project sgh-receipt-lib to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module --project sgh-receipt-lib.
Note: Don't forget to add
--project sgh-receipt-libor else it will be added to the default project in yourangular.jsonfile.
Build
Run ng build sgh-receipt-lib to build the project. The build artifacts will be stored in the dist/ directory.
Publishing
After building your library with ng build sgh-receipt-lib, go to the dist folder cd dist/sgh-receipt-lib and run npm publish.
Running unit tests
Run ng test sgh-receipt-lib to execute the unit tests via Karma.
Further help
To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.
Version details
Angular Version Library Version Description
15 0.4.9
16 0.5.0
17 0.5.1
18 0.5.2
19 0.5.3
19 0.5.4 SHP-5971 Case number as label for accession based client(s)
19 0.5.5 SHP-5971 Visit ID -> Case number, accessionEnabled set as boolean
19 0.5.7 SHP-5767 ach-payment related bank details showing for logged in portal transaction receipt
19 0.5.8 SHP-7342 verbiage change for htrx
19 0.6.0 Security hardening release
19-20 0.6.1 Angular 19 and 20 compatibility supportSecurity Changes (v0.6.0)
The following security improvements were made:
- Input Validation - Added comprehensive validation for dialog data with
isValidReceiptData()type guard - Safe Numeric Parsing - Replaced
parseFloat/parseIntwithsafeParseFloat()/safeParseInt()that handle invalid inputs - Image URL Validation - Added
isValidImageUrl()to prevent unsafe image sources (blocks javascript:, script tags) - Card/Bank Number Sanitization - Added
sanitizeCardNumber()andsanitizeBankAccountNumber()to ensure only last 4 digits shown - Currency Symbol Validation - Added validation to prevent injection via currency symbols
- TypeScript Interfaces - Converted classes to interfaces with proper type definitions
- Development Logging - Console statements only execute in development mode via
ngDevMode - Strict Equality - Changed
==to===for all comparisons - Error Boundary - Component gracefully handles invalid/missing data
Exported Utilities
The following helper functions are now exported for use in consuming applications:
isValidReceiptData(data)- Type guard for PaymentReceiptDataisValidStripeErrorNote(data)- Type guard for StripeErrorNotesafeParseFloat(value, default)- Safe float parsingsafeParseInt(value, default)- Safe integer parsingisValidImageUrl(url)- URL validationsanitizeCardNumber(cardNumber)- Card maskingsanitizeBankAccountNumber(accountNumber)- Bank account maskingcreateSafeReceiptData(data)- Creates sanitized copy of receipt data
