123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- (function () {
- 'use strict';
- var classNames = (function () {
-
-
- function StorageObject() {}
- StorageObject.prototype = Object.create(null);
- function _parseArray (resultSet, array) {
- var length = array.length;
- for (var i = 0; i < length; ++i) {
- _parse(resultSet, array[i]);
- }
- }
- var hasOwn = {}.hasOwnProperty;
- function _parseNumber (resultSet, num) {
- resultSet[num] = true;
- }
- function _parseObject (resultSet, object) {
- if (object.toString !== Object.prototype.toString && !object.toString.toString().includes('[native code]')) {
- resultSet[object.toString()] = true;
- return;
- }
- for (var k in object) {
- if (hasOwn.call(object, k)) {
-
-
- resultSet[k] = !!object[k];
- }
- }
- }
- var SPACE = /\s+/;
- function _parseString (resultSet, str) {
- var array = str.split(SPACE);
- var length = array.length;
- for (var i = 0; i < length; ++i) {
- resultSet[array[i]] = true;
- }
- }
- function _parse (resultSet, arg) {
- if (!arg) return;
- var argType = typeof arg;
-
- if (argType === 'string') {
- _parseString(resultSet, arg);
-
- } else if (Array.isArray(arg)) {
- _parseArray(resultSet, arg);
-
- } else if (argType === 'object') {
- _parseObject(resultSet, arg);
-
- } else if (argType === 'number') {
- _parseNumber(resultSet, arg);
- }
- }
- function _classNames () {
-
-
- var len = arguments.length;
- var args = Array(len);
- for (var i = 0; i < len; i++) {
- args[i] = arguments[i];
- }
- var classSet = new StorageObject();
- _parseArray(classSet, args);
- var list = [];
- for (var k in classSet) {
- if (classSet[k]) {
- list.push(k)
- }
- }
- return list.join(' ');
- }
- return _classNames;
- })();
- if (typeof module !== 'undefined' && module.exports) {
- classNames.default = classNames;
- module.exports = classNames;
- } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {
-
- define('classnames', [], function () {
- return classNames;
- });
- } else {
- window.classNames = classNames;
- }
- }());
|