Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is transform working in publishComposite expected behaviour? #183

Open
jrkinclus opened this issue Aug 19, 2024 · 2 comments
Open

Is transform working in publishComposite expected behaviour? #183

jrkinclus opened this issue Aug 19, 2024 · 2 comments

Comments

@jrkinclus
Copy link

jrkinclus commented Aug 19, 2024

Describe the bug
The Meteor docs say that transform is not applied to Cursors returned from publications. So, if one wanted to not publish individual elements in an array field, they can't do this:

// Publication that wants to omit individual elements from an array field
Meteor.publish('myPub', function () {
  return MyCollection.find({}, {
    transform: (obj) => {
      // This function never gets called, so this won't work
      obj.someArrayField = obj.someArrayField.filter(element => element !== 'someValue');
      return obj;
    },
  });
});

However, this does work:

// Publication that wants to omit individual elements from an array field
Meteor.publishComposite('myCompositePub', function () {
  return {
    find() {
      return MyCollection.find({}, {
        transform: (obj) => {
          // This function does get called and modifies the published object
          obj.someArrayField = obj.someArrayField.filter(element => element !== 'someValue');
          return obj;
        },
      });
    },
  };
});

Expected behavior
I would've expected the transform to not work for publishComposite too. Is this intended behaviour or an accidental feature?

Tested on
v1.8.6

Copy link

Thank you for submitting this issue!

We, the Members of Meteor Community Packages take every issue seriously.
Our goal is to provide long-term lifecycles for packages and keep up
with the newest changes in Meteor and the overall NodeJs/JavaScript ecosystem.

However, we contribute to these packages mostly in our free time.
Therefore, we can't guarantee your issues to be solved within certain time.

If you think this issue is trivial to solve, don't hesitate to submit
a pull request, too! We will accompany you in the process with reviews and hints
on how to get development set up.

Please also consider sponsoring the maintainers of the package.
If you don't know who is currently maintaining this package, just leave a comment
and we'll let you know

@jrkinclus
Copy link
Author

The main question I have is whether this behaviour will be kept or removed in future versions; can I make use of transform in publishComposite pubs without fear a future version update breaking the code?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant