From ccbba00164901d4e7b784677cc04b883f8dd5087 Mon Sep 17 00:00:00 2001 From: mattiamanzati Date: Tue, 24 Jan 2017 12:33:19 +0100 Subject: [PATCH 1/2] feat: advanced createFactory definition --- src/types/object.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/types/object.ts b/src/types/object.ts index 129597e34..ac9e778ac 100644 --- a/src/types/object.ts +++ b/src/types/object.ts @@ -1,4 +1,4 @@ -import {action, isAction, extendShallowObservable, observable, IObjectChange, IObjectWillChange} from "mobx" +import {action, isAction, extendShallowObservable, observable, IObjectChange, IObjectWillChange, IAction} from "mobx" import {nothing, invariant, isSerializable, fail, registerEventHandler, IDisposer, identity, extend, isPrimitive, hasOwnProperty, addReadOnlyProp, isPlainObject} from "../utils" import {Node, maybeNode, getNode, valueToSnapshot, getRelativePath, hasNode} from "../core/node" import {IFactory, isFactory, getFactory, IModel} from "../core/factories" @@ -172,8 +172,10 @@ export class ObjectType extends ComplexType { } } -export function createModelFactory(baseModel: T): IFactory -export function createModelFactory(name: string, baseModel: T): IFactory +export type IBaseModelDefinition = {[K in keyof T]: IFactory | T[K] & IAction | T[K]} + +export function createModelFactory(baseModel: IBaseModelDefinition): IFactory +export function createModelFactory(name: string, baseModel: IBaseModelDefinition): IFactory export function createModelFactory(arg1, arg2?) { let name = typeof arg1 === "string" ? arg1 : "unnamed-object-factory" let baseModel: Object = typeof arg1 === "string" ? arg2 : arg1 From 3d50c2d64943dd08ae537406ee70975ed7795f6b Mon Sep 17 00:00:00 2001 From: Michel Weststrate Date: Sat, 4 Feb 2017 14:32:03 +0100 Subject: [PATCH 2/2] updated to mobx 3.1 --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b5d7b7c10..3ffe4cba3 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "concurrently": "^3.1.0", "coveralls": "^2.11.4", "documentation": "^4.0.0-beta9", - "mobx": "^3.0.0", + "mobx": "^3.1.0", "nyc": "^10.0.0", "tape": "^4.6.0", "tslint": "^3.15.1", @@ -46,7 +46,7 @@ "remotedev": "^0.2.2" }, "peerDependencies": { - "mobx": "^3.0.0-rc.1" + "mobx": "^3.1.0" }, "keywords": [ "mobx",