@rsdoctor/utils 1.2.4-beta.2 → 1.2.4-beta.4

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,10 @@
1
+ /**
2
+ * The following code is based on
3
+ * https://github.com/valery-barysok/json-cycle/blob/master/cycle.js
4
+ *
5
+ *
6
+ * MIT Licensed
7
+ * Author juliyvchirkov
8
+ * https://github.com/valery-barysok/json-cycle?tab=MIT-1-ov-file
9
+ */
10
+ export declare function decycle<T = any>(object: T): T;
@@ -16,3 +16,4 @@ export * as Package from './package';
16
16
  export * as Lodash from './lodash';
17
17
  export * as GlobalConfig from './global-config';
18
18
  export * as File from './file';
19
+ export * from './decycle';
package/dist/common.cjs CHANGED
@@ -32,6 +32,7 @@ __webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_expo
32
32
  Manifest: ()=>manifest_namespaceObject,
33
33
  Alerts: ()=>alerts_namespaceObject,
34
34
  Package: ()=>package_namespaceObject,
35
+ decycle: ()=>decycle,
35
36
  Data: ()=>data_namespaceObject,
36
37
  Plugin: ()=>plugin_namespaceObject,
37
38
  File: ()=>file_namespaceObject,
@@ -1303,7 +1304,28 @@ function getMcpConfigPath() {
1303
1304
  let homeDir = external_os_default().homedir(), rsdoctorDir = external_path_default().join(homeDir, '.cache/rsdoctor');
1304
1305
  return external_path_default().join(rsdoctorDir, 'mcp.json');
1305
1306
  }
1306
- for(var __webpack_i__ in exports.Alerts = __webpack_exports__.Alerts, exports.Algorithm = __webpack_exports__.Algorithm, exports.Bundle = __webpack_exports__.Bundle, exports.Crypto = __webpack_exports__.Crypto, exports.Data = __webpack_exports__.Data, exports.File = __webpack_exports__.File, exports.GlobalConfig = __webpack_exports__.GlobalConfig, exports.Graph = __webpack_exports__.Graph, exports.Loader = __webpack_exports__.Loader, exports.Lodash = __webpack_exports__.Lodash, exports.Manifest = __webpack_exports__.Manifest, exports.Package = __webpack_exports__.Package, exports.Plugin = __webpack_exports__.Plugin, exports.Resolver = __webpack_exports__.Resolver, exports.Rspack = __webpack_exports__.Rspack, exports.Summary = __webpack_exports__.Summary, exports.Time = __webpack_exports__.Time, exports.Url = __webpack_exports__.Url, __webpack_exports__)-1 === [
1307
+ function decycle(object) {
1308
+ let objects = [], paths = [];
1309
+ return function derez(value, path) {
1310
+ let _value = value;
1311
+ try {
1312
+ _value = value.toJSON();
1313
+ } catch {}
1314
+ if ('object' == typeof _value && _value) {
1315
+ let nu;
1316
+ for(let i = 0; i < objects.length; i += 1)if (objects[i] === _value) return {
1317
+ $ref: paths[i]
1318
+ };
1319
+ if (objects.push(_value), paths.push(path), '[object Array]' === Object.prototype.toString.apply(_value)) {
1320
+ nu = [];
1321
+ for(let i = 0; i < _value.length; i += 1)nu[i] = derez(_value[i], path + '[' + i + ']');
1322
+ } else for(let name in nu = {}, _value)Object.hasOwn(_value, name) && (nu[name] = derez(_value[name], path + '[' + JSON.stringify(name) + ']'));
1323
+ return nu;
1324
+ }
1325
+ return _value;
1326
+ }(object, '$');
1327
+ }
1328
+ for(var __webpack_i__ in exports.Alerts = __webpack_exports__.Alerts, exports.Algorithm = __webpack_exports__.Algorithm, exports.Bundle = __webpack_exports__.Bundle, exports.Crypto = __webpack_exports__.Crypto, exports.Data = __webpack_exports__.Data, exports.File = __webpack_exports__.File, exports.GlobalConfig = __webpack_exports__.GlobalConfig, exports.Graph = __webpack_exports__.Graph, exports.Loader = __webpack_exports__.Loader, exports.Lodash = __webpack_exports__.Lodash, exports.Manifest = __webpack_exports__.Manifest, exports.Package = __webpack_exports__.Package, exports.Plugin = __webpack_exports__.Plugin, exports.Resolver = __webpack_exports__.Resolver, exports.Rspack = __webpack_exports__.Rspack, exports.Summary = __webpack_exports__.Summary, exports.Time = __webpack_exports__.Time, exports.Url = __webpack_exports__.Url, exports.decycle = __webpack_exports__.decycle, __webpack_exports__)-1 === [
1307
1329
  "Alerts",
1308
1330
  "Algorithm",
1309
1331
  "Bundle",
@@ -1321,7 +1343,8 @@ for(var __webpack_i__ in exports.Alerts = __webpack_exports__.Alerts, exports.Al
1321
1343
  "Rspack",
1322
1344
  "Summary",
1323
1345
  "Time",
1324
- "Url"
1346
+ "Url",
1347
+ "decycle"
1325
1348
  ].indexOf(__webpack_i__) && (exports[__webpack_i__] = __webpack_exports__[__webpack_i__]);
1326
1349
  Object.defineProperty(exports, '__esModule', {
1327
1350
  value: !0
package/dist/common.js CHANGED
@@ -1252,4 +1252,25 @@ function getMcpConfigPath() {
1252
1252
  let homeDir = os.homedir(), rsdoctorDir = path_0.join(homeDir, '.cache/rsdoctor');
1253
1253
  return path_0.join(rsdoctorDir, 'mcp.json');
1254
1254
  }
1255
- export { alerts_namespaceObject as Alerts, algorithm_namespaceObject as Algorithm, bundle_namespaceObject as Bundle, crypto_namespaceObject as Crypto, data_namespaceObject as Data, file_namespaceObject as File, global_config_namespaceObject as GlobalConfig, graph_namespaceObject as Graph, loader_namespaceObject as Loader, lodash_namespaceObject as Lodash, manifest_namespaceObject as Manifest, package_namespaceObject as Package, plugin_namespaceObject as Plugin, resolver_namespaceObject as Resolver, rspack_namespaceObject as Rspack, summary_namespaceObject as Summary, time_namespaceObject as Time, url_namespaceObject as Url };
1255
+ function decycle(object) {
1256
+ let objects = [], paths = [];
1257
+ return function derez(value, path) {
1258
+ let _value = value;
1259
+ try {
1260
+ _value = value.toJSON();
1261
+ } catch {}
1262
+ if ('object' == typeof _value && _value) {
1263
+ let nu;
1264
+ for(let i = 0; i < objects.length; i += 1)if (objects[i] === _value) return {
1265
+ $ref: paths[i]
1266
+ };
1267
+ if (objects.push(_value), paths.push(path), '[object Array]' === Object.prototype.toString.apply(_value)) {
1268
+ nu = [];
1269
+ for(let i = 0; i < _value.length; i += 1)nu[i] = derez(_value[i], path + '[' + i + ']');
1270
+ } else for(let name in nu = {}, _value)Object.hasOwn(_value, name) && (nu[name] = derez(_value[name], path + '[' + JSON.stringify(name) + ']'));
1271
+ return nu;
1272
+ }
1273
+ return _value;
1274
+ }(object, '$');
1275
+ }
1276
+ export { alerts_namespaceObject as Alerts, algorithm_namespaceObject as Algorithm, bundle_namespaceObject as Bundle, crypto_namespaceObject as Crypto, data_namespaceObject as Data, file_namespaceObject as File, global_config_namespaceObject as GlobalConfig, graph_namespaceObject as Graph, loader_namespaceObject as Loader, lodash_namespaceObject as Lodash, manifest_namespaceObject as Manifest, package_namespaceObject as Package, plugin_namespaceObject as Plugin, resolver_namespaceObject as Resolver, rspack_namespaceObject as Rspack, summary_namespaceObject as Summary, time_namespaceObject as Time, url_namespaceObject as Url, decycle };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsdoctor/utils",
3
- "version": "1.2.4-beta.2",
3
+ "version": "1.2.4-beta.4",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/web-infra-dev/rsdoctor",
@@ -76,7 +76,7 @@
76
76
  "picocolors": "^1.1.1",
77
77
  "rslog": "^1.2.11",
78
78
  "strip-ansi": "^6.0.1",
79
- "@rsdoctor/types": "1.2.4-beta.2"
79
+ "@rsdoctor/types": "1.2.4-beta.4"
80
80
  },
81
81
  "devDependencies": {
82
82
  "@types/babel__code-frame": "7.0.6",