@yelon/util 18.1.0 → 18.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,8 @@
1
1
  export interface YunzaiAuthConfig {
2
+ /**
3
+ * 是否自动完成认证流程
4
+ */
5
+ auto?: boolean;
2
6
  /**
3
7
  * 存储KEY值,默认:`_token`
4
8
  */
@@ -268,10 +268,10 @@ export class ArrayService {
268
268
  }, new Map())
269
269
  .values());
270
270
  }
271
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ArrayService, deps: [{ token: i1.YunzaiConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
272
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ArrayService, providedIn: 'root' }); }
271
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ArrayService, deps: [{ token: i1.YunzaiConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
272
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ArrayService, providedIn: 'root' }); }
273
273
  }
274
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ArrayService, decorators: [{
274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ArrayService, decorators: [{
275
275
  type: Injectable,
276
276
  args: [{ providedIn: 'root' }]
277
277
  }], ctorParameters: () => [{ type: i1.YunzaiConfigService }] });
@@ -90,10 +90,10 @@ export class CookieService {
90
90
  removeAll() {
91
91
  this.doc.cookie = '';
92
92
  }
93
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CookieService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
94
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CookieService, providedIn: 'root' }); }
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CookieService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
94
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CookieService, providedIn: 'root' }); }
95
95
  }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CookieService, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CookieService, decorators: [{
97
97
  type: Injectable,
98
98
  args: [{ providedIn: 'root' }]
99
99
  }] });
@@ -75,10 +75,10 @@ export class ScrollService {
75
75
  }
76
76
  this.scrollToElement(this._getDoc().body, topOffset);
77
77
  }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
79
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ScrollService, providedIn: 'root' }); }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
79
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ScrollService, providedIn: 'root' }); }
80
80
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ScrollService, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ScrollService, decorators: [{
82
82
  type: Injectable,
83
83
  args: [{ providedIn: 'root' }]
84
84
  }] });
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbC9jb25maWcvYXV0aC9hdXRoLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgWXVuemFpQXV0aENvbmZpZyB7XG4gIC8qKlxuICAgKiDlrZjlgqhLRVnlgLzvvIzpu5jorqTvvJpgX3Rva2VuYFxuICAgKi9cbiAgc3RvcmVfa2V5Pzogc3RyaW5nO1xuICAvKipcbiAgICog5peg5pWI5pe26Lez6L2s6Iez55m75b2V6aG177yM6buY6K6k77yaYHRydWVg77yM5YyF5ous77yaXG4gICAqIC0g5peg5pWIdG9rZW7lgLxcbiAgICogLSB0b2tlbuW3sui/h+acn++8iOmZkEpXVO+8iVxuICAgKi9cbiAgdG9rZW5faW52YWxpZF9yZWRpcmVjdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiB0b2tlbui/h+acn+aXtumXtOWBj+enu+WAvO+8jOm7mOiupO+8mmAxMGAg56eS77yI5Y2V5L2N77ya56eS77yJXG4gICAqL1xuICB0b2tlbl9leHBfb2Zmc2V0PzogbnVtYmVyO1xuICAvKipcbiAgICog5Y+R6YCBdG9rZW7lj4LmlbDlkI3vvIzpu5jorqTvvJrCt1xuICAgKi9cbiAgdG9rZW5fc2VuZF9rZXk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiDlj5HpgIF0b2tlbuaooeadv++8iOm7mOiupOS4uu+8mmAnJHt0b2tlbn0nYO+8ie+8jOS9v+eUqCBgJHt0b2tlbn1gIOihqOekunRva2Vu54K55L2N56ym77yIKirms6jmhI/vvJoqKuivt+WKoeW/heS9v+eUqCBcXGBcXGAg5YyF6KO577yJ77yM5L6L5aaC77yaXG4gICAqXG4gICAqIC0gYEJlYXJlciAke3Rva2VufWBcbiAgICovXG4gIHRva2VuX3NlbmRfdGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiDlj5HpgIF0b2tlbuWPguaVsOS9jee9ru+8jOm7mOiupO+8mmBoZWFkZXJgXG4gICAqL1xuICB0b2tlbl9zZW5kX3BsYWNlPzogJ2hlYWRlcicgfCAnYm9keScgfCAndXJsJztcbiAgLyoqXG4gICAqIOeZu+W9lemhtei3r+eUseWcsOWdgO+8jOm7mOiupO+8mmAvbG9naW5gXG4gICAqL1xuICBsb2dpbl91cmw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiDlv73nlaVUT0tFTueahFVSTOWcsOWdgOWIl+ihqO+8jOm7mOiupOWAvOS4uu+8mmBbL1xcL2Fzc2V0c1xcLy9dYFxuICAgKi9cbiAgaWdub3Jlcz86IFJlZ0V4cFtdO1xuICAvKipcbiAgICog5YWB6K645Yy/5ZCN55m75b2VS0VZ77yM6Iul6K+35rGC5Y+C5pWw5Lit5bim5pyJ6K+lS0VZ6KGo56S65b+955WlVE9LRU7vvIzpu5jorqTvvJpgX2FsbG93X2Fub255bW91c2BcbiAgICovXG4gIGFsbG93X2Fub255bW91c19rZXk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiDliLfmlrDpl7TpmpTml7bplb/vvIjljZXkvY3vvJptc++8ie+8jOm7mOiupO+8mmAzMDAwYFxuICAgKi9cbiAgcmVmcmVzaFRpbWU/OiBudW1iZXI7XG4gIC8qKlxuICAgKiDov4fmnJ/orqHnrpflgY/np7vlgLzvvIjljZXkvY3vvJptc++8ie+8jOm7mOiupO+8mmA2MDAwYFxuICAgKiAtICoq5bu66K6uKirmoLnmja4gYHJlZnJlc2hUaW1lYCDlgI3mlbDmnaXorr7nva5cbiAgICovXG4gIHJlZnJlc2hPZmZzZXQ/OiBudW1iZXI7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbC9jb25maWcvYXV0aC9hdXRoLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgWXVuemFpQXV0aENvbmZpZyB7XG4gIC8qKlxuICAgKiDmmK/lkKboh6rliqjlrozmiJDorqTor4HmtYHnqItcbiAgICovXG4gIGF1dG8/OiBib29sZWFuO1xuICAvKipcbiAgICog5a2Y5YKoS0VZ5YC877yM6buY6K6k77yaYF90b2tlbmBcbiAgICovXG4gIHN0b3JlX2tleT86IHN0cmluZztcbiAgLyoqXG4gICAqIOaXoOaViOaXtui3s+i9rOiHs+eZu+W9lemhte+8jOm7mOiupO+8mmB0cnVlYO+8jOWMheaLrO+8mlxuICAgKiAtIOaXoOaViHRva2Vu5YC8XG4gICAqIC0gdG9rZW7lt7Lov4fmnJ/vvIjpmZBKV1TvvIlcbiAgICovXG4gIHRva2VuX2ludmFsaWRfcmVkaXJlY3Q/OiBib29sZWFuO1xuICAvKipcbiAgICogdG9rZW7ov4fmnJ/ml7bpl7TlgY/np7vlgLzvvIzpu5jorqTvvJpgMTBgIOenku+8iOWNleS9je+8muenku+8iVxuICAgKi9cbiAgdG9rZW5fZXhwX29mZnNldD86IG51bWJlcjtcbiAgLyoqXG4gICAqIOWPkemAgXRva2Vu5Y+C5pWw5ZCN77yM6buY6K6k77yawrdcbiAgICovXG4gIHRva2VuX3NlbmRfa2V5Pzogc3RyaW5nO1xuICAvKipcbiAgICog5Y+R6YCBdG9rZW7mqKHmnb/vvIjpu5jorqTkuLrvvJpgJyR7dG9rZW59J2DvvInvvIzkvb/nlKggYCR7dG9rZW59YCDooajnpLp0b2tlbueCueS9jeespu+8iCoq5rOo5oSP77yaKiror7fliqHlv4Xkvb/nlKggXFxgXFxgIOWMheijue+8ie+8jOS+i+Wmgu+8mlxuICAgKlxuICAgKiAtIGBCZWFyZXIgJHt0b2tlbn1gXG4gICAqL1xuICB0b2tlbl9zZW5kX3RlbXBsYXRlPzogc3RyaW5nO1xuICAvKipcbiAgICog5Y+R6YCBdG9rZW7lj4LmlbDkvY3nva7vvIzpu5jorqTvvJpgaGVhZGVyYFxuICAgKi9cbiAgdG9rZW5fc2VuZF9wbGFjZT86ICdoZWFkZXInIHwgJ2JvZHknIHwgJ3VybCc7XG4gIC8qKlxuICAgKiDnmbvlvZXpobXot6/nlLHlnLDlnYDvvIzpu5jorqTvvJpgL2xvZ2luYFxuICAgKi9cbiAgbG9naW5fdXJsPzogc3RyaW5nO1xuICAvKipcbiAgICog5b+955WlVE9LRU7nmoRVUkzlnLDlnYDliJfooajvvIzpu5jorqTlgLzkuLrvvJpgWy9cXC9hc3NldHNcXC8vXWBcbiAgICovXG4gIGlnbm9yZXM/OiBSZWdFeHBbXTtcbiAgLyoqXG4gICAqIOWFgeiuuOWMv+WQjeeZu+W9lUtFWe+8jOiLpeivt+axguWPguaVsOS4reW4puacieivpUtFWeihqOekuuW/veeVpVRPS0VO77yM6buY6K6k77yaYF9hbGxvd19hbm9ueW1vdXNgXG4gICAqL1xuICBhbGxvd19hbm9ueW1vdXNfa2V5Pzogc3RyaW5nO1xuICAvKipcbiAgICog5Yi35paw6Ze06ZqU5pe26ZW/77yI5Y2V5L2N77yabXPvvInvvIzpu5jorqTvvJpgMzAwMGBcbiAgICovXG4gIHJlZnJlc2hUaW1lPzogbnVtYmVyO1xuICAvKipcbiAgICog6L+H5pyf6K6h566X5YGP56e75YC877yI5Y2V5L2N77yabXPvvInvvIzpu5jorqTvvJpgNjAwMGBcbiAgICogLSAqKuW7uuiurioq5qC55o2uIGByZWZyZXNoVGltZWAg5YCN5pWw5p2l6K6+572uXG4gICAqL1xuICByZWZyZXNoT2Zmc2V0PzogbnVtYmVyO1xufVxuIl19
@@ -23,10 +23,10 @@ export class YunzaiConfigService {
23
23
  set(componentName, value) {
24
24
  this.config[componentName] = { ...this.config[componentName], ...value };
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: YunzaiConfigService, deps: [{ token: YUNZAI_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
27
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: YunzaiConfigService, providedIn: 'root' }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: YunzaiConfigService, deps: [{ token: YUNZAI_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
27
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: YunzaiConfigService, providedIn: 'root' }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: YunzaiConfigService, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: YunzaiConfigService, decorators: [{
30
30
  type: Injectable,
31
31
  args: [{ providedIn: 'root' }]
32
32
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -223,10 +223,10 @@ export class CurrencyService {
223
223
  : integerRes + (decimalRes === '' ? '' : `点${decimalRes}`));
224
224
  return ret;
225
225
  }
226
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyService, deps: [{ token: i1.YunzaiConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
227
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyService, providedIn: 'root' }); }
226
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyService, deps: [{ token: i1.YunzaiConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
227
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyService, providedIn: 'root' }); }
228
228
  }
229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyService, decorators: [{
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyService, decorators: [{
230
230
  type: Injectable,
231
231
  args: [{ providedIn: 'root' }]
232
232
  }], ctorParameters: () => [{ type: i1.YunzaiConfigService }] });
@@ -5,6 +5,7 @@ export const YZ_HEADER_KEY = '_yz_header';
5
5
  export const YZ_HEADER_TYPE_KEY = '_yz_header_type';
6
6
  export const YZ_DEFAULT_ROUTE_KEY = '_yz_default_route';
7
7
  export const YZ_TENANT_KEY = '_yz_tenant';
8
+ export const YZ_NEED_AUTH_KEY = '_yz_need_auth';
8
9
  // export const YZ_LANGS_KEY = '_yz_langs';
9
10
  // export const YZ_LANG_KEY = '_yz_lang';
10
11
  function get(key) {
@@ -56,4 +57,4 @@ export function useLocalStorageTenant() {
56
57
  const getFn = () => get(YZ_TENANT_KEY);
57
58
  return [setFn, getFn];
58
59
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL21jYWNoZS9sb2NhbFN0b3JhZ2VVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDO0FBQ3RELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUM7QUFDNUMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQztBQUMxQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQztBQUNwRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxtQkFBbUIsQ0FBQztBQUN4RCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDO0FBQzFDLDJDQUEyQztBQUMzQyx5Q0FBeUM7QUFFekMsU0FBUyxHQUFHLENBQUksR0FBVztJQUN6QixJQUFJLEdBQUcsS0FBSyxrQkFBa0IsRUFBRSxDQUFDO1FBQy9CLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQWMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ3hDLENBQUM7QUFFRCxTQUFTLEdBQUcsQ0FBSSxHQUFXLEVBQUUsSUFBTztJQUNsQyxJQUFJLEdBQUcsS0FBSyxrQkFBa0IsRUFBRSxDQUFDO1FBQy9CLFlBQVksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsSUFBYyxDQUFDLENBQUM7UUFDekQsT0FBTztJQUNULENBQUM7SUFDRCxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUtELE1BQU0sVUFBVSxtQkFBbUI7SUFDakMsTUFBTSxLQUFLLEdBQTBCLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRSxNQUFNLEtBQUssR0FBMEIsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFhLFdBQVcsQ0FBQyxDQUFDO0lBQ3hFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEI7SUFDeEMsTUFBTSxLQUFLLEdBQWlDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25GLE1BQU0sS0FBSyxHQUFpQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQW9CLG1CQUFtQixDQUFDLENBQUM7SUFDOUYsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQjtJQUNwQyxNQUFNLEtBQUssR0FBZ0MsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdFLE1BQU0sS0FBSyxHQUFnQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQW1CLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZGLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUI7SUFDdkMsTUFBTSxLQUFLLEdBQXVCLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sS0FBSyxHQUF1QixHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQVUsa0JBQWtCLENBQUMsQ0FBQztJQUN6RSxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCO0lBQ25DLE1BQU0sS0FBSyxHQUFnQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUUsTUFBTSxLQUFLLEdBQWdDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBbUIsYUFBYSxDQUFDLENBQUM7SUFDdEYsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxVQUFVLDJCQUEyQjtJQUN6QyxNQUFNLEtBQUssR0FBc0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekUsTUFBTSxLQUFLLEdBQXNCLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBUyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3pFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUI7SUFDbkMsTUFBTSxLQUFLLEdBQXNCLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRSxNQUFNLEtBQUssR0FBc0IsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFTLGFBQWEsQ0FBQyxDQUFDO0lBQ2xFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExheW91dEJhc2ljQXNpZGUsIE5hdlR5cGUsIFl1bnphaU5hdlRvcGljLCBZdW56YWlQcm9qZWN0SW5mbywgWXVuemFpVXNlciB9IGZyb20gJ0B5ZWxvbi91dGlsL210eXBlcyc7XG5pbXBvcnQgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgWVpfVVNFUl9LRVkgPSAnX3l6X3VzZXInO1xuZXhwb3J0IGNvbnN0IFlaX1BST0pFQ1RfSU5GT19LRVkgPSAnX3l6X3Byb2plY3RfaW5mbyc7XG5leHBvcnQgY29uc3QgWVpfQ1VSUkVOVF9LRVkgPSAnX3l6X2N1cnJlbnQnO1xuZXhwb3J0IGNvbnN0IFlaX0hFQURFUl9LRVkgPSAnX3l6X2hlYWRlcic7XG5leHBvcnQgY29uc3QgWVpfSEVBREVSX1RZUEVfS0VZID0gJ195el9oZWFkZXJfdHlwZSc7XG5leHBvcnQgY29uc3QgWVpfREVGQVVMVF9ST1VURV9LRVkgPSAnX3l6X2RlZmF1bHRfcm91dGUnO1xuZXhwb3J0IGNvbnN0IFlaX1RFTkFOVF9LRVkgPSAnX3l6X3RlbmFudCc7XG4vLyBleHBvcnQgY29uc3QgWVpfTEFOR1NfS0VZID0gJ195el9sYW5ncyc7XG4vLyBleHBvcnQgY29uc3QgWVpfTEFOR19LRVkgPSAnX3l6X2xhbmcnO1xuXG5mdW5jdGlvbiBnZXQ8VD4oa2V5OiBzdHJpbmcpOiBUIHwgbnVsbCB7XG4gIGlmIChrZXkgPT09IFlaX0hFQURFUl9UWVBFX0tFWSkge1xuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpIGFzIE56U2FmZUFueTtcbiAgfVxuICBjb25zdCBpdGVtID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgcmV0dXJuIGl0ZW0gPyBKU09OLnBhcnNlKGl0ZW0pIDogbnVsbDtcbn1cblxuZnVuY3Rpb24gc2V0PFQ+KGtleTogc3RyaW5nLCBkYXRhOiBUKTogdm9pZCB7XG4gIGlmIChrZXkgPT09IFlaX0hFQURFUl9UWVBFX0tFWSkge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFlaX0hFQURFUl9UWVBFX0tFWSwgZGF0YSBhcyBzdHJpbmcpO1xuICAgIHJldHVybjtcbiAgfVxuICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbn1cblxudHlwZSByZXR1cm5TZXQ8VD4gPSAoZGF0YTogVCkgPT4gdm9pZDtcbnR5cGUgcmV0dXJuR2V0PFQ+ID0gKCkgPT4gVCB8IG51bGw7XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VMb2NhbFN0b3JhZ2VVc2VyKCk6IFtyZXR1cm5TZXQ8WXVuemFpVXNlcj4sIHJldHVybkdldDxZdW56YWlVc2VyPl0ge1xuICBjb25zdCBzZXRGbjogcmV0dXJuU2V0PFl1bnphaVVzZXI+ID0gdXNlciA9PiBzZXQoWVpfVVNFUl9LRVksIHVzZXIpO1xuICBjb25zdCBnZXRGbjogcmV0dXJuR2V0PFl1bnphaVVzZXI+ID0gKCkgPT4gZ2V0PFl1bnphaVVzZXI+KFlaX1VTRVJfS0VZKTtcbiAgcmV0dXJuIFtzZXRGbiwgZ2V0Rm5dO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlTG9jYWxTdG9yYWdlUHJvamVjdEluZm8oKTogW3JldHVyblNldDxZdW56YWlQcm9qZWN0SW5mbz4sIHJldHVybkdldDxZdW56YWlQcm9qZWN0SW5mbz5dIHtcbiAgY29uc3Qgc2V0Rm46IHJldHVyblNldDxZdW56YWlQcm9qZWN0SW5mbz4gPSBkYXRhID0+IHNldChZWl9QUk9KRUNUX0lORk9fS0VZLCBkYXRhKTtcbiAgY29uc3QgZ2V0Rm46IHJldHVybkdldDxZdW56YWlQcm9qZWN0SW5mbz4gPSAoKSA9PiBnZXQ8WXVuemFpUHJvamVjdEluZm8+KFlaX1BST0pFQ1RfSU5GT19LRVkpO1xuICByZXR1cm4gW3NldEZuLCBnZXRGbl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VMb2NhbFN0b3JhZ2VDdXJyZW50KCk6IFtyZXR1cm5TZXQ8TGF5b3V0QmFzaWNBc2lkZT4sIHJldHVybkdldDxMYXlvdXRCYXNpY0FzaWRlPl0ge1xuICBjb25zdCBzZXRGbjogcmV0dXJuU2V0PExheW91dEJhc2ljQXNpZGU+ID0gZGF0YSA9PiBzZXQoWVpfQ1VSUkVOVF9LRVksIGRhdGEpO1xuICBjb25zdCBnZXRGbjogcmV0dXJuR2V0PExheW91dEJhc2ljQXNpZGU+ID0gKCkgPT4gZ2V0PExheW91dEJhc2ljQXNpZGU+KFlaX0NVUlJFTlRfS0VZKTtcbiAgcmV0dXJuIFtzZXRGbiwgZ2V0Rm5dO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlTG9jYWxTdG9yYWdlSGVhZGVyVHlwZSgpOiBbcmV0dXJuU2V0PE5hdlR5cGU+LCByZXR1cm5HZXQ8TmF2VHlwZT5dIHtcbiAgY29uc3Qgc2V0Rm46IHJldHVyblNldDxOYXZUeXBlPiA9IGRhdGEgPT4gc2V0KFlaX0hFQURFUl9UWVBFX0tFWSwgZGF0YSk7XG4gIGNvbnN0IGdldEZuOiByZXR1cm5HZXQ8TmF2VHlwZT4gPSAoKSA9PiBnZXQ8TmF2VHlwZT4oWVpfSEVBREVSX1RZUEVfS0VZKTtcbiAgcmV0dXJuIFtzZXRGbiwgZ2V0Rm5dO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlTG9jYWxTdG9yYWdlSGVhZGVyKCk6IFtyZXR1cm5TZXQ8WXVuemFpTmF2VG9waWNbXT4sIHJldHVybkdldDxZdW56YWlOYXZUb3BpY1tdPl0ge1xuICBjb25zdCBzZXRGbjogcmV0dXJuU2V0PFl1bnphaU5hdlRvcGljW10+ID0gZGF0YSA9PiBzZXQoWVpfSEVBREVSX0tFWSwgZGF0YSk7XG4gIGNvbnN0IGdldEZuOiByZXR1cm5HZXQ8WXVuemFpTmF2VG9waWNbXT4gPSAoKSA9PiBnZXQ8WXVuemFpTmF2VG9waWNbXT4oWVpfSEVBREVSX0tFWSk7XG4gIHJldHVybiBbc2V0Rm4sIGdldEZuXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUxvY2FsU3RvcmFnZURlZmF1bHRSb3V0ZSgpOiBbcmV0dXJuU2V0PHN0cmluZz4sIHJldHVybkdldDxzdHJpbmc+XSB7XG4gIGNvbnN0IHNldEZuOiByZXR1cm5TZXQ8c3RyaW5nPiA9IGRhdGEgPT4gc2V0KFlaX0RFRkFVTFRfUk9VVEVfS0VZLCBkYXRhKTtcbiAgY29uc3QgZ2V0Rm46IHJldHVybkdldDxzdHJpbmc+ID0gKCkgPT4gZ2V0PHN0cmluZz4oWVpfREVGQVVMVF9ST1VURV9LRVkpO1xuICByZXR1cm4gW3NldEZuLCBnZXRGbl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VMb2NhbFN0b3JhZ2VUZW5hbnQoKTogW3JldHVyblNldDxzdHJpbmc+LCByZXR1cm5HZXQ8c3RyaW5nPl0ge1xuICBjb25zdCBzZXRGbjogcmV0dXJuU2V0PHN0cmluZz4gPSBkYXRhID0+IHNldChZWl9URU5BTlRfS0VZLCBkYXRhKTtcbiAgY29uc3QgZ2V0Rm46IHJldHVybkdldDxzdHJpbmc+ID0gKCkgPT4gZ2V0PHN0cmluZz4oWVpfVEVOQU5UX0tFWSk7XG4gIHJldHVybiBbc2V0Rm4sIGdldEZuXTtcbn1cbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlsL21jYWNoZS9sb2NhbFN0b3JhZ2VVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDO0FBQ3RELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUM7QUFDNUMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQztBQUMxQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQztBQUNwRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxtQkFBbUIsQ0FBQztBQUN4RCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztBQUNoRCwyQ0FBMkM7QUFDM0MseUNBQXlDO0FBRXpDLFNBQVMsR0FBRyxDQUFJLEdBQVc7SUFDekIsSUFBSSxHQUFHLEtBQUssa0JBQWtCLEVBQUUsQ0FBQztRQUMvQixPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFjLENBQUM7SUFDaEQsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUN4QyxDQUFDO0FBRUQsU0FBUyxHQUFHLENBQUksR0FBVyxFQUFFLElBQU87SUFDbEMsSUFBSSxHQUFHLEtBQUssa0JBQWtCLEVBQUUsQ0FBQztRQUMvQixZQUFZLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLElBQWMsQ0FBQyxDQUFDO1FBQ3pELE9BQU87SUFDVCxDQUFDO0lBQ0QsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFLRCxNQUFNLFVBQVUsbUJBQW1CO0lBQ2pDLE1BQU0sS0FBSyxHQUEwQixJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEUsTUFBTSxLQUFLLEdBQTBCLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBYSxXQUFXLENBQUMsQ0FBQztJQUN4RSxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLFVBQVUsMEJBQTBCO0lBQ3hDLE1BQU0sS0FBSyxHQUFpQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRixNQUFNLEtBQUssR0FBaUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFvQixtQkFBbUIsQ0FBQyxDQUFDO0lBQzlGLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0I7SUFDcEMsTUFBTSxLQUFLLEdBQWdDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3RSxNQUFNLEtBQUssR0FBZ0MsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFtQixjQUFjLENBQUMsQ0FBQztJQUN2RixPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCO0lBQ3ZDLE1BQU0sS0FBSyxHQUF1QixJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4RSxNQUFNLEtBQUssR0FBdUIsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFVLGtCQUFrQixDQUFDLENBQUM7SUFDekUsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQjtJQUNuQyxNQUFNLEtBQUssR0FBZ0MsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVFLE1BQU0sS0FBSyxHQUFnQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQW1CLGFBQWEsQ0FBQyxDQUFDO0lBQ3RGLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsTUFBTSxLQUFLLEdBQXNCLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pFLE1BQU0sS0FBSyxHQUFzQixHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQVMsb0JBQW9CLENBQUMsQ0FBQztJQUN6RSxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCO0lBQ25DLE1BQU0sS0FBSyxHQUFzQixJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEUsTUFBTSxLQUFLLEdBQXNCLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBUyxhQUFhLENBQUMsQ0FBQztJQUNsRSxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXlvdXRCYXNpY0FzaWRlLCBOYXZUeXBlLCBZdW56YWlOYXZUb3BpYywgWXVuemFpUHJvamVjdEluZm8sIFl1bnphaVVzZXIgfSBmcm9tICdAeWVsb24vdXRpbC9tdHlwZXMnO1xuaW1wb3J0IHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IFlaX1VTRVJfS0VZID0gJ195el91c2VyJztcbmV4cG9ydCBjb25zdCBZWl9QUk9KRUNUX0lORk9fS0VZID0gJ195el9wcm9qZWN0X2luZm8nO1xuZXhwb3J0IGNvbnN0IFlaX0NVUlJFTlRfS0VZID0gJ195el9jdXJyZW50JztcbmV4cG9ydCBjb25zdCBZWl9IRUFERVJfS0VZID0gJ195el9oZWFkZXInO1xuZXhwb3J0IGNvbnN0IFlaX0hFQURFUl9UWVBFX0tFWSA9ICdfeXpfaGVhZGVyX3R5cGUnO1xuZXhwb3J0IGNvbnN0IFlaX0RFRkFVTFRfUk9VVEVfS0VZID0gJ195el9kZWZhdWx0X3JvdXRlJztcbmV4cG9ydCBjb25zdCBZWl9URU5BTlRfS0VZID0gJ195el90ZW5hbnQnO1xuZXhwb3J0IGNvbnN0IFlaX05FRURfQVVUSF9LRVkgPSAnX3l6X25lZWRfYXV0aCc7XG4vLyBleHBvcnQgY29uc3QgWVpfTEFOR1NfS0VZID0gJ195el9sYW5ncyc7XG4vLyBleHBvcnQgY29uc3QgWVpfTEFOR19LRVkgPSAnX3l6X2xhbmcnO1xuXG5mdW5jdGlvbiBnZXQ8VD4oa2V5OiBzdHJpbmcpOiBUIHwgbnVsbCB7XG4gIGlmIChrZXkgPT09IFlaX0hFQURFUl9UWVBFX0tFWSkge1xuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpIGFzIE56U2FmZUFueTtcbiAgfVxuICBjb25zdCBpdGVtID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgcmV0dXJuIGl0ZW0gPyBKU09OLnBhcnNlKGl0ZW0pIDogbnVsbDtcbn1cblxuZnVuY3Rpb24gc2V0PFQ+KGtleTogc3RyaW5nLCBkYXRhOiBUKTogdm9pZCB7XG4gIGlmIChrZXkgPT09IFlaX0hFQURFUl9UWVBFX0tFWSkge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFlaX0hFQURFUl9UWVBFX0tFWSwgZGF0YSBhcyBzdHJpbmcpO1xuICAgIHJldHVybjtcbiAgfVxuICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbn1cblxudHlwZSByZXR1cm5TZXQ8VD4gPSAoZGF0YTogVCkgPT4gdm9pZDtcbnR5cGUgcmV0dXJuR2V0PFQ+ID0gKCkgPT4gVCB8IG51bGw7XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VMb2NhbFN0b3JhZ2VVc2VyKCk6IFtyZXR1cm5TZXQ8WXVuemFpVXNlcj4sIHJldHVybkdldDxZdW56YWlVc2VyPl0ge1xuICBjb25zdCBzZXRGbjogcmV0dXJuU2V0PFl1bnphaVVzZXI+ID0gdXNlciA9PiBzZXQoWVpfVVNFUl9LRVksIHVzZXIpO1xuICBjb25zdCBnZXRGbjogcmV0dXJuR2V0PFl1bnphaVVzZXI+ID0gKCkgPT4gZ2V0PFl1bnphaVVzZXI+KFlaX1VTRVJfS0VZKTtcbiAgcmV0dXJuIFtzZXRGbiwgZ2V0Rm5dO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlTG9jYWxTdG9yYWdlUHJvamVjdEluZm8oKTogW3JldHVyblNldDxZdW56YWlQcm9qZWN0SW5mbz4sIHJldHVybkdldDxZdW56YWlQcm9qZWN0SW5mbz5dIHtcbiAgY29uc3Qgc2V0Rm46IHJldHVyblNldDxZdW56YWlQcm9qZWN0SW5mbz4gPSBkYXRhID0+IHNldChZWl9QUk9KRUNUX0lORk9fS0VZLCBkYXRhKTtcbiAgY29uc3QgZ2V0Rm46IHJldHVybkdldDxZdW56YWlQcm9qZWN0SW5mbz4gPSAoKSA9PiBnZXQ8WXVuemFpUHJvamVjdEluZm8+KFlaX1BST0pFQ1RfSU5GT19LRVkpO1xuICByZXR1cm4gW3NldEZuLCBnZXRGbl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VMb2NhbFN0b3JhZ2VDdXJyZW50KCk6IFtyZXR1cm5TZXQ8TGF5b3V0QmFzaWNBc2lkZT4sIHJldHVybkdldDxMYXlvdXRCYXNpY0FzaWRlPl0ge1xuICBjb25zdCBzZXRGbjogcmV0dXJuU2V0PExheW91dEJhc2ljQXNpZGU+ID0gZGF0YSA9PiBzZXQoWVpfQ1VSUkVOVF9LRVksIGRhdGEpO1xuICBjb25zdCBnZXRGbjogcmV0dXJuR2V0PExheW91dEJhc2ljQXNpZGU+ID0gKCkgPT4gZ2V0PExheW91dEJhc2ljQXNpZGU+KFlaX0NVUlJFTlRfS0VZKTtcbiAgcmV0dXJuIFtzZXRGbiwgZ2V0Rm5dO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlTG9jYWxTdG9yYWdlSGVhZGVyVHlwZSgpOiBbcmV0dXJuU2V0PE5hdlR5cGU+LCByZXR1cm5HZXQ8TmF2VHlwZT5dIHtcbiAgY29uc3Qgc2V0Rm46IHJldHVyblNldDxOYXZUeXBlPiA9IGRhdGEgPT4gc2V0KFlaX0hFQURFUl9UWVBFX0tFWSwgZGF0YSk7XG4gIGNvbnN0IGdldEZuOiByZXR1cm5HZXQ8TmF2VHlwZT4gPSAoKSA9PiBnZXQ8TmF2VHlwZT4oWVpfSEVBREVSX1RZUEVfS0VZKTtcbiAgcmV0dXJuIFtzZXRGbiwgZ2V0Rm5dO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlTG9jYWxTdG9yYWdlSGVhZGVyKCk6IFtyZXR1cm5TZXQ8WXVuemFpTmF2VG9waWNbXT4sIHJldHVybkdldDxZdW56YWlOYXZUb3BpY1tdPl0ge1xuICBjb25zdCBzZXRGbjogcmV0dXJuU2V0PFl1bnphaU5hdlRvcGljW10+ID0gZGF0YSA9PiBzZXQoWVpfSEVBREVSX0tFWSwgZGF0YSk7XG4gIGNvbnN0IGdldEZuOiByZXR1cm5HZXQ8WXVuemFpTmF2VG9waWNbXT4gPSAoKSA9PiBnZXQ8WXVuemFpTmF2VG9waWNbXT4oWVpfSEVBREVSX0tFWSk7XG4gIHJldHVybiBbc2V0Rm4sIGdldEZuXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUxvY2FsU3RvcmFnZURlZmF1bHRSb3V0ZSgpOiBbcmV0dXJuU2V0PHN0cmluZz4sIHJldHVybkdldDxzdHJpbmc+XSB7XG4gIGNvbnN0IHNldEZuOiByZXR1cm5TZXQ8c3RyaW5nPiA9IGRhdGEgPT4gc2V0KFlaX0RFRkFVTFRfUk9VVEVfS0VZLCBkYXRhKTtcbiAgY29uc3QgZ2V0Rm46IHJldHVybkdldDxzdHJpbmc+ID0gKCkgPT4gZ2V0PHN0cmluZz4oWVpfREVGQVVMVF9ST1VURV9LRVkpO1xuICByZXR1cm4gW3NldEZuLCBnZXRGbl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VMb2NhbFN0b3JhZ2VUZW5hbnQoKTogW3JldHVyblNldDxzdHJpbmc+LCByZXR1cm5HZXQ8c3RyaW5nPl0ge1xuICBjb25zdCBzZXRGbjogcmV0dXJuU2V0PHN0cmluZz4gPSBkYXRhID0+IHNldChZWl9URU5BTlRfS0VZLCBkYXRhKTtcbiAgY29uc3QgZ2V0Rm46IHJldHVybkdldDxzdHJpbmc+ID0gKCkgPT4gZ2V0PHN0cmluZz4oWVpfVEVOQU5UX0tFWSk7XG4gIHJldHVybiBbc2V0Rm4sIGdldEZuXTtcbn1cbiJdfQ==
@@ -119,10 +119,10 @@ export class LazyService {
119
119
  resolve(item);
120
120
  });
121
121
  }
122
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LazyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
123
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LazyService, providedIn: 'root' }); }
122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: LazyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
123
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: LazyService, providedIn: 'root' }); }
124
124
  }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LazyService, decorators: [{
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: LazyService, decorators: [{
126
126
  type: Injectable,
127
127
  args: [{ providedIn: 'root' }]
128
128
  }] });
@@ -227,10 +227,10 @@ export class PathToRegexpService {
227
227
  }
228
228
  return this.stringToRegexp(/** @type {string} */ path, keys, options);
229
229
  }
230
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PathToRegexpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
231
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PathToRegexpService, providedIn: 'root' }); }
230
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: PathToRegexpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
231
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: PathToRegexpService, providedIn: 'root' }); }
232
232
  }
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PathToRegexpService, decorators: [{
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: PathToRegexpService, decorators: [{
234
234
  type: Injectable,
235
235
  args: [{
236
236
  providedIn: 'root'
@@ -13,10 +13,10 @@ export class CurrencyCNYPipe {
13
13
  transform(value, options) {
14
14
  return this.srv.cny(value, options);
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyCNYPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
17
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: CurrencyCNYPipe, isStandalone: true, name: "cny" }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyCNYPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
17
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: CurrencyCNYPipe, isStandalone: true, name: "cny" }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyCNYPipe, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyCNYPipe, decorators: [{
20
20
  type: Pipe,
21
21
  args: [{ name: 'cny', standalone: true }]
22
22
  }] });
@@ -15,10 +15,10 @@ export class CurrencyMegaPipe {
15
15
  const res = this.srv.mega(value, options);
16
16
  return res.value + (this.isCN ? res.unitI18n : res.unit);
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyMegaPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
19
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: CurrencyMegaPipe, isStandalone: true, name: "mega" }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyMegaPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
19
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: CurrencyMegaPipe, isStandalone: true, name: "mega" }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyMegaPipe, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyMegaPipe, decorators: [{
22
22
  type: Pipe,
23
23
  args: [{ name: 'mega', standalone: true }]
24
24
  }] });
@@ -5,11 +5,11 @@ import { CurrencyPricePipe } from './price.pipe';
5
5
  import * as i0 from "@angular/core";
6
6
  const PIPES = [CurrencyMegaPipe, CurrencyPricePipe, CurrencyCNYPipe];
7
7
  export class CurrencyPipeModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: CurrencyPipeModule, imports: [CurrencyMegaPipe, CurrencyPricePipe, CurrencyCNYPipe], exports: [CurrencyMegaPipe, CurrencyPricePipe, CurrencyCNYPipe] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyPipeModule }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: CurrencyPipeModule, imports: [CurrencyMegaPipe, CurrencyPricePipe, CurrencyCNYPipe], exports: [CurrencyMegaPipe, CurrencyPricePipe, CurrencyCNYPipe] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyPipeModule }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyPipeModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyPipeModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: PIPES,
@@ -17,10 +17,10 @@ export class CurrencyPricePipe {
17
17
  transform(value, options) {
18
18
  return this.srv.format(value, options);
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyPricePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
21
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: CurrencyPricePipe, isStandalone: true, name: "price" }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyPricePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
21
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: CurrencyPricePipe, isStandalone: true, name: "price" }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyPricePipe, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyPricePipe, decorators: [{
24
24
  type: Pipe,
25
25
  args: [{ name: 'price', standalone: true }]
26
26
  }] });
@@ -10,10 +10,10 @@ export class FilterPipe {
10
10
  transform(array, matcher, ...args) {
11
11
  return array.filter(i => matcher(i, ...args));
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
14
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: FilterPipe, isStandalone: true, name: "filter", pure: false }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
14
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: FilterPipe, isStandalone: true, name: "filter", pure: false }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FilterPipe, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FilterPipe, decorators: [{
17
17
  type: Pipe,
18
18
  args: [{ name: 'filter', standalone: true, pure: false }]
19
19
  }] });
@@ -3,11 +3,11 @@ import { FilterPipe } from './filter.pipe';
3
3
  import * as i0 from "@angular/core";
4
4
  const PIPES = [FilterPipe];
5
5
  export class FilterPipeModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FilterPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: FilterPipeModule, imports: [FilterPipe], exports: [FilterPipe] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FilterPipeModule }); }
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FilterPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: FilterPipeModule, imports: [FilterPipe], exports: [FilterPipe] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FilterPipeModule }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FilterPipeModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FilterPipeModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  imports: PIPES,
@@ -24,10 +24,10 @@ export class FormatMaskPipe {
24
24
  transform(value, mask) {
25
25
  return formatMask(value, mask);
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormatMaskPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
28
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: FormatMaskPipe, isStandalone: true, name: "mask" }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FormatMaskPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
28
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: FormatMaskPipe, isStandalone: true, name: "mask" }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormatMaskPipe, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FormatMaskPipe, decorators: [{
31
31
  type: Pipe,
32
32
  args: [{ name: 'mask', standalone: true }]
33
33
  }] });
@@ -3,11 +3,11 @@ import { FormatMaskPipe } from './mask.pipe';
3
3
  import * as i0 from "@angular/core";
4
4
  const PIPES = [FormatMaskPipe];
5
5
  export class FormatPipeModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormatPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: FormatPipeModule, imports: [FormatMaskPipe], exports: [FormatMaskPipe] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormatPipeModule }); }
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FormatPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: FormatPipeModule, imports: [FormatMaskPipe], exports: [FormatMaskPipe] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FormatPipeModule }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormatPipeModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FormatPipeModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  imports: PIPES,
@@ -269,10 +269,10 @@ class ArrayService {
269
269
  }, new Map())
270
270
  .values());
271
271
  }
272
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ArrayService, deps: [{ token: i1.YunzaiConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
273
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ArrayService, providedIn: 'root' }); }
272
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ArrayService, deps: [{ token: i1.YunzaiConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
273
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ArrayService, providedIn: 'root' }); }
274
274
  }
275
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ArrayService, decorators: [{
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ArrayService, decorators: [{
276
276
  type: Injectable,
277
277
  args: [{ providedIn: 'root' }]
278
278
  }], ctorParameters: () => [{ type: i1.YunzaiConfigService }] });
@@ -91,10 +91,10 @@ class CookieService {
91
91
  removeAll() {
92
92
  this.doc.cookie = '';
93
93
  }
94
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CookieService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
95
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CookieService, providedIn: 'root' }); }
94
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CookieService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
95
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CookieService, providedIn: 'root' }); }
96
96
  }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CookieService, decorators: [{
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CookieService, decorators: [{
98
98
  type: Injectable,
99
99
  args: [{ providedIn: 'root' }]
100
100
  }] });
@@ -219,10 +219,10 @@ class ScrollService {
219
219
  }
220
220
  this.scrollToElement(this._getDoc().body, topOffset);
221
221
  }
222
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
223
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ScrollService, providedIn: 'root' }); }
222
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
223
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ScrollService, providedIn: 'root' }); }
224
224
  }
225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ScrollService, decorators: [{
225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ScrollService, decorators: [{
226
226
  type: Injectable,
227
227
  args: [{ providedIn: 'root' }]
228
228
  }] });
@@ -37,10 +37,10 @@ class YunzaiConfigService {
37
37
  set(componentName, value) {
38
38
  this.config[componentName] = { ...this.config[componentName], ...value };
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: YunzaiConfigService, deps: [{ token: YUNZAI_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: YunzaiConfigService, providedIn: 'root' }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: YunzaiConfigService, deps: [{ token: YUNZAI_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: YunzaiConfigService, providedIn: 'root' }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: YunzaiConfigService, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: YunzaiConfigService, decorators: [{
44
44
  type: Injectable,
45
45
  args: [{ providedIn: 'root' }]
46
46
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"date-time.mjs","sources":["../../../../packages/util/date-time/time.ts","../../../../packages/util/date-time/picker.ts","../../../../packages/util/date-time/date-time.ts"],"sourcesContent":["import {\n addDays,\n endOfDay,\n endOfMonth,\n endOfWeek,\n endOfYear,\n parse,\n parseISO,\n startOfDay,\n startOfMonth,\n startOfWeek,\n startOfYear,\n subMonths,\n subWeeks,\n subYears,\n format,\n formatDistanceToNow\n} from 'date-fns';\n\nimport type { YunzaiThemePipeDateFormatCustom } from '@yelon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { DateLocale } from 'ng-zorro-antd/i18n';\n\n/**\n * Get the time range, return `[ Date, Date]` for the start and end dates\n *\n * 获取时间范围\n *\n * @param type 类型,带 `-` 表示过去一个时间,若指定 `number` 表示天数\n * @param time 开始时间\n * @param ignoreMaxTime 忽略追加结束日期的最大时间值\n */\nexport function getTimeDistance(\n type: 'today' | '-today' | 'yesterday' | 'week' | '-week' | 'month' | '-month' | 'year' | '-year' | number,\n time?: Date | string | number,\n options?: { ignoreMaxTime?: boolean }\n): [Date, Date] {\n time = time\n ? typeof time === 'string'\n ? parse(time, 'yyyy-MM-dd HH:mm:ss', new Date())\n : new Date(time)\n : new Date();\n const opt: { weekStartsOn: 1 } = { weekStartsOn: 1 };\n\n let res: [Date, Date];\n switch (type) {\n case 'today':\n res = [time, time];\n break;\n case '-today':\n res = [addDays(time, -1), time];\n break;\n case 'yesterday':\n res = [addDays(time, -1), addDays(time, -1)];\n break;\n case 'week':\n res = [startOfWeek(time, opt), endOfWeek(time, opt)];\n break;\n case '-week':\n res = [startOfWeek(subWeeks(time, 1), opt), endOfWeek(subWeeks(time, 1), opt)];\n break;\n case 'month':\n res = [startOfMonth(time), endOfMonth(time)];\n break;\n case '-month':\n res = [startOfMonth(subMonths(time, 1)), endOfMonth(subMonths(time, 1))];\n break;\n case 'year':\n res = [startOfYear(time), endOfYear(time)];\n break;\n case '-year':\n res = [startOfYear(subYears(time, 1)), endOfYear(subYears(time, 1))];\n break;\n default:\n res = type > 0 ? [time, addDays(time, type)] : [addDays(time, type), time];\n break;\n }\n return options?.ignoreMaxTime ? res : fixEndTimeOfRange(res);\n}\n\n/**\n * fix time is the most, big value\n */\nexport function fixEndTimeOfRange(dates: [Date, Date]): [Date, Date] {\n return [startOfDay(dates[0]), endOfDay(dates[1])];\n}\n\nexport interface ToDateOptions {\n /** If parsing fails try to parse the date by pressing `formatString` */\n formatString?: string;\n /** If parsing fails returned default value, default: `new Date(NaN)` */\n defaultValue?: NzSafeAny;\n timestampSecond?: boolean;\n}\n\n/**\n * Convert to `Date` format\n *\n * @param value When is a number, it's treated as a timestamp; If it's seconds, you need to provide the `options.timestampSecond` parameter.\n */\nexport function toDate(value?: Date | string | number | null, options?: string | ToDateOptions): Date {\n const { formatString, defaultValue, timestampSecond } = {\n formatString: 'yyyy-MM-dd HH:mm:ss',\n defaultValue: new Date(NaN),\n timestampSecond: false,\n ...(typeof options === 'string' ? { formatString: options } : options)\n };\n if (value == null) {\n return defaultValue;\n }\n if (value instanceof Date) {\n return value;\n }\n if (typeof value === 'number' || (typeof value === 'string' && /^[0-9]+$/.test(value))) {\n const valueNumber = +value;\n return new Date(timestampSecond ? valueNumber * 1000 : valueNumber);\n }\n let tryDate = parseISO(value);\n if (isNaN(tryDate as NzSafeAny)) {\n tryDate = parse(value, formatString!, new Date());\n }\n\n return isNaN(tryDate as NzSafeAny) ? defaultValue : tryDate;\n}\n\n/**\n * Format date, supports `Date, number, string` types\n *\n * @param value When is a number, it is treated as a timestamp (Support seconds and milliseconds timestamp).\n * @param formatString Please refer to [date-fnd format](https://date-fns.org/v2.30.0/docs/format) for string format\n * @param dateLocale Recommended to be consistent with NG-ZORRO by using `inject(NZ_DATE_LOCALE)`\n */\nexport function formatDate(\n value: Date | string | number,\n formatString: string,\n options?: { locale?: DateLocale; customFormat?: YunzaiThemePipeDateFormatCustom }\n): string {\n value = toDate(value);\n if (isNaN(value as NzSafeAny)) return '';\n\n const langOpt = { locale: options?.locale };\n return formatString === 'fn'\n ? formatDistanceToNow(value, langOpt)\n : (options?.customFormat ?? format)(value, formatString, langOpt);\n}\n","import { addDays, addSeconds, differenceInCalendarDays, format } from 'date-fns';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport type { DisabledDateFn, DisabledTimeConfig, DisabledTimeFn } from 'ng-zorro-antd/date-picker';\n\n// TODO: timezone process\nexport class DateTimePickerUtil {\n /**\n * Current local time\n *\n * 当前本地时间\n */\n get now(): Date {\n return new Date();\n }\n /**\n * Current local date (not including time part)\n *\n * 当前本地日期(不包含时间部分)\n */\n get date(): Date {\n return this.removeTime(this.now);\n }\n /**\n * Remove the time part of the date\n *\n * 移除日期的时间部分\n */\n removeTime(d: Date): Date {\n return new Date(d.toDateString());\n }\n /**\n * Format date-time\n *\n * 格式化日期\n */\n format(d: number | Date, formatString: string = 'yyyy-MM-dd HH:mm:ss'): string {\n return format(d, formatString);\n }\n private genTick(count: number): number[] {\n return new Array(count).fill(0).map((_, idx) => idx);\n }\n /**\n * Calculate the number of days between two dates, `0` means the same day\n *\n * 计算两个日期相差天数,`0` 表示同一天\n */\n getDiffDays(dateLeft: Date | number, dateRight?: Date | number): number {\n return differenceInCalendarDays(\n dateLeft,\n typeof dateRight === 'number' ? addDays(this.date, dateRight) : dateRight || this.date\n );\n }\n /**\n * Disabled Before date (Default: today), Generally serves `nzDisabledDate`\n *\n * 禁用之前日期(默认:今天),一般服务于 `nzDisabledDate`\n */\n disabledBeforeDate(options?: { offsetDays?: Date | number }): DisabledDateFn {\n return (d): boolean => this.getDiffDays(d, options?.offsetDays) < 0;\n }\n /**\n * Disabled After date (Default: today), Generally serves `nzDisabledDate`\n *\n * 禁用之后日期(默认:今天),一般服务于 `nzDisabledDate`\n */\n disabledAfterDate(options?: { offsetDays?: Date | number }): DisabledDateFn {\n return (d): boolean => this.getDiffDays(d, options?.offsetDays) > 0;\n }\n private baseDisabledTime(type: 'before' | 'after', offsetSeconds?: number): DisabledTimeFn {\n const tick24 = this.genTick(24);\n const tick60 = this.genTick(60);\n return (current): DisabledTimeConfig => {\n const cur = current as Date;\n if (cur == null) {\n return {} as NzSafeAny;\n }\n const now = addSeconds(this.now, offsetSeconds || 0);\n const nowHours = now.getHours();\n const nowMinutes = now.getMinutes();\n const curHours = cur.getHours();\n const isToday = this.getDiffDays(this.removeTime(cur)) === 0;\n return {\n nzDisabledHours: () => {\n if (!isToday) return [];\n return type === 'before' ? tick24.slice(0, nowHours) : tick24.slice(nowHours + 1);\n },\n nzDisabledMinutes: () => {\n if (isToday && curHours === nowHours) {\n return type === 'before' ? tick60.slice(0, nowMinutes) : tick60.slice(nowMinutes + 1);\n }\n return [];\n },\n nzDisabledSeconds: () => {\n if (isToday && curHours === nowHours && cur.getMinutes() === nowMinutes) {\n const nowSeconds = now.getSeconds();\n return type === 'before' ? tick60.slice(0, nowSeconds) : tick60.slice(nowSeconds + 1);\n }\n return [];\n }\n };\n };\n }\n /**\n * Disabled Before time (Default: now), Generally serves `nzDisabledTime`\n *\n * 禁用之前时间(默认:现在),一般服务于 `nzDisabledTime`\n */\n disabledBeforeTime(options?: { offsetSeconds?: number }): DisabledTimeFn {\n return this.baseDisabledTime('before', options?.offsetSeconds);\n }\n /**\n * Disabled After time (Default: now), Generally serves `nzDisabledTime`\n *\n * 禁用之后时间(默认:现在),一般服务于 `nzDisabledTime`\n */\n disabledAfterTime(options?: { offsetSeconds?: number }): DisabledTimeFn {\n return this.baseDisabledTime('after', options?.offsetSeconds);\n }\n}\n\nexport const dateTimePickerUtil = new DateTimePickerUtil();\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"date-time.mjs","sources":["../../../../packages/util/date-time/time.ts","../../../../packages/util/date-time/picker.ts","../../../../packages/util/date-time/date-time.ts"],"sourcesContent":["import {\n addDays,\n endOfDay,\n endOfMonth,\n endOfWeek,\n endOfYear,\n parse,\n parseISO,\n startOfDay,\n startOfMonth,\n startOfWeek,\n startOfYear,\n subMonths,\n subWeeks,\n subYears,\n format,\n formatDistanceToNow\n} from 'date-fns';\n\nimport type { YunzaiThemePipeDateFormatCustom } from '@yelon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { DateLocale } from 'ng-zorro-antd/i18n';\n\n/**\n * Get the time range, return `[ Date, Date]` for the start and end dates\n *\n * 获取时间范围\n *\n * @param type 类型,带 `-` 表示过去一个时间,若指定 `number` 表示天数\n * @param time 开始时间\n * @param ignoreMaxTime 忽略追加结束日期的最大时间值\n */\nexport function getTimeDistance(\n type: 'today' | '-today' | 'yesterday' | 'week' | '-week' | 'month' | '-month' | 'year' | '-year' | number,\n time?: Date | string | number,\n options?: { ignoreMaxTime?: boolean }\n): [Date, Date] {\n time = time\n ? typeof time === 'string'\n ? parse(time, 'yyyy-MM-dd HH:mm:ss', new Date())\n : new Date(time)\n : new Date();\n const opt: { weekStartsOn: 1 } = { weekStartsOn: 1 };\n\n let res: [Date, Date];\n switch (type) {\n case 'today':\n res = [time, time];\n break;\n case '-today':\n res = [addDays(time, -1), time];\n break;\n case 'yesterday':\n res = [addDays(time, -1), addDays(time, -1)];\n break;\n case 'week':\n res = [startOfWeek(time, opt), endOfWeek(time, opt)];\n break;\n case '-week':\n res = [startOfWeek(subWeeks(time, 1), opt), endOfWeek(subWeeks(time, 1), opt)];\n break;\n case 'month':\n res = [startOfMonth(time), endOfMonth(time)];\n break;\n case '-month':\n res = [startOfMonth(subMonths(time, 1)), endOfMonth(subMonths(time, 1))];\n break;\n case 'year':\n res = [startOfYear(time), endOfYear(time)];\n break;\n case '-year':\n res = [startOfYear(subYears(time, 1)), endOfYear(subYears(time, 1))];\n break;\n default:\n res = type > 0 ? [time, addDays(time, type)] : [addDays(time, type), time];\n break;\n }\n return options?.ignoreMaxTime ? res : fixEndTimeOfRange(res);\n}\n\n/**\n * fix time is the most, big value\n */\nexport function fixEndTimeOfRange(dates: [Date, Date]): [Date, Date] {\n return [startOfDay(dates[0]), endOfDay(dates[1])];\n}\n\nexport interface ToDateOptions {\n /** If parsing fails try to parse the date by pressing `formatString` */\n formatString?: string;\n /** If parsing fails returned default value, default: `new Date(NaN)` */\n defaultValue?: NzSafeAny;\n timestampSecond?: boolean;\n}\n\n/**\n * Convert to `Date` format\n *\n * @param value When is a number, it's treated as a timestamp; If it's seconds, you need to provide the `options.timestampSecond` parameter.\n */\nexport function toDate(value?: Date | string | number | null, options?: string | ToDateOptions): Date {\n const { formatString, defaultValue, timestampSecond } = {\n formatString: 'yyyy-MM-dd HH:mm:ss',\n defaultValue: new Date(NaN),\n timestampSecond: false,\n ...(typeof options === 'string' ? { formatString: options } : options)\n };\n if (value == null) {\n return defaultValue;\n }\n if (value instanceof Date) {\n return value;\n }\n if (typeof value === 'number' || (typeof value === 'string' && /^[0-9]+$/.test(value))) {\n const valueNumber = +value;\n return new Date(timestampSecond ? valueNumber * 1000 : valueNumber);\n }\n let tryDate = parseISO(value);\n if (isNaN(tryDate as NzSafeAny)) {\n tryDate = parse(value, formatString!, new Date());\n }\n\n return isNaN(tryDate as NzSafeAny) ? defaultValue : tryDate;\n}\n\n/**\n * Format date, supports `Date, number, string` types\n *\n * @param value When is a number, it is treated as a timestamp (Support seconds and milliseconds timestamp).\n * @param formatString Please refer to [date-fnd format](https://date-fns.org/v2.30.0/docs/format) for string format\n * @param dateLocale Recommended to be consistent with NG-ZORRO by using `inject(NZ_DATE_LOCALE)`\n */\nexport function formatDate(\n value: Date | string | number,\n formatString: string,\n options?: { locale?: DateLocale; customFormat?: YunzaiThemePipeDateFormatCustom }\n): string {\n value = toDate(value);\n if (isNaN(value as NzSafeAny)) return '';\n\n const langOpt = { locale: options?.locale };\n return formatString === 'fn'\n ? formatDistanceToNow(value, langOpt)\n : (options?.customFormat ?? format)(value, formatString, langOpt);\n}\n","import { addDays, addSeconds, differenceInCalendarDays, format } from 'date-fns';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport type { DisabledDateFn, DisabledTimeConfig, DisabledTimeFn } from 'ng-zorro-antd/date-picker';\n\n// TODO: timezone process\nexport class DateTimePickerUtil {\n /**\n * Current local time\n *\n * 当前本地时间\n */\n get now(): Date {\n return new Date();\n }\n /**\n * Current local date (not including time part)\n *\n * 当前本地日期(不包含时间部分)\n */\n get date(): Date {\n return this.removeTime(this.now);\n }\n /**\n * Remove the time part of the date\n *\n * 移除日期的时间部分\n */\n removeTime(d: Date): Date {\n return new Date(d.toDateString());\n }\n /**\n * Format date-time\n *\n * 格式化日期\n */\n format(d: number | Date, formatString: string = 'yyyy-MM-dd HH:mm:ss'): string {\n return format(d, formatString);\n }\n private genTick(count: number): number[] {\n return new Array(count).fill(0).map((_, idx) => idx);\n }\n /**\n * Calculate the number of days between two dates, `0` means the same day\n *\n * 计算两个日期相差天数,`0` 表示同一天\n */\n getDiffDays(dateLeft: Date | number, dateRight?: Date | number): number {\n return differenceInCalendarDays(\n dateLeft,\n typeof dateRight === 'number' ? addDays(this.date, dateRight) : dateRight || this.date\n );\n }\n /**\n * Disabled Before date (Default: today), Generally serves `nzDisabledDate`\n *\n * 禁用之前日期(默认:今天),一般服务于 `nzDisabledDate`\n */\n disabledBeforeDate(options?: { offsetDays?: Date | number }): DisabledDateFn {\n return (d): boolean => this.getDiffDays(d, options?.offsetDays) < 0;\n }\n /**\n * Disabled After date (Default: today), Generally serves `nzDisabledDate`\n *\n * 禁用之后日期(默认:今天),一般服务于 `nzDisabledDate`\n */\n disabledAfterDate(options?: { offsetDays?: Date | number }): DisabledDateFn {\n return (d): boolean => this.getDiffDays(d, options?.offsetDays) > 0;\n }\n private baseDisabledTime(type: 'before' | 'after', offsetSeconds?: number): DisabledTimeFn {\n const tick24 = this.genTick(24);\n const tick60 = this.genTick(60);\n return (current): DisabledTimeConfig => {\n const cur = current as Date;\n if (cur == null) {\n return {} as NzSafeAny;\n }\n const now = addSeconds(this.now, offsetSeconds || 0);\n const nowHours = now.getHours();\n const nowMinutes = now.getMinutes();\n const curHours = cur.getHours();\n const isToday = this.getDiffDays(this.removeTime(cur)) === 0;\n return {\n nzDisabledHours: () => {\n if (!isToday) return [];\n return type === 'before' ? tick24.slice(0, nowHours) : tick24.slice(nowHours + 1);\n },\n nzDisabledMinutes: () => {\n if (isToday && curHours === nowHours) {\n return type === 'before' ? tick60.slice(0, nowMinutes) : tick60.slice(nowMinutes + 1);\n }\n return [];\n },\n nzDisabledSeconds: () => {\n if (isToday && curHours === nowHours && cur.getMinutes() === nowMinutes) {\n const nowSeconds = now.getSeconds();\n return type === 'before' ? tick60.slice(0, nowSeconds) : tick60.slice(nowSeconds + 1);\n }\n return [];\n }\n };\n };\n }\n /**\n * Disabled Before time (Default: now), Generally serves `nzDisabledTime`\n *\n * 禁用之前时间(默认:现在),一般服务于 `nzDisabledTime`\n */\n disabledBeforeTime(options?: { offsetSeconds?: number }): DisabledTimeFn {\n return this.baseDisabledTime('before', options?.offsetSeconds);\n }\n /**\n * Disabled After time (Default: now), Generally serves `nzDisabledTime`\n *\n * 禁用之后时间(默认:现在),一般服务于 `nzDisabledTime`\n */\n disabledAfterTime(options?: { offsetSeconds?: number }): DisabledTimeFn {\n return this.baseDisabledTime('after', options?.offsetSeconds);\n }\n}\n\nexport const dateTimePickerUtil = new DateTimePickerUtil();\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -410,10 +410,10 @@ class CurrencyService {
410
410
  : integerRes + (decimalRes === '' ? '' : `点${decimalRes}`));
411
411
  return ret;
412
412
  }
413
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyService, deps: [{ token: i1.YunzaiConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
414
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyService, providedIn: 'root' }); }
413
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyService, deps: [{ token: i1.YunzaiConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
414
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyService, providedIn: 'root' }); }
415
415
  }
416
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyService, decorators: [{
416
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyService, decorators: [{
417
417
  type: Injectable,
418
418
  args: [{ providedIn: 'root' }]
419
419
  }], ctorParameters: () => [{ type: i1.YunzaiConfigService }] });
@@ -1 +1 @@
1
- {"version":3,"file":"format.mjs","sources":["../../../../packages/util/format/string.ts","../../../../packages/util/format/validate.ts","../../../../packages/util/format/currency.types.ts","../../../../packages/util/format/currency.service.ts","../../../../packages/util/format/format.ts"],"sourcesContent":["import { deepGet } from '@yelon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n/**\n * String formatting\n *\n * 字符串格式化\n * ```\n * format('this is ${name}', { name: 'asdf' })\n * // output: this is asdf\n * format('this is ${user.name}', { user: { name: 'asdf' } }, true)\n * // output: this is asdf\n * ```\n */\nexport function format(\n str: string | null | undefined,\n obj: NzSafeAny | null | undefined,\n needDeepGet: boolean = false\n): string {\n return (str || '').replace(/\\${([^}]+)}/g, (_work: string, key: string) =>\n needDeepGet ? deepGet(obj, key.split('.'), '') : (obj || {})[key] || ''\n );\n}\n\nexport interface FormatMaskOption {\n mask: string;\n tokens?: { [key: string]: FormatMaskToken };\n}\n\nexport interface FormatMaskToken {\n pattern: RegExp;\n default?: NzSafeAny;\n transform?: (char: string) => string;\n}\n\n/**\n * Format mask\n *\n * 格式化掩码\n *\n * | 字符 | 描述 |\n * | --- | --- |\n * | `0` | 任意数字,若该位置字符不符合,则默认为 `0` 填充 |\n * | `9` | 任意数字 |\n * | `#` | 任意字符 |\n * | `U` | 转换大写 |\n * | `L` | 转换小写 |\n * | `*` | 转换为 `*` 字符 |\n *\n * ```ts\n * formatMask('123', '(###)') => (123)\n * formatMask('15900000000', '999****9999') => 159****0000\n * ```\n */\nexport function formatMask(value: string, option: string | FormatMaskOption): string {\n if (!value) {\n return '';\n }\n const opt: FormatMaskOption = {\n ...(typeof option === 'string' ? { mask: option } : option)\n };\n const tokens: { [key: string]: FormatMaskToken } = {\n '0': { pattern: /\\d/, default: '0' },\n '9': { pattern: /\\d/ },\n '#': { pattern: /[a-zA-Z0-9]/ },\n U: {\n pattern: /[a-zA-Z]/,\n transform: char => char.toLocaleUpperCase()\n },\n L: {\n pattern: /[a-zA-Z]/,\n transform: char => char.toLocaleLowerCase()\n },\n '*': {\n pattern: /.*/,\n transform: _ => `*`\n },\n ...opt.tokens\n };\n\n const splitValue = value.split('');\n return opt.mask\n .split('')\n .reduce((res, cur) => {\n const token = tokens[cur];\n if (!token) {\n res.push(cur);\n return res;\n }\n\n const value = splitValue.shift() ?? '';\n if (!token.pattern.test(value)) {\n if (token.default) res.push(token.default);\n return res;\n }\n\n if (typeof token.transform === 'function') {\n res.push(token.transform(value));\n } else {\n res.push(value);\n }\n return res;\n }, [] as string[])\n .join('');\n}\n","export const REGEX_STR = {\n num: `(([-+]?\\\\d+\\\\.\\\\d+)|([-+]?\\\\d+)|([-+]?\\\\.\\\\d+))(?:[eE]([-+]?\\\\d+))?`,\n idCard: `(^\\\\d{15}$)|(^\\\\d{17}(?:[0-9]|X)$)`,\n mobile: `^(0|\\\\+?86|17951)?1[0-9]{10}$`,\n url: `(((^https?:(?:\\/\\/)?)(?:[-;:&=\\\\+\\\\$,\\\\w]+@)?[A-Za-z0-9.-]+(?::\\\\d+)?|(?:www.|[-;:&=\\\\+\\\\$,\\\\w]+@)[A-Za-z0-9.-]+)((?:\\/[\\\\+~%\\\\/.\\\\w-_]*)?\\\\??(?:[-\\\\+=&;%@.\\\\w_]*)#?(?:[\\\\w]*))?)`,\n ip: `(?:^(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}$)|(?:^(?:(?:[a-fA-F\\\\d]{1,4}:){7}(?:[a-fA-F\\\\d]{1,4}|:)|(?:[a-fA-F\\\\d]{1,4}:){6}(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}|:[a-fA-F\\\\d]{1,4}|:)|(?:[a-fA-F\\\\d]{1,4}:){5}(?::(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}|(?::[a-fA-F\\\\d]{1,4}){1,2}|:)|(?:[a-fA-F\\\\d]{1,4}:){4}(?:(?::[a-fA-F\\\\d]{1,4}){0,1}:(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}|(?::[a-fA-F\\\\d]{1,4}){1,3}|:)|(?:[a-fA-F\\\\d]{1,4}:){3}(?:(?::[a-fA-F\\\\d]{1,4}){0,2}:(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}|(?::[a-fA-F\\\\d]{1,4}){1,4}|:)|(?:[a-fA-F\\\\d]{1,4}:){2}(?:(?::[a-fA-F\\\\d]{1,4}){0,3}:(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}|(?::[a-fA-F\\\\d]{1,4}){1,5}|:)|(?:[a-fA-F\\\\d]{1,4}:){1}(?:(?::[a-fA-F\\\\d]{1,4}){0,4}:(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}|(?::[a-fA-F\\\\d]{1,4}){1,6}|:)|(?::(?:(?::[a-fA-F\\\\d]{1,4}){0,5}:(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}|(?::[a-fA-F\\\\d]{1,4}){1,7}|:)))(?:%[0-9a-zA-Z]{1,})?$)`,\n color: `(?:#|0x)(?:[a-f0-9]{3}|[a-f0-9]{6})\\\\b|(?:rgb|hsl)a?\\\\([^\\\\)]*\\\\)`,\n chinese: `[\\u4e00-\\u9fa5]+`\n};\n\nfunction genRegex(str: string, flags?: string): RegExp {\n return new RegExp(`^${str}$`, flags);\n}\n\nexport const REGEX = {\n num: genRegex(REGEX_STR.num),\n idCard: genRegex(REGEX_STR.idCard, 'i'),\n mobile: genRegex(REGEX_STR.mobile),\n url: genRegex(REGEX_STR.url),\n ip: genRegex(REGEX_STR.ip),\n color: genRegex(REGEX_STR.color),\n chinese: genRegex(REGEX_STR.chinese)\n};\n\n/**\n * Wheter is number\n *\n * 是否为数字\n */\nexport function isNum(value: string | number): boolean {\n return REGEX.num.test(value.toString());\n}\n\n/**\n * Wheter is integer\n *\n * 是否为整数\n */\nexport function isInt(value: string | number): boolean {\n return isNum(value) && parseInt(value.toString(), 10).toString() === value.toString();\n}\n\n/**\n * Wheter is decimal\n *\n * 是否为小数点数值\n */\nexport function isDecimal(value: string | number): boolean {\n return isNum(value) && !isInt(value);\n}\n\n/**\n * Wheter is People's Republic of China identity card\n *\n * 是否为中华人民共和国居民身份证\n */\nexport function isIdCard(value: string): boolean {\n return REGEX.idCard.test(value);\n}\n\n/**\n * Wheter is china mobile (China)\n *\n * 是否为手机号(中国)\n */\nexport function isMobile(value: string): boolean {\n return REGEX.mobile.test(value);\n}\n\n/**\n * Wheter is url address\n *\n * 是否URL地址\n */\nexport function isUrl(url: string): boolean {\n return REGEX.url.test(url);\n}\n\n/**\n * Wheter is IPv4 address (Support v4, v6)\n *\n * 是否IP4地址(支持v4、v6)\n */\nexport function isIp(ip: string): boolean {\n return REGEX.ip.test(ip);\n}\n\n/**\n * Wheter is color\n *\n * 是否颜色代码值\n */\nexport function isColor(color: string): boolean {\n return REGEX.color.test(color);\n}\n\n/**\n * Wheter is chinese\n *\n * 是否中文\n */\nexport function isChinese(value: string): boolean {\n return REGEX.chinese.test(value);\n}\n","export type CurrencyStartingUnit = 'yuan' | 'cent';\n\nexport interface CurrencyStartingUnitOptions {\n /**\n * The starting unit of the value, `yuan` means 元, `cent` means 分, default: `yuan`\n *\n * 值的起始单位,`yuan` 元,`cent` 分,默认:`yuan`\n */\n startingUnit?: CurrencyStartingUnit;\n}\n\nexport interface CurrencyFormatOptions extends CurrencyStartingUnitOptions {\n /**\n * Using `DEFAULT_CURRENCY_CODE` when value is `true\n *\n * 是否使用 `CurrencyPipe` 来替代\n */\n useAngular?: boolean;\n /**\n * 精度,默认:`2`\n */\n precision?: number;\n /**\n * 是否忽略精度 `.0` 或 `.00` 结尾的字符,默认:`true`\n */\n ignoreZeroPrecision?: boolean;\n\n /**\n * Use anguar `currency` pipe parse when is set, pls refer to [document](https://angular.io/api/common/CurrencyPipe)\n *\n * 若指定则表示使用 Angular 自带的 `currency` 管道来解析,见[文档](https://angular.cn/api/common/CurrencyPipe)\n */\n ngCurrency?: {\n display: 'code' | 'symbol' | 'symbol-narrow';\n currencyCode?: string;\n digitsInfo?: string;\n locale?: string;\n };\n}\n\n/**\n * Large number format filter, [Document](https://ng.yunzainfo.com/util/format/en#mega)\n *\n * 大数据格式化,[文档](https://ng.yunzainfo.com/util/format/en#mega)\n */\nexport interface CurrencyMegaOptions extends CurrencyStartingUnitOptions {\n /**\n * 精度,默认:`2`\n */\n precision?: number;\n\n /**\n * 单位国际化,默认:`{Q: '京', T: '兆', B: '亿', M: '万', K: '千',}`\n */\n unitI18n?: CurrencyMegaUnitI18n;\n}\n\nexport interface CurrencyMegaResult {\n raw: number | string;\n value: string;\n unit: string;\n unitI18n: string;\n}\n\nexport const CurrencyMega_Powers = [\n { unit: 'Q', value: Math.pow(10, 15) },\n { unit: 'T', value: Math.pow(10, 12) },\n { unit: 'B', value: Math.pow(10, 9) },\n { unit: 'M', value: Math.pow(10, 6) },\n { unit: 'K', value: 1000 }\n];\n\nexport interface CurrencyMegaUnitI18n {\n Q: string;\n T: string;\n B: string;\n M: string;\n K: string;\n}\n\nexport interface CurrencyCNYOptions extends CurrencyStartingUnitOptions {\n /**\n * Whether to return to uppercase notation, default: `true`\n *\n * 是否返回大写表示法,默认:`true`\n */\n inWords?: boolean;\n /**\n * Specify negative sign, default: `negative`\n *\n * 指定负数符号,默认:`负`\n */\n minusSymbol?: string;\n}\n","import { CurrencyPipe, formatNumber } from '@angular/common';\nimport { DEFAULT_CURRENCY_CODE, Injectable, LOCALE_ID, inject } from '@angular/core';\n\nimport { YunzaiConfigService, YunzaiUtilCurrencyConfig } from '@yelon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport {\n CurrencyCNYOptions,\n CurrencyFormatOptions,\n CurrencyMegaOptions,\n CurrencyMegaResult,\n CurrencyMega_Powers\n} from './currency.types';\n\n@Injectable({ providedIn: 'root' })\nexport class CurrencyService {\n private readonly locale = inject(LOCALE_ID);\n private readonly defCurrencyCode = inject(DEFAULT_CURRENCY_CODE, { optional: true }) ?? 'USD';\n\n private c: YunzaiUtilCurrencyConfig;\n private readonly currencyPipe: CurrencyPipe;\n\n constructor(cog: YunzaiConfigService) {\n this.currencyPipe = new CurrencyPipe(this.locale, this.defCurrencyCode);\n this.c = cog.merge('utilCurrency', {\n startingUnit: 'yuan',\n megaUnit: { Q: '京', T: '兆', B: '亿', M: '万', K: '千' },\n precision: 2,\n ignoreZeroPrecision: true\n })!;\n }\n\n /**\n * Format a number with commas as thousands separators\n *\n * 格式化货币,用逗号将数字格式化为千位分隔符\n * ```ts\n * 10000 => `10,000`\n * 10000.567 => `10,000.57`\n * ```\n */\n format(value: number | string, options?: CurrencyFormatOptions): string {\n options = {\n startingUnit: this.c.startingUnit,\n precision: this.c.precision,\n ignoreZeroPrecision: this.c.ignoreZeroPrecision,\n ngCurrency: this.c.ngCurrency,\n ...options\n };\n let truthValue = Number(value);\n if (value == null || isNaN(truthValue)) {\n return '';\n }\n if (options.startingUnit === 'cent') {\n truthValue = truthValue / 100;\n }\n if (options.ngCurrency != null) {\n const cur = options.ngCurrency!;\n return this.currencyPipe.transform(\n truthValue,\n cur.currencyCode,\n cur.display,\n cur.digitsInfo,\n cur.locale || this.locale\n )!;\n }\n const res = formatNumber(\n truthValue,\n this.locale,\n `.${options.ignoreZeroPrecision ? 1 : options.precision}-${options.precision}`\n );\n return options.ignoreZeroPrecision ? res.replace(/(?:\\.[0]+)$/g, '') : res;\n }\n\n /**\n * Large number format filter\n *\n * 大数据格式化\n * ```ts\n * 1000 => { value: '1', unit: 'K', unitI18n: '千' }\n * 12456 => { value: '12.46', unit: 'K', unitI18n: '千' }\n * ```\n */\n mega(value: number | string, options?: CurrencyMegaOptions): CurrencyMegaResult {\n options = { precision: this.c.precision, unitI18n: this.c.megaUnit, startingUnit: this.c.startingUnit, ...options };\n let num = Number(value);\n const res: CurrencyMegaResult = { raw: value, value: '', unit: '', unitI18n: '' };\n if (isNaN(num) || num === 0) {\n res.value = value.toString();\n return res;\n }\n if (options.startingUnit === 'cent') {\n num = num / 100;\n }\n let abs = Math.abs(+num);\n const rounder = Math.pow(10, options.precision!);\n const isNegative = num < 0;\n for (const p of CurrencyMega_Powers) {\n let reduced = abs / p.value;\n\n reduced = Math.round(reduced * rounder) / rounder;\n\n if (reduced >= 1) {\n abs = reduced;\n res.unit = p.unit;\n break;\n }\n }\n\n res.value = (isNegative ? '-' : '') + abs;\n res.unitI18n = (options.unitI18n as { [key: string]: NzSafeAny })[res.unit];\n return res;\n }\n\n /**\n * Converted into RMB notation.\n *\n * 转化成人民币表示法\n */\n cny(value: number | string, options?: CurrencyCNYOptions): string {\n options = {\n inWords: true,\n minusSymbol: '负',\n startingUnit: this.c.startingUnit,\n ...options\n };\n\n value = Number(value);\n if (isNaN(value)) {\n return '';\n }\n if (options.startingUnit === 'cent') {\n value = value / 100;\n }\n value = value.toString();\n let integer: number | string;\n let decimal: number | string | null;\n [integer, decimal] = value.split('.');\n let symbol = '';\n if (integer.startsWith('-')) {\n symbol = options.minusSymbol!;\n integer = integer.substring(1);\n }\n if (/^-?\\d+$/.test(value)) {\n decimal = null;\n }\n integer = (+integer).toString();\n const inWords = options.inWords;\n const unit: { [key: string]: string[] } = {\n num: inWords\n ? ['', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖', '点']\n : ['', '一', '二', '三', '四', '五', '六', '七', '八', '九', '点'],\n radice: inWords\n ? [\n '',\n '拾',\n '佰',\n '仟',\n '万',\n '拾',\n '佰',\n '仟',\n '亿',\n '拾',\n '佰',\n '仟',\n '万亿',\n '拾',\n '佰',\n '仟',\n '兆',\n '拾',\n '佰',\n '仟'\n ]\n : [\n '',\n '十',\n '百',\n '千',\n '万',\n '十',\n '百',\n '千',\n '亿',\n '十',\n '百',\n '千',\n '万亿',\n '十',\n '百',\n '千',\n '兆',\n '十',\n '百',\n '千'\n ],\n dec: ['角', '分', '厘', '毫']\n };\n if (inWords) {\n value = (+value).toFixed(5).toString();\n }\n let integerRes = '';\n const integerCount = integer.length;\n if (integer === '0' || integerCount === 0) {\n integerRes = '零';\n } else {\n let cnDesc = '';\n for (let i = 0; i < integerCount; i++) {\n const n = +integer[i];\n const j = integerCount - i - 1;\n const isZero = i > 1 && n !== 0 && integer[i - 1] === '0';\n const cnZero = isZero ? '零' : '';\n const isEmpptyUnit = (n === 0 && j % 4 !== 0) || integer.substring(i - 3, i - 3 + 4) === '0000';\n const descMark = cnDesc;\n let cnNum = unit.num[n];\n\n cnDesc = isEmpptyUnit ? '' : unit.radice[j];\n // 第一位是一十\n if (i === 0 && cnNum === '一' && cnDesc === '十') cnNum = '';\n const isChangeEr =\n n > 1 &&\n cnNum === '二' && // 去除首位\n ['', '十', '百'].indexOf(cnDesc) === -1 && // 不读两\\两十\\两百\n descMark !== '十'; // 不读十两\n if (isChangeEr) cnNum = '两';\n integerRes += cnZero + cnNum + cnDesc;\n }\n }\n\n // 小数部分拼接\n let decimalRes = '';\n const decimalCount = decimal ? decimal.toString().length : 0;\n if (decimal === null) {\n decimalRes = inWords ? '整' : '';\n } else if (decimal === '0') {\n decimalRes = '零';\n } else {\n for (let i = 0; i < decimalCount; i++) {\n if (inWords && i > unit.dec.length - 1) break;\n const n = decimal[i];\n const cnZero = n === '0' ? '零' : '';\n const cnNum = unit.num[+n];\n const cnDesc = inWords ? unit.dec[i] : '';\n decimalRes += cnZero + cnNum + cnDesc;\n }\n }\n const ret =\n symbol +\n (inWords\n ? integerRes + (decimalRes === '零' ? '元整' : `元${decimalRes}`)\n : integerRes + (decimalRes === '' ? '' : `点${decimalRes}`));\n return ret;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.mjs","sources":["../../../../packages/util/format/string.ts","../../../../packages/util/format/validate.ts","../../../../packages/util/format/currency.types.ts","../../../../packages/util/format/currency.service.ts","../../../../packages/util/format/format.ts"],"sourcesContent":["import { deepGet } from '@yelon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n/**\n * String formatting\n *\n * 字符串格式化\n * ```\n * format('this is ${name}', { name: 'asdf' })\n * // output: this is asdf\n * format('this is ${user.name}', { user: { name: 'asdf' } }, true)\n * // output: this is asdf\n * ```\n */\nexport function format(\n str: string | null | undefined,\n obj: NzSafeAny | null | undefined,\n needDeepGet: boolean = false\n): string {\n return (str || '').replace(/\\${([^}]+)}/g, (_work: string, key: string) =>\n needDeepGet ? deepGet(obj, key.split('.'), '') : (obj || {})[key] || ''\n );\n}\n\nexport interface FormatMaskOption {\n mask: string;\n tokens?: { [key: string]: FormatMaskToken };\n}\n\nexport interface FormatMaskToken {\n pattern: RegExp;\n default?: NzSafeAny;\n transform?: (char: string) => string;\n}\n\n/**\n * Format mask\n *\n * 格式化掩码\n *\n * | 字符 | 描述 |\n * | --- | --- |\n * | `0` | 任意数字,若该位置字符不符合,则默认为 `0` 填充 |\n * | `9` | 任意数字 |\n * | `#` | 任意字符 |\n * | `U` | 转换大写 |\n * | `L` | 转换小写 |\n * | `*` | 转换为 `*` 字符 |\n *\n * ```ts\n * formatMask('123', '(###)') => (123)\n * formatMask('15900000000', '999****9999') => 159****0000\n * ```\n */\nexport function formatMask(value: string, option: string | FormatMaskOption): string {\n if (!value) {\n return '';\n }\n const opt: FormatMaskOption = {\n ...(typeof option === 'string' ? { mask: option } : option)\n };\n const tokens: { [key: string]: FormatMaskToken } = {\n '0': { pattern: /\\d/, default: '0' },\n '9': { pattern: /\\d/ },\n '#': { pattern: /[a-zA-Z0-9]/ },\n U: {\n pattern: /[a-zA-Z]/,\n transform: char => char.toLocaleUpperCase()\n },\n L: {\n pattern: /[a-zA-Z]/,\n transform: char => char.toLocaleLowerCase()\n },\n '*': {\n pattern: /.*/,\n transform: _ => `*`\n },\n ...opt.tokens\n };\n\n const splitValue = value.split('');\n return opt.mask\n .split('')\n .reduce((res, cur) => {\n const token = tokens[cur];\n if (!token) {\n res.push(cur);\n return res;\n }\n\n const value = splitValue.shift() ?? '';\n if (!token.pattern.test(value)) {\n if (token.default) res.push(token.default);\n return res;\n }\n\n if (typeof token.transform === 'function') {\n res.push(token.transform(value));\n } else {\n res.push(value);\n }\n return res;\n }, [] as string[])\n .join('');\n}\n","export const REGEX_STR = {\n num: `(([-+]?\\\\d+\\\\.\\\\d+)|([-+]?\\\\d+)|([-+]?\\\\.\\\\d+))(?:[eE]([-+]?\\\\d+))?`,\n idCard: `(^\\\\d{15}$)|(^\\\\d{17}(?:[0-9]|X)$)`,\n mobile: `^(0|\\\\+?86|17951)?1[0-9]{10}$`,\n url: `(((^https?:(?:\\/\\/)?)(?:[-;:&=\\\\+\\\\$,\\\\w]+@)?[A-Za-z0-9.-]+(?::\\\\d+)?|(?:www.|[-;:&=\\\\+\\\\$,\\\\w]+@)[A-Za-z0-9.-]+)((?:\\/[\\\\+~%\\\\/.\\\\w-_]*)?\\\\??(?:[-\\\\+=&;%@.\\\\w_]*)#?(?:[\\\\w]*))?)`,\n ip: `(?:^(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}$)|(?:^(?:(?:[a-fA-F\\\\d]{1,4}:){7}(?:[a-fA-F\\\\d]{1,4}|:)|(?:[a-fA-F\\\\d]{1,4}:){6}(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}|:[a-fA-F\\\\d]{1,4}|:)|(?:[a-fA-F\\\\d]{1,4}:){5}(?::(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}|(?::[a-fA-F\\\\d]{1,4}){1,2}|:)|(?:[a-fA-F\\\\d]{1,4}:){4}(?:(?::[a-fA-F\\\\d]{1,4}){0,1}:(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}|(?::[a-fA-F\\\\d]{1,4}){1,3}|:)|(?:[a-fA-F\\\\d]{1,4}:){3}(?:(?::[a-fA-F\\\\d]{1,4}){0,2}:(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}|(?::[a-fA-F\\\\d]{1,4}){1,4}|:)|(?:[a-fA-F\\\\d]{1,4}:){2}(?:(?::[a-fA-F\\\\d]{1,4}){0,3}:(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}|(?::[a-fA-F\\\\d]{1,4}){1,5}|:)|(?:[a-fA-F\\\\d]{1,4}:){1}(?:(?::[a-fA-F\\\\d]{1,4}){0,4}:(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}|(?::[a-fA-F\\\\d]{1,4}){1,6}|:)|(?::(?:(?::[a-fA-F\\\\d]{1,4}){0,5}:(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}|(?::[a-fA-F\\\\d]{1,4}){1,7}|:)))(?:%[0-9a-zA-Z]{1,})?$)`,\n color: `(?:#|0x)(?:[a-f0-9]{3}|[a-f0-9]{6})\\\\b|(?:rgb|hsl)a?\\\\([^\\\\)]*\\\\)`,\n chinese: `[\\u4e00-\\u9fa5]+`\n};\n\nfunction genRegex(str: string, flags?: string): RegExp {\n return new RegExp(`^${str}$`, flags);\n}\n\nexport const REGEX = {\n num: genRegex(REGEX_STR.num),\n idCard: genRegex(REGEX_STR.idCard, 'i'),\n mobile: genRegex(REGEX_STR.mobile),\n url: genRegex(REGEX_STR.url),\n ip: genRegex(REGEX_STR.ip),\n color: genRegex(REGEX_STR.color),\n chinese: genRegex(REGEX_STR.chinese)\n};\n\n/**\n * Wheter is number\n *\n * 是否为数字\n */\nexport function isNum(value: string | number): boolean {\n return REGEX.num.test(value.toString());\n}\n\n/**\n * Wheter is integer\n *\n * 是否为整数\n */\nexport function isInt(value: string | number): boolean {\n return isNum(value) && parseInt(value.toString(), 10).toString() === value.toString();\n}\n\n/**\n * Wheter is decimal\n *\n * 是否为小数点数值\n */\nexport function isDecimal(value: string | number): boolean {\n return isNum(value) && !isInt(value);\n}\n\n/**\n * Wheter is People's Republic of China identity card\n *\n * 是否为中华人民共和国居民身份证\n */\nexport function isIdCard(value: string): boolean {\n return REGEX.idCard.test(value);\n}\n\n/**\n * Wheter is china mobile (China)\n *\n * 是否为手机号(中国)\n */\nexport function isMobile(value: string): boolean {\n return REGEX.mobile.test(value);\n}\n\n/**\n * Wheter is url address\n *\n * 是否URL地址\n */\nexport function isUrl(url: string): boolean {\n return REGEX.url.test(url);\n}\n\n/**\n * Wheter is IPv4 address (Support v4, v6)\n *\n * 是否IP4地址(支持v4、v6)\n */\nexport function isIp(ip: string): boolean {\n return REGEX.ip.test(ip);\n}\n\n/**\n * Wheter is color\n *\n * 是否颜色代码值\n */\nexport function isColor(color: string): boolean {\n return REGEX.color.test(color);\n}\n\n/**\n * Wheter is chinese\n *\n * 是否中文\n */\nexport function isChinese(value: string): boolean {\n return REGEX.chinese.test(value);\n}\n","export type CurrencyStartingUnit = 'yuan' | 'cent';\n\nexport interface CurrencyStartingUnitOptions {\n /**\n * The starting unit of the value, `yuan` means 元, `cent` means 分, default: `yuan`\n *\n * 值的起始单位,`yuan` 元,`cent` 分,默认:`yuan`\n */\n startingUnit?: CurrencyStartingUnit;\n}\n\nexport interface CurrencyFormatOptions extends CurrencyStartingUnitOptions {\n /**\n * Using `DEFAULT_CURRENCY_CODE` when value is `true\n *\n * 是否使用 `CurrencyPipe` 来替代\n */\n useAngular?: boolean;\n /**\n * 精度,默认:`2`\n */\n precision?: number;\n /**\n * 是否忽略精度 `.0` 或 `.00` 结尾的字符,默认:`true`\n */\n ignoreZeroPrecision?: boolean;\n\n /**\n * Use anguar `currency` pipe parse when is set, pls refer to [document](https://angular.io/api/common/CurrencyPipe)\n *\n * 若指定则表示使用 Angular 自带的 `currency` 管道来解析,见[文档](https://angular.cn/api/common/CurrencyPipe)\n */\n ngCurrency?: {\n display: 'code' | 'symbol' | 'symbol-narrow';\n currencyCode?: string;\n digitsInfo?: string;\n locale?: string;\n };\n}\n\n/**\n * Large number format filter, [Document](https://ng.yunzainfo.com/util/format/en#mega)\n *\n * 大数据格式化,[文档](https://ng.yunzainfo.com/util/format/en#mega)\n */\nexport interface CurrencyMegaOptions extends CurrencyStartingUnitOptions {\n /**\n * 精度,默认:`2`\n */\n precision?: number;\n\n /**\n * 单位国际化,默认:`{Q: '京', T: '兆', B: '亿', M: '万', K: '千',}`\n */\n unitI18n?: CurrencyMegaUnitI18n;\n}\n\nexport interface CurrencyMegaResult {\n raw: number | string;\n value: string;\n unit: string;\n unitI18n: string;\n}\n\nexport const CurrencyMega_Powers = [\n { unit: 'Q', value: Math.pow(10, 15) },\n { unit: 'T', value: Math.pow(10, 12) },\n { unit: 'B', value: Math.pow(10, 9) },\n { unit: 'M', value: Math.pow(10, 6) },\n { unit: 'K', value: 1000 }\n];\n\nexport interface CurrencyMegaUnitI18n {\n Q: string;\n T: string;\n B: string;\n M: string;\n K: string;\n}\n\nexport interface CurrencyCNYOptions extends CurrencyStartingUnitOptions {\n /**\n * Whether to return to uppercase notation, default: `true`\n *\n * 是否返回大写表示法,默认:`true`\n */\n inWords?: boolean;\n /**\n * Specify negative sign, default: `negative`\n *\n * 指定负数符号,默认:`负`\n */\n minusSymbol?: string;\n}\n","import { CurrencyPipe, formatNumber } from '@angular/common';\nimport { DEFAULT_CURRENCY_CODE, Injectable, LOCALE_ID, inject } from '@angular/core';\n\nimport { YunzaiConfigService, YunzaiUtilCurrencyConfig } from '@yelon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport {\n CurrencyCNYOptions,\n CurrencyFormatOptions,\n CurrencyMegaOptions,\n CurrencyMegaResult,\n CurrencyMega_Powers\n} from './currency.types';\n\n@Injectable({ providedIn: 'root' })\nexport class CurrencyService {\n private readonly locale = inject(LOCALE_ID);\n private readonly defCurrencyCode = inject(DEFAULT_CURRENCY_CODE, { optional: true }) ?? 'USD';\n\n private c: YunzaiUtilCurrencyConfig;\n private readonly currencyPipe: CurrencyPipe;\n\n constructor(cog: YunzaiConfigService) {\n this.currencyPipe = new CurrencyPipe(this.locale, this.defCurrencyCode);\n this.c = cog.merge('utilCurrency', {\n startingUnit: 'yuan',\n megaUnit: { Q: '京', T: '兆', B: '亿', M: '万', K: '千' },\n precision: 2,\n ignoreZeroPrecision: true\n })!;\n }\n\n /**\n * Format a number with commas as thousands separators\n *\n * 格式化货币,用逗号将数字格式化为千位分隔符\n * ```ts\n * 10000 => `10,000`\n * 10000.567 => `10,000.57`\n * ```\n */\n format(value: number | string, options?: CurrencyFormatOptions): string {\n options = {\n startingUnit: this.c.startingUnit,\n precision: this.c.precision,\n ignoreZeroPrecision: this.c.ignoreZeroPrecision,\n ngCurrency: this.c.ngCurrency,\n ...options\n };\n let truthValue = Number(value);\n if (value == null || isNaN(truthValue)) {\n return '';\n }\n if (options.startingUnit === 'cent') {\n truthValue = truthValue / 100;\n }\n if (options.ngCurrency != null) {\n const cur = options.ngCurrency!;\n return this.currencyPipe.transform(\n truthValue,\n cur.currencyCode,\n cur.display,\n cur.digitsInfo,\n cur.locale || this.locale\n )!;\n }\n const res = formatNumber(\n truthValue,\n this.locale,\n `.${options.ignoreZeroPrecision ? 1 : options.precision}-${options.precision}`\n );\n return options.ignoreZeroPrecision ? res.replace(/(?:\\.[0]+)$/g, '') : res;\n }\n\n /**\n * Large number format filter\n *\n * 大数据格式化\n * ```ts\n * 1000 => { value: '1', unit: 'K', unitI18n: '千' }\n * 12456 => { value: '12.46', unit: 'K', unitI18n: '千' }\n * ```\n */\n mega(value: number | string, options?: CurrencyMegaOptions): CurrencyMegaResult {\n options = { precision: this.c.precision, unitI18n: this.c.megaUnit, startingUnit: this.c.startingUnit, ...options };\n let num = Number(value);\n const res: CurrencyMegaResult = { raw: value, value: '', unit: '', unitI18n: '' };\n if (isNaN(num) || num === 0) {\n res.value = value.toString();\n return res;\n }\n if (options.startingUnit === 'cent') {\n num = num / 100;\n }\n let abs = Math.abs(+num);\n const rounder = Math.pow(10, options.precision!);\n const isNegative = num < 0;\n for (const p of CurrencyMega_Powers) {\n let reduced = abs / p.value;\n\n reduced = Math.round(reduced * rounder) / rounder;\n\n if (reduced >= 1) {\n abs = reduced;\n res.unit = p.unit;\n break;\n }\n }\n\n res.value = (isNegative ? '-' : '') + abs;\n res.unitI18n = (options.unitI18n as { [key: string]: NzSafeAny })[res.unit];\n return res;\n }\n\n /**\n * Converted into RMB notation.\n *\n * 转化成人民币表示法\n */\n cny(value: number | string, options?: CurrencyCNYOptions): string {\n options = {\n inWords: true,\n minusSymbol: '负',\n startingUnit: this.c.startingUnit,\n ...options\n };\n\n value = Number(value);\n if (isNaN(value)) {\n return '';\n }\n if (options.startingUnit === 'cent') {\n value = value / 100;\n }\n value = value.toString();\n let integer: number | string;\n let decimal: number | string | null;\n [integer, decimal] = value.split('.');\n let symbol = '';\n if (integer.startsWith('-')) {\n symbol = options.minusSymbol!;\n integer = integer.substring(1);\n }\n if (/^-?\\d+$/.test(value)) {\n decimal = null;\n }\n integer = (+integer).toString();\n const inWords = options.inWords;\n const unit: { [key: string]: string[] } = {\n num: inWords\n ? ['', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖', '点']\n : ['', '一', '二', '三', '四', '五', '六', '七', '八', '九', '点'],\n radice: inWords\n ? [\n '',\n '拾',\n '佰',\n '仟',\n '万',\n '拾',\n '佰',\n '仟',\n '亿',\n '拾',\n '佰',\n '仟',\n '万亿',\n '拾',\n '佰',\n '仟',\n '兆',\n '拾',\n '佰',\n '仟'\n ]\n : [\n '',\n '十',\n '百',\n '千',\n '万',\n '十',\n '百',\n '千',\n '亿',\n '十',\n '百',\n '千',\n '万亿',\n '十',\n '百',\n '千',\n '兆',\n '十',\n '百',\n '千'\n ],\n dec: ['角', '分', '厘', '毫']\n };\n if (inWords) {\n value = (+value).toFixed(5).toString();\n }\n let integerRes = '';\n const integerCount = integer.length;\n if (integer === '0' || integerCount === 0) {\n integerRes = '零';\n } else {\n let cnDesc = '';\n for (let i = 0; i < integerCount; i++) {\n const n = +integer[i];\n const j = integerCount - i - 1;\n const isZero = i > 1 && n !== 0 && integer[i - 1] === '0';\n const cnZero = isZero ? '零' : '';\n const isEmpptyUnit = (n === 0 && j % 4 !== 0) || integer.substring(i - 3, i - 3 + 4) === '0000';\n const descMark = cnDesc;\n let cnNum = unit.num[n];\n\n cnDesc = isEmpptyUnit ? '' : unit.radice[j];\n // 第一位是一十\n if (i === 0 && cnNum === '一' && cnDesc === '十') cnNum = '';\n const isChangeEr =\n n > 1 &&\n cnNum === '二' && // 去除首位\n ['', '十', '百'].indexOf(cnDesc) === -1 && // 不读两\\两十\\两百\n descMark !== '十'; // 不读十两\n if (isChangeEr) cnNum = '两';\n integerRes += cnZero + cnNum + cnDesc;\n }\n }\n\n // 小数部分拼接\n let decimalRes = '';\n const decimalCount = decimal ? decimal.toString().length : 0;\n if (decimal === null) {\n decimalRes = inWords ? '整' : '';\n } else if (decimal === '0') {\n decimalRes = '零';\n } else {\n for (let i = 0; i < decimalCount; i++) {\n if (inWords && i > unit.dec.length - 1) break;\n const n = decimal[i];\n const cnZero = n === '0' ? '零' : '';\n const cnNum = unit.num[+n];\n const cnDesc = inWords ? unit.dec[i] : '';\n decimalRes += cnZero + cnNum + cnDesc;\n }\n }\n const ret =\n symbol +\n (inWords\n ? integerRes + (decimalRes === '零' ? '元整' : `元${decimalRes}`)\n : integerRes + (decimalRes === '' ? '' : `点${decimalRes}`));\n return ret;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ const YZ_HEADER_KEY = '_yz_header';
5
5
  const YZ_HEADER_TYPE_KEY = '_yz_header_type';
6
6
  const YZ_DEFAULT_ROUTE_KEY = '_yz_default_route';
7
7
  const YZ_TENANT_KEY = '_yz_tenant';
8
+ const YZ_NEED_AUTH_KEY = '_yz_need_auth';
8
9
  // export const YZ_LANGS_KEY = '_yz_langs';
9
10
  // export const YZ_LANG_KEY = '_yz_lang';
10
11
  function get(key) {
@@ -61,5 +62,5 @@ function useLocalStorageTenant() {
61
62
  * Generated bundle index. Do not edit.
62
63
  */
63
64
 
64
- export { YZ_CURRENT_KEY, YZ_DEFAULT_ROUTE_KEY, YZ_HEADER_KEY, YZ_HEADER_TYPE_KEY, YZ_PROJECT_INFO_KEY, YZ_TENANT_KEY, YZ_USER_KEY, useLocalStorageCurrent, useLocalStorageDefaultRoute, useLocalStorageHeader, useLocalStorageHeaderType, useLocalStorageProjectInfo, useLocalStorageTenant, useLocalStorageUser };
65
+ export { YZ_CURRENT_KEY, YZ_DEFAULT_ROUTE_KEY, YZ_HEADER_KEY, YZ_HEADER_TYPE_KEY, YZ_NEED_AUTH_KEY, YZ_PROJECT_INFO_KEY, YZ_TENANT_KEY, YZ_USER_KEY, useLocalStorageCurrent, useLocalStorageDefaultRoute, useLocalStorageHeader, useLocalStorageHeaderType, useLocalStorageProjectInfo, useLocalStorageTenant, useLocalStorageUser };
65
66
  //# sourceMappingURL=mcache.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcache.mjs","sources":["../../../../packages/util/mcache/localStorageUtils.ts","../../../../packages/util/mcache/mcache.ts"],"sourcesContent":["import { LayoutBasicAside, NavType, YunzaiNavTopic, YunzaiProjectInfo, YunzaiUser } from '@yelon/util/mtypes';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport const YZ_USER_KEY = '_yz_user';\nexport const YZ_PROJECT_INFO_KEY = '_yz_project_info';\nexport const YZ_CURRENT_KEY = '_yz_current';\nexport const YZ_HEADER_KEY = '_yz_header';\nexport const YZ_HEADER_TYPE_KEY = '_yz_header_type';\nexport const YZ_DEFAULT_ROUTE_KEY = '_yz_default_route';\nexport const YZ_TENANT_KEY = '_yz_tenant';\n// export const YZ_LANGS_KEY = '_yz_langs';\n// export const YZ_LANG_KEY = '_yz_lang';\n\nfunction get<T>(key: string): T | null {\n if (key === YZ_HEADER_TYPE_KEY) {\n return localStorage.getItem(key) as NzSafeAny;\n }\n const item = localStorage.getItem(key);\n return item ? JSON.parse(item) : null;\n}\n\nfunction set<T>(key: string, data: T): void {\n if (key === YZ_HEADER_TYPE_KEY) {\n localStorage.setItem(YZ_HEADER_TYPE_KEY, data as string);\n return;\n }\n localStorage.setItem(key, JSON.stringify(data));\n}\n\ntype returnSet<T> = (data: T) => void;\ntype returnGet<T> = () => T | null;\n\nexport function useLocalStorageUser(): [returnSet<YunzaiUser>, returnGet<YunzaiUser>] {\n const setFn: returnSet<YunzaiUser> = user => set(YZ_USER_KEY, user);\n const getFn: returnGet<YunzaiUser> = () => get<YunzaiUser>(YZ_USER_KEY);\n return [setFn, getFn];\n}\n\nexport function useLocalStorageProjectInfo(): [returnSet<YunzaiProjectInfo>, returnGet<YunzaiProjectInfo>] {\n const setFn: returnSet<YunzaiProjectInfo> = data => set(YZ_PROJECT_INFO_KEY, data);\n const getFn: returnGet<YunzaiProjectInfo> = () => get<YunzaiProjectInfo>(YZ_PROJECT_INFO_KEY);\n return [setFn, getFn];\n}\n\nexport function useLocalStorageCurrent(): [returnSet<LayoutBasicAside>, returnGet<LayoutBasicAside>] {\n const setFn: returnSet<LayoutBasicAside> = data => set(YZ_CURRENT_KEY, data);\n const getFn: returnGet<LayoutBasicAside> = () => get<LayoutBasicAside>(YZ_CURRENT_KEY);\n return [setFn, getFn];\n}\n\nexport function useLocalStorageHeaderType(): [returnSet<NavType>, returnGet<NavType>] {\n const setFn: returnSet<NavType> = data => set(YZ_HEADER_TYPE_KEY, data);\n const getFn: returnGet<NavType> = () => get<NavType>(YZ_HEADER_TYPE_KEY);\n return [setFn, getFn];\n}\n\nexport function useLocalStorageHeader(): [returnSet<YunzaiNavTopic[]>, returnGet<YunzaiNavTopic[]>] {\n const setFn: returnSet<YunzaiNavTopic[]> = data => set(YZ_HEADER_KEY, data);\n const getFn: returnGet<YunzaiNavTopic[]> = () => get<YunzaiNavTopic[]>(YZ_HEADER_KEY);\n return [setFn, getFn];\n}\n\nexport function useLocalStorageDefaultRoute(): [returnSet<string>, returnGet<string>] {\n const setFn: returnSet<string> = data => set(YZ_DEFAULT_ROUTE_KEY, data);\n const getFn: returnGet<string> = () => get<string>(YZ_DEFAULT_ROUTE_KEY);\n return [setFn, getFn];\n}\n\nexport function useLocalStorageTenant(): [returnSet<string>, returnGet<string>] {\n const setFn: returnSet<string> = data => set(YZ_TENANT_KEY, data);\n const getFn: returnGet<string> = () => get<string>(YZ_TENANT_KEY);\n return [setFn, getFn];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcache.mjs","sources":["../../../../packages/util/mcache/localStorageUtils.ts","../../../../packages/util/mcache/mcache.ts"],"sourcesContent":["import { LayoutBasicAside, NavType, YunzaiNavTopic, YunzaiProjectInfo, YunzaiUser } from '@yelon/util/mtypes';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport const YZ_USER_KEY = '_yz_user';\nexport const YZ_PROJECT_INFO_KEY = '_yz_project_info';\nexport const YZ_CURRENT_KEY = '_yz_current';\nexport const YZ_HEADER_KEY = '_yz_header';\nexport const YZ_HEADER_TYPE_KEY = '_yz_header_type';\nexport const YZ_DEFAULT_ROUTE_KEY = '_yz_default_route';\nexport const YZ_TENANT_KEY = '_yz_tenant';\nexport const YZ_NEED_AUTH_KEY = '_yz_need_auth';\n// export const YZ_LANGS_KEY = '_yz_langs';\n// export const YZ_LANG_KEY = '_yz_lang';\n\nfunction get<T>(key: string): T | null {\n if (key === YZ_HEADER_TYPE_KEY) {\n return localStorage.getItem(key) as NzSafeAny;\n }\n const item = localStorage.getItem(key);\n return item ? JSON.parse(item) : null;\n}\n\nfunction set<T>(key: string, data: T): void {\n if (key === YZ_HEADER_TYPE_KEY) {\n localStorage.setItem(YZ_HEADER_TYPE_KEY, data as string);\n return;\n }\n localStorage.setItem(key, JSON.stringify(data));\n}\n\ntype returnSet<T> = (data: T) => void;\ntype returnGet<T> = () => T | null;\n\nexport function useLocalStorageUser(): [returnSet<YunzaiUser>, returnGet<YunzaiUser>] {\n const setFn: returnSet<YunzaiUser> = user => set(YZ_USER_KEY, user);\n const getFn: returnGet<YunzaiUser> = () => get<YunzaiUser>(YZ_USER_KEY);\n return [setFn, getFn];\n}\n\nexport function useLocalStorageProjectInfo(): [returnSet<YunzaiProjectInfo>, returnGet<YunzaiProjectInfo>] {\n const setFn: returnSet<YunzaiProjectInfo> = data => set(YZ_PROJECT_INFO_KEY, data);\n const getFn: returnGet<YunzaiProjectInfo> = () => get<YunzaiProjectInfo>(YZ_PROJECT_INFO_KEY);\n return [setFn, getFn];\n}\n\nexport function useLocalStorageCurrent(): [returnSet<LayoutBasicAside>, returnGet<LayoutBasicAside>] {\n const setFn: returnSet<LayoutBasicAside> = data => set(YZ_CURRENT_KEY, data);\n const getFn: returnGet<LayoutBasicAside> = () => get<LayoutBasicAside>(YZ_CURRENT_KEY);\n return [setFn, getFn];\n}\n\nexport function useLocalStorageHeaderType(): [returnSet<NavType>, returnGet<NavType>] {\n const setFn: returnSet<NavType> = data => set(YZ_HEADER_TYPE_KEY, data);\n const getFn: returnGet<NavType> = () => get<NavType>(YZ_HEADER_TYPE_KEY);\n return [setFn, getFn];\n}\n\nexport function useLocalStorageHeader(): [returnSet<YunzaiNavTopic[]>, returnGet<YunzaiNavTopic[]>] {\n const setFn: returnSet<YunzaiNavTopic[]> = data => set(YZ_HEADER_KEY, data);\n const getFn: returnGet<YunzaiNavTopic[]> = () => get<YunzaiNavTopic[]>(YZ_HEADER_KEY);\n return [setFn, getFn];\n}\n\nexport function useLocalStorageDefaultRoute(): [returnSet<string>, returnGet<string>] {\n const setFn: returnSet<string> = data => set(YZ_DEFAULT_ROUTE_KEY, data);\n const getFn: returnGet<string> = () => get<string>(YZ_DEFAULT_ROUTE_KEY);\n return [setFn, getFn];\n}\n\nexport function useLocalStorageTenant(): [returnSet<string>, returnGet<string>] {\n const setFn: returnSet<string> = data => set(YZ_TENANT_KEY, data);\n const getFn: returnGet<string> = () => get<string>(YZ_TENANT_KEY);\n return [setFn, getFn];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAGO,MAAM,WAAW,GAAG,WAAW;AAC/B,MAAM,mBAAmB,GAAG,mBAAmB;AAC/C,MAAM,cAAc,GAAG,cAAc;AACrC,MAAM,aAAa,GAAG,aAAa;AACnC,MAAM,kBAAkB,GAAG,kBAAkB;AAC7C,MAAM,oBAAoB,GAAG,oBAAoB;AACjD,MAAM,aAAa,GAAG,aAAa;AACnC,MAAM,gBAAgB,GAAG,gBAAgB;AAChD;AACA;AAEA,SAAS,GAAG,CAAI,GAAW,EAAA;AACzB,IAAA,IAAI,GAAG,KAAK,kBAAkB,EAAE;AAC9B,QAAA,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,CAAc,CAAC;KAC/C;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACvC,IAAA,OAAO,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACxC,CAAC;AAED,SAAS,GAAG,CAAI,GAAW,EAAE,IAAO,EAAA;AAClC,IAAA,IAAI,GAAG,KAAK,kBAAkB,EAAE;AAC9B,QAAA,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAc,CAAC,CAAC;QACzD,OAAO;KACR;AACD,IAAA,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC;SAKe,mBAAmB,GAAA;AACjC,IAAA,MAAM,KAAK,GAA0B,IAAI,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACpE,MAAM,KAAK,GAA0B,MAAM,GAAG,CAAa,WAAW,CAAC,CAAC;AACxE,IAAA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACxB,CAAC;SAEe,0BAA0B,GAAA;AACxC,IAAA,MAAM,KAAK,GAAiC,IAAI,IAAI,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACnF,MAAM,KAAK,GAAiC,MAAM,GAAG,CAAoB,mBAAmB,CAAC,CAAC;AAC9F,IAAA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACxB,CAAC;SAEe,sBAAsB,GAAA;AACpC,IAAA,MAAM,KAAK,GAAgC,IAAI,IAAI,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAgC,MAAM,GAAG,CAAmB,cAAc,CAAC,CAAC;AACvF,IAAA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACxB,CAAC;SAEe,yBAAyB,GAAA;AACvC,IAAA,MAAM,KAAK,GAAuB,IAAI,IAAI,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACxE,MAAM,KAAK,GAAuB,MAAM,GAAG,CAAU,kBAAkB,CAAC,CAAC;AACzE,IAAA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACxB,CAAC;SAEe,qBAAqB,GAAA;AACnC,IAAA,MAAM,KAAK,GAAgC,IAAI,IAAI,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAgC,MAAM,GAAG,CAAmB,aAAa,CAAC,CAAC;AACtF,IAAA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACxB,CAAC;SAEe,2BAA2B,GAAA;AACzC,IAAA,MAAM,KAAK,GAAsB,IAAI,IAAI,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACzE,MAAM,KAAK,GAAsB,MAAM,GAAG,CAAS,oBAAoB,CAAC,CAAC;AACzE,IAAA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACxB,CAAC;SAEe,qBAAqB,GAAA;AACnC,IAAA,MAAM,KAAK,GAAsB,IAAI,IAAI,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,KAAK,GAAsB,MAAM,GAAG,CAAS,aAAa,CAAC,CAAC;AAClE,IAAA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACxB;;ACzEA;;AAEG;;;;"}
@@ -231,10 +231,10 @@ class LazyService {
231
231
  resolve(item);
232
232
  });
233
233
  }
234
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LazyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
235
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LazyService, providedIn: 'root' }); }
234
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: LazyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
235
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: LazyService, providedIn: 'root' }); }
236
236
  }
237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LazyService, decorators: [{
237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: LazyService, decorators: [{
238
238
  type: Injectable,
239
239
  args: [{ providedIn: 'root' }]
240
240
  }] });
@@ -532,10 +532,10 @@ class PathToRegexpService {
532
532
  }
533
533
  return this.stringToRegexp(/** @type {string} */ path, keys, options);
534
534
  }
535
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PathToRegexpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
536
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PathToRegexpService, providedIn: 'root' }); }
535
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: PathToRegexpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
536
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: PathToRegexpService, providedIn: 'root' }); }
537
537
  }
538
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PathToRegexpService, decorators: [{
538
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: PathToRegexpService, decorators: [{
539
539
  type: Injectable,
540
540
  args: [{
541
541
  providedIn: 'root'
@@ -16,10 +16,10 @@ class CurrencyMegaPipe {
16
16
  const res = this.srv.mega(value, options);
17
17
  return res.value + (this.isCN ? res.unitI18n : res.unit);
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyMegaPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
20
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: CurrencyMegaPipe, isStandalone: true, name: "mega" }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyMegaPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
20
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: CurrencyMegaPipe, isStandalone: true, name: "mega" }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyMegaPipe, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyMegaPipe, decorators: [{
23
23
  type: Pipe,
24
24
  args: [{ name: 'mega', standalone: true }]
25
25
  }] });
@@ -40,10 +40,10 @@ class CurrencyPricePipe {
40
40
  transform(value, options) {
41
41
  return this.srv.format(value, options);
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyPricePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
44
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: CurrencyPricePipe, isStandalone: true, name: "price" }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyPricePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
44
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: CurrencyPricePipe, isStandalone: true, name: "price" }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyPricePipe, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyPricePipe, decorators: [{
47
47
  type: Pipe,
48
48
  args: [{ name: 'price', standalone: true }]
49
49
  }] });
@@ -60,21 +60,21 @@ class CurrencyCNYPipe {
60
60
  transform(value, options) {
61
61
  return this.srv.cny(value, options);
62
62
  }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyCNYPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
64
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: CurrencyCNYPipe, isStandalone: true, name: "cny" }); }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyCNYPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
64
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: CurrencyCNYPipe, isStandalone: true, name: "cny" }); }
65
65
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyCNYPipe, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyCNYPipe, decorators: [{
67
67
  type: Pipe,
68
68
  args: [{ name: 'cny', standalone: true }]
69
69
  }] });
70
70
 
71
71
  const PIPES = [CurrencyMegaPipe, CurrencyPricePipe, CurrencyCNYPipe];
72
72
  class CurrencyPipeModule {
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
74
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: CurrencyPipeModule, imports: [CurrencyMegaPipe, CurrencyPricePipe, CurrencyCNYPipe], exports: [CurrencyMegaPipe, CurrencyPricePipe, CurrencyCNYPipe] }); }
75
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyPipeModule }); }
73
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
74
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: CurrencyPipeModule, imports: [CurrencyMegaPipe, CurrencyPricePipe, CurrencyCNYPipe], exports: [CurrencyMegaPipe, CurrencyPricePipe, CurrencyCNYPipe] }); }
75
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyPipeModule }); }
76
76
  }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CurrencyPipeModule, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CurrencyPipeModule, decorators: [{
78
78
  type: NgModule,
79
79
  args: [{
80
80
  imports: PIPES,
@@ -11,21 +11,21 @@ class FilterPipe {
11
11
  transform(array, matcher, ...args) {
12
12
  return array.filter(i => matcher(i, ...args));
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
15
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: FilterPipe, isStandalone: true, name: "filter", pure: false }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
15
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: FilterPipe, isStandalone: true, name: "filter", pure: false }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FilterPipe, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FilterPipe, decorators: [{
18
18
  type: Pipe,
19
19
  args: [{ name: 'filter', standalone: true, pure: false }]
20
20
  }] });
21
21
 
22
22
  const PIPES = [FilterPipe];
23
23
  class FilterPipeModule {
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FilterPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
25
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: FilterPipeModule, imports: [FilterPipe], exports: [FilterPipe] }); }
26
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FilterPipeModule }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FilterPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
25
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: FilterPipeModule, imports: [FilterPipe], exports: [FilterPipe] }); }
26
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FilterPipeModule }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FilterPipeModule, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FilterPipeModule, decorators: [{
29
29
  type: NgModule,
30
30
  args: [{
31
31
  imports: PIPES,
@@ -25,21 +25,21 @@ class FormatMaskPipe {
25
25
  transform(value, mask) {
26
26
  return formatMask(value, mask);
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormatMaskPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
29
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: FormatMaskPipe, isStandalone: true, name: "mask" }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FormatMaskPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
29
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: FormatMaskPipe, isStandalone: true, name: "mask" }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormatMaskPipe, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FormatMaskPipe, decorators: [{
32
32
  type: Pipe,
33
33
  args: [{ name: 'mask', standalone: true }]
34
34
  }] });
35
35
 
36
36
  const PIPES = [FormatMaskPipe];
37
37
  class FormatPipeModule {
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormatPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
39
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: FormatPipeModule, imports: [FormatMaskPipe], exports: [FormatMaskPipe] }); }
40
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormatPipeModule }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FormatPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
39
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: FormatPipeModule, imports: [FormatMaskPipe], exports: [FormatMaskPipe] }); }
40
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FormatPipeModule }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormatPipeModule, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FormatPipeModule, decorators: [{
43
43
  type: NgModule,
44
44
  args: [{
45
45
  imports: PIPES,
@@ -6,6 +6,7 @@ export declare const YZ_HEADER_KEY = "_yz_header";
6
6
  export declare const YZ_HEADER_TYPE_KEY = "_yz_header_type";
7
7
  export declare const YZ_DEFAULT_ROUTE_KEY = "_yz_default_route";
8
8
  export declare const YZ_TENANT_KEY = "_yz_tenant";
9
+ export declare const YZ_NEED_AUTH_KEY = "_yz_need_auth";
9
10
  type returnSet<T> = (data: T) => void;
10
11
  type returnGet<T> = () => T | null;
11
12
  export declare function useLocalStorageUser(): [returnSet<YunzaiUser>, returnGet<YunzaiUser>];
@@ -12,7 +12,7 @@ export declare class PathToRegexpService {
12
12
  repeat: boolean;
13
13
  pattern: any;
14
14
  })[];
15
- compile(str: NzSafeAny, options: NzSafeAny): (data: NzSafeAny, options: NzSafeAny) => string;
15
+ compile(str: NzSafeAny, options: NzSafeAny): (data: any, options: any) => string;
16
16
  tokensToFunction(tokens: NzSafeAny, options: NzSafeAny): (data: NzSafeAny, options: NzSafeAny) => string;
17
17
  escapeString(str: NzSafeAny): any;
18
18
  escapeGroup(group: NzSafeAny): any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yelon/util",
3
- "version": "18.1.0",
3
+ "version": "18.1.2",
4
4
  "author": "yunzai-bot<yunzai-bot@outlook.com>",
5
5
  "license": "MIT",
6
6
  "repository": {