UNPKG

js-data

Version:

Robust, framework-agnostic in-memory data store.

412 lines (410 loc) 17.6 kB
/** * Flowtype definitions for js-data * Generated by Flowgen from a Typescript Definition * Flowgen v1.2.0 * */ declare export var version: { alpha: string | boolean, beta: string | boolean, full: string, major: number, minor: number, patch: number }; declare export interface Diff { added: any, changed: any, removed: any } declare export var utils: { Promise: PromiseConstructor, _(dest: any, src: any): void, _forRelation(opts: any, def: any, fn: Function, ctx: Object): void, _getIndex(list: any[], relation: any): number, addHiddenPropsToTarget(target: Object, props: Object): void, areDifferent(a: Object, b: Object, opts: any): boolean, classCallCheck(instance: Object, ctor: Function): void, copy( from: any, to?: any, stackFrom?: any, stackTo?: any, blacklist?: any[], plain?: boolean): any, deepFillIn(dest: Object, source: Object): Object, deepMixIn(dest: Object, source: Object): Object, diffObjects(a: any, b: any, opts: any): Diff, equal(a: any, b: any): boolean, eventify(target: any, getter: Function, setter: Function, enumerable?: boolean): void, extend(props?: any, classProps?: any): Function, fillIn(dest: Object, src: Object): void, findIndex(array: any[], fn: Function): void, forEachRelation(mapper: any, opts: any, fn: Function, ctx?: any): void, forOwn(obj: any, fn: Function, thisArg?: Object): void, fromJson(json: any): any, get(object: Object, prop: string): any, getSuper(instance: any, isCtor?: boolean): Function, intersection(array1: any[], array2: any[]): any[], isArray(arg: any): boolean, isBlacklisted(prop: string, bl: any[]): boolean, isBoolean(value: any): boolean, isBrowser: boolean, isDate(value: any): boolean, isFunction(value: any): boolean, isInteger(value: any): boolean, isNull(value: any): boolean, isNumber(value: any): boolean, isObject(value: any): boolean, isRegExp(value: any): boolean, isSorN(value: any): boolean, isString(value: any): boolean, isUndefined(value: any): boolean, logify(target: any, defaultNamespace: any): void, noDupeAdd(array: any[], record: any, fn: Function): void, omit(props: Object, keys: string[]): Object, plainCopy(from: any): any, possibleConstructorReturn(self: Object, call: Object | Function): Object, reject(value: any): Promise<any>, remove(array: any[], fn: Function): void, resolve(value: any): Promise<any>, set(object: Object, path: string, value?: any): void, deepEqual(a: any, b: any): boolean, toJson(value: any, replacer?: Function, space?: number): string, unset(object: Object, path: string): void }; declare export class Settable { extend(instanceProps?: any, classProps?: any): any } declare export class Component { extend(instanceProps?: any, classProps?: any): any; constructor(opts?: any): this; _listeners: Object; dbg(...args: any[]): void; emit(key: string, ...args: any[]): void; log(level: string, ...args: any[]): void; off(key?: string, handler?: Function): void; on(key: string, handler: Function, ctx?: any): void } declare export class Record mixins Component { mapper: Mapper; constructor(props?: any, opts?: any): this; _set(prop: any, value?: any): void; _get(prop: string): any; _unset(prop: any): void; _mapper(): Mapper; afterLoadRelations(): void; afterSave(): void; beforeSave(): void; beforeLoadRelations(): void; changeHistory(): any[]; changes(opts?: any): Diff; commit(): this; create(opts?: any): Promise<Record>; destroy(opts?: any): Promise<any>; isNew(): boolean; loadRelations(relations: any, opts?: any): Promise<this>; get(key: string): any; hasChanges(opts?: any): boolean; previous(key: any): any; revert(opts?: any): this; save(opts?: any): Promise<this>; set(key: string, value?: any, opts?: any): void; toJSON(opts?: any): any; unset(key: string, opts?: any): void; validate(opts?: any): any } declare export class Mapper mixins Component { _adapters: Object; applySchema: boolean; name: string; defaultAdapter: string; debug: boolean; idAttribute: string; lifecycleMethods: any; notify: boolean; raw: boolean; recordClass: typeof Record; relationList: any[]; relationFields: string[]; schema: Schema; constructor(opts?: any): this; afterCount(query: any, opts: any, result: any): any; afterCreate(props: any, opts: any, result: any): any; afterCreateMany(records: any[], opts: any, result: any): any; afterDestroy(id: string | number, opts: any, result: any): any; afterDestroyAll(query: any, opts: any, result: any): any; afterFind(id: string | number, opts: any, result: any): any; afterFindAll(query: any, opts: any, result: any): any; afterSum(field: string, query: any, opts: any, result: any): any; afterUpdate(id: string | number, props: any, opts: any, result: any): any; afterUpdateAll(props: any, query: any, opts: any, result: any): any; afterUpdateMany(records: any[], opts: any, result: any): any; beforeCreate(props: any, opts: any): any; beforeCreateMany(records: any[], opts: any): any; beforeCount(query: any, opts: any): any; beforeDestroy(id: string | number, opts: any): any; beforeDestroyAll(query: any, opts: any): any; beforeFind(id: string | number, opts: any): any; beforeFindAll(query: any, opts: any): any; beforeSum(field: string, query: any, opts: any): any; beforeUpdate(id: string | number, opts: any): any; beforeUpdateAll(query: any, opts: any): any; beforeUpdateMany(records: any[], opts: any): any; _end(result: any, opts: any, skip?: boolean): any; belongsTo(relatedMapper: any, opts: any): void; count(query: any, opts?: any): Promise<any>; create(props: any, opts?: any): Promise<any>; createInstance(props: any, opts?: any): any; createMany(records: any[], opts?: any): Promise<any>; createRecord(props?: any, opts?: any): Record; crud(method: any, ...args: any[]): Promise<any>; destroy(id: string | number, opts?: any): Promise<any>; destroyAll(query: any, opts?: any): Promise<any>; find(id: string | number, opts?: any): Promise<any>; findAll(query: any, opts?: any): Promise<any>; getAdapter(name: any): any; getAdapterName(opts?: any): any; getAdapters(): any; getSchema(): Schema; hasMany(relatedMapper: any, opts: any): void; hasOne(relatedMapper: any, opts: any): void; is(record: any): boolean; registerAdapter(name: string, adapter: any, opts?: any): void; sum(field: string, query: any, opts?: any): Promise<any>; toJSON(record: any, opts?: any): {}; update(id: string | number, props: any, opts?: any): Promise<any>; updateAll(props: any, query: any, opts?: any): Promise<any>; updateMany(records: any[], opts?: any): Promise<any>; validate(records: any | any[], opts?: any): any } declare export class Collection mixins Component { idAttribute: string; onConflict: string; recordOpts: any; index: Index; indexes: any; mapper: Mapper; constructor(records?: any[], opts?: any): this; _onRecordEvent(...args: any[]): void; add(records: any, opts?: any): any; afterAdd(...args: any[]): void; afterRemove(...args: any[]): void; afterRemoveAll(...args: any[]): void; beforeAdd(...args: any[]): void; beforeRemove(...args: any[]): void; beforeRemoveAll(...args: any[]): void; between(leftKeys: any, rightKeys: any, opts?: any): any[]; createIndex(name: any, fieldList: any, opts?: any): this; filter(query: any, thisArg?: any): any[]; forEach(cb: Function, thisArg?: any): void; get(id: string | number): any; getAll(...args: any[]): any[]; getIndex(name: string): any; limit(num: number): any[]; map(cb: any, thisArg: any): any[]; mapCall(funcName: string, ...args: any[]): any[]; prune(): any[]; query(): Query; recordId(record?: any): any; reduce(cb: Function, initialValue: any): any; remove(id: string | number, opts?: any): any; removeAll(query: any, opts?: any): any[]; skip(num: number): any[]; toJSON(opts?: any): any[]; unsaved(): any[]; updateIndex(record: any, opts?: any): void; updateIndexes(record: any): void } declare export class LinkedCollection mixins Collection { _added: Object; datastore: DataStore } declare export class Container mixins Component { mapperDefaults: any; mapperClass: typeof Mapper; _adapters: Object; _mappers: Object; as(name: string): any; constructor(opts?: any): this; createRecord(name: string, props?: any, opts?: any): Record; defineMapper(name: string, opts?: any): Mapper; defineResource(name: string, opts?: any): Mapper; getAdapter(name: any): any; getAdapterName(opts?: any): string; getAdapters(): any; getMapper(name: string): Mapper; getMapperByName(name: string): Mapper; registerAdapter(name: string, adapter: any, opts?: any): void } declare export class SimpleStore mixins Container { collectionClass: typeof Collection; _collections: Object; _pendingQueries: Object; _completedQueries: Object; usePendingFind: boolean; usePendingFindAll: boolean; as(name: string): Mapper | Collection; constructor(opts?: any): this; add(mapperName: string, records: any[] | any, opts?: any): any[] | any; addToCache(mapperName: string, data: any, opts: any): any; between(mapperName: string, leftKeys: any, rightKeys: any, opts?: any): any[]; cachedFind(mapperName: string, id: string | number, opts: any): any; cachedFindAll(mapperName: string, hash: string, opts: any): any; cacheFind(mapperName: string, data: any, id: string | number, opts: any): void; cacheFindAll(mapperName: string, data: any, hash: string, opts: any): void; clear(): any; createIndex(mapperName: string, name: any, fieldList: any, opts?: any): Collection; filter(mapperName: string, query: any, thisArg?: any): any[]; get(mapperName: string, id: string | number): any; getAll(mapperName: string, ...args: any[]): any[]; query(mapperName: string): Query; remove(mapperName: string, id: string | number, opts?: any): any; removeAll(mapperName: string, query?: any, opts?: any): void | any[]; toJson(mapperName: string, opts?: any): any[]; _callSuper(method: string, ...args: any[]): any; _end(mapperName: string, data: any, opts?: any): any; create(mapperName: string, record: any, opts?: any): Promise<any>; createMany(mapperName: string, records: any, opts?: any): Promise<any[] | any>; defineMapper(mapperName: string, opts?: any): Mapper; destroy(mapperName: string, id: any, opts?: any): Promise<any>; destroyAll(mapperName: string, query?: any, opts?: any): Promise<any>; find(mapperName: string, id: any, opts?: any): Promise<any>; findAll(mapperName: string, query?: any, opts?: any): Promise<any>; cachedFind(mapperName: string, id: any, opts?: any): any; cachedFindAll(mapperName: string, query: any, opts?: any): any; hashQuery(mapperName: string, query: any, opts?: any): string; getCollection(mapperName: string): Collection; update(mapperName: string, id: any, record: any, opts?: any): Promise<any>; updateAll(mapperName: string, props: any, query?: any, opts?: any): Promise<any[] | any>; updateMany(mapperName: string, records: any, opts?: any): Promise<any[] | any > } declare export class DataStore mixins SimpleStore { collectionClass: typeof LinkedCollection; as(name: string): Mapper | LinkedCollection; createIndex(mapperName: string, name: any, fieldList: any, opts?: any): LinkedCollection; getCollection(mapperName: string): LinkedCollection } declare export class Query mixins Component { ops: { == (value: any, predicate: any): boolean, === (value: any, predicate: any): boolean, != (value: any, predicate: any): boolean, !== (value: any, predicate: any): boolean, > (value: any, predicate: any): boolean, >= (value: any, predicate: any): boolean, < (value: any, predicate: any): boolean, <= (value: any, predicate: any): boolean, isectEmpty(value: any, predicate: any): boolean, isectNotEmpty(value: any, predicate: any): number, in (value: any, predicate: any): boolean, notIn(value: any, predicate: any): boolean, contains(value: any, predicate: any): boolean, notContains(value: any, predicate: any): boolean }; collection: Collection | LinkedCollection; data: any[]; constructor(collection?: Collection): this; compare(orderBy: any, index: any, a: any, b: any): any; evaluate(value: any, op: string, predicate: any): boolean; like(pattern: any, flags: any): RegExp; getData(): any[]; between(leftKeys: any, rightKeys: any, opts?: any): this; get(keyList?: any[], opts?: any): this; getAll(...args: any[]): this; filter(query: any, thisArg?: any): this; skip(num: number): this; limit(num: number): this; forEach(forEachFn: Function, thisArg?: any): this; map(mapFn: Function, thisArg?: any): this; mapCall(funcName: string, ...args: any[]): this; run(): any[] } declare export interface SchemaValidationError { expected: any, actual: string, path: string } declare export class Schema mixins Component { types: { array(value: any): boolean, boolean(value: any): boolean, integer(value: any): boolean, null(value: any): boolean, number(value: any): boolean, object(value: any): boolean, string(value: any): boolean }; typeGroupValidators: { array(value: any, schema: any, opts: any): SchemaValidationError[], integer(value: any, schema: any, opts: any): SchemaValidationError[], number(value: any, schema: any, opts: any): SchemaValidationError[], numeric(value: any, schema: any, opts: any): SchemaValidationError[], object(value: any, schema: any, opts: any): SchemaValidationError[], string(value: any, schema: any, opts: any): SchemaValidationError[] }; validationKeywords: { allOf(value: any, schema: any, opts: any): SchemaValidationError[], anyOf(value: any, schema: any, opts: any): SchemaValidationError[], dependencies(value: any, schema: any, opts: any): void, enum(value: any, schema: any, opts: any): SchemaValidationError, items(value: any, schema: any, opts: any): SchemaValidationError[], maximum(value: any, schema: any, opts: any): SchemaValidationError, maxItems(value: any, schema: any, opts: any): SchemaValidationError, maxLength(value: any, schema: any, opts: any): SchemaValidationError, maxProperties(value: any, schema: any, opts: any): SchemaValidationError, minimum(value: any, schema: any, opts: any): SchemaValidationError, minItems(value: any, schema: any, opts: any): SchemaValidationError, minLength(value: any, schema: any, opts: any): SchemaValidationError, minProperties(value: any, schema: any, opts: any): SchemaValidationError, multipleOf(value: any, schema: any, opts: any): SchemaValidationError, not(value: any, schema: any, opts: any): SchemaValidationError, oneOf(value: any, schema: any, opts: any): SchemaValidationError[], pattern(value: any, schema: any, opts: any): SchemaValidationError, properties(value: any, schema: any, opts: any): SchemaValidationError[], required(value: any, schema: any, opts: any): SchemaValidationError[], type(value: any, schema: any, opts: any): SchemaValidationError, uniqueItems(value: any, schema: any, opts: any): SchemaValidationError }; validate(value: any, schema: any, opts: any): SchemaValidationError[]; properties: any; constructor(definition: any): this; apply(target: any, opts?: any): void; applyDefaults(target: any): void; makeDescriptor(prop: string, schema: Schema, opts?: any): any; pick(value: any): any; validate(value: any, opts?: any): SchemaValidationError[] } declare export class Index { fieldList: string[]; fieldGetter: Function; hashCode: Function; isIndex: boolean; keys: any[]; values: any[]; constructor(fieldList: string[], opts?: any): this; set(keyList: any[], value: any): void; get(keyList: any[]): any; getAll(): any[]; visitAll(cb: Function, thisArg?: any): void; between(leftKeys: any, rightKeys: any, opts?: any): any[]; _between(leftKeys: any, rightKeys: any, opts: any): any[]; peek(): any; clear(): void; insertRecord(data: any): void; removeRecord(data: any): any; updateRecord(data: any): void } declare export var belongsToType: string; declare export var hasManyType: string; declare export var hasOneType: string; declare export var belongsTo: (related: any, opts: any) => (target: any) => void; declare export var hasMany: (related: any, opts: any) => (target: any) => void; declare export var hasOne: (related: any, opts: any) => (target: any) => void;