From a8bd24a5d248a5ceb6cb3b569561eadd0c9dd95a Mon Sep 17 00:00:00 2001 From: Nico Krause Date: Wed, 30 Mar 2022 12:10:27 +0200 Subject: [PATCH] package upgrades --- .meteor/packages | 2 +- .meteor/versions | 2 +- .vscode/typings/meteor.d.ts | 2013 +++++++++++++++++++++++++++++++++++ package.json | 6 +- 4 files changed, 2018 insertions(+), 5 deletions(-) create mode 100644 .vscode/typings/meteor.d.ts diff --git a/.meteor/packages b/.meteor/packages index 27c2466..975317f 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -30,5 +30,5 @@ seba:minifiers-autoprefixer accounts-base@1.7.1 static-html email@2.0.0 -doichain:doichain-meteor-api@0.5.19 +doichain:doichain-meteor-api alanning:roles diff --git a/.meteor/versions b/.meteor/versions index 4768ad7..c6c30af 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -23,7 +23,7 @@ ddp-rate-limiter@1.0.9 ddp-server@2.3.2 deps@1.0.12 diff-sequence@1.1.1 -doichain:doichain-meteor-api@0.5.18 +doichain:doichain-meteor-api@0.5.19 doichain:settings@0.3.2 dynamic-import@0.5.5 ecmascript@0.14.4 diff --git a/.vscode/typings/meteor.d.ts b/.vscode/typings/meteor.d.ts new file mode 100644 index 0000000..9bb7d02 --- /dev/null +++ b/.vscode/typings/meteor.d.ts @@ -0,0 +1,2013 @@ +// Generated by typings +// Source: https://raw.githubusercontent.com/meteor-typings/meteor/241d0e5335025e64fc3ea064de80a026a08f3f06/1.3/header.d.ts + +// Generated by typings +// Source: https://raw.githubusercontent.com/meteor-typings/meteor/241d0e5335025e64fc3ea064de80a026a08f3f06/1.3/main.d.ts +declare module Accounts { + function user(): Meteor.User; + + function userId(): string; + + function createUser(options: { + username ? : string; + email ? : string; + password ? : string; + profile ? : Object; + }, callback ? : Function): string; + + function config(options: { + sendVerificationEmail ? : boolean; + forbidClientAccountCreation ? : boolean; + restrictCreationByEmailDomain ? : string | Function; + loginExpirationInDays ? : number; + oauthSecretKey ? : string; + }): void; + + function onLogin(func: Function): { + stop: () => void + }; + + function onLoginFailure(func: Function): { + stop: () => void + }; + + function loginServicesConfigured(): boolean; + + function onPageLoadLogin(func: Function): void; +} + +declare module "meteor/accounts-base" { + /// + + module Accounts { + function user(): Meteor.User; + + function userId(): string; + + function createUser(options: { + username ? : string; + email ? : string; + password ? : string; + profile ? : Object; + }, callback ? : Function): string; + + function config(options: { + sendVerificationEmail ? : boolean; + forbidClientAccountCreation ? : boolean; + restrictCreationByEmailDomain ? : string | Function; + loginExpirationInDays ? : number; + oauthSecretKey ? : string; + }): void; + + function onLogin(func: Function): { + stop: () => void + }; + + function onLoginFailure(func: Function): { + stop: () => void + }; + + function loginServicesConfigured(): boolean; + + function onPageLoadLogin(func: Function): void; + } +} +declare module Accounts { + function changePassword(oldPassword: string, newPassword: string, callback ? : Function): void; + + function forgotPassword(options: { + email ? : string; + }, callback ? : Function): void; + + function resetPassword(token: string, newPassword: string, callback ? : Function): void; + + function verifyEmail(token: string, callback ? : Function): void; + + function onEmailVerificationLink(callback: Function): void; + + function onEnrollmentLink(callback: Function): void; + + function onResetPasswordLink(callback: Function): void; + + function loggingIn(): boolean; + + function logout(callback ? : Function): void; + + function logoutOtherClients(callback ? : Function): void; + + var ui: { + config(options: { + requestPermissions ? : Object; + requestOfflineToken ? : Object; + forceApprovalPrompt ? : Object; + passwordSignupFields ? : string; + }): void; + }; +} + +declare module "meteor/accounts-base" { + module Accounts { + function changePassword(oldPassword: string, newPassword: string, callback ? : Function): void; + + function forgotPassword(options: { + email ? : string; + }, callback ? : Function): void; + + function resetPassword(token: string, newPassword: string, callback ? : Function): void; + + function verifyEmail(token: string, callback ? : Function): void; + + function onEmailVerificationLink(callback: Function): void; + + function onEnrollmentLink(callback: Function): void; + + function onResetPasswordLink(callback: Function): void; + + function loggingIn(): boolean; + + function logout(callback ? : Function): void; + + function logoutOtherClients(callback ? : Function): void; + + var ui: { + config(options: { + requestPermissions ? : Object; + requestOfflineToken ? : Object; + forceApprovalPrompt ? : Object; + passwordSignupFields ? : string; + }): void; + }; + } +} + +interface EmailFields { + from ? : () => string; + subject ? : (user: Meteor.User) => string; + text ? : (user: Meteor.User, url: string) => string; + html ? : (user: Meteor.User, url: string) => string; +} + +interface Header { + [id: string]: string; +} + +interface EmailTemplates { + from: string; + siteName: string; + headers ? : Header; + resetPassword: EmailFields; + enrollAccount: EmailFields; + verifyEmail: EmailFields; +} + +declare module Accounts { + var emailTemplates: EmailTemplates; + + function addEmail(userId: string, newEmail: string, verified ? : boolean): void; + + function removeEmail(userId: string, email: string): void; + + function onCreateUser(func: Function): void; + + function findUserByEmail(email: string): Object; + + function findUserByUsername(username: string): Object; + + function sendEnrollmentEmail(userId: string, email ? : string): void; + + function sendResetPasswordEmail(userId: string, email ? : string): void; + + function sendVerificationEmail(userId: string, email ? : string): void; + + function setUsername(userId: string, newUsername: string): void; + + function setPassword(userId: string, newPassword: string, options ? : { + logout ? : Object; + }): void; + + function validateNewUser(func: Function): boolean; + + function validateLoginAttempt(func: Function): { + stop: () => void + }; + + interface IValidateLoginAttemptCbOpts { + type: string; + allowed: boolean; + error: Meteor.Error; + user: Meteor.User; + connection: Meteor.Connection; + methodName: string; + methodArguments: any[]; + } +} + +declare module "meteor/accounts-base" { + /// + /// + + interface EmailFields { + from ? : () => string; + subject ? : (user: Meteor.User) => string; + text ? : (user: Meteor.User, url: string) => string; + html ? : (user: Meteor.User, url: string) => string; + } + + interface Header { + [id: string]: string; + } + + interface EmailTemplates { + from: string; + siteName: string; + headers ? : Header; + resetPassword: EmailFields; + enrollAccount: EmailFields; + verifyEmail: EmailFields; + } + + module Accounts { + var emailTemplates: EmailTemplates; + + function addEmail(userId: string, newEmail: string, verified ? : boolean): void; + + function removeEmail(userId: string, email: string): void; + + function onCreateUser(func: Function): void; + + function findUserByEmail(email: string): Object; + + function findUserByUsername(username: string): Object; + + function sendEnrollmentEmail(userId: string, email ? : string): void; + + function sendResetPasswordEmail(userId: string, email ? : string): void; + + function sendVerificationEmail(userId: string, email ? : string): void; + + function setUsername(userId: string, newUsername: string): void; + + function setPassword(userId: string, newPassword: string, options ? : { + logout ? : Object; + }): void; + + function validateNewUser(func: Function): boolean; + + function validateLoginAttempt(func: Function): { + stop: () => void + }; + + interface IValidateLoginAttemptCbOpts { + type: string; + allowed: boolean; + error: Meteor.Error; + user: Meteor.User; + connection: Meteor.Connection; + methodName: string; + methodArguments: any[]; + } + } +} + +declare module Blaze { + var View: ViewStatic; + + interface ViewStatic { + new(name ? : string, renderFunction ? : Function): View; + } + + interface View { + name: string; + parentView: View; + isCreated: boolean; + isRendered: boolean; + isDestroyed: boolean; + renderCount: number; + autorun(runFunc: Function): void; + onViewCreated(func: Function): void; + onViewReady(func: Function): void; + onViewDestroyed(func: Function): void; + firstNode(): Node; + lastNode(): Node; + template: Template; + templateInstance(): TemplateInstance; + } + var currentView: View; + + function isTemplate(value: any): boolean; + + interface HelpersMap { + [key: string]: Function; + } + + interface EventsMap { + [key: string]: Function; + } + + var Template: TemplateStatic; + + interface TemplateStatic { + new(viewName ? : string, renderFunction ? : Function): Template; + + registerHelper(name: string, func: Function): void; + instance(): TemplateInstance; + currentData(): any; + parentData(numLevels: number): any; + } + + interface Template { + viewName: string; + renderFunction: Function; + constructView(): View; + head: Template; + find(selector: string): Template; + findAll(selector: string): Template[]; + $: any; + onCreated(cb: Function): void; + onRendered(cb: Function): void; + onDestroyed(cb: Function): void; + created: Function; + rendered: Function; + destroyed: Function; + helpers(helpersMap: HelpersMap): void; + events(eventsMap: EventsMap): void; + } + + var TemplateInstance: TemplateInstanceStatic; + + interface TemplateInstanceStatic { + new(view: View): TemplateInstance; + } + + interface TemplateInstance { + $(selector: string): any; + autorun(runFunc: Function): Object; + data: Object; + find(selector ? : string): TemplateInstance; + findAll(selector: string): TemplateInstance[]; + firstNode: Object; + lastNode: Object; + subscribe(name: string, ...args: any[]): Meteor.SubscriptionHandle; + subscriptionsReady(): boolean; + view: Object; + } + + function Each(argFunc: Function, contentFunc: Function, elseFunc ? : Function): View; + + function Unless(conditionFunc: Function, contentFunc: Function, elseFunc ? : Function): View; + + function If(conditionFunc: Function, contentFunc: Function, elseFunc ? : Function): View; + + function Let(bindings: Function, contentFunc: Function): View; + + function With(data: Object | Function, contentFunc: Function): View; + + function getData(elementOrView ? : HTMLElement | View): Object; + + function getView(element ? : HTMLElement): View; + + function remove(renderedView: View): void; + + function render(templateOrView: Template | View, parentNode: Node, nextNode ? : Node, parentView ? : View): View; + + function renderWithData(templateOrView: Template | View, data: Object | Function, parentNode: Node, nextNode ? : Node, parentView ? : View): View; + + function toHTML(templateOrView: Template | View): string; + + function toHTMLWithData(templateOrView: Template | View, data: Object | Function): string; +} + +declare module "meteor/blaze" { + /// + + module Blaze { + var View: ViewStatic; + + interface ViewStatic { + new(name ? : string, renderFunction ? : Function): View; + } + + interface View { + name: string; + parentView: View; + isCreated: boolean; + isRendered: boolean; + isDestroyed: boolean; + renderCount: number; + autorun(runFunc: Function): void; + onViewCreated(func: Function): void; + onViewReady(func: Function): void; + onViewDestroyed(func: Function): void; + firstNode(): Node; + lastNode(): Node; + template: Template; + templateInstance(): TemplateInstance; + } + var currentView: View; + + function isTemplate(value: any): boolean; + + interface HelpersMap { + [key: string]: Function; + } + + interface EventsMap { + [key: string]: Function; + } + + var Template: TemplateStatic; + + interface TemplateStatic { + new(viewName ? : string, renderFunction ? : Function): Template; + + registerHelper(name: string, func: Function): void; + instance(): TemplateInstance; + currentData(): any; + parentData(numLevels: number): any; + } + + interface Template { + viewName: string; + renderFunction: Function; + constructView(): View; + head: Template; + find(selector: string): Template; + findAll(selector: string): Template[]; + $: any; + onCreated(cb: Function): void; + onRendered(cb: Function): void; + onDestroyed(cb: Function): void; + created: Function; + rendered: Function; + destroyed: Function; + helpers(helpersMap: HelpersMap): void; + events(eventsMap: EventsMap): void; + } + + var TemplateInstance: TemplateInstanceStatic; + + interface TemplateInstanceStatic { + new(view: View): TemplateInstance; + } + + interface TemplateInstance { + $(selector: string): any; + autorun(runFunc: Function): Object; + data: Object; + find(selector ? : string): TemplateInstance; + findAll(selector: string): TemplateInstance[]; + firstNode: Object; + lastNode: Object; + subscribe(name: string, ...args: any[]): Meteor.SubscriptionHandle; + subscriptionsReady(): boolean; + view: Object; + } + + function Each(argFunc: Function, contentFunc: Function, elseFunc ? : Function): View; + + function Unless(conditionFunc: Function, contentFunc: Function, elseFunc ? : Function): View; + + function If(conditionFunc: Function, contentFunc: Function, elseFunc ? : Function): View; + + function Let(bindings: Function, contentFunc: Function): View; + + function With(data: Object | Function, contentFunc: Function): View; + + function getData(elementOrView ? : HTMLElement | View): Object; + + function getView(element ? : HTMLElement): View; + + function remove(renderedView: View): void; + + function render(templateOrView: Template | View, parentNode: Node, nextNode ? : Node, parentView ? : View): View; + + function renderWithData(templateOrView: Template | View, data: Object | Function, parentNode: Node, nextNode ? : Node, parentView ? : View): View; + + function toHTML(templateOrView: Template | View): string; + + function toHTMLWithData(templateOrView: Template | View, data: Object | Function): string; + } +} +declare module BrowserPolicy { + interface framing { + disallow(): void; + restrictToOrigin(origin: string): void; + allowAll(): void; + } + + interface content { + allowEval(): void; + allowInlineStyles(): void; + allowInlineScripts(): void; + allowSameOriginForAll(): void; + allowDataUrlForAll(): void; + allowOriginForAll(origin: string): void; + allowImageOrigin(origin: string): void; + allowFrameOrigin(origin: string): void; + allowContentTypeSniffing(): void; + allowAllContentOrigin(): void; + allowAllContentDataUrl(): void; + allowAllContentSameOrigin(): void; + + disallowAll(): void; + disallowInlineStyles(): void; + disallowEval(): void; + disallowInlineScripts(): void; + disallowFont(): void; + disallowObject(): void; + disallowAllContent(): void; + } +} + +declare module "meteor/browser-policy" { + module BrowserPolicy { + interface framing { + disallow(): void; + restrictToOrigin(origin: string): void; + allowAll(): void; + } + + interface content { + allowEval(): void; + allowInlineStyles(): void; + allowInlineScripts(): void; + allowSameOriginForAll(): void; + allowDataUrlForAll(): void; + allowOriginForAll(origin: string): void; + allowImageOrigin(origin: string): void; + allowFrameOrigin(origin: string): void; + allowContentTypeSniffing(): void; + allowAllContentOrigin(): void; + allowAllContentDataUrl(): void; + allowAllContentSameOrigin(): void; + + disallowAll(): void; + disallowInlineStyles(): void; + disallowEval(): void; + disallowInlineScripts(): void; + disallowFont(): void; + disallowObject(): void; + disallowAllContent(): void; + } + } +} +declare module Match { + var Any: any; + var String: any; + var Integer: any; + var Boolean: any; + var undefined: any; + var Object: any; + + function Optional(pattern: any): boolean; + + function ObjectIncluding(dico: any): boolean; + + function OneOf(...patterns: any[]): any; + + function Where(condition: any): any; + + function test(value: any, pattern: any): boolean; +} + +declare function check(value: any, pattern: any): void; + +declare module "meteor/check" { + module Match { + var Any: any; + var String: any; + var Integer: any; + var Boolean: any; + var undefined: any; + var Object: any; + + function Optional(pattern: any): boolean; + + function ObjectIncluding(dico: any): boolean; + + function OneOf(...patterns: any[]): any; + + function Where(condition: any): any; + + function test(value: any, pattern: any): boolean; + } + + function check(value: any, pattern: any): void; +} + +declare module DDP { + interface DDPStatic { + subscribe(name: string, ...rest: any[]): Meteor.SubscriptionHandle; + call(method: string, ...parameters: any[]): void; + apply(method: string, ...parameters: any[]): void; + methods(IMeteorMethodsDictionary: any): any; + status(): DDPStatus; + reconnect(): void; + disconnect(): void; + onReconnect(): void; + } + + function _allSubscriptionsReady(): boolean; + + interface DDPStatus { + connected: boolean; + /** + * connected, + * connecting, + * failed, + * waiting, + * offline + */ + status: string; + retryCount: number; + retryTime ? : number; + reason ? : string; + } + + function connect(url: string): DDPStatic; +} + +declare module DDPCommon { + interface MethodInvocation { + new(options: {}): MethodInvocation; + + unblock(): void; + + setUserId(userId: number): void; + } +} + +declare module "meteor/ddp" { + /// + + module DDP { + interface DDPStatic { + subscribe(name: string, ...rest: any[]): Meteor.SubscriptionHandle; + call(method: string, ...parameters: any[]): void; + apply(method: string, ...parameters: any[]): void; + methods(IMeteorMethodsDictionary: any): any; + status(): DDPStatus; + reconnect(): void; + disconnect(): void; + onReconnect(): void; + } + + function _allSubscriptionsReady(): boolean; + + interface DDPStatus { + connected: boolean; + /** + * connected, + * connecting, + * failed, + * waiting, + * offline + */ + status: string; + retryCount: number; + retryTime ? : number; + reason ? : string; + } + + function connect(url: string): DDPStatic; + } + + module DDPCommon { + interface MethodInvocation { + new(options: {}): MethodInvocation; + + unblock(): void; + + setUserId(userId: number): void; + } + } +} +interface EJSONableCustomType { + clone(): EJSONableCustomType; + equals(other: Object): boolean; + toJSONValue(): JSONable; + typeName(): string; +} +interface EJSONable { + [key: string]: number | string | boolean | Object | number[] | string[] | Object[] | Date | Uint8Array | EJSONableCustomType; +} +interface JSONable { + [key: string]: number | string | boolean | Object | number[] | string[] | Object[]; +} +interface EJSON extends EJSONable {} + +declare module EJSON { + function addType(name: string, factory: (val: JSONable) => EJSONableCustomType): void; + + function clone < T > (val: T): T; + + function equals(a: EJSON, b: EJSON, options ? : { + keyOrderSensitive ? : boolean; + }): boolean; + + function fromJSONValue(val: JSONable): any; + + function isBinary(x: Object): boolean; + var newBinary: any; + + function parse(str: string): EJSON; + + function stringify(val: EJSON, options ? : { + indent ? : boolean | number | string; + canonical ? : boolean; + }): string; + + function toJSONValue(val: EJSON): JSONable; +} + +declare module "meteor/ejson" { + interface EJSONableCustomType { + clone(): EJSONableCustomType; + equals(other: Object): boolean; + toJSONValue(): JSONable; + typeName(): string; + } + interface EJSONable { + [key: string]: number | string | boolean | Object | number[] | string[] | Object[] | Date | Uint8Array | EJSONableCustomType; + } + interface JSONable { + [key: string]: number | string | boolean | Object | number[] | string[] | Object[]; + } + interface EJSON extends EJSONable {} + + module EJSON { + function addType(name: string, factory: (val: JSONable) => EJSONableCustomType): void; + + function clone < T > (val: T): T; + + function equals(a: EJSON, b: EJSON, options ? : { + keyOrderSensitive ? : boolean; + }): boolean; + + function fromJSONValue(val: JSONable): any; + + function isBinary(x: Object): boolean; + var newBinary: any; + + function parse(str: string): EJSON; + + function stringify(val: EJSON, options ? : { + indent ? : boolean | number | string; + canonical ? : boolean; + }): string; + + function toJSONValue(val: EJSON): JSONable; + } +} +declare module Email { + function send(options: { + from ? : string; + to ? : string | string[]; + cc ? : string | string[]; + bcc ? : string | string[]; + replyTo ? : string | string[]; + subject ? : string; + text ? : string; + html ? : string; + headers ? : Object; + attachments ? : Object[]; + mailComposer ? : MailComposer; + }): void; +} + +interface MailComposerOptions { + escapeSMTP: boolean; + encoding: string; + charset: string; + keepBcc: boolean; + forceEmbeddedImages: boolean; +} + +declare var MailComposer: MailComposerStatic; +interface MailComposerStatic { + new(options: MailComposerOptions): MailComposer; +} +interface MailComposer { + addHeader(name: string, value: string): void; + setMessageOption(from: string, to: string, body: string, html: string): void; + streamMessage(): void; + pipe(stream: any /** fs.WriteStream **/ ): void; +} + +declare module "meteor/email" { + module Email { + function send(options: { + from ? : string; + to ? : string | string[]; + cc ? : string | string[]; + bcc ? : string | string[]; + replyTo ? : string | string[]; + subject ? : string; + text ? : string; + html ? : string; + headers ? : Object; + attachments ? : Object[]; + mailComposer ? : MailComposer; + }): void; + } + + interface MailComposerOptions { + escapeSMTP: boolean; + encoding: string; + charset: string; + keepBcc: boolean; + forceEmbeddedImages: boolean; + } + + var MailComposer: MailComposerStatic; + interface MailComposerStatic { + new(options: MailComposerOptions): MailComposer; + } + interface MailComposer { + addHeader(name: string, value: string): void; + setMessageOption(from: string, to: string, body: string, html: string): void; + streamMessage(): void; + pipe(stream: any /** fs.WriteStream **/ ): void; + } +} +declare module HTTP { + interface HTTPRequest { + content ? : string; + data ? : any; + query ? : string; + params ? : { + [id: string]: string + }; + auth ? : string; + headers ? : { + [id: string]: string + }; + timeout ? : number; + followRedirects ? : boolean; + } + + interface HTTPResponse { + statusCode ? : number; + headers ? : { + [id: string]: string + }; + content ? : string; + data ? : any; + } + + function call(method: string, url: string, options ? : HTTP.HTTPRequest, asyncCallback ? : Function): HTTP.HTTPResponse; + + function del(url: string, callOptions ? : HTTP.HTTPRequest, asyncCallback ? : Function): HTTP.HTTPResponse; + + function get(url: string, callOptions ? : HTTP.HTTPRequest, asyncCallback ? : Function): HTTP.HTTPResponse; + + function post(url: string, callOptions ? : HTTP.HTTPRequest, asyncCallback ? : Function): HTTP.HTTPResponse; + + function put(url: string, callOptions ? : HTTP.HTTPRequest, asyncCallback ? : Function): HTTP.HTTPResponse; + + function call(method: string, url: string, options ? : { + content ? : string; + data ? : Object; + query ? : string; + params ? : Object; + auth ? : string; + headers ? : Object; + timeout ? : number; + followRedirects ? : boolean; + npmRequestOptions ? : Object; + beforeSend ? : Function; + }, asyncCallback ? : Function): HTTP.HTTPResponse; +} + +declare module "meteor/http" { + module HTTP { + interface HTTPRequest { + content ? : string; + data ? : any; + query ? : string; + params ? : { + [id: string]: string + }; + auth ? : string; + headers ? : { + [id: string]: string + }; + timeout ? : number; + followRedirects ? : boolean; + } + + interface HTTPResponse { + statusCode ? : number; + headers ? : { + [id: string]: string + }; + content ? : string; + data ? : any; + } + + function call(method: string, url: string, options ? : HTTP.HTTPRequest, asyncCallback ? : Function): HTTP.HTTPResponse; + + function del(url: string, callOptions ? : HTTP.HTTPRequest, asyncCallback ? : Function): HTTP.HTTPResponse; + + function get(url: string, callOptions ? : HTTP.HTTPRequest, asyncCallback ? : Function): HTTP.HTTPResponse; + + function post(url: string, callOptions ? : HTTP.HTTPRequest, asyncCallback ? : Function): HTTP.HTTPResponse; + + function put(url: string, callOptions ? : HTTP.HTTPRequest, asyncCallback ? : Function): HTTP.HTTPResponse; + + function call(method: string, url: string, options ? : { + content ? : string; + data ? : Object; + query ? : string; + params ? : Object; + auth ? : string; + headers ? : Object; + timeout ? : number; + followRedirects ? : boolean; + npmRequestOptions ? : Object; + beforeSend ? : Function; + }, asyncCallback ? : Function): HTTP.HTTPResponse; + } +} + +declare module Meteor { + /** Global props **/ + var isClient: boolean; + var isCordova: boolean; + var isServer: boolean; + var release: string; + var settings: { + [id: string]: any + }; + /** props **/ + + /** User **/ + interface UserEmail { + address: string; + verified: boolean; + } + interface User { + _id ? : string; + username ? : string; + emails ? : UserEmail[]; + createdAt ? : number; + profile ? : any; + services ? : any; + } + + function user(): User; + + function userId(): string; + var users: Mongo.Collection < User > ; + /** User **/ + + /** Error **/ + var Error: ErrorStatic; + interface ErrorStatic { + new(error: string | number, reason ? : string, details ? : string): Error; + } + interface Error { + error: string | number; + reason ? : string; + details ? : string; + } + /** Error **/ + + /** Method **/ + function methods(methods: Object): void; + + function call(name: string, ...args: any[]): any; + + function apply(name: string, args: EJSONable[], options ? : { + wait ? : boolean; + onResultReceived ? : Function; + }, asyncCallback ? : Function): any; + /** Method **/ + + /** Url **/ + function absoluteUrl(path ? : string, options ? : { + secure ? : boolean; + replaceLocalhost ? : boolean; + rootUrl ? : string; + }): string; + /** Url **/ + + /** Timeout **/ + function setInterval(func: Function, delay: number): number; + + function setTimeout(func: Function, delay: number): number; + + function clearInterval(id: number): void; + + function clearTimeout(id: number): void; + + function defer(func: Function): void; + /** Timeout **/ + + /** utils **/ + function startup(func: Function): void; + + function wrapAsync(func: Function, context ? : Object): any; + /** utils **/ + + /** Pub/Sub **/ + interface SubscriptionHandle { + stop(): void; + ready(): boolean; + } + interface LiveQueryHandle { + stop(): void; + } + /** Pub/Sub **/ +} + +declare module "meteor/meteor" { + /// + /// + + module Meteor { + /** Global props **/ + var isClient: boolean; + var isCordova: boolean; + var isServer: boolean; + var release: string; + var settings: { + [id: string]: any + }; + /** props **/ + + /** User **/ + interface UserEmail { + address: string; + verified: boolean; + } + interface User { + _id ? : string; + username ? : string; + emails ? : UserEmail[]; + createdAt ? : number; + profile ? : any; + services ? : any; + } + + function user(): User; + + function userId(): string; + var users: Mongo.Collection < User > ; + /** User **/ + + /** Error **/ + var Error: ErrorStatic; + interface ErrorStatic { + new(error: string | number, reason ? : string, details ? : string): Error; + } + interface Error { + error: string | number; + reason ? : string; + details ? : string; + } + /** Error **/ + + /** Method **/ + function methods(methods: Object): void; + + function call(name: string, ...args: any[]): any; + + function apply(name: string, args: EJSONable[], options ? : { + wait ? : boolean; + onResultReceived ? : Function; + }, asyncCallback ? : Function): any; + /** Method **/ + + /** Url **/ + function absoluteUrl(path ? : string, options ? : { + secure ? : boolean; + replaceLocalhost ? : boolean; + rootUrl ? : string; + }): string; + /** Url **/ + + /** Timeout **/ + function setInterval(func: Function, delay: number): number; + + function setTimeout(func: Function, delay: number): number; + + function clearInterval(id: number): void; + + function clearTimeout(id: number): void; + + function defer(func: Function): void; + /** Timeout **/ + + /** utils **/ + function startup(func: Function): void; + + function wrapAsync(func: Function, context ? : Object): any; + /** utils **/ + + /** Pub/Sub **/ + interface SubscriptionHandle { + stop(): void; + ready(): boolean; + } + interface LiveQueryHandle { + stop(): void; + } + /** Pub/Sub **/ + } +} + +declare module Meteor { + /** Login **/ + interface LoginWithExternalServiceOptions { + requestPermissions ? : string[]; + requestOfflineToken ? : Boolean; + forceApprovalPrompt ? : Boolean; + loginUrlParameters ? : Object; + redirectUrl ? : string; + loginHint ? : string; + loginStyle ? : string; + } + + function loginWithMeteorDeveloperAccount(options ? : Meteor.LoginWithExternalServiceOptions, callback ? : Function): void; + + function loginWithFacebook(options ? : Meteor.LoginWithExternalServiceOptions, callback ? : Function): void; + + function loginWithGithub(options ? : Meteor.LoginWithExternalServiceOptions, callback ? : Function): void; + + function loginWithGoogle(options ? : Meteor.LoginWithExternalServiceOptions, callback ? : Function): void; + + function loginWithMeetup(options ? : Meteor.LoginWithExternalServiceOptions, callback ? : Function): void; + + function loginWithTwitter(options ? : Meteor.LoginWithExternalServiceOptions, callback ? : Function): void; + + function loginWithWeibo(options ? : Meteor.LoginWithExternalServiceOptions, callback ? : Function): void; + + function loggingIn(): boolean; + + function loginWith < ExternalService > (options ? : { + requestPermissions ? : string[]; + requestOfflineToken ? : boolean; + loginUrlParameters ? : Object; + userEmail ? : string; + loginStyle ? : string; + redirectUrl ? : string; + }, callback ? : Function): void; + + function loginWithPassword(user: Object | string, password: string, callback ? : Function): void; + + function logout(callback ? : Function): void; + + function logoutOtherClients(callback ? : Function): void; + /** Login **/ + + /** Event **/ + interface Event { + type: string; + target: HTMLElement; + currentTarget: HTMLElement; + which: number; + stopPropagation(): void; + stopImmediatePropagation(): void; + preventDefault(): void; + isPropagationStopped(): boolean; + isImmediatePropagationStopped(): boolean; + isDefaultPrevented(): boolean; + } + interface EventHandlerFunction extends Function { + (event ? : Meteor.Event, templateInstance ? : Blaze.TemplateInstance): void; + } + interface EventMap { + [id: string]: Meteor.EventHandlerFunction; + } + /** Event **/ + + /** Connection **/ + function reconnect(): void; + + function disconnect(): void; + /** Connection **/ + + /** Status **/ + function status(): DDP.DDPStatus; + /** Status **/ + + /** Pub/Sub **/ + function subscribe(name: string, ...args: any[]): Meteor.SubscriptionHandle; + /** Pub/Sub **/ +} + +declare module "meteor/meteor" { + /// + + module Meteor { + /** Login **/ + interface LoginWithExternalServiceOptions { + requestPermissions ? : string[]; + requestOfflineToken ? : Boolean; + forceApprovalPrompt ? : Boolean; + loginUrlParameters ? : Object; + redirectUrl ? : string; + loginHint ? : string; + loginStyle ? : string; + } + + function loginWithMeteorDeveloperAccount(options ? : Meteor.LoginWithExternalServiceOptions, callback ? : Function): void; + + function loginWithFacebook(options ? : Meteor.LoginWithExternalServiceOptions, callback ? : Function): void; + + function loginWithGithub(options ? : Meteor.LoginWithExternalServiceOptions, callback ? : Function): void; + + function loginWithGoogle(options ? : Meteor.LoginWithExternalServiceOptions, callback ? : Function): void; + + function loginWithMeetup(options ? : Meteor.LoginWithExternalServiceOptions, callback ? : Function): void; + + function loginWithTwitter(options ? : Meteor.LoginWithExternalServiceOptions, callback ? : Function): void; + + function loginWithWeibo(options ? : Meteor.LoginWithExternalServiceOptions, callback ? : Function): void; + + function loggingIn(): boolean; + + function loginWith < ExternalService > (options ? : { + requestPermissions ? : string[]; + requestOfflineToken ? : boolean; + loginUrlParameters ? : Object; + userEmail ? : string; + loginStyle ? : string; + redirectUrl ? : string; + }, callback ? : Function): void; + + function loginWithPassword(user: Object | string, password: string, callback ? : Function): void; + + function logout(callback ? : Function): void; + + function logoutOtherClients(callback ? : Function): void; + /** Login **/ + + /** Event **/ + interface Event { + type: string; + target: HTMLElement; + currentTarget: HTMLElement; + which: number; + stopPropagation(): void; + stopImmediatePropagation(): void; + preventDefault(): void; + isPropagationStopped(): boolean; + isImmediatePropagationStopped(): boolean; + isDefaultPrevented(): boolean; + } + interface EventHandlerFunction extends Function { + (event ? : Meteor.Event, templateInstance ? : Blaze.TemplateInstance): void; + } + interface EventMap { + [id: string]: Meteor.EventHandlerFunction; + } + /** Event **/ + + /** Connection **/ + function reconnect(): void; + + function disconnect(): void; + /** Connection **/ + + /** Status **/ + function status(): DDP.DDPStatus; + /** Status **/ + + /** Pub/Sub **/ + function subscribe(name: string, ...args: any[]): Meteor.SubscriptionHandle; + /** Pub/Sub **/ + } +} +declare module Meteor { + /** Connection **/ + interface Connection { + id: string; + close: Function; + onClose: Function; + clientAddress: string; + httpHeaders: Object; + } + + function onConnection(callback: Function): void; + /** Connection **/ + + function publish(name: string, func: Function): void; +} + +interface Subscription { + added(collection: string, id: string, fields: Object): void; + changed(collection: string, id: string, fields: Object): void; + connection: Meteor.Connection; + error(error: Error): void; + onStop(func: Function): void; + ready(): void; + removed(collection: string, id: string): void; + stop(): void; + userId: string; +} + +declare module "meteor/meteor" { + module Meteor { + /** Connection **/ + interface Connection { + id: string; + close: Function; + onClose: Function; + clientAddress: string; + httpHeaders: Object; + } + + function onConnection(callback: Function): void; + /** Connection **/ + + function publish(name: string, func: Function): void; + } + + interface Subscription { + added(collection: string, id: string, fields: Object): void; + changed(collection: string, id: string, fields: Object): void; + connection: Meteor.Connection; + error(error: Error): void; + onStop(func: Function): void; + ready(): void; + removed(collection: string, id: string): void; + stop(): void; + userId: string; + } +} +declare module Mongo { + interface Selector { + [key: string]: any; + } + interface Selector extends Object {} + interface Modifier {} + interface SortSpecifier {} + interface FieldSpecifier { + [id: string]: Number; + } + + var Collection: CollectionStatic; + interface CollectionStatic { + new < T > (name: string, options ? : { + connection ? : Object; + idGeneration ? : string; + transform ? : Function; + }): Collection < T > ; + } + interface Collection < T > { + allow(options: { + insert ? : (userId: string, doc: T) => boolean; + update ? : (userId: string, doc: T, fieldNames: string[], modifier: any) => boolean; + remove ? : (userId: string, doc: T) => boolean; + fetch ? : string[]; + transform ? : Function; + }): boolean; + deny(options: { + insert ? : (userId: string, doc: T) => boolean; + update ? : (userId: string, doc: T, fieldNames: string[], modifier: any) => boolean; + remove ? : (userId: string, doc: T) => boolean; + fetch ? : string[]; + transform ? : Function; + }): boolean; + find(selector ? : Selector | ObjectID | string, options ? : { + sort ? : SortSpecifier; + skip ? : number; + limit ? : number; + fields ? : FieldSpecifier; + reactive ? : boolean; + transform ? : Function; + }): Cursor < T > ; + findOne(selector ? : Selector | ObjectID | string, options ? : { + sort ? : SortSpecifier; + skip ? : number; + fields ? : FieldSpecifier; + reactive ? : boolean; + transform ? : Function; + }): T; + insert(doc: T, callback ? : Function): string; + rawCollection(): any; + rawDatabase(): any; + remove(selector: Selector | ObjectID | string, callback ? : Function): number; + update(selector: Selector | ObjectID | string, modifier: Modifier, options ? : { + multi ? : boolean; + upsert ? : boolean; + }, callback ? : Function): number; + upsert(selector: Selector | ObjectID | string, modifier: Modifier, options ? : { + multi ? : boolean; + }, callback ? : Function): { + numberAffected ? : number;insertedId ? : string; + }; + _ensureIndex(indexName: string, options ? : { + [key: string]: any + }): void; + } + + var Cursor: CursorStatic; + interface CursorStatic { + new < T > (): Cursor < T > ; + } + interface ObserveCallbacks { + added ? (document: Object) : void; + addedAt ? (document: Object, atIndex: number, before: Object) : void; + changed ? (newDocument: Object, oldDocument: Object) : void; + changedAt ? (newDocument: Object, oldDocument: Object, indexAt: number) : void; + removed ? (oldDocument: Object) : void; + removedAt ? (oldDocument: Object, atIndex: number) : void; + movedTo ? (document: Object, fromIndex: number, toIndex: number, before: Object) : void; + } + interface ObserveChangesCallbacks { + added ? (id: string, fields: Object) : void; + addedBefore ? (id: string, fields: Object, before: Object) : void; + changed ? (id: string, fields: Object) : void; + movedBefore ? (id: string, before: Object) : void; + removed ? (id: string) : void; + } + interface Cursor < T > { + count(): number; + fetch(): Array < T > ; + forEach(callback: < T > (doc: T, index: number, cursor: Cursor < T > ) => void, thisArg ? : any): void; + map < U > (callback: (doc: T, index: number, cursor: Cursor < T > ) => U, thisArg ? : any): Array < U > ; + observe(callbacks: ObserveCallbacks): Meteor.LiveQueryHandle; + observeChanges(callbacks: ObserveChangesCallbacks): Meteor.LiveQueryHandle; + } + + var ObjectID: ObjectIDStatic; + interface ObjectIDStatic { + new(hexString ? : string): ObjectID; + } + interface ObjectID {} +} + +declare module "meteor/mongo" { + module Mongo { + interface Selector { + [key: string]: any; + } + interface Selector extends Object {} + interface Modifier {} + interface SortSpecifier {} + interface FieldSpecifier { + [id: string]: Number; + } + + var Collection: CollectionStatic; + interface CollectionStatic { + new < T > (name: string, options ? : { + connection ? : Object; + idGeneration ? : string; + transform ? : Function; + }): Collection < T > ; + } + interface Collection < T > { + allow(options: { + insert ? : (userId: string, doc: T) => boolean; + update ? : (userId: string, doc: T, fieldNames: string[], modifier: any) => boolean; + remove ? : (userId: string, doc: T) => boolean; + fetch ? : string[]; + transform ? : Function; + }): boolean; + deny(options: { + insert ? : (userId: string, doc: T) => boolean; + update ? : (userId: string, doc: T, fieldNames: string[], modifier: any) => boolean; + remove ? : (userId: string, doc: T) => boolean; + fetch ? : string[]; + transform ? : Function; + }): boolean; + find(selector ? : Selector | ObjectID | string, options ? : { + sort ? : SortSpecifier; + skip ? : number; + limit ? : number; + fields ? : FieldSpecifier; + reactive ? : boolean; + transform ? : Function; + }): Cursor < T > ; + findOne(selector ? : Selector | ObjectID | string, options ? : { + sort ? : SortSpecifier; + skip ? : number; + fields ? : FieldSpecifier; + reactive ? : boolean; + transform ? : Function; + }): T; + insert(doc: T, callback ? : Function): string; + rawCollection(): any; + rawDatabase(): any; + remove(selector: Selector | ObjectID | string, callback ? : Function): number; + update(selector: Selector | ObjectID | string, modifier: Modifier, options ? : { + multi ? : boolean; + upsert ? : boolean; + }, callback ? : Function): number; + upsert(selector: Selector | ObjectID | string, modifier: Modifier, options ? : { + multi ? : boolean; + }, callback ? : Function): { + numberAffected ? : number;insertedId ? : string; + }; + _ensureIndex(indexName: string, options ? : { + [key: string]: any + }): void; + } + + var Cursor: CursorStatic; + interface CursorStatic { + new < T > (): Cursor < T > ; + } + interface ObserveCallbacks { + added ? (document: Object) : void; + addedAt ? (document: Object, atIndex: number, before: Object) : void; + changed ? (newDocument: Object, oldDocument: Object) : void; + changedAt ? (newDocument: Object, oldDocument: Object, indexAt: number) : void; + removed ? (oldDocument: Object) : void; + removedAt ? (oldDocument: Object, atIndex: number) : void; + movedTo ? (document: Object, fromIndex: number, toIndex: number, before: Object) : void; + } + interface ObserveChangesCallbacks { + added ? (id: string, fields: Object) : void; + addedBefore ? (id: string, fields: Object, before: Object) : void; + changed ? (id: string, fields: Object) : void; + movedBefore ? (id: string, before: Object) : void; + removed ? (id: string) : void; + } + interface Cursor < T > { + count(): number; + fetch(): Array < T > ; + forEach(callback: < T > (doc: T, index: number, cursor: Cursor < T > ) => void, thisArg ? : any): void; + map < U > (callback: (doc: T, index: number, cursor: Cursor < T > ) => U, thisArg ? : any): Array < U > ; + observe(callbacks: ObserveCallbacks): Meteor.LiveQueryHandle; + observeChanges(callbacks: ObserveChangesCallbacks): Meteor.LiveQueryHandle; + } + + var ObjectID: ObjectIDStatic; + interface ObjectIDStatic { + new(hexString ? : string): ObjectID; + } + interface ObjectID {} + } +} +declare module Mongo { + interface AllowDenyOptions { + insert ? : (userId: string, doc: any) => boolean; + update ? : (userId: string, doc: any, fieldNames: string[], modifier: any) => boolean; + remove ? : (userId: string, doc: any) => boolean; + fetch ? : string[]; + transform ? : Function; + } +} + +declare module "meteor/mongo" { + module Mongo { + interface AllowDenyOptions { + insert ? : (userId: string, doc: any) => boolean; + update ? : (userId: string, doc: any, fieldNames: string[], modifier: any) => boolean; + remove ? : (userId: string, doc: any) => boolean; + fetch ? : string[]; + transform ? : Function; + } + } +} +declare module Random { + function id(numberOfChars ? : number): string; + + function secret(numberOfChars ? : number): string; + + function fraction(): number; + // @param numberOfDigits, @returns a random hex string of the given length + function hexString(numberOfDigits: number): string; + // @param array, @return a random element in array + function choice(array: any[]): string; + // @param str, @return a random char in str + function choice(str: string): string; +} + +declare module "meteor/random" { + module Random { + function id(numberOfChars ? : number): string; + + function secret(numberOfChars ? : number): string; + + function fraction(): number; + // @param numberOfDigits, @returns a random hex string of the given length + function hexString(numberOfDigits: number): string; + // @param array, @return a random element in array + function choice(array: any[]): string; + // @param str, @return a random char in str + function choice(str: string): string; + } +} +declare var ReactiveVar: ReactiveVarStatic; +interface ReactiveVarStatic { + new < T > (initialValue: T, equalsFunc ? : Function): ReactiveVar < T > ; +} +interface ReactiveVar < T > { + get(): T; + set(newValue: T): void; +} + +declare module "meteor/reactive-var" { + var ReactiveVar: ReactiveVarStatic; + interface ReactiveVarStatic { + new < T > (initialValue: T, equalsFunc ? : Function): ReactiveVar < T > ; + } + interface ReactiveVar < T > { + get(): T; + set(newValue: T): void; + } +} + +declare module Session { + function equals(key: string, value: string | number | boolean | any): boolean; + + function get(key: string): any; + + function set(key: string, value: EJSONable | any): void; + + function setDefault(key: string, value: EJSONable | any): void; +} + +declare module "meteor/session" { + /// + + module Session { + function equals(key: string, value: string | number | boolean | any): boolean; + + function get(key: string): any; + + function set(key: string, value: EJSONable | any): void; + + function setDefault(key: string, value: EJSONable | any): void; + } +} + +declare var Template: TemplateStatic; +interface TemplateStatic extends Blaze.TemplateStatic { + new(viewName ? : string, renderFunction ? : Function): Blaze.Template; + body: Blaze.Template; + [index: string]: any | Blaze.Template; +} + +declare module "meteor/templating" { + /// + + var Template: TemplateStatic; + interface TemplateStatic extends Blaze.TemplateStatic { + new(viewName ? : string, renderFunction ? : Function): Blaze.Template; + body: Blaze.Template; + [index: string]: any | Blaze.Template; + } +} +interface ILengthAble { + length: number; +} + +interface ITinytestAssertions { + ok(doc: Object): void; + expect_fail(): void; + fail(doc: Object): void; + runId(): string; + equal < T > (actual: T, expected: T, message ? : string, not ? : boolean): void; + notEqual < T > (actual: T, expected: T, message ? : string): void; + instanceOf(obj: Object, klass: Function, message ? : string): void; + notInstanceOf(obj: Object, klass: Function, message ? : string): void; + matches(actual: any, regexp: RegExp, message ? : string): void; + notMatches(actual: any, regexp: RegExp, message ? : string): void; + throws(f: Function, expected ? : string | RegExp): void; + isTrue(v: boolean, msg ? : string): void; + isFalse(v: boolean, msg ? : string): void; + isNull(v: any, msg ? : string): void; + isNotNull(v: any, msg ? : string): void; + isUndefined(v: any, msg ? : string): void; + isNotUndefined(v: any, msg ? : string): void; + isNan(v: any, msg ? : string): void; + isNotNan(v: any, msg ? : string): void; + include < T > (s: Array < T > | Object | string, value: any, msg ? : string, not ? : boolean): void; + + notInclude < T > (s: Array < T > | Object | string, value: any, msg ? : string, not ? : boolean): void; + length(obj: ILengthAble, expected_length: number, msg ? : string): void; + _stringEqual(actual: string, expected: string, msg ? : string): void; +} + +declare module Tinytest { + function add(description: string, func: (test: ITinytestAssertions) => void): void; + + function addAsync(description: string, func: (test: ITinytestAssertions) => void): void; +} + +declare module "meteor/tiny-test" { + interface ILengthAble { + length: number; + } + + interface ITinytestAssertions { + ok(doc: Object): void; + expect_fail(): void; + fail(doc: Object): void; + runId(): string; + equal < T > (actual: T, expected: T, message ? : string, not ? : boolean): void; + notEqual < T > (actual: T, expected: T, message ? : string): void; + instanceOf(obj: Object, klass: Function, message ? : string): void; + notInstanceOf(obj: Object, klass: Function, message ? : string): void; + matches(actual: any, regexp: RegExp, message ? : string): void; + notMatches(actual: any, regexp: RegExp, message ? : string): void; + throws(f: Function, expected ? : string | RegExp): void; + isTrue(v: boolean, msg ? : string): void; + isFalse(v: boolean, msg ? : string): void; + isNull(v: any, msg ? : string): void; + isNotNull(v: any, msg ? : string): void; + isUndefined(v: any, msg ? : string): void; + isNotUndefined(v: any, msg ? : string): void; + isNan(v: any, msg ? : string): void; + isNotNan(v: any, msg ? : string): void; + include < T > (s: Array < T > | Object | string, value: any, msg ? : string, not ? : boolean): void; + + notInclude < T > (s: Array < T > | Object | string, value: any, msg ? : string, not ? : boolean): void; + length(obj: ILengthAble, expected_length: number, msg ? : string): void; + _stringEqual(actual: string, expected: string, msg ? : string): void; + } + + module Tinytest { + function add(description: string, func: (test: ITinytestAssertions) => void): void; + + function addAsync(description: string, func: (test: ITinytestAssertions) => void): void; + } +} +declare module App { + function accessRule(pattern: string, options ? : { + type ? : string; + launchExternal ? : boolean; + }): void; + + function configurePlugin(id: string, config: Object): void; + + function icons(icons: Object): void; + + function info(options: { + id ? : string; + version ? : string; + name ? : string; + description ? : string; + author ? : string; + email ? : string; + website ? : string; + }): void; + + function launchScreens(launchScreens: Object): void; + + function setPreference(name: string, value: string, platform ? : string): void; +} + +declare function execFileAsync(command: string, args ? : any[], options ? : { + cwd ? : Object; + env ? : Object; + stdio ? : any[] | string; + destination ? : any; + waitForClose ? : string; +}): any; +declare function execFileSync(command: string, args ? : any[], options ? : { + cwd ? : Object; + env ? : Object; + stdio ? : any[] | string; + destination ? : any; + waitForClose ? : string; +}): String; + +declare module Assets { + function getBinary(assetPath: string, asyncCallback ? : Function): EJSON; + + function getText(assetPath: string, asyncCallback ? : Function): string; +} + +declare module Cordova { + function depends(dependencies: { + [id: string]: string + }): void; +} + +declare module Npm { + function depends(dependencies: { + [id: string]: string + }): void; + + function require(name: string): any; +} + +declare namespace Package { + function describe(options: { + summary ? : string; + version ? : string; + name ? : string; + git ? : string; + documentation ? : string; + debugOnly ? : boolean; + prodOnly ? : boolean; + testOnly ? : boolean; + }): void; + + function onTest(func: (api: PackageAPI) => void): void; + + function onUse(func: (api: PackageAPI) => void): void; + + function registerBuildPlugin(options ? : { + name ? : string; + use ? : string | string[]; + sources ? : string[]; + npmDependencies ? : Object; + }): void; +} + +interface PackageAPI { + new(): PackageAPI; + addAssets(filenames: string | string[], architecture: string | string[]): void; + addFiles(filenames: string | string[], architecture ? : string | string[], options ? : { + bare ? : boolean; + }): void; + export (exportedObjects: string | string[], architecture ? : string | string[], exportOptions ? : Object, testOnly ? : boolean): void; + imply(packageNames: string | string[], architecture ? : string | string[]): void; + use(packageNames: string | string[], architecture ? : string | string[], options ? : { + weak ? : boolean; + unordered ? : boolean; + }): void; + versionsFrom(meteorRelease: string | string[]): void; +} + +declare var console: Console; + +declare module "meteor/tools" { + module App { + function accessRule(pattern: string, options ? : { + type ? : string; + launchExternal ? : boolean; + }): void; + + function configurePlugin(id: string, config: Object): void; + + function icons(icons: Object): void; + + function info(options: { + id ? : string; + version ? : string; + name ? : string; + description ? : string; + author ? : string; + email ? : string; + website ? : string; + }): void; + + function launchScreens(launchScreens: Object): void; + + function setPreference(name: string, value: string, platform ? : string): void; + } + + function execFileAsync(command: string, args ? : any[], options ? : { + cwd ? : Object; + env ? : Object; + stdio ? : any[] | string; + destination ? : any; + waitForClose ? : string; + }): any; + + function execFileSync(command: string, args ? : any[], options ? : { + cwd ? : Object; + env ? : Object; + stdio ? : any[] | string; + destination ? : any; + waitForClose ? : string; + }): String; + + module Assets { + function getBinary(assetPath: string, asyncCallback ? : Function): EJSON; + + function getText(assetPath: string, asyncCallback ? : Function): string; + } + + module Cordova { + function depends(dependencies: { + [id: string]: string + }): void; + } + + module Npm { + function depends(dependencies: { + [id: string]: string + }): void; + + function require(name: string): any; + } + + namespace Package { + function describe(options: { + summary ? : string; + version ? : string; + name ? : string; + git ? : string; + documentation ? : string; + debugOnly ? : boolean; + prodOnly ? : boolean; + testOnly ? : boolean; + }): void; + + function onTest(func: (api: PackageAPI) => void): void; + + function onUse(func: (api: PackageAPI) => void): void; + + function registerBuildPlugin(options ? : { + name ? : string; + use ? : string | string[]; + sources ? : string[]; + npmDependencies ? : Object; + }): void; + } + + interface PackageAPI { + new(): PackageAPI; + addAssets(filenames: string | string[], architecture: string | string[]): void; + addFiles(filenames: string | string[], architecture ? : string | string[], options ? : { + bare ? : boolean; + }): void; + export (exportedObjects: string | string[], architecture ? : string | string[], exportOptions ? : Object, testOnly ? : boolean): void; + imply(packageNames: string | string[], architecture ? : string | string[]): void; + use(packageNames: string | string[], architecture ? : string | string[], options ? : { + weak ? : boolean; + unordered ? : boolean; + }): void; + versionsFrom(meteorRelease: string | string[]): void; + } + + var console: Console; +} +declare module Tracker { + function Computation(): void; + interface Computation { + firstRun: boolean; + invalidate(): void; + invalidated: boolean; + onInvalidate(callback: Function): void; + onStop(callback: Function): void; + stop(): void; + stopped: boolean; + } + var currentComputation: Computation; + + var Dependency: DependencyStatic; + interface DependencyStatic { + new(): Dependency; + } + interface Dependency { + changed(): void; + depend(fromComputation ? : Computation): boolean; + hasDependents(): boolean; + } + + var active: boolean; + + function afterFlush(callback: Function): void; + + function autorun(runFunc: (computation: Computation) => void, options ? : { + onError ? : Function; + }): Computation; + + function flush(): void; + + function nonreactive(func: Function): void; + + function onInvalidate(callback: Function): void; +} + +declare module "meteor/tracker" { + module Tracker { + function Computation(): void; + interface Computation { + firstRun: boolean; + invalidate(): void; + invalidated: boolean; + onInvalidate(callback: Function): void; + onStop(callback: Function): void; + stop(): void; + stopped: boolean; + } + var currentComputation: Computation; + + var Dependency: DependencyStatic; + interface DependencyStatic { + new(): Dependency; + } + interface Dependency { + changed(): void; + depend(fromComputation ? : Computation): boolean; + hasDependents(): boolean; + } + + var active: boolean; + + function afterFlush(callback: Function): void; + + function autorun(runFunc: (computation: Computation) => void, options ? : { + onError ? : Function; + }): Computation; + + function flush(): void; + + function nonreactive(func: Function): void; + + function onInvalidate(callback: Function): void; + } +} \ No newline at end of file diff --git a/package.json b/package.json index 0f8f093..4dbb0c8 100644 --- a/package.json +++ b/package.json @@ -43,12 +43,13 @@ "@babel/runtime": "^7.9.2", "@material-ui/core": "^4.11.0", "@material-ui/icons": "^4.9.1", - "bcrypt": ">=5.0.0", + "bcrypt": "^5.0.1", "doichain": "0.1.3", "history": "^4.9.0", "invariant": "^2.2.4", "match-sorter": "^4.0.1", "meteor-node-stubs": "^0.3.3", + "moment": "^2.24.0", "mui-datatables": "^2.4.0", "proptypes": "^1.1.0", "react": "^16.8.6", @@ -61,8 +62,7 @@ "react-table": "^7.0.0-alpha.30", "simpl-schema": "^1.5.5", "styled-components": "^4.3.2", - "useragent": "^2.3.0", - "moment": "^2.24.0" + "useragent": "^2.3.0" }, "devDependencies": { "@babel/core": "^7.4.4",