{"version":3,"file":"ng-stalk-core-pipe.mjs","sources":["../../components/core/pipe/code-name/code-name.pipe.ts","../../components/core/pipe/mag-code-color/mag-code-color.pipe.ts","../../components/core/pipe/mag-code-name/mag-code-name.pipe.ts","../../components/core/pipe/mag-code-status/mag-code-status.pipe.ts","../../components/core/pipe/mag-code-icon/mag-code-icon.pipe.ts","../../components/core/pipe/mag-date/mag-date.pipe.ts","../../components/core/pipe/mag-date-time/mag-date-time.pipe.ts","../../components/core/pipe/mag-file-size/mag-file-size.pipe.ts","../../components/core/pipe/mag-i18n-pair-value/mag-i18n-pair-value.pipe.ts","../../components/core/pipe/mag-lang/mag-lang.pipe.ts","../../components/core/pipe/ns-code-name/ns-code-name.pipe.ts","../../components/core/pipe/join/join.pipe.ts","../../components/core/pipe/mag-pipe.module.ts","../../components/core/pipe/public-api.ts","../../components/core/pipe/ng-stalk-core-pipe.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { ChangeDetectorRef, Injectable, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { LangChangeEvent, TranslateService, TranslationChangeEvent } from '@ngx-translate/core';\nimport * as _ from 'lodash';\nimport { MagCodeCacheService } from 'ng-stalk/core/service';\nimport { CodeAndName } from 'ng-stalk/core/types';\nimport { equals } from 'ng-stalk/core/util';\nimport { Subscription } from 'rxjs';\n\n@Injectable()\n@Pipe({\n  name: 'codeName',\n  pure: false // required to update the value when the promise is resolved\n})\nexport class CodeNamePipe implements PipeTransform, OnDestroy {\n  value = '';\n  lastKey?: string | null;\n  lastParams?: string;\n  onTranslationChange?: Subscription;\n  onLangChange?: Subscription;\n  onDefaultLangChange?: Subscription;\n\n  constructor(private magCodeCacheService: MagCodeCacheService, private translate: TranslateService, private _ref: ChangeDetectorRef) {}\n\n  private getResult(code: string, group: string): string | undefined {\n    const codeAndNames: CodeAndName[] = this.magCodeCacheService.getList(group);\n    if (!codeAndNames) {\n      return undefined;\n    }\n\n    const found = _.find(codeAndNames, {\n      code: code\n    });\n\n    if (found == null) {\n      return undefined;\n    }\n\n    return (found as CodeAndName).name;\n  }\n\n  updateValue(key: string, group: string): void {\n    const onTranslation = (res: string | undefined) => {\n      this.value = res !== undefined ? res : key;\n      this.lastKey = key;\n      this._ref.markForCheck();\n    };\n    // if (translations) {\n    //   let res = this.getResult(key, group);\n    //   if (isObservable(res.subscribe)) {\n    //     res.subscribe(onTranslation);\n    //   } else {\n    //     onTranslation(res);\n    //   }\n    // }\n    // this.translate.get(key, interpolateParams).subscribe(onTranslation);\n\n    onTranslation(this.getResult(key, group));\n  }\n\n  transform(query: string, group: string): any {\n    if (!query || !query.length) {\n      return query;\n    }\n\n    // if we ask another time for the same key, return the last value\n    if (equals(query, this.lastKey) && equals(group, this.lastParams)) {\n      return this.value;\n    }\n\n    // store the query, in case it changes\n    this.lastKey = query;\n\n    // store the params, in case they change\n    this.lastParams = group;\n\n    // set the value\n    this.updateValue(query, group);\n\n    // if there is a subscription to onLangChange, clean it\n    this._dispose();\n\n    // subscribe to onTranslationChange event, in case the translations change\n    // translation change 이벤트가 발생하기 이전에 initConfig(codeAndNames) 가 이미 교체되어있는 상태이다.(initConfig 교체 후 translationService.useLang 이 설정된다)\n    if (!this.onTranslationChange) {\n      this.onTranslationChange = this.translate.onTranslationChange.subscribe((event: TranslationChangeEvent) => {\n        if (this.lastKey && event.lang === this.translate.currentLang) {\n          this.lastKey = null;\n          this.updateValue(query, group);\n        }\n      });\n    }\n\n    // subscribe to onLangChange event, in case the language changes\n    if (!this.onLangChange) {\n      // @ts-ignore\n      this.onLangChange = this.translate.onLangChange.subscribe((event: LangChangeEvent) => {\n        if (this.lastKey) {\n          this.lastKey = null; // we want to make sure it doesn't return the same value until it's been updated\n          this.updateValue(query, group);\n        }\n      });\n    }\n\n    // subscribe to onDefaultLangChange event, in case the default language changes\n    if (!this.onDefaultLangChange) {\n      this.onDefaultLangChange = this.translate.onDefaultLangChange.subscribe(() => {\n        if (this.lastKey) {\n          this.lastKey = null; // we want to make sure it doesn't return the same value until it's been updated\n          this.updateValue(query, group);\n        }\n      });\n    }\n\n    return this.value;\n  }\n\n  /**\n   * Clean any existing subscription to change events\n   */\n  private _dispose(): void {\n    if (typeof this.onTranslationChange !== 'undefined') {\n      this.onTranslationChange.unsubscribe();\n      this.onTranslationChange = undefined;\n    }\n    if (typeof this.onLangChange !== 'undefined') {\n      this.onLangChange.unsubscribe();\n      this.onLangChange = undefined;\n    }\n    if (typeof this.onDefaultLangChange !== 'undefined') {\n      this.onDefaultLangChange.unsubscribe();\n      this.onDefaultLangChange = undefined;\n    }\n  }\n\n  ngOnDestroy(): void {\n    this._dispose();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport * as _ from 'lodash';\nimport { MagInitConfig } from \"ng-stalk/core/model\";\nimport { MagConfigService } from 'ng-stalk/core/service';\nimport { CodeAndName } from 'ng-stalk/core/types';\n\n@Pipe({\n  name: 'magCodeColor'\n})\nexport class MagCodeColorPipe implements PipeTransform {\n  constructor(private magConfigService: MagConfigService<MagInitConfig>) {}\n\n  transform(value: any, group: string, transform?: 'tag' | 'badge'): any {\n    const codeAndNames: CodeAndName[] = this.magConfigService.getColorList(group);\n    if (!codeAndNames) {\n      return null;\n    }\n\n    const found = _.find(codeAndNames, {\n      code: value\n    });\n\n    if (found == null) {\n      return null;\n    }\n\n    const magColor = (found as CodeAndName).name;\n\n    // 추가 변환이 필요한 경우 변환해서 리턴한다.\n    if (transform === 'tag') {\n      switch (magColor) {\n        case 'accent':\n          return '#108ee9'; // TODO nz zorro 테마의 primary 색상이 참조되도록 구현 해야함\n        case 'error':\n          return '#f50';\n        case 'disabled':\n          return '#ccc';\n        default:\n          return magColor;\n      }\n    } else {\n      return magColor;\n    }\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { ChangeDetectorRef, Injectable, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { LangChangeEvent, TranslateService, TranslationChangeEvent } from '@ngx-translate/core';\nimport * as _ from 'lodash';\nimport { MagCodeCacheService } from 'ng-stalk/core/service';\nimport { CodeAndName } from 'ng-stalk/core/types';\nimport { equals } from 'ng-stalk/core/util';\nimport { isNil, isNotNil } from 'ng-zorro-antd/core/util';\nimport { Subscription } from 'rxjs';\n\n@Injectable()\n@Pipe({\n  name: 'magCodeName',\n  pure: false // required to update the value when the promise is resolved\n})\nexport class MagCodeNamePipe implements PipeTransform, OnDestroy {\n  value = '';\n  lastKey?: string | null;\n  lastParams?: string;\n  onTranslationChange?: Subscription;\n  onLangChange?: Subscription;\n  onDefaultLangChange?: Subscription;\n\n  constructor(private magCodeCacheService: MagCodeCacheService, private translate: TranslateService, private _ref: ChangeDetectorRef) {}\n\n  private getResult(code: string, group: string): string | null {\n    const codeAndNames: CodeAndName[] = this.magCodeCacheService.getList(group);\n    if (!codeAndNames) {\n      return null;\n    }\n\n    const found = _.find(codeAndNames, {\n      code: code\n    });\n\n    if (found == null) {\n      return null;\n    }\n\n    return (found as CodeAndName).name;\n  }\n\n  updateValue(key: string, group: string): void {\n    const onTranslation = (res: string | null) => {\n      this.value = isNotNil(res) ? res : key;\n      this.lastKey = key;\n      this._ref.markForCheck();\n    };\n    // if (translations) {\n    //   let res = this.getResult(key, group);\n    //   if (isObservable(res.subscribe)) {\n    //     res.subscribe(onTranslation);\n    //   } else {\n    //     onTranslation(res);\n    //   }\n    // }\n    // this.translate.get(key, interpolateParams).subscribe(onTranslation);\n\n    onTranslation(this.getResult(key, group));\n  }\n\n  transform(query: string | undefined | null, group: string): string | null {\n    if (isNil(query)) {\n      return null;\n    }\n    if (!query || !query.length) {\n      return null;\n    }\n\n    // if we ask another time for the same key, return the last value\n    if (equals(query, this.lastKey) && equals(group, this.lastParams)) {\n      return this.value;\n    }\n\n    // store the query, in case it changes\n    this.lastKey = query;\n\n    // store the params, in case they change\n    this.lastParams = group;\n\n    // set the value\n    this.updateValue(query, group);\n\n    // if there is a subscription to onLangChange, clean it\n    this._dispose();\n\n    // subscribe to onTranslationChange event, in case the translations change\n    // translation change 이벤트가 발생하기 이전에 initConfig(codeAndNames) 가 이미 교체되어있는 상태이다.(initConfig 교체 후 translationService.useLang 이 설정된다)\n    if (!this.onTranslationChange) {\n      this.onTranslationChange = this.translate.onTranslationChange.subscribe((event: TranslationChangeEvent) => {\n        if (this.lastKey && event.lang === this.translate.currentLang) {\n          this.lastKey = null;\n          this.updateValue(query, group);\n        }\n      });\n    }\n\n    // subscribe to onLangChange event, in case the language changes\n    if (!this.onLangChange) {\n      // @ts-ignore\n      this.onLangChange = this.translate.onLangChange.subscribe((event: LangChangeEvent) => {\n        if (this.lastKey) {\n          this.lastKey = null; // we want to make sure it doesn't return the same value until it's been updated\n          this.updateValue(query, group);\n        }\n      });\n    }\n\n    // subscribe to onDefaultLangChange event, in case the default language changes\n    if (!this.onDefaultLangChange) {\n      this.onDefaultLangChange = this.translate.onDefaultLangChange.subscribe(() => {\n        if (this.lastKey) {\n          this.lastKey = null; // we want to make sure it doesn't return the same value until it's been updated\n          this.updateValue(query, group);\n        }\n      });\n    }\n\n    return this.value;\n  }\n\n  /**\n   * Clean any existing subscription to change events\n   */\n  private _dispose(): void {\n    if (typeof this.onTranslationChange !== 'undefined') {\n      this.onTranslationChange.unsubscribe();\n      this.onTranslationChange = undefined;\n    }\n    if (typeof this.onLangChange !== 'undefined') {\n      this.onLangChange.unsubscribe();\n      this.onLangChange = undefined;\n    }\n    if (typeof this.onDefaultLangChange !== 'undefined') {\n      this.onDefaultLangChange.unsubscribe();\n      this.onDefaultLangChange = undefined;\n    }\n  }\n\n  ngOnDestroy(): void {\n    this._dispose();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport * as _ from 'lodash';\nimport { MagInitConfig } from \"ng-stalk/core/model\";\nimport { MagConfigService } from 'ng-stalk/core/service';\nimport { CodeAndName } from 'ng-stalk/core/types';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Pipe({\n  name: 'magCodeStatus'\n})\nexport class MagCodeStatusPipe implements PipeTransform {\n  constructor(private magConfigService: MagConfigService<MagInitConfig>) {}\n\n  transform(value: NzSafeAny, group: string): string | null {\n    const codeAndNames: CodeAndName[] = this.magConfigService.getStatusList(group);\n    if (!codeAndNames) {\n      return null;\n    }\n\n    const found = _.find(codeAndNames, {\n      code: value\n    });\n\n    if (found == null) {\n      return null;\n    }\n\n    return (found as CodeAndName).name;\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport * as _ from 'lodash';\nimport { MagInitConfig } from \"ng-stalk/core/model\";\n\nimport { MagConfigService } from 'ng-stalk/core/service';\nimport { CodeAndName } from 'ng-stalk/core/types';\n\n@Pipe({\n  name: 'magCodeIcon'\n})\nexport class MagCodeIconPipe implements PipeTransform {\n  constructor(private magConfigService: MagConfigService<MagInitConfig>) {}\n\n  transform(value: any, group: string): any {\n    const codeAndNames: CodeAndName[] = this.magConfigService.getIconList(group);\n    if (!codeAndNames) {\n      return null;\n    }\n\n    const found = _.find(codeAndNames, {\n      code: value\n    });\n\n    if (found == null) {\n      return null;\n    }\n\n    return (found as CodeAndName).name;\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { formatISO } from 'date-fns';\nimport { MagDateService } from 'ng-stalk/core/service';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { Subject } from 'rxjs';\n\n@Pipe({\n  name: 'magDate'\n})\nexport class MagDatePipe implements PipeTransform, OnDestroy {\n  private destroy$: Subject<NzSafeAny>;\n\n  constructor(private magDateService: MagDateService) {\n    this.destroy$ = new Subject<NzSafeAny>();\n  }\n\n  // @ts-ignore\n  transform(value: string | Date, group: string): string | null {\n    if (!value) {\n      return null;\n    }\n\n    let magZoneDateTime;\n    if (value instanceof Date) {\n      magZoneDateTime = this.magDateService.browserDateToMagZoneDateTime(value);\n    } else {\n      magZoneDateTime = this.magDateService.parseToMagZoneDateTime(value);\n    }\n    return formatISO(magZoneDateTime.value, { representation: 'date' });\n  }\n\n  ngOnDestroy(): void {\n    // Unsubscribe from all subscriptions\n    this.destroy$.next(true);\n    this.destroy$.complete();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { select, Store } from '@ngrx/store';\nimport { format } from 'date-fns-tz';\nimport { getTimezone, MagFrameState } from 'ng-stalk/core/frame-store';\nimport { MagDateService } from 'ng-stalk/core/service';\nimport { MagTimeZone } from 'ng-stalk/core/types';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { combineLatest, Observable, of, Subject } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\n\n@Pipe({\n  name: 'magDateTime'\n})\nexport class MagDateTimePipe implements PipeTransform, OnDestroy {\n  private _unsubscribeAll: Subject<NzSafeAny>;\n\n  timezone$: Observable<MagTimeZone>;\n\n  constructor(private _store: Store<MagFrameState>, private magDateService: MagDateService) {\n    this._unsubscribeAll = new Subject();\n    this.timezone$ = this._store.pipe(select(getTimezone));\n  }\n\n  print$?: Observable<string>;\n\n  transform(value: string): NzSafeAny {\n    if (!value) {\n      return null;\n    }\n\n    this.print$ = combineLatest(this.timezone$, of(value))\n      .pipe(takeUntil(this._unsubscribeAll))\n      .pipe(\n        map(([timezone, lastValue]) => {\n          const magZoneDateTime = this.magDateService.parseToMagZoneDateTime(lastValue);\n          return format(magZoneDateTime.value, \"yyy-MM-dd'T'HH:mm:ss.SSSxxx\", {\n            timeZone: timezone.timezoneId\n          });\n\n          // const zoneOffset = timezone.timezoneOffset || '+09:00';\n          // const momentValue = moment(lastValue).zone(zoneOffset);\n          // return `${momentValue.format('YYYY-MM-DD HH:mm:ss')} (${zoneOffset})`;\n        })\n      );\n    return this.print$;\n  }\n\n  ngOnDestroy(): void {\n    // Unsubscribe from all subscriptions\n    this._unsubscribeAll.next(true);\n    this._unsubscribeAll.complete();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Pipe({\n  name: 'magFileSize'\n})\nexport class MagFileSizePipe implements PipeTransform {\n  constructor() {}\n\n  transform(value: NzSafeAny, si: boolean = true): string | null {\n    if (!value) {\n      return value;\n    }\n\n    let iValue: number;\n    if (typeof value === 'number') {\n      iValue = value as number;\n    } else if (typeof value === 'string') {\n      iValue = Number(value);\n    } else {\n      console.warn('invalid value type for file size pipe. input value:', value, 'found type:', typeof value);\n      return value;\n    }\n\n    if (iValue || iValue === 0) {\n      return this.humanFileSize(iValue, si);\n    }\n    return null;\n  }\n\n  humanFileSize(bytes: number, si: boolean): string {\n    const thresh = si ? 1000 : 1024;\n    if (Math.abs(bytes) < thresh) {\n      return bytes + ' B';\n    }\n    const units = si ? ['KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];\n    let u = -1;\n    do {\n      // tslint:disable-next-line:no-parameter-reassignment\n      bytes /= thresh;\n      ++u;\n    } while (Math.abs(bytes) >= thresh && u < units.length - 1);\n    // tslint:disable-next-line:prefer-template\n    return bytes.toFixed(1) + ' ' + units[u];\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { ChangeDetectorRef, Input, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { select, Store } from '@ngrx/store';\nimport { getLanguage, MagFrameState } from 'ng-stalk/core/frame-store';\nimport { MagGlobalConfigService, WithMagConfig } from 'ng-stalk/core/service';\nimport { MagUtil } from 'ng-stalk/core/util';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { combineLatest, Observable, of, Subject } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\n\nconst NZ_CONFIG_COMPONENT_NAME = 'i18nPairValuePipe'; // TODO\n\n@Pipe({\n  name: 'magI18nPairValue',\n  pure: false // required to update the value when the promise is resolved\n})\nexport class MagI18nPairValuePipe implements PipeTransform, OnDestroy {\n  private _unsubscribeAll: Subject<any>;\n\n  lang$: Observable<string>;\n\n  @Input() @WithMagConfig(NZ_CONFIG_COMPONENT_NAME) mzDebug: boolean = false;\n\n  defaultLang = 'en';\n\n  value?: string;\n\n  debug = false;\n\n  print$?: Observable<string>;\n\n  constructor(public magConfigService: MagGlobalConfigService, private _store: Store<MagFrameState>, private _ref: ChangeDetectorRef) {\n    this._unsubscribeAll = new Subject();\n    this.lang$ = this._store.pipe(select(getLanguage));\n  }\n\n  transform(value: NzSafeAny, keyProperty: string = 'lang', valueProperty: string = 'value', defaultLang: string = 'en'): NzSafeAny {\n    if (!value) {\n      return null;\n    }\n\n    this.print$ = combineLatest(this.lang$, of(value))\n      .pipe(takeUntil(this._unsubscribeAll))\n      // @ts-ignore\n      .pipe(\n        // @ts-ignore\n        map(([lang, lastValue]) => {\n          if (this.mzDebug) {\n            console.log(`[MAG DEBUG][${NZ_CONFIG_COMPONENT_NAME} Current Lang: `, lang, 'Value: ', value);\n          }\n\n          // 1. 동일 언어 확인 후 적용\n          for (const item of value) {\n            const langOfItem = MagUtil.walk(item, keyProperty);\n            if (langOfItem === lang) {\n              return MagUtil.walk(item, valueProperty);\n            }\n          }\n\n          // 2. 기본 언어 확인 후 적용\n          for (const item of value) {\n            const langOfItem = MagUtil.walk(item, keyProperty);\n            if (langOfItem === (defaultLang || this.defaultLang)) {\n              return MagUtil.walk(item, valueProperty);\n            }\n          }\n\n          // 3. 어떤 언어도 없을 경우, 첫번째 항목 적용\n          for (const item of value) {\n            return MagUtil.walk(item, valueProperty);\n          }\n        })\n      );\n\n    this.print$.pipe(takeUntil(this._unsubscribeAll)).subscribe(printValue => {\n      this.value = printValue;\n      this._ref.markForCheck();\n    });\n\n    return this.value;\n  }\n\n  ngOnDestroy(): void {\n    // Unsubscribe from all subscriptions\n    this._unsubscribeAll.next(true);\n    this._unsubscribeAll.complete();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport * as _ from 'lodash';\nimport { MagInitConfig } from \"ng-stalk/core/model\";\n\nimport { MagConfigService } from 'ng-stalk/core/service';\nimport { CodeAndName } from 'ng-stalk/core/types';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Pipe({\n  name: 'magLang'\n})\nexport class MagLangPipe implements PipeTransform {\n  constructor(private magConfigService: MagConfigService<MagInitConfig>) {}\n\n  // @ts-ignore\n  transform(value: NzSafeAny, displayType: 'name' | 'nativeName' = 'name'): any {\n    const found = _.find(this.magConfigService.getInitConfig().supportLanguages, {\n      code: value\n    });\n\n    if (found == null) {\n      return null;\n    }\n\n    return (found as CodeAndName).name;\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {ChangeDetectorRef, Injectable, Input, OnDestroy, Pipe, PipeTransform} from '@angular/core';\nimport { CodeAndName } from 'ng-stalk/core/types';\nimport { equals } from 'ng-stalk/core/util';\nimport { isNil, isNotNil } from 'ng-zorro-antd/core/util';\nimport {NsConfigKey, WithNsConfig} from \"ng-stalk/core/config\";\nimport { find } from 'lodash';\n\nconst NS_CONFIG_MODULE_NAME = 'code';\n\n@Injectable()\n@Pipe({\n  name: 'nsCodeName',\n  pure: false // required to update the value when the promise is resolved\n})\nexport class NsCodeNamePipe implements PipeTransform, OnDestroy {\n  readonly _nsModuleName: NsConfigKey = NS_CONFIG_MODULE_NAME;\n  value = '';\n  lastKey?: string | null;\n  lastParams?: string;\n\n  @Input() @WithNsConfig() data: { [key: string]: CodeAndName[] } = {};\n\n  constructor(private _ref: ChangeDetectorRef) {}\n\n  private getResult(code: string, group: string): string | null {\n\n    const codeAndNames: CodeAndName[] = this.data[group];;\n    if (!codeAndNames) {\n      return null;\n    }\n\n    const found = find(codeAndNames, {\n      code: code\n    });\n\n    if (found == null) {\n      return code;\n    }\n\n    return (found as CodeAndName).name;\n  }\n\n  updateValue(key: string, group: string): void {\n    const onTranslation = (res: string | null) => {\n      this.value = isNotNil(res) ? res : key;\n      this.lastKey = key;\n      this._ref.markForCheck();\n    };\n    // if (translations) {\n    //   let res = this.getResult(key, group);\n    //   if (isObservable(res.subscribe)) {\n    //     res.subscribe(onTranslation);\n    //   } else {\n    //     onTranslation(res);\n    //   }\n    // }\n    // this.translate.get(key, interpolateParams).subscribe(onTranslation);\n\n    onTranslation(this.getResult(key, group));\n  }\n\n  transform(query: string | undefined | null, group: string): string | null {\n    if (isNil(query)) {\n      return null;\n    }\n    if (!query || !query.length) {\n      return null;\n    }\n\n    // if we ask another time for the same key, return the last value\n    if (equals(query, this.lastKey) && equals(group, this.lastParams)) {\n      return this.value;\n    }\n\n    // store the query, in case it changes\n    this.lastKey = query;\n\n    // store the params, in case they change\n    this.lastParams = group;\n\n    // set the value\n    this.updateValue(query, group);\n\n    // if there is a subscription to onLangChange, clean it\n    this._dispose();\n\n    return this.value;\n  }\n\n  /**\n   * Clean any existing subscription to change events\n   */\n  private _dispose(): void {\n\n  }\n\n  ngOnDestroy(): void {\n    this._dispose();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { isArray } from 'ng-stalk/core/util';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nfunction findValue(obj: NzSafeAny, propertyPath: string[]): NzSafeAny {\n  let target = obj;\n  for (const prop of propertyPath) {\n    target = target[prop];\n  }\n  return target;\n}\n\n@Pipe({\n  name: 'nsJoin'\n})\nexport class JoinPipe implements PipeTransform {\n  transform(input: NzSafeAny, character: string = ', ', propertyPath?: string): any {\n    if (propertyPath) {\n      const props: string[] = propertyPath.split('\\.');\n      if (!isArray(input)) {\n        return findValue(input, props);\n      } else {\n        // @ts-ignore\n        return input.map(item => findValue(item, props))\n        .join(character);\n      }\n    } else {\n      if (!isArray(input)) {\n        return input;\n      }\n      return input.join(character);\n    }\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { MagFrameStoreModule } from 'ng-stalk/core/frame-store';\nimport { CodeNamePipe } from './code-name/code-name.pipe';\nimport { JoinPipe } from './join/join.pipe';\nimport { MagCodeColorPipe } from './mag-code-color/mag-code-color.pipe';\nimport { MagCodeIconPipe } from './mag-code-icon/mag-code-icon.pipe';\nimport { MagCodeNamePipe } from './mag-code-name/mag-code-name.pipe';\nimport { MagCodeStatusPipe } from './mag-code-status/mag-code-status.pipe';\nimport { MagDateTimePipe } from './mag-date-time/mag-date-time.pipe';\nimport { MagDatePipe } from './mag-date/mag-date.pipe';\nimport { MagFileSizePipe } from './mag-file-size/mag-file-size.pipe';\nimport { MagI18nPairValuePipe } from './mag-i18n-pair-value/mag-i18n-pair-value.pipe';\nimport { MagLangPipe } from './mag-lang/mag-lang.pipe';\n\n@NgModule({\n  imports: [CommonModule, MagFrameStoreModule, TranslateModule],\n  declarations: [\n    CodeNamePipe,\n    MagCodeNamePipe,\n    MagCodeColorPipe,\n    MagCodeIconPipe,\n    MagCodeStatusPipe,\n    MagDateTimePipe,\n    MagDatePipe,\n    MagFileSizePipe,\n    JoinPipe,\n    MagLangPipe,\n    MagI18nPairValuePipe\n  ],\n  exports: [\n    CodeNamePipe,\n    MagCodeNamePipe,\n    MagCodeColorPipe,\n    MagCodeIconPipe,\n    MagCodeStatusPipe,\n    MagDateTimePipe,\n    MagDatePipe,\n    MagFileSizePipe,\n    JoinPipe,\n    MagLangPipe,\n    MagI18nPairValuePipe\n  ]\n})\nexport class MagPipeModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './code-name/code-name.pipe';\nexport * from './mag-code-color/mag-code-color.pipe';\nexport * from './mag-code-name/mag-code-name.pipe';\nexport * from './mag-code-status/mag-code-status.pipe';\nexport * from './mag-code-icon/mag-code-icon.pipe';\nexport * from './mag-date/mag-date.pipe';\nexport * from './mag-date-time/mag-date-time.pipe';\nexport * from './mag-file-size/mag-file-size.pipe';\nexport * from './mag-i18n-pair-value/mag-i18n-pair-value.pipe';\nexport * from './mag-lang/mag-lang.pipe';\nexport * from './ns-code-name/ns-code-name.pipe';\nexport * from './join/join.pipe';\nexport * from './mag-pipe.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}