0.14.8-beta.1 • Published 3 years ago

@graffy/index-watcher v0.14.8-beta.1

Weekly downloads
132
License
Apache-2.0
Repository
github
Last release
3 years ago

Graffy Index Watcher

Watch provider for the index pattern:

{
  users: { userId: { ... }, ... },
  users$: {
    encodedParameters: page({
      [indexKey]: link('/users/userId'),
      ...
    }),
    ...
  }
}

Here, users\$ is an index into the users collection.

While it is straightforward to create a watch provider (change stream) for the users tree, it is not as easy to create one for the users$ tree, especially when arbitrary filtering parameters are supported. IndexWatcher can help craft an index change stream using the entity change stream and an indexing function:

store.use(
  '/users$',
  IndexWatcher(
    '/users', // Entity path prefix
    { country: true, createTime: true }, // Entity sub-query
    (user, params) => {
      // Indexing function
      if (params.country !== user.country) return; // Exclude from index.
      return [user.createTime]; // An array of index keys.
    },
  ),
);

This assumes:

  • Index and entity trees with the same structure as above

See Graffy documentation for more.

0.14.8-beta.1

3 years ago

0.14.8-alpha.10

3 years ago

0.14.8-alpha.9

3 years ago

0.14.8-alpha.8

3 years ago

0.14.8-alpha.6

4 years ago

0.14.8-alpha.5

4 years ago

0.14.8-alpha.4

4 years ago

0.14.8-alpha.3

4 years ago

0.14.8-alpha.2

4 years ago

0.14.8-alpha.1

4 years ago

0.15.0-alpha2

4 years ago

0.15.0-alpha.1

4 years ago

0.15.0

4 years ago

0.14.7-alpha.13

4 years ago

0.14.7-alpha.10

4 years ago

0.14.7-alpha.11

4 years ago

0.14.7-alpha.12

4 years ago

0.14.7-alpha.9

4 years ago

0.14.7-alpha.8

4 years ago

0.14.7-alpha.7

4 years ago

0.14.7-alpha.6

4 years ago

0.14.7-alpha.5

4 years ago

0.14.7-alpha4

4 years ago

0.14.7-alpha3

4 years ago

0.14.7-alpha1

4 years ago

0.14.7-alpha2

4 years ago

0.14.6

4 years ago

0.14.6-beta5

4 years ago

0.14.6-beta4

4 years ago

0.14.6-beta3

4 years ago

0.14.6-beta2

4 years ago

0.14.6-beta1

4 years ago

0.14.6-alpha10

4 years ago

0.14.6-alpha9

4 years ago

0.14.6-alpha8

4 years ago

0.14.6-alpha7

4 years ago