Guest User

Untitled

a guest
Jan 25th, 2018
297
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width">
  6. <title>JS Bin</title>
  7. </head>
  8. <body>
  9.  
  10. <script id="jsbin-javascript">
  11. const models = {
  12. user: {
  13. _name: 'user',
  14. email: 'email',
  15. first_name: 'firstName',
  16. id: 'id',
  17. last_name: 'lastName',
  18. password: 'password'
  19. }
  20. }
  21.  
  22. const dir = {
  23. login: {
  24. auth_token: 'token',
  25. user: models.user
  26. }
  27. }
  28.  
  29.  
  30. let copy = (form, obj) => {
  31. let tmp = {}
  32. for (let prop of Object.entries(form)) {
  33. if (prop[0] === '_name') { continue }
  34. console.log(prop, tmp)
  35. if (typeof prop[1] === 'object') {
  36. tmp[prop[1]._name] = copy(prop[1], obj[prop[0]])
  37. } else {
  38. tmp[prop[1]] = obj[prop[0]]
  39. }
  40. }
  41. }
  42.  
  43. let translate = (response, call) => {
  44. let form = dir[call]
  45.  
  46. return copy(form, call)
  47. }
  48.  
  49. console.log(translate({
  50. auth_token: 'asdfasdf',
  51. user: {
  52. first_name: 'dan',
  53. last_name: 'pat',
  54. id: 2,
  55. email: 'asdf@asdf.com'
  56. }
  57. }, 'login'))
  58. </script>
  59.  
  60.  
  61.  
  62. <script id="jsbin-source-javascript" type="text/javascript">const models = {
  63. user: {
  64. _name: 'user',
  65. email: 'email',
  66. first_name: 'firstName',
  67. id: 'id',
  68. last_name: 'lastName',
  69. password: 'password'
  70. }
  71. }
  72.  
  73. const dir = {
  74. login: {
  75. auth_token: 'token',
  76. user: models.user
  77. }
  78. }
  79.  
  80.  
  81. let copy = (form, obj) => {
  82. let tmp = {}
  83. for (let prop of Object.entries(form)) {
  84. if (prop[0] === '_name') { continue }
  85. console.log(prop, tmp)
  86. if (typeof prop[1] === 'object') {
  87. tmp[prop[1]._name] = copy(prop[1], obj[prop[0]])
  88. } else {
  89. tmp[prop[1]] = obj[prop[0]]
  90. }
  91. }
  92. }
  93.  
  94. let translate = (response, call) => {
  95. let form = dir[call]
  96.  
  97. return copy(form, call)
  98. }
  99.  
  100. console.log(translate({
  101. auth_token: 'asdfasdf',
  102. user: {
  103. first_name: 'dan',
  104. last_name: 'pat',
  105. id: 2,
  106. email: 'asdf@asdf.com'
  107. }
  108. }, 'login'))</script></body>
  109. </html>
Add Comment
Please, Sign In to add comment