[meteor-astronomy] typing improved. (#35177)

* [meteor-astronomy] typing improved.

* [meteor-astronomy] fixed mistake with Array
This commit is contained in:
Igor Golovin
2019-05-03 10:00:52 -07:00
committed by Wesley Wigham
parent e907365599
commit 7742d380cd
+9 -8
View File
@@ -7,6 +7,7 @@
/// <reference types="meteor" />
declare namespace MeteorAstronomy {
type Omit<T, K> = Pick<T, Exclude<keyof T, K>>;
type NonFunctionPropertyNames<T> = { [K in keyof T]: T[K] extends Function ? never : K }[keyof T]; // tslint:disable-line:ban-types
type NonFunctionProperties<T> = Pick<T, NonFunctionPropertyNames<T>>;
type FunctionPropertyNames<T> = { [K in keyof T]: T[K] extends Function ? K : never }[keyof T]; // tslint:disable-line:ban-types
@@ -54,7 +55,7 @@ declare namespace MeteorAstronomy {
interface ClassModel<T> {
name: string;
collection?: Mongo.Collection<T>;
fields: Fields<T>;
fields: Fields<Omit<T, '_id'>>;
behaviors?: object;
secured?: {
insert: boolean,
@@ -76,19 +77,19 @@ declare namespace MeteorAstronomy {
set(fields: Partial<T>, options?: {cast?: boolean; clone?: boolean; merge?: boolean}): void;
set(field: string, value: any): void;
get(field: string): any;
get(fields: string[]): any[];
get(fields: string[]): Partial<T>;
isModified(field?: string): boolean;
getModified(): any;
getModifiedValues(options?: {old?: boolean, raw?: boolean}): Partial<T>;
getModifier(): any;
raw(): T;
raw(field: string): any;
raw(fields: string[]): any[];
save(options?: SaveAndValidateOptions<keyof T>, callback?: SaveAndValidateCallback): void;
save(callback?: SaveAndValidateCallback): void;
copy(save: boolean): any;
validate(options?: SaveAndValidateOptions<keyof T>, callback?: SaveAndValidateCallback): void;
validate(callback?: SaveAndValidateCallback): void;
raw(fields: string[]): Partial<T>;
save(options: SaveAndValidateOptions<keyof T>, callback: SaveAndValidateCallback): void;
save(optionsOrCallback?: SaveAndValidateOptions<keyof T> | SaveAndValidateCallback): void;
copy(save?: boolean): Model<T>;
validate(options: SaveAndValidateOptions<keyof T>, callback: SaveAndValidateCallback): void;
validate(optionsOrCallback?: SaveAndValidateOptions<keyof T> | SaveAndValidateCallback): void;
remove(callback?: RemoveCallback): void;
};