@zag-js/stringify-state 0.69.0 → 0.71.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.
package/dist/index.js CHANGED
@@ -1,40 +1,12 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ 'use strict';
2
+
3
+ var formatHighlight = require('json-format-highlight');
4
+
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var formatHighlight__default = /*#__PURE__*/_interopDefault(formatHighlight);
29
8
 
30
9
  // src/index.ts
31
- var src_exports = {};
32
- __export(src_exports, {
33
- highlightState: () => highlightState,
34
- stringifyState: () => stringifyState
35
- });
36
- module.exports = __toCommonJS(src_exports);
37
- var import_json_format_highlight = __toESM(require("json-format-highlight"));
38
10
  var pick = (obj, keys) => Object.fromEntries(keys.filter((key) => key in obj).map((key) => [key, obj[key]]));
39
11
  var hasProp = (v, prop) => Object.prototype.hasOwnProperty.call(v, prop);
40
12
  var isTimeObject = (v) => hasProp(v, "hour") && hasProp(v, "minute") && hasProp(v, "second");
@@ -51,7 +23,10 @@ function stringifyState(state, omit) {
51
23
  if (hasProp(value, "calendar") || isTimeObject(value)) {
52
24
  return value.toString();
53
25
  }
54
- if (value?.toJSON) {
26
+ if (typeof value?.json === "function") {
27
+ return value.json();
28
+ }
29
+ if (typeof value?.toJSON === "function") {
55
30
  return value.toJSON();
56
31
  }
57
32
  if (Number.isNaN(value)) {
@@ -87,11 +62,8 @@ function stringifyState(state, omit) {
87
62
  return code;
88
63
  }
89
64
  function highlightState(state, omit) {
90
- return (0, import_json_format_highlight.default)(stringifyState(state, omit));
65
+ return formatHighlight__default.default(stringifyState(state, omit));
91
66
  }
92
- // Annotate the CommonJS export names for ESM import in node:
93
- 0 && (module.exports = {
94
- highlightState,
95
- stringifyState
96
- });
97
- //# sourceMappingURL=index.js.map
67
+
68
+ exports.highlightState = highlightState;
69
+ exports.stringifyState = stringifyState;
package/dist/index.mjs CHANGED
@@ -1,5 +1,6 @@
1
+ import formatHighlight from 'json-format-highlight';
2
+
1
3
  // src/index.ts
2
- import formatHighlight from "json-format-highlight";
3
4
  var pick = (obj, keys) => Object.fromEntries(keys.filter((key) => key in obj).map((key) => [key, obj[key]]));
4
5
  var hasProp = (v, prop) => Object.prototype.hasOwnProperty.call(v, prop);
5
6
  var isTimeObject = (v) => hasProp(v, "hour") && hasProp(v, "minute") && hasProp(v, "second");
@@ -16,7 +17,10 @@ function stringifyState(state, omit) {
16
17
  if (hasProp(value, "calendar") || isTimeObject(value)) {
17
18
  return value.toString();
18
19
  }
19
- if (value?.toJSON) {
20
+ if (typeof value?.json === "function") {
21
+ return value.json();
22
+ }
23
+ if (typeof value?.toJSON === "function") {
20
24
  return value.toJSON();
21
25
  }
22
26
  if (Number.isNaN(value)) {
@@ -54,8 +58,5 @@ function stringifyState(state, omit) {
54
58
  function highlightState(state, omit) {
55
59
  return formatHighlight(stringifyState(state, omit));
56
60
  }
57
- export {
58
- highlightState,
59
- stringifyState
60
- };
61
- //# sourceMappingURL=index.mjs.map
61
+
62
+ export { highlightState, stringifyState };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zag-js/stringify-state",
3
- "version": "0.69.0",
3
+ "version": "0.71.0",
4
4
  "description": "Helper to stringify state of Zag machines",
5
5
  "keywords": [
6
6
  "js",
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// @ts-ignore\nimport formatHighlight from \"json-format-highlight\"\n\ninterface Dict {\n [key: string]: any\n}\n\nconst pick = (obj: Dict, keys: string[]) =>\n Object.fromEntries(keys.filter((key) => key in obj).map((key) => [key, obj[key]]))\n\nconst hasProp = (v: any, prop: string) => Object.prototype.hasOwnProperty.call(v, prop)\n\nconst isTimeObject = (v: any) => hasProp(v, \"hour\") && hasProp(v, \"minute\") && hasProp(v, \"second\")\n\nexport function stringifyState(state: Dict, omit?: string[]) {\n const code = JSON.stringify(\n state,\n (key, value) => {\n try {\n if (hasProp(value, \"target\") && hasProp(value, \"timeStamp\"))\n return pick(value, [\"type\", \"target\", \"currentTarget\", \"relatedTarget\"])\n\n if (omit?.includes(key)) {\n return undefined\n }\n\n if (hasProp(value, \"calendar\") || isTimeObject(value)) {\n return value.toString()\n }\n\n if (value?.toJSON) {\n return value.toJSON()\n }\n\n if (Number.isNaN(value)) {\n return \"NaN\"\n }\n\n if (value instanceof File) {\n return value.name\n }\n\n if (value instanceof Set) {\n return Array.from(value)\n }\n\n switch (value?.toString()) {\n case \"[object Machine]\":\n const id = value.state.context.id ?? value.id\n return `Machine: ${id}`\n\n case \"[object ShadowRoot]\":\n return \"#shadow-root\"\n\n case \"[object HTMLDocument]\":\n return \"#document\"\n\n case \"[object Window]\":\n return \"#window\"\n\n case \"[object AbortController]\":\n return \"#abort-controller\"\n\n default:\n return value !== null && typeof value === \"object\" && value.nodeType === 1 ? value.tagName : value\n }\n } catch {\n return value\n }\n },\n 4,\n )\n\n return code\n}\n\nexport function highlightState(state: Dict, omit?: string[]) {\n return formatHighlight(stringifyState(state, omit))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mCAA4B;AAM5B,IAAM,OAAO,CAAC,KAAW,SACvB,OAAO,YAAY,KAAK,OAAO,CAAC,QAAQ,OAAO,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC;AAEnF,IAAM,UAAU,CAAC,GAAQ,SAAiB,OAAO,UAAU,eAAe,KAAK,GAAG,IAAI;AAEtF,IAAM,eAAe,CAAC,MAAW,QAAQ,GAAG,MAAM,KAAK,QAAQ,GAAG,QAAQ,KAAK,QAAQ,GAAG,QAAQ;AAE3F,SAAS,eAAe,OAAa,MAAiB;AAC3D,QAAM,OAAO,KAAK;AAAA,IAChB;AAAA,IACA,CAAC,KAAK,UAAU;AACd,UAAI;AACF,YAAI,QAAQ,OAAO,QAAQ,KAAK,QAAQ,OAAO,WAAW;AACxD,iBAAO,KAAK,OAAO,CAAC,QAAQ,UAAU,iBAAiB,eAAe,CAAC;AAEzE,YAAI,MAAM,SAAS,GAAG,GAAG;AACvB,iBAAO;AAAA,QACT;AAEA,YAAI,QAAQ,OAAO,UAAU,KAAK,aAAa,KAAK,GAAG;AACrD,iBAAO,MAAM,SAAS;AAAA,QACxB;AAEA,YAAI,OAAO,QAAQ;AACjB,iBAAO,MAAM,OAAO;AAAA,QACtB;AAEA,YAAI,OAAO,MAAM,KAAK,GAAG;AACvB,iBAAO;AAAA,QACT;AAEA,YAAI,iBAAiB,MAAM;AACzB,iBAAO,MAAM;AAAA,QACf;AAEA,YAAI,iBAAiB,KAAK;AACxB,iBAAO,MAAM,KAAK,KAAK;AAAA,QACzB;AAEA,gBAAQ,OAAO,SAAS,GAAG;AAAA,UACzB,KAAK;AACH,kBAAM,KAAK,MAAM,MAAM,QAAQ,MAAM,MAAM;AAC3C,mBAAO,YAAY,EAAE;AAAA,UAEvB,KAAK;AACH,mBAAO;AAAA,UAET,KAAK;AACH,mBAAO;AAAA,UAET,KAAK;AACH,mBAAO;AAAA,UAET,KAAK;AACH,mBAAO;AAAA,UAET;AACE,mBAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,MAAM,aAAa,IAAI,MAAM,UAAU;AAAA,QACjG;AAAA,MACF,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,eAAe,OAAa,MAAiB;AAC3D,aAAO,6BAAAA,SAAgB,eAAe,OAAO,IAAI,CAAC;AACpD;","names":["formatHighlight"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// @ts-ignore\nimport formatHighlight from \"json-format-highlight\"\n\ninterface Dict {\n [key: string]: any\n}\n\nconst pick = (obj: Dict, keys: string[]) =>\n Object.fromEntries(keys.filter((key) => key in obj).map((key) => [key, obj[key]]))\n\nconst hasProp = (v: any, prop: string) => Object.prototype.hasOwnProperty.call(v, prop)\n\nconst isTimeObject = (v: any) => hasProp(v, \"hour\") && hasProp(v, \"minute\") && hasProp(v, \"second\")\n\nexport function stringifyState(state: Dict, omit?: string[]) {\n const code = JSON.stringify(\n state,\n (key, value) => {\n try {\n if (hasProp(value, \"target\") && hasProp(value, \"timeStamp\"))\n return pick(value, [\"type\", \"target\", \"currentTarget\", \"relatedTarget\"])\n\n if (omit?.includes(key)) {\n return undefined\n }\n\n if (hasProp(value, \"calendar\") || isTimeObject(value)) {\n return value.toString()\n }\n\n if (value?.toJSON) {\n return value.toJSON()\n }\n\n if (Number.isNaN(value)) {\n return \"NaN\"\n }\n\n if (value instanceof File) {\n return value.name\n }\n\n if (value instanceof Set) {\n return Array.from(value)\n }\n\n switch (value?.toString()) {\n case \"[object Machine]\":\n const id = value.state.context.id ?? value.id\n return `Machine: ${id}`\n\n case \"[object ShadowRoot]\":\n return \"#shadow-root\"\n\n case \"[object HTMLDocument]\":\n return \"#document\"\n\n case \"[object Window]\":\n return \"#window\"\n\n case \"[object AbortController]\":\n return \"#abort-controller\"\n\n default:\n return value !== null && typeof value === \"object\" && value.nodeType === 1 ? value.tagName : value\n }\n } catch {\n return value\n }\n },\n 4,\n )\n\n return code\n}\n\nexport function highlightState(state: Dict, omit?: string[]) {\n return formatHighlight(stringifyState(state, omit))\n}\n"],"mappings":";AACA,OAAO,qBAAqB;AAM5B,IAAM,OAAO,CAAC,KAAW,SACvB,OAAO,YAAY,KAAK,OAAO,CAAC,QAAQ,OAAO,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC;AAEnF,IAAM,UAAU,CAAC,GAAQ,SAAiB,OAAO,UAAU,eAAe,KAAK,GAAG,IAAI;AAEtF,IAAM,eAAe,CAAC,MAAW,QAAQ,GAAG,MAAM,KAAK,QAAQ,GAAG,QAAQ,KAAK,QAAQ,GAAG,QAAQ;AAE3F,SAAS,eAAe,OAAa,MAAiB;AAC3D,QAAM,OAAO,KAAK;AAAA,IAChB;AAAA,IACA,CAAC,KAAK,UAAU;AACd,UAAI;AACF,YAAI,QAAQ,OAAO,QAAQ,KAAK,QAAQ,OAAO,WAAW;AACxD,iBAAO,KAAK,OAAO,CAAC,QAAQ,UAAU,iBAAiB,eAAe,CAAC;AAEzE,YAAI,MAAM,SAAS,GAAG,GAAG;AACvB,iBAAO;AAAA,QACT;AAEA,YAAI,QAAQ,OAAO,UAAU,KAAK,aAAa,KAAK,GAAG;AACrD,iBAAO,MAAM,SAAS;AAAA,QACxB;AAEA,YAAI,OAAO,QAAQ;AACjB,iBAAO,MAAM,OAAO;AAAA,QACtB;AAEA,YAAI,OAAO,MAAM,KAAK,GAAG;AACvB,iBAAO;AAAA,QACT;AAEA,YAAI,iBAAiB,MAAM;AACzB,iBAAO,MAAM;AAAA,QACf;AAEA,YAAI,iBAAiB,KAAK;AACxB,iBAAO,MAAM,KAAK,KAAK;AAAA,QACzB;AAEA,gBAAQ,OAAO,SAAS,GAAG;AAAA,UACzB,KAAK;AACH,kBAAM,KAAK,MAAM,MAAM,QAAQ,MAAM,MAAM;AAC3C,mBAAO,YAAY,EAAE;AAAA,UAEvB,KAAK;AACH,mBAAO;AAAA,UAET,KAAK;AACH,mBAAO;AAAA,UAET,KAAK;AACH,mBAAO;AAAA,UAET,KAAK;AACH,mBAAO;AAAA,UAET;AACE,mBAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,MAAM,aAAa,IAAI,MAAM,UAAU;AAAA,QACjG;AAAA,MACF,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,eAAe,OAAa,MAAiB;AAC3D,SAAO,gBAAgB,eAAe,OAAO,IAAI,CAAC;AACpD;","names":[]}