docs: function (cls, options, alias, extkey) {
      let idt = '';
      for (let op in options) {
          idt = op.toUpperCase();
          switch (identifiers[idt]) {
              case 'OR':
                  if (helper.isArray(options[op])) {
                      parseOr(cls, options[op], alias);
                  }
                  break;
              case 'IN':
                  if (helper.isArray(options[op])) {
                      parseIn(cls, op, options[op], alias);
                  } else if (helper.isObject(options[op])) {
                      for (let n in options[op]) {
                          parseIn(cls, n, options[op][n], alias);
                      }
                  }
                  break;
              case 'NOTIN':
                  if (helper.isObject(options[op])) {
                      parseNotIn(cls, options[op], alias);
                  } else if (helper.isArray(options[op]) && extkey !== undefined) {
                      parseNotIn(cls, { [extkey]: options[op] }, alias);
                  }
                  break;
              case 'NOT':
                  if (helper.isObject(options[op])) {
                      parseNot(cls, options[op], alias);
                  } else if (extkey !== undefined) {
                      parseNot(cls, { [extkey]: options[op] }, alias);
                  }
                  break;
              case 'OPERATOR':
                  if (extkey !== undefined) {
                      parseOperator(cls, extkey, op, options[op], alias);
                  } else if (helper.isObject(options[op])) {
                      for (let n in options[op]) {
                          parseKnexWhere(cls, { [n]: options[op][n] }, alias, op);
                      }
                  }
                  break;
              case 'AND':
              default:
                  if (helper.isArray(options[op])) {
                      parseIn(cls, op, options[op], alias);
                  } else if (helper.isObject(options[op])) {
                      for (let n in options[op]) {
                          parseKnexWhere(cls, { [n]: options[op][n] }, alias, op);
                      }
                  } else {
                      let _key = (alias && op.indexOf('.') === -1) ? `${alias}.${op}` : op;
                      cls.where(_key, '=', options[op]);
                  }
          }
      }
  }