@sudobility/types 1.9.39 → 1.9.41
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/index.js +45 -7
- package/dist/index.js.map +1 -1
- package/dist/types/blockchain/common.js +16 -9
- package/dist/types/blockchain/common.js.map +1 -1
- package/dist/types/blockchain/index.js +16 -2
- package/dist/types/blockchain/index.js.map +1 -1
- package/dist/types/blockchain/validation.js +12 -6
- package/dist/types/blockchain/validation.js.map +1 -1
- package/dist/types/business/enums.js +49 -46
- package/dist/types/business/enums.js.map +1 -1
- package/dist/types/business/index.js +31 -2
- package/dist/types/business/index.js.map +1 -1
- package/dist/types/business/wallet-status.js +16 -10
- package/dist/types/business/wallet-status.js.map +1 -1
- package/dist/types/common.js +2 -1
- package/dist/types/common.js.map +1 -1
- package/dist/types/config/app-config.js +2 -1
- package/dist/types/config/app-config.js.map +1 -1
- package/dist/types/config/environment.js +5 -2
- package/dist/types/config/environment.js.map +1 -1
- package/dist/types/config/index.js +5 -1
- package/dist/types/config/index.js.map +1 -1
- package/dist/types/entity/entity.js +9 -6
- package/dist/types/entity/entity.js.map +1 -1
- package/dist/types/entity/index.js +20 -4
- package/dist/types/entity/index.js.map +1 -1
- package/dist/types/entity/permissions.js +14 -9
- package/dist/types/entity/permissions.js.map +1 -1
- package/dist/types/entity/requests.js +2 -1
- package/dist/types/entity/requests.js.map +1 -1
- package/dist/types/entity/responses.js +2 -1
- package/dist/types/entity/responses.js.map +1 -1
- package/dist/types/index.js +23 -7
- package/dist/types/index.js.map +1 -1
- package/dist/types/infrastructure/analytics.js +7 -3
- package/dist/types/infrastructure/analytics.js.map +1 -1
- package/dist/types/infrastructure/api.js +9 -5
- package/dist/types/infrastructure/api.js.map +1 -1
- package/dist/types/infrastructure/index.js +14 -4
- package/dist/types/infrastructure/index.js.map +1 -1
- package/dist/types/infrastructure/navigation.js +2 -1
- package/dist/types/infrastructure/network.js +4 -1
- package/dist/types/infrastructure/network.js.map +1 -1
- package/dist/types/infrastructure/wallet.js +5 -2
- package/dist/types/infrastructure/wallet.js.map +1 -1
- package/dist/types/subscription/index.js +17 -1
- package/dist/types/subscription/index.js.map +1 -1
- package/dist/types/subscription/rate-limits.js +5 -2
- package/dist/types/subscription/rate-limits.js.map +1 -1
- package/dist/utils/async-helpers.js +16 -7
- package/dist/utils/async-helpers.js.map +1 -1
- package/dist/utils/auth/auth.js +24 -14
- package/dist/utils/auth/auth.js.map +1 -1
- package/dist/utils/auth/index.js +12 -1
- package/dist/utils/auth/index.js.map +1 -1
- package/dist/utils/blockchain/address.js +31 -20
- package/dist/utils/blockchain/address.js.map +1 -1
- package/dist/utils/blockchain/event-helpers.js +20 -9
- package/dist/utils/blockchain/event-helpers.js.map +1 -1
- package/dist/utils/blockchain/index.js +26 -3
- package/dist/utils/blockchain/index.js.map +1 -1
- package/dist/utils/constants/application.js +20 -2
- package/dist/utils/constants/application.js.map +1 -1
- package/dist/utils/constants/index.js +23 -2
- package/dist/utils/constants/index.js.map +1 -1
- package/dist/utils/constants/status-values.js +4 -1
- package/dist/utils/constants/status-values.js.map +1 -1
- package/dist/utils/formatting/currency.js +11 -6
- package/dist/utils/formatting/currency.js.map +1 -1
- package/dist/utils/formatting/date.js +16 -7
- package/dist/utils/formatting/date.js.map +1 -1
- package/dist/utils/formatting/index.js +33 -3
- package/dist/utils/formatting/index.js.map +1 -1
- package/dist/utils/formatting/string.js +34 -16
- package/dist/utils/formatting/string.js.map +1 -1
- package/dist/utils/index.js +24 -8
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logging/index.js +11 -1
- package/dist/utils/logging/index.js.map +1 -1
- package/dist/utils/logging/logger.js +10 -2
- package/dist/utils/logging/logger.js.map +1 -1
- package/dist/utils/url/index.js +8 -1
- package/dist/utils/url/index.js.map +1 -1
- package/dist/utils/url/url-params.js +6 -1
- package/dist/utils/url/url-params.js.map +1 -1
- package/dist/utils/validation/index.js +24 -2
- package/dist/utils/validation/index.js.map +1 -1
- package/dist/utils/validation/type-validation.js +48 -27
- package/dist/utils/validation/type-validation.js.map +1 -1
- package/dist/utils/validation/web3-username-validator.js +10 -6
- package/dist/utils/validation/web3-username-validator.js.map +1 -1
- package/package.json +8 -8
|
@@ -1,14 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Centralized logging utility
|
|
3
4
|
* Provides consistent logging across the application with proper formatting
|
|
4
5
|
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.storageLogger = exports.ensLogger = exports.contractLogger = exports.apiLogger = exports.authLogger = exports.logger = exports.LogLevel = void 0;
|
|
5
8
|
var LogLevel;
|
|
6
9
|
(function (LogLevel) {
|
|
7
10
|
LogLevel["ERROR"] = "error";
|
|
8
11
|
LogLevel["WARN"] = "warn";
|
|
9
12
|
LogLevel["INFO"] = "info";
|
|
10
13
|
LogLevel["DEBUG"] = "debug";
|
|
11
|
-
})(LogLevel || (LogLevel = {}));
|
|
14
|
+
})(LogLevel || (exports.LogLevel = LogLevel = {}));
|
|
12
15
|
class Logger {
|
|
13
16
|
constructor() {
|
|
14
17
|
this.isDevelopment = process.env.NODE_ENV === 'development';
|
|
@@ -74,11 +77,16 @@ class Logger {
|
|
|
74
77
|
}
|
|
75
78
|
// Export singleton instance
|
|
76
79
|
const logger = new Logger();
|
|
80
|
+
exports.logger = logger;
|
|
77
81
|
// Export contextual loggers for common areas
|
|
78
82
|
const authLogger = logger.withContext('AUTH');
|
|
83
|
+
exports.authLogger = authLogger;
|
|
79
84
|
const apiLogger = logger.withContext('API');
|
|
85
|
+
exports.apiLogger = apiLogger;
|
|
80
86
|
const contractLogger = logger.withContext('CONTRACT');
|
|
87
|
+
exports.contractLogger = contractLogger;
|
|
81
88
|
const ensLogger = logger.withContext('ENS');
|
|
89
|
+
exports.ensLogger = ensLogger;
|
|
82
90
|
const storageLogger = logger.withContext('STORAGE');
|
|
83
|
-
|
|
91
|
+
exports.storageLogger = storageLogger;
|
|
84
92
|
//# sourceMappingURL=logger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logging/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logging/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/url/index.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* URL utilities export
|
|
3
4
|
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.parseSearchParams = exports.searchParamsToString = exports.createSearchParams = exports.createURLSearchParams = void 0;
|
|
4
7
|
// URL parameter utilities
|
|
5
|
-
|
|
8
|
+
var url_params_1 = require("./url-params");
|
|
9
|
+
Object.defineProperty(exports, "createURLSearchParams", { enumerable: true, get: function () { return url_params_1.createURLSearchParams; } });
|
|
10
|
+
Object.defineProperty(exports, "createSearchParams", { enumerable: true, get: function () { return url_params_1.createSearchParams; } });
|
|
11
|
+
Object.defineProperty(exports, "searchParamsToString", { enumerable: true, get: function () { return url_params_1.searchParamsToString; } });
|
|
12
|
+
Object.defineProperty(exports, "parseSearchParams", { enumerable: true, get: function () { return url_params_1.parseSearchParams; } });
|
|
6
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/url/index.ts"],"names":[],"mappings":"AAAA;;GAEG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/url/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,0BAA0B;AAC1B,2CAMsB;AALpB,mHAAA,qBAAqB,OAAA;AACrB,gHAAA,kBAAkB,OAAA;AAClB,kHAAA,oBAAoB,OAAA;AACpB,+GAAA,iBAAiB,OAAA"}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Platform-agnostic URLSearchParams wrapper
|
|
3
4
|
* Provides URLSearchParams functionality with React Native compatibility
|
|
4
5
|
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.createURLSearchParams = createURLSearchParams;
|
|
8
|
+
exports.createSearchParams = createSearchParams;
|
|
9
|
+
exports.searchParamsToString = searchParamsToString;
|
|
10
|
+
exports.parseSearchParams = parseSearchParams;
|
|
5
11
|
/**
|
|
6
12
|
* Simple URLSearchParams implementation for environments that don't have it
|
|
7
13
|
*/
|
|
@@ -119,5 +125,4 @@ function parseSearchParams(queryString) {
|
|
|
119
125
|
});
|
|
120
126
|
return result;
|
|
121
127
|
}
|
|
122
|
-
export { createURLSearchParams, createSearchParams, searchParamsToString, parseSearchParams, };
|
|
123
128
|
//# sourceMappingURL=url-params.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-params.js","sourceRoot":"","sources":["../../../src/utils/url/url-params.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"url-params.js","sourceRoot":"","sources":["../../../src/utils/url/url-params.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateArray = exports.parseJson = exports.optional = exports.isValidDate = exports.isUrl = exports.isSuccessResponse = exports.isString = exports.isObject = exports.isNumber = exports.isNullish = exports.isErrorResponse = exports.isEmail = exports.isBoolean = exports.isArray = exports.isApiResponse = exports.hasRequiredProperties = exports.createValidator = exports.createAssertion = exports.Web3UsernameValidator = void 0;
|
|
4
|
+
var web3_username_validator_1 = require("./web3-username-validator");
|
|
5
|
+
Object.defineProperty(exports, "Web3UsernameValidator", { enumerable: true, get: function () { return web3_username_validator_1.Web3UsernameValidator; } });
|
|
6
|
+
var type_validation_1 = require("./type-validation");
|
|
7
|
+
Object.defineProperty(exports, "createAssertion", { enumerable: true, get: function () { return type_validation_1.createAssertion; } });
|
|
8
|
+
Object.defineProperty(exports, "createValidator", { enumerable: true, get: function () { return type_validation_1.createValidator; } });
|
|
9
|
+
Object.defineProperty(exports, "hasRequiredProperties", { enumerable: true, get: function () { return type_validation_1.hasRequiredProperties; } });
|
|
10
|
+
Object.defineProperty(exports, "isApiResponse", { enumerable: true, get: function () { return type_validation_1.isApiResponse; } });
|
|
11
|
+
Object.defineProperty(exports, "isArray", { enumerable: true, get: function () { return type_validation_1.isArray; } });
|
|
12
|
+
Object.defineProperty(exports, "isBoolean", { enumerable: true, get: function () { return type_validation_1.isBoolean; } });
|
|
13
|
+
Object.defineProperty(exports, "isEmail", { enumerable: true, get: function () { return type_validation_1.isEmail; } });
|
|
14
|
+
Object.defineProperty(exports, "isErrorResponse", { enumerable: true, get: function () { return type_validation_1.isErrorResponse; } });
|
|
15
|
+
Object.defineProperty(exports, "isNullish", { enumerable: true, get: function () { return type_validation_1.isNullish; } });
|
|
16
|
+
Object.defineProperty(exports, "isNumber", { enumerable: true, get: function () { return type_validation_1.isNumber; } });
|
|
17
|
+
Object.defineProperty(exports, "isObject", { enumerable: true, get: function () { return type_validation_1.isObject; } });
|
|
18
|
+
Object.defineProperty(exports, "isString", { enumerable: true, get: function () { return type_validation_1.isString; } });
|
|
19
|
+
Object.defineProperty(exports, "isSuccessResponse", { enumerable: true, get: function () { return type_validation_1.isSuccessResponse; } });
|
|
20
|
+
Object.defineProperty(exports, "isUrl", { enumerable: true, get: function () { return type_validation_1.isUrl; } });
|
|
21
|
+
Object.defineProperty(exports, "isValidDate", { enumerable: true, get: function () { return type_validation_1.isValidDate; } });
|
|
22
|
+
Object.defineProperty(exports, "optional", { enumerable: true, get: function () { return type_validation_1.optional; } });
|
|
23
|
+
Object.defineProperty(exports, "parseJson", { enumerable: true, get: function () { return type_validation_1.parseJson; } });
|
|
24
|
+
Object.defineProperty(exports, "validateArray", { enumerable: true, get: function () { return type_validation_1.validateArray; } });
|
|
3
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/validation/index.ts"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/validation/index.ts"],"names":[],"mappings":";;;AAGA,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA;AAK9B,qDAmB2B;AAlBzB,kHAAA,eAAe,OAAA;AACf,kHAAA,eAAe,OAAA;AACf,wHAAA,qBAAqB,OAAA;AACrB,gHAAA,aAAa,OAAA;AACb,0GAAA,OAAO,OAAA;AACP,4GAAA,SAAS,OAAA;AACT,0GAAA,OAAO,OAAA;AACP,kHAAA,eAAe,OAAA;AACf,4GAAA,SAAS,OAAA;AACT,2GAAA,QAAQ,OAAA;AACR,2GAAA,QAAQ,OAAA;AACR,2GAAA,QAAQ,OAAA;AACR,oHAAA,iBAAiB,OAAA;AACjB,wGAAA,KAAK,OAAA;AACL,8GAAA,WAAW,OAAA;AACX,2GAAA,QAAQ,OAAA;AACR,4GAAA,SAAS,OAAA;AACT,gHAAA,aAAa,OAAA"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Type validation utilities for runtime type checking
|
|
3
4
|
*
|
|
4
5
|
* These utilities help ensure type safety at runtime, especially useful
|
|
5
6
|
* for validating API responses and external data.
|
|
6
7
|
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.parseJson = exports.createAssertion = exports.isUrl = exports.isEmail = exports.isValidDate = exports.isErrorResponse = exports.isSuccessResponse = exports.isApiResponse = exports.optional = exports.validateArray = exports.hasRequiredProperties = exports.isNullish = exports.isArray = exports.isObject = exports.isBoolean = exports.isNumber = exports.isString = exports.createValidator = void 0;
|
|
7
10
|
/**
|
|
8
11
|
* Creates a validation function that safely checks if a value matches expected type
|
|
9
12
|
*/
|
|
10
|
-
|
|
13
|
+
const createValidator = (validationFn, typeName) => {
|
|
11
14
|
return (data) => {
|
|
12
15
|
try {
|
|
13
16
|
if (validationFn(data)) {
|
|
@@ -24,80 +27,95 @@ export const createValidator = (validationFn, typeName) => {
|
|
|
24
27
|
}
|
|
25
28
|
};
|
|
26
29
|
};
|
|
30
|
+
exports.createValidator = createValidator;
|
|
27
31
|
/**
|
|
28
32
|
* Basic type validators
|
|
29
33
|
*/
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
const isString = (value) => typeof value === 'string';
|
|
35
|
+
exports.isString = isString;
|
|
36
|
+
const isNumber = (value) => typeof value === 'number' && !isNaN(value);
|
|
37
|
+
exports.isNumber = isNumber;
|
|
38
|
+
const isBoolean = (value) => typeof value === 'boolean';
|
|
39
|
+
exports.isBoolean = isBoolean;
|
|
40
|
+
const isObject = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
41
|
+
exports.isObject = isObject;
|
|
42
|
+
const isArray = (value) => Array.isArray(value);
|
|
43
|
+
exports.isArray = isArray;
|
|
44
|
+
const isNullish = (value) => value === null || value === undefined;
|
|
45
|
+
exports.isNullish = isNullish;
|
|
36
46
|
/**
|
|
37
47
|
* Validates that an object has required properties
|
|
38
48
|
*/
|
|
39
|
-
|
|
40
|
-
if (!isObject(obj))
|
|
49
|
+
const hasRequiredProperties = (obj, requiredProps) => {
|
|
50
|
+
if (!(0, exports.isObject)(obj))
|
|
41
51
|
return false;
|
|
42
52
|
return requiredProps.every((prop) => prop in obj);
|
|
43
53
|
};
|
|
54
|
+
exports.hasRequiredProperties = hasRequiredProperties;
|
|
44
55
|
/**
|
|
45
56
|
* Validates array of objects with a validator function
|
|
46
57
|
*/
|
|
47
|
-
|
|
48
|
-
if (!isArray(data))
|
|
58
|
+
const validateArray = (data, itemValidator) => {
|
|
59
|
+
if (!(0, exports.isArray)(data))
|
|
49
60
|
return false;
|
|
50
61
|
return data.every(itemValidator);
|
|
51
62
|
};
|
|
63
|
+
exports.validateArray = validateArray;
|
|
52
64
|
/**
|
|
53
65
|
* Creates optional property validator
|
|
54
66
|
*/
|
|
55
|
-
|
|
67
|
+
const optional = (validator) => (value) => {
|
|
56
68
|
return value === undefined || validator(value);
|
|
57
69
|
};
|
|
70
|
+
exports.optional = optional;
|
|
58
71
|
/**
|
|
59
72
|
* Common pattern validators for API responses
|
|
60
73
|
*/
|
|
61
|
-
|
|
62
|
-
return isObject(data) && isBoolean(data.success);
|
|
74
|
+
const isApiResponse = (data) => {
|
|
75
|
+
return (0, exports.isObject)(data) && (0, exports.isBoolean)(data.success);
|
|
63
76
|
};
|
|
64
|
-
|
|
65
|
-
|
|
77
|
+
exports.isApiResponse = isApiResponse;
|
|
78
|
+
const isSuccessResponse = (data, dataValidator) => {
|
|
79
|
+
if (!(0, exports.isApiResponse)(data) || !data.success)
|
|
66
80
|
return false;
|
|
67
81
|
if (dataValidator && 'data' in data) {
|
|
68
82
|
return dataValidator(data.data);
|
|
69
83
|
}
|
|
70
84
|
return true;
|
|
71
85
|
};
|
|
72
|
-
|
|
73
|
-
|
|
86
|
+
exports.isSuccessResponse = isSuccessResponse;
|
|
87
|
+
const isErrorResponse = (data) => {
|
|
88
|
+
return ((0, exports.isApiResponse)(data) &&
|
|
74
89
|
!data.success &&
|
|
75
90
|
'error' in data &&
|
|
76
|
-
isString(data.error));
|
|
91
|
+
(0, exports.isString)(data.error));
|
|
77
92
|
};
|
|
93
|
+
exports.isErrorResponse = isErrorResponse;
|
|
78
94
|
/**
|
|
79
95
|
* Date validation
|
|
80
96
|
*/
|
|
81
|
-
|
|
82
|
-
if (!isString(value))
|
|
97
|
+
const isValidDate = (value) => {
|
|
98
|
+
if (!(0, exports.isString)(value))
|
|
83
99
|
return false;
|
|
84
100
|
const date = new Date(value);
|
|
85
101
|
return !isNaN(date.getTime());
|
|
86
102
|
};
|
|
103
|
+
exports.isValidDate = isValidDate;
|
|
87
104
|
/**
|
|
88
105
|
* Email validation (basic)
|
|
89
106
|
*/
|
|
90
|
-
|
|
91
|
-
if (!isString(value))
|
|
107
|
+
const isEmail = (value) => {
|
|
108
|
+
if (!(0, exports.isString)(value))
|
|
92
109
|
return false;
|
|
93
110
|
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
94
111
|
return emailRegex.test(value);
|
|
95
112
|
};
|
|
113
|
+
exports.isEmail = isEmail;
|
|
96
114
|
/**
|
|
97
115
|
* URL validation (basic)
|
|
98
116
|
*/
|
|
99
|
-
|
|
100
|
-
if (!isString(value))
|
|
117
|
+
const isUrl = (value) => {
|
|
118
|
+
if (!(0, exports.isString)(value))
|
|
101
119
|
return false;
|
|
102
120
|
try {
|
|
103
121
|
new URL(value);
|
|
@@ -107,20 +125,22 @@ export const isUrl = (value) => {
|
|
|
107
125
|
return false;
|
|
108
126
|
}
|
|
109
127
|
};
|
|
128
|
+
exports.isUrl = isUrl;
|
|
110
129
|
/**
|
|
111
130
|
* Creates a type assertion function that throws on invalid data
|
|
112
131
|
*/
|
|
113
|
-
|
|
132
|
+
const createAssertion = (validator, typeName) => {
|
|
114
133
|
return (data, context = typeName) => {
|
|
115
134
|
if (!validator(data)) {
|
|
116
135
|
throw new TypeError(`Invalid ${context}: expected ${typeName}`);
|
|
117
136
|
}
|
|
118
137
|
};
|
|
119
138
|
};
|
|
139
|
+
exports.createAssertion = createAssertion;
|
|
120
140
|
/**
|
|
121
141
|
* Safe JSON parsing with validation
|
|
122
142
|
*/
|
|
123
|
-
|
|
143
|
+
const parseJson = (jsonString, validator) => {
|
|
124
144
|
try {
|
|
125
145
|
const parsed = JSON.parse(jsonString);
|
|
126
146
|
if (validator) {
|
|
@@ -143,4 +163,5 @@ export const parseJson = (jsonString, validator) => {
|
|
|
143
163
|
};
|
|
144
164
|
}
|
|
145
165
|
};
|
|
166
|
+
exports.parseJson = parseJson;
|
|
146
167
|
//# sourceMappingURL=type-validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-validation.js","sourceRoot":"","sources":["../../../src/utils/validation/type-validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"type-validation.js","sourceRoot":"","sources":["../../../src/utils/validation/type-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* @fileoverview Address Validation Utility
|
|
3
4
|
* @description Centralized address validation for EVM, Solana, ENS, and SNS addresses
|
|
@@ -5,9 +6,11 @@
|
|
|
5
6
|
*
|
|
6
7
|
* Pure TypeScript implementation with no external dependencies
|
|
7
8
|
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.Web3UsernameValidator = void 0;
|
|
8
11
|
// Import ChainType from business enums
|
|
9
|
-
|
|
10
|
-
|
|
12
|
+
const enums_1 = require("../../types/business/enums");
|
|
13
|
+
class Web3UsernameValidator {
|
|
11
14
|
/**
|
|
12
15
|
* Comprehensive address validation for API endpoint
|
|
13
16
|
* Returns AddressValidationResult for valid addresses, undefined for invalid ones
|
|
@@ -21,7 +24,7 @@ export class Web3UsernameValidator {
|
|
|
21
24
|
return {
|
|
22
25
|
name: null,
|
|
23
26
|
address: address.toLowerCase(),
|
|
24
|
-
chainType: ChainType.EVM,
|
|
27
|
+
chainType: enums_1.ChainType.EVM,
|
|
25
28
|
};
|
|
26
29
|
}
|
|
27
30
|
// 2. Check if it's a valid Solana address (Base58, 32-44 characters, no 0x prefix)
|
|
@@ -32,7 +35,7 @@ export class Web3UsernameValidator {
|
|
|
32
35
|
return {
|
|
33
36
|
name: null,
|
|
34
37
|
address: address, // Keep case for Solana
|
|
35
|
-
chainType: ChainType.SOLANA,
|
|
38
|
+
chainType: enums_1.ChainType.SOLANA,
|
|
36
39
|
};
|
|
37
40
|
}
|
|
38
41
|
// 3. Check if it's a valid ENS name (.eth or .box)
|
|
@@ -43,7 +46,7 @@ export class Web3UsernameValidator {
|
|
|
43
46
|
return {
|
|
44
47
|
name: address.toLowerCase(),
|
|
45
48
|
address: null,
|
|
46
|
-
chainType: ChainType.EVM, // ENS resolves to EVM addresses
|
|
49
|
+
chainType: enums_1.ChainType.EVM, // ENS resolves to EVM addresses
|
|
47
50
|
};
|
|
48
51
|
}
|
|
49
52
|
// 4. Check if it's a valid SNS name (Solana Name Service)
|
|
@@ -57,7 +60,7 @@ export class Web3UsernameValidator {
|
|
|
57
60
|
return {
|
|
58
61
|
name: address.toLowerCase(),
|
|
59
62
|
address: null,
|
|
60
|
-
chainType: ChainType.SOLANA, // SNS resolves to Solana addresses
|
|
63
|
+
chainType: enums_1.ChainType.SOLANA, // SNS resolves to Solana addresses
|
|
61
64
|
};
|
|
62
65
|
}
|
|
63
66
|
}
|
|
@@ -104,6 +107,7 @@ export class Web3UsernameValidator {
|
|
|
104
107
|
name.length >= 1);
|
|
105
108
|
}
|
|
106
109
|
}
|
|
110
|
+
exports.Web3UsernameValidator = Web3UsernameValidator;
|
|
107
111
|
// Regex patterns for different address types
|
|
108
112
|
Web3UsernameValidator.EVM_REGEX = /^0x[a-fA-F0-9]{40}$/;
|
|
109
113
|
Web3UsernameValidator.BASE58_REGEX = /^[1-9A-HJ-NP-Za-km-z]+$/;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web3-username-validator.js","sourceRoot":"","sources":["../../../src/utils/validation/web3-username-validator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG
|
|
1
|
+
{"version":3,"file":"web3-username-validator.js","sourceRoot":"","sources":["../../../src/utils/validation/web3-username-validator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sudobility/types",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.41",
|
|
4
4
|
"description": "Comprehensive TypeScript types, interfaces, and utilities for Web3 email applications - optimized for AI-assisted development",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
26
|
-
"build": "
|
|
26
|
+
"build": "bun run build:esm && bun run build:cjs",
|
|
27
27
|
"build:esm": "tsc -p tsconfig.esm.json",
|
|
28
|
-
"build:cjs": "tsc -p tsconfig.cjs.json &&
|
|
29
|
-
"build:cjs-
|
|
30
|
-
"clean": "rimraf dist
|
|
28
|
+
"build:cjs": "tsc -p tsconfig.cjs.json && bun run build:cjs-rename",
|
|
29
|
+
"build:cjs-rename": "find dist -name '*.js' -not -name '*.cjs' -exec sh -c 'cp \"$1\" \"${1%.js}.cjs\"' _ {} \\;",
|
|
30
|
+
"clean": "rimraf dist",
|
|
31
31
|
"dev": "tsc --watch",
|
|
32
32
|
"test": "vitest",
|
|
33
33
|
"test:watch": "vitest --watch",
|
|
@@ -37,11 +37,11 @@
|
|
|
37
37
|
"format": "prettier --write \"src/**/*.{ts,js,json,md}\"",
|
|
38
38
|
"format:check": "prettier --check \"src/**/*.{ts,js,json,md}\"",
|
|
39
39
|
"typecheck": "tsc --noEmit",
|
|
40
|
-
"verify": "
|
|
40
|
+
"verify": "bun run typecheck && bun run lint && bun run test && bun run build",
|
|
41
41
|
"ai:analyze": "node .ai/scripts/analyze-types.js",
|
|
42
42
|
"ai:validate-exports": "node .ai/scripts/validate-exports.js",
|
|
43
|
-
"ai:docs": "
|
|
44
|
-
"prepublishOnly": "
|
|
43
|
+
"ai:docs": "bun run ai:analyze && bun run ai:validate-exports",
|
|
44
|
+
"prepublishOnly": "bun run clean && bun run verify"
|
|
45
45
|
},
|
|
46
46
|
"files": [
|
|
47
47
|
"dist/**/*",
|