nhb-toolbox 4.0.12 → 4.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isMethodDescriptor = void 0;
3
4
  exports.isArray = isArray;
4
5
  exports.isValidArray = isValidArray;
5
6
  exports.isObject = isObject;
@@ -75,6 +76,16 @@ function isEmptyObject(value) {
75
76
  function isFunction(value) {
76
77
  return typeof value === 'function';
77
78
  }
79
+ /**
80
+ * * Determines whether the provided property descriptor represents a method.
81
+ *
82
+ * @param descriptor - The property descriptor to check.
83
+ * @returns `true` if the descriptor is defined and its value is a function; otherwise, `false`.
84
+ */
85
+ const isMethodDescriptor = (descriptor) => {
86
+ return !!descriptor && typeof descriptor.value === 'function';
87
+ };
88
+ exports.isMethodDescriptor = isMethodDescriptor;
78
89
  /**
79
90
  * * Type guard to check if a value is a Date object.
80
91
  * @param value - The value to check.
package/dist/cjs/index.js CHANGED
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertToRomanNumerals = exports.convertNumberToWords = exports.isPerfectSquare = exports.isParOfFibonacciSeries = exports.isParOfFibonacci = exports.isOddNumber = exports.isOdd = exports.isMultiple = exports.isFibonacci = exports.isEvenNumber = exports.isEven = exports.sumOfNumbers = exports.sumNumbers = exports.sumDigits = exports.reverseNumber = exports.getSumOfNumbers = exports.getRandomNumber = exports.getFibonacciSeries = exports.getFibonacciNumbers = exports.getFibonacci = exports.convertToDecimal = exports.calculateLCM = exports.calculateLCD = exports.calculateHCF = exports.calculateGCD = exports.levenshteinDistance = exports.getLevenshteinDistance = exports.extractNumbersFromString = exports.formatNumberWithPluralUnit = exports.formatWithPlural = exports.formatUnitWithPlural = exports.slugifyString = exports.reverseString = exports.replaceAllInString = exports.normalizeString = exports.maskString = exports.extractURLs = exports.extractEmails = exports.convertStringCase = exports.isSnakeCase = exports.isPascalCase = exports.isPalindrome = exports.isKebabCase = exports.isEmojiOnly = exports.isCamelCase = exports.generateAnagrams = exports.truncateString = exports.trimString = exports.generateRandomID = exports.capitalizeString = void 0;
3
+ exports.convertToRomanNumerals = exports.convertNumberToWords = exports.isPerfectSquare = exports.isParOfFibonacciSeries = exports.isParOfFibonacci = exports.isOddNumber = exports.isOdd = exports.isMultiple = exports.isFibonacci = exports.isEvenNumber = exports.isEven = exports.sumOfNumbers = exports.sumNumbers = exports.sumDigits = exports.reverseNumber = exports.getSumOfNumbers = exports.getRandomNumber = exports.getFibonacciSeries = exports.getFibonacciNumbers = exports.getFibonacci = exports.convertToDecimal = exports.calculateLCM = exports.calculateLCD = exports.calculateHCF = exports.calculateGCD = exports.levenshteinDistance = exports.getLevenshteinDistance = exports.extractNumbersFromString = exports.slugifyString = exports.reverseString = exports.replaceAllInString = exports.normalizeString = exports.maskString = exports.formatWithPlural = exports.formatUnitWithPlural = exports.formatNumberWithPluralUnit = exports.extractURLs = exports.extractEmails = exports.convertStringCase = exports.isSnakeCase = exports.isPascalCase = exports.isPalindrome = exports.isKebabCase = exports.isEmojiOnly = exports.isCamelCase = exports.generateAnagrams = exports.truncateString = exports.trimString = exports.generateRandomID = exports.capitalizeString = void 0;
4
4
  exports.Chronus = exports.Chronos = exports.isValidUTCOffSet = exports.isValidUTC = exports.isValidTimeString = exports.isValidTime = exports.isLeapYear = exports.greet = exports.getGreeting = exports.generateGreeting = exports.Colour = exports.Color = exports.convertRgbToRgba = exports.convertRgbToHsl = exports.convertRgbToHex = exports.convertRgbaToHsla = exports.convertRgbaToHex8 = exports.convertHslToRgb = exports.convertHslToHex = exports.convertHslaToRgba = exports.convertHslaToHex8 = exports.convertHexToRgb = exports.convertHexToHsl = exports.convertHex8ToRgba = exports.convertHex8ToHsla = exports.convertColorCode = exports.generateRandomHSLColor = exports.generateRandomColorInHexRGB = exports.getColorForInitial = exports.getNumbersInRange = exports.roundToNearestInterval = exports.roundToNearest = exports.roundNumberToNearestInterval = exports.roundNumber = exports.numberToOrdinal = exports.getRandomFloat = exports.getRandomDecimal = exports.getOrdinalNumber = exports.getOrdinal = exports.formatCurrency = exports.convertToOrdinal = exports.convertNumberToOrdinal = exports.convertNumberToCurrency = exports.clampNumber = exports.cardinalToOrdinal = exports.isPrimeNumber = exports.isPrime = exports.getPrimeNumbers = exports.findPrimeNumbers = exports.numberToWords = void 0;
5
5
  exports.cloneObject = exports.isValidFormData = exports.isOriginFileObj = exports.isFileUpload = exports.isFileList = exports.isFileArray = exports.isCustomFileArray = exports.isCustomFile = exports.serializeForm = exports.parseFormData = exports.createFormData = exports.createControlledFormData = exports.convertIntoFormData = exports.naturalSortForString = exports.naturalSort = exports.compareSorter = exports.compareNaturally = exports.splitArray = exports.rotateArray = exports.removeDuplicatesFromArray = exports.moveArrayElement = exports.createOptionsArray = exports.sortAnArray = exports.shuffleArray = exports.isValidEmptyArray = exports.isInvalidOrEmptyArray = exports.getLastArrayElement = exports.flattenArray = exports.filterArrayOfObjects = exports.minutesToUTCOffset = exports.getTotalMinutesFromUTC = exports.getTotalMinutesFromTime = exports.getTotalMinutes = exports.getTimeStringFromUTC = exports.getMinutesFromUTC = exports.getCurrentTime = exports.getCurrentDateTime = exports.formatUTCOffset = exports.extractTotalMinutesFromTime = exports.extractTimeStringFromUTC = exports.extractTimeFromUTC = exports.extractMinutesFromUTC = exports.extractHourMinute = exports.convertMinutesToUTCOffset = exports.chronusts = exports.chronusjs = exports.chronus = exports.chronosts = exports.chronosjs = exports.chronos = void 0;
6
- exports.isString = exports.isPrimitive = exports.isPositiveInteger = exports.isNumber = exports.isNull = exports.isNonEmptyString = exports.isInteger = exports.isFalsy = exports.isBoolean = exports.throttleAction = exports.isDeepEqual = exports.debounceAction = exports.countClassMethods = exports.convertArrayToString = exports.saveToSessionStorage = exports.saveToLocalStorage = exports.removeFromSessionStorage = exports.removeFromLocalStorage = exports.getFromSessionStorage = exports.getFromLocalStorage = exports.toggleFullScreen = exports.smoothScrollTo = exports.copyToClipboard = exports.updateQueryParam = exports.getQueryParams = exports.generateQueryParams = exports.formatQueryParams = exports.createQueryParams = exports.remapObjectFields = exports.remapFields = exports.pickObjectFieldsByCondition = exports.pickObjectFields = exports.pickFieldsByCondition = exports.pickFields = exports.convertObjectValues = exports.sanitizeData = exports.parseStringifiedValues = exports.parseStringifiedPrimitives = exports.parseStringifiedObjectValues = exports.parsePrimitives = exports.parsePrimitiveData = exports.parseObjectValues = exports.mergeObjects = exports.mergeAndFlattenObjects = exports.flattenObjectKeyValue = exports.flattenObjectDotNotation = exports.extractUpdatedFields = exports.extractUpdatedAndNewFields = exports.extractNewFields = exports.countObjectFields = void 0;
7
- exports.isValidURL = exports.isValidEmail = exports.isUUID = exports.isURL = exports.isPhoneNumber = exports.isNumericString = exports.isNodeEnvironment = exports.isNodeENV = exports.isNode = exports.isIPAddress = exports.isExpectedNodeENV = exports.isEnvironment = exports.isEmailArray = exports.isEmail = exports.isDateString = exports.isBrowser = exports.isBase64 = exports.isValidSet = exports.isValidObject = exports.isValidMap = exports.isValidJSON = exports.isValidArray = exports.isSet = exports.isReturningPromise = exports.isRegularExpression = exports.isRegExp = exports.isPromise = exports.isObjectWithKeys = exports.isObjectEmpty = exports.isObject = exports.isNotEmptyObject = exports.isMap = exports.isJSONObject = exports.isJSON = exports.isFunction = exports.isError = exports.isEmptyObjectGuard = exports.isEmptyObject = exports.isDate = exports.isBigInt = exports.isArrayWithLength = exports.isArrayOfType = exports.isArray = exports.doesReturnPromise = exports.isUndefined = exports.isTruthy = exports.isSymbol = void 0;
6
+ exports.isInteger = exports.isFalsy = exports.isBoolean = exports.throttleAction = exports.isDeepEqual = exports.getClassDetails = exports.getStaticMethodsCount = exports.getStaticMethodNames = exports.getInstanceMethodsCount = exports.getInstanceMethodNames = exports.debounceAction = exports.countStaticMethods = exports.countInstanceMethods = exports.convertArrayToString = exports.saveToSessionStorage = exports.saveToLocalStorage = exports.removeFromSessionStorage = exports.removeFromLocalStorage = exports.getFromSessionStorage = exports.getFromLocalStorage = exports.toggleFullScreen = exports.smoothScrollTo = exports.copyToClipboard = exports.updateQueryParam = exports.getQueryParams = exports.generateQueryParams = exports.formatQueryParams = exports.createQueryParams = exports.remapObjectFields = exports.remapFields = exports.pickObjectFieldsByCondition = exports.pickObjectFields = exports.pickFieldsByCondition = exports.pickFields = exports.convertObjectValues = exports.sanitizeData = exports.parseStringifiedValues = exports.parseStringifiedPrimitives = exports.parseStringifiedObjectValues = exports.parsePrimitives = exports.parsePrimitiveData = exports.parseObjectValues = exports.mergeObjects = exports.mergeAndFlattenObjects = exports.flattenObjectKeyValue = exports.flattenObjectDotNotation = exports.extractUpdatedFields = exports.extractUpdatedAndNewFields = exports.extractNewFields = exports.countObjectFields = void 0;
7
+ exports.isNumericString = exports.isNodeEnvironment = exports.isNodeENV = exports.isNode = exports.isIPAddress = exports.isExpectedNodeENV = exports.isEnvironment = exports.isEmailArray = exports.isEmail = exports.isDateString = exports.isBrowser = exports.isBase64 = exports.isValidSet = exports.isValidObject = exports.isValidMap = exports.isValidJSON = exports.isValidArray = exports.isSet = exports.isReturningPromise = exports.isRegularExpression = exports.isMethod = exports.isMethodDescriptor = exports.isRegExp = exports.isPromise = exports.isObjectWithKeys = exports.isObjectEmpty = exports.isObject = exports.isNotEmptyObject = exports.isMap = exports.isJSONObject = exports.isJSON = exports.isFunction = exports.isError = exports.isEmptyObjectGuard = exports.isEmptyObject = exports.isDate = exports.isBigInt = exports.isArrayWithLength = exports.isArrayOfType = exports.isArray = exports.doesReturnPromise = exports.isUndefined = exports.isTruthy = exports.isSymbol = exports.isString = exports.isPrimitive = exports.isPositiveInteger = exports.isNumber = exports.isNull = exports.isNonEmptyString = void 0;
8
+ exports.isValidURL = exports.isValidEmail = exports.isUUID = exports.isURL = exports.isPhoneNumber = void 0;
8
9
  // ! String Utilities
9
10
  var basics_1 = require("./string/basics");
10
11
  Object.defineProperty(exports, "capitalizeString", { enumerable: true, get: function () { return basics_1.capitalizeString; } });
@@ -24,14 +25,14 @@ var convert_1 = require("./string/convert");
24
25
  Object.defineProperty(exports, "convertStringCase", { enumerable: true, get: function () { return convert_1.convertStringCase; } });
25
26
  Object.defineProperty(exports, "extractEmails", { enumerable: true, get: function () { return convert_1.extractEmails; } });
26
27
  Object.defineProperty(exports, "extractURLs", { enumerable: true, get: function () { return convert_1.extractURLs; } });
28
+ Object.defineProperty(exports, "formatNumberWithPluralUnit", { enumerable: true, get: function () { return convert_1.formatUnitWithPlural; } });
29
+ Object.defineProperty(exports, "formatUnitWithPlural", { enumerable: true, get: function () { return convert_1.formatUnitWithPlural; } });
30
+ Object.defineProperty(exports, "formatWithPlural", { enumerable: true, get: function () { return convert_1.formatUnitWithPlural; } });
27
31
  Object.defineProperty(exports, "maskString", { enumerable: true, get: function () { return convert_1.maskString; } });
28
32
  Object.defineProperty(exports, "normalizeString", { enumerable: true, get: function () { return convert_1.normalizeString; } });
29
33
  Object.defineProperty(exports, "replaceAllInString", { enumerable: true, get: function () { return convert_1.replaceAllInString; } });
30
34
  Object.defineProperty(exports, "reverseString", { enumerable: true, get: function () { return convert_1.reverseString; } });
31
35
  Object.defineProperty(exports, "slugifyString", { enumerable: true, get: function () { return convert_1.slugifyString; } });
32
- Object.defineProperty(exports, "formatUnitWithPlural", { enumerable: true, get: function () { return convert_1.formatUnitWithPlural; } });
33
- Object.defineProperty(exports, "formatWithPlural", { enumerable: true, get: function () { return convert_1.formatUnitWithPlural; } });
34
- Object.defineProperty(exports, "formatNumberWithPluralUnit", { enumerable: true, get: function () { return convert_1.formatUnitWithPlural; } });
35
36
  var utilities_1 = require("./string/utilities");
36
37
  Object.defineProperty(exports, "extractNumbersFromString", { enumerable: true, get: function () { return utilities_1.extractNumbersFromString; } });
37
38
  Object.defineProperty(exports, "getLevenshteinDistance", { enumerable: true, get: function () { return utilities_1.getLevenshteinDistance; } });
@@ -236,8 +237,14 @@ Object.defineProperty(exports, "saveToSessionStorage", { enumerable: true, get:
236
237
  // ! Other Utilities
237
238
  var utils_4 = require("./utils");
238
239
  Object.defineProperty(exports, "convertArrayToString", { enumerable: true, get: function () { return utils_4.convertArrayToString; } });
239
- Object.defineProperty(exports, "countClassMethods", { enumerable: true, get: function () { return utils_4.countClassMethods; } });
240
+ Object.defineProperty(exports, "countInstanceMethods", { enumerable: true, get: function () { return utils_4.countInstanceMethods; } });
241
+ Object.defineProperty(exports, "countStaticMethods", { enumerable: true, get: function () { return utils_4.countStaticMethods; } });
240
242
  Object.defineProperty(exports, "debounceAction", { enumerable: true, get: function () { return utils_4.debounceAction; } });
243
+ Object.defineProperty(exports, "getInstanceMethodNames", { enumerable: true, get: function () { return utils_4.getInstanceMethodNames; } });
244
+ Object.defineProperty(exports, "getInstanceMethodsCount", { enumerable: true, get: function () { return utils_4.countInstanceMethods; } });
245
+ Object.defineProperty(exports, "getStaticMethodNames", { enumerable: true, get: function () { return utils_4.getStaticMethodNames; } });
246
+ Object.defineProperty(exports, "getStaticMethodsCount", { enumerable: true, get: function () { return utils_4.countStaticMethods; } });
247
+ Object.defineProperty(exports, "getClassDetails", { enumerable: true, get: function () { return utils_4.getClassDetails; } });
241
248
  Object.defineProperty(exports, "isDeepEqual", { enumerable: true, get: function () { return utils_4.isDeepEqual; } });
242
249
  Object.defineProperty(exports, "throttleAction", { enumerable: true, get: function () { return utils_4.throttleAction; } });
243
250
  // ! Primitive Type Guards
@@ -275,6 +282,8 @@ Object.defineProperty(exports, "isObjectEmpty", { enumerable: true, get: functio
275
282
  Object.defineProperty(exports, "isObjectWithKeys", { enumerable: true, get: function () { return non_primitives_1.isObjectWithKeys; } });
276
283
  Object.defineProperty(exports, "isPromise", { enumerable: true, get: function () { return non_primitives_1.isPromise; } });
277
284
  Object.defineProperty(exports, "isRegExp", { enumerable: true, get: function () { return non_primitives_1.isRegExp; } });
285
+ Object.defineProperty(exports, "isMethodDescriptor", { enumerable: true, get: function () { return non_primitives_1.isMethodDescriptor; } });
286
+ Object.defineProperty(exports, "isMethod", { enumerable: true, get: function () { return non_primitives_1.isMethodDescriptor; } });
278
287
  Object.defineProperty(exports, "isRegularExpression", { enumerable: true, get: function () { return non_primitives_1.isRegExp; } });
279
288
  Object.defineProperty(exports, "isReturningPromise", { enumerable: true, get: function () { return non_primitives_1.isReturningPromise; } });
280
289
  Object.defineProperty(exports, "isSet", { enumerable: true, get: function () { return non_primitives_1.isSet; } });
@@ -1,8 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.throttleAction = exports.debounceAction = exports.convertArrayToString = exports.isDeepEqual = void 0;
4
- exports.countClassMethods = countClassMethods;
4
+ exports.getInstanceMethodNames = getInstanceMethodNames;
5
+ exports.getStaticMethodNames = getStaticMethodNames;
6
+ exports.countInstanceMethods = countInstanceMethods;
7
+ exports.countStaticMethods = countStaticMethods;
8
+ exports.getClassDetails = getClassDetails;
5
9
  const basics_1 = require("../array/basics");
10
+ const sort_1 = require("../array/sort");
11
+ const non_primitives_1 = require("../guards/non-primitives");
6
12
  /**
7
13
  * * Deeply compare two values (arrays, objects, or primitive values).
8
14
  *
@@ -103,17 +109,66 @@ const throttleAction = (callback, delay = 150) => {
103
109
  };
104
110
  exports.throttleAction = throttleAction;
105
111
  /**
106
- * * Counts the number of instance methods defined on a class prototype.
112
+ * * Retrieves the names of all instance methods defined directly on a class prototype.
107
113
  *
108
- * @param cls The class constructor (not an instance).
109
- * @returns Number of methods directly defined on the class prototype.
114
+ * @param cls - The class constructor (not an instance).
115
+ * @returns A sorted array of instance method names.
110
116
  */
111
- function countClassMethods(cls) {
117
+ function getInstanceMethodNames(cls) {
112
118
  const prototype = cls.prototype;
113
- return Object.getOwnPropertyNames(prototype).filter((name) => {
114
- if (name === 'constructor')
119
+ const methods = Object.getOwnPropertyNames(prototype).filter((method) => {
120
+ if (method === 'constructor') {
115
121
  return false;
116
- const descriptor = Object.getOwnPropertyDescriptor(prototype, name);
117
- return !!descriptor && typeof descriptor.value === 'function';
118
- }).length;
122
+ }
123
+ const descriptor = Object.getOwnPropertyDescriptor(prototype, method);
124
+ return (0, non_primitives_1.isMethodDescriptor)(descriptor);
125
+ });
126
+ return (0, sort_1.sortAnArray)(methods);
127
+ }
128
+ /**
129
+ * * Retrieves the names of all static methods defined directly on a class constructor.
130
+ *
131
+ * @param cls - The class constructor (not an instance).
132
+ * @returns A sorted array of static method names.
133
+ */
134
+ function getStaticMethodNames(cls) {
135
+ const methods = Object.getOwnPropertyNames(cls).filter((method) => {
136
+ return (method !== 'prototype' && method !== 'name' && method !== 'length');
137
+ });
138
+ return (0, sort_1.sortAnArray)(methods);
139
+ }
140
+ /**
141
+ * * Counts the number of instance methods defined directly on a class prototype.
142
+ *
143
+ * @param cls - The class constructor (not an instance).
144
+ * @returns The number of instance methods defined on the class prototype.
145
+ */
146
+ function countInstanceMethods(cls) {
147
+ return getInstanceMethodNames(cls).length;
148
+ }
149
+ /**
150
+ * * Counts the number of static methods defined directly on a class constructor.
151
+ *
152
+ * @param cls - The class constructor (not an instance).
153
+ * @returns The number of static methods defined on the class constructor.
154
+ */
155
+ function countStaticMethods(cls) {
156
+ return getStaticMethodNames(cls).length;
157
+ }
158
+ /**
159
+ * * Gathers detailed information about the instance and static methods of a class.
160
+ *
161
+ * @param cls - The class constructor (not an instance).
162
+ * @returns An object containing names and counts of instance and static methods.
163
+ */
164
+ function getClassDetails(cls) {
165
+ const instanceNames = getInstanceMethodNames(cls);
166
+ const staticNames = getStaticMethodNames(cls);
167
+ return {
168
+ instanceNames,
169
+ staticNames,
170
+ instances: instanceNames.length,
171
+ statics: staticNames.length,
172
+ total: instanceNames.length + staticNames.length,
173
+ };
119
174
  }
@@ -43,6 +43,13 @@ export declare function isEmptyObject<T extends GenericObject>(value: T): boolea
43
43
  * @returns `true` if the value is a function, otherwise `false`.
44
44
  */
45
45
  export declare function isFunction(value: unknown): value is GenericFn;
46
+ /**
47
+ * * Determines whether the provided property descriptor represents a method.
48
+ *
49
+ * @param descriptor - The property descriptor to check.
50
+ * @returns `true` if the descriptor is defined and its value is a function; otherwise, `false`.
51
+ */
52
+ export declare const isMethodDescriptor: (descriptor: PropertyDescriptor | undefined) => boolean;
46
53
  /**
47
54
  * * Type guard to check if a value is a Date object.
48
55
  * @param value - The value to check.
@@ -1 +1 @@
1
- {"version":3,"file":"non-primitives.d.ts","sourceRoot":"","sources":["../../../src/guards/non-primitives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGzD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GACf,KAAK,IAAI,CAAC,CAEZ;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAExE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC9B,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,GACrC,KAAK,IAAI,CAAC,EAAE,CAEd;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,CAExD;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAStD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,aAAa,CAAC,CAAC,CAAC,CAEzE"}
1
+ {"version":3,"file":"non-primitives.d.ts","sourceRoot":"","sources":["../../../src/guards/non-primitives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGzD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GACf,KAAK,IAAI,CAAC,CAEZ;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAExE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE7D;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,eAClB,kBAAkB,GAAG,SAAS,KACxC,OAEF,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC9B,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,GACrC,KAAK,IAAI,CAAC,EAAE,CAEd;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,CAExD;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAStD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,aAAa,CAAC,CAAC,CAAC,CAEzE"}
@@ -1,7 +1,7 @@
1
1
  export { capitalizeString, generateRandomID, trimString, truncateString, } from './string/basics';
2
2
  export { generateAnagrams } from './string/anagram';
3
3
  export { isCamelCase, isEmojiOnly, isKebabCase, isPalindrome, isPascalCase, isSnakeCase, } from './string/guards';
4
- export { convertStringCase, extractEmails, extractURLs, maskString, normalizeString, replaceAllInString, reverseString, slugifyString, formatUnitWithPlural, formatUnitWithPlural as formatWithPlural, formatUnitWithPlural as formatNumberWithPluralUnit, } from './string/convert';
4
+ export { convertStringCase, extractEmails, extractURLs, formatUnitWithPlural as formatNumberWithPluralUnit, formatUnitWithPlural, formatUnitWithPlural as formatWithPlural, maskString, normalizeString, replaceAllInString, reverseString, slugifyString, } from './string/convert';
5
5
  export { extractNumbersFromString, getLevenshteinDistance, getLevenshteinDistance as levenshteinDistance, } from './string/utilities';
6
6
  export { calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, convertToDecimal, getFibonacciSeries as getFibonacci, getFibonacciSeries as getFibonacciNumbers, getFibonacciSeries, getRandomNumber, sumNumbers as getSumOfNumbers, reverseNumber, sumDigits, sumNumbers, sumNumbers as sumOfNumbers, } from './number/basics';
7
7
  export { isEven, isEven as isEvenNumber, isFibonacci, isMultiple, isOdd, isOdd as isOddNumber, isFibonacci as isParOfFibonacci, isFibonacci as isParOfFibonacciSeries, isPerfectSquare, } from './number/guards';
@@ -32,8 +32,8 @@ export { convertObjectValues, pickFields, pickObjectFieldsByCondition as pickFie
32
32
  export { generateQueryParams as createQueryParams, generateQueryParams as formatQueryParams, generateQueryParams, getQueryParams, updateQueryParam, } from './dom/query';
33
33
  export { copyToClipboard, smoothScrollTo, toggleFullScreen } from './dom/utils';
34
34
  export { getFromLocalStorage, getFromSessionStorage, removeFromLocalStorage, removeFromSessionStorage, saveToLocalStorage, saveToSessionStorage, } from './dom/storage';
35
- export { convertArrayToString, countClassMethods, debounceAction, isDeepEqual, throttleAction, } from './utils';
35
+ export { convertArrayToString, countInstanceMethods, countStaticMethods, debounceAction, getInstanceMethodNames, countInstanceMethods as getInstanceMethodsCount, getStaticMethodNames, countStaticMethods as getStaticMethodsCount, getClassDetails, isDeepEqual, throttleAction, } from './utils';
36
36
  export { isBoolean, isFalsy, isInteger, isNonEmptyString, isNull, isNumber, isPositiveInteger, isPrimitive, isString, isSymbol, isTruthy, isUndefined, } from './guards/primitives';
37
- export { isReturningPromise as doesReturnPromise, isArray, isArrayOfType, isValidArray as isArrayWithLength, isBigInt, isDate, isEmptyObject, isEmptyObject as isEmptyObjectGuard, isError, isFunction, isJSON, isJSON as isJSONObject, isMap, isNotEmptyObject, isObject, isEmptyObject as isObjectEmpty, isObjectWithKeys, isPromise, isRegExp, isRegExp as isRegularExpression, isReturningPromise, isSet, isValidArray, isJSON as isValidJSON, isMap as isValidMap, isNotEmptyObject as isValidObject, isSet as isValidSet, } from './guards/non-primitives';
37
+ export { isReturningPromise as doesReturnPromise, isArray, isArrayOfType, isValidArray as isArrayWithLength, isBigInt, isDate, isEmptyObject, isEmptyObject as isEmptyObjectGuard, isError, isFunction, isJSON, isJSON as isJSONObject, isMap, isNotEmptyObject, isObject, isEmptyObject as isObjectEmpty, isObjectWithKeys, isPromise, isRegExp, isMethodDescriptor, isMethodDescriptor as isMethod, isRegExp as isRegularExpression, isReturningPromise, isSet, isValidArray, isJSON as isValidJSON, isMap as isValidMap, isNotEmptyObject as isValidObject, isSet as isValidSet, } from './guards/non-primitives';
38
38
  export { isBase64, isBrowser, isDateString, isEmail, isEmailArray, isEnvironment, isEnvironment as isExpectedNodeENV, isIPAddress, isNode, isEnvironment as isNodeENV, isEnvironment as isNodeEnvironment, isNumericString, isPhoneNumber, isURL, isUUID, isEmail as isValidEmail, isURL as isValidURL, } from './guards/specials';
39
39
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,8 @@ export type NonNullishPrimitiveKey<T> = {
57
57
  }[keyof T];
58
58
  /** Falsy primitive type */
59
59
  export type FalsyPrimitive = false | 0 | '' | null | undefined;
60
+ /** A generic class constructor */
61
+ export type Constructor = new (...args: any[]) => unknown;
60
62
  /** Generic function type */
61
63
  export type GenericFn = (...args: unknown[]) => unknown;
62
64
  /** Generic function type that returns `void` */
@@ -69,5 +71,18 @@ export type ThrottledFn<T extends VoidFunction> = (...args: Parameters<T>) => vo
69
71
  export type AsyncFunction<T> = (...args: unknown[]) => Promise<T>;
70
72
  /** Advanced non-primitive types */
71
73
  export type AdvancedTypes = Array<unknown> | File | FileList | Blob | Date | RegExp | WeakMap<WeakKey, unknown> | WeakSet<WeakKey> | Map<unknown, unknown> | Set<unknown> | GenericFn | VoidFunction | AsyncFunction<unknown> | Promise<unknown> | Error | EvalError | RangeError | ReferenceError | SyntaxError | TypeError | URIError | bigint | symbol;
74
+ /** * Represents detailed information about a class's methods. */
75
+ export interface ClassDetails {
76
+ /** * List of instance method names defined directly on the class prototype. */
77
+ instanceNames: string[];
78
+ /** * List of static method names defined directly on the class constructor. */
79
+ staticNames: string[];
80
+ /** * Number of instance methods. */
81
+ instances: number;
82
+ /** * Number of static methods. */
83
+ statics: number;
84
+ /** * Total number of instance and static methods combined. */
85
+ total: number;
86
+ }
72
87
  export {};
73
88
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { DelayedFn, ThrottledFn, VoidFunction } from '../types';
1
+ import type { ClassDetails, Constructor, DelayedFn, ThrottledFn, VoidFunction } from '../types';
2
2
  /**
3
3
  * * Deeply compare two values (arrays, objects, or primitive values).
4
4
  *
@@ -46,10 +46,38 @@ export declare const debounceAction: <T extends VoidFunction>(callback: T, delay
46
46
  */
47
47
  export declare const throttleAction: <T extends VoidFunction>(callback: T, delay?: number) => ThrottledFn<T>;
48
48
  /**
49
- * * Counts the number of instance methods defined on a class prototype.
49
+ * * Retrieves the names of all instance methods defined directly on a class prototype.
50
50
  *
51
- * @param cls The class constructor (not an instance).
52
- * @returns Number of methods directly defined on the class prototype.
51
+ * @param cls - The class constructor (not an instance).
52
+ * @returns A sorted array of instance method names.
53
53
  */
54
- export declare function countClassMethods(cls: Function): number;
54
+ export declare function getInstanceMethodNames(cls: Constructor): string[];
55
+ /**
56
+ * * Retrieves the names of all static methods defined directly on a class constructor.
57
+ *
58
+ * @param cls - The class constructor (not an instance).
59
+ * @returns A sorted array of static method names.
60
+ */
61
+ export declare function getStaticMethodNames(cls: Constructor): string[];
62
+ /**
63
+ * * Counts the number of instance methods defined directly on a class prototype.
64
+ *
65
+ * @param cls - The class constructor (not an instance).
66
+ * @returns The number of instance methods defined on the class prototype.
67
+ */
68
+ export declare function countInstanceMethods(cls: Constructor): number;
69
+ /**
70
+ * * Counts the number of static methods defined directly on a class constructor.
71
+ *
72
+ * @param cls - The class constructor (not an instance).
73
+ * @returns The number of static methods defined on the class constructor.
74
+ */
75
+ export declare function countStaticMethods(cls: Constructor): number;
76
+ /**
77
+ * * Gathers detailed information about the instance and static methods of a class.
78
+ *
79
+ * @param cls - The class constructor (not an instance).
80
+ * @returns An object containing names and counts of instance and static methods.
81
+ */
82
+ export declare function getClassDetails(cls: Constructor): ClassDetails;
55
83
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAG,OA6B3C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAC9B,CAAC,EAAE,cACC,MAAM,KACf,MAKF,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,YAC1C,CAAC,qBAET,SAAS,CAAC,CAAC,CAYb,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,YAC1C,CAAC,qBAET,WAAW,CAAC,CAAC,CAWf,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CAQvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACX,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,YAAY,EACZ,MAAM,UAAU,CAAC;AAElB;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAG,OA6B3C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAC9B,CAAC,EAAE,cACC,MAAM,KACf,MAKF,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,YAC1C,CAAC,qBAET,SAAS,CAAC,CAAC,CAYb,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,YAC1C,CAAC,qBAET,WAAW,CAAC,CAAC,CAWf,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,EAAE,CAcjE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,EAAE,CAQ/D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CAW9D"}
@@ -56,6 +56,15 @@ export function isEmptyObject(value) {
56
56
  export function isFunction(value) {
57
57
  return typeof value === 'function';
58
58
  }
59
+ /**
60
+ * * Determines whether the provided property descriptor represents a method.
61
+ *
62
+ * @param descriptor - The property descriptor to check.
63
+ * @returns `true` if the descriptor is defined and its value is a function; otherwise, `false`.
64
+ */
65
+ export const isMethodDescriptor = (descriptor) => {
66
+ return !!descriptor && typeof descriptor.value === 'function';
67
+ };
59
68
  /**
60
69
  * * Type guard to check if a value is a Date object.
61
70
  * @param value - The value to check.
package/dist/esm/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  export { capitalizeString, generateRandomID, trimString, truncateString, } from './string/basics';
3
3
  export { generateAnagrams } from './string/anagram';
4
4
  export { isCamelCase, isEmojiOnly, isKebabCase, isPalindrome, isPascalCase, isSnakeCase, } from './string/guards';
5
- export { convertStringCase, extractEmails, extractURLs, maskString, normalizeString, replaceAllInString, reverseString, slugifyString, formatUnitWithPlural, formatUnitWithPlural as formatWithPlural, formatUnitWithPlural as formatNumberWithPluralUnit, } from './string/convert';
5
+ export { convertStringCase, extractEmails, extractURLs, formatUnitWithPlural as formatNumberWithPluralUnit, formatUnitWithPlural, formatUnitWithPlural as formatWithPlural, maskString, normalizeString, replaceAllInString, reverseString, slugifyString, } from './string/convert';
6
6
  export { extractNumbersFromString, getLevenshteinDistance, getLevenshteinDistance as levenshteinDistance, } from './string/utilities';
7
7
  // ! Number Utilities
8
8
  export { calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, convertToDecimal, getFibonacciSeries as getFibonacci, getFibonacciSeries as getFibonacciNumbers, getFibonacciSeries, getRandomNumber, sumNumbers as getSumOfNumbers, reverseNumber, sumDigits, sumNumbers, sumNumbers as sumOfNumbers, } from './number/basics';
@@ -41,10 +41,10 @@ export { generateQueryParams as createQueryParams, generateQueryParams as format
41
41
  export { copyToClipboard, smoothScrollTo, toggleFullScreen } from './dom/utils';
42
42
  export { getFromLocalStorage, getFromSessionStorage, removeFromLocalStorage, removeFromSessionStorage, saveToLocalStorage, saveToSessionStorage, } from './dom/storage';
43
43
  // ! Other Utilities
44
- export { convertArrayToString, countClassMethods, debounceAction, isDeepEqual, throttleAction, } from './utils';
44
+ export { convertArrayToString, countInstanceMethods, countStaticMethods, debounceAction, getInstanceMethodNames, countInstanceMethods as getInstanceMethodsCount, getStaticMethodNames, countStaticMethods as getStaticMethodsCount, getClassDetails, isDeepEqual, throttleAction, } from './utils';
45
45
  // ! Primitive Type Guards
46
46
  export { isBoolean, isFalsy, isInteger, isNonEmptyString, isNull, isNumber, isPositiveInteger, isPrimitive, isString, isSymbol, isTruthy, isUndefined, } from './guards/primitives';
47
47
  // ! Non-Primitive Type Guards
48
- export { isReturningPromise as doesReturnPromise, isArray, isArrayOfType, isValidArray as isArrayWithLength, isBigInt, isDate, isEmptyObject, isEmptyObject as isEmptyObjectGuard, isError, isFunction, isJSON, isJSON as isJSONObject, isMap, isNotEmptyObject, isObject, isEmptyObject as isObjectEmpty, isObjectWithKeys, isPromise, isRegExp, isRegExp as isRegularExpression, isReturningPromise, isSet, isValidArray, isJSON as isValidJSON, isMap as isValidMap, isNotEmptyObject as isValidObject, isSet as isValidSet, } from './guards/non-primitives';
48
+ export { isReturningPromise as doesReturnPromise, isArray, isArrayOfType, isValidArray as isArrayWithLength, isBigInt, isDate, isEmptyObject, isEmptyObject as isEmptyObjectGuard, isError, isFunction, isJSON, isJSON as isJSONObject, isMap, isNotEmptyObject, isObject, isEmptyObject as isObjectEmpty, isObjectWithKeys, isPromise, isRegExp, isMethodDescriptor, isMethodDescriptor as isMethod, isRegExp as isRegularExpression, isReturningPromise, isSet, isValidArray, isJSON as isValidJSON, isMap as isValidMap, isNotEmptyObject as isValidObject, isSet as isValidSet, } from './guards/non-primitives';
49
49
  // ! Special Type Guards
50
50
  export { isBase64, isBrowser, isDateString, isEmail, isEmailArray, isEnvironment, isEnvironment as isExpectedNodeENV, isIPAddress, isNode, isEnvironment as isNodeENV, isEnvironment as isNodeEnvironment, isNumericString, isPhoneNumber, isURL, isUUID, isEmail as isValidEmail, isURL as isValidURL, } from './guards/specials';
@@ -1,4 +1,6 @@
1
1
  import { isInvalidOrEmptyArray } from '../array/basics';
2
+ import { sortAnArray } from '../array/sort';
3
+ import { isMethodDescriptor } from '../guards/non-primitives';
2
4
  /**
3
5
  * * Deeply compare two values (arrays, objects, or primitive values).
4
6
  *
@@ -95,17 +97,66 @@ export const throttleAction = (callback, delay = 150) => {
95
97
  };
96
98
  };
97
99
  /**
98
- * * Counts the number of instance methods defined on a class prototype.
100
+ * * Retrieves the names of all instance methods defined directly on a class prototype.
99
101
  *
100
- * @param cls The class constructor (not an instance).
101
- * @returns Number of methods directly defined on the class prototype.
102
+ * @param cls - The class constructor (not an instance).
103
+ * @returns A sorted array of instance method names.
102
104
  */
103
- export function countClassMethods(cls) {
105
+ export function getInstanceMethodNames(cls) {
104
106
  const prototype = cls.prototype;
105
- return Object.getOwnPropertyNames(prototype).filter((name) => {
106
- if (name === 'constructor')
107
+ const methods = Object.getOwnPropertyNames(prototype).filter((method) => {
108
+ if (method === 'constructor') {
107
109
  return false;
108
- const descriptor = Object.getOwnPropertyDescriptor(prototype, name);
109
- return !!descriptor && typeof descriptor.value === 'function';
110
- }).length;
110
+ }
111
+ const descriptor = Object.getOwnPropertyDescriptor(prototype, method);
112
+ return isMethodDescriptor(descriptor);
113
+ });
114
+ return sortAnArray(methods);
115
+ }
116
+ /**
117
+ * * Retrieves the names of all static methods defined directly on a class constructor.
118
+ *
119
+ * @param cls - The class constructor (not an instance).
120
+ * @returns A sorted array of static method names.
121
+ */
122
+ export function getStaticMethodNames(cls) {
123
+ const methods = Object.getOwnPropertyNames(cls).filter((method) => {
124
+ return (method !== 'prototype' && method !== 'name' && method !== 'length');
125
+ });
126
+ return sortAnArray(methods);
127
+ }
128
+ /**
129
+ * * Counts the number of instance methods defined directly on a class prototype.
130
+ *
131
+ * @param cls - The class constructor (not an instance).
132
+ * @returns The number of instance methods defined on the class prototype.
133
+ */
134
+ export function countInstanceMethods(cls) {
135
+ return getInstanceMethodNames(cls).length;
136
+ }
137
+ /**
138
+ * * Counts the number of static methods defined directly on a class constructor.
139
+ *
140
+ * @param cls - The class constructor (not an instance).
141
+ * @returns The number of static methods defined on the class constructor.
142
+ */
143
+ export function countStaticMethods(cls) {
144
+ return getStaticMethodNames(cls).length;
145
+ }
146
+ /**
147
+ * * Gathers detailed information about the instance and static methods of a class.
148
+ *
149
+ * @param cls - The class constructor (not an instance).
150
+ * @returns An object containing names and counts of instance and static methods.
151
+ */
152
+ export function getClassDetails(cls) {
153
+ const instanceNames = getInstanceMethodNames(cls);
154
+ const staticNames = getStaticMethodNames(cls);
155
+ return {
156
+ instanceNames,
157
+ staticNames,
158
+ instances: instanceNames.length,
159
+ statics: staticNames.length,
160
+ total: instanceNames.length + staticNames.length,
161
+ };
111
162
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nhb-toolbox",
3
- "version": "4.0.12",
3
+ "version": "4.0.21",
4
4
  "description": "A versatile collection of smart, efficient, and reusable utility functions for everyday development needs.",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",