foxts 3.11.0 → 3.12.0

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,11 +1 @@
1
- /**
2
- * Escape characters with special meaning either inside or outside character sets.
3
- * Use a simple backslash escape when it’s always valid, and a `\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.
4
- *
5
- * When the `unicodeMode` is `true` (default), the `-` character is escaped as `\x2d` to ensure compatibility with Unicode patterns, PCRE, and MongoDB.
6
- *
7
- * You should disable this option if you are using JavaScript regular expressions without the `u` flag.
8
- */
9
- declare function escapeStringRegexp(str: string, unicodeMode?: boolean): string;
10
-
11
- export { escapeStringRegexp };
1
+ export { escapeRegexp as escapeStringRegexp } from 'fast-escape-regexp';
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0});const e=/[$()*+.?[\\\]^{|}]/,a=/[$()*+.?[\\\]^{|}-]/;exports.escapeStringRegexp=function(r,c=!0){let s=(c?a:e).exec(r);if(null===s)return r;let t="",b="",k=s.index,n=0;for(let e=r.length;k<e;k++){switch(r.charCodeAt(k)){case 92:t="\\\\";break;case 94:t="\\^";break;case 36:t="\\$";break;case 46:t="\\.";break;case 42:t="\\*";break;case 43:t="\\+";break;case 63:t="\\?";break;case 40:t="\\(";break;case 41:t="\\)";break;case 91:t="\\[";break;case 93:t="\\]";break;case 123:t="\\{";break;case 125:t="\\}";break;case 124:t="\\|";break;case 45:t=c?"\\x2d":"-";break;default:continue}n!==k&&(b+=r.slice(n,k)),n=k+1,b+=t}return n!==k&&(b+=r.slice(n,k)),b};
1
+ Object.defineProperty(exports,"__esModule",{value:!0});var e=require("fast-escape-regexp");Object.defineProperty(exports,"escapeStringRegexp",{enumerable:!0,get:function(){return e.escapeRegexp}});
@@ -1 +1 @@
1
- let e=/[$()*+.?[\\\]^{|}]/,a=/[$()*+.?[\\\]^{|}-]/;function c(r,s=!0){let b=(s?a:e).exec(r);if(null===b)return r;let k="",t="",l=b.index,n=0;for(let e=r.length;l<e;l++){switch(r.charCodeAt(l)){case 92:k="\\\\";break;case 94:k="\\^";break;case 36:k="\\$";break;case 46:k="\\.";break;case 42:k="\\*";break;case 43:k="\\+";break;case 63:k="\\?";break;case 40:k="\\(";break;case 41:k="\\)";break;case 91:k="\\[";break;case 93:k="\\]";break;case 123:k="\\{";break;case 125:k="\\}";break;case 124:k="\\|";break;case 45:k=s?"\\x2d":"-";break;default:continue}n!==l&&(t+=r.slice(n,l)),n=l+1,t+=k}return n!==l&&(t+=r.slice(n,l)),t}export{c as escapeStringRegexp};
1
+ export{escapeRegexp as escapeStringRegexp}from"fast-escape-regexp";
@@ -0,0 +1,10 @@
1
+ interface ErrorLikeObject {
2
+ name: string;
3
+ message: string;
4
+ stack?: string;
5
+ }
6
+ declare function isErrorLikeObject(obj: unknown): obj is ErrorLikeObject;
7
+ declare function extractErrorMessage(error: unknown, includeName?: boolean, includeStack?: boolean): string | null;
8
+
9
+ export { extractErrorMessage, isErrorLikeObject };
10
+ export type { ErrorLikeObject };
@@ -0,0 +1 @@
1
+ function e(e){return"object"==typeof e&&null!==e&&"name"in e&&"string"==typeof e.name&&"message"in e&&"string"==typeof e.message&&(!("stack"in e)||"string"==typeof e.stack)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.extractErrorMessage=function(t,r=!0,n=!1){if(!e(t))return null;let s="";return r&&(s+=t.name,s+=": "),s+=t.message,n&&"stack"in t&&"string"==typeof t.stack&&(s+="\n"+t.stack),s.trim()},exports.isErrorLikeObject=e;
@@ -0,0 +1 @@
1
+ function t(t){return"object"==typeof t&&null!==t&&"name"in t&&"string"==typeof t.name&&"message"in t&&"string"==typeof t.message&&(!("stack"in t)||"string"==typeof t.stack)}function e(n,r=!0,s=!1){if(!t(n))return null;let i="";return r&&(i+=n.name,i+=": "),i+=n.message,s&&"stack"in n&&"string"==typeof n.stack&&(i+="\n"+n.stack),i.trim()}export{e as extractErrorMessage,t as isErrorLikeObject};
package/dist/repool.d.ts CHANGED
@@ -7,7 +7,7 @@ interface Reusifiable {
7
7
  * Do not use this to store class instances, please use https://github.com/mcollina/reusify instead.
8
8
  */
9
9
  declare class Repool<T extends Reusifiable> {
10
- private createObject;
10
+ private readonly createObject;
11
11
  private head;
12
12
  private tail;
13
13
  constructor(createObject: () => T);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foxts",
3
- "version": "3.11.0",
3
+ "version": "3.12.0",
4
4
  "description": "Opinionated collection of common TypeScript utils by @SukkaW",
5
5
  "repository": {
6
6
  "url": "https://github.com/SukkaW/foxts"
@@ -224,6 +224,12 @@
224
224
  "import": "./dist/chunk.mjs",
225
225
  "require": "./dist/chunk.js",
226
226
  "default": "./dist/chunk.js"
227
+ },
228
+ "./extract-error-message": {
229
+ "types": "./dist/extract-error-message.d.ts",
230
+ "import": "./dist/extract-error-message.mjs",
231
+ "require": "./dist/extract-error-message.js",
232
+ "default": "./dist/extract-error-message.js"
227
233
  }
228
234
  },
229
235
  "sideEffects": false,
@@ -235,45 +241,38 @@
235
241
  "author": "SukkaW <https://skk.moe>",
236
242
  "license": "MIT",
237
243
  "dependencies": {
238
- "fast-escape-html": "^1.1.0"
244
+ "fast-escape-html": "^1.1.0",
245
+ "fast-escape-regexp": "^1.0.1"
239
246
  },
240
247
  "devDependencies": {
241
- "@eslint-sukka/node": "^6.22.1",
248
+ "@eslint-sukka/node": "^6.23.1",
242
249
  "@istanbuljs/nyc-config-typescript": "^1.0.2",
243
250
  "@mitata/counters": "^0.0.8",
244
251
  "@monyone/aho-corasick": "^1.0.4",
245
252
  "@package-json/types": "^0.0.11",
246
- "@swc-node/register": "^1.10.10",
247
- "@swc/core": "^1.12.11",
248
- "@types/escape-regexp": "^0.0.3",
249
- "@types/lodash.escaperegexp": "^4.1.9",
253
+ "@swc-node/register": "^1.11.1",
254
+ "@swc/core": "^1.13.4",
250
255
  "@types/mocha": "^10.0.10",
251
- "@types/node": "^22.16.2",
252
- "@types/regex-escape": "^3.4.1",
256
+ "@types/node": "^22.17.2",
253
257
  "@types/sinon": "^17.0.4",
254
- "bumpp": "^10.2.0",
255
- "bunchee": "^6.5.4",
258
+ "bumpp": "^10.2.3",
259
+ "bunchee": "^6.6.0",
256
260
  "devalue": "^5.1.1",
257
- "escape-regexp": "^0.0.1",
258
- "escape-string-regexp": "^4.0.0",
259
- "eslint": "^9.30.1",
260
- "eslint-config-sukka": "^6.22.1",
261
- "eslint-formatter-sukka": "^6.22.1",
262
- "expect": "^30.0.4",
261
+ "eslint": "^9.33.0",
262
+ "eslint-config-sukka": "^6.23.1",
263
+ "eslint-formatter-sukka": "^6.23.1",
264
+ "expect": "^30.0.5",
263
265
  "fastscan": "^1.0.6",
264
- "fdir": "^6.4.6",
265
- "hexo-util": "^3.3.0",
266
- "lodash.escaperegexp": "^4.1.2",
266
+ "fdir": "^6.5.0",
267
267
  "mitata": "^1.0.34",
268
268
  "mocha": "^11.7.1",
269
269
  "modern-ahocorasick": "^2.0.4",
270
270
  "nyc": "^17.1.0",
271
- "regex-escape": "^3.4.11",
272
- "sinon": "^19.0.5"
271
+ "sinon": "^21.0.0"
273
272
  },
274
273
  "scripts": {
275
274
  "lint": "eslint --format=sukka .",
276
- "test": "SWC_NODE_IGNORE_DYNAMIC=1 SWC_NODE_PROJECT=tsconfig.test-swc.json nyc mocha --require @swc-node/register --full-trace ./src/**/*.test.ts",
275
+ "test": "SWC_NODE_IGNORE_DYNAMIC=1 SWC_NODE_INLINE_SOURCE_MAP=1 nyc mocha --require @swc-node/register --full-trace ./src/**/*.test.ts",
277
276
  "bench": "SWC_NODE_IGNORE_DYNAMIC=1 node --require @swc-node/register",
278
277
  "bench:all": "SWC_NODE_IGNORE_DYNAMIC=1 node --require @swc-node/register ./src/**/*.bench.ts",
279
278
  "prebuild": "bunchee prepare && node -r @swc-node/register ./tools/index.ts",