10.1.0-alpha.5 • Published 8 months ago

@empathyco/x-types v10.1.0-alpha.5

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
8 months ago

x-types

TypeScript model types, guards, and jest schemas to use across the X project.

How to install

npm install @empathyco/x-types --save

How to use

The package export several model types that can be used to safely create objects that match the expectations of X packages.

import { RelatedTag } from '@empathyco/x-types';

const relatedTag: RelatedTag = {
  query: 'lego',
  tag: 'city',
  selected: false,
  previous: 'lego'
};

Additionally it also exposes some type guards to check between different types.

import { Filter, isHierarchicalFilter } from '@empathyco/x-types';

const filter: Filter = {
  modelName: 'HierarchicalFilter',
  id: 'color:red',
  facetId: 'color',
  label: 'red',
  selected: false,
  children: []
};
// You can't access filter.children before the `if` because you have a `Filter`, not a `HierarchicalFilter`.

if (isHierarchicalFilter(filter)) {
  // But after using the `isHierarchicalFilter` guard, you can acces it.
  console.log('Children:', filter.children);
}

Finally, there are some jest schemas helpers that you could use to validate your objects.

import { HierarchicalFilterSchema } from '@empathyco/x-types/schemas';
import { Filter, isHierarchicalFilter } from '@empathyco/x-types';

it('is a hierarchical filter', () => {
  const filter: Filter = {
    modelName: 'HierarchicalFilter',
    id: 'color:red',
    facetId: 'color',
    label: 'red',
    selected: false,
    children: []
  };

  expect(filter).toEqual(HierarchicalFilterSchema);
});

How to update the version

You can check if a new version has been published running npm outdated:

npm outdated @empathyco/x-types

And update it using npm update:

npm update --save @empathyco/x-types

10.1.0-alpha.4

8 months ago

10.1.0-alpha.5

8 months ago

10.1.0-alpha.3

1 year ago

10.1.0-alpha.2

1 year ago

10.1.0-alpha.1

1 year ago

10.1.0-alpha.0

1 year ago

10.0.3-alpha.1

1 year ago

10.0.0

2 years ago

10.0.2

2 years ago

10.0.3-alpha.0

2 years ago

10.0.1-alpha.0

2 years ago

10.0.2-alpha.0

2 years ago

10.0.0-alpha.74

2 years ago

10.0.0-alpha.73

2 years ago

10.0.0-alpha.72

2 years ago

10.0.0-alpha.75

2 years ago

10.0.0-alpha.71

2 years ago

10.0.0-alpha.63

2 years ago

10.0.0-alpha.62

2 years ago

10.0.0-alpha.61

2 years ago

10.0.0-alpha.60

2 years ago

10.0.0-alpha.67

2 years ago

10.0.0-alpha.66

2 years ago

10.0.0-alpha.65

2 years ago

10.0.0-alpha.64

2 years ago

10.0.0-alpha.69

2 years ago

10.0.0-alpha.68

2 years ago

10.0.0-alpha.59

2 years ago

10.0.0-alpha.70

2 years ago

10.0.0-alpha.52

2 years ago

10.0.0-alpha.51

2 years ago

10.0.0-alpha.50

2 years ago

10.0.0-alpha.56

2 years ago

10.0.0-alpha.55

2 years ago

10.0.0-alpha.54

2 years ago

10.0.0-alpha.53

2 years ago

10.0.0-alpha.58

2 years ago

10.0.0-alpha.57

2 years ago

10.0.0-alpha.41

3 years ago

10.0.0-alpha.40

3 years ago

10.0.0-alpha.45

3 years ago

10.0.0-alpha.44

3 years ago

10.0.0-alpha.43

3 years ago

10.0.0-alpha.42

3 years ago

10.0.0-alpha.49

2 years ago

10.0.0-alpha.48

2 years ago

10.0.0-alpha.47

2 years ago

10.0.0-alpha.46

2 years ago

10.0.0-alpha.39

3 years ago

10.0.0-alpha.34

3 years ago

10.0.0-alpha.38

3 years ago

10.0.0-alpha.37

3 years ago

10.0.0-alpha.36

3 years ago

10.0.0-alpha.35

3 years ago

10.0.0-alpha.27

3 years ago

10.0.0-alpha.26

3 years ago

10.0.0-alpha.25

3 years ago

10.0.0-alpha.30

3 years ago

10.0.0-alpha.33

3 years ago

10.0.0-alpha.32

3 years ago

10.0.0-alpha.31

3 years ago

10.0.0-alpha.29

3 years ago

10.0.0-alpha.28

3 years ago

10.0.0-alpha.24

3 years ago

10.0.0-alpha.23

3 years ago

10.0.0-alpha.22

3 years ago

10.0.0-alpha.21

3 years ago

10.0.0-alpha.20

3 years ago

10.0.0-alpha.16

3 years ago

10.0.0-alpha.15

3 years ago

10.0.0-alpha.14

3 years ago

10.0.0-alpha.19

3 years ago

10.0.0-alpha.18

3 years ago

10.0.0-alpha.17

3 years ago

10.0.0-alpha.12

4 years ago

10.0.0-alpha.13

4 years ago

10.0.0-alpha.11

4 years ago

10.0.0-alpha.10

4 years ago

10.0.0-alpha.9

4 years ago

10.0.0-alpha.8

4 years ago

10.0.0-alpha.7

4 years ago

10.0.0-alpha.6

4 years ago

10.0.0-alpha.5

4 years ago

10.0.0-alpha.4

4 years ago

10.0.0-alpha.3

4 years ago

10.0.0-alpha.2

4 years ago

9.1.0-alpha.1

4 years ago

9.1.0-alpha.2

4 years ago

9.1.0-alpha.0

4 years ago