3.36.1 • Published 1 day ago

@sanity/diff v3.36.1

Weekly downloads
18,847
License
MIT
Repository
github
Last release
1 day ago

@sanity/diff: Tools for diffing data structures

@sanity/diff is a library for calculating and presenting diffs of content.

Concepts and architecture

  • The main data structure is Diff which represents a difference between two versions. This is a nested data structure so if it's an ObjectDiff, then its children will have Diff as well.

    The Diff is built on top of the unchanged, added and removed primitives. This means that it will contain both versions at the same time and it's always trivial to recreate the old/new version (by ignoring the added/removed parts of the diff).

    Note that for arrays and objects, unchanged/added/removed only have a "shallow" meaning. An ObjectDiff will have a unchanged field if the field was present in both the old and new version - regardless of whether there's any internal changes.

  • Diff also supports annotations. These contain information about when a change was introduced and who was responsible for it.

  • To construct a Diff you need to represent the versions as Input types and use diffInput(from,to) to create the diff. The primary reason for a separate Input type is to support passing along annotations. In addition, this allows us to optimize based on the object equality of the inputs.

  • There are multiple ways of presenting a diff: Sometimes you want to only show the fields that has changed, and other times you want to show the full new (or old!) document interspersed with the changes.

    This library does not contain any UI components, but instead provides various presentation-related helper functions.

3.36.1

1 day ago

3.36.0

2 days ago

3.35.2

8 days ago

3.35.1

8 days ago

3.35.0

9 days ago

3.34.0

14 days ago

3.33.0

16 days ago

3.32.0

22 days ago

3.31.0

23 days ago

3.30.2-canary.46

25 days ago

3.30.1

1 month ago

3.30.0

1 month ago

3.29.1

1 month ago

3.29.0

1 month ago

3.28.1-canary.25

2 months ago

3.28.1-canary.24

2 months ago

3.28.1-canary.23

2 months ago

3.28.0

2 months ago

3.27.2-canary.20

2 months ago

3.27.1

2 months ago

3.27.0

2 months ago

3.26.2-canary.50

2 months ago

3.26.2-canary.52

2 months ago

3.26.2-canary.69

2 months ago

3.26.2-canary.47

2 months ago

3.26.2-canary.75

2 months ago

3.26.2-canary.81

2 months ago

3.26.2-canary.82

2 months ago

3.26.1

2 months ago

3.26.0

2 months ago

3.25.1-canary.31

2 months ago

3.24.2-canary.66

2 months ago

3.24.2-canary.67

2 months ago

3.24.2-canary.65

2 months ago

3.25.1-canary.22

2 months ago

3.25.0

2 months ago

3.24.2-canary.1

3 months ago

3.24.0

3 months ago

3.24.1

3 months ago

3.23.5-edx-980.36

3 months ago

3.23.5-comments.29

3 months ago

3.23.5-comments.28

3 months ago

3.23.5-edx-980.29

3 months ago

3.23.5-facelift.24

3 months ago

3.23.4-canary.1

3 months ago

3.23.4-canary.0

3 months ago

3.23.3

3 months ago

3.23.4

3 months ago

3.22.3

3 months ago

3.23.2

3 months ago

3.23.2-canary.8

3 months ago

3.23.2-EDX937.1

3 months ago

3.23.1-canary.1

3 months ago

3.22.0

3 months ago

3.22.2

3 months ago

3.22.1

3 months ago

3.23.1

3 months ago

3.23.0

3 months ago

3.21.4-canary.6

4 months ago

3.21.3

4 months ago

3.21.2

4 months ago

3.21.2-i18n.15

4 months ago

3.21.2-facelift.77

4 months ago

3.21.2-facelift.79

4 months ago

3.21.2-canary.17

4 months ago

3.21.2-facelift.69

4 months ago

3.21.1-pt-input.18

4 months ago

3.21.1-pt-input.19

4 months ago

3.21.1-facelift.52

4 months ago

3.21.1-facelift.56

4 months ago

3.21.1

4 months ago

3.21.1-facelift.43

4 months ago

3.21.1-facelift.42

4 months ago

3.21.0

4 months ago

3.20.3-i18n.262

4 months ago

3.14.5-i18n.46

8 months ago

3.14.5-i18n.47

8 months ago

3.14.5-i18n.45

8 months ago

3.19.3

5 months ago

3.19.0

5 months ago

3.16.8-sdx-736.1

6 months ago

3.19.2

5 months ago

3.19.1

5 months ago

3.18.2-comments.71

5 months ago

3.18.2-comments.73

5 months ago

3.18.2-comments.75

5 months ago

3.18.2-comments.74

5 months ago

3.18.2-comments.69

5 months ago

3.18.2-next.66

5 months ago

3.18.2-i18n.179

5 months ago

3.17.0

6 months ago

3.16.8-comments.3

7 months ago

3.18.1

5 months ago

3.18.0

6 months ago

3.20.1-pt-input.30

4 months ago

3.20.1-pt-input.32

4 months ago

3.20.1-pt-input.31

4 months ago

3.20.1-pt-input.26

4 months ago

3.20.1-pt-input.29

4 months ago

3.20.1-pt-input.28

4 months ago

3.15.0

8 months ago

3.15.1

8 months ago

3.20.2-pt-input.20

4 months ago

3.20.2-pt-input.23

4 months ago

3.16.7

7 months ago

3.16.6

7 months ago

3.16.1

7 months ago

3.16.0

7 months ago

3.16.3

7 months ago

3.16.2

7 months ago

3.16.5

7 months ago

3.16.4

7 months ago

3.19.3-sdx-722.2

5 months ago

3.16.2-canary.19

7 months ago

3.20.3-i18n.242

4 months ago

3.20.3-i18n.243

4 months ago

3.14.1

9 months ago

3.14.0

9 months ago

3.14.3

8 months ago

3.14.2

9 months ago

3.20.3-i18n.247

4 months ago

3.14.5

8 months ago

3.14.4

8 months ago

3.14.2-i18n.10

9 months ago

3.15.2-canary.44

7 months ago

3.15.1-canary.6

8 months ago

3.20.0

4 months ago

3.20.2

4 months ago

3.20.1

4 months ago

3.17.1-comments.59

5 months ago

3.14.6-pte.52

8 months ago

3.20.2-i18n.241

4 months ago

3.20.2-i18n.239

4 months ago

3.19.4-pt-input.8

4 months ago

3.18.2-sdx-722.70

5 months ago

3.17.1-comments.36

6 months ago

3.20.1-i18n.244

4 months ago

3.16.5-comments.27

7 months ago

3.15.2-canary.1

8 months ago

3.19.4-canary.2

4 months ago

3.19.4-canary.6

4 months ago

3.13.0

9 months ago

3.9.2-next.27

11 months ago

3.10.1-canary.1

11 months ago

3.9.2-canary.18

11 months ago

3.10.2-alpha.13

11 months ago

3.9.2-canary.26

11 months ago

3.12.1

10 months ago

3.12.0

10 months ago

3.11.3

10 months ago

3.11.5

10 months ago

3.10.1

11 months ago

3.10.0

11 months ago

3.10.3

11 months ago

3.10.2

11 months ago

3.12.2

9 months ago

3.11.0

11 months ago

3.11.2

10 months ago

3.11.1

11 months ago

3.8.2-findability.5

12 months ago

3.8.1-findability.2

12 months ago

3.6.0

1 year ago

3.8.1-canary.5

1 year ago

3.8.1-canary.6

1 year ago

3.5.1

1 year ago

3.9.2-canary.12

11 months ago

3.9.2-canary.16

11 months ago

3.7.2-canary.49

1 year ago

3.9.1

11 months ago

3.9.0

12 months ago

3.8.0

1 year ago

3.8.2-canary.4

12 months ago

3.8.2-canary.2

12 months ago

3.8.3

12 months ago

3.8.2

12 months ago

3.8.1

1 year ago

3.7.1

1 year ago

3.7.0

1 year ago

3.8.4-next.27

12 months ago

3.9.1-canary.38

11 months ago

3.5.2-next.19

1 year ago

3.9.1-canary.39

11 months ago

3.9.1-canary.24

11 months ago

3.2.6

1 year ago

3.5.0

1 year ago

3.4.0

1 year ago

3.3.1

1 year ago

3.3.0

1 year ago

3.5.1-next.11

1 year ago

3.2.2

1 year ago

3.2.1

1 year ago

3.2.0

1 year ago

3.2.5

1 year ago

3.2.4

1 year ago

3.2.3

1 year ago

3.1.3

1 year ago

3.1.2

1 year ago

3.1.1

1 year ago

3.1.0

1 year ago

3.1.4

1 year ago

3.0.0-v3-pte.88

1 year ago

3.0.4

1 year ago

3.0.3

1 year ago

3.0.2

1 year ago

3.0.1

1 year ago

3.0.6

1 year ago

3.0.5

1 year ago

3.0.7-canary.14

1 year ago

3.1.5-next.38

1 year ago

3.1.5-next.39

1 year ago

3.1.5-next.43

1 year ago

3.1.5-next.44

1 year ago

3.1.5-next.42

1 year ago

3.1.5-next.45

1 year ago

3.1.5-next.46

1 year ago

3.1.5-next.40

1 year ago

3.0.7-canary.7

1 year ago

3.1.5-canary.15

1 year ago

3.1.5-canary.14

1 year ago

3.2.4-next.5

1 year ago

3.0.1-canary.23

1 year ago

3.1.5-canary.40

1 year ago

3.2.2-next.0

1 year ago

2.34.1-canary.0

1 year ago

3.0.0-v3-pte.87

1 year ago

3.0.0

1 year ago

3.0.0-v3-pte.30

1 year ago

3.0.0-v3-pte.31

1 year ago

3.0.0-v3-pte.33

1 year ago

3.0.0-rc.2

1 year ago

3.0.0-rc.1

1 year ago

3.0.0-rc.0

1 year ago

3.0.0-rc.3

1 year ago

3.0.0-v3-pte.58

2 years ago

3.0.0-v3-pte.55

2 years ago

3.0.0-v3-pte.69

2 years ago

3.0.0-v3-esm.54

2 years ago

3.0.0-v3-pte.80

2 years ago

3.0.0-v3-esm.52

2 years ago

3.0.0-v3-esm.53

2 years ago

3.0.0-v3-pte.79

2 years ago

2.33.2

2 years ago

2.33.4-shopify.8

2 years ago

2.33.3-edge.8

2 years ago

3.0.0-v3-pte.48

2 years ago

3.0.0-v3-pte.49

2 years ago

2.32.1-next.22

2 years ago

2.32.1-next.21

2 years ago

3.0.0-v3-pte.56

2 years ago

2.29.5-edge.1030

2 years ago

3.0.0-v3-pte.57

2 years ago

3.0.0-v3-pte.59

2 years ago

2.29.5-edge.1044

2 years ago

3.0.0-v3-pte.61

2 years ago

2.30.3-shopify.5

2 years ago

2.30.3-shopify.3

2 years ago

2.30.3-shopify.4

2 years ago

3.0.0-v3-pte.12

2 years ago

3.0.0-v3-pte.13

2 years ago

3.0.0-v3-pte.16

2 years ago

3.0.0-v3-pte.17

2 years ago

2.29.5-edge.1050

2 years ago

2.30.2-shopify.2

2 years ago

2.30.2-shopify.0

2 years ago

2.29.3

2 years ago

2.23.4-pte.107

2 years ago

2.24.1-pte.127

2 years ago

2.23.4-pte.101

2 years ago

2.23.4-pte.102

2 years ago

2.25.5-next.6

2 years ago

2.23.4-pte.99

2 years ago

2.23.4-pte.96

2 years ago

2.23.4-pte.95

2 years ago

2.24.1-pte.113

2 years ago

2.24.1-pte.115

2 years ago

2.24.3-pte.128

2 years ago

2.23.5-next.19

2 years ago

2.23.3-next.34

2 years ago

2.23.3-next.35

2 years ago

2.23.3-canary.59

2 years ago

2.23.3-next.4

2 years ago

2.22.3-next.5

2 years ago

2.22.6-next.104

2 years ago

2.22.6-next.102

2 years ago

2.23.3-canary.84

2 years ago

2.22.6-next.121

2 years ago

2.23.2-next.3

2 years ago

2.23.1-next.10

2 years ago

2.23.2-canary.28

2 years ago

2.21.8-canary.4

2 years ago

2.21.1-canary.2

2 years ago

2.20.0

3 years ago

2.19.1-canary.1

3 years ago

2.18.1-canary.9

3 years ago

2.18.0

3 years ago

2.17.3-canary.0

3 years ago

2.15.1-canary.4

3 years ago

2.15.0

3 years ago

2.14.1-canary.4

3 years ago

2.14.1-canary.36

3 years ago

2.14.0

3 years ago

2.13.2-canary.13

3 years ago

2.13.2-canary.9

3 years ago

2.13.2-canary.7

3 years ago

2.13.0

3 years ago

2.12.3-rc.0

3 years ago

2.11.3-canary.6

3 years ago

2.10.2-next.0

3 years ago

2.8.2-canary.40

3 years ago

2.9.1-canary.15

3 years ago

2.7.5-next.41

3 years ago

2.7.4

3 years ago

2.5.1-canary.79

3 years ago

2.4.4-canary.81

3 years ago

2.4.4-canary.75

3 years ago

2.3.9-canary.32

3 years ago

2.3.5-canary.23

3 years ago

2.3.7-canary.22

3 years ago

2.3.5-canary.22

3 years ago

2.3.5-canary.17

3 years ago

2.3.5-canary.18

3 years ago

2.2.6

3 years ago

2.1.7-next.22

3 years ago

2.1.7-next.21

3 years ago

2.1.5-canary.2

3 years ago

2.1.5-canary.3

3 years ago

2.1.4

3 years ago

2.1.1-ui.13

3 years ago

2.1.2-ui.11

3 years ago

2.1.1-ui.18

3 years ago

2.1.1-ui.14

3 years ago

2.1.0

3 years ago

2.0.10-next.46

3 years ago

2.0.10-next.47

3 years ago

2.0.10-canary.11

3 years ago

2.0.10-canary.0

3 years ago

2.0.9

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago