index.js 750 B

1234567891011121314151617181920212223242526272829303132
  1. /**
  2. * @fileOverview Scale entry, used to reference all the scales
  3. * @author dxq613@gmail.com
  4. */
  5. const lowerFirst = require('@antv/util/lib/string/lower-first');
  6. const Base = require('./base');
  7. Base.Linear = require('./linear');
  8. Base.Identity = require('./identity');
  9. Base.Cat = require('./category');
  10. Base.Time = require('./time');
  11. Base.TimeCat = require('./time-cat');
  12. Base.Log = require('./log');
  13. Base.Pow = require('./pow');
  14. for (const k in Base) {
  15. if (Base.hasOwnProperty(k)) {
  16. const methodName = lowerFirst(k);
  17. Base[methodName] = function(cfg) {
  18. return new Base[k](cfg);
  19. };
  20. }
  21. }
  22. const CAT_ARR = [ 'cat', 'timeCat' ];
  23. Base.isCategory = function(type) {
  24. return CAT_ARR.indexOf(type) >= 0;
  25. };
  26. module.exports = Base;