mirror of
https://github.com/orionprotocol/sdk.git
synced 2026-03-14 06:02:36 +03:00
laconic parse
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@orionprotocol/sdk",
|
||||
"version": "0.19.4",
|
||||
"version": "0.19.5",
|
||||
"description": "Orion Protocol SDK",
|
||||
"main": "./lib/index.cjs",
|
||||
"module": "./lib/index.js",
|
||||
@@ -105,4 +105,4 @@
|
||||
"files": [
|
||||
"lib/**/*"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,7 @@ export { default as toLowerCase } from './toLowerCase.js';
|
||||
export { default as isUppercasedNetworkCode } from './isUppercasedNetworkCode.js';
|
||||
export { default as getNativeCryptocurrencyName } from './getNativeCryptocurrencyName.js';
|
||||
|
||||
export { default as laconicParse } from './laconic-parse.js';
|
||||
export { default as isValidChainId } from './isValidChainId.js';
|
||||
export { default as isKnownEnv } from './isKnownEnv.js';
|
||||
// export { default as HttpError } from './httpError';
|
||||
|
||||
12
src/utils/laconic-parse.ts
Normal file
12
src/utils/laconic-parse.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import type { ZodTypeDef, Schema } from 'zod';
|
||||
|
||||
const laconicParse = <DataOut, DataIn>(data: DataIn, schema: Schema<DataOut, ZodTypeDef, DataIn>) => {
|
||||
const payload = schema.safeParse(data);
|
||||
if (!payload.success) {
|
||||
const issuesMessages = payload.error.issues.map(issue => `[${issue.path.join('.')}] ${issue.message}`).join(', ');
|
||||
throw new Error(`Can't recognize payload: ${issuesMessages}`);
|
||||
}
|
||||
return payload.data;
|
||||
}
|
||||
|
||||
export default laconicParse;
|
||||
Reference in New Issue
Block a user