{"ScriptPreparationCode":"// ","TestCases":[{"Name":"class","Code":"// use case\r\nclass CountUsers {\r\n userRepository\r\n constructor(userRepository) {\r\n this.userRepository = userRepository\r\n }\r\n\r\n execute = async () =\u003E {\r\n this.validate()\r\n\r\n const response = await this.userRepository.count()\r\n\r\n return response\r\n }\r\n\r\n validate = () =\u003E {\r\n return true\r\n }\r\n}\r\n\r\n// repository\r\nclass UserRepository {\r\n count = async () =\u003E {\r\n return true\r\n }\r\n}\r\n\r\n// route\r\nconst countUsers = new CountUsers(new UserRepository())\r\n\r\ncountUsers.execute().then(response =\u003E {\r\n return response\r\n})\r\n","IsDeferred":false},{"Name":"object literal v1","Code":"// Repository\r\nconst UserRepository = () =\u003E {\r\n const count = async () =\u003E {\r\n return true\r\n }\r\n\r\n return { count }\r\n}\r\n\r\n// Use case\r\nconst CountUsers = userRepository =\u003E {\r\n const execute = async () =\u003E {\r\n validate()\r\n\r\n const response = await userRepository.count()\r\n\r\n return response\r\n }\r\n\r\n const validate = () =\u003E {\r\n return true\r\n }\r\n\r\n return { execute }\r\n}\r\n\r\n// Route\r\nconst userRepository = UserRepository()\r\n\r\nCountUsers(userRepository)\r\n .execute()\r\n .then(response =\u003E {\r\n return response\r\n })\r\n","IsDeferred":false},{"Name":"only functions","Code":"// Repository\r\nconst count = async () =\u003E {\r\n return true\r\n}\r\n\r\n// Use case\r\nconst execute = async repoFunction =\u003E {\r\n validate()\r\n\r\n const response = await repoFunction()\r\n\r\n return response\r\n}\r\n\r\nconst validate = () =\u003E {\r\n return true\r\n}\r\n\r\n// Route\r\nexecute(count).then(response =\u003E {\r\n return response\r\n})","IsDeferred":false}]}