mockforme 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,49 @@
1
+
2
+ # README #
3
+
4
+ mockforme npm package can be used to intercept APIs and return mock responses created by you on your personalized dashboard on [mockforme](https://www.mockforme.com)
5
+
6
+ ### How to set up? ###
7
+
8
+ #### Prerequisites ####
9
+ * Register and login on [https://www.mockforme.com](https://www.mockforme.com)
10
+ * Generate client access token from: https://www.mockforme.com/user/token
11
+
12
+ #### Installation ####
13
+ Install the package using npm or yarn:
14
+ ```
15
+ npm install mockforme --save
16
+ OR
17
+ yarn add mockforme
18
+ ```
19
+
20
+
21
+ ### How to use? ###
22
+
23
+ * Import the package in your code
24
+ ```
25
+ import mockforme from 'mockforme';
26
+ ```
27
+ * Initialize the SDK using Access Token (Generate access token [here](https://www.mockforme.com/user/token))
28
+ ```
29
+ mockforme('<ACCESS_TOKEN>').initialize();
30
+ ```
31
+
32
+ * You can also access mockforme object in your browser from window object:
33
+ ```
34
+ window.mockforme
35
+ ```
36
+ And initialize it directly from window:
37
+ ```
38
+ window.mockforme('<ACCESS_TOKEN>').initialize();
39
+ ```
40
+
41
+ ## About Us
42
+ [https://www.mockforme.com](https://www.mockforme.com) is one of the many ways to mock your APIs. But it's SIMPLE.
43
+
44
+ - **Easy to mock APIs:** Run your flows easily; minimize dev and testing effort
45
+ - **User friendly:** Simple and easy to use; rich and powerful features
46
+ - **Easy Integration:** The easiest integration ever; works like a charm
47
+
48
+ ### Who do I talk to? ###
49
+ For queries, email us: [info@mockforme.com](mailto:info@mockforme.com)
@@ -0,0 +1 @@
1
+ <!doctype html><html><head><meta charset="utf-8"><title>mockforme - The best way to mock your APIs</title><meta name="viewport" content="width=device-width,initial-scale=1"><script defer="defer" src="mockforme.min.js"></script></head><body></body></html>
@@ -0,0 +1 @@
1
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var o=t();for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(this,(function(){return(()=>{"use strict";var e={d:(t,o)=>{for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{default:()=>a});const o=e=>{try{return e?e.toLowerCase():e}catch(e){return console.log(e),null}},n=function(e,t,o){var n;function r(){if(4==n.readyState)if(n.status.toString().match(/^20[0-9]$/)){var e=function(){var e=n.getResponseHeader("Content-Type"),t=n.responseText;if(e){var o=e.split(";");try{switch(o[0]){case"application/json":return JSON.parse(t);default:return t}}catch(e){throw"Unable to convert response header"}}}();t.call(this,e,n)}else o.call(this,n.responseText,n)}function a(e,t){var o=[];for(var n in e)if(e.hasOwnProperty(n)){var r=t?t+"["+n+"]":n,i=e[n];o.push("object"==typeof i?a(i,r):encodeURIComponent(r)+"="+encodeURIComponent(i))}return o.join("&")}return window.XMLHttpRequest?n=new XMLHttpRequest:window.ActiveXObject&&(n=new ActiveXObject("Microsoft.XMLHTTP")),{request:function(){if(window.XMLHttpRequest)n.onload=r;else{if(!window.ActiveXObject)throw"unable to process ajax";n.onreadystatechange=r}var t=a(e.params);if("get"==e.method.toLowerCase()&&"object"==typeof e.params){if(-1==e.url.indexOf("?"))e.url+="?";else{var o=e.url.split("?");o[1]&&o[1].split("=")[1]&&(e.url+="&")}e.url+=t}e.hasOwnProperty("async")||(e.async=!0),n.open(e.method,e.url,e.async),e.headers&&function(e){for(let t in e)n.setRequestHeader(t,e[t])}(e.headers),n.send(t)}}},r=e=>{const t="https://www.mockforme.com",r=`${t}/mockforme`,a=`${t}/gateway/op/getEnabledApisForSdk`,i="mockforme";let s=[];const c=window.location,l=c.protocol,p=c.host;if(c.port,!e)throw"mockforme token cannot be null";const u=(e,t="get")=>{let n=null;if(!Array.isArray(s))return n;for(let r=0;r<s.length;r++){const a=s[r];if(o(a.apiMethod)===o(t)&&a.apiEndpoint===e){n={url:a.apiEndpoint,method:a.apiMethod};break}}return n},d=()=>{(()=>{const t=window.fetch;window.fetch=function(o,n={}){n.method||(n.method="get");let a=arguments;const s=new URL(o),c=s&&s.pathname,l=u(c,n.method);return l&&(o=`${r}${l.url}`,a[0]=o,n.headers={[i]:e}),t.call(this,o,n)}})(),(()=>{let t=window.XMLHttpRequest.prototype.open;window.XMLHttpRequest.prototype.open=function(o,n,a,s,c){try{n.match(/https?[:]\/\//)||(n=`${l}//${p}${n}`);const a=new URL(n),s=a&&a.pathname;let c=arguments;const d=u(s,o);return d&&(c[1]=`${r}${d.url}`),this.onreadystatechange=function(){1==this.readyState&&this.setRequestHeader(i,e)},t.apply(this,c)}catch(e){return console.log("Error in mock api, could be invalid url",e),t.apply(this,arguments)}}})()};return{initialize:e=>{var t;d(),t=t=>{e&&e(t)},n({method:"get",url:a,async:!1},(e=>{var o;e&&(o=e,s=s.concat(o)),t(e)}),(()=>{console.log("Error in loading mocked apis")})).request()}}};window.mockforme=r;const a=r;return t})()}));
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "mockforme",
3
+ "version": "1.0.0",
4
+ "description": "mockforme client integration kit. Intercept APIs & get mock responses. Integrate mockforme SDK with your codebase in seconds",
5
+ "main": "dist/mockforme.min.js",
6
+ "files": [
7
+ "dist/*"
8
+ ],
9
+ "keywords": [
10
+ "mock",
11
+ "api",
12
+ "mock api",
13
+ "simulate api",
14
+ "mock server",
15
+ "mock multiple responses",
16
+ "api response",
17
+ "visitor prioritization",
18
+ "throttle api"
19
+ ],
20
+ "scripts": {
21
+ "build": "webpack"
22
+ },
23
+ "author": "team mockforme",
24
+ "license": "ISC",
25
+ "homepage": "https://www.mockforme.com",
26
+ "dependencies": {},
27
+ "devDependencies": {
28
+ "dotenv": "^9.0.2",
29
+ "dotenv-webpack": "^7.0.2",
30
+ "html-webpack-plugin": "^5.3.1",
31
+ "webpack": "^5.36.2",
32
+ "webpack-cli": "^4.7.0",
33
+ "webpack-dev-server": "^3.11.2"
34
+ }
35
+ }