From 519a3d728395a0086cb2b366ef4f8ef4f5e89640 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20PENHO=C3=8BT?= Date: Wed, 6 Oct 2021 17:00:32 +0200 Subject: [PATCH] Adaptation des pages d'exemples, suite nouveau parseur. --- public/JS/firstExample.app.js | 2 - public/JS/firstExample.app.js.LICENSE.txt | 6 - public/datas/elements-chimiques.csv | 2 +- public/datas/posts.json | 602 +++++++++++++++++++++ public/index.html | 3 +- public/withJSON.html | 32 ++ src/build/firstExample.js | 120 ---- src/{firstExample.ts => exampleWithCSV.ts} | 2 +- src/exampleWithJSON.ts | 69 +++ tests/datas/posts.json | 602 +++++++++++++++++++++ 10 files changed, 1309 insertions(+), 131 deletions(-) delete mode 100644 public/JS/firstExample.app.js delete mode 100644 public/JS/firstExample.app.js.LICENSE.txt create mode 100644 public/datas/posts.json create mode 100644 public/withJSON.html delete mode 100644 src/build/firstExample.js rename src/{firstExample.ts => exampleWithCSV.ts} (98%) create mode 100644 src/exampleWithJSON.ts create mode 100644 tests/datas/posts.json diff --git a/public/JS/firstExample.app.js b/public/JS/firstExample.app.js deleted file mode 100644 index f34f489..0000000 --- a/public/JS/firstExample.app.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see firstExample.app.js.LICENSE.txt */ -(()=>{var e={196:(e,t,i)=>{"use strict";i.d(t,{q:()=>M});var r=function(e,t){return et?1:0},n=/(^0x[\da-fA-F]+$|^([+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?(?!\.\d+)(?=\D|\s|$))|\d+)/g,s=/^\s+|\s+$/g,a=/\s+/g,o=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/,l=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[/-]\d{1,4}[/-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,d=/^0+[1-9]{1}[0-9]*$/,u=/[^\x00-\x80]/,c=function(e,t){var i=e.localeCompare(t);return i?i/Math.abs(i):0},h=function(e,t){return et?1:0},f=function(e){if(0!==e.length){var t=Number(e);if(!Number.isNaN(t))return t}},p=function(e){return e.replace(a," ").replace(s,"")},g=function(e,t,i){if(o.test(e)&&(!d.test(e)||0===t||"."!==i[t-1]))return f(e)||0},v=function(e,t,i){return{parsedNumber:g(e,t,i),normalizedString:p(e)}},m=function(e){return function(e){return e.replace(n,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0")}(e).map(v)},_=function(e){return"function"==typeof e},y=function(e){return Number.isNaN(e)||e instanceof Number&&Number.isNaN(e.valueOf())},b=function(e){return null===e},w=function(e){return!(null===e||"object"!=typeof e||Array.isArray(e)||e instanceof Number||e instanceof String||e instanceof Boolean||e instanceof Date)},E=function(e){return"symbol"==typeof e},S=function(e){return void 0===e},F=function(e){if("string"==typeof e||e instanceof String||("number"==typeof e||e instanceof Number)&&!y(e)||"boolean"==typeof e||e instanceof Boolean||e instanceof Date){var t=function(e){return"boolean"==typeof e||e instanceof Boolean?Number(e).toString():"number"==typeof e||e instanceof Number?e.toString():e instanceof Date?e.getTime().toString():"string"==typeof e||e instanceof String?e.toLowerCase().replace(s,""):""}(e),i=function(e){var t=f(e);return void 0!==t?t:function(e){if(l.test(e)){var t=Date.parse(e);if(!Number.isNaN(t))return t}}(e)}(t);return{parsedNumber:i,chunks:m(i?""+i:t),value:e}}return{isArray:Array.isArray(e),isFunction:_(e),isNaN:y(e),isNull:b(e),isObject:w(e),isSymbol:E(e),isUndefined:S(e),value:e}},k=function(e){return"string"==typeof e&&("asc"===e||"desc"===e)};function M(e){var t,i;return function(e){return function(t,i){return function(e,t){return e.value===t.value?0:void 0!==e.parsedNumber&&void 0!==t.parsedNumber?r(e.parsedNumber,t.parsedNumber):e.chunks&&t.chunks?function(e,t){for(var i=e.length,n=t.length,s=Math.min(i,n),a=0;as||n>s?i<=s?-1:1:0}(e.chunks,t.chunks):function(e,t){return(e.chunks?!t.chunks:t.chunks)?e.chunks?-1:1:(e.isNaN?!t.isNaN:t.isNaN)?e.isNaN?-1:1:(e.isSymbol?!t.isSymbol:t.isSymbol)?e.isSymbol?-1:1:(e.isObject?!t.isObject:t.isObject)?e.isObject?-1:1:(e.isArray?!t.isArray:t.isArray)?e.isArray?-1:1:(e.isFunction?!t.isFunction:t.isFunction)?e.isFunction?-1:1:(e.isNull?!t.isNull:t.isNull)?e.isNull?-1:1:0}(e,t)}(F(t),F(i))*("desc"===e.order?-1:1)}}((i="asc","string"==typeof(t=e)&&k(t)?i=t:t&&"object"==typeof t&&t.order&&k(t.order)&&(i=t.order),{order:i}))}},460:function(e,t){var i,r;void 0===(r="function"==typeof(i=function e(){"use strict";var t="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==t?t:{},i=!t.document&&!!t.postMessage,r=i&&/blob:/i.test((t.location||{}).protocol),n={},s=0,a={parse:function(i,r){var o=(r=r||{}).dynamicTyping||!1;if(w(o)&&(r.dynamicTypingFunction=o,o={}),r.dynamicTyping=o,r.transform=!!w(r.transform)&&r.transform,r.worker&&a.WORKERS_SUPPORTED){var l=function(){if(!a.WORKERS_SUPPORTED)return!1;var i,r,o=(i=t.URL||t.webkitURL||null,r=e.toString(),a.BLOB_URL||(a.BLOB_URL=i.createObjectURL(new Blob(["(",r,")();"],{type:"text/javascript"})))),l=new t.Worker(o);return l.onmessage=v,l.id=s++,n[l.id]=l}();return l.userStep=r.step,l.userChunk=r.chunk,l.userComplete=r.complete,l.userError=r.error,r.step=w(r.step),r.chunk=w(r.chunk),r.complete=w(r.complete),r.error=w(r.error),delete r.worker,void l.postMessage({input:i,config:r,workerId:l.id})}var f=null;return a.NODE_STREAM_INPUT,"string"==typeof i?f=r.download?new d(r):new c(r):!0===i.readable&&w(i.read)&&w(i.on)?f=new h(r):(t.File&&i instanceof File||i instanceof Object)&&(f=new u(r)),f.stream(i)},unparse:function(e,t){var i=!1,r=!0,n=",",s="\r\n",o='"',l=o+o,d=!1,u=null,c=!1;!function(){if("object"==typeof t){if("string"!=typeof t.delimiter||a.BAD_DELIMITERS.filter((function(e){return-1!==t.delimiter.indexOf(e)})).length||(n=t.delimiter),("boolean"==typeof t.quotes||"function"==typeof t.quotes||Array.isArray(t.quotes))&&(i=t.quotes),"boolean"!=typeof t.skipEmptyLines&&"string"!=typeof t.skipEmptyLines||(d=t.skipEmptyLines),"string"==typeof t.newline&&(s=t.newline),"string"==typeof t.quoteChar&&(o=t.quoteChar),"boolean"==typeof t.header&&(r=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw new Error("Option columns is empty");u=t.columns}void 0!==t.escapeChar&&(l=t.escapeChar+o),"boolean"==typeof t.escapeFormulae&&(c=t.escapeFormulae)}}();var h=new RegExp(p(o),"g");if("string"==typeof e&&(e=JSON.parse(e)),Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return f(null,e,d);if("object"==typeof e[0])return f(u||Object.keys(e[0]),e,d)}else if("object"==typeof e)return"string"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:"object"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||"object"==typeof e.data[0]||(e.data=[e.data])),f(e.fields||[],e.data||[],d);throw new Error("Unable to serialize unrecognized input");function f(e,t,i){var a="";"string"==typeof e&&(e=JSON.parse(e)),"string"==typeof t&&(t=JSON.parse(t));var o=Array.isArray(e)&&0=this._config.preview;if(r)t.postMessage({results:o,workerId:a.WORKER_ID,finished:d});else if(w(this._config.chunk)&&!i){if(this._config.chunk(o,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);o=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(o.data),this._completeResults.errors=this._completeResults.errors.concat(o.errors),this._completeResults.meta=o.meta),this._completed||!d||!w(this._config.complete)||o&&o.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),d||o&&o.meta.paused||this._nextChunk(),o}this._halted=!0},this._sendError=function(e){w(this._config.error)?this._config.error(e):r&&this._config.error&&t.postMessage({workerId:a.WORKER_ID,error:e,finished:!1})}}function d(e){var t;(e=e||{}).chunkSize||(e.chunkSize=a.RemoteChunkSize),l.call(this,e),this._nextChunk=i?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(t=new XMLHttpRequest,this._config.withCredentials&&(t.withCredentials=this._config.withCredentials),i||(t.onload=b(this._chunkLoaded,this),t.onerror=b(this._chunkError,this)),t.open(this._config.downloadRequestBody?"POST":"GET",this._input,!i),this._config.downloadRequestHeaders){var e=this._config.downloadRequestHeaders;for(var r in e)t.setRequestHeader(r,e[r])}if(this._config.chunkSize){var n=this._start+this._config.chunkSize-1;t.setRequestHeader("Range","bytes="+this._start+"-"+n)}try{t.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}i&&0===t.status&&this._chunkError()}},this._chunkLoaded=function(){4===t.readyState&&(t.status<200||400<=t.status?this._chunkError():(this._start+=this._config.chunkSize?this._config.chunkSize:t.responseText.length,this._finished=!this._config.chunkSize||this._start>=function(e){var t=e.getResponseHeader("Content-Range");return null===t?-1:parseInt(t.substring(t.lastIndexOf("/")+1))}(t),this.parseChunk(t.responseText)))},this._chunkError=function(e){var i=t.statusText||e;this._sendError(new Error(i))}}function u(e){var t,i;(e=e||{}).chunkSize||(e.chunkSize=a.LocalChunkSize),l.call(this,e);var r="undefined"!=typeof FileReader;this.stream=function(e){this._input=e,i=e.slice||e.webkitSlice||e.mozSlice,r?((t=new FileReader).onload=b(this._chunkLoaded,this),t.onerror=b(this._chunkError,this)):t=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(t.error)}}function c(e){var t;l.call(this,e=e||{}),this.stream=function(e){return t=e,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var e,i=this._config.chunkSize;return i?(e=t.substring(0,i),t=t.substring(i)):(e=t,t=""),this._finished=!t,this.parseChunk(e)}}}function h(e){l.call(this,e=e||{});var t=[],i=!0,r=!1;this.pause=function(){l.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){l.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){r&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):i=!0},this._streamData=b((function(e){try{t.push("string"==typeof e?e:e.toString(this._config.encoding)),i&&(i=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}}),this),this._streamError=b((function(e){this._streamCleanUp(),this._sendError(e)}),this),this._streamEnd=b((function(){this._streamCleanUp(),r=!0,this._streamData("")}),this),this._streamCleanUp=b((function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)}),this)}function f(e){var t,i,r,n=Math.pow(2,53),s=-n,o=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,l=/^(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))$/,d=this,u=0,c=0,h=!1,f=!1,v=[],m={data:[],errors:[],meta:{}};if(w(e.step)){var _=e.step;e.step=function(t){if(m=t,S())E();else{if(E(),0===m.data.length)return;u+=t.data.length,e.preview&&u>e.preview?i.abort():(m.data=m.data[0],_(m,d))}}}function b(t){return"greedy"===e.skipEmptyLines?""===t.join("").trim():1===t.length&&0===t[0].length}function E(){if(m&&r&&(k("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+a.DefaultDelimiter+"'"),r=!1),e.skipEmptyLines)for(var t=0;t=v.length?"__parsed_extra":v[r]),e.transform&&(a=e.transform(a,s)),a=F(s,a),"__parsed_extra"===s?(n[s]=n[s]||[],n[s].push(a)):n[s]=a}return e.header&&(r>v.length?k("FieldMismatch","TooManyFields","Too many fields: expected "+v.length+" fields but parsed "+r,c+i):r=r.length/2?"\r\n":"\r"}(n,l)),r=!1,e.delimiter)w(e.delimiter)&&(e.delimiter=e.delimiter(n),m.meta.delimiter=e.delimiter);else{var d=function(t,i,r,n,s){var o,l,d,u;s=s||[",","\t","|",";",a.RECORD_SEP,a.UNIT_SEP];for(var c=0;c=o)return A(!0)}else for(D=u,u++;;){if(-1===(D=e.indexOf(t,D+1)))return h||b.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:y.length,index:u}),C();if(D===f-1)return C(e.substring(u,D).replace(O,t));if(t!==d||e[D+1]!==d){if(t===d||0===D||e[D-1]!==d){-1!==M&&M=o)return A(!0);break}b.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:y.length,index:u}),D++}}else D++}return C();function x(e){y.push(e),S=u}function I(t){var i=0;if(-1!==t){var r=e.substring(D+1,t);r&&""===r.trim()&&(i=r.length)}return i}function C(t){return h||(void 0===t&&(t=e.substring(u)),E.push(t),u=f,x(E),_&&H()),A()}function R(t){u=t,x(E),E=[],N=e.indexOf(r,u)}function A(e){return{data:y,errors:b,meta:{delimiter:i,linebreak:r,aborted:c,truncated:!!e,cursor:S+(a||0)}}}function H(){s(A()),y=[],b=[]}},this.abort=function(){c=!0},this.getCharIndex=function(){return u}}function v(e){var t=e.data,i=n[t.workerId],r=!1;if(t.error)i.userError(t.error,t.file);else if(t.results&&t.results.data){var s={abort:function(){r=!0,m(t.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:_,resume:_};if(w(i.userStep)){for(var a=0;a{e.exports={converterElementNotFound:'Aucun élément HTML n\'a été trouvé ayant comme "id" : ',converterFieldNotFound:"Le champ n'existe pas dans les données ou les données n'ont pas encore été chargées.",converterNeedDatasElt:"Merci de fournir un id valide pour l'élément où afficher les données.",converterRefreshFail:"Le nom des champs et l'élement du DOM receveur sont nécessaires à l'affichage des données.",pagination2HTMLFail:"Toutes les donnée nécessaires à la création des sélecteurs de pagination n'ont pas été fournies.",paginationNeedByfaultValueBeInOptions:"La valeur de pagination par défaut doit faire partie des options proposées.",paginationNeedDatas:"Il ne peut y avoir de pagination, si les données n'ont pas été récupérées.",paginationNeedOptionsValues:"Vous n'avez fourni aucune options possibles pour la pagination.",paginationNeedPositiveInteger:"Merci de fournir un nombre entier supérieur à zéro pour désigner chaque option de pagination.",parserDatasNotFound:"Aucune donnée n'a été trouvée.",parserFail:"La lecture des données du fichier a échoué.",parserNeedUrl:"Merci de fournir une url valide pour le fichier à parser.",renderNeedDatas:"Il ne peut y avoir de pagination, si les données n'ont pas été récupérées.",renderUnknownField:"Un champ non attendu a été trouvé dans les données à afficher : ",selector2HTMLFail:"Le création d'un filtre dans le DOM nécessite l'initialisation de l'élément HTML et du numéro du champs à filter.",selectorCheckIsOkFail:"Le test est lancé sur un filtre incorrectement initialisé ou sur un attribut absent de la donnée à tester.",selectorFieldNotFound:"Au moins un des champs devant servir à filtrer les données n'existe pas dans le fichier.",selectorNeedDatas:"Le création d'un filtre nécessite la transmission des données à filtrer.",selectorSelectedIndexNotFound:"La valeur sélectionnée n'a pas été trouvée dans la liste des champs.",sortingField2HTMLFail:"Toutes les donnée nécessaires à la création du lien de classement n'ont pas été fournies.",sortingFieldNeedDatas:"Le création d'un champ de classement nécessite la transmission de la liste des champs.",sortingFieldFieldNotFound:"Au moins un des champs devant permettre de classer les données n'existe pas dans le fichier.",sortingFieldsNbFail:"Le nombre de champs trouvés dans le DOM ne correspond pas à celui des données à classer.",sortingFieldsNotInHTML:"Les champs pouvant servir à classer les données n'ont pas été trouvés dans le DOM."}}},t={};function i(r){var n=t[r];if(void 0!==n)return n.exports;var s=t[r]={exports:{}};return e[r].call(s.exports,s,s.exports,i),s.exports}i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";var e,t,r=i(658),n=function(){function e(t,i){void 0===i&&(i=e.defaultSettings),this._converter=t,this.settings=i}return e.prototype.rend2HTML=function(e){if(void 0===this._converter.parseMetas||void 0===this._converter.parseMetas.fields)throw new Error(r.renderNeedDatas);var t=this.settings.allBegining;if(void 0!==this.settings.fieldsBegining&&void 0!==this.settings.fieldDisplaying&&void 0!==this.settings.fieldsEnding){for(var i in t+=this.settings.fieldsBegining,this._converter.parseMetas.fields)t+=this.settings.fieldDisplaying.replace("#FIELDNAME",this._converter.parseMetas.fields[Number(i)]);t+=this.settings.fieldsEnding}for(var n in t+=this.settings.linesBegining,e){for(var s in t+=this.settings.lineBegining,e[n])-1!==this._converter.parseMetas.fields.indexOf(s)?t+=this.settings.dataDisplaying.replace("#VALUE",e[n][s]).replace("#FIELDNAME",s):console.log(r.renderUnknownField+s);t+=this.settings.lineEnding}return t+(this.settings.linesEnding+this.settings.allEnding)},e.defaultSettings={allBegining:"",allEnding:"
",fieldsBegining:"",fieldsEnding:"",fieldDisplaying:"#FIELDNAME",linesBegining:"",linesEnding:"",lineBegining:"",lineEnding:"",dataDisplaying:"#VALUE"},e}(),s=i(658),a=function(){function e(e,t,i){if(void 0===i&&(i="Pages"),void 0===e.parseMetas||void 0===e.parseMetas.fields)throw new Error(s.paginationNeedDatas);this._pages={displayElement:m.checkInDOMById(t),name:i},this._converter=e}return e.isPositiveInteger=function(e){return!(!1===Number.isInteger(e)||e<=0)},Object.defineProperty(e.prototype,"selectedValue",{get:function(){return this._selectedValue},set:function(t){if(void 0===t||!e.isPositiveInteger(t))throw new Error(s.needPositiveInteger);if(void 0!==this.options&&-1===this.options.values.indexOf(t))throw new Error(s.paginationNeedByfaultValueBeInOptions);this._selectedValue=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"options",{get:function(){return this._options},set:function(t){if(void 0!==t){if(t.displayElement=m.checkInDOMById(t.displayElement),0===t.values.length)throw new Error(s.paginationNeedOptionsValues);for(var i in t.values)if(!e.isPositiveInteger(t.values[i]))throw new Error(s.needPositiveInteger);if(void 0!==this.selectedValue&&-1===t.values.indexOf(this.selectedValue))throw new Error(s.paginationNeedByfaultValueBeInOptions);t.name=void 0===t.name?"Pagination":t.name,this._options=t}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pages",{get:function(){return this._pages},enumerable:!1,configurable:!0}),e.prototype.rend2HTML=function(){if(void 0===this._converter||void 0===this._options)throw new Error(s.pagination2HTMLFail);var e="",this._options.displayElement.eltDOM.innerHTML=e;var i=document.getElementById("freeDatas2HTMLPaginationSelector");if(void 0!==this._selectedValue){var r=this._options.values.indexOf(this._selectedValue)+1;i.value=""+r}var n=this;i.addEventListener("change",(function(e){"0"===i.value?n._selectedValue=void 0:n._selectedValue=n._options.values[Number(i.value)-1],n._converter.refreshView()}))},e.prototype.creaPageSelector=function(e){if(void 0!==this.selectedValue)if(e>this.selectedValue){var t=Math.ceil(e/this.selectedValue),i="",this.pages.displayElement.eltDOM.innerHTML=i;var n=document.getElementById("freeDatas2HTMLPagesSelector");void 0!==this.pages.selectedValue&&(n.value=""+this.pages.selectedValue),this.pages.selectedValue=1;var s=this;n.addEventListener("change",(function(e){s.pages.selectedValue=Number(n.value),s._converter.refreshView()}))}else this.pages.displayElement.eltDOM.innerHTML="";else this.pages.displayElement.eltDOM.innerHTML=""},e}(),o=i(196).q,l=i(658),d=function(){function e(e,t,i){if(this._datasViewElt={id:"",eltDOM:void 0},this.name="",this.values=[],void 0===e.parseMetas||void 0===e.parseMetas.fields||0===e.parseDatas.length)throw new Error(l.selectorNeedDatas);if(!e.checkFieldExist(Number(t)))throw new Error(l.selectorFieldNotFound);this._datasViewElt=m.checkInDOMById(i),this._converter=e,this._datasFieldNb=t}return Object.defineProperty(e.prototype,"separator",{get:function(){return this._separator},set:function(e){this._separator=""===e?void 0:e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"datasViewElt",{get:function(){return this._datasViewElt},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"datasFieldNb",{get:function(){return this._datasFieldNb},enumerable:!1,configurable:!0}),e.prototype.selector2HTML=function(){if(void 0===this._converter||void 0===this._datasViewElt.eltDOM||void 0===this._datasFieldNb)throw new Error(l.selector2HTMLFail);for(var e in this.name=this._converter.parseMetas.fields[this._datasFieldNb],this._converter.parseDatas)if(void 0===this._separator)""!==(r=String(this._converter.parseDatas[e][this.name]).trim())&&-1===this.values.indexOf(r)&&this.values.push(r);else{var t=String(this._converter.parseDatas[e][this.name]).split(this._separator);for(var i in t){var r;""!==(r=t[i].trim())&&-1===this.values.indexOf(r)&&this.values.push(r)}}if(this.values.length>0){void 0!==this._converter.getSortingFunctionForField(this._datasFieldNb)?this.values.sort(this._converter.getSortingFunctionForField(this._datasFieldNb).sort):this.values.sort(o());var n="",this._datasViewElt.eltDOM.innerHTML=n;var a=document.getElementById("freeDatas2HTML_"+this._datasViewElt.id),d=this;a.addEventListener("change",(function(e){d._converter.refreshView()}))}},e.prototype.getSelectionnedId=function(){var e=document.getElementById("freeDatas2HTML_"+this._datasViewElt.id);return void 0===e?0:parseInt(e.value,10)},e.prototype.dataIsOk=function(e){if(void 0===this.name||""===this.name)throw new Error(l.selectorCheckIsOkFail);var t=this.getSelectionnedId();if(0===t)return!0;if(t-=1,void 0===this.values[t])throw new Error(l.selectorSelectedIndexNotFound);if(void 0===e[this.name])return!1;var i=this.values[t];if(void 0===this._separator)return e[this.name].trim()===i;var r=!1,n=String(e[this.name]).split(this._separator);for(var s in n)if(n[s].trim()===i){r=!0;break}return r},e}(),u=(i(196).q,i(658)),c=function(){function e(e,t,i){if(void 0===i&&(i="th"),this._order=void 0,void 0===e.parseMetas||void 0===e.parseMetas.fields)throw new Error(u.sortingFieldNeedDatas);if(!e.checkFieldExist(Number(t)))throw new Error(u.sortingFieldFieldNotFound);var r=document.querySelectorAll(i);if(void 0===r)throw new Error(u.sortingFieldsNotInHTML);if(r.length!==e.parseMetas.fields.length)throw new Error(u.sortingFieldsNbFail);this._converter=e,this._datasFieldNb=t,this._fieldsDOMSelector=i}return Object.defineProperty(e.prototype,"fieldsDOMSelector",{get:function(){return this._fieldsDOMSelector},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"datasFieldNb",{get:function(){return this._datasFieldNb},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"order",{get:function(){return this._order},enumerable:!1,configurable:!0}),e.prototype.field2HTML=function(){if(void 0===this._converter||""===this._fieldsDOMSelector||void 0===this._datasFieldNb)throw new Error(u.sortingField2HTMLFail);var e=document.querySelectorAll(this._fieldsDOMSelector),t=e[this._datasFieldNb].innerHTML;t=""+t+"",e[this._datasFieldNb].innerHTML=t;var i=document.getElementById("freeDatas2HTMLSorting"+this._datasFieldNb),r=this;i.addEventListener("click",(function(e){e.preventDefault();var t=r._order;r._order=void 0===t||"desc"===t?"asc":"desc",r._converter.datasSortedField=r,r._converter.refreshView()}))},e}(),h=function(e,t,i,r){return new(i||(i=Promise))((function(n,s){function a(e){try{l(r.next(e))}catch(e){s(e)}}function o(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,o)}l((r=r.apply(e,t||[])).next())}))},f=function(e,t){var i,r,n,s,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return s={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function o(s){return function(o){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,r&&(n=2&s[0]?r.return:s[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,s[1])).done)return n;switch(r=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((n=(n=a.trys).length>0&&n[n.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]=s&&l0&&n[n.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1] 100000","> 1 et < 100 000","≤ 1","Traces","Inexistant"];return"desc"===i&&r.reverse(),r.indexOf(e)>r.indexOf(t)?-1:r.indexOf(e)Affichage petits écrans !",allEnding:"",linesBegining:"
    ",linesEnding:"
",lineBegining:"
    • ",lineEnding:"
  • ",dataDisplaying:"
  • #FIELDNAME : #VALUE
  • "},t.datasRender=i):(i.settings.allBegining="",t.datasRender=i),(r=new a(t,{id:"pages"},"Page à afficher :")).options={displayElement:{id:"paginationOptions"},values:[10,20,50,500],name:"Choix de pagination :"},r.selectedValue=10,t.pagination=r,r.rend2HTML(),t.datasCounter={id:"compteur"},[4,t.run()];case 2:return v.sent(),(s=new d(t,3,{id:"filtre1"})).selector2HTML(),(o=new d(t,4,{id:"filtre2"})).selector2HTML(),(l=new d(t,5,{id:"filtre3"})).separator=",",l.selector2HTML(),t.datasSelectors=[s,o,l],window.innerWidth>=800&&((u=new c(t,0)).field2HTML(),(h=new c(t,1)).field2HTML(),(f=new c(t,2)).field2HTML(),(p=new c(t,4)).field2HTML(),t.datasSortingFields=[u,h,f,p]),[3,4];case 3:return g=v.sent(),console.error(g),null!==document.getElementById("datas")&&(document.getElementById("datas").innerHTML="Désolé, mais un problème technique empêche l'affichage des données."),[3,4];case 4:return[2]}}))},new((e=void 0)||(e=Promise))((function(i,r){function n(e){try{a(t.next(e))}catch(e){r(e)}}function s(e){try{a(t.throw(e))}catch(e){r(e)}}function a(t){var r;t.done?i(t.value):(r=t.value,r instanceof e?r:new e((function(e){e(r)}))).then(n,s)}a((t=t.apply(void 0,[])).next())}))})()})(); \ No newline at end of file diff --git a/public/JS/firstExample.app.js.LICENSE.txt b/public/JS/firstExample.app.js.LICENSE.txt deleted file mode 100644 index 67c5e95..0000000 --- a/public/JS/firstExample.app.js.LICENSE.txt +++ /dev/null @@ -1,6 +0,0 @@ -/* @license -Papa Parse -v5.3.1 -https://github.com/mholt/PapaParse -License: MIT -*/ diff --git a/public/datas/elements-chimiques.csv b/public/datas/elements-chimiques.csv index b77e5f3..29f28ca 100644 --- a/public/datas/elements-chimiques.csv +++ b/public/datas/elements-chimiques.csv @@ -116,4 +116,4 @@ Z (numéro atomique),Élément,Symbole,Famille,Abondance des éléments dans la 115,Moscovium,Mc,Indéfinie,Inexistant,"Mot-clé9,Mot-clé8" 116,Livermorium,Lv,Indéfinie,Inexistant,"Mot-clé9,Mot-clé7" 117,Tennesse,Ts,Indéfinie,Inexistant,"Mot-clé9,Mot-clé6" -118,Oganesson,Og,Indéfinie,Inexistant,Mot-clé10 +118,Oganesson,Og,Indéfinie,Inexistant,Mot-clé10 \ No newline at end of file diff --git a/public/datas/posts.json b/public/datas/posts.json new file mode 100644 index 0000000..8ecc411 --- /dev/null +++ b/public/datas/posts.json @@ -0,0 +1,602 @@ +[ + { + "userId": 1, + "id": 1, + "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", + "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto" + }, + { + "userId": 1, + "id": 2, + "title": "qui est esse", + "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla" + }, + { + "userId": 1, + "id": 3, + "title": "ea molestias quasi exercitationem repellat qui ipsa sit aut", + "body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut" + }, + { + "userId": 1, + "id": 4, + "title": "eum et est occaecati", + "body": "ullam et saepe reiciendis voluptatem adipisci\nsit amet autem assumenda provident rerum culpa\nquis hic commodi nesciunt rem tenetur doloremque ipsam iure\nquis sunt voluptatem rerum illo velit" + }, + { + "userId": 1, + "id": 5, + "title": "nesciunt quas odio", + "body": "repudiandae veniam quaerat sunt sed\nalias aut fugiat sit autem sed est\nvoluptatem omnis possimus esse voluptatibus quis\nest aut tenetur dolor neque" + }, + { + "userId": 1, + "id": 6, + "title": "dolorem eum magni eos aperiam quia", + "body": "ut aspernatur corporis harum nihil quis provident sequi\nmollitia nobis aliquid molestiae\nperspiciatis et ea nemo ab reprehenderit accusantium quas\nvoluptate dolores velit et doloremque molestiae" + }, + { + "userId": 1, + "id": 7, + "title": "magnam facilis autem", + "body": "dolore placeat quibusdam ea quo vitae\nmagni quis enim qui quis quo nemo aut saepe\nquidem repellat excepturi ut quia\nsunt ut sequi eos ea sed quas" + }, + { + "userId": 1, + "id": 8, + "title": "dolorem dolore est ipsam", + "body": "dignissimos aperiam dolorem qui eum\nfacilis quibusdam animi sint suscipit qui sint possimus cum\nquaerat magni maiores excepturi\nipsam ut commodi dolor voluptatum modi aut vitae" + }, + { + "userId": 1, + "id": 9, + "title": "nesciunt iure omnis dolorem tempora et accusantium", + "body": "consectetur animi nesciunt iure dolore\nenim quia ad\nveniam autem ut quam aut nobis\net est aut quod aut provident voluptas autem voluptas" + }, + { + "userId": 1, + "id": 10, + "title": "optio molestias id quia eum", + "body": "quo et expedita modi cum officia vel magni\ndoloribus qui repudiandae\nvero nisi sit\nquos veniam quod sed accusamus veritatis error" + }, + { + "userId": 2, + "id": 11, + "title": "et ea vero quia laudantium autem", + "body": "delectus reiciendis molestiae occaecati non minima eveniet qui voluptatibus\naccusamus in eum beatae sit\nvel qui neque voluptates ut commodi qui incidunt\nut animi commodi" + }, + { + "userId": 2, + "id": 12, + "title": "in quibusdam tempore odit est dolorem", + "body": "itaque id aut magnam\npraesentium quia et ea odit et ea voluptas et\nsapiente quia nihil amet occaecati quia id voluptatem\nincidunt ea est distinctio odio" + }, + { + "userId": 2, + "id": 13, + "title": "dolorum ut in voluptas mollitia et saepe quo animi", + "body": "aut dicta possimus sint mollitia voluptas commodi quo doloremque\niste corrupti reiciendis voluptatem eius rerum\nsit cumque quod eligendi laborum minima\nperferendis recusandae assumenda consectetur porro architecto ipsum ipsam" + }, + { + "userId": 2, + "id": 14, + "title": "voluptatem eligendi optio", + "body": "fuga et accusamus dolorum perferendis illo voluptas\nnon doloremque neque facere\nad qui dolorum molestiae beatae\nsed aut voluptas totam sit illum" + }, + { + "userId": 2, + "id": 15, + "title": "eveniet quod temporibus", + "body": "reprehenderit quos placeat\nvelit minima officia dolores impedit repudiandae molestiae nam\nvoluptas recusandae quis delectus\nofficiis harum fugiat vitae" + }, + { + "userId": 2, + "id": 16, + "title": "sint suscipit perspiciatis velit dolorum rerum ipsa laboriosam odio", + "body": "suscipit nam nisi quo aperiam aut\nasperiores eos fugit maiores voluptatibus quia\nvoluptatem quis ullam qui in alias quia est\nconsequatur magni mollitia accusamus ea nisi voluptate dicta" + }, + { + "userId": 2, + "id": 17, + "title": "fugit voluptas sed molestias voluptatem provident", + "body": "eos voluptas et aut odit natus earum\naspernatur fuga molestiae ullam\ndeserunt ratione qui eos\nqui nihil ratione nemo velit ut aut id quo" + }, + { + "userId": 2, + "id": 18, + "title": "voluptate et itaque vero tempora molestiae", + "body": "eveniet quo quis\nlaborum totam consequatur non dolor\nut et est repudiandae\nest voluptatem vel debitis et magnam" + }, + { + "userId": 2, + "id": 19, + "title": "adipisci placeat illum aut reiciendis qui", + "body": "illum quis cupiditate provident sit magnam\nea sed aut omnis\nveniam maiores ullam consequatur atque\nadipisci quo iste expedita sit quos voluptas" + }, + { + "userId": 2, + "id": 20, + "title": "doloribus ad provident suscipit at", + "body": "qui consequuntur ducimus possimus quisquam amet similique\nsuscipit porro ipsam amet\neos veritatis officiis exercitationem vel fugit aut necessitatibus totam\nomnis rerum consequatur expedita quidem cumque explicabo" + }, + { + "userId": 3, + "id": 21, + "title": "asperiores ea ipsam voluptatibus modi minima quia sint", + "body": "repellat aliquid praesentium dolorem quo\nsed totam minus non itaque\nnihil labore molestiae sunt dolor eveniet hic recusandae veniam\ntempora et tenetur expedita sunt" + }, + { + "userId": 3, + "id": 22, + "title": "dolor sint quo a velit explicabo quia nam", + "body": "eos qui et ipsum ipsam suscipit aut\nsed omnis non odio\nexpedita earum mollitia molestiae aut atque rem suscipit\nnam impedit esse" + }, + { + "userId": 3, + "id": 23, + "title": "maxime id vitae nihil numquam", + "body": "veritatis unde neque eligendi\nquae quod architecto quo neque vitae\nest illo sit tempora doloremque fugit quod\net et vel beatae sequi ullam sed tenetur perspiciatis" + }, + { + "userId": 3, + "id": 24, + "title": "autem hic labore sunt dolores incidunt", + "body": "enim et ex nulla\nomnis voluptas quia qui\nvoluptatem consequatur numquam aliquam sunt\ntotam recusandae id dignissimos aut sed asperiores deserunt" + }, + { + "userId": 3, + "id": 25, + "title": "rem alias distinctio quo quis", + "body": "ullam consequatur ut\nomnis quis sit vel consequuntur\nipsa eligendi ipsum molestiae et omnis error nostrum\nmolestiae illo tempore quia et distinctio" + }, + { + "userId": 3, + "id": 26, + "title": "est et quae odit qui non", + "body": "similique esse doloribus nihil accusamus\nomnis dolorem fuga consequuntur reprehenderit fugit recusandae temporibus\nperspiciatis cum ut laudantium\nomnis aut molestiae vel vero" + }, + { + "userId": 3, + "id": 27, + "title": "quasi id et eos tenetur aut quo autem", + "body": "eum sed dolores ipsam sint possimus debitis occaecati\ndebitis qui qui et\nut placeat enim earum aut odit facilis\nconsequatur suscipit necessitatibus rerum sed inventore temporibus consequatur" + }, + { + "userId": 3, + "id": 28, + "title": "delectus ullam et corporis nulla voluptas sequi", + "body": "non et quaerat ex quae ad maiores\nmaiores recusandae totam aut blanditiis mollitia quas illo\nut voluptatibus voluptatem\nsimilique nostrum eum" + }, + { + "userId": 3, + "id": 29, + "title": "iusto eius quod necessitatibus culpa ea", + "body": "odit magnam ut saepe sed non qui\ntempora atque nihil\naccusamus illum doloribus illo dolor\neligendi repudiandae odit magni similique sed cum maiores" + }, + { + "userId": 3, + "id": 30, + "title": "a quo magni similique perferendis", + "body": "alias dolor cumque\nimpedit blanditiis non eveniet odio maxime\nblanditiis amet eius quis tempora quia autem rem\na provident perspiciatis quia" + }, + { + "userId": 4, + "id": 31, + "title": "ullam ut quidem id aut vel consequuntur", + "body": "debitis eius sed quibusdam non quis consectetur vitae\nimpedit ut qui consequatur sed aut in\nquidem sit nostrum et maiores adipisci atque\nquaerat voluptatem adipisci repudiandae" + }, + { + "userId": 4, + "id": 32, + "title": "doloremque illum aliquid sunt", + "body": "deserunt eos nobis asperiores et hic\nest debitis repellat molestiae optio\nnihil ratione ut eos beatae quibusdam distinctio maiores\nearum voluptates et aut adipisci ea maiores voluptas maxime" + }, + { + "userId": 4, + "id": 33, + "title": "qui explicabo molestiae dolorem", + "body": "rerum ut et numquam laborum odit est sit\nid qui sint in\nquasi tenetur tempore aperiam et quaerat qui in\nrerum officiis sequi cumque quod" + }, + { + "userId": 4, + "id": 34, + "title": "magnam ut rerum iure", + "body": "ea velit perferendis earum ut voluptatem voluptate itaque iusto\ntotam pariatur in\nnemo voluptatem voluptatem autem magni tempora minima in\nest distinctio qui assumenda accusamus dignissimos officia nesciunt nobis" + }, + { + "userId": 4, + "id": 35, + "title": "id nihil consequatur molestias animi provident", + "body": "nisi error delectus possimus ut eligendi vitae\nplaceat eos harum cupiditate facilis reprehenderit voluptatem beatae\nmodi ducimus quo illum voluptas eligendi\net nobis quia fugit" + }, + { + "userId": 4, + "id": 36, + "title": "fuga nam accusamus voluptas reiciendis itaque", + "body": "ad mollitia et omnis minus architecto odit\nvoluptas doloremque maxime aut non ipsa qui alias veniam\nblanditiis culpa aut quia nihil cumque facere et occaecati\nqui aspernatur quia eaque ut aperiam inventore" + }, + { + "userId": 4, + "id": 37, + "title": "provident vel ut sit ratione est", + "body": "debitis et eaque non officia sed nesciunt pariatur vel\nvoluptatem iste vero et ea\nnumquam aut expedita ipsum nulla in\nvoluptates omnis consequatur aut enim officiis in quam qui" + }, + { + "userId": 4, + "id": 38, + "title": "explicabo et eos deleniti nostrum ab id repellendus", + "body": "animi esse sit aut sit nesciunt assumenda eum voluptas\nquia voluptatibus provident quia necessitatibus ea\nrerum repudiandae quia voluptatem delectus fugit aut id quia\nratione optio eos iusto veniam iure" + }, + { + "userId": 4, + "id": 39, + "title": "eos dolorem iste accusantium est eaque quam", + "body": "corporis rerum ducimus vel eum accusantium\nmaxime aspernatur a porro possimus iste omnis\nest in deleniti asperiores fuga aut\nvoluptas sapiente vel dolore minus voluptatem incidunt ex" + }, + { + "userId": 4, + "id": 40, + "title": "enim quo cumque", + "body": "ut voluptatum aliquid illo tenetur nemo sequi quo facilis\nipsum rem optio mollitia quas\nvoluptatem eum voluptas qui\nunde omnis voluptatem iure quasi maxime voluptas nam" + }, + { + "userId": 5, + "id": 41, + "title": "non est facere", + "body": "molestias id nostrum\nexcepturi molestiae dolore omnis repellendus quaerat saepe\nconsectetur iste quaerat tenetur asperiores accusamus ex ut\nnam quidem est ducimus sunt debitis saepe" + }, + { + "userId": 5, + "id": 42, + "title": "commodi ullam sint et excepturi error explicabo praesentium voluptas", + "body": "odio fugit voluptatum ducimus earum autem est incidunt voluptatem\nodit reiciendis aliquam sunt sequi nulla dolorem\nnon facere repellendus voluptates quia\nratione harum vitae ut" + }, + { + "userId": 5, + "id": 43, + "title": "eligendi iste nostrum consequuntur adipisci praesentium sit beatae perferendis", + "body": "similique fugit est\nillum et dolorum harum et voluptate eaque quidem\nexercitationem quos nam commodi possimus cum odio nihil nulla\ndolorum exercitationem magnam ex et a et distinctio debitis" + }, + { + "userId": 5, + "id": 44, + "title": "optio dolor molestias sit", + "body": "temporibus est consectetur dolore\net libero debitis vel velit laboriosam quia\nipsum quibusdam qui itaque fuga rem aut\nea et iure quam sed maxime ut distinctio quae" + }, + { + "userId": 5, + "id": 45, + "title": "ut numquam possimus omnis eius suscipit laudantium iure", + "body": "est natus reiciendis nihil possimus aut provident\nex et dolor\nrepellat pariatur est\nnobis rerum repellendus dolorem autem" + }, + { + "userId": 5, + "id": 46, + "title": "aut quo modi neque nostrum ducimus", + "body": "voluptatem quisquam iste\nvoluptatibus natus officiis facilis dolorem\nquis quas ipsam\nvel et voluptatum in aliquid" + }, + { + "userId": 5, + "id": 47, + "title": "quibusdam cumque rem aut deserunt", + "body": "voluptatem assumenda ut qui ut cupiditate aut impedit veniam\noccaecati nemo illum voluptatem laudantium\nmolestiae beatae rerum ea iure soluta nostrum\neligendi et voluptate" + }, + { + "userId": 5, + "id": 48, + "title": "ut voluptatem illum ea doloribus itaque eos", + "body": "voluptates quo voluptatem facilis iure occaecati\nvel assumenda rerum officia et\nillum perspiciatis ab deleniti\nlaudantium repellat ad ut et autem reprehenderit" + }, + { + "userId": 5, + "id": 49, + "title": "laborum non sunt aut ut assumenda perspiciatis voluptas", + "body": "inventore ab sint\nnatus fugit id nulla sequi architecto nihil quaerat\neos tenetur in in eum veritatis non\nquibusdam officiis aspernatur cumque aut commodi aut" + }, + { + "userId": 5, + "id": 50, + "title": "repellendus qui recusandae incidunt voluptates tenetur qui omnis exercitationem", + "body": "error suscipit maxime adipisci consequuntur recusandae\nvoluptas eligendi et est et voluptates\nquia distinctio ab amet quaerat molestiae et vitae\nadipisci impedit sequi nesciunt quis consectetur" + }, + { + "userId": 6, + "id": 51, + "title": "soluta aliquam aperiam consequatur illo quis voluptas", + "body": "sunt dolores aut doloribus\ndolore doloribus voluptates tempora et\ndoloremque et quo\ncum asperiores sit consectetur dolorem" + }, + { + "userId": 6, + "id": 52, + "title": "qui enim et consequuntur quia animi quis voluptate quibusdam", + "body": "iusto est quibusdam fuga quas quaerat molestias\na enim ut sit accusamus enim\ntemporibus iusto accusantium provident architecto\nsoluta esse reprehenderit qui laborum" + }, + { + "userId": 6, + "id": 53, + "title": "ut quo aut ducimus alias", + "body": "minima harum praesentium eum rerum illo dolore\nquasi exercitationem rerum nam\nporro quis neque quo\nconsequatur minus dolor quidem veritatis sunt non explicabo similique" + }, + { + "userId": 6, + "id": 54, + "title": "sit asperiores ipsam eveniet odio non quia", + "body": "totam corporis dignissimos\nvitae dolorem ut occaecati accusamus\nex velit deserunt\net exercitationem vero incidunt corrupti mollitia" + }, + { + "userId": 6, + "id": 55, + "title": "sit vel voluptatem et non libero", + "body": "debitis excepturi ea perferendis harum libero optio\neos accusamus cum fuga ut sapiente repudiandae\net ut incidunt omnis molestiae\nnihil ut eum odit" + }, + { + "userId": 6, + "id": 56, + "title": "qui et at rerum necessitatibus", + "body": "aut est omnis dolores\nneque rerum quod ea rerum velit pariatur beatae excepturi\net provident voluptas corrupti\ncorporis harum reprehenderit dolores eligendi" + }, + { + "userId": 6, + "id": 57, + "title": "sed ab est est", + "body": "at pariatur consequuntur earum quidem\nquo est laudantium soluta voluptatem\nqui ullam et est\net cum voluptas voluptatum repellat est" + }, + { + "userId": 6, + "id": 58, + "title": "voluptatum itaque dolores nisi et quasi", + "body": "veniam voluptatum quae adipisci id\net id quia eos ad et dolorem\naliquam quo nisi sunt eos impedit error\nad similique veniam" + }, + { + "userId": 6, + "id": 59, + "title": "qui commodi dolor at maiores et quis id accusantium", + "body": "perspiciatis et quam ea autem temporibus non voluptatibus qui\nbeatae a earum officia nesciunt dolores suscipit voluptas et\nanimi doloribus cum rerum quas et magni\net hic ut ut commodi expedita sunt" + }, + { + "userId": 6, + "id": 60, + "title": "consequatur placeat omnis quisquam quia reprehenderit fugit veritatis facere", + "body": "asperiores sunt ab assumenda cumque modi velit\nqui esse omnis\nvoluptate et fuga perferendis voluptas\nillo ratione amet aut et omnis" + }, + { + "userId": 7, + "id": 61, + "title": "voluptatem doloribus consectetur est ut ducimus", + "body": "ab nemo optio odio\ndelectus tenetur corporis similique nobis repellendus rerum omnis facilis\nvero blanditiis debitis in nesciunt doloribus dicta dolores\nmagnam minus velit" + }, + { + "userId": 7, + "id": 62, + "title": "beatae enim quia vel", + "body": "enim aspernatur illo distinctio quae praesentium\nbeatae alias amet delectus qui voluptate distinctio\nodit sint accusantium autem omnis\nquo molestiae omnis ea eveniet optio" + }, + { + "userId": 7, + "id": 63, + "title": "voluptas blanditiis repellendus animi ducimus error sapiente et suscipit", + "body": "enim adipisci aspernatur nemo\nnumquam omnis facere dolorem dolor ex quis temporibus incidunt\nab delectus culpa quo reprehenderit blanditiis asperiores\naccusantium ut quam in voluptatibus voluptas ipsam dicta" + }, + { + "userId": 7, + "id": 64, + "title": "et fugit quas eum in in aperiam quod", + "body": "id velit blanditiis\neum ea voluptatem\nmolestiae sint occaecati est eos perspiciatis\nincidunt a error provident eaque aut aut qui" + }, + { + "userId": 7, + "id": 65, + "title": "consequatur id enim sunt et et", + "body": "voluptatibus ex esse\nsint explicabo est aliquid cumque adipisci fuga repellat labore\nmolestiae corrupti ex saepe at asperiores et perferendis\nnatus id esse incidunt pariatur" + }, + { + "userId": 7, + "id": 66, + "title": "repudiandae ea animi iusto", + "body": "officia veritatis tenetur vero qui itaque\nsint non ratione\nsed et ut asperiores iusto eos molestiae nostrum\nveritatis quibusdam et nemo iusto saepe" + }, + { + "userId": 7, + "id": 67, + "title": "aliquid eos sed fuga est maxime repellendus", + "body": "reprehenderit id nostrum\nvoluptas doloremque pariatur sint et accusantium quia quod aspernatur\net fugiat amet\nnon sapiente et consequatur necessitatibus molestiae" + }, + { + "userId": 7, + "id": 68, + "title": "odio quis facere architecto reiciendis optio", + "body": "magnam molestiae perferendis quisquam\nqui cum reiciendis\nquaerat animi amet hic inventore\nea quia deleniti quidem saepe porro velit" + }, + { + "userId": 7, + "id": 69, + "title": "fugiat quod pariatur odit minima", + "body": "officiis error culpa consequatur modi asperiores et\ndolorum assumenda voluptas et vel qui aut vel rerum\nvoluptatum quisquam perspiciatis quia rerum consequatur totam quas\nsequi commodi repudiandae asperiores et saepe a" + }, + { + "userId": 7, + "id": 70, + "title": "voluptatem laborum magni", + "body": "sunt repellendus quae\nest asperiores aut deleniti esse accusamus repellendus quia aut\nquia dolorem unde\neum tempora esse dolore" + }, + { + "userId": 8, + "id": 71, + "title": "et iusto veniam et illum aut fuga", + "body": "occaecati a doloribus\niste saepe consectetur placeat eum voluptate dolorem et\nqui quo quia voluptas\nrerum ut id enim velit est perferendis" + }, + { + "userId": 8, + "id": 72, + "title": "sint hic doloribus consequatur eos non id", + "body": "quam occaecati qui deleniti consectetur\nconsequatur aut facere quas exercitationem aliquam hic voluptas\nneque id sunt ut aut accusamus\nsunt consectetur expedita inventore velit" + }, + { + "userId": 8, + "id": 73, + "title": "consequuntur deleniti eos quia temporibus ab aliquid at", + "body": "voluptatem cumque tenetur consequatur expedita ipsum nemo quia explicabo\naut eum minima consequatur\ntempore cumque quae est et\net in consequuntur voluptatem voluptates aut" + }, + { + "userId": 8, + "id": 74, + "title": "enim unde ratione doloribus quas enim ut sit sapiente", + "body": "odit qui et et necessitatibus sint veniam\nmollitia amet doloremque molestiae commodi similique magnam et quam\nblanditiis est itaque\nquo et tenetur ratione occaecati molestiae tempora" + }, + { + "userId": 8, + "id": 75, + "title": "dignissimos eum dolor ut enim et delectus in", + "body": "commodi non non omnis et voluptas sit\nautem aut nobis magnam et sapiente voluptatem\net laborum repellat qui delectus facilis temporibus\nrerum amet et nemo voluptate expedita adipisci error dolorem" + }, + { + "userId": 8, + "id": 76, + "title": "doloremque officiis ad et non perferendis", + "body": "ut animi facere\ntotam iusto tempore\nmolestiae eum aut et dolorem aperiam\nquaerat recusandae totam odio" + }, + { + "userId": 8, + "id": 77, + "title": "necessitatibus quasi exercitationem odio", + "body": "modi ut in nulla repudiandae dolorum nostrum eos\naut consequatur omnis\nut incidunt est omnis iste et quam\nvoluptates sapiente aliquam asperiores nobis amet corrupti repudiandae provident" + }, + { + "userId": 8, + "id": 78, + "title": "quam voluptatibus rerum veritatis", + "body": "nobis facilis odit tempore cupiditate quia\nassumenda doloribus rerum qui ea\nillum et qui totam\naut veniam repellendus" + }, + { + "userId": 8, + "id": 79, + "title": "pariatur consequatur quia magnam autem omnis non amet", + "body": "libero accusantium et et facere incidunt sit dolorem\nnon excepturi qui quia sed laudantium\nquisquam molestiae ducimus est\nofficiis esse molestiae iste et quos" + }, + { + "userId": 8, + "id": 80, + "title": "labore in ex et explicabo corporis aut quas", + "body": "ex quod dolorem ea eum iure qui provident amet\nquia qui facere excepturi et repudiandae\nasperiores molestias provident\nminus incidunt vero fugit rerum sint sunt excepturi provident" + }, + { + "userId": 9, + "id": 81, + "title": "tempora rem veritatis voluptas quo dolores vero", + "body": "facere qui nesciunt est voluptatum voluptatem nisi\nsequi eligendi necessitatibus ea at rerum itaque\nharum non ratione velit laboriosam quis consequuntur\nex officiis minima doloremque voluptas ut aut" + }, + { + "userId": 9, + "id": 82, + "title": "laudantium voluptate suscipit sunt enim enim", + "body": "ut libero sit aut totam inventore sunt\nporro sint qui sunt molestiae\nconsequatur cupiditate qui iste ducimus adipisci\ndolor enim assumenda soluta laboriosam amet iste delectus hic" + }, + { + "userId": 9, + "id": 83, + "title": "odit et voluptates doloribus alias odio et", + "body": "est molestiae facilis quis tempora numquam nihil qui\nvoluptate sapiente consequatur est qui\nnecessitatibus autem aut ipsa aperiam modi dolore numquam\nreprehenderit eius rem quibusdam" + }, + { + "userId": 9, + "id": 84, + "title": "optio ipsam molestias necessitatibus occaecati facilis veritatis dolores aut", + "body": "sint molestiae magni a et quos\neaque et quasi\nut rerum debitis similique veniam\nrecusandae dignissimos dolor incidunt consequatur odio" + }, + { + "userId": 9, + "id": 85, + "title": "dolore veritatis porro provident adipisci blanditiis et sunt", + "body": "similique sed nisi voluptas iusto omnis\nmollitia et quo\nassumenda suscipit officia magnam sint sed tempora\nenim provident pariatur praesentium atque animi amet ratione" + }, + { + "userId": 9, + "id": 86, + "title": "placeat quia et porro iste", + "body": "quasi excepturi consequatur iste autem temporibus sed molestiae beatae\net quaerat et esse ut\nvoluptatem occaecati et vel explicabo autem\nasperiores pariatur deserunt optio" + }, + { + "userId": 9, + "id": 87, + "title": "nostrum quis quasi placeat", + "body": "eos et molestiae\nnesciunt ut a\ndolores perspiciatis repellendus repellat aliquid\nmagnam sint rem ipsum est" + }, + { + "userId": 9, + "id": 88, + "title": "sapiente omnis fugit eos", + "body": "consequatur omnis est praesentium\nducimus non iste\nneque hic deserunt\nvoluptatibus veniam cum et rerum sed" + }, + { + "userId": 9, + "id": 89, + "title": "sint soluta et vel magnam aut ut sed qui", + "body": "repellat aut aperiam totam temporibus autem et\narchitecto magnam ut\nconsequatur qui cupiditate rerum quia soluta dignissimos nihil iure\ntempore quas est" + }, + { + "userId": 9, + "id": 90, + "title": "ad iusto omnis odit dolor voluptatibus", + "body": "minus omnis soluta quia\nqui sed adipisci voluptates illum ipsam voluptatem\neligendi officia ut in\neos soluta similique molestias praesentium blanditiis" + }, + { + "userId": 10, + "id": 91, + "title": "aut amet sed", + "body": "libero voluptate eveniet aperiam sed\nsunt placeat suscipit molestias\nsimilique fugit nam natus\nexpedita consequatur consequatur dolores quia eos et placeat" + }, + { + "userId": 10, + "id": 92, + "title": "ratione ex tenetur perferendis", + "body": "aut et excepturi dicta laudantium sint rerum nihil\nlaudantium et at\na neque minima officia et similique libero et\ncommodi voluptate qui" + }, + { + "userId": 10, + "id": 93, + "title": "beatae soluta recusandae", + "body": "dolorem quibusdam ducimus consequuntur dicta aut quo laboriosam\nvoluptatem quis enim recusandae ut sed sunt\nnostrum est odit totam\nsit error sed sunt eveniet provident qui nulla" + }, + { + "userId": 10, + "id": 94, + "title": "qui qui voluptates illo iste minima", + "body": "aspernatur expedita soluta quo ab ut similique\nexpedita dolores amet\nsed temporibus distinctio magnam saepe deleniti\nomnis facilis nam ipsum natus sint similique omnis" + }, + { + "userId": 10, + "id": 95, + "title": "id minus libero illum nam ad officiis", + "body": "earum voluptatem facere provident blanditiis velit laboriosam\npariatur accusamus odio saepe\ncumque dolor qui a dicta ab doloribus consequatur omnis\ncorporis cupiditate eaque assumenda ad nesciunt" + }, + { + "userId": 10, + "id": 96, + "title": "quaerat velit veniam amet cupiditate aut numquam ut sequi", + "body": "in non odio excepturi sint eum\nlabore voluptates vitae quia qui et\ninventore itaque rerum\nveniam non exercitationem delectus aut" + }, + { + "userId": 10, + "id": 97, + "title": "quas fugiat ut perspiciatis vero provident", + "body": "eum non blanditiis soluta porro quibusdam voluptas\nvel voluptatem qui placeat dolores qui velit aut\nvel inventore aut cumque culpa explicabo aliquid at\nperspiciatis est et voluptatem dignissimos dolor itaque sit nam" + }, + { + "userId": 10, + "id": 98, + "title": "laboriosam dolor voluptates", + "body": "doloremque ex facilis sit sint culpa\nsoluta assumenda eligendi non ut eius\nsequi ducimus vel quasi\nveritatis est dolores" + }, + { + "userId": 10, + "id": 99, + "title": "temporibus sit alias delectus eligendi possimus magni", + "body": "quo deleniti praesentium dicta non quod\naut est molestias\nmolestias et officia quis nihil\nitaque dolorem quia" + }, + { + "userId": 10, + "id": 100, + "title": "at nam consequatur ea labore ea harum", + "body": "cupiditate quo est a modi nesciunt soluta\nipsa voluptas error itaque dicta in\nautem qui minus magnam et distinctio eum\naccusamus ratione error aut" + } +] \ No newline at end of file diff --git a/public/index.html b/public/index.html index 998c98e..ff83fc5 100644 --- a/public/index.html +++ b/public/index.html @@ -7,11 +7,12 @@ - + freeDatas2HTML : démo d'affichage de données venant d'un fichier CSV

    freeDatas2HTML

    +

    Autre page d'exemple avec des données transmises en JSON.

    diff --git a/public/withJSON.html b/public/withJSON.html new file mode 100644 index 0000000..d2b6107 --- /dev/null +++ b/public/withJSON.html @@ -0,0 +1,32 @@ + + + + + + + + + + + freeDatas2HTML : démo d'affichage de données transmises en JSON. + + +

    freeDatas2HTML

    +

    Autre page d'exemple avec des données transmises en CSV..

    + +
    +
    +
    +
    +
    +
    + +

    Nombre total de résultats :

    +
    +

    Si tout se passe bien, ce texte sera remplacé par un tableau de données extraites du fichier csv.

    +
    +

    + + + \ No newline at end of file diff --git a/src/build/firstExample.js b/src/build/firstExample.js deleted file mode 100644 index f8e7c32..0000000 --- a/src/build/firstExample.js +++ /dev/null @@ -1,120 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -import { FreeDatas2HTML, Pagination, Render, Selector, SortingField } from "./freeDatas2HTML"; -var initialise = function () { return __awaiter(void 0, void 0, void 0, function () { - var mySort, converter, myRender, pagination, filtre1, filtre2, filtre3, sortingField1, sortingField2, sortingField3, sortingField4, e_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 3, , 4]); - mySort = function (a, b, order) { - if (order === void 0) { order = "asc"; } - var values = ["> 100000", "> 1 et < 100 000", "≤ 1", "Traces", "Inexistant"]; - if (order === "desc") - values.reverse(); - if (values.indexOf(a) > values.indexOf(b)) - return -1; - else if (values.indexOf(a) < values.indexOf(b)) - return 1; - else - return 0; - }; - converter = new FreeDatas2HTML(); - converter.datasViewElt = { id: "datas" }; - converter.datasSourceUrl = "http://localhost:8080/datas/elements-chimiques.csv"; - return [4, converter.parse()]; - case 1: - _a.sent(); - converter.datasSortingFunctions = [{ datasFieldNb: 4, sort: mySort }]; - myRender = new Render(converter); - if (window.innerWidth < 800) { - myRender.settings = - { - allBegining: "

    Affichage petits écrans !

    ", - allEnding: "", - linesBegining: "
      ", - linesEnding: "
    ", - lineBegining: "
    • ", - lineEnding: "
  • ", - dataDisplaying: "
  • #FIELDNAME : #VALUE
  • ", - }; - converter.datasRender = myRender; - } - else { - myRender.settings.allBegining = "
    "; - converter.datasRender = myRender; - } - pagination = new Pagination(converter, { id: "pages" }, "Page à afficher :"); - pagination.options = { displayElement: { id: "paginationOptions" }, values: [10, 20, 50, 500], name: "Choix de pagination :" }; - pagination.selectedValue = 10; - converter.pagination = pagination; - pagination.rend2HTML(); - converter.datasCounter = { id: "compteur" }; - return [4, converter.run()]; - case 2: - _a.sent(); - filtre1 = new Selector(converter, 3, { id: "filtre1" }); - filtre1.selector2HTML(); - filtre2 = new Selector(converter, 4, { id: "filtre2" }); - filtre2.selector2HTML(); - filtre3 = new Selector(converter, 5, { id: "filtre3" }); - filtre3.separator = ","; - filtre3.selector2HTML(); - converter.datasSelectors = [filtre1, filtre2, filtre3]; - if (window.innerWidth >= 800) { - sortingField1 = new SortingField(converter, 0); - sortingField1.field2HTML(); - sortingField2 = new SortingField(converter, 1); - sortingField2.field2HTML(); - sortingField3 = new SortingField(converter, 2); - sortingField3.field2HTML(); - sortingField4 = new SortingField(converter, 4); - sortingField4.field2HTML(); - converter.datasSortingFields = [sortingField1, sortingField2, sortingField3, sortingField4]; - } - return [3, 4]; - case 3: - e_1 = _a.sent(); - console.error(e_1); - if (document.getElementById("datas") !== null) - document.getElementById("datas").innerHTML = "Désolé, mais un problème technique empêche l'affichage des données."; - return [3, 4]; - case 4: return [2]; - } - }); -}); }; -initialise(); diff --git a/src/firstExample.ts b/src/exampleWithCSV.ts similarity index 98% rename from src/firstExample.ts rename to src/exampleWithCSV.ts index 8d242b1..518a9e2 100644 --- a/src/firstExample.ts +++ b/src/exampleWithCSV.ts @@ -19,7 +19,7 @@ const initialise = async () => }; // Création d'un convertisseur parsant les données d'un fichier CSV "distant" - let converter=new FreeDatas2HTML("CSV","", { url:"http://localhost:8080/datas/elements-chimiques.csv"}); + let converter=new FreeDatas2HTML("CSV","", { url:"http://localhost:8080/datas/elements-chimiques.csv" }); converter.datasViewElt={ id:"datas" }; await converter.run(); // Adaptation du rendu suivant la taille de l'écran diff --git a/src/exampleWithJSON.ts b/src/exampleWithJSON.ts new file mode 100644 index 0000000..77bc696 --- /dev/null +++ b/src/exampleWithJSON.ts @@ -0,0 +1,69 @@ +import { FreeDatas2HTML, Pagination, Render, Selector, SortingField } from "./freeDatas2HTML"; + +const initialise = async () => +{ + try + { + // Création d'un convertisseur parsant des données transmises en JSON + let converter=new FreeDatas2HTML("JSON", "", { url: "http://localhost:8080/datas/posts.json", withCredentials:true, headers: [{ key:"Authorization", value:"Token YWxhZGRpbjpvcGVuc2VzYW1l" }] }); + converter.datasViewElt={ id:"datas" }; + await converter.run(); + // Adaptation du rendu suivant la taille de l'écran + const myRender=new Render(converter); + if(window.innerWidth < 800) + { + myRender.settings= + { + allBegining:"

    Affichage petits écrans !

    ", + allEnding:"", + linesBegining:"
      ", + linesEnding:"
    ", + lineBegining:"
    • ", + lineEnding:"
  • ", + dataDisplaying:"
  • #FIELDNAME : #VALUE
  • ", + }; + converter.datasRender=myRender; + } + else + { + myRender.settings.allBegining="
    "; + converter.datasRender=myRender; + } + + // Configuration de la pagination + const pagination=new Pagination(converter, { id:"pages" }, "Page à afficher :"); + pagination.options={ displayElement: { id:"paginationOptions" }, values: [15,30,50,100] , name: "Nombre de lignes par page :" }; + pagination.selectedValue=15; + converter.pagination=pagination; + pagination.rend2HTML(); + + // Affichage initial + converter.datasCounter={ id:"compteur" }; + await converter.run(); + + // Création d'un filtre par auteur : + let filtre1=new Selector(converter, 0, { id:"filtre1"} ); + filtre1.selector2HTML(); + converter.datasSelectors=[filtre1]; + + // Ajout de champs permettant de classer les données + // Uniquement avec un rendu tableau (grand écran), car entêtes de colonne nécessaires + if(window.innerWidth >= 800) + { + let sortingField1=new SortingField(converter, 0); + sortingField1.field2HTML(); + let sortingField2=new SortingField(converter, 1); + sortingField2.field2HTML(); + let sortingField3=new SortingField(converter, 2); + sortingField3.field2HTML(); + converter.datasSortingFields=[sortingField1,sortingField2,sortingField3]; + } + } + catch(e) + { + console.error(e); + if(document.getElementById("datas")!==null) + document.getElementById("datas")!.innerHTML="Désolé, mais un problème technique empêche l'affichage des données."; + } +} +initialise(); \ No newline at end of file diff --git a/tests/datas/posts.json b/tests/datas/posts.json new file mode 100644 index 0000000..8ecc411 --- /dev/null +++ b/tests/datas/posts.json @@ -0,0 +1,602 @@ +[ + { + "userId": 1, + "id": 1, + "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", + "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto" + }, + { + "userId": 1, + "id": 2, + "title": "qui est esse", + "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla" + }, + { + "userId": 1, + "id": 3, + "title": "ea molestias quasi exercitationem repellat qui ipsa sit aut", + "body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut" + }, + { + "userId": 1, + "id": 4, + "title": "eum et est occaecati", + "body": "ullam et saepe reiciendis voluptatem adipisci\nsit amet autem assumenda provident rerum culpa\nquis hic commodi nesciunt rem tenetur doloremque ipsam iure\nquis sunt voluptatem rerum illo velit" + }, + { + "userId": 1, + "id": 5, + "title": "nesciunt quas odio", + "body": "repudiandae veniam quaerat sunt sed\nalias aut fugiat sit autem sed est\nvoluptatem omnis possimus esse voluptatibus quis\nest aut tenetur dolor neque" + }, + { + "userId": 1, + "id": 6, + "title": "dolorem eum magni eos aperiam quia", + "body": "ut aspernatur corporis harum nihil quis provident sequi\nmollitia nobis aliquid molestiae\nperspiciatis et ea nemo ab reprehenderit accusantium quas\nvoluptate dolores velit et doloremque molestiae" + }, + { + "userId": 1, + "id": 7, + "title": "magnam facilis autem", + "body": "dolore placeat quibusdam ea quo vitae\nmagni quis enim qui quis quo nemo aut saepe\nquidem repellat excepturi ut quia\nsunt ut sequi eos ea sed quas" + }, + { + "userId": 1, + "id": 8, + "title": "dolorem dolore est ipsam", + "body": "dignissimos aperiam dolorem qui eum\nfacilis quibusdam animi sint suscipit qui sint possimus cum\nquaerat magni maiores excepturi\nipsam ut commodi dolor voluptatum modi aut vitae" + }, + { + "userId": 1, + "id": 9, + "title": "nesciunt iure omnis dolorem tempora et accusantium", + "body": "consectetur animi nesciunt iure dolore\nenim quia ad\nveniam autem ut quam aut nobis\net est aut quod aut provident voluptas autem voluptas" + }, + { + "userId": 1, + "id": 10, + "title": "optio molestias id quia eum", + "body": "quo et expedita modi cum officia vel magni\ndoloribus qui repudiandae\nvero nisi sit\nquos veniam quod sed accusamus veritatis error" + }, + { + "userId": 2, + "id": 11, + "title": "et ea vero quia laudantium autem", + "body": "delectus reiciendis molestiae occaecati non minima eveniet qui voluptatibus\naccusamus in eum beatae sit\nvel qui neque voluptates ut commodi qui incidunt\nut animi commodi" + }, + { + "userId": 2, + "id": 12, + "title": "in quibusdam tempore odit est dolorem", + "body": "itaque id aut magnam\npraesentium quia et ea odit et ea voluptas et\nsapiente quia nihil amet occaecati quia id voluptatem\nincidunt ea est distinctio odio" + }, + { + "userId": 2, + "id": 13, + "title": "dolorum ut in voluptas mollitia et saepe quo animi", + "body": "aut dicta possimus sint mollitia voluptas commodi quo doloremque\niste corrupti reiciendis voluptatem eius rerum\nsit cumque quod eligendi laborum minima\nperferendis recusandae assumenda consectetur porro architecto ipsum ipsam" + }, + { + "userId": 2, + "id": 14, + "title": "voluptatem eligendi optio", + "body": "fuga et accusamus dolorum perferendis illo voluptas\nnon doloremque neque facere\nad qui dolorum molestiae beatae\nsed aut voluptas totam sit illum" + }, + { + "userId": 2, + "id": 15, + "title": "eveniet quod temporibus", + "body": "reprehenderit quos placeat\nvelit minima officia dolores impedit repudiandae molestiae nam\nvoluptas recusandae quis delectus\nofficiis harum fugiat vitae" + }, + { + "userId": 2, + "id": 16, + "title": "sint suscipit perspiciatis velit dolorum rerum ipsa laboriosam odio", + "body": "suscipit nam nisi quo aperiam aut\nasperiores eos fugit maiores voluptatibus quia\nvoluptatem quis ullam qui in alias quia est\nconsequatur magni mollitia accusamus ea nisi voluptate dicta" + }, + { + "userId": 2, + "id": 17, + "title": "fugit voluptas sed molestias voluptatem provident", + "body": "eos voluptas et aut odit natus earum\naspernatur fuga molestiae ullam\ndeserunt ratione qui eos\nqui nihil ratione nemo velit ut aut id quo" + }, + { + "userId": 2, + "id": 18, + "title": "voluptate et itaque vero tempora molestiae", + "body": "eveniet quo quis\nlaborum totam consequatur non dolor\nut et est repudiandae\nest voluptatem vel debitis et magnam" + }, + { + "userId": 2, + "id": 19, + "title": "adipisci placeat illum aut reiciendis qui", + "body": "illum quis cupiditate provident sit magnam\nea sed aut omnis\nveniam maiores ullam consequatur atque\nadipisci quo iste expedita sit quos voluptas" + }, + { + "userId": 2, + "id": 20, + "title": "doloribus ad provident suscipit at", + "body": "qui consequuntur ducimus possimus quisquam amet similique\nsuscipit porro ipsam amet\neos veritatis officiis exercitationem vel fugit aut necessitatibus totam\nomnis rerum consequatur expedita quidem cumque explicabo" + }, + { + "userId": 3, + "id": 21, + "title": "asperiores ea ipsam voluptatibus modi minima quia sint", + "body": "repellat aliquid praesentium dolorem quo\nsed totam minus non itaque\nnihil labore molestiae sunt dolor eveniet hic recusandae veniam\ntempora et tenetur expedita sunt" + }, + { + "userId": 3, + "id": 22, + "title": "dolor sint quo a velit explicabo quia nam", + "body": "eos qui et ipsum ipsam suscipit aut\nsed omnis non odio\nexpedita earum mollitia molestiae aut atque rem suscipit\nnam impedit esse" + }, + { + "userId": 3, + "id": 23, + "title": "maxime id vitae nihil numquam", + "body": "veritatis unde neque eligendi\nquae quod architecto quo neque vitae\nest illo sit tempora doloremque fugit quod\net et vel beatae sequi ullam sed tenetur perspiciatis" + }, + { + "userId": 3, + "id": 24, + "title": "autem hic labore sunt dolores incidunt", + "body": "enim et ex nulla\nomnis voluptas quia qui\nvoluptatem consequatur numquam aliquam sunt\ntotam recusandae id dignissimos aut sed asperiores deserunt" + }, + { + "userId": 3, + "id": 25, + "title": "rem alias distinctio quo quis", + "body": "ullam consequatur ut\nomnis quis sit vel consequuntur\nipsa eligendi ipsum molestiae et omnis error nostrum\nmolestiae illo tempore quia et distinctio" + }, + { + "userId": 3, + "id": 26, + "title": "est et quae odit qui non", + "body": "similique esse doloribus nihil accusamus\nomnis dolorem fuga consequuntur reprehenderit fugit recusandae temporibus\nperspiciatis cum ut laudantium\nomnis aut molestiae vel vero" + }, + { + "userId": 3, + "id": 27, + "title": "quasi id et eos tenetur aut quo autem", + "body": "eum sed dolores ipsam sint possimus debitis occaecati\ndebitis qui qui et\nut placeat enim earum aut odit facilis\nconsequatur suscipit necessitatibus rerum sed inventore temporibus consequatur" + }, + { + "userId": 3, + "id": 28, + "title": "delectus ullam et corporis nulla voluptas sequi", + "body": "non et quaerat ex quae ad maiores\nmaiores recusandae totam aut blanditiis mollitia quas illo\nut voluptatibus voluptatem\nsimilique nostrum eum" + }, + { + "userId": 3, + "id": 29, + "title": "iusto eius quod necessitatibus culpa ea", + "body": "odit magnam ut saepe sed non qui\ntempora atque nihil\naccusamus illum doloribus illo dolor\neligendi repudiandae odit magni similique sed cum maiores" + }, + { + "userId": 3, + "id": 30, + "title": "a quo magni similique perferendis", + "body": "alias dolor cumque\nimpedit blanditiis non eveniet odio maxime\nblanditiis amet eius quis tempora quia autem rem\na provident perspiciatis quia" + }, + { + "userId": 4, + "id": 31, + "title": "ullam ut quidem id aut vel consequuntur", + "body": "debitis eius sed quibusdam non quis consectetur vitae\nimpedit ut qui consequatur sed aut in\nquidem sit nostrum et maiores adipisci atque\nquaerat voluptatem adipisci repudiandae" + }, + { + "userId": 4, + "id": 32, + "title": "doloremque illum aliquid sunt", + "body": "deserunt eos nobis asperiores et hic\nest debitis repellat molestiae optio\nnihil ratione ut eos beatae quibusdam distinctio maiores\nearum voluptates et aut adipisci ea maiores voluptas maxime" + }, + { + "userId": 4, + "id": 33, + "title": "qui explicabo molestiae dolorem", + "body": "rerum ut et numquam laborum odit est sit\nid qui sint in\nquasi tenetur tempore aperiam et quaerat qui in\nrerum officiis sequi cumque quod" + }, + { + "userId": 4, + "id": 34, + "title": "magnam ut rerum iure", + "body": "ea velit perferendis earum ut voluptatem voluptate itaque iusto\ntotam pariatur in\nnemo voluptatem voluptatem autem magni tempora minima in\nest distinctio qui assumenda accusamus dignissimos officia nesciunt nobis" + }, + { + "userId": 4, + "id": 35, + "title": "id nihil consequatur molestias animi provident", + "body": "nisi error delectus possimus ut eligendi vitae\nplaceat eos harum cupiditate facilis reprehenderit voluptatem beatae\nmodi ducimus quo illum voluptas eligendi\net nobis quia fugit" + }, + { + "userId": 4, + "id": 36, + "title": "fuga nam accusamus voluptas reiciendis itaque", + "body": "ad mollitia et omnis minus architecto odit\nvoluptas doloremque maxime aut non ipsa qui alias veniam\nblanditiis culpa aut quia nihil cumque facere et occaecati\nqui aspernatur quia eaque ut aperiam inventore" + }, + { + "userId": 4, + "id": 37, + "title": "provident vel ut sit ratione est", + "body": "debitis et eaque non officia sed nesciunt pariatur vel\nvoluptatem iste vero et ea\nnumquam aut expedita ipsum nulla in\nvoluptates omnis consequatur aut enim officiis in quam qui" + }, + { + "userId": 4, + "id": 38, + "title": "explicabo et eos deleniti nostrum ab id repellendus", + "body": "animi esse sit aut sit nesciunt assumenda eum voluptas\nquia voluptatibus provident quia necessitatibus ea\nrerum repudiandae quia voluptatem delectus fugit aut id quia\nratione optio eos iusto veniam iure" + }, + { + "userId": 4, + "id": 39, + "title": "eos dolorem iste accusantium est eaque quam", + "body": "corporis rerum ducimus vel eum accusantium\nmaxime aspernatur a porro possimus iste omnis\nest in deleniti asperiores fuga aut\nvoluptas sapiente vel dolore minus voluptatem incidunt ex" + }, + { + "userId": 4, + "id": 40, + "title": "enim quo cumque", + "body": "ut voluptatum aliquid illo tenetur nemo sequi quo facilis\nipsum rem optio mollitia quas\nvoluptatem eum voluptas qui\nunde omnis voluptatem iure quasi maxime voluptas nam" + }, + { + "userId": 5, + "id": 41, + "title": "non est facere", + "body": "molestias id nostrum\nexcepturi molestiae dolore omnis repellendus quaerat saepe\nconsectetur iste quaerat tenetur asperiores accusamus ex ut\nnam quidem est ducimus sunt debitis saepe" + }, + { + "userId": 5, + "id": 42, + "title": "commodi ullam sint et excepturi error explicabo praesentium voluptas", + "body": "odio fugit voluptatum ducimus earum autem est incidunt voluptatem\nodit reiciendis aliquam sunt sequi nulla dolorem\nnon facere repellendus voluptates quia\nratione harum vitae ut" + }, + { + "userId": 5, + "id": 43, + "title": "eligendi iste nostrum consequuntur adipisci praesentium sit beatae perferendis", + "body": "similique fugit est\nillum et dolorum harum et voluptate eaque quidem\nexercitationem quos nam commodi possimus cum odio nihil nulla\ndolorum exercitationem magnam ex et a et distinctio debitis" + }, + { + "userId": 5, + "id": 44, + "title": "optio dolor molestias sit", + "body": "temporibus est consectetur dolore\net libero debitis vel velit laboriosam quia\nipsum quibusdam qui itaque fuga rem aut\nea et iure quam sed maxime ut distinctio quae" + }, + { + "userId": 5, + "id": 45, + "title": "ut numquam possimus omnis eius suscipit laudantium iure", + "body": "est natus reiciendis nihil possimus aut provident\nex et dolor\nrepellat pariatur est\nnobis rerum repellendus dolorem autem" + }, + { + "userId": 5, + "id": 46, + "title": "aut quo modi neque nostrum ducimus", + "body": "voluptatem quisquam iste\nvoluptatibus natus officiis facilis dolorem\nquis quas ipsam\nvel et voluptatum in aliquid" + }, + { + "userId": 5, + "id": 47, + "title": "quibusdam cumque rem aut deserunt", + "body": "voluptatem assumenda ut qui ut cupiditate aut impedit veniam\noccaecati nemo illum voluptatem laudantium\nmolestiae beatae rerum ea iure soluta nostrum\neligendi et voluptate" + }, + { + "userId": 5, + "id": 48, + "title": "ut voluptatem illum ea doloribus itaque eos", + "body": "voluptates quo voluptatem facilis iure occaecati\nvel assumenda rerum officia et\nillum perspiciatis ab deleniti\nlaudantium repellat ad ut et autem reprehenderit" + }, + { + "userId": 5, + "id": 49, + "title": "laborum non sunt aut ut assumenda perspiciatis voluptas", + "body": "inventore ab sint\nnatus fugit id nulla sequi architecto nihil quaerat\neos tenetur in in eum veritatis non\nquibusdam officiis aspernatur cumque aut commodi aut" + }, + { + "userId": 5, + "id": 50, + "title": "repellendus qui recusandae incidunt voluptates tenetur qui omnis exercitationem", + "body": "error suscipit maxime adipisci consequuntur recusandae\nvoluptas eligendi et est et voluptates\nquia distinctio ab amet quaerat molestiae et vitae\nadipisci impedit sequi nesciunt quis consectetur" + }, + { + "userId": 6, + "id": 51, + "title": "soluta aliquam aperiam consequatur illo quis voluptas", + "body": "sunt dolores aut doloribus\ndolore doloribus voluptates tempora et\ndoloremque et quo\ncum asperiores sit consectetur dolorem" + }, + { + "userId": 6, + "id": 52, + "title": "qui enim et consequuntur quia animi quis voluptate quibusdam", + "body": "iusto est quibusdam fuga quas quaerat molestias\na enim ut sit accusamus enim\ntemporibus iusto accusantium provident architecto\nsoluta esse reprehenderit qui laborum" + }, + { + "userId": 6, + "id": 53, + "title": "ut quo aut ducimus alias", + "body": "minima harum praesentium eum rerum illo dolore\nquasi exercitationem rerum nam\nporro quis neque quo\nconsequatur minus dolor quidem veritatis sunt non explicabo similique" + }, + { + "userId": 6, + "id": 54, + "title": "sit asperiores ipsam eveniet odio non quia", + "body": "totam corporis dignissimos\nvitae dolorem ut occaecati accusamus\nex velit deserunt\net exercitationem vero incidunt corrupti mollitia" + }, + { + "userId": 6, + "id": 55, + "title": "sit vel voluptatem et non libero", + "body": "debitis excepturi ea perferendis harum libero optio\neos accusamus cum fuga ut sapiente repudiandae\net ut incidunt omnis molestiae\nnihil ut eum odit" + }, + { + "userId": 6, + "id": 56, + "title": "qui et at rerum necessitatibus", + "body": "aut est omnis dolores\nneque rerum quod ea rerum velit pariatur beatae excepturi\net provident voluptas corrupti\ncorporis harum reprehenderit dolores eligendi" + }, + { + "userId": 6, + "id": 57, + "title": "sed ab est est", + "body": "at pariatur consequuntur earum quidem\nquo est laudantium soluta voluptatem\nqui ullam et est\net cum voluptas voluptatum repellat est" + }, + { + "userId": 6, + "id": 58, + "title": "voluptatum itaque dolores nisi et quasi", + "body": "veniam voluptatum quae adipisci id\net id quia eos ad et dolorem\naliquam quo nisi sunt eos impedit error\nad similique veniam" + }, + { + "userId": 6, + "id": 59, + "title": "qui commodi dolor at maiores et quis id accusantium", + "body": "perspiciatis et quam ea autem temporibus non voluptatibus qui\nbeatae a earum officia nesciunt dolores suscipit voluptas et\nanimi doloribus cum rerum quas et magni\net hic ut ut commodi expedita sunt" + }, + { + "userId": 6, + "id": 60, + "title": "consequatur placeat omnis quisquam quia reprehenderit fugit veritatis facere", + "body": "asperiores sunt ab assumenda cumque modi velit\nqui esse omnis\nvoluptate et fuga perferendis voluptas\nillo ratione amet aut et omnis" + }, + { + "userId": 7, + "id": 61, + "title": "voluptatem doloribus consectetur est ut ducimus", + "body": "ab nemo optio odio\ndelectus tenetur corporis similique nobis repellendus rerum omnis facilis\nvero blanditiis debitis in nesciunt doloribus dicta dolores\nmagnam minus velit" + }, + { + "userId": 7, + "id": 62, + "title": "beatae enim quia vel", + "body": "enim aspernatur illo distinctio quae praesentium\nbeatae alias amet delectus qui voluptate distinctio\nodit sint accusantium autem omnis\nquo molestiae omnis ea eveniet optio" + }, + { + "userId": 7, + "id": 63, + "title": "voluptas blanditiis repellendus animi ducimus error sapiente et suscipit", + "body": "enim adipisci aspernatur nemo\nnumquam omnis facere dolorem dolor ex quis temporibus incidunt\nab delectus culpa quo reprehenderit blanditiis asperiores\naccusantium ut quam in voluptatibus voluptas ipsam dicta" + }, + { + "userId": 7, + "id": 64, + "title": "et fugit quas eum in in aperiam quod", + "body": "id velit blanditiis\neum ea voluptatem\nmolestiae sint occaecati est eos perspiciatis\nincidunt a error provident eaque aut aut qui" + }, + { + "userId": 7, + "id": 65, + "title": "consequatur id enim sunt et et", + "body": "voluptatibus ex esse\nsint explicabo est aliquid cumque adipisci fuga repellat labore\nmolestiae corrupti ex saepe at asperiores et perferendis\nnatus id esse incidunt pariatur" + }, + { + "userId": 7, + "id": 66, + "title": "repudiandae ea animi iusto", + "body": "officia veritatis tenetur vero qui itaque\nsint non ratione\nsed et ut asperiores iusto eos molestiae nostrum\nveritatis quibusdam et nemo iusto saepe" + }, + { + "userId": 7, + "id": 67, + "title": "aliquid eos sed fuga est maxime repellendus", + "body": "reprehenderit id nostrum\nvoluptas doloremque pariatur sint et accusantium quia quod aspernatur\net fugiat amet\nnon sapiente et consequatur necessitatibus molestiae" + }, + { + "userId": 7, + "id": 68, + "title": "odio quis facere architecto reiciendis optio", + "body": "magnam molestiae perferendis quisquam\nqui cum reiciendis\nquaerat animi amet hic inventore\nea quia deleniti quidem saepe porro velit" + }, + { + "userId": 7, + "id": 69, + "title": "fugiat quod pariatur odit minima", + "body": "officiis error culpa consequatur modi asperiores et\ndolorum assumenda voluptas et vel qui aut vel rerum\nvoluptatum quisquam perspiciatis quia rerum consequatur totam quas\nsequi commodi repudiandae asperiores et saepe a" + }, + { + "userId": 7, + "id": 70, + "title": "voluptatem laborum magni", + "body": "sunt repellendus quae\nest asperiores aut deleniti esse accusamus repellendus quia aut\nquia dolorem unde\neum tempora esse dolore" + }, + { + "userId": 8, + "id": 71, + "title": "et iusto veniam et illum aut fuga", + "body": "occaecati a doloribus\niste saepe consectetur placeat eum voluptate dolorem et\nqui quo quia voluptas\nrerum ut id enim velit est perferendis" + }, + { + "userId": 8, + "id": 72, + "title": "sint hic doloribus consequatur eos non id", + "body": "quam occaecati qui deleniti consectetur\nconsequatur aut facere quas exercitationem aliquam hic voluptas\nneque id sunt ut aut accusamus\nsunt consectetur expedita inventore velit" + }, + { + "userId": 8, + "id": 73, + "title": "consequuntur deleniti eos quia temporibus ab aliquid at", + "body": "voluptatem cumque tenetur consequatur expedita ipsum nemo quia explicabo\naut eum minima consequatur\ntempore cumque quae est et\net in consequuntur voluptatem voluptates aut" + }, + { + "userId": 8, + "id": 74, + "title": "enim unde ratione doloribus quas enim ut sit sapiente", + "body": "odit qui et et necessitatibus sint veniam\nmollitia amet doloremque molestiae commodi similique magnam et quam\nblanditiis est itaque\nquo et tenetur ratione occaecati molestiae tempora" + }, + { + "userId": 8, + "id": 75, + "title": "dignissimos eum dolor ut enim et delectus in", + "body": "commodi non non omnis et voluptas sit\nautem aut nobis magnam et sapiente voluptatem\net laborum repellat qui delectus facilis temporibus\nrerum amet et nemo voluptate expedita adipisci error dolorem" + }, + { + "userId": 8, + "id": 76, + "title": "doloremque officiis ad et non perferendis", + "body": "ut animi facere\ntotam iusto tempore\nmolestiae eum aut et dolorem aperiam\nquaerat recusandae totam odio" + }, + { + "userId": 8, + "id": 77, + "title": "necessitatibus quasi exercitationem odio", + "body": "modi ut in nulla repudiandae dolorum nostrum eos\naut consequatur omnis\nut incidunt est omnis iste et quam\nvoluptates sapiente aliquam asperiores nobis amet corrupti repudiandae provident" + }, + { + "userId": 8, + "id": 78, + "title": "quam voluptatibus rerum veritatis", + "body": "nobis facilis odit tempore cupiditate quia\nassumenda doloribus rerum qui ea\nillum et qui totam\naut veniam repellendus" + }, + { + "userId": 8, + "id": 79, + "title": "pariatur consequatur quia magnam autem omnis non amet", + "body": "libero accusantium et et facere incidunt sit dolorem\nnon excepturi qui quia sed laudantium\nquisquam molestiae ducimus est\nofficiis esse molestiae iste et quos" + }, + { + "userId": 8, + "id": 80, + "title": "labore in ex et explicabo corporis aut quas", + "body": "ex quod dolorem ea eum iure qui provident amet\nquia qui facere excepturi et repudiandae\nasperiores molestias provident\nminus incidunt vero fugit rerum sint sunt excepturi provident" + }, + { + "userId": 9, + "id": 81, + "title": "tempora rem veritatis voluptas quo dolores vero", + "body": "facere qui nesciunt est voluptatum voluptatem nisi\nsequi eligendi necessitatibus ea at rerum itaque\nharum non ratione velit laboriosam quis consequuntur\nex officiis minima doloremque voluptas ut aut" + }, + { + "userId": 9, + "id": 82, + "title": "laudantium voluptate suscipit sunt enim enim", + "body": "ut libero sit aut totam inventore sunt\nporro sint qui sunt molestiae\nconsequatur cupiditate qui iste ducimus adipisci\ndolor enim assumenda soluta laboriosam amet iste delectus hic" + }, + { + "userId": 9, + "id": 83, + "title": "odit et voluptates doloribus alias odio et", + "body": "est molestiae facilis quis tempora numquam nihil qui\nvoluptate sapiente consequatur est qui\nnecessitatibus autem aut ipsa aperiam modi dolore numquam\nreprehenderit eius rem quibusdam" + }, + { + "userId": 9, + "id": 84, + "title": "optio ipsam molestias necessitatibus occaecati facilis veritatis dolores aut", + "body": "sint molestiae magni a et quos\neaque et quasi\nut rerum debitis similique veniam\nrecusandae dignissimos dolor incidunt consequatur odio" + }, + { + "userId": 9, + "id": 85, + "title": "dolore veritatis porro provident adipisci blanditiis et sunt", + "body": "similique sed nisi voluptas iusto omnis\nmollitia et quo\nassumenda suscipit officia magnam sint sed tempora\nenim provident pariatur praesentium atque animi amet ratione" + }, + { + "userId": 9, + "id": 86, + "title": "placeat quia et porro iste", + "body": "quasi excepturi consequatur iste autem temporibus sed molestiae beatae\net quaerat et esse ut\nvoluptatem occaecati et vel explicabo autem\nasperiores pariatur deserunt optio" + }, + { + "userId": 9, + "id": 87, + "title": "nostrum quis quasi placeat", + "body": "eos et molestiae\nnesciunt ut a\ndolores perspiciatis repellendus repellat aliquid\nmagnam sint rem ipsum est" + }, + { + "userId": 9, + "id": 88, + "title": "sapiente omnis fugit eos", + "body": "consequatur omnis est praesentium\nducimus non iste\nneque hic deserunt\nvoluptatibus veniam cum et rerum sed" + }, + { + "userId": 9, + "id": 89, + "title": "sint soluta et vel magnam aut ut sed qui", + "body": "repellat aut aperiam totam temporibus autem et\narchitecto magnam ut\nconsequatur qui cupiditate rerum quia soluta dignissimos nihil iure\ntempore quas est" + }, + { + "userId": 9, + "id": 90, + "title": "ad iusto omnis odit dolor voluptatibus", + "body": "minus omnis soluta quia\nqui sed adipisci voluptates illum ipsam voluptatem\neligendi officia ut in\neos soluta similique molestias praesentium blanditiis" + }, + { + "userId": 10, + "id": 91, + "title": "aut amet sed", + "body": "libero voluptate eveniet aperiam sed\nsunt placeat suscipit molestias\nsimilique fugit nam natus\nexpedita consequatur consequatur dolores quia eos et placeat" + }, + { + "userId": 10, + "id": 92, + "title": "ratione ex tenetur perferendis", + "body": "aut et excepturi dicta laudantium sint rerum nihil\nlaudantium et at\na neque minima officia et similique libero et\ncommodi voluptate qui" + }, + { + "userId": 10, + "id": 93, + "title": "beatae soluta recusandae", + "body": "dolorem quibusdam ducimus consequuntur dicta aut quo laboriosam\nvoluptatem quis enim recusandae ut sed sunt\nnostrum est odit totam\nsit error sed sunt eveniet provident qui nulla" + }, + { + "userId": 10, + "id": 94, + "title": "qui qui voluptates illo iste minima", + "body": "aspernatur expedita soluta quo ab ut similique\nexpedita dolores amet\nsed temporibus distinctio magnam saepe deleniti\nomnis facilis nam ipsum natus sint similique omnis" + }, + { + "userId": 10, + "id": 95, + "title": "id minus libero illum nam ad officiis", + "body": "earum voluptatem facere provident blanditiis velit laboriosam\npariatur accusamus odio saepe\ncumque dolor qui a dicta ab doloribus consequatur omnis\ncorporis cupiditate eaque assumenda ad nesciunt" + }, + { + "userId": 10, + "id": 96, + "title": "quaerat velit veniam amet cupiditate aut numquam ut sequi", + "body": "in non odio excepturi sint eum\nlabore voluptates vitae quia qui et\ninventore itaque rerum\nveniam non exercitationem delectus aut" + }, + { + "userId": 10, + "id": 97, + "title": "quas fugiat ut perspiciatis vero provident", + "body": "eum non blanditiis soluta porro quibusdam voluptas\nvel voluptatem qui placeat dolores qui velit aut\nvel inventore aut cumque culpa explicabo aliquid at\nperspiciatis est et voluptatem dignissimos dolor itaque sit nam" + }, + { + "userId": 10, + "id": 98, + "title": "laboriosam dolor voluptates", + "body": "doloremque ex facilis sit sint culpa\nsoluta assumenda eligendi non ut eius\nsequi ducimus vel quasi\nveritatis est dolores" + }, + { + "userId": 10, + "id": 99, + "title": "temporibus sit alias delectus eligendi possimus magni", + "body": "quo deleniti praesentium dicta non quod\naut est molestias\nmolestias et officia quis nihil\nitaque dolorem quia" + }, + { + "userId": 10, + "id": 100, + "title": "at nam consequatur ea labore ea harum", + "body": "cupiditate quo est a modi nesciunt soluta\nipsa voluptas error itaque dicta in\nautem qui minus magnam et distinctio eum\naccusamus ratione error aut" + } +] \ No newline at end of file