@inlay/core 0.0.4 → 0.0.5
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.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -23
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -17,6 +17,8 @@ type Config<M extends LexiconModule> = Omit<l.InferMethodInputBody<M["main"]>, "
|
|
|
17
17
|
key?: string;
|
|
18
18
|
};
|
|
19
19
|
export declare function $<M extends LexiconModule>(mod: M, config?: Config<M>, ...children: Child[]): Node;
|
|
20
|
-
export declare function
|
|
20
|
+
export declare function serializeNode<T>(node: T): T;
|
|
21
|
+
export declare function deserializeNode<T>(obj: T): T;
|
|
22
|
+
export declare function stringifyNode(node: unknown, indent?: number): string;
|
|
21
23
|
export declare function parseNode<T = Node>(json: string): T;
|
|
22
24
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,EAEL,KAAK,IAAI,EACT,KAAK,gBAAgB,EAGtB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,KAAK,IAAI,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAInD,KAAK,aAAa,GAAG,gBAAgB,GAAG;IACtC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,KAAK,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,EAAE,CAAC;AAI3E,KAAK,KAAK,CAAC,CAAC,SAAS,aAAa,IAAI,IAAI,CACxC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EACjC,UAAU,CACX,GAAG;IACF,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,GAChD,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAE9B,wBAAgB,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG;KACrC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACpE,CAEA;AAID,KAAK,MAAM,CAAC,CAAC,SAAS,aAAa,IAAI,IAAI,CACzC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EACjC,UAAU,CACX,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB,wBAAgB,CAAC,CAAC,CAAC,SAAS,aAAa,EACvC,GAAG,EAAE,CAAC,EACN,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAClB,GAAG,QAAQ,EAAE,KAAK,EAAE,GACnB,IAAI,CAON;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,EAEL,KAAK,IAAI,EACT,KAAK,gBAAgB,EAGtB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,KAAK,IAAI,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAInD,KAAK,aAAa,GAAG,gBAAgB,GAAG;IACtC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,KAAK,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,EAAE,CAAC;AAI3E,KAAK,KAAK,CAAC,CAAC,SAAS,aAAa,IAAI,IAAI,CACxC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EACjC,UAAU,CACX,GAAG;IACF,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,GAChD,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAE9B,wBAAgB,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG;KACrC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACpE,CAEA;AAID,KAAK,MAAM,CAAC,CAAC,SAAS,aAAa,IAAI,IAAI,CACzC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EACjC,UAAU,CACX,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB,wBAAgB,CAAC,CAAC,CAAC,SAAS,aAAa,EACvC,GAAG,EAAE,CAAC,EACN,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAClB,GAAG,QAAQ,EAAE,KAAK,EAAE,GACnB,IAAI,CAON;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAQ3C;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAQ5C;AAGD,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAEnD"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Usage:
|
|
4
4
|
// import { Stack } from "@/generated/org/design";
|
|
5
5
|
// import { Post } from "@/generated/com/example";
|
|
6
|
-
// import { $,
|
|
6
|
+
// import { $, serializeNode } from "@inlay/core";
|
|
7
7
|
//
|
|
8
8
|
// $(Stack, { gap: "medium" },
|
|
9
9
|
// $(Post, { uri: 'at://...' }),
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
// )
|
|
12
12
|
//
|
|
13
13
|
// Serialization:
|
|
14
|
-
//
|
|
15
|
-
//
|
|
14
|
+
// serializeNode(node) // brand → "$" (returns JSON-safe object)
|
|
15
|
+
// deserializeNode(obj) // "$" → brand (returns branded node)
|
|
16
16
|
//
|
|
17
17
|
// Node types are NSIDs (e.g., "com.example.Post")
|
|
18
18
|
export { l } from "@atproto/lex";
|
|
@@ -28,31 +28,32 @@ export function $(mod, config, ...children) {
|
|
|
28
28
|
: rest;
|
|
29
29
|
return createNode(mod.$nsid, key, props);
|
|
30
30
|
}
|
|
31
|
-
function
|
|
32
|
-
|
|
33
|
-
if (
|
|
34
|
-
|
|
31
|
+
export function serializeNode(node) {
|
|
32
|
+
return JSON.parse(JSON.stringify(node, (key, value) => {
|
|
33
|
+
if (key === "$") {
|
|
34
|
+
if (value === BRAND)
|
|
35
|
+
return "$";
|
|
36
|
+
if (typeof value === "string" && value.startsWith("$"))
|
|
37
|
+
return "$" + value;
|
|
35
38
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return value;
|
|
39
|
+
return value;
|
|
40
|
+
}));
|
|
41
41
|
}
|
|
42
|
-
function
|
|
43
|
-
|
|
44
|
-
if (
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
42
|
+
export function deserializeNode(obj) {
|
|
43
|
+
return JSON.parse(JSON.stringify(obj), (key, value) => {
|
|
44
|
+
if (key === "$") {
|
|
45
|
+
if (value === "$")
|
|
46
|
+
return BRAND;
|
|
47
|
+
if (typeof value === "string" && value.startsWith("$$"))
|
|
48
|
+
return value.slice(1);
|
|
49
49
|
}
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
return value;
|
|
51
|
+
});
|
|
52
52
|
}
|
|
53
|
+
// String convenience wrappers (for backwards compat)
|
|
53
54
|
export function stringifyNode(node, indent) {
|
|
54
|
-
return JSON.stringify(node,
|
|
55
|
+
return JSON.stringify(serializeNode(node), null, indent);
|
|
55
56
|
}
|
|
56
57
|
export function parseNode(json) {
|
|
57
|
-
return JSON.parse(json
|
|
58
|
+
return deserializeNode(JSON.parse(json));
|
|
58
59
|
}
|