Skip to content
Snippets Groups Projects
Commit 8ea907a2 authored by Suvi Hyvönen's avatar Suvi Hyvönen
Browse files

last initiate

parent 13e20821
Branches
No related tags found
No related merge requests found
Showing with 101 additions and 4 deletions
{
"main.css": "/static/css/main.2b36e4a3.chunk.css",
"main.js": "/static/js/main.47011b03.chunk.js",
"main.js.map": "/static/js/main.47011b03.chunk.js.map",
"runtime~main.js": "/static/js/runtime~main.a8a9905a.js",
"runtime~main.js.map": "/static/js/runtime~main.a8a9905a.js.map",
"static/js/2.1ed37150.chunk.js": "/static/js/2.1ed37150.chunk.js",
"static/js/2.1ed37150.chunk.js.map": "/static/js/2.1ed37150.chunk.js.map",
"index.html": "/index.html",
"precache-manifest.be0d2555c038e9dadb92af1c53180cb6.js": "/precache-manifest.be0d2555c038e9dadb92af1c53180cb6.js",
"service-worker.js": "/service-worker.js",
"static/css/main.2b36e4a3.chunk.css.map": "/static/css/main.2b36e4a3.chunk.css.map"
}
\ No newline at end of file
build/favicon.ico

3.78 KiB

<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta name="theme-color" content="#000000"/><link rel="manifest" href="/manifest.json"/><title>React App</title><link href="/static/css/main.2b36e4a3.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(l){function e(e){for(var r,t,n=e[0],o=e[1],u=e[2],f=0,i=[];f<n.length;f++)t=n[f],p[t]&&i.push(p[t][0]),p[t]=0;for(r in o)Object.prototype.hasOwnProperty.call(o,r)&&(l[r]=o[r]);for(s&&s(e);i.length;)i.shift()();return c.push.apply(c,u||[]),a()}function a(){for(var e,r=0;r<c.length;r++){for(var t=c[r],n=!0,o=1;o<t.length;o++){var u=t[o];0!==p[u]&&(n=!1)}n&&(c.splice(r--,1),e=f(f.s=t[0]))}return e}var t={},p={1:0},c=[];function f(e){if(t[e])return t[e].exports;var r=t[e]={i:e,l:!1,exports:{}};return l[e].call(r.exports,r,r.exports,f),r.l=!0,r.exports}f.m=l,f.c=t,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(r,e){if(1&e&&(r=f(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var n in r)f.d(t,n,function(e){return r[e]}.bind(null,n));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},f.p="/";var r=window.webpackJsonp=window.webpackJsonp||[],n=r.push.bind(r);r.push=e,r=r.slice();for(var o=0;o<r.length;o++)e(r[o]);var s=n;a()}([])</script><script src="/static/js/2.1ed37150.chunk.js"></script><script src="/static/js/main.47011b03.chunk.js"></script></body></html>
\ No newline at end of file
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}
self.__precacheManifest = [
{
"revision": "3dd993fa6c9a8cc26ed3",
"url": "/static/css/main.2b36e4a3.chunk.css"
},
{
"revision": "3dd993fa6c9a8cc26ed3",
"url": "/static/js/main.47011b03.chunk.js"
},
{
"revision": "42ac5946195a7306e2a5",
"url": "/static/js/runtime~main.a8a9905a.js"
},
{
"revision": "e6dee7f4d43520689314",
"url": "/static/js/2.1ed37150.chunk.js"
},
{
"revision": "32b4107d09324b250953d346d9758e44",
"url": "/index.html"
}
];
\ No newline at end of file
/**
* Welcome to your Workbox-powered service worker!
*
* You'll need to register this file in your web app and you should
* disable HTTP caching for this file too.
* See https://goo.gl/nhQhGp
*
* The rest of the code is auto-generated. Please don't update this file
* directly; instead, make changes to your Workbox build configuration
* and re-run your build process.
* See https://goo.gl/2aRDsh
*/
importScripts("https://storage.googleapis.com/workbox-cdn/releases/3.6.3/workbox-sw.js");
importScripts(
"/precache-manifest.be0d2555c038e9dadb92af1c53180cb6.js"
);
workbox.clientsClaim();
/**
* The workboxSW.precacheAndRoute() method efficiently caches and responds to
* requests for URLs in the manifest.
* See https://goo.gl/S9QRab
*/
self.__precacheManifest = [].concat(self.__precacheManifest || []);
workbox.precaching.suppressWarnings();
workbox.precaching.precacheAndRoute(self.__precacheManifest, {});
workbox.routing.registerNavigationRoute("/index.html", {
blacklist: [/^\/_/,/\/[^\/]+\.[^\/]+$/],
});
body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2{color:#00f}p{font-style:italic}li{color:grey;padding-top:5px;font-size:15px}.confirmation{color:red;background:#d3d3d3;font-size:20px;border-style:solid;border-radius:5px;padding:10px;margin-bottom:10px}
/*# sourceMappingURL=main.2b36e4a3.chunk.css.map */
\ No newline at end of file
{"version":3,"sources":["C:/Users/Suvi/react/osa2.2/src/C:/Users/Suvi/react/osa2.2/src/index.css","main.2b36e4a3.chunk.css"],"names":[],"mappings":"AAAA,KACE,QAAA,CACA,SAAA,CACA,mICEY,CDCZ,kCAAA,CACA,iCCCF,CDEA,KACE,uECEF,CDMA,MACE,UCCF,CDEA,EACE,iBCCF,CDEA,GACE,UAAA,CACA,eAAA,CACA,cCCF,CDEA,cACE,SAAA,CACA,kBAAA,CACA,cAAA,CACA,kBAAA,CACA,iBAAA,CACA,YAAA,CACA,kBCCF","file":"main.2b36e4a3.chunk.css","sourcesContent":["body {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, \"Courier New\",\n monospace;\n}\n\nh1{\n color: blue;\n}\n\nh2{\n color: blue;\n}\n\np{\n font-style: italic;\n}\n\nli {\n color: grey;\n padding-top: 5px;\n font-size: 15px;\n}\n\n.confirmation {\n color: red;\n background: lightgrey;\n font-size: 20px;\n border-style: solid;\n border-radius: 5px;\n padding: 10px;\n margin-bottom: 10px;\n}\n","body {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, \"Courier New\",\n monospace;\n}\n\nh1{\n color: blue;\n}\n\nh2{\n color: blue;\n}\n\np{\n font-style: italic;\n}\n\nli {\n color: grey;\n padding-top: 5px;\n font-size: 15px;\n}\n\n.confirmation {\n color: red;\n background: lightgrey;\n font-size: 20px;\n border-style: solid;\n border-radius: 5px;\n padding: 10px;\n margin-bottom: 10px;\n}\n\n"]}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{16:function(e,n,t){e.exports=t(42)},41:function(e,n,t){},42:function(e,n,t){"use strict";t.r(n);var a=t(0),o=t.n(a),r=t(10),l=t.n(r),s=t(11),c=t(12),u=t(14),i=t(13),m=t(15),d=function(e){var n=e.person,t=e.deletePerson,a=n.delete?"Do not delete":"Delete contact";return o.a.createElement("li",null,n.name,", ",n.number,o.a.createElement("button",{onClick:t},a))},p=t(2),h=t.n(p),f={getAll:function(){return h.a.get("/api/persons")},create:function(e){return h.a.post("/api/persons",e)},deletemus:function(e){return h.a.delete("".concat("/api/persons","/").concat(e))}},g=function(e){function n(e){var t;return Object(s.a)(this,n),(t=Object(u.a)(this,Object(i.a)(n).call(this,e))).handleNameChange=function(e){console.log(e.target.value),t.setState({newName:e.target.value})},t.handleNumberChange=function(e){console.log(e.target.value),t.setState({newNumber:e.target.value})},t.addPerson=function(e){console.log("You pushed hard!");var n={name:t.state.newName,number:t.state.newNumber};void 0===(n.name&&n.number)&&(console.log("content missing"),alert("Please check the input, there is some content missing.")),t.state.persons.map(function(e){return e.name.toUpperCase()}).includes(n.name.toUpperCase())&&(alert("".concat(n.name," already exists! Please choose a different name.")),console.log("name must be unique!")),f.create(n).then(function(e){t.setState({persons:t.state.persons.concat(e.data),newPerson:""})})},t.deletePersonOf=function(e){return function(){console.log("the contact ".concat(e," needs to be deleted"));var n=t.state.persons.find(function(n){return n.id===e});f.deletemus(e).then(function(e){window.confirm("Are you sure you want to delete the contact '".concat(n.name,"' from the server?"))&&window.open("Nimi poistettu!")})}},t.state={persons:[],newPerson:""},t}return Object(m.a)(n,e),Object(c.a)(n,[{key:"componentDidMount",value:function(){var e=this;console.log("did mount"),f.getAll().then(function(n){console.log("promise fulfilled"),e.setState({persons:n.data})})}},{key:"render",value:function(){var e=this;return o.a.createElement("div",null,o.a.createElement("h1",null,"Phone directory"),o.a.createElement("form",{onSubmit:this.addPerson},o.a.createElement("div",null,o.a.createElement("p",null,"Name:"),o.a.createElement("input",{onChange:this.handleNameChange})),o.a.createElement("div",null,o.a.createElement("p",null,"Phone number:"),o.a.createElement("input",{onChange:this.handleNumberChange})),o.a.createElement("div",null,o.a.createElement("p",null,o.a.createElement("button",{type:"submit"},"Add")))),o.a.createElement("h2",null,o.a.createElement("u",null,"Numbers")),o.a.createElement("ul",null,this.state.persons.map(function(n){return o.a.createElement(d,{key:n.name,person:n,deletePerson:e.deletePersonOf(n.id)})})))}}]),n}(o.a.Component);t(41);l.a.render(o.a.createElement(g,{persons:[{newPerson:""}]}),document.getElementById("root"))}},[[16,1,2]]]);
//# sourceMappingURL=main.47011b03.chunk.js.map
\ No newline at end of file
{"version":3,"sources":["components/Person.js","services/persons.js","App.js","index.js"],"names":["Person","_ref","person","deletePerson","label","delete","react_default","a","createElement","name","number","onClick","persons","getAll","axios","get","create","newObject","post","deletemus","id","concat","App","props","_this","Object","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","handleNameChange","event","console","log","target","value","setState","newName","handleNumberChange","newNumber","addPerson","personObject","state","undefined","alert","map","toUpperCase","includes","personService","then","response","data","newPerson","deletePersonOf","find","n","window","confirm","open","_this2","_this3","onSubmit","onChange","type","components_Person","key","React","Component","ReactDOM","render","src_App","document","getElementById"],"mappings":"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","file":"static/js/main.47011b03.chunk.js","sourcesContent":["import React from 'react'\r\n\r\nconst Person = ({ person, deletePerson }) => {\r\n const label = person.delete ? 'Do not delete' : 'Delete contact'\r\n return (\r\n <li>{person.name}, {person.number}\r\n <button onClick={deletePerson}>{label}</button>\r\n </li>\r\n )\r\n}\r\n\r\nexport default Person\r\n","import axios from 'axios'\r\nconst baseUrl = '/api/persons'\r\n\r\nconst getAll = () => {\r\n return axios.get(baseUrl)\r\n}\r\n\r\nconst create = (newObject) => {\r\n return axios.post(baseUrl, newObject)\r\n}\r\n\r\nconst deletemus = (id) => {\r\n return axios.delete(`${baseUrl}/${id}`)\r\n}\r\n\r\nexport default { getAll, create, deletemus }\r\n","//toimiva2.4-2.10\r\n//yhteentoimivuus backin kanssa\r\n\r\nimport React from 'react'\r\nimport Person from './components/Person'\r\nimport personService from './services/persons'\r\n\r\n\r\nclass App extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n persons: [],\r\n newPerson: ''\r\n }\r\n }\r\n\r\n handleNameChange = (event) => {\r\n console.log(event.target.value)\r\n this.setState({newName: event.target.value})\r\n }\r\n\r\n handleNumberChange = (event) => {\r\n console.log(event.target.value)\r\n this.setState({newNumber: event.target.value})\r\n }\r\n\r\n\r\n\r\n componentDidMount() {\r\n console.log('did mount')\r\n personService\r\n .getAll()\r\n .then(response => {\r\n console.log('promise fulfilled')\r\n this.setState({ persons: response.data })\r\n })\r\n }\r\n\r\n\r\n addPerson = (event) => {\r\n\r\n console.log('You pushed hard!')\r\n const personObject = {\r\n name: this.state.newName,\r\n number: this.state.newNumber\r\n }\r\n\r\n if ((personObject.name && personObject.number) === undefined) {\r\n console.log(\"content missing\");\r\n alert('Please check the input, there is some content missing.')\r\n }\r\n\r\n\r\n if (this.state.persons.map(person => person.name.toUpperCase()).includes(personObject.name.toUpperCase())) {\r\n alert(`${personObject.name} already exists! Please choose a different name.`)\r\n console.log(\"name must be unique!\");\r\n }\r\n\r\n personService\r\n .create(personObject)\r\n .then(response => {\r\n this.setState({\r\n persons: this.state.persons.concat(response.data),\r\n newPerson:''\r\n })\r\n })\r\n\r\n }\r\n\r\n deletePersonOf = (id) => {\r\n return () => {\r\n console.log(`the contact ${id} needs to be deleted`)\r\n const person = this.state.persons.find(n => n.id === id)\r\n\r\n personService\r\n .deletemus(id)\r\n .then(response => {\r\n if (window.confirm(`Are you sure you want to delete the contact '${person.name}' from the server?`)){\r\n window.open(\"Nimi poistettu!\")\r\n }\r\n })\r\n}\r\n}\r\n\r\n\r\n\r\n render() {\r\n\r\n\r\n return (\r\n <div>\r\n <h1>Phone directory</h1>\r\n <form onSubmit={this.addPerson}>\r\n <div>\r\n <p>Name:</p>\r\n <input\r\n onChange={this.handleNameChange}\r\n />\r\n </div>\r\n <div>\r\n <p>Phone number:</p>\r\n <input\r\n onChange={this.handleNumberChange}\r\n />\r\n </div>\r\n <div>\r\n <p><button type=\"submit\">Add</button></p>\r\n </div>\r\n </form>\r\n <h2><u>Numbers</u></h2>\r\n\r\n <ul>\r\n {this.state.persons.map(person =>\r\n <Person\r\n key={person.name}\r\n person={person}\r\n deletePerson={this.deletePersonOf(person.id)}\r\n />)}\r\n </ul>\r\n </div>\r\n )\r\n }\r\n}\r\n\r\n\r\nexport default App\r\n","//toimiva2.4-2.10 ei 2.5\r\nimport React from 'react'\r\nimport ReactDOM from 'react-dom'\r\nimport App from './App'\r\nimport './index.css'\r\n\r\n\r\nconst persons = [\r\n {\r\n newPerson:''\r\n }\r\n]\r\n\r\nReactDOM.render(<App persons={persons}/>, document.getElementById('root'))\r\n"],"sourceRoot":""}
\ No newline at end of file
!function(e){function r(r){for(var n,f,i=r[0],l=r[1],a=r[2],c=0,s=[];c<i.length;c++)f=i[c],o[f]&&s.push(o[f][0]),o[f]=0;for(n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n]);for(p&&p(r);s.length;)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var l=t[i];0!==o[l]&&(n=!1)}n&&(u.splice(r--,1),e=f(f.s=t[0]))}return e}var n={},o={1:0},u=[];function f(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,f),t.l=!0,t.exports}f.m=e,f.c=n,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(e,r){if(1&r&&(e=f(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)f.d(t,n,function(r){return e[r]}.bind(null,n));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},f.p="/";var i=window.webpackJsonp=window.webpackJsonp||[],l=i.push.bind(i);i.push=r,i=i.slice();for(var a=0;a<i.length;a++)r(i[a]);var p=l;t()}([]);
//# sourceMappingURL=runtime~main.a8a9905a.js.map
\ No newline at end of file
{"version":3,"sources":["../webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","1","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice"],"mappings":"aACA,SAAAA,EAAAC,GAQA,IAPA,IAMAC,EAAAC,EANAC,EAAAH,EAAA,GACAI,EAAAJ,EAAA,GACAK,EAAAL,EAAA,GAIAM,EAAA,EAAAC,EAAA,GACQD,EAAAH,EAAAK,OAAoBF,IAC5BJ,EAAAC,EAAAG,GACAG,EAAAP,IACAK,EAAAG,KAAAD,EAAAP,GAAA,IAEAO,EAAAP,GAAA,EAEA,IAAAD,KAAAG,EACAO,OAAAC,UAAAC,eAAAC,KAAAV,EAAAH,KACAc,EAAAd,GAAAG,EAAAH,IAKA,IAFAe,KAAAhB,GAEAO,EAAAC,QACAD,EAAAU,OAAAV,GAOA,OAHAW,EAAAR,KAAAS,MAAAD,EAAAb,GAAA,IAGAe,IAEA,SAAAA,IAEA,IADA,IAAAC,EACAf,EAAA,EAAiBA,EAAAY,EAAAV,OAA4BF,IAAA,CAG7C,IAFA,IAAAgB,EAAAJ,EAAAZ,GACAiB,GAAA,EACAC,EAAA,EAAkBA,EAAAF,EAAAd,OAA2BgB,IAAA,CAC7C,IAAAC,EAAAH,EAAAE,GACA,IAAAf,EAAAgB,KAAAF,GAAA,GAEAA,IACAL,EAAAQ,OAAApB,IAAA,GACAe,EAAAM,IAAAC,EAAAN,EAAA,KAGA,OAAAD,EAIA,IAAAQ,EAAA,GAKApB,EAAA,CACAqB,EAAA,GAGAZ,EAAA,GAGA,SAAAS,EAAA1B,GAGA,GAAA4B,EAAA5B,GACA,OAAA4B,EAAA5B,GAAA8B,QAGA,IAAAC,EAAAH,EAAA5B,GAAA,CACAK,EAAAL,EACAgC,GAAA,EACAF,QAAA,IAUA,OANAhB,EAAAd,GAAAa,KAAAkB,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAnB,EAGAY,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACA1B,OAAA6B,eAAAT,EAAAM,EAAA,CAA0CI,YAAA,EAAAC,IAAAJ,KAK1CX,EAAAgB,EAAA,SAAAZ,GACA,qBAAAa,eAAAC,aACAlC,OAAA6B,eAAAT,EAAAa,OAAAC,YAAA,CAAwDC,MAAA,WAExDnC,OAAA6B,eAAAT,EAAA,cAAiDe,OAAA,KAQjDnB,EAAAoB,EAAA,SAAAD,EAAAE,GAEA,GADA,EAAAA,IAAAF,EAAAnB,EAAAmB,IACA,EAAAE,EAAA,OAAAF,EACA,KAAAE,GAAA,kBAAAF,QAAAG,WAAA,OAAAH,EACA,IAAAI,EAAAvC,OAAAwC,OAAA,MAGA,GAFAxB,EAAAgB,EAAAO,GACAvC,OAAA6B,eAAAU,EAAA,WAAyCT,YAAA,EAAAK,UACzC,EAAAE,GAAA,iBAAAF,EAAA,QAAAM,KAAAN,EAAAnB,EAAAS,EAAAc,EAAAE,EAAA,SAAAA,GAAgH,OAAAN,EAAAM,IAAqBC,KAAA,KAAAD,IACrI,OAAAF,GAIAvB,EAAA2B,EAAA,SAAAtB,GACA,IAAAM,EAAAN,KAAAiB,WACA,WAA2B,OAAAjB,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAgB,EAAAC,GAAsD,OAAA7C,OAAAC,UAAAC,eAAAC,KAAAyC,EAAAC,IAGtD7B,EAAA8B,EAAA,IAEA,IAAAC,EAAAC,OAAA,aAAAA,OAAA,iBACAC,EAAAF,EAAAhD,KAAA2C,KAAAK,GACAA,EAAAhD,KAAAX,EACA2D,IAAAG,QACA,QAAAvD,EAAA,EAAgBA,EAAAoD,EAAAlD,OAAuBF,IAAAP,EAAA2D,EAAApD,IACvC,IAAAU,EAAA4C,EAIAxC","file":"static/js/runtime~main.a8a9905a.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t1: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""}
\ No newline at end of file
......@@ -23,22 +23,22 @@ app.use(logger)
let persons = [
{
name: "Arto Hellas",
name: "Murto Karhunen",
number: "040-123456",
id: 1
},
{
name: "Martti Tienari",
name: "Lotto Massinen",
number: "040-123456",
id: 2
},
{
name: "Arto Järvinen",
name: "Valo Pää",
number: "040-123456",
id: 3
},
{
name: "Lea Kutvonen",
name: "Erkka Markkanen",
number: "040-123456",
id: 4
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment