{"version":3,"file":"skyux-list-builder-common.mjs","sources":["../../../../../libs/components/list-builder-common/src/lib/helpers.ts","../../../../../libs/components/list-builder-common/src/lib/state/items/item.model.ts","../../../../../libs/components/list-builder-common/src/lib/state/sort/field-selector.model.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/async-item.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/async-list.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/helpers.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/state-dispatcher.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/state-node.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/state-orchestrator.ts","../../../../../libs/components/list-builder-common/src/skyux-list-builder-common.ts"],"sourcesContent":["import { Observable } from 'rxjs';\n\n/**\n * @internal\n * @deprecated\n */\nexport function getData(item: any, selector: string): any {\n  if (!selector) {\n    return undefined;\n  }\n\n  const resultFieldParts = selector.split('.');\n  if (resultFieldParts.length > 0 && resultFieldParts[0] === '') {\n    resultFieldParts.shift();\n  }\n\n  let result = item;\n\n  /* istanbul ignore else */\n  if (resultFieldParts.length > 0) {\n    for (const part of resultFieldParts) {\n      /* istanbul ignore else */\n      if (result[part] === null || result[part] === undefined) {\n        result = null;\n        break;\n      }\n\n      result = result[part];\n    }\n  }\n\n  return result;\n}\n\n/**\n * @internal\n * @deprecated\n */\nexport function compare(value1: any, value2: any): -1 | 0 | 1 {\n  if (value1 === null) {\n    return 1;\n  } else if (value2 === null) {\n    return -1;\n  }\n\n  if (value1 && typeof value1 === 'string') {\n    value1 = value1.toLowerCase();\n  }\n\n  if (value2 && typeof value2 === 'string') {\n    value2 = value2.toLowerCase();\n  }\n  if (value1 === value2) {\n    return 0;\n  }\n\n  return value1 > value2 ? 1 : -1;\n}\n\n/*\n  Taken directly from rxjs's internal utility to determine whether an object is an Observable.\n  See: https://github.com/ReactiveX/rxjs/blob/master/src/internal/util/isObservable.ts\n*/\n/**\n * @internal\n * @deprecated\n */\nexport function isObservable<T>(obj: any): obj is Observable<T> {\n  /* istanbul ignore next */\n  return (\n    !!obj &&\n    (obj instanceof Observable ||\n      (typeof obj.lift === 'function' && typeof obj.subscribe === 'function'))\n  );\n}\n","/**\n * @deprecated\n */\nexport class ListItemModel {\n  /**\n   * The data for the item in the list.\n   */\n  public data: any;\n\n  /**\n   * The ID for the item in the list.\n   * @required\n   */\n  public id: string;\n\n  /**\n   * Whether the item in the list is selected.\n   * @default false\n   */\n  public isSelected?: boolean;\n\n  constructor(id: string, data?: any, isSelected?: boolean) {\n    if (id === undefined) {\n      throw new Error('All list item models require an ID');\n    }\n\n    this.id = id;\n\n    if (data !== undefined) {\n      this.data = data;\n    }\n\n    if (isSelected !== undefined) {\n      this.isSelected = isSelected;\n    }\n  }\n}\n","/**\n * @deprecated\n */\nexport class ListSortFieldSelectorModel {\n  /**\n   * Whether to sort in descending order.\n   */\n  public descending = false;\n\n  /**\n   * The fields to sort.\n   */\n  public fieldSelector: string;\n\n  constructor(data?: any) {\n    if (data) {\n      this.fieldSelector = data.fieldSelector;\n      this.descending = data.descending;\n    }\n  }\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class AsyncItem<T> {\n  constructor(\n    public item: T = {} as T,\n    public lastUpdate: any = null,\n    public loading = false,\n  ) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class AsyncList<T> {\n  constructor(\n    public items: T[] = [],\n    public lastUpdate: any = null,\n    public loading = false,\n    public count: number = items.length,\n  ) {}\n}\n","import { Observable } from 'rxjs';\n\n/**\n * @internal\n * @deprecated\n */\nexport function getValue(property: any, callback: any): Observable<any> {\n  if (property instanceof Observable) {\n    property.subscribe((value) => callback(value));\n    return property;\n  } else {\n    return callback(property);\n  }\n}\n","import { Subject } from 'rxjs';\n\n/**\n * @internal\n * @deprecated\n */\nexport class StateDispatcher<TAction> extends Subject<TAction> {}\n","import { BehaviorSubject, zip } from 'rxjs';\nimport { map as observableMap } from 'rxjs/operators';\n\nimport { StateDispatcher } from './state-dispatcher';\n\n/**\n * @internal\n * @deprecated\n */\nexport class StateNode<T> extends BehaviorSubject<T> {\n  private stateMap: Record<string, any> = {};\n\n  constructor(\n    private initialState: T,\n    private dispatcher: StateDispatcher<any>,\n  ) {\n    super(initialState);\n  }\n\n  public register(stateKey: string, orchestrator: any): StateNode<T> {\n    this.stateMap[stateKey] = orchestrator;\n    return this;\n  }\n\n  public reset(): void {\n    this.next(this.initialState);\n  }\n\n  public begin(): void {\n    const stateKeys: string[] = Object.keys(this.stateMap);\n    const init: Record<string, any> = this.initialState;\n\n    const orchestrators = stateKeys.map((key) =>\n      new this.stateMap[key]().scan(init[key], this.dispatcher),\n    );\n\n    zip\n      .apply(this, orchestrators)\n      .pipe(\n        observableMap((s: any) => {\n          const result: any = {};\n          for (let i = 0; i < stateKeys.length; i++) {\n            const key = stateKeys[i];\n            result[key] = s[i];\n          }\n\n          return result;\n        }),\n      )\n      .subscribe((s: any) => this.next(s));\n  }\n}\n","import { Observable } from 'rxjs';\nimport { scan } from 'rxjs/operators';\n\n/**\n * @internal\n * @deprecated\n */\nexport class StateOrchestrator<TStateNode, TAction> {\n  private registeredActions: any[] = [];\n\n  private registeredCallbacks: ((\n    state: TStateNode,\n    action: TAction,\n    initialState?: any,\n  ) => any)[] = [];\n\n  public register(\n    action: any,\n    callback: (state: TStateNode, action: TAction, initialState?: any) => any,\n  ): StateOrchestrator<TStateNode, TAction> {\n    if (this.registeredActions.indexOf(action) === -1) {\n      this.registeredActions.push(action);\n      this.registeredCallbacks.push(callback);\n    }\n\n    return this;\n  }\n\n  public scan(\n    initialState: TStateNode,\n    actions: Observable<TAction>,\n  ): Observable<any> {\n    // eslint-disable-next-line eqeqeq\n    if (initialState == null) {\n      throw new Error(\n        'Initial state for an orchestrator should never be null. Check your StateNode definition and registrations.',\n      );\n    }\n\n    return actions.pipe(\n      scan((state: any, action: any) => {\n        for (let i = 0; i < this.registeredActions.length; i++) {\n          const a = this.registeredActions[i] as any;\n\n          // length is seemingly arbitrary but it's a stopgap to prevent checking via constructor name when code is minified\n          if (\n            action instanceof a ||\n            (a.name.length > 4 && action.constructor.name === a.name)\n          ) {\n            return this.registeredCallbacks[i].apply(this, [\n              state,\n              action,\n              initialState,\n            ]);\n          }\n        }\n\n        return state;\n      }, initialState),\n    );\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["observableMap"],"mappings":"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"}