@stemy/ngx-utils 13.2.1 → 13.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/stemy-ngx-utils.umd.js +65 -50
- package/bundles/stemy-ngx-utils.umd.js.map +1 -1
- package/esm2015/ngx-utils/directives/async-method.base.js +14 -2
- package/esm2015/ngx-utils/directives/async-method.directive.js +2 -9
- package/esm2015/ngx-utils/ngx-utils.module.js +3 -1
- package/esm2015/ngx-utils/pipes/replace.pipe.js +3 -2
- package/esm2015/ngx-utils/services/universal.service.js +2 -2
- package/esm2015/ngx-utils/utils/date.utils.js +8 -7
- package/esm2015/ngx-utils/utils/object.utils.js +3 -3
- package/esm2015/public_api.js +2 -1
- package/esm2015/stemy-ngx-utils.js +1 -2
- package/esm2020/ngx-utils/common-types.mjs +1 -1
- package/esm2020/ngx-utils/pipes/replace.pipe.mjs +3 -2
- package/esm2020/ngx-utils/services/universal.service.mjs +2 -2
- package/esm2020/ngx-utils/utils/date.utils.mjs +5 -4
- package/esm2020/ngx-utils/utils/object.utils.mjs +3 -3
- package/fesm2015/stemy-ngx-utils.js +58 -51
- package/fesm2015/stemy-ngx-utils.js.map +1 -1
- package/fesm2015/stemy-ngx-utils.mjs +8 -7
- package/fesm2015/stemy-ngx-utils.mjs.map +1 -1
- package/fesm2020/stemy-ngx-utils.mjs +8 -7
- package/fesm2020/stemy-ngx-utils.mjs.map +1 -1
- package/ngx-utils/common-types.d.ts +2 -1
- package/ngx-utils/utils/date.utils.d.ts +1 -1
- package/package.json +1 -1
- package/stemy-ngx-utils.metadata.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, TemplateRef, PLATFORM_ID, Injectable, Inject, Optional, Injector, EventEmitter, isDevMode, ErrorHandler, NgZone, Pipe, Directive, Input, Output, HostBinding, HostListener, Component, ContentChildren, ViewChild, ContentChild, APP_INITIALIZER, NgModule } from '@angular/core';
|
|
3
3
|
import 'reflect-metadata';
|
|
4
|
-
import
|
|
4
|
+
import moment from 'moment';
|
|
5
5
|
import { first, skipWhile, mergeMap, timeout, map } from 'rxjs/operators';
|
|
6
6
|
import { Subject, BehaviorSubject, Observable, Subscription, from, TimeoutError, combineLatest } from 'rxjs';
|
|
7
7
|
import { Invokable } from 'invokable';
|
|
@@ -21,8 +21,8 @@ import * as i4 from '@angular/forms';
|
|
|
21
21
|
import { FormsModule } from '@angular/forms';
|
|
22
22
|
|
|
23
23
|
const defaultPredicate = () => true;
|
|
24
|
-
const hasBlob = typeof Blob !== "undefined";
|
|
25
|
-
const hasFile = typeof File !== "undefined";
|
|
24
|
+
const hasBlob = typeof Blob !== "undefined" && !!Blob;
|
|
25
|
+
const hasFile = typeof File !== "undefined" && !!File;
|
|
26
26
|
class ObjectUtils {
|
|
27
27
|
static compare(a, b) {
|
|
28
28
|
if ((a === null || b === null) || (typeof a != typeof b)) {
|
|
@@ -487,13 +487,14 @@ class DateUtils {
|
|
|
487
487
|
static add(date, amount, unit) {
|
|
488
488
|
return moment(date).add(amount, unit).toDate();
|
|
489
489
|
}
|
|
490
|
-
static businessAdd(date, amount, unit) {
|
|
490
|
+
static businessAdd(date, amount, unit, freeDays = []) {
|
|
491
491
|
const signal = amount < 0 ? -1 : 1;
|
|
492
|
+
const freeMoments = freeDays.map(d => moment(d));
|
|
492
493
|
let remaining = Math.abs(amount);
|
|
493
494
|
let day = date;
|
|
494
495
|
while (remaining) {
|
|
495
496
|
day = DateUtils.add(day, signal, unit);
|
|
496
|
-
if (DateUtils.isBusinessDay(day)) {
|
|
497
|
+
if (DateUtils.isBusinessDay(day) && !freeMoments.some(m => m.isSame(day, "day"))) {
|
|
497
498
|
remaining--;
|
|
498
499
|
}
|
|
499
500
|
}
|
|
@@ -1279,7 +1280,7 @@ class UniversalService {
|
|
|
1279
1280
|
this.platformId = platformId;
|
|
1280
1281
|
this.dds = dds;
|
|
1281
1282
|
const info = this.dds.getDeviceInfo();
|
|
1282
|
-
this.crawler = /(bot|google|baidu|bing|msn|duckduckbot|teoma|slurp|yandex|lighthouse|angular-universal|PTST)/gi.test(info.userAgent);
|
|
1283
|
+
this.crawler = /(bot|google|baidu|bing|msn|duckduckbot|teoma|slurp|yandex|lighthouse|angular-universal|PTST|PostmanRuntime)/gi.test(info.userAgent);
|
|
1283
1284
|
}
|
|
1284
1285
|
get isBrowser() {
|
|
1285
1286
|
return isPlatformBrowser(this.platformId);
|
|
@@ -3809,7 +3810,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
|
|
|
3809
3810
|
|
|
3810
3811
|
class ReplacePipe {
|
|
3811
3812
|
transform(value, from, to) {
|
|
3812
|
-
return value ? value
|
|
3813
|
+
return ObjectUtils.isDefined(value) ? `${value}`.replace(from, to) : ``;
|
|
3813
3814
|
}
|
|
3814
3815
|
}
|
|
3815
3816
|
ReplacePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ReplacePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|