what-are-you 0.1.9 → 0.1.12

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.
@@ -0,0 +1,2 @@
1
+ export declare function createNamedFunction<T extends (...args: any[]) => any>(name: string, func: T): T;
2
+ //# sourceMappingURL=function.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../src/function.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAO3F"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createNamedFunction = createNamedFunction;
4
+ function createNamedFunction(name, func) {
5
+ const f = {
6
+ [name](...args) {
7
+ return func.call(null, ...args);
8
+ }
9
+ }[name];
10
+ return f;
11
+ }
12
+ //# sourceMappingURL=function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../src/function.ts"],"names":[],"mappings":";;AAAA,kDAOC;AAPD,SAAgB,mBAAmB,CAAoC,IAAY,EAAE,IAAO;IACxF,MAAM,CAAC,GAAG;QACN,CAAC,IAAI,CAAC,CAAC,GAAG,IAAmB;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;QACnC,CAAC;KACJ,CAAC,IAAI,CAAM,CAAA;IACZ,OAAO,CAAC,CAAA;AACZ,CAAC"}
@@ -1,3 +1,5 @@
1
+ export type { AnyCtor, InstanceTypeOf } from "./ctor-type.js";
2
+ export { createNamedFunction } from "./function.js";
1
3
  export { getFunctionName, getNiceClassName, getNiceTypeOf, getNiceValueName, getSymbolDescription } from "./get-text.js";
2
4
  export { isArray, isBigInt, isBool, isError, isFunction, isInt, isIntOrInfinity, isNat, isNatOrInfinity, isNotNullish, isNullish, isNumber, isObject, isPair, isPosInt, isPropertyKey, isString, isSymbol, isThenable } from "./is-basic.js";
3
5
  export { isAnyIterable, isArrayLike, isAsyncIterable, isDoddle, isIterable, isNextable } from "./is-special.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EACH,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,EACP,UAAU,EACV,KAAK,EACL,eAAe,EACf,KAAK,EACL,eAAe,EACf,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACb,MAAM,eAAe,CAAA;AACtB,OAAO,EACH,aAAa,EACb,WAAW,EACX,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACb,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EACH,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EACH,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,EACP,UAAU,EACV,KAAK,EACL,eAAe,EACf,KAAK,EACL,eAAe,EACf,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACb,MAAM,eAAe,CAAA;AACtB,OAAO,EACH,aAAa,EACb,WAAW,EACX,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACb,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA"}
package/dist/cjs/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isPrototypeObject = exports.isInstanceOf = exports.getPrototypeChain = exports.isNextable = exports.isIterable = exports.isDoddle = exports.isAsyncIterable = exports.isArrayLike = exports.isAnyIterable = exports.isThenable = exports.isSymbol = exports.isString = exports.isPropertyKey = exports.isPosInt = exports.isPair = exports.isObject = exports.isNumber = exports.isNullish = exports.isNotNullish = exports.isNatOrInfinity = exports.isNat = exports.isIntOrInfinity = exports.isInt = exports.isFunction = exports.isError = exports.isBool = exports.isBigInt = exports.isArray = exports.getSymbolDescription = exports.getNiceValueName = exports.getNiceTypeOf = exports.getNiceClassName = exports.getFunctionName = void 0;
3
+ exports.isPrototypeObject = exports.isInstanceOf = exports.getPrototypeChain = exports.isNextable = exports.isIterable = exports.isDoddle = exports.isAsyncIterable = exports.isArrayLike = exports.isAnyIterable = exports.isThenable = exports.isSymbol = exports.isString = exports.isPropertyKey = exports.isPosInt = exports.isPair = exports.isObject = exports.isNumber = exports.isNullish = exports.isNotNullish = exports.isNatOrInfinity = exports.isNat = exports.isIntOrInfinity = exports.isInt = exports.isFunction = exports.isError = exports.isBool = exports.isBigInt = exports.isArray = exports.getSymbolDescription = exports.getNiceValueName = exports.getNiceTypeOf = exports.getNiceClassName = exports.getFunctionName = exports.createNamedFunction = void 0;
4
+ var function_js_1 = require("./function.js");
5
+ Object.defineProperty(exports, "createNamedFunction", { enumerable: true, get: function () { return function_js_1.createNamedFunction; } });
4
6
  var get_text_js_1 = require("./get-text.js");
5
7
  Object.defineProperty(exports, "getFunctionName", { enumerable: true, get: function () { return get_text_js_1.getFunctionName; } });
6
8
  Object.defineProperty(exports, "getNiceClassName", { enumerable: true, get: function () { return get_text_js_1.getNiceClassName; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,6CAMsB;AALlB,8GAAA,eAAe,OAAA;AACf,+GAAA,gBAAgB,OAAA;AAChB,4GAAA,aAAa,OAAA;AACb,+GAAA,gBAAgB,OAAA;AAChB,mHAAA,oBAAoB,OAAA;AAExB,6CAoBsB;AAnBlB,sGAAA,OAAO,OAAA;AACP,uGAAA,QAAQ,OAAA;AACR,qGAAA,MAAM,OAAA;AACN,sGAAA,OAAO,OAAA;AACP,yGAAA,UAAU,OAAA;AACV,oGAAA,KAAK,OAAA;AACL,8GAAA,eAAe,OAAA;AACf,oGAAA,KAAK,OAAA;AACL,8GAAA,eAAe,OAAA;AACf,2GAAA,YAAY,OAAA;AACZ,wGAAA,SAAS,OAAA;AACT,uGAAA,QAAQ,OAAA;AACR,uGAAA,QAAQ,OAAA;AACR,qGAAA,MAAM,OAAA;AACN,uGAAA,QAAQ,OAAA;AACR,4GAAA,aAAa,OAAA;AACb,uGAAA,QAAQ,OAAA;AACR,uGAAA,QAAQ,OAAA;AACR,yGAAA,UAAU,OAAA;AAEd,iDAOwB;AANpB,8GAAA,aAAa,OAAA;AACb,4GAAA,WAAW,OAAA;AACX,gHAAA,eAAe,OAAA;AACf,yGAAA,QAAQ,OAAA;AACR,2GAAA,UAAU,OAAA;AACV,2GAAA,UAAU,OAAA;AAEd,iDAAoF;AAA3E,kHAAA,iBAAiB,OAAA;AAAE,6GAAA,YAAY,OAAA;AAAE,kHAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AACA,6CAAmD;AAA1C,kHAAA,mBAAmB,OAAA;AAC5B,6CAMsB;AALlB,8GAAA,eAAe,OAAA;AACf,+GAAA,gBAAgB,OAAA;AAChB,4GAAA,aAAa,OAAA;AACb,+GAAA,gBAAgB,OAAA;AAChB,mHAAA,oBAAoB,OAAA;AAExB,6CAoBsB;AAnBlB,sGAAA,OAAO,OAAA;AACP,uGAAA,QAAQ,OAAA;AACR,qGAAA,MAAM,OAAA;AACN,sGAAA,OAAO,OAAA;AACP,yGAAA,UAAU,OAAA;AACV,oGAAA,KAAK,OAAA;AACL,8GAAA,eAAe,OAAA;AACf,oGAAA,KAAK,OAAA;AACL,8GAAA,eAAe,OAAA;AACf,2GAAA,YAAY,OAAA;AACZ,wGAAA,SAAS,OAAA;AACT,uGAAA,QAAQ,OAAA;AACR,uGAAA,QAAQ,OAAA;AACR,qGAAA,MAAM,OAAA;AACN,uGAAA,QAAQ,OAAA;AACR,4GAAA,aAAa,OAAA;AACb,uGAAA,QAAQ,OAAA;AACR,uGAAA,QAAQ,OAAA;AACR,yGAAA,UAAU,OAAA;AAEd,iDAOwB;AANpB,8GAAA,aAAa,OAAA;AACb,4GAAA,WAAW,OAAA;AACX,gHAAA,eAAe,OAAA;AACf,yGAAA,QAAQ,OAAA;AACR,2GAAA,UAAU,OAAA;AACV,2GAAA,UAAU,OAAA;AAEd,iDAAoF;AAA3E,kHAAA,iBAAiB,OAAA;AAAE,6GAAA,YAAY,OAAA;AAAE,kHAAA,iBAAiB,OAAA"}
@@ -2,5 +2,5 @@ import { AnyCtor } from "./ctor-type.js";
2
2
  export declare const isInstanceOf: <Parent extends object>(instance: object, what: AnyCtor<Parent>) => instance is Parent;
3
3
  /** Return true when `obj` looks like the prototype object of some constructor. */
4
4
  export declare function isPrototypeObject(obj: object): boolean;
5
- export declare function getPrototypeChain<T>(obj: T, depth: number): T[];
5
+ export declare function getPrototypeChain<T>(obj: T, depth?: number): T[];
6
6
  //# sourceMappingURL=prototypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prototypes.d.ts","sourceRoot":"","sources":["../../src/prototypes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAWxC,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,MAAM,EAC9C,UAAU,MAAM,EAChB,MAAM,OAAO,CAAC,MAAM,CAAC,KACtB,QAAQ,IAAI,MAEd,CAAA;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAYtD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAa/D"}
1
+ {"version":3,"file":"prototypes.d.ts","sourceRoot":"","sources":["../../src/prototypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAYxC,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,MAAM,EAC9C,UAAU,MAAM,EAChB,MAAM,OAAO,CAAC,MAAM,CAAC,KACtB,QAAQ,IAAI,MAEd,CAAA;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAYtD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,GAAE,MAAc,GAAG,CAAC,EAAE,CAcvE"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isInstanceOf = void 0;
4
4
  exports.isPrototypeObject = isPrototypeObject;
5
5
  exports.getPrototypeChain = getPrototypeChain;
6
- const lodash_1 = require("lodash");
6
+ const is_basic_js_1 = require("./is-basic.js");
7
7
  const sCtor = "constructor";
8
8
  const sPrototype = "prototype";
9
9
  function getCtor(obj) {
@@ -18,7 +18,7 @@ const isInstanceOf = (instance, what) => {
18
18
  exports.isInstanceOf = isInstanceOf;
19
19
  /** Return true when `obj` looks like the prototype object of some constructor. */
20
20
  function isPrototypeObject(obj) {
21
- if (!(0, lodash_1.isObject)(obj)) {
21
+ if (!(0, is_basic_js_1.isObject)(obj)) {
22
22
  return false;
23
23
  }
24
24
  if (!Object.hasOwn(obj, sCtor)) {
@@ -26,15 +26,16 @@ function isPrototypeObject(obj) {
26
26
  }
27
27
  const ctor = getCtor(obj);
28
28
  const ctorPtoto = getCtorProto(ctor);
29
- return (0, lodash_1.isFunction)(ctor) && ctorPtoto === obj && (0, exports.isInstanceOf)(obj, ctor);
29
+ return (0, is_basic_js_1.isFunction)(ctor) && ctorPtoto === obj && (0, exports.isInstanceOf)(obj, ctor);
30
30
  }
31
- function getPrototypeChain(obj, depth) {
31
+ function getPrototypeChain(obj, depth = 10000) {
32
32
  const chain = [];
33
33
  let current = obj;
34
34
  while (current) {
35
35
  if (depth <= 0) {
36
36
  break;
37
37
  }
38
+ depth--;
38
39
  chain.push(current);
39
40
  current = Object.getPrototypeOf(current);
40
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prototypes.js","sourceRoot":"","sources":["../../src/prototypes.ts"],"names":[],"mappings":";;;AAoBA,8CAYC;AAED,8CAaC;AA/CD,mCAA6C;AAG7C,MAAM,KAAK,GAAG,aAAa,CAAA;AAC3B,MAAM,UAAU,GAAG,WAAW,CAAA;AAE9B,SAAS,OAAO,CAAmB,GAAM;IACrC,OAAO,GAAG,CAAC,KAAK,CAAe,CAAA;AACnC,CAAC;AACD,SAAS,YAAY,CAAqB,GAAM;IAC5C,OAAO,GAAG,CAAC,UAAU,CAAM,CAAA;AAC/B,CAAC;AACM,MAAM,YAAY,GAAG,CACxB,QAAgB,EAChB,IAAqB,EACH,EAAE;IACpB,OAAO,QAAQ,YAAY,IAAI,CAAA;AACnC,CAAC,CAAA;AALY,QAAA,YAAY,gBAKxB;AAED,kFAAkF;AAClF,SAAgB,iBAAiB,CAAC,GAAW;IACzC,IAAI,CAAC,IAAA,iBAAQ,EAAC,GAAG,CAAC,EAAE,CAAC;QACjB,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACzB,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,IAAA,mBAAU,EAAC,IAAI,CAAC,IAAI,SAAS,KAAK,GAAG,IAAI,IAAA,oBAAY,EAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AAC3E,CAAC;AAED,SAAgB,iBAAiB,CAAI,GAAM,EAAE,KAAa;IACtD,MAAM,KAAK,GAAQ,EAAE,CAAA;IACrB,IAAI,OAAO,GAAa,GAAG,CAAA;IAE3B,OAAO,OAAO,EAAE,CAAC;QACb,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACb,MAAK;QACT,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACnB,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"prototypes.js","sourceRoot":"","sources":["../../src/prototypes.ts"],"names":[],"mappings":";;;AAoBA,8CAYC;AAED,8CAcC;AA/CD,+CAAoD;AAEpD,MAAM,KAAK,GAAG,aAAa,CAAA;AAC3B,MAAM,UAAU,GAAG,WAAW,CAAA;AAE9B,SAAS,OAAO,CAAmB,GAAM;IACrC,OAAO,GAAG,CAAC,KAAK,CAAe,CAAA;AACnC,CAAC;AACD,SAAS,YAAY,CAAqB,GAAM;IAC5C,OAAO,GAAG,CAAC,UAAU,CAAM,CAAA;AAC/B,CAAC;AACM,MAAM,YAAY,GAAG,CACxB,QAAgB,EAChB,IAAqB,EACH,EAAE;IACpB,OAAO,QAAQ,YAAY,IAAI,CAAA;AACnC,CAAC,CAAA;AALY,QAAA,YAAY,gBAKxB;AAED,kFAAkF;AAClF,SAAgB,iBAAiB,CAAC,GAAW;IACzC,IAAI,CAAC,IAAA,sBAAQ,EAAC,GAAG,CAAC,EAAE,CAAC;QACjB,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACzB,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,IAAA,wBAAU,EAAC,IAAI,CAAC,IAAI,SAAS,KAAK,GAAG,IAAI,IAAA,oBAAY,EAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AAC3E,CAAC;AAED,SAAgB,iBAAiB,CAAI,GAAM,EAAE,QAAgB,KAAK;IAC9D,MAAM,KAAK,GAAQ,EAAE,CAAA;IACrB,IAAI,OAAO,GAAa,GAAG,CAAA;IAE3B,OAAO,OAAO,EAAE,CAAC;QACb,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACb,MAAK;QACT,CAAC;QACD,KAAK,EAAE,CAAA;QACP,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACnB,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function createNamedFunction<T extends (...args: any[]) => any>(name: string, func: T): T;
2
+ //# sourceMappingURL=function.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../src/function.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAO3F"}
@@ -0,0 +1,9 @@
1
+ export function createNamedFunction(name, func) {
2
+ const f = {
3
+ [name](...args) {
4
+ return func.call(null, ...args);
5
+ }
6
+ }[name];
7
+ return f;
8
+ }
9
+ //# sourceMappingURL=function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../src/function.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAAoC,IAAY,EAAE,IAAO;IACxF,MAAM,CAAC,GAAG;QACN,CAAC,IAAI,CAAC,CAAC,GAAG,IAAmB;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;QACnC,CAAC;KACJ,CAAC,IAAI,CAAM,CAAA;IACZ,OAAO,CAAC,CAAA;AACZ,CAAC"}
@@ -1,3 +1,5 @@
1
+ export type { AnyCtor, InstanceTypeOf } from "./ctor-type.js";
2
+ export { createNamedFunction } from "./function.js";
1
3
  export { getFunctionName, getNiceClassName, getNiceTypeOf, getNiceValueName, getSymbolDescription } from "./get-text.js";
2
4
  export { isArray, isBigInt, isBool, isError, isFunction, isInt, isIntOrInfinity, isNat, isNatOrInfinity, isNotNullish, isNullish, isNumber, isObject, isPair, isPosInt, isPropertyKey, isString, isSymbol, isThenable } from "./is-basic.js";
3
5
  export { isAnyIterable, isArrayLike, isAsyncIterable, isDoddle, isIterable, isNextable } from "./is-special.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EACH,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,EACP,UAAU,EACV,KAAK,EACL,eAAe,EACf,KAAK,EACL,eAAe,EACf,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACb,MAAM,eAAe,CAAA;AACtB,OAAO,EACH,aAAa,EACb,WAAW,EACX,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACb,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EACH,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EACH,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,EACP,UAAU,EACV,KAAK,EACL,eAAe,EACf,KAAK,EACL,eAAe,EACf,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACb,MAAM,eAAe,CAAA;AACtB,OAAO,EACH,aAAa,EACb,WAAW,EACX,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACb,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA"}
package/dist/esm/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export { createNamedFunction } from "./function.js";
1
2
  export { getFunctionName, getNiceClassName, getNiceTypeOf, getNiceValueName, getSymbolDescription } from "./get-text.js";
2
3
  export { isArray, isBigInt, isBool, isError, isFunction, isInt, isIntOrInfinity, isNat, isNatOrInfinity, isNotNullish, isNullish, isNumber, isObject, isPair, isPosInt, isPropertyKey, isString, isSymbol, isThenable } from "./is-basic.js";
3
4
  export { isAnyIterable, isArrayLike, isAsyncIterable, isDoddle, isIterable, isNextable } from "./is-special.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EACH,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,EACP,UAAU,EACV,KAAK,EACL,eAAe,EACf,KAAK,EACL,eAAe,EACf,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACb,MAAM,eAAe,CAAA;AACtB,OAAO,EACH,aAAa,EACb,WAAW,EACX,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACb,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EACH,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EACH,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,EACP,UAAU,EACV,KAAK,EACL,eAAe,EACf,KAAK,EACL,eAAe,EACf,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACb,MAAM,eAAe,CAAA;AACtB,OAAO,EACH,aAAa,EACb,WAAW,EACX,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACb,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA"}
@@ -2,5 +2,5 @@ import { AnyCtor } from "./ctor-type.js";
2
2
  export declare const isInstanceOf: <Parent extends object>(instance: object, what: AnyCtor<Parent>) => instance is Parent;
3
3
  /** Return true when `obj` looks like the prototype object of some constructor. */
4
4
  export declare function isPrototypeObject(obj: object): boolean;
5
- export declare function getPrototypeChain<T>(obj: T, depth: number): T[];
5
+ export declare function getPrototypeChain<T>(obj: T, depth?: number): T[];
6
6
  //# sourceMappingURL=prototypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prototypes.d.ts","sourceRoot":"","sources":["../../src/prototypes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAWxC,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,MAAM,EAC9C,UAAU,MAAM,EAChB,MAAM,OAAO,CAAC,MAAM,CAAC,KACtB,QAAQ,IAAI,MAEd,CAAA;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAYtD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAa/D"}
1
+ {"version":3,"file":"prototypes.d.ts","sourceRoot":"","sources":["../../src/prototypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAYxC,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,MAAM,EAC9C,UAAU,MAAM,EAChB,MAAM,OAAO,CAAC,MAAM,CAAC,KACtB,QAAQ,IAAI,MAEd,CAAA;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAYtD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,GAAE,MAAc,GAAG,CAAC,EAAE,CAcvE"}
@@ -1,4 +1,4 @@
1
- import { isFunction, isObject } from "lodash";
1
+ import { isFunction, isObject } from "./is-basic.js";
2
2
  const sCtor = "constructor";
3
3
  const sPrototype = "prototype";
4
4
  function getCtor(obj) {
@@ -22,13 +22,14 @@ export function isPrototypeObject(obj) {
22
22
  const ctorPtoto = getCtorProto(ctor);
23
23
  return isFunction(ctor) && ctorPtoto === obj && isInstanceOf(obj, ctor);
24
24
  }
25
- export function getPrototypeChain(obj, depth) {
25
+ export function getPrototypeChain(obj, depth = 10000) {
26
26
  const chain = [];
27
27
  let current = obj;
28
28
  while (current) {
29
29
  if (depth <= 0) {
30
30
  break;
31
31
  }
32
+ depth--;
32
33
  chain.push(current);
33
34
  current = Object.getPrototypeOf(current);
34
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prototypes.js","sourceRoot":"","sources":["../../src/prototypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAG7C,MAAM,KAAK,GAAG,aAAa,CAAA;AAC3B,MAAM,UAAU,GAAG,WAAW,CAAA;AAE9B,SAAS,OAAO,CAAmB,GAAM;IACrC,OAAO,GAAG,CAAC,KAAK,CAAe,CAAA;AACnC,CAAC;AACD,SAAS,YAAY,CAAqB,GAAM;IAC5C,OAAO,GAAG,CAAC,UAAU,CAAM,CAAA;AAC/B,CAAC;AACD,MAAM,CAAC,MAAM,YAAY,GAAG,CACxB,QAAgB,EAChB,IAAqB,EACH,EAAE;IACpB,OAAO,QAAQ,YAAY,IAAI,CAAA;AACnC,CAAC,CAAA;AAED,kFAAkF;AAClF,MAAM,UAAU,iBAAiB,CAAC,GAAW;IACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjB,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACzB,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,KAAK,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AAC3E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAI,GAAM,EAAE,KAAa;IACtD,MAAM,KAAK,GAAQ,EAAE,CAAA;IACrB,IAAI,OAAO,GAAa,GAAG,CAAA;IAE3B,OAAO,OAAO,EAAE,CAAC;QACb,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACb,MAAK;QACT,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACnB,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"prototypes.js","sourceRoot":"","sources":["../../src/prototypes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEpD,MAAM,KAAK,GAAG,aAAa,CAAA;AAC3B,MAAM,UAAU,GAAG,WAAW,CAAA;AAE9B,SAAS,OAAO,CAAmB,GAAM;IACrC,OAAO,GAAG,CAAC,KAAK,CAAe,CAAA;AACnC,CAAC;AACD,SAAS,YAAY,CAAqB,GAAM;IAC5C,OAAO,GAAG,CAAC,UAAU,CAAM,CAAA;AAC/B,CAAC;AACD,MAAM,CAAC,MAAM,YAAY,GAAG,CACxB,QAAgB,EAChB,IAAqB,EACH,EAAE;IACpB,OAAO,QAAQ,YAAY,IAAI,CAAA;AACnC,CAAC,CAAA;AAED,kFAAkF;AAClF,MAAM,UAAU,iBAAiB,CAAC,GAAW;IACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjB,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACzB,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,KAAK,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AAC3E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAI,GAAM,EAAE,QAAgB,KAAK;IAC9D,MAAM,KAAK,GAAQ,EAAE,CAAA;IACrB,IAAI,OAAO,GAAa,GAAG,CAAA;IAE3B,OAAO,OAAO,EAAE,CAAC;QACb,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACb,MAAK;QACT,CAAC;QACD,KAAK,EAAE,CAAA;QACP,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACnB,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "what-are-you",
3
- "version": "0.1.9",
3
+ "version": "0.1.12",
4
4
  "description": "Assortment of type-related checks and information.",
5
5
  "keywords": [
6
6
  "type",
@@ -27,10 +27,6 @@
27
27
  "import": {
28
28
  "types": "./dist/esm/index.d.ts",
29
29
  "default": "./dist/esm/index.js"
30
- },
31
- "node": {
32
- "types": "./dist/cjs/index.d.ts",
33
- "default": "./dist/cjs/index.js"
34
30
  }
35
31
  }
36
32
  },
@@ -63,7 +59,6 @@
63
59
  "devDependencies": {
64
60
  "@gregros/eslint-config": "^0.7.1",
65
61
  "@types/jest": "^29.5.14",
66
- "@types/lodash": "^4.17.16",
67
62
  "@types/node": "^22.15.2",
68
63
  "@types/shelljs": "^0",
69
64
  "@typescript-eslint/eslint-plugin": "^8.31.0",
@@ -72,7 +67,6 @@
72
67
  "husky": "^9.1.7",
73
68
  "jest": "^29.7.0",
74
69
  "lint-staged": "^15.5.1",
75
- "lodash": "^4.17.21",
76
70
  "npm-run-all": "^4.1.5",
77
71
  "prettier": "^3.5.3",
78
72
  "prettier-plugin-jsdoc": "^1.3.2",
@@ -0,0 +1,8 @@
1
+ export function createNamedFunction<T extends (...args: any[]) => any>(name: string, func: T) {
2
+ const f = {
3
+ [name](...args: Parameters<T>) {
4
+ return func.call(null, ...args)
5
+ }
6
+ }[name] as T
7
+ return f
8
+ }
package/src/index.ts CHANGED
@@ -1,3 +1,5 @@
1
+ export type { AnyCtor, InstanceTypeOf } from "./ctor-type.js"
2
+ export { createNamedFunction } from "./function.js"
1
3
  export {
2
4
  getFunctionName,
3
5
  getNiceClassName,
package/src/prototypes.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { isFunction, isObject } from "lodash"
2
1
  import { AnyCtor } from "./ctor-type.js"
2
+ import { isFunction, isObject } from "./is-basic.js"
3
3
 
4
4
  const sCtor = "constructor"
5
5
  const sPrototype = "prototype"
@@ -32,7 +32,7 @@ export function isPrototypeObject(obj: object): boolean {
32
32
  return isFunction(ctor) && ctorPtoto === obj && isInstanceOf(obj, ctor)
33
33
  }
34
34
 
35
- export function getPrototypeChain<T>(obj: T, depth: number): T[] {
35
+ export function getPrototypeChain<T>(obj: T, depth: number = 10000): T[] {
36
36
  const chain: T[] = []
37
37
  let current: T | null = obj
38
38
 
@@ -40,6 +40,7 @@ export function getPrototypeChain<T>(obj: T, depth: number): T[] {
40
40
  if (depth <= 0) {
41
41
  break
42
42
  }
43
+ depth--
43
44
  chain.push(current)
44
45
  current = Object.getPrototypeOf(current)
45
46
  }