@lionweb/utilities 0.5.0 → 0.6.0-beta.2
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 +8 -0
- package/dist/m3/textual-syntax.d.ts +2 -3
- package/dist/m3/textual-syntax.d.ts.map +1 -1
- package/dist/m3/textual-syntax.js +2 -2
- package/dist/m3/textual-syntax.js.map +1 -1
- package/dist/serialization/chunk.d.ts +1 -0
- package/dist/serialization/chunk.d.ts.map +1 -1
- package/dist/serialization/chunk.js +7 -0
- package/dist/serialization/chunk.js.map +1 -1
- package/dist/serialization/index.d.ts +5 -3
- package/dist/serialization/index.d.ts.map +1 -1
- package/dist/serialization/index.js +5 -3
- package/dist/serialization/index.js.map +1 -1
- package/dist/serialization/ordering.d.ts +8 -0
- package/dist/serialization/ordering.d.ts.map +1 -0
- package/dist/serialization/ordering.js +42 -0
- package/dist/serialization/ordering.js.map +1 -0
- package/dist/serialization/shortening.d.ts +1 -1
- package/dist/serialization/shortening.d.ts.map +1 -1
- package/dist/serialization/shortening.js +1 -1
- package/dist/serialization/shortening.js.map +1 -1
- package/dist/serialization/sorting.d.ts +1 -1
- package/dist/serialization/sorting.d.ts.map +1 -1
- package/dist/serialization/sorting.js +8 -20
- package/dist/serialization/sorting.js.map +1 -1
- package/dist/serialization/textual-syntax.d.ts +3 -0
- package/dist/serialization/textual-syntax.d.ts.map +1 -0
- package/dist/serialization/textual-syntax.js +30 -0
- package/dist/serialization/textual-syntax.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -14,6 +14,14 @@ It contains utilities on top of the `core` package, such as:
|
|
|
14
14
|
|
|
15
15
|
## Changelog
|
|
16
16
|
|
|
17
|
+
### 0.6.0
|
|
18
|
+
|
|
19
|
+
* _Breaking name changes_: rename `asText` → `languageAsText`, `shortenedSerialization` → `shortenedSerializationChunk`, `sortedSerialization` → `sortedSerializationChunk`.
|
|
20
|
+
* Expose an `isSerializedLanguages` function.
|
|
21
|
+
* Expose an `orderedSerializationChunk` function that aligns the JSON key-value pairs in a serialization chunk according to the specification of the serialization format.
|
|
22
|
+
* Expose a generic textual syntax for serialization chunks.
|
|
23
|
+
|
|
24
|
+
|
|
17
25
|
### 0.5.0
|
|
18
26
|
|
|
19
27
|
This is the first version corresponding to a release of LionWeb (version: 2023.1) as a whole.
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Language, M3Node } from "@lionweb/core";
|
|
2
|
-
declare const
|
|
3
|
-
declare const languagesAsText: (languages: Language[]) => string;
|
|
4
|
-
export { asText, languagesAsText };
|
|
2
|
+
export declare const languageAsText: (node: M3Node) => string;
|
|
3
|
+
export declare const languagesAsText: (languages: Language[]) => string;
|
|
5
4
|
//# sourceMappingURL=textual-syntax.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textual-syntax.d.ts","sourceRoot":"","sources":["../../src/m3/textual-syntax.ts"],"names":[],"mappings":"AAAA,OAAO,EAQH,QAAQ,EAER,MAAM,EAOT,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"textual-syntax.d.ts","sourceRoot":"","sources":["../../src/m3/textual-syntax.ts"],"names":[],"mappings":"AAAA,OAAO,EAQH,QAAQ,EAER,MAAM,EAOT,MAAM,eAAe,CAAA;AA4EtB,eAAO,MAAM,cAAc,SA7DL,MAAM,KAAG,MA6DK,CAAA;AAEpC,eAAO,MAAM,eAAe,cAAe,QAAQ,EAAE,KAAG,MACN,CAAA"}
|
|
@@ -51,6 +51,6 @@ ${descent(node.entities, "\n\n")}
|
|
|
51
51
|
}
|
|
52
52
|
return `node (key=${node.key}, ID=${node.id}) of class ${node.constructor.name} not handled`;
|
|
53
53
|
};
|
|
54
|
-
const
|
|
55
|
-
export
|
|
54
|
+
export const languageAsText = asText;
|
|
55
|
+
export const languagesAsText = (languages) => nameSorted(languages).map(asText).join("\n\n");
|
|
56
56
|
//# sourceMappingURL=textual-syntax.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textual-syntax.js","sourceRoot":"","sources":["../../src/m3/textual-syntax.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"textual-syntax.js","sourceRoot":"","sources":["../../src/m3/textual-syntax.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,kBAAkB,EAElB,SAAS,EACT,QAAQ,EACR,IAAI,EAEJ,MAAM,EACN,UAAU,EACV,aAAa,EACb,QAAQ,EAER,UAAU,EACb,MAAM,eAAe,CAAA;AAGtB,gCAAgC;AAChC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAC3B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAG3D,MAAM,OAAO,GAAG,CAAmB,EAAO,EAAE,SAAiB,EAAU,EAAE,CACrE,UAAU,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAExE,MAAM,SAAS,GAAG,CAAmB,GAAiB,EAAU,EAAE,CAC9D,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;AAGzC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAU,EAAE;IAEpC,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;QAC7B,OAAO,cAAc,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;EAE7P,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAA;IAC9B,CAAC;IAED,IAAI,IAAI,YAAY,OAAO,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;EAEtU,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAA;IAC9B,CAAC;IAED,IAAI,IAAI,YAAY,SAAS,EAAE,CAAC;QAC5B,OAAO,aAAa,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;EAEzK,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAA;IAC9B,CAAC;IAED,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;QACvB,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,YAAY,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACrM,CAAC;IAED,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QAC9B,OAAO,eAAe,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;EAE1E,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAA;IAC9B,CAAC;IAED,IAAI,IAAI,YAAY,kBAAkB,EAAE,CAAC;QACrC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IACzB,CAAC;IAED,IAAI,IAAI,YAAY,QAAQ,EAAE,CAAC;QAC3B,OAAO,YAAY,IAAI,CAAC,IAAI;eACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAC/C,CAAC,CAAC;EACR,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CAC7F;YACO,CAAC,CAAC,EAAE;;;EAGV,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;;CAE/B,CAAA;IACG,CAAC;IAED,IAAI,IAAI,YAAY,aAAa,EAAE,CAAC;QAChC,OAAO,kBAAkB,IAAI,CAAC,IAAI,EAAE,CAAA;IACxC,CAAC;IAED,IAAI,IAAI,YAAY,QAAQ,EAAE,CAAC;QAC3B,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IAC7E,CAAC;IAED,OAAO,aAAa,IAAI,CAAC,GAAG,QAAQ,IAAI,CAAC,EAAE,cAAc,IAAI,CAAC,WAAW,CAAC,IAAI,cAAc,CAAA;AAEhG,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAA;AAEpC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAqB,EAAU,EAAE,CAC7D,UAAU,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk.d.ts","sourceRoot":"","sources":["../../src/serialization/chunk.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"chunk.d.ts","sourceRoot":"","sources":["../../src/serialization/chunk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiD,kBAAkB,EAAC,MAAM,eAAe,CAAA;AAIhG,eAAO,MAAM,SAAS,SAAgB,MAAM,gCAO3C,CAAA;AAMD,eAAO,MAAM,qBAAqB,SAAU,OAAO,KAAG,OAK4C,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { currentSerializationFormatVersion, lioncoreKey } from "@lionweb/core";
|
|
1
2
|
import { readFileAsJson } from "../json.js";
|
|
2
3
|
export const readChunk = async (path) => {
|
|
3
4
|
try {
|
|
@@ -8,4 +9,10 @@ export const readChunk = async (path) => {
|
|
|
8
9
|
throw e;
|
|
9
10
|
}
|
|
10
11
|
};
|
|
12
|
+
const isRecord = (json) => typeof json === "object" && !Array.isArray(json);
|
|
13
|
+
export const isSerializedLanguages = (json) => isRecord(json)
|
|
14
|
+
&& json["serializationFormatVersion"] === currentSerializationFormatVersion
|
|
15
|
+
&& "languages" in json
|
|
16
|
+
&& Array.isArray(json["languages"])
|
|
17
|
+
&& json["languages"].some((language) => isRecord(language) && language["key"] === lioncoreKey);
|
|
11
18
|
//# sourceMappingURL=chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk.js","sourceRoot":"","sources":["../../src/serialization/chunk.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chunk.js","sourceRoot":"","sources":["../../src/serialization/chunk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iCAAiC,EAAE,WAAW,EAAqB,MAAM,eAAe,CAAA;AAChG,OAAO,EAAC,cAAc,EAAC,MAAM,YAAY,CAAA;AAGzC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAC5C,IAAI,CAAC;QACD,OAAO,cAAc,CAAC,IAAI,CAAuB,CAAA;IACrD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,4BAA4B,CAAC,CAAA;QACnD,MAAM,CAAC,CAAA;IACX,CAAC;AACL,CAAC,CAAA;AAGD,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAmC,EAAE,CAChE,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAEpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAa,EAAW,EAAE,CAC5D,QAAQ,CAAC,IAAI,CAAC;OACX,IAAI,CAAC,4BAA4B,CAAC,KAAK,iCAAiC;OACxE,WAAW,IAAI,IAAI;OACnB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;OAChC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,CAAA"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export { readChunk } from "./chunk.js";
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
1
|
+
export { isSerializedLanguages, readChunk } from "./chunk.js";
|
|
2
|
+
export { orderedSerializationChunk } from "./ordering.js";
|
|
3
|
+
export { shortenedSerializationChunk } from "./shortening.js";
|
|
4
|
+
export { sortedSerializationChunk } from "./sorting.js";
|
|
5
|
+
export { genericAsTreeText } from "./textual-syntax.js";
|
|
4
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/serialization/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/serialization/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAE,SAAS,EAAC,MAAM,YAAY,CAAA;AAC3D,OAAO,EAAC,yBAAyB,EAAC,MAAM,eAAe,CAAA;AACvD,OAAO,EAAC,2BAA2B,EAAC,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAA;AACrD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export { readChunk } from "./chunk.js";
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
1
|
+
export { isSerializedLanguages, readChunk } from "./chunk.js";
|
|
2
|
+
export { orderedSerializationChunk } from "./ordering.js";
|
|
3
|
+
export { shortenedSerializationChunk } from "./shortening.js";
|
|
4
|
+
export { sortedSerializationChunk } from "./sorting.js";
|
|
5
|
+
export { genericAsTreeText } from "./textual-syntax.js";
|
|
4
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/serialization/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/serialization/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAE,SAAS,EAAC,MAAM,YAAY,CAAA;AAC3D,OAAO,EAAC,yBAAyB,EAAC,MAAM,eAAe,CAAA;AACvD,OAAO,EAAC,2BAA2B,EAAC,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAA;AACrD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MetaPointer, SerializationChunk, SerializedLanguageReference, SerializedProperty, SerializedReferenceTarget } from "@lionweb/core";
|
|
2
|
+
declare const orderedMetaPointer: ({ language, version, key }: MetaPointer) => MetaPointer;
|
|
3
|
+
declare const orderedSerializedLanguageReference: ({ key, version }: SerializedLanguageReference) => SerializedLanguageReference;
|
|
4
|
+
declare const orderedSerializedReferenceTarget: ({ reference, resolveInfo }: SerializedReferenceTarget) => SerializedReferenceTarget;
|
|
5
|
+
declare const orderedSerializedProperty: ({ property, value }: SerializedProperty) => SerializedProperty;
|
|
6
|
+
declare const orderedSerializationChunk: ({ serializationFormatVersion, languages, nodes }: SerializationChunk) => SerializationChunk;
|
|
7
|
+
export { orderedMetaPointer, orderedSerializationChunk, orderedSerializedLanguageReference, orderedSerializedProperty, orderedSerializedReferenceTarget };
|
|
8
|
+
//# sourceMappingURL=ordering.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ordering.d.ts","sourceRoot":"","sources":["../../src/serialization/ordering.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,kBAAkB,EAElB,2BAA2B,EAE3B,kBAAkB,EAElB,yBAAyB,EAC5B,MAAM,eAAe,CAAA;AAGtB,QAAA,MAAM,kBAAkB,+BAA8B,WAAW,KAAG,WAK9D,CAAA;AAEN,QAAA,MAAM,kCAAkC,qBAAoB,2BAA2B,KAAG,2BAKpF,CAAA;AAEN,QAAA,MAAM,gCAAgC,+BAA8B,yBAAyB,KAAG,yBAI1F,CAAA;AAEN,QAAA,MAAM,yBAAyB,wBAAuB,kBAAkB,KAAG,kBAIrE,CAAA;AA0BN,QAAA,MAAM,yBAAyB,qDAAoD,kBAAkB,KAAG,kBAKlG,CAAA;AAGN,OAAO,EACH,kBAAkB,EAClB,yBAAyB,EACzB,kCAAkC,EAClC,yBAAyB,EACzB,gCAAgC,EACnC,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const orderedMetaPointer = ({ language, version, key }) => ({
|
|
2
|
+
language,
|
|
3
|
+
version,
|
|
4
|
+
key
|
|
5
|
+
});
|
|
6
|
+
const orderedSerializedLanguageReference = ({ key, version }) => ({
|
|
7
|
+
version,
|
|
8
|
+
key
|
|
9
|
+
// FIXME swap around to align with specification after lionweb-java is aligned as well
|
|
10
|
+
});
|
|
11
|
+
const orderedSerializedReferenceTarget = ({ reference, resolveInfo }) => ({
|
|
12
|
+
resolveInfo,
|
|
13
|
+
reference
|
|
14
|
+
});
|
|
15
|
+
const orderedSerializedProperty = ({ property, value }) => ({
|
|
16
|
+
property: orderedMetaPointer(property),
|
|
17
|
+
value
|
|
18
|
+
});
|
|
19
|
+
const orderedSerializedContainment = ({ containment, children }) => ({
|
|
20
|
+
containment: orderedMetaPointer(containment),
|
|
21
|
+
children
|
|
22
|
+
});
|
|
23
|
+
const orderedSerializedReference = ({ reference, targets }) => ({
|
|
24
|
+
reference: orderedMetaPointer(reference),
|
|
25
|
+
targets: targets.map(orderedSerializedReferenceTarget)
|
|
26
|
+
});
|
|
27
|
+
const orderedSerializedNode = ({ id, classifier, properties, containments, references, annotations, parent }) => ({
|
|
28
|
+
id,
|
|
29
|
+
classifier: orderedMetaPointer(classifier),
|
|
30
|
+
properties: properties.map(orderedSerializedProperty),
|
|
31
|
+
containments: containments.map(orderedSerializedContainment),
|
|
32
|
+
references: references.map(orderedSerializedReference),
|
|
33
|
+
annotations,
|
|
34
|
+
parent
|
|
35
|
+
});
|
|
36
|
+
const orderedSerializationChunk = ({ serializationFormatVersion, languages, nodes }) => ({
|
|
37
|
+
serializationFormatVersion,
|
|
38
|
+
languages: languages.map(orderedSerializedLanguageReference),
|
|
39
|
+
nodes: nodes.map(orderedSerializedNode)
|
|
40
|
+
});
|
|
41
|
+
export { orderedMetaPointer, orderedSerializationChunk, orderedSerializedLanguageReference, orderedSerializedProperty, orderedSerializedReferenceTarget };
|
|
42
|
+
//# sourceMappingURL=ordering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ordering.js","sourceRoot":"","sources":["../../src/serialization/ordering.ts"],"names":[],"mappings":"AAYA,MAAM,kBAAkB,GAAG,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAc,EAAe,EAAE,CAC9E,CAAC;IACG,QAAQ;IACR,OAAO;IACP,GAAG;CACN,CAAC,CAAA;AAEN,MAAM,kCAAkC,GAAG,CAAC,EAAC,GAAG,EAAE,OAAO,EAA8B,EAA+B,EAAE,CACpH,CAAC;IACG,OAAO;IACP,GAAG;IACH,uFAAuF;CAC1F,CAAC,CAAA;AAEN,MAAM,gCAAgC,GAAG,CAAC,EAAC,SAAS,EAAE,WAAW,EAA4B,EAA6B,EAAE,CACxH,CAAC;IACG,WAAW;IACX,SAAS;CACZ,CAAC,CAAA;AAEN,MAAM,yBAAyB,GAAG,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAqB,EAAsB,EAAE,CAC5F,CAAC;IACG,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC;IACtC,KAAK;CACR,CAAC,CAAA;AAEN,MAAM,4BAA4B,GAAG,CAAC,EAAC,WAAW,EAAE,QAAQ,EAAwB,EAAyB,EAAE,CAC3G,CAAC;IACG,WAAW,EAAE,kBAAkB,CAAC,WAAW,CAAC;IAC5C,QAAQ;CACX,CAAC,CAAA;AAEN,MAAM,0BAA0B,GAAG,CAAC,EAAC,SAAS,EAAE,OAAO,EAAsB,EAAuB,EAAE,CAClG,CAAC;IACG,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC;IACxC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;CACzD,CAAC,CAAA;AAEN,MAAM,qBAAqB,GAAG,CAAC,EAAC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAiB,EAAkB,EAAE,CAC1I,CAAC;IACG,EAAE;IACF,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC;IAC1C,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,yBAAyB,CAAC;IACrD,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAC5D,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACtD,WAAW;IACX,MAAM;CACT,CAAC,CAAA;AAGN,MAAM,yBAAyB,GAAG,CAAC,EAAC,0BAA0B,EAAE,SAAS,EAAE,KAAK,EAAqB,EAAsB,EAAE,CACzH,CAAC;IACG,0BAA0B;IAC1B,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,kCAAkC,CAAC;IAC5D,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC;CAC1C,CAAC,CAAA;AAGN,OAAO,EACH,kBAAkB,EAClB,yBAAyB,EACzB,kCAAkC,EAClC,yBAAyB,EACzB,gCAAgC,EACnC,CAAA"}
|
|
@@ -3,5 +3,5 @@ import { SerializationChunk } from "@lionweb/core";
|
|
|
3
3
|
* @return A shortened version of a {@link SerializedModel JSON serialization}, which should make it easier to inspect.
|
|
4
4
|
* Note that the shortened version doesn't contain all information, and could (in theory) be malformed.
|
|
5
5
|
*/
|
|
6
|
-
export declare const
|
|
6
|
+
export declare const shortenedSerializationChunk: ({ nodes }: SerializationChunk) => any[];
|
|
7
7
|
//# sourceMappingURL=shortening.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shortening.d.ts","sourceRoot":"","sources":["../../src/serialization/shortening.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAA;AAGhD;;;GAGG;AACH,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"shortening.d.ts","sourceRoot":"","sources":["../../src/serialization/shortening.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAA;AAGhD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,cAAa,kBAAkB,UAYhE,CAAA"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @return A shortened version of a {@link SerializedModel JSON serialization}, which should make it easier to inspect.
|
|
3
3
|
* Note that the shortened version doesn't contain all information, and could (in theory) be malformed.
|
|
4
4
|
*/
|
|
5
|
-
export const
|
|
5
|
+
export const shortenedSerializationChunk = ({ nodes }) => nodes.map((node) => ({
|
|
6
6
|
id: node.id,
|
|
7
7
|
classifier: node.classifier.key,
|
|
8
8
|
...Object.fromEntries([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shortening.js","sourceRoot":"","sources":["../../src/serialization/shortening.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"shortening.js","sourceRoot":"","sources":["../../src/serialization/shortening.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAAC,KAAK,EAAqB,EAAE,EAAE,CACvE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjB,EAAE,EAAE,IAAI,CAAC,EAAE;IACX,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;IAC/B,GAAG,MAAM,CAAC,WAAW,CACjB;QACI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1E,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;QACvG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAC,SAAS,EAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;KAC/H,CACJ;IACD,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS;CACnC,CAAC,CAAC,CAAA"}
|
|
@@ -3,5 +3,5 @@ import { SerializationChunk } from "@lionweb/core";
|
|
|
3
3
|
* @return A sorted version of a {@link SerializedModel JSON serialization}, which should make it easier to inspect.
|
|
4
4
|
* Note that the sorted version destroy the order of links, which might effectively alter semantics.
|
|
5
5
|
*/
|
|
6
|
-
export declare const
|
|
6
|
+
export declare const sortedSerializationChunk: ({ serializationFormatVersion, languages, nodes }: SerializationChunk) => SerializationChunk;
|
|
7
7
|
//# sourceMappingURL=sorting.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sorting.d.ts","sourceRoot":"","sources":["../../src/serialization/sorting.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sorting.d.ts","sourceRoot":"","sources":["../../src/serialization/sorting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAkB,MAAM,eAAe,CAAA;AAajE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,qDAAoD,kBAAkB,KAAG,kBAsBxG,CAAA"}
|
|
@@ -1,40 +1,28 @@
|
|
|
1
1
|
import { sortByStringKey } from "@lionweb/core";
|
|
2
|
-
|
|
3
|
-
language,
|
|
4
|
-
version,
|
|
5
|
-
key
|
|
6
|
-
});
|
|
7
|
-
const sortedSerializedLanguageReference = ({ key, version }) => ({
|
|
8
|
-
key,
|
|
9
|
-
version
|
|
10
|
-
});
|
|
11
|
-
const sortedSerializedReferenceTarget = ({ reference, resolveInfo }) => ({
|
|
12
|
-
reference,
|
|
13
|
-
resolveInfo
|
|
14
|
-
});
|
|
2
|
+
import { orderedMetaPointer, orderedSerializedLanguageReference, orderedSerializedProperty, orderedSerializedReferenceTarget } from "./ordering.js";
|
|
15
3
|
const pick = (key) => (t) => t[key];
|
|
16
4
|
// TODO (find a nice way to compose such things)
|
|
17
5
|
/**
|
|
18
6
|
* @return A sorted version of a {@link SerializedModel JSON serialization}, which should make it easier to inspect.
|
|
19
7
|
* Note that the sorted version destroy the order of links, which might effectively alter semantics.
|
|
20
8
|
*/
|
|
21
|
-
export const
|
|
9
|
+
export const sortedSerializationChunk = ({ serializationFormatVersion, languages, nodes }) => ({
|
|
22
10
|
serializationFormatVersion,
|
|
23
|
-
languages: sortByStringKey(languages, pick("key")).map(
|
|
11
|
+
languages: sortByStringKey(languages, pick("key")).map(orderedSerializedLanguageReference),
|
|
24
12
|
nodes: sortByStringKey(nodes, pick("id"))
|
|
25
13
|
.map((node) => ({
|
|
26
14
|
id: node.id,
|
|
27
|
-
classifier:
|
|
28
|
-
properties: sortByStringKey(node.properties, ({ property }) => property.key),
|
|
15
|
+
classifier: orderedMetaPointer(node.classifier),
|
|
16
|
+
properties: sortByStringKey(node.properties, ({ property }) => property.key).map(orderedSerializedProperty),
|
|
29
17
|
containments: sortByStringKey(node.containments, ({ containment }) => containment.key)
|
|
30
18
|
.map(({ containment, children }) => ({
|
|
31
|
-
containment,
|
|
19
|
+
containment: orderedMetaPointer(containment),
|
|
32
20
|
children: children.sort()
|
|
33
21
|
})),
|
|
34
22
|
references: sortByStringKey(node.references, ({ reference }) => reference.key)
|
|
35
23
|
.map(({ reference, targets }) => ({
|
|
36
|
-
reference,
|
|
37
|
-
targets: sortByStringKey(targets, pick("reference")).map(
|
|
24
|
+
reference: orderedMetaPointer(reference),
|
|
25
|
+
targets: sortByStringKey(targets, pick("reference")).map(orderedSerializedReferenceTarget)
|
|
38
26
|
})),
|
|
39
27
|
annotations: node.annotations.sort(),
|
|
40
28
|
parent: node.parent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sorting.js","sourceRoot":"","sources":["../../src/serialization/sorting.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sorting.js","sourceRoot":"","sources":["../../src/serialization/sorting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,eAAe,EAAC,MAAM,eAAe,CAAA;AACjE,OAAO,EACH,kBAAkB,EAClB,kCAAkC,EAClC,yBAAyB,EACzB,gCAAgC,EACnC,MAAM,eAAe,CAAA;AAGtB,MAAM,IAAI,GAAG,CAAuB,GAAM,EAAkB,EAAE,CAC1D,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AACpB,iDAAiD;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EAAC,0BAA0B,EAAE,SAAS,EAAE,KAAK,EAAqB,EAAsB,EAAE,CAC/H,CAAC;IACG,0BAA0B;IAC1B,SAAS,EAAE,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,kCAAkC,CAAC;IAC1F,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;SACpC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACZ,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;QAC/C,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC;QACzG,YAAY,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC,WAAW,EAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;aAC3E,GAAG,CAAC,CAAC,EAAC,WAAW,EAAE,QAAQ,EAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,WAAW,EAAE,kBAAkB,CAAC,WAAW,CAAC;YAC5C,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;SAC5B,CAAC,CAAC;QACX,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAC,SAAS,EAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;aACnE,GAAG,CAAC,CAAC,EAAC,SAAS,EAAE,OAAO,EAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC;YACxC,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,gCAAgC,CAAC;SAC7F,CAAC,CAAC;QACX,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;QACpC,MAAM,EAAE,IAAI,CAAC,MAAM;KACtB,CAAC,CAAC;CACV,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textual-syntax.d.ts","sourceRoot":"","sources":["../../src/serialization/textual-syntax.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,kBAAkB,EAMrB,MAAM,eAAe,CAAA;AAiBtB,eAAO,MAAM,iBAAiB,cAAa,kBAAkB,WAkC5D,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { asString, indentWith } from "littoral-templates";
|
|
2
|
+
const indent = indentWith(" ")(1);
|
|
3
|
+
const propertyAsText = ({ property, value }) => `[${property.key}] = ${value}`;
|
|
4
|
+
const referenceTargetAsText = ({ reference, resolveInfo }) => `${reference}${resolveInfo === undefined ? `` : ` (${resolveInfo})`}`;
|
|
5
|
+
const referenceAsText = ({ reference, targets }) => `[${reference.key}] -> ${targets.length === 0 ? `<none>` : targets.map(referenceTargetAsText).join(",")}`;
|
|
6
|
+
export const genericAsTreeText = ({ nodes }) => {
|
|
7
|
+
const nodesById = {};
|
|
8
|
+
nodes.forEach((node) => {
|
|
9
|
+
nodesById[node.id] = node;
|
|
10
|
+
});
|
|
11
|
+
const containmentAsText = ({ containment, children }) => [
|
|
12
|
+
`[${containment.key}]:${children.length === 0 ? ` <none>` : ``}`,
|
|
13
|
+
indent(children.map((childId) => childId in nodesById
|
|
14
|
+
? asText(nodesById[childId])
|
|
15
|
+
: `<child with id=${childId} not present in this chunk>`))
|
|
16
|
+
];
|
|
17
|
+
const asText = ({ id, classifier, properties, containments, references }) => [
|
|
18
|
+
`[${classifier.key}] (id: ${id}) {`,
|
|
19
|
+
indent([
|
|
20
|
+
properties.map(propertyAsText),
|
|
21
|
+
references.map(referenceAsText),
|
|
22
|
+
containments.map(containmentAsText)
|
|
23
|
+
]),
|
|
24
|
+
`}`
|
|
25
|
+
];
|
|
26
|
+
return asString(nodes
|
|
27
|
+
.filter((node) => node.parent === null) // root nodes
|
|
28
|
+
.map(asText));
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=textual-syntax.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textual-syntax.js","sourceRoot":"","sources":["../../src/serialization/textual-syntax.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,QAAQ,EAAE,UAAU,EAAe,MAAM,oBAAoB,CAAA;AAGrE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAGpC,MAAM,cAAc,GAAG,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAqB,EAAE,EAAE,CAC7D,IAAI,QAAQ,CAAC,GAAG,OAAO,KAAK,EAAE,CAAA;AAElC,MAAM,qBAAqB,GAAG,CAAC,EAAC,SAAS,EAAE,WAAW,EAA4B,EAAE,EAAE,CAClF,GAAG,SAAS,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,WAAW,GAAG,EAAE,CAAA;AAEzE,MAAM,eAAe,GAAG,CAAC,EAAC,SAAS,EAAE,OAAO,EAAsB,EAAE,EAAE,CAClE,IAAI,SAAS,CAAC,GAAG,QAAQ,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;AAG7G,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAC,KAAK,EAAqB,EAAE,EAAE;IAC7D,MAAM,SAAS,GAAiC,EAAE,CAAA;IAClD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACnB,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,CAAC,EAAC,WAAW,EAAE,QAAQ,EAAwB,EAAE,EAAE,CACzE;QACI,IAAI,WAAW,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;QAChE,MAAM,CAAC,QAAQ,CAAC,GAAG,CACf,CAAC,OAAO,EAAE,EAAE,CACR,OAAO,IAAI,SAAS;YAChB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC,CAAC,kBAAkB,OAAO,6BAA6B,CACnE,CAAC;KACL,CAAA;IAGL,MAAM,MAAM,GAAG,CAAC,EAAC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAiB,EAAgB,EAAE,CACpG;QACI,IAAI,UAAU,CAAC,GAAG,UAAU,EAAE,KAAK;QACnC,MAAM,CAAC;YACH,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC;YAC9B,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC;YAC/B,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC;SACtC,CAAC;QACF,GAAG;KACN,CAAA;IAEL,OAAO,QAAQ,CACX,KAAK;SACA,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,aAAa;SACpD,GAAG,CAAC,MAAM,CAAC,CACnB,CAAA;AACL,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionweb/utilities",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0-beta.2",
|
|
4
4
|
"description": "LionWeb utilities",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"url": "https://github.com/LionWeb-io/lionweb-typescript/issues"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@lionweb/core": "0.
|
|
18
|
+
"@lionweb/core": "0.6.0-beta.2",
|
|
19
19
|
"littoral-templates": "0.2.2",
|
|
20
20
|
"nanoid": "4.0.2"
|
|
21
21
|
},
|