@ngx-toolset/date-interceptors
v3.0.0
Published
Angular date interceptors (parses HTTP response body date strings to date objects and converts HTTP request body date objects to date strings of given format)
Downloads
25
Maintainers
Readme
@ngx-toolset/date-interceptors
Table of Contents
Features
- Parses date strings of given format in HTTP response body to date objects
- Formats date objects in HTTP request body to date strings of given format
Hint: The features mentioned above only work when using Angular HttpClient.
Installation
NPM
npm install @ngx-toolset/date-interceptors --save
Choose the version corresponding to your Angular version:
| Angular | @ngx-toolset/date-interceptors | |---------|--------------------------------| | 14.x.x | >=0.0.1 <=1.0.0-rc.11 | | 15.x.x | 1.0.0-rc.12 | | 16.x.x | >=1.0.0-rc.13 <=2.0.0 | | 17.x.x | 3.0.0 |
Usage
Provide HTTP client with Interceptors
Provide the HTTP client with the requestBodyDateFormatInterceptor
and responseBodyDateParseInterceptor
in your main.ts
:
import { bootstrapApplication } from '@angular/platform-browser';
import { AppComponent } from './app/app.component';
import {
requestBodyDateFormatInterceptor,
responseBodyDateParseInterceptor
} from '@ngx-toolset/date-interceptors';
bootstrapApplication(AppComponent, {
providers: [
provideHttpClient(
withInterceptors([
requestBodyDateFormatInterceptor,
responseBodyDateParseInterceptor
])
)
]
});
Provide Injection Tokens
Provide API_DATE_FORMAT
, API_URL_REGEX
and DATE_STRING_REGEX
in your main.ts
:
import { bootstrapApplication } from '@angular/platform-browser';
import { AppComponent } from './app/app.component';
import {
requestBodyDateFormatInterceptor,
responseBodyDateParseInterceptor,
API_URL_REGEX,
DATE_STRING_REGEX,
API_DATE_FORMAT
} from '@ngx-toolset/date-interceptors';
bootstrapApplication(AppComponent, {
providers: [
provideHttpClient(
withInterceptors([
requestBodyDateFormatInterceptor,
responseBodyDateParseInterceptor
])
),
{
provide: API_URL_REGEX,
useValue: /^https:\/\/test-url.com/
},
{
provide: DATE_STRING_REGEX,
useValue: /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/
},
{
provide: API_DATE_FORMAT,
useValue: "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
}
]
});
Hint: The list of options to provide
API_DATE_FORMAT
value could be found here: date-fns documentation.
Injection Tokens
API_DATE_FORMAT
This is the string representation of dates of HTTP response body that are parsed to date objects. Also this value is used to format date objects in HTTP request body to date strings with the given format.
Hint: The list of options to provide
API_DATE_FORMAT
value could be found here: date-fns documentation.
API_URL_REGEX
Only HTTP requests and HTTP responses with URLs matching the Regex will benefit from date conversions.
DATE_STRING_REGEX
Only date strings of HTTP response body matching the Regex will be parsed to date objects.