{"version":3,"file":"Psj.fa034340.js","sources":["../../../app/frontend/shared/utils/Debug.bs.js","../../../app/frontend/shared/utils/Psj.bs.js"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Belt_Option from \"../../../../node_modules/rescript/lib/es6/belt_Option.js\";\n\nfunction log(scope, message) {\n if (Belt_Option.getWithDefault(window.pupilfirst.debug, false)) {\n console.log(\"[\" + scope + \"] \" + message);\n return ;\n }\n \n}\n\nfunction error(scope, message) {\n console.error(\"[\" + scope + \"] \" + message);\n \n}\n\nexport {\n log ,\n error ,\n \n}\n/* No side effect */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Curry from \"../../../../node_modules/rescript/lib/es6/curry.js\";\nimport * as Debug from \"./Debug.bs.js\";\nimport * as Caml_array from \"../../../../node_modules/rescript/lib/es6/caml_array.js\";\n\nfunction log(param) {\n return Debug.log(\"PSJ\", param);\n}\n\nfunction ready(f) {\n if (Document.readyState !== \"loading\") {\n return Curry._1(f, undefined);\n } else {\n document.addEventListener(\"DOMContentLoaded\", (function (_event) {\n return Curry._1(f, undefined);\n }));\n return ;\n }\n}\n\nfunction match(onReadyOpt, path, f) {\n var onReady = onReadyOpt !== undefined ? onReadyOpt : true;\n Debug.log(\"PSJ\", \"Try to match \" + path);\n var pathFragments = path.split(\"#\");\n if (pathFragments.length !== 2) {\n return Debug.error(\"PSJ\", \"Path must be of the format `controller#action` or `module/controller#action`. Received: \" + path);\n }\n var metaTag = document.querySelector(\"meta[name='psj']\");\n if (metaTag == null) {\n return ;\n }\n var controller = metaTag.getAttribute(\"controller\");\n var action = metaTag.getAttribute(\"action\");\n if (controller == null) {\n if (action == null) {\n return Debug.error(\"PSJ\", \"Meta tag is missing both the controller or action prop.\");\n } else {\n return Debug.error(\"PSJ\", \"Meta tag is missing the controller prop.\");\n }\n } else if (action == null) {\n return Debug.error(\"PSJ\", \"Meta tag is missing the action prop.\");\n } else if (controller === Caml_array.get(pathFragments, 0) && action === Caml_array.get(pathFragments, 1)) {\n Debug.log(\"PSJ\", \"Matched \" + path);\n if (onReady) {\n return ready(f);\n } else {\n return Curry._1(f, undefined);\n }\n } else {\n return ;\n }\n}\n\nfunction sanitizePath(path) {\n return path.replace(/^\\//, \"\").replace(/\\/$/, \"\");\n}\n\nfunction matchPaths(onReadyOpt, paths, f) {\n var onReady = onReadyOpt !== undefined ? onReadyOpt : true;\n Debug.log(\"PSJ\", \"Try to match paths \" + paths.join(\", \"));\n paths.some(function (path) {\n var pathFragments = path.split(\"/\");\n var currentPathFragments = sanitizePath(window.location.pathname).split(\"/\");\n if (pathFragments.length !== currentPathFragments.length) {\n return false;\n }\n var matched = pathFragments.every(function (fragment, index) {\n if (fragment === \"*\" || fragment.charAt(0) === \":\") {\n return true;\n } else {\n return fragment === Caml_array.get(currentPathFragments, index);\n }\n });\n if (matched) {\n Debug.log(\"PSJ\", \"Matched \" + path);\n if (onReady) {\n ready(f);\n } else {\n Curry._1(f, undefined);\n }\n }\n return matched;\n });\n \n}\n\nexport {\n log ,\n ready ,\n match ,\n sanitizePath ,\n matchPaths ,\n \n}\n/* No side effect */\n"],"names":["log","scope","message","Belt_Option.getWithDefault","error","ready","f","Curry._1","_event","match","onReadyOpt","path","onReady","Debug.log","pathFragments","Debug.error","metaTag","controller","action","Caml_array.get","sanitizePath","matchPaths","paths","currentPathFragments","matched","fragment","index"],"mappings":"0DAGA,SAASA,EAAIC,EAAOC,EAAS,CAC3B,GAAIC,EAA2B,OAAO,WAAW,MAAO,EAAK,EAAG,CAC9D,QAAQ,IAAI,IAAMF,EAAQ,KAAOC,CAAO,EACxC,MACD,CACH,CAEA,SAASE,EAAMH,EAAOC,EAAS,CAC7B,QAAQ,MAAM,IAAMD,EAAQ,KAAOC,CAAO,CAC5C,CCHA,SAASG,EAAMC,EAAG,CAChB,GAAI,SAAS,aAAe,UAC1B,OAAOC,EAASD,EAAG,MAAS,EAE5B,SAAS,iBAAiB,mBAAoB,SAAUE,EAAQ,CAC9D,OAAOD,EAASD,EAAG,MAAS,CAClC,CAAK,CAGL,CAEA,SAASG,EAAMC,EAAYC,EAAML,EAAG,CAClC,IAAIM,EAAUF,IAAe,OAAYA,EAAa,GACtDG,EAAU,MAAO,gBAAkBF,CAAI,EACvC,IAAIG,EAAgBH,EAAK,MAAM,GAAG,EAElC,GAAIG,EAAc,SAAW,EAC3B,OAAOC,EAAY,MAAO,2FAA6FJ,CAAI,EAG7H,IAAIK,EAAU,SAAS,cAAc,kBAAkB,EAEvD,GAAIA,GAAW,KAIf,KAAIC,EAAaD,EAAQ,aAAa,YAAY,EAC9CE,EAASF,EAAQ,aAAa,QAAQ,EAE1C,OAAIC,GAAc,KACZC,GAAU,KACLH,EAAY,MAAO,yDAAyD,EAE5EA,EAAY,MAAO,0CAA0C,EAE7DG,GAAU,KACZH,EAAY,MAAO,sCAAsC,EACvDE,IAAeE,EAAeL,EAAe,CAAC,GAAKI,IAAWC,EAAeL,EAAe,CAAC,GACtGD,EAAU,MAAO,WAAaF,CAAI,EAE9BC,EACKP,EAAMC,CAAC,EAEPC,EAASD,EAAG,MAAS,GAG9B,OAEJ,CAEA,SAASc,EAAaT,EAAM,CAC1B,OAAOA,EAAK,QAAQ,MAAO,EAAE,EAAE,QAAQ,MAAO,EAAE,CAClD,CAEA,SAASU,EAAWX,EAAYY,EAAOhB,EAAG,CACxC,IAAIM,EAAUF,IAAe,OAAYA,EAAa,GACtDG,EAAU,MAAO,sBAAwBS,EAAM,KAAK,IAAI,CAAC,EACzDA,EAAM,KAAK,SAAUX,EAAM,CACzB,IAAIG,EAAgBH,EAAK,MAAM,GAAG,EAC9BY,EAAuBH,EAAa,OAAO,SAAS,QAAQ,EAAE,MAAM,GAAG,EAE3E,GAAIN,EAAc,SAAWS,EAAqB,OAChD,MAAO,GAGT,IAAIC,EAAUV,EAAc,MAAM,SAAUW,EAAUC,EAAO,CAC3D,OAAID,IAAa,KAAOA,EAAS,OAAO,CAAC,IAAM,IACtC,GAEAA,IAAaN,EAAeI,EAAsBG,CAAK,CAEtE,CAAK,EAED,OAAIF,IACFX,EAAU,MAAO,WAAaF,CAAI,EAE9BC,EACFP,EAAMC,CAAC,EAEPC,EAASD,EAAG,MAAS,GAIlBkB,CACX,CAAG,CACH"}