{"_id":"@a-mehrabi/aranode-json-parser","_rev":"1-7170180df80edc9737b33a9c03dd7956","name":"@a-mehrabi/aranode-json-parser","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@a-mehrabi/aranode-json-parser","version":"1.0.0","main":"dist/index.js","types":"dist/index.d.ts","publishConfig":{"access":"public"},"scripts":{"build":"tsc --build","build:prod":"tsc --build","test":"jest lib/*","test:integration":"jest tests/*","release":"semantic-release"},"dependencies":{"@a-mehrabi/aranode-types":"workspace:*","class-validator":"^0.13.1","json-stringify-safe":"^5.0.1"},"devDependencies":{"@types/jest":"^26.0.23","@types/json-stringify-safe":"^5.0.0","@types/rewire":"^2.5.28","jest":"^26.6.3","jest-junit":"^12.0.0","jest-mock-extended":"^1.0.14","semantic-release":"^18.0.1","semantic-release-monorepo":"^7.0.5","ts-jest":"^26.5.6","typescript":"^4.2.4"},"aranode":{"version":"^0.5.0-beta"},"gitHead":"e88a63821bb3f25a024cd786b7eb6198166bd825","description":"json parser implementation for aranode flow engine.","_id":"@a-mehrabi/aranode-json-parser@1.0.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-MhEbccC0Lz2KzQ47mlijVW2vIdUN8ELCGjmE06WlKQFWGXaPz5BPXfDyhhTtEvYkiq4Ve6uXuAKGuzHGEsCozQ==","shasum":"2f72ca703f54c049f8e38e52b9a218ffe1b7a808","tarball":"https://registry.npmjs.org/@a-mehrabi/aranode-json-parser/-/aranode-json-parser-1.0.0.tgz","fileCount":29,"unpackedSize":12680,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzGLxCRA9TVsSAnZWagAA0CUQAJfx9EdIdRU0ax5E/oOP\nfQ7svVDKzGTK3wrjydfAjP2Mh/UE1Gg7Ssteh2FGDIUBgLSHqfeEVeIULR5z\nmhlXRP2t8kGgweJ/y6q+BZjtzsPVp9jr9vsuNiSf5mPLqvcGqL2W0VusWKQi\nA8MLTYpEFPPZ+6coCUlEx83GR4xVP0RVtAjUIlJ7PbkfbATuhbhegzIhmKgf\nRhkq0HOSBumUNYSdj/H4f6r55b9ZnEcMX6Pu3txH7KyQWKT0UX6Ymc11JUJT\nTRDgIkMdhhC1ZksgSi6utGdp02LM+DyEHcDk0YXtirRxOzMgkEmQ0Eq0RJ9X\ndBH7QPDvzZScdGu2uLEOKM1eRxQa5ooplKeihr7935ajJUHx8CILkTJDg94Q\nOw2l8mtYx3SiTGiBP219ntOHT0fczWPHZoq9R6itIkrzVoUGyAj1infDhqRu\ndsu+nl6weT84AF0mW8RnA1WFli2qojPmaajDHMHfI3rhsHyKL3E9zYth8N0p\nUnKWLH5bz2uLPnekcJx6png0DNsVcr2nApIIeENpAzCIHAm23RulXmwntRHd\nTnIS7slmnCttuogoIa9K5bW9SiIcWgK4Ke1cithyrcYbVkKOc37tm/7AtIgF\nEQjITpJsn9NYc1FLetPuag4D8i+j1wKf2VoQZIUTsHRcQwm2yJsjeVme3QiH\n2muE\r\n=IjZ9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfIgZ4AvWurEMn7BvgVZIl3f8MTHCqSDqrUX5lcfnC+gIhAJ7mO92ZOG3yWM8o/uZlKJqS/yqWyi5+bJQhafXXdiWh"}]},"_npmUser":{"name":"a-mehrabi","email":"a.mehrabi.ae@gmail.com"},"directories":{},"maintainers":[{"name":"a-mehrabi","email":"a.mehrabi.ae@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aranode-json-parser_1.0.0_1640784624920_0.6396310893143236"},"_hasShrinkwrap":false}},"time":{"created":"2021-12-29T13:30:24.827Z","1.0.0":"2021-12-29T13:30:25.123Z","modified":"2022-04-04T10:52:23.044Z"},"maintainers":[{"name":"a-mehrabi","email":"a.mehrabi.ae@gmail.com"}],"description":"json parser implementation for aranode flow engine.","readme":"# JSON PARSER Module\n\njson parser implementation for aranode flow engine.\n\n## Table of Contents\n\n- [JSON PARSER Module](#json-parser-module)\n  - [Table of Contents](#table-of-contents)\n  - [Installation](#installation)\n  - [Usage](#usage)\n    - [json encoder](#json-encoder)\n    - [json decoder](#json-decoder)\n  - [API](#api)\n    - [jsonEncoder](#jsonencoder)\n    - [jsonDecoder](#jsondecoder)\n\n## Installation\n\nTo install this module in your aranode project,\nyou just need to add the package using following command:\n\n```bash\n$ yarn add @a-mehrabi/aranode-json-parser\n```\n\nAfter that, when you want to use it,\nyou must include it in custom modules like the following:\n\n<sub><sup>path: .env</sub></sup>\n\n```env\nARANODE_CUSTOM_MODULES=@a-mehrabi/aranode-json-parser\n```\n\n## Usage\n\nFor using json encoder or decoder, you need to use encoder or decoder associated description:\n\n1. [json encoder](#json-encoder) flow description ([jsonEncoder](#jsonencoder))\n2. [json decoder](#json-decoder) flow description ([jsonDecoder](#jsonDecoder))\n\n### json encoder\n\njson encoder flow description enables you to define the json encoder as a flow node.  \njson encoder, encodes javascript literal object to json string.\n\n```yaml\nversion: 1\nkind: flow\nname: greeter-flow\nentryPoint: start\n\nflow:\n  start:\n    transform:\n      path: 'dist/get-payload-transformer.js'\n    nextNode: initJsonEncoder\n\n  initJsonEncoder:\n    jsonEncoder: {}\n    nextNode: checkPayload\n\n  checkPayload:\n    transform:\n      path: 'dist/check-payload-transformer.js'\n    nextNode: response\n\n  response:\n    port:\n      name: greet-in-port\n      type: inbound\n      response: true\n      end: true\n    terminal: true\n```\n\n### json decoder\n\njson decoder flow description enables you to define the json decoder as a flow node.  \njson decoder, decodes json string to javascript literal object.\n\n```yaml\nversion: 1\nkind: flow\nname: greeter-flow\nentryPoint: start\n\nflow:\n  start:\n    transform:\n      path: 'dist/get-payload-transformer.js'\n    nextNode: initJsonDecoder\n\n  initJsonDecoder:\n    jsonDecoder: {}\n    nextNode: checkPayload\n\n  checkPayload:\n    transform:\n      path: 'dist/check-payload-transformer.js'\n    nextNode: response\n\n  response:\n    port:\n      name: greet-in-port\n      type: inbound\n      response: true\n      end: true\n    terminal: true\n```\n\n## API\n\n### jsonEncoder\n\nType: flow description\n\nOptions:\njsonDecoder does not support any options.\n\n### jsonDecoder\n\nType: flow description\n\nOptions:\njsonDecoder does not support any options.\n","readmeFilename":"README.md"}