vivth 1.3.7 → 1.3.8

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.
package/README.md CHANGED
@@ -83,6 +83,7 @@ npm i vivth
83
83
  - [Dev](#dev)
84
84
  - [EventNameSpace](#eventnamespace)
85
85
  - [Trace](#trace)
86
+ - [TracePath](#tracepath)
86
87
  - [JSautoDOC](#jsautodoc)
87
88
  - [CreateImmutable](#createimmutable)
88
89
  - [EventCheck](#eventcheck)
@@ -2926,7 +2927,7 @@ Dev.vivthDevCodeBlock(async ({ test }) => {
2926
2927
 
2927
2928
  #### reference:`Trace`
2928
2929
 
2929
- - returns position of stack trace as string, formatted as `fileName:lineNumber:columnNumber`;
2930
+ - returns position of stack trace as string, formatted like `fileName:lineNumber:columnNumber`;
2930
2931
  - extremely usefull for:
2931
2932
  > - jumping positions to code line;
2932
2933
  > - creating dynamic string id;
@@ -2948,6 +2949,40 @@ Console.log(Trace(3)); // "D://test.mjs:3:13"
2948
2949
 
2949
2950
  \*) <sub>[go to list of exported API and typehelpers](#list-of-exported-api-and-typehelpers)</sub>
2950
2951
 
2952
+ <h2 id="tracepath">TracePath</h2>
2953
+
2954
+ #### reference:`TracePath`
2955
+
2956
+ - get stack trace path that matched with truthy filterCallback;
2957
+ - returns position of stack trace as string, formatted like `fileName:lineNumber:columnNumber`;
2958
+ - extremely usefull for:
2959
+ > - jumping positions to code line;
2960
+ > - creating dynamic string id;
2961
+
2962
+ ```js
2963
+ /**
2964
+ * @param {(stackString:string)=>boolean} filterCallback
2965
+ * - stackString path are normalized to use forward slash;
2966
+ * - if return true, `TracePath` will return the current stackString;
2967
+ * - if return false, continue to check the stacks;
2968
+ * @returns {string|undefined}
2969
+ */
2970
+ ```
2971
+
2972
+ - <i>example</i>:
2973
+
2974
+ ```js
2975
+ import { TracePath, Console } from "vivth";
2976
+
2977
+ Console.log(
2978
+ TracePath((stackString) => {
2979
+ return stackString.includes("test.mjs");
2980
+ }),
2981
+ ); // "D://test.mjs:4:2"
2982
+ ```
2983
+
2984
+ \*) <sub>[go to list of exported API and typehelpers](#list-of-exported-api-and-typehelpers)</sub>
2985
+
2951
2986
  <h2 id="jsautodoc">JSautoDOC</h2>
2952
2987
 
2953
2988
  #### reference:`JSautoDOC`
package/bun.lock CHANGED
@@ -6,16 +6,16 @@
6
6
  "dependencies": {
7
7
  "@types/mime-types": "^3.0.1",
8
8
  "chokidar": "^4.0.3",
9
- "esbuild": "^0.25.9",
9
+ "esbuild": "^0.25.12",
10
10
  "i": "^0.3.7",
11
11
  "mime-types": "^3.0.1",
12
12
  "pkg": "^5.8.1",
13
+ "prettier": "^3.6.2",
13
14
  },
14
15
  "devDependencies": {
15
16
  "@types/bun": "latest",
16
17
  "concurrently": "^9.2.1",
17
- "prettier": "^3.6.2",
18
- "typescript": "^5.9.2",
18
+ "typescript": "^5.9.3",
19
19
  "vivth": "link:vivth",
20
20
  },
21
21
  },
@@ -31,57 +31,57 @@
31
31
 
32
32
  "@babel/types": ["@babel/types@7.19.0", "", { "dependencies": { "@babel/helper-string-parser": "^7.18.10", "@babel/helper-validator-identifier": "^7.18.6", "to-fast-properties": "^2.0.0" } }, "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA=="],
33
33
 
34
- "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.9", "", { "os": "aix", "cpu": "ppc64" }, "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA=="],
34
+ "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="],
35
35
 
36
- "@esbuild/android-arm": ["@esbuild/android-arm@0.25.9", "", { "os": "android", "cpu": "arm" }, "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ=="],
36
+ "@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="],
37
37
 
38
- "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.9", "", { "os": "android", "cpu": "arm64" }, "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg=="],
38
+ "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="],
39
39
 
40
- "@esbuild/android-x64": ["@esbuild/android-x64@0.25.9", "", { "os": "android", "cpu": "x64" }, "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw=="],
40
+ "@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="],
41
41
 
42
- "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.9", "", { "os": "darwin", "cpu": "arm64" }, "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg=="],
42
+ "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="],
43
43
 
44
- "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.9", "", { "os": "darwin", "cpu": "x64" }, "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ=="],
44
+ "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="],
45
45
 
46
- "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.9", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q=="],
46
+ "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="],
47
47
 
48
- "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.9", "", { "os": "freebsd", "cpu": "x64" }, "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg=="],
48
+ "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="],
49
49
 
50
- "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.9", "", { "os": "linux", "cpu": "arm" }, "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw=="],
50
+ "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="],
51
51
 
52
- "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.9", "", { "os": "linux", "cpu": "arm64" }, "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw=="],
52
+ "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="],
53
53
 
54
- "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.9", "", { "os": "linux", "cpu": "ia32" }, "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A=="],
54
+ "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="],
55
55
 
56
- "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.9", "", { "os": "linux", "cpu": "none" }, "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ=="],
56
+ "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="],
57
57
 
58
- "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.9", "", { "os": "linux", "cpu": "none" }, "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA=="],
58
+ "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="],
59
59
 
60
- "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.9", "", { "os": "linux", "cpu": "ppc64" }, "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w=="],
60
+ "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="],
61
61
 
62
- "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.9", "", { "os": "linux", "cpu": "none" }, "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg=="],
62
+ "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="],
63
63
 
64
- "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.9", "", { "os": "linux", "cpu": "s390x" }, "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA=="],
64
+ "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="],
65
65
 
66
- "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.9", "", { "os": "linux", "cpu": "x64" }, "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg=="],
66
+ "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="],
67
67
 
68
- "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.9", "", { "os": "none", "cpu": "arm64" }, "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q=="],
68
+ "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="],
69
69
 
70
- "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.9", "", { "os": "none", "cpu": "x64" }, "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g=="],
70
+ "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="],
71
71
 
72
- "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.9", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ=="],
72
+ "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="],
73
73
 
74
- "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.9", "", { "os": "openbsd", "cpu": "x64" }, "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA=="],
74
+ "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="],
75
75
 
76
- "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.9", "", { "os": "none", "cpu": "arm64" }, "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg=="],
76
+ "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="],
77
77
 
78
- "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.9", "", { "os": "sunos", "cpu": "x64" }, "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw=="],
78
+ "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="],
79
79
 
80
- "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.9", "", { "os": "win32", "cpu": "arm64" }, "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ=="],
80
+ "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="],
81
81
 
82
- "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.9", "", { "os": "win32", "cpu": "ia32" }, "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww=="],
82
+ "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="],
83
83
 
84
- "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.9", "", { "os": "win32", "cpu": "x64" }, "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ=="],
84
+ "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="],
85
85
 
86
86
  "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="],
87
87
 
@@ -97,7 +97,7 @@
97
97
 
98
98
  "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="],
99
99
 
100
- "@types/bun": ["@types/bun@1.2.21", "", { "dependencies": { "bun-types": "1.2.21" } }, "sha512-NiDnvEqmbfQ6dmZ3EeUO577s4P5bf4HCTXtI6trMc6f6RzirY5IrF3aIookuSpyslFzrnvv2lmEWv5HyC1X79A=="],
100
+ "@types/bun": ["@types/bun@1.3.2", "", { "dependencies": { "bun-types": "1.3.2" } }, "sha512-t15P7k5UIgHKkxwnMNkJbWlh/617rkDGEdSsDbu+qNHTaz9SKf7aC8fiIlUdD5RPpH6GEkP0cK7WlvmrEBRtWg=="],
101
101
 
102
102
  "@types/mime-types": ["@types/mime-types@3.0.1", "", {}, "sha512-xRMsfuQbnRq1Ef+C+RKaENOxXX87Ygl38W1vDfPHRku02TgQr+Qd8iivLtAMcR0KF5/29xlnFihkTlbqFrGOVQ=="],
103
103
 
@@ -123,7 +123,7 @@
123
123
 
124
124
  "buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="],
125
125
 
126
- "bun-types": ["bun-types@1.2.21", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-sa2Tj77Ijc/NTLS0/Odjq/qngmEPZfbfnOERi0KRUYhT9R8M4VBioWVmMWE5GrYbKMc+5lVybXygLdibHaqVqw=="],
126
+ "bun-types": ["bun-types@1.3.2", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-i/Gln4tbzKNuxP70OWhJRZz1MRfvqExowP7U6JKoI8cntFrtxg7RJK3jvz7wQW54UuvNC8tbKHHri5fy74FVqg=="],
127
127
 
128
128
  "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="],
129
129
 
@@ -157,7 +157,7 @@
157
157
 
158
158
  "end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="],
159
159
 
160
- "esbuild": ["esbuild@0.25.9", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.9", "@esbuild/android-arm": "0.25.9", "@esbuild/android-arm64": "0.25.9", "@esbuild/android-x64": "0.25.9", "@esbuild/darwin-arm64": "0.25.9", "@esbuild/darwin-x64": "0.25.9", "@esbuild/freebsd-arm64": "0.25.9", "@esbuild/freebsd-x64": "0.25.9", "@esbuild/linux-arm": "0.25.9", "@esbuild/linux-arm64": "0.25.9", "@esbuild/linux-ia32": "0.25.9", "@esbuild/linux-loong64": "0.25.9", "@esbuild/linux-mips64el": "0.25.9", "@esbuild/linux-ppc64": "0.25.9", "@esbuild/linux-riscv64": "0.25.9", "@esbuild/linux-s390x": "0.25.9", "@esbuild/linux-x64": "0.25.9", "@esbuild/netbsd-arm64": "0.25.9", "@esbuild/netbsd-x64": "0.25.9", "@esbuild/openbsd-arm64": "0.25.9", "@esbuild/openbsd-x64": "0.25.9", "@esbuild/openharmony-arm64": "0.25.9", "@esbuild/sunos-x64": "0.25.9", "@esbuild/win32-arm64": "0.25.9", "@esbuild/win32-ia32": "0.25.9", "@esbuild/win32-x64": "0.25.9" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g=="],
160
+ "esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="],
161
161
 
162
162
  "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
163
163
 
@@ -331,7 +331,7 @@
331
331
 
332
332
  "tunnel-agent": ["tunnel-agent@0.6.0", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w=="],
333
333
 
334
- "typescript": ["typescript@5.9.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A=="],
334
+ "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
335
335
 
336
336
  "undici-types": ["undici-types@6.20.0", "", {}, "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="],
337
337
 
package/index.mjs CHANGED
@@ -36,6 +36,7 @@ export { CreateStringID } from './src/common/CreateStringID.mjs';
36
36
  export { Dev } from './src/common/Dev.mjs';
37
37
  export { EventNameSpace } from './src/common/EventNameSpace.mjs';
38
38
  export { Trace } from './src/common/Trace.mjs';
39
+ export { TracePath } from './src/common/TracePath.mjs';
39
40
  export { JSautoDOC } from './src/doc/JSautoDOC.mjs';
40
41
  export { CreateImmutable } from './src/function/CreateImmutable.mjs';
41
42
  export { EventCheck } from './src/function/EventCheck.mjs';
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "vivth",
3
- "version": "1.3.7",
3
+ "version": "1.3.8",
4
4
  "description": "library primitives",
5
5
  "main": "index.mjs",
6
6
  "types": "./types/index.d.mts",
7
7
  "devDependencies": {
8
8
  "@types/bun": "latest",
9
9
  "concurrently": "^9.2.1",
10
- "typescript": "^5.9.2",
10
+ "typescript": "^5.9.3",
11
11
  "vivth": "link:vivth"
12
12
  },
13
13
  "dependencies": {
14
14
  "prettier": "^3.6.2",
15
15
  "@types/mime-types": "^3.0.1",
16
16
  "chokidar": "^4.0.3",
17
- "esbuild": "^0.25.9",
17
+ "esbuild": "^0.25.12",
18
18
  "i": "^0.3.7",
19
19
  "mime-types": "^3.0.1",
20
20
  "pkg": "^5.8.1"
@@ -4,7 +4,7 @@ import { Paths } from '../class/Paths.mjs';
4
4
 
5
5
  /**
6
6
  * @description
7
- * - returns position of stack trace as string, formatted as `fileName:lineNumber:columnNumber`;
7
+ * - returns position of stack trace as string, formatted like `fileName:lineNumber:columnNumber`;
8
8
  * - extremely usefull for:
9
9
  * >- jumping positions to code line;
10
10
  * >- creating dynamic string id;
@@ -0,0 +1,44 @@
1
+ // @ts-check
2
+
3
+ import { Paths } from '../class/Paths.mjs';
4
+
5
+ /**
6
+ * @description
7
+ * - get stack trace path that matched with truthy filterCallback;
8
+ * - returns position of stack trace as string, formatted like `fileName:lineNumber:columnNumber`;
9
+ * - extremely usefull for:
10
+ * >- jumping positions to code line;
11
+ * >- creating dynamic string id;
12
+ * @param {(stackString:string)=>boolean} filterCallback
13
+ * - stackString path are normalized to use forward slash;
14
+ * - if return true, `TracePath` will return the current stackString;
15
+ * - if return false, continue to check the stacks;
16
+ * @returns {string|undefined}
17
+ * @example
18
+ * import { TracePath, Console } from 'vivth';
19
+ *
20
+ * Console.log(
21
+ * TracePath((stackString) => {
22
+ * return stackString.includes('test.mjs');
23
+ * })
24
+ * ); // "D://test.mjs:4:2"
25
+ */
26
+ export function TracePath(filterCallback) {
27
+ const err = new Error();
28
+ const stacks = err.stack?.split('\n');
29
+ if (!stacks || !stacks.length) {
30
+ return;
31
+ }
32
+ for (let i = 0; i < stacks.length; i++) {
33
+ const stack = stacks[i];
34
+ if (!stack) {
35
+ return;
36
+ }
37
+ const check = stack.match(/([A-Z]:[^ ]*[0-9]|\/[^ )]+:\d+:\d+)/m);
38
+ const match = Paths.normalize(check?.[1] ?? stack.trim());
39
+ if (!filterCallback(match)) {
40
+ continue;
41
+ }
42
+ return match;
43
+ }
44
+ }
package/types/index.d.mts CHANGED
@@ -28,6 +28,7 @@ export { CreateStringID } from "./src/common/CreateStringID.mjs";
28
28
  export { Dev } from "./src/common/Dev.mjs";
29
29
  export { EventNameSpace } from "./src/common/EventNameSpace.mjs";
30
30
  export { Trace } from "./src/common/Trace.mjs";
31
+ export { TracePath } from "./src/common/TracePath.mjs";
31
32
  export { JSautoDOC } from "./src/doc/JSautoDOC.mjs";
32
33
  export { CreateImmutable } from "./src/function/CreateImmutable.mjs";
33
34
  export { EventCheck } from "./src/function/EventCheck.mjs";
@@ -29,7 +29,7 @@ export class FSInlineAnalyzer {
29
29
  * @param {RegExp} ruleForFileFullPath
30
30
  * @returns {Promise<_dirReturn>}
31
31
  */
32
- static #dir: (dirName: string, ruleForFileFullPath: RegExp) => Promise<{
32
+ static "__#private@#dir": (dirName: string, ruleForFileFullPath: RegExp) => Promise<{
33
33
  path: string;
34
34
  buffer: Buffer<ArrayBuffer>;
35
35
  }[]>;
@@ -3,7 +3,7 @@
3
3
  * - class with static methods to print to standard console with bare minimum ANSI styles;
4
4
  */
5
5
  export class Console {
6
- static #ansi: {
6
+ static "__#private@#ansi": {
7
7
  reset: string;
8
8
  bold: string;
9
9
  colors: {
@@ -19,7 +19,7 @@ export class Console {
19
19
  * @param {any} data
20
20
  * @returns {void}
21
21
  */
22
- static #call: (prefix: string, mode: "log" | "info" | "error" | "warn", data: any) => void;
22
+ static "__#private@#call": (prefix: string, mode: "log" | "info" | "error" | "warn", data: any) => void;
23
23
  /**
24
24
  * @description
25
25
  * @param {any} data
@@ -18,7 +18,7 @@ export class EventSignal<ISLIST extends boolean> {
18
18
  /**
19
19
  * @type {QChannel<string>}
20
20
  */
21
- static #qChannelEventSignal: QChannel<string>;
21
+ static "__#private@#qChannelEventSignal": QChannel<string>;
22
22
  /**
23
23
  * @description
24
24
  * - the constructor it self is set to `private`;
@@ -75,14 +75,14 @@ export class LitExp<KEYS extends import("../types/LitExpKeyType.mjs").LitExpKeyT
75
75
  * @param {TemplateStringsArray} strings
76
76
  * @returns {ReturnType<typeof TrySync<string[]>>}
77
77
  */
78
- static #processTemplate<KEYS_1 extends import("../types/LitExpKeyType.mjs").LitExpKeyType>(instance_rules: KEYS_1, intance_values: (keyof KEYS_1)[], valueHandler: (value: keyof KEYS_1, regex: RegExp | false) => ReturnType<typeof TrySync<string>>, strings: TemplateStringsArray): ReturnType<typeof TrySync<string[]>>;
78
+ static "__#private@#processTemplate"<KEYS_1 extends import("../types/LitExpKeyType.mjs").LitExpKeyType>(instance_rules: KEYS_1, intance_values: (keyof KEYS_1)[], valueHandler: (value: keyof KEYS_1, regex: RegExp | false) => ReturnType<typeof TrySync<string>>, strings: TemplateStringsArray): ReturnType<typeof TrySync<string[]>>;
79
79
  /**
80
80
  * @template {LitExpKeyType} KEYS
81
81
  * @param {RegExp|false} regex
82
82
  * @param {keyof KEYS} value
83
83
  * @returns {ReturnType<typeof TrySync<string>>}
84
84
  */
85
- static #namedChapture<KEYS_1 extends import("../types/LitExpKeyType.mjs").LitExpKeyType>(value: keyof KEYS_1, regex: RegExp | false): ReturnType<typeof TrySync<string>>;
85
+ static "__#private@#namedChapture"<KEYS_1 extends import("../types/LitExpKeyType.mjs").LitExpKeyType>(value: keyof KEYS_1, regex: RegExp | false): ReturnType<typeof TrySync<string>>;
86
86
  /**
87
87
  * @private
88
88
  * @param {KEYS} keys
@@ -8,7 +8,7 @@ export class Paths {
8
8
  /**
9
9
  * @type {Paths|undefined}
10
10
  */
11
- static #instance: Paths | undefined;
11
+ static "__#private@#instance": Paths | undefined;
12
12
  /**
13
13
  * @description
14
14
  * - reference for rootPath
@@ -25,7 +25,7 @@ export class QChannel<DEFINEDANY extends import("../types/AnyButUndefined.mjs").
25
25
  /**
26
26
  * @type {Map<AnyButUndefined, [Promise<any>, {}]>}
27
27
  */
28
- static #uniquePromiser: Map<import("../types/AnyButUndefined.mjs").AnyButUndefined, [Promise<any>, {}]>;
28
+ static "__#private@#uniquePromiser": Map<import("../types/AnyButUndefined.mjs").AnyButUndefined, [Promise<any>, {}]>;
29
29
  /**
30
30
  * - ensures that each id has only one task running at a time.
31
31
  * - calls with the same id will wait for the previous call to finish.
@@ -33,7 +33,7 @@ export class QChannel<DEFINEDANY extends import("../types/AnyButUndefined.mjs").
33
33
  * @param {QChannel<any>} instance
34
34
  * @returns {Promise<QCBReturn>} Resolves when it's safe to proceed for the given id, returning a cleanup function
35
35
  */
36
- static #uniqueCB: (id: import("../types/AnyButUndefined.mjs").AnyButUndefined, instance: QChannel<any>) => Promise<import("../types/QCBReturn.mjs").QCBReturn>;
36
+ static "__#private@#uniqueCB": (id: import("../types/AnyButUndefined.mjs").AnyButUndefined, instance: QChannel<any>) => Promise<import("../types/QCBReturn.mjs").QCBReturn>;
37
37
  /**
38
38
  * @description
39
39
  * - first in first out handler
@@ -11,7 +11,7 @@ export class Signal<VALUE> {
11
11
  /**
12
12
  * @param {Signal<any>} signalInstance
13
13
  */
14
- static #notify: (signalInstance: Signal<any>) => void;
14
+ static "__#private@#notify": (signalInstance: Signal<any>) => void;
15
15
  /**
16
16
  * @description
17
17
  * - create a `Signal`;
@@ -10,7 +10,7 @@ export class WalkThrough {
10
10
  * @param {(...any:any[])=>void} callback
11
11
  * @returns {void}
12
12
  */
13
- static #handler: (iterator: Iterator<any, any, any>, callback: (...any: any[]) => void) => void;
13
+ static "__#private@#handler": (iterator: Iterator<any, any, any>, callback: (...any: any[]) => void) => void;
14
14
  /**
15
15
  * @description
16
16
  * - method helper to WalkThrough `Set`;
@@ -20,7 +20,7 @@ export class WorkerMainThread<WT extends WorkerThread<any, any>> {
20
20
  /**
21
21
  * @type {boolean}
22
22
  */
23
- static #isRegistered: boolean;
23
+ static "__#private@#isRegistered": boolean;
24
24
  /**
25
25
  * @description
26
26
  * - need to be called first, before any `WorkerMainThread` instantiation:
@@ -79,7 +79,7 @@ export class WorkerMainThread<WT extends WorkerThread<any, any>> {
79
79
  worker: string;
80
80
  root: string;
81
81
  }) => Promise<string>;
82
- static #options: import("worker_threads").WorkerOptions & {
82
+ static "__#private@#options": import("worker_threads").WorkerOptions & {
83
83
  type?: "module";
84
84
  };
85
85
  /**
@@ -104,7 +104,7 @@ export class WorkerMainThread<WT extends WorkerThread<any, any>> {
104
104
  * @param {(any:any)=>void} listener
105
105
  * @returns {Promise<void>}
106
106
  */
107
- static #workerFilehandler<WT_1 extends WorkerThread<any, any>>(handler: string, options: WorkerOptions | import("worker_threads").WorkerOptions, worker: WorkerMainThread<WT_1>, listener: (any: any) => void): Promise<void>;
107
+ static "__#private@#workerFilehandler"<WT_1 extends WorkerThread<any, any>>(handler: string, options: WorkerOptions | import("worker_threads").WorkerOptions, worker: WorkerMainThread<WT_1>, listener: (any: any) => void): Promise<void>;
108
108
  /**
109
109
  * @private
110
110
  * @param {Parameters<typeof WorkerMainThread<WT>["newVivthWorker"]>[0]} handler
@@ -17,7 +17,7 @@ export class WorkerMainThread<WT extends WorkerThread<any, any>> {
17
17
  /**
18
18
  * @type {boolean}
19
19
  */
20
- static #isRegistered: boolean;
20
+ static "__#private@#isRegistered": boolean;
21
21
  /**
22
22
  * @param {Object} param0
23
23
  * @param {typeof WorkerMainThread["workerClass"]} param0.workerClass
@@ -38,7 +38,7 @@ export class WorkerMainThread<WT extends WorkerThread<any, any>> {
38
38
  worker: string;
39
39
  root: string;
40
40
  }) => Promise<string>;
41
- static #options: import("worker_threads").WorkerOptions & {
41
+ static "__#private@#options": import("worker_threads").WorkerOptions & {
42
42
  type?: "module";
43
43
  };
44
44
  /**
@@ -57,7 +57,7 @@ export class WorkerMainThread<WT extends WorkerThread<any, any>> {
57
57
  * @param {(any:any)=>void} listener
58
58
  * @returns {Promise<void>}
59
59
  */
60
- static #workerFilehandler<WT_1 extends WorkerThread<any, any>>(handler: string, options: WorkerOptions | import("worker_threads").WorkerOptions, worker: WorkerMainThread<WT_1>, listener: (any: any) => void): Promise<void>;
60
+ static "__#private@#workerFilehandler"<WT_1 extends WorkerThread<any, any>>(handler: string, options: WorkerOptions | import("worker_threads").WorkerOptions, worker: WorkerMainThread<WT_1>, listener: (any: any) => void): Promise<void>;
61
61
  /**
62
62
  * @param {Parameters<typeof WorkerMainThread<WT>["newVivthWorker"]>[0]} handler
63
63
  * @param {Parameters<typeof WorkerMainThread<WT>["newVivthWorker"]>[1]} [options]
@@ -12,7 +12,7 @@ export class WorkerThread<RECEIVE, POST> {
12
12
  /**
13
13
  * @type {Parameters<typeof WorkerThread["setup"]>[0]|undefined}
14
14
  */
15
- static #refs: Parameters<(typeof WorkerThread)["setup"]>[0] | undefined;
15
+ static "__#private@#refs": Parameters<(typeof WorkerThread)["setup"]>[0] | undefined;
16
16
  /**
17
17
  * @description
18
18
  * - need to be called and exported as new `WorkerThread` class reference;
@@ -36,7 +36,7 @@ export class WorkerThread<RECEIVE, POST> {
36
36
  /**
37
37
  * @param {any} ev
38
38
  */
39
- static #isCloseWorkerEvent: (ev: any) => boolean;
39
+ static "__#private@#isCloseWorkerEvent": (ev: any) => boolean;
40
40
  /**
41
41
  * @description
42
42
  * - instantiate via created class from `setup` static method;
@@ -23,12 +23,12 @@ export class Dev {
23
23
  /**
24
24
  * @type {Signal<Map<string,Awaited<ReturnType<typeof TryAsync<boolean>>>>>}
25
25
  */
26
- static #notifications: Signal<Map<string, Awaited<ReturnType<typeof TryAsync<boolean>>>>>;
26
+ static "__#private@#notifications": Signal<Map<string, Awaited<ReturnType<typeof TryAsync<boolean>>>>>;
27
27
  /**
28
28
  * @type {DevTestCB}
29
29
  */
30
- static #test: DevTestCB;
31
- static #effectForCheck: Effect & {
30
+ static "__#private@#test": DevTestCB;
31
+ static "__#private@#effectForCheck": Effect & {
32
32
  "vivth:unwrapLazy;": () => Effect;
33
33
  };
34
34
  /**
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @description
3
- * - returns position of stack trace as string, formatted as `fileName:lineNumber:columnNumber`;
3
+ * - returns position of stack trace as string, formatted like `fileName:lineNumber:columnNumber`;
4
4
  * - extremely usefull for:
5
5
  * >- jumping positions to code line;
6
6
  * >- creating dynamic string id;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @description
3
+ * - get stack trace path that matched with truthy filterCallback;
4
+ * - returns position of stack trace as string, formatted like `fileName:lineNumber:columnNumber`;
5
+ * - extremely usefull for:
6
+ * >- jumping positions to code line;
7
+ * >- creating dynamic string id;
8
+ * @param {(stackString:string)=>boolean} filterCallback
9
+ * - stackString path are normalized to use forward slash;
10
+ * - if return true, `TracePath` will return the current stackString;
11
+ * - if return false, continue to check the stacks;
12
+ * @returns {string|undefined}
13
+ * @example
14
+ * import { TracePath, Console } from 'vivth';
15
+ *
16
+ * Console.log(
17
+ * TracePath((stackString) => {
18
+ * return stackString.includes('test.mjs');
19
+ * })
20
+ * ); // "D://test.mjs:4:2"
21
+ */
22
+ export function TracePath(filterCallback: (stackString: string) => boolean): string | undefined;
@@ -25,7 +25,7 @@ export class JSautoDOC {
25
25
  /**
26
26
  * @type {JSautoDOC|undefined}
27
27
  */
28
- static #instance: JSautoDOC | undefined;
28
+ static "__#private@#instance": JSautoDOC | undefined;
29
29
  /**
30
30
  * @description
31
31
  * @param {Object} [options]
@@ -3,7 +3,7 @@ export class parsedFile {
3
3
  * @param {string} exportName
4
4
  * @returns {boolean}
5
5
  */
6
- static #isExportNameValid: (exportName: string) => boolean;
6
+ static "__#private@#isExportNameValid": (exportName: string) => boolean;
7
7
  /**
8
8
  * @param {string} content
9
9
  * @returns { RegExpExecArray[] }