From 795cd339322fa026c16e585e75f83258bfa3f4b5 Mon Sep 17 00:00:00 2001 From: Arda TANRIKULU Date: Fri, 13 Oct 2017 17:54:04 -0400 Subject: [PATCH] Meteor's underscore and ServiceConfiguration types and new version for publish-composite are added (#20413) * ServiceConfiguration types added * New usage of publishComposite added to meteor-publish-composite * meteor/underscore added --- types/meteor-publish-composite/index.d.ts | 77 ++++++++----------- .../meteor-publish-composite-tests.ts | 16 ++-- types/meteor/index.d.ts | 2 + types/meteor/service-configuration.d.ts | 9 +++ types/meteor/tsconfig.json | 4 +- types/meteor/underscore.d.ts | 4 + 6 files changed, 57 insertions(+), 55 deletions(-) create mode 100644 types/meteor/service-configuration.d.ts create mode 100644 types/meteor/underscore.d.ts diff --git a/types/meteor-publish-composite/index.d.ts b/types/meteor-publish-composite/index.d.ts index cd8b93b816..a5f6205913 100644 --- a/types/meteor-publish-composite/index.d.ts +++ b/types/meteor-publish-composite/index.d.ts @@ -6,75 +6,60 @@ /// declare interface PublishCompositeConfigN { - children? : PublishCompositeConfigN[]; + children?: PublishCompositeConfigN[]; find( - ...args : any[] - ) : Mongo.Cursor; + ...args: any[] + ): Mongo.Cursor; } declare interface PublishCompositeConfig4 { - children? : PublishCompositeConfigN[]; + children?: PublishCompositeConfigN[]; find( - arg4 : InLevel4, - arg3 : InLevel3, - arg2 : InLevel2, - arg1 : InLevel1 - ) : Mongo.Cursor; + arg4: InLevel4, + arg3: InLevel3, + arg2: InLevel2, + arg1: InLevel1 + ): Mongo.Cursor; } declare interface PublishCompositeConfig3 { - children? : PublishCompositeConfig4[]; + children?: PublishCompositeConfig4[]; find( - arg3 : InLevel3, - arg2 : InLevel2, - arg1 : InLevel1 - ) : Mongo.Cursor; + arg3: InLevel3, + arg2: InLevel2, + arg1: InLevel1 + ): Mongo.Cursor; } declare interface PublishCompositeConfig2 { - children? : PublishCompositeConfig3[]; + children?: PublishCompositeConfig3[]; find( - arg2 : InLevel2, - arg1 : InLevel1 - ) : Mongo.Cursor; + arg2: InLevel2, + arg1: InLevel1 + ): Mongo.Cursor; } declare interface PublishCompositeConfig1 { - children? : PublishCompositeConfig2[]; + children?: PublishCompositeConfig2[]; find( - arg1 : InLevel1 - ) : Mongo.Cursor; + arg1: InLevel1 + ): Mongo.Cursor; } declare interface PublishCompositeConfig { - children? : PublishCompositeConfig1[]; - find() : Mongo.Cursor; + children?: PublishCompositeConfig1[]; + find(): Mongo.Cursor; } -declare namespace Meteor { +declare module "meteor/reywood:publish-composite" { function publishComposite( - name : string, - config : PublishCompositeConfig|PublishCompositeConfig[] - ) : void; + name: string, + config: PublishCompositeConfig | PublishCompositeConfig[] + ): void; function publishComposite( - name : string, - configFunc : (...args : any[]) => - PublishCompositeConfig|PublishCompositeConfig[] - ) : void; -} - -declare module 'meteor/meteor' { - namespace Meteor { - function publishComposite( - name : string, - config : PublishCompositeConfig|PublishCompositeConfig[] - ) : void; - - function publishComposite( - name : string, - configFunc : (...args : any[]) => - PublishCompositeConfig|PublishCompositeConfig[] - ) : void; - } + name: string, + configFunc: (...args: any[]) => + PublishCompositeConfig | PublishCompositeConfig[] + ): void; } diff --git a/types/meteor-publish-composite/meteor-publish-composite-tests.ts b/types/meteor-publish-composite/meteor-publish-composite-tests.ts index fa08882c3c..72f96ddc4d 100644 --- a/types/meteor-publish-composite/meteor-publish-composite-tests.ts +++ b/types/meteor-publish-composite/meteor-publish-composite-tests.ts @@ -1,14 +1,14 @@ - +import { publishComposite } from 'meteor/reywood:publish-composite'; import User = Meteor.User; -interface IPost { _id : string, authorId : string }; -interface IComment { authorId : string }; -var Posts : Mongo.Collection = new Mongo.Collection('Posts'); -var Comments : Mongo.Collection = new Mongo.Collection('Comments'); +interface IPost { _id: string, authorId: string }; +interface IComment { authorId: string }; +var Posts: Mongo.Collection = new Mongo.Collection('Posts'); +var Comments: Mongo.Collection = new Mongo.Collection('Comments'); // Server -Meteor.publishComposite('topTenPosts', { - find: function() : Mongo.Cursor { +publishComposite('topTenPosts', { + find: function(): Mongo.Cursor { // Find top ten highest scoring posts return Posts.find({}, { sort: { score: -1 }, limit: 10 }); }, @@ -45,7 +45,7 @@ Meteor.publishComposite('topTenPosts', { }); // Server -Meteor.publishComposite('postsByUser', function(userId, limit) { +publishComposite('postsByUser', function(userId, limit) { return { find: function() { // Find posts made by user. Note arguments for callback function diff --git a/types/meteor/index.d.ts b/types/meteor/index.d.ts index e600d9c7de..1d95ba429d 100644 --- a/types/meteor/index.d.ts +++ b/types/meteor/index.d.ts @@ -17,9 +17,11 @@ /// /// /// +/// /// /// /// /// /// +/// /// diff --git a/types/meteor/service-configuration.d.ts b/types/meteor/service-configuration.d.ts new file mode 100644 index 0000000000..54e036eb05 --- /dev/null +++ b/types/meteor/service-configuration.d.ts @@ -0,0 +1,9 @@ +declare module "meteor/service-configuration" { + interface Configuration { + appId: string; + secret: string; + } + class ServiceConfiguration { + configurations: Mongo.Collection; + } +} diff --git a/types/meteor/tsconfig.json b/types/meteor/tsconfig.json index aaf8ac862c..6185ff9c61 100644 --- a/types/meteor/tsconfig.json +++ b/types/meteor/tsconfig.json @@ -31,12 +31,14 @@ "mongo.d.ts", "reactive-var.d.ts", "server-render.d.ts", + "service-configuration.d.ts", "session.d.ts", "tiny-test.d.ts", "tools.d.ts", "tracker.d.ts", + "underscore.d.ts", "webapp.d.ts", "index.d.ts", "meteor-tests.ts" ] -} \ No newline at end of file +} diff --git a/types/meteor/underscore.d.ts b/types/meteor/underscore.d.ts new file mode 100644 index 0000000000..489c5d65d6 --- /dev/null +++ b/types/meteor/underscore.d.ts @@ -0,0 +1,4 @@ +declare module "meteor/underscore" { + import * as _ from 'underscore'; + export { _ }; +}