UNPKG

advanced-ussd-builder

Version:

Advanced USSD Menu Builder with persistent state and navigation

2 lines (1 loc) 2.71 kB
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),__importStar=this&&this.__importStar||function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[n.length]=i);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),i=0;i<n.length;i++)n[i]!=="default"&&__createBinding(t,e,n[i]);return __setModuleDefault(t,e),t}}();Object.defineProperty(exports,"__esModule",{value:!0}),exports.parse_it=exports.getNetworkFromPhoneNumber=exports.string_it=exports.import_menu_handler=void 0,exports.assert=assert;function assert(r,e){if(!r)throw e instanceof Error?e:new Error(e)}const import_menu_handler=async r=>{if(r.handler_type==="path"&&typeof r.handler=="string"){const e=await Promise.resolve(`${`${r.handler}`}`).then(n=>__importStar(require(n))),t=r.handler_name_in_destination?r.handler_name_in_destination:"default";return{...r,handler:e[t]}}else return r};exports.import_menu_handler=import_menu_handler;const string_it=r=>JSON.stringify(r,function(e,t){return typeof t=="function"?"/Function("+t.toString()+")/":typeof t=="string"?"/String("+t.toString()+")/":t});exports.string_it=string_it;const getNetworkFromPhoneNumber=r=>{const e=r.replace(/\D/g,"");let t=e;if(e.startsWith("233")?t="0"+e.substring(3):e.startsWith("+233")?t="0"+e.substring(4):e.startsWith("0")||(t="0"+e),t.length!==10||!t.startsWith("0"))return"UNKNOWN";const n=["24","54","55","59","25"],i=["20","50"],s=["26","56","27","57","28"],o=t.substring(1,3);return n.includes(o)?"MTN":i.includes(o)?"TELECEL":s.includes(o)?"AIRTEL-TIGO":"UNKNOWN"};exports.getNetworkFromPhoneNumber=getNetworkFromPhoneNumber;const parse_it=r=>JSON.parse(r,function(e,t){if(typeof t=="string"&&t.startsWith("/Function(")&&t.endsWith(")/")){t=t.substring(10,t.length-2);const n=t.slice(t.indexOf("(")+1,t.indexOf(")")),i=t.slice(t.indexOf("{")+1,t.lastIndexOf("}"));if(console.log("value",t),/^(async)\s/.test(t)){const s=async function(){}.constructor;return/\S+/g.test(n)?s(n,i):s(i)}return/\S+/g.test(n)?new Function(n,i):new Function(i)}return typeof t=="string"&&t.startsWith("/String(")&&t.endsWith(")/")&&(t=t.substring(8,t.length-2)),t});exports.parse_it=parse_it;