@xylabs/sdk-js 2.3.3 → 2.3.7

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 CHANGED
@@ -12,11 +12,17 @@
12
12
 
13
13
  ## Table of Contents
14
14
 
15
- - [Description](#description)
16
- - [Install](#install)
17
- - [Maintainers](#maintainers)
18
- - [License](#license)
19
- - [Credits](#credits)
15
+ - [@xylabs/sdk-js](#xylabssdk-js)
16
+ - [Table of Contents](#table-of-contents)
17
+ - [Description](#description)
18
+ - [Install](#install)
19
+ - [Common Scripts](#common-scripts)
20
+ - [Custom Scripts](#custom-scripts)
21
+ - [Start](#start)
22
+ - [Lint](#lint)
23
+ - [Maintainers](#maintainers)
24
+ - [License](#license)
25
+ - [Credits](#credits)
20
26
 
21
27
  ## Description
22
28
 
@@ -26,19 +32,41 @@ SDK for base code for Typescript and Javascript Libraries.
26
32
 
27
33
  Using npm:
28
34
 
29
- ```
35
+ ```sh
30
36
  $ npm i --save @xylabs/sdk-js
31
37
  ```
32
38
 
33
39
  Using yarn:
34
40
 
35
- ```
41
+ ```sh
36
42
  $ yarn add @xylabs/sdk-js
37
43
  ```
38
44
 
45
+ ## Common Scripts
46
+
47
+ See [ts-scripts](https://github.com/xylabs/ts-scripts/blob/main/README.md) for list of common scripts to build, etc...
48
+
49
+ ## Custom Scripts
50
+
51
+ ### Start
52
+
53
+ Starts the project in the browser for testing, with auto reload using Storybook
54
+
55
+ ```sh
56
+ $ yarn start
57
+ ```
58
+
59
+ ### Lint
60
+
61
+ Upgraded lint for readme, etc...
62
+
63
+ ```sh
64
+ $ yarn eslint .
65
+ ```
66
+
39
67
  ## Maintainers
40
68
 
41
- - [Arie Trouw](https://github.com/arietrouw) (https://arietrouw.com)
69
+ - [Arie Trouw](https://github.com/arietrouw) (<https://arietrouw.com>)
42
70
 
43
71
  ## License
44
72
 
@@ -49,25 +77,17 @@ See the [LICENSE](LICENSE) file for license details
49
77
  [Made with 🔥 and ❄️ by XY Labs](https://xylabs.com)
50
78
 
51
79
  [logo]: https://cdn.xy.company/img/brand/XYPersistentCompany_Logo_Icon_Colored.svg
52
-
53
- [main-build]: https://github.com/xylabs/sdk-js/actions/workflows/main-build.yml/badge.svg
54
- [main-build-link]: https://github.com/xylabs/sdk-js/actions/workflows/main-build.yml
55
-
56
- [beta-build]: https://github.com/xylabs/sdk-js/actions/workflows/beta-build.yml/badge.svg
57
- [beta-build-link]: https://github.com/xylabs/sdk-js/actions/workflows/beta-build.yml
58
-
80
+ [main-build]: https://github.com/xylabs/sdk-js/actions/workflows/build-main.yml/badge.svg
81
+ [main-build-link]: https://github.com/xylabs/sdk-js/actions/workflows/build-main.yml
82
+ [beta-build]: https://github.com/xylabs/sdk-js/actions/workflows/build-beta.yml/badge.svg
83
+ [beta-build-link]: https://github.com/xylabs/sdk-js/actions/workflows/build-beta.yml
59
84
  [npm-badge]: https://img.shields.io/npm/v/@xylabs/sdk-js.svg
60
85
  [npm-link]: https://www.npmjs.com/package/@xylabs/sdk-js
61
-
62
- [bch-badge]: https://bettercodehub.com/edge/badge/xylabs/sdk-js?branch=master
86
+ [bch-badge]: https://bettercodehub.com/edge/badge/xylabs/sdk-js?branch=main
63
87
  [bch-link]: https://bettercodehub.com/results/xylabs/sdk-js
64
-
65
88
  [codacy-badge]: https://app.codacy.com/project/badge/Grade/c8e15e14f37741c18cfb47ac7245c698
66
-
67
- [codacy-link]: https://www.codacy.com/gh/xylabs/sdk-js/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=xylabs/sdk-js&amp;utm_campaign=Badge_Grade
68
-
89
+ [codacy-link]: https://www.codacy.com/gh/xylabs/sdk-js/dashboard?utm_source=github.com&utm_medium=referral&utm_content=xylabs/sdk-js&utm_campaign=Badge_Grade
69
90
  [codeclimate-badge]: https://api.codeclimate.com/v1/badges/c5eb068f806f0b047ea7/maintainability
70
91
  [codeclimate-link]: https://codeclimate.com/github/xylabs/sdk-js/maintainability
71
-
72
92
  [snyk-badge]: https://snyk.io/test/github/xylabs/sdk-js/badge.svg?targetFile=package.json
73
93
  [snyk-link]: https://snyk.io/test/github/xylabs/sdk-js?targetFile=package.json
@@ -7,7 +7,7 @@ declare class ApiEndpoint<T> {
7
7
  private get url();
8
8
  private _value?;
9
9
  get value(): T | undefined;
10
- get(): Promise<T>;
10
+ get(): Promise<T | NonNullable<T>>;
11
11
  fetch(): Promise<T>;
12
12
  insert(value: T): Promise<T>;
13
13
  }
@@ -22,7 +22,7 @@ class EthAddress {
22
22
  }
23
23
  static fromString(value, base = 16) {
24
24
  if (value) {
25
- const bn = new BigNumber(value.startsWith('0x') ? value.substr(2) : value, base);
25
+ const bn = new BigNumber(value.startsWith('0x') ? value.substring(2) : value, base);
26
26
  return new EthAddress(bn);
27
27
  }
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EthAddress.js","sourceRoot":"","sources":["../src/EthAddress.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,MAAM,MAAM,UAAU,CAAA;AAE7B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAqB,EAAE,EAAE,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAK,UAAU,CAAC,IAAI,CAAA;AAEpF,MAAM,UAAU;IAOd,YAAoB,OAAkB;QAN/B,SAAI,GAAG,UAAU,CAAC,IAAI,CAAA;QAO3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,MAAM,CAAC,OAAoC;QAChD,IAAI,OAAO,EAAE;YACX,IAAI,SAAqB,CAAA;YACzB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC/B,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAA;aACpE;iBAAM;gBACL,SAAS,GAAG,OAAO,CAAA;aACpB;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;SAC1C;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,KAAc,EAAE,IAAI,GAAG,EAAE;QACzC,IAAI,KAAK,EAAE;YACT,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAChF,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;SAC1B;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAc,EAAE,IAAa;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;SACpC;IACH,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAEM,QAAQ;QACb,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,EAAE,CAAA;IAC5B,CAAC;IAEM,iBAAiB;QACtB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAA;IACtC,CAAC;IAEM,MAAM;QACX,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,EAAE,CAAA;IAC5B,CAAC;IAEM,KAAK;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IAC9C,CAAC;IAEM,aAAa,CAAC,MAAM,GAAG,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACxB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAClC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QACxD,OAAO,KAAK,KAAK,MAAM,KAAK,EAAE,CAAA;IAChC,CAAC;;AAzDM,eAAI,GAAG,YAAY,CAAA;AA4D5B,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"EthAddress.js","sourceRoot":"","sources":["../src/EthAddress.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,MAAM,MAAM,UAAU,CAAA;AAE7B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAqB,EAAE,EAAE,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAK,UAAU,CAAC,IAAI,CAAA;AAEpF,MAAM,UAAU;IAOd,YAAoB,OAAkB;QAN/B,SAAI,GAAG,UAAU,CAAC,IAAI,CAAA;QAO3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,MAAM,CAAC,OAAoC;QAChD,IAAI,OAAO,EAAE;YACX,IAAI,SAAqB,CAAA;YACzB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC/B,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAA;aACpE;iBAAM;gBACL,SAAS,GAAG,OAAO,CAAA;aACpB;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;SAC1C;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,KAAc,EAAE,IAAI,GAAG,EAAE;QACzC,IAAI,KAAK,EAAE;YACT,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACnF,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;SAC1B;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAc,EAAE,IAAa;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;SACpC;IACH,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAEM,QAAQ;QACb,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,EAAE,CAAA;IAC5B,CAAC;IAEM,iBAAiB;QACtB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAA;IACtC,CAAC;IAEM,MAAM;QACX,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,EAAE,CAAA;IAC5B,CAAC;IAEM,KAAK;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IAC9C,CAAC;IAEM,aAAa,CAAC,MAAM,GAAG,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACxB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAClC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QACxD,OAAO,KAAK,KAAK,MAAM,KAAK,EAAE,CAAA;IAChC,CAAC;;AAzDM,eAAI,GAAG,YAAY,CAAA;AA4D5B,eAAe,UAAU,CAAA"}
@@ -0,0 +1,4 @@
1
+ module.exports = {
2
+ preset: 'ts-jest',
3
+ testEnvironment: 'node',
4
+ }
package/package.json CHANGED
@@ -26,7 +26,8 @@
26
26
  "typescript",
27
27
  "esm"
28
28
  ],
29
- "version": "2.3.3",
29
+ "version": "2.3.7",
30
+ "type": "module",
30
31
  "main": "dist/index.js",
31
32
  "module": "dist/index.js",
32
33
  "types": "dist/index.d.ts",
@@ -56,12 +57,19 @@
56
57
  "axios": "^0.24.0",
57
58
  "bn.js": "^5.2.0",
58
59
  "eslint": "^8",
60
+ "eslint-plugin-md": "^1.0.19",
59
61
  "jest": "^27.3.1",
62
+ "markdown-eslint-parser": "^1.2.1",
60
63
  "npm-package-json-lint": "^5.4.2",
61
64
  "npm-package-json-lint-config-default": "^3.0.0",
62
65
  "prettier": "^2.4.1",
66
+ "remark-cli": "^10.0.1",
67
+ "remark-lint": "^9.1.0",
68
+ "remark-preset-lint-markdown-style-guide": "^5.1.1",
69
+ "remark-preset-lint-recommended": "^6.1.1",
63
70
  "rollbar": "^2.24.0",
64
71
  "ts-jest": "^27.0.7",
72
+ "ts-node": "^10.4.0",
65
73
  "typescript": "^4"
66
74
  }
67
75
  }
@@ -5,6 +5,6 @@ describe('EthAddress', () => {
5
5
  const addressString = '7284b6A4233B8B05910F2CbF7dBf6715325F6fCb'.toLowerCase()
6
6
  const address = EthAddress.fromString(addressString, 16)
7
7
  expect(address?.toString()).toBe(`0x${addressString}`)
8
- expect(address?.toShortString()).toBe('0x72...cb}')
8
+ expect(address?.toShortString()).toBe('0x72...cb')
9
9
  })
10
10
  })
package/src/EthAddress.ts CHANGED
@@ -30,7 +30,7 @@ class EthAddress {
30
30
 
31
31
  static fromString(value?: string, base = 16) {
32
32
  if (value) {
33
- const bn = new BigNumber(value.startsWith('0x') ? value.substr(2) : value, base)
33
+ const bn = new BigNumber(value.startsWith('0x') ? value.substring(2) : value, base)
34
34
  return new EthAddress(bn)
35
35
  }
36
36
  }
package/dist/index.cjs DELETED
@@ -1,176 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var tslib = require('tslib');
6
- var axios = require('axios');
7
- var Rollbar = require('rollbar');
8
-
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
-
11
- var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
12
- var Rollbar__default = /*#__PURE__*/_interopDefaultLegacy(Rollbar);
13
-
14
- var ApiStage;
15
- (function (ApiStage) {
16
- ApiStage["Beta"] = "beta";
17
- ApiStage["Local"] = "local";
18
- ApiStage["Prod"] = "prod";
19
- })(ApiStage || (ApiStage = {}));
20
- var ApiStage$1 = ApiStage;
21
-
22
- class ApiClient {
23
- constructor(token, stage) {
24
- this.stage = stage !== null && stage !== void 0 ? stage : ApiStage$1.Prod;
25
- this.token = token;
26
- }
27
- }
28
-
29
- class ApiEndpoint {
30
- constructor(config, path) {
31
- this.config = config;
32
- this.path = path;
33
- }
34
- get headers() {
35
- return this.config.token ? { Authorization: this.config.token } : undefined;
36
- }
37
- get url() {
38
- return `${this.config.apiDomain}/${this.path}`;
39
- }
40
- get value() {
41
- return this._value;
42
- }
43
- get() {
44
- var _a;
45
- return tslib.__awaiter(this, void 0, void 0, function* () {
46
- return (_a = this._value) !== null && _a !== void 0 ? _a : (yield this.fetch());
47
- });
48
- }
49
- fetch() {
50
- return tslib.__awaiter(this, void 0, void 0, function* () {
51
- const response = yield axios__default["default"].get(this.url, { headers: this.headers });
52
- if (response.status === 200) {
53
- this._value = response.data;
54
- }
55
- else {
56
- throw Error('Unexpected Status Code');
57
- }
58
- return this._value;
59
- });
60
- }
61
- insert(value) {
62
- return tslib.__awaiter(this, void 0, void 0, function* () {
63
- const response = yield axios__default["default"].post(this.url, value, { headers: this.headers });
64
- if (response.status === 200) {
65
- this._value = response.data;
66
- }
67
- else {
68
- throw Error('Unexpected Status Code');
69
- }
70
- return this._value;
71
- });
72
- }
73
- }
74
-
75
- /**
76
- * Error object thrown by assertEx
77
- */
78
- class AssertExError extends Error {
79
- }
80
- /**
81
- *
82
- * Intended for simple null/undefiend checks for variables
83
- *
84
- * @param expr - Expression to be evaluated for truthiness
85
- * @param message - Message in Error if expression is false
86
- * @throws AssertExError
87
- * @returns Value of expression
88
- */
89
- const assertEx = (expr, message) => {
90
- if (expr)
91
- return expr;
92
- throw new AssertExError(message);
93
- };
94
-
95
- const delay = (ms) => {
96
- return new Promise((resolve) => setTimeout(resolve, ms));
97
- };
98
-
99
- const getApiStage = (hostname) => {
100
- if (hostname.startsWith('localhost')) {
101
- return ApiStage$1.Local;
102
- }
103
- else if (hostname.startsWith('beta.')) {
104
- return ApiStage$1.Beta;
105
- }
106
- else {
107
- return ApiStage$1.Prod;
108
- }
109
- };
110
-
111
- class Log {
112
- constructor(config) {
113
- var _a;
114
- this.devMode = (_a = config.devMode) !== null && _a !== void 0 ? _a : false;
115
- if (config.rollbarToken) {
116
- this.rollbar = new Rollbar__default["default"]({
117
- accessToken: config.rollbarToken,
118
- captureUncaught: true,
119
- captureUnhandledRejections: true,
120
- codeVersion: config.commitHash,
121
- code_version: config.commitHash,
122
- payload: Object.assign({ client: {
123
- javascript: {
124
- code_version: config.commitHash,
125
- guess_uncaught_frames: true,
126
- source_map_enabled: true,
127
- },
128
- }, codeVersion: config.commitHash, code_version: config.commitHash, environment: this.devMode ? 'development' : 'production' }, config.payload),
129
- sendConfig: true,
130
- });
131
- }
132
- }
133
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
134
- error(...params) {
135
- var _a;
136
- console.error(params);
137
- if (this.devMode) {
138
- (_a = this.rollbar) === null || _a === void 0 ? void 0 : _a.error(params);
139
- }
140
- }
141
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
142
- warn(...params) {
143
- var _a;
144
- console.warn(params);
145
- if (this.devMode) {
146
- (_a = this.rollbar) === null || _a === void 0 ? void 0 : _a.warn(params);
147
- }
148
- }
149
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
150
- info(...params) {
151
- if (this.devMode) {
152
- console.info(params);
153
- }
154
- }
155
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
156
- debug(...params) {
157
- if (this.devMode) {
158
- console.debug(params);
159
- }
160
- }
161
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
162
- log(...params) {
163
- if (this.devMode) {
164
- console.log(params);
165
- }
166
- }
167
- }
168
-
169
- exports.ApiClient = ApiClient;
170
- exports.ApiEndpoint = ApiEndpoint;
171
- exports.ApiStage = ApiStage$1;
172
- exports.Log = Log;
173
- exports.assertEx = assertEx;
174
- exports.delay = delay;
175
- exports.getApiStage = getApiStage;
176
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/ApiStage.ts","../../src/ApiClient.ts","../../src/ApiEndpoint.ts","../../src/assertEx.ts","../../src/delay.ts","../../src/getApiStage.ts","../../src/Log.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["ApiStage","axios","Rollbar"],"mappings":"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"}