@sellout/utils 0.0.6 → 0.0.8

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/.dist/url.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export declare function parseUrl(url: string): any;
2
+ export declare function parseQueryString(url?: string): any;
3
+ export declare function setQueryString(paramObj: any, urlToParse: any, replaceState?: boolean, clearExisting?: boolean): string;
4
+ export declare function serializeUrlParams(object: any): string;
package/.dist/url.js ADDED
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function parseUrl(url) {
4
+ const parse_url = /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/;
5
+ const result = parse_url.exec(url);
6
+ return {
7
+ url: result[0],
8
+ scheme: result[1],
9
+ slash: result[2],
10
+ host: result[3],
11
+ port: result[4],
12
+ path: result[5],
13
+ query: result[6],
14
+ hash: result[7],
15
+ };
16
+ }
17
+ exports.parseUrl = parseUrl;
18
+ function parseQueryString(url = window.location.href) {
19
+ const currentQuery = parseUrl(url).query;
20
+ if (!currentQuery) {
21
+ return {};
22
+ }
23
+ return currentQuery.split('&')
24
+ .reduce((cur, next) => {
25
+ const keyAndValue = next.split('=');
26
+ cur[keyAndValue[0]] = keyAndValue[1];
27
+ return cur;
28
+ }, {});
29
+ }
30
+ exports.parseQueryString = parseQueryString;
31
+ function setQueryString(paramObj, urlToParse, replaceState = false, clearExisting = false) {
32
+ const workingUrl = (urlToParse) || window.location;
33
+ const currentParams = parseQueryString(workingUrl);
34
+ let newParams = Object.assign(Object.assign({}, currentParams), paramObj);
35
+ if (clearExisting) {
36
+ newParams = Object.assign({}, paramObj);
37
+ }
38
+ const queryString = Object.keys(newParams)
39
+ .map((key) => {
40
+ return (newParams[key]) ? `${key}=${newParams[key]}` : null;
41
+ })
42
+ .filter((item) => !!item)
43
+ .join('&');
44
+ const newUrl = `${window.location.protocol}//${window.location.host}${window.location.pathname}?${queryString}`;
45
+ if (replaceState && window.history.replaceState) {
46
+ window.history.replaceState({ path: newUrl }, '', newUrl);
47
+ }
48
+ else if (window.history.pushState) {
49
+ window.history.pushState({ path: newUrl }, '', newUrl);
50
+ }
51
+ return newUrl;
52
+ }
53
+ exports.setQueryString = setQueryString;
54
+ function serializeUrlParams(object) {
55
+ const holder = [];
56
+ for (const key in object) {
57
+ if (Object.prototype.hasOwnProperty.call(object, key)) {
58
+ holder.push((`${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`));
59
+ }
60
+ }
61
+ return holder.join('&');
62
+ }
63
+ exports.serializeUrlParams = serializeUrlParams;
64
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../src/url.ts"],"names":[],"mappings":"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"}
package/.dist/wait.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export default function wait(timeoutMs: number, value?: any): Promise<any>;
2
+ export declare function forTrue(fn: () => boolean): Promise<unknown>;
package/.dist/wait.js CHANGED
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  function wait(timeoutMs, value = null) {
4
13
  return new Promise((resolve) => {
@@ -6,4 +15,25 @@ function wait(timeoutMs, value = null) {
6
15
  });
7
16
  }
8
17
  exports.default = wait;
18
+ function forTrue(fn) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ const count = 0;
21
+ return new Promise((resolve, reject) => {
22
+ if (fn()) {
23
+ resolve(true);
24
+ return;
25
+ }
26
+ const interval = setInterval(() => {
27
+ if (fn()) {
28
+ clearInterval(interval);
29
+ resolve();
30
+ return;
31
+ }
32
+ if (count >= 100)
33
+ reject();
34
+ }, 50);
35
+ });
36
+ });
37
+ }
38
+ exports.forTrue = forTrue;
9
39
  //# sourceMappingURL=wait.js.map
package/.dist/wait.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wait.js","sourceRoot":"","sources":["../src/wait.ts"],"names":[],"mappings":";;AAAA,SAAwB,IAAI,CAAC,SAAiB,EAAE,QAAa,IAAI;IAC/D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,uBAIC"}
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../src/wait.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,SAAwB,IAAI,CAAC,SAAiB,EAAE,QAAa,IAAI;IAC/D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,uBAIC;AAED,SAAsB,OAAO,CAAC,EAAiB;;QAC7C,MAAM,KAAK,GAAG,CAAC,CAAC;QAChB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAG,EAAE,EAAE,EAAE;gBACP,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO;aACR;YAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;gBAChC,IAAI,EAAE,EAAE,EAAE;oBACR,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,OAAO,EAAE,CAAC;oBACV,OAAO;iBACR;gBACD,IAAI,KAAK,IAAI,GAAG;oBAAE,MAAM,EAAE,CAAC;YAC7B,CAAC,EAAE,EAAE,CAAC,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC;CAAA;AAjBD,0BAiBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellout/utils",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "description": "Sellout.io utils",
5
5
  "scripts": {
6
6
  "prepare": "npm run build",
@@ -14,8 +14,8 @@
14
14
  "author": "samheutmaker@gmail.com",
15
15
  "license": "MIT",
16
16
  "dependencies": {
17
- "@sellout/models": "^0.0.6",
18
- "@sellout/service": "^0.0.6",
17
+ "@sellout/models": "^0.0.8",
18
+ "@sellout/service": "^0.0.8",
19
19
  "json2csv": "^5.0.0",
20
20
  "moment-timezone": "^0.5.28",
21
21
  "request": "^2.88.2",
@@ -26,5 +26,5 @@
26
26
  "nodemon": "^2.0.2",
27
27
  "typescript": "^3.8.3"
28
28
  },
29
- "gitHead": "293473fa4ad310e0ce454b24ba2670109bac0b4c"
29
+ "gitHead": "db838d4527debf14c48fb71bf0f564ec65152dca"
30
30
  }
package/src/url.ts ADDED
@@ -0,0 +1,73 @@
1
+ export function parseUrl(url: string): any {
2
+ const parse_url = /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/;
3
+ const result: string[] = parse_url.exec(url) as string[];
4
+ return {
5
+ url: result[0],
6
+ scheme: result[1],
7
+ slash: result[2],
8
+ host: result[3],
9
+ port: result[4],
10
+ path: result[5],
11
+ query: result[6],
12
+ hash: result[7],
13
+ };
14
+ }
15
+
16
+ export function parseQueryString(url: string = window.location.href) {
17
+ const currentQuery = parseUrl(url).query;
18
+
19
+ if (!currentQuery) {
20
+ return {};
21
+ }
22
+
23
+ return currentQuery.split('&')
24
+ .reduce((cur, next) => {
25
+ const keyAndValue = next.split('=');
26
+ cur[keyAndValue[0]] = keyAndValue[1];
27
+ return cur;
28
+ }, {});
29
+ }
30
+
31
+ export function setQueryString(paramObj, urlToParse, replaceState = false, clearExisting = false): string {
32
+ const workingUrl = (urlToParse) || window.location;
33
+ const currentParams = parseQueryString(workingUrl);
34
+
35
+ let newParams = {
36
+ ...currentParams,
37
+ ...paramObj,
38
+ };
39
+
40
+ if (clearExisting) {
41
+ newParams = {
42
+ ...paramObj,
43
+ };
44
+ }
45
+
46
+ const queryString = Object.keys(newParams)
47
+ .map((key) => {
48
+ return (newParams[key]) ? `${key}=${newParams[key]}` : null;
49
+ })
50
+ .filter((item) => !!item)
51
+ .join('&');
52
+
53
+ const newUrl = `${window.location.protocol}//${window.location.host}${window.location.pathname}?${queryString}`;
54
+
55
+ if (replaceState && window.history.replaceState) {
56
+ window.history.replaceState({ path: newUrl }, '', newUrl);
57
+ } else if (window.history.pushState) {
58
+ window.history.pushState({ path: newUrl }, '', newUrl);
59
+ }
60
+
61
+ return newUrl;
62
+ }
63
+
64
+
65
+ export function serializeUrlParams(object: any): string {
66
+ const holder: string[] = [];
67
+ for (const key in object) {
68
+ if (Object.prototype.hasOwnProperty.call(object, key)) {
69
+ holder.push((`${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`));
70
+ }
71
+ }
72
+ return holder.join('&');
73
+ }
package/src/wait.ts CHANGED
@@ -3,3 +3,22 @@ export default function wait(timeoutMs: number, value: any = null): Promise<any>
3
3
  setTimeout(() => resolve(value), timeoutMs);
4
4
  });
5
5
  }
6
+
7
+ export async function forTrue(fn: () => boolean) {
8
+ const count = 0;
9
+ return new Promise((resolve, reject) => {
10
+ if(fn()) {
11
+ resolve(true);
12
+ return;
13
+ }
14
+
15
+ const interval = setInterval(() => {
16
+ if (fn()) {
17
+ clearInterval(interval);
18
+ resolve();
19
+ return;
20
+ }
21
+ if (count >= 100) reject();
22
+ }, 50);
23
+ });
24
+ }
@@ -1,9 +0,0 @@
1
- export default class MongoConnectionManager {
2
- connected: boolean;
3
- mongoConnectionString: string;
4
- isReplicaSet: boolean;
5
- private mongoose;
6
- private mongoConnectionStringInternal;
7
- constructor(mongoose: any, mongoConnectionString: string, username?: string, password?: string);
8
- connect(): Promise<void>;
9
- }
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const wait_1 = require("./wait");
13
- class MongoConnectionManager {
14
- constructor(mongoose, mongoConnectionString, username = '', password = '') {
15
- const parsed = new URL(mongoConnectionString);
16
- parsed.username = username;
17
- parsed.password = password;
18
- parsed.pathname = '/admin';
19
- this.connected = false;
20
- this.mongoConnectionStringInternal = parsed.toString();
21
- this.isReplicaSet = parsed.protocol === 'mongodb+srv:';
22
- // redact username/password from publicly available connection string
23
- parsed.username = '__user__';
24
- parsed.password = '__pass__';
25
- this.mongoConnectionString = parsed.toString();
26
- this.mongoose = mongoose;
27
- }
28
- connect() {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- while (!this.connected) {
31
- console.log('Attempting to connect to Mongo...');
32
- this.mongoose.connect(this.mongoConnectionStringInternal, {
33
- ssl: false,
34
- useUnifiedTopology: true,
35
- useNewUrlParser: true,
36
- })
37
- .then(() => {
38
- this.connected = true;
39
- console.log(`Connected to MongoDB: ${this.mongoConnectionString}`);
40
- })
41
- .catch((e) => {
42
- console.error(`There was an error connecting to MongoDB: ${this.mongoConnectionString}`);
43
- console.error(e);
44
- });
45
- // wait five seconds before trying again
46
- yield wait_1.default(5000);
47
- }
48
- });
49
- }
50
- }
51
- exports.default = MongoConnectionManager;
52
- //# sourceMappingURL=MongoConnectionManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MongoConnectionManager.js","sourceRoot":"","sources":["../src/MongoConnectionManager.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iCAA0B;AAE1B,MAAqB,sBAAsB;IAOzC,YAAY,QAAa,EAAE,qBAA6B,EAAE,WAAmB,EAAE,EAAE,WAAmB,EAAE;QACpG,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAE9C,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAE3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,6BAA6B,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,QAAQ,KAAK,cAAc,CAAC;QAEvD,qEAAqE;QACrE,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC7B,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEY,OAAO;;YAClB,OAAM,CAAC,IAAI,CAAC,SAAS,EAAE;gBACrB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;gBACjD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE;oBACxD,GAAG,EAAE,KAAK;oBACV,kBAAkB,EAAE,IAAI;oBACxB,eAAe,EAAE,IAAI;iBACtB,CAAC;qBACC,IAAI,CAAC,GAAG,EAAE;oBACT,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;gBACrE,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;oBAChB,OAAO,CAAC,KAAK,CAAC,6CAA6C,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;oBACzF,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnB,CAAC,CAAC,CAAC;gBAEL,wCAAwC;gBACxC,MAAM,cAAI,CAAC,IAAI,CAAC,CAAC;aAClB;QACH,CAAC;KAAA;CACF;AA9CD,yCA8CC"}