import { Contract } from "@paperbits/common"; import { IModelBinder } from "@paperbits/common/editing"; import { SignupSocialModel } from "./signupSocialModel"; import { SignupSocialContract } from "./signupSocialContract"; const nodeType = "signup-social"; const oldNodeType = "user-signup-social"; export class SignupSocialModelBinder implements IModelBinder { public canHandleContract(contract: Contract): boolean { return contract.type === nodeType || contract.type === oldNodeType; } public canHandleModel(model: Object): boolean { return model instanceof SignupSocialModel; } public async contractToModel(contract: SignupSocialContract): Promise { return new SignupSocialModel(); } public modelToContract(model: SignupSocialModel): Contract { const contract: SignupSocialContract = { type: nodeType }; return contract; } }