{"version":3,"sources":["components/App/Home/index.js","containers/Home/index.js","components/App/Navbar/index.js","components/App/Endpoints/index.js","components/App/Parameters/index.js","components/App/Examples/index.js","components/App/About/index.js","components/App/index.js","containers/App/index.js","reducers/home.js","reducers/index.js","middlewares/homeMiddleware.js","store/index.js","index.js"],"names":["Home","_jsxs","className","children","_jsx","connect","dispatch","Navbar","Link","to","src","alt","Endpoints","id","Params","style","Examples","About","App","Routes","Route","exact","path","element","Parameters","Navigate","state","accueil","home","user","guilds","selected","initialState","reducer","arguments","length","undefined","type","rootReducer","combineReducers","homeReducer","homeMiddleware","store","next","action","persistConfig","key","storage","stateReconciler","autoMergeLevel2","blacklist","whitelist","pReducer","persistReducer","middlewares","applyMiddleware","enhancers","window","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","createStore","persistor","persistStore","rootReactElement","Provider","PersistGate","BrowserRouter","target","document","getElementById","createRoot","render"],"mappings":"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","file":"static/js/main.95a5e99d.chunk.js","sourcesContent":["import React from 'react'; // , { useEffect }\n//import { useSelector } from 'react-redux';\nimport './style.scss';\nconst Home = () => {\n return (\n
\n
\n

WELCOME TO THE

\n

API.NOSRANKING.COM'S

\n

DOCUMENTATION

\n
\n

API.NOSRANKING.COM is an API that provides the ranking of Nostale players :

\n

Obtaining a player's ranking to display stats somewhere else (Ex: Discord) has always been complicated because GameForge doesn't offer an official API.

\n

That's why this API exist. We offer players and devs an easy way to display their public data on external platforms and social medias.

\n

In case of abuse, contact this website administrator by mailing to nosranking at truc-bidule.fr ! Enjoy !

\n
\n
\n

API RULES

\n

This API is public, open-source and free. The number of requests that can be made per IP is limited to 30 per minute.

\n

We record the data that you ask us to fetch from the official nostale ranking website belonging to GameForge,

\n

in order to avoid spamming this ranking with untimely requests... In Other words, we strive to limit the number of parsing we perform.

\n

Any request that is considered as malformed, malicious or suspect will lead to your IP being banned from the API for 3 months. So don't do stupid things !

\n
\n
\n

DONATE AND HELP

\n

I haven't thought about it. Maybe I'll add a way for you to gift us a coffee. We will see that later :D

\n

You can contribute to this project by opening issues on github...

\n
\n )\n};\n\nHome.propTypes = {};\n\nexport default Home;\n","import { connect } from 'react-redux';\r\nimport Home from '../../components/App/Home';\r\n//import { getInfo, getConfig, select, updateConfig } from '../../actions';\r\n\r\nconst mapStateToProps = null;\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Home);\r\n ","import React from 'react';\nimport './style.scss';\nimport { Link } from 'react-router-dom';\n\n//import { useSelector } from 'react-redux'\nconst Navbar = () => {\n\n\t//const isLogged = useSelector(state => state.home.user.logged);\n\t//const user = useSelector(state => state.home.user);\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\tGETTING STARTED\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tENDPOINTS\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tPARAMETERS\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tEXAMPLES\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tABOUT\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t);\n};\n\nNavbar.propTypes = {};\nexport default Navbar;\n","import React from 'react'; // , { useEffect }\n//import { useSelector } from 'react-redux';\nimport './style.scss';\nconst Endpoints = () => {\n return (\n
\n

API ENDPOINTS

\n
\n

On the first version, this API only provided players data from the ranking of the French server Cosmos.

\n

We have chosen to extend this to the other language zones by uzing endpoints.

\n

Each of these 3 endpoints groups the servers by language zone.

\n
\n
\n
\n

EN, US, INT

\n

/v1/

\n
\n
\n
\n
\n

DE

\n

/v1/de/

\n
\n
\n
\n
\n

FR

\n

/v1/fr/

\n
\n
\n );\n};\n\nEndpoints.propTypes = {};\n\nexport default Endpoints;\n","import React from 'react'; // , { useEffect }\n//import { useSelector } from 'react-redux';\nimport './style.scss';\nconst Params = () => {\n return (\n
\n

URL PARAMETERS

\n
\n

URL parameters (also known as “query strings”) are a way to structure additional information for a given URL.

\n

Parameters are added to the end of a URL after a ? symbol, and multiple parameters can be included when separated by the & symbol.

\n

This little API uses 2 parameters in its urls: nick and server. The nick parameter is mandatory. The server parameter is optional and must be a number.

\n

If no server is specified, the API will search for the first server in the linguistic zone, for example, Cosmos for French zone.

\n
\n
\n
\n

EN, US, INT

\n

1 = EU-Dragonveil, 2 = US-Cylloan,

\n

3 = INT-Valehir, 4 = INT-Asgobas

\n
\n
\n
\n
\n

DE

\n

1 = DE-Alzanor

\n
\n
\n
\n
\n

FR

\n

1 = Cosmos

\n
\n
\n );\n};\n\nParams.propTypes = {};\n\nexport default Params;\n","import React from 'react'; // , { useEffect }\n//import { useSelector } from 'react-redux';\nimport './style.scss';\nconst Examples = () => {\n return (\n
\n

Examples

\n
\n

Using NodeJS and the node-fetch library :

\n
\n        \n        {`\nconst fetch = require('node-fetch');\nasync function getRanking(player_name)\n{\n  const response = await fetch(\n    'https://api.nosranking.com/v1/fr/?nick='+player_name\n  );\n  const data = await response.json();\n  console.log(data);\n}\ngetRanking('Earlam');\n        `}\n        \n      
\n

Response

\n
\n \n
\n
\n );\n};\n\nExamples.propTypes = {};\n\nexport default Examples;\n","import React from 'react'; // , { useEffect }\n//import { useSelector } from 'react-redux';\nimport './style.scss';\nconst About = () => {\n return (\n
\n

Made by Earlam

\n
\n );\n};\n\nAbout.propTypes = {};\n\nexport default About;\n","import { Routes, Route, Navigate } from 'react-router-dom';\nimport React from 'react'; // , { useEffect }\nimport Home from '../../containers/Home';\nimport Navbar from './Navbar';\n//import Footer from './Footer';\nimport Endpoints from './Endpoints';\nimport Parameters from './Parameters';\nimport Examples from './Examples';\nimport About from './About';\n\nimport './style.scss';\nconst App = () => {\n return (\n
\n \n \n } />\n } />\n } />\n } />\n } />\n } />\n } />\n \n {/*
\n );\n};\n\nApp.propTypes = {};\n\nexport default App;","import { connect } from 'react-redux';\nimport App from '../../components/App';\n//import { getInfo, getConfig, select, updateConfig } from '../../actions';\nconst mapStateToProps = (state) => ({\n accueil: state.home.accueil,\n user: state.home.user,\n guilds: state.home.guilds,\n selected: state.home.selected,\n\n});\nconst mapDispatchToProps = (dispatch) => ({\n\n});\n \nexport default connect(mapStateToProps, mapDispatchToProps)(App); \n","import {\n\n} from '../actions';\nconst initialState = {};\n\nconst reducer = (state = initialState, action = {}) => {\n switch (action.type) {\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import { combineReducers } from 'redux';\nimport homeReducer from './home';\nconst rootReducer = combineReducers({\n home: homeReducer,\n});\nexport default rootReducer;\n","//import axios from 'axios';\n//import stringSimilarity from 'string-similarity'\n//import { GET_INFO, storeInfo, TOTO, storeToto, GET_LOGS, storeLogs, UPDATE_VOCAL, GET_FEEDBACK, storeFeedback, GET_TAGS, storeTags, SEARCH_BY_SIMILARITY, storeSimilarity } from '../actions';\n//import apiBaseURL from './baseURL';\n//axios.defaults.headers.post['Access-Control-Allow-Origin'] = '*';\n\n/*\nconst api = axios.create({\n baseURL: apiBaseURL,\n});\n*/\nconst homeMiddleware = (store) => (next) => (action) => {\n switch (action.type) {\n default:\n next(action);\n }\n};\n\nexport default homeMiddleware;\n","import { createStore, applyMiddleware, compose } from 'redux';\nimport reducer from '../../src/reducers';\nimport { persistStore, persistReducer } from 'redux-persist';\nimport storage from 'redux-persist/lib/storage';\nimport autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2';\n\nimport homeMiddleware from '../middlewares/homeMiddleware';\nconst persistConfig = {\n key: 'root',\n storage: storage,\n stateReconciler: autoMergeLevel2,\n blacklist: ['', '', ''],\n whitelist: [''],\n};\n\nconst pReducer = persistReducer(persistConfig, reducer);\n\nconst middlewares = applyMiddleware(\n //ajax,\n homeMiddleware,\n);\n\n// https://github.com/zalmoxisus/redux-devtools-extension#12-advanced-store-setup\nconst composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\nconst enhancers = composeEnhancers(middlewares);\n// export default store;\nexport const store = createStore(pReducer, enhancers);\nexport const persistor = persistStore(store);","/*import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport './index.css';\nimport App from './App';\n//import reportWebVitals from './reportWebVitals';\n\nconst root = ReactDOM.createRoot(document.getElementById('root'));\nroot.render(\n \n \n \n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\n//reportWebVitals();\n*/\n\nimport React from 'react';\n//import { render } from 'react-dom'; //\nimport { createRoot } from 'react-dom/client';\nimport { Provider } from 'react-redux'; \nimport { PersistGate } from 'redux-persist/lib/integration/react';\nimport App from './containers/App';\nimport { BrowserRouter } from 'react-router-dom';\nimport { persistor, store } from '../src/store';\nconst rootReactElement = (\n \n \n \n \n \n \n \n);\nconst target = document.getElementById('root');\nconst root = createRoot(target);\nroot.render(rootReactElement);"],"sourceRoot":""}