UNPKG

@zoranwong/acc-engine.js

Version:

A javascript framework to accelerate your applicatin developement

58 lines (47 loc) 1.7 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.caseKeyName = caseKeyName; exports.UPPER_CAMEL = exports.LOWER_CAMEL = exports.UPPER_SNAKE = exports.LOWER_SNAKE = void 0; var _newArrowCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/newArrowCheck")); var LOWER_SNAKE = 'LOWER_SNAKE'; exports.LOWER_SNAKE = LOWER_SNAKE; var UPPER_SNAKE = 'UPPER_SNAKE'; exports.UPPER_SNAKE = UPPER_SNAKE; var LOWER_CAMEL = 'LOWER_CAMEL'; exports.LOWER_CAMEL = LOWER_CAMEL; var UPPER_CAMEL = 'UPPER_CAMEL'; exports.UPPER_CAMEL = UPPER_CAMEL; function caseKeyName(key) { var _this = this; var caseForm = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : LOWER_CAMEL; var hyphenateRE = null; switch (caseForm) { case LOWER_CAMEL: hyphenateRE = /_\D/g; key = (key + '').replace(hyphenateRE, function (match) { (0, _newArrowCheck2["default"])(this, _this); return match.charAt(1).toUpperCase(); }.bind(this)); key = key[0].toLowerCase() + key.substr(1, key.length - 1); break; case UPPER_SNAKE: hyphenateRE = /_\D/g; key = ("_" + key).replace(hyphenateRE, function (match) { (0, _newArrowCheck2["default"])(this, _this); return match.charAt(1).toUpperCase(); }.bind(this)); break; case LOWER_SNAKE: hyphenateRE = /\B([A-Z])/g; key = key.replace(hyphenateRE, '_$1').toLowerCase(); break; case UPPER_CAMEL: hyphenateRE = /\B([A-Z])/g; key = key.replace(hyphenateRE, '_$1').toUpperCase(); break; } return key; }