diff --git a/packages/relottie-parse/__tests__/__snapshots__/structure/attribute-1.snap b/packages/relottie-parse/__tests__/__snapshots__/structure/attribute-1.snap index 18c22dd..c14bd44 100644 --- a/packages/relottie-parse/__tests__/__snapshots__/structure/attribute-1.snap +++ b/packages/relottie-parse/__tests__/__snapshots__/structure/attribute-1.snap @@ -6,49 +6,217 @@ Object { Object { "children": Array [ Object { + "position": Object { + "end": Object { + "column": 15, + "line": 2, + "offset": 16, + }, + "start": Object { + "column": 8, + "line": 2, + "offset": 9, + }, + }, "type": "String", "value": "5.5.7", }, ], - "key": "v", + "key": Object { + "position": Object { + "end": Object { + "column": 6, + "line": 2, + "offset": 7, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, + "type": "Key", + "value": "v", + }, + "position": Object { + "end": Object { + "column": 15, + "line": 2, + "offset": 16, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, "title": "version", "type": "Attribute", }, Object { "children": Array [ Object { + "position": Object { + "end": Object { + "column": 10, + "line": 3, + "offset": 27, + }, + "start": Object { + "column": 9, + "line": 3, + "offset": 26, + }, + }, "type": "Number", "value": 0, }, ], - "key": "ip", + "key": Object { + "position": Object { + "end": Object { + "column": 7, + "line": 3, + "offset": 24, + }, + "start": Object { + "column": 3, + "line": 3, + "offset": 20, + }, + }, + "type": "Key", + "value": "ip", + }, + "position": Object { + "end": Object { + "column": 10, + "line": 3, + "offset": 27, + }, + "start": Object { + "column": 3, + "line": 3, + "offset": 20, + }, + }, "title": "in-point", "type": "Attribute", }, Object { "children": Array [ Object { + "position": Object { + "end": Object { + "column": 13, + "line": 4, + "offset": 41, + }, + "start": Object { + "column": 8, + "line": 4, + "offset": 36, + }, + }, "type": "Boolean", "value": false, }, ], - "key": "c", + "key": Object { + "position": Object { + "end": Object { + "column": 6, + "line": 4, + "offset": 34, + }, + "start": Object { + "column": 3, + "line": 4, + "offset": 31, + }, + }, + "type": "Key", + "value": "c", + }, + "position": Object { + "end": Object { + "column": 13, + "line": 4, + "offset": 41, + }, + "start": Object { + "column": 3, + "line": 4, + "offset": 31, + }, + }, "title": "custom", "type": "Attribute", }, Object { "children": Array [ Object { + "position": Object { + "end": Object { + "column": 16, + "line": 5, + "offset": 58, + }, + "start": Object { + "column": 12, + "line": 5, + "offset": 54, + }, + }, "type": "Null", "value": null, }, ], - "key": "empty", + "key": Object { + "position": Object { + "end": Object { + "column": 10, + "line": 5, + "offset": 52, + }, + "start": Object { + "column": 3, + "line": 5, + "offset": 45, + }, + }, + "type": "Key", + "value": "empty", + }, + "position": Object { + "end": Object { + "column": 16, + "line": 5, + "offset": 58, + }, + "start": Object { + "column": 3, + "line": 5, + "offset": 45, + }, + }, "title": "custom", "type": "Attribute", }, ], "hasExpressions": false, + "position": Object { + "end": Object { + "column": 2, + "line": 6, + "offset": 60, + }, + "start": Object { + "column": 1, + "line": 1, + "offset": 0, + }, + }, "title": "animation", "type": "Root", } diff --git a/packages/relottie-parse/__tests__/__snapshots__/structure/attribute-2.snap b/packages/relottie-parse/__tests__/__snapshots__/structure/attribute-2.snap index 2e0c019..d0f9fa7 100644 --- a/packages/relottie-parse/__tests__/__snapshots__/structure/attribute-2.snap +++ b/packages/relottie-parse/__tests__/__snapshots__/structure/attribute-2.snap @@ -10,58 +10,265 @@ Object { Object { "children": Array [ Object { + "position": Object { + "end": Object { + "column": 17, + "line": 3, + "offset": 30, + }, + "start": Object { + "column": 10, + "line": 3, + "offset": 23, + }, + }, "type": "String", "value": "5.5.7", }, ], - "key": "v", + "key": Object { + "position": Object { + "end": Object { + "column": 8, + "line": 3, + "offset": 21, + }, + "start": Object { + "column": 5, + "line": 3, + "offset": 18, + }, + }, + "type": "Key", + "value": "v", + }, + "position": Object { + "end": Object { + "column": 17, + "line": 3, + "offset": 30, + }, + "start": Object { + "column": 5, + "line": 3, + "offset": 18, + }, + }, "title": "custom", "type": "Attribute", }, Object { "children": Array [ Object { + "position": Object { + "end": Object { + "column": 12, + "line": 4, + "offset": 43, + }, + "start": Object { + "column": 11, + "line": 4, + "offset": 42, + }, + }, "type": "Number", "value": 0, }, ], - "key": "ip", + "key": Object { + "position": Object { + "end": Object { + "column": 9, + "line": 4, + "offset": 40, + }, + "start": Object { + "column": 5, + "line": 4, + "offset": 36, + }, + }, + "type": "Key", + "value": "ip", + }, + "position": Object { + "end": Object { + "column": 12, + "line": 4, + "offset": 43, + }, + "start": Object { + "column": 5, + "line": 4, + "offset": 36, + }, + }, "title": "custom", "type": "Attribute", }, Object { "children": Array [ Object { + "position": Object { + "end": Object { + "column": 15, + "line": 5, + "offset": 59, + }, + "start": Object { + "column": 10, + "line": 5, + "offset": 54, + }, + }, "type": "Boolean", "value": false, }, ], - "key": "c", + "key": Object { + "position": Object { + "end": Object { + "column": 8, + "line": 5, + "offset": 52, + }, + "start": Object { + "column": 5, + "line": 5, + "offset": 49, + }, + }, + "type": "Key", + "value": "c", + }, + "position": Object { + "end": Object { + "column": 15, + "line": 5, + "offset": 59, + }, + "start": Object { + "column": 5, + "line": 5, + "offset": 49, + }, + }, "title": "custom", "type": "Attribute", }, Object { "children": Array [ Object { + "position": Object { + "end": Object { + "column": 18, + "line": 6, + "offset": 78, + }, + "start": Object { + "column": 14, + "line": 6, + "offset": 74, + }, + }, "type": "Null", "value": null, }, ], - "key": "empty", + "key": Object { + "position": Object { + "end": Object { + "column": 12, + "line": 6, + "offset": 72, + }, + "start": Object { + "column": 5, + "line": 6, + "offset": 65, + }, + }, + "type": "Key", + "value": "empty", + }, + "position": Object { + "end": Object { + "column": 18, + "line": 6, + "offset": 78, + }, + "start": Object { + "column": 5, + "line": 6, + "offset": 65, + }, + }, "title": "custom", "type": "Attribute", }, ], + "position": Object { + "end": Object { + "column": 4, + "line": 7, + "offset": 82, + }, + "start": Object { + "column": 11, + "line": 2, + "offset": 12, + }, + }, "title": "custom-children", "type": "Object", }, ], - "key": "name", + "key": Object { + "position": Object { + "end": Object { + "column": 9, + "line": 2, + "offset": 10, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, + "type": "Key", + "value": "name", + }, + "position": Object { + "end": Object { + "column": 4, + "line": 7, + "offset": 82, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, "title": "custom", "type": "Element", }, ], "hasExpressions": false, + "position": Object { + "end": Object { + "column": 2, + "line": 8, + "offset": 84, + }, + "start": Object { + "column": 1, + "line": 1, + "offset": 0, + }, + }, "title": "animation", "type": "Root", } diff --git a/packages/relottie-parse/__tests__/__snapshots__/structure/attribute-3.snap b/packages/relottie-parse/__tests__/__snapshots__/structure/attribute-3.snap index be43056..078dde4 100644 --- a/packages/relottie-parse/__tests__/__snapshots__/structure/attribute-3.snap +++ b/packages/relottie-parse/__tests__/__snapshots__/structure/attribute-3.snap @@ -16,71 +16,329 @@ Object { Object { "children": Array [ Object { + "position": Object { + "end": Object { + "column": 21, + "line": 5, + "offset": 56, + }, + "start": Object { + "column": 14, + "line": 5, + "offset": 49, + }, + }, "type": "String", "value": "5.5.7", }, ], - "key": "v", + "key": Object { + "position": Object { + "end": Object { + "column": 12, + "line": 5, + "offset": 47, + }, + "start": Object { + "column": 9, + "line": 5, + "offset": 44, + }, + }, + "type": "Key", + "value": "v", + }, + "position": Object { + "end": Object { + "column": 21, + "line": 5, + "offset": 56, + }, + "start": Object { + "column": 9, + "line": 5, + "offset": 44, + }, + }, "title": "custom", "type": "Attribute", }, Object { "children": Array [ Object { + "position": Object { + "end": Object { + "column": 16, + "line": 6, + "offset": 73, + }, + "start": Object { + "column": 15, + "line": 6, + "offset": 72, + }, + }, "type": "Number", "value": 0, }, ], - "key": "ip", + "key": Object { + "position": Object { + "end": Object { + "column": 13, + "line": 6, + "offset": 70, + }, + "start": Object { + "column": 9, + "line": 6, + "offset": 66, + }, + }, + "type": "Key", + "value": "ip", + }, + "position": Object { + "end": Object { + "column": 16, + "line": 6, + "offset": 73, + }, + "start": Object { + "column": 9, + "line": 6, + "offset": 66, + }, + }, "title": "custom", "type": "Attribute", }, Object { "children": Array [ Object { + "position": Object { + "end": Object { + "column": 19, + "line": 7, + "offset": 93, + }, + "start": Object { + "column": 14, + "line": 7, + "offset": 88, + }, + }, "type": "Boolean", "value": false, }, ], - "key": "c", + "key": Object { + "position": Object { + "end": Object { + "column": 12, + "line": 7, + "offset": 86, + }, + "start": Object { + "column": 9, + "line": 7, + "offset": 83, + }, + }, + "type": "Key", + "value": "c", + }, + "position": Object { + "end": Object { + "column": 19, + "line": 7, + "offset": 93, + }, + "start": Object { + "column": 9, + "line": 7, + "offset": 83, + }, + }, "title": "custom", "type": "Attribute", }, Object { "children": Array [ Object { + "position": Object { + "end": Object { + "column": 22, + "line": 8, + "offset": 116, + }, + "start": Object { + "column": 18, + "line": 8, + "offset": 112, + }, + }, "type": "Null", "value": null, }, ], - "key": "empty", + "key": Object { + "position": Object { + "end": Object { + "column": 16, + "line": 8, + "offset": 110, + }, + "start": Object { + "column": 9, + "line": 8, + "offset": 103, + }, + }, + "type": "Key", + "value": "empty", + }, + "position": Object { + "end": Object { + "column": 22, + "line": 8, + "offset": 116, + }, + "start": Object { + "column": 9, + "line": 8, + "offset": 103, + }, + }, "title": "custom", "type": "Attribute", }, ], + "position": Object { + "end": Object { + "column": 8, + "line": 9, + "offset": 124, + }, + "start": Object { + "column": 15, + "line": 4, + "offset": 34, + }, + }, "title": "custom-children", "type": "Object", }, ], - "key": "name", + "key": Object { + "position": Object { + "end": Object { + "column": 13, + "line": 4, + "offset": 32, + }, + "start": Object { + "column": 7, + "line": 4, + "offset": 26, + }, + }, + "type": "Key", + "value": "name", + }, + "position": Object { + "end": Object { + "column": 8, + "line": 9, + "offset": 124, + }, + "start": Object { + "column": 7, + "line": 4, + "offset": 26, + }, + }, "title": "custom", "type": "Element", }, ], + "position": Object { + "end": Object { + "column": 6, + "line": 10, + "offset": 130, + }, + "start": Object { + "column": 5, + "line": 3, + "offset": 18, + }, + }, "title": "custom", "type": "Object", }, ], + "position": Object { + "end": Object { + "column": 4, + "line": 11, + "offset": 134, + }, + "start": Object { + "column": 11, + "line": 2, + "offset": 12, + }, + }, "title": "custom-children", "type": "Array", }, ], - "key": "item", + "key": Object { + "position": Object { + "end": Object { + "column": 9, + "line": 2, + "offset": 10, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, + "type": "Key", + "value": "item", + }, + "position": Object { + "end": Object { + "column": 4, + "line": 11, + "offset": 134, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, "title": "custom", "type": "Collection", }, ], "hasExpressions": false, + "position": Object { + "end": Object { + "column": 2, + "line": 12, + "offset": 136, + }, + "start": Object { + "column": 1, + "line": 1, + "offset": 0, + }, + }, "title": "animation", "type": "Root", } diff --git a/packages/relottie-parse/__tests__/__snapshots__/structure/collection-1.snap b/packages/relottie-parse/__tests__/__snapshots__/structure/collection-1.snap index 46e4fd6..f539f2e 100644 --- a/packages/relottie-parse/__tests__/__snapshots__/structure/collection-1.snap +++ b/packages/relottie-parse/__tests__/__snapshots__/structure/collection-1.snap @@ -7,16 +7,67 @@ Object { "children": Array [ Object { "children": Array [], + "position": Object { + "end": Object { + "column": 13, + "line": 2, + "offset": 14, + }, + "start": Object { + "column": 11, + "line": 2, + "offset": 12, + }, + }, "title": "custom-children", "type": "Array", }, ], - "key": "item", + "key": Object { + "position": Object { + "end": Object { + "column": 9, + "line": 2, + "offset": 10, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, + "type": "Key", + "value": "item", + }, + "position": Object { + "end": Object { + "column": 13, + "line": 2, + "offset": 14, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, "title": "custom", "type": "Collection", }, ], "hasExpressions": false, + "position": Object { + "end": Object { + "column": 2, + "line": 3, + "offset": 16, + }, + "start": Object { + "column": 1, + "line": 1, + "offset": 0, + }, + }, "title": "animation", "type": "Root", } diff --git a/packages/relottie-parse/__tests__/__snapshots__/structure/collection-2.snap b/packages/relottie-parse/__tests__/__snapshots__/structure/collection-2.snap index 929c1aa..581cbf2 100644 --- a/packages/relottie-parse/__tests__/__snapshots__/structure/collection-2.snap +++ b/packages/relottie-parse/__tests__/__snapshots__/structure/collection-2.snap @@ -9,25 +9,100 @@ Object { "children": Array [ Object { "children": Array [], + "position": Object { + "end": Object { + "column": 14, + "line": 2, + "offset": 15, + }, + "start": Object { + "column": 12, + "line": 2, + "offset": 13, + }, + }, "title": "custom", "type": "Array", }, Object { "children": Array [], + "position": Object { + "end": Object { + "column": 18, + "line": 2, + "offset": 19, + }, + "start": Object { + "column": 16, + "line": 2, + "offset": 17, + }, + }, "title": "custom", "type": "Array", }, ], + "position": Object { + "end": Object { + "column": 19, + "line": 2, + "offset": 20, + }, + "start": Object { + "column": 11, + "line": 2, + "offset": 12, + }, + }, "title": "custom-children", "type": "Array", }, ], - "key": "item", + "key": Object { + "position": Object { + "end": Object { + "column": 9, + "line": 2, + "offset": 10, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, + "type": "Key", + "value": "item", + }, + "position": Object { + "end": Object { + "column": 19, + "line": 2, + "offset": 20, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, "title": "custom", "type": "Collection", }, ], "hasExpressions": false, + "position": Object { + "end": Object { + "column": 2, + "line": 3, + "offset": 22, + }, + "start": Object { + "column": 1, + "line": 1, + "offset": 0, + }, + }, "title": "animation", "type": "Root", } diff --git a/packages/relottie-parse/__tests__/__snapshots__/structure/collection-3.snap b/packages/relottie-parse/__tests__/__snapshots__/structure/collection-3.snap index fab21ac..71d8508 100644 --- a/packages/relottie-parse/__tests__/__snapshots__/structure/collection-3.snap +++ b/packages/relottie-parse/__tests__/__snapshots__/structure/collection-3.snap @@ -11,24 +11,99 @@ Object { "children": Array [ Object { "children": Array [], + "position": Object { + "end": Object { + "column": 15, + "line": 2, + "offset": 16, + }, + "start": Object { + "column": 13, + "line": 2, + "offset": 14, + }, + }, "title": "custom", "type": "Array", }, ], + "position": Object { + "end": Object { + "column": 16, + "line": 2, + "offset": 17, + }, + "start": Object { + "column": 12, + "line": 2, + "offset": 13, + }, + }, "title": "custom", "type": "Array", }, ], + "position": Object { + "end": Object { + "column": 17, + "line": 2, + "offset": 18, + }, + "start": Object { + "column": 11, + "line": 2, + "offset": 12, + }, + }, "title": "custom-children", "type": "Array", }, ], - "key": "item", + "key": Object { + "position": Object { + "end": Object { + "column": 9, + "line": 2, + "offset": 10, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, + "type": "Key", + "value": "item", + }, + "position": Object { + "end": Object { + "column": 17, + "line": 2, + "offset": 18, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, "title": "custom", "type": "Collection", }, ], "hasExpressions": false, + "position": Object { + "end": Object { + "column": 2, + "line": 3, + "offset": 20, + }, + "start": Object { + "column": 1, + "line": 1, + "offset": 0, + }, + }, "title": "animation", "type": "Root", } diff --git a/packages/relottie-parse/__tests__/__snapshots__/structure/collection-4.snap b/packages/relottie-parse/__tests__/__snapshots__/structure/collection-4.snap index 51813dc..d7dc9ac 100644 --- a/packages/relottie-parse/__tests__/__snapshots__/structure/collection-4.snap +++ b/packages/relottie-parse/__tests__/__snapshots__/structure/collection-4.snap @@ -13,29 +13,131 @@ Object { "children": Array [ Object { "children": Array [], + "position": Object { + "end": Object { + "column": 18, + "line": 4, + "offset": 37, + }, + "start": Object { + "column": 16, + "line": 4, + "offset": 35, + }, + }, "title": "custom-children", "type": "Array", }, ], - "key": "item2", + "key": Object { + "position": Object { + "end": Object { + "column": 14, + "line": 4, + "offset": 33, + }, + "start": Object { + "column": 7, + "line": 4, + "offset": 26, + }, + }, + "type": "Key", + "value": "item2", + }, + "position": Object { + "end": Object { + "column": 18, + "line": 4, + "offset": 37, + }, + "start": Object { + "column": 7, + "line": 4, + "offset": 26, + }, + }, "title": "custom", "type": "Collection", }, ], + "position": Object { + "end": Object { + "column": 6, + "line": 5, + "offset": 43, + }, + "start": Object { + "column": 5, + "line": 3, + "offset": 18, + }, + }, "title": "custom", "type": "Object", }, ], + "position": Object { + "end": Object { + "column": 4, + "line": 6, + "offset": 47, + }, + "start": Object { + "column": 11, + "line": 2, + "offset": 12, + }, + }, "title": "custom-children", "type": "Array", }, ], - "key": "item", + "key": Object { + "position": Object { + "end": Object { + "column": 9, + "line": 2, + "offset": 10, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, + "type": "Key", + "value": "item", + }, + "position": Object { + "end": Object { + "column": 4, + "line": 6, + "offset": 47, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, "title": "custom", "type": "Collection", }, ], "hasExpressions": false, + "position": Object { + "end": Object { + "column": 2, + "line": 7, + "offset": 49, + }, + "start": Object { + "column": 1, + "line": 1, + "offset": 0, + }, + }, "title": "animation", "type": "Root", } diff --git a/packages/relottie-parse/__tests__/__snapshots__/structure/element-1.snap b/packages/relottie-parse/__tests__/__snapshots__/structure/element-1.snap index 098e7f6..801069d 100644 --- a/packages/relottie-parse/__tests__/__snapshots__/structure/element-1.snap +++ b/packages/relottie-parse/__tests__/__snapshots__/structure/element-1.snap @@ -7,16 +7,67 @@ Object { "children": Array [ Object { "children": Array [], + "position": Object { + "end": Object { + "column": 13, + "line": 2, + "offset": 14, + }, + "start": Object { + "column": 11, + "line": 2, + "offset": 12, + }, + }, "title": "custom-children", "type": "Object", }, ], - "key": "name", + "key": Object { + "position": Object { + "end": Object { + "column": 9, + "line": 2, + "offset": 10, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, + "type": "Key", + "value": "name", + }, + "position": Object { + "end": Object { + "column": 13, + "line": 2, + "offset": 14, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, "title": "custom", "type": "Element", }, ], "hasExpressions": false, + "position": Object { + "end": Object { + "column": 2, + "line": 3, + "offset": 16, + }, + "start": Object { + "column": 1, + "line": 1, + "offset": 0, + }, + }, "title": "animation", "type": "Root", } diff --git a/packages/relottie-parse/__tests__/__snapshots__/structure/element-2.snap b/packages/relottie-parse/__tests__/__snapshots__/structure/element-2.snap index cd59ec5..98cf392 100644 --- a/packages/relottie-parse/__tests__/__snapshots__/structure/element-2.snap +++ b/packages/relottie-parse/__tests__/__snapshots__/structure/element-2.snap @@ -13,29 +13,131 @@ Object { "children": Array [ Object { "children": Array [], + "position": Object { + "end": Object { + "column": 17, + "line": 4, + "offset": 36, + }, + "start": Object { + "column": 15, + "line": 4, + "offset": 34, + }, + }, "title": "custom-children", "type": "Object", }, ], - "key": "name", + "key": Object { + "position": Object { + "end": Object { + "column": 13, + "line": 4, + "offset": 32, + }, + "start": Object { + "column": 7, + "line": 4, + "offset": 26, + }, + }, + "type": "Key", + "value": "name", + }, + "position": Object { + "end": Object { + "column": 17, + "line": 4, + "offset": 36, + }, + "start": Object { + "column": 7, + "line": 4, + "offset": 26, + }, + }, "title": "custom", "type": "Element", }, ], + "position": Object { + "end": Object { + "column": 6, + "line": 5, + "offset": 42, + }, + "start": Object { + "column": 5, + "line": 3, + "offset": 18, + }, + }, "title": "custom", "type": "Object", }, ], + "position": Object { + "end": Object { + "column": 4, + "line": 6, + "offset": 46, + }, + "start": Object { + "column": 11, + "line": 2, + "offset": 12, + }, + }, "title": "custom-children", "type": "Array", }, ], - "key": "item", + "key": Object { + "position": Object { + "end": Object { + "column": 9, + "line": 2, + "offset": 10, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, + "type": "Key", + "value": "item", + }, + "position": Object { + "end": Object { + "column": 4, + "line": 6, + "offset": 46, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, "title": "custom", "type": "Collection", }, ], "hasExpressions": false, + "position": Object { + "end": Object { + "column": 2, + "line": 7, + "offset": 48, + }, + "start": Object { + "column": 1, + "line": 1, + "offset": 0, + }, + }, "title": "animation", "type": "Root", } diff --git a/packages/relottie-parse/__tests__/__snapshots__/structure/element-3.snap b/packages/relottie-parse/__tests__/__snapshots__/structure/element-3.snap index 89636f9..0d015ee 100644 --- a/packages/relottie-parse/__tests__/__snapshots__/structure/element-3.snap +++ b/packages/relottie-parse/__tests__/__snapshots__/structure/element-3.snap @@ -23,51 +23,243 @@ Object { "children": Array [ Object { "children": Array [], + "position": Object { + "end": Object { + "column": 24, + "line": 7, + "offset": 90, + }, + "start": Object { + "column": 22, + "line": 7, + "offset": 88, + }, + }, "title": "custom-children", "type": "Object", }, ], - "key": "name2", + "key": Object { + "position": Object { + "end": Object { + "column": 20, + "line": 7, + "offset": 86, + }, + "start": Object { + "column": 13, + "line": 7, + "offset": 79, + }, + }, + "type": "Key", + "value": "name2", + }, + "position": Object { + "end": Object { + "column": 24, + "line": 7, + "offset": 90, + }, + "start": Object { + "column": 13, + "line": 7, + "offset": 79, + }, + }, "title": "custom", "type": "Element", }, ], + "position": Object { + "end": Object { + "column": 12, + "line": 8, + "offset": 102, + }, + "start": Object { + "column": 11, + "line": 6, + "offset": 65, + }, + }, "title": "custom", "type": "Object", }, ], + "position": Object { + "end": Object { + "column": 10, + "line": 9, + "offset": 112, + }, + "start": Object { + "column": 18, + "line": 5, + "offset": 53, + }, + }, "title": "custom-children", "type": "Array", }, ], - "key": "item2", + "key": Object { + "position": Object { + "end": Object { + "column": 16, + "line": 5, + "offset": 51, + }, + "start": Object { + "column": 9, + "line": 5, + "offset": 44, + }, + }, + "type": "Key", + "value": "item2", + }, + "position": Object { + "end": Object { + "column": 10, + "line": 9, + "offset": 112, + }, + "start": Object { + "column": 9, + "line": 5, + "offset": 44, + }, + }, "title": "custom", "type": "Collection", }, ], + "position": Object { + "end": Object { + "column": 8, + "line": 10, + "offset": 120, + }, + "start": Object { + "column": 15, + "line": 4, + "offset": 34, + }, + }, "title": "custom-children", "type": "Object", }, ], - "key": "name", + "key": Object { + "position": Object { + "end": Object { + "column": 13, + "line": 4, + "offset": 32, + }, + "start": Object { + "column": 7, + "line": 4, + "offset": 26, + }, + }, + "type": "Key", + "value": "name", + }, + "position": Object { + "end": Object { + "column": 8, + "line": 10, + "offset": 120, + }, + "start": Object { + "column": 7, + "line": 4, + "offset": 26, + }, + }, "title": "custom", "type": "Element", }, ], + "position": Object { + "end": Object { + "column": 6, + "line": 11, + "offset": 126, + }, + "start": Object { + "column": 5, + "line": 3, + "offset": 18, + }, + }, "title": "custom", "type": "Object", }, ], + "position": Object { + "end": Object { + "column": 4, + "line": 12, + "offset": 130, + }, + "start": Object { + "column": 11, + "line": 2, + "offset": 12, + }, + }, "title": "custom-children", "type": "Array", }, ], - "key": "item", + "key": Object { + "position": Object { + "end": Object { + "column": 9, + "line": 2, + "offset": 10, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, + "type": "Key", + "value": "item", + }, + "position": Object { + "end": Object { + "column": 4, + "line": 12, + "offset": 130, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, "title": "custom", "type": "Collection", }, ], "hasExpressions": false, + "position": Object { + "end": Object { + "column": 2, + "line": 13, + "offset": 132, + }, + "start": Object { + "column": 1, + "line": 1, + "offset": 0, + }, + }, "title": "animation", "type": "Root", } diff --git a/packages/relottie-parse/__tests__/__snapshots__/structure/primitive-1.snap b/packages/relottie-parse/__tests__/__snapshots__/structure/primitive-1.snap index 333dd64..914f259 100644 --- a/packages/relottie-parse/__tests__/__snapshots__/structure/primitive-1.snap +++ b/packages/relottie-parse/__tests__/__snapshots__/structure/primitive-1.snap @@ -8,32 +8,131 @@ Object { Object { "children": Array [ Object { + "position": Object { + "end": Object { + "column": 18, + "line": 2, + "offset": 19, + }, + "start": Object { + "column": 12, + "line": 2, + "offset": 13, + }, + }, "type": "String", "value": "text", }, Object { + "position": Object { + "end": Object { + "column": 21, + "line": 2, + "offset": 22, + }, + "start": Object { + "column": 20, + "line": 2, + "offset": 21, + }, + }, "type": "Number", "value": 0, }, Object { + "position": Object { + "end": Object { + "column": 27, + "line": 2, + "offset": 28, + }, + "start": Object { + "column": 23, + "line": 2, + "offset": 24, + }, + }, "type": "Boolean", "value": true, }, Object { + "position": Object { + "end": Object { + "column": 33, + "line": 2, + "offset": 34, + }, + "start": Object { + "column": 29, + "line": 2, + "offset": 30, + }, + }, "type": "Null", "value": null, }, ], + "position": Object { + "end": Object { + "column": 34, + "line": 2, + "offset": 35, + }, + "start": Object { + "column": 11, + "line": 2, + "offset": 12, + }, + }, "title": "custom-children", "type": "Array", }, ], - "key": "item", + "key": Object { + "position": Object { + "end": Object { + "column": 9, + "line": 2, + "offset": 10, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, + "type": "Key", + "value": "item", + }, + "position": Object { + "end": Object { + "column": 34, + "line": 2, + "offset": 35, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, "title": "custom", "type": "Collection", }, ], "hasExpressions": false, + "position": Object { + "end": Object { + "column": 2, + "line": 3, + "offset": 37, + }, + "start": Object { + "column": 1, + "line": 1, + "offset": 0, + }, + }, "title": "animation", "type": "Root", } diff --git a/packages/relottie-parse/__tests__/__snapshots__/structure/primitive-2.snap b/packages/relottie-parse/__tests__/__snapshots__/structure/primitive-2.snap index 2f6b300..3f362a5 100644 --- a/packages/relottie-parse/__tests__/__snapshots__/structure/primitive-2.snap +++ b/packages/relottie-parse/__tests__/__snapshots__/structure/primitive-2.snap @@ -10,36 +10,147 @@ Object { Object { "children": Array [ Object { + "position": Object { + "end": Object { + "column": 19, + "line": 2, + "offset": 20, + }, + "start": Object { + "column": 13, + "line": 2, + "offset": 14, + }, + }, "type": "String", "value": "text", }, Object { + "position": Object { + "end": Object { + "column": 22, + "line": 2, + "offset": 23, + }, + "start": Object { + "column": 21, + "line": 2, + "offset": 22, + }, + }, "type": "Number", "value": 0, }, Object { + "position": Object { + "end": Object { + "column": 28, + "line": 2, + "offset": 29, + }, + "start": Object { + "column": 24, + "line": 2, + "offset": 25, + }, + }, "type": "Boolean", "value": true, }, Object { + "position": Object { + "end": Object { + "column": 34, + "line": 2, + "offset": 35, + }, + "start": Object { + "column": 30, + "line": 2, + "offset": 31, + }, + }, "type": "Null", "value": null, }, ], + "position": Object { + "end": Object { + "column": 35, + "line": 2, + "offset": 36, + }, + "start": Object { + "column": 12, + "line": 2, + "offset": 13, + }, + }, "title": "custom", "type": "Array", }, ], + "position": Object { + "end": Object { + "column": 36, + "line": 2, + "offset": 37, + }, + "start": Object { + "column": 11, + "line": 2, + "offset": 12, + }, + }, "title": "custom-children", "type": "Array", }, ], - "key": "item", + "key": Object { + "position": Object { + "end": Object { + "column": 9, + "line": 2, + "offset": 10, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, + "type": "Key", + "value": "item", + }, + "position": Object { + "end": Object { + "column": 36, + "line": 2, + "offset": 37, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, "title": "custom", "type": "Collection", }, ], "hasExpressions": false, + "position": Object { + "end": Object { + "column": 2, + "line": 3, + "offset": 39, + }, + "start": Object { + "column": 1, + "line": 1, + "offset": 0, + }, + }, "title": "animation", "type": "Root", } diff --git a/packages/relottie-parse/__tests__/__snapshots__/structure/primitive-3.snap b/packages/relottie-parse/__tests__/__snapshots__/structure/primitive-3.snap index 5810597..6c1cf2e 100644 --- a/packages/relottie-parse/__tests__/__snapshots__/structure/primitive-3.snap +++ b/packages/relottie-parse/__tests__/__snapshots__/structure/primitive-3.snap @@ -12,41 +12,179 @@ Object { Object { "children": Array [ Object { + "position": Object { + "end": Object { + "column": 20, + "line": 3, + "offset": 33, + }, + "start": Object { + "column": 14, + "line": 3, + "offset": 27, + }, + }, "type": "String", "value": "text", }, Object { + "position": Object { + "end": Object { + "column": 23, + "line": 3, + "offset": 36, + }, + "start": Object { + "column": 22, + "line": 3, + "offset": 35, + }, + }, "type": "Number", "value": 0, }, Object { + "position": Object { + "end": Object { + "column": 29, + "line": 3, + "offset": 42, + }, + "start": Object { + "column": 25, + "line": 3, + "offset": 38, + }, + }, "type": "Boolean", "value": true, }, Object { + "position": Object { + "end": Object { + "column": 35, + "line": 3, + "offset": 48, + }, + "start": Object { + "column": 31, + "line": 3, + "offset": 44, + }, + }, "type": "Null", "value": null, }, ], + "position": Object { + "end": Object { + "column": 36, + "line": 3, + "offset": 49, + }, + "start": Object { + "column": 13, + "line": 3, + "offset": 26, + }, + }, "title": "custom-children", "type": "Array", }, ], - "key": "item", + "key": Object { + "position": Object { + "end": Object { + "column": 11, + "line": 3, + "offset": 24, + }, + "start": Object { + "column": 5, + "line": 3, + "offset": 18, + }, + }, + "type": "Key", + "value": "item", + }, + "position": Object { + "end": Object { + "column": 36, + "line": 3, + "offset": 49, + }, + "start": Object { + "column": 5, + "line": 3, + "offset": 18, + }, + }, "title": "custom", "type": "Collection", }, ], + "position": Object { + "end": Object { + "column": 4, + "line": 4, + "offset": 53, + }, + "start": Object { + "column": 11, + "line": 2, + "offset": 12, + }, + }, "title": "custom-children", "type": "Object", }, ], - "key": "name", + "key": Object { + "position": Object { + "end": Object { + "column": 9, + "line": 2, + "offset": 10, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, + "type": "Key", + "value": "name", + }, + "position": Object { + "end": Object { + "column": 4, + "line": 4, + "offset": 53, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, "title": "custom", "type": "Element", }, ], "hasExpressions": false, + "position": Object { + "end": Object { + "column": 2, + "line": 5, + "offset": 55, + }, + "start": Object { + "column": 1, + "line": 1, + "offset": 0, + }, + }, "title": "animation", "type": "Root", } diff --git a/packages/relottie-parse/__tests__/__snapshots__/structure/primitive-4.snap b/packages/relottie-parse/__tests__/__snapshots__/structure/primitive-4.snap index f4ee893..55f8cee 100644 --- a/packages/relottie-parse/__tests__/__snapshots__/structure/primitive-4.snap +++ b/packages/relottie-parse/__tests__/__snapshots__/structure/primitive-4.snap @@ -14,45 +14,195 @@ Object { Object { "children": Array [ Object { + "position": Object { + "end": Object { + "column": 23, + "line": 4, + "offset": 42, + }, + "start": Object { + "column": 17, + "line": 4, + "offset": 36, + }, + }, "type": "String", "value": "text", }, Object { + "position": Object { + "end": Object { + "column": 26, + "line": 4, + "offset": 45, + }, + "start": Object { + "column": 25, + "line": 4, + "offset": 44, + }, + }, "type": "Number", "value": 0, }, Object { + "position": Object { + "end": Object { + "column": 32, + "line": 4, + "offset": 51, + }, + "start": Object { + "column": 28, + "line": 4, + "offset": 47, + }, + }, "type": "Boolean", "value": true, }, Object { + "position": Object { + "end": Object { + "column": 38, + "line": 4, + "offset": 57, + }, + "start": Object { + "column": 34, + "line": 4, + "offset": 53, + }, + }, "type": "Null", "value": null, }, ], + "position": Object { + "end": Object { + "column": 39, + "line": 4, + "offset": 58, + }, + "start": Object { + "column": 16, + "line": 4, + "offset": 35, + }, + }, "title": "custom-children", "type": "Array", }, ], - "key": "item2", + "key": Object { + "position": Object { + "end": Object { + "column": 14, + "line": 4, + "offset": 33, + }, + "start": Object { + "column": 7, + "line": 4, + "offset": 26, + }, + }, + "type": "Key", + "value": "item2", + }, + "position": Object { + "end": Object { + "column": 39, + "line": 4, + "offset": 58, + }, + "start": Object { + "column": 7, + "line": 4, + "offset": 26, + }, + }, "title": "custom", "type": "Collection", }, ], + "position": Object { + "end": Object { + "column": 6, + "line": 5, + "offset": 64, + }, + "start": Object { + "column": 5, + "line": 3, + "offset": 18, + }, + }, "title": "custom", "type": "Object", }, ], + "position": Object { + "end": Object { + "column": 4, + "line": 6, + "offset": 68, + }, + "start": Object { + "column": 11, + "line": 2, + "offset": 12, + }, + }, "title": "custom-children", "type": "Array", }, ], - "key": "item", + "key": Object { + "position": Object { + "end": Object { + "column": 9, + "line": 2, + "offset": 10, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, + "type": "Key", + "value": "item", + }, + "position": Object { + "end": Object { + "column": 4, + "line": 6, + "offset": 68, + }, + "start": Object { + "column": 3, + "line": 2, + "offset": 4, + }, + }, "title": "custom", "type": "Collection", }, ], "hasExpressions": false, + "position": Object { + "end": Object { + "column": 2, + "line": 7, + "offset": 70, + }, + "start": Object { + "column": 1, + "line": 1, + "offset": 0, + }, + }, "title": "animation", "type": "Root", } diff --git a/packages/relottie-parse/__tests__/__snapshots__/structure/root-1.snap b/packages/relottie-parse/__tests__/__snapshots__/structure/root-1.snap index 93a38f4..4a3cf53 100644 --- a/packages/relottie-parse/__tests__/__snapshots__/structure/root-1.snap +++ b/packages/relottie-parse/__tests__/__snapshots__/structure/root-1.snap @@ -4,6 +4,18 @@ exports[`parse() fixtures structure Test in root-1.txt should parse correctly 1` Object { "children": Array [], "hasExpressions": false, + "position": Object { + "end": Object { + "column": 3, + "line": 1, + "offset": 2, + }, + "start": Object { + "column": 1, + "line": 1, + "offset": 0, + }, + }, "title": "animation", "type": "Root", } diff --git a/packages/relottie-parse/__tests__/index.test.ts b/packages/relottie-parse/__tests__/index.test.ts index 13367be..4b55e98 100644 --- a/packages/relottie-parse/__tests__/index.test.ts +++ b/packages/relottie-parse/__tests__/index.test.ts @@ -37,7 +37,7 @@ describe('parse()', () => { const fileName = path.parse(file).name; test(`Test in ${file} should parse correctly`, () => { - const tree = unified().use(relottieParse, { position: false }).parse(jsonFile); + const tree = unified().use(relottieParse, { position: true }).parse(jsonFile); expect(tree).toMatchSpecificSnapshot(`${snapshotDirPath + fileName}.snap`); }); diff --git a/packages/relottie-parse/playground.ts b/packages/relottie-parse/playground.ts index 2b1d32c..891d1a5 100644 --- a/packages/relottie-parse/playground.ts +++ b/packages/relottie-parse/playground.ts @@ -23,7 +23,7 @@ function emptyCompiler(this: Plugin<[], Root, string>): void { Object.assign(this, { Compiler: compiler }); } -const name = 'slots'; +const name = '3d-layers-animation'; const path = `../../__fixtures__/features/${name}.json`; const lottieJsonFile = readFileSync(path, 'utf8'); diff --git a/packages/relottie-parse/src/entities.ts b/packages/relottie-parse/src/entities.ts index 9f5205e..9ac9bed 100644 --- a/packages/relottie-parse/src/entities.ts +++ b/packages/relottie-parse/src/entities.ts @@ -123,7 +123,7 @@ export interface NoKeyEntity { /** * defaultTitle will be used if couldn't find title in "dependent" */ - defaultTitle: ParentTitle; + defaultResult: ParentTitle; /** * if dependent is undefined, the "defaultTitle" will be used */ @@ -141,7 +141,7 @@ type AnimatedPropertyTitle = const animatedPropEntity = (parentTitle: AnimatedPropertyTitle, kTitle: AnyTitle): NoKeyEntity => { return { - defaultTitle: `${parentTitle}-static` as ObjectTitle, + defaultResult: `${parentTitle}-static` as ObjectTitle, dependents: [ { key: 'k', @@ -188,7 +188,7 @@ const animatedMultidimensionalProp: NoKeyEntity = { export const objectEntity: NoKeyEntityMap = { [CT.composition]: { - defaultTitle: OT.layerPrecomposition, + defaultResult: OT.layerPrecomposition, dependents: [ { key: 'ty', @@ -220,7 +220,7 @@ export const objectEntity: NoKeyEntityMap = { ], }, [CT.shapeList]: { - defaultTitle: OT.shapeRectangle, + defaultResult: OT.shapeRectangle, dependents: [ { key: 'ty', @@ -270,7 +270,7 @@ export const objectEntity: NoKeyEntityMap = { ], }, [CT.assets]: { - defaultTitle: OT.assetPrecomposition, + defaultResult: OT.assetPrecomposition, dependents: [ { key: 'w', type: 'Number', title: NT.width, resultTitle: OT.assetImage }, { key: 'h', type: 'Number', title: NT.height, resultTitle: OT.assetImage }, @@ -303,7 +303,7 @@ export const objectEntity: NoKeyEntityMap = { ], }, [CT.effectList]: { - defaultTitle: OT.effectCustom, + defaultResult: OT.effectCustom, dependents: [ { key: 'ty', @@ -335,7 +335,7 @@ export const objectEntity: NoKeyEntityMap = { ], }, [CT.effectParamList]: { - defaultTitle: OT.effectParamSlider, + defaultResult: OT.effectParamSlider, dependents: [ { key: 'ty', @@ -359,7 +359,7 @@ export const objectEntity: NoKeyEntityMap = { ], }, [CT.layerStyleList]: { - defaultTitle: OT.layerStyleStroke, + defaultResult: OT.layerStyleStroke, dependents: [ { key: 'ty', @@ -390,7 +390,7 @@ export const objectEntity: NoKeyEntityMap = { ...animatedShapeProp, }, [ET.animatedShapeBezier]: { - defaultTitle: OT.bezier, + defaultResult: OT.bezier, }, [ET.animatedColorProp]: { ...animatedColorProp, @@ -402,81 +402,63 @@ export const objectEntity: NoKeyEntityMap = { ...animatedPositionProp, }, [CT.keyframeList]: { - defaultTitle: OT.keyframe, + defaultResult: OT.keyframe, }, [CT.keyframeValue]: { - defaultTitle: OT.bezier, + defaultResult: OT.bezier, }, [CT.keyframeEndValue]: { - defaultTitle: OT.bezier, + defaultResult: OT.bezier, }, [CT.positionKeyframeList]: { - defaultTitle: OT.positionKeyframe, + defaultResult: OT.positionKeyframe, }, [ET.keyframeInTangent]: { - defaultTitle: OT.keyframeBezierHandle, + defaultResult: OT.keyframeBezierHandle, }, [ET.keyframeListInTangent]: { - defaultTitle: OT.keyframeBezierHandle, + defaultResult: OT.keyframeBezierHandle, }, [ET.keyframeValueInTangent]: { - defaultTitle: OT.keyframeBezierHandle, + defaultResult: OT.keyframeBezierHandle, }, [ET.positionKeyframeInTangent]: { - defaultTitle: OT.keyframeBezierHandle, + defaultResult: OT.keyframeBezierHandle, }, [ET.positionKeyframeListInTangent]: { - defaultTitle: OT.keyframeBezierHandle, + defaultResult: OT.keyframeBezierHandle, }, [ET.keyframeBezierHandleInTangent]: { - defaultTitle: OT.keyframeBezierHandle, + defaultResult: OT.keyframeBezierHandle, }, [ET.shapeKeyframeInTangent]: { - defaultTitle: OT.keyframeBezierHandle, + defaultResult: OT.keyframeBezierHandle, }, [ET.keyframeOutTangent]: { - defaultTitle: OT.keyframeBezierHandle, + defaultResult: OT.keyframeBezierHandle, }, [ET.keyframeListOutTangent]: { - defaultTitle: OT.keyframeBezierHandle, + defaultResult: OT.keyframeBezierHandle, }, [ET.keyframeValueOutTangent]: { - defaultTitle: OT.keyframeBezierHandle, + defaultResult: OT.keyframeBezierHandle, }, [ET.positionKeyframeOutTangent]: { - defaultTitle: OT.keyframeBezierHandle, + defaultResult: OT.keyframeBezierHandle, }, [ET.positionKeyframeListOutTangent]: { - defaultTitle: OT.keyframeBezierHandle, + defaultResult: OT.keyframeBezierHandle, }, [ET.keyframeBezierHandleOutTangent]: { - defaultTitle: OT.keyframeBezierHandle, + defaultResult: OT.keyframeBezierHandle, }, [ET.shapeKeyframeOutTangent]: { - defaultTitle: OT.keyframeBezierHandle, + defaultResult: OT.keyframeBezierHandle, }, [ET.translation]: { - defaultTitle: OT.animatedPositionStatic, + defaultResult: OT.animatedPositionStatic, dependents: [ - { - key: 'k', - type: 'Array', - title: CT.positionKeyframeList, - childType: 'Object', - resultTitle: OT.animatedPosition, - }, - { - key: 'a', - type: 'Constant', - title: IBT.animated, - resultTitle: { - defaultValue: 0, - values: { - 0: OT.animatedPositionStatic, - 1: OT.animatedPosition, - }, - }, - }, + ...(animatedPositionProp.dependents ?? []), { key: 's', type: 'Boolean', @@ -690,13 +672,13 @@ export const objectEntity: NoKeyEntityMap = { ...animatedValueProp, }, [CT.shapeKeyframeList]: { - defaultTitle: OT.shapeKeyframe, + defaultResult: OT.shapeKeyframe, }, [CT.shapeKeyframeStart]: { - defaultTitle: OT.bezier, + defaultResult: OT.bezier, }, [OT.animatedShapeStatic]: { - defaultTitle: OT.bezier, + defaultResult: OT.bezier, }, [ET.shapeTrimStart]: { ...animatedValueProp, @@ -891,10 +873,10 @@ export const objectEntity: NoKeyEntityMap = { ...animatedMultidimensionalProp, }, [CT.masksProperties]: { - defaultTitle: OT.mask, + defaultResult: OT.mask, }, [CT.textFontList]: { - defaultTitle: OT.textFont, + defaultResult: OT.textFont, }, [ET.startOpacity]: { ...animatedValueProp, @@ -903,7 +885,7 @@ export const objectEntity: NoKeyEntityMap = { ...animatedValueProp, }, [CT.strokeDashList]: { - defaultTitle: OT.strokeDashDefault, + defaultResult: OT.strokeDashDefault, dependents: [ { key: 'n', @@ -925,10 +907,10 @@ export const objectEntity: NoKeyEntityMap = { ...animatedValueProp, }, [CT.markers]: { - defaultTitle: OT.marker, + defaultResult: OT.marker, }, [ET.textCharacterData]: { - defaultTitle: OT.characterShapes, + defaultResult: OT.characterShapes, dependents: [ { key: 'shapes', type: 'Array', title: CT.shapeList, resultTitle: OT.characterShapes }, { key: 'refId', type: 'String', title: ST.idReference, resultTitle: OT.characterPrecomp }, @@ -940,13 +922,13 @@ export const objectEntity: NoKeyEntityMap = { ], }, [CT.textDocumentKeyframes]: { - defaultTitle: OT.textDocumentKeyframe, + defaultResult: OT.textDocumentKeyframe, }, [CT.textRanges]: { - defaultTitle: OT.textRange, + defaultResult: OT.textRange, }, [CT.extraCompositions]: { - defaultTitle: OT.assetPrecomposition, + defaultResult: OT.assetPrecomposition, }, [ET.selectorSmoothness]: { ...animatedValueProp, @@ -983,10 +965,10 @@ export const arrayEntity: NoKeyEntityMap = {}; export const getNoKeyEntity = (node: MomoaArray | MomoaObject, parentTitle: ParentTitle): NoKeyEntity => { switch (node.type) { case 'Object': - return objectEntity[parentTitle] || { defaultTitle: parentTitle }; + return objectEntity[parentTitle] || { defaultResult: parentTitle }; case 'Array': - return arrayEntity[parentTitle] || { defaultTitle: parentTitle }; + return arrayEntity[parentTitle] || { defaultResult: parentTitle }; default: throw new Error("The node.type has to be 'Array' or 'Object'"); diff --git a/packages/relottie-parse/src/helpers.ts b/packages/relottie-parse/src/helpers.ts index 2488921..97223a0 100644 --- a/packages/relottie-parse/src/helpers.ts +++ b/packages/relottie-parse/src/helpers.ts @@ -189,13 +189,13 @@ const getTitleFromMemberValue = ( dependent: Dependent, file: VFile, ): AnyTitle | undefined => { - const { key, resultTitle: parentTitle, type } = dependent; + const { key, resultTitle, type } = dependent; switch (type) { case 'Constant': if (!is(node, 'String') && !is(node, 'Number')) break; - const { defaultValue, prefix, values } = parentTitle; + const { defaultValue, prefix, values } = resultTitle; const defaultConstTitle = values[defaultValue]; @@ -223,7 +223,7 @@ const getTitleFromMemberValue = ( if (!matchedMember) break; - return parentTitle; + return resultTitle; default: if (type !== node.type) { @@ -233,7 +233,7 @@ const getTitleFromMemberValue = ( break; } - return parentTitle; + return resultTitle; } return undefined; @@ -270,7 +270,7 @@ const getDependentTitle = ( const getObjectNodeTitle = (node: MomoaObject, parentNodeTitle: ParentTitle, file: VFile): ObjectTitle => { const entity = getNoKeyEntity(node, parentNodeTitle); - const { defaultTitle, dependents } = entity; + const { defaultResult: defaultTitle, dependents } = entity; if (!dependents) return defaultTitle as ObjectTitle; @@ -281,7 +281,7 @@ const getObjectNodeTitle = (node: MomoaObject, parentNodeTitle: ParentTitle, fil const getArrayNodeTitle = (node: MomoaArray, parentNodeTitle: ParentTitle, file: VFile): ArrayTitle => { const entity = getNoKeyEntity(node, parentNodeTitle); - const { defaultTitle, dependents } = entity; + const { defaultResult: defaultTitle, dependents } = entity; if (!dependents) return defaultTitle as ArrayTitle;