Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width">
- <title>JS Bin</title>
- </head>
- <body>
- <script id="jsbin-javascript">
- const models = {
- user: {
- _name: 'user',
- email: 'email',
- first_name: 'firstName',
- id: 'id',
- last_name: 'lastName',
- password: 'password'
- }
- }
- const dir = {
- login: {
- auth_token: 'token',
- user: models.user
- }
- }
- let copy = (form, obj) => {
- let tmp = {}
- for (let prop of Object.entries(form)) {
- if (prop[0] === '_name') { continue }
- console.log(prop, tmp)
- if (typeof prop[1] === 'object') {
- tmp[prop[1]._name] = copy(prop[1], obj[prop[0]])
- } else {
- tmp[prop[1]] = obj[prop[0]]
- }
- }
- }
- let translate = (response, call) => {
- let form = dir[call]
- return copy(form, call)
- }
- console.log(translate({
- auth_token: 'asdfasdf',
- user: {
- first_name: 'dan',
- last_name: 'pat',
- id: 2,
- email: 'asdf@asdf.com'
- }
- }, 'login'))
- </script>
- <script id="jsbin-source-javascript" type="text/javascript">const models = {
- user: {
- _name: 'user',
- email: 'email',
- first_name: 'firstName',
- id: 'id',
- last_name: 'lastName',
- password: 'password'
- }
- }
- const dir = {
- login: {
- auth_token: 'token',
- user: models.user
- }
- }
- let copy = (form, obj) => {
- let tmp = {}
- for (let prop of Object.entries(form)) {
- if (prop[0] === '_name') { continue }
- console.log(prop, tmp)
- if (typeof prop[1] === 'object') {
- tmp[prop[1]._name] = copy(prop[1], obj[prop[0]])
- } else {
- tmp[prop[1]] = obj[prop[0]]
- }
- }
- }
- let translate = (response, call) => {
- let form = dir[call]
- return copy(form, call)
- }
- console.log(translate({
- auth_token: 'asdfasdf',
- user: {
- first_name: 'dan',
- last_name: 'pat',
- id: 2,
- email: 'asdf@asdf.com'
- }
- }, 'login'))</script></body>
- </html>
Add Comment
Please, Sign In to add comment