Code Monkey home page Code Monkey logo

Comments (3)

petr-kalinin avatar petr-kalinin commented on May 22, 2024

In fact, I see two ways of doing this: either expose Documents array as a global variable, or attach a new field to the collection intself. Both are illustrated below:

--- /home/petr/.meteor/packages/dburles_collection-helpers/.1.0.2.128h46h++os+web.browser+web.cordova/os/packages/dburles:collection-helpers.js 2015-03-21 22:18:58.900579647 +0300
+++ /home/petr/meteor-univ/univ/lib/collection-helpers-my2.js   2015-03-22 13:23:25.940586048 +0300
@@ -1,3 +1,4 @@
+CollectionHelpers = {};
 (function () {

 /////////////////////////////////////////////////////////////////////////////////
@@ -18,12 +19,14 @@
     Document[self._name] = function(doc) { return _.extend(this, doc); };      // 10
     self._transform = function(doc) { return new Document[self._name](doc); }; // 11
     self._hasCollectionHelpers = true;                                         // 12
+    self.collectionHelper = Document[self._name];
   }                                                                            // 13
                                                                                // 14
   _.each(helpers, function(helper, key) {                                      // 15
     Document[self._name].prototype[key] = helper;                              // 16
   });                                                                          // 17
 };                                                                             // 18
+CollectionHelpers = Document;
                                                                                // 19
 /////////////////////////////////////////////////////////////////////////////////

After this, I seem to be able to do

univ = new CollectionHelpers["universities"]({name :"abc"})

or

univ = new UniversitiesCollection.collectionHelper({name:"abc"})

Is there any drawback from this approach? Or is there any better way to accomplish this?

from meteor-collection-helpers.

dburles avatar dburles commented on May 22, 2024

Hey @petr-kalinin just do this: univ = UniversitiesCollection._transform({ name: "abc" });

from meteor-collection-helpers.

petr-kalinin avatar petr-kalinin commented on May 22, 2024

Oh, yes, indeed, did not think about this!

(Though I do not completely like this solution, as it seems to be some internal Meteor field that can be renamed or dropped in future, but I think it's ok for my tests, so thank you!)

from meteor-collection-helpers.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.