{"_id":"@agilearchitects/dto-maker","_rev":"6-ba3cb2356742857e751729ff7a981fbc","name":"@agilearchitects/dto-maker","dist-tags":{"latest":"0.0.6"},"versions":{"0.0.1":{"name":"@agilearchitects/dto-maker","version":"0.0.1","main":"lib/index.js","author":{"name":"Agile Architects AB","email":"contact@agilearchitects.se"},"license":"MIT","scripts":{"build":"tsc --project tsconfig-publish.json","watch":"tsc --watch","test":"mocha --recursive src/**/*.spec.ts --require ts-node/register --timeout 999999 --exit","lint":"tslint --config tslint.json --project tsconfig.json","prepublishOnly":"yarn test && yarn lint && yarn build"},"dependencies":{"typescript":"^4.0.2"},"devDependencies":{"@types/chai":"^4.2.12","@types/mocha":"^8.0.3","@types/node":"^14.6.0","chai":"^4.2.0","mocha":"^8.1.1","tslint":"^6.1.3"},"description":"The DTO Maker servers two purposes: - Generate schema from DTO interface - parse (and validate) object as DTO interface according to provided schema","_id":"@agilearchitects/dto-maker@0.0.1","dist":{"shasum":"98de0dc6d5cd20b3d2856a5903a55b3e24c01f52","integrity":"sha512-E72mNeg+PkesgiPn/Bs2jqy6oXTboJAcJdWUCzvTQxK9PDa9pa7CJ/zsDXSuNJw8J3cp3kFwLzcdnBOJzmQOTg==","tarball":"https://registry.npmjs.org/@agilearchitects/dto-maker/-/dto-maker-0.0.1.tgz","fileCount":18,"unpackedSize":18962,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQ7WqCRA9TVsSAnZWagAAg8wQAJeOR0zbBNClRJpblh+h\nNnWOIGnEzauZDduN89KPK8NxBAh2/ph7VHdzw6CsZse79Xqv6xDSGN9HPJTB\nue6MarvnE+X4Hb0n8qpfncs5hJW/dMTfuoI1Ik4l81JXvl1slV1ibL+X6Vne\n0D7QCy7IGNnVQNT4kMqhg319nk1oPx9cJWgj2++/asi92SCnxms450WBR9pj\nzX7qjNq7QrO9tFeyvtIDrJHQapL+0WTn5eN2l83+OqkpsmUApwjs2oV7WcXa\nl2ifGBgEAuTEDs04D9oVt412awTN8KxzgJW6q6OoMFhq1e8Fv6gzlUg2ouix\nK/ztwmeDB9c25iCGwrVmI0TPELl5JXhi/zewOFcm6NpLsnx6iP3htxJuZBQx\nbkEN4DNBW7Lbxio+6/vdPFv0/szxi18zmqNHo2CfwzJOBa+xRxJ6ZRexQUvF\n6V/jAvNRezl2q8SN0n+RXN7QUiQK8S3hHbMBspQj/HdSs7gYp0qqOVFa+5JP\nGdtyuibioaiPj4x10koUY0cn/c7G+uqtOFS6A0VV9j++jRMXuVwld1iceoQW\nzyJP0pqstchdpfk/5fk1jyFoBdqW16cQ7e6UC3M6ctbes/tRwOlZlV/jS6or\nWSuLqWbFKdW2PfG/tbki3Dmogfljt1UWbWDt20616j0Rn6pOKtt81N5R9GXn\ndbVt\r\n=up8g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpsW+hFl/yhNvUl/h10NJxiucJdS/uvifILfiBYtGF4QIhAMSuIa++FQre+TTggA+rNef/+FzuFR8rwdBTi16H0mPp"}]},"maintainers":[{"name":"hannesdahlberg","email":"hannes@dwik.se"}],"_npmUser":{"name":"hannesdahlberg","email":"hannes@dwik.se"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dto-maker_0.0.1_1598272938028_0.8759246746796197"},"_hasShrinkwrap":false},"0.0.2":{"name":"@agilearchitects/dto-maker","version":"0.0.2","main":"lib/index.js","author":{"name":"Agile Architects AB","email":"contact@agilearchitects.se"},"license":"MIT","scripts":{"build":"tsc --project tsconfig-publish.json","watch":"tsc --watch","test":"mocha --recursive src/**/*.spec.ts --require ts-node/register --timeout 999999 --exit","lint":"tslint --config tslint.json --project tsconfig.json","prepublishOnly":"yarn test && yarn lint && yarn build"},"dependencies":{"typescript":"^4.0.2"},"devDependencies":{"@types/chai":"^4.2.12","@types/mocha":"^8.0.3","@types/node":"^14.6.0","chai":"^4.2.0","mocha":"^8.1.1","tslint":"^6.1.3"},"description":"The DTO Maker servers two purposes: - Generate schema from DTO interface - parse (and validate) object as DTO interface according to provided schema","_id":"@agilearchitects/dto-maker@0.0.2","dist":{"shasum":"26d248ed62d1d9e1d7fd1c55ae8ab1677411a366","integrity":"sha512-HrqneQHAIYP64vFq/C7NfBN/i+trg6PKzzOltAVI1BRS0oQ4TFNZ0mYGj633tJic8/CJNci2/lmQb9CNH+jitQ==","tarball":"https://registry.npmjs.org/@agilearchitects/dto-maker/-/dto-maker-0.0.2.tgz","fileCount":24,"unpackedSize":20251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQ7a5CRA9TVsSAnZWagAA/LQP/1ISi0YgRtkBDrV7Erpj\nV8ZUEgn3xtZ3eNvvfAf5VbvLAjHa5VJOAeWedgBE7fJ+lyeHEmBGSzGfWkW9\nsyr487d7asTV12/deWitF073OdhVMnxZeDGZareB+ro97FGat6gsD8TptpTb\nflCP792LesrorSlN0f/CcYg8RW+2WV7unYFaRlPp2T1usc//O++Rey8HkbS3\nFQUJ05MVGIuwjqPpxNkgoWElto4LL/DPWIHv9LlvGoLpxCsFfcxUUD2Wbgbs\nq1e/wqEsWyUO1n9xy2GaJKDpeI306nMdN8I3bWwYPsi1ddgRIKKsSK1/ok07\n+Y5P4JWQs/uGuZNhzpQFD2TJklWt7dGmXPHgMgl58mKTeVlcUiEx1EtTws7O\njasSgV+pTkgn9fH7EQzoh/MPdMray7Pm2kRVn/ylhTX/e68ILaPhCtoZmDes\neY5CcjnB2A+6twu8l1RSkJcPCfPLFtf5v6td81tmZb06C6uTz8goed3BStpM\n86iNEilOAmsbxpnnnYC39EWyki2t+5w3N0oUGKHeIm4igBNehVaqShdEeqoI\n5MJulGFtR7CwH7dR+vFTE6qNusZrSXQkBRGB8kAeUk8fbbdSOc667041LFZF\nSuupl1ROVNZyDJb0O1h915lhUSNbbvxi6eOnMcsUTnQQxUoxJGwfINM9SaG5\naWb9\r\n=xusz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEi6NPuGB82vyWA/TlBg3OE9zOQpOpdXYL+Y9TonTgrFAiEA76Xjso1HmFYXH/uXhv3GjS7CtImYXWYyDH7v+ggd04o="}]},"maintainers":[{"name":"hannesdahlberg","email":"hannes@dwik.se"}],"_npmUser":{"name":"hannesdahlberg","email":"hannes@dwik.se"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dto-maker_0.0.2_1598273209522_0.1108374132864649"},"_hasShrinkwrap":false},"0.0.3":{"name":"@agilearchitects/dto-maker","version":"0.0.3","main":"lib/index.js","author":{"name":"Agile Architects AB","email":"contact@agilearchitects.se"},"license":"MIT","scripts":{"build":"tsc --project tsconfig-publish.json","watch":"tsc --watch","test":"mocha --recursive src/**/*.spec.ts --require ts-node/register --timeout 999999 --exit","lint":"tslint --config tslint.json --project tsconfig.json","prepublishOnly":"yarn test && yarn lint && yarn build"},"dependencies":{"typescript":"^4.0.2"},"devDependencies":{"@types/chai":"^4.2.12","@types/mocha":"^8.0.3","@types/node":"^14.6.0","chai":"^4.2.0","mocha":"^8.1.1","tslint":"^6.1.3"},"description":"The DTO Maker servers two purposes: - Generate schema from DTO interface - parse (and validate) object as DTO interface according to provided schema","_id":"@agilearchitects/dto-maker@0.0.3","dist":{"shasum":"c8c44810b3a09d7a6161801663e7c8b89c9b2a02","integrity":"sha512-0lnJ7LuXT2AInl+e/cQy2ELWLnpKg1+sXYdfRHDkSDbpoeitWWfEbA2IK5sj85sMz87Zre0Tesj2KvFpDSjS/w==","tarball":"https://registry.npmjs.org/@agilearchitects/dto-maker/-/dto-maker-0.0.3.tgz","fileCount":24,"unpackedSize":20457,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQ7eWCRA9TVsSAnZWagAA/NQP+QCrNwVHRtgaGsHgp2bk\n0I+XWY3wxMqxQbIbIlLONRoc6FFkgbgEmbjNaZv/1ew9CHhicKKl0FYeJkoF\npGoQYqssoU1CvGMcLYBxyIf0fuC/4KDvCRTHlmGGSyFLof6ng/G57YLioq+T\nBJHLw738mdDAZV05J+/2Cn+4RgBQUS6PEILypAml0fFu9cOhYbKnShcuNnUG\nKc06Pg5LU0L+34X89IXhpCd17LdcWR3J8HfaS8jdE3dw71CMrBc7G/UGcJQP\nrai2W8MCbEtQ2kAOxIuvf3vwH0e2/NOds9emr5ZF5QuW++CMLMaBdukDTERf\nQPN2xClZ6JiMOjldrgD2qnd2f02yWg6e+TyscmvULuxRNMVnYD62nKbpr1RP\nAvwejQXdhKjJNqKe7uk4VCSzkxfyW4VpH7F0bhbMV+aJgTfQ+Xwg8Ntk89WC\nw5rvNLJot44grb5sfcnxHfZXUIbmEe5gmFEMV226a+Tw4axTuJwq2myPuDPY\nvERnp15vF0aaV/r9PLqHDiIwibj/WfmqKHPbjqd4drWZTFnH3YlajDnEJzHj\nyZcmDTLKCCy1gSb7rP580e7lBWOwRSzeVwVO5KZV6I1ioZL+BhhIPaGTs909\nyQTMeB892MWX/H7nUYZjeAhzvuPjKRvABYWqhHunMHE90UGdLNjtcWuJjAlP\nN7IJ\r\n=fl46\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuYV/KMenJpIREvCavPP/5WhHtMueMgFgNshzE/fYDVAIhALGxWscUoaS9Wuc/1jHP9yctkX9mrIRVxtMvGFOG3AW2"}]},"maintainers":[{"name":"hannesdahlberg","email":"hannes@dwik.se"}],"_npmUser":{"name":"hannesdahlberg","email":"hannes@dwik.se"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dto-maker_0.0.3_1598273430135_0.8026943270472666"},"_hasShrinkwrap":false},"0.0.4":{"name":"@agilearchitects/dto-maker","version":"0.0.4","main":"lib/index.js","author":{"name":"Agile Architects AB","email":"contact@agilearchitects.se"},"license":"MIT","scripts":{"build":"tsc --project tsconfig-publish.json","watch":"tsc --watch","test":"mocha --recursive src/**/*.spec.ts --require ts-node/register --timeout 999999 --exit","lint":"tslint --config tslint.json --project tsconfig.json","prepublishOnly":"yarn test && yarn lint && yarn build"},"dependencies":{"typescript":"^4.0.2"},"devDependencies":{"@types/chai":"^4.2.12","@types/mocha":"^8.0.3","@types/node":"^14.6.0","chai":"^4.2.0","mocha":"^8.1.1","tslint":"^6.1.3"},"description":"The DTO Maker servers two purposes: - Generate schema from DTO interface - parse (and validate) object as DTO interface according to provided schema","_id":"@agilearchitects/dto-maker@0.0.4","dist":{"shasum":"4ecf40b79e1447bf307187fe72803a7aa5a0193d","integrity":"sha512-JfWAwrtKzmFwMt+9ByKutZDXdpV9b3EIy7w9kIIpjum6dutdj8SSpndKKW4fE5cjZ6JM+T/d3CwnGkVCU/OjVA==","tarball":"https://registry.npmjs.org/@agilearchitects/dto-maker/-/dto-maker-0.0.4.tgz","fileCount":24,"unpackedSize":20453,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQ7fqCRA9TVsSAnZWagAAmzkP/ieZ2KZZ4IzzCbS4EiiJ\n2m4FlYfAVktosADiC7HRkJHgKUmato0gwgr6JCnWkUz5c94POthrf4qtq5Nf\nIUMnRe4Lr8KuuWo2th4Vpl3Hm1wPUGg/vfLKM4MqvabyPRBTn5vyVzCLNQcL\nLLjX4rNkm5pD1YP11JwylED8h5d0phunh+RCH9WsVABLAUQ/zNZo76ayUP65\nsNi591HoDtYduaB3CzGl3GArAW5pdQ8qjX1fWBE9IO3dKH3BKt7SETJV23Pm\n9zl+14q/ysKBZR3xPtoX2vskc4vDWZPOEWyq1h34DpBh6IiG/L5qWWSasSq+\ntqRGOoKsXaUXEk1O5g0WpxpsGQKQi+iAJSCQtt9FzQ2YgfOq2Qco9B1Rf8mR\n/x7GFdA5ZW3sQstATu7uABz7ijgCxepwgy8baeb2DCit0OYbmPsYd61vfipz\n2lr0Ct0rDf2Xis4hwugzSea514jo8J/fbbs2SbI1/acpUftSwVgbiS/uzfoi\nK3HddY3ObS5e+IiFvE4EPZOJanCfZJp9j0azhPu4zJjFi13VdURkzJT3DElH\nPGZyWf0ljl0eE5dgAaD/pCxiNzoVYPtoE64z88CdIoXPC89nOHZCO5KPyriI\n3QXEKR+X7W3FUi2O8+eGwucIoY5V+SD6LhNkXDMUWVnVn6ecWJrIcEJRJrbs\nLc5O\r\n=Ge1d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDaSIJmUNteGNEk7ihGqiAYM1c+qSnxnmViMPRL5iBScwIgUeQXS9jVkEEnUUCUm9atz0EO0jYuAw7nblaXdljagZA="}]},"maintainers":[{"name":"hannesdahlberg","email":"hannes@dwik.se"}],"_npmUser":{"name":"hannesdahlberg","email":"hannes@dwik.se"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dto-maker_0.0.4_1598273514610_0.9487069017300864"},"_hasShrinkwrap":false},"0.0.5":{"name":"@agilearchitects/dto-maker","version":"0.0.5","main":"lib/index.js","author":{"name":"Agile Architects AB","email":"contact@agilearchitects.se"},"license":"MIT","scripts":{"build":"tsc --project tsconfig-publish.json","watch":"tsc --watch","test":"mocha --recursive src/**/*.spec.ts --require ts-node/register --timeout 999999 --exit","lint":"tslint --config tslint.json --project tsconfig.json","prepublishOnly":"yarn test && yarn lint && yarn build"},"dependencies":{"typescript":"^4.0.2"},"devDependencies":{"@types/chai":"^4.2.12","@types/mocha":"^8.0.3","@types/node":"^14.6.0","chai":"^4.2.0","mocha":"^8.1.1","ts-node":"^9.0.0","tslint":"^6.1.3"},"description":"The DTO Maker servers two purposes: - Generate schema from DTO interface - parse (and validate) object as DTO interface according to provided schema","_id":"@agilearchitects/dto-maker@0.0.5","dist":{"shasum":"ba48a785f00d604c03dc72bc868e333c82ae861e","integrity":"sha512-rTf23NxJ0Pd6wG7+H4keHrghAkwYYf3xnnXa/BCZFItVWCLcI7xvvGNioFHQYOPsHD3lIpsj8y71cXYRwzqUdg==","tarball":"https://registry.npmjs.org/@agilearchitects/dto-maker/-/dto-maker-0.0.5.tgz","fileCount":24,"unpackedSize":23535,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfVVytCRA9TVsSAnZWagAA6pcQAJKCD/58aa980YMA1p9H\nVChmCrH1NA8rmTPtOCPCSpUKB7/4ye+wmue0tKjdr3OKWNfvCmzZvw6jZ+BV\nS5UVsSC/W+PFfIzhG2x8IHUR+aRlV+dz0fiDjfHwn+TOhGONPK6myCVafjjs\nou/M30XD9hD6Ln715UE2ccWJSnejVSkrDe9DDvbOH9umYYKnX3CpBGt8b72u\nOWsq11kAFCrNjCLHmUorFm5S571FdJgdnP+0pp9gOCn/J2SUdVdLkYU5eiL5\ndpUeBhtyX319mkGUTBt6F+/syXEt3HcEwfJork6VdT9a/oBwX/AXb07Q1QN+\nHBXhoa4byzU1dNd8V4E5SgBMvdYvGEaTe8jnZbpu7bROcb6JNZ8Ps3g4VFkT\n6HIiFcsD1WeGSBuYN7yHTQnKyNmAjKreEj+JRvbaqccA5YdyvpC6WXQG9Ejd\nQz6IQaTM/Qh3tXsMR7uSdUulB0bpzBcTc92x6rUM4WgXS72qZFVWJ8NzG6vO\nrKmq6qOIYW4PX8/Tn5S2rRNbNhmBW2A3plcYR43zTDh31ARSADiQlPHKM45L\n5/B/vjDwmn4RxbygWNk6TBYNTXUMXpt547mtFA+A5Sp8mCYDHhKnAHq/4w+Z\n2qXL1yBwLnm8hMUtPahyfcEjLZoYpmrO6OYPhVIJpSY48FKURHfzJnGn/kGA\nenvj\r\n=15B+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1au0mvk2q/8MJEbWEdeoxZEVzMLoOgg0kdnbIQvDutAIgGPqgt5kEEs725BNKeS+eKOcDlaYYxiqEdMrpYMpC0Lg="}]},"maintainers":[{"name":"hannesdahlberg","email":"hannes@dwik.se"}],"_npmUser":{"name":"hannesdahlberg","email":"hannes@dwik.se"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dto-maker_0.0.5_1599429805404_0.3766930283998977"},"_hasShrinkwrap":false},"0.0.6":{"name":"@agilearchitects/dto-maker","version":"0.0.6","main":"lib/index.js","author":{"name":"Agile Architects AB","email":"contact@agilearchitects.se"},"license":"MIT","scripts":{"build":"tsc --project tsconfig-publish.json","watch":"tsc --watch","test":"mocha --recursive src/**/*.spec.ts --require ts-node/register --timeout 999999 --exit","lint":"tslint --config tslint.json --project tsconfig.json","prepublishOnly":"yarn test && yarn lint && yarn build"},"dependencies":{"typescript":"^4.0.2"},"devDependencies":{"@types/chai":"^4.2.12","@types/mocha":"^8.0.3","@types/node":"^14.6.0","chai":"^4.2.0","mocha":"^8.1.1","tslint":"^6.1.3"},"description":"The DTO Maker servers two purposes: - Generate schema from DTO interface - parse (and validate) object as DTO interface according to provided schema","_id":"@agilearchitects/dto-maker@0.0.6","dist":{"shasum":"647bb92f5ecdeee3d7970731304f8268c7259945","integrity":"sha512-YrHTAmVZf5xe73iiLC1MZUmgN/PkhVNC6qBXY3XMvuJ2SwigMB5Gn8uANgmML4nYSGXRceGH39UDj3vUtArxMA==","tarball":"https://registry.npmjs.org/@agilearchitects/dto-maker/-/dto-maker-0.0.6.tgz","fileCount":27,"unpackedSize":26435,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwQklCRA9TVsSAnZWagAApfEP/08duz91xslTvmq+6rQ9\ntQNZS3EZRiwiwI8Qz+L1yzRswmJqqitMhRrgQ8f16t+fbjgFadREi2zDWxYw\nVqINgUcxSzLwU5klq8EBrDBwHZsOHGXYXsHAulaFbLZ8a6gFWDNXoGI8WG+J\nVhx0QA53H18aHCPBOsZrue2AzW4c6KFAGGKBxKIWNQSm7WW88ihC/q1O2rro\nejIuPS8JnHA2U32TqgPIzvJRRsQTHbdp5cDSqrZlSTewLbT1BIKZsPgKcTUW\nh5yWd2f7mz/AjF7h+WxiqWqY0hmbwhcj1GUYN6krZIzChSRJXvoTOeUqMRJ0\nxaGVkYjYuhv3EDmiuN2dntovc0Xa8+jZ9b+0CFKPciKAToGYyJ2KkAjXCgtE\nWVIIK46bzlukqe0eZYmJcic1nI98kmJaOfPRbMC7FL2esd8Uqf7ynFRmpkWV\nWZ5eXEkKBbpIsRGuWZrhruf5+rduX41oZaIceM/CxmAcmjaSTzul8ZPGSpGh\nigI9s7aNWkkVvPzK/S+9eETx++Vc5w0Fng6YX5AE3hRjSakuFpOnJ9hqJ78g\nuTNYnEU/DHLNemYxPdZlhIel6VcUS/5iyP27PzQiJIEQqdR0nOJE/W7ltMSr\nbwP3Z32mU7lHgXngkT20OwGVod+zPQC0o0CsJc7nImEngGfobFdOO1mGWKV6\nb3uv\r\n=8kaA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcXHLS3sJ7I++GtB4jyyZ0MjoTAp3/SjO5PyDyKmv0BwIhANvsG6wqUHI6FKR4/oKJoiyAzA06wMQRLTPz9bAmeWOF"}]},"_npmUser":{"name":"hannesdahlberg","email":"hannes@dwik.se"},"directories":{},"maintainers":[{"name":"hannesdahlberg","email":"hannes@dwik.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dto-maker_0.0.6_1606486308938_0.7447896081476157"},"_hasShrinkwrap":false}},"time":{"created":"2020-08-24T12:42:17.526Z","0.0.1":"2020-08-24T12:42:18.190Z","modified":"2022-04-04T11:57:26.784Z","0.0.2":"2020-08-24T12:46:49.629Z","0.0.3":"2020-08-24T12:50:30.269Z","0.0.4":"2020-08-24T12:51:54.723Z","0.0.5":"2020-09-06T22:03:25.492Z","0.0.6":"2020-11-27T14:11:49.097Z"},"maintainers":[{"name":"hannesdahlberg","email":"hannes@dwik.se"}],"description":"The DTO Maker servers two purposes: - Generate schema from DTO interface - parse (and validate) object as DTO interface according to provided schema","author":{"name":"Agile Architects AB","email":"contact@agilearchitects.se"},"license":"MIT","readme":"# DTO-Maker\nThe DTO Maker servers two purposes:\n- Generate schema from DTO interface\n- parse (and validate) object as DTO interface according to provided schema\n\n## Requirements:\n- Typescript\n\n## Generate schema\nUse the `createSchemaFromInterface` method to return a json object of an interface. Path to interface file and its name is required.\n\nGiven: `./dto/hello-world.dto.ts`:\n```\n/* Description of interface */\nexport interface IHelloWorldDTO {\n  /* Object ID */\n  id: number;\n  name: string;\n  // Description is optional\n  description?: string;\n}\n```\n...using... \n```\nimport ts from \"ts\";\n\nconst schema = createSchemaFromInterface(\n  \"./dto/hello-world.dto.ts\",\n  \"IHelloWorldDTO\",\n  ts,\n);\n\nconsole.log(schema);\n```\nWill output:\n```\n{\n  \"name\": \"IHelloWorldDTO\",\n  \"description\": \"Description of interface\",\n  \"properties\": [\n    {\n      \"name\": \"id\",\n      \"description\": \"Object ID\",\n      \"type\": \"number\"\n    },\n    {\n      \"name\": \"name\",\n      \"type\": \"string\"\n    },\n    {\n      \"name\": \"description\",\n      \"description\": \"Description is optional\",\n      \"type\": \"string\",\n      \"optional\": true\n    }\n  ]\n}\n```\nMethod supports array types and complex types (like reference to other interfaces).\n\n## Parse DTO object using schema\nUsing the above schema an object can be parsed as interface using the `parseDTOFromJson` method.\n```\nparseDTOFromJson([schema], {\n  id: 1,\n  name: \"MyName\",\n  description: \"\",\n}, \"IHelloWorldDTO\");\n```\nThe method will throw an error if object does not fit schema. Error message tries to be as descriptive as possible\n\n## Working with multiple interfaces\nIf an interface reference another interface, schema for that interface must be provided as well when trying to parse.\n\n### Example:\nGiven: `another.dto.ts`:\n```\nexport interface IAnotherDTO {\n  id: number;\n  tags: string[];\n}\n```\n...and `hello-world.dto.ts`:\n```\nexport interface IHelloWorldDTO {\n  id: number;\n  name: string;\n  description?: string;\n  another: IAnotherDTO;\n}\n```\n...using...\n```\nimport ts from \"ts\";\n\n// Generate schemas for interfaces\nconst schemas = [\n  createSchemaFromInterface(\n    \"./dto/hello-world.dto.ts\",\n    \"IHelloWorldDTO\",\n    ts,\n  ),\n  createSchemaFromInterface(\n    \"./dto/another.dto.ts\",\n    \"IAnotherDTO\",\n    ts,\n  ),\n];\n\n// Parse object using schemas\nparseDTOFromJson(schemas, {\n  id: 1,\n  name: \"MyName\",\n  description: \"\",\n  another: {\n    id: 1,\n    tags: [\"a\", \"b\", \"c\"]\n  }\n}, \"IHelloWorldDTO\");\n```\n## Anecdote\nThe lib was written to easier parse JSON-objects coming from HTTP requests without needing to write individual parser for each DTO interface.\n\nA great way of using this lib is to create a npm/yarn command for generating schemas for all your DTO interfaces into a big json schema file. Later this file can be referenced any time you wanna parse a json object coming from a HTTP response.\n\nRemember that this only helps casting the object and has no way of validating data. It only checks data type.","readmeFilename":"README.md"}