All files / models Lovs.js

0% Statements 0/14
0% Branches 0/2
0% Functions 0/4
0% Lines 0/14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33                                                                 
import { isArrayLike, mapObj } from 'ramda';
 
export class Lov {
  constructor(obj) {
    this.name = obj.meta.name;
 
    this.values = {};
    obj.values.value.map((val) => {
      this.values[val.code] = val.desc;
    });
  }
}
 
export default class Lovs {
  constructor(obj) {
    const lovsObj = obj.sccLovResp.lovs.lov;
 
    this.lovs = {};
    let length = 0;
    if (isArrayLike(lovsObj)) {
      this.lovs = mapObj((lov) => {
        ++length;
        return new Lov(lov);
      }, lovsObj);
    } else {
      ++length;
      this.lovs = new Lov(lovsObj);
    }
 
    this.lovs.length = length;
  }
}